stat
 
 
 
 
 
 
 
  TBS - Журнал Цифровое Видео    
Скидки
Разделы форума
Системы нелинейного
монтажа
Общие вопросы
Видеооборудование
Аудиооборудование
Светофильтры
Осветительное
оборудование
Барахолка
Поиск по архиву

Режим: "и" "или"
Избранное
Архив журнала
Цифровое Видео
#4 #5 #6
  #1 #2 #3
#4 #5 #6
  #1 #2 #3
#4 #5 #6
  #1 #2 #3
#4 #5 #6
  #1 #2 #3
#4 #5 #6
  #1 #2 #3

Реальный мир без иллюзий

Дмитрий Осминский, Кирилл Бобров

      Практически все известные сегодня профессиональные системы 3D-графики и анимации основаны на разработках для промышленного проектирования (CAD). Другими словами, такие системы изначально технократичны - они создавались программистами и для программистов. Но пока еще никому не удалось заставить художника творить на языке цифр, пусть даже представленных в виде красивых меню и кнопок. Десять лет назад специалисты RealSoft OY смогли объединить в Real3D мощнейшие инструменты моделирования, анимации и визуализации в одно целое, благодаря уникальной концепции представления трехмерного мира, которая максимально приближена к реальному восприятию всего окружающего. Кстати, отсюда и название Real3D - "настоящий 3D". Многое тогда казалось спорным. Однако со временем все стало на свои места, и лучшее тому подтверждение - более десяти тысяч официальных пользователей, в числе кoторых Walt Disney Studios. То, что уже давно было реализовано в Real3D, другие 3D-системы начали предлагать совсем недавно, да и то в неполном объеме. А компания RealSoft OY сообщает о результате четырехлетней работы - о скором выходе нового продукта - Realsoft 4D - системы, по уровню технологий не имеющей пока аналогов в мире.

Real3D - десять лет реальности

      Итак, ровно десять лет назад в Финляндии была создана компания RealSoft OY, специализирующаяся на перспективных разработках в области 3D-визуализации и динамики. К этому времени 3D-графика уже сложилась как самостоятельное направление компьютерной индустрии. В научной литературе были описаны алгоритмы рейтрейсинга; с середины 70-х промышленные CAD-системы использовали NURBS-моделирование при проектировании поверхностей автомобилей и самолетов; в 1982 г. при моделировании морских буровых платформ была задействована система твердотельного моделирования Solid1 компании Applicon (правда, для ее нормальной работы пришлось объединить ресурсы четырех VAX 11/780). Режиссер Стивен Спилберг уже завоевал награды за первые эксперименты в области компьютерного кино.
      Для того, чтобы в распоряжении художника-аниматора наконец появился инструмент для работы с компьютером, требовалось совсем немного - объединить все имеющиеся наработки в одной программе. Именно этим и занялись специалисты RealSoft OY. В качестве платформы были выбраны популярные в то время среди художников компьютеры Amiga, недорогие, но вместе с тем наиболее развитые в области графики машины. Однако, чтобы "втиснуть" предполагаемые задачи в рамки ресурсов Amiga, одного виртуозного программирования было мало. Предстояло разработать идеологию представления трехмерной сцены и методы, с помощью которых художник смог бы эффективно управлять большим количеством параметров. Вскоре основная концепция такой системы была сформулирована и представлена на SIGGRAPH под названием Real3D. Каковы же особенности этой системы?
      Прежде всего это объектно-ориентированная архитектура и полностью настраиваемый пользовательский интерфейс с возможностью его оптимизации под конкретный этап работы над 3D-проектом. В Real3D пользователь может сам создать рабочую среду так, как это ему удобно.
      Уже тогда Real3D содержал развитые функции моделирования с применением B-Spline (класс кривых, одной из разновидностей которых являются NURBS) и Solid (твердотельные примитивы, у которых математически определена поверхность и внутренний или наружный объем); в нем были реализованы все необходимые функции сборки поверхностей из кривых и более сорока линейных и нелинейных инструментов для их редактирования, инструменты обтяжки любых объектов B-Spline-поверхностью. При этом обтяжка - динамическая и работает в анимации.
      Большинство инструментов трансформации позволяют задавать произвольные "точку опоры и рычаг" или "область, направление и силу воздействия". Такой подход дает возможность при редактировании поверхности отказаться от длительного процесса выбора узловых точек или их групп, в результате чего художник работает с поверхностью как с пластичным материалом.
      Использование твердотельных примитивов и их реализация - качественное отличие Real3D, не имеющее аналогов и сегодня. Это обусловило появление совершенно новых 3D-технологий: динамических Булевых операций, применения законов оптики с учетом изменения характеристик материала по трем координатам, ускоренной визуализации и многих других.
      Задание движения и управление объектами осуществляется специальными анимационными методами. Таких методов более пятидесяти, традиционный keyframer - только один из них. Любой объект или его параметр может быть анимирован различными методами, число которых неограниченно в любых комбинациях (сейчас это модно называть нелинейной анимацией).
      В пакете реализованы прямая и инверсная кинематика, параметрическая и процедурная анимация. В качестве параметра используется любой объект Real3D (кривая, поверхность, точка, система координат и т. д.). Например, частоту (frequency), скорость или любые другие параметры движения можно задать графиком (метод Transform-система координат и кривая), нарисованным прямо в рабочем окне, и ничто не мешает вам анимировать этот график (кривую) одним из методов, изменяя тем самым параметры движения объекта. Управлять анимацией можно и классическими способами - такими, как Key Editor, Envelopes или Animation Editor. Возможны анимация по событию, сочетание классической анимации и динамики силовых полей с учетом физических параметров, Collision Detect и законов Ньютона.
      Уникальная технология работы с частицами в Real3D до настоящего времени остается непревзойденной по мощности.
      Реализована система материалов с контролем всех характеристик по текстуре, математической зависимости или процедуре.
      Все характеристики материала задаются в 3D-пространстве, т. е. материал работает на объем! Сделайте кубик, поместите в него камеру и добавьте материал - дым. В результате вы получите помещение с настоящим трехмерным дымом, которым можно управлять и который можно анимировать. Количество материалов для объекта не ограничено.  В вашем распоряжении двухсторонние и неоднородные материалы, различные типы маскирования, сплайновые (поверхностные) материалы. Все характеристики материала анимируются. Текстурная карта (mapping) - полноценный объект и анимируется аналогично геометрии любым методом.

