Сообщений
30, на страницах:
1 2добавить сообщениеРендеры как инструмент алхимии XXI века.
Автор статьи: Aleksio (mastervidaСОБАКАmail.ru), Россия, Краснодар
Версия Blender’а: 2.44
Уровень пользователя: начинающий, средний
Введение.
Данная обзорная статья призвана помочь пользователям Blender’а попробовать различные «внешние» рендеры в деле и определиться с выбором наиболее удобного и интересного для себя. Цель прагматична - получение «живых», привлекательных изображений, что в свою очередь невозможно без фотореалистичности. Из всего довольно многочисленного представительства программ для визуализации трехмерной графики, мы остановим свой взгляд на
БЕСПЛАТНЫХ рендерах (с открытым исходным кодом под лицензией GNU GPL и с закрытым исходным кодом, т.н. проприетарных).
Обзоров и статей по популярным коммерческим рендерам в сети предостаточно (например обзор автора w-damian3000, по таким рендерам как Scanline, BusyRay, VRay, Brazil, Finalrender, Mentalray – www.render.ru ).
Ограничив себя форматом статьи, я рассмотрел, на мой взгляд, самые достойные и перспективные рендеры, для которых также разработаны скрипты экспорта из Блендера. Ввиду того, что большинство пользователей Blender (в том числе и автор сих строк) все ещё работает на ОС Виндовс – особенности установки и настройки программ под Линукс оставлю «за кадром».
Естественно, для того чтобы выполнить визуализацию в любых сторонних рендерах, нужно подготовить объект/сцену к их формату. Для этого понадобится задействовать программу-конвертор, либо специальный скрипт, интегрирующий управление рендером в Блендер. При описании того или иного рендера, я приведу ссылку на архив, содержащий все необходимые компоненты для нормальной его работы. Однако, со временем, скрипты, как и любые поддерживаемые разработчиками программы, улучшаются – соответственно их нужно обновлять, скачивая с официальных сайтов.
Немного теории: общие понятия фотореалистичной визуализации.
По алгоритму расчета картинки, все рендеры можно разделить на два класса: biased и unbiased.
Biased рендеры вначале рассчитывают основные параметры 3d-сцены, затем рассчитывают какую-то отдельную часть картинки и выводят ее (например Blender-render). Как правило, такие рендеры не являются физически-корректными, т.е. для получения фотореалистичного результата нужно прибегать к имитации.
Unbiased рендеры, в свою очередь, выводят картинку сразу целиком и все компоненты 3d-сцены рассчитывают одновременно с ней, постепенно улучшая финальное изображение. Преимущества данного подхода можно определить так: остановить процесс рендеринга можно в любой момент, тем самым определив финальное качество.
Минусы всплывают при визуализации «тяжелых» сцен: с большим количеством полигонов, большим разрешением, множеством источников света – ждать более-менее незашумленного изображения придется довольно долго (соответственно, для анимации они подходят меньше).
Далее, перечислю основные параметры, которые должны поддерживаться рендерами претендующими на корректный, фотореалистичный результат:
Global Illumination (глобальное освещение) – процесс расчета света, переотраженного от объектов в сцене.
Caustics (каустика) - эффект потери равномерности светого потока в следствии взаимодействия с другими обьектами. Это может быть не только преломление светового потока, но и отражения.
AreaLight, GeometryLight (площадной свет, свет по геометрии) - протяженные источники света.
Depth of Field (глубина резкости) - размывание объектов в зависимости от их положения относительно фокуса камеры.
MotionBlur («смаз», размытие движения) – эффект размытия движущегося объекта относительно неподвижной камеры или наоборот.
Glossy Reflection\Refraction (размытое отражение/преломление) – размытое отражение, преломление света при прохождении сквозь прозрачные материалы.
Dispersion (дисперсия) - явление, при котором белый свет, проходя через прозрачный материал разлагается на спектр, проще говоря — появляется радуга.
SSS, Sub-surface scattering (подповерхностное рассеяние света) – используется для имитации органических материалов: пластик, кожа, воск, листья растений.
Рассматриваемые программы визуализации в той или иной степени поддерживают вышеперечисленное.
Пятерка лучших.
| (YafRay, Pov-Ray, Sunflow, Indigo, Kerkythea) |
Итак, начнем с бесплатных рендеров, с открытым исходным кодом:
YafRay – судя по тому факту, что разработчики Блендера встроили в него полноценное управление этим рендером, можно сказать, что он и есть оптимальное решение для большинства задач, связанных с фотореалистичной визуализацией (на их взгляд).
Скачать можно здесь
Занимаемый объем – для версии 0.0.9, около одного мегабайта. Прекрасный выбор для тех, у кого нет возможности скачивать десятки мегабайт из Интернета. Однако инструкций по его работе и настройке довольно мало (даже на английском языке!), команда разработчиков данного рендера предоставляет информацию в основном на своем родном языке (испанский). Остается надеяться, что в ближайшем будущем ситуация изменится в лучшую сторону.
Устанавливаем:
При установке YafRay у вас не должно возникнуть никаких затруднений. Все действия стандартны: щелкаем ЛКМ два раза на файле YafRay 0.0.9 Installer.exe, жмем кнопки для продолжения диалога, принимаем условия лицензии, указываем путь для установки (например C:\Program Files\YafRay) и т.п. В заключении установки жмем «Finish». Все, теперь в списке рендеров появится кроме Blender Internal и строчка YafRay. В закладках YafRay и YafRay GI настраиваем качество, сглаживание, метод просчета и т.п.
Вот картинка, полученная с применением данного рендера.


