FoliMesh

Babylon.js용 덤불

여덟 가지 모델—대나무, 관목, 회양목, 산울타리, 향나무, 들장미, 산딸기, 개암나무—는 GLB로 제공되며, Babylon.js에서는 @babylonjs/loaders의 glTF 로더로 ImportMeshAsync를 호출해 불러옵니다. 산울타리를 수십 개 복제할 때는 LoadAssetContainerAsync와 instantiateModelsToScene을 쓰면 파일을 한 번만 파싱해 메모리를 아낍니다.

모든 모델에 LOD0–LOD3과 바닥 기준 피벗이 있어 lod0.addLODLevel(30, lod1), addLODLevel(80, lod2)만 적으면 단계별로 표시되고, null을 넘기면 마지막 거리 밖에서 사라집니다. 잎은 glTF MASK를 사용하며 Babylon에서는 alpha test PBRMaterial로 변환됩니다. 보이지 않는 충돌 메시(isVisible = false)는 checkCollisions나 Havok PhysicsAggregate에 그대로 쓸 수 있습니다. 빽빽한 덤불은 thinInstanceAdd로 메시당 드로우 콜 하나, 개별 피킹이 필요한 덤불은 createInstance가 맞습니다.

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

Babylon.js에서 사용하기

Babylon.js는 @babylonjs/loaders의 glTF 로더로 GLB를 불러옵니다. ImportMeshAsync(예전 코드에서는 SceneLoader.ImportMeshAsync)를 쓰거나, 복제본이 많이 필요하면 LoadAssetContainerAsync와 instantiateModelsToScene을 사용합니다.

  • LOD: lod0.addLODLevel(30, lod1), addLODLevel(80, lod2)처럼 등록하며, 메시 대신 null을 넘기면 그 거리 너머에서 오브젝트가 숨겨집니다.
  • 수천 그루의 나무: thin instance(행렬과 함께 thinInstanceAdd)는 메시당 드로우 콜 하나로 그려집니다. 나무마다 피킹이나 로직이 필요하면 일반 createInstance를 쓰세요.
  • 잎: glTF MASK는 알파 테스트 PBRMaterial(MATERIAL_ALPHATEST)로 매핑됩니다.
  • 콜리전 메시: isVisible = false로 두고 checkCollisions나 Havok 물리(MESH 셰이프의 PhysicsAggregate)와 함께 사용합니다.

팩

다른 카테고리

다른 스타일로 보기

다른 엔진용으로 보기