пятница, 25 сентября 2009 г.

Bmesh - новые возможности полигонального моделлинга

Как я упоминал в предыдущем материале, одним из экспериментальных проектов, разрабатываемых для 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 пока всё. Ждём апдейтов.

вторник, 22 сентября 2009 г.

Blender 2.5 - первый взгляд

Всего несколько недель назад остановилась разработка проекта, завоевавшего интерес и любовь многих людей, занимающихся трёхмерной графикой, анимацией, компоузингом. Blender 2.4x развивался очень динамично, на глазах обрастал новыми возможностями, впитывал лучшие разработки мира OpenSource, с использованием Blender 2.4x был создан Big Buck Bunny - короткометражный CG-мультфильм и игра Yo Frankie. Бесплатность, широкое комьюнити и богатые возможности двигали Blender 2.4x вперёд. Последним в его истории стала версия 2.49b - отшлифованная, доведённая до ума.
Однако, рано или поздно, так должно было произойти - груз старого движка, многочисленные "костыли" в коде начали давать о себе знать, не позволяя в полной мере развернуться создателям скриптов, тормозили введение принципиально новых фич, интерфейс - интересный и самобытный - всё-таки имел кое-какие принципиальные недоработки с точки зрения эргономики и психофизиологии.
И когда критическая масса была достигнута - началась разработка Blender 2.5. Первое время лишь слухи блуждали от форума к форуму, затем появилась первая информация (например - документация проекта нового интерфейса), появлялись совсем сырые билды, не позволявшие толком даже меш отредактировать. Но вот 12 сентября код версии 2.5 переведён в основной SVN, женедельно появляются свежие новости от разработчиков - проект стремительно набирает обороты.В этой статье я расскажу у новом интерфейсе Блендера и паре новых фич.Пусть он ещё сырой, но довольно многое в нём уже (почти) готово и пригодно для использования, и я считаю, пора познакомиться с версией 2.5.
Информация для людей, только начинающих изучать Блендер расположена на сайте Blender Empire в форме замечательных комиксов.
Приступая к работе
Сначала отправляемся на сайт Graphicall.org и скачиваем оттуда самый последний билд Блендера 2.5 под нужную платформу, архив распаковываем и запускаем файл blender(.exe - если Windows). В консоли может отобразиться некоторое количество ошибок, но это не страшно, смотрим на главное окно!
Найдём 10 отличий
Что меня сперва повергло в лёгкий ступор, это то, что во вьюпорте нажатие пробела не вызывало контекстное меню добавления/редактирования объектов, а отображало какую-то строку ввода с текстом. Более внимательное изучение этого явления дало понять, что добавлять/редактировать объекты можно при помощи комбинации Shift+A, а пробел выводит список (всех?!) команд и их хоткеи, также их можно искать, вводя название нужной команды в текстовой строке. Теперь нет плавающей панельки Transform Properties (да и всех остальных также) - по клавише N (или клик по маленькому треугольнику сверху справа на краю вьюпорта) сбоку выдвигается более функциональная панель, объединяющая инструменты сразу нескольких плавающих панелек старого Блендера. А клавиша T (или клик по маленькому треугольнику сверху слева на краю вьюпорта) отображает панель быстрого доступа к различным инструментам, набор которых вы можете сформировать сами! Подобные панели появились и в других окнах (например, в редакторе кривых анимации).
Заголовок окна User Preferences теперь перешёл на окно Info, где нет ничего, кроме этого заголовка, а в заголовке окна User Preferences только одна кнопка Save As Default.
Изменился, став гораздо более удобным и функциональным, диспетчер файлов: появилась возможность создавать закладки и фильтровать содержимое папок по типам файлов (например, отображать только .blend-файлы), что значительно ускоряет файловые операции.

Все "кнопочные" окна теперь масштабируются аналогично редактору кривых анимации - зажав Ctrl+средняя кнопка мыши и двигая мышью вверх-вниз. Кстати, Button Window переименовано в Properties, а Ipo Curve Editor - в Graph Editor.
Изменился и способ разбиения/слияния окон. У каждого окна в левом нижнем и правом верхнем углах есть маленькие заштрихованные треугольники, перетягивая которые на исходное окно мы делим его на два новых, а перетягивая на соседние - соединяем два в одно. Непривычно, но удобно - количество кликов для такой простой операции снизилось. Появилась также одна очень удобная "фишка", которой сильно не хватало в прошлых версиях - теперь нет необходимости вручную вбивать название текстуры для, например, модификатора Displace. Теперь во всех местах, где нужно указать название чего-либо, появился выпадающий список с возможными вариантами. Инструменты игрового редактирования, ранее располагавшиеся на одной из вкладок Button Window, теперь получили отдельное окно Logic Editor. Изменились сочетания клавиш для перезагрузки пустой сцены (теперь это Ctrl+N), сохранения текущей (Ctrl+S) и сохранения сцены под новым именем (Ctrl+Shift+S) - это стандартные практически для всех приложений комбинации. Появилась возможность быстро развернуть окно Блендера на весь монитор (убрав панель задач и оформление окна) сочетанием Ctrl+F11. Получить доступ к списку недавно использованных файлов можно при помощи Ctrl+Shift+O. Это всё стандартные (уже) для нового Блендера комбинации, однако, разработчики планируют дать пользователям возможность изменять хоткеи.
На этом обзор обновлённого интерфейса можно закончить - всё-таки ещё слишком много всего требуется доработать, много кнопок могут отобразить только "Nothing yet".
Начав этот материал со слов о том, как завершился проект Blender 2.4x, я хочу сейчас сказать пару слов о том, как будет развиваться Blender 2.5, к тому же в последних новостях от разработчиков был показан график, на котором обозначены основные этапы работы.

К концу октября текущего года планируется полностью восстановить работоспособность всех инструментов 2.4х версии, после чего начать оформлять ныне запланированные новшества 2.5, "причёсывать" их код и оформлять документацию для разработчиков. С января будут вводиться новые разработки, которые сейчас находятся на экспериментальной стадии (сначала Bmesh, о котором я расскажу отдельно, новые фишки рендера и системы анимации). А к Siggraph 2010 планируется стабильный релиз версии 2.5 и начало разработки над проектом 2.6. Несмотря на то, что даты обозначены уже теперь, как всё будет складываться в отношении сроков, станет ясно лишь к концу ноября. Если новшества в Blender 2.4x вводились из-за требований проектов Bick Buck Bunny и Yo Frankie, то теперь "двигателем прогресса" является анимационный проект Durian, к стадиям продакшна которого и приурочены основные майлстоуны разработки 2.5.
На этом первое знакомство с Blender 2.5 считаю завершённым.

суббота, 19 сентября 2009 г.

пост №1

Рендер для конференции "Притяжение CG 2009" что будет через несколько часов в под Минском в Силичах.
Blender, один вечер работы.