FoliMesh

Кущі в стилі Low-poly для Babylon.js

Кущі Low-poly підключаються до Babylon.js як звичайний GLB: завантажуйте через ImportMeshAsync з @babylonjs/loaders або через LoadAssetContainerAsync разом з instantiateModelsToScene, коли той самий живопліт повторюється десятки разів. Листя тут — суцільна гранована геометрія з flat shading, а колір зберігається у вершинних кольорах (COLOR_0): жодного alpha-тестування й прозорого overdraw, що важливо для мобільних GPU. Один матеріал обслуговує весь набір, тож Бамбук, Живопліт, Ялівець і Малина добре батчаться, а thin instances виводять тисячі копій за один draw call на mesh.

Кожен кущ має LOD0–LOD3, колізію та півот біля основи. Рівні з'єднуються так: lod0.addLODLevel(30, lod1), addLODLevel(80, lod2), а null повністю ховає об'єкт за цією відстанню; LOD0 тримається в межах від кількох сотень до двох тисяч трикутників. Невидима колізійна сітка працює з checkCollisions або Havok PhysicsAggregate. Така гранована поросль пасує для WebGL/WebGPU, VR, стратегій і містобудівних ігор.

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

Набори

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

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

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