FoliMesh

Рослинність ґрунту для three.js

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

Для луків і лісової підстилки InstancedMesh малює тисячі копій за один draw call, а BatchedMesh змішує варіації. THREE.LOD не діє на рівні інстансу, тож інстанси групують за LOD у межах чанка. alphaMode MASK з glTF стає material.alphaTest, двосторонні листки отримують side: THREE.DoubleSide. Невидима колізія передається в Rapier або cannon-es, і все працює і на WebGLRenderer, і на WebGPURenderer.

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

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

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

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