Как увеличить количество полигонов в cinema 4d

Обновлено: 07.07.2024

Репутация: 66

Что такое оптимизация?
В контексте этого урока- уменьшение количества полигонов в проекте и, соответственно, освобождение оперативной памяти. Применяется к самым "тяжелым" объектам в сцене.
Для чего она нужна?
Для больших проектов, котороые машина тащит на пределе возможностей.
Что она дает?
Ускоряется и облегчается передвижение во вьюпортах, перерисовка графики в них же.
Работать становится более комфортно.
Как она влияет на рендер?
Влияет опосредованно-
Чем меньше памяти расходуется на полигоны, тем больше ее можно выделить на рендер, но уменьшение полигонов в два раза не приведет к ускорению рендера в эти же два раза.
Ускорение будет едва заметным.
На скорость рендера гораздо сильней влияет сложность материалов, размер картинки на выходе и настройки этого рендера (сабдивы и проч.)
Нужна ли вообще эта оптимизация?
Если проект небольшой и шустро крутится, то не нужна.
Если проект побольше, вьюпорты тормозят, но рендер идет- желательна.
Если при рендере (или при попытке его запустить) вылетает табличка, что не хватает памяти- обязательна.

и видите примерно следующее

Прикрепленное изображение

Смотрите количество полигонов в сцене.

Прикрепленное изображение

В этом проекте около 500 тыс, полигонов, я такие не оптимизирую, но в качестве примера для урока сойдет.
Сразу возникает вопрос- а сколько нужно для оптимизации.
Зависит от машины.
У меня ноутбук Тошка (Тошиба), с памятью гиг с хвостиком и я стараюсь не вылезать за 2 млн. поликов для рендера и за 1 млн.- если нужно еще помоделить.
В общем, для каждого свой предел.

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

Прикрепленное изображение

Он похож на сетку для крупной рыбы (шутка)
Такие мы не трогаем
Вот пример средней плотности

Это уже на корюшку.
Тоже не трогаем.
А вот пример избыточной плотности

Сетка у него плотная, сплошная.
Пока он выделен смотрим его свойства.

Прикрепленное изображение

40 тыс. полигонов на одну дверную ручку- это беспредел.
Это как та же корюшка по цене черной икры.
Исправляем несправедливость.
жмем полигон редукшен (прошу прощенья за то что пишу английские слова на великом и могучем. Мне так удобно, а о чем речь из картинок понятно)

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

запоминаем и не трогаем больше.
Сразу же запускаем второй менеджер объектов.

И из него перетаскиваем полигон редукшен на пациента

Прикрепленное изображение

(Примечание. Если перетащить его с нажатым Ctrl, то он скопируется. Это удобно когда полигон редукшен планируется использовать многократно. Дополнительный менджер объектов можно просто свернуть.)
Должно получится вот так.

Прикрепленное изображение

Смотрим свойства полигон редукшена

Прикрепленное изображение

Главное. что нас интересует- это проценты.
90%- это то, на сколько уменьшится количество полигонов.
Много это или мало?
Покажет рендер
Выделяем пациента, запускаем рендер активного объекта

и сталкиваемся со следующей проблемой-
Черную ручку на черном фоне не видно.
Решаем просто- из менеджера материалов тащим на пациента что-то светленькое (а после пробного рендера удаляем)

и удаляем исходный (тот что остается выделеным после конвертации)
Смотрим свойства "нового пациента"

Прикрепленное изображение

Итак, основное.
1-смотрим количество полигонов в сцене.
2-если нужно, находим и оптимизируем (с удалением исходников) самые тяжелые объекты.
3- Делаем это до тех пор, пока сцена не станет приемлемой для рендера и (или) моделинга.
При некотором опыте это всё занимает не более часа(если отимизировать сразу группы, то можно и быстрей)
ИМХО. Желательно все это сделать в фейковом рендере и лишь потом переключать на вирей
4- Не грустим, если что-то не получается. Пробуем. Спрашиваем. Учимся.


FilinS


Cyborg



Просмотр профиля Во еще одна трабла - надо бы мне увеличить число полигонов в моей получившейся модельке - но при этом развертка бутылки должна остаться в порядке - не подскажите как это сделать?
тока кроме MeshSmooh=)


Max234666cccp



Просмотр профиля


nata7311



Просмотр профиля


Ultemate



Просмотр профиля

народный ЦГ артист

nata7311 Хех, опередила.


nata7311



Просмотр профиля

nata7311 Хех, опередила.
[right][snapback]412682[/snapback][/right]


Cyborg



Просмотр профиля


В режиме точек (Use Point Tool) удаляются все примыкающие к точкам полигоны (рис. 7.201).


В режиме ребер стираются выделенные ребра.

7.2.16. Инструмент Optimize

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


Параметры команды собраны в диалоговом окне (рис. 7.202).

Polygons - при установленном флажке удаляются сдублированные полигоны.

Unused Points - при установленном флажке удаляет неиспользуемые точки.

Points - удаляет сдвоенные точки, а также точки, расположенные на определенном расстоянии друг от друга.

Tolerance - задает предельное расстояние между точками. Параметр доступен, только если флажок Points установлен. Если точки находятся на большем расстоянии, чем предельное, то они не удаляются. Если на меньшем - то одна из точек удаляется. Например, если для куба, приведенного к полигональному виду, со стороной 200 м задать Tolerance = 210 м (как на рис. 7.203), то 4 вершины куба будут удалены, а следовательно, изменятся и полигоны.


