Журнал:

Сегодня и завтра 3D-графики и анимации

Оглавление обзора

История интегрированных трехмерных пакетов начинается с начала 90-х годов прошлого века, широко отражена в Интернете и поэтому не имеет смысла на ней подробно останавливаться. Интереснее проследить тенденции развития и мутации этих программ. Но сначала определимся, о чем (или о ком) пойдет речь.

Формально эти программные комплексы носят обобщенное название «пакеты для производства анимации и спецэффектов». Описание их предназначения довольно расплывчатое, но хорошо выглядит в текстах статей.

Среди доживших до наших дней «динозавров» этой категории необходимо упомянуть прежде всего Autodesk 3ds max [1], Autodesk Maya, Avid XSI [2], Side Effects Houdini [3]. О них, в основном, и пойдет речь. Есть, конечно, и некоторое количество программ калибром помельче, таких как бесплатный Blender [4] или недорогой Hash Animation Master [5]. Но отечественного пользователя, не сильно озабоченного пока ценовыми вопросами, мало интересует такая «мелочь». «Какой пакет самый лучший?» — вот основной вопрос русскоязычных форумов.

Несколько особняком стоят такие программы, как Newtek Lightwave3D [6] и Maxon Cinema4D [7]. Но поскольку финансирование этих разработок, похоже, основано не на их рыночных продажах, то рассматривать в этой статье их развитие нецелесообразно.

Итак, интегрированный трехмерный пакет традиционно включает в себя средства моделирования, анимации, инструменты для производства разных спецэффектов и систему визуализации. Это, так сказать, костяк, на который «навешано» еще много всяких дополнительных инструментов.

Монстры, «рожденные» в Nevercenter Silo (вверху)и в Mudbox

Рассмотрим этот «костяк» поподробнее. Начнем с моделирования. Очевидно, что к сегодняшнему дню все интегрированные пакеты обзавелись не только сплайновыми и полигональными инструментами, но и средствами работы с subdivision surfаces. Математическая реализация этих поверхностей в разных пакетах различная. Усилия программистов до сих пор направлены на то, чтобы сделать работу с ними более быстрой и удобной. Однако не секрет, что первые версии интегрированных пакетов вышли еще в прошлом веке, и поэтому основной инструментарий моделирования и сама концепция несколько устарели. Усовершенствования инструментов в новых версиях идут за счет дополнительных мелких функций, вводимых на основе пожеланий пользователей. К счастью, моделирование — это процесс, который хорошо локализуется в ходе производства. Поэтому изготавливать модели можно в любом удобном пакете, а потом просто импортировать их в основную среду для последующей анимации и визуализации. На этом и сыграли относительно молодые компании, выпустившие программы именно для моделирования, в которых воплотились пожелания пользователей интегрированных пакетов, а также свежие алгоритмические идеи сегодняшнего дня. История показывает, что небольшая специализированная программа всегда будет лучше справляться с поставленными задачами, нежели соответствующий модуль интегрированного пакета. Так возникли программы Luxology Modo [8] и Nevercenter Silo [9]. Феноменальный успех пакета Pixology Zbrush [10] был обусловлен концепцией работы с трехмерным объемом с помощью кистей. Еще один игрок на рынке программ для моделирования Skymatter Mudbox [11] вышел из недр студии Weta Digital совсем недавно. Его коммерческая версия имеет гордый номер 1.0. Как видите, на этом рынке прогресс идет довольно бурно. Все упомянутые программы имеют фантастическую скорость работы с subdivision surfaces и активно используют интерактивные displacement maps для проработки мелких деталей. Очевидно, что все они также имеют средства коммуникации, то есть обмена моделями с интегрированными пакетами.

Анимация, в отличие от моделирования, не может быть также легко локализована в независимый процесс и поэтому, как правило, производится в основной интегрированной среде. В этом смысле интегрированные пакеты довольно хорошо укомплектованы. Одним из лучших модулей для анимации является инструментарий пакета XSI. Пользователи 3ds max, привыкшие к своим анимационным контроллерам и работе в системе Character Studio, искренне считают их удобными и не помышляют о большем. Аниматоры, использующие Maya, мучаются, но продолжают использовать встроенную систему нелинейной анимации — систему крайне мощную идеологически, но реализованную с некоторыми огрехами.

