FoliMesh

Пальмы в стиле Low-poly для Bevy

Пять пальм — Кокосовая пальма, Финиковая пальма, Канарская пальма, Вашингтония и Хамеропс — загружаются в Bevy как GLB-сцены: asset_server.load(GltfAssetLabel::Scene(0).from_asset("coconut-palm.glb")), спавн через SceneRoot. Low-poly идеально ложится на этот путь: плоское затенение и вершинные цвета (COLOR_0) убирают текстуры, а меши и материалы остаются адресуемыми по метке. Каждая модель поставляется с LOD0–LOD3; на LOD0 обычно от нескольких сотен до пары тысяч треугольников.

Добавьте сущностям LOD0–LOD3 компонент VisibilityRange — получите дизеренный кроссфейд Bevy (HLOD). Копии используют один меш и один материал, поэтому автоматически батчатся и инстансируются: целый пляж дёшев даже на мобильных и WebGPU. Листья у low-poly — сплошная геометрия, без alpha-теста и прозрачного овердроу. Достаточно StandardMaterial, умножающего цвет на вершинный. Физики в Bevy нет: коллайдер ствола соберите из collision-меша через Avian или bevy_rapier.

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

О стиле Low-poly

Low-poly — самый дешёвый стиль и в рендере, и в размере билда.

  • Плоское затенение: одна нормаль на грань даёт чёткие грани, карты нормалей не нужны.
  • Цвет хранится в вершинах (glTF COLOR_0): нет текстур, нет работы с UV, почти не тратится видеопамять.
  • Листва — сплошная геометрия, а не карточки с альфой: нет alpha-test и прозрачного overdraw, что важно для мобильных GPU.
  • Один материал можно использовать для всех моделей сцены, поэтому деревья легко батчатся и инстансятся.
  • Типичный бюджет LOD0 — от нескольких сотен до пары тысяч треугольников.

Подходит для мобильных игр, WebGL/WebGPU, VR, стратегий, градостроительных и стилизованных инди-игр. В движке используйте материал, который учитывает цвет вершин.

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

Bevy загружает glTF/GLB через AssetServer: asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb")) и спавн через SceneRoot; отдельные меши и материалы доступны по меткам. Для FBX и OBJ нужны сторонние крейты, поэтому используйте GLB.

  • LOD: дайте сущностям LOD0–LOD3 компонент VisibilityRange (начальный и конечный отступы) — переключение по дистанции с дизерингом при переходе, это механизм HLOD в Bevy.
  • Листва: alphaMode MASK из glTF превращается в AlphaMode::Mask(cutoff) у StandardMaterial, а у двусторонних материалов отключено отсечение задних граней.
  • Сущности с общими мешем и материалом батчатся и инстансятся автоматически, так что множество копий деревьев обходится дёшево.
  • Коллизия: встроенной физики в Bevy нет; соберите коллайдер из меша коллизии с помощью Avian или bevy_rapier.

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

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

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