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

Обновлено: 05.07.2024

чота мне подумалось - чисто не там, где подметают, а там где не мусорят. Изначально надо моделить так, чтобы полигоны не получались в огромном-неподъёмном количестве.

Ну а если модель скачана(не тобой смоделена) - никакие полигоны не уменьшать, а перекинуть куда-то в прокси или иксреф или куда там перекидывать модно щас.

voverrr, ты когда нибудь с реалфло сетку експортил? Или ты фонтаны моделишь сразу "подъемными" полигонами? После Браша модель тоже не балерина! А прокси создается только после редактирования (в т.ч. оптимизации).

Я свои модели сам делаю, так вот я сначала сетку разглажу смусом, а потом оптимизирую "Polygon Cruncher"ом, результат: легкая и гладкая моделька.
Попробуй сначала Нормальный оптимизатор, или научи моделить так "чтобы полигоны не получались в огромном-неподъёмном количестве".
Может тогда действительно "подметать" не придется.

А принцип "сначала искусственно нагнать количество полигонов, а потом оптимизировать их" - к чему?
Для "легкая и гладкая моделька" Не на боксы же "нагоняют" полигоны.
Polygon Cruncher в сложных местах оставляет сетку плотнее и вообще хорошо сохраняет форму.
Вообще оптимизация - дело личное. Я оптимизирую для быстрого просчета сложных сеток. Ты изначально делаешь правильную сетку. (видимо тебе так быстрее). А у кого то рендер-ферма есть и чихать ему на кол-во полигонов.
Вопрос стоял как оптимизировать а не зачем оптимизировать.

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

Вот и славно, что ты это и так знаешь. Без моей подсказки.


По личным наблюдения - все операции с вертексами сделанные не руками, а разными приспособлениями, типа полигонкранчера или полибуста или скрипта типа Badvertexselect(каждый пусть вспомнит свои любимые плагины) - требуют ручной доработки, соразмерной по времени с основной работой.

Исходя из этого я и сделал для себя вывод - использовать минимальные средства: лоу-поли+турбосмуз. Зачастую даже и Збраш не нужен.

А принцип "сначала искусственно нагнать количество полигонов, а потом оптимизировать их" - к чему?

Репутация: 66

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


FilinS

Создает эффект плавления объекта и его растекания по плоскости. На рисунке приведен пример применения данного деформатора для объекта Cone (конус).

В окне менеджера Attributes перечислены настройки деформатора Melt:

- Strength - задает степень расплавления в процентах: 0% - объект не расплавлен, 100% - объект расплавлен полностью;

- Radius - задает значение радиуса основания виртуального конуса, который бы плавился равномерно; если задать 0 - объект исчезнет, результат плавления при значениях 1, 5, 10 (рис. 2.294- 2.296) показывает уменьшение степени неравномерности оплавления у основания конуса при увеличении значения параметра Radius;

- Vertical Randomness (вертикальная составляющая степени хаотичности) и Radial Randomness (горизонтальная составляющая степени хаотичности)



задают неравномерность плавления по высоте объекта в процентах. Для конуса заметно влияет параметр Radial Randomness: при 0% «пятно расплава» у основания имеет больший диаметр, чем при 100% (рис. 2.297-2.298);

- Melted Size - характеризует и изменяется от 100 до 1000 в условных процентах (рис. 2.299);



- Noise Scale - задает степень неровности поверхности расплавления.

Если сделать активным объект Cone (конус) и перейти на вид сбоку, то можно увидеть расположение деформатора на конусе (рис. 2.300).


Для большей наглядности анимируйте самостоятельно параметр Strength (вызовите контекстное меню, щелкнув правой кнопкой по имени параметра, выберите Animation -> Add KeyFrame, слева от имени появится красная точка, передвигайте бегунок шкалы анимации, устанавливая кадры, меняйте значение параметра и каждый раз задавайте ключевой кадр Animation -> Add KeyFrame) применительно к персонажу Zygote Man. Учтите, что Zygote Man надо поднять по оси 0Y на 200 м (при размерах Zygote Man, принятых по умолчанию), а инструмент Melt опустить по оси 0Y настолько же, чтобы значок Melt находился у подошв Zygote Man (рис. 2.301).


Инструмент Polygon Reduction (уменьшение количества полигонов)

Позволяет понижать количество полигонов любого геометрического объекта, созданного в результате моделирования в Cinema 4D. Наличие избыточных полигонов увеличивают время расчета анимации и требуют дополнительных ресурсов.

Создадим объект Hyper NURBS и применим к нему Polygon Reduction, расположив иерархию, как показано на рис. 2.302.

На рис. 2.303 приведено окно менеджера атрибутов с перечнем свойств деформатора Polygon Reduction.

Reduction Strength - задает степень снижения исходного количества полигонов объекта. Выражается в процентах от несходного количества полигонов. Для Reduction Strength = 10% результат приведен на рис. 2.304. Слева объект представлен в полигональном виде, справа - после рендеринга.

Для Reduction Strength = 90% результат приведен на рис. 2.305.