Real3D - манго или яблоко?

      Я не о том, какую кривую или поверхность лучше построит та или иная трехмерная программа трехмерной графики. Я не о том, какой raytracing круче и шустрее. Я пока - про сады-огороды.
      Представим такую картину. За мизерную цену, за полтинник "деревянных", сторож оранжереи, расположенной где-то в Митино или Царицыно, разрешает вам несколько раз в год забираться в заповедное место, где вы можете сколько угодно лакомиться экзотическими плодами, купить которые в магазине ваш кошелек не позволяет. Причмокивая и строя лукавые глазки, вы поедаете манго, дуриан и прочие ананасы. Хотя реально вам по карману яблоки, помидоры с огурцами и картошка, по полезности мало уступающие тропическим лакомствам.
      Теперь та же картина, но с другими объектами. Вам по средствам программы стоимостью десять тысяч долларов? А графические станции - за еще более высокую цену? Но так хочется быть крутым! И честным. Душа ничего иного, кроме 3D MAX, не принимает, возникает чувство полной безысходности.
      А ведь давным-давно, когда многие из вас, уважаемые читатели, водили пальцем по букварю, горячие финские парни создали Real3D для тех, кто хочет построить недорогую, но мощную студию с лицензионным софтом.
      Я предлагаю художникам компьютерной графики не полениться и познакомиться с Real3D и планами RealSoft OY.

