Полезные советы по оптимизации игровой модели. Часть 1. Сколько полигонов должно быть в игровой модели

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

Полигональное моделирование — один из самых популярных и привычных способов создания 3D-моделей. Наиболее часто используемой программой для этих целей является 3DS Max, благодаря оптимальной рабочей среде и широкому набору функций.

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

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

  • Как уменьшить количество полигонов в 3ds Max
  • Снижение параметра сглаженности
  • Оптимизация сетки

Как уменьшить количество полигонов в 3ds Max

Следует отметить, что не существует «универсального» метода преобразования высокополигональной модели в низкополигональную. Правило заключается в том, что модель моделирования должна сначала создать объект с определенным уровнем детализации. В очень редких случаях количество полигонов может быть изменено.

1. выберите модель. Если он состоит из многих элементов — удалите группировку и выберите элементы, которые уменьшают количество полигонов.

Агрегирование объектов в 3dsMax

2.Если в списке примененных модификаторов есть ‘Turbosmooth’ или ‘Meshsmooth’, выберите их.

Уменьшение количества полигонов в 3dsMax1

Уменьшение количества полигонов в 3dsMax2

Это самый простой способ, но он имеет тот недостаток, что не у всех моделей хранится список модификаторов. В большинстве случаев это уже полигональная сетка. Это означает, что создатель просто «не помнит», что на него было нанесено.

Оптимизация сетки

Сжатие полигонов в 3dsMax3

Далее разверните список Amender и нажмите на «Vertex». Нажмите Ctrl + A, чтобы выделить все точки объекта. Нажмите кнопку Generate в нижней части окна.

Уменьшение количества полигонов в 3dsMax4

4. Как только это будет сделано, появится информация о количестве связанных точек и проценте слияния. С помощью стрелок уменьшите параметр ‘Vert percent’ до нужного уровня. Все изменения в модели видны сразу!

Уменьшает количество полигонов в 3dsMax5

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

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

Эффект Bloom придает блеск самым ярким частям кадра. Он также добавляет ореол вокруг него, придавая изображению более кинематографический вид. Возьмем пример из игры Gears of War (2006).

Shading

Затенение — это нормальный субстрат для горения. Чем лучше он выглядит, тем красивее будет финальная модель и карта нормалей. Слева на этом скриншоте вы можете видеть пример хорошего затенения, справа — плохого.

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

Основным инструментом влияния на затенение является добавление большей геометрии. Если это не работает, то следовать этому коду сложно. Первое затенение модели в GIF ниже не очень хорошо передает ее форму. Добавляя конечности, модель оптимально обесцвечивается. Его форма становится более четкой.

Статья по теме:  Люди Х: Начало. Росомаха: Не везет им в смерти, не везет и в любви…. Куда делся виктор из росомахи

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

Поэтому подходящий оттенок — это баланс между мягким и жестким.

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

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

Texel Density

Это количество пикселей на текстуру, соответствующее физическому размеру объекта. В левой части скриншота — УФ-сканирование ствола оружия. Допустим, это текстура размером 2K и длиной 10 пикселей. С правой стороны виден сам ствол. Предположим, что его длина равна 10 см. Таким образом, плотность текселей составляет 1 пиксель на сантиметр.

Это делается для того, чтобы все объекты в слое имели одинаковое разрешение текстуры. Предположим, что на одном уровне находятся две бочки, одна поменьше, другая побольше. Если применить к ним текстуру 2K, текстуры будут иметь разную плотность. Меньший ствол будет очень плотным и детализированным, а больший — более блеклым. Чтобы обойти эти проблемы, был придуман термин TexelDensity.

Часто клиенты задавали плотность текселей, но не указывали разрешение текстуры. Это было хлопотно. Пришлось выкручиваться. Теперь в UV Editor Maya 2018 есть специальный инструмент. Выберите нужную УФ-оболочку и нажмите Get, чтобы получить значения в соответствии с анализом текстуры. Аналогично, выберите любую оболочку, установите числовое значение, нажмите кнопку Set, и плотность текселя будет такой, какой вы ее установили.

Распределение Texel Density.

Предположим, что желтый цвет — это плотность Текселя, которой мы должны придерживаться. Чем краснее цвет, тем выше цена, тем плотнее текстура и больше деталей. И наоборот, чем голубее цвет, тем ниже цена.

Увеличение значения в основном используется с оружием первого лица. Прежде всего, вы можете видеть заднюю часть пистолета, поэтому больше деталей — хорошая идея.

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

В качестве одного из тестов я создал генератор квадратов. Я выровнял его дно — как правило, его никто не видит — как и все остальное. Таким образом, оно оккупировало мое помещение ультрафиолетовым излучением. Использование текстур было не совсем оптимальным. Для экономии места в невидимых областях, заполненных геометрией, следует использовать очень маленькие текстурные оболочки.

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

Отрисовка полигона

При рендеринге полигона графический процессор сначала решает, где рисовать полигон. Для этого он вычисляет положение на экране, в котором должны находиться три вершины. Эта функция называется трансформацией. Этот расчет выполняется на графическом процессоре небольшой программой, называемой вершинным шейдером.

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

Статья по теме:  Скрываем номер на iPhone. Как скрыть номер телефона при звонке айфон

Рисунок 3: Простой многоугольник, нарисованный на экране.

На рисунке 4 показан порядок, в котором GPU рисует полигоны.

Рисунок 4: Порядок производительности при обработке полигонов на GPU.

