FoliMesh

PlayCanvas용 지피식물

PlayCanvas에서는 이 모델들을 GLB container 에셋으로 불러옵니다. 에디터에 업로드하면 모델 계층을 가진 template이 만들어지고, 에디터 없이 코드로 쓸 때는 app.assets.loadFromUrl(url, 'container')와 asset.resource.instantiateRenderEntity()를 사용합니다. 고사리, 풀 무더기, 갈대는 LOD0–LOD3를 갖추지만 PlayCanvas에는 내장 LOD 컴포넌트가 없으므로, 카메라 거리를 비교해 각 LOD 엔티티의 렌더 컴포넌트를 켜고 끄는 짧은 스크립트가 필요합니다.

잎은 glTF MASK를 사용해 StandardMaterial의 alphaTest가 설정되고, 양면 잎과 줄기에는 cull mode를 none으로 두어야 합니다. 충돌은 mesh 타입 collision 컴포넌트와 정적 rigidbody를 조합하고 렌더 컴포넌트는 끕니다. 고사리, 풀, 갈대는 브라우저 게임의 숲 바닥, 초원, 물가에 어울리며, 작은 메시는 batch group으로 묶거나 meshInstance.setInstancing()으로 인스턴싱합니다.

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

다른 카테고리

다른 스타일로 보기

다른 엔진용으로 보기