FoliMesh

PlayCanvas용 3D 에셋 팩

PlayCanvas는 GLB를 컨테이너 에셋으로 불러옵니다. 에디터에 업로드하면 모델 계층이 담긴 template이 생성되고, 엔진 코드만 쓸 때는 app.assets.loadFromUrl(url, 'container')와 asset.resource.instantiateRenderEntity()를 사용합니다. 8개 팩 — 무료 샘플, 온대림, 침엽수림, 열대 해변, 사막 키트, 바위와 절벽 — 은 모델마다 LOD0–LOD3, 충돌체, 바닥 피벗을 제공합니다.

PlayCanvas에는 LOD 컴포넌트가 없으므로 짧은 스크립트가 카메라 거리를 비교해 LOD0–LOD3의 render 컴포넌트를 전환합니다. 정적인 나무는 batch group으로 묶고, 큰 숲은 meshInstance.setInstancing()으로 하드웨어 인스턴싱을 씁니다. 잎은 glTF MASK가 alphaTest를 설정하며, 양면 잎에는 cull mode none을 씁니다. 내보내기는 GLB, FBX, OBJ이고 seed를 바꾸면 새 변형이 나옵니다.

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 컴포넌트는 끕니다.

팩

다른 스타일로 보기

다른 엔진용으로 보기