C4d. № 13. Полигональное моделирование. I
- Все объекты состоят из полигонов
- Полигоны не имеют толщины
- Внутри модель остается полой
Полигон — многоугольник, который имеет поверхность
- Points — точки (места пересечения ребер)
- Edges — ребра (прямая линия, которая соединяет две точки)
Ребра всегда идут по периметру полигона — по его внешней границе
- Face — грани (по сути это и есть сам полигон, то есть его поверхность)
Типы полигонов
Triangle — треугольник. Самый простой тип полигона, потому что именно три точки нужно, чтобы создать плоскость. Три угла, три точки и три соединяющих их ребра
Quad(quadrangle) — четырехугольник. Самый распространенный тип полигонов в компьютерной графике. Может быть абсолютно неправильной формы, главное — это наличие четырех углов, четырех точек и четырех соединяющих их ребер
Ngon — многоугольник (n-угольник). Когда у полигона больше четырех точек, ребер и углов
Complex Ngon — сложный многоугольник
Манипуляции с точками, ребрами и гранями полигонов — это и есть полигональное моделирование
Режимы работы и нормали
C — перевести объект в полигональный режим
Cmd+E — Edit->Preferences
Scheme Colors->Edit Colors— здесь можно поменять цвета отображения точек, граней и полигонов. Кнопка Reset — вернет значение по умолчанию
Нормаль — это вектор, который определяет направление лицевой стороны полигона
Влияют на действия различных инструментов моделинга, а также могут вызывать ошибки на рендере при освещении и др.
На картинке выше есть ошибки шейдинга — то есть освещения модели, там где полигоны с неправильными нормалями
U+R — Reverse Normals. Выворачивает нормали наизнанку. Так можно развернуть неправильные нормали и, например, избежать ошибок шейдинга
Cmd+A — выделяет все. Если выбран, режим работы с полигонами модели — выделит все полигоны
U+A — Align Normals. Выравнивает нормали, в том направлении, в котором большинство выделенных
В большинстве случаев, работа с моделью начинается с работы с примитивами, генераторами и деформерами. Собирается некая общая форма. Затем уже переходим к редактированию полигонов
Current State to Object — создает копию нашего объекта, сохраняя его состояние (то есть учитывая примененные на него деформеры, генераторы и т.п.)
Connect Objects — создает копию выделенных объектов и объединяет их в одну цельную геометрию
Connect Objects and Delete — создает копию выделенных объектов и объединяет их в одну цельную геометрию, удаляя исходную геометрию
Базовые инструменты выделения
Инструменты работы в полигональном моделирование разделяются на две группы:
- Инструменты выделения геометрии
- Инструменты манипуляции с геометрией (или создание новой геометрии)
Чтобы что-то сделать с ребрами, точками и полигонами модели, их нужно сначала выделить
LmClick — выделение геометрии
Shift+LmClick — добавление геометрии к уже выделенной
Cmd+LmClick — исключение из выделения
Cmd+A — выделяет всю геометрию
Cmd+Shift+A — снимает все выделение
Если что-то выделено — щелчок в пустом месте тем же инструментом — снимает выделение
Базовые инструменты:
- Live Selection — 9*горячая клавиша
- Rectangle Selection — 8
- Lasso Selection — 0
- Polygon Selection
Live Selection — кисть, позволяет рисовать наше выделение. Если зажать Cmd, то автоматически убирает выделение
Radius — можно задать радиус кисти. Также радиус можно задать на лету. Во viewport зажимаем среднюю кнопку мыши и двигаем мышь в разные стороны. Еще вариант — когда мы уже зажали выделение, можно покрутить колесико мыши и уменьшить, либо увеличить радиус кисти
Only Select Visible Elements — позволяет выбирать нам только те элементы, которые мы видим в данный момент. Если эту галочку выключить, то мы будем выделять элементы насквозь
Tolerant Edge/Polygon Selection — выделяет сразу весь полигон или ребро. Если отключить будет выделять полигон или ребро только при покрытии выделением 75% их поверхности
Mode->Normal — рисование выделения кисточкой
Mode->Vertex Painting — позволяет рисовать вертекс карты (создавать силу выделения от 0 до 100%)
В режиме Absolute — все по чему проведем мышкой будет выделено на Strength %. Если выбран режим Add — будет добавлять Strength % к уже выделенному
В режиме выделения точек вертекс карта будет добавлять Vertex Map Tag
Вертекс карты часто используются для ограничения работы каких-либо других инструментов
Например, чтобы на данном Torus’е ограничить Displacer по нашей Vertex Map нужно применить к дисплейсеру Restriction Tag
И в Tag Properties рестрикшена закинуть нашу Vertex Map (прямо DragonDrop’ом перетащить Vertex Map Tag в первую графу Name)
Mode->Soft Selection — этот инструмент создает плавное выделение от непосредственно выделенных точек спадающее с расстоянием (теряет силу в связи с удалением по радиусу). Поэтому в настройках Soft Selection есть параметр Radius, в котором мы можем как раз задать это расстояние
На скриншоте выше хорошо видно отличие Soft Selection (слева) выделения от режима Normal (справа)
Включенная галочка Preview — визуализирует радиус (зону влияния нашего выделения)
Radius выделения на самом деле создает сферу с заданным нами радиусом. Если посмотреть не на плоский объект — это хорошо видно
Галочка Surface дает возможность отсчитывать радиус не по сфере, а вдоль поверхности
Галочка Rubber — резина. При включенной происходит выдавливание, как будто объект у нас из очень мягкой резины и мы выдавливаем его каким-либо другим объектом
При включенной галочке Restrict выделение происходит непосредственно вокруг выбранных полигонов, ребер или точек
Форма и распределение области выделения вокруг выбранных нами элементов определяется параметром Falloff
- Linear — базовый фаллоф (линейный). Сила выделения спадает линейно
- Dome — купол. Куполообразное распределение
- Bell — колокол
- Circle — круговое распределение
- Needle — иголка. Очень высокий и узкий центр, далее переход на плавное падение силы
- Также можно изменять через вертекс карты (Vertex Map) или сплайн (Spline)
Надо помнить, что любое из приведенных выше изменений, все равно будет вдоль радиуса — то есть любая форма в любом случае будет круговой
Режимы Mode:
- Group — для каждой группы полигонов находится геометрический центр и вокруг него уже происходит выделение. Здесь не учитывается форма самих полигонов, только их геометрический центр
- Center — находит единый геометрический центр для всех групп полигонов
- All — учитывает форму всех выделенных полигонов и уже вокруг них делает выделение по нашему фаллофу
- Rectangle Selection — выделяет элементы прямоугольной рамкой
- Lasso Selection — выделение произвольной формы
- Polygon Selection — рисуем многоугольник. Все, что попадет внутрь него будет выделено
Продвинутые инструменты выделения
Loop Selection —U+L
Выделяет последовательный контур из полигонов, ребер или точек
Если не хватает элементов, как на скриншоте слева — наш луп остановиться на границах геометрии
В режиме ребер одним кликом можно выбрать все ребра на границе геометрии
Stop at Selection — если галочка включена луп будет останавливаться по границам предыдущего выделения
Настройки Stop at Non-Quads и Stop at Poles работают только в режиме ребер и точек. Stop at Non-Quads — остановит выделение лупа, когда встречает не четырехугольный полигон. Stop at Poles — остановка произойдет, когда луп дойдет до полюса (точка у которой не четыре ребра)
Ring Selection — U+B
Выделяет лупы из ребер параллельных друг другу, то есть ребра перпендикулярные нашему лупу. А в режиме точек, он выделяет точки принадлежащие этим ребрам. В режиме полигонов же ведет себя точно также, как и Loop Selection
Outline Selection — U+Q
Выделяет ребра выбранных полигонов или ребра границ геометрии
Fill Selection — U+F
Выделяет все невыделенные полигоны. Если ничего не выделено, то выделит весь кусок геометрии. Если объект разделен по геометрии на несколько частей, выделяет именно полигоны части геометрии, а не всего объекта
Path Selection — U+M
Работает в режиме точек и ребер
Режимы работы:
- Free Path
Соединяет точки или ребра пытаясь использовать как меньше разных лупов (использует кратчайшее расстояние)
- Live Path
Позволяет буквально рисовать выделение, ведя вдоль ребер или точек
- Line Fitted Path
В чем-то похож на Free Path, также соединяет путь от начальных до конечных точек или ребер, но выделяет только то, что максимально близко к прямой линии соединяющей начальную и конечную точку. Эта линия подсвечивается для удобства
- Simple Edge Loop
В этом режиме Path Selection работает точно также, как и Loop Selection, причем он автоматически останавливается на полюсах, Ngon’ах и прочих не четырехугольных полигонах
Phong Break Selection — U+N
Синим подсвечивает те ребра, которые будут выбраны. Выбираются ребра, где у нас при заданных настройках Phong Tag или заданных настройках данного инструмента будет происходит Phong Break — не будет происходит сглаживание по Phong, где оно будет прерываться
Если отключить галочку в настройках Override Phong Tag, то будут использоваться настройки Phong Tag самой геометрии, а также атрибуты Phong Break ребер этой геометрии. Когда включена, то используются настройки самого инструмента (будто бы мы создали новый Phong Tag к данной геометрии)
Чаще всего по таким выделениям создаются фаски. Чтобы выделить все острые углы есть кнопка Select All. И мы можем сделать фаску, например через операцию Bevel (M+S)
В режиме полигонов инструмент Phong Break Selection работает немного иначе, здесь он выделяет полигоны в пределах Phong Break
В режиме же точек инструмент Phong Break Selection выделяет точки соответствующие ребрам, у которых Phong Break
Mirror Selection — U+V
Одним кликом выделяет симметричную часть модели
U+Shift-V — дает возможность открыть шестеренку настроек
Space — пространство координат, в котором будет происходить отзеркаливание. Могут быть координаты объекта или мировые координаты
Mirror Plane — плоскость, относительно которой будет происходить отзеркаливание
Tolerance — позволяет использовать этот инструмент на не совсем симметричных моделях. Cinema 4d отзеркаливает выделение, и смотрит есть ли в пределах Tolerance аналогичные точки или полигоны, и выделяет их, если они есть
Selection Mode — то как переноситься выделение с одной стороны модели на другую при отзеркаливание. Add — все что выделено на одной стороне, будет выделено на другой (все выделения плюсуются). Flip — выделяет противоположную сторону, первоначальное выделение снимается
Subtract — оставит только общее из выделенного с обеих сторон модели
Функция Select All — Cmd+A — выделяет все, Deselect All — Shift+Cmd+A — снимает выделения со всего
Функция Invert — инвертирует выделенную геометрию (то есть снимает выделение с выделенной геометрии объекта и перебрасывает его на остальную геометрию)
Эти команды позволяют наращивать или уменьшать выделение
Select Connected — U+W — выделяет все связанные с уже выделенным полигоны, точки или ребра до края геометрии. Ей всегда нужно исходное выделение
Grow Selection —U+Y (настройки — U+Shift-U) — наращивает выделение, Shrink Selection — U+K — работает в обратном направлении
Единственная настройка у Grow Selection — это Grow Using Edges Only — наращивает геометрию к выделенной, только в сторону тех полигонов, которые имеют общие ребра с уже выделенными. Если галочка отключена — будут выделяться полигоны, которые имеют общие точки с выделенными
От настройки Grow Selection будет зависеть и поведение Shrink Selection, она будет действовать точно также, но в обратную сторону
Эти четыре объекта не имеют прямого отношения к выделению и работают только во Viewport’е. Они помогают скрывать часть геометрии объекта из вьюпорта
Hide Selected — скрывает всю выделенную геометрию из вьюпорта
Hide Unselected — скрывает всю невыделенную геометрию из вьюпорта
Unhide All — проявляет всю скрытую геометрию
Invert Visibility — скрывает геометрию, которую видно и открывает, ту что скрыта
На рендере эти настройки не работают! Также если что-то скрыть в режиме полигонов, в другом режиме этого не проявить и наоборот
Convert Selection — U+X — можно конвертировать выделенную геометрию. Например, из точек в ребра или из полигонов в точки
Такого же эффекта можно добиться кликая на другой режим с зажатой клавишей Cmd. То есть, например, выделенные точки преобразуются в ребра — если мы нажмем Cmd+LmClick на режим ребер
Если выделенная геометрия разнесена (например, точки не образуют общих ребер) — то переход от одного выделения до другого не состоится. Cinema 4d просто не понимает, какую именно геометрию ей нужно выделить
Однако, как и в настройках Convert Selection есть галочка Tolerant, так и если мы кликнем на иконку перехода к иному режиму выделения с клавишей Shift — выделится вся геометрия, связанная с выделенной
Set Selection — этот инструмент сохраняет наше выделение в Selection Tag. Далее этот селекшн тег можно использовать для работы с данным выделением
По двойному клику на Selection Tag можно восстановить наше выделение (то, которое мы сохранили в этом теге)
Чтобы добавить другой Selection Tag в этом же режиме выделения на этот же объект, нужно сначала снять выделение с данного селекшн тега (так как он выделен, он в оранжевой окантовке). Жмем Cmd+LmClick и выделение снимается. Теперь мы можем добавить еще один Selection Tag в этом же режиме выделения, не заменяя предыдущий
У всех Selection Tag’ов есть поле Name (имя) — его желательно называть осмысленно, чтобы понимать к какому выделению относиться конкретный селекшн тег
Selection Tag’и часто применяются для назначение различных материалов различным частям геометрии объекта. Нужно просто в настройках материала примененного к объекту найти параметр Selection и перетащить туда нужный Selection Tag
Если создать применительно к объекту пустой Selection Tag и включить в настройках галочку Use Fields (позволяет нам использовать поля, чтобы создать выделение)
Далее в настройках внизу выбираем Random Field, что позволяет нам создать рандомное выделение некоторых полигонов на нашем объекте
Кажется ничего не изменилось, но если дважды кликнуть теперь на наш Selection Tag — мы увидим рандомное выделение полигонов на нашем объекте
Теперь на весь объект мы накинули красный материал, а в рандомное выделение Selection Tag’а мы накинули зеленый материал. Вот что получилось. Кстати, это можно анимировать
Достаточно всего лишь поменять настройки у Random Field, например — Sead. Будет меняться рандомное выделение, а в нашем случае и перекрашиваться полигоны модели
Еще некоторые фишки выделений:
- Двойной клик на объекте в режиме Move Tool — равносилен Fill Selection
- Через Cmd+Shift — можно использовать аналог Path Selection