Mesh Quality - задается количество проверок на разрывы и перекрытия полигональной сетки. Может принимать значения от 0 до 2000. Оптимальное значение 1000.

Co-Planar Optimization - при установке флажка задается специальный быстрый метод оптимизации областей, полигоны которых лежат на одной плоскости (компланарных областей).

Вопрос, вероятно, примитивный, но я не смог найти вразумительного для себя ответа на просторах интернета. Я буквально вчера начал изучать C4D, в связи с чем испытываю затруднения в работе с данным программным обеспечением. Заранее прошу прощения, если зря отнял Ваше время.

Одним из первых своих проектов я выбрал создание эффекта «вздутия». Нашёл англоязычный туториал, но в нём автор применяет данный эффект для текста, что был создан внутри программы C4D, а я же использовал файл, созданный в AI. После открытия этого файла в C4D я применил «Extrude» для создания 3D формы.

alt text

Ниже приведён пример того, что мне необходимо получить в итоге.

alt text

Этот результат я получил после того, как импортировал AI файл, добавил его в «Extrude» и увеличил количество «Subdivison» до 25

alt text

Ниже приведён пример лучшего результата, что мне удалось получить

В случае, если кому-либо понадобится туториал, что я пытаюсь повторить, то вот ссылка

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

С уважением,
KLV

Добрый день, @KLV. И добро пожаловать на форум!
Не стоит извиняться — вы пришли по адресу. Форум как раз для этого и создан и нам хорошо известно, как, иногда, важно задать вопрос живому человеку.

Чтобы достичь более-менее равномерной полигональной сетки со всех сторон выдавленной формы нужно совершить несколько действий.

  1. Сначала, собсвтенно, то о чём заголовок темы: чтобы добавить точек на сплайн в панели атрибутов (при выделенном сплайне) для Intermediate Points задайте значение Uniform. Значение Number скорее всего нужно будет увеличить — смотрите по ситуации.

spline-add-points.jpg

  1. Для объекта Extrude во вкладке Object увеличьте Subdivision до нужного значения. В идеале, побокам фигуры у вас должны быть полигоны квадратной формы или близкой к ней. Такая топология лучше подходит для деформаций.

extrude-subdivision.jpg

  1. Чтобы сделать квадратные полигоны на торцах, нужно у объекта Extrude во вкладке Caps (в самом низу) задать для Caps Type значение Regular Grid. Убедитесь что под Caps Type стоит галочка Quad Dominant (убирает триангуляцию). В конце, с помощью значения Size нужно подобрать такой размер полигонов, чтобы их размер был примерно таким же как на боках объекта. Опять же — для хорошей топологии.

@Aleksei спасибо большое за развёрнутый и полезный ответ!

Очень приятно знать, что на форуме есть люди, что готовы помочь.

Мной были применены Ваши советы на практике, но, вероятно, я допустил ошибку. Если не сложно, то поправьте, пожалуйста, хотелось бы уточнить несколько моментов на будущее

Первая попытка:

У логотипа, что я хочу анимировать, есть несколько вариантов дизайна. Первый,- буквы, обведённые рамкой. Второй,- прямоугольник, где буквы вырезаны внутри. При проведении первой попытки я использовал первый вариант, как и на скриншотах, что я использовал при написании своего вопроса выше. Я не стал идти дальше первого пункта Вашей инструкции. Решил остановиться, так как количество полигонов на наружной рамке было значительно ниже, чем на буквах, а также острые углы рамки были сточены. Увеличивать количество полигонов мне показалось неверным решением и я решил попробовать для реализация второй вариант дизайна, где рамка цельная.

alt text

alt text

alt text

Вторая попытка:

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

alt text

alt text

alt text

Возможно ли что-либо сделать с этим?

Ещё раз спасибо большое за Ваше время и терпение!

@KLV да, решение простое. К сожалению, сразу об это не сказал, так как не видел контекста и всей формы сплайна.

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

Разное расстояние между точками на сплайне получилось потому что Uniform в Intermediate Points разбивает прямую между двумя ближайшими точками на указанное кол-во отрезков. То есть если расстояние между точками разное, то и новообразованные отрезки будут разными. Поменяйте Uniform на Subdivided. Тогда новые отрезки сплайна будут одинаковой длины глобально:

799281e7-12e0-4065-8851-abf585c3214f-image.jpg

Оффтопик:
То как вы далаете топологию объекта (и как показано в туториале) — это хорошее решение для быстрого результата. Если сейчас вы хотите просто изучить возможности программы, то это хорошее начало. Но если вам нужно более высокое качество модели или если у вас сложная форма с деталями разной величины, то я бы посоветовал не пользоваться генераторами типа Extrude, а использовать полигональное моделирование с нуля. Тем более, что на практике владельцы бизнеса очень трепетно относятся к внешнему виду своих логотипов.

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

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

Спасибо большое за Ваши советы, они правда очень помогли поднять навыки работы с C4D! Я их запомнил и уже неоднократно применил.

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

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

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