FoliMesh

Kaktusy i sukulenty do Babylon.js

Pustynna scena w Babylon.js rzadko zwalnia przez tekstury — zwykle przez liczbę wczytanych roślin. Pięć modeli — Saguaro, Kaktus beczułkowaty, Opuncja, Agawa i Aloes — trafia w formacie GLB i wchodzi przez @babylonjs/loaders: ImportMeshAsync dla pojedynczej rośliny, LoadAssetContainerAsync z instantiateModelsToScene, gdy ten sam gatunek powtarza się na całej mapie.

Każdy model ma LOD0–LOD3, siatkę kolizji i pivot u podstawy: lod0.addLODLevel(30, lod1) i addLODLevel(80, lod2) zmniejszają geometrię wraz z odjazdem kamery, a null całkiem ukrywa odległą roślinę. Karty liści i kolców korzystają z glTF MASK, który Babylon.js czyta jako PBRMaterial z alpha testem. Tysiące agaw mieszczą się w jednym draw callu na siatkę dzięki thinInstanceAdd; createInstance przydaje się, gdy każda roślina ma być klikalna. Niewidoczna siatka kolizji obsługuje checkCollisions albo Havok PhysicsAggregate.

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

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