FoliMesh

Krzewy w stylu Low-poly do Babylon.js

Krzewy Low-poly wczytują się do Babylon.js jako zwykłe GLB: użyj ImportMeshAsync z @babylonjs/loaders albo LoadAssetContainerAsync z instantiateModelsToScene, gdy ten sam żywopłot powtarza się dziesiątki razy. Liście to pełna, fasetowana geometria z flat shadingiem, a kolor siedzi w vertex colors (COLOR_0): żadnego alpha testu i przezroczystego overdraw, co ma znaczenie na mobilnych GPU. Jeden materiał obsługuje cały zestaw, więc Bambus, Żywopłot, Jałowiec i Malina łatwo się batchują, a thin instances rysują tysiące kopii w jednym draw callu na mesh.

Każdy krzew ma LOD0–LOD3, kolizję i pivot u podstawy. Poziomy łączysz przez lod0.addLODLevel(30, lod1) i addLODLevel(80, lod2); null ukrywa obiekt poza tą odległością. LOD0 mieści się w kilkuset do około dwóch tysięcy trójkątów. Niewidzialna siatka kolizji zasila checkCollisions albo havokowy PhysicsAggregate. Taka fasetowana roślinność pasuje do WebGL/WebGPU, VR, strategii i city builderów.

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 Babylon.js

Babylon.js ładuje GLB przez loader glTF z @babylonjs/loaders: ImportMeshAsync (lub SceneLoader.ImportMeshAsync w starszym kodzie) albo LoadAssetContainerAsync, gdy potrzebujesz wielu kopii przez instantiateModelsToScene.

  • LOD: lod0.addLODLevel(30, lod1), addLODLevel(80, lod2) itd.; null zamiast siatki ukrywa obiekt powyżej tej odległości.
  • Tysiące drzew: thin instances (thinInstanceAdd z macierzami) rysują się jednym draw callem na siatkę; zwykłego createInstance użyj, gdy każde drzewo potrzebuje własnego pickingu lub logiki.
  • Liście: MASK z glTF staje się PBRMaterial z alpha testem (MATERIAL_ALPHATEST).
  • Siatka kolizji: isVisible = false i użycie z checkCollisions lub fizyką Havok (PhysicsAggregate z kształtem MESH).

Paczki

Inne kategorie

To samo w innych stylach

To samo dla innych silników