Картинка получилась несколько темноватой, но я принципиально решил не проводить каких-либо корректировок в растровом редакторе и не менять характеристики осветителя.
Таким образом, все рендеры находятся в одинаковых условиях.
Вывод: самый главный плюс YafRay, это его отличная интеграция в Blender и маленький размер дистрибутива. Качество, также на высоте. Минусы, пожалуй, в том, что информации по работе с ним довольно мало.
Примечание: на полученных картинках я привожу время расчета. Не стоит считать его оптимальным либо как-то характеризующим сам рендер. Оптимизацией расчетов я не занимался. Эти данные я привожу сугубо для сопоставления возможностей расчета рассматриваемого рендера. Визуализация проводилась на компьютере с процессором AMD Athlon 2500 Hz, 1 Gb RAM, OS Windows XP.
POV-Ray – один из самых «матерых» бесплатных рендеров, имеющий многолетнюю историю. Сам
рендер «весит» около 9 Мб. Однако, если вы хотите ощутить всю его мощь, то придется скачать неофициальную коллекцию «расширений» под названием
MegaPov (ещё 6 Мб).Заставить Pov-Ray «дружить» с Блендером можно двумя способами: скачав «заточенный» под него Блендер (примерно 5 Мб) и задействуя конвертор по имени
Blend2Pov v.006a автора RCRuiz), и который к тому же обновляется очень редко. При работе вторым способом невозможно экспортировать камеру и свет из сцены Блендера. (Для внесения справедливости, скажу, что существует и более свежая версия Блендера со встроенным экспортером Pov-Ray - Blend2Pov v.006J, скачать её можно с сайта
www.graphicall.com, но у меня она выдала совсем непредсказуемые результаты :(



О том как обойти эти недостатки, я расскажу чуть позже. К достоинствам, несомненно, можно отнести наличие документации как к Pov-Ray, так и к PoseRay (английский).
Алгоритм №1.
Распаковываем архив с Блендером (Blend2Pov006a.rar) и устанавливаем как обычно. Теперь, открыв этот Блендер, в поле выбора рендера выбираем POVRay. Меняя настройки в этом окне и в закладке POVRay выбираем необходимые значения. Все как обычно: качество, сглаживание, метод просчета и т.п. Только замечу, кнопка «Exec. POVRay» отвечает за то, будет ли рендер сразу просчитывать изображение, либо выгрузит сцену в ту папку, которая указана в пути экспорта YafRay.
Как я уже говорил, моя версия «заточенного» Блендера (Blend2Pov v.006a автора RCRuiz) не умеет передавать UV-координаты текстур, поэтому имеет смысл использовать этот путь только когда текстур нет (вообще-то трудно себе такое представить ;))… Возможно, у вас не будет с этим проблем и применять хитрости не придется.
Алгоритм №2.
Установка стандартная: запускаем файл povwin36.exe, далее принимаем условия лицензии и так далее. Затем, скидываем содержимое архива megapov-1.2.1-windows.zip в папку, куда был ранее установлен POVRay, с заменой файлов. Для установки конвертора PoseRay достаточно разархивировать его в любую папку. Теперь пропишем в PoseRay путь к исполняемому файлу MegaPov: закладка POV-Ray Output, поле POV-Ray executable (у меня, например, так - C:\Program Files\POV-Ray for Windows v3.6\bin\mpengine.exe).
Работу со сценой начнем с того, что экспортируем её в формат obj. Теперь открываем PoseRay, во вкладке Input жмем Load, выбираем 3d model и выбираем наш файл. Из всех вкладок PoseRay нам пригодятся Materials и POVRay Output. Как вы уже догадались, в первой будем настраивать материалы, во второй настраивать вывод сцены в POVRay. Во вкладке POVRay, из всех полей самые значимые Radiosity, Antialias, Quality. Выбрав нужные значения, жмем на кнопку Save&Edit – запустится POVRay, в котором будут открыты для редактирования четыре файла. Из них вручную редактировать мы будем только файл с расширением .pov
Т.к. камера и осветитель не импортируются корректно, то удалим строчки их настроек, и впишем:
camera { perspective angle 49.1343 location right 1.33333*-x sky <0.364443,0.874151,-0.321001> look_at rotate <0,-82,0> translate <-16,0,16> }
light_source { <-20.5036,27.3255,1.86578> rgb <1,1,1> parallel point_at <-19.7563,26.6617,1.83545>}
,где x,y,z это соответствующие значения координат камеры из Блендера;
x1,y1,z1 значения координат точки, куда смотрит наша камера.
Т.к. в Блендере вектор, куда смотрит камера характеризуется тремя значениями углов, на которые она повернута, а в PoseRay данный вектор вычисляется исходя из координат целевой точки, то для решения данной нестыковки поступим следующим образом: в Блендере продублируем камеру (Ctrl+D) и перенесем дубликат вдоль линии указывающей её направление. Вот её координаты и будут x1,y1,z1. Значения rotate и translate я подбирал эмпирически, хотя наверняка есть точная формула :)
(С остальными характеристиками PoseRay предлагаю разобраться самим, в этом поможет кнопка F1)
Для того чтобы не путаться, я записал эти строчки в отдельный текстовый файл. Теперь, нажав кнопку Run, отрендерим картинку. Таким образом, последовательность действий такова: все изменения будем вносить в PoseRay (в основном вкладки Materials и POVRay Output), затем сохранять для POVRay, в котором будем заменять эти две строчки на те, что в текстовике. И так при каждом изменении сцены в PoseRay. Представленные картинки получены именно этим способом.