7.2.17. Инструмент Subdivide

Позволяет увеличить количество полигонов (ребер и точек), на которые разбита поверхность объекта. Параметры команды приведены в диалоговом окне (рис. 7.204).


Subdivision - задает количество шагов. Для треугольных и прямоугольных полигонов их количество за каждый шаг увеличивается в 4 раза. Например, если для куба (не забудьте преобразовать параметрический примитив Cube в полигональный вид) изначально был один прямоугольный полигон на грань, то при Subdivision = 2 общее количество полигонов на грань станет 16 (по 4 на ребро) (рис. 7.205).

Для N-угольника деление на полигоны производится следующим образом: из центра N-угольника проводятся ребра к его углам.

HyperNURBS Subdivide - позволяет в процессе деления на полигоны одновременно производить сглаживание поверхности. На рис. 7.206 приведен пример для примитива Cube. Параметр Maximum Angle задает угол между соседними полигонами, при превышении которого данные полигоны (вернее, общее ребро


между ними) не сглаживаются. Этот угол задается для исходной геометрии объекта. В данном случае это куб. У куба грани (исходные полигоны) располагаются друг по отношению к другу под углом 90. Зададим 180 и получим сглаженную до сферы поверхность, разбитую на 96 полигонов (на каждой грани по 16 полигонов, всего 6 граней).


Зададим Maximum Angle = 89°. Этот угол меньше, чем угол между гранями, поэтому HyperNURBS-сглаживание не работает (рис. 7.207).


7.2.18. Инструмент Triangulate

Команда преобразует прямоугольные полигоны в треугольные (рис. 7.208).


7.2.19. Инструмент Untriangulate

Команда, обратная предыдущей. Для Cinema 4D для процесса рендеринга оптимальнее иметь разбивку поверхности на четырехугольные полигоны, чем на треугольные Часто при импорте объектов из других программ объекты имеют треугольные полигоны. Команда не работает с N-угольниками.

alt

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

Ниже будут рассмотрены 5 модификаторов, которые можно поделить на 2 типа:

  1. делают сетку более плотной, увеличивая число полигонов (TurboSmooth, Tessellate)
  2. делают сетку менее плотной, уменьшая число полигонов (Optimize, ProOptimizer)

Отдельно стоит выделить модификатор Quadify Mesh, так как он может работать в обе стороны. Все модификаторы можно найти в Modify – Modifier List и найти по названию (можно ввести название текстом).

Так как число полигонов изменяется, то его понадобится отслеживать. Чтобы увидеть, сколько в сцене полигонов, нужно нажать клавишу «7» или включить функцию Views – xView – Show Statistics.

Показать окно статистики

Выбрать элементы для подсчета можно в окне Viewport Configuration – Statistics. Там можно выбрать полигоны (Polygon), треугольники (Triangle), ребра (Edge), точки (Vertex), число кадров в секунду (Frames Per Second). Также есть выбор, на каких объектам считать: на всех (Total), на выбранных (Selection), одновременно на всех и на выделенных (Total + Selection).

Окно Viewport Configuration – Statistics

1. TurboSmooth

Turbosmooth крайне простой модификатор, который сглаживает объекты. Но его преимущество перед Smooth или OpenSubdiv в том, что сглаживание производится добавлением новых полигонов и изменением их положения. Хотя, возможности указанных модификаторов частично присутствуют, но рассматривать их мы не будем.

Главный параметр – Iterations. Чем он выше, тем больше полигонов и более сглаженный объект. Часто этот модификатор используют для более тонкой доработки объекта, которая требует больше полигонов, чем грубая форма. Однако не стоит ставить слишком высокое значение. Из-за этого сцена может зависнуть.

Модификатор Turbosmooth

2. Tessellate

Tessellate выполняет схожую с TurboSmooth функция, но несколько иначе. Прежде всего, он имеет 2 типа построения новых ребер на сетке: на основе треугольных «фейсов» (Face) или полигонов (Polygons).

Пункты Edge и Face-Center позволяют менять тип построения сетки, но Edge используется чаще. В отличие от TurboSmooth, сглаживания почти не происходит, сетка просто уплотняется. Параметр Tension чем-то похож на сглаживание. Но при больших значениях сглаживается только часть объекта, другая становится более жесткой. Параметр Iteration влияет на плотность сетки: больше число - больше полигонов. Но, если нужно уплотнить сетку сильнее, чем при Iteration = 4, придется добавить еще один такой же модификатор.

Модификатор Tessellate

3. Optimize

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

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

Модификатор Optimize

4. ProOptimizer

Принцип работы ProOptimizer очень схож с Optimize, но более автоматизирован. Он не имеет различных параметров настройки новых граней, из-за чего оптимизация менее гибкая. Но сам объект после оптимизации лучше сохраняет форму при меньшей трате времени на настройку. Лучше всего это будет видно на сложных объектах.

В разделе Optimization Level находятся все главные параметры и информация. Сначала вы должны рассчитать оптимизацию кнопкой Calculate, а затем поменять количество точек до результата, который вас устроит. Statistic (Before / After) показывает, на сколько было уменьшено число точек и «фейсов».

Модификатор ProOptimizer

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

5. Quadify Mesh

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

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

Модификатор Quadify Mesh

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

Читайте также: