FoliMesh

Babylon.js용 로우폴리 스타일 선인장 · 다육식물

Babylon.js는 이 선인장들을 GLB로 @babylonjs/loaders의 glTF 로더로 불러옵니다. 한 그루는 ImportMeshAsync, 복제본이 많은 장면은 LoadAssetContainerAsync와 instantiateModelsToScene 조합이 알맞습니다. 사와로 선인장, 배럴 선인장, 부채선인장, 아가베, 알로에는 LOD0–LOD3와 콜리전 메시를 갖추고 있어 lod0.addLODLevel(30, lod1)로 멀리 있는 개체 비용을 낮추고, 보이지 않는 콜리전 메시는 checkCollisions나 Havok PhysicsAggregate에 그대로 쓸 수 있습니다.

여기서 로우폴리란 플랫 셰이딩과 버텍스 컬러(COLOR_0)를 뜻합니다. 텍스처도, 알파 카드도, 투명 오버드로도 없어 모바일 GPU와 WebGL/WebGPU 빌드에 유리합니다. 잎과 가시가 솔리드 지오메트리라 하나의 머티리얼로 세트 전체를 칠할 수 있고 배칭과 thin instances에도 잘 맞습니다. LOD0 기준 예산은 수백에서 2천 개 남짓 삼각형이며 모바일, 전략, 도시 건설, VR, 스타일화된 서부극에 어울립니다.

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

다른 카테고리

다른 스타일로 보기

다른 엔진용으로 보기