FoliMesh

Кактусы и суккуленты для Babylon.js

Пустынный уровень на Babylon.js чаще упирается не в текстуры, а в число загруженных растений. Пять моделей — Сагуаро, Шаровидный кактус, Опунция, Агава и Алоэ — поставляются в GLB и подключаются через @babylonjs/loaders: ImportMeshAsync для одиночного кактуса, LoadAssetContainerAsync с instantiateModelsToScene, когда один и тот же вид расставляется по всей карте.

У каждой модели есть LOD0–LOD3, коллизионная сетка и пивот у основания: lod0.addLODLevel(30, lod1) и addLODLevel(80, lod2) снижают детализацию по мере удаления камеры, а null полностью скрывает дальнее растение. Карты листьев и колючек используют glTF MASK, который Babylon.js читает как PBRMaterial с альфа-тестом. Тысячи агав укладываются в один draw call на меш благодаря thinInstanceAdd; createInstance нужен там, где каждое растение должно выбираться. Невидимая коллизионная сетка работает с checkCollisions или Havok PhysicsAggregate.

Модели
5
Уровни детализации
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).

Наборы

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

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

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