Home Backward Forward Comment Blog
Under construct

Объединение и разделение полигональных сеток

Объединение полигональных сеток

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

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

Чтобы объединить две или более полигональных сетки в одну

1. Выделите сетки, которые Вы хотите объединить в один объект.

2. В меню Mesh выберите пункт Combine.

Сетки объединятся как раздельные полигональные оболочки нового узла полигональной сетки.


Предупреждение

* Объединение сеток может создать нарушенную топологию объекта, поскольку нормали соседних граней могут указывать в разные стороны. Чтобы избежать этого, воспользуйтесь пунктом Conform меню Normals. Это действие развернет все нормали объединенной сетки в одну и ту же сторону.


Объединение полигональных сеток с помощью Булевых операций

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

Maya позволяет выполнять три Булевских операции:

  • Union - объединение объемов двух выбранных сеток.
  • Difference - вырезание объема второй сетки из сетки, выбранной первой.
  • Intersection - пересечение объемов двух сеток.

Булевские операции часто используются для подрезания объекта.

Булевские операции генерируют новый узел формы. Если Вы сохраняете историю создания, то исходные сетки могут быть выделены с помощью окон Channel Box, Hypergraph или Outliner и отредактированы. При этом новая сетка будет соответствующим образом изменяться. Вы можете даже изменить Булевскую операцию, выполненную над исходными сетками.

Чтобы объединить две сетки с помощью Булевской операции

1. Выделите сетки.

Для операции Difference второй выбирайте сетку, которую хотите вырезать из первой.

2. Выберите одну из булевских операций из подменю Booleans меню Mesh.

Грани исходных объектов объединяются и обе исходных сетки действуют как один объект.

Вы можете выбрать исходные объекты с помощью окон Outliner, Hypergraph, Attribute Editor или Channel Box. Если история создания была включена, то при изменении исходных объектов результат Булевской операции будет изменяться автоматически.

Например, Вы можете вырезать сферу из куба с помощью операции Difference, а затем, анимировав сферу, получить интересный эффект:

Затруднения при выполнении Булевских операций над полигональными объектами

Булевские операции работают не так, как ожидалось

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

  • Область пересечения не должна включать граничных ребер. Отобразить граничные ребра Вы можете, выбрав в меню Display пункт Polygons и далее Border Edges.
  • Избегайте сеток с нарушенной топологией. Ребра не должны быть общими более чем для двух граней.
  • Нормали сеток должны указывать наружу их объема. Вы можете отобразить нормали, выбрав в меню Display пункт Polygons  и далее Face Normals. Обратить нормали можно с помощью пункта Reverse меню Normals.
  • Перед применением Булевских операций, закройте все открытые исходные объекты (например, в меню Mesh выберите пункт Fill Hole), а затем воспользуйтесь средством Merge (меню Edit Mesh, пункт Merge) с достаточно малым значением Threshold, чтобы объединить близко лежащие вершины.
  • Убедитесь, что исходные сетки не имеют граней с нулевой или очень малой площадью и ребер нулевой длины. Булевские операции не работают с такими сетками. Увеличьте эти компоненты или удалите их.

Например, чтобы выделить грани с нулевой площадью:

- Выделите сетку и перейдите в режим выделения граней.

- В меню Select выберите пункт Select Using Constraints.

- Установите опцию Constrain в значение All and Next

- Откройте секции Geometry и Area.

- Включите флажок Activate и установите значения Min равным 0, а Max равным 0.0001.

- Теперь можно увеличить нужные грани или удалить их.

Если Вы хотите удалить нулевые грани и ребра за один раз, воспользуйтесь пунктом Cleanup меню Mesh, чтобы привести сетку к виду пригодному для использования Булевских операций.

Программе не хватает памяти при выполнении Булевских операций

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

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

Редактирование исходных объектов после выполнения Булевских операций
Исходные объекты, которые объединяются с помощью Булевских операций Union, Subtraction или Intersection остаются в сцене, но делаются невидимыми. Вы можете их выделить, редактировать и сделать видимыми снова.

Чтобы выделить исходные объекты

Если Вы хотите трансформировать исходные объекты после Булевской операции, то можете получить доступ к истории объекта через окна Hypergraph, Outliner, Channel Box или Attribute Editor. При этом можно использовать стандартные манипуляторы трансформации или напрямую вводить значения атрибутов в поля ввода.

1. После выполнения Булевской операции в меню Window выберите пункт Hypergraph, чтобы открыть окно Hypergraph.

Результат Булевской операции представляет собой одиночный узелe.

2. В окне Hypergraph выделите входные объекты, которые хотите трансформировать.

3. В видовом окне объект изменит цвет, показывая, что Вы работаете с узлом его истории.

Чтобы сделать исходный объект видимым

1. Чтобы отобразить один из объектов, над которыми Вы выполнили Булевскую операцию, выделите его узел трансформации в окне Hypergraph.

2. Включите опцию Visibility в окне Attribute Editor.

3. Выделив узел трансформации, откройте секцию Display и установите флажок Visibility.

Теперь Вы можете видеть исходный объект и редактировать его. Результат Булевской операции будет изменяться соответственно изменениям исходного объекта.

Разделение полигональных оболочек в разные сетки

Средство Separate позволяет сделать каждую полигональную оболочку сетки самостоятельной сеткой.

Чтобы разделить оболочки на самостоятельные сетки

1. Выделите полигональный объект и в меню Mesh выберите пункт Separate.

Оболочки разделятся и станут отдельными сетками.

Вырезание граней из сетки

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

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

Чтобы вырезать грани из сетки

1. Выделите грани, которые хотите вырезать, и в меню Mesh выберите значок настройки () пункта Extract.

2. Если Вы хотите, чтобы вырезанные рани стали отдельной сеткой, включите опцию Separate extracted faces. Выключенная опция Separate extracted faces сделает вырезанные грани частью исходной сетки.

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

3. Нажмите кнопку Extract.

После создания новых узлов, программа перейдет в режим Show Manipulator.

4. Выполните одно из следующих действий:

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

  • Используйте окна Attribute Editor или Channel Box для редактирования атрибутов.

Сохранение вырезаемых граней вместе

Опция Keep Faces Together (меню Edit Mesh, пункт Keep Faces Together) управляет тем, как средство Extract обрабатывает ребра соседних граней. Когда Keep Faces Together включена, грани расширяются так, чтобы их ребра оставались соединенными. Когда Keep Faces Together выключена, грани разъединяются.


Предупреждение

Когда опция Keep Faces Together отключена, а Separate extracted faces включена, каждая грань становится отдельной сеткой.


Hosted by uCoz