FoliMesh

Кусты для Babylon.js

Восемь кустов — Бамбук, Куст, Самшит, Живая изгородь, Можжевельник, Шиповник, Малина и Орешник — поставляются в GLB, поэтому Babylon.js загружает их через glTF-загрузчик из @babylonjs/loaders вызовом ImportMeshAsync. Когда живую изгородь нужно размножить на десятки экземпляров, LoadAssetContainerAsync вместе с instantiateModelsToScene экономит память: файл разбирается один раз.

У каждой модели уровни LOD0–LOD3 и пивот у основания, поэтому достаточно написать lod0.addLODLevel(30, lod1) и addLODLevel(80, lod2) или передать null, чтобы объект исчезал за последней дистанцией. Листья используют glTF MASK — Babylon превращает их в PBRMaterial с alpha-test; скрытая коллизионная сетка (isVisible = false) работает с checkCollisions и с Havok PhysicsAggregate. Для плотных зарослей берите thinInstanceAdd — один draw call на меш, а createInstance нужен там, где куст должен отзываться на наведение или клик.

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

Как использовать в 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).

Наборы

Другие категории

То же в других стилях

То же для других движков