FoliMesh

Камни в стиле Реалистичный для PlayCanvas

PlayCanvas принимает эти камни как container-ассеты GLB: загрузите файл в редактор и получите template с полной иерархией модели, а в чистом коде движка используйте app.assets.loadFromUrl(url, 'container') и asset.resource.instantiateRenderEntity(). В подборке семь реалистичных объектов — Галька, Камень, Валун, Каменная плита, Каменная россыпь, Скала и Скала с валунами; у каждого четыре уровня LOD, пивот у основания и экспорт в GLB, FBX или OBJ.

Встроенного компонента LOD в PlayCanvas нет, поэтому рендер-компоненты LOD0–LOD3 переключает небольшой скрипт по дистанции до камеры; статичные камни можно объединить в batch group, а массовые россыпи собрать через hardware instancing и meshInstance.setInstancing(). Карты metal/roughness в PBR передают слоистость, трещины и мох. Добавьте collision-компонент типа mesh со статичным rigidbody и отключите его рендер — и по скалам уже можно ходить. Подходит для выживания, открытых миров и шутеров от первого лица в браузере.

Модели
7
Уровни детализации
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 листвы.

Как использовать в 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-компонент отключён.

Наборы

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

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

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