Создание полигона между гранями.
Привет!
Не получается создать полигон между гранями. В 3DS MAX я делал это кнопкой Bridge. В Maya на сколько я понял эта кнопка делает тоже самое. Однако работает не всегда Оо
Я нарисовал PolyPlane и экстурдировал несколько фейсов. Далее решил заделать появившиеся дыры, а Bridge отказался это делать. Если я создаю простой куб и удаляю один фейс, то Bridge легко создаёт на его месте новый, а вот в случае с модифицированным плейном почему-то пасует. Скриншот и файл сцены прилагаются. Подскажите, в чём может быть дело.
Не смейтесь над моделью, она сделана что бы попробовать инструменты Maya =)
П.С.
Maya 2011 64bit
Обзор полигонов
Полигоны – один из типов геометрии, которые используются для создания трехмерных моделей в Autodesk® Maya®. Кроме этого, в Maya имеются еще два вида поверхностей — NURBS и иерархические (subdivision).
Полигоны используются для создания многих типов 3D моделей и широко используются для разработки трехмерных объектов в фильмах, видеоиграх и интернете.
Терминология полигонов
Полигоны представляют собой фигуры с прямыми сторонами (3 или более сторон), определенными посредством точек трехмерного пространства (вершин (vertice)) и соединяющих эти точки линий (ребер (edge)). Внутренняя область полигона называется гранью (face). Вершины ребра и грани являются базовыми компонентами полигонов. Вы можете выделять и модифицировать полигоны, используя базовые компоненты.
При создании полигональных моделей чаще всего используются трехсторонние (треугольники) или четырехсторонние (четырехугольники) полигоны. Maya также поддерживает полигоны с большим количеством сторон, но они используются значительно реже.
Отдельный полигон также называют гранью (face) и определяют как область, ограниченную тремя или более вершинами, и соответствующими им ребрами. Если многие грани соединены между собой, то такой объект называется полигональной сеткой (polygon mesh) или полигональным объектом (polygonal object). Полигональная сетка может создаваться разными способами. Подробнее о способах создания полигональных объектов см. ниже.
Обычно в полигональной сетке вершины и ребра совместно используются разными гранями. В этом случае их называют общими вершинами (shared vertices) или общими гранями (shared edges).
Полигональные сетки могут состоять из не связанных между собой частей, которые называются оболочками (shell). Внешние ребра сетки называются граничными ребрами (border edges).
Наложение текстуры на полигональную модель
На полигональные модели с помощью UV-координат может быть наложена текстура. Подробнее см. отдельное руководство по работе с текстурными координатами.
Обзор полигонального моделирования
Существуют разные техники по созданию полигональных моделей в Maya:
- Примитивы – это трехмерные геометрические формы, которые Вы можете создать в Maya. В число примитивов входят, например, сфера, куб, цилиндр, конус, плоскость и многие другие. Вы можете изменить базовые атрибуты примитива, чтобы сделать его более сложным. Можно также разрезать, экструдировать, сливать или удалять разные компоненты примитива, чтобы изменить его форму. Многие 3D художники используют примитивы в качестве начальной точки для создания моделей. Такая техника называется моделированием из примитива.
- Отдельные полигоны могут быть созданы с помощью средства Create Polygon Tool. Этот инструмент позволяет размещать в сцене вершины, определяющие форму полигональной грани. Вы можете также разрезать или экструдировать полигональную грань, чтобы добавить новые грани к уже созданной. Такая техника обычно используется, если Вам нужно наиболее точно построить модель по заданному контуру. Например, Вы можете описанный прием, если Вам нужно построить сложный 3D логотип, используя импортированное 2D изображение как референс.
- Полигоны могут также создаваться превращением из имеющихся NURBS или иерархических (subdivision) поверхностей, используя меню Modify.
Нормали полигонов
Нормаль — это воображаемая линия, перпендикулярная поверхности полигона. В Maya нормали используются для определения ориентации грани полигональной грани (нормали граней), или для расчета закраски граней (нормали вершин).
Нормали граней
Передняя сторона грани полигона грфически представляется с помощью перпендикулярного к ней вектора, называемого нормалью грани.
Порядок перечисления вершин, окружающих грань, определяют ее направление (в какую сторону грань обращена лицом, а в какую — изнанкой). Этот факт может оказаться важным, так как полигоны видны только со своей лицевой стороны, хотя Maya по умолчанию делает все полигоны видными с обеих сторон. Вы можете отключить эту возможность для любой полигональной сетки.
При закраске или рендеринге полигонов нормали определяют отражение света от граней, а значит и цвет полигональной модели.
Нормали вершин
Нормали вершин определяют сглаживание закраски между гранями полигона, в отличие от нормалей грани, которые задают видимость или невидимость полигона.
Нормали вершин изображаются линиями, начинающимися в вершине, по одной на каждую грань, которая использует эту вершину.
- Если все нормали одной вершины имеют строго одно и то же направление (в этом случае они называются общими или мягкими нормалями), то цветовой переход от грани к грани будет плавным.
- Если нормали вершин указывают в одном и том же направлении для каждой грани (в этом случае они называются жесткими нормалями), переход цвета между гранями будет резким, создавая эффект граненой поверхности.
Продвинутые пользователи могут вручную манипулировать нормалями вершин, чтобы создать видимость жестких граней (складок) и теней без использования дополнительной геометрии. Для этой операции используется пункт Vertex Normal Edit Tool меню Normals. Если нормаль отредактирована вручную, она замораживается. Если Вы разморозите ранее отредактированную нормаль, то Maya автоматически пересчитает ее направление и вернет в положение, принятое по умолчанию.
Создание полигонов
Вы можете создать предопределенные 3D геометрические формы, называемые в Maya примитивами. Примитивы могут использоваться как есть или служить отправной точкой для 3D моделирования.
Например, Вы можете создать сферический примитив и изменить его масштаб с тем, чтобы сделать его эллипсоидом. Можно отрезать половину сферы, чтобы сделать купол. Можно использовать также Булевские операции (Boolean), чтобы получить новые формы с помощью пересечения примитивов.
Есть три пути создания полигональных примитивов:
- Создание полигональных примитивов с использованием меню Create
- Создание полигональных примитивов с использованием полки (Shelf)
- Интерактивное создание примитивов
Создание полигональных примитивов с использованием меню Create
Чтобы создать полигональный примитив, используя меню Create
1. В меню Create выберите пункт Polygon Primitives и далее значок настройки нужного Вам примитива. Например, Sphere > , Cube > , Cone > и т.д.
На экране появится окно настроек выбранного примитива.
2. В окне настроек примитива задайте его атрибуты.
Вы можете задать атрибуты, определяющие размер и масштаб, порядок разбиения примитива и т.д. Можно указать, создаются ли текстурные UV координаты для примитива. Подробнее о создании примитивов см. ниже.
Предупреждение
Вы можете корректировать атрибуты примитива и после его создания, используя окна Channel Box или Attribute Editor.
3. Нажмите кнопку Create.
Примитив появится в начале координат видового окна.
Создание полигонального примитива с использованием полки (Shelf)
Вы можете создать полигональный примитив, используя полку, на которой расположены интуитивно понятные иконки для создания примитивов. Можно задать собственные свойства примитива и сохранить эту версию задания примитива на полку. Подробнее создание собственных кнопок на полке описано в отдельном руководстве.
Чтобы создать полигональный примитив с использованием полки
1. Выберите на полке закладку Polygons.
2. Нажмите кнопку с изображением нужного Вам примитива.
Примитив появится в начале координат видового окна.
Интерактивное создание полигонов
Используя мышь, Вы можете создавать, позиционировать и масштабировать примитивы без использования манипулятора трансформации. В меню Create выберите пункт Polygon Primitives и далее Interactive Creation. Эта возможность доступна по умолчанию, но может быть отключена. Если Вы хотите интерактивно создать множество примитивов, снимите флажок в меню Create, пункт Polygon Primitives и далее Exit on Completion.
Кроме того, Вы можете создать примитив за один щелчок мыши.
Можно создать примитив одним щелчком или с помощью перемещения мыши, заранее задав его параметры. Для этого используется окно настроек Polygon Tool (Меню Create, пункт Polygon Primitives и далее значок настройки () нужного типа примитива).
Чтобы интерактивно создать полигональный примитив с помощью мыши
1. В меню Create выберите пункт Polygon Primitives и установите флажок Interactive Creation если он отключен.
2. В меню Create > Polygon Primitives выберите нужный тип примитива или нажмите соответствующую кнопку на полке.
Если Вы хотите изменить настройки создания примитива, такие как Divisions или Texture Mapping, в меню Create выберите пункт Polygon Primitive и далее значок настройки () нужного типа примитива.
3. В видовом окне выполните одно из следующих действий:
- Переместите мышь с нажатой левой кнопкой (для примитивов Sphere (сфера), Plane (Плоскость), Torus (Тор), Pyramid (Пирамида), Soccer Ball (Футбольный мяч), Platonic Solids (Правильный многогранник)).
- Переместите мышь с нажатой левой кнопкой, создав 2D основу примитива. Затем таким же движением создайте сам примитив (Cube (Куб), Cylinder (Цилиндр), Cone (Конус), Prism (Призма), Pipe (Труба), Helix (Спираль))
Совет
Чтобы задать ось для Вашего примитива при интерактивном создании, используйте ортогональные видовые окна. В зависимости от того, в каком окне создается примитив — top (сверху), front (спереди) или side (сбоку), задается ось примитива (y, z или x).
Удерживая клавиши Shift и Ctrl во время создания примитива, можно получить следующие эффекты:
Нажатая клавиша
Чтобы создать примитив одним щелчком, используя заданные свойства
1. В меню Create выберите пункт Polygon Primitives и включите флажок Interactive Creation, если он не включен.
Если Вы хотите изменить свойства создаваемого примитива, такие как Divisions или Texture Mapping, в меню Create выберите пункт Polygon Primitive и далее значок настройки () нужного типа примитива.
2. Нажмите левую клавишу мышки в видовом окне.
Чтобы создать много полигональных примитивов интерактивно или за один щелчок
В меню Create выберите пункт Polygon Primitives и включите флажок Exit on Completion.
Другие возможности
Во время интерактивного создания примитивов Вы можете привязывать их к существующим объектам сцены. Для этого есть следующие возможности (нажмите соответствующую кнопку на панели Status Line или горячую клавишу). Привязка возможна к:
- сетке
- кривым
- CV, вершине или опорной точке
- живому объекту
Эти привязки помогут Вам во время создания привязать центр его создания к линии или плоскости, определенной другим объектом сцены.
Совет
Вы можете использовать ортографические окна, чтобы привязать объекты к линиям сетки. Например, Вы можете создать базу куба в окне perspective, а затем перейти в ортографическое окно front или side, чтобы точно установить высоту куба.
Создание полигональной сетки
Чтобы создать новый полигон
1. В меню Mesh выберите пункт Create Polygon Tool.
2. Нажмите левую кнопку мыши в точке расположения первой вершины.
Maya помещает вершину на земной поверхности, если не включена привязка к какой-нибудь геометрии.
3. Нажмите левую кнопку мыши в точке расположения следующей вершины. Maya создаст ребро между первой и второй вершинами.
4. Расположите следующую вершину. Штриховое ребро соединит три вершины.
5. Выполните одно из следующих действий:
- * Нажмите клавишу , чтобы завершить полигон.
- * Нажмите клавишу , чтобы удалить последнюю вершину.
- * Нажмите клавишу y, чтобы начать новый полигон.
- * Продолжайте размещение вершин для создания четырех и более стороннего полигона.
- * Чтобы переключиться на редактирование вершин, нажмите клавишу Home или Insert. На предыдущей вершине появится манипулятор. Используйте манипулятор для перемещения вершин, нажимайте клавишу Delete для удаления сегмента, или левую кнопку мышки на другой вершине, чтобы перейти к ее редактированию. Чтобы выйти из режима редактирования, снова нажмите клавишу Home или Insert.
Добавление полигонов к существующей сетке
Вы можете добавлять полигоны к существующим сеткам, используя средство Append to Polygon Tool. Append to Polygon Tool создает новый полигон, используя ребро, как начальную точку.
Чтобы добавить полигон к существующей сетке
1. Выделите сетку, к которой хотите добавить полигон.
2. В меню Edit Mesh выберите пункт Append to Polygon Tool.
Граничные ребра выделятся и станут толще.
3. Нажмите граничное ребро, к которому хотите добавить грань.
Выбранное ребро выделится как первое ребро новой грани. Стрелки покажут направление ребер.
4. Нажимайте левую кнопку мыши на вершинах нового полигона. Можно так же выбирать ребра, которые будут использоваться новым полигоном.
Новая вершина появится с линией, соединяющей ее с выбранным ребром.
5. Выполните одно из следующих действий:
- Продолжайте размещение вершин и выбор ребер.
- Чтобы удалить последнюю вершину, нажмите клавишу .
- Чтобы переключиться на редактирование вершин нажмите клавишу Home или Insert. На предыдущей вершине появится манипулятор. Используйте манипулятор для перемещения вершин, нажимайте клавишу Delete для удаления сегмента, или левую клавишу мышки на другой вершине, чтобы перейти к ее редактированию. Чтобы выйти из режима редактирования, снова нажмите клавишу Home или Insert.
- Нажмите клавишу , чтобы завершить создание полигона.
- Нажмите клавишу y, чтобы начать создание нового полигона.
Предупреждение
Append to Polygon Tool не позволяет добавлять грани к неграничным ребрам.
Если такая необходимость возникла, используйте пункт Extrude меню Edit Mesh, а затем модифицируйте созданную грань.
Преобразование NURBS к полигонам
Как вы видели, моделирование NURBS является отличным способом создавать кривые в объектах, но очень часто вам будет необходимо применять операции, относящиеся к полигональным поверхностям. Одно из преимуществ Мауа — в том, что можно смоделировать объект в NURBS и затем преобразовать в полигоны. Это дает возможность использовать все инструменты NURBS, а затем получить полигональный объект. Давайте рассмотрим различные способы преобразования NURBS в полигоны. Я выбираю этот корпус ракеты, и мы попробуем сделать некоторые преобразования с ним.
Если перейти в Modify, у нас появится меню Convert. Я отсоединю его, чтобы было проще работать. Здесь у нас есть NURBS to Polygons, и многие другие преобразования: NURBS к Subdiv, polys к subdiv, NURBS Curve к Bezier, и т.д., мы можем преобразовать к большому количеству различных типов. Я сейчас расскажу о преобразовании NURBS к полигонам. У меня стоит по умолчанию Standart fit, но существует еще четыре опции.
У нас есть Standart, General, Count, Control Points. Каждый работает по-своему. Мы можем также выбрать Attach multiple output meshes, что позволит нам выбрать несколько объектов и просто на выходе получить их как один. Мы можем также изменить тип геометрии от Треугольников до Квадратов. Давайте пройдем через некоторые из этих опций и просто посмотрим, как они работают. Я собираюсь переходить к самой простой опции, которая называется Control Points.
Если мы посмотрим на вершины управления этого объекта, то мы увидим, что эта опция просто может создать одну полигональную вершину для каждой вершины управления на объекте. Я выбираю свой объект, делаю Control Points, нажму Tessellate, и у меня есть полигональный объект с вершинами, соответствующими вершинам управления другого объекта. Если я выберу все это, то мы увидим, что у меня есть одна вершина здесь на каждую вершину управления здесь.
И эти вершины образуют четырехугольники. Теперь, если я нажму клавишу три и попробую сгладить эту поверхность, она станет достаточно близкой к тому, что у меня было в исходном объекте NURBS, но если мы хотим, мы можем сделать более сложное преобразование. Я вернусь в режим Object, выберу мой объект. Давайте вернемся в Настройки преобразования. Я могу указать, сколько полигонов я хочу.
Это нужно указать здесь, в Count. Я могу создать столько полигонов, сколько хочу. Давайте сделаем, скажем, 60 полигонов и нажмем Tessellate. У нас появилась немного другая поверхность, и если бы мы посчитали число полигонов здесь, у нас получилось бы ровно 60 штук. Это отличный способ получить вашу геометрию ровно в такой детализации, которая может быть необходима, например, для игрового объекта. Другой способ преобразования состоит в том, чтобы использовать то, что называется General tessellation method.
Это добавит нам больше деталей, чем у нас есть на поверхности NURBS, но также это дает вам окончательный контроль над тем, как именно формируется поверхность из полигонов. У нас есть Initial Tessellation Control — первичное управление, и различные виды средств управления. Мы можем выбрать Per surface # of isoparams in 3D или Per surface # of isoparams in 2D. Я обычно использую оба. Это число отвечает за уровень детализации, и у меня может быть, например, больше деталей в направлении U, а в направлении V — меньше.
Итак, мы хотим преобразовать все эти патчи в полигоны. Давайте сделаем шесть в U, и шесть в V. У нас есть также Secondary Tessellation Control, Вторичное управление, здесь мы можем добавить больше многоугольников там, где поверхность будет иметь больше искривления. Я не собираюсь использовать это, просто нажму Tesselate, и как вы видите, у нас стало намного больше деталей.
Это дает мне большую детализацию, это может быть полезно или нет, но у нас есть полный контроль над этим. Я выберу эту поверхность еще раз. Давайте рассмотрим последнюю опцию Standart Fit. Она добавляет детали при необходимости для повторения искривления исходной поверхности. Она пытается сделать полигональную версию максимально легкой при соответствующем искривлении поверхности. Как правило, я оставляю все в значениях по умолчанию и просто нажимаю Tessellate.
Мы опять получили что-то отличающееся от предыдущего. Если мы посмотрим на нижнюю часть, то увидим, что сюда добавились некоторые детали, и возможно, немного больше деталей стало сверху. Каждый из этих методов имеет свои преимущества, и можно использовать такой, какой вы хотите. Кроме того, все эти опции доступны при создании поверхностей NURB способами, такими как Вращение или Лофт. Можно отобразить такие поверхности как полигональные, используя эти методы преобразования для создания поверхности, которую вы хотите.