Unity 6.3
0 онлайн 106 гостей 3 в системе
Вход
Ассеты и медиа Шаг 10 из 148

Создание моделей для оптимальной работы

Вот несколько советов по созданию моделей для оптимальной производительности. Некоторые из этих советов применимы ко всем моделям, а некоторые применимы только к анимированным моделям:

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

Минимизировать количество многоугольников

Количество полигонов, которые вы должны использовать, зависит от качества изображения, которое вам нужно, и платформы, на которую вы направляетесь. Эти два конкурирующих факта в равной степени верны:

  • Чем меньше полигонов вы используете в мешах, тем быстрее работает приложение. Это потому, что каждая вершина, ребро или поверхность требуют вычислительных ресурсов.
  • Чем больше многоугольников вы используете в мешах, тем более детализированным и органичным выглядит ваш GameObjects, потому что меньшие многоугольники дают вам больше контроля над формой.

Если на экране одновременно находится много объектов GameObjects или Terrain, рассмотрите возможность уменьшения количества полигонов на меши.

Обратите внимание, что фактическое число вершин, которое должно обработать графическое оборудование, обычно не совпадает с числом, сообщаемым программой моделирования. Приложения моделирования обычно отображают число различных вершин, которые составляют модель (известно как число геометрических вершин). Однако для видеокарты некоторые геометрические вершины необходимо разделить на две или более логических вершин для целей отображения: например, вершина должна быть разделена, если она имеет несколько норм, координат UV или цветов вершин. Следовательно, число вершин в Unity обычно выше, чем число, указанное программой 3D.

Используйте как можно меньше материалов

Сохранить число материалы Используйте более одного материала на персонаже только тогда, когда вам нужно использовать разные шейдеры для разных частей; например, вы можете использовать специальные шейдеры для глаз на модели персонажа.

Использование сетки с одним слоем кожи

Для моделей анимационных персонажей, которые используют Skinned Mesh Renderer, вы должны использовать только один из этих компонентов на персонаж. Система анимации Unity оптимизирует анимацию с помощью уменьшения видимости и обновления объема границ. Она активирует эти оптимизации только в том случае, если вы используете один Animation компонент и один Skinned Mesh Renderer на модели.

Использование двух мешей вместо одной может приблизительно удвоить время рендеринга модели, и редко существует какое-либо практическое преимущество в использовании нескольких мешей.

Используйте как можно меньше костей

В целом, чем меньше костей вы используете, тем лучше производительность. Однако иногда вам нужно создавать модели персонажей с большим количеством костей: например, когда вы хотите много настраиваемых приспособлений. Эти дополнительные кости увеличивают размер сборки, и могут иметь относительную стоимость обработки для каждой дополнительной кости. Например, 15 дополнительных костей на ригге, который уже имеет 30 костей, требуют Unity 50% больше операций для решения в Общий режиме, что может повлиять на время, необходимое для решения.

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

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

Разделение кинематических характеристик движения вперед и назад

Когда Unity импортирует анимации, он переворачивает обратные кинематические узлы (IK) модели в прямые кинематические узлы (FK), так что Unity вообще не нуждается в узлах IK. Однако, если они остаются в модели, то Unity все равно включает их в расчеты, даже если они не влияют на анимацию. Вы можете либо удалить избыточные узлы IK в Unity или в вашем приложении моделирования 3D. Чтобы облегчить удаление узлов IK, держите отдельные иерархии IK и FK во время моделирования.