(опубликовано в журнале Мой компьютер) №50(169)/17.12.2001
Сергей БОНДАРЕНКО, Марина ДВОРАКОВСКАЯ just_only_3d@yahoo.com
ОПИСАНИЕ ВНЕШНИХ РЕНДЕРОВ 3D MAX
Mental Ray
Плагин создан компанией Mental Images (http://www.mentalimages.com), а коннектор к 3D MAX’у разработала контора Discreet (думаем, не нужно напоминать, чем она прославилась, вам об этом сообщают при каждой загрузке MAX’а :-)). На сайте http://www.discreet.com коннектор даже можно скачать. Но перейдем к нашему рендеру. Его работа напоминает стандартный scanline renderer, с той лишь разницей, что для прозрачного материала должны быть применены такие стандартные карты, как Reflect/Refract и Raytrace. Следует отметить, что Raytrace использовать не стоит, так как это приведет к тому, что материал не будет просчитан. Параметры трассировки лучей программы Mental Ray вы найдете в диалоговом окне Render Scene, в свитке Mental Ray: Rendering Algorithms. Перед этим, конечно же, выбираем в свитке Current Renderer строчку Mental Ray. Изменяя глубину трассировки, количество преломлений и число циклов просчета, можно добиться требуемого результата. Но это еще не все. Посмотрев на свойства объекта в максовской сцене (правое ухо мыши — properties :-)), можно увидеть, как в окно Object Рroperties добавилось меню Mental Ray Rendering Control (управление процессом визуализации). Настроек немного, всего четыре:
Generate Caustics (порождать отблески);
Receive Caustics (отображать отблески);
Generate Global Illumination (создавать эффект общего рассеивания);
Receive Global
Illumination (отображать эффект общего рассеивания).
Эти непонятные на первый взгляд параметры обеспечивают приблизительно такой эффект, как если бы на стене бассейна бегали солнечные зайчики, отраженные от воды (рис. 1). Просчет подобных «зайчиков» занимает немало времени, поэтому «выпускать» их надо лишь в случае действительно большой необходимости. Правильный результат трассировки дает возможность реалистично показать воду в стакане или зеркально отполированную металлическую поверхность. По своим возможностям Mental Ray, хоть и уступает Рендермену, но благодаря более простой структуре функционирует стабильно, и аномальных «вылетов» в Винду не наблюдается :-). Он, как и почти все программы подобного типа, работает под WinNT/2000, что открывает перед нами перспективы сетевого рендеринга.
Brazil
Размер программы не является критерием качества работы. В этом однозначно переубедит любого рендер с названием Brazil от SplutterFish (http://www.splutterfish.com). Встречайте — тетушка из Бразилии, где в лесах много-много диких обезьян :-). Величина архива перед установкой… аж 600 килобайт! Честно говоря, такая подозрительно малая величина поначалу ввела в заблуждение и авторов этой статьи. Они (то есть мы) долго ее не устанавливали по причине скептического отношения к столь мизерной программе. Но после подключения к MAX’у были заметны только положительные черты. Даже если в сцене присутствует только один чайник, он не будет выглядеть искусственно (конечно, если только его не создал другой чайник, случайно запустивший 3D MАХ :-)). Между прочим, в файлах примеров, которые компания SplutterFish прилагает к продукту как демонстрацию его возможностей, именно так и поступили. На одной сцене изображены чайник и сфера на плоскости.
Рассмотрим Brazil поближе. Во-первых, он не требует коннектора (какой уж тут коннектор при подобных размерах). Во-вторых, поддерживает такое нововведение, как подповерхностное распределение света. Данный фактор необходимо принимать во внимание, например, когда требуется с фотографической точностью изобразить свечу. В таком случае свет как бы расходится в воске и подсвечивает его изнутри.
Единственным недостатком Бразильского рендера можно назвать
его скорость. По сравнению с себе подобными он проигрывает во времени, зато
тому же Менталу даст форы по качеству. Чтобы считать картинку в Brazil,
необходимо прежде всего выбрать его из списка (свиток Current Renderer).
Среди прочих типов материала в Material Editor появится новый —
Brazil:TestMtl. Если присвоить объекту такой тип, то настройки, описывающие
фактуру, будут несколько отличаться от обыкновенных. Работать в этом случае
можно не со всеми шейдерами, а только с Phong, Blinn, Metal, Oren-Nayar-Blinn и
Anisotropic. Если хорошо продумать сцену и умело воспользоваться бразильским
инструментом, то результат не всегда удастся отличить от оригинала (рис. 2
Final Render
Если уже речь зашла о хлипкой грани между вымышленным и настоящим, то, ребята, это финал. В смысле, Final Render. Даже не знаем, с какой стороны к нему подступиться, ведь одна только документация по размеру напоминает то ли «Войну и мир» Льва Толстого, то ли его самого :-). В своем детище программисты фирмы Cebas ( http://www.cebas.com) воплотили все лучшее, что они сумели наработать за последнее время. Передовые технологии плюс колоссальный математический расчет привели к тому, что ими был создан рендер, который по функциональным возможностям является, пожалуй, одним из самых привлекательных в сфере 3D-анимации. Его название говорит само за себя. Изображение, которое мы получим, будет сформировано с использованием оптимального метода расчета.
Простого обывателя не может не поразить та скорость, с которой «летает» движок Final Render. Скажем, дедушку Mental Ray он обскакивает в двадцать раз, не оставляя ему никаких шансов на выживание, а тетушку Brazil — в восемнадцать. Для просчета сцены используется любимый прием «цебасовских» плагинов по работе со светом, как-то: трассировка прямого и обратного хода луча. В первом случае просматривается ломаная траектория от объекта к источнику света, о втором, — наоборот, от источника к объекту. Подповерхностное расхождение света дает очень хорошие результаты, поэтому гроздь винограда, которую вы видели на страницах МК (см. № 47 (166)), выглядит так, как будто бы ягоды переливаются янтарным светом на солнце.
Final Render, как и Brazil, добавляет свой тип материала. Вообще-то, он «пролазит» во все настройки 3D MAX’а, где есть хоть малейший намек на трассировку. Например, в категории Lights командной панели Create появится закладка FinalRender. Туда программа прописывает три новых источника света: FRObjectLight, FRParticleLight и CylinderLight. Помимо этого, она добавляет несколько вариантов просчета теней к стандартным источникам света в свиток Shadow Parameters (Create, Geometry, Lights, Standard). В ниспадающем меню появятся две новые закладки: FRShadowMap и FRSoftShadows. Еще допишутся новые строчки в разделах Effects и Environment, это FR-Illustrator и FRVolumeLIght-Effect в первом случае и FRVolumeLight во втором. С их помощью моделируется очень много эффектов объемного света. Обучился Final Render и тому, что умеет плагин Illustrate!, который мы рассматривали ранее (см. МК № 49 (168)). Не хуже, чем программа от Digimation, Финальный Рендер построит чертеж, обозначив невидимые линии пунктиром. При желании анимационную картину можно сконструировать таким образом, чтобы одновременно на экране находились плоские и объемные изображения.
Final Render, в отличие от других рассмотренных нами программ, в списке Current Renders отсутствует, а его действие проявляется, когда он замещает собой стандартный (Default Scanline) рендер, если в сцене появится объект от плагина, будь то его источник света, эффект или тип материала.
Навороченность Final Render позволила сделать работы, которые произвели неизгладимое впечатление на администрацию рекламного отдела компании Coca-Cola. Поэтому в рекламном ролике непотопляемой Кока-Колы анимация была пропущена через Final Render. Теперь на сайте http://www.finalrender.com, на самом видном месте, на пол-экрана висит ссылка, по которой можно «стащить» этот ролик.
В этой статье мы лишь вскользь упомянули о Rendermanе. Говорить о нем можно долго, но так как он представляет интерес в основном для профессионалов, мы решили его детально не рассматривать, дабы не перегружать читателей ненужной информацией. Плагин работает с файлами расширений *.rib и ко всему применяет свои шейдеры и собственные текстуры. Также он имеет неограниченные возможности рендеринга под Unix и WindowsNT.
Руководитель разработки фильма Final Fantasy, Кавэх Кардан, в своем интервью сказал, в частности, следующее: по его мнению, общее освещение (global illumination), положенное в основу новейших рендеров (таких как Final Render и Brazil), должно стать стандартом. Технология направленного освещения, имеющаяся в Pixarman, не создает должной реалистичности. Любая попытка подменить общее освещение приводит к увеличению работы и к усложнению технологии в целом.
VRay
Пока компания SplutterFish (http://www.splutterfish.com)
выпускала одну за другой альфа-версии своего рендера Brazil (последняя версия SplutterFish
Brazil 0.2.26 for 3DSMAX R4), на www-просторах замаячил его прямой
конкурент от фирмы Chaos Software (http://www.chaoticdimension.com). Правда, продукт под
загадочным названием VRay еще тоже не готов, и номер его последней версии даже
страшнее, чем у «Бразилии», — beta version 0.10.01120501. К слову сказать,
некоторые остряки трактуют номер рендера как количество багов. Вообще-то, они
неправы, ошибок и недоработок гораздо больше :-). Так что если вы найдете
миллион первый глюк программы, можете сообщить об этом разработчику по адресу
vraybeta@chaoticdimension.com или поделиться своими соображениями по данному
поводу на форуме http://www.delphi.com/vray.
Иногда становится просто смешно, когда видишь, как вовсю идет дележка шкуры
неубитого медведя. Ну, а пока нам обещают, что финальный релиз программы будут
просто о-го-го!, будем довольствоваться малым. И искать это малое (VRay) нужно
там же, где и продукт SplutterFish, а именно в списке всех подключенных к 3D
Studio MAX рендеров (свиток Current Renderer диалогового окна Render Scene).
Размер архива, который программисты Chaos Software предлагают закачать с вышеуказанного
адреса, совсем мизерный — 245 килобайт и еще одно маленькое
попугайское крылышко на пару десятков байт :-).
Как мы уже писали, ни один из уважающих себя
современных рендеров не обходится без технологии расчета, основанной на GI
(Global Illumination). И VRay не является исключением. В наше время для
рядового 3D-шника также важно, чтобы рендер умел работать с Caustics
(отблески). VRay довольно неплохо справляется с поставленной задачей
(рис. 1). После ряда попыток просчитать одинаковые сцены в нескольких
рендерах авторы этой статьи заметили интересную тенденцию: практически любой
материал, который был визуализирован VRay, получался более четким. Текстуры,
напоминающей камень, который мы взяли из библиотеки материалов плагина Simbiont
Max (см. МК № 48(167)), в родном Default Scanline Renderer выглядел
просто отвратительно, шероховатость передавалась очень скверно и напоминала
скорее плоский точечный рисунок (рис. 2). Brazil показал нечто более
похожее на правду, и шероховатости уже стали различимы, что придало объекту
объемную форму. Однако небольшая размытость все еще мешала. И наконец, в VRay
была получена картинка, похожая на «бразильскую», но с большей четкостью. Судя
по всему, четкость передаваемой текстуры — это конек данного рендера.
Недаром же в галерее работ, демонстрирующих возможности плагина (она выложена
на сайте изготовителей), в основном подчеркивается разница между обычно
получающейся «близорукой» размытой картинкой и лишенной «замыленности», точной
передачей материала VRay (рис. 3).
Во втором и третьем случае (Brazil и VRay)
края объекта были несколько затемнены, а яркость блика уменьшалась по
экспоненте, что также способствовало получению реалистичного результата.
Поскольку каждый алгоритм визуализации
уникален, и источник света воспринимает по-своему, то в большинстве случаев
подключаемый рендер добавляет свои типы Lights. Так было с Final Render
(см. МК № 50(169)), движком от плагина Phoenix (см. МК № 42
(161)). VRay продолжает эту традицию, скромно дописав в стандартные источники
VRayLight. Параметры рендера собраны в одном-единственном свитке
VRenderParameters. Его основные меню — Caustics, Indirect Illmination, Image Sampler,
Filtering/Depth of Field. Настройки
во многом совпадают с «бразильскими», однако первое, что бросается в глаза, это
существенно большее количество фильтров постобработки изображения. В последнем
релизе их двенадцать, включая и те два, имеющиеся у Brazil Renderer. Еще одно
достоинство молодого рендера состоит в том, что он прекрасно находит общий язык
с многими плагинами и даже признает, что Final Render некоторые операции
считает все-таки лучше. Для сравнения: если попытаться отрендерить
«файналрендеровскую» сцену в Brazil, то 3D MAX скроется с глаз долой, перед
этим порадовав пользователя сообщением о роковой ошибке.