FoliMesh

Дерева для three.js

Кожне дерево — це легкий GLB, який підключається через GLTFLoader із three/addons; DRACOLoader або KTX2Loader потрібні лише тоді, коли файл справді використовує ці розширення. Усі моделі мають LOD0–LOD3: чотири меші передаються в THREE.LOD і перемикаються викликом lod.addLevel(mesh, distance), далі рівень обирається за відстанню до камери щокадру — і в WebGLRenderer, і в WebGPURenderer. Листя з glTF alphaMode MASK надходить як material.alphaTest, двосторонні матеріали вже налаштовані на side: THREE.DoubleSide.

У добірці 14 дерев: Дуб, Сосна звичайна, Ялина, Береза, Плакуча верба, Осика, Клен і Тополя для лісів, парків і сіл помірної зони, Оливка, Кипарис і Пінія для півдня, Акація й Баобаб для сухих біомів, а також Мертве дерево. Точка прив'язки біля основи, тож посадка на рельєф — одна зміна позиції. Тисячі копій малює InstancedMesh, BatchedMesh змішує кілька варіацій за один виклик; THREE.LOD не діє на інстанси, тому групуйте їх за рівнями в чанках. Невидимий колізійний меш передається в Rapier або cannon-es.

Моделі
14
Рівні деталізації
LOD0 – LOD3
Формати
GLB · FBX · OBJ

Використання в 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.

Набори

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

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

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