FoliMesh

Babylon.js용 로우폴리 스타일 지피식물

로우폴리 지피식물은 Babylon.js 씬에서 가장 가벼운 자산입니다. 고사리, 풀 무더기, 갈대 세 모델은 LOD0–LOD3와 바닥 기준 피벗을 갖추고 GLB로 내보내져 @babylonjs/loaders의 glTF 로더에 바로 들어갑니다. 하나만 쓸 때는 ImportMeshAsync, 숲 바닥에 수백 개를 깔 때는 LoadAssetContainerAsync와 instantiateModelsToScene을 사용합니다.

색은 정점 색상(COLOR_0)에 담기고 각 면은 플랫 셰이딩 노멀 하나만 가지므로, 고른 모델 전체가 머티리얼 하나로 처리됩니다. 텍스처도 UV 작업도 없고 비디오 메모리도 거의 쓰지 않습니다. 잎이 솔리드 지오메트리라 모바일 GPU에서 알파 오버드로가 생기지 않습니다. LOD는 lod0.addLODLevel(30, lod1)로 연결하고, 콜리전 메시는 숨긴 채 checkCollisions나 Havok에 넘기며, 풀은 thinInstanceAdd로 한 번의 드로우 콜에 흩뿌립니다.

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

다른 카테고리

다른 스타일로 보기

다른 엔진용으로 보기