Впрочем, нельзя не упомянуть о программах, предназначенных исключительно для анимации (преимущественно персонажной). Это, прежде всего, Autodesk Motion Builder, доставшийся компании Autodesk в наследство от канадской фирмы Kaydara, купленной когда-то компанией Alias, поглощенной не так давно компанией Autodesk. Это также программа pmG messiah: animate [12], входящая в состав messiah: studio. Все они позволяют сформировать свой скелет или импортировать уже готовый из интегрированных пакетов. Их задача — создать анимацию на скелете и отправить ее туда, где будут производиться эффекты и визуализация. Естественно, что «фишками» таких программ являются именно удобство и «заточенность» как раз под персонажную анимацию. Однако, в отличие от полигональных моделей, передавать персонажи и анимацию в виде данных технически довольно непросто. Для этих целей, как правило, используется формат fbx, когда-то умело навязанный компанией Kaydara в качестве универсального формата описания трехмерных сцен. В силу того что пакет Motion Builder принадлежит компании Autodesk, производящей также 3ds max и Maya, можно с высокой вероятностью предположить, что его функциональность рано или поздно будет полностью встроена в будущие версии этих пакетов или их последователей. Поэтому следует ожидать ухода со сцены специализированных программ для постановки анимации.

Кадры из фильма «Троя», созданные при помощи Syflex

В прошлом веке при упоминании об эффектах чаще всего речь шла о динамике частиц и о сопряженных с ней спецэффектах. Однако аппетиты пользователей (или продюсеров) сильно выросли на рубеже веков, и теперь к числу эффектов относят динамику жидкостей, анимацию волос и одежды, работу с мехом, выращивание деревьев и иной растительности, другие более узкие задачи. Все интегрированные пакеты всегда имели модули разной степени мощности для работы с частицами. Чемпионом в этой области всегда считался (и считается) пакет Houdini, обеспечивающий исключительно гибкий подход. Система частиц Maya также заработала прочный авторитет в этой области благодаря удачному сочетанию мощности и удобства управления частицами. Однако различные классы спецэффектов, не описываемые динамикой частиц, опять подтвердили, что специализированные программы справляются  поставленными задачами лучше, чем встроенные модули интегрированных пакетов. Так, после провала фильма Final Fantasy на обломках студии Square USA возник пакет Syflex [13], предназначенный для анимации тканей и составивший сильную конкуренцию модулю Maya Cloth.

Растение, «выращенное» в Greenworks Xfrog

Syflex впоследствии был встроен в пакет XSI, что сделало конкуренцию еще более интересной. Динамика волос, появившаяся в Maya некоторое время назад, уже давно была удачно реализована в независимом пакете Joe Alter Shave and Haircut [14]. С динамикой жидкостей на основе дискретной модели лучше всего справляется программа Next Limit Realflow [15], а с выращиванием деревьев и кустов — подключаемые модули типа Greenworks Xfrog [16] или Bionatics NatFX [17]. Все эти программы так или иначе интегрируются с трехмерными пакетами, обмениваясь данными посредством общепринятых или специальных форматов.

Конечно, производители интегрированных пакетов тоже не сидят сложа руки и внедряют в программы новые виды динамики и эффектов. Чего стоит хотя бы новая динамика одежды в Maya 8.5 или динамика веревок в Houdini 8.0. Однако появление таких крупных модулей делает интегрированные пакеты все более «динозаврообразными», то есть слишком массивными, негибкими, увешанными различными типами динамики. Возможно, в будущем программы станут предоставлять пользователям возможность подключать собственные модули для просчета тех или иных видов физических объектов и процессов. Появление в Maya 8.5 модуля Nucleus — наглядное тому свидетельство. Этот подход будет отличаться от системы подключаемых модулей для 3ds max, решающих частные задачи, и обеспечивать передачу абстрактных данных, а не конкретных моделей или частиц. Впрочем, такой общий подход давно и успешно используется в Houdini.

