FoliMesh

Набори 3D-асетів у стилі Реалістичний для Babylon.js

Реалістичні набори з цієї добірки постачаються у GLB: у Babylon.js дерево завантажується через ImportMeshAsync із @babylonjs/loaders, а LoadAssetContainerAsync потрібен, коли ліс збирається з багатьох копій через instantiateModelsToScene. Усі сім наборів — «Безкоштовний семплер», «Листяний ліс», «Хвойний ліс», «Тропічний пляж», «Савана та посушливі землі», «Пустельний набір» і «Каміння та скелі» — мають LOD0–LOD3, колізію та півот біля основи. Кора й листяні карти використовують окремі PBR-матеріали: масковані текстури листя стають PBRMaterial з альфа-тестом, тож вони пишуть глибину, не потребують сортування й правильно відкидають тіні. Рівні зчіплюються через lod0.addLODLevel(30, lod1) та addLODLevel(80, lod2), а null ховає меш за межами дистанції. Тисячі стовбурів малюються одним викликом через thin instances. Підходить для виживання, відкритих світів і симуляторів; на мобільних починайте з LOD1 і стежте за овердро.

Набори

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

Реалістичні моделі використовують 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).

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

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