FoliMesh

Kaktusy i sukulenty w stylu Low-poly do Babylon.js

Babylon.js wczytuje te kaktusy jako GLB przez loader glTF z @babylonjs/loaders: ImportMeshAsync dla pojedynczej rośliny, LoadAssetContainerAsync z instantiateModelsToScene, gdy scena potrzebuje wielu kopii. Saguaro, Kaktus beczułkowaty, Opuncja, Agawa i Aloes mają LOD0–LOD3 oraz siatkę kolizji, więc lod0.addLODLevel(30, lod1) odciąża odległe rośliny, a niewidoczna siatka kolizji nadal obsługuje checkCollisions albo PhysicsAggregate z Havoka.

Low-poly to tutaj flat shading i kolory wierzchołków (COLOR_0): żadnych tekstur, kart alfa ani przezroczystego overdraw, co ma znaczenie na mobilnych GPU i w buildach WebGL/WebGPU. Liście i kolce to pełna geometria, jeden materiał barwi cały zestaw, a rośliny łatwo łączyć w batche lub wstawiać jako thin instances. Budżety mieszczą się między kilkuset a około dwoma tysiącami trójkątów na LOD0 — w sam raz do strategii, city builderów, VR i stylizowanych westernów.

Modele
5
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).

Inne kategorie

To samo w innych stylach

To samo dla innych silników