FoliMesh

PlayCanvas용 덤불

PlayCanvas는 GLB를 컨테이너 에셋으로 다룹니다. 덤불 GLB를 에디터에 끌어다 놓으면 모델 계층 전체가 담긴 템플릿이 생깁니다. 에디터 없이 코드로 쓸 때는 같은 파일을 app.assets.loadFromUrl(url, 'container')로 불러오고 asset.resource.instantiateRenderEntity()로 인스턴스화합니다.

엔진에 LOD 컴포넌트가 없으므로 짧은 스크립트가 카메라 거리를 비교해 LOD0–LOD3 엔티티의 렌더 컴포넌트를 전환합니다. 산울타리가 화면을 가득 채울 때 효과가 큽니다. 정적인 대나무와 회양목은 batch group으로 묶어 draw call을 줄이고, 촘촘한 열에는 meshInstance.setInstancing()이 알맞습니다. 잎은 glTF MASK를 쓰므로 StandardMaterial에 alphaTest가 적용되고 cull mode none으로 양면 렌더링됩니다. 덤불, 향나무, 들장미, 산딸기, 개암나무는 seed마다 새 형태를 만들며 모든 모델에 collision mesh와 바닥 피벗이 있습니다.

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

팩

다른 카테고리

다른 스타일로 보기

다른 엔진용으로 보기