FoliMesh

Кущі в стилі Реалістичний для PlayCanvas

PlayCanvas приймає GLB як container-асет: вісім реалістичних кущів — бамбук, самшит, живопліт, ялівець — можна перетягнути в редактор і отримати шаблон із готовою ієрархією, або завантажити в коді через app.assets.loadFromUrl(url, 'container') та asset.resource.instantiateRenderEntity(). Кора має карти кольору, нормалей і шорсткості, листя — масковані карти з alphaTest і cull mode none, тож вони пишуть глибину й коректно відкидають тіні.

Компонента LOD у PlayCanvas немає, тому невеликий скрипт порівнює відстань до камери й перемикає рендер-компоненти сутностей LOD0–LOD3. Живопліт і самшит статичні, їхні виклики об'єднує batch group; для розкиданих великим рівнем малини, шипшини чи ліщини краще підходить meshInstance.setInstancing(). Колізія — компонент mesh зі статичним rigidbody та вимкненим рендером. На мобільних починайте з LOD1 або LOD2 і стежте за overdraw листових карт.

Моделі
8
Рівні деталізації
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 листя.

Використання в PlayCanvas

PlayCanvas працює з GLB як із container-асетом. У редакторі завантажте GLB (FBX під час імпорту конвертується в GLB) і отримаєте шаблон з ієрархією моделі; у коді без редактора використовуйте app.assets.loadFromUrl(url, 'container') і asset.resource.instantiateRenderEntity().

  • LOD: вбудованого LOD-компонента немає, тож невеликий скрипт порівнює відстань до камери й перемикає render-компоненти сутностей LOD0–LOD3.
  • Статичні дерева можна об’єднати в batch group, щоб скоротити draw calls; для великих лісів — апаратний інстансинг через meshInstance.setInstancing() і вершинний буфер із трансформами.
  • Листя: MASK з glTF задає alphaTest у StandardMaterial; для двобічного листя вимкніть відсікання граней (cull none).
  • Меш колізії: компонент collision типу mesh плюс статичний rigidbody, render-компонент вимкнено.

Набори

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

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

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