К сожалению, настройки сцены были таковы, что найти пять отличий между первым и вторым вариантом рендера вряд ли удастся :(
Вывод: плюс данного визуализатора в гибкой настройке сцены и материалов (что поможет сэкономить время при финальном рендере), а также в наличии экспортера из самых популярных форматов хранения 3d-контента. Минус в довольно «шероховатой» интеграции с Блендером.
Sunflow – интересный рендер, отличающийся от остальных прежде всего своей реализацией: он работает на Java-машине, благодаря чему легко портируется на основные платформы (Windows, Linux, Mac OS).
Сам он «весит» около мегабайта, а вот необходимая для его работы Ява-машина (
JDK http://java.sun.com ) около 56 мегабайт, вот такой вот парадокс :).
Для переноса сцены из блендера в Sunflow необходимо установить
питоновский скрипт (примерно 100 Кб).
Также советую скачать
архив с примерами сцен и материалов для ознакомления с его возможностями (поковырявшись в них, можно открыть для себя много нового) – 3 Мб.
Поддерживает кучу «фишек», в перечисление которых не вижу особого смысла. Могу лишь указать на официальный сайт – там их расписывают довольно подробно.
Устанавливаем: скопируем файл sunflow_export.py в папку скриптов Блендера (у меня это C:\Program Files\Blender Foundation\Blender\.blender\scripts\). Теперь установим Яву. Запустим файл jdk-6u1-windows-i586-p.exe и установим со значениями по умолчанию. Теперь создадим папку для Sunflow, скопируем туда содержимое архивов sunflow-bin-v0.07.2.zip и sunflow-data-v0.07.1.zip (этот архив необязателен, в нем примеры материалов). Теперь для запуска Ява-машины выполним строчку:
java -server -Xmx1024M -jar sunflow.jar
Всё, теперь запустим sunflow.bat и увидим сам рендер. В случае ошибки, необходимо в файле sunflow.bat подправить путь к jdk, в зависимости от её версии.
В Блендере, откроем Scripts Window и выберем Scripts – Export – Sunflow Exporter… Все настройки рендера сосредоточены здесь. Экспортироваться сцена будет туда, куда указывает путь для экспорта YafRay. Я предпочитаю, экспериментируя с картинкой, экспортировать сцену, затем, в запущенном Sunflow открывать её и проводить визуализацию. Одна из особенностей экспортирования материалов – указание специфических приставок в их названии, например: для диффузного шейдера (передаются только цвета текстуры) материал должен начинаться с sfdif, для Фонга – sfpho и так далее. Загляните в закладку Shader Info - выбрав тип шейдера и нажав OK, вы получите подсказку - какую аббревиатуру добавить в начале названия материала (поле Links and Pipeline, строка Link to object). Для карт рельефа также своя особенность – они должны находиться во втором слоте и начинаться с bump или normal.
В самом рендере для визуализации сцены можно выбрать один из двух алгоритмов:
1. Классический метод (biased) – кнопка “Render”
2. Ускоренный расчет (Progressive Render) – кнопка 'IPR'
Начинать рендер лучше со второго варианта, т.к. общие очертания сцены увидеть можно буквально через несколько мгновений по сравнению с финальным рендером. Время расчета, естественно, зависит от самой сцены и мощности Вашего компьютера. Однако «настоящее» качество выдает только первый метод.

Вывод: интересный и перспективный рендер, для которого написан неплохой экспортер для Блендера. К сожалению, работать с шейдерами в нем пока не очень удобно. А вот наличие прогрессивного метода рендера (IPR) – очень эффективное решение для предварительного просмотра сцены. Размер дистрибутива для тех у кого и так есть свежая версия Явы (JDK) очень маленький, но тем у кого её нет придется качать около 60 Мб.
Теперь рассмотрим проприетарные рендеры, на момент написания статьи – бесплатные, но которые, вполне возможно, достигнув определенного качественного рубежа, станут коммерческим продуктом.
Indigo – единственный из пяти описываемых мною рендеров, полноценно принадлежащих к типу unbiased. Не требует настроек сглаживания, особых настроек света и т.п. Можно сказать так – Indigo все сделает за Вас, выбирать из огромного количества настроек не придется. К самому основному минусу можно отнести медленную скорость расчета. Для достижения качественной картинки придется подождать часок-другой J Для просчета анимации он подходит пожалуй меньше остальных.
Занимаемый объем:
сам рендер – 2 Мб,
экспортер – 1 Мб
Устанавливаем: создадим папку для Indigo (я создал C:\Program Files\Blender Foundation\Blendigo\), скопируем туда содержимое архива indigo_08_stable.zip, затем из архива blendigo_v0[1].7t7_beta2.zip, скопируем скрипт экспорта blendigo_v0.7t7_beta2.py (из соотв. архива) в папку скриптов Блендера (у меня это C:\Program Files\Blender Foundation\ Blender\ .blender\scripts\). Папку previews копируем в созданную нами папку для Indigo. Теперь копируем файл Indigowrapper.conf в C:\Program Files\Blender Foundation\Blender\.blender\scripts\bpydata\ и прописываем в нем путь к нашей папке (у меня это C:\Program Files\Blender Foundation\Blendigo\).


Свежая на момент написания статьи версия – 0.8 все еще очень привередлива к текстурам (некоторые текстуры по непонятной причине работают в формате JPG, некоторые BMP) – так что иногда приходится попотеть, прежде чем все заработает. Для того, чтобы не терять времени даром, есть возможность просматривать материалы – выбираем объект, переходим в окно скрипта экспорта Blendigo и жмем Preview.
Вывод: отлично прорабатывает рельеф, по реалистичности картинки он пожалуй, на первом месте. Компактный дистрибутив. Минусы в довольно сырой работе с текстурами (будем надеяться, что данные багги будут исправлены в ближайших релизах) и довольно большой ресурсоёмкости расчета.
Kerkythea – вот чем сразу может порадовать данный рендер, так это отличным редактором материалов и огромным количеством уже подготовленных. Импортировав сцену из Блендера, можно легко переназначить любому объекту его «визуальные» характеристики – будь то металл, стекло, пластик - всего лишь выбрав его и щелкнув два раза по понравившемуся материалу… В редакторе материалов можно выбрать карту цветовой текстуры и рельефа, а также настроить их как следует. Особо интересно наблюдать изменения настроек материала сразу на самом объекте (окошко Preview). Есть в Kerkythea и возможность покрутить всю сцену под разными углами и произвести рендер, либо вернуться к виду из камеры импортированной из Блендера. Количество заготовленных вариантов настроек рендера также не оставит в стороне любителей поэкспериментировать – 24 пресета! Среди которых есть использующие прогрессивный рендер, наподобие unbiased.
Сам рендер занимает около 2 Мб, «заточенный» Блендер (
Blen2KT) – 3 Мб. Несколько подборок
подготовленных материалов – меньше мегабайта.
Устанавливаем: специальный релиз Блендера(win32blender2KT0206.exe) распаковываем в нужную папку, затем устанавливаем Kerkythea2007.exe, путь установки можно оставить по умолчанию. Затем, скопируем содержимое архивов Basic Glasses.mat.zip, car_paint_vol2_by_Patrick_Nieborg.mat.zip, Metals_Matte_Phong_A1.mat.zip в папку материалов Kerkythea (по умолчанию это C:\Program Files\Kerkythea Rendering System\MaterialEditor\Libraries\).
Запускаем win32blender2KT0206.exe (для удобства, можно вывести ярлык на рабочий стол с именем Kerkythea) и в поле выбора рендера выбираем Kerkythea, теперь меняя настройки в этом окне и в закладке Render выбираем необходимые значения. Все так же: качество, сглаживание, метод просчета и т.п. Кнопка «Exec. Kerkythea» отвечает за то, будет ли рендер сразу просчитывать изображение, либо выгрузит сцену в ту папку, которая указана в пути экспорта YafRay.
Мне показалось удобнее, экспортировать сцену не меняя настроек в файл с расширением .xml, далее запускать этот файл в самом рендере Kerkythea и производить все настройки уже в нем. После открытия файла в Kerkythea, прежде всего выставляю меню File-Adjust-Solid Rendering, теперь все показывается привычно в текстурах. Разобраться с рабочими окошками не составит особого труда – все понятно на интуитивном уровне: слева названия всех присутствующих в сцене объектов, посередине вид на нее из камеры, справа обозреватель материалов и окно предварительного просмотра (рендера).

Можно также всячески крутить, передвигать, приближать и удалять сцену – используйте кнопки этих инструментов. Советую также проэкспериментировать со всеми функциями Kerkythea. Очень интересным для дизайнеров архитектуры должна показаться возможность выставлять дневную освещенность задавая месторасположение, дату и время «места событий» (Settings – Sun and Sky).

Возможно проводить цветовую коррекцию получаемого изображения, а также сохранение картинки на диск в любой момент рендера!
Вывод: радует частота обновлений откомпилированного для Kerkythea Блендера; картинка получается, после применения встроенной цветовой коррекции, очень оригинальной; легкости, с которой можно менять материалы и их визуальные свойства, другие рендеры могут лишь позавидовать. Минусы – иногда, картинка даже после применения сглаживания выглядит шумноватой.
В заключение, приведу ссылки для тех, кто хочет самостоятельно познакомиться с рендерами (официальные сайты большинства бесплатных рендеров, на английском):
Open Source Renderers
Angelina,
Aqsis,
Art of Illusion,
Inyo,
jrMan,
lucille,
Manta,
MegaPOV,
MiniLight,
Pane,
PARC,
PBRT,
perceptuum, Pixie, POV-Ray,
Radiance,
Ray of Light,
RenderPark,
R.I.S.E.,
toxic,
XFRT,
YafRay,
YACORT,
WinOSi
Proprietary Renderers
Arnold,
CGIStudio,
Dali,
Genesis Rendering Application,
Hungry Cat Renderer,
Igneus,
Iguana,
Indigo,
jotero-ray,
Kerkythea,
lightflow,
LightRay,
Galileo,
Metropolight,
OpenRT,
Parthenon,
Phos,
Quadrille,
Radium Renderer,
Redqueen,
RenderBitch,
Rhea,
Tachyonic,
Vidro,
Virtualight,
Wren,
YASRT
Вместо заключения.
Проводя эксперименты при визуализации одной и той же сцены в разных программах, я не ставил себе задачи выявить самый лучший рендер - данную работу предлагаю провести самостоятельно :). Я хотел лишний раз подчеркнуть, насколько разнообразен может быть результат. Каждый рендер имеет в своем арсенале сильные стороны: где-то лучше прорабатываются тени и рельеф, где-то отличные скоростные характеристики… Где-то легкость настройки, а где-то огромный выбор «пресетов» и полноценный «просмотрщик» 3d-сцен… Продолжать можно долго… Условия распространения и использования перечисленных программ позволяют применять их не стесняясь, ведь они БЕСПЛАТНЫ.
Итак, подведем итог…
Одна сцена и текстуры, единственный осветитель, та же камера, а результат применения различных рендеров говорит сам за себя:
СТОИТ ПОПРОБОВАТЬ!
Приятного блендинга!
Сообщений
30, на страницах:
1 2добавить сообщение