FoliMesh

three.js용 지피식물

고사리, 풀 무더기, 갈대는 GLB로 제공되므로 three/addons의 GLTFLoader로 불러오면 바로 장면에 배치됩니다. LOD0–LOD3 메시는 lod.addLevel(mesh, distance)로 THREE.LOD에 연결하고, 매 프레임 카메라 거리에 따라 단계가 바뀝니다. DRACOLoader나 KTX2Loader는 파일이 해당 확장을 쓸 때만 추가하면 됩니다.

초원과 숲 바닥에서는 InstancedMesh가 수천 개 복사본을 한 번의 드로우 콜로 그리며, BatchedMesh는 여러 변형을 섞습니다. THREE.LOD는 인스턴스 단위로 적용되지 않으므로 청크마다 인스턴스를 LOD별로 묶어야 합니다. glTF의 alphaMode MASK는 material.alphaTest가 되고, 양면 잎은 side: THREE.DoubleSide를 받습니다. 보이지 않는 충돌 메시는 Rapier나 cannon-es에 넘기면 되고, WebGLRenderer와 WebGPURenderer 모두에서 동작합니다.

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

three.js에서 사용하기

three.js에서는 three/addons의 GLTFLoader로 GLB를 불러오며, DRACOLoader나 KTX2Loader는 파일이 해당 확장을 쓸 때만 필요합니다.

  • 거리 기반 LOD: THREE.LOD에 lod.addLevel(mesh, distance)로 LOD0–LOD3을 등록하면 매 프레임 카메라 거리에 따라 단계가 바뀝니다.
  • 숲: InstancedMesh는 수천 개의 복제본을 드로우 콜 하나로 그리고, BatchedMesh는 여러 나무 변형을 섞을 수 있습니다. THREE.LOD는 인스턴스 단위로 동작하지 않으므로 청크마다 LOD별로 인스턴스를 직접 묶으세요.
  • 잎: glTF alphaMode MASK는 material.alphaTest로, 양면 머티리얼은 자동으로 side: THREE.DoubleSide가 됩니다.
  • 콜리전 메시: 보이지 않게 두고 Rapier나 cannon-es 같은 물리 라이브러리에 넘기세요.

WebGLRenderer와 WebGPURenderer 모두에서 동작합니다.

다른 카테고리

다른 스타일로 보기

다른 엔진용으로 보기