FoliMesh

Дерева в стилі Реалістичний для Babylon.js

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

Для лісу thinInstanceAdd з матрицями малює тисячі Сосен звичайних, Ялин чи Осик за один draw call на меш, а createInstance потрібен деревам, які мають виділятися. Листяні карти з alpha test пишуть глибину: сортування не потрібне, тіні коректні, кора лишається на власному матеріалі. Приховані колізійні меші працюють із checkCollisions або Havok PhysicsAggregate. Такі дерева пасують шутерам від першої та третьої особи, виживанню й відкритим світам.

Моделі
14
Рівні деталізації
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).

Набори

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

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

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