FoliMesh

PlayCanvas용 나무

GLB 파일을 PlayCanvas 에디터에 끌어다 놓으면 모델 계층이 그대로 담긴 container 에셋으로 들어옵니다. 에디터 없이 코드만 쓸 때는 app.assets.loadFromUrl(url, 'container')로 불러오고 asset.resource.instantiateRenderEntity()를 호출합니다. FBX는 임포트할 때 GLB로 자동 변환됩니다.

구성은 나무 14종: 참나무, 유럽소나무, 가문비나무, 자작나무, 수양버들, 단풍나무, 올리브나무, 바오바브나무 등입니다. 모두 LOD0–LOD3, 충돌 메시, 바닥 피벗을 갖췄습니다. PlayCanvas에는 LOD 컴포넌트가 없어서 짧은 스크립트가 카메라 거리를 비교해 LOD 엔티티를 켜고 끕니다. 정적 줄기는 batch group으로 묶고, 큰 숲은 meshInstance.setInstancing()이 유리합니다. 잎은 alphaTest와 cull mode none을 씁니다.

모델
14
LOD 단계
LOD0 – LOD3
포맷
GLB · FBX · OBJ

PlayCanvas에서 사용하기

PlayCanvas는 GLB를 컨테이너 에셋으로 다룹니다. 에디터에서 GLB를 업로드하면(FBX는 임포트 시 GLB로 변환) 모델 계층이 담긴 템플릿이 생기고, 엔진 전용 코드에서는 app.assets.loadFromUrl(url, 'container')와 asset.resource.instantiateRenderEntity()를 사용합니다.

  • LOD: 내장 LOD 컴포넌트가 없으므로 작은 스크립트로 카메라 거리를 비교해 LOD0–LOD3 엔티티의 render 컴포넌트를 전환합니다.
  • 정적인 나무는 배치 그룹을 공유해 드로우 콜을 합칠 수 있고, 큰 숲에는 meshInstance.setInstancing()과 변환 행렬 버텍스 버퍼로 하드웨어 인스턴싱을 사용하세요.
  • 잎: glTF MASK가 StandardMaterial의 alphaTest를 설정하며, 양면 잎에는 컬 모드를 none으로 지정합니다.
  • 콜리전 메시: mesh 타입 collision 컴포넌트와 정적 rigidbody를 붙이고 render 컴포넌트는 끕니다.

팩

다른 카테고리

다른 스타일로 보기

다른 엔진용으로 보기