FoliMesh

Babylon.js용 로우폴리 스타일 바위

로우폴리 바위는 Babylon.js 씬에서 가장 가벼운 에셋입니다. 텍스처도 UV 작업도 필요 없고, 플랫 셰이딩 면과 버텍스 컬러(COLOR_0)만으로 표현됩니다. GLB는 @babylonjs/loaders의 ImportMeshAsync로 불러오고, 절벽이나 암석 판, 돌무더기를 레벨에 반복 배치한다면 LoadAssetContainerAsync와 instantiateModelsToScene을 쓰는 편이 좋습니다.

구성은 7개 모델입니다: 조약돌, 돌, 큰 바위, 암석 판, 돌무더기, 절벽, 바위가 있는 절벽. 모두 LOD0–LOD3, 콜리전, 바닥 피벗을 갖추고 있습니다. LOD는 lod0.addLODLevel(30, lod1)과 addLODLevel(80, lod2)로 연결하고, null을 넘기면 메시가 완전히 사라집니다. thinInstanceAdd로 만든 씬 인스턴스는 수백 개의 바위를 메시당 한 번의 드로우 콜로 유지하고, 보이지 않는 콜리전 메시(isVisible = false)는 checkCollisions나 Havok의 PhysicsAggregate에 연결합니다. LOD0 예산은 수백에서 2천 삼각형 사이입니다.

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

로우폴리 스타일 소개

로우폴리는 렌더링 비용과 빌드 용량 모두 가장 저렴한 스타일입니다.

  • 플랫 셰이딩: 면마다 노멀 하나로 선명한 각진 느낌을 내며 노멀 맵이 필요 없습니다.
  • 색은 버텍스 컬러(glTF COLOR_0)에 저장: 텍스처도, UV 작업도 없고 VRAM도 거의 쓰지 않습니다.
  • 잎은 알파 카드가 아닌 실제 지오메트리: 알파 테스트와 투명 오버드로가 없어 모바일 GPU에 유리합니다.
  • 씬의 모든 모델이 머티리얼 하나를 공유할 수 있어 나무를 쉽게 배칭·인스턴싱할 수 있습니다.
  • LOD0의 일반적인 예산은 수백에서 2천 개 정도의 삼각형입니다.

모바일, WebGL/WebGPU, VR, 전략, 도시 건설, 스타일라이즈드 인디 게임에 잘 맞습니다. 엔진에서는 버텍스 컬러를 곱하는 머티리얼을 사용하세요.

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)와 함께 사용합니다.

팩

다른 카테고리

다른 스타일로 보기

다른 엔진용으로 보기