- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF133:3D
Материал из Linuxformat.
- Инструменты 3D-моделирования
Содержание |
В поисках 3D-редакторов
- Когда разговор заходит о наличии для Linux программ трехмерного моделирования, любой пользователь с уверенностью называет Blender. Но Андрей Прахов знает, что этот мир не столь однообразен.
Самый простой способ узнать о существовании нужной программы – менеджер пакетов. Пара строк, введенных в терминале, даст (как правило) куцый список, который обычно содержит не все пакеты по теме.
И снова на помощь приходит Интернет. В этом случае поисковые системы находят немало ссылок на разные программы: известные, редкие и очень редкие. Оказывается, что Linux отнюдь не обделен приложениями для работы с 3D! Здесь есть приложения как свободные, так и проприетарные, мощные и простые, специализированные и рассчитанные на массового пользователя. А если учесть, что в целом мир программ для работы с 3D беден, то результат наших поисков вполне неплох. Вот и попытаемся разобраться с этим списком.
Autodesk Maya
Самое главное | |
| |
Сайт | http://www.autodesk.com |
Цена | $3495 |
Вердикт Linux Format |
Завзятые линуксоиды воскликнут: почему обзор начинается с этого продукта, а не со свободного Blender? Все просто: о Blender мы уже рассказывали, и не раз. В тоже время остальным программам 3D-моделирования уделялось гораздо меньше внимания.
Autodesk Maya является своего рода флагманом в области трехмерного моделирования и анимации. Это название на слуху, наравне с 3DS Max. Однако, если последний никогда не умел работать нигде, кроме Windows, Maya изначально была рождена кросс-платформенной. И это тем более удивительно, что оба программных продукта принадлежат одной и той же компании Autodesk.
Впрочем, ларчик открывается просто. Изначально Maya создавалась компанией Alias Systems Corporation и работала в четырех ОС (Windows, Linux, Mac OS, IRIX). Со временем, поддержка IRIX прекратилась, а фирма-разработчик влилась в ряды Autodesk. Было принято решение не объединять оба продукта в один, а развивать их по отдельности. Вот так и получилось, что Maya до сих пор выпускается сразу под три известные ОС. Правда, стоит оговориться, что последняя версия программы Maya 2011 доступна для Linux только в виде 64‑битной сборки.
Об этой программе нужно рассказывать либо много, либо ничего. Достаточно упомянуть, что именно ее использовали при работе над многими блокбастерами («Аватар», «Матрица», «Пираты Карибского моря», «Шрек», «Властелин Колец»). Программа позволяет моделировать, создавать анимацию, работать с различного рода физикой, обрабатывать сцену с помощью своих и сторонних рендеров. Изюминкой является открытость Maya для сторонних разработчиков, что позволяет крупных студиям писать специфичный код для своих нужд. Maya поддерживает скриптовые языки – собственный (Maya Embedded Language) и Python. Начиная с версии 2011, разработчики стали использовать Qt, который, как они надеются, еще больше улучшит эргономику интерфейса. Дополнительно к дистрибутиву самой Maya теперь добавился Qt SDK для создания модулей расширения.
И все же, что уникального имеется в Maya? Чем она выгодно отличается от иных проприетарных графических пакетов? Давайте рассмотрим несколько интересных инструментов.
Многие трехмерные редакторы имеют в своем составе инструментарий для рисования на текстурах. Нечто подобное есть и в Maya, но оно далеко выходит за привычные рамки подобных программ. Paint Effects позволяет создавать двумерные рисунки наподобие того же GIMP. В нем имеется широкая палитра кистей, заготовок и всего остального, что пожелает душа художника. Однако это лишь базис. Как вам возможность создания 2D-анимации, к примеру, дождя? Для этого достаточно выбрать специальную кисть Rain Brush, прочертить несколько полосок и нажать кнопку Play для просмотра анимации. Но и это не все! Вам предлагается уникальная возможность рисования в трехмерном пространстве, а если есть такое желание, можно сконвертировать свои двумерные наброски в Mesh, NURBS или кривые. С помощью Paint Effects легко создать даже целый растительный мир с травой, цветами, деревьями. В Maya 2011 появился инструмент, который позволяет указать положение источника света, по отношению к которому будут повернуты чашечки цветов или листья. Легко представить, каких эффектов можно добиться только с этой технологией. Не зря Paint Effects является гордостью разработчиков Maya.
Большие возможности имеются у Maya и для отрисовки сцены. Достаточно сказать, что помимо стандартного программного рендера, в поставку редактора входит Mental Ray, модуль аппаратного рендеринга и даже рендер, который позволяет преобразовывать 3D в 2D с возможностью сохранения в формате Macromedia Flash.
Однако ко всему этому великолепию придется добавить «ложку дегтя». Maya – проприетарный продукт, который стоит очень и очень недешево.
K-3D
Самое главное | |
| |
Сайт | http://www.k-3d.org |
Цена | Бесплатно |
Вердикт Linux Format |
История этой программы несколько напоминает эпопею Blender. Вначале был коммерческий продукт Equus-3D, просуществовавший около пяти лет. В 1999 году программа была переименована и выпущена под лицензией GNU GPl. Она активно развивается, и актуальной версией является 0.8.
K-3D – кросс-платформенное приложение, работающее в Windows, Linux, Mac OS X, BSD, Solaris (на трех последних – в тестовом режиме). Программа имеет ряд отличий от иных трехмерных редакторов.
Что нас обычно интересует при открытии незнакомого приложения? Нет-нет, отнюдь не интерфейс, а наличие справочной службы. Помимо стандартной справки, K-3D имеет набор интерактивных учебников, который предлагается сразу после запуска. Программа наглядно продемонстрирует свои основные возможности и снабдит происходящее комментариями. Очень и очень удобно. Это великолепие доступно благодаря встроенному скриптовому движку собственной разработки. Кроме того, на сайте предлагается большое количество материала практически по всем возможностям программы.
Для более сложных вещей (к примеру, модулей расширения) можно использовать Python. Так, на официальном сайте K-3D имеется богатая коллекция дополнений на все случаи жизни. Возможность подстройки программы под себя, расширение функциональности за счет сторонних модулей – сильная черта K-3D.
K-3D – относительно несложный редактор, который тем не менее позволит добиться решения поставленной задачи, будь то моделирование ландшафта, отдельных объектов или создание анимации. Предлагается обычный набор примитивов Mesh, а также дублирование их в NURBS. Имеется возможность работы с материалами и процедурными шейдерами RenderMan. Но о физике стоит сразу забыть – её как таковой нет вообще. С другой стороны, программа может использовать различные рендеры. В данный момент поддерживаются RenderMan, Yafray, OpenGL-рендер для предварительного просчета и (на начальном уровне) LuxRender.
Черной меткой можно наградить нежелание разработчиков следовать в общем-то уже устоявшимся канонам управления сценой в 3D-окне. Его никак нельзя назвать интуитивным.
Realsoft 3D
Самое главное | |
| |
Сайт | http://www.realsoft.com |
Цена | €200 |
Вердикт Linux Format |
Достаточно интересный коммерческий программный продукт от компании Realsoft Graphics. Однако, первое негативное впечатление остается от его интерфейса. По сравнению с тонким изяществом Blender, строгой компоновкой Maya и прекрасно вписывающимся в окружение рабочего стола K-3D окно Realsoft 3D выглядит неряшливым и устаревшим, во многом из-за используемой библиотеки Motif, которая, как известно, красотой не блещет. Правда, внешний вид никак не влияет на функциональность и работоспособность программы. А посмотреть тут есть на что.
Realsoft Graphics неординарно подошла к наполнению линейки примитивов. Вы не увидите привычные всем Mesh-объекты – их просто нет. Взамен им программа предлагает широкий набор примитивов на основе NURBS, а также объекты SDS (Rational Subdivision Surfaces). Последнее – уникальная разработка Realsoft Graphics, представляющая собой нечто вроде привычных NURBS Surfaces (поверхностей). Объяснить, что это такое, сложно, но работать с ними – одно удовольствие. Примитивы SDS – чрезвычайно мощные и удобные средства для моделирования. Они лишены ограничений, характерных и для группы Mesh, и для NURBS. С их помощью можно создавать объекты как с резкими гранями, так и плавной формы. А обилие дополнительных инструментов для работы с примитивами поражает – их не просто много, а очень много.
Настало самое время сказать о главном принципе разработчиков программы: «If you can see it, you can apply it». И действительно, продуманность интерфейса, управление мышью, можно сказать, некоторая интеллектуальность последнего, позволяет с легкостью выполнять базовые функции даже новичкам. Практически все задачи управления просмотром сцены и манипуляции с объектом можно выполнить одной только мышью.
Нет нужды лазить по бесчисленным панелям в поисках нужного инструмента, как в Blender, или разбираться в хитросплетениях параметров Maya – в Realsoft 3D все под рукой. При выборе одной функции программа предложит только то, что необходимо. Справедливости ради следует заметить, что нечто подобное появилось и в Blender версии 2.5.
Особой гордостью разработчиков является система VSL (Visual Shading Language), которая позволяет составлять свои процедурные текстуры без программирования. Имеется некоторый набор заготовок (кирпичики, волна, случайный узор и т. п.), свойства (альфа, цвет...) и простые логические операции (if, else). Комбинируя их, можно быстро и с легкостью добиться необходимого результата.
Не остались позабытыми и начинающие пользователи. Помимо наличия обширной справки, их ожидает богатая коллекция примеров. Причем вызвать последние можно непосредственно из главного меню программы, где есть соответствующий пункт – Examples. Этот оригинальный подход несомненно упрощает жизнь новичкам.
Сильной стороной Realsoft 3D является работа с преломляющими и отражающими материалами. Как уже говорилось, создание подобных материалов максимально облегчено разработчиками за счет системы VSL. Да и просчет подобных сцен происходит на удивление шустро.
Albatross 3D
Самое главное | |
| |
Сайт | http://www.ppmodeler.com |
Цена | Бесплатно |
Вердикт Linux Format |
Не редкость, когда над созданием и поддержкой программы трудится всего один человек. Но если это приложение – вполне работоспособный трехмерный редактор, то он достоин уважения. Именно этим и занимается Пьер Сони [Pierre Saunie]. 15 лет работая над программой в свое свободное время, он добился очень интересных результатов. Albatross 3D, некогда называемый ppModeler, представляет собой законченное приложение для моделирования и анимации.
Помимо стандартного набора примитивов, который имеется у всех трехмерных редакторов, вы сможете найти в этой программе SDS. Да-да, именно то, что является ноу-хау в Realsoft 3D! Но это еще не все, чем может удивить проект всего одного разработчика. Albatross 3D предлагает пользователям инструменты «скульптурной лепки». В свое время сообщество Blender просто гудело от появления такой возможности в любимой программе. Но не стоит путать целую команду профессиональных программистов с одиночкой, работающим чисто «для души».
Заслуживает внимания анимационная составляющая приложения: морфинг, ключевая анимация, ограничители [constraints] и даже наличие редактора кривых.
Программа умеет работать и с текстурами – как простыми, так и процедурными, реализуемыми с помощью скриптов. Удивительное дело, в Albatross 3D вы сможете найти 3D Paint (не возникает ассоциаций с гордостью Maya?).
Конечно, большинство заявленных функций хоть и рабочие, но не дотягивают до уровня профессиональных программ. Albatross 3D можно рассматривать как вариант для тех, кто не желает изучать сложные пакеты, вроде Maya или Blender, но не удовлетворен функциональностью программ уровня K-3D.
Вот только «ложка дегтя» все же имеется. Хотя Albatross 3D является бесплатным кросс-платформенным приложением, приоритет разработки явно перекошен на версию для Windows. Последний релиз для этой системы состоялся в середине 2009 года. К сожалению, версия для GNU/Linux датируется 2007 годом.
Blender
Самое главное | |
| |
Сайт | http://www.blender.org |
Цена | Бесплатно |
Вердикт Linux Format |
Ну и, конечно, в нашем обзоре невозможно пройти мимо этого замечательного редактора и не сказать о нем ни слова! Blender не зря считается жемчужиной не только в сфере работы с 3D, но и всего лагеря свободного ПО. Появившись на свет как коммерческое приложение, Blender быстро завоевал сердца пользователей. Впоследствии именно они дали ему свободу, собрав в кратчайшее время кругленькую сумму. Сейчас программа развилась настолько, что по своей функциональности может смело бороться с признанными лидерами в своей сфере.
Несмотря на крохотный размер дистрибутива, Blender позволяет моделировать, создавать анимацию и работать с физикой, и даже имеет встроенный игровой движок. Благодаря поддержке скриптов Python, сообщество создало богатейшую коллекцию модулей расширения, что еще больше расширяет границы применения программы.
Разработчики Blender активно работают над его улучшением, не забывая демонстрировать его растущую мощь всему миру. Достаточно просмотреть имеющиеся на официальном сайте бесплатные короткометражные мультфильмы, чтобы заинтересоваться этой программой.
Любой пользователь найдет в ней то, что необходимо. Богатая коллекция примитивов Mesh, NURBS, кривых и инструментария для них. Простая или скелетная анимация. Материалы с поддержкой шейдеров, текстурных каналов, эффектов наложения. Физика твердых и мягких тел. Заготовки для создания тканей и даже встроенный композитный редактор видео.
Ко всему сказанному нужно добавить, что Blender – это единственный свободный трехмерный редактор, имеющий большое количество 3D-импортеров и экспортеров в сторонние форматы.
А что в итоге?
Очень сложно советовать, что выбрать для своей повседневной работы, да этого и не нужно – каждый сам подберет себе подходящий инструмент. Но некоторые выводы сделать все же необходимо.
На первом месте этого хит-парада несомненно находится Maya – сложнейший многофункциональный пакет, предназначенный для профессионального использования. В ней есть все и даже больше того. Maya – это признанный лидер в мире трехмерной графики. Большое сообщество, масса литературы, отличная документация от разработчиков не оставит пользователя наедине с, казалось бы, неразрешимой проблемой. Но и цена за программу соответствующая.
Второе место законно занимает Blender. Во многом не уступая Maya, он выглядит выигрышнее за счет своей открытости, наличия дружелюбного сообщества, большого количества учебных материалов. И все же имеются свои минусы. Многие начинающие пользователи жалуются на непривычный (для подобного рода программ) интерфейс. Действительно, после Maya или 3DS Max придется переучиваться.
Разработка Blender ведется очень активно. Каждый, даже минорный релиз приносит большое количество изменений. И это касается не только новых инструментов или функций. Зачастую разработчики меняют содержимое панелей, и, казалось бы, устоявшиеся элементы вдруг оказываются совсем в другом месте. Вот только документация не всегда успевает за подобными нововведениями. Очень часто бывает ситуация, когда новая функция появилась, а вот как ею пользоваться – домысливай сам. Впрочем, это нередкое явление для свободных программ.
Realsoft 3D – программа на любителя. Очень удобная, простая в использовании (по сравнению с Blender и Maya), шустрая в работе. Вот только овладевать навыками моделирования придется с нуля, если, конечно, хочется использовать приложение на полную катушку. В стандартных же возможностях программа не уступает более мощным собратьям. Да и цена ее гораздо демократичнее, чем у Maya.
Следующая программа, Albatross 3D, явно не дотягивает до уровня Blender, но с легкостью переиграет K-3D. Даже в старой версии 2007 года имеется больше возможностей, нежели в K-3D, и работать в этом редакторе не в пример удобнее. Только будьте готовы искать по всем репозитариям необходимые библиотеки, а кое-где придется использовать символьные ссылки.
K-3D – простая, но не очень удобная программа. Большинства стандартных возможностей просто нет. Годится для создания несложных трехмерных моделей и примитивной анимации. Однако как раз в силу своей простоты K-3D оптимально подходит для обучения навыкам моделирования.
Вот обзор и закончился. Получается, что слухи об отсутствии узкоспециализированных 3D-программ для Linux явно преувеличены. Нужно просто искать, находить и использовать. Дерзайте!
Аппаратный рендер Gelato
В мире существует немалое количество отдельных программ-визуализаторов трехмерных сцен (рендеров). Некоторые из них могут встраиваться в 3D-редактор в виде модулей или непосредственно в код, другие работают как отдельные программы с уже сохраненными файлами. Перечислять их можно долго, но самые известные – это Mental Ray, LuxRender, POV-Ray, Sunflow, RenderMan,YafRay, V-Ray. К этому отнюдь не полному списку недавно присоединился Gelato, основной отличительной чертой которого является способность задействовать для обработки аппаратные возможности видеокарт.
Gelato – разработка компании NVIDIA, и несложно догадаться, что работать он будет исключительно с ее продукцией, но при этом не всей: для минимальной аппаратной поддержки требуется чип не ниже имеющегося в GeForce 5200. Если вы счастливый обладатель современной платы, то программа позволит в несколько раз сократить время, требуемое для просчета сцены при использовании обычного программного рендера.
Не нужно думать, что качество получаемой картинки будет на уровне графики, просчитываемой в реальном времени. В действительности графический процессор платы используется как математический сопрoцессор, но в силу своей специфики он умеет обрабатывать ту же информацию гораздо быстрее CPU.
Самое же главное – эта уникальная программа доступна для Linux и распространя-ется бесплатно.
Глоссарий начинающего моделера
Примитивы (предлагаемые программой объекты-кирпичики для моделирования):
- Mesh Наиболее простой объект с фиксированной внутренней структурой, где данные об элементах хранятся в виде таблицы. Используется в основном для создания объектов с четкими формами. Посредством функций сглаживания или увеличения элементов (полигонов) можно добиться плавных изгибов.
- Кривые (Bezier, NURBS) Двумерные или трехмерные примитивы, вычисляемые с помощью математических формул. Чаще всего применяются для создания двумерных объектов (пример – логотип) или как вспомогательные элементы для анимации.
- Поверхности NURBS Примитивы, основанные на кривых NURBS, имеющие объем. Используется для создания моделей с плавными изгибами форм.
Анимация бывает:
- Ключевая (Keyframed Animation) Смысл заключается в установке ключей, хранящих текущее состояние объекта (масштаб, координаты, ориентация и т. д.). При просчете анимации программа сама вычисляет промежуточные значения.
- Скелетная Усложненный тип, предназначенный для анимации частей объекта. Для этого используются вспомогательные элементы – кости [bones], которые назначаются конкретной области модели [skinning].
- Морфинг Постепенная деформация внутренней структуры объекта по имеющимся образцам. В основном применяется для анимации мимики персонажей.
- Редактор кривых Инструмент, демонстрирующий процесс анимации в виде кривых и установленных ключей. Позволяет настроить анимацию более точно.