FoliMesh

Наборы 3D-ассетов для Babylon.js

Пак GLB-моделей для Babylon.js подключается через glTF-загрузчик из @babylonjs/loaders: ImportMeshAsync для одиночного дерева, LoadAssetContainerAsync вместе с instantiateModelsToScene — когда нужно расставить сотни копий. Уровни LOD связываются прямо в коде: lod0.addLODLevel(30, lod1), затем addLODLevel(80, lod2); если вторым аргументом передать null, объект исчезает за этой дистанцией. Листва приходит как MASK-карта и работает через альфа-тест (MATERIAL_ALPHATEST), а коллизионная сетка остаётся невидимой и подключается к checkCollisions или Havok. В подборке 8 наборов — от «Бесплатного сэмплера» до «Пустынного набора» и «Камней и скал».

Для плотных сцен «Хвойного леса» или «Тропического пляжа» выгоднее thin instances: thinInstanceAdd с матрицами рисует меш одним draw call, тогда как createInstance нужен там, где каждому дереву требуются собственный picking или логика. Каждая модель — LOD0–LOD3, коллизия, пивот у основания, экспорт в GLB, FBX и OBJ, а новый seed даёт новую вариацию. Это удобно для браузерных стратегий, выживания, симуляторов и казуальных сцен с видом сверху.

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

Наборы

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

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