FoliMesh

Кусты в стиле Реалистичный для three.js

Загрузите GLB через GLTFLoader из three/addons и добавьте каждый меш в THREE.LOD вызовом lod.addLevel(mesh, distance) — Бамбук, Живая изгородь или Самшит переключаются между LOD0–LOD3 по расстоянию до камеры. Кора реалистичных моделей идёт с PBR-картами base colour, normal и roughness, а листья — alpha-tested карточки: MASK в glTF становится alphaTest, они пишут глубину и не требуют сортировки, тени тоже корректные.

Для живых изгородей и подлеска между деревьями InstancedMesh рисует тысячи копий за один вызов; группируйте инстансы по LOD внутри чанка, ведь THREE.LOD не работает на уровне отдельного инстанса. Невидимый collision-меш передайте в Rapier или cannon-es. Все 8 моделей — Можжевельник, Шиповник, Малина, Орешник — идут с четырьмя LOD, пивотом у основания, экспортом GLB/FBX/OBJ и новыми вариациями из каждого seed, на WebGLRenderer и WebGPURenderer.

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

О стиле Реалистичный

Реалистичные модели используют PBR-схему metal/roughness, которую напрямую читают glTF 2.0, Unity, Unreal, Godot и three.js.

  • Кора: карты цвета, нормалей и шероховатости на стволе и ветках.
  • Листва: карточки с текстурой веток листьев на alpha-test (masked), а не alpha-blend — пишут глубину, не требуют сортировки и дают правильные тени.
  • Кора и листва — отдельные материалы: число draw calls предсказуемо, GPU-инстансинг работает без проблем.
  • LOD0 — для крупного плана; LOD1–LOD3 убирают ветки и карточки листвы, последний уровень достаточно лёгкий для дальних планов.

Лучше всего подходят для игр от первого и третьего лица, выживания, открытых миров и симуляторов на ПК и консолях. На мобильных берите LOD1 или LOD2 как ближний уровень и следите за overdraw листвы.

Как использовать в 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.

Наборы

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

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

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