FoliMesh

Кусты в стиле Low-poly для three.js

Лоу-поли кусты — самый дешёвый способ заполнить пространство между стволами в сцене three.js. Загрузите GLB через GLTFLoader из three/addons, затем отдайте меши LOD0–LOD3 в THREE.LOD через lod.addLevel(mesh, distance) — уровни меняются по расстоянию до камеры каждый кадр. Листья здесь сплошная геометрия с вершинными цветами, а не альфа-карты: нет ни alpha test, ни прозрачного overdraw, что особенно важно для мобильных GPU.

В подборке Бамбук, Куст, Самшит, Живая изгородь, Можжевельник, Шиповник, Малина и Орешник. Плоское затенение держит LOD0 в пределах от нескольких сотен до двух тысяч треугольников, а общий материал позволяет InstancedMesh и BatchedMesh рисовать длинные изгороди минимумом вызовов. Коллизионный меш оставляйте невидимым и передавайте его в Rapier или cannon-es — для стратегий, градостроительных симуляторов и стилизованных VR-проектов на WebGLRenderer и WebGPURenderer.

Модели
8
Уровни детализации
LOD0 – LOD3
Форматы
GLB · FBX · OBJ

О стиле Low-poly

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

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

Подходит для мобильных игр, WebGL/WebGPU, VR, стратегий, градостроительных и стилизованных инди-игр. В движке используйте материал, который учитывает цвет вершин.

Как использовать в three.js

В three.js загружайте GLB через GLTFLoader из three/addons; DRACOLoader или KTX2Loader нужны, только если файл использует эти расширения.

  • LOD по расстоянию: THREE.LOD и lod.addLevel(mesh, distance) для LOD0–LOD3; уровни переключаются по дистанции до камеры каждый кадр.
  • Леса: InstancedMesh рисует тысячи копий за один draw call, а BatchedMesh позволяет смешивать несколько вариаций деревьев. THREE.LOD не работает на уровне отдельных инстансов, поэтому группируйте инстансы по LOD для каждого чанка сами.
  • Листва: alphaMode MASK из glTF превращается в material.alphaTest, а двусторонние материалы автоматически получают side: THREE.DoubleSide.
  • Меш коллизии: сделайте невидимым и передайте в физическую библиотеку, например Rapier или cannon-es.

Работает и с WebGLRenderer, и с WebGPURenderer.

Наборы

Другие категории

То же в других стилях

То же для других движков