FoliMesh

Babylon.js용 로우폴리 스타일 나무

로우폴리 나무는 GLB로 Babylon.js에 들어갑니다. @babylonjs/loaders의 ImportMeshAsync로 불러오고, 복사본이 많을 때는 LoadAssetContainerAsync와 instantiateModelsToScene을 씁니다. 모든 모델에 LOD0–LOD3와 바닥 기준 피벗이 있어 lod0.addLODLevel(30, lod1), addLODLevel(80, lod2)만 적으면 거리별 표시 전환이 끝납니다.

각진 면은 플랫 셰이딩과 정점 색상(COLOR_0)으로 만들어지고 텍스처는 전혀 없습니다. 정점 색상을 곱하는 머티리얼 하나면 참나무, 유럽소나무, 가문비나무, 자작나무를 비롯한 14종 나무를 모두 감당합니다. 잎은 솔리드 지오메트리라 알파 테스트도 투명 오버드로도 없고, thin instances를 쓰면 수천 그루가 메시당 드로우 콜 하나로 그려집니다. LOD0는 수백에서 2천 개 남짓 삼각형이라 WebGL, WebGPU, 모바일, VR, 전략과 도시 건설 게임에 어울립니다.

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

팩

다른 카테고리

다른 스타일로 보기

다른 엔진용으로 보기