Количество вершин
Я исследовал «Количество полигонов» более 15 лет. Не существует строгого способа определить, сколько у вас ограничений, особенно с использованием более современного программного и аппаратного обеспечения. Пределы были гораздо полезнее в двигателях, которые поддерживали только 4000 треугольников для всего уровня. Теперь вы найдете, что большинство объектов в игровой среде превысят это индивидуально.
В конечном счете, важно то, что делает двигатель с полосами многоугольника.
Когда движок рендерит каждую модель, он берет ваши UV-координаты, текстуру / материал, представленный на треугольниках, и создает треугольные полосы. В большинстве случаев веер треугольника разбивается на отдельные полосы треугольника на треугольник. Это увеличивает количество треугольных полос, снижая производительность.
Главный пример исправления этого - плоская вершина цилиндра. 3D-пакеты обычно устанавливают треугольный веер с вершиной в центре. Я удаляю ребра и центральную вершину, затем создаю четырехугольники по лицу. Это должно затем треугольник в одну полосу треугольника вместо нескольких полос с одним лицом, без изменения количества полигонов.
Возьмите в качестве ориентира количество полигонов и позаботьтесь о том, как вы моделируете, и нанесите UV-карту на сетку. Меньше расколов в сетке, когда UV Mapping часто может быть более выгодным.
Далее рассмотрим, что можно подделать с помощью нормальных карт. Плоское лицо с множеством деталей обычно бывает нормальным нанесенным на карту. Кривые должны быть круглыми только там, где виден силуэт. Глядя на изогнутые грани спереди, вы не должны замечать разницу между активом высокого разрешения и активом игрового разрешения. Силуэт - это то, что имеет значение в вашей модели, когда используются карты нормалей. Силуэт теперь можно изменить с помощью DirectX 11, используя тесселяцию и отображение смещения.
Дизайн игры
При разработке игры учитывайте следующее:
- Определите тип игры (например, действие / приключение / гонки / скроллер)
- Определите тип вида (например, от первого лица / от третьего лица / орфографический)
- Определите вычислительную мощность для вашего рынка. (например, энтузиаст / случайный игрок)
- Создайте визуальный стиль, которого хотите достичь. Вы хотите, чтобы он выглядел, например, как Crysis 2, Borderlands, Bloodforge или Gears of War?
- Определите важные объекты для игрока. Ваши реквизиты станут центром фокуса или просто фоном?
- Являются ли визуальные сетки также сеткой столкновений?
Используя тип игры и вид, определите глубину обзора. Собираетесь ли вы увидеть отдаленные объекты и с какой ясностью? Вы делаете что-то с ограниченным обзором, например, шутер в коридоре? (например, Gears of War) Вы делаете что-то свободное в роуминге с открытыми пейзажами? (например, Скайрим)
Как только вы знаете, как это должно выглядеть, вы можете исследовать похожие игры.
Анимация ограничит вашу способность увеличивать количество полигонов. Статические сетки, все, что остается в той же позиции, является самым дешевым на GPU и CPU. Особенно, если они не являются физическими объектами. Для физических объектов вы можете часто создавать простые оболочки столкновений и сложные визуальные сетки. В большинстве игр недостаточно взаимодействия, чтобы заметить разницу. Анимация перемещает вашу модель 3-мерно, с несколькими костями на вершину, смешивая весовые коэффициенты от каждой из них. Это может быть дорого из-за процессорного времени, которое может конфликтовать с искусственным интеллектом и программной физикой. Чем больше вершин зависит от количества костей во всей модели, тем ниже производительность ЦП. Это еще одна причина, по которой игровые персонажи считаются «искусством». Очень трудно определить предел многоугольника.
Мой пример
Я использую UDK, делая медленный шутер от третьего лица, с ограниченным количеством игроков и NPC на экране в любое время. Для этого я стремлюсь получить примерно 10 000 треугольников на игрока, 5000 треугольников для типичных, общих врагов, а если бы я делал персонажа в стиле «босс», то около 15 000. Кроме того, оружие для третьего лица около 4000 треугольников будет очень подробно. Транспортные средства около 10000 треугольников. Все будет требовать уровня детализации, потому что мне нужны большие расстояния просмотра.
Если бы я делал от первого лица, я бы основывал руки на 2000 треугольников, оружие на 5000 треугольников, с обычным отображением для каждого.
Вывод
Это то, что, вероятно, означает «это зависит», но я подумал, что это может прояснить некоторые вещи, о которых люди часто задаются вопросом.
- Используйте количество полигонов в качестве руководства.
- Посмотрите на области, которые могут быть нормально отображены, а не смоделированы.
- Будьте осторожны при размещении треугольных вентиляторов, если возможно, создайте полосу.
- Используйте меньше расколов на сетке при УФ-картировании, помня о полосах.