FoliMesh

Babylon.js용 로우폴리 스타일 덤불

로우폴리 덤불은 일반 GLB로 Babylon.js에 들어갑니다. @babylonjs/loaders의 ImportMeshAsync로 불러오거나, 같은 산울타리를 수십 개 복제할 때는 LoadAssetContainerAsync와 instantiateModelsToScene을 쓰면 됩니다. 잎은 플랫 셰이딩을 쓴 단단한 다면체 지오메트리이고 색은 정점 색상(COLOR_0)에 들어 있어 알파 테스트도, 투명 오버드로도 없습니다. 모바일 GPU에서 중요한 부분입니다. 재질 하나로 세트 전체를 처리하므로 대나무, 산울타리, 향나무, 산딸기가 잘 배칭되고, thin instances는 메시당 한 번의 드로우 콜로 수천 개를 그립니다.

덤불마다 LOD0–LOD3, 콜리전, 바닥 피벗이 포함됩니다. lod0.addLODLevel(30, lod1), addLODLevel(80, lod2)로 단계를 연결하고 null을 넘기면 그 거리부터는 숨겨집니다. LOD0는 수백에서 2천 개 정도의 삼각형에 머뭅니다. 보이지 않는 콜리전 메시는 checkCollisions나 Havok PhysicsAggregate에 그대로 쓸 수 있습니다. 이런 각진 덤불은 WebGL/WebGPU, VR, 전략, 도시 건설 게임에 어울립니다.

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

팩

다른 카테고리

다른 스타일로 보기

다른 엔진용으로 보기