Изображения, визуализированные в Chaos Group Vray (верхнее), Illuminate Labs Turtle (в центре) и Splutter Fish Brazil

Если перейти к визуализации, то картина достаточно проста. Встроенные системы визуализации (rendering) интегрированных пакетов не выдержали испытания временем и благополучно сошли со сцены. Исключение составляет пакет XSI, счастливо обладающий системой mental ray в качестве основного инструмента визуализации. Нельзя также поручиться за всех пользователей пакета Houdini: возможно, некоторые из них до сих пор прочно привязаны к стандартной системе Mantra и разрабатывают материалы на языке VEX. Однако индустрия диктует свои стандарты и стандартных промышленных решений для визуализации на сегодняшний день два: Pixar RenderMan [18] и mental images mental ray [19]. Все интегрированные пакеты имеют так называемые «коннекты» с этими системами визуализации. Это означает, что сцена, созданная и анимированная в любом пакете, может быть просчитана с помощью либо Renderman, либо mental ray. Конечно, есть еще масса систем визуализации типа Chaos Group Vray [20], Illuminate Labs Turtle [21], Splutter Fish Brazil [22], Next Limit Maxwell, Cebas finalRender [23], также умеющих просчитывать сцены из основных популярных пакетов. Однако их нельзя отнести к полноценным промышленным системам в силу того, что в них отсутствуют мощные средства разработки новых материалов, моделей освещения, язык описания трехмерных сцен и инструменты распределенного просчета. Некоторые из них довольно ловко решают задачу расчета глобального освещения, что стимулирует двух основных игроков (Pixar и mental images) срочно «подтягивать» свои продукты до нужного уровня.

Возможно, среднестатистический российский пользователь, традиционно озабоченный выбором самого лучшего решения и не обремененный ценовыми проблемами, может спросить: «А зачем вообще нужны эти интегрированные трехмерные пакеты?». Ведь можно взять самый лучший инструмент для моделирования, например Modo, сделать модель, передать ее в самый лучший пакет для анимации, например в Motion Builder, анимировать сцену и просчитать ее самым лучшим визуализатором, например mental ray. Теоретически это возможно, особенно, если пользователь умеет писать скрипты и лихо программировать. Однако на практике оказывается, что персонажу нужны волосы, а пакет Shave and Haircut работает только как подключаемый модуль для 3ds max, Maya или XSI. И вода, сделанная в RealFlow, тоже должна быть куда-то передана для визуализации.

Таким образом, главная функция интегрированных пакетов — служить инструментальной средой для получения, хранения и передачи данных другим специализированным программам. И без этой среды построить модель производства анимации и спецэффектов будет довольно сложно. Вы можете моделировать или просчитывать свои сцены «на стороне», но хранить их придется в определенной трехмерной программе, которая и будет основой вашего технологического процесса.

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

И в завершение позволю себе немного аналитики.

За последние два года произошло много любопытных событий на рынке «тяжелой» трехмерной графики. Компания Autodesk сосредоточила в своих руках целую коллекцию программного обеспечения, собрав самые сильные и популярные программы под одной крышей. Невооруженным глазом видно, что эти программы конкурируют друг с другом, а наличие Motion Builder делает позиционирование поддерживаемых пакетов еще более затруднительным. Несмотря на упорное молчание компании по поводу будущих разработок, пока можно сказать, что ни Maya, ни 3ds max не будут «встраиваться» друг в друга. Точно также ни один из этих двух пакетов не будет «свернут» для продвижения другого. Однако наличие такого «зоопарка» в руках одной компании делает весьма вероятным появление новой разработки на основе имеющихся инструментов. Возможно, это будет постепенное обновление Maya путем замены ключевых модулей более современными решениями.