Владимир Соколов


      Особое внимание специалисты RealSoft OY уделили системе визуализации. Ray-tracing Real3D реализован очень качественно. Например, цветной луч света, проходящий через цветной прозрачный объект, изменяет свой цвет в зависимости от цвета объекта. При рендеринге B-Spline-поверхности не разбиваются на полигоны (не тесселируются), соответственно никаких угловатостей на выходном изображении вы не увидите. Кроме Real3D подобной возможностью обладает только Pixar RenderMan. Много абсолютно необходимых для профессиональной работы настроек: SuperSample, Light samples, Material samples, глубина резкости камеры, неограниченное разрешение выходного изображения и т. д. Добавим к этому реалистичный просчет видимого света и настоящие (т. е. полноправные 3D-объекты сцены) объемные облака и атмосферные явления.
      Встроенный язык программирования RPL, функциональным аналогом которого является появившийся намного позже MEL в Maya, обеспечивает доступ к любым ресурсам системы: от экранных меню интерфейса до настроек рендерига. Можно создавать свои команды построения и редактирования, процедурные материалы, новые методы анимации или элементы интерфейса. Все это сразу станет полноценной частью Real3D. Таким образом пользователь имеет возможность оптимально конфигурировать систему "под задачу".
      Напомним, что все это было сделано компанией RealSoft OY в 1989 г., когда еще никто с замиранием сердца не ввел в командной строке DOS c:\3ds.exe, любители MAX'а осваивали начальную школу, а до "материализации иллюзии" в Maya оставалось почти девять лет.
      Сразу после первого релиза, благодаря открытой архитектуре, система бурно развивается. Пользователи пишут множество RPL-приложений, самые интересные из которых RealSoft OY включает в новые версии системы. Так в Real3D появились, например, фрактальные генераторы ландшафтов и деревьев.
      В 1994 г. RealSoft OY начинает портировать Real3D сразу на несколько компьютерных платформ. Выходит версия 3.3, которая работает под Windows NT на машинах Intel и DEC Alpha, и специальный модуль рендеринга для Silicon Graphics, а через два года - версия 3.5 с поддержкой OpenGL и множеством дополнений, учитывающих пожелания пользователей.
      В конце 1997 г. появляется версия 3.53 с доработками под новые модули Phenomena и Enhancer. Модуль Phenomena предназначен для создания и управления поведением потоков "частиц" в Real3D. Мы умышленно взяли в кавычки слово "частицы", потому что дать такое определение, например, виртуальному африканскому слону, согласитесь, было бы не совсем корректно. Хотя с формальной стороны, слон - частица в потоке, состоящем из множества слонов. Не нравятся вам слоны, и вы хотите поток мух. Нет проблем. Заменяем слона на анимированную муху. Для гурманов могу открыть секрет: можно сделать так, что муха будет превращаться в слона. Причем все это делается очень просто. Кстати, если вам и этого мало, можете в поток добавить несколько стрекоз. Благодаря структуре Real3D под частицей может пониматься любой объект сцены - геометрические объекты, источники света, текстурные карты и иерархические структуры и методы анимации. Enhancer - модуль для процедурной обработки объектов при их визуализации. Создание и настройка процедур выполняются интерактивно в специальном графическом редакторе и не требуют от пользователя программирования или написания математических выражений. Enhancer незаменим, если вы решили заняться моделированием дыма, облаков, взрывов, водопадов, морского прибоя и т. п.
      Компания RealSoft OY реализовала в Real3D множество уникальных технологий, а теперь на подходе совершенно новый продукт - Realsoft 4D.

