Bmesh - новые возможности полигонального моделлинга
Как я упоминал в КГ №36, одним из экспериментальных проектов, разрабатываемых для Blender 2.5, является Bmesh. Это, по своей сути, новое ядро полигонального моделлинга, представляющее собой улучшенный подход к операциям редактирования полигональной сетки. Множество операций, доступных продвинутым редакторам геометрии коммерческих пакетов ранее, были либо принципиально недоступны в Блендере, либо опирались на такие "костыли", что пользоваться ими (операциями) было практически невозможно. К этому относится, например, отсутствие прямой поддержки полигонов с более чем четырьмя сторонами - и хотя наличие таких элементов в финальной геометрии совсем не приветствуется, но в процессе создания топологии возможность манипулирования различными многоугольниками освобождает 3D-моделлера от рутинного (и совсем необязательного в процессе творчества) "причесывания" сетки. Ниже я расскажу об уже доступной функциональности нового редактора геометрии на основе сборки Bmesh-SVN 23318 для Windows, взятой с сайта Graphicall.Org.
Самое первое, на что я обратил внимание, - это новый режим удаления элементов геометрии Dissolve. Как видно на иллюстрации, теперь можно удалить элемент, не разрушая образованной этим элементом геометрии.
Чем-то подобным ранее являлось удаление кольца ребер (Edge Loop), но Dissolve представляет собой гораздо более универсальный инструмент, позволяющий удалять из геометрии как ребра, так и вершины, и полигоны.
Интересные нововведения коснулись инструментов Subdivide, Spin и Screw - теперь параметры, с которыми применяются эти инструменты, можно менять после применения на панели Last Operator (вызывается клавишей Т во вьюпорте, вместе с Mesh Tools и Tools Shelf) и сразу же наблюдать за полученными изменениями на редактируемой геометрии.
Для инструмента Subdivide можно менять количество разрезов, случайность расположения новых вершин, сглаживание новой геометрии и разрешать или запрещать разбиение на треугольники смежных с выделением полигонов. Для Spin в меню Last Operator доступно регулирование количества сегментов, угла поворота и координат центра. Вращая шарик, можно менять направление оси вращения. Аналогично с оператором Screw.
Интересную возможность получил модификатор Subdivision Surface. Теперь низкополигональная сетка может быть сглажена вместе с геометрией более высокой детализации. Может быть довольно полезным при работе со сложным и насыщенным деталями объектом, когда необходимо видеть итоговую сетку при работе на уровне низкой детализации, но из-за насыщенности элементов 2 разные сетки воспринимаются трудно.
Ну а теперь о самом интересном - наконец-то нормально работают полигоны, образованные пятью и более вершинами! Это вы заметили по иллюстрациям ранее, но теперь несколько подробнее. Полигоны теперь могут быть образованы множеством вершин, иметь вогнутые углы - все это обрабатывается нормально. Даже сглаживание работает без проблем (конечно же, с разумной конфигурацией полигонов - можно и четырехугольниками наворотить сетку, которую применение Subdivision Surface жестоко искорежит).
Как видно из иллюстрации, старый вариант Subdivide дает множество треугольников на полигонах, соседних с обрабатываемыми, и при сглаживании в местах соединения множества треугольников можно видеть артефакты сглаживания нормалей, а алгоритмы Bmesh обрабатывают такую ситуацию корректно, без артефактов. Еще есть возможность закрепить (Pinning) определенные вершины, ребра или грани в пространстве (полностью либо по некоторым осям) для исключения нежелательного их перемещения. Может быть полезным в ситуации, когда редактируется объект, плотно прилегающий к другому объекту, скрытому на неотображаемом слое.
На этом пока все - еще множество инструментов (Edge slide, Bevel…) отсутствуют, некоторые (Loop Cut) - недоработаны. Множество комбинаций клавиш, существенно ускоряющих работу (переключение режимов выделения, например), не работают. Однако вывод можно сделать уже сейчас - Bmesh для полигонального моделлинга в Блендере является очень значительным шагом вперед и без сомнения упростит и ускорит работу с геометрией, что привлечет к Блендеру немало новых пользователей. На этом о новшествах в Blender 2.5 пока все – в следующем материале будет рассказ о некоторых интересных приемах работы с Blender 2.49.
Табакеров Дмитрий (Az), azazeo.ainamart@gmail.com
Самое первое, на что я обратил внимание, - это новый режим удаления элементов геометрии Dissolve. Как видно на иллюстрации, теперь можно удалить элемент, не разрушая образованной этим элементом геометрии.
Чем-то подобным ранее являлось удаление кольца ребер (Edge Loop), но Dissolve представляет собой гораздо более универсальный инструмент, позволяющий удалять из геометрии как ребра, так и вершины, и полигоны.
Интересные нововведения коснулись инструментов Subdivide, Spin и Screw - теперь параметры, с которыми применяются эти инструменты, можно менять после применения на панели Last Operator (вызывается клавишей Т во вьюпорте, вместе с Mesh Tools и Tools Shelf) и сразу же наблюдать за полученными изменениями на редактируемой геометрии.
Для инструмента Subdivide можно менять количество разрезов, случайность расположения новых вершин, сглаживание новой геометрии и разрешать или запрещать разбиение на треугольники смежных с выделением полигонов. Для Spin в меню Last Operator доступно регулирование количества сегментов, угла поворота и координат центра. Вращая шарик, можно менять направление оси вращения. Аналогично с оператором Screw.
Интересную возможность получил модификатор Subdivision Surface. Теперь низкополигональная сетка может быть сглажена вместе с геометрией более высокой детализации. Может быть довольно полезным при работе со сложным и насыщенным деталями объектом, когда необходимо видеть итоговую сетку при работе на уровне низкой детализации, но из-за насыщенности элементов 2 разные сетки воспринимаются трудно.
Ну а теперь о самом интересном - наконец-то нормально работают полигоны, образованные пятью и более вершинами! Это вы заметили по иллюстрациям ранее, но теперь несколько подробнее. Полигоны теперь могут быть образованы множеством вершин, иметь вогнутые углы - все это обрабатывается нормально. Даже сглаживание работает без проблем (конечно же, с разумной конфигурацией полигонов - можно и четырехугольниками наворотить сетку, которую применение Subdivision Surface жестоко искорежит).
Как видно из иллюстрации, старый вариант Subdivide дает множество треугольников на полигонах, соседних с обрабатываемыми, и при сглаживании в местах соединения множества треугольников можно видеть артефакты сглаживания нормалей, а алгоритмы Bmesh обрабатывают такую ситуацию корректно, без артефактов. Еще есть возможность закрепить (Pinning) определенные вершины, ребра или грани в пространстве (полностью либо по некоторым осям) для исключения нежелательного их перемещения. Может быть полезным в ситуации, когда редактируется объект, плотно прилегающий к другому объекту, скрытому на неотображаемом слое.
На этом пока все - еще множество инструментов (Edge slide, Bevel…) отсутствуют, некоторые (Loop Cut) - недоработаны. Множество комбинаций клавиш, существенно ускоряющих работу (переключение режимов выделения, например), не работают. Однако вывод можно сделать уже сейчас - Bmesh для полигонального моделлинга в Блендере является очень значительным шагом вперед и без сомнения упростит и ускорит работу с геометрией, что привлечет к Блендеру немало новых пользователей. На этом о новшествах в Blender 2.5 пока все – в следующем материале будет рассказ о некоторых интересных приемах работы с Blender 2.49.
Табакеров Дмитрий (Az), azazeo.ainamart@gmail.com
Компьютерная газета. Статья была опубликована в номере 38 за 2009 год в рубрике soft