FoliMesh

Кактуси та сукуленти в стилі Low-poly для Babylon.js

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

Low-poly тут — це пласке затінення й вершинні кольори (COLOR_0): жодних текстур, alpha-карт чи прозорого overdraw, що важливо для мобільних GPU та збірок на WebGL/WebGPU. Листя й колючки — суцільна геометрія, один матеріал фарбує весь набір, а рослини легко батчаться або додаються як thin instances. Бюджет — від кількох сотень до двох тисяч трикутників на LOD0, що пасує стратегіям, містобудівним симуляторам, VR і стилізованим вестернам.

Моделі
5
Рівні деталізації
LOD0 – LOD3
Формати
GLB · FBX · OBJ

Про стиль Low-poly

Low-poly — найдешевший стиль і в рендері, і за розміром білда.

  • Пласке затінення: одна нормаль на грань дає чіткі грані, карти нормалей не потрібні.
  • Колір зберігається у вершинах (glTF COLOR_0): немає текстур, немає роботи з UV, майже не витрачається відеопам’ять.
  • Листя — суцільна геометрія, а не картки з альфою: немає alpha-test і прозорого overdraw, що важливо для мобільних GPU.
  • Один матеріал можна використати для всіх моделей сцени, тож дерева легко батчаться та інстансяться.
  • Типовий бюджет LOD0 — від кількох сотень до кількох тисяч трикутників.

Підходить для мобільних ігор, WebGL/WebGPU, VR, стратегій, містобудівних і стилізованих інді-ігор. У рушії використовуйте матеріал, що враховує колір вершин.

Використання в 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).

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

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

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