FoliMesh

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

로우폴리 덤불은 three.js 씬에서 나무 줄기 사이 바닥을 채우는 가장 저렴한 방법입니다. GLB는 three/addons의 GLTFLoader로 불러오고, LOD0–LOD3 메시를 lod.addLevel(mesh, distance)로 THREE.LOD에 등록하면 매 프레임 카메라 거리에 따라 단계가 바뀝니다. 여기서 잎은 알파 카드가 아니라 버텍스 컬러를 가진 실제 지오메트리이므로 알파 테스트도, 투명 오버드로우도 없습니다. 모바일 GPU에서 특히 유리합니다.

구성은 대나무, 관목, 회양목, 산울타리, 향나무, 들장미, 산딸기, 개암나무까지 8종입니다. 플랫 셰이딩 덕분에 LOD0는 수백에서 2천 개 수준의 삼각형에 머물고, 재질을 공유하므로 InstancedMesh와 BatchedMesh로 긴 산울타리도 아주 적은 드로우 콜로 그릴 수 있습니다. 충돌 메시는 보이지 않게 두고 Rapier나 cannon-es에 넘기세요. 전략, 도시 건설, 스타일화된 VR에 어울리며 WebGLRenderer와 WebGPURenderer 모두에서 동작합니다.

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

로우폴리 스타일 소개

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

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

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

three.js에서 사용하기

three.js에서는 three/addons의 GLTFLoader로 GLB를 불러오며, DRACOLoader나 KTX2Loader는 파일이 해당 확장을 쓸 때만 필요합니다.

  • 거리 기반 LOD: THREE.LOD에 lod.addLevel(mesh, distance)로 LOD0–LOD3을 등록하면 매 프레임 카메라 거리에 따라 단계가 바뀝니다.
  • 숲: InstancedMesh는 수천 개의 복제본을 드로우 콜 하나로 그리고, BatchedMesh는 여러 나무 변형을 섞을 수 있습니다. THREE.LOD는 인스턴스 단위로 동작하지 않으므로 청크마다 LOD별로 인스턴스를 직접 묶으세요.
  • 잎: glTF alphaMode MASK는 material.alphaTest로, 양면 머티리얼은 자동으로 side: THREE.DoubleSide가 됩니다.
  • 콜리전 메시: 보이지 않게 두고 Rapier나 cannon-es 같은 물리 라이브러리에 넘기세요.

WebGLRenderer와 WebGPURenderer 모두에서 동작합니다.

팩

다른 카테고리

다른 스타일로 보기

다른 엔진용으로 보기