Пакет XSI, самый молодой из упомянутых в этой статье, сумел значительно укрепить свои позиции благодаря активному взаимодействию с ведущими студиями. Встраивание Syflex, язык Python [24], девяностотысячедолларовый модуль Face Robot — все это сыграло положительную роль в популярности пакета. Единственное, что смущает, — это некоторая «громоздкость» и своеобразность интеграции различных инструментов в единое целое.

Разработчики Houdini наконец-то осознали, что, кроме технического совершенства, нужно также заниматься налаживанием отношений с пользователями. Последние версии пакета содержат много усовершенствований, направленных на облегчение освоения программы, а также гуманные средства для работы с персонажной анимацией.

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

Стремительно выросли объемы литературы по различным трехмерным пакетам. На крупных выставках и конференциях типа Siggraph [25] (а в России на CGEvent [26]) проходят многочисленные мастер-классы и встречи пользователей разных программ.

Кадр, сгенерированный в «почившем» Realsoft 3D

В самом деле, как бы ни был хорош продукт, без соответствующей инфраструктуры он будет бесполезен. Если не у кого спросить о проблемах, если нет разнообразной литературы и мощных информационных ресурсов, то самый совершенный, но и технически сложный пакет останется вещью в себе. Многие, наверное, помнят амбициозный проект темпераментных финских парней из Realsoft Graphics [27], мужественно выпустивших пять версий пакета Realsoft 3D и внедривших в него множество весьма передовых идей и решений. Однако, несмотря на изощренное техническое совершенство, проект умер.

А теперь давайте взглянем на номера версий основных трехмерных пакетов. Все они (за исключением шестой версии XSI) находятся в районе цифры девять. А возраст пакетов приблизился к десяти годам или перевалил за эту цифру, что означает — программы были спроектированы еще в прошлом веке на основе идей и разработок того времени. За прошедшие годы часть разработок идеологически устарела (например, встроенные системы визуализации) и на рынке появились новые идеи и решения. Тем не менее, разработчики программ вынуждены обеспечивать совместимость с предыдущими версиями, сохранять свой оригинальный формат файлов, поддерживать прежние программные интерфейсы. Новые модули (особенно купленные у сторонних разработчиков) появляются в пакетах как «нашлепки», не всегда удачно интегрированные в основную среду. Поэтому с течением времени интегрированные пакеты «пухнут» и начинают представлять собой набор как свежих технологических решений, так и безнадежно устаревших модулей. Autodesk, например, до сих пор поддерживает Maya Live в составе Maya Unlimited, не прилагая ни малейших усилий к развитию этого безнадежно устаревшего модуля.

Кроме того, интерфейсы программ также изрядно устарели (имеются в виду оконные интерфейсы пользователя). Обратите внимание, как выглядят окна программ под Linux, и вы поймете, что адаптация этих пакетов к другим операционным системам происходила в те времена, когда о красоте интерфейсов под Linux еще никто не помышлял.

Пакет 3ds max — это практически единственный из всех пакетов, «намертво» привязанный к платформе Windows. Современная индустрия вряд ли будет долго терпеть этот вызывающий факт. Нынешний рынок диктует несколько другие стандарты, нежели привязка к одной платформе.

Пожалуй, только пакет Houdini был изначально спроектирован настолько удачно, что его идеологическое развитие практически не нуждается в обновлениях. Единственное, что режет глаз, — это вызывающе оригинальный и несовременный интерфейс пользователя.

Все вышеперечисленные рассуждения наводят на мысль, что в скором времени следует ожидать кардинальных изменений на рынке интегрированных трехмерных пакетов. Эти изменения не будут внезапными, возможна череда слияний и поглощений, однако существующий инструментарий устарел и требует обновления с учетом современного технологического уровня. Программное обеспечение тоже имеет свой срок жизни (до двадцатой версии, кажется, не дожила ни одна коммерческая программа).

Попробую отметить основные тенденции в развитии пакетов за последние два года и сделать прогнозы о том, чего стоит ожидать в будущем.

