FoliMesh

Krzewy w stylu Low-poly do three.js

Krzewy low-poly to najtańszy sposób zapełnienia przestrzeni między pniami w scenie three.js. Model GLB wczytasz przez GLTFLoader z three/addons, a siatki LOD0–LOD3 przekażesz do THREE.LOD przez lod.addLevel(mesh, distance) — poziomy przełączają się wraz z odległością kamery w każdej klatce. Liście są tu pełną geometrią z kolorami wierzchołków, a nie alfawymi kartami: bez alpha testu i przezroczystego overdraw, co ma znaczenie na mobilnych GPU.

W zestawie są Bambus, Krzew, Bukszpan, Żywopłot, Jałowiec, Dzika róża, Malina i Leszczyna. Flat shading utrzymuje LOD0 w przedziale od kilkuset do około dwóch tysięcy trójkątów, a jeden wspólny materiał pozwala InstancedMesh i BatchedMesh rysować długie żywopłoty w bardzo małej liczbie wywołań. Siatkę kolizji zostaw niewidoczną i przekaż ją do Rapiera lub cannon-es — dla strategii, city builderów i stylizowanego VR na WebGLRenderer albo WebGPURenderer.

Modele
8
Poziomy szczegółowości
LOD0 – LOD3
Formaty
GLB · FBX · OBJ

O stylu Low-poly

Low poly to najtańszy styl — zarówno w renderowaniu, jak i w rozmiarze builda.

  • Płaskie cieniowanie: jedna normalna na ścianę daje wyraźne fasety, bez map normalnych.
  • Kolor jest w wierzchołkach (glTF COLOR_0): brak tekstur, brak pracy z UV, prawie zero pamięci wideo.
  • Liście to pełna geometria, a nie karty z alfą: brak alpha testu i przezroczystego overdraw, co ma znaczenie na mobilnych GPU.
  • Jeden materiał może obsłużyć wszystkie modele w scenie, więc drzewa łatwo batchować i instancjonować.
  • Typowe budżety LOD0 to od kilkuset do około dwóch tysięcy trójkątów.

Pasuje do gier mobilnych, WebGL/WebGPU, VR, strategii, city builderów i stylizowanych gier indie. W silniku użyj materiału mnożącego przez kolor wierzchołków.

Użycie w three.js

W three.js ładuj GLB przez GLTFLoader z three/addons; DRACOLoader lub KTX2Loader dodaj tylko wtedy, gdy plik używa tych rozszerzeń.

  • LOD według odległości: THREE.LOD z lod.addLevel(mesh, distance) dla LOD0–LOD3; poziom przełącza się co klatkę zależnie od odległości od kamery.
  • Lasy: InstancedMesh rysuje tysiące kopii w jednym draw callu, a BatchedMesh pozwala mieszać kilka wariantów drzew. THREE.LOD nie działa per instancja, więc samodzielnie grupuj instancje według LOD w każdym chunku.
  • Liście: alphaMode MASK z glTF staje się material.alphaTest, a materiały dwustronne automatycznie dostają side: THREE.DoubleSide.
  • Siatka kolizji: pozostaw niewidoczną i przekaż do biblioteki fizyki, np. Rapier lub cannon-es.

Działa zarówno z WebGLRenderer, jak i z WebGPURenderer.

Paczki

Inne kategorie

To samo w innych stylach

To samo dla innych silników