☰

Реализация флоры

Флора — один из важнейших аспектов рендеринга в игровых движках. Она занимает значительную часть общей задачи рендеринга, когда дело касается производительности. При создании новой меш-модели флоры следует убедиться, что меш имеет низкий уровень перерисовки полигонов (polygon overdraw).

Существует также компромисс между пустыми пикселями в текстуре (что увеличивает overdraw) и количеством треугольников в меше (что увеличивает стоимость количества полигонов). Оптимальное количество треугольников и раскладка UV могут меняться в зависимости от конкретного случая.

Меши флоры — это оптимизированные рендер-объекты, предназначенные для отрисовки на больших дистанциях обзора с большим количеством экземпляров (instances).

Чтобы иметь возможность добавлять, удалять или исправлять ассеты флоры, сначала нужно открыть «Resource Browser» (Браузер ресурсов).

В папке Assets щёлкните правой кнопкой мыши по пустому месту и создайте новую папку внутри браузера ресурсов.

Откройте только что созданную папку и импортируйте все ваши меши и текстуры по одной.

После импорта, чтобы иметь возможность создать SDF Alpha из диффузной текстуры, вам нужно будет отметить флажок «Generate SDF Alpha» на панели «Texture inspector» (Инспектор текстур), которая открывается справа от экрана при выборе файла текстуры, а затем нажать «save» на этой же панели.

SDF Alpha — это техника, которую мы используем для улучшения производительности альфа-канала растительности в нашем движке. Если её не применить, встроенный альфа-канал текстуры не будет обработан.

Чтобы создать материал флоры, щёлкните правой кнопкой мыши по пустой области в браузере ресурсов, затем нажмите Create>Material, после чего вы сможете дать имя вашему материалу.

Если вы хотите использовать материалы, которые уже существуют или были созданы вами в редакторе, для ваших недавно импортированных мешей, вы можете переименовать материалы ваших мешей в программе 3D-моделирования в соответствии с существующими материалами, которые вы хотите использовать в редакторе. После импорта редактор автоматически назначит эти материалы вашим мешам.

Прежде чем переходить к «настройкам материала», пожалуйста, ознакомьтесь с Редактором материалов для получения дополнительной информации.

Нажмите на только что созданный материал и выберите шейдер, который вы хотите использовать, на панели шейдера справа. Важно правильно определить тип шейдера, который вы хотите использовать, например, если наша флора — это трава, нам нужно выбрать шейдер травы (grass shader), а для деревьев и кустарников мы выбираем шейдер flora_leaf. В целях данной документации мы создали траву в качестве флоры и выбрали grass_shader.

После выбора шейдера для флоры нам нужно подключить (определить) наши текстуры к материалам флоры. Чтобы добиться этого, вы можете найти текстуру на панели Textures или просто перетащить её в слоты текстур из браузера ресурсов. Такую же процедуру следует выполнить и для SDF Alpha.

Обязательно сохраните изменения, нажав «save» внизу инспектора материалов, иначе материалы вернутся к настройкам по умолчанию.

Далее мы проверяем флаги alpha_test и use_albedo_alpha. НЕ отмечайте флаг use_specular для шейдера Grass, чтобы не повлиять негативно на производительность.

Затем мы переходим на вкладку «Transparency» (Прозрачность) и выбираем «Factor» из выпадающего списка Alpha Blend Mode, а также указываем значение, которое будет использоваться в качестве порогового значения для «Alpha Test». В большинстве случаев подходящим будет значение 45.

На последнем шаге настройки материала мы отмечаем флажок «Two Sided» в разделе «Others» (Прочее), а затем сохраняем.

,

Теперь, когда настройки материала завершены, после выбора соответствующего меша мы можем найти имя материала в правой части экрана, применить его к выбранному мешу и сохранить. Или же мы также можем выбрать/перетащить и отпустить. Затем мы можем дважды щёлкнуть по мешу в редакторе меша и увидеть, был ли применён материал или нет.

Редактор типов флоры (Flora Kind Editor)

Редактор типов флоры (Flora Kind Editor) — это место, где мы определяем и управляем импортированной флорой.

Добавление ресурсов в редактор типов флоры