Если треугольник разделен на две части и оба треугольника нарисованы (см. рисунок 5), порядок действий показан на рисунке 6.

Рисунок 5.Разделение многоугольника на две части.

Рис. 6.Порядок рисования двух многоугольников с GPU.

В этом случае требуется двойное преобразование и подготовка, но количество пикселей остается прежним, поэтому дополнительные пиксели растрировать не нужно. Это показывает, что удвоение количества полигонов не обязательно удваивает время рендеринга.

Использование кэша вершин

Рассматривая два многоугольника в предыдущем примере, мы видим, что они имеют две общие вершины. Эти пики пришлось бы пересчитывать дважды, но механизм, называемый «кэш пиков», позволяет повторно использовать результаты. Результаты вычислений вершинного шейдера хранятся для повторного использования в кэше, который представляет собой небольшую область памяти, содержащую последний пик. Процесс рендеринга двух полигонов с использованием кэша вершин показан на рисунке 7.

Рисунок 7: Рендеринг двух полигонов с использованием кэша вершин.

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

Разбираемся с параметрами вершин

Чтобы наконечник можно было использовать повторно, он должен оставаться неизменным при каждом использовании. Конечно, позиция должна оставаться неизменной, но другие параметры должны оставаться неизменными. Параметры, передаваемые вершине, зависят от используемой машины. Двумя часто используемыми параметрами являются

Рисунок 8: Скрепка УФ-текстуры.

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

Рисунок 9.Сравнение плоского затенения и сглаживания.

Эта геометрия с плавным затенением состоит из 18 треугольников с 16 общими вершинами. Плоская штриховка с 18 треугольниками требует 54 вершины (18 x 3), так как ни одна из вершин не является общей. Даже если количество полигонов в двух сетках одинаково, скорость рендеринга будет разной.

В 1940-х и 50-х годах компьютеры еще не вышли за пределы лабораторий и торговых ярмарок, поэтому у игр не было шансов стать массовым развлечением. Однако постепенно технологии развивались, и средства производства стали все больше напоминать привычные экраны.

Создание низкополигональных 3D моделей в Blender

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

В Blender есть функция объектов и функция редактирования, которые используются по-разному. В данном случае мы в основном работаем в объектном режиме.

  • Сначала выберите объект правой кнопкой мыши и найдите меню модификаторов, в котором есть маленький символ гаечного ключа. Теперь в меню модификаторов нажмите «Добавить модификатор» и выберите опцию «Удалить ». Модификатор Decimate позволяет уменьшить количество вершин и граней на сетке с помощью управляющего ползунка. Это придаст объекту желаемый низкополигональный вид.
  • Переместите ползунок или введите значение, чтобы увидеть, как меняется форма объекта. Когда вы будете удовлетворены результатом, нажмите кнопку выше с надписью «Применить », чтобы сделать эти изменения постоянными. Мы не рекомендуем использовать очень низкое значение, в противном случае вы получите неузнаваемую форму. Вероятно, подойдет значение от 0,5 до 0,1.
Статья по теме:  Предварительный просмотр. Превью в кинотеатре что это

Подготовим низкополигональную модель к 3D печати

Низкополигональная 3D-модель теперь готова для 3D-принтера. В Sketchup выделите всю модель, щелкните правой кнопкой мыши и выберите Создать группу, чтобы преобразовать ее в группу. Используйте дополнение Solid Inspector для проверки модели на наличие ошибок и сделайте модель пригодной для печати, чтобы избежать проблем в процессе 3D-печати. Дополнение автоматически исправляет некоторые проблемы модели. После того как Solid Inspector сообщит вам, что модель в порядке, необходимо экспортировать ее в STL-файл.

В Blender коснитесь вкладки на клавиатуре с выбранным элементом, чтобы перейти в режим редактирования. Нажмите клавишу W и выберите «Удалить двойные вершины». Эта опция проверит и очистит модель при наличии двойных пиков. Затем экспортируйте его в файл STL.

Затем нарежьте 3D-модель с помощью измельчителя и отправьте ее на 3D-принтер для печати.

Заключение

Низкополигональные модели очень популярны, потому что они хорошо выглядят и могут рендерить объекты с очень простой геометрией, но при этом не теряют своей сути. Что касается внешнего вида, то они привлекают зрителей и позволяют им быстро распознавать объекты и понимать ключевые идеи.

Некоторые низкополигональные модели доступны для загрузки — Пикачу, Фушигидан.

Модификатор Quadify Mesh заслуживает особого упоминания, поскольку он работает в обоих направлениях. Все модификаторы можно найти в списке ‘Modifiers — Модификаторы’ и в разделе Поиск по имени.

Автоматическая генерация полигонов как средство оптимизации модели.

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

Создание полигонов для оптимизации высокополигональных моделей.

Похожие статьи

Мы продолжаем изучать новые возможности Zbrush 2021, включая улучшения в динамическом…

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

Quadify Mesh

Инструмент Quadify mesh уникален тем, что он создает новую сетку объектов, а не работает с существующей сеткой объектов. Это так же просто, как и любой из вышеперечисленных модификаторов. Существует только один параметр! Quad Size% определяет размер квадрата, создаваемого для объекта. Это значение представляет собой процент и рассчитывается в зависимости от размера изделия. Цены варьируются от 0,2 до 100.

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

Конфигуратор сетки Quadify

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

Оцените статью
emugame.ru