Язык Python — абсолютный фаворит в индустрии компьютерной графики в последнее время. Он был поспешно встроен практически во все пакеты и призван унифицировать способ работы с данными как внутри пакетов, так и на уровне операционных систем. Возможно, это было сделано под давлением компании Disney, давно опирающейся на возможности Pythonа.

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

Рынок графических ускорителей развивается столь стремительно, что каждый год на сцене по-являются новые сопутствующие технологии. За последние годы стало модным ускорение просчета с помощью графических процессоров, а последним хитом является просчет физики на видеокартах. Следует ожидать дальнейшего прогресса в этой области применительно к трехмерным пакетам, а не только к играм. В трехмерной графике есть масса процессов, расчет которых может быть распараллелен и ускорен на графических процессорах (взять хотя бы динамику сплошных сред).

Это относится и к мультипотоковым вычислениям. Компания Intel довольно успешно «морочит нам голову» технологиями Hyperthreading, Multithreading и грядущими многоядерными системами. Трехмерные пакеты вряд ли останутся в стороне от этой погони за производительностью.

Развитие видеокарт также может стимулировать появление новых систем просчета (визуализации), целиком основанных на возможностях видеоускорителей. Это, прежде всего, относится к просчету нефотореалистичной анимации и различных спецэффектов. Такие системы визуализации будут встроены прямо в окно камеры трехмерного пакета для мгновенного получения результата.

Появление специализированных средств для предварительной визуализации (previz) также будет стимулировать развитие систем аппаратного просчета. Быстрый просчет всего проекта, интерактивный storyboard, монтаж сцен прямо в трехмерной среде — вот основа будущих систем пре-визуализации, встроенных в трехмерные пакеты.

Следует ожидать появления более модульных систем, позволяющих подключать не только собственные модули, но «умеющих» принимать и передавать данные от других программных пакетов без помощи «неистового» программирования, а на основе продуманных интерфейсов.

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

Источники

1. www.autodesk.com

2. www.softimage.com

3. www.sidefx.com

4. www.blender.org

5. www.hash.com

6. www.newtek.com

7. www.maxon.com

8. www.luxology.com

9. www.nevercenter.com

10. www.pixology.com

11. www.skymatter.com

12. www.projectmessiah.com

13. www.syflex.biz

14. www.joealter.com

15. www.nextlimit.com

16. www.xfrogdownloads.com

17. www.bionatics.com

18. www.pixar.com

19. www.mentalimages.com

20. www.chaosgroup.com

21. www.illuminatelabs.com

22. www.splutterfish.com

23. www.finalrender.com

24. www.python.org

25. www.siggraph.org

26. www.cgevent.ru

27. www.realsoft.fi

От редакции. Во вводной статье даны описание и анализ систем, предназначенных для графики, анимации и визуализации, так сказать, в чистом виде. В телевидении же используется достаточно большое количество прикладных программ, обладающих куда более узким инструментарием и возможностями в плане моделирования, но работающих значительно быстрее. Они предназначены для оформления вещания и работают, как правило, на базе шаблонов. Многие помнят, что еще совсем недавно оперативное оформление эфира было плоским, двумерным. Но требования к телевидению растут, и сегодня повсеместно применяется трехмерная графика, а приложения для ее создания хорошо «понимают» данные, сгенерированные в специализированных пакетах типа 3ds max, Maya, Lighwave и др.

Еще одна сфера телевидения, где просто не обойтись без трехмерных моделей, — это виртуальные студии. Здесь разработчики пошли по наиболее оптимальному пути и не стали внедрять в свои системы инструменты сложного трехмерного моделирования, обеспечив вместо этого тесную интеграцию со специализированными приложениями.

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

Замечания и предложения по работе сервера направляйте: web.master at 625-net.ru.

© 1996—2009 «Издательство 625». Все права защищены.

e-mail: magazine at 625-net.ru, тел./факс: (495) 691-77-24, 695-95-88, схема проезда.

Свидетельство о регистрации средства массовой информации Эл № 77-2794.