Realsoft 4D - новое измерение

      В настоящее время в RealSoft OY заканчивается бета-тестирование нового продукта. Поскольку релиз ожидается со дня на день и серьезных изменений вроде не предвидится - разработчики заняты вылавливанием последних багов и подготовкой документации, мы сочли возможным познакомить читателей с бета-версией.
      Впечатляет количество самых современных технологий, реализованных в Realsoft 4D (RS4D). Однако со временем понимаешь: технологии - не главное, главное - их организация в цельный, четко функционирующий механизм. Свобода действия, ощущение полного контроля над технологиями здесь гораздо важнее самых современных "примочек".
      В RS4D сохранены все самые яркие возможности Real3D. Радует подход разработчиков к организации интерфейса и инструментов. Все инструменты объектно-зависимы, т. е. выбрав Subdivision Surfaces, никаких средств для конструирования поверхностей из кривых вы не увидите. Многие инструменты удалось довольно удачно объединить. Например, четыре базовых инструмента редактирования (move, rotate, scale и skew) теперь имеют дополнительные опции. Для активизации, предположим, модификатора twist (скрутка) достаточно выбрать базовый инструмент rotate и установить для него опцию twist. Так же просто вызывается интегрированный в моделлер Collision Detect (расчет деформации при взаимодействии объектов): выбираем инструмент move, а затем опцию Collision Detect. Если перемещаемый объект "пересечется" с другим, в зависимости от установленных атрибутов произойдет деформация. Все средства контроля и управления многоуровневые. Это значит, что с самого начала вы увидите только наиболее общие элементы - это самый высокий уровень. На самом низком уровне вся система находится под вашим контролем. Система запоминает состояние интерфейса и текущий уровень для каждого объекта. Выбрав объект, вы увидите интерфейс в том состоянии, в котором вы его оставили на предыдущем сеансе работы.
      Все, что касается NURBS-моделирования, в RS4D обещает быть, по крайней мере, не хуже, чем в системе Alias Studio, NURBS-моделлер которой считается сегодня лучшим. Уже в самом начале разработки были реализованы Multirail Tool, Rotate Tool, Cross section Tool, Displacement Tool, Extrude Tool, Fillet Tool и другие инструменты для конструирования поверхностей. Эти инструменты используют для работы три базовых примитива: прямоугольник, окружность и кривую. Есть еще так называемые "ручки" (pens). "Ручка" устанавливается как опция для инструментов построения кривых. Например, выбрав инструмент NURBS Curve и установив опцию Pen и форму - окружность, построив кривую, получаем в итоге поверхность в форме трубы.
      Здесь рассказано только о NURBS-моделировании, но есть еще и полигоны, Subdivision Surfaces и унаследованные из предыдущей версии твердые тела. Все эти различные типы геометрии прекрасно уживаются друг с другом. К примеру, между ними свободно выполняются Булевы операции и преобразование одного типа геометрии в другой. От Real3D унаследована возможность использовать любой объект в качестве деформационной решетки (Deformation Lattice) для другого или сразу для группы объектов. Как уже было сказано, в моделлер решили интегрировать Collision Detect. Это решение может показаться несколько непривычным, но в результате деформация происходит очень естественно при непосредственном взаимодействии объектов. В моделлер перешла и другая функция, на первый взгляд к нему отношения не имеющая, - 3D Painting. Рисовать можно что угодно, на чем угодно и чем угодно. Проще говоря, на любом объекте можно рисовать любым объектом, используя каналы RGBA, любые параметры материалов (brilliancy, transparency, bump map и т. д.) или любой Post Effect (это просто установка флага в определенной области поверхности для обработки в Post Process).
      Заметим, что элементы интерфейса анимировать пока нельзя (хотя для желающих есть SDK), все остальное анимируется. При анимации, так же как в Real3D, активно используется иерархия и сохранились все потрясающие возможности контроля и управления. Нет никаких жестко установленных последовательностей действий. Каждый пользователь найдет свой собственный путь решения любой задачи, благо таких путей бесконечное множество.
      В системе анимации произошли изменения в основном в Morphing и Keyframer. Морфинг теперь можно делать между объектами с разным количеством вершин, а Keyframer выделился как бы в отдельную подсистему.
      Естественно, есть все средства для симуляции динамики. Реализовано множество различных силовых полей: гравитация, магнитные поля, трение и т. п. Можно даже сконструировать самолет, который будет летать только за счет подъемной силы (если сделать правильную форму крыла), гравитации и воздушных потоков. Полностью реализована работа со скелетонами, в которых учтены трение в суставах и взаимодействие точки поверхности с несколькими "костями" в зависимости от их веса (weighted multi mapping).
      Частицы разделены на три типа: 1D (пиксель), 2D (центр + радиус) и 3D (любой объект, в том числе NURBS-кривая). Визуализировать частицы можно либо в scanline, либо в Post Process.
      Система рендеринга (Photo Realistic Rendering Engine) заслуживает отдельного разговора. Разработчики сил не жалели и создали уникальную систему визуализации. Глубина цвета теперь "киношная" - 64 бит на канал (256 бит RGBA). NURBS- и Subdivision-поверхности при просчете не тесселируются, а значит, нет никаких артефактов. Еще одна полезная функция - селективный рендеринг. Так как выбор метода рендеринга является атрибутом конкретного объекта, можно одну модель просчитывать в Outline, другую - в OpenGL и третью - в Raytrace. Естественно, Outline- и OpenGL-объекты будут отбрасывать тени и отражаться в Raytrace-объекте.
      Особый интерес представляет интерфейс для написания шейдеров - Visual Shading Language. Создать самый сложный шейдер можно, либо используя специальный редактор (помимо стандартного редактора материалов), в котором на "дерево шейдера" простым движением мыши перетаскиваются процедуры и параметры материалов, либо вручную с помощью любого из знакомых вам языков программирования (C++, Visual Basic и др.).
      Стоит рассказать еще об одном нововведении - каналах, связывающих шейдеры и систему рендеринга. Что это дает? Самое простое применение - отдельно отрендерить любой параметр шейдера и использовать его в качестве текстуры или в качестве параметра для другого шейдера. А вот это для гурманов: представьте, что вы после рендеринга на поверхности одной из моделей получили блик. Дальше начинается высший пилотаж. Этот самый блик через каналы можно использовать в новом шейдере для текстурирования источника света. Еще раз рендерим и получаем тот же блик, но теперь он еще и освещает.
      Увы, огромное количество возможностей RS4D остались за рамками этой статьи. Само собой, система мультиплатформенная (NT, UNIX, IRIX, Linux, BeOS), с поддержкой мультипроцессорных систем и сетей, есть SDK, открывающий все внутренние ресурсы системы, поддержка сразу нескольких языков программирования для написания формул, макросов и шейдеров, в общем - много всего. Но главное - все эти технологии интегрированы в единый механизм, который позволяет использовать все его возможности с максимальной отдачей. Да, к тому же и цена вас приятно удивит.

Дмитрий Осминский
После окончания МАИ в 1987 г. занимался системами автоматизированного проектирования аэрокосмических летательных аппаратов, руководил отделом компьютерной графики НПФ "Эра". С 1994 г. - директор компании Graphic Group.
Тел./факс: (095) 176-08-26
E-mail: grapgr@dol.ru
http://www.real3d.ru
 
Кирилл Бобров
Специалист по компьютерной графике и нелинейному монтажу компании Graphic Group.
Тел.: (095) 176-08-26
E-mail: grapgr@dol.ru