FoliMesh

Krzewy do Babylon.js

Osiem modeli — Bambus, Krzew, Bukszpan, Żywopłot, Jałowiec, Dzika róża, Malina i Leszczyna — trafia w formacie GLB, więc Babylon.js wczytuje je przez loader glTF z @babylonjs/loaders wywołaniem ImportMeshAsync. Gdy żywopłot ma się powtarzać w dziesiątkach kopii, LoadAssetContainerAsync razem z instantiateModelsToScene pozwala sparsować plik tylko raz i oszczędza pamięć.

Każdy model ma poziomy LOD0–LOD3 i pivot u podstawy, więc wystarczy lod0.addLODLevel(30, lod1) oraz addLODLevel(80, lod2), a null ukryje krzew za ostatnim progiem. Liście korzystają z glTF MASK, który Babylon zamienia na PBRMaterial z alpha testem; niewidoczna siatka kolizji (isVisible = false) działa z checkCollisions lub Havok PhysicsAggregate. Do gęstych zarośli wybierz thinInstanceAdd — jeden draw call na siatkę — a createInstance tam, gdzie pojedynczy krzew ma reagować na picking.

Modele
8
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