FoliMesh

Пальми в стилі Low-poly для Babylon.js

Низькополігональні пальми підключаються до Babylon.js як GLB: один файл через ImportMeshAsync з @babylonjs/loaders, а коли на пляжі потрібно багато копій — LoadAssetContainerAsync з instantiateModelsToScene. Кожна модель має LOD0–LOD3, колізію та точку прив'язки біля основи, тож ланцюжок lod0.addLODLevel(30, lod1) і addLODLevel(80, lod2) прибирає далекі дерева без зайвих витрат. Гранований вигляд дають пласке затінення та кольори вершин — текстур немає взагалі. Один PBRMaterial з множенням на колір вершини підійде і Кокосовій пальмі, і Фініковій пальмі, і Віяловій пальмі, а thin instances виводять сотні стовбурів за один draw call на меш. Листя — суцільна геометрія, без alpha-тесту та перемальовування, що важливо для мобільних GPU. Бюджет LOD0 — від кількох сотень до пари тисяч трикутників; добре для островів, містобудівних ігор і сцен на WebGL/WebGPU.

Моделі
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).

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

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