FoliMesh

Babylon.js용 3D 에셋 팩

Babylon.js에서 GLB 팩은 @babylonjs/loaders의 glTF 로더로 불러옵니다. 개별 모델은 ImportMeshAsync, 복사본을 많이 배치할 때는 LoadAssetContainerAsync와 instantiateModelsToScene을 사용합니다. LOD는 코드에서 연결하며 lod0.addLODLevel(30, lod1), addLODLevel(80, lod2)처럼 지정하고, 두 번째 인수에 null을 넘기면 해당 거리부터 오브젝트가 사라집니다. 잎은 MASK 맵과 알파 테스트(MATERIAL_ALPHATEST)로 그려지고, 충돌 메시는 보이지 않는 상태로 checkCollisions나 Havok에서 동작합니다. 구성은 8개 팩으로, 무료 샘플러부터 사막 키트, 바위와 절벽까지 포함됩니다.

침엽수림이나 열대 해변처럼 밀도 높은 장면에는 thin instances가 적합합니다. 행렬을 쓰는 thinInstanceAdd는 메시당 하나의 draw call로 그리며, 나무마다 피킹이나 개별 로직이 필요하면 createInstance를 씁니다. 모든 모델에 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)와 함께 사용합니다.

팩

다른 스타일로 보기

다른 엔진용으로 보기