FoliMesh

Деревья для PlayCanvas

Загрузите GLB в редактор PlayCanvas — файл появится как container-ассет с полной иерархией модели; в коде без редактора тот же файл подключается через app.assets.loadFromUrl(url, 'container') и asset.resource.instantiateRenderEntity(). FBX при импорте автоматически конвертируется в GLB, так что старый пайплайн тоже подойдёт.

В подборке 14 деревьев: Дуб, Сосна, Ель, Берёза, Ива, Клён, Олива, Баобаб и другие. У каждого — LOD0–LOD3, коллизионная сетка и пивот у основания. Встроенного LOD-компонента в PlayCanvas нет, поэтому небольшой скрипт сравнивает дистанцию до камеры и переключает сущности LOD; статичные стволы объединяются в batch group, а для больших лесов выгоднее meshInstance.setInstancing(). Листва использует alphaTest и cull mode none.

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

Как использовать в PlayCanvas

PlayCanvas работает с GLB как с container-ассетом. В редакторе загрузите GLB (FBX при импорте конвертируется в GLB) и получите шаблон с иерархией модели; в коде без редактора используйте app.assets.loadFromUrl(url, 'container') и asset.resource.instantiateRenderEntity().

  • LOD: встроенного LOD-компонента нет, поэтому небольшой скрипт сравнивает расстояние до камеры и переключает render-компоненты сущностей LOD0–LOD3.
  • Статичные деревья можно объединить в batch group, чтобы сократить draw calls; для больших лесов — аппаратный инстансинг через meshInstance.setInstancing() и вершинный буфер с трансформами.
  • Листва: MASK из glTF задаёт alphaTest у StandardMaterial; для двусторонних листьев отключите отсечение граней (cull none).
  • Меш коллизии: компонент collision типа mesh плюс статический rigidbody, render-компонент отключён.

Наборы

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

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

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