Чтобы иметь возможность добавить созданную нами флору в сцены, нам нужно определить её в редакторе типов флоры (Flora Kind Editor). Мы можем получить к нему доступ через Window>Module Data>Flora Editor.

С помощью редактора типов флоры мы можем:

  1. Получить доступ к списку флоры, которая существует/вот-вот будет добавлена в редактор.
  2. Назвать/переименовать элементы флоры.
  3. Определить параметры флоры.
  4. Просматривать вариации флоры в зависимости от времени года.
  5. Добавлять флору и вариации.
  6. Просматривать информацию о меше, а также просматривать или изменять объекты тела (body objects) и материалы.

Чтобы добавить новую флору, мы можем нажать «Add New Flora» в верхней левой части, а затем изменить её имя в текстовом поле Flora Kind Name справа от экрана.

Мы определяем свойства нашей флоры в разделе свойств. Мы отмечаем флажок «grass» (трава), если наша флора ведёт себя как трава. Чтобы флора привязывалась к плоской поверхности или склонам, мы отмечаем «align with ground» (выравнивание по земле) и «align with slope» (выравнивание по склону) соответственно. Если мы хотим, чтобы наша флора исчезала на определённом расстоянии, мы отмечаем флажок «fading out» (затухание) и заполняем поле «view distance» (дальность видимости) чуть выше правильным значением. В случае использования травы мы отмечаем флажок «no shadow» (без тени), чтобы максимизировать производительность. В остальных случаях мы оставляем этот флажок неотмеченным для явно более крупных и реже размещаемых объектов флоры, таких как деревья и кустарники.

Нажмите «Add Variation» (Добавить вариацию), расположенную под миниатюрами времён года (Seasons), чтобы добавить подготовленный вами меш флоры. Здесь вы можете добавить разные версии флоры для разных времён года, чтобы флора, специфичная для сезона, отображалась автоматически. Вы также можете добавить несколько мешей флоры и создать больше разнообразия.

Теперь, когда мы закончили добавление нашей флоры в «Редактор типов флоры» (Flora Kind Editor) с желаемыми параметрами, создание можно сохранить, нажав «Save Flora» (Сохранить флору) или, в случае добавления нескольких типов флоры, «Save All» (Сохранить всё).

Добавление флоры в сцены

После импорта вашего меша в игру и внесения его в редактор типов флоры, мы можем использовать «Flora Paint» (Покраска флорой), чтобы наносить нашу флору на сцену. Сначала мы можем сгенерировать ландшафт в нашей сцене. Для этого мы можем выбрать инструмент «Select Terrain» (Выбор ландшафта) из верхней панели меню, затем нажать «Generate Terrain» (Сгенерировать ландшафт) в окне, которое появляется справа, и нажать ok в следующем окне, чтобы в конечном итоге сгенерировать ландшафт. Мы выполняем эти шаги исключительно для создания ландшафта, чтобы затем мы могли использовать инструмент Flora Paint.

После создания ландшафта мы выбираем инструмент «Flora Paint» на верхней панели. Затем мы вводим имя флоры, которую ранее определили в редакторе типов флоры, и наносим её на сцену.

Другой способ добавления нашей флоры в сцену — это помещение её в один из слоёв, которые мы создали для покраски ландшафта. Для этого мы можем выбрать инструмент «Paint Terrain Layer» (Покраска слоя ландшафта) на верхней панели меню. Затем мы добавляем новый слой из нового окна, которое открывается справа.

Мы дважды щёлкаем по новому слою и открываем меню его свойств. Затем мы отмечаем флажок «Flora Layer» (Слой флоры) и разворачиваем вкладку «Flora Meshes» (Меши флоры).

Отметка флажка Flora Layer деактивирует текстуры, используемые для покраски ландшафта, однако добавленная нами флора по-прежнему будет видна. Если мы хотим одновременно видеть и флору, и текстуры, которые мы добавили в слои, этот флажок следует оставить неотмеченным.

В разделе «Flora Meshes» нажмите на выпадающее меню рядом с «Flora» и выберите подготовленную вами флору, затем закрасьте область вашего ландшафта.

Эта страница переведена с помощью ИИ и может содержать неточности. Оригинал на английском языке является основным источником.