FoliMesh

3D-моделі в стилі Low-poly для Babylon.js

Низькополігональна рослинність для Babylon.js — це один GLB: завантажуйте її glTF-завантажувачем із @babylonjs/loaders (ImportMeshAsync, а для багатьох копій — LoadAssetContainerAsync), далі вишиковуйте ланцюжок lod0.addLODLevel(30, lod1) та addLODLevel(80, lod2), щоб далекі дерева майже нічого не коштували. Колір зберігається у вершинних кольорах (COLOR_0), грані плоскі, тож Дуб, Сосна звичайна, Бамбук чи Сагуаро обходяться одним матеріалом і легко об'єднуються в батчі.

42 моделі цієї добірки дають від кількох сотень до пари тисяч трикутників на LOD0, плюс LOD1–LOD3 і прихований колайдер для checkCollisions або Havok. Тисячі дерев малюються через thinInstanceAdd — один draw call на меш; createInstance потрібен там, де кожну рослину треба вибирати окремо. Гарно підходить для містобудівних ігор, стратегій та мобільних сцен на WebGL/WebGPU.

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

Набори

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

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

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