О стиле Реалистичный
Реалистичные модели используют 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.













