FoliMesh

Дерева в стилі Реалістичний для three.js

Реалістичні дерева підключаються до сцени three.js через GLTFLoader із three/addons: GLB приходить із мешами LOD0–LOD3, готовими для THREE.LOD. Зареєструйте рівень через lod.addLevel(mesh, distance) — і рендерер перемикатиме їх за відстанню камери щокадру, що важливо, коли Дуб, Сосна звичайна чи Плакуча верба стоять прямо на шляху камери від першої особи.

Для лісу InstancedMesh тримає тисячі стовбурів в одному виклику малювання, а BatchedMesh змішує варіації Ялини, Берези й Клена; THREE.LOD працює по об'єкту, тож інстанси слід групувати за рівнями всередині чанка. Листя — картки з alpha-test (alphaMode MASK з glTF стає material.alphaTest, двобічні матеріали отримують THREE.DoubleSide), тому сортування не потрібне, а тіні коректні. Колізійні меші лишаються невидимими для Rapier або cannon-es; усе працює і в WebGLRenderer, і в WebGPURenderer.

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

Набори

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

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

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