FoliMesh

Кущі в стилі Реалістичний для Babylon.js

Кущі реалістичного стилю надходять у GLB, тож у Babylon.js їх підхоплює glTF-завантажувач із @babylonjs/loaders: ImportMeshAsync — для окремого живоплоту, LoadAssetContainerAsync разом з instantiateModelsToScene — коли потрібні ряди самшиту чи ліщини. Усі вісім моделей мають LOD0–LOD3 і півот біля основи, що прямо лягає на lod0.addLODLevel(30, lod1) та addLODLevel(80, lod2); на останньому рівні можна передати null, і кущ зникає.

Листя — масковані картки з MATERIAL_ALPHATEST: вони пишуть глибину, не потребують сортування й дають правильні тіні. Кора й листя мають окремі PBR-матеріали, що добре працює з thin instances, коли ялівець або шипшину розкидають тисячами. Невидима колізія працює з checkCollisions чи Havok PhysicsAggregate, а кожен новий seed змінює силует.

Моделі
8
Рівні деталізації
LOD0 – LOD3
Формати
GLB · FBX · OBJ

Про стиль Реалістичний

Реалістичні моделі використовують PBR-схему metal/roughness, яку напряму читають glTF 2.0, Unity, Unreal, Godot і three.js.

  • Кора: карти кольору, нормалей і шорсткості на стовбурі та гілках.
  • Листя: картки з текстурою гілок листя на alpha-test (masked), а не alpha-blend — пишуть глибину, не потребують сортування й дають правильні тіні.
  • Кора й листя — окремі матеріали: кількість draw calls передбачувана, GPU-інстансинг працює без проблем.
  • LOD0 — для великого плану; LOD1–LOD3 прибирають гілки й картки листя, останній рівень достатньо легкий для дальніх планів.

Найкраще підходять для ігор від першої та третьої особи, виживання, відкритих світів і симуляторів на ПК та консолях. На мобільних беріть LOD1 або LOD2 як найближчий рівень і стежте за overdraw листя.

Використання в Babylon.js

Babylon.js завантажує GLB через glTF-завантажувач з @babylonjs/loaders: ImportMeshAsync (або SceneLoader.ImportMeshAsync у старому коді) чи LoadAssetContainerAsync, коли потрібно багато копій через instantiateModelsToScene.

  • LOD: lod0.addLODLevel(30, lod1), addLODLevel(80, lod2) і так далі; null замість меша приховує об’єкт далі цієї відстані.
  • Тисячі дерев: thin instances (thinInstanceAdd з матрицями) малюються одним draw call на меш; звичайні createInstance беріть, коли кожному дереву потрібні власний пікінг чи логіка.
  • Листя: MASK з glTF перетворюється на PBRMaterial з alpha-test (MATERIAL_ALPHATEST).
  • Меш колізії: isVisible = false і використання з checkCollisions або фізикою Havok (PhysicsAggregate з формою MESH).

Набори

Інші категорії

Те саме в інших стилях

Те саме для інших рушіїв