Вы находитесь на странице: 1из 810

V-Ray для Autodesk Maya

Руководство по визуализации

Д. А. Чехлов

Москва, 2020
УДК 624.01, 004.9
ББК 30.4с515
Ч56

Чехлов Д. А.
Ч56 V-Ray для Autodesk Maya. Руководство по визуализации. – М.: ДМК Пресс,
2020. – 808 с.: ил.

ISBN 978-5-97060-870-8
В этом руководстве подробно описывается работа в системе визуализации V-Ray
for Maya. Затрагиваются такие темы, как настройка ядра системы визуализации,
создание материалов, установка освещения и камер. Приведены практические
примеры и продемонстрированы современные технологии, используемые в про-
цессе визуализации синтетических изображений. Профессиональные пользо-
ватели смогут ознакомиться с форматом данных V-Ray и процессом экспорта
сцены из Maya в V-Ray Standalone, а также разобраться с ручным развертыванием
V-Ray.
Издание адресовано в первую очередь специалистам в области разработки
материалов, освещения и финальной визуализации. CG-художники и технические
специалисты могут использовать книгу как справочное руководство. Пригодится
она и начинающим пользователям Autodesk Maya и V-Ray for Maya, которые хотят
разобраться в возможностях V-Ray и функциях, специфичных для этой системы
визуализации.

УДК 624.01, 004.9


ББК 30.4с515

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

© Чехлов Д. А., 2020


ISBN 978-5-97060-870-8 © Оформление, издание, ДМК Пресс, 2020
Содержание

Введение. ...........................................................................................................11
От автора................................................................................................................11
Благодарности........................................................................................................12
О чем эта книга......................................................................................................12
Кому адресована эта книга...................................................................................13
Требования к оборудованию................................................................................14
Требования к программному обеспечению........................................................15
Форумы, посвященные Autodesk Maya и V-Ray..................................................16
Как читать книгу....................................................................................................16
Отзывы и пожелания.............................................................................................18
Список опечаток....................................................................................................18
Скачивание исходного кода..................................................................................18
Нарушение авторских прав..................................................................................19
Краткое введение в компьютерную графику......................................................19
Основы компьютерной графики и визуализации..........................................20
Системы визуализации.....................................................................................26
История V-Ray и его реализации в 3D-приложениях.....................................32
Новые возможности V-Ray Next Update 1........................................................33

Глава 1. Свет и цвет в компьютерной графике...................................34


1.1. Зрительная система человека........................................................................34
1.2. Цветовые пространства..................................................................................37
Трехцветные значения......................................................................................38
Значения X, Y и Z...............................................................................................40
Стандартный наблюдатель CIE.........................................................................40
Функции согласования цвета............................................................................41
1.3. Вычисление XYZ из спектральных данных...................................................42
Эмиссионный случай........................................................................................42
Случаи с отражениями и преломлениями......................................................42
1.4. Хроматическая диаграмма CIE xy и цветовое пространство CIE xyY.........42
1.5. Смешивание цветов, указанных в диаграмме цветности CIE xy................45
1.6. Определение цветового пространства СIE XYZ............................................46
Закон Грассмана................................................................................................47
Построение цветового пространства CIE XYZ из данных Райта–Гилда........48
1.7. Трансформация пространства XYZ в RGB....................................................50
1.8. Общий взгляд на цветовое пространство ACES............................................50
1.9. Понятие цветовой модели и пространства RGB...........................................51
Понятие аддитивных цветов............................................................................52
1.10. Краткая история развития цветовой модели RGB......................................53
4  Содержание

1.11. Управление цветом в операционных системах.........................................55


Управление цветом в Microsoft Windows.........................................................56
Управление цветом в Apple macOS..................................................................67
Управление цветом в CentOS Linux.................................................................72
1.12. Управление цветом в приложениях компьютерной графики...................76
Глубина цвета.....................................................................................................77
1.13. Система управления цветом в Autodesk Maya............................................80
Начало работы с MCMS.....................................................................................82
Конфигурация и глобальные настройки MCMS..............................................86
1.14. Управление цветом в V-Ray for Maya........................................................100
Коррекция цвета и тона в V-Ray for Maya......................................................102
Трансформация цвета в V-Ray Frame Buffer..................................................105
1.15. Управление цветом в DaVinci Resolve.......................................................107
Цветовое пространство и трансформации цвета..........................................108
Конфигурация LUT в DaVinci Resolve.............................................................111
Примеры конфигурации системы управления цветом в DaVinci
Resolve..............................................................................................................116
Анализ изображения с помощью инструментов Scopes..............................121
1.16. Управление цветом в NUKE.......................................................................125
1.17. Управление цветом в Adobe Photoshop CC...............................................131
Работа с Proof Colors........................................................................................137
1.18. OpenColorIO и Photoshop............................................................................140
1.19. Применение калибровочных цветовых шкал...........................................147

Глава 2. Инструменты визуализации Maya.........................................151


2.1. Выбор набора меню Rendering.....................................................................151
2.2. Глобальные параметры Maya.......................................................................154
2.3. Диалоговое окно Render Settings.................................................................156
Меню диалогового окна Render Settings........................................................156
Вкладка Common.............................................................................................158
Свиток Image File Output.................................................................................158
Свиток Translator.............................................................................................165
Свиток Animation............................................................................................166
Свиток Baking Engine Settings.........................................................................167
Свитки Renderable Cameras и Resolution.......................................................174
Свиток Render View.........................................................................................177
Свиток Scene Assembly....................................................................................179
Свиток MEL/Python callbacks..........................................................................180
2.4. Редактор материалов Hypershade................................................................181
2.5. Редактор Connection Editor...........................................................................187
2.6. Редактор Node Editor.....................................................................................189
2.7. Окно Render View...........................................................................................192
2.8. Редактор Color Chooser.................................................................................195
2.9. Редактор Rendering Flags..............................................................................196
2.10. Система Render Setup..................................................................................197
2.11. Рабочие процессы в визуализации............................................................201
Содержание  5

Глава 3. Знакомство с V-Ray for Maya...................................................204


3.1. Реализация V-Ray for Maya...........................................................................204
3.2. Введение в V-Ray Standalone........................................................................209
3.3. Специальные автономные утилиты V-Ray..................................................212
Утилита V-Ray Denoiser...................................................................................214
Утилита VRImage to EXR converter.................................................................216
Утилита Irradiance Map Viewer........................................................................218
Утилита Lens Analysis Tool..............................................................................219
Печать и съемка калибровочной сетки..........................................................222
Объективы с фиксированным и переменным фокусным расстоянием.....224
Выполнение анализа фотографий с калибровочной сеткой........................226
Анализ фотоснимков вручную.......................................................................228
Изменение данных профиля объектива........................................................230
Утилита Test Correction...................................................................................231
Утилита произвольных коррекций/искажений изображений.....................231
Профиль Full Zoom Lens..................................................................................233
Ограничения утилиты Correction/Distortion Utility......................................234
Применение профиля к V-Ray Physical Camera в Maya.................................234
Утилита Lens Effects Filter Generator..............................................................237
Утилита Image to tiled multiresolution EXR converter....................................238
Утилита конвертации геометрии в V-Ray Proxy...........................................242
Утилита V-Ray Mesh Viewer.............................................................................247
3.4. Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer............................250
V-Ray Frame Buffer...........................................................................................252
Основная панель инструментов.....................................................................253
Панель быстрого доступа к параметрам.......................................................256
Создание штампов с информацией...............................................................260
Применение оптических эффектов...............................................................262
Применение коррекции цвета и управление цветовыми
пространствами...............................................................................................267
Применение цветовых пространств и систем управления цветом.............274

Глава 4. Геометрия, выборка и качество изображений................280


4.1. Поддерживаемые V-Ray типы геометрии...................................................280
4.2. Расширенные свойства V-Ray для узла transfrom.......................................287
4.3. Расширенные свойства и тесселяция полигональной геометрии
в V-Ray..................................................................................................................289
Расширенные атрибуты Subdivision...............................................................289
Расширенные атрибуты Subdivision and Displacement Quality....................291
Расширенные атрибуты Displacement Control..............................................293
Расширенные атрибуты OpenSubdiv..............................................................300
4.4. Создание закругленных углов на этапе визуализации..............................304
4.5. Создание идентификатора Object ID...........................................................306
4.6. Создание пользовательских атрибутов.......................................................307
Пример использования пользовательских атрибутов..................................308
4.7. Использование Local Ray Server...................................................................309
6  Содержание

4.8. Использование радиуса спада тумана (Fog Fade Out Radius).....................310


Пример использования Fog Fade Out Radius.................................................311
4.9. Переопределение свойств объекта с помощь узла
VRayObjectProperties...........................................................................................312
4.10. Создание и загрузка объектов V-Ray Proxy и моделей V-Ray Scene.......318
Формат файла .vrmesh.....................................................................................319
Поддержка формата Alembic..........................................................................319
Подготовка и экспорт геометрии в формат V-Ray Mesh..............................320
Импорт геометрии в формате V-Ray Proxy в сцену......................................323
Редактирование атрибутов узла VRayMesh...................................................324
Свиток Basic Parameters..................................................................................325
Свиток Alembic Layers.....................................................................................327
Свиток Animation Parameters..........................................................................327
Свиток Alembic Proxy Paramaters...................................................................329
Свиток Point Cloud...........................................................................................330
Свиток Material assignment overrides.............................................................330
Свиток VRayMesh File Info..............................................................................331
4.11. Работа с форматом V-Ray Scene и инструментом V-Ray Scene
Manager.................................................................................................................332
Для чего необходимо использовать V-Ray Scene?.........................................332
Экспорт сцены в формат V-Ray Scene и импорт с помощью V-Ray
Scene Manager..................................................................................................334
Импорт материалов из файлов в формате V-Ray Scene...............................335
Визуализация с помощью V-Ray Standalone.................................................336
Конвертирование в объекты V-Ray Proxy......................................................336
Редактор V-Ray Scene Manager........................................................................337
Атрибуты узла VRayScene...............................................................................338
Применение Maya MASH совместно с V-Ray Proxy и V-Ray Scene...............342
4.12. Объект VRayPlane........................................................................................347
4.13. Объект VRayClipper.....................................................................................348
4.14. Визуализация кривых в V-Ray for Maya.....................................................351
4.15. Визуализация NURBS в V-Ray for Maya......................................................353
4.16. Сглаживание и выборка изображения......................................................353
Что такое сглаживание изображения (Anti-aliasing)?...................................354
Свиток Image Sampler......................................................................................356
Конфигурация V-Ray Progressive Engine........................................................363
Конфигурация V-Ray Bucket Sampler..............................................................365
Настройка DMC Sampler..................................................................................369
Причины появления DMC Sampler.................................................................370
Определение значений для DMC Sampler......................................................371
4.17. Оптимизация работы ядра системы визуализации..................................371
Настройки Raycaster........................................................................................372
Использование возможностей бибилиотеки Intel Embree...........................374
Расширенные настройки работы ядра V-Ray................................................375
Функция отслеживания использования памяти...........................................377
Переопределение параметров визуализации...............................................378
4.18. Визуализация с помощью V-Ray GPU........................................................381
   7

Распределение ресурсов системы для вычислений......................................383


Настройка V-Ray GPU......................................................................................386
4.19. Анализ сцены с помощью элемента V-Ray Sample Rate..........................393

Глава 5. Шейдеры V-Ray for Maya..........................................................396


5.1. Материаловедение........................................................................................396
Примеры с неорганическими материалами.................................................397
Примеры с органическими материалами.....................................................399
5.2. Шейдеры материалов V-Ray.........................................................................400
Специальные атрибуты для шейдеров материалов и текстур.....................400
Шейдер VRayBlendMtl.....................................................................................406
Шейдер VRayMtl2Sided....................................................................................410
Шейдер VRaySwitchMtl....................................................................................413
Шейдер VRayBumpMtl.....................................................................................414
Шейдер VRayMtl...............................................................................................417
Шейдер VRayLightMtl......................................................................................443
Шейдер VRayCarPaintMtl.................................................................................447
Шейдер VRayFastSSS2......................................................................................459
Шейдер VRaySkinMtl........................................................................................471
Шейдер VRayAlSurface.....................................................................................472
Шейдер VRayMtlWrapper.................................................................................476
Шейдер VRayMeshMaterial..............................................................................478
Шейдер VRayMtlHair3......................................................................................481
5.3. Шейдеры текстурных карт V-Ray.................................................................485
Узел определения растровой текстурной карты File....................................487
Узел позиционирования двумерной текстуры place2dTexture....................493
Шейдер Occlusion or Dirt Map | VRayDirt........................................................497
Шейдер Edges Map | VRayEdgesTex.................................................................500
Шейдер Falloff Map | VRayFalloff.....................................................................501
Шейдер Fresnel Map | VRayFresnel..................................................................505
Шейдер Layered Texture | VRayLayeredTexture...............................................506
Шейдер Multi Sub-Object Map | VRayMultiSubTex..........................................510
Шейдер Ray Switch Map | VRayRaySwitch........................................................513
Шейдер Triplanar Texture Mapping | VRayTriplanar........................................515
Работа с текстурными картами в формате Ptex............................................518

Глава 6. Камеры и освещение в V-Ray.................................................541


6.1. Основы работы с камерой............................................................................541
Подробнее о правиле третей..........................................................................545
6.2. Стандартные камеры Maya...........................................................................546
Свиток Camera Attributes................................................................................550
Свиток Film Back..............................................................................................554
Свиток Environment.........................................................................................560
Свиток Special Effects......................................................................................562
Свиток Orthographic Views..............................................................................563
6.3. Камеры V-Ray................................................................................................564
8  Содержание

Добавление дополнительных атрибутов камеры V-Ray...............................565


Создание переопределений камеры в редакторе Render Settings...............565
Атрибуты камеры V-Ray. Введение................................................................565
Атрибуты камеры V-Ray. V-Ray Physical Camera...........................................567
Моделирование эффекта глубины резкости и размытия движения...........579
Атрибуты камеры V-Ray. Camera Settings......................................................585
Атрибуты камеры V-Ray. Dome Camera..........................................................587
Глобальные атрибуты эффекта размытия движения....................................588
6.4. Основы работы с освещением.....................................................................590
6.5. Источники света V-Ray.................................................................................595
Источник света V-Ray Rectangle Light............................................................596
Источник света V-Ray Dome light...................................................................607
Узел определения положения текстурной карты окружения
VRayPlaceEnvTex..............................................................................................613
Моделирование освещения от солнца и небосвода......................................614
Реализация V-Ray Sun и V-Ray Sky в Maya.....................................................616
Шейдер процедурной текстурной карты окружения V-Ray Sky Texture......624
Узел изменения положения солнца VRayGeoSun..........................................624
Источник света V-Ray Light Sphere.................................................................626
Источник света V-Ray Light Mesh...................................................................628
Источник света V-Ray IES Light.......................................................................629
Просмотр IES профилей..................................................................................630
Ключевые атрибуты источника света V-Ray IES Light..................................631
6.6. Инструмент V-Ray Light Lister......................................................................633
6.7. Глобальное освещение в V-Ray....................................................................635
Первичные и вторичные отражения..............................................................635
Подходы к формированию глобального освещения....................................637
Общий взгляд на методы GI...........................................................................639
Параметры методов GI и их настройка.........................................................643
Параметры метода Brute Force GI...................................................................643
Параметры метода Irradiance Map..................................................................644
Параметры метода Light Cache.......................................................................655
Моделирование эффекта каустики................................................................665

Глава 7. Вывод изображения и композитинг.....................................671


7.1. Подготовка сцены к визуализации..............................................................671
Список элементов изображения....................................................................674
Атрибуты..........................................................................................................674
7.2. Формат OpenEXR и управление данными..................................................676
Стандартные изображения и изображения с глубиной пикселей...............679
Части, изображения, файлы типов Single-Part и Multi-Part.........................680
Заголовки и атрибуты.....................................................................................680
Пространство пикселя, окно отображения и окно данных..........................680
Каналы изображений и количество образцов...............................................682
Ограничения на количество образцов...........................................................683
Проекция, координатная система камеры и область экрана.......................683
Содержание  9

Pixel Aspect Ratio..............................................................................................683


Scan Lines..........................................................................................................684
Tiles...................................................................................................................684
Уровни и режимы уровней.............................................................................685
Значения уровней, размеры уровней и Rounding Mode...............................686
Координаты прямоугольных областей...........................................................686
Виды.................................................................................................................687
Реализация OpenEXR в V-Ray и NUKE............................................................687
Заголовок.........................................................................................................690
Ограничения на значения атрибутов............................................................692
Scan-Line-изображения...................................................................................692
Прямоугольные области..................................................................................692
Компрессия данных.........................................................................................693
Яркость/цветность изображений...................................................................694
Тип данных HALF.............................................................................................695
Рекомендации..................................................................................................695
Цвет, альфа-канал и композитинг flat-изображений...................................698
Теория OpenEXR Deep Samples.......................................................................699
7.3. V-Ray Render Elements и процесс композитинга.......................................708
Подгруппы элементов изображений.............................................................710
Список поддерживаемых элементов изображения......................................710
Основные элементы и их атрибуты...............................................................716
Инструменты объединения элементов приложениях
для композитинга............................................................................................717
Базовые элементы изображения....................................................................720
Базовые элементы компонент изображения................................................722
Опорные элементы RAW в композитинге базовых элементов...................742
Создание групп освещения с помощью элемента Light Select....................744
Основные атрибуты элемента Light Select....................................................745
Добавление источников света в связь с элементом Light Select..................747
Общий процесс композитинга.......................................................................748
Элементы для формирования и управления масками.................................750
Создание масок с помощью элемента Cryptomatte......................................757
Установка Cryptomatte plug-in’s в NUKE и Fusion.........................................761
Элемент изображения Cryptomatte в V-Ray for Maya...................................763
Элементы изображения Z-Depth и Velocity...................................................767
Элемент Lighting Analisis. Анализ освещения в сцене.................................772
Элемент Denoiser. Удаление шума с изображения.......................................775
Алгоритмы и методы устранения шума........................................................776
Предлагаемые настройки визуализации.......................................................780
Очистка отдельных элементов изображения................................................782
Удаление шума в режиме IPR.........................................................................782

Приожение А. Установка и развертывание V-Ray...........................783


А.1. Загрузка дистрибутива и подготовка к установке.....................................783
A.2. Установка сервера лицензий Chaos Group..................................................787
A.3. Установка V-Ray for Maya с помощью инсталлятора................................789
10  Содержание

A.4. Установка V-Ray for Maya из ZIP-архива.....................................................792

Приложение Б. Конфигурация V-Ray....................................................799


Б.1. Загрузка модуля расширения V-Ray for Maya.............................................799
Б.2. Запуск V-Ray Standalone...............................................................................799
Б.3. Запуск V-Ray Standalone Render Server........................................................800

Приложение В. Экосистема V-Ray..........................................................801

Список литературы.......................................................................................803
Введение

От автора
Идея написать вторую книгу, посвященную одной из самых интересных
и динамично развивающихся областей в индустрии компьютерной графики,
у меня появилась достаточно давно, еще в 2010 году. Но еще раньше, в 2007 го­
ду, я задумывался о том, чтобы взяться за написание книги, посвященной ин-
струментам и технологиям визуализации. С опытом пришло осознание того,
что и как нужно сделать, а также понимание того, что на рынке практически
отсутствует целый пласт литературы, посвященной пакету Autodesk Maya,
а также инструментам и техникам визуализации.
Системой визуализации V-Ray я пользуюсь на протяжении многих лет, и по-
чему бы не рассказать о ее возможностях? Ведь достаточно часто пользователи
обращаются с множеством вопросов о том, как использовать V-Ray, как свя-
зывать между собой шейдеры и многие другие возможности и инструменты
системы визуализации. Это и послужило толчком к началу работы над новой
книгой, целиком посвященной визуализации в пакете Autodesk Maya и систе-
ме визуализации V-Ray for Maya.
Я родился и живу в городе Екатеринбурге, столице Урала, практически на
границе Европы и Азии. В сфере компьютерной графики работаю на протяже-
нии 19 лет. Свой путь мне довелось начать как простому CG-художнику (Com-
puter Graphics), выполняя различные заказы и практикуясь. Благодаря этому
удалось получить хороший опыт в различных областях компьютерной графи-
ки и дизайна. Но область визуализации, системной инженерии и технологий
мне всегда нравилась больше, что и послужило желанием развиваться в дан-
ном направлении.
Осенью 2007 года был опубликован мой первый урок на страницах онлайн-
журнала RENDER.RU, с этого момента, можно сказать, началась моя деятель-
ность в качестве технического писателя и ИТ-журналиста. Сейчас основное
направление моей деятельности – теория компьютерной графики и визуали-
зации, теория и практика обработки изображений, разработка рабочих про-
цессов. Под моим авторством издано и опубликовано множество статей и об-
зоров, посвященных теме технологий визуализации в CG.
На протяжении двух десятилетий собралась огромная коллекция материа-
лов, посвященных методам и инструментам визуализации современных CG-
изображений. Большинство из них вошло в идею написания книги, которую
вы держите в своих руках, целиком посвященной техникам и инструментам
визуализации.
Также я веду профильный блог под названием «dimson’s Blog» – он посвя-
щен общим вопросам CG и различным новостям из мира технологий. Досту-
пен в сети интернет по адресу http://dimson3d.blogspot.com/.
12  Введение

На страницах онлайн-журнала RENDER.RU я веду свою авторскую колон-


ку и блог для сообщества художников, целиком посвященный технологиям
и возможностям современных инструментов визуализации. Доступен в сети
интернет по адресу https://render.ru/ru/dimson3d.

Благодарности
За безграничную поддержку я хочу поблагодарить своих друзей и коллег, кто
поддержал идею написания книги и помог реализовать задуманные планы.
За оказанную поддержку и помощь выражаю большую благодарность своим
друзьям, а именно: главному редактору портала RENDER.RU Роману Цапику,
Александру Кыштымову (Skif) за предоставленные им модели для создания
иллюстраций в книге. Благодарю своего близкого друга и талантливого редак-
тора Лидию Добрачеву, поддержавшую в период работы над сложнейшими
разделами книги. За помощь в создании иллюстраций книги и подготовлен-
ные образы благодарю Светлану Чубатову.
За возможность использования современных решений для компьютерной
графики и визуализации, за поддержку и возможность «немного опережать
время» выражаю благодарность представительству компании Autodesk в Рос-
сии и программе Autodesk Developer Network. За поддержку и посильную по-
мощь хочется поблагодарить своих друзей и коллег из Autodesk Expert Elite:
Андрея Плаксина и Елену Талхину.
За техническую поддержку и обеспечение необходимыми вычислительны-
ми ресурсами выражаю огромную благодарность Евгению Звереву и Роману
Луценко из компании FORSITE. Также за поддержку и обеспечение необходи-
мыми программными решениями благодарю представителей компании Chaos
Group, а именно Джавида Иманова (Javid Imanov) и Александра Каракашева
(Alexander Karakashev).

О чем эта книга


Книга, которую вы держите в руках, посвящена системе визуализации V-Ray
от компании Chaos Group и его реализации в виде интеграции V-Ray for Maya.
С одной стороны, это подробный гид по основным атрибутам и параметрам
системы визуализации, но также эта книга раскрывает основные принципы
представления данных и работу основных алгоритмов, используемых в ядре
системы визуализации V-Ray for Maya.
Книга представлена семью главами и тремя приложениями. Приведу крат­
кое описание ключевых тем.
Глава 1 «Свет и цвет в компьютерной графике». Первая глава посвяще-
на теории и инструментам управления цветом в приложениях компьютер-
ной графики и пост-обработки. В данной главе подробно рассмотрены такие
вопросы, как цветовые модели и пространства, системы управления цветом
в ведущих приложениях компьютерной графики, преобразованию цветовых
пространств из одного в другое и вывода изображения на дисплей.
Кому адресована эта книга  13

Глава 2 «Инструменты визуализации Maya». Вторая глава посвящена не-


посредственно пакету Autodesk Maya и реализованным в его интерфейсе ин-
струментам визуализации трехмерных сцен. Благодаря этой главе вы узнаете
о реализации V-Ray for Maya и первичной настройке системы визуализации.
Глава 3 «Начало работы с V-Ray for Maya». Третья глава целиком посвя-
щена началу работы с V-Ray for Maya. Здесь вы узнаете об основных элементах
интерфейса, в которых реализован функционал V-Ray, о поставляемых в ком-
плекте с V-Ray for Maya дополнительных инструментах и их назначении.
Глава 4 «Геометрия и выборка». В четвертой главе рассматриваются
принципы работы с геометрией, методами выборки и качеством визуализиру-
емого изображения; какие настройки использовать для повышения качества
сглаживания и трассировки лучей; какие методы предоставляет V-Ray и когда
их целесообразно применять.
Глава 5 «Шейдеры V-Ray». Пятая глава целиком посвящена работе с шей-
дерами материалов и текстур, поставляемых с V-Ray for Maya; основным мо-
делям затенения и технологиям текстурирования объектов, реализованных
в V-Ray for Maya.
Глава 6 «Камеры и освещение в V-Ray». В шестой главе детально описаны
камеры и источники света, свойства источников света и методы глобального
освещения, реализованные в V-Ray for Maya.
Глава 7 «Вывод изображений и композитинг». В седьмой главе описа-
ны принципы вывода изображений и запись определенных данных. Подроб-
но рассмотрен формат OpenEXR и приведены основные алгоритмы сведения
элементов изображения на этапе композитинга с применением NUKE, а также
дано несколько примеров во FUSION и Adobe After Effects.
Приложение А «Установка и развертывание V-Ray for Maya». Этот раз-
дел целиком посвящен установке и развертыванию системы визуализации
V-Ray for Maya; он будет полезен при переходе на новую версию программы
и ядра визуализации, а также для развертывания на фермах визуализации
с операционными системами Linux и Windows.
Приложение Б «Конфигурация V-Ray for Maya». Во втором приложении
рассмотрены основные переменные среды, используемые для конфигурации
системы визуализации V-Ray for Maya и V-Ray Standalone.
Приложение В «Экосистема V-Ray». Краткое описание экосистемы V-Ray,
интеграции в различные 3D-пакеты и конвейер передачи данных между раз-
личными приложениями.
Все главы данной книги представляют отдельные области функционально-
сти системы визуализации V-Ray for Maya – от настройки базовых параметров
системы визуализации до моделирования глобального освещения в сцене
и вывода многоканальных изображений. Опираясь на представленный в кни-
ге материал, вы можете выстраивать свои собственные рабочие процессы,
наиболее выгодные для вашего стиля работы и проектов.

Кому адресована эта книга


Данная книга прежде всего адресована специалистам, работающим в области
разработки материалов, освещения и финальной визуализации. Это издание
14  Введение

может быть применено как подробное справочное руководство для CG-ху­


дожников и технических специалистов. Начинающие пользователи Auto­desk
Maya и V-Ray for Maya смогут лучше разобраться в возможностях V-Ray и спе­
ци­фичных для данной системы визуализации функциях.

Требования к оборудованию
Для работы с V-Ray for Maya рекомендуется использовать компьютеры со
следующими минимальными требованиями. В качестве основы взяты тре-
бования для всего пакета в целом. Пакет Autodesk Maya 2018 поддерживает
следующие 64-битные операционные системы и минимальные требования
к оборудо­ванию.
Операционная система:
 Windows® 7 Professional edition;
 Windows® 8.1 Professional edition;
 Windows® 10 Professional edition;
 Apple® mac OS® X 10.11.x, 10.12.x, 10.13.x, 10.14x1;
 Red Hat® Enterprise Linux® 6.5 & 7.2 WS2;
 CentOS 6.5 & 7.2 Linux.
Для доступа к онлайн-документации и сервисам необходимы следующие
веб-браузеры:
 Microsoft® Internet Explorer®;
 Apple® Safari®;
 Mozilla® Firefox®;
 Google Chrome™.
Центральный процессор (CPU): 64-бит многоядерный процессор от Intel
или AMD с поддержкой набора инструкций SSE 4.2.
Рекомендуется процессор с четырьмя и более вычислительными ядрами.
Процессоры от компании Intel (с помощью технологии Hyper-Threading (HT))
и процессоры компании AMD (на базе архитектуры Zen) могут обрабатывать
два потока на каждом из физических ядер. Для этого следует обращать внима-
ние на модель процессора и его маркировку; обычно количество ядер/потоков
определяется значениями 2/4, 4/8, 6/12, 8/16, 10/20, 32/64 и т. д.
Оперативная память (RAM): минимум 8 Гб (рекомендуется 16 Гб и боль-
ше). Для работы с большими и комплексными сценами рекомендуется исполь-
зовать 32 или 64 Гб+ оперативной памяти. Это также позволит комфортнее
работать с несколькими одновременно запущенными программами или эк-
земплярами Maya.
Жесткий диск (HDD): для установки пакета Autodesk Maya 2018 по умолча-
нию требуется 3 Гб свободного пространства на жестком диске.

1 Если вы выполнили обновление до macOS 10.15, ознакомьтесь с информацией о пе-


реходе на версию macOS Catalina, доступную на странице Running previous versions
of Maya on macOS Catalina: https://knowledge.autodesk.com/support/maya/troubleshoot-
ing/caas/simplecontent/content/running-previous-versions-maya-macos-catalina.html.
2 Требуется лицензия multi-user, лицензия single-user не поддерживается.
Требования к программному обеспечению  15

Графический ускоритель (GPU): рекомендуется использовать GPU от ком-


паний NVIDIA или AMD с 4 Гб графической памяти и выше.
Пакет Autodesk Maya 2018 поддерживает Multi-GPU конфигурации рабочих
станций; таким образом, вы можете использовать несколько GPU, установлен-
ных в вашей системе. Это позволяет применять большие текстурные карты
и выполнять интерактивную визуализацию в панелях видовых окон проекций
с высокой скоростью.
Для обеспечения функций и поддержки ускорения вычислений с применени-
ем GPU в Maya и V-Ray GPU убедитесь, что ваш графический ускоритель поддер-
живает API NVIDIA CUDA (для GPU от NVIDIA) и Open CL (для GPU NVIDIA и AMD).
Манипулятор: трехкнопочная мышь.
Помимо мыши, в пакете Autodesk Maya можно смело использовать графи-
ческий планшет, такой как Intuos от компании WACOM, а также специальный
манипулятор SpacePilot от компании 3DConnection.
Запуск Maya в виртуализированном окружении на основе NVIDIA GRID
и VMware. Вы можете запустить Maya в виртуальной среде с применением
возможностей технологии NVDIA GRID и VMware. Это позволяет запускать
приложение на удаленной системе и выполнять работу с применением уда-
ленных рабочих столов. Подробнее о запуске Maya в виртуализированной сре-
де вы можете узнать из документа Nvidia Guide for Virtualization with GRID &
VMWare, доступного по ссылке http://images.nvidia.com/content/grid/pdf/maya/
NVIDIA-GRID%20Application-Guide-Autodesk-Maya.pdf.
Это минимальные требования к оборудованию, на котором может быть за-
пущен пакет Autodesk Maya с V-Ray for Maya. По сути, чем производительнее
будет CPU и другие компоненты системы, тем быстрее вы сможете выполнять
работу над проектами. Не менее важным считается тот факт, что компания
Autodesk выполняет сертификацию рабочих станций и графических ускорите-
лей. Сертификация позволяет быстрее выбрать подходящую модель рабочей
станции или графического ускорителя, а также найти драйверы, сертифици-
рованные под текущую версию приложения.

Требования к программному обеспечению


В данной книге рассматривается Autodesk Maya 2018 Update 6. Это программ-
ное обеспечение можно загрузить с официального сайта компании Autodesk
с правом бесплатного использования в течение 30 дней (trial version): https://
www.autodesk.com/products/maya/overview.
Помимо этого, для студентов и преподавателей доступна возможность при-
менения полноценной версии Autodesk Maya, доступной по академической
лицензии. Программу можно загрузить со специального ресурса Autodesk Edu-
cation Community: https://www.autodesk.com/education/home.
Академическая лицензия действует на протяжении трех лет с момента уста-
новки и активации программы. Стоит учесть, что данные лицензии не под-
­разумевают коммерческое использование программы. Для применения Auto­
desk Maya в коммерческих проектах рекомендуется приобрести данное про-
граммное обеспечение у партнеров и дистрибьюторов компании.
16  Введение

Рекомендуется позаботиться об обновлениях программного обеспечения.


Обновления доступны по следующему адресу: https://manage.autodesk.com/.
В процессе написания книги все сцены были созданы на основе возможностей
Autodesk Maya 2018 Update 6. Я рекомендую использовать текущую, доступную
для загрузки версию Maya.

В этой книге рассматриваются V-Ray 3.6 for Maya и V-Ray Next, Update 1. Это
программное обеспечение можно загрузить с официального сайта компании
Chaos Group с правом бесплатного использования в течение 30 дней (trial ver-
sion): https://www.chaosgroup.com/vray/maya.
Для студентов и преподавателей доступна возможность применения полно-
ценной версии V-Ray for Maya, доступной по академической лицензии за ми-
нимальную плату. Центр ресурсов для образования Chaos Group доступен по
ссылке https://www.chaosgroup.com/resources.

Форумы, посвященные Autodesk Maya и V-Ray


Если у вас появились вопросы по работе с пакетом Autodesk Maya и системой
визуализации V-Ray for Maya, вы можете задать их на специализированных
форумах, посвященных компьютерной графике и продуктам компании Auto­
desk. Специалисты, работающие с данными решениями, всегда постараются
ответить на ваши вопросы и дать полезный совет.
Форум Autodesk Community Russia, посвященный Maya и 3ds Max:
https://forums.autodesk.com/t5/3ds-max-maya-russkiy/bd-p/379.
Форум Chaos Group, посвященный системе визуализации V-Ray for
Maya: https://forums.chaosgroup.com/forum/v-ray-for-maya-forums.
Форум онлайн-журнала RENDER.RU, посвященный Maya: https://render.
ru/xen/forums/maya.3/.
Форум онлайн-журнала RENDER.RU, посвященный системе визуали-
зации V-Ray: https://render.ru/xen/forums/vray.22/.

Как читать книгу


Данное издание в своей основе является руководством по визуализации
в V-Ray for Maya. Так, примеры блоков декларации элементов сцены и специ­
фикаций шейдеров в формате V-Ray Scene представлены в виде листинга:
GeomStaticMesh pPlaneShape1@mesh3 {
vertices=ListVector(
Vector(-2.5, -5.551115e-016, 2.5),
Vector(2.5, -5.551115e-016, 2.5),
Vector(-2.5, 5.551115e-016, -2.5),
Vector(2.5, 5.551115e-016, -2.5)
);
faces=ListInt(0,1,3,0,3,2);
normals=ListVector(
Как читать книгу  17

Vector(0, 1, 2.220446e-016),
Vector(0, 1, 2.220446e-016),
Vector(0, 1, 2.220446e-016),
Vector(0, 1, 2.220446e-016)
);
faceNormals=ListInt(0,1,2,0,2,3);
map_channels=List(
List(
0,
ListVector(
Vector(0, 0, 0),
Vector(1, 0, 0),
Vector(0, 1, 0),
Vector(1, 1, 0),
Vector(0, 0, 0)
),
ListInt(0,1,3,0,3,2)
)
);
map_channels_names=ListString(
"map1"
);
edge_visibility=ListInt(51);
primary_visibility=1;
dynamic_geometry=0;
first_poly_vertices=ListInt( );
}
Если используются сценарии на языках MEL, Python или выражения, они
также представлены в виде листинга, но перед этим отдельно отмечено, что
приведенный листинг представляет сценарий или выражение на языке MEL
или Python.
Если атрибут указывается впервые, он будет отмечен жирным шрифтом.
В ряде ссылок на конкретные атрибуты атрибут выделен курсивом. Если впер-
вые указывается диалоговое окно редактора, в котором выполняется настрой-
ка шейдера, источника света, связей между узлами и другие настройки, его
имя будет выделено курсивом.
Пути доступа к диалоговым окнам и другим функциям программы, реали-
зуемым с помощью меню, представлены следующими записями, выполнен-
ными курсивом:
Menu ⇒ Sub-Menu ⇒ Window ⇒ Rollout ⇒ Sub-Rollout
Menu ⇒ Sub-Menu ⇒ Window ⇒ □
Пути к директориям или файлам и расширения файлов представлены за-
писью в стиле UNIX-подобных систем с применением моноширинного шрифта:
/home/<UserName>/maya/XXXX/prefs
Это сделано специально, так как пакет Autodesk Maya и система визуализа-
ции V-Ray используют принципы определения путей в файловой системе, ре-
ализованные в UNIX-подобных системах, а также конфигурация приложения
может быть записана только с использованием косой черты. Данный принцип
18  Введение

записи путей в директориях реализован в операционных системах Apple ma-


cOS и семейства GNU/Linux.
Большинство скриншотов в книге выполнено в версии Autodesk Maya для
Linux (окружение GNOME 3). Некоторые иллюстрации специально выполнены
на других ОС, но принципиальных различий в интерфейсе или названиях ин-
струментов нет, программа Maya и система визуализации V-Ray for Maya раз-
работаны как универсальное мультиплатформенное решение. А особенности
каждой из платформ в тексте оговорены отдельно.

Так выделяется информация на заметку.

Так обозначаются советы.

Так обозначаются предупреждения и предостережения.

Отзывы и пожелания
Мы всегда рады отзывам наших читателей. Расскажите нам, что вы думаете об
этой книге – что понравилось или, может быть, не понравилось. Отзывы важны
для нас, чтобы выпускать книги, которые будут для вас максимально полезны.
Вы можете написать отзыв прямо на нашем сайте www.dmkpress.com, зайдя
на страницу книги, и оставить комментарий в разделе «Отзывы и рецензии».
Также можно послать письмо главному редактору по адресу dmkpress@gmail.
com, при этом напишите название книги в теме письма.
Если есть тема, в которой вы квалифицированы, и вы заинтересованы в на-
писании новой книги, заполните форму на нашем сайте http://dmkpress.com/
authors/publish_book/ или напишите в издательство: dmkpress@gmail.com.

Список опечаток
Хотя мы приняли все возможные меры для того, чтобы удостовериться в ка-
честве наших текстов, ошибки все равно случаются. Если вы найдете ошибку
в одной из наших книг – возможно, ошибку в тексте или в коде, – мы будем
очень благодарны, если вы сообщите нам о ней. Сделав это, вы избавите дру-
гих читателей от расстройств и поможете нам улучшить последующие версии
данной книги.
Если вы найдете какие-либо ошибки в коде, пожалуйста, сообщите о них
главному редактору по адресу dmkpress@gmail.com, и мы исправим это в сле-
дующих тиражах.

Скачивание исходного кода


Скачать файлы с дополнительной информацией для книг издательства «ДМК
Пресс» можно на сайте www.dmkpress.com на странице с описанием соответст­
вую­щей книги.
Краткое введение в компьютерную графику  19

Нарушение авторских прав


Пиратство в интернете по-прежнему остается насущной проблемой. Изда-
тельство «ДМК Пресс» очень серьезно относится к вопросам защиты авторских
прав и лицензирования. Если вы столкнетесь в интернете с незаконно выпол-
ненной копией любой нашей книги, пожалуйста, сообщите нам адрес копии
или веб-сайта, чтобы мы могли применить санкции.
Пожалуйста, свяжитесь с нами по адресу dmkpress@gmail.com со ссылкой на
подозрительные материалы.
Мы высоко ценим любую помощь по защите наших авторов, помогающую
нам предоставлять вам качественные материалы.

Краткое введение в компьютерную графику


В современном мире компьютерная графика и визуализация занимают едва
ли не главную позицию в представлении различной информации, начиная
рекламой новых продуктов и заканчивая интерактивными развлечениями.
Визуализация в компьютерной графике является одним из этапов в форми-
ровании статичного изображения или секвенции кадров анимации, позволя-
ющих реализовать творческую идею. За последние три десятилетия уровень
компью­терной графики вырос настолько, что сейчас сложно отличить создан-
ное с помощью компьютера и программы изображение от фотографии. В свою
же очередь это стало достижимо благодаря таким продуктам, как Autodesk
Maya и Chaos Group V-Ray.
Ряд произведений цифрового искусства могут соперничать с работами из-
вестных мировых художников, работающих в классических техниках. При
этом многие молодые таланты, выросшие в эпоху расцвета высоких техноло-
гий, предпочитают пользоваться компьютерами и мобильными устройствами
для воплощения своих образов в жизнь.
Широкую популярность получило распространение трехмерной графики.
Сейчас нельзя представить себе презентацию нового жилого комплекса, инте-
рьеров жилых и офисных помещений, а также продуктов бытовой электрони-
ки и многого другого без качественной фотореалистичной визуализации. Не
менее важной является область анимации. Начиная с 70-х годов XX века, ин-
дустрия анимации и цифровых эффектов набрала большие обороты. Процесс
не был простым – сначала происходило плавное смешивание классической
рисованной анимации с компьютерной. А впоследствии, получив широкое
признание среди зрителей и экспертов, компьютерная анимация завоевала
рынок. Лидерами в индустрии компьютерной анимации по-прежнему оста-
ются такие студии, как PIXAR Animation Studios, Walt Disney Future Animation
Studios, Sony Pictures Imageworks Animation и DreamWorks Animation. Есть ряд
менее известных, но выпускающих не уступающие лидерам анимационные
продукты как за рубежом, так и на территории России и стран СНГ.
В данном разделе введения вы познакомитесь с краткой общей историей
компьютерной графики и терминологией, используемой в процессе создания
цифрового изображения. Если даже инструменты могут кардинально менять-
20  Введение

ся, то сами принципы создания цифровых моделей и визуализации остаются


практически без изменений уже на протяжении четверти века.

Основы компьютерной графики и визуализации


В своей основе современная компьютерная графика – чистая математика и ал-
горитмы, поверх которых построены все основные инструменты (программы)
и методы представления информации. Многие из основных методов построе-
ния и визуализации трехмерных поверхностей были разработаны в середине
XX столетия, когда компьютеры были доступны только «избранным» и зани-
мали целые этажи. Одним из удачных примеров применения компьютерной
графики и фрактальных алгоритмов можно назвать фильм 1982 года «Звезд-
ный путь 2: Гнев Хана». В этом фильме создатели визуальных эффектов из
студии Industrial Light & Magic впервые применили фрактальные алгоритмы
для создания горных ландшафтов.
Так как мы чаще работаем с полигональной моделью, многие из алго-
ритмов и принципов построения форм основаны на классической геометрии
и алгебре. Рассмотрим небольшой пример. На рис. В.1 приведены три иллю-
страции. Первая иллюстрация (слева) демонстрирует простейшую точку. Точ-
ка бесконечна, она занимает определенное место в пространстве, но размер
ее бесконечно мал. Это по своей сути координаты, к которым можно подвести
один из концов ребра. На рисунке представлены координаты точки 0.5 и 0.5
по осям X и Y. Обратите внимание на то, что, по сути, мы можем подвести бес-
конечное множество ребер, которые могут быть связаны с другими точками.

Рис. В.1  Три основных примитива,


являющиеся основой для базового представления геометрии в компьютерной графике

Рисунок в центре как раз демонстрирует это – две точки с заданными ко-
ординатами, а между ними прочерчена линия. Линия может связать только
две точки. Если мы на одной прямой добавим несколько точек, мы получим
отрезки, каждый из которых индивидуален и соединяет по две точки. Но в то
же время каждая точка также может включать в себя множество линий. И тре-
тий пример – три точки, при создании связей между ними и замыкания от-
резков сформируется треугольник (справа). Треугольник является одной из
основополагающих фигур в компьютерной графике. Даже если мы работаем
Краткое введение в компьютерную графику  21

с моделью на основе NURBS-поверхностей, внутри системы визуализации (ап-


паратной или программной) данная модель будет преобразована в массив из
многоугольников (треугольников).

Рис. В.2  Основные элементы


треугольного примитива

Рисунок В.2 демонстрирует основные базовые элементы, из которых состо-


ит многоугольник (треугольный примитив). Каждая из вершин объединена
с другой с помощью ребра; все пространство, формируемое связями вершин
и ребер, будет представлять собой грань, которая формируется на основе на-
правления нормали. Нормаль многоугольника всегда находится в центре тре-
угольника и позволяет вам управлять направлением грани – внутрь или на-
ружу. Если вы станете использовать четырехугольники, соответственно, они
будут состоять из двух треугольников, просто грань между ними будет скрыта,
но каждый четырехугольник будет содержать два треугольника и две нормали.
Это важно для понимания того, как впоследствии может сработать алгоритм
тесселяции или другие инструменты моделирования.
Применение треугольников актуально и сегодня. Данный примитив пре-
восходно может быть представлен любой системой визуализации и обрабо-
тан молниеносно за считанные микросекунды аппаратным движком, чем
интенсивно пользуются современные разработчики игр. Конечно, в процессе
создания модели могут быть использованы любые методики моделирования
и представления информации, но в результате программа и движок аппарат-
ной визуализации будет их преобразовывать в набор из самых простых треу-
гольников.
В процессе моделирования таких сложных моделей, как цифровой персо-
наж, необходимо учитывать последующие операции нанесения текстурных
карт и деформацию геометрии в процессе анимации. Это важно, так как при
анимации модели могут возникнуть нежелательные искажения геометрии.
При создании органических моделей профессионалы в моделировании насто-
ятельно рекомендуют использовать четырехугольники, и если будет примене-
но сглаживание, а также выполнена операция skinning, это позволит избежать
проблем в процессе анимации.
22  Введение

Такие приложения, как Autodesk Maya, предоставляют пользователю про-


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

Рис. В.3  Модель головы цифрового персонажа,


созданная с учетом правил топологии

Еще одна основополагающая технология моделирования – NURBS-поверх­


ности (Non-uniform rational Bezier spline). В 60-х годах XX столетия внутри
компаний Renault и Citroen были разработаны методы построения сложных
поверхностей на основе кривых и контрольных точек. Так как компании
конкурируют между собой, то только специалист Renault Пьер Безье (Pierre
Étienne Bézier) опубликовал свои исследования, что и послужило включению
его имени в название технологии, а также опередило конкурентов. Но в то же
время Поль де Кастельжо (Paul de Faget de Casteljau), работавший в компании
Citroen, разработал алгоритм построения и деления кривой Безье, так называ-
емый алгоритм де Кастельжо.
Инструменты, реализуемые на основе кривых Безье и NURBS-поверхностей,
достаточно просты, но в то же время позволяют создавать плавные формы,
Краткое введение в компьютерную графику  23

присущие в первую очередь автомобилям, кораблям, самолетам и космиче-


ским аппаратам.

Рис. В.4  Пример простой NURBS-поверхности, созданной в Autodesk Maya

Управление кривой или поверхностью обеспечивается за счет специальных


контрольных точек, а с помощью инструментов разделения, формирования
отверстий, объединения и др. вы можете создавать любую форму. Многие си-
стемы визуализации на текущий момент времени получили свою реализацию
NURBS-поверхностей, и при визуализации трехмерных сцен транслятор вы-
полняет экспорт модели из 3D-пакета в поддерживаемый ядром визуализа-
ции формат представления NURBS.
Каждый из представленных методов моделирования и представления гео-
метрии (полигоны и NURBS) обладает своими достоинствами и недостатками.
В конце 70-х годов XX столетия начались исследования и разработка ново-
го метода моделирования и технологии, объединяющей достоинства обоих
методик; так на свет появилась технология подразделенных поверхностей
(Subdivision Surfaces). Данная технология реализует методику представления
сглаженных поверхностей через спецификации грубого разделения линейной
полигональной геометрии на отдельные части. Сглаженная поверхность мо-
жет быть вычислена из отдельных участков геометрии как ограниченный или
рекурсивный процесс подразделения каждой грани полигона на более мелкие
грани, что лучше аппроксимируется в сглаженную поверхность.
Если применять сглаживание на основе подразделенных поверхностей
к прос­тейшему примитиву, такому как куб, за счет увеличения плотности
граней и сглаживания данный объект будет преобразован в сферу. На рис. В.5
представлен такой пример, когда обычный куб (cube), состоящий из шести
граней, с помощью сглаживания на основе поверхностей подразделения был
преобразован в сферу. На иллюстрации A показан пример, когда количество
уровней подразделения равно 2, а на иллюстрации B приведен пример, когда
количество уровней подразделения было увеличено до 4.
24  Введение

Рис. В.5  Пример тесселяции модели на основе Subdivision Surfaces.


Примитив из шести граней преобразован в сферу

Еще одним важным достоинством поверхностей подразделения является


применение весов ребер (Crease Sets). Благодаря введению веса пользователь
может контролировать резкость углов геометрии и придавать любую форму
создаваемой геометрии с острыми или прямыми углами.
Рисунок В.6 демонстрирует пример действия весов ребер граней на модель,
полученную в примере рис. В.5. Здесь с помощью управления величиной Crease
достигался противоположный эффект, из сферы был получен куб со сглажен-
ными углами, но при этом топология модели и количество граней не менялись.
Обратите внимание на иллюстрации B и C – в них приведены примеры с одним
значением весов ребер, но при этом вес применен к различным наборам ребер.
В первом случае вертикальные ребра не обладают весом, а во втором – наобо-
рот, этим ребрам присвоен вес, что позволило сформировать форму куба.

Рис. В.6  Пример влияния веса ребер граней на форму объекта.


A – Crease = 0.85, B – Crease = 3.0, C – Crease = 3.0 (все ребра)

Применение весов ребер граней актуально в моделировании органических


форм, допустим, цифровых персонажей или таких объектов реального мира,
как пластмассовые игрушки или металлические объекты, форма которых соз-
дана с помощью пресс-форм.
Чаще всего в процессе моделирования полигональных объектов приме-
няются такие инструменты, как Extrude, Bevel, Slice, Weld и т. п. Они по-
Краткое введение в компьютерную графику  25

зволяют художнику формировать основную форму объекта и добавлять или


удалять ненужные грани. В каждом пакете 3D-моделирования и анимации
присутствуют практически все основные инструменты полигонального мо-
делирования.
Большинство инструментов моделирования создано для удобного и бес-
препятственного создания сложных полигональных поверхностей. Основ-
ные задачи, которые ими выполняются, – добавление/удаление новых граней
и повышение плотности сетки геометрии (рис. В.7). Каждый из инструментов
обладает своими параметрами, которые позволяют настраивать его и полу-
чать желаемый результат. Вне зависимости от приложения инструменты мо-
делирования, реализованные в них, выполняют одинаковые задачи. Различия
могут заключаться только в названиях или последовательности их примене-
ния и функциональности.

Рис. В.7  Пример создания новых граней


с помощью инструментов Extrude (B) и Bevel (C)

Параллельно развитию технологий моделирования и представления форм


геометрических объектов шла разработка инструментов анимации и визуали-
зации. В то время как анимация призвана оживить «бездушные» трехмерные
объекты виртуального мира, визуализация призвана оживить их с помощью
света и цвета. В то же время благодаря визуализации художники получили
виртуальные копии реальных объектов, таких как источники света и камеры.
А с помощью компьютерной анимации удалось достигнуть ранее труднодо-
стижимых движений камеры и освещения, ведь анимировать вы можете прак-
тически все.
За время развития технологий отображения информации и визуализации
было пройдено несколько ключевых этапов. Безусловно, качество синтезиро-
ванных с помощью компьютеров и программ образов зависело от развития
вычислительной техники и систем вывода информации. Изначально первые
образы представлялись как простейшая сетка без сложного для тех времен
затенения, притом же в мире фантастики, где фигурировали компьютеры,
информация чаще всего так и представлялась – в виде полигональной сетки
(рис. В.8 A). Многие первопроходцы в области компьютерной графики свои
первые работы формировали на основе простой визуализации ребер полиго-
нальных объектов.
26  Введение

Рис. В.8  От сетки до фотореализма

Шло время, и с развитием компьютерной техники, появлением новых тех-


нологий для отображения информации, а также с появлением графических
интерфейсов пользователей инструменты для визуализации изображений
стали получать возможности, позволяющие реализовать достаточно убеди-
тельное затенение трехмерных моделей и имитировать базовые типы источ-
ников света и теней. Это стало возможным благодаря развитию алгоритмов
трассировки лучей, возможностям формирования зеркальных бликов и мно-
гого другого. Так, первые коммерческие решения для компьютерной графи-
ки, разрабатывавшиеся в конце 1980-х – начале 1990-х, позволяли воссоздать
большинство эффектов освещения и затенения из реального мира (рис. В.8 B).
Параллельно с разработкой основных моделей затенения ученые и раз-
работчики экспериментировали с реализацией более сложных моделей ос-
вещения и глобальным освещением. Это стало основой создания отдельных
приложений, выполнявших узкоспециализированные задачи визуализации,
например моделирование глобального освещения на основе алгоритмов Ra-
diosity и метода фотонных карт.
С возрастанием вычислительных мощностей центральных процессоров, не-
зависимые ядра визуализации, такие как V-Ray, RenderMan Pro Server и др.,
стали получать собственную реализацию моделей глобального освещения.
Благодаря возросшей производительности стало возможным обрабатывать
гораздо больше данных и формировать убедительное освещение в сцене. При
этом модели затенения и алгоритмы трассировки лучей на протяжении 1990-
х годов претерпели множество изменений и постоянно совершенствовались.
Благодаря этому стало возможным получить результаты, аналогичные пред-
ставленным на рис. В.8 C.
На текущий момент времени технологии моделирования и визуализации
развиты настолько сильно, что остается только понять основу, и для худож-
ника не составит труда использовать самые разнообразные инструменты для
получения желаемого результата.

Системы визуализации
Как было отмечено выше, одним из важных критериев выпуска качественного
графического продукта является качество визуализации образа, будь то ста-
Краткое введение в компьютерную графику  27

тичное изображение или секвенция кадров анимации. Для получения изобра-


жений и кадров секвенций применяются системы визуализации.
Существует огромное множество решений для визуализации трехмерных
сцен, неопытному пользователю очень легко «заблудиться» в выборе, но,
в принципе, внутри они очень схожи.
«Почему “система визуализации”?» – спросите вы. Здесь стоит вновь вер-
нуться к истории развития технологий компьютерной графики и визуализа-
ции. Чисто технически система визуализации – это своего рода набор про-
грамм и определенных спецификаций, используемых ею для понимания
типов данных и объектов в сцене. Каждое из отдельных приложений системы
визуализации может выполнять определенные задачи, например визуали-
зацию глобального освещения и сохранение его в отдельных типах данных
(файлах), преобразование графических изображений и их отображение. Хотя
сейчас многие системы визуализации это делают с помощью одной програм-
мы и файлов описания сцен, они по-прежнему выполняют отдельные этапы
в процессе вычислений и затем на их основе формируют конечный результат.
Существует как минимум два типа систем визуализации. Первый тип –
встроенные в 3D-приложения ядра визуализации. Они целиком оптими-
зированы под возможности программ, например Autodesk Maya использует
несколько ядер визуализации, которые максимально полно поддерживают все
возможности программы (табл. В.1). Так как программы по своему уникальны,
а форматы данных для каждой из них основаны на их «философии» и реали-
зации инструментов, очень хорошего результата можно добиться только за
счет параллельной разработки родных инструментов и средств визуализации.

Таблица В.1. Родные для 3D-приложений Autodesk ядра визуализации


Приложение Формат файла Ядро визуализации
Autodesk 3ds Max .max Default Scanline Renderer
Autodesk A360 Cloud Rendering
ART Renderer
Quicksilver Renderer
VUE Renderer

Autodesk Maya .ma, .mb Maya Software


Maya Hardware 2.0
Maya Vector
Maya Turtle

SideFX Houdini .hip Mantra

MAXON Cinema 4D .c4d Pro Render

В представленной выше таблице собраны сведения только по ключевым


продуктам компании Autodesk и ее партнеров. И как можно заметить, пакет
Maya предоставляет четыре ядра визуализации. Все инструменты поставляют-
ся вместе с программой и могут быть использованы сразу после ее установки.
28  Введение

Одним из важнейших достоинств открытых форматов файлов – возмож-


ность их правки. Такой пакет, как Autodesk Maya, предоставляет возможность
сохранять сцену в бинарном формате (binary) и в простом текстовом форма-
те (ASCII). Такой подход предоставляет возможность оперировать с ними на
уровне представления данных сцены без дополнительных, иногда сложных
преобразований в процессе разработки собственных приложений или расши-
рений для Maya.

Рис. В.9  Пример простейшей сцены в Autodesk Maya


и результат визуализации с помощью аппаратного
и программного ядер визуализации

//Maya ASCII 2015 scene


//Name: maya_opendata_format.ma
//Last modified: Thu, May 21, 2015 09:49:14 PM
//Codeset: 1251
requires maya "2015";
fileInfo "application" "maya";
createNode mesh -n "pCylinderShape1" -p "pCylinder1";
setAttr ...
createNode transform -n "camera1";
setAttr ".t" -type "double3" [num] [num] [num] ;
setAttr ".r" -type "double3" [num] [num] [num] ;
createNode camera -n "cameraShape1" -p "camera1";
setAttr ...
createNode transform -n "spotLight1";
setAttr ".t" -type "double3" [num] [num] [num] ;
setAttr ".r" -type "double3" [num] [num] [num] ;
createNode spotLight -n "spotLightShape1" -p "spotLight1";
setAttr -k off ".v";
createNode lightLinker -s -n "lightLinker1";
setAttr -s 3 ".lnk";
setAttr -s 3 ".slnk";
...
relationship "link" ":lightLinker1" ":initialShadingGroup.message" ":defaultLightSet.
message";
relationship "link" ":lightLinker1" "phongE1SG.message" ":defaultLightSet.message";
...
Краткое введение в компьютерную графику  29

relationship "shadowLink" ":lightLinker1" "phongE1SG.message" ":defaultLightSet.message";


...
connectAttr "phongE1.oc" "phongE1SG.ss";
connectAttr "pCylinderShape1.iog" "phongE1SG.dsm" -na;
connectAttr "phongE1SG.msg" "materialInfo1.sg";
connectAttr "phongE1.msg" "materialInfo1.m";
...
dataStructure -fmt "raw" –as
"name=externalContentTable:string=node:string=key:string=upath:uint32=upathcrc:string=rpat
h:string=roles";
applyMetadata -fmt "raw" –v
"channel\nname externalContentTable\nstream\nname v1.0\nindexType numeric\nstructure
externalContentTable\n0\n\"|spotLight1|spotLightShape1\" \"dmapName\" \"depthmap\"
2097411553 \"\" \"sourceImages\"\nendStream\nendChannel\nendAssociations\n"
-scn;
Выше представлен листинг части файла сцены Autodesk Maya (формат *.ma),
пример визуализации которого приведен на рис. В.9. Как и во многих специ-
ализированных приложениях, формат файлов сцен Maya содержит несколько
ключевых блоков, в которых имеются основные настройки атрибутов элемен-
тов сцены (геометрия, источники света, камеры, шейдеры и т. д.). Каждый соз-
даваемый узел представлен блоком createNode [nodetype] parameters, в каждом
блоке будет записана информация о типе узла и значения атрибутов параме-
тров. Затем все текущие связи между различными элементами будут пред-
ставлены строками relationship name [name1, name2, namen], а связанные
между собой атрибуты различных узлов в сцене представлены записью con-
nectAttr [node.attrname] parameters.
Когда будет запущен процесс визуализации, ядро визуализации, выбранное
вами в глобальных параметрах визуализации или с помощью команды в окне
приложения терминала, будет «читать» данный файл и выполнять визуализа-
цию с учетом всех данных, записанных в файле сцены.
Если произойдет какая-то ошибка, например нет расширения, связанного
с определенным типом узла, или неправильно выполнена запись, вы можете
открыть файл в формате *.ma в любом текстовом редакторе (например, Sublime
Text) и внести все необходимые правки. Современные приложения позволяют
отслеживать все ошибки и формируют детальные отчеты.
Подход к представлению данных в текстовом формате дает разработчикам
сторонних приложений и расширений для Maya реализовывать поддержку
большинства возможностей пакета и интегрироваться в ключевые инструмен-
ты программы, например в узлы геометрии или узлы шейдеров материалов.
Этим как раз и пользуются многие внешние системы визуализации, реализу-
ющие связь с ядром визуализации при помощи специальных модулей коннек-
торов.
Второй тип систем визуализации – внешние и интегрируемые ядра ви-
зуализации. Это независимые решения, создаваемые сторонними разработ-
чиками. Большинство инструментов визуализации, реализованные в прило-
жениях по умолчанию и поставляемые с ними из коробки, функционально
ограничены, а иногда отстают от более современных продуктов от внешних
разработчиков на несколько поколений развития технологий.
30  Введение

Таблица В.2. Системы и инструменты для визуализации


от сторонних разработчиков
Тип системы Система визуализации Родной Интеграция Standalone ядро
и принцип формат c Maya
Biased renderers PIXAR RenderMan Pro Server .rib Да Да
Cebas FinalRender SE – Нет Нет
Cebas FinalRender for Maya – Да Нет
ChaosGroup V-Ray Next .vrscene Да Да
ChaosGroup V-Ray Next GPU .vrscene Да Да
DNA Research 3Delight .rib Да Да

Unbiased NVIDIA® iray® .mi Да Да


renderers (в mr Standalone)
ChaosGroup V-Ray Next .vrscene Да Да
ChaosGroup V-Ray Next GPU .vrscene Да Да
Cebas Moskito Renderer – Нет Нет
NextLimit Maxwell Renderer .mxs Да Да
OTOY Octane Renderer .ocs Да Да
SolidAngle Arnold Renderer .ass Да Да

Сегодня на рынке инструментов визуализации существует несколько реше-


ний с гибкой архитектурой и поддержкой интеграции с большинством веду-
щих пакетов компьютерной графики и анимации. В табл. В.2 собраны ведущие
решения, используемые многими специалистами на практике и заслужившие
широкое признание. Самыми известными решениями являются такие систе-
мы визуализации, как RenderMan Pro Server от анимационной студии PIXAR,
V-Ray от компании Chaos Group и Arnold Renderer от альянса компаний Soli-
dAngle/Autodesk. Для интеграции в рабочий конвейер эти три продукта пре-
доставляют своим пользователям API, а также используют свои собственные
форматы представления данных сцены и ее ключевых элементов. В то же вре-
мя эти решения могут быть расширены с помощью инструментов, которые
можно разработать с применением языков C и C++ и специальных языков раз-
работки шейдеров, таких как Open Shading Language (OSL) или Material Defini-
tion Language (MDL).
Система визуализации V-Ray от компании Chaos Group является серьезным
комплексным решением. Данный продукт из обычного модуля расширения
для 3ds Мax стал одним из серьезных конкурентов классических систем ви-
зуализации. Он поддерживает современные технологии и одним из первых
получает поддержку перспективных решений, данный продукт может быть
использован далеко за пределами архитектурной или предметной визуали-
зации. Многие студии выбирают V-Ray в качестве основного инструмента для
визуализации сложных моделей затенения и анимации. Благодаря поддерж-
ке такого стандарта, как Open Shading Language (OSL), стало возможным при-
менять V-Ray в крупных производствах, требующих персонализированных
инструментов и библиотек шейдеров, реализующих нестандартные подходы
к затенению и освещению сцен. Также система визуализации V-Ray в послед-
Краткое введение в компьютерную графику  31

них версиях получила значительный прирост производительности в вычис-


лениях, что позволяет гораздо быстрее выполнять визуализацию кадров ани-
мации.
В последнее время получили широкое распространение системы визуали-
зации на основе алгоритмов path tracing и волновой теории света. Системы,
относящиеся к данной категории, получили свою определенную категорию –
unbiased renderers или физически корректные системы визуализации. Их
основное отличие от классических (biased renderers) систем визуализации –
прогрессивная визуализация изображений. В данном процессе ядро визуали-
зации вычисляет сразу весь кадр, а не разделяет его на пропорциональные
блоки. Это позволяет значительно упростить процесс настройки и добиться
достаточной реалистичности в изображении.
С началом эры вычислений на GPU стало возможным применять много-
поточные графические процессоры в вычислениях общего назначения. Это
сформировало новый рынок средств визуализации и инструментов для со-
временных художников. С помощью таких технологий, как NVIDIA CUDA или
OpenCL, разработчики могут использовать графический ускоритель для уско-
рения вычислений в создаваемых ими приложениях. Например, в поставке
с V-Ray Next идет ядро V-Ray Next GPU. Это ядро физически корректной визу-
ализации, поддерживающее моделирование реалистичного затенения и осве-
щения. Ядро V-Ray Next GPU поддерживает новые стандарты и спецификации
для разработки шейдеров, а именно OSL и NVIDIA MDL; с их помощью вы мо-
жете создавать шейдеры, не привязанные к конкретному ядру визуализации,
данный стандарт поддерживается не только V-Ray, но и NVIDIA iray, SolidAn-
gle Arnold Renderer, PIXAR RenderMan Pro Server и др.
Unbiased версия V-Ray Next, может быть использована для финальной ви­
зуализации (production rendering) и для интерактивной визуализации с де­
монстрацией всех изменений в создаваемой сцене. Это существенно облегчает
работу современного CG-художника и позволяет на ранних этапах отслежи-
вать все изменения, выполняемые художником, и к какому результату они
приводят.
Среди систем визуализации с физически корректной моделью освещения
и затенения есть решения, хорошо зарекомендовавшие себя в производстве
анимационных фильмов и эффектов. К таким решениям можно отнести систе-
му визуализации Arnold Renderer от альянса компаний SolidAngle/Autodesk.
Данный продукт позволяет использовать все возможности открытых форма-
тов данных и перспективных решений, таких как OCIO или OSL.
Какой инструмент визуализации выбрать? Это достаточно сложный вопрос,
многие CG-художники выбирают наиболее распространенные системы ви-
зуализации. Однако в ряде случаев требуется брать все самое лучшее из не-
скольких средств визуализации, а далее сводить все полученные материалы
на этапе постобработки (compositing). Данный подход получил широкое рас-
пространение в индустрии анимации и специальных эффектов, а в последнее
время применяется и в таких областях, как архитектурная и дизайн-визуали-
зация.
Рекомендуется присматриваться к следующим критериям, которые предъ-
являются к современным инструментам визуализации:
32  Введение

 высокой производительности визуализации;


 гибкой расширяемости (разработка шейдеров и расширений);
 поддержке современных технологических стандартов и инструментов
(Alembic, OSL, OCIO, Deep Images, USD и т. п.);
 высокой скорости визуализации эффектов глубины резкости и размы-
тия движения;
 высокому уровню масштабируемости при визуализации на фермах ви-
зуализации;
 интеграции в ведущие пакеты компьютерной графики (Autodesk 3ds
Max, Autodesk Maya, SideFX Houdini, MAXON Cinema 4D и др.);
 открытому формату данных, открытому API и инструментам для раз-
работчиков;
 поддержке платформ GNU/Linux, Apple macOS и Microsoft Windows.
Большинству из представленных выше критериев соответствует рассматри-
ваемая в данной книге система визуализации V-Ray for Maya и его автономная
версия V-Ray Standalone.

История V-Ray и его реализации в 3D-приложениях


Система визуализации V-Ray начала свое развитие с разработки простого
трассировщика лучей, который был призван решать достаточно простую за-
дачу. В дальнейшем разработчики обнаружили, что ядро выполняет вычисле-
ния быстро и с высоким качеством, и начали разрабатывать полноценное ядро
визуализации и набор соответствующих инструментов.
Изначально V-Ray был выполнен в качестве модуля расширения для 3ds Мax.
И до версии 1.5 V-Ray был решением исключительно для 3ds Мax, но в линейке
V-Ray версии 1.5 появилась первая версия V-Ray for Maya. Именно в первой
редакции V-Ray for Maya появилась базовая функциональность ядра визуали-
зации V-Ray. Однако он значительно уступал V-Ray for 3ds Мax, и необходимо
было разрабатывать инструменты самостоятельно, обычно это делалось через
API и создание сценариев.
Но, начиная с версии V-Ray 2.0, разработчики делают кардинальное изме-
нение в архитектуре ядра визуализации, его функциональности и переводят
V-Ray в разряд системных решений, которые могут быть интегрированы в лю-
бое приложение компьютерной графики и развернуто на любой из платформ
(Linux, macOS, Windows).
В 2013 году Chaos Group выпускает V-Ray 3.0, третью версию ядра и реализа-
цию формата данных. Третья версия претерпевает ряд важнейших изменений.
Обновляется интерфейс пользователям, теперь он становится более органи-
зованным и понятным большинству начинающих пользователей. Увеличена
производительность трассировки луча в режиме Progressive Rendering. Для
интеграции с редакциями V-Ray для других приложений, а также для обмена
данными была реализована поддержка VRMATS. Третья версия получила под-
держку формата Alembic, что позволило выполнять передачу данных между
различными приложениями для компьютерной графики и Look Development.
Система V-Ray Hair также получила ряд улучшений и оптимизаций. Именно
в V-Ray 3.0 появилась поддержка управления цветом в растровых и визуали-
Краткое введение в компьютерную графику  33

зируемых изображениях. Так, стало возможным применять профили LUT, ICC


и конфигурации OCIO напрямую в V-Ray. Благодаря серьезным обновлениям
ядра V-Ray 3.0 получил поддержку OpenEXR 2.X и формата изображений deep
images. Пользователи V-Ray GPU получили возможность визуализации Render
Elements.
Через пять лет разработок и серии обновлений третьей версии V-Ray
в 2018 го­ду Chaos Group анонсирует выход V-Ray Next (технически это V-Ray
версии 4.0). Это значительное обновление всего функционала системы ви­
зуализации и возможностей ядра V-Ray. Основная задача, которую решали
разработчики в четвертой версии, — производительность и достижение высо-
кой скорости визуализации. В новой версии произведена реализация и опти-
мизация Adaptive Dome Light. Увеличена производительность визуализации
в режиме IPR. Пи выборе режима Viewport IPR стало возможным применять
NVIDIA AI Denoiser в качестве метода удаления шума по умолчанию. Для кор-
рекции и правок материалов добавлен режим Debug Shading/Isolate Selected.
Теперь с помощью V-Ray GPU и V-Ray Progressive Sampler вы можете выпол-
нить визуализацию Playblast напрямую из видового окна проекции. Ядро
V-Ray GPU получило двукратное увеличение скорости визуализации. Также
ядро V-Ray GPU получило возможность визуализации атмосферных и объем-
ных эффектов. В V-Ray Next для V-Ray GPU добавлена поддержка Bucket mode.
Добавлен новый шейдер Pysical Hair Material. Благодаря добавлению нового
атрибута Metalness в V-Ray Next реализована поддержка PBR-шейдеров. Для
визуализации нереалистичной модели затенения был кардинально перера-
ботан и обновлен шейдер V-Ray Toon. Добавлен шейдер V-Ray Layered Tex-
ture. Для управления данными и более точной организации данных в проекте
в V-Ray Next добавлена поддержка Layered Alembic на основе формата Alem-
bic версии 1.7. И очень важным нововведением в V-Ray Next является доступ
к удаленному облачному сервису V-Ray Cloud, ныне известному как Chaos
Cloud.

Новые возможности V-Ray Next Update 1


Основные главы книги, которую вы держите в руках, основаны на возможно-
стях ядра V-Ray 4.1 и V-Ray Next for Maya 2018. Этому стоит уделить особое
внимание, так как все основные возможности данной версии могут быть ис-
пользованы как через интерфейс Autodesk Maya, так и напрямую с помощью
командной строки в автономной версии V-Ray Next Standalone (4.12.01). Если
какие-то функции не реализованы в интерфейсе программы, их можно до-
бавить с помощью MEL или Python, согласно документации к V-Ray for Maya.
В основе Update 1 лежит ядро V-Ray 4.12.01. Одной из ключевых функций яв-
ляется введение Memory Tracking – системы мониторинга потребления памяти.
Объекты V-Ray Proxy получили поддержку элемента Cryptomatte. Разработчи-
ки повысили скорость начала визуализации сцены и отображения первых пик-
селей в режиме V-Ray Progressive. В данном обновлении добавлена поддержка
Maya 2019. Шейдер AL Surface получил поддержку ядром V-Ray GPU.
Глава 1
Свет и цвет
в компьютерной графике

В этой главе вы узнаете о:


 зрительной системе человека;
 цветовых пространствах;
 трансформации цветовых пространств;
 Maya Color Management System;
 управлении цветом в V-Ray for Maya;
 введении в ACES;
 управлении цветом в DaVinci Resolve, NUKE, Photoshop.
Все, что нас окружает, мы видим с помощью зрительной системы (глаз), в то
же время мы видим только отраженный свет, который, попадая в наши гла-
за после преобразования в электрические импульсы и обработки полученной
информации мозгом, формирует полноценную картинку. Эта книга начина-
ется с рассмотрения одной из сложнейших, и в то же время самой важной для
правильной работы с цветом и представлением информации о нем областей.
Я постарался не вдаваться в сложнейшие математические алгоритмы. Наобо-
рот, здесь в нескольких примерах рассмотрена практическая часть работы
с трансформацией цвета при работе с системой визуализации V-Ray for Maya,
системами управления цветом и системами постобработки изображений.

1.1. Зрительная система человека


Перед тем как мы познакомимся с цифровой моделью представления света
и цвета, необходимо рассмотреть механизм работы наших глаз. Глаза – один
из сложнейших органов чувств человека и многих других живых существ на
нашей планете (рис. 1.1.1). Оба глаза и нервная система, связанные с мозгом,
формируют «зрительную систему».
Свет, проходя через зрачок, а далее через хрусталик глаза, фокусируясь,
проходит сквозь стекловидное тело и попадает на светочувствительную сет-
чатку глаза. Сетчатка состоит из нескольких слоев тканей и светочувствитель-
ных клеток, именуемых колбочками и палочками (рис. 1.1.2).
Зрительная система человека  35

Рис. 1.1.1  Глаза человека

Рис. 1.1.2  Строение глаза человека: 1 – хрусталик; 2 – циннова связка;


3 – задняя камера; 4 – передняя камера; 5 – водянистая влага; 6 – зрачок;
7 – фиброзная оболочка глазного яблока; 8 – роговица; 9 – трабекулярная сеть
и канал Шлемма; 10 – лимб роговицы; 11 – склера; 12 – конъюктива (или соеди-
нительная оболочка); 13 – сосудистая оболочка глаза; 14 – радужная оболочка;
15 – цилиарное тело; 16 – хориоидеа; 17 – зубчатый край; 18 – стекловидное
тело; 19 – гиалоидный канал (старая артерия); 20 – сетчатка; 21 – желтое пятно;
22 – центральная ямка; 23 – оптический диск → слепое пятно; 24 – оптиче-
ская ось глаза; 25 – центральная ось глаза; 26 – зрительный нерв; 27 – твер-
дая мозговая оболочка; 28 – камера Тэннона; 29 – сухожилие; 30 – передний
сегмент; 31 – задний сегмент; 32 – офтальмологическая артерия; 33 – артерия
и центральная вена сетчатки; 36 – кровеносные сосуды сетчатки; цилиарные
артерии (34 – короткие задние цилиарные артерии; 35 – длинные задние ци-
лиарные артерии; 37 – передние цилиарные артерии); 38 – слезная артерия;
39 – глазная вена; 40 – вихревая вена; 41 – решетчатая кость; 42 – медиальная
прямая мышца; 43 – боковая прямая мышца; 44 – клиновидная кость
36  Свет и цвет в компьютерной графике

После того как свет попадает на светочувствительные клетки, формируется


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

Рис. 1.1.3  Ретинография (A),


строение клетки колбочки (B) и строение клетки палочки (C)

Сетчатка глаза состоит из светочувствительных клеток двух типов. Колбоч-


ки являются основными цветовыми рецепторами, которые чувствительны
к трем ключевым цветам – красному, зеленому и синему. Наиболее распро-
страненными являются клетки, чувствительные к зеленому диапазону спек-
тра, поэтому мы хорошо различаем зеленые тона и видим больше деталей
в листьях деревьев. Вторые по распространенности клетки – чувствительные
к синему диапазону спектра – делают наше восприятие неба и синих тонов
лучше. Меньшей плотностью обладают клетки, чувствительные к красному
диапазону спектра.
Помимо чувствительности к цветовой составляющей, колбочки также вы-
полняют и функцию рецепторов к яркости света, но, так как чувствитель-
ность к определенным участкам спектра находится в приоритете, колбочки
не обладают способностью хорошо принимать свет при темном освещении.
За улучшенную видимость при слабом освещении отвечают палочковидные
клетки – палочки. Они с меньшей долей определяют цветовую составляющую
спектра, но в то же время они гораздо лучше воспринимают свет при низкой
освещенности и в полутенях. Это обеспечивает нам видимость объектов при
очень слабом освещении. Но помните, что для достижения большей чувстви-
тельности необходимо пропустить больший световой поток, и зрачок наподо-
бие диафрагмы фотообъектива будет расширен.
Цветовые пространства  37

Рис. 1.1.4  Строение сетчатки глаза,


направление попадающего на сетчатку света показано стрелкой

Как видите, строение глаза достаточно сложно, но в тоже время эта слож-
ность позволяет нам видеть окружающий мир таким, каким его формирует от-
раженный от поверхностей свет и визуализирует наш мозг. Но как быть, что-
бы организовать цвета и они были едины для всех? Что особенно важно при
работе в полиграфии и компьютерной графике. Для решения данной задачи
в 1850-х и 1920-х годах были проведены обширные исследования и сформи-
ровано понятие цветового пространства.

1.2. Цветовые пространства


Для поиска решения и создания основной цветовой модели был разработан
метод, который мог бы помочь в создании комплексной математической
модели. Так, с помощью сформированных потоков света с охватом опреде-
ленной области спектра было установлено, что человек лучше воспринимает
цвета в трех областях спектра и их производные, а именно красный, зеленый
и синий области спектра.
Полученные данные легли в основу цветового пространства CIE 1931. Цве-
товое пространство CIE 1931 является первыми определенными количествен-
ными ссылками между распределением электромагнитных волн в видимом
спектре. Математические уравнения, которые определяют эти цветовые про-
странства, являются основополагающими инструментами для управления
цветом (color management) и важны, когда ведется работа с цветными черни-
лами, светящимися дисплеями и записывающими устройствами, такими как
цифровые камеры.
Все, что охватывает цветовое пространство CIE 1931, является основой; та-
кие цветовые пространства, как sRGB или Adobe RGB 1998, являются исклю-
чительно производными и математически рассчитанными цветовыми про-
странствами, с которыми может работать система отображения информации,
в нашем случае – компьютерный дисплей.
Спецификации цветовых пространств CIE 1931 и CIE 1931 XYZ были созданы
Международной комиссией по освещению (Internetional Commission on Illu-
38  Свет и цвет в компьютерной графике

mination (CIE)) в 1931 году. Спецификации основаны на серии экспериментов,


проведенных ранее в 1920-х годах исследователями Уильямом Дэвидом Рай-
том (William David Wright) и Джоном Гилдом (Jonh Guild). Результаты этих экс-
периментов были объединены в спецификацию цветового пространства CIE
RGB, от которого впоследствии было создано цветовое пространство CIE XYZ.
Цветовые пространства CIE 1931 широко используются, как и разработанное
позднее цветовое пространство CIE 1976 L*, u*, v* (CIELUV).

Трехцветные значения
В основе модели лежит способность человеческого глаза к восприятию цвета
и интенсивности, на основе более раннего исследования была создана норма-
лизованная спектральная чувствительность клеток колбочек в сетчатке глаза.
Так как каждый цвет относится к волнам различной длины (короткие, средние
и длинные), была разработана модель LMS (long, midle и short), граф которой
представлен на рис. 1.2.1.

Рис. 1.2.1  Нормализованная спектральная чувствительность


колбочковых клеток глаза человека

Известно, что человек с нормальным зрением имеет три типа колбочковых


клеток, которые чувствительны к свету, имея пики спектральной чувстви-
тельности в диапазонах коротких (S, 420–440 nm), средних (M, 530–540 nm),
и длинных (L, 560–580 nm) волн.
Клетки колбочки лежат в основе человеческого восприятия в условиях сред-
ней и высокой яркости. В очень тусклом свете цветовое зрение снижается,
а чувствительность к низкой яркости монохроматических рецепторов «ноч-
ного зрения» – в виде палочковых клеток – увеличивается.
Таким образом, если описывать чувствительность человека к цвету, три
параметра соответствуют уровням стимуляции всех трех типов колбочковых
клеток. Сила света полного спектра с помощью чувствительных к отдельным
Цветовые пространства  39

участкам спектра колбочковых клеток дает три эффективных значения реак-


ции клеток. Эти три значения составляют тристимульную спецификацию объ-
ективного цвета светового спектра. Три параметра, отмеченные S, M и L, обо-
значают трехмерное пространство, представляющее «цветовое пространство
LMS», которое является одним из многих цветовых пространств, разработан-
ных для количественного определения человеческого зрения.
Проецирование цветов определенного цветового пространства в физически
сформированном диапазоне с помощью цветов и пегментов от смешанного
источника света в объективную спецификацию реакций на цвета, регистриру-
емые в глазе человека, выполняется в значениях тристимулов, а не в обычном
цветовом пространстве LMS, которое определено спектральной чувствитель-
ностью колбочковых клеток.
Значения тристимулов, ассоциированные с цветовым пространством, могут
быть представлены как величины трех основных цветов в трихроматической,
аддитивной цветовой модели. В некоторых цветовых пространствах, включая
пространства LMS и XYZ, используемые основные цвета не являются реаль-
ными цветами в том смысле, что они не могут быть воспроизведены в любом
спектре видимого излучения.
Цветовое пространство CIE XYZ охватывает все цвета, которые видимы че-
ловеку со стандартным зрением. Вот почему CIE XYZ (представленное в три-
стимульных значениях) является устройство-инвариантным представлени-
ем цвета. Оно служит стандартом, на который определены или ссылаются
многие другие цветовые пространства. Набор функций согласования цвета,
таких как кривые спектральной чувствительности цветового пространства
LMS, не ограничиваясь неотрицательной чувствительностью, связывает фи-
зически созданные спектры света со специфическими значениями тристи-
мулов.
Большинство длин волн стимулируют два или все три типа клеток кол-
бочек, поскольку спектральные кривые чувствительности трех видов пере-
крываются. Таким образом, некоторые значения тристимулов физически
невозможны, например значения тристимулов LMS, отличные от нуля для
M-компоненты, и ноль для L- и S-компонент. Кроме того, значения три-
стимулов LMS для чистых спектральных цветов в любом нормальном трех-
цветном аддитивном цветовом пространстве, т. е. цветовые пространства
RGB, подразумевают отрицательные значения для хотя бы одной из трех
ключевых компонент, потому что цветность будет за пределами цветового
треугольника, определяемого основными цветами. Чтобы избежать этих от-
рицательных значений RGB и иметь одну компоненту, которая описывает
воспринимаемую яркость, были сформулированы «мнимые» основные цве-
та и соответствующие функции согласования цветов. Цветовое пространство
CIE 1931 определяет полученные значения тристимулов, в которых они обо-
значаются символами X, Y и Z. В пространстве XYZ все комбинации неот-
рицательных координат имеют смысл, но многие, такие как первичные ме-
стоположения [1, 0, 0], [0, 1, 0] и [0, 0, 1], соответствуют мнимым цветам вне
пространства возможных координат LMS; мнимые цвета не соответствуют
спектральному распределению длин волн и, следовательно, не имеют физи-
ческой реальности.
40  Свет и цвет в компьютерной графике

Значения X, Y и Z
Оценивая относительную яркость разных цветов в условиях с хорошим осве-
щением, люди склонны воспринимать свет в зеленых областях спектра ярче,
чем в красной или синей областях спектра при освещении равной мощности.
Таким образом, функция светимости (luminance), которая описывает воспри-
нимаемые яркости разных длин волн, примерно аналогична спектральной
чувствительности колбочковых клеток M.

Рис. 1.2.2  Сравнение между типичной нормализованной чувствительностью


клеток колбочек M и функции освещенности CIE 1931 для обычного наблюдателя
в фотографическом видении (photopic vision)

Опираясь на этот факт, модель CIE в своей основе использует его. Ось Y
представляет яркость, ось Z квазиравномерна синей реакции или S-конусной
реакции, а ось X представляет собой смесь (линейную комбинацию) кривых
отклика конуса, выбранных как неотрицательные. Таким образом, значения
тристимулов XYZ аналогичны, но отличаются от LMS ответами клеток кол-
бочек в человеческом глазе. Определение Y как яркости обладает полезным
результатом: для любого заданного значения Y плоскость осей XZ будет со-
держать все возможные цветности. Единицы значений тристимулов X, Y и Z
часто выбираются произвольно так, что Y = 1 или Y = 100 – самый яркий белый
цвет, поддерживаемый цветным дисплеем. Соответствующие значения белых
точек (white points) для X и Z можно затем вывести с использованием стан-
дартных источников света.

Стандартный наблюдатель CIE


Из-за распределения колбочковых клеток в сетчатке глаза значения тристи-
мулов зависят от поля зрения наблюдателя. Чтобы устранить эту переменную,
Международная комиссия по освещению (CIE) определила функцию цветово-
го отображения, называемую стандартным (колориметрическим) наблюдате-
Цветовые пространства  41

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


дуги в 2° внутри центральной ямки.
Таким образом, функция стандартного наблюдателя CIE 1931 также извест-
на как CIE 1931 2° Standard Observer. Более современной, но не так обширно
используемой альтернативой является функция CIE 1931 10° Standard Obser­
ver, которая получена из работ В. Стайла (Stiles, W. S.), Д. Берча (Birch, J. M.)
и Н. Сперанской (Speranskaya, N. I.).
Для экспериментов в 10° наблюдателями были получены инструкции, для
того чтобы игнорировать центр прожектора в 2°. Функция CIE 1964 Suplemen-
tary Standard Observer рекомендуется при работе с полем зрения более 4°. Обе
стандартные функции наблюдателя дискретизируются на интервалах волн
длиной в 5 nm в диапазоне от 380 до 780 nm и распространяются Междуна-
родной комиссией по освещению (CIE). Все соответствующие значения были
рассчитаны на основе экспериментальных данных с использованием интер-
поляции. Стандартный наблюдатель характеризуется тремя функциями со-
гласования цветов.

Функции согласования цвета


Функции согласования цвета CIE x̅ (λ), y̅ (λ), z̅ (λ) (рис. 1.2.3) – это численное опи-
сание хроматического отклика наблюдателя, которое рассмотрено выше. Их
можно рассматривать как спектральные кривые чувствительности трех ли-
нейных детекторов света, дающих тристимульные значения CIE X, Y и Z. В со-
вокупности эти три функции известны как CIE Standard Observer.

Рис. 1.2.3  Функции согласования цвета для CIE Standard Observer

Другие наблюдатели, например для пространства CIE RGB или других цве-
товых пространств RGB, определяются другими наборами трех функций со-
гласования цветов и приводят к значениям тристимулов в этих и других про-
странствах.
42  Свет и цвет в компьютерной графике

1.3. Вычисление XYZ из спектральных данных


Эмиссионный случай
Значения тристимулов для цвета со спектральным излучением Lε,Ω,λ даны
в трех выражениях для стандартного наблюдателя:

где λ – это длина волны эквивалента монохроматического света (измеренного


в нанометрах) и стандартные ограничения ∫, где λ ∈ [380, 780].
Значения X, Y и Z ограничены, если спектр излучения Lε,Ω,λ ограничен.

Случаи с отражениями и преломлениями


Отражающие и преломляющие лучи очень похожи на случай излучательности
с несколькими отличиями. Спектральное излучение Lε,Ω,λ заменяется спект­
ральным коэффициентом отражения или пропусканием S(λ) измеряемого
объекта, умноженным на спектральное распределение мощности источника
I(λ).

где

Величина K – фактор масштаба (как правило, это 1 или 100), и λ – это длина
волны эквивалента монохромного света (измеренного в нанометрах) и стан-
дартные ограничения ∫, где λ ∈ [380, 780].

1.4. Хроматическая диаграмма CIE xy


и цветовое пространство CIE xyY
Поскольку человеческий глаз имеет три цветовых сенсора, которые реагиру-
ют на волны различных диапазонов, полная диаграмма всех видимых цветов
представлена в трехмерном изображении. Однако концепция цвета может
Хроматическая диаграмма CIE xy и цветовое пространство CIE xyY  43

подразделяться на две составляющие: яркость и цветность. Например, бе-


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

А В

Рис. 1.4.1  Пример диаграммы CIE 1931 в оригинальном варианте (A)


и варианте с визуализацией кривой (B)

Цветовое пространство CIE XYZ сознательно разработано так, что параметр


Y определяет яркость цвета. Цветность определяется двумя параметрами x
и y, два из трех нормализованных значений определены функциями всех трех
значений тристимулов X, Y и Z.

Полученное цветовое пространство x, y и Y известно как цветовое простран-


ство CIE xyY и широко используется для определения цветов на практике.
Значения тристимулов X и Z могут быть рассчитаны обратно из значений
цветности x и y и значения тристимула Y:
44  Свет и цвет в компьютерной графике

На рис. 1.4.1 приведена соответствующая диаграмма цветности. Внешняя,


изогнутая граница представляет собой спектральный локус с длиной волны,
измеряемой в нанометрах. Обратите внимание, что диаграмма цветности яв-
ляется инструментом, позволяющим определить, как человеческий глаз будет
воспринимать свет с заданным спектром. Он не может указывать цвета объек-
тов (или печатных красок), поскольку цветность, наблюдаемая при просмотре
объекта, также зависит от источника света.
Математически цвета диаграммы цветности занимают область реальной
проективной плоскости1.
Диаграмма цветности иллюстрирует ряд интересных свойств цветового
пространства CIE XYZ:
 диаграмма отображает все цветности, видимые большинству людей.
Они показаны в цвете, и эта область называется «Гамма человеческого
зрения». Гамма всех видимых цветностей на графике CIE представля-
ет собой фигуру в виде подковы, показанной в цвете. Изогнутый край
гаммы называется «Спектральный локус» и соответствует монохрома-
тическому свету (каждая точка представляет собой чистый оттенок од-
ной длины волны), причем длины волн указаны в нанометрах. Прямой
край в нижней части гаммы называется «линия пурпуры». Эти цвета,
хоть они и находятся на границе гаммы, не имеют аналогов в монохро-
матическом свете. Менее насыщенные цвета появляются внутри фигуры
с белым в центре;
 видно, что все видимые цветности соответствуют неотрицательным
значениям x, y и z (и, следовательно, неотрицательным значениям X, Y
и Z);
 если вы выбираете любые две точки цвета на диаграмме цветности,
тогда все цвета, которые лежат на прямой линии между двумя точками,
могут быть сформированы путем смешивания этих двух цветов. Из это-
го следует, что гамма цветов должна быть выпуклой формы. Все цвета,
которые могут быть образованы путем смешивания трех источников,
находятся внутри треугольника, образованного точками источника на
диаграмме цветности (и т. д. для нескольких источников);
 равномерная смесь двух одинаково ярких цветов обычно не будет на-
ходиться в середине этой линии. В более общих терминах расстояние
по диаграмме цветности CIE xy не соответствует степени разницы
между двумя цветами. В начале 1940-х годов Дэвид МакАдам (David
MacAdam) изучил природу визуальной чувствительности к различиям
цвета и обобщил свои результаты в концепции эллипса МакАдама. На
основе работы МакАдама с целью достижения единообразия восприя-
тия были разработаны цветовые пространства CIE 1960, CIE 1964 и CIE
1976, в которых равное расстояние в цветовом пространстве соответ-
ствует одинаковым различиям в цвете. Хоть они заметно улучшились,
по сравнению с системой CIE 1931, они не были полностью свободны от
искажений;

1 Проективная плоскость – двумерное проективное пространство.


Смешивание цветов, указанных в диаграмме цветности CIE xy  45

 можно заметить, что даже с учетом трех реальных источников эти ис-
точники не могут охватить гамму человеческого зрения. Геометрически
указано, что в пределах гаммы нет трех точек, образующих треугольник,
который включает всю гамму; или, проще говоря, гамма человеческого
зрения не является треугольником;
 свет с плоским спектром мощности по длине волны (равная мощность за
каждый интервал 1 nm) соответствует точке (x, y) = (1/3, 1/3).

1.5. Смешивание цветов, указанных в диаграмме


цветности CIE xy
Когда два или более цвета аддитивно смешиваются, координаты цветности x
и y полученного цвета (xmix, ymix) могут быть рассчитаны на основе цветности
компонентов смеси (x1, y1; x2, y2; ... xn, yn) и их соответствующей яркости (L1, L2,
... Ln) по следующим формулам:

Эти формулы могут быть получены из ранее представленных определений


координат цветности х и y, пользуясь тем, что тристимульные значения X, Y
и Z отдельных компонентов смеси являются непосредственно аддитивными.
Вместо значений яркости (L1, L2 и т. д.) можно альтернативно использовать
любую другую фотометрическую величину, которая прямо пропорциональна
значению тристимула Y (что, естественно, означает, что сама Y также может
быть использована).
Как уже упоминалось, при смешивании двух цветов полученный в значени-
ях xmix, ymix цвет будет лежать на сегменте прямой линии, который связывает
эти цвета на диаграмме цветности CIE xy. Чтобы рассчитать соотношение сме-
шивания цветов компонент x1, y1 и x2, y2, что приводит к определенной в сег-
менте xmix, ymix линии, можно использовать следующую формулу:

где L1 – яркость цвета x1, y1 и L2 – яркость цвета x2, y2. Заметим, что ymix од-
нозначно определяется xmix и наоборот; помните, что только одного из них
достаточно для вычисления отношения смешивания. Также отметим, что со-
отношение смешивания L1/L2 в соответствии с замечаниями относительно
формул для xmix и ymix может хорошо выражаться в терминах других фотомет­
рических величин, а не только яркости.
46  Свет и цвет в компьютерной графике

1.6. Определение цветового пространства СIE XYZ


Цветовое пространство CIE RGB является одним из множества цветовых про-
странств RGB и отличается особым набором монохроматических (одноволно-
вых) основных цветов.
В 1920-х годах Дэвид Райт (W. David Wright) и Джон Гилд (John Guild) неза-
висимо друг от друга провели серию экспериментов в области человеческого
зрения, которые легли в основу спецификации цветового пространства CIE
XYZ. Райт провел трихроматические эксперименты по сопоставлению цветов
с десятью наблюдателями, а Джон Гилд – с семью наблюдателями.
Эксперименты проводились с использованием кругового разделенного
экрана (двудольное поле) диаметром 2°, что является угловым размером цен-
тральной ямки на сетчатке глаза. На одной стороне поля проецировался тесто-
вый цвет, а с другой стороны был спроецирован цвет, регулируемый наблюда-
телем. Регулируемый цвет представлял собой смесь из трех основных цветов,
каждая с фиксированной цветностью, но с регулируемой яркостью.
Наблюдатель изменял яркость каждого из трех основных лучей до тех пор,
пока не было обнаружено совпадение с тестовым цветом. Не все тестовые цве-
та могут быть сопоставлены с использованием этой техники. Когда это было
так, переменное количество одного из основных цветов могло быть добав-
лено к цвету теста, а совпадение с оставшимися двумя основными цветами
выполнялось с переменным цветовым пятном. Для этих случаев количество
первичного добавленного к тестовому цвету считалось отрицательным. Таким
образом, можно охватить весь диапазон восприятия цвета человеком. Когда
тестовые цвета были монохроматическими, можно было сделать график коли-
чества каждого первичного элемента, используемого в зависимости от длины
волны тестового цвета. Для этого конкретного эксперимента эти три функции
называются функциями согласования цветов.
Хотя эксперименты Райта и Гилда проводились с использованием различ-
ных основных цветов и при различных интенсивностях и использовали не-
сколько разных наблюдателей, все их результаты были обобщены стандарти-
зованными функциями r̅ (λ), g̅ (λ), b̅ (λ) для согласования цветов с пространством
CIE RGB. Цвет, полученный с использованием трех монохроматических опор-
ных цветов на стандартизованных длинах волн в 700 nm (красный), 546.1 nm
(зеленый) и 435.8 nm (синий). Функции согласования цветов – это количество
первичных элементов, необходимых для соответствия первичному монохро-
матическому тестированию. Эти функции показаны на графике, приведенном
на рис. 1.4.1 B (CIE 1931). Заметим, что функции r̅ (λ) и g̅ (λ) равны нулю при
435.8 nm, r̅ (λ) и b̅ (λ) равны нулю при 546.1 nm и g̅ (λ) и b̅ (λ) равны нулю при
700 nm, так как в этих случаях тестовый цвет является одним из основных цве-
тов. Были выбраны основные цвета с длиной волны 546.1 и 435.8 nm, поскольку
они являются легко воспроизводимыми монохроматическими линиями в рас-
сеянных парах ртути. Длина волны 700 nm, которая в 1931 году была трудно
воспроизводима в виде монохроматического луча, была выбрана, потому что
восприятие цвета глазом на этой длине волны не меняется, и поэтому неболь-
шие ошибки в длине волны этого первичного элемента мало повлияли бы на
результаты.
Определение цветового пространства СIE XYZ  47

Функции согласования и основных цветов были решены специальной ко-


миссией CIE после продолжительного обсуждения. Области на сторонах диа-
граммы с короткими и длинными волнами выбираются несколько произволь-
но; человеческий глаз может действительно видеть свет с длиной волны до
810 nm, но с чувствительностью, которая в тысячи раз ниже, чем для длины
волны света зеленого оттенка. Эти функции согласования цветов определяют
так называемого Стандартного наблюдателя CIE 1931 (Standard Observer CIE
1931). Обратите внимание, что, вместо того чтобы указывать яркость каждого
первичного элемента, кривые нормализуются, чтобы иметь под ними посто-
янную площадь. Эта область привязана к определенному значению с указани-
ем, что

Полученные нормализованные функции согласования цветов затем мас-


штабируются в отношении r: g: b: 1:4.5907:0.0601 для яркости источника
и 72.0962:1.3791:1 для источника излучения для воспроизведения истинных
функций согласования цветов. Предлагая стандартизировать основные цвета,
комиссия CIE установила международную систему объективного обозначения
цветов.
Учитывая эти масштабированные функции соответствия цветов, трехцвет-
ные значения RGB для цвета со спектральным распределением мощности S(λ)
тогда будут равны:

Все они размещены в рамках Предгильбертова пространства и могут рас-


сматриваться как проекция бесконечномерного спектра на трехмерный цвет.

Закон Грассмана
Вы можете спросить: «Почему возможно, что результаты Райта и Гилда мож-
но суммировать с использованием разных основных цветов и различной
интенсивности от тех, которые фактически использовались?» Также можно
спросить: «А как насчет случая, когда совпадающие тестовые цвета немоно-
хроматичны?» Ответ на оба этих вопроса заключается в (близкой) линейности
восприятия человеческого зрения. Эта линейность выражается в законе Грасс-
мана.
Пространство CIE RGB можно использовать для определения цветности
обычным способом: координаты цветности – r, g и b, где:
48  Свет и цвет в компьютерной графике

Построение цветового пространства CIE XYZ


из данных Райта–Гилда
Разработав с использованием функций соответствия CIE RGB RGB-модель
человеческого зрения, члены специальной комиссии пожелали разработать
еще одно цветовое пространство, которое будет относиться к цветовому про-
странству CIE RGB. Предполагалось, что закон Грассмана закончен и новое
пространство будет связано с пространством CIE RGB линейным преобразова-
нием. Новое пространство будет определено в терминах трех новых функций
согласования цветов x̅ (λ), y̅ (λ) и z̅ (λ). Новое цветовое пространство будет вы-
брано так, чтобы иметь следующие желаемые свойства:
1) новые функции согласования цветов должны быть везде больше или
равны нулю. В 1931 году вычисления выполнялись вручную или с по-
мощью правила скольжения, а определение положительных значений
было полезным упрощенным вычислением;
2) функция цветового согласования y̅ (λ) будет в точности равна функции
фотоприемной световой эффективности V(λ) для CIE Standard photopic
observer. Функция яркости описывает изменение воспринимаемой яр-
кости с длиной волны. Тот факт, что функция яркости может быть по-
строена с помощью линейной комбинации функций согласования цве-
та RGB, никоим образом не гарантируется, но можно ожидать, что это
почти верно из-за почти линейного характера зрения человека. Опять
же, основной причиной этого требования было упрощение вычис­
лений;
3) для белой точки с постоянной энергией требовалось, чтобы x = y = z = 1/3;
4) в силу определения цветности и требования положительных значений х
и у можно видеть, что гамма всех цветов будет находиться внутри тре-
угольника [1, 0], [0, 0], [0, 1]. Требовалось, чтобы гамма заполнила это
пространство практически полностью;
5) было обнаружено, что функция согласования цветов z̅ (λ) может быть
установлена равной нулю выше 650 nm, оставаясь в пределах границы
погрешности эксперимента. Для простоты вычислений было указано,
что это будет так.
В геометрических терминах выбор нового цветового пространства сводится
к выбору нового треугольника в пространстве цветности rg. На рис. 1.6.1 пред-
ставлены координаты цветности rg, которые показаны на двух осях черного
цвета, а также гамме, присущей CIE 1931 Standard Observer. Красным цветом
обозначены оси цветности CIE xy, которые были определены вышеприведен-
ными требованиями. Требование неотрицательности координат XYZ означа-
ет, что треугольник, образованный Cr, Cg, Cb, должен охватывать всю гамму
стандартного наблюдателя. Линия, соединяющая Cr и Cb, фиксируется требо-
Определение цветового пространства СIE XYZ  49

ванием, чтобы функция y̅ (λ) была равна функции яркости. Эта линия представ-
ляет собой линию нулевой яркости и называется алихной. Требование, чтобы
функция z̅ (λ) была равна нулю выше 650 nm, означает, что линия, соединяющая
Cg и Cr, должна касаться гаммы в области Kr. Это определяет местоположение
точки Cr. Требование о том, чтобы равная точка энергии определялась через
x = y = 1/3, ограничивает линию, соединяющую Cb и Cg, и наконец требование,
чтобы гамма заполнила пространство, ставит второе ограничение на этой ли-
нии очень близко к гамме в зеленой области, которая определяет местополо-
жение Cg и Cb. Вышеописанное преобразование представляет собой линейное
преобразование из пространства CIE RGB в пространство XYZ. Стандартизи-
рованная трансформация, урегулированная специальной комиссией CIE, была
следующей: цифры в матрице преобразования, представленной ниже, точны
и согласованы со значениями, заданными в стандартах CIE:

Рис. 1.6.1  Диаграмма цветности пространства CIE rg, демонстрирующая


треугольник, определяющий цветовое пространство CIE XYZ. Треугольник Cb-
Cg-Cr – это просто треугольник, xy = (0, 0), (0, 1), (1, 0) – пространство цветности
CIE xy. Линия, связывающая Cb и Cr, является алихной. Помните, что локус спек-
тра проходит через rg = (0, 0) на длине в 435.8 nm через rg = (0, 1) на длине
в 546.1 nm и через rg = (1, 0) на длине в 700 nm. Она также эквивалентна энер-
гетической точке (E) на rg = xy = (1/3, 1/3)
50  Свет и цвет в компьютерной графике

Хотя приведенная выше матрица точно определена в стандартах, в другом


направлении используется обратная матрица, которая точно не определена,
но примерно равна:

Интегралы функций согласования цвета XYZ должны быть равны по требо-


ванию 3 и выше, и это задается интегралом функции фотопической световой
эффективности согласно требованию 2 и выше. Табулированные кривые чув-
ствительности имеют в них определенную произвольность. Форма отдельных
кривых чувствительности X, Y и Z может быть измерена с разумной точностью.
Однако общая кривая освещенности (которая на самом деле является взвешен-
ной суммой этих трех кривых) является субъективной, поскольку она включает
в себя задание испытуемому, имеют ли два источника света одинаковые ярко-
сти, даже если они имеют совершенно разные цвета. В то же время относитель-
ные величины кривых X, Y и Z произвольны. Кроме того, можно определить до-
пустимое цветовое пространство с кривой чувствительности X, которая имеет
удвоенную амплитуду. Это новое цветовое пространство будет иметь другую
форму. Кривые чувствительности в цветовых пространствах CIE 1931, CIE 1964
и CIE XYZ масштабируются, чтобы иметь равные площади под кривыми.

1.7. Трансформация пространства XYZ в RGB


Конверсия из XYZ в RGB может быть выполнена с применением матрицы [3x3].
Помните, что цвета, представленные в цветовом пространстве, как правило,
определены тремя координатами (по крайней мере, в случае цветовых про-
странств XYZ и RGB), каждый может быть представлен в трехмерном про-
странстве. И когда все цвета из гаммы, которая может представлять одно кон-
кретное цветовое пространство, отображаются в трехмерном пространстве,
они определяют объем (например, куб, как в случае модели RGB). Конверсия
цвета, определенного в одном цветовом пространстве в другое цветовое про-
странство, может быть представлена как простое перемещение точки в трех-
мерном пространстве из одной позиции в другую. А такое линейное преоб-
разование лучше всего обрабатывается матрицами. Важно понимать, что это
преобразование не меняет самого цвета. Оно используется для выражения од-
ного цвета в разных цветовых пространствах. Не все преобразования цветово-
го пространства могут обрабатываться матрицами [3×3]. Некоторым могут по-
требоваться более сложные математические формулы, такие как, например,
преобразование из RGB в цветовое пространство HSV (Hue, Saturation, Value).

1.8. Общий взгляд на цветовое пространство ACES


Цветовое пространство ACES разработано технологическим комитетом аме-
риканской Академии кинематографических искусств и наук и адаптировано
Понятие цветовой модели и пространства RGB  51

под основные требования и процессы, используемые в индустрии, где про-


изводится создание и манипуляция над цифровыми изображениями. Аббре-
виатура ACES расшифровывается как Academy Color Encoding System. Цветовое
пространство ACES разработано, чтобы охватывать все цвета, что делает его
идеальным выбором в качестве цветового пространства. Изображения, сохра-
ненные в цветовом пространстве ACES, не могут быть напрямую отображены
на экране. Они требуют шага дополнительного преобразования (именуемого
Reference Rendering Transform, или RRT, применяемого к изображению с после-
дующими определениями Output Device Transform, или ODT), который зависит
от устройства, используемого для отображения изображения (компьютерный
монитор, цифровой проектор и т. д.). Цель этого стандарта, формата и свя-
занного с цветом рабочего процесса состоит в том, чтобы гарантировать, что
одни и те же изображения всегда выглядят одинаково независимо от того,
какая камера была создана и на каких устройствах они отображаются. Более
подробную информацию об этом цветовом пространстве можно найти в сети
интернет и далее в подробном описании работы с цветовым пространством
в Maya, V-Ray и NUKE. Если вы заинтересованы в создании единого процесса
обработки изображений на студии или работаете удаленно со студиями, где
уже внедрен рабочий процесс на основе ACES, я настоятельно рекомендую ис-
пользовать данную систему, которая становится стандартом в индустрии.
Познакомившись с основной теорией цвета и его формированием, вы на-
чинаете читать важнейшие разделы первой главы, посвященные работе с цве-
товыми пространствами и отображением цвета в современных компьютерных
системах. В компьютерных системах все операции с цветом выполняются на
уровне оборудования и программного обеспечения. Графическая подсистема
операционной системы использует возможности драйверов оборудования для
обработки и визуализации изображений и трансформации цвета, отображае-
мого на дисплее. Тому, какие инструменты за это отвечают как в самой ОС,
так и непосредственно в программном обеспечении, посвящены следующие
разделы главы.

1.9. Понятие цветовой модели и пространства RGB


В начале мы разобрали теорию восприятия цвета нашим зрительным аппара-
том и создание цветовой модели CIE. В данном разделе мы перейдем к непо-
средственному определению и пониманию цветовых пространств и их транс-
формации в программном обеспечении.
Цветовая модель RGB является аддитивной цветовой моделью, в которой
красный, зеленый и синий свет объединяются с помощью различных путей
для воспроизведения широкого спектра цветов. Название модели происходит
от трех основных цветов: красного (red), зеленого (green) и синего (blue).
Основной областью применения цветовой модели RGB является восприя-
тие, представление и отображение изображений в электронных системах, та-
ких как телевизоры и компьютеры, хотя она также используется и в обычной
фотографии. Перед электронной эрой цветовая модель RGB уже придержива-
лась твердой теории, основанной на восприятии цвета человеком.
52  Свет и цвет в компьютерной графике

Цветовая модель RGB является зависимой от устройства моделью. Различ-


ные устройства определяют или воспроизводят заданное значение RGB по-
разному, поскольку цветовые элементы (такие как люминофоры или окраска)
и их реакция на отдельные уровни R, G и B варьируются от производителя
к производителю или даже в одном и том же устройстве с течением времени.
Таким образом, значение RGB не определяет один и тот же цвет на всех
устройствах без какого-либо управления цветом.
Типичными устройствами ввода RGB (input-devices) являются видеокаме-
ры, сканеры изображений и цифровые камеры. Типичными устройствами вы-
вода RGB (output-devices) являются телевизоры различных технологий (CRT,
LCD, OLED, квантовые точки и т. д.), дисплеи для компьютеров и мобильных
телефонов, видеопроекторы, многоцветные светодиодные дисплеи и большие
экраны. Цветные принтеры, с другой стороны, являются не устройствами RGB,
а субтрактивными цветными устройствами (как правило, на основе цветовой
модели CMYK).
В этом разделе обсуждаются концепции, общие для всех цветовых про-
странств, которые в своей основе используют цветовую модель RGB и приме-
няются в одной или другой реализации технологии создания цветных изо-
бражений.

Понятие аддитивных цветов


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

Рис. 1.9.1  Аддитивное смешивание цвета: при добавлении


красного к зеленому формируется желтый цвет; при добавлении
красного к синему формируется маджента; добавляя к зеленому
синий, получаем циан, а смешивая все три основных цвета, фор-
мируем чистый белый цвет
Краткая история развития цветовой модели RGB  53

Цветовая модель RGB является аддитивной в том смысле, что три световых
пучка добавляются вместе, а их спектры света добавляют длину волны, чтобы
получить спектр конечного цвета. По существу, аддитивная модель противо-
положна субтрактивной модели цвета. Субтрактивная модель применяется
к краскам, красителям и другим веществам, цвет которых зависит от отра-
жения света, под которым мы их видим. Из-за своих свойств три цвета адди-
тивной модели создают белый цвет – это резко контрастирует с физическими
цветами, такими как краски, которые создают черный цвет при смешивании.
Нулевая интенсивность для каждой компоненты дает самый темный цвет
(без света, считается черным), а полная интенсивность каждой компоненты
дает белый цвет; качество этого белого зависит от природы первичных источ-
ников света, но, если они правильно сбалансированы, результатом является
нейтральная белая, соответствующая белой точке системы. Когда интенсив-
ности для всех компонентов одинаковы, результатом является оттенок серого,
более темного или светлого в зависимости от интенсивности. Когда интенсив-
ности различны, результатом является окрашенный оттенок, более или менее
насыщенный в зависимости от разности самых сильных и слабых из интен-
сивности используемых основных цветов.
Когда одна из компонент цвета имеет самую сильную интенсивность, цвет
представляет собой оттенок вблизи этого основного цвета (красноватый, зе-
леноватый или голубоватый), а когда две компоненты имеют ту же самую
сильную интенсивность, тогда цвет представляет собой оттенок вторичного
цвета (оттенок голубого, пурпурного или желтого). Вторичный цвет образо-
ван суммой двух основных цветов одинаковой интенсивности: голубой – зе-
леный + синий, пурпурный – красный + синий, а желтый – красный + зеленый.
Каждый вторичный цвет является дополнением к одному основному цвету;
когда первичный и вторичный цвет добавляются вместе, в результате будет
получен белый, голубой дополняет красный, пурпурный дополняет зеленый,
а желтый – синий.
Цветовая модель RGB колориметрически сама по себе не определяет, что
понимается под красным, зеленым и синим, поэтому результаты их смеши-
вания не указаны как абсолютные, а являются относительными основных
цветов. Когда определяются точные цветности красного, зеленого и синего
цветов, цветовая модель становится абсолютным цветовым пространством,
таким как sRGB или Adobe RGB.

1.10. Краткая история развития


цветовой модели RGB
Цветовая модель RGB основана на теории трихроматического цветного зрения
Юнга–Гельмгольца (Young–Helmholtz theory of trichromatic color vision), раз-
работанной Томасом Юнгом (Thomas Young) и Германом Гельмгольцем (Her-
mann Helmholtz) в начале и середине XIX века, а также на цветовом треуголь-
нике Джеймса Клерка Максвелла (James Clerk Maxwell), который разработал
эту теорию (около 1860 года).
54  Свет и цвет в компьютерной графике

Первые эксперименты с RGB в начале эры цветной фотографии были про-


ведены еще в 1861 году Максвеллом на основе связи с процессом объедине-
ния трех цветовых фильтров. Чтобы воспроизвести цветную фотографию, над
экраном в темной комнате необходимо совместить три проекции.
В начале XX века в фотографических пластинах Autochrome Lumière и Joly
Colour Screen для пороцесса Paget использовалась как аддитивная модель RGB,
так и такие варианты, как оранжево-зеленый и фиолетовый. Цветная съемка
с использованием трех отдельных пластин использовалась другими пионера-
ми, такими как русский фотограф Сергей Прокудин-Горский в период с 1909
по 1915 год. Использование таких методов продолжалось до 1960 года с при-
менением дорогостоящего и чрезвычайно сложного трехцветного процесса
печати «carbro».

Рис. 1.10.1  Фотография последнего эмира Бухарского эмирата Сейида Алим-хана.


Фотография сделана в 1911 году С. Прокудиным-Горским

Воспроизведение отпечатков с трехслойных фотографий осуществлялось


красителями или пигментами с использованием комплиментарной модели
CMY путем применения отрицательных пластин отфильтрованных снимков.
Перед разработкой современного электронного телевидения уже в 1889 го­
ду в России были зарегистрированы патенты на механически отсканирован-
ные системы цвета. Пионер цветного телевидения Джон Логи Байрд (John Lo-
gie Baird) в 1928 году продемонстрировал первую в мире передачу RGB-цвета
и также первый в мире цветной эфир, осуществленный в 1938 году в Лондоне.
В его экспериментах сканирование и отображение были выполнены механи-
чески путем вращения цветовых кругов.
Управление цветом в операционных системах  55

Компания CBS начала работать с тогда еще экспериментальной системой


цветов RGB в 1940 году, в которой изображения сканировались электрически,
но система еще использовала движущиеся части: прозрачный цветной RGB-
диск, вращавшийся со скоростью выше 1200 об/мин и синхронизированный
с вертикальной разверткой.
Камера и электронно-лучевая трубка (CRT) были монохромны. Цвет был
сформирован цветными дисками в камере и приемнике. Совсем недавно цвет-
ные диски использовались в последовательных проекционных телевизионных
приемниках на основе монохромного DLP-изображения от Texas Instruments.
Персональные компьютеры в период 70–80-х годов XX века, такие как Ap-
ple, Atari и Commodore, не использовали RGB как основной метод для управле-
ния цветами, а скорее использовали композитное видео.
В 1981 году с цветным графическим адаптером (CGA) в первом IBM PC ком-
пания IBM представила 16-битную цветовую схему (16-bit color scheme)1. Поз-
же, в 1984 году, данный метод был улучшен за счет разработки расширенного
графического адаптера (EGA). Первым производителем адаптера истинного
цвета (truecolor adapter) для персональных компьютеров (TARGA) являлась
компания Truevision в 1987 году, но только с момента появления в 1987 году
видеокарт (VGA) RGB стал набирать популярность в основном благодаря ана-
логовым сигналам в соединении между адаптером и монитором, что позволи-
ло использовать очень широкий диапазон цветов RGB. Фактически пришлось
ждать еще несколько лет, потому что оригинальные карты VGA были управ-
ляемы палитрой, как EGA, но с большей свободой, чем VGA; но, поскольку
разъемы VGA были аналоговыми, более поздние варианты VGA (изготовлен-
ные разными производителями в рамках неофициального имени Super VGA)
в конце концов добавили поддержку truecolor.

1.11. Управление цветом в операционных системах


Для управления цветом каждая операционная система использует свой ин-
струментарий, выполняющий операции по трансформации и отображению
цветов на устройствах ввода, вывода и печати. Каждое устройство вывода
может обладать своим собственным профилем цветового пространства; так,
к октябрю 2018 года компьютеры компании Apple используют цветовое про-
странство P3, компьютеры под управлением операционных систем семейства
Microsoft Windows используют цветовое пространство sRGB или сформирован-
ное под каждый дисплей цветовое пространство, откуда следует одно из важ-
ных правил – выполнение калибровки дисплеев.
В данном разделе я кратко рассмотрю конфигурацию систем управле-
ния цветом в трех операционных системах: Microsoft Windows, Apple macOS
и CentOS Linux с окружением рабочего стола GNOME 3. Каждая операцион-
ная система обладает своим инструментарием для выбора основного рабочего
цветового пространства и назначения цветового профиля как для устройств

1 В 16-bit color scheme использовалось четыре бита, по одному биту для красного, зе-
леного и синего цветов, и еще один бит – для интенсивности.
56  Свет и цвет в компьютерной графике

отображения (дисплеи, проекторы), так и для устройств печати (принтеры,


плоттеры).
Рассмотрение конфигурации систем управления цветом, определяющих
цветовое пространство и профили, я начну с операционной системы семей-
ства Microsoft Windows.

Управление цветом в Microsoft Windows


В отличие от компьютеров Mac, PC не все всегда обладали высококачествен-
ной и единой системой управления цветом – приходилось зачастую исполь-
зовать сторонние решения для управления цветом и обеспечения точной
цветопередачи. С появлением цветового пространства sRGB, разработанно-
го совместными усилиями компаний Microsoft и HP, хранение информации
и обработка цвета стали гораздо проще. Но до выхода Windows 7 управле-
ние цветом на глобальном уровне было большой проблемой. Было необхо-
димо разрабатывать рабочие процессы для печати и работы с фотографией,
оптимизированные под определенные программные и аппаратные ресурсы,
и зачастую управление цветом выполнялось на уровне определенной плат-
формы, например Adobe с ее пакетами Photoshop, Illustrator, InDesign, Pre-
miere Pro, After Effects или Corel с ее CorelDraw и Corel Painter. Каждый из
производителей программного обеспечения разрабатывает собственные ин-
струменты трансформации цвета из одного пространства в другое. А о рабо-
чих процессах в приложениях для компьютерной графики и не приходилось
говорить, необходимо было найти подходящие инструменты и правильно их
сконфигурировать; а представление и концепция работы в линейном цвето-
вом пространстве с применением гамма-кривой обговаривалось очень редко
и требовало определенно больших усилий для понимания и реализации за-
ложенных принципов.
В этом разделе мы подробно рассмотрим инструментарий операцион-
ной системы Microsoft Windows, используемый для управления цветом и его
трансформаций.
Все настройки системы управления цветом в операционных системах се-
мейства Windows сосредоточены в Control Panel (Панель управления) в ин-
струментарии Colour Management (Управление цветом) (рис. 1.11.1). Мы
будем рассматривать решение на основе англоязычной версии (UK English
language) операционной системы Microsoft Windows 8.1.

Рис. 1.11.1  Выбор инструментария


Colour Management в Control Panel
операционной системы Windows 8.1
Управление цветом в операционных системах  57

Изменение параметров управления цветом


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

Рис. 1.11.2  Общая схема применения системы управления цветом в ОС


Windows (Windows ICM). Слева сгруппированы устройства, цветовые профили
которых определяют цвет, поступающий в систему Windows ICM – сканеры,
фотокамеры, видеокамеры, – а справа определены цветовые профили, кото-
рые определяют цвет, получаемый после трансформации и выводимый на дис-
плеи или используемый при цветной печати. Все математические операции
по трансформации цвета из одного цветового профиля в другой выполняются
механизмом Windows ICM
58  Свет и цвет в компьютерной графике

Отображение цвета также зависит от условий просмотра (например, от ос-


вещенности), поскольку человеческий глаз адаптируется к различным услови-
ям даже при просмотре одного и того же изображения. Системы управления
цветом поддерживают приемлемое отображение цвета на устройствах с раз-
личными цветовыми возможностями и при разных условиях.
Изменять параметры рекомендуется только в том случае, когда имеются
конкретные требования к управлению цветом, которые не удовлетворяются
текущими цветовыми параметрами. Обычно такие параметры изменяют спе-
циалисты со специальным колориметрическим оборудованием, способные
создать индивидуальный профиль для дисплея и принтера.
Изменение параметров управления цветом может потребоваться в том слу-
чае, если необходимо выполнить какие-либо из следующих действий:
 добавление или удаление цветового профиля;
 сопоставление с одним из устройств еще одного или нескольких цвето-
вых профилей;
 изменение цветового профиля по умолчанию для одного из устройств;
 изменение цветовых параметров системы, установленных по умолча-
нию для конкретного устройства для всех пользователей компьютера;
 изменение цели обработки по умолчанию или цветового пространства
по умолчанию.

Настройка Windows ICM с помощью инструмента Colour Management


Настройка системы управления цветом Windows выполняется в диалоговом
окне Colour Management (рис. 1.11.3). В данном окне расположены три вклад-
ки, отвечающие за определенные задачи. Доступ к диалоговому окну Colour
Management можно получить, пройдя по пути: Control Panel ⇒ Colour Manage-
ment.
Вкладка Devices отвечает за назначение определенных цветовых профилей
для каждого из устройств, подключенных к компьютеру и доступных опера-
ционной системе. К таким устройствам относятся дисплеи (мониторы), про-
екторы, принтеры, сканеры и т. д.
В раскрывающемся списке Device выбирается устройство, для которого не-
обходимо определить цветовой профиль. Если к компьютеру подключены два
и более монитора, вы можете использовать функцию Identify monitors для
идентификации мониторов. С помощью флажка Use my settings for this de-
vice можно задать собственные настройки для данного устройства, определя-
емые списком профилей цветовых пространств Profiles associated with this
device.
Если вы выполняли индивидуальную калибровку устройств, например с по-
мощью специализированных колориметров, вы можете вручную добавить
профиль, полученный в процессе индивидуальной калибровки. Для этого на-
жмите кнопку Add…, а для удаления добавленного профиля выберите в спи-
ске профиль и щелкните по кнопке Remove.
Для добавления цветового профиля откроется диалоговое окно Associate Co-
lour Profile (рис. 1.11.4), в котором представлены все установленные в системе
цветовые профили.
Управление цветом в операционных системах  59

Рис. 1.11.3  Диалоговое окно Colour Management


с активной вкладкой Devices

Рис. 1.11.4  Диалоговое окно Associate Colour Profile и окно Install Profile,
позволяющее загрузить файл цветового профиля с жесткого диска

Добавление индивидуального цветового профиля через диалоговое окно


Associate Colour Profile выполняется с помощью кнопки Browse… и выбора со-
ответствующего файла цветового профиля в форматах *.icc и *.icm.
Вкладка Profiles отвечает за добавление цветовых профилей в систему Win-
dows ICM (рис. 1.11.5). Все профили цветовых пространств, которые вы доба-
вите в систему, отображаются в списке The following profiles are installed on
your system.
60  Свет и цвет в компьютерной графике

Рис. 1.11.5  Вкладка Profiles позволяет добавлять собственные профили


в систему Windows ICM

Выбрав профиль цветового пространства, в группе сведений Description бу-


дет отображена информация о создателе и издателе, дате создания, цветовом
пространстве, модели устройства, данных PCS и CMM, а также версия.
С помощью кнопок Add… и Remove вы можете добавлять или удалять цве-
товые профили из списка профилей, доступных системе Windows ICM.
Если необходимо выполнить точную настройку алгоритма трансформации
цвета и определить определенные профили для целевых устройств и задач,
для этого перейдите во вкладку Advanced (рис. 1.11.6).
Здесь мы уделим больше внимания параметрам, отвечающим за транс-
формацию одного цветового пространства в другое, и рассмотрим несколь-
ко методов трансформаций цвета, доступных во всех основных приложениях
компью­терной графики и визуализации.
Группа параметров Windows Colour System Defaults отвечает за выбор основ-
ных профилей цветовых пространств, используемых системой Windows ICM.
Параметр Device Profile позволяет определить общий для всех устройств про-
филь. Устройства, которым данный профиль будет определен в качестве про-
филя по умолчанию, выбираются во вкладке Devices.
Как было сказано выше, операционная система Windows поддерживает два
основных типа профилей цветовых пространств: Windows Colour System (WCS)
и международного консорциума по цвету (ICC). Эта поддержка обеспечива-
ет широту выбора для настройки параметров управления цветом и цветовых
рабочих процессов. WCS – это усовершенствованная система управления цве-
Управление цветом в операционных системах  61

том, имеющаяся в последних версиях операционной системы Windows. Хоть


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

Рис. 1.11.6  Вкладка Advanced позволяет выполнить тонкую настройку


системы управления цветом

Параметр Viewing Conditions Profile позволяет задать соответствие между


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

Таблица 1.1. Основные алгоритмы пересчета цветов, поддерживаемые Windows ICM


Алгоритм пересчета цветов Применение
Перцептивный (фотографии) Подходит для фотоизображений. При преобразовании
(Perceptual) цветов из цветового пространства одного устройства
в цветовое пространство другого отношения между
цветами сохраняются. Это первоначальная установка
цели обработки по умолчанию для системы Windows
Относительная цветометрическая Подходит для случаев, когда требуется точное соот-
(живопись) (Relative Colorimetric) ветствие нескольких цветов, например при отображе-
нии логотипов. Также подходит для последнего этапа
преобразования в окне предварительного просмотра.
Цвета в допустимом цветовом пространстве двух
устройств остаются неизменными, а другие могут
измениться, в результате чего создается сжатый
цветовой тон. При относительно колориметриче-
ском способе передачи изображения белый цвет из
цветового пространства устройства-источника будет
сопоставлен белому цвету в цветовом пространстве
устройства назначения
Абсолютная цветометрическая Подходит для последнего этапа преобразования при
(имитация бумаги) (Absolute создании корректурных оттисков, где необходимо
Colorimetric) отобразить цвет бумаги при выводе на печать.
Абсолютно колориметрический способ передачи
изображения отличается от относительного тем,
что белый цвет в цветовом пространстве источника
не сопоставляется с белым цветом в цветовом
пространстве назначения
Насыщенный (таблицы и графики) Подходит для рабочих изображений, где яркость более
(Saturation) важна, чем реалистичность (например, рабочие таблицы
и графики). При преобразовании цветов из одного
цветового пространства устройства в другое относи-
тельный тон сохраняется, а цвета могут меняться

Непосредственно сам алгоритм выбирается в раскрывающемся списке De-


fault Rendering Intent. Определить, как и где будет применен определенный
алгоритм, можно с помощью раскрывающихся списков Perceptual (Photo im-
ages), Relative Colorimetric (Line art), Absolute Colorimetric (simulate paper)
и Business Graphics (Charts and graphs).
Иногда графический редактор предоставляет возможность выбора цветовых про-
филей. Когда параметры цвета изменяются в каком-либо из графических редак-
торов, обычно эти параметры используются только в этом редакторе.

Калибровка дисплея Windows


Калибровка компьютерного дисплея является частью управления цветом и по-
могает обеспечить точное отображение цветов на дисплее путем настройки
его в заданном режиме. Средство калибровки цвета в Windows можно исполь-
зовать для выполнения серии шагов по созданию калибровки дисплея и улуч-
шения отображения цветов на нем (рис. 1.11.7).
Помните, если на компьютере уже установлено программное обеспече-
ние для калибровки дисплея от другого поставщика, его можно использовать
Управление цветом в операционных системах  63

вместо средства калибровки цветов дисплея Windows. Часто вместе с устрой-


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

Рис. 1.11.7  Диалоговое окно Display Colour Calibration,


вызываемое из окна Colour Management

После калибровки дисплея создается новый откалиброванный цветовой


профиль, который сопоставляется с ним. Сведения о калибровке необходимо
загрузить из этого цветового профиля в систему отображения. Эта калибров-
ка может быть загружена системой Windows или программным обеспечением
для калибровки от стороннего производителя (если оно установлено на рабо-
чей станции или ноутбуке).
Если применяется программное обеспечение для калибровки дисплея от
стороннего производителя, особенно если это программное обеспечение ис-
пользует средство измерения цвета, необходимо использовать загрузчик ка-
либровки дисплея, который часто поставляется вместе с этим программным
обеспечением. Это программное обеспечение может автоматически отклю-
чать загрузчик калибровки дисплея в Windows, так что вместо него для за-
64  Свет и цвет в компьютерной графике

грузки калибровки будет использоваться программное обеспечение сторон-


него производителя. Тем не менее загрузчик калибровки дисплея в Windows
можно включать или отключать вручную. При использовании средства кали-
бровки дисплея стороннего производителя следует убедиться, что загрузчик
калибровки дисплея в Windows отключен.

Ключевые этапы калибровки дисплея


В данном подразделе мы рассмотрим ключевые этапы калибровки дисплея,
выполняемые с помощью утилиты Display Colour Calibration. После запуска
утилиты калибровки вам будет необходимо пройти несколько шагов, выпол-
няя инструкции в которых, вы выполните калибровку своего дисплея. Перед
выполнением шагов калибровки утилита выведет краткую инструкцию по
сбросу настроек дисплея до заводских параметров. Далее, когда настройки
дисплея будут восстановлены, вы можете приступить к калибровке с помощью
утилиты.

Рис. 1.11.8  Диалоговые окна настройки гаммы дисплея.


Слева – пример хорошей и плохой настройки гаммы,
справа – окно с ползунком настройки гаммы

Первым этапом в калибровке дисплея является коррекция гаммы


(рис. 1.11.8). В первом диалоговом окне вам представляются примеры настро-
ек гаммы для дисплеев. Вам необходимо получить результат, отображенный
на рисунке в центре, подписанный как Good Gamma.
Щелкнув по кнопке Next, вы переместитесь в следующее диалоговое окно.
В данном окне с помощью слайдера вы можете изменять гамму. Запомните,
что вам необходимо достичь такой величины, чтобы центральные точки были
серыми и достаточно равномерно ослабевающими.
После конфигурации гаммы и щелчка по кнопке Next утилита перейдет
к этапу настройки яркости (Adjust brightness) (рис. 1.11.9). Помните, что яр-
кость в данном случае определит конфигурацию аппаратной составляющей –
матрицы дисплея.
Управление цветом в операционных системах  65

Рис. 1.11.9  Диалоговые окна настройки яркости дисплея

Аналогично гамме в первом диалоговом окне будет представлен пример


яркости, а во втором – возможность настройки яркости с помощью специали-
зированного ползунка. Обратите внимание, что яркость вы должны настра-
ивать с помощью настройки самого дисплея. Также выполняется настройка
контрастности изображения (рис. 1.11.10) аналогичным образом, с помощью
настройки самого дисплея, а не программного обеспечения.

Рис. 1.11.10  Диалоговые окна настройки контрастности дисплея

Для достижения максимальной близости к нейтральным оттенкам цветов


используется следующий за этапом настройки контрастности этап настройки
баланса цветов. Обычно благодаря данному этапу система калибровки позво-
ляет достичь максимальной приближенности к нейтральному серому цвету.
66  Свет и цвет в компьютерной графике

Рис. 1.11.11  Диалоговые окна настройки баланса цвета

Для управления данным этапом изменяйте положение ползунков, соответ-


ствующих красному, зеленому и синему цветам. Достигнув удовлетворяющего
вас оттенка, вы можете перейти к следующему этапу – проверке и сохранению
результата калибровки (рис. 1.11.12).

Рис. 1.11.12  Диалоговое окно завершения калибровки дисплея

По окончанию калибровки вы можете сравнить новый профиль с использо-


вавшимся ранее профилем. Для этого используйте кнопки Previous Calibra-
tion (Предыдущая калибровка) и Current Calibration (Текущая калибровка).
Управление цветом в операционных системах  67

Если необходимо выполнить калибровку шрифтов ClearType, оставьте флажок


ClearType Tuner, после чего будет запущен мастер настройки отображения
и сглаживания шрифтов, используемых в операционной системе.
Когда профиль будет создан, он автоматически сопоставится с тем диспле-
ем, калибровку которого вы выполняли. Проверить сопоставимость нового
профиля вы можете во вкладке Devices утилиты Colour Management.
После настройки цвета в операционных системах семейства Windows в сле-
дующем разделе будут подробно рассмотрены возможности операционной
системы macOS, устанавливаемой на компьютеры и ноутбуки линейки Macin-
tosh.

Управление цветом в Apple macOS


В отличие от операционных систем семейства Windows разработчики операци-
онной системы macOS постарались разработать и внедрить удобный инстру-
ментарий для управления цветом. Система управления цветом в macOS назы-
вается ColorSync, а конфигурация системы управления цветом доступна в виде
простой и понятной пользователю утилиты ColorSync Utility (рис. 1.11.13).

Рис. 1.11.13  Утилита ColorSync в двух режимах работы.


Слева – режим Profile First Aid, справа – Profiles

Принцип работы системы ColorSync не отличается от аналогичных систем


управления цветом в других операционных системах и отдельных решениях.
Однако, в отличие от Windows и Linux, в macOS система ColorSync реализована
гораздо проще и в то же время более эффективна для пользователя.
Рассмотрим основные редакторы утилиты ColorSync Utility в macOS. Когда
утилита запущена, первое что видит пользователь, – ассистент проверки про-
филей (Profile First Aid). Данный инструмент позволяет выявить и исправить
цветовые пространства, которые по той или иной причине не могут быть при-
менены в работе системы ColorSync. Для диагностики и выявления проблемы
просто щелкните по кнопке Verify, а далее, после того как утилита выведет
результат анализа, вы можете исправить ошибки, щелкнув по кнопке Repair.
Замечу, что данная функция далеко не всегда срабатывает, и может потребо-
68  Свет и цвет в компьютерной графике

ваться ручная работа над ошибками или повторное создание профиля. Чаще
всего это может быть связано с внутренними профилями, допустим, использу-
емыми для создания эффектов внутри приложения и никак не оказывающими
влияние на глобальном уровне.
Следующее диалоговое окно утилиты ColorSync позволяет найти и получить
всю необходимую информацию о профиле цветового пространства. В окне
Profiles для выбора профиля цветового пространства воспользуйтесь располо-
женным слева списком, а справа будет отображена общая информация о про-
филе и его график в виде объемной модели.
Помимо простого поиска по списку, список может быть переключен в режи-
мы отображения профилей по положению (локации), по классу и по цветовому
пространству.
Если щелкнуть на кнопке Open, расположенной в правой области рядом
с пунктом Path:, откроется диалоговое окно c подробной информацией о про-
филе цветового пространства (рис. 1.11.14). Вы можете открыть несколько
профилей и сравнить их между собой.

Рис. 1.11.14  Диалоговое окно со свойствами


и подробной информацией о цветовом профиле

Если переключаться с одного свойства на другое, вы можете увидеть всю


соответствующую информацию, записанную в цветовом профиле. Помните,
что все свойства и описание цветового пространства в профиле определяются
рядом тегов; если эти теги включены в файл, утилита ColorSync отобразит их,
если же нет – данного свойства не будет. Поэтому я рекомендую прибегать
к использованию наиболее полных в плане описания профилей и профилей,
которые создаются с помощью специального колориметрического оборудо-
вания.
Управление цветом в операционных системах  69

Для того чтобы сопоставить профиль цветового пространства с определен-


ным устройством, таким как дисплей, принтер, сканер и фото- или видеока-
мера (точнее, фотоснимки и видео, загружаемые с них на компьютер Mac),
перейдите в диалоговое окно Devices (рис. 1.11.15) утилиты ColorSync.

Рис. 1.11.15  Диалоговое окно Devices в утилите ColorSync


позволяет сопоставить определенные профили цветовых пространств
с определенными устройствами

Все устройства, доступные и связанные с компьютером Mac, будут пред-


ставлены в списке слева и сгруппированы по типам устройств. При выборе
устройства в правой области будет отображена подробная информация об
устройстве и сопоставленном с ним профиле цветового пространства.
Если вы выполнили калибровку дисплея как с помощью стандартного ин-
струментария калибровки дисплеев macOS, так и с помощью внешнего кали-
братора, вы можете загрузить созданный профиль, щелкнув по небольшой
стрелочке в группе параметров Current Profile:, и в диалоговом окне открытия
файлов выбрать необходимый профиль. Эти действия нужно выполнить для
каждого из устройств, с которым вы работаете. После чего все операции по
трансформации и отображению цвета будут выполняться средствами Col-
orSync и интегрированного с ним стороннего приложения.
С помощью специального инструментария Filters (рис. 1.11.16), доступного
в утилите ColorSync, можно создавать собственные сценарии для автоматиза-
ции трансформации цвета за счет возможнсотей системы ColorSync.
70  Свет и цвет в компьютерной графике

Рис. 1.11.16  Диалоговое окно Filters,


позволяет создавать и редактировать фильтры
постпроцессинга изображений с помощью трансформации изображений
и их цветового пространства

Отдельного внимания заслуживает универсальный калькулятор


(рис. 1.11.17), который входит в состав ColorSync Utility. Для операционных
систем семейства Windows и Linux приходится прибегать к использованию
сторонних решений или самостоятельно создавать соответствующий кальку-
лятор в том же редакторе электронных таблиц1.

Рис. 1.11.17  Инструмент Calculator в ColorSync Utiltiy


позволяет рассчитать значения цвета,
преобразованные из одного цветового пространства в другое

1 Калькулятор преобразования значений нелинейного цвета RGB в значения линейно-


го цвета RGB в формате Microsoft Excel находится в дополнениях к книге в разделе
_MATERIAL/ColorManagement, файл rgb_gamma_correct_calc.xls.
Управление цветом в операционных системах  71

Пользоваться калькулятором ColorSync Utility достаточно просто, для это-


го вы можете просто ввести цифровые значения цвета в текущем цветовом
пространстве (слева), а затем получить результат после вычислений (справа).
Калькулятор может брать любую величину любого цвета. Для этого можно вос-
пользоваться кнопкой с символом лупы и найти нужный цвет на открытом
изображении. Также важно помнить, что все вычисления ведутся на основе
доступных в системе управления цветом ColorSync профилей цветовых про-
странств. На приведенном выше рис. 1.11.17 видно, каковы были получены
результаты цвета в виде записи с плавающей точкой (floating point) при транс-
формации голубого цвета из пространства sRGB в Apple RGB.

Калибровка дисплея macOS


Калибровать дисплей в macOS значительно проще, по сравнению с Windows,
но эта простота обусловлена особенностями самой операционной системы
и оборудования. Так как каждый дисплей в современных компьютерах Mac
производится по определенным требованиям компании Apple, риск увидеть
значительные отличия в цвете от одного дисплея к другому существенно сни-
жается по сравнению с Windows и Linux. Но для компьютеров предыдущего
поколения и внешних дисплеев все же предусмотрена возможность калибров-
ки дисплея.
Для этого, пройдя в раздел настройки дисплеев по пути System Preferences ⇒
Displays ⇒ Color, щелкните по кнопке Calibrate… для запуска утилиты Display
Calibrator Assistant (рис. 1.11.18).

Рис. 1.11.18  Утилита Display Calibrator Assistant


операционной системы macOS

По умолчанию вам будет предоставлена возможность выбора целевой точ-


ки баланса белого, далее после конфигурации точки вы можете определить,
могут ли использовать данный профиль другие пользователи компьютера,
и только затем он будет добавлен в список профилей.
72  Свет и цвет в компьютерной графике

Управление цветом в операционной системе macOS гораздо удобнее и ин-


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

Управление цветом в CentOS Linux


Если в полиграфии операционные системы семейства Linux значительно
уступают распространенности системам Windows и macOS, то в области ви-
зуализации и вычислений Linux применяется очень широко. Многие студии
используют Linux в качестве основной операционной системы в области
3D-анимации, визуализации и композитинга, а внутренние разработки вести
гораздо удобнее с помощью доступных сред разработки и инструментов с от-
крытым исходным кодом.
В плане работы с цветом функционал операционных систем семейства
Linux зависит от используемого окружения (GNOME, KDE, xfce, MATE и т. п.)
и реализованной в нем системы управления цветом.
В данном подразделе я рассмариваю возможности окружения GNOME Shell
версии 3 и его системы управления цветом. В GNOME управление цветом
принципиально не отличается от Windows и macOS. Вы также можете выбрать
алгоритм трансформации цвета, профили цветовых пространств и сопоста-
вить их с желаемым устройством. Определить, с каким устройством будет со-
поставлен тот или иной профиль цветового пространства, можно в настройках
GNOME Shell (рис. 1.11.19).

Рис. 1.11.19  Раздел настроек Color в GNOME 3


позволяет сопоставить выбранные вами профили с определенными устройствами
Управление цветом в операционных системах  73

Для выполнения сопоставления профиля цветового пространства с устрой-


ством в GNOME Classic Shell с помощью меню Applications ⇒ System Tools ⇒ Set-
tings перейдите к настройкам системы. В диалоговом окне Settings перейдите
в раздел Devices ⇒ Color. В основной области окна отобразятся все устройства,
подключенные и определенные системой.
Выбрав устройство, вы можете выбрать один из сопоставленных с ним
профилей цветового пространства. Для этого просто возьмите один из ото-
бражаемых в списке профилей. Если вам необходимо добавить независимый
профиль, полученный после калибровки и добавленный в систему управления
цветом GNOME Shell, просто щелкните по кнопке Add profile. В открывшемся
диалоговом окне Add profile (рис. 1.11.20) выберите профиль, который хотите
добавить в список сопоставления, и нажмите кнопку Add.

Рис. 1.11.20  Диалоговое окно Add profile позволяет добавлять профили


цветовых пространств к сопоставлению с устройством

Чтобы добавить заранее подготовленный профиль цветового пространства,


полученный с помощью калибровки дисплея или принтера, используйте кноп-
ку Import File… и с помощью диалогового окна выбора файла импортируйте
желаемый профиль.
Обратите внимание на один важный момент. По умолчанию вы можете за-
гружать профили, заранее подготовленные с помощью системы калибровки.
Но инструментарий калибровки GNOME Shell опирается на наличие соответ-
ствующего оборудования. Так, вы можете подключить имеющийся в вашем
распоряжении колориметр и запустить инструмент калибровки с помощью
кнопки Calibrate….
Окружение рабочего стола GNOME опирается на возможности системы управле-
ния цветом Argyll1, которая поддерживает инструменты калибровки цвета. Раз-
работчики заявляют о поддержке устройств от следующих компаний: JETI, Image
Engineering, Klein, X-Rite, Gretag-Macbeth (now X-Rite), Sequel imaging (Now X-
Rite), DataColor ColorVision и др.

1 Подробнее о системе управления цветом Argyll вы можете узнать на официальной


странице проекта в сети интернет, доступной по адресу http://argyllcms.com/.
74  Свет и цвет в компьютерной графике

Если необходимо узнать более подробную информацию о профиле цве-


тового пространства, для этого служит утилита GNOME Color Management
(рис. 1.11.21).

Рис. 1.11.21  Диалоговое окно утилиты GNOME Color Management,


отображена информация о выбранном профиле цветового пространства
Compatible with Adobe RGB

С помощью утилиты управления цветом в GNOME пользователю предостав-


ляется возможность получить информацию о профиле, метаданные, выпол-
нить сравнение профилей цветовых пространств и визуализацию примеров
конверсии как из профиля sRGB, так и обратно.
Во вкладке CIE 1931 отображен граф охватываемого профилем цветового
пространства. Обычно область охватываемых выбранным вами профилем
цветов будет отображена треугольником (рис. 1.11.22).
Интересным является решение в виде демонстрации примера трансформа-
ции цветов из профиля sRGB в выбранное цветовое пространство и обратно.
Для этого воспользуйтесь вкладками From sRGB (рис. 1.11.23) и To sRGB. Это
может наглядно продемонстрировать влияние выбранного профиля на цвета
в изображении.
Управление цветом в операционных системах  75

Рис. 1.11.22  Охват диапазона цветов профилем цветового пространства


Compatible with Adobe RGB

Рис. 1.11.23  Функции трансформации цветов с помощью преобразования профиля


цветового пространства изображения в выбранное цветовое пространство
76  Свет и цвет в компьютерной графике

Как видите, в операционных системах семейства Linux нет сложностей, свя-


занных с управлением цветом. При использовании рабочего процесса на осно-
ве определенных цветовых пространств в Linux не составляет большого труда
определить пространство и метод трансформации одного пространства в дру-
гое. А с помощью конфигурации системы управления цветом Argyll доступны
возможности для создания рабочих процессов, охватывающих широкий диа-
пазон профилей цветовых пространств и назначений.
В завершение данного раздела мы взглянем на основные концепции реали-
зации процессов управления цветом. Для того чтобы вам было проще делать
настройки, я приведу основные шаги, чтобы вы могли быстро сориентиро-
ваться во время настройки:
 выбор системы управления цветом по умолчанию;
 создание цветовых профилей для каждого дисплея (калибровка дис-
плеев);
 сопоставление профилей с устройствами;
 определение профиля на ввод;
 определение рабочего цветового пространства;
 определение цветового пространства для отображения;
 определение цветового пространства для печати (если необходимо):
– конфигурация рабочего окружения для минимизации влияния на вос-
приятие цвета,
– установка рабочего окружения с 18 % серого или 50 % серого.
Применение в интерьере и мебели вашего офиса темных тонов (18 % – се-
рый или чуть более темный оттенок, темно-серый, ближе к черному цвету),
специального освещения с температурой в 3500–4000° K или 6500° K позволяет
снизить влияние на восприятие цвета при работе с коррекцией и созданием
цветов.
Управление цветом является одним из основополагающих аспектов рабо-
ты специалистов по визуализации. Многие студии используют определенные
стандарты того, как цвет будет преобразован, в каком цветовом пространстве
будет отображаться изображение. Следующий раздел познакомит вас с реа-
лизацией систем управления цветом в Autodesk Maya, V-Ray for Maya, Adobe
Photoshop, Foundry NUKE, DaVinci Resolve, систем управления цветом Open-
ColorIO и стандарта ACES.

1.12. Управление цветом в приложениях


компьютерной графики
Как было сказано выше, помимо операционной системы, управление цветом
также обеспечивают независимые системы, реализованные непосредственно
внутри самих приложений компьютерной графии. В данном разделе мы по-
говорим о том, как реализованы Color Management Systems в ключевых прило-
жениях, используемых мною в процессе написания книги и зачастую многими
дизайнерами и художниками компьютерной графики.
Эта книга посвящена в первую очередь визуализации в пакете Autodesk
Maya, и наше знакомство с реализацией управлением цветом в Maya 2018,
Управление цветом в приложениях компьютерной графики  77

а также в V-Ray for Maya начнется со следующего раздела. Ключевой акцент


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

Глубина цвета
Перед тем как мы перейдем к знакомству с системой управления цветом в Au-
todesk Maya, необходимо разобраться еще в одном важном вопросе – глубине
цвета. В компьютерной графике под глубиной цвета подразумевается не насы-
щенность или другой визуальный параметр, а количество битов в изображе-
нии, сколько бит отводится для кодирования одного пикселя. Все мы прекрас-
но знаем, что компьютерный монитор отображает около 16.7 млн цветов, но
это достигается за счет обработки TrueColor изображения (8 бит на один канал,
четыре канала изображения). При этом в своей основе мы видим 24-битное
изображение, а оставшиеся 8 бит (1 байт) отведены для канала прозрачности
или просто игнорируются.
24-битный TrueColor-цвет использует по 8 бит для представления крас-
ной, синей и зеленой составляющих. Кодируется 28 = 256 различных вари-
антов представления цвета для каждого канала, или всего 16 777 216 цветов
(256×256×256). Отмечу, что в системах Macintosh 24-битный цвет упоминается
как «миллионы цветов» (millions of colors).
Рассмотрим важность кодирования цвета большим количеством битов на
нескольких примерах. На рис. 1.12.1 приведен пример изображения, пред-
ставленного с различной глубиной цвета. На иллюстрации A приведен при-
мер изображения с однобитным цветом, каждый пиксель данного изображе-
ния закодирован одним битом; если 0, то пиксель будет черным, если 1, то
пиксель будет белым. Таким образом, мы получаем изображение на основе
плотности пикселей двух цветов, но не более того. Конечно, выгода однобит-
ных изображений очевидна – наименьший объем графического файла, но мы
теряем практически все детали и цвета.
Следующее – 2 бита, здесь мы получаем 4 цвета в изображении, заметьте,
что в изображении фигурируют такие цвета, как коричневый, голубой, белый
и черный. Повышая количество цветов, согласно удвоению количества битов
в изображении, мы получим затем 16 цветов, а затем 256 цветов при исполь-
зовании 8-bit цвета. Больше цветов и оттенков требуют увеличения объема
занимаемой памяти, поэтому обработка большого количества цветов может
потребовать более производительного оборудования.
Если сохранить каждое изображение по отдельности, и затем сравнить объ-
ем, занимаемый данным изображением на жестком диске, можно заметить,
насколько значительно они отличаются. При этом даже 256 цветов могут
занимать достаточный объем в зависимости от разрешения. Но также сто-
ит понимать, что небольшое количество цветов и оттенков будут выглядеть
78  Свет и цвет в компьютерной графике

крайне невыразительно и потеряют в деталях, а для увеличения детализации


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

Рис. 1.12.1  Изображение, закодированное с различной глубиной цвета.


A – 1-bit (2 цвета), B – 2-bit (4 цвета), C – 4-bit (16 цветов), D – 8-bit (256 цветов)

Рис. 1.12.2  Объем на жестком диске, занимаемый файлами в формате GIF,


сохраненных с разным количеством цветов

Наиболее широкое распространение получили изображения, поддержи-


вающие 24-битный цвет (8-bit на канал). Для работы с цветом, исправления
яркости и других манипуляций с изображениями используются изображения
с большей глубиной цвета.
Управление цветом в приложениях компьютерной графики  79

Процессы работы с изображением подразумевают возможность исправлять


недочеты, добавлять новые элементы и не допускать потери деталей в наибо-
лее светлых и наиболее темных областях. Современная цифровая фотография
позволяет создавать изображения с большой глубиной цвета, обычно снимки
в формате RAW содержат 12 и даже 16 бит на канал, что позволяет корректиро-
вать яркие и темные области изображения, различные оттенки цвета и многое
другое. На рис. 1.12.3 приведен пример неудачной коррекции изображения
с помощью уровней и экспозиции в Adobe Photoshop. Причиной неудачной
коррекции послужила небольшая глубина цвета. В данном изображении ис-
пользуется цвет в 8-bit на канал. Из-за недостаточности информации об ин-
тенсивности и яркости небо в изображении полностью утрачено. При этом
также утрачены детали и в полутонах, что привело к сильному искажению
всего изображения в целом.

Рис. 1.12.3  Пример результата коррекции изображения с 8-bit на канал цветом


с помощью уровней и экспозиции в Adobe Photoshop CC

Если сохранить изображение в формате, который поддерживает широкий


динамический диапазон цветов и яркостей (HDR или OpenEXR), то мы сохра-
ним всю полноту оттенков и интенсивности во всех областях изображений.
Особенность 32-bit floating point или HDR-изображений заключается в том,
что они содержат цвета в линейном цветовом пространстве, что позволяет
вводить свое значение гаммы или применять собственный профиль цветово-
го пространства. А широкий динамический диапазон позволяет изменять яр-
кость и цвета как в светлых, так и в темных областях изображения без потери
в деталях.
80  Свет и цвет в компьютерной графике

Рис. 1.12.4  Пример результата коррекции изображения глубиной в 32-bit


на канал с помощью уровней и экспозиции в Adobe Photoshop CC

1.13. Система управления цветом в Autodesk Maya


После рассмотрения основных принципов управления цветом в современных
операционных системах и оборудовании пришло время познакомиться с клю-
чевой темой данной главы – системой управления цветом в Autodesk Maya
(Maya Color Management System). Данный раздел познакомит вас с реализа-
цией принципа работы с профилями цветового пространства, с реализацией
концепции рабочего процесса на основе линейного цветового пространства
и инструментами, реализованными в Autodesk Maya. Далее по тексту систему
управления цветом я буду представлять в виде сокращенной записи – MCMS.
Рабочий процесс на основе линейного цветового пространства подразуме-
вает несколько этапов трансформации цвета в приложении компьютерной
графики и визуализации. В зависимости от выбранных инструментов и опре-
деленных рабочим процессом профилей цветовых пространств необходимо
выполнять несколько условий, представленных в диаграмме на рис. 1.13.1.
В диаграмме основные этапы представлены определенными этапами. Пер-
вым этапом следует загрузка изображения в приложение визуализации – этап
Input. К загружаемым изображениям относятся процедурные шейдеры, соз-
данные на одном из языков разработки шейдеров материалов и текстур, рас-
тровые текстурные карты с определенным цветовым профилем, растровые
текстурные карты в линейном цветовом пространстве (32-bit floating point, 16-
bit half float), стандартные процедурные текстурные карты, предоставляемые
пакетом компьютерной графики.
Так как линейное цветовое пространство зачастую определено профилем
Linear RGB, то все значения цвета уже заранее представлены в линейном цве-
Система управления цветом в Autodesk Maya  81

товом пространстве, но если мы говорим о текстурных картах, которые со-


хранены с одним из распространенных профилей, таких как sRGB, Rec. 709, P3
и др., то для ядра системы визуализации и для исключения искажений в цве-
тах цветовое пространство изображения необходимо преобразовать в заранее
определенное рабочее линейное цветовое пространство.

Рис. 1.13.1  Концептуальная диаграмма системы MCMS,


реализующая основную концепцию рабочего процесса
в линейном цветовом пространстве

За трансформацию цветового пространства отвечает этап Color Transform


input. Именно в нем выполняются операции, которые трансформируют цвет
из одного цветового пространства в другое. Так, если текстурная карта созда-
на с помощью Adobe Photoshop CC и к ней применено цветовое пространство
sRGB, то MCMS будет применять обратную операцию, реверсировать значе-
ния, определенные профилем цветового пространства sRGB до значений цве-
тового пространства Linear RGB (scene-linear #). Это же условие актуально и для
нелинейного цветового пространства, примененного к изображениям 32-bit
floating point, например HDRI-текстурам. С другой стороны, процедурные тек-
стурные карты определены математическими уравнениями, а все величины
и значения цвета в них представлены в линейном цветовом пространстве.
Здесь может потребоваться только определенная трансформация цвета из од-
ного линейного цветового пространства в другое.
Следующим этапом идет непосредственно сам процесс вычислений. Этап
Computing на рис. 1.13.1 показывает, что все данные, полученные из растро-
вых и процедурных текстурных карт, поступают на обработку ядром визуа-
лизации исключительно в линейном цветовом пространстве. Это важно, так
как впоследствии мы должны получить обратную трансформацию цветового
пространства всего изображения, а цвет в текстурных картах не должен быть
искажен значительно после обратной трансформации.
82  Свет и цвет в компьютерной графике

Ядро любой современной системы визуализации оптимизировано для ра-


боты с линейным цветовым пространством. Все вычисления выполняются
исключительно в линейном цветовом пространстве, а изображение, форми-
руемое в процессе визуализации, сохраняется в формате, поддерживающем
линейное цветовое пространство.
Этап Image Output является одним из важнейших в этапе визуализации, так
как здесь мы выводим изображение из буфера кадра. Очень важно понимать,
во что будет выводиться изображение, в какой формат и с какой глубиной цве-
та. На диаграмме указан оператор IF. Здесь стоит отметить несколько ответ-
влений, так как изображение, которое формируется системой визуализации,
может быть отображено как в буфере кадра (Maya Render View, V-Ray Frame
Buffer), так и в виртуальном пространстве окна проекции Maya. Помимо ото-
бражения, оно также должно быть сохранено в виде файла изображения.
Если вы сохраняете изображение в формате с глубиной цвета в 8-bit или 16-
bit (short) и отображаете его в буфере кадров, то, согласно этапу Color Transform
output, будет применена обратная трансформация цвета. За это отвечает опе-
рация scene-linear # → RGB profile, где в качестве RGB profile может быть выбран
sRGB или специальный логарифмический профиль и т. п.
Если включить отображение текстурных карт в видовом окне проекции, то
ядро аппаратной визуализации Maya Viewport 2.0 будет выполнять визуализа-
цию в линейном цветовом пространстве, а затем применять трансформацию
цвета с помощью MCMS в выбранный профиль цветового пространства.
Когда результат визуализации сохраняется в линейном цветовом простран-
стве (16-bit (half float), 32-bit floating point), а затем передается на этап посто-
бработки и композитинга, мы можем только отобразить его в виртуальном бу-
фере кадров. Но, в отличие от форматов изображений с глубиной цвета в 8-bit
или 16-bit (short), цвет и яркость данных изображений представлены в линей-
ном цветовом пространстве.

Начало работы с MCMS


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

Установка MCMS в качестве активной системы


1. О
 ткройте диалоговое окно Preferences и перейдите в раздел Color Man-
agement. Обычно MCMS активна по умолчанию для всех новых сцен, но
вы можете изменить данный процесс в атрибутах диалогового окна New
Scene Options.
2. Задайте рабочее цветовое пространство (Rendering Space), которое будет
использовано для визуализации.
3. Для большинства ситуаций вы можете определить профиль цветового
пространства для View Transform аналогично тому, которое вы будете
использовать для финального изображения. Например, если проект ис-
пользует коррекцию тонов на основе стандарта ACES, тогда выберите
профиль пространства ACES RRT.
Система управления цветом в Autodesk Maya  83

4. С
 помощью атрибутов Input Color Space Rules создайте правила, опреде-
ляющие цветовые пространства по умолчанию, которые будут исполь-
зованы большинством импортируемых в сцену изображений. Вы може-
те добавить дополнительные правила, основанные на ваших стандартах
об именах файлов. Цветовое пространство, определенное правилами,
будет использоваться по умолчанию как базовый параметр для каждой
двухмерной растровой текстуры, импортируемой с помощью узла File
и других узлов импорта изображений. Впоследствии вы сможете само-
стоятельно изменить их.
Если вы применяете MCMS к уже существующим сценам, например создан-
ным в ранних версиях Maya, в которых уже есть материалы, текстуры или ис-
точники света, используйте специальную функцию преобразования текстур
и элементов сцены согласно правилам трансформации цвета.
Далее я подробнее рассмотрю важные настройки для управления цветом
в некоторых настройках приложения просмотра и визуализации, которые
вам, возможно, понадобится выполнить.
Не надо включать MCMS при запекании текстурных карт с помощью системы ви-
зуализации Turtle. Если вы это сделаете, отображение изображения в видовых
окнах проекции будет неточным.

Добавление правил для управления цветом


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

Отображение в сцене
Во время работы функция View Transform обеспечивает предварительный про-
смотр окончательных цветов в области видового окна проекции и редактора Ren-
der View. Однако вы можете временно отключить преобразование цвета в окне
проекции или выбрать другое для выполнения диагностики или иных целей.
Для секвенций Playblast опция Apply Output Transform to Playblast при-
меняет выбранное цветовое пространство для преобразования из Rendering
Space. Обычно эта опция должна быть включена, чтобы позволить ролику
быть воспроизведенным на различных устройствах и видеоплеерах, которые
не применяют соответствующее преобразование вида к линейным изображе-
ниям сцены.

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

Устаревшие функции управления цветом


Узел defaultViewColorManager все еще доступен в сценах для совместимости. Но
помните, что его параметры не используются.
84  Свет и цвет в компьютерной графике

Отображение визуализируемых изображений


Для отображения изображения в цветовом пространстве scene-linear # исполь-
зуйте функцию View или Output Transform, выполнив два шага:
 первый шаг применяет коррекцию тонов к преобразованию цветов изо-
бражения с широким динамическим диапазоном к изображению в огра-
ниченном диапазоне цветов от [0, 1];
 второй шаг, если необходимо, преобразует, основные цвета и применя-
ет гамма-коррекцию, если она необходима.
Трехмерные сцены имитируют реальный мир в том смысле, что возможен
очень широкий диапазон значений яркости. С другой стороны, устройства,
используемые для отображения изображений, могут выводить ограниченный
диапазон значений яркости с максимальным значением, закодированным
как 1.0. Кроме того, они обычно просматриваются в условиях освещения, ко-
торые намного тусклее, чем на улице или в кадре с ярким освещением. По
этой причине коррекция тонов используется для сжатия значений высокого
динамического диапазона в диапазон отображения с приближенным к фото-
графии преобразованием, которое создает приятное, смягченное изображе-
ние. В коррекции тонов обычно используются S-образные кривые, которые
повышают контраст и насыщенность, чтобы компенсировать более низкий
динамический диапазон и более слабые условия просмотра.
Для отображения результата простого применения гамма-коррекции недо-
статочно, для полной подготовки изображения его необхоидмо представлять
в пространстве scene-linear #. Без коррекции тонов значения цвета выше 1.0
остаются выше 1.0 и ограничиваются только устройством вывода (монитором,
проектором).
Система управления цветом Maya выполняет трансформацию цвета для
отображения цветов в окнах проекций, редакторе UV Editor, редакторе Hyper-
shade и редакторе Render View, так что вы всегда можете получить аккуратное
представление финального результата.
На рис. 1.13.2 приведен пример отображения сцены в различных цветовых
пространствах и при трансформации цветов.

Рис. 1.13.2  Пример влияния трансформации цвета на визуализируемое изо-


бражение. A – визуализация выполнена с активным режимом View Transform, B –
View Transform отключен, изображение отображается в режиме RAW, C – плохая
компенсация за счет увеличения экспозиции при отключенной системе MCMS
Система управления цветом в Autodesk Maya  85

Иллюстрация A демонстрирует влияние системы управления цветом и ре-


жима View Transform на отображение изображения в линейном цветовом про-
странстве и корректную трансформацию цветов для отображения в буфере
кадров редактора Render View. Иллюстрация B отображает то же изображение,
но без трансформации цвета в режиме View Transform, оно отображено в виде
оригинального RAW-изображения, полученного с помощью V-Ray, а иллю-
страция C демонстрирует влияние простого увеличения экспозиции для ком-
пенсации темных участков изображения при отключенной системе MCMS.
Обратите внимание на то, что, хотя темные области изображения стали свет-
лее, мы полностью утратили светлые области изображения и детали в них. На
практике этого быть не должно и считается тотальной ошибкой.

Совместимость с системой управления цветом предыдущих версий


Если вы создавали проект в одной из предыдущих версий, например в Maya
2015 или еще более ранней, то при открытии сцены профили цветовых про-
странств, используемые в файлах текстур, преобразуются в соответствующее
цветовое пространство, определенное новой MCMS. Для вашего удобства
в табл. 1.2 приведены все профили, которые будут преобразованы согласно
новой версии MCMS.

Таблица 1.2. Профили цветовых пространств из предыдущих версий MCMS


и их трансформация в профили цветовых пространств Maya 2017 и выше
Этот профиль цветового пространства… … преобразуется в…
Linear sRGB scene-linear Rec 709/sRGB
sRGB sRGB
Linear Rec. 709 scene-linear Rec 709/sRGB
HDTV (Rec. 709) camera Rec 709
CIE XYZ scene-linear CIE XYZ
Use Default Input Profile Цветовое пространство, соответствующее
Default Input Profile в настройках визуализации
Any other value sRGB

Также стоит обратить внимание на несколько отличий современной вер-


сии от предыдущих версий Maya. В Maya версии 2015 и более ранних верси-
ях в Ima­ge Planes не было управления цветом. По умолчанию им назначался
профиль sRGB. Для узлов IBL по умолчанию используется пространство Raw
с включенными правилами игнорирования трансформации цветового про-
странства. Управление цветом автоматически активируется, если оно было
включено ранее. Однако вам все равно нужно задать другие предпочтения.

Ограничения управления цветом


В реализации MCMS на момент написания книги было несколько ограничений:
 цветовые пространства, определенные в узле растровых текстурных
карт File, не будут включены при экспорте в файл формата FBX;
 управление цветом не применяется при запекании текстурных карт, вы-
полняемом с помощью ядра визуализации Turtle;
 управление цветом не работает с текстурными картами Substance.
86  Свет и цвет в компьютерной графике

Конфигурация и глобальные настройки MCMS


Лучше всего настраивать управление цветом при создании нового проекта
или сцены. Это связано с тем, что управление цветом влияет на работу эле-
ментов выбора и управления цветом и источников света, поэтому, если вы из-
мените настройки MCMS, после того как уже применили материалы и создали
источники света, в дальнейшем может потребоваться выполнить множество
перенастроек.
Вы можете настроить систему управления цветом, задав индивидуальные
параметры, определив цветовое пространство для визуализации (Rendering
Space), трансформации отображения изображений и видов (View Transform)
по умолчанию, и другие параметры. Для этого вы можете воспользоваться сле-
дующими способами:
 выполнить настройку вручную, используя параметры группы Color Man-
agement в диалоговом окне Preferences;
 использовать MEL и Python согласно командам, описанным в разделе
Technical Documentation в справочной документации Maya. Описание
можно найти по команде colorManagementPrefs.
Глобальные параметры Color Management используются для новых сцен,
за исключением того, что задано атрибутами настроек New Scene Options
(рис. 1.13.3), включено управление цветом по умолчанию или нет. Все на-
стройки сохраняются в файле сцены, но могут быть переопределены при от-
крытии сцены, если вы используете политики управления цветом или задали
переменную OCIO в качестве переменной среды.

Рис. 1.13.3  Атрибут Color Management enabled


в диалоговом окне New Scene Options служит для определения того,
будет ли применяться MCMS при создании новых сцен

В настройках программы вы можете указать файл конфигурации OCIO для


совместимости с другими приложениями, которые поддерживают стандарт
и конфигурации OpenColorIO. Это определяет, какие преобразования доступ-
ны, а также значения по умолчанию, и предоставляет одну опцию для опреде-
ления цветового пространства, в котором выполняется визуализация и, воз-
можно, другие настройки. Путь к файлу конфигурации сохраняется в файле
сцены, но, как и другие параметры, он перезаписывается при открытии сцены,
если вы используете политики или задали OCIO в качестве системной пере-
менной среды.
Переменная среда OCIO переопределяет путь к файлу конфигурации и его
имя, которое сохраняется в сцене, и позволяет применять конфигурации, ми-
Система управления цветом в Autodesk Maya  87

нуя глобальные настройки приложения, применяя их индивидуально к объ-


екту или для каждого проекта, или для каждой сцены.
После настройки параметров системы управления цветом вы можете сохра-
нять и загружать политики (файлы настроек MCMS). Их можно использовать
для применения определенных настроек управления цветом при создании
новой сцены или открытии сохраненной сцены. Чтобы указать политики для
проектов или для изображений, вы можете использовать переменную среду
MAYA_COLOR_MANAGEMENT_POLICY_FILE, указав в ней путь к файлу политик MCMS.

Влияние выбранного профиля цветового пространства


Когда система управления цветом активна и настроена, изменить цветовое
пространство можно выбором профиля с помощью раскрывающегося списка,
расположенного в верхней панели видового окна проекции, редактора Render
View и диалогового окна Material Preview в редакторе Hypershade. На рис. 1.13.4
приведен наглядный пример влияния выбора различных профилей цветовых
пространств на отображение сцены в видовом окне проекции.

Рис. 1.13.4  Отображение диффузного цвета и текстурных карт в видовых


окнах при использовании MCMS. На иллюстрации A приведено изображение
без активной системы MCMS. Иллюстрация B демонстрирует результат работы
системы MCMS и профиля sRGB, иллюстрация C – профиль Log (Logarithmic),
D – профиль Rec.709
88  Свет и цвет в компьютерной графике

Система MCMS поддерживает работу с современным ядром аппаратной


визуализации Viewport 2.0 (Maya Hardware 2.0) и работает как с OpenGL, так
и DirectX-версией данного ядра аппаратной визуализации. Все изменения
в сцене, связанные с цветом, текстурами и источниками света, а также со спе-
циальными эффектами, будут подвергаться трансформации с помощью систе-
мы MCMS.

Рис. 1.13.5  Отображение визуализированного с помощью V-Ray for Maya


изображения при использовании MCMS. На иллюстрации A приведено изобра-
жение без активной системы MCMS. Иллюстрация B демонстрирует результат
работы системы MCMS и профиля sRGB, иллюстрация C – профиль Log (Loga-
rithmic), D – профиль Rec.709

То же самое касается редакторов Render View и Hypershade, в которых все


визуализируемые изображения и образцы материалов будут отображаться
с коррекцией цвета, выполненной с помощью MCMS. Рисунок 1.13.5 наглядно
демонстрирует влияние трансформации цвета на визуализируемое с помо-
щью V-Ray for Maya изображение. Стоит обратить внимание на важный мо-
мент: каждая современная система визуализации обладает определенным на-
бором функций для коррекции тонов (tone mapping) и управления цветом. По
умолчанию Autodesk Maya использует систему визуализации Arnold renderer,
которая тесно взаимосвязана с MCMS, а система V-Ray for Maya, помимо взаи-
мосвязи с MCMS, также поддерживает собственную реализацию трансформа-
ции цвета, о чем я расскажу ниже в данной главе.
Система управления цветом в Autodesk Maya  89

Основные параметры и инструменты MCMS


По своей сути настройка Maya Color Management System не является сложной.
Все настройки выполняются в глобальных настройках программы Maya и мо-
гут быть экспортированы в виде XML-файла, который может быть импортиро-
ван на других компьютерах и версиях Maya. В данном подразделе рассмотре-
ны основные глобальные параметры MCMS и области их применения.

Рис. 1.13.6  Группа параметров Color Management


в диалоговом окне Preferences

Доступ к основным параметрам можно получить с помощью меню


Windows ⇒ Settings / Preferences ⇒ Preferences ⇒ Color Management
или с помощью команд на языке MEL или Python:
 для MEL: colorManagementPrefs;
 для Python: cmds.colorManagementPrefs.
Более подробную информацию о конфигурации MCMS с помощью команд
на языках MEL и Python вы можете получить из справочной документации
Maya.
Если не указано иное условие, то все параметры системы управления цве-
том будут сохранены в файле сцены. Опираясь на личный опыт, могу посо-
90  Свет и цвет в компьютерной графике

ветовать сохранять конфигурацию в отдельном файле XML, так его можно


редактировать и применять на других системах без повторной настройки
всей системы в целом, что существенно экономит время при развертывании
единого производственного конвейера или при переносе настроек на другие
рабочие станции.
Все параметры системы управления цветом сосредоточены в группе атри-
бутов Color Management: Color Management Preferences.
Активация системы управления цветом выполняется с помощью атрибута
Enable Color Management. После того как система будет активирована, дру-
гие атрибуты станут доступны для выполнения точной настройки.
Атрибут Use OCIO Configuration позволяет активировать режим примене-
ния файлов конфигураций OCIO (OpenColorIO configuration file) и использовать
определенные в них цветовые пространства и трансформации. Когда данный
атрибут активен, первое, что необходимо сделать, – указать путь к файлу кон-
фигураций OCIO. Стандартные настройки для пространства визуализации
(Rendering Space) и профиля трансформаций для просмотра (View Transform)
будут заменены настройками, определенными в файле конфигураций OCIO.
С помощью атрибута Use OCIO Input Color Space Rules можно определить,
какие правила будут использованы для определения цветовых профилей для
текстурных карт и других импортируемых в сцену изображений. Когда дан-
ный атрибут активен, в списке Input Color Space Rules будут отображены пра-
вила, декларируемые в файле конфигураций OCIO. Вы не сможете добавить
другие правила, и вы не сможете изменить их порядок. Вы можете определить
профиль цветового пространства для правила Default, которое используется
только в том случае, если стандартное правило OCIO не указывает никакого
цветового пространства для конкретного файла. Если же данный атрибут не-
активен, то цветовые пространства будут назначаться согласно созданным
правилам, определенным списком Input Color Space Rules.
С помощью атрибута OCIO Config Path задается абсолютный путь к файлу
конфигураций OpenColorIO, который будет использован, когда атрибут Use
OCIO активен.
Если установлена переменная среда OCIO, то атрибуты Enable Color Management
и Use OCIO configuration активируются при запуске Maya, при открытии сцены
и при создании новых сцен. Кроме того, путь конфигурации OCIO задается путем,
заданным этой переменной.

Группа атрибутов Color Transform Preferences


Атрибут Rendering Space является одним из важнейших для системы MCMS.
Данное цветовое пространство будет использовано системой визуализации.
Цветовое пространство изображений текстурных карт, добавляемых в сцену
с помощью узла 2D File, будет трансформировано автоматически из присво-
енного ему цветового пространства в выбранное с помощью данного атрибута
цветовое пространство.
Параметр, определяемый атрибутом Rendering Space, является рабочим
цветовым пространством, в котором выполняются вычисления системой
визуализации. Оно также является цветовым пространством отображаемого
Система управления цветом в Autodesk Maya  91

в Render View изображения (если вы не применяете трансформацию Output


Transform). Когда MCMS активна, цветовые пространства в файлах 2D-текстур
и других изображений автоматически преобразуются в пространство, в кото-
ром выполняется визуализация изображения.
Всегда лучше выбирать Rendering Space заранее при создании нового про-
екта или сцены. Значения цвета, определенные инструментами управления
цветом, включая сплошные цвета и градиенты, обрабатываются как нетранс-
формированные значения Rendering Space. Если вы измените пространство
визуализации позже, результирующий цвет будет другим. Это потому что
цвет, представленный набором значений, зависит от того, к каким основным
цветам они относятся. Например, цвет, представленный как [0.2, 0.6, 0.4], от-
личается при использовании основных цветов sRGB по сравнению с основны-
ми цветами ACES2065-1.
По умолчанию в качестве Rendering Space выбран профиль scene-linear Rec
709/sRGB. Это цветовое пространство использует те же основные вариации
красного, зеленого и синего цветов, что и sRGB и HDTV (Rec. 709), но с цвето-
выми значениями в пространстве scene-linear # (другими словами, числовые
значения, которые линейно пропорциональны яркости в сцене). Это общее
пространство для визуализации, используемое во многих рабочих процессах.
Однако оно имеет очень ограниченную гамму, что означает, что оно может
представлять только относительно небольшой диапазон цветов в сравнении
с цифровым или отсканированным съемочным материалом. По этой причине
желательно использовать Rendering Space с более широкой гаммой, особенно
при визуализации 3D-элементов, которые будут объединены с кадрами, от-
снятыми на кинокамеру или отсканироваными с кинопленки.
Линейное цветовое пространство scene-linear DCI-P3 использует те же ос-
новные цвета, что и эталонный проектор DCI/SMPTE «P3», но опять же с ли-
нейными цветовыми значениями цветов. Это цветовое пространство имеет
более широкую, но все же ограниченную гамму. Преимущество использования
этого цветового пространства состоит в том, что оно может представлять все
цвета, доступные на современном проекторе. Кроме того, существует неболь-
шой риск создания цветов, не входящих в гамму проектора, что может вы-
звать неприятные сюрпризы, если контент в будущем будет просматриваться
на устройстве с более широкой гаммой.
Цветовое пространство scene-linear Rec 2020 похоже на цветовое простран-
ство scene-linear DCI-P3, но адоптировано для UHDTV вместо цифрового теле-
видения. Оно использует те же основные цвета, что и UHDTV, но с линейными
значениями, и существует небольшой риск получения цветов, не охватывае-
мых гаммой UHDTV.
Цветовое пространство Sharp RGB имеет очень широкую гамму. Оно исполь-
зует основные цвета Sharp RGB, предложенные Грегом Уордом в пространстве
scene-linear #. Одним из его преимуществ является то, что оно минимизирует
смещение оттенков при различных условиях освещения.
Цветовое пространство ACEScg является частью стандарта ACES и предна-
значено для использования в таких операциях и задачах компьютерной гра-
фики, как композитинг и визуализация. Его диапазон точек белого охватывает
как гамму цветового пространства Rec-2020, так и гамму DCI-P3.
92  Свет и цвет в компьютерной графике

Цветовые пространства scene-linear CIE XYZ и ACES2065-1 являются чрез-


вычайно широкими цветовыми пространствами. Их преимущество в том, что
они могут представлять любой возможный цвет. Их недостатком является то,
что они могут легко создавать цвета вне гаммы и, кроме того, могут быть не
интуитивно понятными для работы.
Если вы используете файл конфигурации OCIO, то вам будут доступны толь-
ко те цветовые пространства, которые определены в файле. Если у них есть
роль «rendering», то это единственная роль, которую вы можете использовать
в качестве пространства визуализации.
Для трансформации цвета и текстурных карт, отображаемых в видовых ок-
нах проекций и в редакторе Render View, используйте атрибут View Trans-
form. Значения цвета будут автоматически преобразованы из рабочего цвето-
вого пространства в выбранное для отображения цветовое пространство. Но
помните, что это цветовое пространство используется только для отображе-
ния цветов и не влияет на цвет сохраняемого файла изображения.
Независимо от того, какое пространство отображения вы выбираете, вы мо-
жете временно выбрать другое или даже отключить функцию View Transform
на панелях инструментов Render View и Viewport 2.0. Это полезно, если вы хо-
тите быстро проверить цвет, представленный в линейном цветовом простран-
стве или без дополнительной трансформации.

Группа атрибутов Input Color Space Rules


Данная группа атрибутов позволяет создавать правила для автоматического
назначения начальных цветовых пространств для импортируемых в сцену
изображений. Правила применяются всякий раз, когда вы выбираете файл
изображения в качестве текстуры или изображения image plane.
Независимо от того, какое цветовое пространство назначено правилами, вы
всегда можете изменить его для отдельных узлов с поддержкой управления
цветом. К примеру, это полезно, если большинству текстурных карт присвое-
но цветовое пространство sRGB, но вы также используете материал с отскани-
рованной кинопленки в формате DPX в качестве изображения для image plane.
Помните, правила сохраняются в пользовательских настройках, но не в файле
сцены.
Кнопка Reapply Rules to Scene сбрасывает цветовые пространства для на-
ходящихся в сцене изображений, которые были добавлены ранее, повторно
применяя созданные правила. Это может быть полезно, если вы изменили
правила или применяете новую систему управления цветом к существующей
сцене, в которой она ранее не использовалась.
Правила определения цветовых пространств для импортируемых в сцену
текстурных карт и изображений Image Planes позволяют упростить преобразо-
вание большого количества текстурных карт и их цветов в цветовое простран-
ство, используемое для визуализации (Rendering Space).
Для того чтобы добавить правило, под списком правил щелкните по кнопке
Add и в отрывшемся диалоговом окне Name Rule введите имя правила. Здесь,
рекомендуется создавать более осмысленное имя правила, определющее его
задачу. Так как конфигурация MCMS может перенестись на другую рабочую
станцию или использоваться другими художниками на студии, то заранее
Система управления цветом в Autodesk Maya  93

проработайте имена правил и текстурных карт. Для удаления правила просто


используйте кнопку Delete.

Рис. 1.13.7  Группа атрибутов Input Color Space Rules


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

Создав правила, их необходимо настроить согласно выбранному вами ша-


блону именования файлов текстурных карт. Здесь стоит обратить особое вни-
мание на форматы изображений, назначение импортируемых изображений
и цветовые пространства, в которых представлен цвет пикселей. Приведу
небольшой пример списка имен файлов текстурных карт, используемых для
текс­турирования модели:
character_model_albedo-color_sRGB.tif
character_model_specular-color_sRGB.tif
character_model_displacement_Linear.exr
character_model_bump_sRGB.tif
character_model_AO_16bit_sRGB.tif
В приведенном выше списке видно, что диффузный цвет задает текстур-
ная карта, содержащая в имени *_albedo-color_sRGB*; это означает, что прави-
лу можно указать, что все текстуры с именем, в котором содержится данный
постфикс, должны быть преобразованы в цветовое пространство визуализа-
ции из цветового пространства sRGB. Само же цветовое пространство, из ко-
торого производится трансформация цвета, выбирается с помощью раскры-
вающегося списка Input Color Space, расположенного в группе атрибутов Rule
Conditions. С помощью раскрывающегося списка Image Extension выбирается
формат графических файлов, к которому относится данное правило; отмечу,
что может быть создано несколько правил, которые содержат одно условие,
но используются различные форматы файлов, например JPEG, TIFF, PNG, EXR
и т. д.
Также вы можете использовать все правила поиска, например если перед
постфиксом идет набор символов, подробней описывающих текстурную кар-
ту, то напрямую система правил может не найти его, в то же время, если перед
постфиксом поставить символ звездочки (*), то все символы до и после сим-
вола звездочки в правиле, будут исключены из поиска.
Префикс и постфикс, определяемые для файлов текстурных карт, записыва-
ются в текстовом поле Image Name Pattern.
94  Свет и цвет в компьютерной графике

Выбрав правило и указав префиксы и постфиксы, с помощью раскрывающе-


гося списка Input Color Space выберите цветовое пространство, которое будет
использовано для преобразования цвета импортируемого в сцену изображения.
Кнопки Up и Down, находящиеся в верхней области списка правил, позво-
ляют перемещать правила по списку, расставляя их по приоритету.
Кнопка Reapply Rules to Scene позволяет быстро преобразовать все тек-
стурные карты и изображения в сцене согласно созданным правилам. Это
удобно когда вы вносите кардинальные изменения в систему управления цве-
том и необходимо избежать ошибок в трансформации цвета.

Группа атрибутов Output Color Transform Preferences


Процесс визуализации затрагивает большое количество областей, в той или
иной мере связанных с получением визуально приемлемого изображения. Это
и визуализация в видовых окнах и с помощью ядра аппаратной визуализации
Maya Hardware 2.0, и визуализация с помощью программных решений для фо-
тореалистичной визуализации наподобие V-Ray for Maya или Arnold renderer.
Так как изображения, формируемые ядром визуализации, впоследствии бу-
дут сохранены на жесткий диск или просмотрены в редакторе Render View или
с помощью специального программного обеспечения, их необходимо подго-
товить для отображения с корректным представлением цветов. В начале раз-
дела об MCMS я говорил, что просмотр и сохранение изображения подразуме-
вает обратную трансформацию цвета из линейного цветового пространства
в нелинейное, т. е. нам необходимо применить обратную гамма-коррекцию
и назначить соответствующий профиль.
В группе атрибутов Output Color Transform Preferences представлены атри-
буты для настройки цветовых пространств, которые будут использованы для
трансформации цвета в видовых окнах проекций и редакторе Render View
и при сохранении изображения на жесткий диск.
Атрибут Apply Output Transform to Render позволяет выбрать профиль
цветового пространства, который будет применен к изображению, сохраняе-
мому на жесткий диск компьютера. Так, с помощью атрибута Transform Type
выбирается профиль цветового пространства, доступный в системе MCMS, –
режим Color Space Conversion или режим View Transform, используемый для
трансформации цвета изображения в видовых окнах и редакторе Render View.
Режим View Transform для атрибутов Apply Output Transform to Renderer и Ap-
ply Output Transform to Playblast применит к изображению профиль цвето-
вого пространства, определенного атрибутом View Transform. А применение
режима Color Space Conversion предоставляет возможность индивидуально
настроить цветовое пространство как для визуализируемого изображения,
так и для секвенции кадров, формируемых с помощью инструмента Playblast.
К этому моменту стоит отнестись с особым вниманием, так как от него за-
висит то, как будут представлены цвета в изображении и впоследствии ото-
бражены на устройстве просмотра и на этапе композитинга.
Если атрибут Apply Output Transform to Renderer активен и выбрано опреде-
ленное цветовое пространство, то все изображения, сохраненные на жестком
диске, будут подвергнуты трансформации цвета из линейного цветового про-
странства в определенное данным атрибутом пространство.
Система управления цветом в Autodesk Maya  95

Поэтому, если вы планируете сохранять изображение в формате с линейным


цветовым пространством, таком как OpenEXR, TIFF или HDRI, то рекоменду-
ется отключить данный атрибут, иначе к данному изображению будет приме-
нено цветовое пространство, которое будет выполнять обратную трансформа-
цию. При открытии изображения в стороннем редакторе, например в Adobe
Photoshop CC, к линейному изображению с уже примененным профилем для
коррекции будет применена повторная трансформация цветового простран-
ства, что приведет к повышенной яркости в светлых участках и некорректной
интерпретации цветов в целом.
Рисунок 1.13.8 наглядно демонстрирует пример ошибки назначения цвето-
вого пространства sRGB дважды к одному изображению. Данное изображение
было сохранено дважды, как в оригинальном линейном цветовом простран-
стве scene-linear Rec 709/sRGB, так и с профилем цветового пространства sRGB.
Но sRGB-изображение было сохранено в том же линейном формате OpenEXR,
и при открытии данного изображения в приложении для просмотра мы по-
лучили повторное применение трансформации цветового пространства, что
привело к некорректному отображению цветов.

Рис. 1.13.8  Пример отображения изображения в приложении mrViewer. Иллюстра-


ция A – цветовое пространство scene-linear Rec 709/sRGB, B – трансформация цвета
в цветовое пространство sRGB, C – дважды примененное цветовое пространство sRGB
к линейному изображению с записанной коррекцией цветов и гаммы

Если вам все же необходимо сохранить изображение с трансформацией


цветового пространства, воспользуйтесь редактором Render View и, выбрав
в меню File ⇒ Save Image…, а в области атрибутов Options…, переключите в ре-
жим Color Managed Image – View Transform embeded и выберите один из
стандартных форматов, таких как TIFF, JPEG, PNG и т. п. Но для последующей
дополнительной обработки всегда используйте линейное цветовое простран-
ство (режим Raw Image) и формат изображений, поддерживающий 32-bit
floating point или 16-bit half float тип данных.
Помимо применния пространства View Transform, вы можете выбрать цветовое
пространство, определенное атрибутом Output Transform. Для этого в настройках
сохранения графического файла выберите режим Color Managed Image – Output
Transform embeded.
96  Свет и цвет в компьютерной графике

В случае подготовки роликов Playblast система MCMS может быть исполь-


зована совместно с Maya Viewport 2.0 и Maya Hardware 2.0. Если используются
аппаратные решения для затенения, например шейдеры DirectX или GLSL, то
материалы на их основе и текстурные карты также могут быть хорошо пред-
ставлены трансформацией цвета с помощью MCMS. Принцип применения
цветового пространства для секвенций Playblast не отличается от принципов
применения таковых для визуализируемого с помощью системы визуализа-
ции изображения.

Группа атрибутов Transform Directory/LUT Path


Группа содержит атрибут User Transform/LUT Directory Path (рис. 1.13.9).
Данный атрибут позволяет задать путь к сохранененным пользовательским
профилям для трансформации цвета. Этот путь должен быть всегда связан
с существующей директорией. Если вы не хотите загружать какие-либо поль-
зовательские трансформации, введите путь к пустой директории.

Рис. 1.13.9  Группы атрибутов Transform Directory/LUT Path, UI Settings,


Floating Point Render Target, Export or Load Color Management Preferences from XML File

По умолчанию данному атрибуту присвоен следующий путь:


$MAYA_APP_DIR/synColor/Shared/
где переменная $MAYA_APP_DIR задает путь к директории, в которой сохраняются
настройки программы и отчеты различных модулей программы.

Группа атрибутов UI Settings


Это глобальные настройки, которые сохраняются в настройках самой системы
MCMS, а не в файле сцены. Так как при работе над материалами и процедур-
ными текстурами приходится прибегать к оценке выбранного цвета, то все
цвета должны быть представлены в значениях и представлении как цветового
пространства scene-linear #, так и после трансформации в желаемое цветовое
пространство.
Система управления цветом в Autodesk Maya  97

Атрибут Show Color Managed Pots активирует применение MCMS для ин-
струментов управления цветом, включая сплошные цвета (solid colors) и гра-
диенты (ramps) (рис. 1.13.10). Вы также можете отключить или включить дан-
ную функцию с помощью меню в редакторе атрибутов, выбрав Show ⇒ Show
Color Managed Pots.

Рис. 1.13.10  Пример влияния атрибута Show Color Managed Pots на образцы цвета.
Слева – атрибут отключен, справа – атрибут включен

Помимо образцов цвета и отображения градиентов, система MCMS также


оказывает влияние на работу инструмента Color Picker. Когда открыто диа-
логовое окно Color Picker, в нем доступна функция Color Management, которая
трансформирует цвета с помощью выбранного в раскрывающемся списке
Mixing Color Space профиля цветового пространства.
Стоит обратить внимание на значения цвета, определяемые с помощью
атрибутов R, G и B или H, S, V. На рис. 1.13.11 приведен пример значений RGB
без трансформации цвета R: 1.00, G: 0.188, B: 0.00. После того как были при-
менены возможности системы управления цветом, значения цвета стали сле-
дующими: R: 0.942, G: 0.339, B: 0.00.
98  Свет и цвет в компьютерной графике

А В

Рис. 1.13.11  Пример влияния атрибута Color Management


на цвет в Color Picker. Слева – атрибут отключен,
справа – атрибут включен, выбран профиль Output – Rec.709

Группа атрибутов Floating Point Render Target


Отображает значения с плавающей точкой во Viewport 2.0 вместо целочислен-
ных значений. Эта опция также доступна в окне параметров ядра визуализа-
ции Viewport 2.0.
Чтобы правильно отображать и выбирать цвета в видовом окне проекции,
когда включено управление цветом, этот атрибут также должен быть включен,
а для атрибута Format должно быть установлено значение R32G32B32A32_FLOAT.
Если вы выберете другие настройки, то можете увидеть цвета в ограничен-
ном цветовом диапазоне, полосы и другие артефакты в видовом окне про-
екции. Кроме того, использование инструмента «пипетка» для выбора цвета
в видовом окне проекции может привести к пробам с неправильными значе-
ниями цвета (рис. 1.13.12).
Система управления цветом в Autodesk Maya  99

Рис. 1.13.12  Пример влияния выбранного режима для атрибута Format


в свойствах Viewport 2.0 на образец цвета, взятого с помощью инструмента Eyedropper

Обратите внимание на приведенное изображение. Оно наглядно демон-


стрирует описанное выше предостережение. В область центра cолнца на изо-
бражении был наведен курсор с инструментом Eyedropper. В режиме 16-bit
floating point было получено значение, равное R: 16.292, G: 16.292, B: 16.292.
Но если выбран режим 32-bit floating point, то на пробе выбраны следующие
значения: R: 3.9922, G: 3.9922, B: 3.9922. Как раз значение, полученное в режи-
ме 32-bit fp, является верным и будет правильно интерпретировано инстру-
ментом Color Picker.

Группа атрибутов Export or Load Color Management Preferences


from XML File
Так как новая система управления цветом подразумевает применение на
крупных производствах, ее настройки могут быть сохранены в отдельном
файле формата XML и импортированы на других рабочих станциях и экзем-
плярах Maya.
Для сохранения настроек системы MCMS служит кнопка Export CM Pref.
Выберите директорию, куда вы хотите сохранить файл конфигураций, и вы-
полните сохранение. Для импорта настроек служит кнопка Import Policy.
<?xml version="1.0" encoding="UTF-8" ?>
<ColorManagement version="1.4">
<Parameter name="OCIOConfigFile" value="" />
<Parameter name="OCIORulesEnabled" value="true" />
<Parameter name="applyPlayblastOutputTransform" value="true" />
<Parameter name="isApplyOutputTransformEnabled" value="false" />
<Parameter name="isCMEnabled" value="true" />
<Parameter name="isOCIOEnabled" value="false" />
<Parameter name="outputTransform" value="Rec 709 gamma" />
<Parameter name="outputTransformUseViewTransform" value="false" />
100  Свет и цвет в компьютерной графике

<Parameter name="playblastOutputTransform" value="Rec 709 gamma" />


<Parameter name="playblastOutputTransformUseViewTransform" value="true" />
<Parameter name="renderingSpace" value="scene-linear Rec 709/sRGB" />
<Parameter value="<?xml version="1.0" encoding="UTF-8"?>
<rules version="1.0">
<default colorSpace="sRGB"/>
<FilePathRule name="HDR" extension="hdr" pattern="*" colorSpace="Raw" />
<FilePathRule name="HDR_Environments" extension="hdr" pattern="environ_*" colorSpace="Raw"
/>
<FilePathRule name="EXR_Color" extension="jpg" pattern="*_color*" colorSpace="Raw" />
<FilePathRule name="EXR_Displacements" extension="exr" pattern="*_displacement*"
colorSpace="Raw" />
<FilePathRule name="TIFF_StdColor" extension="tif" pattern="*_color*" colorSpace="sRGB" />
<FilePathRule name="JPG_StdColor" extension="jpg" pattern="*_color*" colorSpace="sRGB" />
</rules>" name="userRules"/>
<Parameter name="userTransformPath" value="C:/Users/Dmitry/Documents/maya/synColor/
Shared/" />
<Parameter name="viewTransform" value="Rec 709 gamma" />
</ColorManagement>

В представленном выше листинге приведен пример файла конфигураций


MCMS в формате XML. Так как формат XML является одним из самых распро-
страненных среди представления данных, все настройки MCMS представлены
в виде определенных тегов, которые определяются Maya и изменяют согласно
определенным ими свойствам настройки программы.
<ColorManagement version=»1.4»> – данная команда определяет версию MCMS.
Так, для Maya 2017 используется версия 1.4, а для Maya 2018 – версия 1.5.
Список тегов <Parameter name=… /> задает один из параметров MCMS, заданный
в настройках программы. Путь к пользовательским профилям трансформации
цвета определяется тегом <Parameter name=»userTransformPath» … />.
Редактируя созданный с помощью экспорта файл, вы можете быстро отре-
дактировать конфигурации, и, если они используется на нескольких компью-
терах, файл будет загружен вновь при следующем запуске программы.
На первый взгляд система управления цветом в Maya может показаться
сложной, но на самом деле ее можно сконфигурировать один раз, и далее она
будет выполнять свои задачи согласно заданным правилам, а в случае некор-
ректных действий они могут быть просто изменены вручную с помощью ре-
дактирования файлов конфигураций.

1.14. Управление цветом в V-Ray for Maya


Система визуализации V-Ray for Maya поддерживает интеграцию с MCMS,
а также предоставляет собственные инструменты для трансформации цвета
в рабочее цветовое пространство. При просмотре изображений с помощью
V-Ray Frame Buffer автоматически производится обратная трансформация
цвета из линейного цветового пространства в нелинейное цветовое простран-
ство, по умолчанию – sRGB.
Управление цветом в V-Ray for Maya  101

Переопределение цветового пространства для текстурных карт выполняет-


ся с помощью редактора атрибутов. Выделив узел 2D File, в меню редактора
атрибутов выберите Attributes ⇒ VRay ⇒ Texture input gamma.
Атрибуты V-Ray будут добавлены в качестве дополнительных атрибутов
в специализированном свитке Extra VRay Attributes (рис. 1.14.1), а также могут
быть отображены в свитке Extra Attributes.

Рис. 1.14.1  Атрибуты V-Ray для трансформации цветового пространства


текстурной карты из нелинейного в линейное цветовое пространство

Атрибут Enable input texture correction активирует трансформацию цвета


текстурной карты. Для корректной работы и исключения возможных ошибок
рекомендуется отключать применение правил, определенных MCMS. Для это-
го просто установите флажок напротив атриубта Ignore Color Space File Rules
в свитке File Attributes, и система управления цветом Maya не будет оказывать
влияния на текстуру. Но при активации трансформации средствами V-Ray бу-
дет активирован механизм, используемый в ядре визуализации V-Ray.
Атрибут Color Space позволяет выбрать цветовое пространство, использу-
мое для преобразования цветового пространства текстурной карты в линей-
ное цветовое пространство визуализации. Система визуализации V-Ray по
умолчанию предоставляет следующие цветовые пространства: Linear, Gamma
и sRGB.
При выборе цветового пространства Gamma становится активным атрибут
Texture input gamma. С помощью данного атрибута задается значение Gam-
ma текстурной карты, данное значение будет применено для гамма-коррек-
ции изображения, но при этом само цветовое пространство будет сохранено
без преобразования. То есть если у изображения цветовое пространство sRGB,
в котором по умолчанию гамма равна 2.2 или 2.4, то при значении атрибута
102  Свет и цвет в компьютерной графике

Gamma, равном 2.2 или 2.4, гамма цветового пространства sRGB будет поде-
лена на введенную величину, к примеру стремиться к единице (2.2/2.2 = 1.0).
Хочется отметить, что лучше знать, с каким конкретным значением гаммы
были сохранены текстурные карты. Это можно сделать на основе информации
о профиле цветового пространства.

Коррекция цвета и тона в V-Ray for Maya


Одним из важнейших вопросов, которые задают многие начинающие худож-
ники, является вопрос, посвященный правильной коррекции тона и цвета
в V-Ray. Сейчас в V-Ray уже многие параметры выставлены на оптимальные
настройки, и пользователю требуется прикладывать минимальные усилия для
достижения оптимального качества изображения.
Управление коррекцией цвета и тона в V-Ray выполняется в диалоговом
окне Render Settings во вкладке VRay, в свитке Color mapping (рис. 1.14.2).

Рис. 1.14.2  Свиток Color mapping


в диалоговом окне Render Settings

Некоторые атрибуты оставлены здесь для совместимости, а некоторые вы-


браны по умолчанию, так как являются стандартом и используются в боль-
шинстве задач, связанных с визуализацией.
Выбор типа коррекции цвета и тона выполняется с помощью атрибута Type.
В V-Ray возможно применять следующие типы:
 Reinhard – выполняет смешивание между цветами в экспоненциальном
стиле и линейном. Чтобы задать силу смешивания, используйте атрибут
Burn Value;
Управление цветом в V-Ray for Maya  103

 Linear multiply – выполняет простое преумножение итоговых цветов


изображения на основе их яркости без применения каких-либо изме-
нений;
 Exponential – данный режим повышает насыщенность цветов в зави-
симости от их яркости. Это может быть полезно для предотвращения
«выгорания» в очень ярких местах (например, вокруг источников света).
Этот режим ограничивает цвета, поэтому результирующие значения не
превышают 255 (или 1 в значениях с плавающей точкой);
 HSV exponential – аналогичен режиму Exponential, но сохраняет оттенки
и насыщенность цветов вместо того, чтобы сместить цвет в сторону белого;
 Intensity exponential – данный режим также аналогичен режиму Expo-
nential, но сохраняет соотношение компонент цвета RGB; влияет только
на интенсивность цветов;
 Gamma correction – данный режим применяет гамма-кривую к цветам
визуализируемого изображения. В этом случае атрибут Dark multiplier
является общим множителем для цветов до того, как они будут скоррек-
тированы с помощью величины гаммы, а Brightness multiplier задает
обратное значение гаммы (например, для гаммы 2.2 множитель яркости
должен быть 0.4545);
 Intensity gamma – применяет гамма-кривую к интенсивности цветов
вместо каждого канала (R, G, B) независимо.
На рис. 1.14.3 приведены примеры визуализации сцены с различными ти-
пами коррекции тона и цвета. Особое внимание рекомендуется уделить обла-
стям, в которых проявляются отражения источников света и других объектов,
а также смягчается контрастность при затухании света на расстоянии, минуя
ярко-выраженное пятно вблизи источников света.

Рис. 1.14.3  Примеры визуализации изображений


с различными типами коррекции цветов и тонов. A – Rainhard, B – Linear multiply,
C – Exponential, D – HSV exponential, E – Intensity exponential,
H – Gamma correction, G – Intensity gamma
104  Свет и цвет в компьютерной графике

На практике рекомендуется использовать тип коррекции Reinhard, но с не-


большими коррекциями в настройках. Рекомендуется немного понижать зна-
чение Multiplier и Burn Value для компенсации высокой яркости в областях
бликов и отражений (рис. 1.14.4).

Рис. 1.14.4  Примеры визуализации изображения


с различными конфигурациями параметров Multiplier и Burn Value.
A – Multiplier = 1.0, Burn Value = 1.0; B - Multiplier = 0.35, Burn Value = 1.0;
C - Multiplier = 1.0, Burn Value = 0.35

Настройка основных параметров коррекции тона и цвета немного отлича-


ется и зависит от выбранного режима. Описываемые ниже атрибуты исполь-
зуются для настройки режима Reinhard.
Multiplier – является общим множителем, когда коррекция тона и цвета
действует в режиме Reinhard.
Burn Value – для режима Reinhard регулирует сочетание отображения меж-
ду линейным и экспоненциальным стилями. Если значение атрибута Burn
Value равно 1.0, результатом является линейная коррекция цветов; если зна-
чение записи равно 0.0, результатом является экспоненциальная коррекция
цветов.
Dark multiplier – контролирует преумножение темных цветов. Данный
атрибут становится доступен при выборе других режимов коррекции тона
и цвета.
Bright multiplier – контролирует преумножение светлых цветов. Данный
атрибут также становится доступен при выборе других режимов коррекции
тона и цвета.
Gamma – управляет гамма-коррекцией для визуализируемого изображения
независимо от режима коррекции тона и цвета. Обратите внимание, что здесь
значение является обратным значению, используемому для типа коррекции
цвета Gamma correction. Например, чтобы скорректировать цвет изображения
для гаммы дисплея, равной 2.2, вы можете просто задать атрибуту Gamma ве-
личину 2.2.
Affect background – если этот атрибут активен, коррекция тона и цвета не
повлияет на цвет, формируемый фоном сцены (background).
Mode – определяет, записываются ли в окончательное изображение резуль-
тат коррекции тона и цвета и/или результат коррекции величины гаммы. Эта
Управление цветом в V-Ray for Maya  105

опция заменяет опцию Don’t affect colors (adaptation only) из предыдущих вер-
сий V-Ray. Для работы вам предоставляется несколько режимов:
 Color mapping only, no gamma – коррекция тона и цвета записывается
в визуализируемое изображение, но без учета гамма-коррекции. Этот
режим используется по умолчанию. V-Ray все равно продолжит форми-
роваине изображения, как если бы применялись как коррекция цвета,
так и гаммы, но будет применять только коррекцию цвета (Linear, Rein-
hard и т. д.) к конечному результату;
 Color mapping and gamma – коррекция тона и цвета и гамма-коррек-
ция записываются в окончательное изображение. Это соответствует от-
ключению опции Don’t affect colors, adaptation only, доступной в преды-
дущих версиях V-Ray;
 Don’t affect colors, adaptation only – ни коррекция тона и цвета, ни
гамма изображения не утрачиваются в конечном изображении. Тем не
менее V-Ray продолжит все необходимые вычисления, как будто при-
меняется коррекция тона и цвета и гаммы (например, уровни шума бу-
дут соответствующим образом скорректированы). Например, это может
быть полезно в таком случае, как если вы знаете, что позже примените
некоторую коррекцию цвета к изображению, но хотите сохранить сам
результат визуализации в линейном пространстве для последующе-
го композитинга. Это соответствует доступной в предыдущих версиях
V-Ray опции Don’t affect colors, adaptation only.
Clamp output – когда этот атрибут активен, цвета будут зафиксированы по-
сле коррекции тона и цвета. Это может быть полезно для сглаживания очень
ярких источников света или частей изображений в формате HDR.
Clamp level – определяет уровень, на котором компоненты цвета будут
ограничены. Этот атрибут доступен только в том случае, если активен атрибут
Clamp output.

Трансформация цвета в V-Ray Frame Buffer


Буфер кадров V-Ray является основным ин-
струментом для отображения изображений,
получаемых в процессе визуализации сцены
с помошью V-Ray for Maya. Конечно, вы мо-
жете использовать и стандартный редактор
Render View, но функциональность V-Ray
Frame Buffer позволяет решать больше задач,
связанных как с коррекцией изображения, так
и с отображением дополнительных элементов
изображения, и многое другое.
Доступ к свиткам управления профилями
цветовых пространств выполняется с помо-
щью панели Corrections Controls.
Свиток LUT позволяет выбрать и загрузить Рис. 1.14.5  Свитки
файл трансформации цвета в формате *.cube. LUT, OCIO и ICC
Данный файл может быть получен с помощью в V-Ray Frame Buffer
106  Свет и цвет в компьютерной графике

системы коррекции цвета или композитинга, такой как DaVinci Resolve, Au-
todesk Lustre и др. Специальный атрибут Convert To Log Space Before Apply-
ing LUT выполняет специальную функцию предварительного преобразова-
ния линейного цветового пространства, в котором выполнялась визуализация
в логарифмическое цветовое пространство (Logarithmic), а затем к изображе-
нию в логарифмическом цветовом пространстве будет применена трансфор-
мация цветов на основе загруженного в VFB файла *.cube.
Если в рабочем процессе используется OpenColorIO, то в VFB может быть
импортирован файл конфигурации OCIO и выбран желаемый профиль цве-
тового пространства, в которое должны быть трансформированы цвета изо-
бражения. За работу с OCIO в VFB отвечает свиток OCIO. С помощью кнопки
Load вы можете выбрать и загрузить файл конфигураций OCIO. С помощью
кнопки Clear выполняется удаление связи с файлом конфигурации OCIO и от-
мена трансформации цвета изображения.
Раскрывающийся список Input Colorspace позволяет выбрать профиль цве-
тового пространства, в котором выполнена визуализация изображения. Если
в MCMS в качестве Rendering Space выбран профиль пространства ACEScg, то
в данном раскрывающемся списке необходимо также выбрать данное цвето-
вое пространство.
С помощью списка Display выбирается устройство, на котором отображается
VFB с изображением. Все устройства, на которых вы хотите отображать изо-
бражение, могут быть описаны в файле конфигураций OCIO.
Для определения целевого цветового пространства служит список View
Transform, с помощью данного списка выбирается профиль цветового про-
странства, в которое должны быть преобразованы цвета изображения.
Свиток ICC позволяет применить к изображению профиль ICC, чтобы он со-
ответствовал отображаемому в Adobe Photoshop изображению. Эти профили
применяются только при просмотре изображения в VFB. Он не применяется,
когда изображение будет сохранено в файле на жестком диске.
Кнопки Load и Clear позволяют выбрать и загрузить файл *.icc или очистить
путь к файлу и восстановить изображение. С помощью раскрывающегося спи-
ска Rendering Intent выбирается метод трансформации цвета из линейного
цветового пространства или из выбранного вами нелинейного цветового про-
странства в определяемое ICC профилем цветовое пространство. Механизм,
реализованный в VFB, поддерживает следующие методы трансформации:
Perceptual, Relative Colorimetric, Saturation и Absolute Colorimetric. Все основные
методы трансформации цвета описаны выше в табл. 1.1. Параметр Black Point
Compensation позволяет активировать применение корректирующего мето-
да между максимальными уровнями черного в изображении и возможностя-
ми отображать черный цвет на различных устройствах.
Мы разобрались в основных инструментах Maya Color Management System
и принципах реализации трансформации цвета из нелинейного цветового
пространства в линейное цветовое пространство и обратно. Но работа с изо-
бражением рамками приложения Maya не ограничивается – далее следует до-
работка изображения в редакторах для композитинга, видеомонтажа и цифро-
вого рисования. В следующих разделах рассмотрены основные инструменты
для управления цветом в DaVinci Resolve, NUKE и Adobe Photoshop CC.
Управление цветом в DaVinci Resolve  107

1.15. Управление цветом в DaVinci Resolve


После визуализации изображения или секвенции кадров анимации работу
можно продолжить в стороннем редакторе. Зачастую это программы обработ-
ки изображений и видео. Одним из лидирующих решений для коррекции цве-
та и обработки секвенций изображений является DaVinci Resolve (рис. 1.15.1).

Рис. 1.15.1  Рабочее пространство Color в DaVinci Resolve 14.


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

В данном разделе описаны основные параметры проектов Resolve для


управления цветом и базовые инструменты отображения информации о цве-
те и яркости изображения, позволяющие выполнять более точную настройку
цвета. Базовые настройки управления цветом в проекте Resolve выполняются
с помощью диалогового окна Project Settings (рис. 1.15.2), вызываемого с по-
мощью меню File ⇒ Project Settings…
В группе параметров Color Management определяются глобальные пара-
метры для управления цветом в проекте. Различные параметры, доступные
в группе Color Management, позволяют настроить одни из доступных меха-
низмов трансформации цвета – DaVinci Color Management (RCM) или ACES,
а также позволяют сконфигурировать конвейер предварительной или после-
дующей обработки изображений DaVinci Resolve с использованием профилей
LUT и настроек Broadcast Safe, для того чтобы организовать широкий спектр
различных рабочих процессов с цветом.
108  Свет и цвет в компьютерной графике

Рис. 1.15.2  Диалоговое окно Project Settings


с группой параметров Color Management

Цветовое пространство и трансформации цвета


Если в раскрывающемся списке Color Science выбрать механизм DaVinci YRGB
Color Managed или ACES, будут доступны соответствующие им группы пара-
метров. Если вы решите использовать Resolve Color Management (RCM), ACEScc
или ACEScct, параметры, расположенные в этой панели, дадут вам полный кон-
троль над тем, как преобразуется цвет. Начиная с выбора настройки цветового
пространства по умолчанию для исходного материала в вашем проекте (через
Управление цветом в DaVinci Resolve  109

параметр Input Color Space), необходимо выбрать способ трансформации цве-


та в клипах на временной линейке (Timeline Color Space). Затем определите,
как будет выглядеть окончательный цвет на вашем мониторе, и выберите про-
филь цветового пространства для устройства вывода (Output Color Space).
Методы управления цветом в DaVinci Resolve очень просты в использова-
нии. Все, что нужно сделать, – это выбрать входное цветовое пространство для
клипов, цветовое пространство для временной шкалы и цветовое простран-
ство вывода, которое подходит для получения требуемого результата, а Da-
Vinci Resolve автоматически преобразует цвета в режиме реального времени.
Рассмотрим основные параметры группы Color Space & Transforms. Рас-
крывающийся список Color Science. На выбор доступно четыре варианта. По
умолчанию используется хорошо зарекомендовавший себя механизм DaVinci
YRGB, в котором вам нужно управлять цветовыми преобразованиями из од-
ного цветового пространства в другое, используя профили LUT или настраи-
вая вручную. Выбор DaVinci YRGB Color Managed активирует рабочий процесс
Resolve Color-Managed (RCM). Кроме того, вы можете выбрать методы DaVinci
ACEScc или ACEScct, являющиеся стандартизированными схемами управления
цветом, которые доступны для объектов, использующих рабочие процессы на
основе стандарта ACES.
Раскрывающийся список ACES version становится активным только в том
случае, если в раскрывающемся списке Color Science вы выберете один из ме-
тодов DaVinci ACES, каждый из них позволяет переключаться между различ-
ными версиями спецификации ACES. Это позволяет выбрать подходящую вер-
сию ACES при открытии проекта, созданного в предыдущих версиях Resolve.

Система Resolve версий 14 и 15 поддерживает только стандарт ACES 1.0.3.

Если в группе параметров Color Management включен параметр Use Sepa-


rate Color Space and Gamma, для каждого из параметров Input Color Space,
Timeline Color Space, Output Color Space и Timeline Color Space отобража-
ются индивидуальные раскрывающиеся списки Color Space и Gamma. Каж-
дый из них одновременно преобразует цветовое пространство и гамму. Если
этот параметр выключен, то область группы Color Management изменяется
так, что для каждого из параметров отобразится один раскрывающийся спи-
сок, определяющий только цветовое пространство, что упрощает настройку,
но является менее гибким для точной настройки трансформации цвета.
Параметр Input Color Space задает цветовое пространство, используемое по
умолчанию для всех клипов в Media Pool, которым вы не назначили опреде-
ленное цветовое пространство заранее.
Рабочее цветовое пространство, которое влияет на работу элементов управ-
ления цветом и эффектов, задается с помощью параметра Timeline Color
Space. Цветовое пространство всех клипов, находящихся в Media Pool, преоб-
разуется из присвоенного им цветового пространства в соответствующее вы-
бранному в данном параметре цветовому пространству.
Цветовое пространство, которое вы будете контролировать и выводить во
время работы, определяется параметром Output Color Space. Инструменты
Viewers в DaVinci Resolve показывают изображение для каждого клипа, по-
110  Свет и цвет в компьютерной графике

скольку оно преобразовано из цветового пространства, определенного для


временной шкалы в выходное цветовое пространство.
Доступные в раскрывающемся списке Timeline to Output Tone Mapping
режимы позволяют уравнять процессы там, где вам необходима трансфор-
мация одного цветового пространства в другое с драматически высоким или
низким динамическим диапазоном с помощью автоматического расширения
или сужения контраста изображения таким образом, чтобы предоставить при-
ятный результат без ограничения по яркости и цвету.
На выбор доступны три режима работы: None, Simple и Luminance Mapping.
Режим Simple. Используется для выполнения преобразования, применяя
простую кривую, сжимающую или расширяющую динамический диапазон
в бликах и тенях для временной линейки, что приводит к лучшему соответ-
ствию динамического диапазона выводимого изображения. Обратите вни-
мание, что эта опция сопоставляет яркость приблизительно в 5500 и 100 nit,
поэтому, если вы сопоставляете исходное HDR-изображение с более чем 5500
nit с SDR-изображением, при использовании данного режима может быть не-
которое ограничение яркости выше 5500 nit.
Режим Luminance Mapping фактически использует операции настраивае-
мой кривой для точного сопоставления динамического диапазона временной
шкалы с динамическим диапазоном выводимого изображения и автомати-
чески заполняет значение Max. Timeline Luminance, который управляет этим
преобразованием, но оставляет его настраиваемым для пользователя, если вы
хотите улучшить результат.
При выборе режима Max. Timeline Luminance становится возможным
управлять уровнем максимальной яркости цветового пространства временной
шкалы в значениях nits. Изменение настройки гаммы цветового пространства
временной линейки автоматически обновляет этот параметр до соответству-
ющего значения для сопоставления цветового пространства временной ли-
нейки с цветовым пространством получаемого изображения, но эти два цве-
товых пространства должны различаться, чтобы коррекция тонов работала.
В режиме Simple этот параметр не используется. В режиме Luminance Mapping
вы можете вручную изменить этот параметр, чтобы настроить преобразова-
ние цветового пространства временной линейки в цветовое пространство по-
лучаемого изображения.

Рис. 1.15.3  Раскрывающийся список Timeline to Output Gamut Mapping


и параметры Saturation Knee и Saturation Max

Параметры, доступные благодаря раскрывающемуся списку Timeline to


Output Gamut Mapping, совмещают такие рабочие процессы, в которых не-
Управление цветом в DaVinci Resolve  111

обходимо преобразовать одно цветовое пространство в другое с существенно


большей или меньшей величиной гаммы, помогая автоматизировать расши-
рение или уменьшение насыщенности изображения таким образом, чтобы
получить приятный и натуралистический результат без ограничений. Выбор
Saturation Mapping из этого меню позволяет отображать насыщенность изо-
бражения во время преобразования цветового пространства временной шка-
лы в цветовое пространство получаемого изображения, которое Resolve Color
Management выполняет при создании секвенции кадров в процессе финаль-
ной сборки.
Параметр Saturation Knee устанавливает уровень, при котором начинается
коррекция насыщенности. Ниже этого уровня коррекция не применяется. Все
значения насыщенности от этого уровня и выше перераспределяются в соот-
ветствии с величиной, определяемой слайдером Saturation Max. Значение 1.0 –
это максимальная насыщенность в текущем выбранном для Timeline Color
Space цветовом пространстве.
С помощью параметра Saturation Max задается новый максимальный уро-
вень, до которого необходимо либо поднять, либо понизить все значения
насыщенности, которые выше значения Saturation Knee. Значение 1.0 – это
максимальная насыщенность в выбранном цветовом пространстве для полу-
чаемого изображения.
Когда в качестве Color Science выбран вариант ACES, раскрывающийся спи-
сок ACES Input Device Transform позволяет выбрать, какое цветовое про-
странство использовать для импортируемого в DaVinci Resolve материала.
Раскрывающийся список ACES Output Device Tranform позволяет выбрать
цветовое пространство, с помощью которого необходимо преобразовать дан-
ные изображения для просмотра на откалиброванном дисплее и при экспорте
секвенции по завершению монтажа.
Специальный параметр HDR Mastering is for (доступный в коммерческой
версии DaVinci Resolve Studio) становится доступным, если вы обладаете ви-
деоинтерфейсом DeckLink 4K Extreme 12G или UltraStudio 4K Extreme. Благо-
даря ему данный интерфейс сможет выводить метаданные, необходимые для
корректного отображения HDR видеосигналов на устройствах, использующих
HDMI 2.0a.
Когда параметр будет активен и подключено необходимое оборудование,
параметр HDR mastering for позволит вам задать величину яркости выводимо-
го изображения в нитах (nits), которая правильно интерпретирует его. Выво-
димое изображение должно соответствовать выводимому в процессе монтажа
изображению.

Конфигурация LUT в DaVinci Resolve


Если в рабочем процессе используются заранее подготовленные файлы LUT,
то за управление трансформацией цвета на их основе отвечают параметры
группы Lookup Tables. Эта группа глобальных параметров позволяет добавлять
LUT в конвейер обработки изображений Resolve, которые влияют на каждую
временную шкалу во всем проекте одновременно. Эти LUT могут использо-
ваться для широкого спектра задач, таких как ограничение коррекции цветов
112  Свет и цвет в компьютерной графике

на временной шкале, применение преобразования цветового пространства


Log to Linear, моделирование вывода на пленку и ограничение сигнала в соот-
ветствии с требованиями безопасности вещания. Различные параметры по-
зволяют вставлять обработку изображений на разные этапы производствен-
ного конвейера, как показано на диаграмме, представленной на рис. 1.15.4.

Рис. 1.15.4  Процесс управления цветом


на основе применения профилей LUT в DaVinci Resolve

Помните о том, что вы можете применять профили 1D и 3D LUT совместно,


а каждый профиль 1D LUT должен быть применен перед профилем 3D LUT.
Раскрывающиеся списки 1D/3D Input Lookup Table. Эти два раскрываю-
щихся списка, с помощью которых выбираются профили 1D и/или 3D LUT,
применяются к текущей временной шкале перед каждой операцией обработки
изображения в DaVinci Resolve.
С помощью раскрывающихся списков 1D/3D Output Lookup Table выбира-
ются профили 1D и/или 3D LUT, которые применяются к текущей временной
шкале после операций, проведенных в разделе Color, но перед временно при-
мененным профилем Display LUT.
Раскрывающиеся списки 1D/3D Video Monitor Lookup Table позволяют до-
бавлять профили 1D и/или 3D LUT, которые обрабатывают текущую времен-
ную шкалу после каждой операции обработки изображений в DaVinci Resolve.
Однако Display LUT применяются только для целей мониторинга; они никогда
не применяются к выводимому файлу или к сигналу, который выводится для
записи на кинопленку с помощью инструментов, размещенных на странице
Deliver. Профили Display LUT особенно полезны для применения LUT при эму-
ляции печати кинопленки в рабочем процессе Log или для применения LUT
профиля калибровки дисплея, если вы выводите на один дисплей и у вас нет
специального оборудования для внешней калибровки.
С помощью раскрывающихся списков 1D/3D Color Viewer Lookup Table
выбираются профили 1D и/или 3D LUT, которые обрабатывают изображе-
ние, отображаемое во Viewer на дисплее вашего компьютера независимо от
Display LUT, который используется для вывода на вещательный калибровоч-
Управление цветом в DaVinci Resolve  113

ный дисплей. По умолчанию это соответствует настройке Video Monitor LUT,


но вы также можете использовать эту опцию, чтобы применить специальное
калибровочное устройство для дисплея вашего компьютера. Кроме того, вы
можете использовать его для обесцвечивания GUI во Viewer, чтобы иметь воз-
можность акцентированно оценить контраст изображения или если не хотите
спорить с вашим клиентом на тему, какой дисплей выглядит правильно.
Параметры 1D/3D Scopes Lookup Table определяют пределы видимости
Resolve для Video Scopes и обеспечивают анализ фактических уровней видео­
данных в конвейере обработки изображений Resolve. Однако вы можете вы-
брать, чтобы в Video Scopes использовался выбор LUT для видеомонитора или
любой другой профиль LUT, установленной в вашей системе, чтобы преобра-
зовать цвет для анализа и отобразить при вводе изображения.
Параметр 3D Lookup Table Interpolation, таблицы LUT (3D Lookup tables
(LUTs)) являются трехмерными таблицами величины красной, зеленой и си-
ней компонент получаемого цвета для каждого входящего цвета, тем самым
предоставляя способ преобразования цвета с использованием предварительно
рассчитанных данных, в то время как 3D LUT имеют конечную детализацию;
например, можно использовать профиль LUT 17×17×17, который определяет
4913 отдельных преобразований цвета. При применении LUT к изображению
в формате с плавающей точкой, которое содержит больше данных, чем при-
меняемый LUT, их необходимо интерполировать с помощью преобразования
значений цвета, попадающего между цветовыми преобразованиями матрицы
17×17×17, указанными в профиле LUT. Вы можете выбрать один из двух ме-
тодов, которые компенсируют эффективность обработки для более высокого
качества:
 Trilinear. Данный метод обратно совместим с коррекцией, которая ис-
пользует LUT из предыдущих версий Resolve, и соответствует виду LUT,
применяемому в других приложениях;
 Tetrahedral. Этот метод немного более интенсивно использует процес-
сор, но приводит к более высокому качеству изображения и уменьше-
нию искажений цветов. Он рекомендуется для проектов, которым не
нужно сопоставлять коррекцию, выполненную в предыдущих версиях
Resolve или LUT, созданных в других приложениях.
Если вы самостоятельно создаете профили LUT, например с помощью V-Ray
Frame Buffer или с помощью приложения Autodesk Lustre или Apple FinalCut
Pro X, то кнопка Update Lists выполняет обновление раскрывающихся спи-
сков, если вы добавили новые профили LUT в систему с того момента, как была
запущена сессия DaVinci Resolve.
Раскрывающиеся списки в панели параметров Color Management включают
серию подготовленных разработчиками профилей LUT, которые добавляются
в процессе установки Resolve вместе с любыми LUT, сгенерированными Re-
solve или импортированными в каталог, соответствующий вашей операцион-
ной системе. Кнопка Open LUT Folder открывает директорию в вашей файло-
вой системе согласно представленному ниже пути:
 Linux: /home/resolve/LUT;
 macOS: Library/Application Support/Blackmagic Design/DaVinci Resolve/LUT/;
 Windows: C:\ProgramData\Blackmagic Design\DaVinci Resolve\Support\LUT.
114  Свет и цвет в компьютерной графике

Если вы добавите LUT в одну из указанных выше директорий после того, как
приложение Resolve будет запущено, необходимо нажать кнопку Update Lists для
обновления раскрывающихся списков и добавления в них новых профилей LUT.
Приложение Resolve использует как 1D, так и 3D LUT. 3D LUT, созданные
в DaVinci Resolve, имеют формат *.cube, настроенный как куб 33×33×33 с про-
цессом обработки 32-bit floating point. Приложение также может загружать
и использовать LUT в формате Shaper LUT.

Рис. 1.15.5  Группы параметров Broadcast Safe, Generate Soft Clip LUT,
Generate LUT from Analyzed Pattern

Параметры группы Broadcast Safe могут быть активированы, пока выпол-


няется оценка ограничения яркости и цветов видеосигнала одним из трех
уровней допустимого превышения и понижения. Параметр Broadcast safe IRE
(mV) levels представляет собой раскрывающийся список для выбора одного
из трех уровней агрессивного ограничения сигнала. Выберите диапазон, кото-
рый соответствует вашим требованиям по контролю качества.
Флажок параметра Make Broadcast Safe включает или отключает оценку
ограничения яркости и цветов видеосигнала.
Ограничение, накладываемое функцией Broadcast Safe, изначально само по себе
не имеет мягкого спада. Для лучшего результата параметр Broadcast Safe должен
быть использован в сочетании с инструментами Soft Clip на панели Color или при-
менить Soft Clip LUT.
Управление цветом в DaVinci Resolve  115

Группа параметров Generate Soft Clip LUT является аналогом режиму Soft Clip
в кривых (Curves), данная группа параметров позволяет вам создать профиль
LUT обработанного изображения, который применяет величину «knee» по
всей временной линейке к любому ограничению, происходящему в верхних
или нижних пределах изображения. Мягкое ограничение в этом контексте ис-
пользуется для быстрого устранения любой неприятно резкой потери деталей,
происходящей в результате чрезмерной яркости бликов или слишком агрес-
сивных теней.
Чтобы быть эффективным, Soft Clip LUT следует применять с помощью рас-
крывающегося списка 3D Output Lookup Table на панели Look Up Tables, так
что эта операция в конвейере обработки изображений является последней.
Рассмотрим основные параметры группы для настройки алгоритма создания
Soft Clip LUT.
Параметр Generate позволяет выбрать, создавать ли Soft Clip LUT как 1D
или 3D LUT. 1D LUT более точны для этой операции, используя 1023 точки дан-
ных, в отличие от 3D LUT с 33×33×33.
По умолчанию в раскрывающемся списке Generates LUT based on выбран
пункт No LUT selected, который создает Soft Clip LUT, используя только пара-
метры из данной панели. Выбор другого LUT из списка позволяет объединить
вычисления, которые выбираются на этой панели, с выбранным профилем
LUT, выводя таким образом один LUT, который применяет оба набора вычис-
лений одновременно.
Флажок Scaled to clipping range активирует настройки максимальных
и минимальных величин. Параметр Maximum Video Level устанавливает
максимальное значение, которое будет выводиться. Все данные изображения
выше этого значения будут отсечены (ограничены). Параметр Upper Clipping
softness задает пороговое значение в процентах ниже точки отсечения, при
которой блики в изображении начинают ограничиваться до жесткого отсече-
ния. При 0 операция Soft Clip LUT не производится. Когда вы увеличиваете это
значение, блики сжимаются, а не обрезаются, что приводит к формированию
более мягких и визуально приятных бликов с легким эффектом «свечения».
Параметр Minimum video level устанавливает минимальное значение, ко-
торое будет выводиться. Все данные изображения ниже этого значения будут
усечены.
Параметр Lower Clipping softness устанавливает пороговое значение в про-
центах выше минимальной точки отсечения, при которой тени начинают сжи-
маться перед жестким отсечением. При значени 0 операции в Soft Clip не про-
изводятся. При увеличении этого значения тени смягчаются, а не обрезаются,
что приводит к более мягкому и приятному спаду в области теней.
С помощью параметра Save LUT as задается имя для профиля Soft Clip LUT,
который будет сохранен. Кнопка Generate LUT создает и сохраняет профиль
LUT с именем, введенным в текстовом поле параметра Save LUT.
Группа параметров Generate LUT from Analyzed Pattern является скры-
той, но позволяет вам анализировать специальный тестовый шаблон, чтобы
получить профиль LUT из любых настроек, которые были сделаны для изо-
бражения. Это зависит от использования файла trim_lut.dpx, расположенного
в одной из следующих директорий:
116  Свет и цвет в компьютерной графике

 Linux: /home/resolve;
 macOS: Library/Application Support/Blackmagic Design/DaVinci Resolve;
 Windows: C:\ProgramData\Blackmagic Design\DaVinci Resolve\Support.
Эта процедура наиболее полезна, если вы хотите переработать коррекции,
выполненные с помощью стороннего приложения. Имейте в виду, что это
полезно только для анализа первичных настроек, таких как настройка пара-
метров lift/gamma/gain, настройки насыщенности или кривых. Вторичные на-
стройки и фильтры, такие как размытие или операции повышения резкости,
не могут быть проанализированы и на самом деле могут привести к непра-
вильному результату анализа.

Примеры конфигурации системы управления цветом


в DaVinci Resolve
Выше мы рассмотрели основные параметры Resolve для настройки трансфор-
мации цвета из одного цветового пространства в другое. На первый взгляд
конфигурация приложения может показаться достаточно сложной, но на са-
мом деле это делается единожды и впоследствии все изменения выполняются
в рабочем пространстве Color. В данном разделе представлены два возможных
варианта конфигурации Maya MCMS и DaVinci Resolve для правильной транс-
формации цвета и приведены основные связи между профилями цветовых
пространств.
Так как независимым дизайнерам и художникам нет необходимости при-
менять многофункциональные и, возможно, обладающие лишним функци-
оналом решения для управления цветом, вначале мы рассмотрим базовый
пример на основе базовой конфигурации MCMS и DaVinci RCM. На рис. 1.15.6
приведен граф трансформаций цвета в системах управления цветом Maya
и Resolve и передача изображений между различными приложениями.
Граф демонстрирует связи между тремя основными приложениями, исполь-
зуемыми для обработки растровых изображений и секвенций кадров. Каждое
приложение выполняет определенную задачу, например создание текстурных
карт, визуализацию трехмерной графики и монтаж. Основная задача, которая
ложится на плечи всех систем управления цветом, – минимизировать искаже-
ние цветов в текстурных картах, изображениях, получаемых в процессе визу-
ализации и на финальном монтаже, этапе коррекции цвета и композитинге
изображений и видео.
В Adobe Photoshop CC используется система ACE (Adobe Color Management
System and Color Engine), а в Autodesk Maya – система Autodesk SynColor, в то
же время у DaVinci Resolve используется собственная система управления цве-
том – DaVinci RCM. Это очень важно, так как вам необходимо будет продумы-
вать, какие цветовые пространства и профили использовать для унификации
передачи данных о цвете между этими тремя системами. На приведенной
выше диаграмме продемонстрирован пример, разработанный автором дан-
ной книги, методологии передачи данных о цвете между тремя приложения-
ми при выполнении заказов по обработке видео и композитинга CG в секвен-
ции видео.
Управление цветом в DaVinci Resolve  117

Рис. 1.15.6  Организация передачи информации о цвете между приложениями


на основе Adobe Photoshop, Autodesk Maya и DaVinci Resolve. Изображение,
поступающее в Resolve, формируется с помощью Maya CMS и Autodesk SynColor

Все изображения и секвенции кадров видео, поступающие в DaVinci, облада-


ют профилем определенного цветового пространства и будут корректно транс-
формированы ядром DaVinci RCM для достижения желаемого результата.
Так как в перую очередь мы рассматриваем цвет, получаемый в процессе
визуализации в Maya, в представленной выше диаграмме она занимает цен-
тральную позицию. Изображения в виде фотографий и иллюстраций, создан-
ные в графических редакторах, а также получаемые в процессе создания в ре-
дакторах процедурных текстур и материалов, открываются в Adobe Photoshop
CC и сохраняются с профилем цветового пространства sRGB или Rec. 709 с гам-
ма-коррекций или в линейном цветовом пространстве.
Далее изображение импортируется в Maya и за счет определенных правил
назначения профилей трансформации цвета в Maya CMS цвет изображения
преобразуется в цветовое пространство, определенное атрибутом Rendering
Space, а затем выполняется визуализация изображения или секвенции изо-
бражений и сохраняется в линейном цветовом пространстве.
Если же используется материал, снятый на цифровую фотокамеру, видеока-
меру или кинокамеру, он может быть сохранен в цветовом пространстве Log,
что потребует определенной отдельной трансформации в цветовое простран-
ство DaVinci RCM, используемое для монтажа или вывода изображения.
Далее необходимо объединить цветовые пространства, согласовав их между
собой; так как обычно вся работа ведется в линейном цветовом пространстве,
то корректно для Output Color Space выбирается то цветовое пространство, ко-
торое будет использовано в финальном изображении. Если же в производстве
используется логарифмическое цветовое пространство (Log), то изображения
118  Свет и цвет в компьютерной графике

можно визуализировать и сохранять также в логарифмическом цветовом про-


странстве, а Output Color Space определить преобразованием из логарифмиче-
ского в нелинейное цветовое пространство, например sRGB или Rec. 709.
На рис. 1.15.7 приведен пример трансформации цветовых пространств, вы-
полненных в DaVinci Resolve с помощью профиля LUT и с помощью глобаль-
ных настроек системы DaVinci RCM. На иллюстрации A показан пример кадра
видео, снятого с помощью дрона DJI Inspire 1, цвета которого представлены
в цветовом пространстве Log. В Resolve к данному видео применен профиль
LUT DJI_X5_DLOG2sRGB_Improve. Данный профиль специально разработан для
трансформации цветов из логарифмического цветового пространства в sRGB.

Рис. 1.15.7  Примеры трансформации цвета из логарифмического цветово-


го пространства в sRGB с помощью профиля LUT (A) и из линейного цветового
пространства в sRGB с помощью настроек Color Management (B), выполненных
с применением DaVinci RCM

Линейное изображение, представленное на иллюстрации B, трансформи-


руется с помощью глобальных настроек DaVinci RCM, которым определены
следующие настройки. Для Input Color Space и Timeline Color Space выбрано
цветовое пространство sRGB с Linear gamma. А параметру Output Color Space
присвоено цветовое пространство sRGB с гамма-величиной данного цветово-
го пространства (2.2).
Если изображение сохранено без обработки инструментарием коррекции
тонов, то DaVinci Resolve предоставляет несколько инструментов, позволяю-
щих управлять тоном и яркостью изображения, а также скорректировать гам-
му (рис. 1.15.8).
Управление цветом в DaVinci Resolve  119

Рис. 1.15.8  Пример применения инструмента Color Space Transform


и группы параметров Tone Mapping для коррекции тонов изображения
и смягчения ярких бликов в областях ближе к источникам света

Инструмент Color Space Transform, доступный в рабочем пространстве Color,


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

Рис. 1.15.9  Организация передачи информации о цвете между приложениями


на основе Adobe Photoshop, Autodesk Maya и DaVinci Resolve.
Изображение, поступающее в Resolve, формируется с помощью Maya CMS
и OpenColorIO (OCIO) с ACES
120  Свет и цвет в компьютерной графике

Если выбрана система управления цветом OCIO (OpenColorIO) и цвето-


вое пространство ACES, то рабочий процесс претерпевает некоторые изме-
нения. Все материалы, снятые в логарифмическом цветовом пространстве,
либо преобразуются инструментарием OpenColorIO под ACES, либо преобра-
зуются заранее с помощью DaVinci Resolve и затем импортируются в проект
под управлением ACES. В Adobe Photoshop CC и других растровых редакто-
рах управление цветом специально конфигурируется для работы с ACES, об
этом я подробнее расскажу в разделе, посвященном Adobe Photoshop. Ана-
логично решениям на основе SynColor применение OCIO обеспечивает ак-
куратную трансформацию цвета текстурных карт в цветовое пространство
визуализации ACEScg. Оно управляет коррекцией тонов и преобразованием
изображения в желаемое цветовое пространство для представления цветов
на контрольных дисплеях. С другой стороны, OCIO позволяет передавать цве-
та между приложениями проще и быстрее, при этом не опасаясь потери или
искажения информации о цвете. Это особенно актуально при работе с такими
приложениями, как After Effects, NUKE, Hiero, Krita, MARI и другими, которые
поддерживают OpenColorIO и стандарт ACES. В DaVinci Resolve управление
цветом на основе стандарта ACES обеспечивает ACES версии 1.0.3, который
становится доступным при выборе ACEScc или ACEScct в раскрывающемся
списке Color Science.
Ядро системы управлением цветом DaVinci RCM поддерживают преобра-
зование и кодирование двух типов – ACEScc и ACEScct. Первый тип кодиро-
вания – ACEScc, выполняет логарифмическое кодирование данных ACES для
использования в системах коррекции цвета (Color Grading Systems). Логарифми-
ческое кодирование в ACES для использования в 10-bit и 12-bit целочисленных
системах также именуется как ACESproxy и определено отдельной специфи-
кацией Academy S-2013-001. ACEScc обеспечивает совместимость для систем
коррекции цвета с метаданными изображения, генерируемого с использова-
нием спецификации ACESproxy. В обоих методах кодирования используются
одни и те же цвета. ACESproxy имеет ограниченный диапазон значений; ми-
нимальное и максимальное значения ACES, которые могут быть представлены
в ACESproxy, соответствуют диапазону от 0.0 до 1.0 кодировки ACEScc. Однако
ACEScc использует значения выше 1.0 и ниже 0.0 для кодирования всего диа-
пазона значений ACES. Значения ACEScc не следует фиксировать, кроме как
для коррекции цвета, необходимой для достижения желаемого художествен-
ного замысла. Спецификацией данного метода кодирования не задан формат
контейнера файла изображения для использования с ACEScc, поскольку коди-
рование предназначено, чтобы быть переходным и выполняться внутри про-
граммных или аппаратных систем, и конкретно не предназначено для обмена
или архивирования (сохранения) цвета в изображении.
Второй тип кодирования – ACEScct – выполняет квазилогарифмическое
кодирование данных ACES для использования в системах коррекции цвета.
ACEScct использует значения выше 1.0 и ниже 0.0 для кодирования всего диа-
пазона значений ACES. Значения ACEScct не следует фиксировать, за исклю-
чением случаев коррекции цвета, необходимой для достижения желаемого
художественного замысла. Спецификацией данного метода кодирования так-
же не задан формат контейнера файла изображения, поскольку кодирование
Управление цветом в DaVinci Resolve  121

предназначено, чтобы быть переходным и выполняться внутри программных


или аппаратных систем.
Для значений ACES, превышающих 0.0078125, функция кодирования
ACEScct идентична функции теоретического логарифмического кодирования
ACEScc. Ниже этой точки добавление «нижней границы» приводит к более чет-
кому «осветлению» теней при применении операции подъема (gain) по срав-
нению с той же операцией, применяемой в ACEScc. Это различие в поведении
коррекции проявляется в ответ на действия специалиста по коррекции цвета,
более сходном с традиционным логарифмическим кодированием цвета отска-
нированной пленки.

Рис. 1.15.10  Пример применения ACES для управления цветом изображе-


ния в DaVinci Resolve. Иллюстрация A демонстрирует пример применения ACES
и ACEScc. Иллюстрация B демонстрирует применение цветового пространства
ACES и ACEScc, но с ручной коррекцией цветов с помощью инструментов Lift,
Gamma, Gain и Offset

В процессе работы с изображениями, созданными с помощью приложений


компьютерной графики, в качестве входного цветового пространства старай-
тесь использовать цветовое пространство ACEScg, выбираемое в раскрываю-
щемся списке ACES Input Device Transform.
Для коррекции цвета используйте инструменты, доступные в рабочем про-
странстве Color, а для мониторинга изменений цвета – инструменты Scopes,
о которых рассказывается в следующем разделе.

Анализ изображения с помощью инструментов Scopes


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

вать для контроля внутренних уровней данных секвенций изображений в ва-


шем проекте во время работы. Каждая область обеспечивает выраженный
графический анализ различных характеристик видеосигнала, показывая от-
носительную силу и диапазон отдельных компонент цвета, включая яркость,
цветность, насыщенность, оттенок, а также красный, зеленый и синий кана-
лы, которые вместе составляют цвет и контрастность создаваемого изобра-
жения.
WFM (waveform monitor). Выполняет наложение красного, зеленого и си-
него каналов друг на друга, чтобы наблюдать, как они выровнены. То, что
обозначают относительные высоты красного, зеленого и синего графиков,
идентично описанному ниже инструменту Parade. Следует иметь в виду одну
вещь: при включенном цвете, когда графики красного, зеленого и синего ка-
налов окрашены в цвет, который они представляют, легко увидеть, где все
три графика совпадают. Поищите, где области WFM-сигнала отображаются
белым цветом, который является результатом совпадения красного, зеленого
и синего каналов цвета, выстраивающихся в линию и добавляющих их цвет
вместе.

Рис. 1.15.11  Пример влияния параметров Lift и Gain на изображение


и реакция Waveforms на изменения. A – оригинальное изображение,
B – изображение после коррекции

Parade (RGB parade scope). Показывает отдельные осциллограммы, ана-


лизирующие силу компонентов R, G и B в видеосигнале. Показывая сравне-
ние интенсивности красного, зеленого и синего каналов, область RGB parade
scope помогает обнаруживать и сравнивать дисбаланс, сопоставляя относи-
Управление цветом в DaVinci Resolve  123

тельную высоту графиков RGB в основных моментах (верхняя часть графика),


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

Рис. 1.15.12  Пример реакции Parade на изменения в изображении.


A – до коррекции, B – после коррекции

Vectorscope. Измеряет общий диапазон оттенков и насыщенности изобра-


жения. Измерения относятся к центрированной сетке, которую можно вклю-
чить. Сетка наложена на область, которая обеспечивает систему координат
охвата. Система DaVinci Resolve имеет традиционный векторскоп, который
эмулирует нарисованный график кривой с 75%-ными целевыми цветными
полосами, указывающими угол каждого из первичных и вторичных цветов по
краю графика, и дополнительной эталонной сеткой оттенков кожи (иначе из-
вестной как синфазная ссылка). Более насыщенные цвета в кадре растягивают
эти части графика дальше к краю, в то время как менее насыщенные остаются
ближе к центру векторскопа, что соответствует 0 насыщенности. Судя по тому,
сколько частей графика векторскопа выступает под разными углами, вы мо-
жете увидеть, сколько оттенков на изображении, а конкретный угол каждой
части графика показывает вам, какие это оттенки. Кроме того, судя по тому,
насколько хорошо центрирована середина графика векторскопа относительно
перекрестия, вы можете получить представление о наличии цветового дис-
баланса на изображении. Если график векторскопа смещен по центру, то на-
правление, в котором он наклоняется, позволяет узнать, что на изображении
присутствует определенный оттенок цвета.
124  Свет и цвет в компьютерной графике

Рис. 1.15.13  Пример реакции Vectorscope на изменения в изображении.


A – до коррекции цвета и яркости, B – после коррекции

Histogram (RGB parade histogram). Отображает статистический анализ ко-


личества пикселей каждого канала цвета на каждый процент тональности, по-
строенный по цифровой шкале от 0 % (черный) до 100 % (белый). Сравнение
левой, средней и правой частей графиков R, G и B позволяет оценить цветовой
баланс в тенях, полутонах и светлых участках изображения. В целом слева от
всех трех графиков указывается черная точка изображения, а справа от всех
трех графиков – белая точка. Из этого следует, что разница между шириной
левого и правого всех трех графиков указывает на общий коэффициент кон-
трастности изображения, которое вы оцениваете. Широкие графики гисто-
граммы указывают на высокий коэффициент контрастности, в то время как
узкие показывают низкий коэффициент контрастности.

Рис. 1.15.14  Пример реакции Histogram на изменения в изображении.


A – до коррекции цвета и яркости, B – после коррекции
Управление цветом в NUKE  125

На приведенных примерах вы можете видеть, как повлияла коррекция изо-


бражения с помощью инструментов Lift, Gamma, Gain и Offset на отображение
графиков. Так как яркость и насыщенность изображения были скорректирова-
ны, а в темных областях изображения была увеличена яркость, графы приоб-
рели более четкие границы, ограничившись выбранными значениями нижней
и верхней границ яркости. Каждая из границ может быть определена с помо-
щью параметров в свойствах видеоосцилографа. Так, для настройки можно
просто щелкнуть по кнопке Options в правом верхнем углу видеоосцилографа
и настроить параметры Low и High при активном параметре Show Reference
Levels (рис. 1.15.15).

A B C D

Рис. 1.15.15  Настройки видеоосцилографов в DaVinci Resolve.


A – Waveform, B – Parade, C – Vectorscope, D – Gain

Как видите, настраивать цвет изображения в Resolve не так сложно, главное


правило – придерживаться единого конвейера как в приложении 3D-ви­зуа­
ли­зации (в нашем случае – Autodesk Maya), так и в приложениях рисования
текстур и постобработки. Выбрав единые профили цветовых пространств под
каждый из производственных этапов и приложений, вы сможете беспрепят-
ственно передавать изображения между приложениями.
Отдельного внимания заслуживает этап композитинга, так как этот этап
зачастую проводится сразу же после визуализации, и все изображения, по-
ступающие специалистам по композитингу, уже должны быть подготовлены
к работе в выбранном цветовом пространстве.
Например, CG всегда предоставляется в линейном цветовом пространстве,
а изображения, снятые на камеру, после преобразования могут быть представ-
лены как в логарифмическом, так и в линейном цветовом пространстве.

1.16. Управление цветом в NUKE


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

Все основные инструменты для работы с цветом и каналами изображения


сосредоточены в обширной группе узлов Color (рис. 1.16.1), доступной в пане-
ли инструментов NUKE или меню поиска и выбора узлов.

Рис. 1.16.1  Меню инструментов Color


позволяет быстро найти и создать
необходимые узлы для работы с цветом изображений

В NUKE вы можете управлять цветом как глобально, определяя простран-


ства и конфигурации на уровне системы управления цветом, так и локально,
для каждой импортируемой секвенции кадров. В первую очередь мы познако-
мимся с глобальными параметрами системы управления цветом в NUKE.
Доступ к глобальным настройкам системы управления цветом NUKE
(рис. 1.16.2) можно получить с помощью меню программы:
Edit ⇒ Preferences ⇒ Project Defaults ⇒ Color Management
Пакет NUKE интенсивно использует механизмы и возможности библиотек
OpenColorIO и OpenImageIO, что позволяет интегрировать его возможности в лю-
бой рабочий процесс.
Управление цветом в NUKE  127

Рис. 1.16.2  Группа параметров Color Management в NUKE.


За управление цветом в NUKE отвечает OpenColorIO
и выбранный файл конфигураций

Глобальная конфигурация системы управления цветом выполняется до-


статочно быстро с помощью настроек программы. Зайдя в диалоговое окно
Preferences, с помощью раскрывающегося списка OpenColorIO config выбе-
рите одну из доступных конфигураций OCIO. На выбор доступны конфигура-
ции, совместимые с библиотекой OCIO версии 1.0.9 и выше (для NUKE 11.1v6).
Например, в рассматриваемой мною версии NUKE используется OCIO с под-
держкой конфигураций ACES 1.0.3. Если же вы хотите добавить новые конфи-
гурации, то это можно сделать следующими методами. Первый заключается
в выборе варианта Custom и последующего выбора файла конфигураций OCIO,
размещенного в отдельной директории (см. рис. 1.16.3). Второй метод заклю-
чается в добавлении файлов конфигурации непосредственно в директорию,
куда установлено приложение NUKE. Собственные конфигурации для OCIO
могут быть добавлены по одному из следующих путей:
 Linux: /usr/local/Nuke<version>/plugins/OCIOConfigs/configs;
 macOS: /Library/Application Support/Nuke<version>/plugins/OCIOConfigs/con-
figs;
 Windows: C:\Program Files\Common Files\Nuke<version>\plugins\OCIOConfigs\
configs.
Сконфигурировав OCIO в NUKE и выбрав желаемую конфигурацию, можно
приступить к настройкам проекта. В NUKE, как и в DaVinci Resolve, все на-
стройки цвета связаны с конкретным проектом, над которым вы работаете.
При глобальном выборе конфигурации OCIO она будет загружаться при соз-
дании каждого нового проекта. С другой стороны, старые проекты, созданные
128  Свет и цвет в компьютерной графике

в ранних версиях NUKE, могут управляться системой управления цветом NUKE


на основе LUT. Рассмотрение конфигурации системы управления цветом стоит
начинать с используемой самим NUKE системы на основе LUT, далее NkCMS.

Рис. 1.16.3  Вкладка настроек проекта Color в NUKE.


За управление цветом выбрана стандартная система управления цветом NUKE
на основе профилей LUT

Для доступа к настройкам проекта NUKE выберите в меню Edit ⇒ Project Set-
tings… или щелкните на клавиатуре по кнопке S. После чего на панели Proper-
ties отобразятся свойства и параметры настроек проекта. Для настройки си-
стемы управления цветом перейдите на вкладку Color (рис. 1.16.3). Если вы не
устанавливали OCIO в качестве основной системы управления цветом, будет
выбрана система Nuke. Система управления цветом в настройках проекта вы-
бирается с помощью раскрывающегося списка Сolor management. В зависи-
мости от того, какая система выбрана, будут активны и доступны определен-
ные настройки.
При выборе NkCMS становится активным список профилей LUT, доступных
в NUKE, каждый из профилей может быть просмотрен с помощью графа гамма-
кривой. Выбрав несколько профилей в списке, вы можете сравнить их кривые
и предвидеть, как они будут оказывать влияние на изображение. Создать свой
Управление цветом в NUKE  129

профиль LUT для NkCMS можно с помощью кнопки + и создавая и редактируя


точки в области кривой с помощью зажатой клавиши Ctrl или Cmd (в macOS).
Рассмотрим основные параметры по порядку. Параметр OCIO config позво-
ляет выбрать одну из доступных с поставкой NUKE конфигураций OCIO или
определить пользовательскую конфигурацию, выбрав в списке режим custom
и указав путь к файлу конфигураций с помощью параметра custom OCIO config.
Параметры OCIO config, custom OCIO config и working space могут быть изменены
и будут оказывать влияние на изображение, отображаемое во Viewer только при
выборе в качестве текущей системы управления цветом OpenColorIO.

Параметр working space определяет, в какое цветовое пространство следу-


ет преобразовывать файлы при чтении и когда они записываются в процессе
визуализации, – это цветовое пространство, используемое внутри NUKE. В бо-
лее ранних версиях NUKE это цветовое пространство было скрыто, потому что
в качестве рабочего пространства всегда выбиралось цветовое пространство
linear. Вы можете обнаружить, что некоторые операции лучше работают в цве-
товых пространствах, отличимых от linear. Например, некоторые преобразо-
вания работают лучше в цветовом пространстве CLog.
Пространство, определяемое параметром monitor, используется для узлов
PostageStamp, текстур OpenGL, отображения при выборе цвета и других мето-
дов отображения изображений, не выводимых через узел Viewer.
Параметры 8-bit files и 16-bit files определяют профили цветовых про-
странств, когда выполняется чтение или запись файлов изображений, содер-
жащих данные в формате 8-bit или 16-bit integer (целочисленные). Также ис-
пользуется переключатель sRGB в узле Merge и преобразуются входы Primatte
в sRGB, а выходы из sRGB.
Параметры log files и float files используются, когда вы загружаете в NUKE
файлы в формате *.cin или *.dpx (для параметра log files) или файлы, содержа-
щие данные в формате 32-bit floating point (например, *.hdr или *.exr).

Рис. 1.16.4  Вкладка настроек проекта Color в NUKE


при выборе механизма OCIO и файла конфигурации ACES 1.0.3
130  Свет и цвет в компьютерной графике

При выборе ядра системы управления цветом OCIO в описанных выше па-
раметрах будут отображены цветовые пространства, определяемые выбран-
ной конфигурацией OCIO.
Если ваша работа заключается в сотрудничестве с несколькими художни-
ками или если вы работаете на студии визуальных эффектов, будет разумно
использовать единый механизм управления цветом для нескольких прило-
жений. Для NUKE был подготовлен схожий с представленным на рис. 1.15.9
граф передачи данных между приложениями. Но данный конвейер основан
на более унифицированном процессе трансформации цвета, обеспечивающем
правильную передачу данных о цвете и изображении между приложениями.
Приведенная на рис. 1.16.5 диаграмма показывает применение OCIO и кон-
фигурации стандарта ACES 1.0.3 для передачи изображений и секвенций
изобра­жений между тремя приложениями. Текстурные карты, изображения,
созданные в растровых и векторных редакторах, сохраняются в цветовом
пространстве sRGB, а далее преобразуются в рабочее цветовое пространство
ACEScg как в Maya, так и в NUKE. Изображения, визуализируемые в Maya, так-
же сохраняются с цветовым пространством ACEScg, что позволяет им быть
импортированными без кардинальных изменений в цвете и минимизировать
появление ошибок.

Рис. 1.16.5  Диаграмма единого рабочего процесса,


основанного на OCIO и ACES для Photoshop, Maya и NUKE

Хочется заметить, что разработка новой Maya CMS была специально опти-
мизирована для рабочих процессов, в которых используются возможности
NUKE для управления цветом, что позволило добиться сквозного конвейера
при визуализации как с помощью системы 3D-визуализации, так и с помощью
NUKE.
Управление цветом в Adobe Photoshop CC  131

Если вы планируете использовать V-Ray for NUKE и работать с данными,


созданными в Maya и V-Ray for Maya, применение OCIO и единых конфигура-
ций становится более обоснованным как для поступающих данных, так и для
получаемых изображений.

1.17. Управление цветом в Adobe Photoshop CC


Редактор растровой графики Adobe Photoshop CC является одним из ведущих
инструментов современных CG-художников и дизайнеров. Его возможности
позволяют как создавать, так и финализировать изображения, получаемые
с фото- и видеокамер, а также с помощью редакторов трехмерной графики.
Особенностью применения решений компании Adobe является наличие соб-
ственной системы управления цветом, получившей имя Adobe (ACE). Система
управления цветом Adobe специально разрабатывалась для обработки рас-
тровых изображений для нужд печати и дизайна, однако она может вызывать
и определенные трудности, которые потребуют определенных знаний от вас.
В данном разделе рассмотрены как базовые инструменты Adobe Photoshop CC,
так и особенности интеграции его в рабочий процесс на основе OpenColorIO,
так как Photoshop на данный момент не поддерживает данную систему управ-
ления цветом напрямую.
Пакет Photoshop превосходно подходит для создания текстурных карт и об-
работки изображений, но эта работа требует понимания работы с цветом как
в цифровом пространстве, так и для вывода изображения на печать. Об этом
я подробно описал выше, в разделе управления цветом в системе Windows.
В процессе работы Photoshop CC может использовать систему управления цве-
том Windows ICM или Apple ColorSync. Однако в CG нет необходимости исполь-
зовать CMYK, за исключением случаев, когда нужно обработать изображения,
отпечатанные в полиграфии, и правильно представить цвета в цифровом виде
после сканирования.
Настроить цветовые пространства в Adobe Photoshop можно с помощью
глобальных параметров цвета. Для этого в меню выберите Edit ⇒ Color Set-
tings…, после чего откроется диалоговое окно Color Settings (рис. 1.17.1).
Понятие рабочего цветового пространства (Working Color Space) определяет,
что это промежуточное цветовое пространство, с помощью которого в Adobe
Photoshop определяются и редактируются цвета. Для каждой цветовой модели
предусмотрен свой профиль рабочего цветового пространства.
Профиль рабочего цветового пространства служит исходным профилем для
создаваемых изображений, в которых используется соответствующая цвето-
вая модель. Например, если в текущем профиле рабочего цветового простран-
ства для модели RGB определено цветовое пространство Adobe RGB (1998), то
в каждом создаваемом документе для этой модели будут использоваться цве-
та в пределах охвата пространства Adobe RGB (1998). Кроме того, рабочее цве-
товое пространство определяет цветопередачу в изображениях, в которых не
определен профиль цветового пространства.
При открытии документа со встроенным цветовым профилем, не совпада-
ющим с профилем рабочего цветового пространства, приложение определяет
132  Свет и цвет в компьютерной графике

способ обработки данных о цветах с помощью стратегии управления цветом.


В большинстве случаев стратегия по умолчанию предполагает сохранение
встроенного профиля.

Рис. 1.17.1  Диалоговое окно Color Settings


позволяет сконфигурировать управление цветом в Adobe Photoshop CC

RGB: определяет рабочее цветовое пространство RGB. Как правило, луч-


ше использовать пространство Adobe RGB или sRGB, а не выбирать профиль
используемого для конкретного устройства (например, компьютерного дис-
плея). sRGB рекомендуется использовать при подготовке изображений для пу-
бликации в сети интернет, поскольку оно определяет цветовое пространство
стандартного монитора, используемого для просмотра изображений в интер-
нете. Также данное цветовое пространство можно порекомендовать при рабо-
те с текстурными картами для 3D-визуализации и окончательной обработки
изображений, если не используется иное. Кроме того, цветовое пространство
sRGB можно использовать при работе с изображениями, полученными с помо-
щью цифровых фотокамер потребительского класса, поскольку в большинстве
этих камер цветовое пространство sRGB используется по умолчанию.
Цветовое пространство Adobe RGB рекомендуется использовать при до-
печатной подготовке документов, поскольку в цветовой охват пространства
Adobe RGB входят некоторые печатаемые цвета (в частности, оттенки голубого
и синего), которые лежат за пределами пространства sRGB. Кроме того, цве-
товое пространство Adobe RGB хорошо подходит для работы с изображения-
ми, полученными с помощью профессиональных цифровых камер, поскольку
в большинстве таких камер цветовое пространство Adobe RGB используется
по умолчанию.
Управление цветом в Adobe Photoshop CC  133

В своей работе я использую заранее подготовленный шаблон конфигураций


системы управления цветом Europe Web/Internet 2. Данный профиль конфи-
гурирует систему управления цветом Adobe, присвоив всем ключевым типам
цветовых пространств определенные профили, и определяет политики управ-
ления цветом. Но данные профили присущи системам печати и обработки
изображений, используемых в Европе. Сам шаблон конфигурации выбирается
с помощью раскрывающегося списка Settings.
CMYK: определяет профиль цветового пространства CMYK, с которым бу-
дет работать Photoshop по умолчанию. Все рабочие цветовые пространства
CMYK являются аппаратно зависимыми, т. е. основанными на фактическом
сочетании красок и бумаги. Помните, что рабочие цветовые пространства
CMYK, поставляемые компанией Adobe, основаны на стандартных условиях
типографской печати.
Gray: определяет цветовое пространство оттенков серого.
Spot: определяет точку усиления, используемую при отображении каналов
плашечных цветов или дуплексов.
Практически все приложения Adobe поставляются со стандартным набором
профилей рабочих пространств, протестированных и рекомендуемых компа-
нией Adobe для большинства процессов, связанных с управлением цветом.
По умолчанию в меню рабочих цветовых пространств доступны только эти
профили. Для ввода дополнительных цветовых профилей, установленных на
компьютере, выберите пункт More Options. Чтобы профиль цветового про-
странства отображался в меню профилей рабочих цветовых пространств, он
должен быть двусторонним, т. е. содержать инструкции по преобразованию
как в цветовые пространства, так и обратно.
Процесс управления цветом для нового изображения обычно не вызывает
затруднений: если не указано иное, в изображении для создания и редактиро-
вания цветов используется профиль рабочего цветового пространства.
В некоторых изображениях может использоваться другой профиль цвето-
вого пространства, а в других может совсем и не быть информации для управ-
ления цветом. В рабочих процессах, предусматривающих управление цветом,
могут возникать следующие исключения:
 открытие документа без профиля или импорт из него данных о цвет-
ности (например, при копировании и вставке или перетаскивании объ-
екта). Такая ситуация часто возникает при открытии документа, кото-
рый создан в приложении, не поддерживающем управление цветом, или
в приложении, где управление цветом отключено;
 открытие документа, профиль которого отличается от текущего
рабочего профиля цветового пространства, или импорт данных
о цветности из такого документа. Это может произойти при откры-
тии документа, созданного с другими параметрами управления цветом,
или отсканированного документа, которому назначен профиль сканера.
В обоих случаях приложение определяет способ обработки данных о цвет-
ности с помощью стратегии управления цветом.
Если профиль отсутствует или не соответствует рабочему цветовому про-
странству, приложение может вывести предупреждение в зависимости от па-
раметров, заданных в диалоговом окне Color Settings. По умолчанию преду­
134  Свет и цвет в компьютерной графике

преждения об отсутствии или несоответствии профилей отключены, но их


можно включить для индивидуального управления цветом в изображениях.
Предупреждения в приложениях различаются, но в целом существуют следую­
щие варианты:
 (Recommended) Оставить документ или импортированные данные
о цветности без изменений. Например, можно использовать встроен-
ный профиль (если он есть), оставить изображение без цветового про-
филя (если профиля нет) или сохранить числовые значения цветов во
вставленных данных о цветности.
 Adjust the document or imported color data. Например, при открытии
документа без цветового профиля можно назначить ему профиль теку-
щего рабочего цветового пространства или какой-либо другой профиль.
При открытии документа с цветовым профилем, отличным от профи-
ля рабочего цветового пространства, можно удалить этот профиль или
преобразовать цвета в профиль текущего цветового пространства. При
импорте данных о цветности для сохранения цветопередачи можно
преобразовать цвета в текущее рабочее цветовое пространство.
Стратегия управления цветом определяет, каким образом приложение об-
рабатывает данные о цветности при открытии или импорте изображения.
Можно выбрать разные стратегии для изображений RGB и CMYK, а также ука-
зать, когда должны появляться предупреждения. Все настройки стратегий
управления цветом находятся в группе параметров Color Management Policies,
доступной в диалоговом окне Color Settings.
RGB, CMYK, и Gray: этот параметр определяет стратегию, применяемую
при перерасчете цветов для текущего рабочего цветового пространства (при
открытии файлов или импорте изображений). Выберите один из следующих
параметров:
 Preserve Embedded Profiles: всегда сохраняет встроенные цветовые
профили открываемых документов и изображений. Этот параметр реко-
мендуется выбирать в большинстве случаев, поскольку он обеспечивает
согласованность при управлении цветом;
 Convert To Working Space: если выбран этот параметр, то при откры-
тии файлов и импорте изображений цвет преобразуется для профиля
текущей рабочей среды. Этот параметр следует выбрать, если нужно,
чтобы все цвета относились к одному профилю (профилю текущего ра-
бочего цветового пространства);
 Off: если выбран этот вариант, то при открытии файлов и импорте
изобра­жений их встроенные цветовые профили пропускаются, а про-
филь рабочей среды новым документам не назначается. Этот параметр
следует использовать для удаления всех метаданных о цвете, предостав-
ленных создателем исходного документа.
Profile Mismatches: Ask When Opening: отображает сообщение при откры-
тии документа с профилем, отличным от профиля текущего рабочего цветово-
го пространства. Пользователю предоставляется возможность изменить пове-
дение стратегии по умолчанию. Выберите этот параметр для индивидуальной
настройки управления цветом в документах.
Profile Mismatches: Ask When Pasting: отображает сообщение в случае не-
совпадения цветовых профилей при импорте цветов в документ путем встав-
Управление цветом в Adobe Photoshop CC  135

ки или перетаскивания. Поведение стратегии по умолчанию можно будет из-


менить. Выберите этот параметр, если для импортируемых цветов требуется
задавать индивидуальные параметры управления цветом.
Missing Profiles: Ask When Opening: отображается сообщение при откры-
тии документа без пометок. Пользователю предоставляется возможность из-
менить поведение стратегии по умолчанию. Выберите этот параметр для ин-
дивидуальной настройки управления цветом в изображениях.
Параметры преобразования цвета позволяют задать для приложения спо-
соб преобразования числовых значений цвета одного цветового пространства
для другого. Изменять эти параметры рекомендуется, только если вы хорошо
разбираетесь в управлении цветом и уверены, что изменения необходимы.
Engine: определяет механизм управления цветом (CMM), применяемый для
сопоставления охвата одного цветового пространства с охватом другого. Для
большинства пользователей алгоритм Adobe (ACE), используемый по умолча-
нию, будет удовлетворять всем требованиям преобразования.
Intent: определяет метод вычисления цветов, используемый для перевода
одного цветового пространства в другое. Различия между методами вычисле-
ний становятся заметны только при печати документа или при преобразова-
нии его цветов в другое рабочее цветовое пространство.
Use Black Point Compensation: сжатие точки черного обеспечивает дета-
лизацию теней в изображении путем имитации полного динамического диа-
пазона устройства вывода. Выберите этот параметр, если при печати плани-
руется использовать компенсацию точки черного цвета (что рекомендуется
в большинстве случаев).
Use Dither: управляет псевдосмешением (размыванием) цветов при преоб-
разовании между цветовыми пространствами изображений с глубиной цве-
та 8-bit на канал. При выборе параметра Use dither приложение Photoshop CC
смешивает цвета в целевом цветовом пространстве, имитируя отсутствующий
цвет, который был в исходном пространстве. Хотя псевдосмешение позволяет
снизить эффект проявления блоков и полос, он также может увеличивать раз-
мер файла при сжатии изображений для публикации в сети интернет.
Compensate For Scene-Rendered Profiles: сравнивает контрастность видео
при преобразовании из сцены в профили устройств вывода. Этот параметр от-
ражает управление цветом, используемое по умолчанию в Adobe After Effects.
Чтобы отобразить дополнительные параметры управления цветом в Photo-
shop, выберите в меню пункт More Options в диалоговом окне Color Settings.
Desaturate Monitor Colors By: этот параметр определяет, нужно ли снижать
насыщенность цветов на указанную в текстовом поле величину при выводе
изображений на экране монитора. Выбор этого параметра позволяет воспро-
извести полный диапазон цветовых пространств с более широким цветовым
охватом, чем у монитора. Однако при этом изображение на экране монитора
не будет соответствовать тому, которое должно получиться в цветовом про-
странстве устройства вывода. Если этот параметр не выбран, то разные цвета
в изображении могут слиться в один.
Blend RGB Colors Using Gamma: этот параметр определяет особенности
наложения цветов RGB при формировании совмещенных данных (например,
при наложении или раскрашивании слоев в нормальном режиме). Если этот
параметр выбран, то цвета RGB накладываются в пределах цветового про-
136  Свет и цвет в компьютерной графике

странства в соответствии с заданной гаммой. Гамма 1.00 считается «колори-


метрически достоверной» и позволяет свести к минимуму число артефактов
по краям изображения. Если этот параметр не выбран, то цвета RGB наклады-
ваются непосредственно в пределах цветового пространства документа.
Управление цветом для просмотра в сети интернет или при работе с циф-
ровыми изображениями сильно отличается от управления цветом для печа-
ти. При подготовке печатных материалов значительно больше возможностей
управления внешним видом готового документа. Цифровые изображения ото-
бражаются на большом количестве разных мониторов (возможно, неоткали-
брованных) и видеосистем, что значительно ограничивает возможности обе-
спечить достоверную цветопередачу.
Как и многие производители компьютерного оборудования и программно-
го обеспечения, компания Adobe также рекомендует использовать цветовое
пространство sRGB для управления цветом в изображениях, которые будут
просматриваться исключительно в интернете или на разнообразных устрой-
ствах. Цветовое пространство sRGB – стандартное рабочее пространство для
большинства настроек цветов Adobe, но вы можете дополнительно убедиться,
что стандарт sRGB выбран, открыв диалоговое окно Color Settings. Если про-
филем рабочего цветового пространства является sRGB, оно будет использо-
ваться для всех создаваемых изображений RGB.
Если в изображение встроен другой цветовой профиль, то перед сохране-
нием этого изображения для сети интернет или множества устройств следует
преобразовать его цвета в пространство sRGB. Для автоматического преоб-
разования цветов в пространство sRGB в приложении при открытии изобра-
жения выберите в качестве политики управления цветом для RGB вариант
Convert to working RGB. В Photoshop также можно вручную преобразовать цве-
та в пространство sRGB с помощью команды меню Edit ⇒ Convert to profile…
(рис. 1.17.2).

Рис. 1.17.2  Диалоговое окно Convert to profile,


позволяющее выполнить конвертацию цветов изображения
из одного цветового пространства в другое
Управление цветом в Adobe Photoshop CC  137

Работа с Proof Colors


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

A B C

Рис. 1.17.3  Предварительная оценка окончательного вывода с помощью


цифровой цветопробы. A. Документ создан в своем рабочем цветовом про-
странстве. B. Цветовые значения документа пересчитываются для цветового
пространства выбранного профиля цветопробы (как правило, это профиль
устройства вывода). C. Монитор отображает цветовые значения, пересчитан-
ные для профиля цветопробы

Цифровая цветопроба сама по себе не позволяет точно определить, как будут


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

Для работы с soft-proof-цветами выберите View ⇒ Proof Setup ⇒ Custom…


(рис. 1.17.4) и выполните одно из следующих действий:
 с помощью списка Custom Proof Condition выберите шаблон, соответ-
ствующий имитируемым условиям вывода;
 чтобы задать собственные параметры цветопробы для конкретных ус-
ловий вывода, выберите пункт Custom. Этот параметр рекомендуется
использовать для наиболее точной имитации цветопередачи, которая
будет в окончательном печатном документе.
Чтобы включить или отключить режим цифровой цветопробы, в меню вы-
берите View ⇒ Proof Colors. Если режим цифровой цветопробы включен, то ря-
дом с пунктом Proof Colors будет установлен флажок, а в верхней части окна
документа с изображением отображается название стиля или профиля цвето-
пробы.
Чтобы сравнить цвета в исходном изображении с цифровой цветопробой, открой-
те документ в новом окне до включения режима цветопробы.
138  Свет и цвет в компьютерной графике

Рис. 1.17.4  Диалоговое окно Customize Proof Condition

Working CMYK: создает цифровую цветопробу с текущим рабочим профи-


лем цветового пространства CMYK, заданном в диалоговом окне Color Settings.
Working Cyan Plate, Working Magenta Plate, Working Yellow Plate, Work-
ing Black Plate, or Working CMY Plates: создает цифровую цветопробу опре-
деленных цветов красок CMYK с использованием текущего цветового профиля
CMYK.
Legacy Macintosh RGB: создает цифровую цветопробу, имитируя Mac OS X
10.5 и более ранних версий.
Internet Standard RGB: создает цифровую цветопробу, имитируя Windows
и Mac OS X 10.6 и более поздних версий.
Monitor RGB: создает цифровую цветопробу RGB, используя текущий про-
филь монитора в качестве профиля пробы.
Для параметров Legacy Macintosh RGB (Gamma 1.8), Internet Standard (sRGB)
и Monitor RGB предполагается, что моделируемое устройство будет отображать
документ, не используя функцию управления цветом. Для документов с простран-
ствами Lab и CMYK эти параметры недоступны.

Color Blindness: создает цифровую цветопробу, отображающую цвета, ко-


торые воспринимает человек, болеющий дальтонизмом. Два параметра циф-
ровой цветопробы, Protanopia и Deuteranopia, имитируют восприятие цвета
при наиболее распространенных формах дальтонизма (рис. 1.17.5).
Функция Color Universal Design (CUD) позволяет точно донести графиче-
скую информацию до людей с различным восприятием цветов, включая лиц,
страдающих дальтонизмом. В некоторых странах изданы рекомендации, тре-
бующие применения графики, совместимой с CUD, в публичных местах.
Наиболее распространенными типами дальтонизма являются протанопия
(пониженная чувствительность к красному цвету) и дейтеранопия (понижен-
ная чувствительность к зеленому цвету) (рис 1.17.6). Около трети всех дальто-
ников серьезно страдают от заболевания; у остальных дальтонизм наблюдает-
ся в более мягких формах.
Управление цветом в Adobe Photoshop CC  139

Рис. 1.17.5  Пример влияния Proof Colors


в режиме Color Blindness – Protanopia-type

A B C

Рис. 1.17.6  Корректирование оформления изображения для людей с дальтонизмом.


A – исходное изображение. B – цветопроба для лиц, страдающих дальтонизмом.
C – оптимизированное изображение

Чтобы определить, является ли документ CUD-совместимым, выполните


следующие действия:
 преобразуйте документ в цветовой режим RGB, обеспечивающий наибо-
лее точные экранные цветопробы для лиц, страдающих дальтонизмом;
 (необязательно) для одновременного просмотра исходного документа
и экранной цветопробы выберите Window ⇒ Arrange ⇒ New Window…;
 выберите View ⇒ Proof Setup ⇒ Color Blindness…, а затем выберите желае­
мый тип.
Если объекты на цветопробах трудноразличимы для лиц, страдающих даль-
тонизмом, отрегулируйте изображение одним из следующих способов:
 измените яркость или оттенок цвета:
– чистый красный обычно отображается темным и грязным, а оранже-
во-красный различается легче,
140  Свет и цвет в компьютерной графике

– голубовато-зеленый виден более отчетливо, чем желтовато-зеленый,


– серый можно перепутать с пурпурным, бледно-розовым, бледно-зе-
леным или изумрудно-зеленым,
– избегайте следующих сочетаний: красного и зеленого; желтого и яр-
ко-зеленого; светло-голубого и розового; темно-синего и фиолето­
вого,
– избегайте красных элементов на темном фоне, а также белых элемен-
тов на желтом или оранжево-красном фоне;
 примените другие узоры или фигуры;
 добавьте белые, черные или темные границы по контурам цветов;
 используйте другие гарнитуры или стили.
Как видите, Adobe Photoshop CC предоставляет обширный инструментарий
для управления и представления цвета. Очень важно понимать, что предпе-
чатная подготовка является одной из сложнейших областей работы дизай-
неров по сравнению с подготовкой изображений для публикации в онлайн.
Функция Proof Colors представляет мощный инструмент, позволяющий пред-
ставить цвет изображения в том виде, который он может приобрести при пе-
чати или определенной трансформации.

1.18. OpenColorIO и Photoshop


Если в своей работе вы планируете использовать инструментарий управле-
ния цветом OCIO и одну из версий стандарта ACES, вам будет необходимо
работать с текстурными картами, подготовленными для работы со стандар-
том ACES. Ядро OCIO может преобразовывать цвета из цветового простран-
ства sRGB в ACES, как это определено правилом Utility – sRGB – Texture в файле
конфигурации для стандарта ACES. Но Photoshop не может использовать воз-
можности OCIO и файлов конфигураций, как это сделано в той же Krita. Это
обусловлено тем, что приложения Adobe интенсивно используют механизм на
основе профилей ICC.
Разработчики OCIO создали простую инструкцию, которую можно исполь-
зовать для конфигурации собственных профилей для Adobe Photoshop.
Если вы используете Adobe After Effects CC и Adobe Premiere Pro CC, в комплек-
те с данными приложениями устанавливается профиль цветового пространства
ACEScg. Данный профиль может быть использован в Adobe Photoshop CC при соз-
дании нового изображения. Но по умолчанию в комплекте с Photoshop CC данный
профиль не поставляется.

По своей архитектуре Photoshop сильно ориентирован на процессы печати


и графический дизайн. Это отрасли с совершенно другими проблемами управ-
ления цветом, нежели процессы работы над современными художественными
фильмами и VFX. Также это может быть проблемой при интеграции с другими
CG-приложениями, поддерживающими OCIO.
Основная проблема заключается в том, что текущие версии Photoshop
(CS5 – CC) полезны только для полноценной работы с 16-bit целочисленными
изображениями (а не изображениями с плавающей точкой и линейным цве-
OpenColorIO и Photoshop  141

товым пространством, как это часто бывает в программном обеспечении для


композитинга, таком как NUKE или Fusion). Однако стоит отметить, что в по-
следних версиях Photoshop CC (начиная с 2017) данная проблема отходит на
второй план, и в процессе работы стало возможным применять цветовое про-
странство ACEScg к изображениям 32-bit floating point.
Вторая проблема заключается в том что не существует легкого способа
загрузить простой профиль 1D или 3D LUT в Photoshop; даже используя ин-
струментарий Color Lookup, вы не получите того результата, который ожи-
даете.
Первое, что необходимо сделать, – выбрать рабочее цветовое пространство,
с которым будет работать Photoshop CC при создании новых изображений.
Нужно выбрать то цветовое пространство, которое будет использоваться для
изображений, создаваемых в Photoshop CC. Это цветовое пространство, где
выполняется matte-paintings (вероятно это может быть и другое цветовое про-
странство, например используемое для рисования текстурных карт, поскольку
у них разные требования). В ACES для matte-paintings используется цветовое
пространство sRGB, определенное правилом Utility – sRGB – Texture.
Рабочее пространство должно быть ограничено пределами 0–1, обрати-
мым, и для matte-paintings в идеале допускается рисование значений поверх
«диффузного белого» (другими словами, для рисования значений более 1.0
при преобразовании в линейный свет при композитинге). Это выбор рабочего
процесса в зависимости от типа создаваемого изображения.
В примере мы будем использовать цветовые пространства ACEScg и sRGB,
как описано в конфигурациях aces_1.0.3.
Для корректной работы с изображениями рекомендуется создать LUT-
профиль вашего дисплея. Рассмотренные нами выше профили Proof Colors
в Photoshop могут использоваться для очень схожего c NUKE отображения
LUT. Этот профиль Proof Colors можно использовать для применения трех-
мерного преобразования цвета из рабочего пространства в пространство
отображения (например, преобразование из ACEScc в sRGB в конфигурации
aces_1.0.3).
Эти профили Proof Colors являются профилями в формате ICC; это, как вы
понимаете, довольно специфичная и ориентированная на печать техноло-
гия и относительно сложный формат представления данных о цветовом про-
странстве.
К счастью, консольное приложение ociobakelut может быть использовано
для создания таких профилей, но есть несколько важных замечаний:
 во-первых, важно, чтобы параметр --displayicc соответствовал профи-
лю вашего компьютерного монитора, особенно полученного в процессе
калибровки;
 во-вторых, в Photoshop есть много вариантов управления цветом, ори-
ентированных на печать, некоторые из которых могут вызвать проб­
лемы.
Для демонстрации были подготовлены примеры для операционной систе-
мы macOS. Как было сказано выше, в macOS за управлением цветом отвеча-
ет утилита ColorSync. Первое, что нам необходимо сделать, – вытащить про-
филь цветового пространства, используемого для компьютерного дисплея,
142  Свет и цвет в компьютерной графике

особенно если этот дисплей откалиброван с помощью калибратора. Для этого


пройдите к выбору профиля цветового пространства, подключенного к ваше-
му Mac дисплея, пройдя через System Preferences ⇒ Displays ⇒ Display ⇒ Color
(рис. 1.18.1). Щелкните по присвоенному вашему дисплею профилю цветового
пространства, на иллюстрации – Color LCD, и в открывшемся диалоговом окне
информации о профиле щелкните ПКМ по имени профиля в строке заголовка
и выберите папку Profiles.
Если вы планируете использовать созданный профиль на других компьютерах
или операционных системах, рекомендуется взять за основу стандартный про-
филь sRGB, а для доступа к нему в окне настроек диспле, снимите флажок Show
profiles for this display only.

Рис. 1.18.1  Открытие директории, содержащей профиль цветового про-


странства дисплея, подключенного к MacBook Pro с помощью окна, в котором
отображаются свойства профиля цветового пространства

Профили цветовых пространств, используемых в macOS для дисплеев, на-


ходятся в директории /Library/ColorSync/Profiles/Displays.
Скопируйте профиль вашего дисплея в удобную для работы директорию
и оставьте открытым окно Finder, оно потребуется для копирования в него
полученного с помощью ociobakelut профиля ICC. Копировать файл рекомен-
дуется, так как директория ColorSync является системной, и все изменения
необходимо выполнять с правами суперпользователя. Конечно, вы можете
и просто перетащить файл *.icc в приложение Terminal.app или ввести полный
путь к нему вручную.
В macOS библиотеки и утилиты OpenColorIO устанавливаются с помощью
компиляции приложения средствами разработки наподобие Xcode или же
с помощью репозитория приложений Homebrew. Установку OCIO можно осу-
OpenColorIO и Photoshop  143

ществить с помощью подробной инструкции на сайте проекта1, мы же сразу


перейдем к созданию собственного профиля для Photoshop CC.

Рис. 1.18.2  Окно приложения Terminal.app в macOS


с отображением списка файлов консольных приложений для OpenColorIO

В приложении эмулятора терминала с помощью команды cd перейдите


в директорию с установленным OpenColorIO, если вы используете Homebrew,
путь к файлам с утилитами OCIO и команда в целом будут следующими:
$ cd /usr/local/Cellar/opencolorio/<ocio_ver>/bin
После этого нам необходимо воспользоваться возможностями утилиты
ociobakelut для создания нового профиля ICC для работы с цветовым простран-
ством ACES в рабочем пространстве Adobe Photoshop CC.
$ ociobakelut --iconfig …/aces_1.0.3/config.ocio --format icc --inputspace ACEScg
--outputspace "Utility - sRGB - Texture" --displayicc ...ColorSync/Profiles/Displays/
your_display_profile.icc --description "ACEScg to sRGB (Util) (STD RGB)" …/Profiles/new_
icc_profile_name.icc
Внимательнее рассмотрим описанные выше команды. Команда --iconfig за-
дает путь к файлу конфигураций OCIO. В нашем случае – файл конфигураций
ACES 1.0.3. Команда --format определяет формат и стандарт описания данных,
в нашем примере – ICC.
С помощью команды --inputspace задается профиль входного цветового
пространства, которое необходимо преобразовать. В нашем случае был най-
ден профиль и описание для пространства ACEScg. Для определения про-
странства, которое будет использовано для выхода, используется команда
--outspace. Для нее было выбрано описание пространства sRGB, используемого
для текстурных карт – Utility - sRGB - Texture. С помощью --displayicc определя-
ется путь к профилю вашего дисплея. Данный профиль важен, так как он будет
определять конкретное устройство, и если вы калибруете свой дисплей с по-
мощью калибратора, то на другом компьютерном дисплее созданный с помо-
щью ociobakelut профиль будет отображать цвета по-иному, и, возможно, они
будут отличаться значительно.

1 OpenColorIO является проектом с открытым исходным кодом и поддерживается


сообществом разработчиков, в которое входят как независимые разработчики, так
и разработчики из различных студий. Проект доступен в сети интернет по адресу
http://opencolorio.org/.
144  Свет и цвет в компьютерной графике

Для отображения информации о профиле и просто описания профиля, ко-


торый будет представлен в Photoshop CC, была использована команда --de-
scription. Финальным является определение пути и имени к новому файлу ICC,
который будет впоследствии скопирован в директорию ColorSync. Для этого
просто после описания для профиля введите путь и имя файла *.icc, который
будет сохранен на жестком диске.
Полученный с помощью ociobakelut файл ICC был скопирован в директорию
Displays, и при последующем запуске Photoshop становится возможным при-
менение его в качестве Proof Colors для корректного представления трансфор-
мации цветов в изображении.
Следующее, что нам необходимо будет выполнить, – проверить новый про-
филь с помощью Proof Colors. Для этого запустите Photoshop и, открыв изобра-
жение, выберите View ⇒ Proof Setup ⇒ Custom…, после чего в раскрывающемся
списке Device to Simulate выберите созданный вами профиль. На рис. 1.18.3
приведен пример трансформации цветов изображения с помощью профиля,
который преобразует цвета из цветового пространства ACEScg в sRGB.

Рис. 1.18.3  Окно Customize Proof Condition с выбранным профилем устройства


ACEScg to sRGB и измененное с его помощью изображение (на фоне)

Как показано на рисунке, выбор параметра Preserve RGB numbers и отклю-


чение параметра Simulate Black Ink являются хорошей отправной точкой. На-
конец вы можете загрузить изображение в рабочее пространство и выбрать
в меню View ⇒ Proof Colors. А когда цветопроба будет активна, имя профиля
отобразится в заголовке окна.
Пакет Adobe Photoshop CC достаточно специфичен для работы с цветовыми
пространствами стандарта ACES и возможностями библиотеки OpenColorIO,
для корректной работы рекомендуется выполнять трансформацию цвета на
OpenColorIO и Photoshop  145

специально откалиброванном дисплее и сравнивать результат, полученный


в процессе трансформаций в NUKE, в буфере кадров системы визуализации
(например, V-Ray Frame Buffer) и Photoshop. Так вы сможете определить от-
клонения и произвести коррекцию для исправления ошибок. Также при ра-
боте с изображениями, созданными с помощью Photoshop, рекомендуется
исключать любое управление цветом. Для этого при создании нового файла
просто выберите Don’t Color Manage this Document в списке параметра Color
Profile. Или выберите в меню Edit ⇒ Assign Profile… параметр Don’t Color Mana­
ge this Document.

Рис. 1.18.4  Результат отображения одного изображения,


полученного в процессе визуализации с помощью V-Ray for Maya
и трансформации цветов на основе стандарта ACES. Слева – NUKE,
в центре – V-Ray Frame Buffer, справа – Photoshop CC 2019

Обратите внимание на рис. 1.18.4, на нем приведен пример отображения


полученного с помощью визуализации в Maya изображения. Здесь показано,
как работает библиотека OCIO и трансформация цвета с помощью стандарта
ACES, трансформация цвета с помощью Photoshop и созданного нами профи-
ля и Proof Colors. Данный профиль был специально создан для применения
на различных компьютерах и дисплеях и основан на профиле цветового про-
странства sRGB IEC61966-2.1. В данном изображении заметно, как влияет меха-
низм Adobe (ACE) на преобразование изображения в ярких участках и наиболее
насыщенных цветах, делая изображение более контрастным и насыщенным.
Для упрощения работы с OpenColorIO разработчики создали специальный
конвертер цветовых пространств для Photoshop и After Effects. Это необширно
документированная возможность, поставляется с OCIO и может быть загруже-
на с официального репозитория проекта на GitHub.
Когда вы загружаете архив OCIO с GitHub, в директории …/OpenColorIO/vendor/
photoshop/ находятся файлы для сборки модуля расширения для Photoshop. Для
удобства на диске с дополнительныит материалами к данной книге вы можете
найти модули расширения для After Effects и Photoshop, уже подготовленные
для вас и которые вы можете установить на свой компьютер, файлы установки
расположены в директории _SOFTWARE/OpenSource. Поддерживается версия при-
ложений как для Windows, так и для Mac.
146  Свет и цвет в компьютерной графике

После установки задайте значение для переменной $OCIO, обычно это путь
к файлу конфигураций, которые вы планируете использовать в своем рабочем
конвейере.

Рис. 1.18.5  Диалоговое окно OpenColorIO Plug-in в Photoshop


в режимах Convert (слева) и Display (справа)

Доступ к OpenColorIO Plug-in можно получить с помощью меню Filter ⇒


OpenColorIO ⇒ OpenColorIO…. Модуль расширения работает в двух режимах,
первый – режим конвертации изображения, второй – режим трансформации
изображения для отображения на устройстве. Режим Convert позволяет вы-
брать и сохранить профиль трансформации входящего цветового простран-
ства (Input Space) в целевое цветовое пространство (Output Space). Допустим,
нам необходимо из цветового пространства sRGB трансформировать цвет
в ACEScg. Для этого мы выбираем в параметре Input Space подготовленное
правило Utility – sRGB – Texture, так как это представление sRGB в ACES. Да-
лее в параметре Output Space выбираем ACES – ACEScg. С помощью кнопки
Export создаем новый ICC-профиль, присваивая желаемое имя. Далее на за-
прос модуля расширения выбирается профиль цветового пространства дис-
плея (желательно, откалиброванного дисплея) который будет применен для
отображения изображения. В результате мы получаем цвета в линейном цве-
товом пространстве ACEScg (рис. 1.18.6, слева).
Для создания профиля, который будет применен к изображению с помо-
щью Proof Colors, в модуле расширения перейдите к режиму Display. Данный
режим позволяет создать профиль и применить трансформацию цветового
пространства к изображению. Параметру Input Space присваивается прави-
ло или цветовое пространство, в котором сохранено изображение, например
Utility – Linear – sRGB. В качестве устройства при выборе стандарта ACES 1.0.3
в параметре Device будет доступен пункт ACES. Параметр Transform опре-
деляет, в какое цветовое пространство необходимо трансформировать цвета
изображения из выбранного с помощью параметра Input Space пространства.
Для примера было выбрано цветовое пространство sRGB.
Используйте модуль расширения OpenColorIO_PS для облегчения работы
с трансформацией цветов из одного цветового пространства в другое, автома-
тизации процесса конверсии цветов с помощью пакетного обработчика Pho-
toshop CC и корректного отображения изображений после визуализации или
композитинга.
Применение калибровочных цветовых шкал  147

Рис. 1.18.6  Результат конверсии цветов изображения из sRGB в ACEScg (слева)


и результат обратной трансформации с помощью профиля ACEScg 2 sRGB
и инструмента Proof Colors (справа)

Цвет является одним из сложнейших технических вопросов в компьютер-


ной графике. Еще один метод достижения корректной цветопередачи – при-
менение таблиц калибровочных цветов как на съемочной площадке, так и при
визуализации.

1.19. Применение калибровочных цветовых шкал


В фотографии и видеосъемке часто прибегают к применению специальных ка-
либровочных цветовых шкал. Это мощный и важный инструмент при работе
специалистов по ретуши и печати. Однако данные инструменты могут быть
применены и в области визуализации и анимации.
Дизайнерам компьютерной графики цветовые шкалы (или, как иногда еще
их называют, «цветовые мишени») (рис. 1.19.1) могут помочь в достижении
получения правильных тонов и оттенков цветов в изображениях, которые они
создают для текстурных карт и последующего комопозитинга. Так, при архи-
тектурной визуализации будет удобно, если перед созданием фотоснимка или
серии снимков с желаемым ракурсом будет создан один или несколько сним-
ков с калибровочной шкалой для последующего отбора точек баланса белого
и коррекции цветов и всего изображения с максимально приближенным к ре-
альному освещению виду.
Создание текстурных карт также может потребовать применения цветовых
шкал, так как, если вы создаете «цифровую копию» определенного объекта
и тем более живого актера или модели, рекомендуется более точно опираться
на точность цветовой основы текстурной карты, и если откалибровать изобра-
148  Свет и цвет в компьютерной графике

жения и максимально приблизить их цвета к оригиналу, то можно получить


результат с высокой точностью и реалистичностью.

Рис. 1.19.1  Калибровочная цветовая шкала Datacolor SpyderCHECKR


обладает 48 цветами, представляющими силу и длину волны отраженного света

Помимо этого, калибровочные шкалы позволяют упростить калибровку


компьютерных дисплеев и принтеров, что немаловажно при допечатной под-
готовке.
В дополнительных материалах к данной книге приложена трехмерная мо-
дель с цветами Datacolor SpyderCHECKR и текстурные карты с основными цве-
тами шкалы. Кроме того, в директории _MATERIAL/ColorManagement/Datacolor на-
ходится файл spyderCheckr_Color_Data_V2.pdf, в котором доступна информация
о каждом цвете в виде значений sRGB, Adobe RGB и L*a*b.
На рис. 1.19.2 приведен пример приложения SpyderCheckr 1.2 с загружен-
ным фотоснимком калибровочной мишени. Данное приложение формиру-
ет файл конфигурации цветов изображения, который может быть загружен
в Adobe Photoshop Lightroom или Adobe Camera RAW.
Визуализируя шкалу и сопоставляя цвета с отснятым в реальности матери-
алом, мы можем получить тот результат, который желаем или который необ-
ходимо достичь согласно техническому заданию.
Применение калибровочных цветовых шкал  149

Рис. 1.19.2  Приложение SpyderCheckr от Datacolor


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

Если вы работаете с видео, такое приложение, как DaVinci Resolve, предо-


ставляет функцию коррекции изображения под калибровочную мишень. В Re-
solve доступна калибровка под мишени таких производителей, как X-Rite, DSC
Labs и Datacolor.
Если вы планируете повысить точность цветопередачи в текстурных кар-
тах с помощью калибровочных шкал, можно порекомендовать перед съемкой
текстурной карты выполнять съемку калибровочной шкалы, расположенной
рядом с объектом съемки, с учетом присутствовавшего в момент съемки осве-
щения (рис. 1.19.3). После создания калибровочного профиля вы можете при-
вести цвета к более естественной насыщенности и тонам.
150  Свет и цвет в компьютерной графике

Рис. 1.19.3  Пример снимка с калибровочной шкалой,


созданного перед съемкой текстурных карт для PBR материалов
(снимок предоставлен порталом Textures.com)

Резюмируя и подводя итоги, можно сказать, что цвет является одной из са-
мых сложных для изучения областей не только с художественной стороны, но
и с технической. Исследования в представлении цветов и их корректной пере-
дачи продолжаются и сейчас, многие компании разрабатывают инструменты,
упрощающие работу с цветом как в цифровом формате, так и при печати или
производстве.
Если вы планируете разрабатывать свои собственные рабочие процессы по
трансформации цвета, подготовьте не только программное обеспечение, но
также и оборудование для минимизации искажения цвета при отображении
на различных дисплеях и проекторах.
В компьютерной графике и визуализации полезно применять единые реше-
ния управления цветом, когда на всех этапах используется единый механизм
трансформаций и правила, согласно которым упрощается работа с поступаю-
щими и выводимыми после обработки изображениями.
Для работы с анимацией и композитингом я рекомендую применять еди-
ную систему управления цветом на основе OpenColorIO и стандарта ACES, ко-
торый набирает популярность в производственных процессах внутри студий
или при совместной работе между несколькими исполнителями. Применение
OCIO помогает объединить в едином конвейере такие пакеты, как MARI, Maya,
NUKE, Krita, Natron, Photoshop, VegasPro, Silhouette и др.
Глава 2
Инструменты
визуализации Maya

В этой главе вы узнаете о:


 первоначальной настройке интерфейса Maya;
 редакторах и инструментах визуализации Maya;
 введении в V-Ray for Maya;
 рабочем процессе визуализации CG-изображений.
Как и любой другой редактор компьютерной графики, пакет Autodesk Maya
предоставляет все необходимые инструменты для моделирования геометрии,
создания снаряжения (rigging) цифровых моделей (например, персонаж для
анимационного фильма), анимации, создания динамических эффектов и, ко-
нечно же, визуализации.
Пакет Maya является ориентированным на задачи решением, все основные
инструменты программы представлены несколькими вариантами интерфей-
са и наборами инструментов. В этой главе вы познакомитесь с набором меню
Rendering. С его помощью художники по освещению и визуализации работают
над материалами, освещением сцены, камерами и над многими другими за-
дачами, присущими процессу визуализации.

2.1. Выбор набора меню Rendering


При первом запуске Maya по умолчанию установлен набор меню Modelling.
Для того чтобы переключиться к набору меню Rendering, необходимо сделать
одно из следующих действий:
 в панели Status Line выбрать в раскрывающемся списке Menu set Menu
набор меню Rendering;
 нажать на клавиатуре клавишу F6;
 если вы хотите быстро получить доступ к базовым функциям визуализа-
ции в Maya, на панели Shelf вы можете выбрать «полку» Rendering.
Это все простые действия, которые необходимо сделать для доступа к ин-
струментам визуализации Maya.
152  Инструменты визуализации Maya

Рис. 2.1.1  Интерфейс Autodesk Maya с режимом меню Rendering,


закладкой «полки» Rendering и настроенными панелями инструментов

Когда будет выбран набор меню Rendering, то помимо базовых пунктов


меню вам будут доступны следующие пункты меню (рис. 2.1.2):
 Lighting/Shading – данное меню содержит инструменты для создания,
назначения и правки шейдеров (материалов), инструменты для запека-
ния текстур (с помощью V-Ray), управления связями источников света
и теней;
 Texturing – содержит инструменты для рисования текстур на 3D-по­
верх­ностях непосредственно в Autodesk Maya. Текстуры могут быть вы-
ведены в отдельный файл в формате *.psd (Adobe Photoshop);
 Render – с помощью инструментов, расположенных в данном меню,
можно выполнять переключение инструментария и ядра визуализации,
выбрать разрешение кадра, настроить параметры для отображения со-
общений о ходе визуализации и запустить визуализацию финальной
сцены с помощью команды Batch Render;
 Toon – предоставляет инструменты для работы с нефотореалистичной
визуализацией. Если используется движок визуализации Maya Vector,
данное меню будет полезно для быстрой настройки заполняющего
и контурного цвета и ряда других свойств;
 Stereo – данное меню предлагает базовые инструменты для вывода сте-
реоскопического изображения. С его помощью создается Stereo Camera
Rig, позволяющий визуализировать кадр стереопары;
 Arnold – меню системы визуализации Arnold от альянса компаний Auto­
desk/Solid Angle.
Когда вы используете систему визуализации V-Ray, в меню Lighting/Shading
добавляются специфичные для данной системы визуализации инструменты.
Выбор набора меню Rendering  153

Рис. 2.1.2  Основные пункты в наборе меню Rendering.


Пункты, добавляемые сторонними системами визуализации,
выделены отдельным цветом

Помимо специально подготовленных меню, инструменты для визуализа-


ции в Maya сосредоточены и в стандартных меню. Основные редакторы, от-
вечающие за создание шейдеров, настройку глобальных параметров систем
визуализации, буфер кадров и другие, находятся в меню Windows ⇒ Rendering
Editors (рис. 2.1.3). Помимо этого, в данном меню сосредоточены специальные
инструменты для визуализации с помощью V-Ray, которые мы рассмотрим
в ходе знакомства с функциями этой системы визуализации.

Рис. 2.1.3  Меню Windows


с основными инструментами для визуализации в Maya

В процессе работы вам предстоит часто пользоваться данными меню. Я ре-


комендую заранее настроить «полку» (Shelf) с наиболее часто используемыми
инструментами. К ним легко можно будет получить доступ, а в ряде случаев
154  Инструменты визуализации Maya

можно исправить команды запуска того или иного инструмента или внедрить
свой собственный сценарий (скрипт (Script)) на языке MEL или Python.
Для того чтобы добавить/создать свою полку и добавить на нее коман-
ду, в панели Shelf создайте новую панель. После чего, удерживая клавиши
Ctrl+Shift, выберите необходимую команду в меню программы. И вместо вы-
полнения команды она будет добавлена на активную «полку».
Познакомившись с набором меню Rendering и легкой настройкой програм-
мы, перейдем к детальному рассмотрению основных инструментов, с которы-
ми вам предстоит работать.

2.2. Глобальные параметры Maya


Перед началом работы рекомендуется выполнить первичную настройку
программы и ее основных параметров. Все глобальные параметры находят-
ся в диалоговом окне Preferences. Доступ к нему можно получить с помощью
меню Window ⇒ Settings/Preferences ⇒ Preferences. В данном диалоговом окне
собраны параметры для инструментов анимации, единиц измерения, редак-
торов узлов, визуализации и многие другие.
Все параметры Maya записаны в редактируемых файлах, которые можно редакти-
ровать в текстовом редакторе. Основные параметры находятся в файле userPrefs.
mel. Получить доступ к нему можно по следующему пути:
• Linux: ~<username>/maya/<version>/prefs;
• macOS: /Users/<UserName>/Library/Preferences/Autodesk/maya/<version>/prefs;
• Windows: …\<username>\<username>\Documents\maya\<version>\en_US\prefs.

Помимо этого, рекомендуется воспользоваться командой меню File ⇒ Save


Preferences для сохранения всех измененных параметров, отследить измене-
ния можно в диалоговом окне Script Editor.
Настройки, выполненные в диалоговом окне Preferences, будут сохранены
и применены при последующих запусках программы.
Рассмотрим глобальные параметры для инструментов визуализации. От-
крыв диалог Preferences, перейдите в раздел Rendering (рис. 2.2.1). В данном
разделе находится три группы параметров Rendering, Render Setup Templates
и Render Settings Presets.
Группа параметров Rendering является общей для любого из используемых
движков визуализации.
Preferred Renderer – с помощью этого параметра выбирается система ви-
зуализации, которая будет активна по умолчанию. Выбор и активизация всех
инструментов будут осуществлены при перезапуске программы или при соз-
дании новой сцены Maya.
Preferred Render Setup system – в Autodesk Maya 2017 оригинальная си-
стема слоев визуализации (Maya Render Layers System), доступная в Layer Edi-
tor в предыдущих версиях программы, была заменена современной системой
сборки сцены для визуализации (Render Setup System). Новый инструментарий
Render Setup System будет подробно рассмотрен в разделе 2.8 данной главы.
Новая система настройки визуализации сцен и оригинальная система слоев
Глобальные параметры Maya  155

визуализации независимы друг от друга, и вы можете использовать только


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

Рис. 2.2.1  Диалоговое окно Preferences


с параметрами группы Rendering

Группы Render Setup Templates и Render Settings Presets предназначены для


системы настройки визуализации. Вы можете экспортировать ваши парамет­
ры системы настройки визуализации в виде шаблонов, определяемых запи-
сями в файлах формата *.json. Например, вы можете экспортировать базовую
конфигурацию системы настройки визуализации или только определенный
набор коллекций, или слой визуализации и его коллекции. Вы можете экспор-
тировать и импортировать данный шаблон в другие сцены, в которых вам мо-
жет потребоваться использовать такие же условия визуализации.
Также вы можете экспортировать предварительные настройки визуализа-
ции сцены в виде файла в формате *.json, для того чтобы убедиться, что еди-
ные настройки визуализации сцены будут использованы для визуализации
каждого кадра в секвенции.
Шаблоны и предварительные настройки могут быть сохранены на сетевом
диске и распространены среди нескольких пользователей. За это отвечают
атрибуты Global Templates Location и Global Presets Location, соответствую­
щие местоположению в локальной сети.
156  Инструменты визуализации Maya

Шаблоны и предварительные настройки также могут быть сохранены ло-


кально для повторного использования индивидуальным пользователем. За
это отвечают пути к локальным директориям, определяемые атрибутами Set
the User Templates Location и User Presets Location.
Помимо настройки параметров группы Rendering, рекомендуется выпол-
нить несколько дополнительных настроек. Пакет Maya поддерживает вывод
изображений в родной формат Adobe Photoshop (*.psd) для более тесной инте-
грации с данным графическим пакетом в диалоговом окне Preferences в группе
параметров Applications, можно задать путь к исполняемому файлу Photoshop.
app (в macOS) или Photoshop.exe (в Windows). Помимо этого, если вы используе-
те сторонний браузер графических файлов, его можно также указать в группе
параметров Applications, в свитке Image Viewing Applications.
Когда выполнены настройки программы, их можно сохранить и приступить
к работе с программой. В следующем разделе описаны основные инструмен-
ты визуализации, которые будут использоваться на протяжении всей работы
с пакетом Autodesk Maya и системой визуализации V-Ray for Maya.

2.3. Диалоговое окно Render Settings


Любая система визуализации обладает огромным количеством различных
параметров, отвечающих за качество визуализации, глубину трассировки
луча, глобальное освещение и оптимизацию процесса визуализации. Для их
представления в интерфейсе Maya служит диалоговое окно Render Settings
(рис. 2.3.1). Глобальные параметры системы визуализации будут отображаться
в данном диалоговом окне с соответствующими для него параметрами.
Доступ к диалоговому окну Render Settings можно получить с помощью па-
нели Status Line (кнопка Display Render Settings) или с помощью меню Win-
dows ⇒ Rendering Editors ⇒ Render Settings.
Также как и ко многим другим диалоговым окнам различных инструмен-
тов, доступ к Render Settings можно получить с помощью команды на языке
MEL, вводимой в Script Editor:
RenderGlobalsWindow;
Рассмотрим основные и общие для большинства систем визуализации эле-
менты интерфейса данного диалогового окна.

Меню диалогового окна Render Settings


Диалоговое окно Render Settings обладает своим собственным меню, в кото-
ром собраны команды для управления рядом параметров, отвечающих за вы-
вод изображения и различные шаблоны настроек.
Меню Edit содержит команду Change Project Image Directory, с ее помощью
открывается диалоговое окно Project Window, в котором можно изменить путь
к папке, где будут сохранены изображения по завершении процесса визуали-
зации (рис. 2.3.2).
Диалоговое окно Render Settings  157

Рис. 2.3.1  Диалоговое окно Render Settings.


В качестве инструмента визуализации выбран V-Ray

Рис. 2.3.2  Диалоговое окно Project Window


с директориями для проекта
158  Инструменты визуализации Maya

По умолчанию все изображения по завершении процесса визуализации


сохраняются в директорию <Project>/images. Стоит отметить, что при исполь-
зовании сетевых дисков рекомендуется использовать путь, не привязанный
к конкретному месту. Обычно Maya самостоятельно определяет путь в про-
екте к текстурам или директории сохранения.
Меню Presets позволяет управлять шаблонами (пресетами (presets)), кото-
рые можно использовать для простоты настройки системы визуализации. На-
пример, если вы постоянно используете определенные настройки, рекомен-
дуется создать шаблон, который может быть подгружен в любой момент, и не
потребуется настраивать все вручную.
 Save Settings as Preset – данная команда позволяет сохранить шаблон
настроек системы визуализации. В диалоговом окне Save Settings as Pre-
set задается имя шаблона (поле Preset Name). После сохранения шабло-
на он будет отображен в списке подменю Load Presets;
 Load Presets – данное подменю содержит все созданные вами шаблоны
настроек;
 Delete Preset – с помощью этого подменю можно удалить любой из соз-
данных шаблонов;
 Set Preferred Preset – здесь вы можете выбрать, какой из созданных
шаб­лонов будет использоваться по умолчанию каждый раз, как будет
запущена Maya и открыто диалоговое окно Render Settings.
Меню Help – данное меню позволяет обратиться к справочной документа-
ции по Maya.
С помощью следующих за меню параметров выполняется быстрое переклю-
чение на другой слой визуализации (Render Layer) или выбор иного инстру-
мента визуализации (Render Using). Это будет полезно, если необходимо из-
менить настройки системы визуализации для другого слоя или вовсе заменить
движок визуализации, скажем, с Maya Software на Arnold или V-Ray.

Вкладка Common
Основную область окна Render Settings занимают вкладки с параметрами вы-
бранной системы визуализации. В стандартных ядрах визуализации Maya, та-
ких как Maya Software, Maya Hardware и Maya Hardware 2.0 предусмотрены две
вкладки. Но при применении Arnold renderer, V-Ray for Maya или RenderMan
Studio в диалоге Render Settings может быть несколько вкладок, отвечающих
за различные группы параметров.
В данном разделе рассматривается вкладка Common как основная для боль-
шинства систем визуализации, но за основу взяты параметры для V-Ray for Maya.
Во вкладке Common параметры распределены по нескольким свиткам: Ima­
ge File Output, Translator, Animation, Baking Engine Settings, Renderable Cameras,
Resolution, Render View, Scene Assembly и MEL/Python callbacks.

Свиток Image File Output


С помощью параметров, содержащихся в свитке Image File Output, настраива-
ется имя файла, версия файла изображения, формат файлов, параметры сохра-
Диалоговое окно Render Settings  159

нения изображения и многое другое. Стоит заметить, что параметры данного


свитка могут меняться в зависимости от используемого ядра визуализации.
Поле File name prefix – позволяет ввести имя файла, которое будет записано на
диск по завершении процесса визуализации. Если кликнуть в данном поле пра-
вой кнопкой мыши, можно выбрать определенный префикс имени (рис. 2.3.3).

Рис. 2.3.3  Список префиксов


для имени файла в параметре File name prefix

В табл. 2.1 представлены префиксы имен файлов изображений, выводимых


в процессе визуализации.

Таблица 2.1. Префиксы имен файлов изображений,


сохраняемых в процессе визуализации сцены
Префикс Описание
<Scene> Данный префикс будет использовать имя файла сцены для имени файла
изображения
<Layer> Данный префикс будет использовать имя слоя визуализации (Render Layer)
для имени файла
<Camera> Данный префикс использует имя объекта камеры, из вида которой
выполняется визуализация
<Date> Добавляет текущую дату к имени файла или папки, но, в отличие от фиксиро-
ванной даты, данный префикс будет формироваться в интерактивном режиме
для каждого из визуализируемых кадров. Такой подход позволяет формировать
несколько версий в различные дни при продолжительной визуализации кадра
<Version> Добавляет номер версии к созданной папке или имени файла сохраняемого
изображения
current date Добавляет текущую дату к имени файла или папки
current time Добавляет текущее время к имени файла или папки

Файлы с различным префиксом можно сохранять в отдельные директо-


рии. Для этого префиксы разделите символом «/». Например, <Scene>/<Camera>/
<Layer>.
160  Инструменты визуализации Maya

Комбинируя различные префиксы, можно легко контролировать процесс


визуализации множества различных элементов и компонентов сцены.
Image format – с помощью данного раскрывающегося списка вы можете
выбрать формат файла, в который будет сохранено финальное изображение.
По умолчанию для V-Ray выбран формат PNG (*.png). Форматам файлов сто-
ит уделить особое внимание, Maya поддерживает большинство графических
форматов (табл. 2.2). Некоторые из них поддерживаются практически все-
ми системами визуализации, а некоторые могут быть использованы только
с определенным инструментом визуализации изображений.

Таблица 2.2. Поддерживаемые форматы изображений (для визуализации).


V – форматы, поддерживаемые системой визуализации
Визуализатор
Формат файла Класс Maya Maya Maya mental
Arnold V-Ray
Software Hardware Vector ray
Adobe® Illustrator® (.ai) Vector – – V – –
Alias PIX (.als) Movie V V V V –
Cineos (.cin) – V V – V –
DDS (.dds) – V V – V –
Encapsulated Vector – – V – –
Postscript (.eps)
EPS (.eps) – V V – V –
GIF (.gif) – V V – V –
JPEG (.jpg) – V V – V V V
MacPaint (.pntg) Mac – – – – –
Adobe ®SWF (.swf) Vector – – V – –
Maya IFF (.iff) – V V – V –
Maya16 IFF (.iff) 16-bit V V V – –
PNG (.png) PSD layered V V V V V V
PSD (.psd) – V V – V –
PSD Layered (.psd) PSD layered V V V V –
Quantel (.yuv) Quantel V V – V –
QuickDraw (.pict) Mac – – – – –
Apple® Quicktime Mac – – – – –
Movie (.qt)
RLA (.rla) – V V – V –
SGI® (.sgi) – V V – V V
SGI16 (.sgi) 16-bit V V V – V
SoftImage® (.pic) – V V – V –
SVG (.svg) Vector – – V – –
Swift3DImporter (.swft) Vector – – V – –
Targa (.tgs) – V V – V V
Tiff (.tiff) – V V – V V V
Tiff16 (.tiff) – V V – V V
Windows® Bitmap – V V – V V
(.bmp)
Диалоговое окно Render Settings  161

Таблица 2.2 (окончание)


Визуализатор
Формат файла Класс Maya Maya Maya mental
Arnold V-Ray
Software Hardware Vector ray
OpenEXR (.exr) 32-bit (floating – – – V V V
point)
Deep OpenEXR (.exr) 32-bit (floating – – – V V V
point)
Radiance HDR (.hdr) 32-bit (floating – – – – – V
point)
V-Ray image (.vrimg)† 32-bit (floating – – – – – V
point)
vrsm† – – – – – – V
vrst† – – – – – – V

Форматы изображения делятся на семь классов, среди которых Vector, Mo­


vie, Sixteen Bit, PSD Layered, Quantel и Mac. Стоит дать небольшое пояснение
данным классам.
 Vector – формат изображения данного класса состоит из сегментов век-
торных данных. Векторная графика не зависит от разрешения, она ото-
бражается плавной и четкой вне зависимости от уровня масштабирова-
ния или разрешения.
 True Vector – данный класс создает векторный контур рисунка и содер-
жит точки.
 Movie – этот формат используется для сохранения аудио-, видеоинфор-
мации. Данная информация может быть воспроизведена как секвенция
изображений из видеофайла.
 Sixteen bit (16-bit) – формат растрового изображения. Растровые изо-
бражения хранят одно растровое изображение в любой глубине цвета.
 PSD Layered – формат изображений Photoshop Drawing Layered. Слои
независимы, что позволяет ими манипулировать в Adobe Photoshop.
Изображения PSD Layered могут состоять из нескольких слоев. В много-
слойных изображениях каждый слой – часть финального изображения.
Вы можете работать с каждым из слоев независимо, без взаимодействия
с другими графическими элементами, находящимися на иных слоях.
 Quantel – формат изображений, разработанный Quantel. Это 16-битный
формат изображения без сжатия, содержащий видео и каналы RGB. Фор-
мат Quantel обычно применяется для индустрии телевещания.
 Mac – формат изображений, уникальный для приложений на платфор-
ме Macintosh. Данный формат поддерживается только на компьютерах
Macintosh (Apple macOS).
Среди доступных в Maya многоканальных форматов файлов, OpenEXR – един-
ственный формат файла, в котором реализована и используется поддержка мно-
гоканальности. Если визуализация выполняется в отдельные проходы изображе-
ния, вы можете объединить множество проходов в одном многоканальном файле
формата OpenEXR (*.exr). Подробно структура файла EXR и его возможности опи-
саны в главе 7 данной книги.
162  Инструменты визуализации Maya

Когда активен атрибут Don’t save image, финальное изображение не будет


сохранено автоматически. Данная функция будет проигнорирована в режиме
Batch rendering.
Если необходимо вывести альфа-канал в виде отдельного изображения,
установите флажок Output alpha channel to a separate file. Канал будет со-
хранен в отдельном файле.
Если необходимо исключить альфа-канал и не выполнять его запись, можно
установить флажок Don’t save Alpha channel (данный параметр будет проиг-
норирован при сохранении в многоканальный OpenEXR формат или формат
*.vrimg (V-Ray Image)).
Если в процессе визуализации необходимо сохранять только канал про-
зрачности (альфа-канал), но нет необходимости в сохранении RGB-каналов,
установите флажок Don’t save RGB channel, но помните, что данный пара-
метр будет проигнорирован при сохранении многоканального изображения
в формате OpenEXR.
При выполнении визуализации не рекомендуется использовать видеоформаты
(*.avi или *.mov), это особенно важно при визуализации финального варианта
с целью последующего композитинга в стороннем приложении (например, Black-
magick Design FUSION, Foundry NUKE, Autodesk Flame или Adobe After Effects).
Для этого рекомендуется использовать такие форматы, как *.tiff, *.exr, *.png.

Image Format Options – данная кнопка будет доступна при выборе V-Ray for
Maya. С ее помощью можно настроить формат изображения, тип компрессии
и т. д. При нажатии на данную кнопку откроется диалоговое окно V-Ray output
image options (рис. 2.3.4)

Рис. 2.3.4  Диалоговое окно V-Ray output image options


Диалоговое окно Render Settings  163

Ряд форматов файлов поддерживает несколько специализированных на-


строек, которые позволяют оптимизировать компрессию изображений и их
качество, оптимизировать объем файлов и занимаемое ими пространство на
жестких дисках.
При выборе формата PNG (Portable Network Graphics) с помощью диалога
V-Ray output image options в группе PNG options вы можете выбрать силу ком-
прессии (атрибут Compression) и глубину цвета (атрибут Bits per channel).
Чем значение атрибута Compression меньше, тем выше будет качество изобра-
жения, и наоборот – если значение выше, то объем файлов будет меньше, а ка-
чество – ниже. Оптимального качества и объема изображения можно добиться
на значениях в пределах от 3 до 6. Когда необходимо передать больше деталей
в цветах и полутонах и есть необходимость в получении большей гибкости на
этапе обработки, в атрибуте Bits per channel выберите 16 bits.
На текущий момент в индустрии компьютерной графики распространен
формат OpenEXR, разрабатываемый рядом ведущих студий и сообществом
разработчиков. Формат OpenEXR поддерживается всеми ведущими прило-
жениями для компьютерной графики и композитинга, а так же может быть
оптимизирован для рабочего процесса визуализации за счет открытости ис-
ходного кода.
В группе OpenEXR options вы можете настроить формат файла согласно вы-
бранным вами требованиям. Раскрывающийся список Compression Type по-
зволяет выбрать тип сжатия данных (компрессии):
 No Compression – изображение будет сохранено без использования ал-
горитмов компрессии;
 Run-length – базовый тип компрессии, сравнимый с тем, который ис-
пользуется для компрессии в Targa/BMP-файлах;
 Scanline Zip – тип, похожий на стиль ZIP-компрессии, применяемой
к индивидуальным строкам изображения (scanlines);
 Block Zip – тип, похожий на стиль ZIP-компрессии, применяемой к ин-
дивидуальным блокам изображения (blocks) из 16 строк за раз. Более
эффективен, чем тип Scanline Zip, но может быть медленнее в процессе
декомпрессии;
 PIZ – Wavelet-based compression. Рекомендуется для использования в за-
шумленных изображениях. В основном используется для CGI (Computer
Generated Images). Выполняет сжатие без потерь;
 PXR24 – данные вначале конвертируются в 24-bit, а затем применяется
компрессия типа ZIP. PXR24 выполняет сжатие с потерями, если записы-
ваемые данные сохранены в формат full float-point, в противном случае
выполняется сжатие без потерь. Согласно документации к OpenEXR для
карт глубины (depth maps), рекомендуется применять тип сжатия PXR24;
 B44 – это тип сжатия без потерь для изображений half float. Таким обра-
зом, некоторая потеря качества может произойти при сжатии с B44 в ре-
жиме 16-bit half float. Использование этого метода сжатия уместно при
быстром декодировании и, например, для воспроизведения Playblast
роликов. Не рекомендуется использовать этот метод для финальной ви-
зуализации, требующей высокого качества финального изображения,
так как оно может быть с потерями качества;
164  Инструменты визуализации Maya

 B44a — является расширением типа B44, где участки с одним цветом


подвергаются дополнительной компрессии. Регулярный тип B44 выпол-
няет компрессию равномерно, независимо от содержания изображения;
 DWAA — компрессия с потерями качества, аналогична методам форма-
та JPEG. Сжимает воедино 32 строки;
 DWAB — аналогичен методу компрессии DWAA, но выполняет компрес-
сию блоков по 256 строк для достижения лучшего коэффициента сжатия.
Bits per channel — позволяет вам выбирать глубину цвета визуализируемо-
го изображения между 16-bit (half float) и 32-bit (full float).
Когда активен атрибут Auto data window, V-Ray будет автоматически пы-
таться найти корректные данные для формирования изображения на основе
альфа-канала. Данная опция работает только тогда, когда визуализация вы-
полняется в многоканальные OpenEXR файлы и когда атрибут Memory frame
byffer определен как Full.
Когда активен атрибут Write Integer IDs, становится возможным записы-
вать информацию об ID в форме целых чисел, больших, чем значения RGB-
цвета.
Атрибут Write Multi-part EXR позволяет активировать запись многока-
нальных EXR-файлов в единый файл из множества частей. Эта функция тре-
бует поддержки OpenEXR 2.x.
Текстовое поле Extra attributes позволяет ввести дополнительные атрибу-
ты для файла OpenEXR. Запись представлена форматом attr1=val1;attr2=val2;…,
где значения могут быть целочисленными или числами с плавающей точкой,
или списками чисел, в скобках представляющих векторы, матрицы и т. д. При-
мер записи представлен ниже:
int_attr=53;float_attr=3.14;vec4_attr=(1, 2, 3, 4)
Если значение не может быть распознано как число или последовательность
чисел, то предполагается, что данное значение представлено как string.
Если вы используете формат Deep EXR, с помощью атрибута Deep alpha
colors можно определить, каким образом будут записаны данные о глубине
пикселей. Данные о глубине могут быть представлены в виде монохромных
(Monochrome) изображений, в которых информация представлена в виде двух
бит 0 и 1 и в виде RGB-цветов (RGB), где глубина представлена полноценным
цветом, полученным в процессе визуализации. Помимо этого, вы можете вы-
брать комбинированный метод представления информации о глубине, вы-
брав в раскрывающемся списке режим Monochrome + RGB.
При выборе формата изображений JPG (*.jpg) с помощью слайдера атрибута
Quality, расположенного в группе JPEG options, вы можете установить качество
сжатия в формате JPG. Чем выше значение, тем выше качество изображения,
но больше объем файла. Чем ниже качество изображения, тем больше будут
проявляться артефакты компрессии, но объем файла будет меньше.
Группа SGI options позволяет выполнить конфигурацию формата SGI ис-
пользуемого для сохранения визуализируемых изображений. Аналогично
описанным выше форматам данный формат позволяет сохранять изображе-
ния с глубиной цвета в 8-bit и 16-bit. Необходимую глубину, можно выбрать
в раскрывающемся списке Bits per pixel.
Диалоговое окно Render Settings  165

Одним из наиболее распространенных форматов изображения является


формат TIFF. Данный формат является одним из стандартов в современной
компьютерной графике и обеспечивает большую гибкость при сохранении
и обработке изображений, предназначенных для печати. Атрибут Image type,
находящийся в группе TIFF options, определяет число битов на канал (8, 16 или
32), определяющих глубину цвета в визуализируемом изображении.
Когда активен атрибут Interleaved color channels, то информация для каж-
дого пикселя будет сохранена с использованием чередования. Это означает,
что полный цвет для каждого пикселя будет сохранен перед переходом к сле-
дующему. Некоторые приложения для обработки изображений требуют, что-
бы изображение было сохранено в данном режиме.
При использовании формата Targa (TGA) в группе параметров TGA options
выбирается тип компрессии. В раскрывающемся списке Compression Type
доступны два параметра: No compression – изображение будет сохранено без
компрессии – и Run-length – используется алгоритм кодирования длин серий
(RLE) или кодирования повторов, при котором повторяющиеся символы (се-
рии) заменяются на один символ и число его повторов.
При использовании форматов изображений, специально разработанных
для системы визуализации V-Ray, вы можете использовать параметры группы
VRST/VRSM options. Атрибут Compression type определяет опции компрессии
для визуализируемого изображения. По умолчанию используется алгоритм
компрессии ZIP. Также можно сохранить изображение без компрессии, вы-
брав в раскрывающемся списке вариант No compression. Глубина цвета опре-
деляется с помощью атрибута Bits per channel. Форматы изображений *.vrst
и *.vrsm поддерживают глубину цвета как 16 bit (half float), так и 32 bit (full
float).

Свиток Translator
В процессе работы над большими проектами необходимо получить наиболее
полный доступ к формату данных не только редактора 3D-графики, но и си-
стемы визуализации или специализированным инструментам. Система визу-
ализации V-Ray использует открытый формат данных, в который может быть
экспортирована сцена Autodesk Maya, а визуализация может производиться
с помощью автономной версии V-Ray Standalone. По завершении экспорта бу-
дет создан файл в формате *.vrscene.

Рис. 2.3.5  Свиток Translator


в диалоговом окне Render Settings
166  Инструменты визуализации Maya

Параметр Render позволяет активировать процесс визуализации сцены


и вывод визуализируемого изображения в буфер кадра. Для простого экспор-
та сцены и визуализации на удаленной системе с помощью V-Ray Standalone
данный параметр может быть отключен.
Для экспорта сцены в формат V-Ray Scene (*.vrscene) необходимо исполь-
зовать атрибут Export to a .vrscene file. Когда он активен, вам становятся до-
ступны функции для экспорта и сохранения файла сцены V-Ray.
С помощью кнопки Browse и поля File name вы можете задать путь к файлу
в формате *.vrscene и его имя. По умолчанию используется путь к папке про-
екта, о чем свидетельствует путь в строке Default path. Если вы кликните ПКМ
в поле File Name, вы можете выбрать один из типов записи имени аналогично
меню из поля File Name Prefix.
Когда активен атрибут Separate files, V-Ray будет экспортировать отдель-
ные файлы для различных элементов/компонент сцены. Это так же позволяет
вам исключить экспорт объектов некоторых типов.
При визуализации анимации целесообразно экспортировать каждый кадр
анимации в отдельный файл. Для этого необходимо сделать активным атри-
бут Each frame in separate file.
Если активен атрибут Write mesh data in hex format, данные о геометрии
в файле *.vrscene будут представлены в шестнадцатеричном формате. Такой
метод записи данных позволяет создавать файлы меньшего объема, но менее
редактируемые для пользователя. Когда данный атрибут неактивен, данные
о геометрии будут записаны в десятичном формате.
Параметр Write transform data in hex format позволяет выполнять запись
данных о трансформации в шестнадцатеричном формате. Когда данный пара-
метр неактивен, запись будет выполняться в десятичном формате.
С помощью атрибута Compressed вы можете активировать базовую компрес-
сию, применяемую для файла в формате V-Ray Scene. Данная опция может быть
использована только тогда, когда данные о геометрии записываются в шест-
надцатеричном формате и активирован атрибут Write mesh data in hex format.
Текстовое поле Plugin Names Prefix позволяет задать префикс для имен
модулей расширения (plugins).

Свиток Animation
Чтобы корректно выполнить настройку диапазона кадров анимации, необхо-
димо воспользоваться параметрами, размещенными в свитке Animation диа-
логового окна Render Settings (рис. 2.3.6).
Атрибут Render animation only in batch mode ограничивает выполнение
визуализации кадров анимации только режимом пакетной визуализации
(batch rendering). Иначе все кадры анимации будут визуализироваться, ото-
бражаясь в диалоговом окне Render View или V-Ray frame buffer.
Атрибуты Start frame и End frame позволяют задать начальный и конеч-
ный кадры визуализируемой секвенции. Это удобно, когда вам необходимо
выполнить визуализацию не с первого кадра анимации и завершить данную
секвенцию не на самом последнем кадре. Например, можно выставить такой
диапазон: 10–60 или 24–148.
Диалоговое окно Render Settings  167

Рис. 2.3.6  Свиток Animation в диалоговом окне Render Settings

Специальный атрибут By frame позволяет указать программе, какой из


кадров будет визуализироваться: если стоит 1, то будет визуализироваться
каждый кадр, если установлено значение 2, будет визуализироваться каждый
третий кадр и т. д.
Атрибут Run dynamics before animation start перед началом процесса ви-
зуализации выполняет запуск моделирования динамических эффектов (си-
стемы частиц и Maya Fluids) с текущего кадра до начала анимации.
Атрибут Run dynamics after animation end позволяет выполнять запуск
моделирования динамических эффектов (системы частиц и Maya Fluids) от
конца анимации до текущего кадра после процесса визуализации.
Описанные выше параметры для управления моделированием динамики
определяют то, как Maya будет выполнять все вычисления динамических эф-
фектов перед началом или в процессе визуализации. Это применимо в случа-
ях, где используются Maya Fluids или частицы в сцене, которые не кешируют-
ся. Данные опции могут быть использованы как раздельно, так и совместно.
Если выбран режим визуализации анимации Specific Frames, вам становит-
ся доступен атрибут Frames, в котором вы можете определить, какие кадры
в текущей сцене должны быть визуализированы. Пользователю позволяется
задавать диапазоны кадров и индивидуальные кадры согласно следующей за-
писи: "1-20,2;35;38;40-50".
Frame name padding – определяет количество знаков для номера кадра.
Например, если значение данного параметра 3, то имя файла будет выглядеть
так: img.001 img.002 img.003 и т. д.
Атрибут Renumber frames using предоставляет вам возможность изменить
нумерацию файлов визуализируемых изображений в секвенции анимации.
С помощью атрибута Start number изменяется номер кадра, с которого бу-
дет начинаться секвенция. А атрибут By frame определяет номер кадра с ша-
гом N кадров. Например, если выбрано значение 3, то кадры секвенции с 1
по 10 будут именоваться как 3, 6, 9, 12, 15 и т. д. до 30, хотя в то же время будут
визуализироваться все те же 10 кадров.

Свиток Baking Engine Settings


В процессе создания запеченных текстурных карт (baked texture maps) вы мо-
жете использовать различные методики запекания, реализованные в ядре
системы визуализации V-Ray. Конфигурация основных алгоритмов и мето-
168  Инструменты визуализации Maya

дов визуализации запеченных текстурных карт может быть выполнена с по­


мощью настроек атрибутов в свитке Baking Engine Settings.

Рис. 2.3.7  Свиток Baking Engine Settings


в диалоговом окне Render Settings

Процесс создания запеченных текстурных карт подробно рассматривается


в главе 6 «Шейдеры V-Ray».
Атрибут Baking engine позволяет выбрать один из методов запекания тек-
стурных карт:
 None – запекание текстурных карт не выполняется;
 Texture Baking – запекание текстур будет выполняться применительно
к выделенному объекту;
 Spherical harmonics – при выборе данного режима для экспорта тек-
стурных карт система визуализации будет использовать метод Spherical
Harmonics. Для более тонкой конфигурации данного метода визуализа-
ции текстурных карт вы можете использовать специальное диалоговое
окно, вызываемое нажатием кнопки Spherical harmonics options;
 Bake to vertex color set – выполняет запекание наборов цветов вершин;
 Ptex Baking – при выборе данного режима для выделенных объектов
V-Ray будет выполнять запекание текстур в файл формата .ptex. Для
более тонкой конфигурации данного метода визуализации текстурных
карт вы можете использовать специальное диалоговое окно, вызывае-
мое нажатием кнопки Ptex baking options.
Атрибуты U min / V min / U max / V max определяют пользовательское
пространство UV координат, в пределах которого будет выполнено запекание
текстурных карт.
Атрибут Bake channel определяет канал для запекания текстурных карт.
С помощью Edge padding (dilation) вы можете определить количество пик-
селей вокруг границ геометрии.
Если выбран режим Bake to vertex color set, то атрибут Color set name позво-
ляет задать имя набору цветов вершин.
Атрибут Bake RGB color позволяет включить или отключить запекание ин-
формации об RGB-цвете в текстурную карту. А атрибут Bake alpha позволяет
включить или отключить запекание информации об альфа-канале изображе-
ния в текстурную карту.
Диалоговое окно Render Settings  169

Рис. 2.3.8  Диалоговые окна Spherical harmonics options и Ptex baking options

Для тонкой конфигурации метода Spherical harmonics, используемого V-Ray


для запекания текстурных карт, вы можете использовать атрибуты, сосредо-
точенные в диалоговом окне Spherical Harmonics Export (рис. 2.3.8), вызывае-
мом нажатием кнопки Spherical harmonics options.
Перед тем как мы познакомимся с назначением и функциональностью атри-
бутов метода Spherical Harmonics, необходимо разобраться в его основах. В ком-
пьютерной графике метод Spherical Harmonics (SH) является носителем потен-
циального освещения и используется для освещения объектов в сцене. Это
означает, что SH известно направление, вдоль которого может прийти свет, но
неизвестно, действительно ли он идет по факту. Таким образом, вид запечен-
ной карты независим и освещение независимо. Это зависит только от позиции
объекта и его диффузного цвета. Освещение объекта осуществляется первым
предварительным расчетом и записью определенных данных в SH-файл­, а за-
тем интерпретируется во время визуализации. При использовании таких ме-
тодов, как self-occlusion, soft shadows и color-bleeding, метод Spherical Harmonics
будет полезен в сценах с низкой частотой изменений освещения (медленно
меняющимся в пространстве). Можно сказать, что он подходит для анимации
пролета и анимации с изменениями в окружающей среде. Однако они огра-
ничены в динамических сценах, в которых перемещающиеся объекты закры-
вают сами себя или отражаются на своей поверхности; но, если они закрыты
или получают собственные отражения других объектов, надо заранее рассчи-
тывать SH для каждого кадра. В V-Ray SH запекается либо на вершинах, либо
в нормалях. Для круглых объектов больше подходит запекание на вершинах,
но для объектов с некоторыми острыми краями рекомендуется применение
запекания на основе нормалей.
170  Инструменты визуализации Maya

Методика распределения по нормалям используется по умолчанию, и она


просто нуждается в сглаженных нормалях для круглых/гладких частей объек-
тов. Еще один очень важный вопрос заключается в том, что пользователь дол-
жен обратить дополнительное внимание при моделировании геометрии. Мо-
дели должны быть относительно тонкие и равномерно подразделены в связи
с тем, что единственной известной информацией является та, что находится
поверх вершин/нормалей. Большое преимущество состоит в том, что ошибки
аппроксимации являются гладкими и приводят к сглаженному изображению,
в отличие от большинства алгоритмов визуализации реалистичных изображе-
ний, которые производят зашумленные изображения.
С помощью атрибута File name вы можете определить имя файла, в кото-
ром будут сохранены данные Spherical harmonics.
Раскрывающийся список Format позволяет вам выбрать, какой формат
файла использовать для сохранения данных. Это может быть файл *.xml для
основных типов данных, внутренний формат V-Ray с расширением *.vrsh,
разработанный для применения совместно с движком глобального освещения
Spherical Harmonics GI Engine, или оба из них.
Атрибут Mode позволяет вам выбирать между различными режимами опе-
раций:
 Occlusion (selected object) – метод spherical harmonics может быть экс-
портирован только для выделенного объекта. Когда экспортируется
spherical harmonics, V-Ray будет учитывать только прямое освещение;
 Occlusion (all) – метод spherical harmonics может быть вычислен для
всей сцены. Когда экспортируется spherical harmonics, V-Ray будете учи-
тывать только прямое освещение;
 Interreflection (selected object) – с использованием метода spherical
harmonics может быть экспортирован только для выделенного объекта.
В данном режиме V-Ray будет так же учитывать вторичные отскоки ос-
вещения. Это аналогично GI в случаях, когда объекты освещены источ-
ником света, который отражен от других объектов;
 Interreflection (all) – с использованием метода spherical harmonics мо-
жет быть экспортирована вся сцена. В данном режиме V-Ray будет так
же учитывать вторичные отскоки освещения. Это аналогично GI в слу-
чаях, когда объекты освещены источником света, который отражен от
других объектов.
Transform – данный параметр позволяет вам выбирать, как spherical har-
monics будет экспортирован в мировом пространстве или в пространстве объ-
екта. Это хорошая идея применительно к статичной геометрии в мировом
пространстве и геометрии с трансформацией в пространстве объекта.
Distribute – метод spherical harmonics может быть создан или для каждой
вершины геометрии, или для каждой нормали; данная опция позволяет вам
выбирать между этими двумя методами. Для округлых объектов лучше ис-
пользовать режим per Vertex, а для объектов с большими плоскими поверх-
ностями – режим per Normal, который лучше и быстрее.
Ray bias – параметр, управляющий смещением, которое будет применено
в процессе формирования spherical harmonics. Это необходимо для устране-
Диалоговое окно Render Settings  171

ния нежелательных результатов в процессе вычисления spherical harmonics,


например в местах углов.
Bands – данный параметр управляет точностью алгоритма spherical har-
monics. Большие значения позволяют получить более точный результат в ос-
вещении, но увеличивается время визуализации. Меньшие значения позво-
ляют выполнять визуализацию быстрее, но освещение будет менее точным.
Чаще всего хорошего результата можно достичь со значениями от 3–4, до 8–9.
Subdivs – управляет количеством образцов, выбираемых в процессе созда-
ния spherical harmonics. Высокие значения формируют лучший результат, но
требуют больше времени для визуализации.
Bounces – данный режим (группа Interreflection parameters) будет доступен,
когда выбран один из режимов interreflection. Он управляет количеством вто-
ричных отскоков, которые будут прослеживаться.
Use hit recording – данный параметр (группа Interreflection parameters) будет
так же доступен, когда выбран один из режимов interreflection. Позволяет по-
высить скорость вычислений за счет сохранения основной информации в опе-
ративной памяти.
Memory limit (MBs) – максимальное количество памяти, используемое для
сохранения записей.
Атрибут On (группа Adaptive Subdivision Parameters) включает адаптивное
подразделение. Алгоритм выполняет поиск полигонов на геометрии, которые
требуют большей выборки образцов, подразделяет их и увеличивает SH для
вновь добавленных нормалей.
Threshold – позволяет задать значение, благодаря которому алгоритм бу-
дет выбирать подразделение полигонов, за пределами которого SH превыша-
ет это пороговое значение.
Depth – задает величину последующих подразделений. Во время каждого
подразделения геометрия разбивается на треугольники, и каждый из них под-
разделяется на 4 или 2 треугольника меньшего размера.
Edge length – задает минимальную длину ребра после всех подразделений.
Это дополнительный критерий для предотвращения лишних шагов подраз-
деления.
Атрибут Save in Wavefront .OBJ будет полезен, если вы хотите записывать
результат подразделения геометрии в файл формата *.obj. Имя файла будет
взято из поля File Name. Это необходимо, если вы хотите использовать SH
и файл для дополнительной коррекции или для работы с ним в сторонних ре-
дакторах. Для всех остальных случаев используйте файл *.vrsh.
Адаптивное подразделение может увеличить размер геометрии, так что аккурат-
нее используйте малые значения в атрибутах Threshold и Edge length. Также не
используйте большие значения в параметре Depth. Хорошо подходят значения
в диапазоне от 3 до 7.

Для конфигурации экспорта текстурных карт в формат Ptex, поддерживае­


мого V-Ray, вы можете использовать параметры, сосредоточенные в диало-
говом окне Ptex baking options (рис. 2.3.8), вызываемом нажатием кнопки Ptex
baking options.
172  Инструменты визуализации Maya

File Name – определит путь и имя файла в формате *.ptex. Оно может быть
изменено с помощью V-Ray за счет добавления имени объекта/геометрии
и прохода визуализации.
Resolution – задает разрешение каждого элемента текстурной карты и ра-
ботает с ними согласно следующим условиям:
 когда атрибут World Space Resolution выключен (Off), все элементы тек-
стурной карты обладают идентичным разрешением. Если получаемый
Ptex файл содержит квадратные текстурные элементы, тогда разрешение
будет представлено как U Resolution x V Resolution. Если результирующий
файл содержит триангулированные текстуры, тогда разрешение будет
представлено следующим образом: U Resolution x U Resolution. V Resolution
будет проигнорировано, так как Ptex не поддерживает ассиметричные
триангулированные текстурные карты;
 когда World Space Resolution включен (On), разрешение каждого эле-
мента текстурной карты будет вычислено индивидуально, опираясь на
размер соответствующей грани в мировом пространстве. Например,
если U Resolution = V Resolution = 256 и U Length = V Length = 10, тогда пря-
моугольной грани с размерами 10×10 будет назначена текстура с разре-
шением 256×256, а прямоугольной грани 10×5 будет назначена текстура
с разрешением 256×128 и т. д.
Samples per pixel – определяет величину для каждого пикселя в каждом
элементе текстуры, вычисляемом как среднее значение нескольких образцов
внутри пикселя, который распределяется в регулярной сетке. Этот параметр
определяет количество образцов выборки.
Surface offset – задает величину смещения вдоль нормали геометрии, на
которую влияет затенение, чтобы избежать артефактов поверхности.
Visibility Test Rays – задает количество лучей на выбранный образец, опре-
деляя их силу взаимодействия. По умолчанию данный параметр равен 0.
Visibility Test Max Depth – задает фактор максимальной глубины для види-
мых лучей. Это значение приумножается на размер образца.
Outside Resolution Multiplier – уменьшает разрешение граней, которые
выходят за границы видимой области. Окончательное разрешение (которое
будет вычислено, как это описано выше) для каждой грани, которая располо-
жена за границей области, приумножается на заданную данным параметром
величину.
Force quadrangular texture – если геометрия, которая используется для
запекания, состоит исключительно из треугольников, тогда запеченная Ptex-
текстура будет содержать триангулированные текстуры. Если данный пара-
метр активен (On), тогда каждому триангулированному объекту будут сфор-
мированы файлы Ptex с четырехугольными элементами текстуры.
Generate mipmaps – если данный параметр включен, тогда Ptex-файл будет
содержать варианты текстурной карты с различным разрешением (mipmaps).
Multichannel Ptex File – если данный параметр включен, все визуализиру-
емые элементы будут запечены в единый Ptex-файл. В противном случае каж-
дый визуализируемый элемент будет запечен и сохранен в отдельном Ptex-
файле. Но помните, что RGB-цвет и альфа-канал всегда сохраняются в едином
Ptex-файле.
Диалоговое окно Render Settings  173

Camera Independed Shading – затеняет поверхность, как если бы лучи шли


параллельно нормали вместо следования со стороны камеры.
Border Mode – позволяет задать, как будет выполняться фильтрация на гра-
ницах геометрии.
Data Format – данный параметр позволяет выбрать формат данных, сохра-
няемых в файле Ptex-текстуры.
Группа дополнительных атрибутов Projection Baking позволяет выполнять
конфигурацию проецирования запекаемых текстурных карт.
Projection Baking – каждый образец вычисляется путем трассировки луча,
начиная с точки образца и направляясь вдоль нормали в этой точке. Величина
выборки зависит от пересечения этого луча с кружением объекта.
Mode – определяет направление трассировки луча:
 Outside Geometry – луч будет направлен по направлению вектора нор-
мали;
 Inside Geometry – луч будет направлен в противоположном вектору
нормали направлению;
 Outside first, then inside – вначале луч будет направляться по направ-
лению вектора нормали. Если не будет обнаружено пересечений, тог-
да луч будет направлен в противоположном вектору нормали направ­
лении;
 Inside first, then outside – идентичен параметру Outside first, then inside
но действует в обратном порядке;
 Closest – два луча направляются в обоих направлениях, и будет выбрано
то пересечение, которое происходит ближе всего к поверхности.
Normal – как было объяснено выше, лучи направляются либо по нормали,
либо в противоположном направлении. Нормаль может быть либо сглаженной
нормалью, либо геометрией.
Ray Offset – зарождение луча находится на геометрии. Для некоторых при-
ложений полезно иметь возможность перемещать этот источник вдоль на-
правления луча. Данный параметр используется для управления этой целью.
Max Depth – каждый луч прослеживается до тех пор, пока не определится
пересечение. Если расстояние между поверхностью и пересечением больше,
чем значение этого параметра, то пересечение отбрасывают и запекание
производится так, как будто бы не произошло пересечения. Если значение
параметра равно 0.0, то оно игнорируется, и будут рассмотрены все пере-
сечения.
Файл формата Ptex может содержать информацию о советующей геоме-
трии. Это три стандартных ключа метаданных, которые необходимы для кор-
ректной работы в некоторых приложениях. Группа параметров Meta Data со-
держит список из этих трех типов метаданных. Помните, что в V-Ray данные
параметры не требуются для визуализации Ptex-текстур.
Include faces degrees – количество вершин в каждой полигональной грани.
Include faces vertices – индексы вершин для каждой полигональной грани.
Include vertex positions – геометрические позиции вершин.
Для того чтобы выбрать нужную камеру, из вида которой будет выполняться
визуализация сцены и анимации, необходимо воспользоваться свитком Ren-
derable Cameras.
174  Инструменты визуализации Maya

Свитки Renderable Cameras и Resolution


При создании сцены и настройке видов может быть создано несколько камер,
из вида которых будет выполняться визуализация сцены. Так как камер может
быть несколько, то Maya предоставляет возможность настроить визуализацию
так, чтобы можно было получить изображения из нескольких видов. Это до-
стигается за счет выбора одной или нескольких камер в свитке Renderable Cam-
eras (рис. 2.3.9).

Рис. 2.3.9  Свитки Renderable Cameras и Resolution


в диалоговом окне Render Settings

Раскрывающийся список Renderable Camera позволяет выбрать камеру, из


вида которой будет выполняться визуализация. По умолчанию выбрана каме-
ра вида Perspective. Если необходимо добавить еще несколько камер, в данном
раскрывающемся списке выберите пункт Add Renderable Camera, после чего
будут добавлены новая камера и символ «корзина» (Make this camera non ren-
derable) – с помощью нее можно удалить камеру из данного списка.
Стоит заметить, что можно добавить только столько камер, сколько их на-
ходится в сцене.
Если вы выберете стереокамеру (stereoCamera) из списка, будут визуализировать-
ся все камеры, входящие в Stereo Camera Rig. Об этом мы поговорим подробнее
в шестой главе данной книги.

Помимо того, что камеры могут быть представлены несколькими экземпля-


рами, свиток Renderable Cameras может быть использован совместно с систе-
мой настройки визуализации (Render Setup System). Так, используя команды
Create Absolute Override for Visible Layer и Create Relative Override for Vis-
ible Layer (вызывается кликом ЛКМ на параметре), вы можете связать опреде-
ленные камеры с конкретным визуализируемым слоем (Render Layer).
С помощью свитка Resolution задаются размер визуализируемого изображе-
ния, разрешение и соотношение размера пикселей (рис. 2.3.9). Перед тем как
мы будем рассматривать параметры свитка, стоит определиться с рядом тер-
минов и их значением.
Разрешение изображения (Resolution) обычно определяется шириной
(width) и высотой (height) изображения. Например, изображение размером
Диалоговое окно Render Settings  175

в 1280×1024 пикселя обозначает, что ширина изображения составляет 1280


пикселя, а высота – 1024 пикселя. Узнать количество пикселей в изображении
можно с помощью простой формулы:

Spixels = width * height.

Таким образом, изображение размером в 1280×1024 пикселя состоит из


1 310 720 пикселей, или 1.3 Мп (мегапиксель).
Визуализируемое растровое изображение содержит многочисленные ква-
дратные или прямоугольные пиксели (элементы изображения). Размер ви-
зуализируемого изображения измеряется за счет числа пикселей по ширине
и высоте, а также с учетом соотношения сторон индивидуальных пикселей
(где пиксель может быть квадратным (square) или прямоугольным (rectangu-
lar)). Данное значение именуется как Pixel Aspect Ratio. Большинство дисплеев
(мониторов) обладает квадратными пикселями, где Pixel Aspect Ratio равен
1.0. Но есть устройства, обладающие неквадратными пикселями (non-square
pixels), например стандарт PAL обладает Pixel Aspect Ratio, равным 1.066,
а стандарт NTSC обладает Pixel Aspect Ratio, равным 0.9.
При подготовке материала для последующего композитинга и монтажа ви-
део рекомендуется удостовериться в выбранном стандарте, на каких устрой-
ствах планируется показ контента и с какой частотой кадров.
Начиная с середины 2000-х годов, стал набирать популярность формат Full
HD (1920×1080) c прогрессивной разверткой. Если планируется демонстриро-
вать контент на широкоэкранных дисплеях, удостоверьтесь в реализации под-
держки данного разрешения и стандарта.
Раскрывающийся список Presets содержит все основные шаблоны разме-
ров изображения, доступные в Maya по умолчанию. С его помощью выбира-
ются размер и разрешение изображения для кино- и видеоиндустрии. Выбрав
один из представленных шаблонов, Maya автоматически установит Ширину
(Width), Высоту (Height), Device Aspect Ratio и Pixel Aspect Ratio в соот-
ветствии с выбранным стандартом. Все основные стандарты представлены
в табл. 2.3.

Таблица 2.3. Стандарты изображений, доступные в списке Presets.


Device Aspect Pixel Aspect
Размер изображения Ширина (Width) Высота (Height)
Ratio Ratio
Custom Любой Любой Любой Любой
320х240 320 240 1.333 1.0
640х480 640 480 1.333 1.0
1k square 1024 1024 1.0 1.0
2k square 2048 2048 1.0 1.0
3k square 3072 3072 1.0 1.0
4k square 4096 4096 1.0 1.0
CCIR PAL/Quantel PAL 720 576 1.333 1.066
CCIR 601/Quantel NTSC 720 486 1.333 0.9
Full 1024 1024 768 1.333 1.0
176  Инструменты визуализации Maya

Таблица 2.3 (окончание)


Device Aspect Pixel Aspect
Размер изображения Ширина (Width) Высота (Height)
Ratio Ratio
Full 1280\Screen 1280 1024 1.333 1.066
HD 720 1280 720 1.777 1.0
HD 1080 1920 1080 1.777 1.0
NTSC 4d 646 485 1.333 1.001
PAL 768 768 576 1.333 1.0
PAL 780 780 576 1.333 0.984
Targa 486 (tga) 512 486 1.333 1.265
Targa NTSC (tga) 512 482 1.333 1.255
Targa PAL (tga) 512 576 1.333 1.500
Letter 2550 3300 0.773 1.0
Legal 2550 4200 0.670 1.0
Tabloid 5100 3300 1.545 1.0
A4 2480 3508 0.707 1.0
A3 3507 4962 0.707 1.0
B5 2079 2952 0.704 1.0
B4 2952 4170 0.708 1.0
B3 4170 5907 0.706 1.0
2»×3» 600 900 0.667 1.0
4»×6» 1200 1800 0.667 1.0
5»×7» 1500 2100 0.714 1.0
8»×10» 2400 3000 0.800 1.0

Начиная с Autodesk Maya 2014, по умолчанию установлен шаблон HD 540,


это новый стандарт, пришедший на замену использовавшемуся ранее разре-
шению в 640×480 пикселей. Автор данной книги все проекты визуализирует
в разрешении HDV 1280×720 пикселей для черновиков, а для финального изо-
бражения выбирается Full HD и выше.
При активации атрибута Maintain width/height ratio размер изображения
будет меняться пропорционально. Если изменить значение параметра Width,
значение высоты (Height) автоматически будет пересчитано, и наоборот.
Атрибут Maintain ratio определяет выбор соотношения разрешения, кото-
рое вы хотите использовать. Доступны два режима работы данного атрибута:
 Pixel Aspect Ratio – учитывает число пикселей по ширине и высоте.
Большинство дисплеев, таких как компьютерные мониторы, обладает
квадратными пикселями, и Pixel Aspect Ratio равен 1.0. В ряде случаев
устройство может использовать неквадратные пиксели. Как было сказа-
но выше, например, стандарт NTSC использует Pixel Aspect Ratio, рав-
ный 0.9;
 Device Aspect Ratio – учитывает число единиц по ширине к числу еди-
ниц по высоте. Соотношение 4:3 (1.333) формирует изображение более
квадратным. А соотношение 16:9 (1.78) формирует изображение более
панорамным (по ширине).
Диалоговое окно Render Settings  177

Атрибуты Width и Height задают ширину и высоту изображения в едини-


цах, выбранных с помощью атрибута Size Units.
Параметр Device Aspect Ratio определяет отношение сторон устройства, на
котором будет производиться просмотр визуализируемого изображения. De-
vice aspect ratio представляет соотношение сторон изображения, умноженное
на соотношение сторон пикселя (pixel aspect ratio).
С помощью Pixel aspect ratio определяется отношение сторон каждого ин-
дивидуального пикселя для устройства, на котором будет производиться про-
смотр визуализируемого изображения.

Рис. 2.3.10  Пример отображения изображений с различным Pixel Aspect Ratio:


A – без коррекции Pixel Aspect Ratio, B – с коррекцией Pixel Aspect Ratio

Свиток Render View


В процессе визуализации формируемое с помощью ядра системы визуализа-
ции изображение может выводиться в отдельный буфер кадра, отображаемый
в специальном диалоговом окне. Система визуализации V-Ray for Maya под-
держивает вывод изображений в родной буфер кадра Maya, диалоговое окно
Render View и в специальный буфер кадра V-Ray Frame Buffer (рис. 2.3.11).

Рис. 2.3.11  Диалоговые окна буферов кадров визуализируемых изображений,


Render View (слева) и V-Ray Frame Buffer (справа)
178  Инструменты визуализации Maya

Свиток Render View (рис. 2.3.12) позволяет управлять процессом вывода ви-
зуализируемого изображения в буфер кадра и выполнять базовые операции по
трансформации цвета, управлению буферами кадров и многое другое.

Рис. 2.3.12  Свиток Render View


в диалоговом окне Render Settings.

Когда активен атрибут Convert image to sRBG for RenderView, система ви-
зуализации V-Ray будет автоматически преобразовывать изображение в цве-
товое пространство sRGB в диалоговом окне Render View. Отмечу, что данная
функция полезна при работе с ранними версиями Maya (2011–2015) до появ-
ления новейшей Color Management System, подробно рассмотренной в первой
главе. Стоит так же помнить, что современные рабочие процессы в области
визуализации нацелены на работу в линейном цветовом пространстве (linear
color space), поэтому данный атрибут по умолчанию отключен, а вся транс-
формация цвета выполняется с помощью специализированного программно-
го обеспечения (Adobe Photoshop, The Foundry NUKE и т. п.).
Атрибут Clear Frame Buffers активизирует очистку буферов кадров V-Ray
Frame Buffer и Maya Render View перед началом процесса визуализации. В ряде
случаев это может помочь в управлении памятью и освободить ее от лишней
информации.
Если активен атрибут Use V-Ray VFB, V-Ray будет визуализировать изобра-
жение напрямую в родной буфер кадров V-Ray Frame Buffer.
Memory frame buffer – когда изображение сохраняется в формате *.vrimg
или многоканальный *.exr-файл, информация записывается блок за блоком
напрямую на жесткий диск. Данный атрибут определяет, как будет использо-
ван виртуальный буфер кадров, для того чтобы оптимизировать использова-
ние памяти.
 None – ядро V-Ray не будет отображать изображение в буфере кадров
(VFB) для минимизации объемов используемой памяти.
 Full – в буфер кадра будут выводиться и отображаться изображения
с высоким качеством и в полном разрешении без оптимизации памяти.
 Preview – в процессе визуализации в буфер кадра будет выводиться
версия с меньшим разрешением; это позволит оптимизировать расход
памяти и в то же время позволит наблюдать за получаемым в процессе
визуализации изображением.
Диалоговое окно Render Settings  179

Когда атрибут Hide Render View включен, то стандартный буфер кадров


Maya Render View не будет отображаться в процессе визуализации. Если не-
обходимо скрыть V-Ray Frame Buffer в процессе визуализации кадра в режиме
Batch Render, поставьте флажок рядом с атрибутом Hide V-Ray VFB in batch
mode. Атрибут Disable region rendering in batch mode деактивирует визуа-
лизацию в режиме выделенного региона (region render).
Кнопка Show V-Ray VFB позволяет быстро открыть диалоговое окно V-Ray
Frame Buffer. А для восстановления настроек V-Ray Frame Buffer к исходному
состоянию просто щелкните по кнопке Reset V-Ray VFB.

Восстановление настроек VFB по умолчанию.


Диалоговое окно V-Ray Frame Buffer будет рассмотрено подробнее далее
в этой главе.

Свиток Scene Assembly


Начиная с релиза Maya 2014, был внедрен новый инструмент Scene Assembly.
С его помощью стало возможным проще управлять большими сценами за счет
применения прокси-геометрии и ссылок на полноценную модель. При этом
в окне проекции будет отображаться модель low poly, а при финальной визуа-
лизации будет загружаться полноценная модель с шейдерами (материалами)
и текстурами. Данный свиток универсален и поддерживается всеми основны-
ми системами визуализации, так как основывается на механизме, реализован-
ном возможностями самой Maya.

Рис. 2.3.13  Свиток Scene Assembly

В диалоговом окне Render Settings был добавлен новый свиток – Scene As-
sembly (рис. 2.3.13). С его помощью можно определить, как будет выполняться
визуализация сборок сцены. Раскрывающийся список Render representation
предоставляет возможность выбрать, как будут визуализироваться элементы
Scene Assembly в сцене.
Опции в Scene Assembly Render representations предназначены для работы со
ссылками на сборки. Используйте данные опции для визуализации сборки, кото-
рые могут выдавать некорректный результат.

Active representation – определяет, какие на данный момент активные


представления будут участвовать в визуализации.
Custom – предоставляет возможность ручного определения фильтров для
представлений, участвующих в визуализации.
180  Инструменты визуализации Maya

Representation Name – представление, которое будет участвовать в визуа-


лизации, определяемое по имени (Name).
Representation Label – представление, которое будет участвовать в визуа-
лизации, определяемое по ярлыку (Label).
Representation Type – представление, которое будет участвовать в визуа-
лизации, определяемое по типу (Type).
Use Regular Expressions – если активно, Maya будет использовать выраже-
ния (Expressions) в полях Representation Name, Representation Label и Repre-
sentation Type. Данные выражения будут использованы в визуализации пред-
ставлений.
Последним в параметрах вкладки Common идет свиток Render Options. С его
помощью можно определить дополнительные параметры для визуализации
изображения с применением сценариев на языке MEL (Maya Embedded Lan-
guage).

Свиток MEL/Python callbacks


Свиток MEL/Python callbacks является частью основных параметров V-Ray, по-
зволяя вам подключать различные сценарии на языке MEL, которые будут вы-
полняться на определенных этапах в процессе визуализации.
Pre Render MEL, Post Render MEL – позволяет ввести команду на языке
MEL, выполняемую до начала визуализации (Pre Render MEL) и после визуали-
зации (Post Render MEL).
Аналогичные задачи выполняют поля Pre Render Layer MEL и Post Render
Layer MEL для слоев визуализации (Render Layers).
Pre Render Frame MEL, Post Render Frame MEL – позволяет ввести коман-
ду на языке MEL, выполняемую до начала визуализации каждого кадра (Pre
render frame MEL) и после визуализации каждого кадра (Post render frame MEL).
Специальное поле Pre Key-frame MEL позволяет ввести специальный сце-
нарий на MEL, который будет выполняться после выполнения сценария, за-
данного с помощью параметра Pre Frame MEL для каждого кадра. Если раз-
мытие движения включено, тогда данный сценарий будет выполняться перед
каждым ключевым кадром в интервале размытия движения.
Еще один специальный атрибут – RT Image Ready MEL, позволяет задать
специфический сценарий MEL, который будет выполняться, когда V-Ray RT
завершит визуализацию изображения (путем достижения максимально допу-
стимого времени визуализации либо заданного числа выборок на пиксель).
Текстовое поле Post Translate Python Script позволяет ввести сценарий на
языке Python, выполняемый после трансляции сцены Maya в V-Ray, но перед
началом процесса визуализации изображения.
Мы рассмотрели все основные настройки вывода изображений в диалого-
вом окне Render Settings (вкладка Common). На протяжении всей книги мы не
раз будем обращаться к данному диалоговому окну и познакомимся со всеми
глобальными параметрами системы визуализации V-Ray for Maya.
Следующий инструмент, с которым предстоит работать любому CG-
художнику, – редактор шейдеров (материалов) Hypershade.
Редактор материалов Hypershade  181

2.4. Редактор материалов Hypershade


Основным инструментом разработки материалов в Maya является редактор
Hypershade (рис. 2.4.1). Это node-based-редактор, аналогичный редакторам
Hypergraph и Node Editor; материалы в Hypershade создаются из отдельных
узлов шейдеров (shaders nodes), что позволяет наглядно представить всю
структуру материала и связанных с ним других элементов сцены. При уста-
новке любой сторонней системы визуализации ее шейдеры будут добавлены
в Hypershade.
Доступ к редактору Hypershade можно получить одним из следующих спо-
собов:
 на панели Status Line нажать на кнопку Hypershade;
 выбрать в меню Windows ⇒ Rendering Editors ⇒ Hypershade;
 на полке Rendering нажать на кнопку Hypershade.
Если вы используете язык MEL, то в Script Editor введите следующую команду:
HypershadeWindow;
Помимо этого, окно редактора Hypershade может быть использовано вме-
сто панели видового окна. Каждое видовое окно имеет меню, в данном меню
необходимо выбрать Panels ⇒ Panel ⇒ Hypershade. После чего вместо панели
видового окна отобразится панель с рабочим пространством Hypershade.

Рис. 2.4.1  Диалоговое окно редактора материалов Hypershade: A – ос-


новное меню, B – панель инструментов, C – область Browser, D – панель
создания узлов материалов, E – рабочее пространство на основе Node Edi-
tor, F – редактор атрибутов материалов, G – панель предварительной визуа­
лизации материала
182  Инструменты визуализации Maya

Рассмотрим основные элементы интерфейса диалогового окна Hypershade.


Аналогично другим редакторам связей между узлами в Maya окно редактора
Hypershade содержит все основные инструменты для работы с узлами шейде-
ров материалов, текстур, источников света, камерами и другими объектами
в сцене.
На рис. 2.4.1 представлено окно редактора Hypershade по умолчанию. В ос-
новном меню (рис. 2.4.1 A) сосредоточены все основные инструменты по
созданию и редактированию материалов на основе графов шейдеров. В ряде
случаев это меню может быть расширено инструментами от сторонних ин-
струментов визуализации, например такими, как рассматриваемым в данной
книге V-Ray от компании Chaos Group.
Познакомимся с основными пунктами меню редактора Hypershade:
 File – позволяет импортировать или экспортировать граф шейдеров
в отдельный файл. Рекомендуется использовать формат *.ma или *.mb;
 Edit – содержит команды для удаления, выделения, дублирования уз-
лов, а также позволяет произвести конвертацию файлов в формате *.psd
(Adobe Photoshop) в один из типов текстурных карт (Layered Texture или
File Texture). Помимо этого, в данном меню представлено несколько
инструментов для редактирования текстурных карт и настройки связей
между узлами;
 View – используется для настройки отображения и навигации в рабочем
пространстве Hypershade;
 Create – основное меню для создания узлов шейдеров, из которых будет
состоять материал. В этой книге чаще всего будут использованы узлы из
пунктов с префиксом VRay*;
 Tabs – с помощью этого меню создаются и редактируются вкладки, рас-
положенные в рабочей области или в области вкладок;
 Graph – управляет отображением связей в графе;
 Window – с помощью этого меню можно быстро получить доступ к та-
ким диалоговым окнам, как Attribute Editor…, Attribute Spread Sheet
и Connection Editor. Диалог Connection Editor будет рассмотрен далее
в этой главе;
 Options – предоставляет ряд дополнительных функций по настройке
и управлению узлами и графом шейдеров;
 Help – предоставляет доступ к справочной документации.
Чаще всего пользователь применяет панель инструментов в окне Hyper-
shade (рис. 2.4.1 B). С ее помощью можно получить доступ к основным функ-
циям редактора шейдеров. Рассмотрим основные функции, представленные
в данной панели:
 On/Off – включает и отключает автоматическое обновление образцов
материалов. Данная функция оказывает влияние на визуализацию Ren-
der Swatches в процессе изменений атрибутов. Когда отключена визуа-
лизация Render Swatches, производительность работы с редактором Hy-
pershade и множеством параметров может быть повышена;
 View as Icons, View as List – позволяют переключить режим отобра-
жения образцов шейдеров в панели Browser. Это так же позволяет по-
высить скорость отклика программы в сценах с большим количеством
Редактор материалов Hypershade  183

материалов и текстур, а также оптимизировать отображение большого


количества элементов;
 View as small swatches, View as medium swatches, View as large swat­
ches, View as extra large swatches – позволяют изменить размер Ren-
der Swatches для отображаемых в панели Browser образцов материалов
и текстур;
 Sort by name, Sort by type, Sort by time, Sort in reverse order – по-
зволяют выполнять сортировку созданных узлов материалов, текстур
и шейдеров утилит по имени, типу, времени создания и в реверсивном
порядке;
 Search list – позволяет быстро выполнять поиск узлов в сцене.

Рис. 2.4.2  Новые панели в редакторе Hypershade,


позволяющие реорганизовать рабочее пространство

Инструмент Bins (Корзины) позволяет выполнить организацию шейдеров


в сцене и распределить различные материалы, текстуры, источники света,
утилиты и другие узлы, используемые в Hypershade, по отдельным «корзинам»
и назначить этим наборам узлов логические имена (например, Concrete, Met-
als, Plastic, Skin и т. д.).
Панель Create Bar (рис. 2.4.1 D) является основным инструментом для соз-
дания узлов, из которых создаются графы шейдеров. Все представленные
в Maya шейдеры распределены по множеству различных категорий, а если ис-
пользуется сторонний инструментарий визуализации, шейдеры, относящиеся
к нему, могут быть также распределены по отдельным категориям. Для V-Ray
for Maya создана одноименная группа категорий шейдеров.
Показанная на рис. 2.4.1 C верхняя область вкладок (Top tabs) предоставляет
быстрый доступ ко всем материалам, текстурам, утилитам, источникам све-
та, камерам и элементам визуализации, использованным в сцене. Из данных
184  Инструменты визуализации Maya

вкладок можно перетащить необходимые узлы в основную рабочую область


(Work area), в которой выполняется их объединение (рис. 2.4.1 E). Рабочая об-
ласть в редакторе Hypershade представлена возможностями и специально на-
строенным редактором Node Editor. В Hypershade данный редактор отображает
узлы групп затенения, шейдеров, текстур, источников света и других элемен-
тов, связанных с визуализацией. Работа с редактором Node Editor позволяет
лучше воспринимать информацию об узле материала и выполнять конфигура-
цию отображения узлов с помощью редактирования набора атрибутов.
Благодаря поддержке создания вкладок пользователю не нужно создавать
множество закладок, как это было реализовано в ранних версиях Maya. Теперь
вы можете просто создать новую вкладку и задать ей более осмысленное имя
и сконцентрировать определенные материалы и текстуры.
Ниже панели Browser расположена панель инструментов рабочей области.
При работе с редактором Hypershade ею предстоит пользоваться достаточно
часто, поэтому на ней сосредоточено большинство функций. Рассмотрим эти
функции подробнее.
 Input connections, Input and output connections, Output connections –
позволяют управлять отображением входящих и исходящих связей
между узлами шейдеров и другими элементами сцены. Если разрабаты-
вается достаточно сложный материал, состоящий из множества узлов,
можно выбрать отдельный элемент графа и отобразить его входящие
и исходящие связи, при этом оставив на виду необходимые элементы.
Данные функции можно применить как к нескольким шейдерам сразу,
так и к любым другим элементам сцены;
 Clear graph, Add selected nodes to graph, Remove selected nodes from
graph Rearrange graph, Graph materials on selected objects – с помо-
щью данных функций можно выполнить очистку графа шейдеров в ра-
бочей области, добавить или удалить новые узлы в граф, реорганизо-
вать граф шейдеров и отобразить шейдеры, назначенные выделенному
в сцене объекту;
 Hide attributes on selected nodes – скрывает атрибуты для выделенных
узлов, оставляя только название узла и общие связи;
 Show connected attributes on selected nodes – отображает только атри-
буты с активными связями;
 Show primary attributes on selected nodes – полностью разворачивает
все атрибуты выделенных узлов;
 Allow/disallow new nodes to be automatically added to the graph – по-
зволяет включить/отключить функцию автоматического добавления
новых узлов в граф Node Editor. Когда включена, при создании любого
нового узла он будет добавлен в рабочую область графа;
 Increase/Decrease traversal depth – позволяет настроить глубину ото-
бражения узлов в графе. При нажатии на кнопку Set traversal depth to
zero (значение 0) будет отображен только один узел. При нажатии кноп-
ки Set traversal depth to unlimited (значение –1 (по умолчанию)) глубина
отображения узлов не будет ограничиваться. Вручную контролировать
глубину отображения узлов можно с помощью ввода значения в тексто-
вом поле;
Редактор материалов Hypershade  185

 Toggle the grid visibility on/off – включает/отключает отображение сет-


ки в рабочей области графа;
 Toggle the grid snapping on/off – включает/отключает привязку узлов
к сетке;
 Restore last closed tab – позволяет быстро восстановить последнюю за-
крытую вкладку в рабочей области;
 Text field – если необходимо найти отдельный узел, в текстовом поле
можно ввести его имя или начало имени с символом * (например, Diff*).
В рабочем пространстве отобразятся все узлы, содержащие имя или
символы аббревиатуры. При нажатии на кнопку Show будет раскрыто
меню, в котором сосредоточены дополнительные функции для сорти-
ровки узлов.
С помощью меню Window в редакторе Hypershade вы можете выбрать не-
сколько дополнительных редакторов, позволяющих упростить доступ ко
многим инструментам и полностью реорганизовать рабочее пространство
(рис. 2.4.2). В обновленном редакторе Hypershade доступны следующие редак-
торы Maya: Browser, Property Editor, Material Viewer, Create, Bins, Viewport, Ren-
der View, Outliner, UV Editor, Graph Editor, Attribute Spread Sheet, Connection Editor
и Connect Selected.

A B C D E

F G

Рис. 2.4.3  Диалоговое окно Material Preview


186  Инструменты визуализации Maya

Особого внимания заслуживают панели Property Editor и Material Preview.


Первая из них позволяет быстро выполнять настройку свойств материалов
за счет редактирования ключевых атрибутов. Но, в отличие от полноценного
редактора атрибутов (Attribute Editor), в панели Property Editor отображаются
только те атрибуты, которые выбрали разработчики системы визуализации.
Это позволяет быстрее осуществлять настройку материалов и текстур за счет
того, что нет необходимости в перемещении по большому списку свитков
и атрибутов.
Панель Material Preview (рис. 2.4.3) заслуживает отдельного внимания. Это
многофункциональный инструмент, позволяющий художникам по освеще-
нию и затенению наблюдать за изменениями в создаваемом материале в ре-
жиме реального времени и использовать различные условия визуализации.
Основную рабочую область занимает буфер кадра с визуализируемым объек-
том (F). В панели инструментов вы можете выбрать ядро визуализации (A),
современные системы визуализации, поддерживают интеграцию в Material
Preview и будут сразу же доступны в данном раскрывающемся списке после
установки. Вы можете выбрать один из нескольких объектов для предвари-
тельной визуализации. Это можно сделать с помощью раскрывающегося спи-
ска reference object (рис. 2.4.3 B и G). На выбор доступны следующие объек-
ты: Shader Ball (по умолчанию), Cloth, Teapot, Ocean, Ocean Splash, Hair, Sphere
и Plane (рис. 2.4.4).

Рис. 2.4.4  Примеры трех reference objects,


используемых для тестовых визуализаций,
создаваемых с помощью Hypershade-материалов

Чтобы моделировать реалистичное освещение для предварительной оценки


материала, можно использовать HDR-текстуры, доступные в раскрывающемся
списке environment textures (рис. 2.4.3 С). Эти текстурные карты представле-
ны в виде цветного и нейтрального (черно-белого) вариантов. Если ядро визу-
ализации поддерживает Image Based Lighting, данные текстурные карты будут
участвовать в процессе освещения объекта образца. Для оптимизации про-
цесса визуализации и снижения постоянной нагрузки на рабочую станцию вы
можете использовать две полезные кнопки – Reset camera transform и Toggle
pausing material viewer display update (рис. 2.4.3 D). Первая из них отвечает
за восстановление положения камеры Material Preview в исходное положение.
Редактор Connection Editor  187

Вторая предназначена для временной остановки обновления кадра в процессе


предварительной визуализации. Это полезно, когда вам необходимо работать
с большим количеством текстур и материалом со сложной структурой, так как
иногда вычисления могут занять достаточно много времени и загрузить рабо-
чую станцию лишними вычислениями.
Панель Material Preview поддерживает визуализацию согласно правилам,
определяемым системой управления цветом (рис. 2.4.3 E). Вы можете управ-
лять значениями Exposure и Gamma, а так же выбирать цветовое простран-
ство, в которое будет преобразовываться изображение, визуализируемое в ли-
нейном цветовом пространстве.
Помимо Hypershade, шейдеры можно назначить прямо из видового окна любому
выделенному объекту/объектам. Для этого выделите объект или подобъект (по-
лигоны, ребра, вершины) и щелкните ПКМ, после чего в меню выберите функцию
Assign New Material. А благодаря функциям Assign Favorit Material и Assign Exist-
ing Material можно быстро назначить добавленные в избранное шейдеры или по-
вторно применить ранее использованный шейдер.
Связи между узлами в редакторе Hypershade можно создать несколькими спосо-
бами: выделив узел шейдера в Hypershade, перейти в Attribute editor, где в атри-
бутах шейдера кликнуть по кнопке с символом «шахматная доска» и в диалоге
Create Render Node выбрать необходимый процедурный шейдер, растровую тек-
стуру или любой другой элемент, который вам необходим.

Еще один способ – это простое перетаскивание одного шейдера на другой


с помощью средней кнопки мыши (СКМ). Для этого создайте в Hypershade все
необходимые узлы и объедините их с помощью СКМ. Если вам необходимо
связать атрибуты, не имеющие прямой связи, можно воспользоваться диало-
гом Connection Editor, который мы рассмотрим ниже.
Для лучшего восприятия связей рекомендуется отключить функцию Merge Con-
nections. Для этого в редакторе Hypershade выберите в меню Options ⇒ Merge
Connections. Это позволит отображать каждую связь между узлами отдельными
линиями.

2.5. Редактор Connection Editor


Когда необходимо связать несколько отдельных узлов, но необходимые атри-
буты не представлены в интерфейсе, тогда можно воспользоваться специаль-
ным редактором связей, именуемым Connection Editor (рис. 2.5.1).
Доступ к редактору связей можно получить с помощью меню Windows ⇒
General Editors ⇒ Connection Editor. Запустить редактор связей с помощью Script
Editor можно следующей командой на языке MEL:
ConnectionEditor;
Другой способ получить доступ к диалогу – воспользоваться СКМ и перета-
щить один узел на другой, в появившемся меню выбрать пункт Other..., после
чего откроется редактор связей.
188  Инструменты визуализации Maya

Рис. 2.5.1  Окно Connection Editor

Окно редактора представлено двумя столбцами, в которых отображаются


атрибуты Input и Output для выбранных узлов. В Connection Editor могут быть
отображены атрибуты любого из элементов сцены Maya, но достаточно часто
его применяют в работе с графами шейдеров и другими элементами сцены,
используемыми в процессе визуализации.
Основное меню данного редактора представлено следующими пунктами:
 Options – предоставляет функции для настройки сортировки имен атри-
бутов и взаимодействие их с выделенными узлами;
 Left Display, Right Display – данные пункты меню предоставляют воз-
можность контролировать отображение атрибутов в левом и правом
полях;
 Help – предоставляет доступ к справочной документации.
Кнопки Reload Left и Reload Right позволяют быстро перезагрузить атри-
буты выделенных узлов в левое или правое поле. Если необходимо поменять
узлы местами, можно просто воспользоваться кнопкой From > To. Благодаря
ей атрибуты узла в левом поле будут перемещены в правое поле, и наоборот.
Кнопка Clear All позволяет быстро очистить оба поля атрибутов. С по­мощью
кнопки Remove из списка будет удален выделенный элемент. Если выделен
отдельный атрибут, будет удален объект, содержащий данный атрибут. Для
Редактор Node Editor  189

разрушения и создания связей служат кнопки Break и Make. Кнопка Close вы-
полняет закрытие окна редактора связей.
С помощью кнопок < и > можно перемещаться между связанными узлами.
Редактор Connection Editor будет часто использоваться в работе, это обуслов­
лено тем, что многие функции и атрибуты скрыты в интерфейсе программы,
и доступ к ним можно получить благодаря редактору связей.

2.6. Редактор Node Editor


Редактор Node Editor предоставляет новый взгляд на работу с узлами и созда-
ние связей между ними. Каждый узел в Node Editor содержит не только общие
сведения о типе и имени, но и предоставляет все основные атрибуты, доступ
к которым можно получить, просто развернув его.

A B C

D
Рис. 2.6.1  Окно редактора Node Editor: A – основное меню Node Editor,
B – панель инструментов, C – рабочее пространство, D – узел (node) и его атрибуты

Открыть Node Editor можно несколькими способами:


 с помощью меню Windows ⇒ Node Editor;
 выбрать вместо панели видового окна окно вида ⇒ меню Panels ⇒ Panel
⇒ Node Editor.
С помощью Script Editor окно редактора Node Editor можно открыть сле­
дующей командой MEL:
NodeEditorWindow;
190  Инструменты визуализации Maya

Как и любой другой аналогичный редактор в Maya, редактор Node Editor об-
ладает своим собственным меню (рис. 2.6.1A), с помощью которого можно по-
лучить доступ к основным функциям редактора и его параметрам:
 Edit – данное меню содержит базовые функции редактора для правки
узлов;
 View – позволяет выполнить настройку вида узлов в рабочем простран-
стве Node Editor (приблизить выделенное, сфокусироваться на всех уз-
лах и т. д.);
 Bookmarks – аналогично функционалу редактора Hypershade позволяет
создать закладки для графов узлов;
 Tabs – позволяет управлять закладками в окне Node Editor. С помощью
этого меню вы можете создавать, редактировать и закрывать закладки;
 Options – с помощью данного меню можно включить применение функ-
ции Render Swatches, активировать автоматическое добавление узлов
при создании и управлять другими параметрами;
 Display – позволяет настроить отображение узлов;
 Show – как и в редакторе Hypershade, позволяет выполнить настройку
сортировки и отображения узлов определенного типа;
 Help – предоставляет доступ к справочной документации.
Ниже меню расположена панель инструментов редактора Node Editor
(рис. 2.6.1 B). При работе с редактором узлов ей предстоит пользоваться до-
статочно часто, поэтому на ней сосредоточено большинство функций. Рассмо-
трим их внимательнее:
 Toggle create node pane on and off – позволяет активировать панель
создания узлов шейдеров и текстур аналогичную редактору Hypershade.
Это позволяет проще находить нужный узел и добавлять его в граф;
 Sync/Unsync node editor and viewport selection – когда данная функция
включена, выделение узла в Node Editor будет осуществляться в видовом
окне или другом редакторе. Если выключена, то выделение узла в Node
Editor будет действовать только в его рабочем пространстве. Если необ-
ходимо открыть узел в Attribute Editor, необходимо будет дважды клик-
нуть по узлу ЛКМ;
 Input Connections – отображает только входящие связи узлов;
 Input and Output Connections – отображает входящие и исходящие свя-
зи узлов;
 Output Connections – отображает только исходящие связи;
 Clear the graph – выполняет очистку рабочего пространства графа;
 Add selected nodes to graph – позволяет добавить новые узлы в рабочее
пространство графа;
 Remove selected nodes to graph – удаляет выделенные узлы из рабочего
пространства графа;
 Layout the graph – позволяет быстро реорганизовать узлы в рабочем
пространстве;
 Hide attributes on selected nodes – скрывает атрибуты для выделенных
узлов, оставляя только название узла и общие связи;
 Show connected attributes on selected nodes – отображает только атри-
буты с активными связями;
Редактор Node Editor  191

 Show primary attributes on selected nodes – полностью разворачивает


все атрибуты выделенных узлов (рис. 2.6.1 D);
 Pin selected nodes, Unpin selected nodes – выполняют привязку/отвяз-
ку выделенных узлов. Полезно, когда необходимо зафиксировать опре-
деленные узлы или целый граф. Если будет выполняться очистка графа,
привязанные узлы не будут удалены из рабочего пространства;
 Create a new bookmark – создает закладку для графа. При нажатии на
данную кнопку откроется окно Name Bookmark, в котором можно задать
имя закладки;
 Show the Bookmark Editor window – открывает диалоговое окно редак-
тора закладок. С помощью редактора закладок можно изменить имя за-
кладки, произвести замену или просто удалить. При нажатии на кнопку
Create Bookmark откроется диалог Name Bookmark, с помощью которого
можно задать имя закладке и создать ее;
 Load the previous bookmark/Load the next bookmark – позволяют пе-
реходить между закладками;
 Allow/disallow new nodes to be automatically added to the graph – по-
зволяет включить/отключить функцию автоматического добавления
новых узлов в граф Node Editor. Когда включена, при создании любого
нового узла он будет добавлен в рабочую область графа;
 Increase/Decrease traversal depth – позволяет настроить глубину ото-
бражения узлов в графе. При нажатии на кнопку Set traversal depth to
zero (значение 0) будет отображен только один узел. При нажатии кноп-
ки Set traversal depth to unlimited (значение –1 (по умолчанию)) глубина
отображения узлов не будет ограничиваться. Вручную контролировать
глубину отображения узлов можно с помощью ввода значения в тексто-
вом поле;
 Toggle the grid visibility on/off – включает/отключает отображение сет-
ки в рабочей области графа;
 Toggle the grid snapping on/off – включает/отключает привязку узлов
к сетке;
 Text field – если необходимо найти отдельный узел, в текстовом поле
можно ввести его имя или начало имени с символом * (например, Diff*).
В рабочем пространстве отобразятся все узлы, содержащие имя или
символы аббревиатуры. При нажатии на кнопку Show будет раскрыто
меню, в котором есть дополнительные функции для сортировки узлов.
Основную область редактора узлов занима-
ет рабочее пространство графа. Практически
любой узел может быть создан в рабочем про-
странстве графа. При использовании клавиши
Tab (Табуляция) откроется строка ввода назва-
ния команды (типа узла). После чего узел будет
создан и отображен в рабочем пространстве
(рис. 2.6.2).
Учитывая поддержку большинства команд,
используемых в Maya, с помощью редактора Рис. 2.6.2  Создание узла (node)
Node Editor легко создавать не только шейде- с помощью командной строки
192  Инструменты визуализации Maya

ры, но и геометрические объекты. Однако наиболее актуальным применением


у Node Editor остается создание шейдеров, источников света, камер и других
узлов, связанных с этапами визуализации.

2.7. Окно Render View


Буфером кадров в Maya служит диалоговое окно редактора Render View
(рис. 2.7.1). С помощью инструментов этого диалогового окна можно отсле-
живать ход процесса визуализации, выполнять сравнение визуализируемых
изображений, просматривать данные с различных слоев визуализации (Ren-
der Layers) и выполнять визуализацию в режиме IPR (Interactive Photorealistic
Rendering).

Рис. 2.7.1  Диалоговое окно Render View

Доступ к окну Render View можно получить следующими способами:


 с помощью меню Windows ⇒ Rendering Editors ⇒ Render View;
 выбрать вместо панели видового окна окно вида ⇒ меню Panels ⇒ Panel
⇒ Render View.
С помощью Script Editor окно Render View можно открыть следующей коман­
дой MEL:
RenderViewWindow;
Как и полагается, диалог Render View может быть использован в качестве
буфера кадров для любой системы визуализации, разработанной для Autodesk
Окно Render View  193

Maya. В частности, V-Ray for Maya полностью поддерживает интеграцию с дан-


ным буфером кадров. Основное меню диалогового окна Render View представ-
лено следующими пунктами:
 File – предоставляет функции открытия и сохранения файлов изображе-
ний, полученных в процессе визуализации и при применении режима
IPR;
 View – предоставляет функции для управления отображением изобра-
жения в рабочем пространстве Render View. Помимо этого, благодаря
функции Grab Swatch to Hypershade/Visor можно создать миниатюру
для выделенного узла в Hypershade или для данных сцены в Visor;
 Render – с помощью данного меню выполняется запуск процесса визуа-
лизации всего изображения или выделенного региона. Также можно за-
пустить процесс визуализации многослойного изображения и выбрать
вид (камеру), из которого будет выполняться визуализация. Функция
Snapshot позволяет быстро создать скриншот вида камеры, из которого
будет выполняться визуализация;
 IPR – с помощью данного меню выполняется запуск процесса интерак-
тивной визуализации (Interactive Photorealistic Rendering (IPR)). В меню
представлены команды для выбора вида (камеры), из которого будет
выполняться визуализация, выполнения обновления таких элементов
изображения, как карты теней и плоскости окружения, а также для вы-
бора шаблона для качества визуализации. Режиму IPR в V-Ray for Maya
мы уделим внимание в главе 4 «Геометрия, выборка и качество изобра-
жений»;
 Options – в данном меню можно получить доступ к диалоговому окну
Render Settings, выбрать систему визуализации, установить разрешение
изображения для тестовой визуализации, активировать ряд функций
для автоматический подстройки размера изображений под размер диа-
лога Render View;
 Display – позволяет настроить отображение изображения в окне Render
View. По умолчанию предоставляются следующие режимы отображения
каналов изображения: Red Channel, Green Channel, Blue Channel, Luminance
и Alpha Channel. Поддерживается переключение буфера кадров между
режимами 8-bit и 32-bit. Также представлены функции по настройке ин-
терфейса Render View;
 Render Target – используется для отображения визуализируемых узлов
Render Target напрямую в Render View;
 Help – предоставляет доступ к справочной документации.
Панель инструментов диалогового окна Render View позволяет быстрее по-
лучить доступ к различным функциям, реализованным в меню. Для быстрого
запуска процесса визуализации служит кнопка Render the current frame. Если
кликнуть по ней ПКМ, откроется список доступных видов и камер. Запустить
визуализацию выделенного региона можно с помощью кнопки Render region.
Скриншот вида камеры, из которой будет выполняться визуализация, можно
сделать кнопкой Snapshot. Если по ней кликнуть ПКМ, также можно выбрать
вид и камеру из раскрывающегося списка.
194  Инструменты визуализации Maya

Если необходимо использовать режим IPR для предварительной тестовой


визуализации, используйте кнопку IPR render the current frame. Обновление
IPR-изображения и повторный запуск процесса визуализации реализуются
с помощью кнопки Refresh the IPR image. Доступ к глобальным параметрам
системы визуализации можно получить с помощью кнопки Display Render
Settings. При ее нажатии откроется диалоговое окно Render Settings. Функция
Display RGB channels позволяет выбрать канал изображения для отображе-
ния в Render View. Если кликнуть по данной кнопке ПКМ, будет отображено
меню, в котором можно выбрать тип канала для отображения (RGB Channels,
Red, Green, Blue, Luminance). Кнопка Display Alpha channel переключает Ren-
der View в режим отображения альфа-канала изображения.
Обычно изображение масштабируется под размер диалогового окна Render
View для отображения реального масштаба изображения (1:1), этому служит
кнопка Display Real Size. В остальных случаях масштаб изображения можно
контролировать с помощью колесика прокрутки мыши или зажатой клавиши
Alt+СКМ.
В процессе визуализации всегда есть необходимость создания копии изо-
бражения для последующего сравнения с новым вариантом. Для создания ко-
пии изображения служит кнопка Keep Image. Если щелкнуть по кнопке Keep
Image с помощью ПКМ, в раскрывающемся меню будет доступен дополнитель-
ный режим – Keep Image with Comment…. Это позволяет сохранять изображение
с осмысленным комментарием, что существенно может помочь в работе над
различными вариантами изображений. Для удаления ненужных копий следу-
ет воспользоваться кнопкой Remove Image. Перемещение между сохранен-
ными копиями выполняется с помощью полосы прокрутки, расположенной
снизу Render View.
Раскрывающийся список Select Renderer позволяет выбрать систему визу-
ализации. В нем будут отображены все установленные для Maya системы ви-
зуализации. Lock/Unlock render layer and render pass rendering служит для
связи буфера кадров с текущим слоем визуализации и выводимым элементом
изображения.
Для выполнения интерактивной коррекции экспозиции и гаммы, а также
для применения профилей цвета (Color Profiles) можно воспользоваться слай-
дерами Exposure и Gamma. Кнопка On позволяет включить или выключить
коррекцию цвета за счет профилей, расположенных в раскрывающемся спи-
ске.
Функции назначения профилей цвета и управления экспозицией появились
в Auto­desk Maya 2015 Extension 1 и сейчас используются для определения про-
филей цветового пространства в движке визуализации Viewport 2.0 в видовых
окнах, окне выбора цвета (Color Chooser), а также в Render View. Подробнее о воз-
можностях Maya Color Management System рассказано в первой главе.

Во время процесса визуализации в режиме IPR можно временно приостано-


вить процесс, нажав на кнопку Pause IPR tuning. При этом процесс визуализа-
ции IPR не будет полностью остановлен и может быть возобновлен повторным
нажатием данной кнопки. Процесс IPR rendering можно полностью остановить
с помощью кнопки Close IPR file and stop tuning.
Редактор Color Chooser  195

2.8. Редактор Color Chooser


Определение цвета в материале и процедурных текстурных картах, а также
для различных свойств объектов требует применения редактора выбора цве-
та – Color Chooser (рис. 2.8.1).

Рис. 2.8.1  Редактор Color Chooser. Слева вверху упрощенная версия,


слева внизу инструмент Eyedropper, справа реализация в диалоговом окне

Получить доступ к редактору Color Chooser в упрощенном режиме можно


с помощью щелчка по образцу цвета атрибута в редакторе атрибутов. Для по-
лучения доступа к редактору в полноценном режиме в виде диалогового окна
просто дважды щелкните ЛКМ по образцу цвета.
colorEditor;
С помощью Color Chooser вы можете выполнять следующие действия:
 выбирать цвета для свойств или материалов с помощью Color Wheel или
Color Palette;
 импортировать изображения и выбирать цвета из них;
 смешивать цвета вместе;
 сохранять наиболее часто используемые цвета с помощью Color History;
 создавать персонализированные палитры цветов.
Если вы будете использовать инструмент Eyedropper для выбора цвета,
данный инструмент обладает рядом полезных функций. Так, в процессе вы-
196  Инструменты визуализации Maya

бора цвета вы можете наблюдать, какой образец, расположенный под курсо-


ром, будет выбран в качестве нового цвета. Он отображается в верхней части
области просмотра образца, а текущий цвет – в нижней части. Для большей
точности инструмент Eyedropper позволяет определить значения образца цве-
та, на который наведен курсор.
Редактор Color Chooser тесно интегрирован с системой управления цветом
и поддерживает представление цвета как в виде значений цвета выбранного
цветового пространства, так и в линейных значениях.

2.9. Редактор Rendering Flags


Множество элементов сцены имеет свои собственные атрибуты для участия
в процессе визуализации. Редактировать их можно как в редакторе атрибутов
(Attribute Editor), так и с помощью специального редактора – Rendering Flags
(рис. 2.9.1).

Рис. 2.9.1  Редактор Rendering Flags


Система Render Setup  197

Получить доступ к редактору Rendering Flags можно с помощью меню Win-


dows ⇒ Rendering Editors ⇒ Rendering Flags. Также редактор можно открыть
с помощью Script Editor, введя следующую команду:
RenderFlagsWindow;
Диалоговое окно Rendering Flags максимально упрощено. Меню представ-
лено только командой Help, предоставляющей доступ к справочной докумен-
тации. Основную область окна занимает список объектов и панель атрибутов.
Если выбрать объект или узел в левой половине диалога, то его атрибуты будут
отображены справа. По своей сути это упрощенный аналог редактора Channel
Editor.
Все узлы, находящиеся в сцене, разделены на отдельные категории объ-
ектов. Категория выбирается с помощью раскрывающегося списка Show. Вы
можете выбрать одну из категорий Objects, Lights, Dynamics, Cameras, Textures,
Materials или General.
Стоит отметить, что инструментарий Rendering Flags не поддерживает
полноценно возможности V-Ray for Maya. Он будет полезен при применении
стандартных средств визуализации Maya. Если использовать систему визуа-
лизации V-Ray, данный диалог будет полезен только при работе c базовыми
атрибутами визуализации (например, участие в процессе визуализации, на-
стройка стандартных шейдеров материалов Maya и т. п.).
Пакет Maya обладает большим количеством различных инструментов, по-
зволяющих создавать самые разнообразные сцены и реализовывать необыч-
ные модели затенения и освещения. Пользуясь описанными инструмента-
ми, вы сможете решать самые разнообразные задачи в процессе создания
3D-моделей и их визуализации. Система визуализации V-Ray for Maya и его
интеграция в пакет является одной из самых полных. Многие функции V-Ray
реализованы в интерфейсе Maya и могут быть настроены без применения
сложных инструментов или программирования.

2.10. Система Render Setup


Пакет Autodesk Maya предлагает пользователю множество разнообразных
инст­рументов для подготовки сцены к высококачественной визуализации.
Одним из них является система подготовки сцены к визуализации, именуе-
мая как Render Setup System (рис. 2.10.1). Она пришла на смену классической
системе слоев визуализации (Render Layers), использовавшейся в Maya ранее.
Классическую систему слоев визуализации (Render Layers) вы можете активи-
ровать с помощью глобальных параметров Maya (диалоговое окно Preferences)
в группе параметров Rendering, выбрав в раскрывающемся списке Preferred Ren-
der Setup system пункт Maya Render Layers System и перезапустив программу.

Новая система подготовки сцены к визуализации предоставляет гибкий ин-


струментарий и богатую функциональность для сцен, требующих комплекс-
ного подхода к визуализации и гибкости вывода изображений в различных
форматах. С помощью данной системы вы можете создавать несколько редак-
198  Инструменты визуализации Maya

ций сцены в одном файле и выполнять визуализацию нескольких слоев, еди-


ножды запустив процесс.
Для подготовки сцены к визуализации необходимо выполнить несколько
действий:
 создавайте слои визуализации. Распределите сцену по определенным
слоям, а затем создайте для них коллекции;
 создавайте коллекции для группирования узлов, атрибуты которых вы
хотите изменить в вашей сцене. Например, создайте коллекцию окруже-
ния ваших объектов для отделения их от цифрового персонажа;
 создавайте коллекции также для управления видимостью групп объек-
тов. Вы можете активировать или деактивировать отображение коллек-
ций с узлами в сцене и текущем слое. Вы также можете использовать
данную функцию для изоляции определенных коллекций в сцене и фо-
кусировке на них в панели вида;
 участие в коллекции опирается на имя, и вы можете добавлять объекты
в вашу коллекцию данамически, с помощью выражения. Это выражение
может применяться повторно, чтобы динамически адаптироваться к из-
менениям в сцене. Это позволяет легко управлять изменениями данных
в сложных сценах;
 коллекции добавляются сверху вниз. Поэтому, если две (и более) из ва-
ших коллекций содержат объекты и одна из ваших коллекций включена,
а другие отключены, эта коллекция находятся дальше по списку вниз,
который определяет, является ли объект общим для слоя;
 субколлекции могут быть созданы автоматически, когда вы создаете
переопределение атрибута. Как альтернатива, вы можете вручную соз-
давать субколлекции для лучшей организации и управления. Субкол-
лекции позволяют выполнять перезапись вычислений, чтобы ускорить
работу только с теми узлами, к которым они относятся, обеспечивая тем
самым более точное управление, над которым объекты будут получать
переопределение, а также повышение производительности. Кроме того,
индикатор типа узла в каждой коллекции и субколлекции позволяет лег-
ко идентифицировать узлы и объекты, к которым применены переопре-
деления;
 создайте одно или несколько переопределений для каждой коллекции,
применяя не влияющие кардинально изменения к вашей сцене. Соз-
давайте абсолютные переопределения (absolute override) для установки
атрибутов в новое значение или относительное переопределения (rela-
tive override), для того чтобы преумножить исходное значение и/или до-
бавить смещение; например, повысить прозрачность шейдеров, приме-
няемых к персонажу на 10 %;
 переопределения представлены в редакторе свойств (Property Editor)
и могут быть просто активны или неактивны, позволяя эксперименти-
ровать и следить за изменениями;
 применяйте переопределения к источникам света в вашем слое. Источ-
ники света в вашем слое по умолчанию;
 вы можете импортировать или экспортировать ваши настройки систе-
мы визуализации (слои визуализации, коллекции и переопределения)
Система Render Setup  199

в виде файла в формате *.json. Создавайте и экспортируйте основные


настройки и импортируйте и используйте их повторно для создания
сцен из последовательностей;
 устанавливайте слои визуализации в качестве визуализируемых/неви-
зуализируемых в режиме пакетной визуализации (batch render).
Начать работу с Render Setup System вы можете одним из следующих спо-
собов:
 с помощью меню Windows ⇒ Rendering Editors ⇒ Render Setup;
 панель Status Line ⇒ Render Setup (иконка рядом с Hypershade).
С помощью языка MEL вы можете запустить Render Setup System благодаря
следующей команде:
renderSetupWindow;
после чего будет открыто окно рабочего пространства Render Setup (рис. 2.10.1),
в котором с левой стороны расположена панель редактора Render Setup (A),
а с правой – панель Property Editor (D). Отмечу, что вы можете самостоятельно
добавить необходимые панели, например такие, как Node Editor и Outliner, это
можно сделать благодаря новым возможностям в работе с интерфейсом про-
граммы и объединения различных панелей. Редактор Render Setup позволя-
ет вам создавать слои, коллекции и переопределения, в то время как Property
Editor позволяет вам настраивать их и определять значения для атрибутов.
В дополнение редактор Render Setup предоставляет вам доступ к Master Layer,
содержащему глобальные параметры сцены.

A B C D E

F G H I J K L

Рис. 2.10.1  Диалоговое окно Render Setup System


200  Инструменты визуализации Maya

Если вы выберите рабочее пространство Rendering – Standard или Rendering –


Expert, инструментарий Render Setup и Property Editor будут сразу доступны
вам в едином интерфейсе Maya.
Данная система подготовки сцены к визуализации и классическая система
слоев визуализации являются полностью независимыми решениями, и вы
можете работать только с одной из них в текущей сессии Maya. В дополнение
ко всему каждая сцена может использовать только одну из этих двух систем,
и они не могут быть использованы одновременно. Для переключения между
системами используйте глобальные настройки программы.
Ключевыми элементами панели инструментов Render Setup являются гло-
бальные параметры визуализации для текущий сцены (B). Они могут быть от-
редактированы в любой момент и будут содержать необходимые установки.
Для управления визуализацией слоя в режиме пакетной визуализации пред-
усмотрена специальная кнопка (C) – когда она активна, слой будет визуализи-
роваться в режиме пакетной визуализации, и наоборот.
Создав слой (F), коллекцию (G), субколлекцию (H) или переопределение
атрибута (I), все правки выполняются в панели Property Editor. Выделив кол-
лекцию или переопределение, будут отображены их свойства. Чтобы добавить
новое переопределение, вы можете просто перетащить атрибут из Attribute
Editor на стрелочку (L) в свойствах коллекции (E), в панели Property Editor.
Если переопределение не было создано, оно создастся автоматически. Также
вы можете создавать переопределения вручную, с помощью щелчка ПКМ по
атрибуту (рис. 2.10.2) выберите в раскрывающемся списке пункт Create Abso-
lute Override for Visible Layer или Create Relative Overide for Visible Layer. Первый
создает абсолютные переопределения, напрямую влияющие на атрибуты уз-
лов, второй создает релевантные переопределения, влияющие на атрибуты
с помощью приумножения значений. Но хочется обратить ваше внимание на
важный момент. Данные пункты меню будут доступны только тогда, когда вы
сделаете один из слоев в системе подготовки сцены к визуализации актив-
ным (J).

Рис. 2.10.2  Контекстное меню,


вызываемое щелчком ПКМ по атрибуту узла

Все элементы коллекции, которые вы хотите использовать в текущем слое,


будут представлены в панели свойств в поле списка (K). Добавить или удалить
их можно с помощью кнопок Add и Remove, а выделить узлы можно с помо-
щью кнопок Select и Select All.
Рабочие процессы в визуализации  201

В процессе работы рекомендуется использовать контекстное меню для создания


переопределений. Это вызвано тем, что некоторые системы визуализации могут
некорректно определять связи.

2.11. Рабочие процессы в визуализации


Процесс создания изображений и анимации с помощью 3D-графики обычно
подразделяется на несколько отдельных этапов. Каждый из них может выпол-
няться несколькими CG-художниками и техническими специалистами. Такой
подход присущ студиям, работающим над созданием анимационных филь-
мов, рекламных роликов и специальных эффектов для кино. На рис. 2.11.1 по-
казан один из возможных рабочих процессов производства CG-изображений
и анимации.

Рис. 2.11.1  Один из возможных рабочих процессов производства CG


с применением Autodesk Maya

Обычно работа начинается далеко не в пределах Maya, а раньше, когда в рас-


тровом редакторе создаются эскизы и наброски будущих 3D-моделей, созда-
ется описание различных свойств, и, если планируется создание анимации,
разрабатываются сценарий и раскадровка (storyboard).
После подготовительных этапов и начала работы 2D-художники передают
свои наброски 3D-художникам, и процесс продолжается уже в рабочем про-
странстве Maya. Однако стоит заметить, что за последние несколько лет этап
моделирования перешел во внешние редакторы, в основном подобными ре-
дакторами 3D-моделей выступают программы цифровой лепки (скульптинга),
такие как Autodesk Mudbox или ZBrush от компании Pixologic. Когда специали-
сты по моделированию создают 3D-модели, с ними продолжают работать тех-
нические специалисты по созданию снаряжения (rigging) цифровых моделей.
202  Инструменты визуализации Maya

Это необходимо тогда, когда требуется работать с анимацией модели или соз-
дать удобные манипуляторы для установки модели в определенную позицию
(например, при визуализации цифровых персонажей или неорганических мо-
делей с множеством движущихся элементов).
После этапа снаряжения (rigging) в игру вступают специалисты по анимации
(аниматоры (animation)). Основная задача аниматоров – создать реалистичные
движения трехмерной модели. В компьютерной графике анимации могут быть
подвергнуты любые объекты и параметры, что, конечно, позволяет полноценно
реализовать идеи режиссеров и сценаристов. За анимацией следует отдельный
этап по специальным эффектам и динамике. Обычно на данном этапе техни-
ческие специалисты и художники работают над имитацией сложных явлений,
таких как движение воды, анимация огня и дыма, а также производится работа
с системами частиц. В ряде случаев этапы анимации и эффектов могут пере-
плетаться друг с другом. При создании эффектов многие художники работают
с анимацией параметров для достижения желаемого результата.
После анимации и создания эффектов эстафету перенимают специалисты
по визуализации. Художники-визуализаторы обычно создают освещение
в сцене, используют камеры, различные материалы и текстурные шейдеры,
а также готовят сцену к финальной визуализации, когда после вычислений си-
стемой визуализации будет получено финальное изображение или секвенция
кадров (рис. 2.11.2).

Рис. 2.11.2  Основные этапы работы


в процессе подготовки к визуализации сцены

Стоит заметить, что на производстве современных CG-фильмов и эффектов


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

При работе с V-Ray for Maya можно выделить следующие основные этапы:
 освещение – создание и настройка источников света. Разработка «сна-
ряжения для освещения» (light rig);
 камеры – создание камер, подгонка видов, настройка специальных
шейдеров для объектов камер. Здесь стоит заметить, что камеры могут
быть созданы заранее, еще на этапе анимации;
 шейдеры – разработка материалов поверхностей, назначение текстур-
ных карт и назначение специальных шейдеров для источников света
и камер;
 текстуры – полученные после этапа моделирования и создания UV-раз­
верток данные применяются для создания растровых или процедурных
текстурных карт. С помощью текстур можно значительно повысить уро-
вень реалистичности сцены и создать имитацию множества реальных
материалов;
 визуализация проходов изображения (pass rendering) – подготов-
ка к визуализации изображения по отдельным проходам (элементам).
После процесса визуализации будут получены изображения элементов
диффузного цвета, зеркальных отражений, преломлений, бликов и др.;
 процесс визуализации – непосредственно сам процесс вычислений,
выполняемый ядром системы V-Ray.
По завершении процесса визуализации на жесткий диск будут записаны фи-
нальные изображения или секвенции кадров. Эти данные пойдут уже на этап
композитинга и постпродакшн, в процессе которых будет создан финальный
графический продукт.
Нельзя забывать о том, что процесс визуализации является завершающим
этапом в процессе работы с Maya. Помимо этого, здесь не стоит забывать, что
это один из самых продолжительных процессов в плане вычислений. Если не-
грамотно подойти к настройке визуализатора и оптимизации сцены, это мо-
жет сыграть злую шутку в самый неподходящий момент. Например, может
потребоваться несвоевременная переделка материалов и освещения и, соот-
ветственно, повторная визуализация как статичного изображения, так и всей
секвенции кадров анимации.
В процессе чтения данной книги вы узнаете о многих параметрах V-Ray и их
назначениях, что позволит лучше разобраться с оптимизацией сцены.
Глава 3
Знакомство
с V-Ray for Maya

В этой главе вас ждут:


 общие сведения о V-Ray renderer;
 реализация V-Ray for Maya;
 знакомство с основными утилитами V-Ray.
Такой редактор компьютерной графики, как Autodesk Maya, предоставляет
все необходимые инструменты для моделирования геометрии, создания сна-
ряжения (rigging), анимации, создания динамических эффектов и визуализа-
ции. Ключевым козырем любого редактора компьютерной графики является
возможность применения расширений и возможность добавлять новые функ-
ции. Это может быть достижимо как с помощью встроенного языка создания
сценариев наподобие Maya Embedded Language или Python, так и с помощью
специализированных сложных модулей расширения, разрабатываемых с по-
мощью языка C++ и инструментов разработки. Система визуализации V-Ray
не является исключением, возможности ядра доступны в различных пакетах
для 3D-моделирования и САПР.
В данной главе я рассмотрю общие установки V-Ray for Maya, конфигура-
цию ряда переменных сред (Environment Variables), конфигурацию для работы
на системах Multi-CPU и Multi-GPU, конфигурацию V-Ray при развертывании
на различных платформах (Windows, macOS, Linux), знакомство с основными
утилитами, позволяющими упростить выполнение определенных задач и оп-
тимизировать рабочий процесс.

3.1. Реализация V-Ray for Maya


Система визуализации V-Ray реализована в интерфейсе Maya за счет специ-
ального модуля расширения, получившего имя V-Ray for Maya plug-in. Его ос-
новная задача – преобразовывать данные сцены Maya в формат V-Ray и пере-
давать их ядру системы визуализации для последующих вычислений. В то же
время диалоговые окна редакторов Render View или V-Ray Frame Buffer явля-
ются буфером кадров, благодаря которому можно отслеживать ход визуализа-
ции или просматривать полученные в процессе визуализации изображения.
Реализация V-Ray for Maya  205

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

Рис. 3.1.1  Схема реализации


системы визуализации V-Ray for Maya

Если сцена большая, содержит множество объектов и различных текстур,


процесс трансляции сцены может занять определенное время. Ход процесса
трансляции сцены для визуализации с помощью V-Ray можно отслеживать
в Script Editor и Output Window.
Система визуализации V-Ray for Maya устанавливается как отдельное рас-
ширение, обычно при установке программы можно выбрать директорию уста-
новки V-Ray for Maya plug-in и его компоненты. Отмечу, что, в отличие от дру-
гих решений, V-Ray for Maya устанавливается в две независимые директории.
Первая находится в директории установки всех приложений, а другая – в ди-
ректории установки Maya.
Система визуализации V-Ray для Autodesk Maya 2018 устанавливается в спе-
циальную директорию (рис. 3.1.2), это позволяет лучше настроить путь к уста-
новке модулей расширения и организовать множество различных сценариев,
отвечающих за интеграцию V-Ray в Maya. Подробнее процесс установки V-Ray
for Maya рассматривается в приложении А.
206  Знакомство с V-Ray for Maya

Рис. 3.1.2  Директория установки V-Ray for Maya (в ОС Windows)

Модули V-Ray for Maya устанавливаются в следующие директории:


 модули расширения и наборы сценариев для Autodesk Maya:
– Linux: /usr/autodesk/Maya<version>/vray;
– macOS: /Applications/Autodesk/Maya<version>/vray;
– Windows: C:\Program Files\Autodesk\Maya<version>\vray;
 дополнительные файлы, утилиты и SDK:
– Linux: /usr/ChaosGroup/V-Ray/Maya<version>-x64;
– macOS: /Applications/ChaosGroup/V-Ray/Maya<version>;
– Windows: C:\Program Files\Chaos Group\V-Ray\Maya <version> for x64.
Во время запуска Maya приложение обращается к директориям с модулями
расширения и сценариями, а затем загружает V-Ray for Maya и все связанные
с ним сценарии. Затем загружаются установленные библиотеки шейдеров
V-Ray и версии родных шейдеров Maya, специально подготовленных для рабо-
ты с V-Ray. В диалоговом окне приложения Terminal (или Output Window в Win-
dows) можно проследить, как проходит загрузка модулей V-Ray (рис. 3.1.3).
Реализация V-Ray for Maya  207

Рис. 3.1.3  Загрузка V-Ray for Maya при запуске приложения.


Указана версия V-Ray for Maya и версия ядра V-Ray

В Script Editor следует проследить за тем, какие модули и шейдеры загруже-


ны в данном сеансе. По умолчанию загружаются следующие модули и библи-
отеки шейдеров V-Ray:
[2016/Dec/26|19:46:10] V-Ray: V-Ray for Maya version 3.40.06 from Nov 3 2016, 17:35:05
[2016/Dec/26|19:46:10] V-Ray: V-Ray core version is 3.25.01
[2016/Dec/26|19:46:10] V-Ray: Loading plugins from "…\Maya2017\vray/vrayplugins/vray_*.dll"
[2016/Dec/26|19:46:11] V-Ray: 75 plugin(s) loaded successfully
[2016/Dec/26|19:46:11] V-Ray: Finished loading plugins.
[2016/Dec/26|19:46:11] V-Ray: Registered dynamic node vrayMultiProjection (id:
1115335/0x001104C7)
[2016/Dec/26|19:46:11] V-Ray: Registered dynamic node VRayCurvature (id:
1115347/0x001104D3)
[2016/Dec/26|19:46:11] V-Ray: Registered dynamic node VRayTriplanar (id:
1115362/0x001104E2)
[2016/Dec/26|19:46:11] V-Ray: Registered dynamic node VRaySkinMtl (id: 1115348/0x001104D4)
[2016/Dec/26|19:46:11] V-Ray: Registered dynamic node VRayPointParticleMtl (id:
1115353/0x001104D9)
[2016/Dec/26|19:46:11] V-Ray: Registered dynamic node VRayStochasticFlakesMtl (id:
1115359/0x001104DF)
208  Знакомство с V-Ray for Maya

Основная задача V-Ray for Maya plug-in заключается в реализации в интер-


фейсе программы основных параметров системы визуализации, шейдеров,
специальных версий родных шейдеров Maya для V-Ray, трансляции сцены
в формат *.vrscene (V-Ray Scene) и вывода визуализируемого изображения
в буфер кадра.
Сам модуль расширения расположен в директории <>/vray/plug-ins и пред-
ставлен файлом vrayformaya.so.
После установки V-Ray for Maya необходимо проследить за загрузкой дан-
ного расширения с помощью диалогового окна Plug-in Manager (рис. 3.1.4),
доступ к которому можно получить из меню Windows ⇒ Settings/Preferences ⇒
Plug-in manager или команды на языке MEL:
PluginManager;
С помощью диалогового окна Plug-in Manager можно выбрать те модули рас-
ширений, которые вы будете использовать в работе с Maya, а те, в которых нет
необходимости, могут быть отключены.

Рис. 3.1.4  Диалоговое окно Plug-in Manager

Для выбора модуля расширения следует просто установить флажки Loaded


и Auto Load напротив его имени. Модуль расширения V-Ray for Maya plug-in
расположен в отдельном свитке с именем пути к директории, где находится
данный модуль расширения. При нажатии на кнопку с символом i откроется
диалоговое окно Plug-in information, где можно получить информацию о вер-
сии подключаемого модуля и узлах (nodes), реализованных в нем.
Бывает так, что модуль V-Ray for Maya не загружается при запуске программы.
Для его активации просто откройте диалоговое окно Plug-in Manager и проверьте,
установлены ли флажки Loaded и Auto Load. Если они сброшены, установите их
вновь.

Ключевым звеном в системе визуализации V-Ray является ее ядро. Разработ-


чики данной системы визуализации предоставляют возможность использовать
V-Ray не только в интерфейсе программы, но и в режиме командной строки.
Введение в V-Ray Standalone  209

Это позволяет выполнять оптимизацию процессов и перекладывать вычисле-


ния с одного процесса на другой, управляя при этом ресурсами системы.

3.2. Введение в V-Ray Standalone


Автономное средство визуализации V-Ray Standalone доступно в следующей
директории: …\Maya<version>\vray\bin; за запуск процесса визуализации необ-
ходимо ввести в командной строке $ vray scene.vrscene и несколько команд кон-
фигурации. Команды конфигурации в V-Ray Standalone не отличаются от тех
же команд, доступных в глобальных параметрах V-Ray for Maya или V-Ray for
3ds Max.
Автономная версия V-Ray не поддерживает визуализацию файлов в форма-
те *.ma или *.mb, для работы необходимо выполнить экспорт сцены в формат
V-Ray Scene, сохранив ее в файле с расширением *.vrscene. Это родной формат
файла, использующий спецификацию представления сцены.
Если необходимо выполнять визуализацию сцены в одном из форматов Maya,
рекомендуется использовать утилиту mayabatch, доступную в директории $MAYA_LO-
CATION/bin после установки программы.

Перед визуализацией сцены в автономной версии V-Ray используйте функ-


цию экспорта сцены в формат *.vrscene. Это можно сделать с помощью пара-
метров свитка Translator на вкладке Common диалогового окна Render Scene
(рис. 3.2.1). Данный свиток содержит группу атрибутов, позволяющих сконфи-
гурировать экспорт сцены Maya в V-Ray Scene.

Рис. 3.2.1  Свиток Translator


служит для конфигурации экспорта сцены
в формат V-Ray Scene

Атрибут Render позволяет V-Ray выполнять визуализацию изображения


и выводить его в буфер кадра и сохраняет изображение в файле, путь и имя
которого определены на вкладке Common. Данный параметр может быть ис-
пользован вместе с атрибутом Export to a .vrscene file.
Параметр Export to a .vrscene file позволяет модулю V-Ray for Maya вы-
полнять экспорт сцены Maya в файл формата V-Ray Scene (*.vrscene). Когда
данный параметр активен, становятся доступны дополнительные параметры
конфигурации экспорта.
210  Знакомство с V-Ray for Maya

File name – позволяет задать путь и имя к файлу в формате *.vrscene.


Если необходимо выполнять экспорт сцены по отельным компонентам, та-
ким как геометрия, источники света, шейдеры и текстурные карты, растровые
текстурные карты и т. п., то для этого нужно использовать атрибут Separate
files. Таким образом, при экспорте сцены будут созданы отдельные файлы,
содержащие основные элементы сцены, которыми можно оперировать в про-
цессе визуализации с помощью автономной версии V-Ray. Когда данный пара-
метр активен, становятся доступны дополнительные настройки, отражающие
основные элементы сцены. Вы можете выбрать, какие типы элементов сцены
будут экспортированы в файл формата V-Ray Scene.
Атрибут Each frame in separate file позволяет модулю V-Ray for Maya вы-
полнять экспорт каждого кадра анимации в отдельный файл. Так, если ани-
мация в сцене составляет пять кадров, то при экспорте сцены в формат V-Ray
Scene каждый кадр будет представлен индивидуальным файлов, а секвенция –
пятью отдельными файлами с номерами кадров.
Для того чтобы в последствии переопределить пути к файлам растровых
текстур, прокси-геометрии, кешу GI и т. п., их необходимо убрать при экс-
порте сцены. Для этого используется атрибут Strip paths, с помощью которого
будут удалены пути к файлам элементов сцены, но сами имена файлов будут
сохранены. Рассмотрим небольшой пример блока определения текстурной
карты в формате *.vrscene.
BitmapBuffer bitmapBuffer_0_gsRGB {
filter_type=1;
filter_blur=1;
color_space=2;
gamma=1;
maya_compatible=1;
allow_negative_colors=1;
file="$PROJECTS/Maya/Railroad/sourceimages/texture_projection_map_gradient2.jpg";
load_file=1;
}
В этом листинге блока определения растровой текстурной карты приведен
пример записи пути к файлу texture_projection_map_gradient2.jpg. Как можно
заметить, путь к файлу является абсолютным и определяет все директории,
ведущие к нему.
BitmapBuffer bitmapBuffer_0_gsRGB {
filter_type=1;
filter_blur=1;
color_space=2;
gamma=1;
maya_compatible=1;
allow_negative_colors=1;
file="texture_projection_map_gradient2.jpg";
load_file=1;
}
В данном листинге блока определения текстурной карты приведен пример
записи пути, когда активен атрибут Strip paths. Как можно заметить, в дан-
Введение в V-Ray Standalone  211

ном примере не определен полный путь к файлу текстурной карты, а задано


только имя.
Когда используется атрибут Write mesh data in hex format, в файл
*.vrscene данные о геометрии будут записаны в шестнадцатеричном форма-
те. Это делает файлы сцен меньше объемом и улучшает процесс обработки
данных, но они менее читабельны для пользователя. Когда данный пара-
метр неактивен, данные о геометрии будут записаны в нормальном десяте-
ричном формате.
// Запись данных о геометрии в шестнадцатеричном формате.
vertices=ListVectorHex("ZIPC600000003B000000eAFLm8B14P9/+QPMDAUHMqBsRoYCh/
QJXQ4gcQYgSIOIOyCpcUBS4wBSAwELDsBYDAwLHEBsAIkzID0=");
// Запись данных о геометрии в десятеричном формате.
vertices=ListVector(
Vector(-2.165063, -2.5, -3.750001),
Vector(-2.165064, -2.5, 3.75),
Vector(4.330127, -2.5, 0),
Vector(-2.165063, 2.5, -3.750001),
Vector(-2.165064, 2.5, 3.75),
Vector(4.330127, 2.5, 0),
Vector(0, -5, 0),
Vector(0, 5, 0)
);
Аналогично Write mesh data in hex format атрибут Write transform data in
hex format выполняет такую же функцию, но записывает в шестнадцатерич-
ный формат данные о трансформации. Если же данный параметр неактивен,
данные о трансформации будут записаны в десятеричном формате.
// Запись данных о трансформации в шестнадцатеричном формате.
Node pSphereShape1@node {
transform=TransformHex("0000803F0000000000000000000000000000803F00000000000000000000000000
00803F00000000000000000000000000000000000000000000000000000000");
}
// Запись данных о трансформации в десятеричном формате.
Node pSphereShape1@node {
transform=Transform(Matrix(Vector(1, 0, 0), Vector(0, 1, 0), Vector(0, 0, 1)),
Vector(0, 0, 0));
}
Атрибут Compressed позволяет активировать компрессию, применяемую
к файлу *.vrscene. Он может быть использован только совместно с атрибутом
Write mesh data in hex format.
Текстовое поле Plugin Names Prefix позволяет задать префикс для имен
расширений.
Применение автономной версии V-Ray Standalone (рис. 3.2.2) целесообразно
в таких задачах, как распределенная визуализация по сети (Distributed Network
Rendering), визуализация анимации по сети (Frame by frame network rendering),
212  Знакомство с V-Ray for Maya

разработка и тестирование шейдеров и расширений для системы визуализа-


ции, проработка индивидуальных элементов сцены.

Рис. 3.2.2  Автономная версия V-Ray Standalone,


запущенная в терминальном режиме

В процессе работы с V-Ray Standalone можно использовать и специальную


версию V-Ray for Blender; таким образом, вы можете подготавливать сцену как
в Maya, так и в Blender, а затем выполнять визуализацию силами ядра V-Ray
Standalone. Также стоит помнить о важной возможности любого автономного
средства визуализации – открытом формате данных. Так, вы можете собствен-
норучно редактировать файлы в формате V-Ray Scene и обрабатывать их так,
как вам необходимо, а по возможности добавлять объекты в новые сцены или
импортировать в качестве объектов V-Ray Proxy.

3.3. Специальные автономные утилиты V-Ray


Любая автономная система визуализации поставляется со специализирован-
ными инструментами в виде отдельных небольших автономных приложений,
выполняющих определенные функции. Так как V-Ray в первую очередь явля-
ется автономным средством визуализации, в поставку включен ряд полезных
автономных утилит, позволяющих выполнять определенные узкоспециали-
Специальные автономные утилиты V-Ray  213

зированные задачи как в процессе визуализации, так и после ее окончания.


В последующих главах мы будем обращаться к данным утилитам для демон-
страции определенных возможностей и функций.
Все автономные утилиты V-Ray доступны в следующих директориях:
 Linux: /usr/ChaosGroup/V-Ray/Maya<version>\bin;
 macOS: /Applications/ChaosGroup/V-Ray/Maya<version>\bin;
 Windows: C:\Program Files\Chaos Group\V-Ray\Maya <version>\bin.
Все утилиты представлены простыми исполняемыми файлами. Большин-
ство из представленных утилит, доступны в виде приложений с графическим
интерфейсом, а некоторые доступны в виде приложений командной строки.
Для того чтобы было легче разобраться с представленными утилитами, вы мо-
жете использовать табл. 3.1.

Таблица 3.1. Специальные автономные утилиты V-Ray


Утилита Исполняемый Описание
файл
Standalone vdenoise Утилита для устранения шума с изображений,
Denoise Tool полученных с помощью алгоритмов прогрессивной
визуализации
V-Ray Image vrimg2exr Утилита для преобразования файлов *.vrimg в файлы
to EXR Converter OpenEXR (*.exr). Применяется для преобразования
изображений, содержащих множество проходов
и данных, получаемых в процессе визуализации
Irradiance Map imapviewer Утилита для просмотра и оценки карты освещенности,
Viewer создаваемой в процессе визуализации глобального
освещения с помощью метода Irradiance Map
Lens Analysis Tool lens_analyzer Это основной инструмент V-Ray для создания,
предварительного просмотра и редактирования
файлов V-Ray lens (*.vrlens), содержащих анализ
искажений объектива камеры и инструменты
для коррекции/искажения изображений
Lens Effects Filter filter_generator Простая утилита для создания фильтров эффекта
Generator линз, выполняющая сохранение эффектов в виде
HDR изображений (*.hdr)
Convert Images img2tiledexr Данная утилита может быть использована
to Tiled EXRs для преобразования различных файлов изображений
EXR в изображения с плиточной компоновкой
со множеством разрешений (tiled multiresolution
.exr files)
Convert Poly ply2vrmesh Утилита, работающая в режиме командной строки,
to V-Ray Proxy которая может быть использована для преобразо-
вания файлов *.ply, *.obj, *.geo, *.bgeo, *.hclassic,
*.bhclassic, *.bin и *.abc в файлы *.vrmesh
для визуализации с помощью объектов V-RayProxy
V-Ray Mesh vrmesh_viewer Утилита для просмотра файлов V-Ray Mesh,
Viewer экспортируемых из сцены 3ds Мax, Maya и др. пакетов
214  Знакомство с V-Ray for Maya

Утилита V-Ray Denoiser


С развитием алгоритмов прогрессивной визуализации изображений (progres-
sive rendering) возникла необходимость сокращения времени визуализации
сцены, но в то же время получения качественного и чистого изображения, так
как чистота изображения, получаемого алгоритмами прогрессивной визуали-
зации, зависит от времени визуализации и от количества повторов (итераций).
Чем больше повторов необходимо выполнить, тем больше времени требуется
на вычисления. Это недопустимо в жестких временных рамках производства,
когда необходимо заказчику предоставить хорошее изображение или секвен-
цию кадров за короткое время.
Разработчики системы визуализации V-Ray предоставляют возможности
для уменьшения времени визуализации с помощью Prograssive Sampler и для
получения избавленного от шума изображения. Для этого была разработана
утилита V-Ray Denoiser, выполняющая очистку шума в изображении.
Утилита проста в использовании, она работает в терминальном режиме
(командной строки) и позволяет задать файл или секвенцию файлов изобра-
жений, которые необходимо очистить от шума, и применить соответствую-
щие параметры. Помимо вычислений на CPU, вы можете использовать воз-
можности GPU (графические процессоры) для ускорения процесса удаления
шума.
Процесс работы с утилитой V-Ray Denoiser выглядит следующим обра-
зом. Для того чтобы выполнить очистку изображения, вы должны создать
специаль­ный элемент V-Ray Denoiser Render Pass. Данные, сохраняемые с по-
мощью данного элемента, используются утилитой для определения областей
изображения, к которым необходимо применять операции по устранению
шума (рис. 3.3.1).

Рис. 3.3.1  Элемент V-Ray Denoiser в диалоговом окне Render Settings


и результат визуализации в V-Ray Frame Buffer
Специальные автономные утилиты V-Ray  215

Когда утилита определит элемент V-Ray Denoiser, опираясь на данные, со-


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

Рис. 3.3.2  Пример процесса устранения шума из изображения


с помощью утилиты V-Ray Denoiser

В приведенном на рис. 3.3.2 примере показан процесс удаления шума из


изображения, выполняемый с помощью следующей команды, заданной в тер-
минале:
$ vdenoise -inputFile="path/to/image.ext" -display=1 -useGpu=2
Вначале всегда определяется путь к файлу изображения, которое должно
быть подвергнуто обработке, затем, задается опция отображения буфера ка-
дра с изображением, которое будет преобразовано, а для увеличения произ-
водительности с помощью соответствующей команды активируется режим
с применением графического ускорителя.
Аналогичным путем выполняется устранение шума в секвенциях кадров
анимации. Но запись команд будет представлена так:
$ vdenoise -inputFile="path/to/sequence_####.ext" -display=1 -useGpu=2
Здесь символ решетки (#) заменяет цифры в именах файлов.
Утилита V-Ray Denoiser позволяет быстро выполнить очистку изображений
от шумов и получить приемлемый результат с минимизацией времени визу-
ализации сцены. Она проста в использовании, а всю необходимую информа-
цию вы можете получить с помощью ключа --help.
Подробное руководство по устранению шума с изображений с помощью V-Ray
Denoiser Element и V-Ray Denoiser Tool вы можете получить в разделе дополни-
тельных документов в прилагаемом к книге сопроводительном материале.
216  Знакомство с V-Ray for Maya

Утилита VRImage to EXR converter


Наиболее оптимальным форматом вывода изображений с помощью системы
визуализации V-Ray является формат V-Ray Image (*.vrimage). Он позволяет со-
хранять как данные об основном элементе изображения (beauty pass), так и все
основные элементы, которые формируются в процессе визуализации (Render
Channels/Render Elements).

Рис. 3.3.3  Утилита VRImage to EXR converter


и диалоговое окно Information с информацией о файле изображения

Для преобразования файлов V-Ray Image в файлы формата OpenEXR пре-


доставляется специальная утилита VRImage to EXR converter, позволяющая
быст­ро выполнить преобразование из одного формата изображения в другой.
Утилита проста в использовании, она может быть использована как в каче-
стве автономного приложения с интерфейсом, так и в качестве приложения
командной строки.
Основные операции, которые вам необходимо выполнять, заключаются
в определении файлов *.vrimg и настройки преобразования в файлы формата
*.exr. Ключевые параметры формата OpenEXR мы подробно рассмотрели в раз-
деле 2.3 главы 2 данной книги, а в главе 7 дано подробное описание формата
в целом. Но утилита предоставляет несколько дополнительных параметров,
позволяющих лучше оперировать такими данными, как элементы изображе-
ния, которые могут потребоваться в этапах последующей постобработки.
Помимо этого, вы можете использовать возможности командной строки
(приложения эмулятора терминала) для упрощения работы с утилитой или для
Специальные автономные утилиты V-Ray  217

применения определенных функций, не доступных в интерфейсе программы.


Таблица 3.2 представляет все основные параметры утилиты и их описание.

Таблица 3.2. Основные параметры утилиты VRImage to EXR converter


Параметр Эквивалент в GUI Описание
-info Кнопка Info Выводит информацию о файле *.vrimg (разрешении,
каналах и т. п.). Поддерживаются только файлы *.vrimg,
созданные с V-Ray версии 1.48.xx и выше
-half Список Pixel type Сохраняет данные с плавающей запятой в файле EXR
в виде значений 16-bit floating point. Если данная
опция не задана (выключено), данные будут сохранены
в виде значений 32-bit floating point
-sRGB – Преобразует данные RGB из файла *.vrimg в цветовое
пространство sRGB перед записью файла *.exr.
Без данного параметра конверсия цветов выполняться
не будет
-gamma <gamma_ – Применяет заданное значение gamma к цветам RGB
value> перед записью файла EXR. Если данный параметр
не задан, данные будут сохранены в линейном
цветовом пространстве
-channel <name> Список Available Будет выполняться только чтение заданных каналов
channels (channels), сохраненных в файле *.vrimg, и запись их
в качестве RGB-канала в выводимом файле. Никакие
другие каналы не будут записаны в EXR-файл.
Данный параметр может быть использован
для создания отдельных файлов изображений.
Используйте параметр –info для отображения списка
доступных в фале каналов
-compression Список Позволяет задать тип компрессии в сохраняемом файле
<method> Compression type EXR. Если данный параметр не задан явно, будет
использоваться компрессия ZIP. На данный момент
поддерживаются следующие методы: none, zips, zip,
piz, pxr24, B44, B44A, DWAA, DWAB
-bufsize <buf_ Счетчик Buffer Максимальный размер буфера для каждого канала
size> size (в мегабайтах) который будет использован для преоб-
разования. Если изображение не вписывается в размер
буфера, конвертер будет обрабатывать его в несколько
проходов. Больший размер буфера способствует
большей скорости преобразования, но требуется
заметно больше памяти. По умолчанию используется
10 Mб на канал, но большее значение, т. е. 100 и более,
рекомендуется для больших изображений. Значение 0
убирает ограничение буфера. В таком случае изобра-
жение будет загружено в один проход, используя весь
доступный объем памяти
-dataWindow Флажок Data Стремится найти прямоугольник на изображении,
window который хранит ненулевые данные (основываясь на
альфа-канале) и сохраняет в EXR-файл только данные
в этом прямоугольнике
-separateFiles Флажок Channels Каждый Render Chanel/Render Element записывается
in separate files в отдельный EXRф-айл. Если данный параметр
не задан, будет создан один многоканальный EXR-файл
218  Знакомство с V-Ray for Maya

Таблица 3.2 (окончание)


Параметр Эквивалент в GUI Описание
-multiPart Multipart output Каждый Render Channel будет записан в качестве
отдельной части внутри одного EXR файла.
Это позволяет приложениям загружать каждый элемент
визуализированного изображения по отдельности,
что может повысить скорость работы с изображениями,
содержащими множество каналов
-longChanNames – Используйте данный параметр для применения имен
с более чем 31 символ. В результате будет получен
EXR-файл, который может быть несовместим
с приложениями, использующими библиотеку OpenEXR
версии ниже 1.7
-help – Выводит справочную информацию обо всех возможных
параметрах командной строки

На практике применять утилиту VRImage to EXR converter достаточно про-


сто. Если вы предпочитаете графические интерфейсы, то утилиту можно за-
пустить в качестве автономного приложения, а если предпочитаете исполь-
зовать терминал или командную строку, то можно использовать следующие
команды:
# Для конвертации одного изображения
$ vrimg2exr <vrimg _file> <exr_file> [options]
# Для конвертации секвенции изображений
$ vrimg2exr <vrimg_wildcard> [options]
В случае преобразования секвенции изображений <vrimg_wildcard> может со-
держать групповые символы * и ?, файлы *.vrimg будут автоматически преоб-
разованы в файлы в формате EXR.
Используйте в комбинации обе утилиты V-Ray Denoiser и VRImage to EXR
converter при работе с изображениями в формате *.vrimg, полученными в про-
цессе визуализации с применением Progressive rendering mode.

Утилита Irradiance Map Viewer


Утилита Irradiance Map viewer (рис. 3.3.4) позволяет просматривать и переме-
щаться вокруг спроецированной алгоритмом GI версии сцены, чтобы увидеть
в какой области были взяты образцы GI в процессе визуализации. Но помните,
что программа просмотра – это автономное приложение, и для запуска не тре-
бует хост-приложения для V-Ray (такого как 3ds Max, Maya и т. п.).
Утилита достаточно проста в использовании, ее можно запустить в качестве
автономного приложения с помощью стандартного метода запуска приложе-
ний операционной системы или с помощью командной строки.
В режиме графического интерфейса вы можете выполнять навигацию по
сцене с данными Irradiance Map, выбирать тип ядра визуализации данных
(программный или OpenGL), выделять и получать информацию об образцах
IM.
Специальные автономные утилиты V-Ray  219

Рис. 3.3.4  Утилита Irradiance Map Viewer и параметры GI


в диалоговом окне Render Settings

С помощью Irradiance Map Viewer также можно объединять несколько фай-


лов Irradiance Map. В режиме работы с приложением с помощью интерфейса
вы можете использовать команду меню File ⇒ Add, при работе с приложением
в терминальном режиме (командной строки) можно использовать следующую
команду:
$ imapviewer -load <map1> -load <map2> ... [-save<finalmap>] [-nodisplay]
Данная команда загрузит заданные файлы карт глобального освещения
и объединит их в одну карту Irradiance Map; если определен параметр сохране-
ния файла, полученный результат будет записан в указанный командой файл.
Если используется команда --nodisplay, результирующая карта не будет ото-
бражаться (в противном случае Irradiance Map Viewer будет отображать карту,
сформированную в процессе объединения).

Утилита Lens Analysis Tool


Утилита анализа объективов является ключевым инструментом V-Ray, помо-
гающим создавать, представлять и редактировать файлы V-Ray Lens (*.vrlens),
и сохраняет данные, полученные с помощью анализатора искажений объек-
тивом камеры. Она предоставляет инструментарий для коррекции/искаже-
ния изображений. Полученные с помощью Lens Analysis Tool (рис. 3.3.5) файлы
в формате *.vrlens могут быть использованы в 3ds Max, Maya и других приложе-
ниях для реализации реалистичных (измеренных) искажений, формируемых
камерой и объективами (в отличие от простых режимов дисторсии quadratic
и cubic). Файлы V-Ray Lens также поддерживают объективы с переменным
фокусным расстоянием и параметры искажений связанные с фокусным рас-
стоянием (focal length) в V-Ray Physical Camera. Так как плоскость фокусного
220  Знакомство с V-Ray for Maya

расстояния объектива и камеры изменяется, становясь то ближе, то дальше,


параметры будут автоматически связаны. Это необходимо для моделирова-
ния очень реалистичных искажений изображения объективом камеры.

Рис. 3.3.5  Основное окно утилиты V-Ray Lens Analysis Tool

Утилита предоставляет два пути для создания файлов V-Ray Lens. Первый
основан на применении калибровочной сетки с камерой, данные которой вы
хотите измерить. Второй путь опирается на применение фотографий и руч-
ном анализе.

Рис. 3.3.6  Пример файла с калибровочной сеткой


и диалоговое окно для самостоятельного анализа

Файл, создаваемый с помощью утилиты анализа объективов и камеры и на-


бора калибровочных сеток, снятых камерой через объектив, который вы хоти-
те измерить, также может быть создан из случайных фотографий с использо-
ванием ручного анализа. В основном процесс для создания файла *.vrlens для
камеры и объектива выглядит следующим образом:
Специальные автономные утилиты V-Ray  221

 файл с калибровочной сеткой создается с помощью утилиты; используя


меню Analysis ⇒ Print Test Chart…, утилита создаст файл в стандартном
для принтеров формате PostScript (PS). Данный файл можно преобра-
зовать в формат PDF с помощью утилиты ps2pdf (если применимо) или
с помощью специального онлайн-сервиса, доступного по адресу http://
www.ps2pdf.com/;
 калибровочная сетка печатается на бумаге, затем фотографируется с по-
мощью камеры, для которой необходимо выполнить анализ;
 файлы изображений с камеры копируются на компьютер, на котором
производится их обработка с помощью утилиты анализа объективов
и камер. Сначала фотографии добавляются (с помощью кнопки Add
photos…) в профиль объектива, а затем анализируются (путем нажатия
кнопки Analyze…);
 проанализированный профиль объектива и камеры может быть сохра-
нен с помощью меню Profile ⇒ Save Profile на жестком диске компью­
тера.
В качестве альтернативы вы можете использовать произвольные фотогра-
фии и ручной анализ для создания профиля объектива:
 используя кнопку Add photos…, добавьте изображения, которые вы хо-
тите проанализировать;
 выбрав в списке желаемое изображение, щелкните по кнопке Analyze
manually – откроется диалоговое окно Manual Analysis (рис. 3.3.6), в ко-
тором будет отображено выделенное изображение;
 в данном диалоговом окне вы можете рисовать линии вдоль краев на
фотографии, которые должны быть выровнены. Используя режим Selec-
tor, нажмите и перетащите направляющую вдоль нескольких вертикаль-
ных и горизонтальных краев на фотографии. Утилита будет пытаться
следовать определенным с помощью направляющих краев. Используйте
режим Eraser для стирания частей края, которые могут быть неправиль-
но проанализированы. Используйте Ctrl+Z, чтобы отменить выполнен-
ные вами операции;
 после того как вы закончите, щелкните по кнопке Analyze;
 полученные данные могут быть сохранены в качестве профиля объекти-
ва и камеры с помощью меню Profile ⇒ Save Profile.
Полученный в процессе анализа профиль и файл *.vrlens вы можете исполь-
зовать совместно с камерой V-Ray Physical Camera в таких приложениях, как
Maya, 3ds Max и других, поддерживающих V-Ray.
Если же необходимо создать карту искажений на основе UV-градиента, вы-
полните следующие действия:
 проанализируйте несколько изображений с помощью применения ка-
либровочной сетки или с использованием ручного анализа нескольких
фотографий, как было описано выше;
 выберите в меню Correction ⇒ Correct/Distort images…;
 добавьте файлы (т. е. одну из оригинальных фотографий), используя
кнопку Add photos;
 с помощью поля Output directory укажите директорию, в которую будут
сохранены результирующие изображения;
222  Знакомство с V-Ray for Maya

 перейдите на вкладку Options и активируйте параметр Generate only


distortion map;
 щелкните по кнопке Preview для проверки того, какое изображение бу-
дет создано;
 выберите необходимый формат файла (рекомендуется полноценный
файл OpenEXR в формате 32-bit floating point);
 щелкните по кнопке Process.
Получаемый в итоге UV-градиент карты оптических искажений объектива
(рис. 3.3.7) может быть использован в пакетах NUKE или совместно с Physical
Camera в Maya и выше, а также с V-Ray Physical Camera, если выбран тип кор-
рекции Texture.

Рис. 3.3.7  Пример карты UV-градиента,


используемой для коррекции искажений объектива

Печать и съемка калибровочной сетки


С помощью меню Analysis ⇒ Print Test Chart… вызывается диалоговое окно Print
Calibration Grid (рис. 3.3.8), вы можете выбрать соотношение сторон изобра­
жения (Image Aspect Ratio) и тип камеры (точнее, формат сенсора изображения
или створки затвора). Используемое правильное соотношение выгодно для
аккуратности используемого метода. Нажатие кнопки View… откроет создан-
ный PostScript-файл в выбранном для просмотра данного формата редакторе.
Вы также можете сохранить изображение калибровочной сетки с помощью
функции Save. Сетка должна быть отпечатана на чистом листе бумаги, а линии
сетки должны быть цельными и лишены искажений. На рис. 3.3.6 приведен
пример изображения калибровочной сетки.
Специальные автономные утилиты V-Ray  223

Рис. 3.3.8  Диалоговое окно Print Calibration Grid,


позволяющее выбрать соотношение сторон

Напечатанная калибровочная сетка должна быть помещена на плоскую по-


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

Рис. 3.3.9  Калибровочная сетка, размещенная на вертикальной поверхно-


сти, и камера с объективом с переменным фокусным расстоянием, помещен-
ная перед калибровочной сеткой (A). Пример видимости калибровочной сетки
в видоискателе фотокамеры (B)

В идеале четыре L-образных угла должны соответствовать углам фотогра-


фии, но не повредит, если они этому правилу не следуют, – хорошо, когда вся
сетка присутствует и она не приближается слишком близко (например, к не-
скольким пикселям) к краю изображения. Центр изображения должен быть
черной точкой в середине сетки (программное обеспечение является придир-
чивым к этому, что смещения в 1,5 прямоугольника достаточно, чтобы ваше
изображение было отклонено). Уделяйте большое внимание размещению ка-
меры – она должна находиться непосредственно перед калибровочной сеткой
и указывать направление, строго перпендикулярное листу. Даже небольшое
смещение приведет к искажению перспективы, что значительно снижает точ-
224  Знакомство с V-Ray for Maya

ность анализа. Есть несколько моментов, на которые вы также должны обра-


тить внимание:
 должно быть обеспечено достаточное освещение, чтобы получить быст­
рую экспозицию при использовании подходящих настроек ISO (чтобы
исключить возможность размытости изображения или чрезмерного
уровня шума). Также должна быть обеспечена правильная фокусировка.
Нечеткие изображения с трудом поддаются анализу;
 разрешение изображения: достаточно изображения в два мегапикселя.
Утилита поддерживает более крупные изображения, но они не обеспе-
чивают лучшую точность;
 не используйте формат Camera RAW – утилита принимает изображения
в форматах, поддерживаемых V-Ray, что исключает все форматы RAW-
изображений. Изображений в формате JPEG достаточно для целей ана-
лиза. Вы можете настроить камеру для съемки в формат JPG и выбрать
соответствующее разрешение изображения, удовлетворяющее описы-
ваемым требованиям.

Объективы с фиксированным и переменным


фокусным расстоянием
Для объектива с фиксированным фокусным расстоянием вам понадобится
только одна фотография калибровочной сетки. Для объективов с переменным
фокусным расстоянием потребуется несколько фотографий с различным при-
ближением, чтобы создать полный профиль объектива (V-Ray будет интерпо-
лировать параметры искажения во время визуализации, поэтому достаточно
нескольких фотографий). Это означает, что вам нужно несколько раз изменять
фокусное расстояние объектива и положение камеры и делать снимок с каж-
дым фокусным расстоянием. Эти калибровочные фотографии должны охва-
тывать весь диапазон объектива. Количество калибровочных фотографий,
необходимых для точного профиля, изменчиво и зависит от типа объектива
и ваших потребностей. Простое правило, которое может оказаться полез-
ным, – рассмотреть коэффициент масштабирования объектива и использо-
вать одинаковую величину (округленное до целого) калибровочных фокусных
расстояний. Например, чтобы создать профиль объектива с фокусным рассто-
янием 28–135 mm с коэффициентом масштабирования около 5 (135/28 ≈ 4.82
≈ 5), вам нужно пять фотографий, расположенных равномерно в диапазоне
28–135 mm (рис. 3.3.10). На более широкоугольных объективах, где искаже-
ние обычно более заметно в широком конце диапазона фокусного расстоя-
ния (и параметры там меняются быстрее), имеет смысл сосредоточить больше
фотографий в широком фокусном расстоянии. Например, для покрытия объ-
ектива в 18–55 mm примерная последовательность калибровки может быть
18 mm, 24 mm, 30 mm, 40 mm, 55 mm.
Специальные автономные утилиты V-Ray  225

Рис. 3.3.10  Пример анализа пяти фотоснимков


для объектива Canon EF 24-105 f/4L USM

В процессе работы я пришел к хорошему заключению, что создание про-


филей объективов и камер является утомительной работой, но вы можете ис-
пользовать приведенные ниже рекомендации по подготовке профилей линз:
1) важно использовать штатив в процессе съемки. Это устранит множество
факторов, которые могут испортить изображение до такой степени, что
они не смогут быть приняты утилитой анализа объективов;
2) сделайте несколько фотографий на каждой величине фокусного рассто-
яния, чтобы избежать избыточности. Утилита позже назначит величину
для каждого снимка, так что вы можете легко выбрать, какие изображе-
ния сохранить или удалить;
3) утилита может не принять фотографию по многим причинам, но ос-
новными из них являются искажения перспективы. Это означает, что
во время съемки камера не находилась напрямую перед центром кали-
бровочной сетки. В этом случае вы должны заново сделать фотографию
с точным позиционированием центра;
4) помните, что видоискатель камеры не всегда охватывает 100 % обла-
сти кадра, невидимые в видоискатель области все равно будут вклю-
чены в итоговый снимок. Так, у ряда камер видоискатель охватывает
96 % всего изображения, и те недостающие 4 % хоть и будут сохранены
в изображении, они не попадают в видоискатель камеры. Таким обра-
зом, если вы нацелитесь на использование охвата в 100 %, позднее вы
можете узнать­, что осталось слишком большое поле вокруг сетки;
5) если в вашем видоискателе есть «центральная» точка фокусировки или
метка, помните, что она может не совпадать с настоящим центром изо-
бражения. Вы можете определить корректное смещение, немного поэк-
спериментировав;
6) избегайте использования прямой (без отражения) вспышки. Это приво-
дит к передержке некоторых частей изображения, поэтому некоторые
линии сетки могут быть засвечены до яркого белого цвета;
226  Знакомство с V-Ray for Maya

7) е
 сли вам действительно нужно, чтобы изображения были приняты, вы
можете настроить пороговые значения ошибок с помощью инструмен-
та, доступного в меню Analysis ⇒ Error Thresholds…. Это сложное реше-
ние является последним, доступным в арсенале утилиты – не используй-
те его, если это возможно.

Выполнение анализа фотографий с калибровочной сеткой


Фотографии из камеры загружаются на персональный компьютер и обраба-
тываются с помощью утилиты анализа объективов и камеры. Щелкните по
кнопке Add Photos… и импортируйте фотографии калибровочных сеток. За-
тем щелкните по кнопке Analyze…. Изображения будут обработаны, а утилита
выведет статистическую информацию о файлах, для которых был выполнен
анализ. Если произошла ошибка в процессе анализа и оценки качества (таких
как «perfect», «very good» и т. п.), будет выведено сообщение о ней, основанное
на следующих последовательных критериях производительности:
 межцентровом расстоянии: определяет расстояние между истинным
центром изображения и центральной точкой сетки на фотографии.
Меньше 70 % размера ячейки будет утверждено;
 искажении перспективы: измеряет, насколько сильно сетка выходит
за пределы идеального прямоугольника. Выход деформации более чем
в 2 % считается недопустимым;
 центральныи угле: является измерением угла между ближайшими
к центру сетки ортогональными линиями. Если он выходит за 0.5° от
прямого угла, изображение будет отклонено;
 неправильном выравнивании сетки: вращение сетки относительно
изображения. Если оно меньше 10°, изображение пригодно для анализа.
Для объективов с переменным фокусным расстоянием, если программа не сможет
получить данные о фокусном расстоянии, она может попросить вас указать фо-
кусные расстояния, при которых сделаны фотоснимки. В этом случае вам нужно
указать правильное фокусное расстояние, при котором был сделан снимок, для
каждой фотографии, иначе профиль будет некорректным. Для того чтобы узнать,
на каком фокусном расстоянии был выполнен снимок, используйте поставляемое
с вашей фотокамерой приложение для просмотра снимков или специализиро-
ванные редакторы наподобие Adobe Photoshop Lightroom, RawTherapee и т. п.
Обычно информация о фокусном расстоянии записывается в метаданные снимка.

Если утилита отклоняет фотографию по какой-либо причине, отличной от


этих четырех критериев, может оказаться полезным включить предваритель-
ный просмотр этапа обнаружения, выбрав в меню Analysis ⇒ Show Detection
Details, и повторить анализ (рис. 3.3.11). Предварительный просмотр может
дать вам подсказку, почему обнаружение затрудняет поиск изображения. По-
сле фазы анализа в таблицу, описывающую профиль, заносятся обнаруженные
параметры искажения всех успешно проанализированных фотографий.
Специальные автономные утилиты V-Ray  227

Рис. 3.3.11  Диалоговое окно, показывающее результат анализа.


Слева – ошибка, анализ не выполнен, справа – анализ выполнен корректно

Если вы следовали советам, чтобы сделать несколько дополнительных фотогра-


фий для каждого фокусного расстояния, теперь вы можете подготовить профиль
либо вручную, удалив лишние фотографии, как оценивает анализатор, либо с по-
мощью автоматического инструмента слияния, доступного в меню Analysis ⇒
Consolidate Profile. Функция консолидации профиля не просто удаляет избыточ-
ные фотографии – она усредняет параметры любых калибровочных фотографий
с одинаковым фокусным расстоянием, поэтому профиль теоретически будет оп-
тимальным. В любом случае конечный профиль должен иметь только один набор
параметров для каждого фокусного расстояния. Таблица содержит следующие
поля:
• Calibration photo: определяет путь к анализируемому файлу изображения. Он
служит только для вашего удобства. Профиль работает, если файл будет удален
(или если профиль будет перенесен на другую рабочую станцию);
• Focal length: определяет фокусное расстояние в фотографии. Зависит от типа
объектива, этот параметр может быть важен или нет;
• K0: данный параметр управляет масштабированием изображения. В большин-
стве случаев должен быть равен 1;
• Prime Lenses: обычно объективы с фиксированным фокусным расстоянием име-
ют одну запись в таблице, это не важно, так как поле фокусного расстояния
будет зафиксировано, а профиль будет действовать в любом случае;
• Zoom Lenses: важно знать фокусное расстояние для каждого набора параме-
тров искажения (т. е. для каждой записи в таблице). Здесь вам нужно принять
последовательную «структуру фокусного расстояния», потому что есть несколь-
ко несовместимых вариантов:
o эквивалентную фокусному расстоянию 35 mm, в то время как любое ре-
альное (оптическое) фокусное расстояние преобразуется в эквивалентное
фокусное расстояние на 35-миллиметровой пленке (или полнокадровой ма-
трице цифровой зеркальной камеры). Например, на камере с сенсором типа
Canon APS-C (где диагональ матрицы в 1.6 раза меньше диагонали сенсо-
ра Full-Frame (35 mm)), коэффициент обрезки составляет 1.6x, а объектив
50 mm, установленный на камере с матрицей APS-C, ведет себя как объектив
80 mm на корпусе камеры с Full-Frame сенсором (80 = 50 × 1.6). Эта струк-
тура хорошо работает с V-Ray Physical Camera, так как она также имитирует
камеру с Full-Frame сенсором;
228  Знакомство с V-Ray for Maya

o фактическая (оптическая) структура фокусного расстояния, при которой ум-


ножение фактора обрезки не выполняется. Все записанные фокусные рас-
стояния соответствуют прямым настройкам объектива. В этом режиме может
быть полезно изменить настройки Physical Camera до значений по умолча-
нию, чтобы отражать точные свойства вашей камеры (например, чтобы иметь
возможность получить одинаковое поле зрения и т. д.). Программа Lens Anal-
ysis Utility предпочитает первую систему и пытается рассчитать эквивалент-
ное 35 mm фокусное расстояние для фотографий из метаданных EXIF, со-
держащихся в изображениях. Если этих данных нет, но вместо них доступна
информация об оптическом фокусном расстоянии, утилита объектива будет
использовать эти данные после предупреждения об этом;
• K1: представляет симметричный (радиальный) коэффициент искажения перво-
го порядка и является основным индикатором типа искажения (он также бу-
дет самым переменчивым параметром во всем диапазоне масштабирования).
Обычно это около 0 с положительными значениями, указывающими на иска-
жение по типу «бочка», и с отрицательным индикатором подушкообразного
искажения;
• K2: некоторые сверхширокоугольные объективы имеют такие характеристи-
ки искажения вблизи краев кадра, которые невозможно захватить, используя
только коэффициент первого порядка, и, следовательно, требуется коэффици-
ент второго порядка. К2 также симметричен. На большинстве умеренных объ-
ективов этот параметр был бы очень близок к 0;
• Squeeze (Sqz): этот параметр фиксирует особенности асимметрии объектива
из-за растяжения изображения в направлении X или Y. Значение в большинстве
случаев должно быть около 1;
• λx (Lx): захватывает асимметричное искажение вдоль направления X. Обычно
равно 0;
• λy (Ly): то же, что λx, но вдоль направления Y.

Первичным определяющим параметром является K1. Все остальные параметры


будут близки к значениям по умолчанию («без искажений»), но поскольку сфо-
тографированная сетка никогда не может быть проанализирована с абсолютной
точностью, ожидается, что в параметрах будет существовать некоторая «погреш-
ность». Кроме того, когда оба значения K1 и K2 близки к нулю, другие параметры
теряют свое значение и могут колебаться в широком диапазоне величин. Проще
говоря, не обращайте особого внимания, если параметры не совсем соответству-
ют их ожидаемым значениям; это не означает, что в ваших объективах есть де-
фект.

Анализ фотоснимков вручную


Утилита анализа объективов и камеры также может анализировать произволь-
ные фотоснимки, обнаруживая изгиб линий, которые должны быть прямыми.
Это обычно края зданий, границы прямоугольных панелей, окна или другие
объекты, которые в реальном мире прямые. Любое преобразование прямых
линий в перспективе должно строго поддерживать прямолинейность в дву-
мерном изображении. Однако искажение линзы делает их слегка изогнутыми.
Процедура ручного анализа таких фотографий состоит в выборе нескольких из
таких линий, при этом программное обеспечение прослеживает точные кон-
туры линии/ребра на изображении и определении необходимых параметров
искажения, которые сделают эти линии «прямыми».
Специальные автономные утилиты V-Ray  229

Для ручного анализа есть два инструмента: selector tool и eraser tool. Дан-
ные инструменты доступны в диалоговом окне Manual Analysis… (рис. 3.3.6,
справа). Чтобы выбрать инструмент selector tool, необходимо нажать кнопку
Selector, расположенную в верхнем левом углу окна, или нажать клавишу S на
клавиатуре. Для доступа к инструменту eraser tool используется кнопка Eraser
или клавиша E.
Для анализа изображения необходимо использовать selector tool, что-
бы выбрать линии на изображении, которые должны быть прямыми. Чтобы
сделать это, нажмите ЛКМ над некоторой точкой линии, перетащите мышь
к какой-либо другой точке и затем отпустите кнопку мыши. При этом на изо-
бражении отображается черная линия с двумя белыми кружками на каждом
конце. Первый конец линии находится над первой обнаруженной точкой
в начале линии, которую в настоящий момент вы выбираете. Второй конец
находится под курсором мыши. Когда ЛКМ отпущена, линия становится зеле-
ной. Если программа успешно анализирует созданную линию, отображаются
красные круги над точками линии. Если пользователю не нравится резуль-
тат, он может удалить выделение, нажав правую кнопку мыши над создан-
ной линией и выбрав команду Remove Line из контекстного меню. Когда он
нажмет правую кнопку мыши, линия, которая будет удалена, изменит свой
цвет на голубой. Если вам не нравятся некоторые из обнаруженных точек, вы
можете использовать инструмент ластик для их удаления. Когда инструмент
ластик используется, под курсором рисуется желтый круг. Когда вы нажима-
ете левую кнопку мыши, точки под окружностью удаляются. Размер ластика
можно изменить с помощью прокрутки или кнопки – (для уменьшения), +
(для увеличения). Когда выбрано достаточное количество ребер, для вычис-
ления результата используется кнопка Analyze. Если нет выбранных краев
и нажимается кнопка Analyze, программа показывает ошибку и не закрывает
диалоговое окно. Если нет по крайней мере двух перпендикулярных ребер
и нажимается Analyze, программа выводит предупреждение о том, что ре-
зультаты анализа могут быть неточными, и если вы хотите, чтобы алгоритм
мог выбрать больше ребер, технически для надежного результата требуются
два вертикальных и два горизонтальных края, и чем ближе к краям изобра-
жения, тем лучше.
В диалоговом окне Manual Analysis… пользователь может использовать ко-
манды отмены/повтора действия. Для этого используются стандартные соче-
тания клавиш Ctrl+Z (отмена) и Ctrl+Y (повтор).
1. Выберите больше граней. Количество граней, которые вы выбираете,
не ограничено. Если их недостаточно, есть вероятность, что результаты
анализа будут неверными.
2. Выберите больше граней, где искажение более выражено.
3. Выберите перпендикулярные грани. Из-за характера искажений лин-
зы критически важно для анализа иметь информацию о краях, которые
перпендикулярны друг другу.
4. Когда вы выбираете грань, точка, на которую вы нажимаете кнопкой
мыши, не должна быть точкой пересечения двух ребер.
5. Если край, который вы хотите выделить, сильно искажен, проведите ли-
нию по наименее искаженной части края.
230  Знакомство с V-Ray for Maya

Изменение данных профиля объектива


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

Рис. 3.3.12  Диалоговое окно,


отображающее точность определения точек калибровочной сетки

Параметры находятся в нижней части диалогового окна, и их можно из-


менить, введя их значения напрямую или щелкнув по стрелкам, связанным
Специальные автономные утилиты V-Ray  231

с каждым параметром (значения будут увеличиваться или уменьшаться в за-


висимости от настройки параметра Tuning precision).
Если калибровочное фото недоступно, появится более простой диалог без пред-
варительного просмотра.

Утилита Test Correction


Вы можете видеть пример того, как выглядит изображение без искажений,
выбрав в списке изображений одно из калибровочных изображений, щелкнув
по нему мышью и выбрав в меню Correction ⇒ Test correction. С помощью
открывающегося диалогового окна Calibration image (рис. 3.3.13) вы можете
переключаться между оригинальным изображением и изображением после
коррекции.

Рис. 3.3.13  Диалоговое окно Calibration image

Утилита произвольных коррекции/искажений


изображений
Вы можете исправить или исказить массив произвольных файлов изображе-
ний с помощью инструмента, доступного в меню Correction ⇒ Correct/Distort
images.... Таким образом, идеальное изображение (например, вообще без ис-
кажений после визуализации) может искажаться в соответствии с характери-
стиками проанализированного объектива и камеры или последовательности
кадров, снятой реальной камерой; можно произвести коррекцию, чтобы она
соответствовала качеству теоретически «идеальной» камеры.
232  Знакомство с V-Ray for Maya

Эта утилита использует полный профиль объектива, поэтому для зум-


объективов она вычисляет необходимые параметры искажения для каждого
изображения аналогично тому, как это делается в V-Ray Physical Camera во
время визуализации. Вследствие этого вам требуются фокусные расстояния
каждого изображения, которое будет исправлено или искажено, иначе пара-
метры не могут быть правильно интерполированы. Утилита попытается сде-
лать это из метаданных EXIF. Если этого не удается сделать, она представит
вам несколько вариантов, описанных ниже.
Во вкладке General в диалоговом окне Distort/correct images (рис. 3.3.14) вы-
бираются изображения для обработки. Используйте кнопку Add files… для до-
бавления отдельных файлов или Add directory… для всего каталога, включая
возможную поддержку полной иерархии каталогов, входящих в выбранную
директорию. Обратите внимание, что в данном случае иерархия не будет со-
хранена в директории, куда должны быть сохранены полученные изображе-
ния. Выходной каталог указывает, где должны храниться обработанные фай-
лы, и здесь вы можете выбрать направление процесса. Когда все будет готово,
просто нажмите кнопку Process.

Рис. 3.3.14  Диалоговое окно Distort/correct images


для пакетной обработки изображений

Во вкладке Options вы можете настроить различные параметры процесса со-


хранения файла.
Resampling quality – определяет метод повторной выборки и фильтрации
изображения: выбор ближайшего соседнего пикселя (Nearest neighbor), би-
линейной (Bilinear) или площадной (Area), которые являются компромиссом
качества/скорости. Билинейный метод фильтрации быстро и адекватно под-
ходит для большинства целей, поэтому он установлен по умолчанию.
Use alternative resampling algorithm (slower) – выбор этого параметра
имеет смысл только при использовании методов Nearest neighbor и Bilinear
и при направлении обработки Undistort. Из-за математики, участвующей
в формулах искажения/коррекции, намного быстрее преобразовать изобра-
жение в направлении distort. Тем не менее направление undistort все еще мо-
Специальные автономные утилиты V-Ray  233

жет быть достигнуто с использованием того же внутреннего механизма, но


с инвертированием функции передачи изображения. Этот подход использует
несколько больше памяти и в некоторых крайних случаях может формировать
артефакты в изображениях. Обычно этот параметр должен быть оставлен не-
тронутым. Если качество изображения неприемлемо, попробуйте включить
этот параметр и посмотреть, улучшилось ли качество.
Use XXX threads for processing – процесс обработки изображений, есте-
ственно, является многопоточным и использует всю вычислительную мощ-
ность, доступную в системе. Здесь вы можете настроить количество потоков
центрального процессора в вашей системе.
Объем памяти, необходимый для обработки, пропорционален количеству пото-
ков. С большим количеством потоков и при работе с большими изображениями
ваша система может в конечном итоге потреблять всю доступную память, и в ре-
зультате некоторые изображения не будут обрабатываться. Ситуация может быть
исправлена за счет уменьшения количества потоков:
• Low thread priority – когда данный параметр включен, используется приоритет
нижестоящих рабочих потоков, предоставляя больше процессорного времени
для других выполняемых задач;
• Output file format – определяет формат выходного изображения. По умолчанию
настройки данного параметра совпадают с форматом исходных изображений;
• Generate only distortion map – если этот параметр включен, вместо выполнения
искажения импортируемых изображений этот параметр позволяет экспортиро-
вать карту градиента искажений в карту красного/зеленого градиента, которая
может использоваться в NUKE или V-Ray Physical Camera;
• EXR settings, PNG settings, JPEG settings, TIFF settings – группы параметров, ко-
торые управляют различными параметрами, используемыми при записи соот-
ветствующих типов изображений. Подробно, данные параметры описаны в раз-
деле 2.3 второй главы.

Correcting/Distorting Using a Prime Lens Profile – профиль объектива


с фиксированным фокусным расстоянием; все изображения будут обраба-
тываться с тем же набором параметров искажения, поэтому дальнейших
сложностей с коррекцией и искажениями не возникнет. Профиль объектива
с переменным фокусным расстоянием, но с параметрами искажения с одной
калибровочной фотографии.
Если в таблице имеется несколько записей (например, профиль объекти-
ва с переменным фокусным расстоянием), щелкните по записи, которую вы
хотите использовать для коррекции/искажения. Затем на вкладке Options по-
явится другой элемент: Use selected profile settings и Use entire profile. Если вы
выберете первый, то ваши изображения будут обрабатываться только с ис-
пользованием указанных параметров. Поскольку эта ситуация в остальном
идентична сценарию «объектива с фиксированным фокусным расстоянием»,
никаких осложнений также не возникает.

Профиль Full Zoom Lens


Это самая сложная ситуация, когда у вас есть объектив с переменным фокус-
ным расстоянием, обладающий различными параметрами искажения при
различных значениях фокусного расстояния, а вы хотите обработать массив
234  Знакомство с V-Ray for Maya

изображений, который также может иметь различные фокусные расстояния.


Поэтому перед началом реальной обработки изображений утилита сначала
попытается прочитать EXIF-метаданные со всех входных изображений. Если
на некоторых изображениях отсутствует EXIF или там не записана информа-
ция о фокусном расстоянии, утилита предоставит вам следующие варианты:
 Don’t process (skip). Этот параметр позволяет пропустить все файлы,
у которых нет информации о фокусном расстоянии;
 Use specific parameters. Использует только конкретную запись профиля
объектива с переменным фокусным расстоянием (это то же самое, что
и в предыдущем сценарии) и, по существу, предполагает, что все вход-
ные изображения имеют конкретную величину фокусного расстояния;
 Assume the focal length is. Это похоже на предыдущий вариант, но по-
зволяет указать любое фокусное расстояние. Оно не ограничено фокус-
ными расстояниями, присутствующими в профиле;
 Specify focal lengths from file. Укажите текстовый файл, в котором бу-
дет указано предполагаемое фокусное расстояние каждого входящего
файла. Этот текстовый файл должен быть представлен в следующем
формате:
"Image_0001.exr" 35.6
"Image_0002.exr" 36.2
"Image_0003.exr" 38.0
…и т.д.
"«file name»" «focal length»
// С одним файлом в строке.
"«file name»" «focal length»
// Одно значение для файла.

Ограничения утилиты Correction/Distortion Utility


Утилита не может сохранять иерархии каталогов. Все обработанные файлы за-
писываются в выходной каталог.
Поддерживаются только каналы цвета и Alpha. Файлы изображений, содер-
жащие несколько встроенных в них каналов (например, отдельные элементы
изображений), не будут полностью поддерживаться, а каналы, отличные от
RGB и Alpha, будут отклонены.
Чтение файлов *.psd (Phootshop) и *.vrimg (V-Ray Image File) поддерживает-
ся, но запись в настоящее время не выполняется.

Применение профиля к V-Ray Physical Camera в Maya


После того как вы сохраните созданный с помощью Lens Analysis Tool профиль
объектива и камеры, его необходимо импортировать в Maya и связать с ка-
мерой, к которой добавлены дополнительные атрибуты V-Ray. Так, выделите
камеру, из вида которой будет выполняться визуализация сцены, в меню At-
tribute Editor выберите Attributes ⇒ V-Ray ⇒ Physical Camera.
В свитке V-Ray Extra Attributes поставьте флажок Treat as VRay Physical
camera, а в раскрывающемся списке атрибута Distortion Type выберите Lens
Специальные автономные утилиты V-Ray  235

File (рис. 3.3.15). Это активирует текстовое поле LENS File, с помощью которо-
го вы можете связать камеру с файлом профиля объектива и камеры.

Рис. 3.3.15  Пример связи файла профиля объектива


с камерой V-Ray Physical Camera

Я рекомендую использовать атрибут Film gate (in mm). Это необходимо,


для того чтобы правильно сконфигурировать размер матрицы или кадра
пленки по широкой стороне (36 mm, 23.5 mm, 22.2 mm и т. д.). Таким образом,
камера будет точнее моделировать размер/пропорции формируемого кадра
и соотношение сторон при использовании файла оптической коррекции/ис-
кажений.
Для данного примера был подготовлен профиль для объектива модели
Canon EF 24-105mm f/4L USM, установленного на камеру Canon EOS 400D.
У данной модели фотокамеры используется сенсор размера APS-C, его шири-
на составляет 22.2 mm, поэтому величину фокусного расстояния мы должны
увеличивать в 1.6 раза. Охват видоискателя составляет 96 %, что приводит
к необходимости внимательной центровки кадра на калибровочной сетке
и выхода границ сетки (L-подобные углы) за видимую в видоискатель область
(рис. 3.3.9, справа).
На рис. 3.3.16 приведен пример влияния полученного файла профиля объ-
ектива на визуализацию сцены (B). Для сравнения была выполнена визуализа-
ция сцены без применения файла профиля объектива (A). Для анализа и боль-
шей заметности искажений были добавлены прямые линии, которые наглядно
демонстрируют «эффект бочки», формируемый объективом при фокусном
расстоянии в 24 mm.
Подтвердить данный эффект может сделанный фотоснимок (рис. 3.3.17).
Как можно заметить, калибровочная сетка при фокусном расстоянии 24 mm
(38.4 mm для матрицы APS-C) формирует сильный «эффект бочки», а с уве-
личением данного фокусного расстояния данный эффект будет уменьшаться.
Данные оптические искажения в первую очередь являются конструктивной
особенностью объективов и требуют определенной коррекции на этапе по-
следующей обработки или для имитации реалистичного искажения при визу-
ализации сцены.
Например, такие приложения, как Photoshop Lightroom или Camera RAW от
компании Adobe, позволяют выполнять коррекцию оптических искажений на
фотографиях, полученных с помощью современных цифровых зеркальных
фотокамер. Но для корректной визуализации настоятельно рекомендуется ис-
пользовать профили оригинальных линз, а коррекцию искажений проводить
на этапе композитинга и обработки изображений, полученных в процессе ви-
зуализации.
236  Знакомство с V-Ray for Maya

Рис. 3.3.16  Пример визуализации сцены без имитации оптических искажений


и с применением профиля в формате VRLENS

Рис. 3.3.17  «Эффект бочки» на снимке калибровочной сетки


при фокусном расстоянии 24 mm
Специальные автономные утилиты V-Ray  237

Утилита Lens Effects Filter Generator


Утилита Lens Effects Filter Generator (рис. 3.3.18), входящая в поставку V-Ray,
является простым инструментом для создания фильтров (изображения с вы-
соким динамическим диапазоном в формате *.hdr). Она специально разрабо-
тана для создания фильтров эффектов линз (Lens Effects filters), используемых
в качестве эффекта визуализации1.
Утилита доступна как в меню запуска приложений вашей операционной
системы, так и в одной из описанных выше директорий инсталляции V-Ray.

Рис. 3.3.18  Диалоговое окно утилиты Lens Effects Filter Generator

Утилита создания эффектов линз достаточно проста в использовании. Ее


рабочее пространство разделено на две панели единой горизонтальной лини-
ей. С помощью четырех вкладок, расположенных в верхней панели (Radially
symmetric pattern, Corona Flare Lines Pattern, Special Flare Lines Pattern, Lenticu-
lar Halo), вы можете объединять различные компоненты фильтра. В каждой
вкладке можно изменять параметры с правой стороны верхней панели и неза-
медлительно видеть результат с левой стороны верхней панели. Вы всегда мо-
жете видеть результат смешивания всех компонент с левой стороны нижней
панели, в то время как все элементы управления, связанные со смешиванием,

1 В V-Ray Next Update 2 (4.3X.XX) инструментарий V-Ray Lens Effects был значительно
обновлен. Для получения подробной информации обратитесь к справочной доку-
ментации по текущей версии V-Ray for Maya.
238  Знакомство с V-Ray for Maya

находятся в правой части этой панели. Когда вы подготовите ваш эффект, мо-
жете сохранить его в формате *.hdr с помощью меню File ⇒ Export HDR или
клавиатурной комбинации Ctrl+E.
Вы также можете легко сохранить свои собственные шаблоны в файлах *.txt,
выбрав File ⇒ Save Preset или с помощью клавиатурной комбинации Ctrl+S и за-
грузив их в последующем с помощью File ⇒ Open Preset или комбинации Ctrl+O.

Рис. 3.3.19  Пример визуализации сцены с активным эффектом свечения


на основе файла, созданного с помощью утилиты Lens Effects Filter Generator

Подробнее о конфигурации эффекта свечения в V-Ray Frame Buffer будет


рассказано в главе 6 «Камеры и освещение в V-Ray».

Утилита Image to tiled multiresolution EXR converter


В процессе работы с текстурными картами вам будет необходимо прибегать
к применению тех или иных техник компоновки и детализации текстурных
карт. При использовании метода Level of Detatil, когда геометрия на удалении
от наблюдателя уменьшает свою детализацию, также необходимо и умень-
шать детализацию текстурной карты. Формат OpenEXR поддерживает при-
менение технологии нескольких плиток на основе изображений с различным
разрешением.
Специальные автономные утилиты V-Ray  239

В поставку V-Ray входит специальное приложение, позволяющее быстро


сформировать текстурную карту с множеством разрешений для последующего
применения на геометрии с различным уровнем детализации.
Утилита Image to multiresolution EXR converter (рис. 3.3.20) может быть ис-
пользована для преобразования различных файлов изображений в файлы
растровых текстурных карт, содержащих «плитки» с различным разрешением
в формате OpenEXR (*.exr). Получаемые в результате файлы текстур с несколь-
кими видами текстур, размещенных в виде плиток, могут быть использованы
в V-Ray for 3ds Max с помощью узла текстурной карты VRayHDRI texture или на-
прямую в V-Ray for Maya, V-Ray Standalone и других пакетах, поддерживающих
систему визуализации V-Ray.

Рис. 3.3.20  Утилита Image to multiresolution EXR converter


запущенная в режиме графического интерфейса

Вы можете импортировать файлы изображений в следующих наиболее рас-


пространенных форматах: V-Ray image file (*.vrimg), Portable Network Graph-
ics (*.png), Windows bitmap (*.bmp), Targa image file (*.tga), Radiance HDR image
(*.hdr), Silicon Graphics (*.sgi, *.rgb, *.rgba), JPEG image file (*.jpg, *.jpeg, *.jpe),
OpenEXR image file (*.exr), Softimage PICT file (*.pic), Tagged image file format
(*.tif, *.tiff), Photoshop (*.psd).
240  Знакомство с V-Ray for Maya

Простейший путь применения заключается в двойном щелчке мышью по


исполняемому файлу img2tiledexr в директории установки V-Ray. После чего
запустится GUI версия утилиты с основным окном. В данном окне вы можете
выполнить настройку параметров формата EXR, определить пути к импорти-
руемым и экспортируемым файлам (параметры Input File, Input Dir, Output
Dir) и определить формат записи файла (name.extension).
Также вы можете запустить утилиту и с помощью командной строки, введя
следующую команду:
$ ./img2tiledexr
# Данная команда запустит утилиту в режиме GUI, и она аналогична двойному щелчку мышью.
Для преобразования одного файла в один EXR-файл вы можете использо-
вать следующую команду:
$ ./img2tiledexr <image_file> <exr_file> [options]
В данном случае параметр <image_file> не может содержать шаблоны. Пом-
ните, что расширение *.exr не добавляется автоматически к получаемому
в процессе конвертации файлу.
Преобразовать множество изображений с помощью утилиты в режиме ко-
мандной строки можно с помощью следующей команды и параметров:
$ img2tiledexr <image_wildcard> [output_dir] [options]
В данном случае параметр <image_wildcard> может содержать символы по-
исковых шаблонов, такие как * и ?, файлы изображений будут автоматически
преобразованы в файлы формата tiled multiresolution OpenEXR с расширением
*.exr. Дополнительно вы можете задать параметр [output_dir] и указать ди-
ректорию, в которую будут сохранены файлы EXR. Если данный параметр не
задан, все создаваемые файлы будут сохраняться в той же директории вместе
с оригинальными файлами.
В операционных системах Linux и macOS параметры с поисковыми шаблонами
должны быть записаны с апострофом ', таким образом, запись будет выглядеть
как 'image_wildcard'. В противном случае оболочка командной строки (терминал)
автоматически разворачивает подстановочный знак в список файлов, что приве-
дет к завершению программы.

Во всех случаях оригинальный файл не будет удален.


Сохраненный новый файл текстурной карты будет содержать в имени пост-
фикс «_tiled».
Помните, что многие приложения принимают цвет в файле формата OpenEXR
в линейном цветовом пространстве, а не в цветовом пространстве sRGB/Gamma
2.2. Для этого утилита Image to multiresolution EXR converter автоматически пре-
образует цвета импортируемых изображений из sRGB в линейное цветовое про-
странство, кроме изображений в форматах HDR и EXR. Вы можете использовать
параметр -linear для управления данным преобразованием.

На рис. 3.3.21 приведен пример отчета, формируемого в процессе преоб-


разования текстурной карты в формат Tiled OpenEXR. Обратите внимание на
то, что программа выполняет около 12 преобразований текстурной карты для
реализации максимальной минимизации текстурной карты с расстоянием от
Специальные автономные утилиты V-Ray  241

точки наблюдателя. В процессе преобразования программа рассчитает сред-


ние величины различий цвета.

Рис. 3.3.21  Информационные сообщения


в процессе преобразования изображения

На рис. 3.3.22 приведен пример изображения с текстурной картой, сохра-


ненной в формате tiled multiresolution EXR. Как видно, текстурная карта пред-
ставлена несколькими «плитками», содержащими одно изображение в раз-
личных разрешениях от 2048×20148 до 1×1 пикселей.
Если вы предпочитаете работать с командной строкой, можно использовать
следующие ключи параметров, которые выполняют те же задачи, что и при рабо-
те через интерфейс программы. Все ключи параметров представлены в табл. 3.3.

Таблица 3.3. Основные параметры утилиты Image to tiled multiresolution


EXR converter
Параметр Описание
-32bit Сохраняет данные c плавающей точкой в файле EXR в виде записи
чисел в формате 3ds-bit floating point. Если же данный параметр
не используется, то данные будут записаны в виде значений 16-bit
floating point
-compression <method> Задает тип компрессии, применяемый к создаваемому EXR-файлу.
Если данный параметр не задан, будет применена стандартная
компрессия по методу ZIP. Вы можете использовать следующие
значения ключа: <method>: none, rle, zips, zip, piz, pxr24
242  Знакомство с V-Ray for Maya

Таблица 3.3 (окончание)


Параметр Описание
-tileSize <size> Задает размер прямоугольной области («плитки»). Если данный
параметр не задан, по умолчанию будет применен размер 64×64.
-linear <mode> Используется, если при сохранении результирующего
EXR-изображения цветовое пространство входящего изображения
преобразовано из sRGB в linear. Возможные значения данного
параметра: off (без преобразования), on (преобразует цвета
из цветового пространства sRGB в linear), auto (преобразует все
изображения, кроме HDR и EXR)
-subdirs Когда используется шаблон запроса, данный параметр позволяет
утилите выполнять поиск по поддиректориям заданных в данном
запросе
-help Выводит сообщение со справочной информацией

Рис. 3.3.22  Пример текстурной карты, полученной после применения ути-


литы Image to tiled multiresolution EXR converter. Здесь представлены 12 «пли-
ток» с текстурой, уменьшаемой на 50 % от размера предыдущей плитки. Мак-
симальный – 2048×2048 пикселей, минимальный – 1×1 пикселей

Утилита конвертации геометрии в V-Ray Proxy


Данные, получаемые с системы 3D-сканирования, обычно сохраняются в спе-
циализированных форматах, таких как *.ply, *.bin, *.geo и др. Для визуали-
зации с помощью системы визуализации V-Ray данные, сохраненные в та-
ких форматах, могут быть преобразованы с помощью специальной утилиты
Специальные автономные утилиты V-Ray  243

в формат *.vrmesh. Такой утилитой является ply2vrmesh (рис. 3.3.23) – она вхо-
дит в стандартную поставку V-Ray for Maya и любой другой редакции данной
системы визуализации. Утилита поддерживает следующие форматы файлов,
в которых сохраняются данные о геометрии: *.ply, *.obj, *.bin, *.geo, *.bgeo,
*.hclassic, *.bhclassic, *.abc и *.vrscene. Получаемые в процессе преобразова-
ния данные будут сохранены в формате *.vrmesh (V-Ray Mesh), а в Maya они
будут импортированы с помощью V-Ray Proxy.

Рис. 3.3.23  Утилита ply2vrmesh запущенная в Командной строке

Утилита является консольным приложением, его можно запустить с помо-


щью приложения Командная строка (Windows) или Терминал (Linux, macOS),
для этого введите следующую команду:
$ ./ply2vrmesh <inputFile> <outputFile>[options]
Здесь в качестве аргументов вы можете использовать следующие:
 inputFile – задает путь к файлу в формате *.ply, *.obj, *.bin, *.geo, *.bgeo,
*.hclassic, *.bhclassic, *.abc или *.vrscene, который вы хотите преобра-
зовать в формат *.vrmesh. Строка может содержать шаблоны поиска для
облегчения поиска и преобразования необходимых вам файлов;
 outputFile – задает путь к директории, куда будет сохранен результат
конвертации в виде файла *.vrmesh (расширение файла также долж-
но быть задано). Данная строка не может включать шаблоны поиска.
Если данный параметр не определен, выводимый файл будет сохранен
с идентичным оригинальному файлу именем, но только с расширением
244  Знакомство с V-Ray for Maya

*.vrmesh. Если определено множество импортируемых файлов, а аргу-


мент <outputFile> не задан, тогда каждый импортируемый файл будет
записан в отдельный файл *.vrmesh. Если же аргумент <outputFile> задан,
все импортируемые файлы сортируют в лексическом порядке и объеди-
няются в единый анимированный файл *.vrmesh.
Для конфигурации каждого из форматов файлов, которые будут преобра-
зованы в V-Ray Mesh, вы можете использовать параметры, представленные
в табл. 3.4.

Таблица 3.4. Параметры утилиты ply2vrmesh


Параметр Описание
-append Добавляет информацию в качестве нового кадра анимации
в файле *.vrmesh
-smoothNormals Генерирует сглаженные нормали вершин. Данный параметр
доступен только для файлов форматов *.obj и *.geo и всегда
активен для файлов в формате *.bin
-smoothAngle Величина с плавающей точкой, которая определяет угол
(в градусах), используемый для оценки нормалей, должны они
быть сглажены или нет. Если данный параметр активен, будет
активен параметр -smoothNormals
-flipNormals Оборачивает нормали граней/вершин. Применим только
к фалам форматов *.obj, *.geo, *.bin и *.abc
-flipVertexNormals Оборачивает нормали вершин. Применим только к фалам
форматов *.obj, *.geo, *.bin и *.abc
-flipFaceNormals Оборачивает нормали граней. Применим только к фалам
форматов *.obj, *.geo, *.bin и *.abc
-flipYZ Меняет оси Y/Z. Это необходимо для таких приложений, как Poser
и ZBrush. Применим к файлам форматов *.ply, *.obj, *.geo и *.bin
-flipYPosZ Аналогичен параметру –flipYZ, но не оборачивает ось Z
-flipXPosZ Аналогичен параметру –flipYPosZ, но оборачивает оси X/Z
-mapChannel <chanIndex> Сохраняет координаты UVW, определяющие канал проециро-
вания текстуры (по умолчанию значение 1). Применим только
к фалам форматов *.obj и *.geo. Когда экспортируется
геометрия, которую планируется использовать в Maya, данному
параметру должно быть присвоено значение 0, иначе текстуры
на геометрии не будут визуализироваться корректно
-disableColorSetPacking Данный параметр доступен только для файлов *.geo и *.bgeo.
Он исключает запись атрибутов float1 и float2 в наборы цветов
вершин
-materialIDs Данный параметр доступен только для файлов *.geo и *.bgeo.
Определяет идентификационные номера материалов, опираясь
на группы примитивов в файле
-materialIDs_splitGroups Данный параметр доступен только для файлов *.geo и *.bgeo.
Определяет идентификационные номера материалов, опираясь
на группы примитивов. Эти группы разделены
на воксель/геометрию и представлены в списках видимости
-sortMaterialIDs Данный параметр доступен только для файлов *.geo и *.bgeo.
Сортирует список идентификационных номеров материалов по
именам групп. В противном случае он будет в том же порядке,
как он определен в файле *.geo/*.bgeo
Специальные автономные утилиты V-Ray  245

Параметр Описание
-fps <fpsValue> Значение с плавающей точкой, которое определяет частоту
кадров в секунду (fps) в экспортируемом файле *.geo или
*.bgeo, таким образом, скорость вершин может соответственно
масштабироваться. По умолчанию используется значение 24.0
-previewFaces <numFaces> Задает максимальное количество граней для информации
предварительного просмотра файла *.vrmesh. По умолчанию
оно составляет 9973 грани
-previewType <type> Определяет метод, используемый для создания
предварительного просмотра:
• clustering – данный метод работает очень быстро, но менее
аккуратен;
• edge_collapse – данный метод медленный, но формирует
лучший результат;
• combined – быстрый, формирует немного лучший результат по
сравнению с методом clustering;
• face_sampling – копирует треугольники от оригинала (очень
быстрый, но формирует очень несвязанную геометрию).
-facesPerVoxel <numFaces> Задает максимальное количество граней на воксель
в формируемом файле *.vrmesh. По умолчанию выставлена
величина в 10 000 граней
-previewHairs <numHairs> Задает максимальное количество волосков в формируемом
файле *.vrmesh. По умолчанию выставлена величина
в 500 волосков
-segmentsPerVoxel Задает максимальное количество сегментов на воксель
<numSegments> в формируемом файле *.vrmesh. По умолчанию выставлена
величина в 64 000 волосков
-hairWidthMultiplier Задает максимальный множитель масштаба ширины волосков
<multiplier> в формируемом файле *.vrmesh. По умолчанию равно 1.0
-previewParticles Задает максимальное количество частиц в формируемом файле
<numParticles> *.vrmesh. По умолчанию выставлена величина в 20 000 частиц
-particlesPerVoxel Задает максимальное количество частиц на воксель
numParticles> в формируемом файле *.vrmesh. По умолчанию выставлена
величина в 64 000 частиц
-particleWidthMultiplier Задает максимальный множитель масштаба частиц
multiplier> в формируемом файле *.vrmesh. По умолчанию равно 1.0
-mergeVoxels Объединяет объекты перед вокселизацией для уменьшения
перекрывающихся вокселей
-velocityAttrName <name> Задает имя атрибута, который будет использоваться
для формирования канала скорости (velocity channel).
По умолчанию используется атрибут v
-pointSize Если задан, будет активизировано создание облака точек
и задан наименьший размер точек. По умолчанию задано
значение 0.0 (формирование облака точек отключено)
-velocityOffset <offset> Задает начальное положение, от которого будет сформировано
смещение, определенное каналом скорости, например –0.25.
Данный параметр доступен только для файлов *.geo, *.bgeo
и *.bin
-mergeFiles Объединяет все импортируемые файлы в один файл *.vrmesh.
Импортируемые файлы могут быть определены с применением
шаблонов поиска (wildcards). Выводимый файл (с расширением
*.vrmesh) должен быть также задан
246  Знакомство с V-Ray for Maya

Параметр Описание
-mergeShaders При объединении файлов с использованием параметра
-mergeFiles этот параметр объединяет все шейдеры с тем же
именем в один. При слиянии файлов *.obj сначала
анализируется найденный в каталоге файл *.mtl,
чтобы получить упорядочение материалов
Alembic subdivision specific
-subdivideAllMeshes Позволяет задать подразделение всех полигональных поверх-
ностей в Alembic, а не только объектов с подразделением
-subdivisionLevel Уровень подразделения в Alembic
-subdivideUVs <value> Задает подразделение каналов проецирования текстур
(mapping channels). Значение 0 не выполняет подразделение
каналов проецирования текстур. При значении 1 будет
выполняться подразделение каналов проецирования текстур
-preserveGeomBorders Не выполняет подразделение для всех границ геометрии.
-preserveMapBordersMode Определяет режим сохранения границ текстурных карт:
<mode> • в режим none будут подразделены все границы текстурных
карт;
• в режиме internal будут сохранены внутренние границы;
• в режиме all будут сохранены все границы текстурных карт
.vrscene specific
-vrsceneList Отображает список доступных узлов (Nodes) в файле *.vrscene
-vrsceneNodeName <name> Имя узла (Node name) внутри файла *.vrscene
-vrsceneApplyTm † К геометрии будет применена матрица трансформации узла
(Node transform)
-vrsceneVelocity † Формирует канал скорости (velocity channel), используемый
для размытия движения
-vrsceneFrames Экспортирует диапазон анимации
<start-end> †
Generic
-info Позволяет вывести информацию о *.vrscene-файле
-frame <frameIndex> Экспортирует определенный кадр из указанного файла.
В сочетании с ключом -info он отображает информацию
об указанном кадре из файла *.vrmesh. Индексы основаны
на 0. Если этот параметр не задан, информация выводится
для каждого кадра в файле
-oneFramePerFile Экспортирует каждый кадр в отдельный файл.
-padding <padding> Количество чисел при определении номера кадра, между 1
и 10. По умолчанию 4

Эти параметры так же доступны для отображения информации при работе с ути-
литой ply2vrmesh в режиме командной строки.

Когда производится преобразование модели в формат *.vrmesh, работа с мо-


делью и данными может быть продолжена в целевом приложении, таком как
Maya, и инструменте V-Ray Proxy. В сцене необходимо создать объект V-Ray
Proxy и указать путь к файлу *.vrmesh, полученному с помощью утилиты ply-
2vrmesh.
На рис. 3.3.24 представлена сцена с моделью из библиотеки 3D-моделей
Стэндфордского университета, доступной по ссылке https://graphics.stanford.
Специальные автономные утилиты V-Ray  247

edu/data/3Dscanrep/. Многие из представленных в данной библиотеке моделей


используются специалистами по визуализации для оценки моделей освеще-
ния и моделей затенения.

Рис. 3.3.24  Пример модели,


полученной в формате *.ply, преобразованной в *.vrmesh,
импортированной и визуализированной с помощью V-Ray Proxy в Maya

Подробно применение объектов V-Ray Proxy рассмотрено в четвертой главе


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

Утилита V-Ray Mesh Viewer


В процессе работы с геометрией, получаемой из различных приложений и ее
визуализации с помощью V-Ray for Maya, ее необходимо анализировать и про-
сматривать для быстрой оценки данных и определения объектов модели. При
использовании утилиты ply2vrmesh вы получаете геометрию в формате V-Ray
Mesh, которую можно легко просматривать с помощью утилиты V-Ray Mesh
Viewer (рис. 3.3.25), которая также поддерживает формат Alembic (*.abc).
Утилита позволяет просматривать геометрию модели, воспроизводить
анимацию, выделять объекты и воксели в сцене, применять сглаживание к ге-
ометрии Alembic и воспроизводить анимацию частиц, контролируя их раз-
мер. Она может быть запущена с помощью меню Start (Пуск) в операционной
системе Windows и с помощью команды vrmesh_viewer в операционной системе
семейства Linux.
248  Знакомство с V-Ray for Maya

Рис. 3.3.25  Окно утилиты V-Ray Mesh Viewer

Навигация в V-Ray Mesh Viewer достаточно проста. Выполнять навигацию


вокруг геометрии можно с помощью зажатой клавиши Alt и вращение нажа-
той ЛКМ. СКМ используется для панорамирования камерой, а ПКМ – для из-
менения масштаба.
После того как вы запустите утилиту, вам будет предложено открыть файл
в формате V-Ray Mesh или Alembic. Когда файл будет выбран, модель отобра-
зится в диалоговом окне утилиты VRMesh Viewer, если это файл в формате
V-Ray Mesh, будут отражен список объектов в сцене, каналы проецирования
текстур, и доступна возможность воспроизведения анимации, если таковая со-
хранена в файле. Если же выбран файл в формате Alembic, будут доступны до-
полнительные параметры, позволяющие выполнять сглаживание геометрии,
настраивать границы текстурных координат и границы геометрии (рис. 3.3.26).

Рис. 3.3.26  Пример применения сглаживания к модели в формате Alembic.


А – сглаживание отключено, В – сглаживание включено,
присвоено два уровня сглаживания
Специальные автономные утилиты V-Ray  249

Все операции с программой выполняются с помощью простого меню, кото-


рое может быть использовано для управления файлами и отображением мо-
дели в видовом окне.
Команды меню File:
 Open – позволяет вам загружать другой файл в форматах V-Ray Mesh
(*.vrmesh) или Alembic (*.abc);
 Exit – выход из V-Ray Mesh Viewer.
Меню Rendering позволяет вам управлять тем, как геометрия будет пред-
ставлена в видовом окне (рис. 3.3.27):
 Use mesh preview – отображает упрощенную версию геометрии модели
в режимах затенения, схожих с режимами затенения в приложении ком-
пьютерной графики (например, Maya);
 Wireframe – отображает геометрию в режиме каркаса (wireframe);
 Backface culling – когда этот режим активен, грани с нормалями, направ-
ленными по направлению от камеры, будут представлены прозрачными;
 Reverse normals – задает противоположное направление нормалей для
всех граней.

Рис. 3.3.27  Режимы отображения геометрии в видовом окне.


А – режим Gray, В – режим Wireframe

Меню Colors (рис. 3.3.28):


 Gray – геометрия будет окрашена серым цветом;
 Per-voxel color – вокселям будет назначен предварительно определенный
цвет;
 Unique voxel color – каждая отдельная геометрия отображается с уникаль-
ным цветом;
 Map channel – каждый объект отображается на основе канала текстур,
для которого создана развертка.
Меню View выполняет управление отображением элементов определения
координат и осей:
 Show Axis – скрывает или отображает оси координат XYZ;
 Show Grid – скрывает или отображает сетку координат;
 Center Mesh – выравнивает центр геометрии по центру осей координат
XYZ;
 Flip Y/Z axes – оборачивает оси Y и Z.
250  Знакомство с V-Ray for Maya

Рис. 3.3.28  Примеры отображения цветов


при выборе определенного типа представления

В самой утилите вам доступно несколько параметров, позволяющих зара-


нее выполнять оценку и анализировать влияние применяемых инструментов
на геометрию. К ключевым параметрам относятся:
 Map Channel – позволяет изменить канал проецирования текстур (map
channel);
 Scene Objects – список всех объектов в сцене. Вы можете использовать
его для выделения объектов по имени;
 Selection Mode – позволяет переключиться между выделением объек-
тов или векселей.
Если работа ведется с форматом Alembic (*.abc), при открытии файла
в V-Ray Mesh Viewer будут доступны дополнительные параметры для работы
с геометрией в данном формате:
 Subdivide all meshes – когда данный параметр активен, ко всем геомет­
рическим объектам, представленным в файле, будет применено подраз-
деление поверхностей (сглаживание);
 Subdiv level – позволяет задать уровень подразделения поверхностей;
 Preserve geometry borders – когда данный параметр активен, подраз-
деленная геометрия не будет сглаживаться на границах оригинальной
геометрии;
 Subdivide UVs – если данный параметр включен, UV-координаты объ-
екта также будут подразделены («сглажены»);
 Particle size – позволяет вам управлять размером частиц, используе-
мым для предварительного просмотра.
Если файл содержит секвенцию кадров анимации, вам будут доступны па-
раметры для навигации по анимации и отображения определенного кадра
анимации. Параметр Enter frame позволяет вам вручную вводить номер кад­
ра, который вы хотите просмотреть.

3.4. Рабочий процесс с V-Ray for Maya


и V-Ray Frame Buffer
Такие комплексные системы визуализации как V-Ray предоставляют собствен-
ные решения для построения законченных и цикличных рабочих процессов,
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  251

обеспечивая современных дизайнеров и художников инструментами, реали­


зующими управление геометрией и данными, освещением и камерами в сце-
не, текстурными картами и шейдерами, а также цветом и коррекцией тонов.
На рис. 3.4.1 представлена схема взаимосвязей между основными техника-
ми применения ключевых инструментов V-Ray for Maya. Обратите внимание
на то, что некоторые данные могут быть выведены из Maya в специальные
форматы данных V-Ray, которые позволяют передавать их из одного прило-
жения в другое, а также оптимизировать процесс визуализации комплексных
сцен непосредственно в самом V-Ray for Maya.

Рис. 3.4.1  Схема связей между ключевыми инструментами V-Ray


в едином рабочем процессе

В самой Maya вы работаете с основными элементами сцены, такими как гео-


метрия, камеры, источники света, шейдеры материалов и текстур. В процессе
визуализации эти данные будут транслироваться в ядро системы визуализа-
ции (V-Ray Render Engine), а после процесса вычислений полученные изобра-
жения будут сохранены в растровые файлы и отображены в V-Ray Frame Buffer.
Для отработки различных процессов и оптимизации процессов визуализа-
ции могут быть использованы возможности импорта/экспорта определенных
типов данных сцены. Так, геометрия может быть экспортирована в форма-
тах V-Ray Mesh и Alembic, а затем импортирована с помощью объектов V-Ray
Proxy в Maya и использоваться только в процессе визуализации. Аналогичным
образом действует модель затенения. Художники могут использовать заранее
созданные узлы шейдеров материалов и текстур, а технические директора мо-
252  Знакомство с V-Ray for Maya

гут использовать специализированные языки разработки шейдеров и импор-


тировать их из внешних файлов.
Специальные типы данных, создаваемые в сторонних редакторах и пред-
назначенные для работы с камерами и источниками света, также могут быть
загружены в начале процесса визуализации.
При работе с растровыми изображениями, к которым применяются опре-
деленные цветовые пространства, можно использовать файлы конфигураций
OCIO. Они могут быть импортированы как в Maya Color Management System,
так и в V-Ray Frame Buffer.
Ключевая роль буфера кадров любой системы визуализации заключается
в отображении двумерного изображения, получаемого в процессе визуализа-
ции сцены. Некоторые из буферов кадров могут выполнять многие функции,
связанные с коррекцией тонов и цвета, что существенно облегчает работу ху-
дожников и специалистов по коррекции цветов еще на этапе визуализации.

V-Ray Frame Buffer


Система визуализации V-Ray for Maya может выводить визуализируемое изо-
бражение как в родной для Maya буфер кадров – редактор Render View, так
и в родной для данной системы визуализации V-Ray Frame Buffer (далее VFB).
Буфер кадров V-Ray (рис. 3.4.2) является многофункциональным инструмен-
том, используемым не только для отображения, выводимого в процессе ви-
зуализации изображения, но и в качестве инструмента для базовой коррек-
ции цвета, наложения эффектов линз и сравнения нескольких изображений.
В данном разделе рассматривается основной функционал VFB и его примене-
ние совместно с Maya.

E A B F

Рис. 3.4.2  Диалоговое окно V-Ray Frame Buffer


Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  253

Наиболее часто VFB используется для отображения визуализируемого кад­


ра. Вы можете прослеживать за ходом процесса визуализации с помощью
V-Ray for Maya и выполнять сравнение изображений с помощью инструмен-
тария History.
Рабочее пространство VFB представлено следующими инструментами, ко-
торые я подробно описываю ниже: область отображения визуализируемых
изображений (A), основная панель инструментов (B), панель быстрого доступа
к параметрам (C), панель истории визуализируемых изображений (D), панель
линзовых эффектов и фильтров (E) и панель коррекции изображения (F).
По сравнению со стандартным редактором и буфером кадров Render View,
VFB предоставляет ряд дополнительных возможностей:
 отображение всех элементов визуализируемого изображения в одном
окне;
 сохранение изображения в формате 32-bit floating point;
 выбор последовательности, в которой будет выполняться визуализация
блоков изображения;
 сохранение списка визуализированных изображений и простое пере-
ключение между ними;
 обеспечение применения оптических эффектов линз к визуализируемо-
му изображению.
Диалоговое окно VFB открывается, если установить флажок напротив пара-
метра Use V-Ray VFB (рис. 2.3.11) или с помощью кнопки Show V-Ray VFB, ко-
торая позволяет быстро открыть его. Для восстановления настроек VFB к ис-
ходному состоянию просто щелкните по кнопке Reset V-Ray VFB.

Основная панель инструментов


Наиболее часто используемые инструменты находятся на основной панели,
расположенной в верхней области диалогового окна VFB (рис. 3.4.2 (A)). Кноп-
ки Swatch to RGB channel, View Red channel, View Green channel, View Blue
channel, Swatch to Alpha channel и Monochromatic mode позволяют отобра-
зить определенный канал цвета изображения и представить его в определен-
ном режиме. Выберите, какие каналы должны быть отображены с помощью
соответствующих кнопок. Также вы можете отображать визуализируемое изо-
бражение в монохромном режиме (рис. 3.4.3).
Кнопки Save Current channel, Save All image channels to separate files
и Save All image channels to single file позволяют выполнить сохранение
изображений, получаемых в процессе визуализации. Кнопка Load Image по-
зволяет открыть изображение, которое можно просмотреть в VFB, чаще всего
это изображения, полученные при выполнявшихся ранее визуализациях или
полученные с помощью других редакторов, а также изображения в формате
V-Ray Image (*.vrimg).
Кнопка Copy current channel to clipboard позволяет скопировать текущий
выбранный канал изображения в буфер кадра и импортировать его в любой
другой редактор, например в Adobe Photoshop CC.
Если же необходимо очистить буфер кадра и не сохранять полученное в про-
цессе визуализации изображение, просто используйте кнопку Clear Image.
254  Знакомство с V-Ray for Maya

А для того чтобы выполнять манипуляции с изображением с помощью Render


View, вы можете использовать кнопку Duplicate to MAYA frame buffer. Это
позволяет скопировать данные из VFB в редактор Render View и производить
манипуляции с изображением, опираясь на стандартные инструменты Maya.

Рис. 3.4.3  Примеры отображения каналов изображения в VFB.


A – RGB channels, B – Red channel, C – Red and Green channels,
D – Monochromatic mode

Специальная функция Track mouse while rendering, доступная с помощью


одноименной кнопки на панели инструментов VFB, позволяет выполнять соз-
дание трека, вдоль которого будет выполняться визуализация блоков изобра­
жения с помощью простого движения мышью. Это позволяет сэкономить
время на визуализации сложных элементов сцены или сделать акцент на той
области изображения, которой необходимо уделить наибольшее внимание.
Кнопка Region Render (рис. 3.4.4) позволяет вам задать область, которая
должна визуализироваться. Обычно такой областью может быть та часть изо-
бражения, большее внимание которой вы уделяете на данный момент, напри-
мер объект с определенным материалом, или при назначении сложных тек-
стурных карт.
Если вы используете приложение для просмотра визуализируемых изобра-
жений и секвенций PDplayer (рис. 3.4.5), можете использовать прямую связь
между VFB и PDplayer. Для этого просто щелкните по кнопке Link VFB to
PDplay­er, а визуализируемое изображение откроется в приложении PDplayer.
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  255

Рис. 3.4.4  Пример применения функции Region Render


в сцене с моделью статуэтки

Рис. 3.4.5  Приложение PDplayer может быть напрямую связно с VFB


256  Знакомство с V-Ray for Maya

Если вы используете режим интерактивной визуализации V-Ray RT, для на-


чала и остановки данного процесса в пределах VFB служит кнопка Start Inter-
active Rendering, доступная на панели инструментов справа вверху. Если про-
цесс визуализации необходимо приостановить, вы можете нажать на данную
кнопку еще раз в процессе визуализации, а на иконке буде отображен символ
паузы. Также вы можете выбрать камеру, из вида которой будет выполнять-
ся визуализация сцены. Для этого просто щелкните ПКМ по кнопке Start In-
teractive Rendering и в раскрывающемся списке выберете желаемую камеру
(рис. 3.4.6). Для того чтобы остановить процесс визуализации, можно просто
щелкнуть по кнопке Stop Rendering.

Рис. 3.4.6  Раскрывающийся список камер,


вызываемый с помощью ПКМ
по кнопке Start Interactive Rendering

А для визуализации сцены с вида активной камеры вы можете щелкнуть по


кнопке Render Last. Также с помощью ПКМ можно выбрать камеру, из вида
которой должна выполняться визуализация сцены.

Панель быстрого доступа к параметрам


Панель быстрого доступа к параметрам, расположенная в самом низу окна
VFB (рис. 3.4.2 C), позволяет быстро получить доступ к основным функциям
VFB и управлению изображением, включая применение оптических эффектов
и коррекцию цвета. Также вы можете сконфигурировать добавление инфор-
мационной подписи к изображению, которая может содержать информацию
о камере, о времени визуализации и другую полезную информацию.
Все основные параметры я рассмотрю по порядку расположения кнопок на
панели слева направо. Первая кнопка отвечает за открытие диалогового окна
Color Corrections (рис. 3.4.2 F), с помощью которого вы можете выполнять кор-
рекцию цвета и применять цветовые профили, изменять изображение с помо-
щью кривых и уровней и многое другое. Кнопка Force Color Clamping позво-
ляет активировать устранение цветов с завышенной яркостью, а если зажать
данную кнопку, то в раскрывающемся списке, вы можете переключиться в ре-
жим View Clamped Colors, который отобразит области с наибольшей яркостью
(рис. 3.4.7).
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  257

Рис. 3.4.7  Режим Force Color Clamping выключен (A),


отображение наиболее ярких областей с помощью режима View Clamped Colors (B)

Кнопка Show Pixel Information позволяет открыть диалоговое окно Pixel


Information (рис. 3.4.8), с помощью которого можно получить всю информацию
о пикселе, над которым находится курсор мыши и вы щелкнули по нему ПКМ.
Также вы можете вызывать данное диалоговое окно, но для временного ото-
бражения, для этого просто щелкните ПКМ по изображению, и в отобразив-
шемся диалоговом окне Pixel Information будет отображена соответствующая
информация о том пикселе, над которым находился курсор.
Хочется обратить ваше внимание на очень полезную функцию, реализо-
ванную в данном инструменте. Когда вы применяете преобразование цветов
из линейного цветового пространства, в котором выполняется визуализация
сцены в цветовое пространство sRGB (активировав параметр Display Colors in
sRGB Space), значения цвета в группе Corrected (значения красным цветом) бу-
258  Знакомство с V-Ray for Maya

дут представлены в величине после преобразования цветового пространства.


Если же преобразование не применяется, значения цвета будут отображены
в исходной величине, аналогичной значениям из группы Pixel X, Y.

Рис. 3.4.8  Диалоговое окно Pixel Information


с информацией о выбранном пикселе

Для более комфортного восприятия информации разработчики предусмо-


трели отображение цветов и значений в наиболее распространенных пред-
ставлениях. Можно узнать цвет в таких представлениях, как значения с пла-
вающей точкой (floating point), значения в 16-bit half float, значения в 8-bit,
значения в цветовой модели HSV, значения, применяемые в WEB.
Коррекцию цвета в изображении можно выполнять напрямую в буфере ка-
дров V-Ray. Для этого вы можете активировать панель Correction Controls с по-
мощью соответствующей кнопки на панели быстрого доступа к параметрам.
Далее включить коррекцию баланса белого с помощью кнопки Use White Ba­
lance correction, а если вам необходимо применить коррекцию цвета на ос-
нове HSL, вы можете использовать кнопку Use Hue/Saturation/Lightness. Для
коррекции цвета в тенях, полутенях и на светлых участках можно использо-
вать группу параметров Color Balance, которую вы можете активировать с по-
мощью кнопки Use Color Balance Correction. Когда необходимо применить
коррекцию яркости, контраста, и уровней, используйте кнопки Use color Level
correction и Use colors Curve correction.
Если используются фоновые изображения для экстерьерной визуализации,
вы можете заменить изображение, помещаемое в качестве окружения сцены
с помощью функции Background Image. Благодаря этой возможности можно
загрузить новое изображение и произвести оценку получаемого результата.
Для активации персонализированного окружающего изображения используй-
те на панели кнопку Use Background Image.
При разработке рабочего процесса на основе определенных цветовых про-
странств и правил трансформации цвета могут быть использованы различные
методики трансформации линейного цветового пространства, в котором вы-
полняется визуализация изображения в то цветовое пространство, которое
используется вами в рабочем процессе. Для этого используйте следующие
функции на панели быстрого доступа к параметрам, сгруппированные в не-
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  259

больших раскрывающихся списках: Use sRGB correction и Use ICC correction, Use
LUT correction и Use OCIO correction – эти функции определяют определенные
режимы трансформации цвета на основе профилей ICC, LUT и файла конфи-
гурации OCIO.
Если вы работаете с большим количеством изображений и создаете различ-
ные варианты изображений, но при этом вам хочется сохранять предыдущие
варианты, можно использовать функцию истории изображений, которая по-
зволяет сохранять и сравнивать визуализируемые изображения. Для быстрого
доступа к панели истории (VFB History Window) на панели быстрого доступа
к параметрам просто щелкните по небольшой кнопке с символом H, именуе-
мой Show VFB history window.
Когда визуализация выполняется в формате изображения и разрешении
с определенным соотношением сторон пикселя, например в анаморфном
формате (Anamorphic), может потребоваться коррекция Pixel Aspect Ratio. Для
этого используйте кнопку Use Pixel Aspect, которая позволяет преобразовать
изображение в правильные пропорции. На рис. 3.4.9 A приведен пример ви-
зуализации сцены в широкоэкранном формате (Anamorphic 2.35:1). В данном
формате применяется формат изображения 2.35:1, а формат пикселя в данном
формате равен 2.0. Это и растягивает изображение по высоте. В иллюстрации
B приведен пример скорректированного изображения, в котором коррекция
была осуществлена с помощью функции Use Pixel Aspect в VFB.

Рис. 3.4.9  Пример влияния функции Use Pixel Aspect на изображение в VFB

Для отображения стереоскопического изображения вы можете активиро-


вать один из двух режимов, поддерживаемых V-Ray, это Stereo red/cyan или
Stereo green/magenta.
Если вы используете эффекты линз и блики, то для этого просто активируй-
те панель Lens Effects с помощью кнопки Open Lens Effects Settings на панели
быстрого доступа к параметрам.
260  Знакомство с V-Ray for Maya

Создание штампов с информацией


Когда вы выполняете множество тестовых визуализаций для поиска наиболее
оптимального соотношения скорости визуализации и качества финального
изображения, полезно знать время, затраченное на визуализацию кадра с вы-
бранным разрешением и выбранными настройками системы визуализации.
Для удобства восприятия информации VFB поддерживает функцию добав-
ления штампов к визуализируемому изображению. Штампы содержат опре-
деленную информацию, которую вы хотите использовать при сравнении не-
скольких вариантов изображения.
Включить и настроить штампы к изображениям можно с помощью панели
быстрого доступа к параметрам, расположенной в нижней области диалого-
вого окна VFB. Панель штампов и управления ими активируется с помощью
кнопки Show Stamp Controls, расположенной в нижнем правом углу окна
VFB. Для того чтобы отобразить штамп в нижней области изображения, щелк­
ните по кнопке Apply Stamp – он отобразится на изображении (рис. 3.4.10).

Рис. 3.4.10  Отображение штампа


с информацией на визуализируемом изображении

По умолчанию отображается информация о версии V-Ray и время, затра-


ченное на визуализацию кадра. Но вы можете использовать свои собственные
представления информации, например добавить собственное имя или доба-
вить краткое описание к изображению, а также добавить информацию об ОС,
ЦП, памяти и количестве граней. Для того чтобы было проще добавить ту или
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  261

иную информацию о системе и процессе визуализации, используйте функцию


Insert Variables, доступную с помощью одноименной кнопки, которая откры-
вает диалоговое окно Stamp Variables Window (рис. 3.4.11).

Рис. 3.4.11  Диалоговое окно Stamp Variables Window

В данном окне можно выбрать одну или несколько переменных и добавить


их к штампу подписи. Выбор переменной выполняется очень просто, для это-
го щелкните ЛКМ по переменной, а если зажать клавишу Ctrl, то вы можете
выбрать несколько переменных. При щелчке по кнопке Copy to stamp вы-
бранные вами переменные будут добавлены к штампу подписи.
Вы также можете изменить положение подписи на штампе, тип и размер
шрифта. Для изменения положения подписи на штампе используйте кноп-
ку с раскрывающимся списком Align Left. Если удерживать данную кнопку,
то в раскрывающемся списке будут отображены режимы выравнивания по
цент­ру и справа (режимы Align Center и Align Right). Для изменения положе-
ния штампа на изображении в целом вы можете использовать кнопку Align
bottom, а при нажатии и удерживании будет предоставлена возможность по-
местить штамп на верхнюю сторону изображения (Align top). Чаще всего поль-
зователи применяют положение штампа снизу, это легче воспринимается при
чтении и не отвлекает от просмотра разрабатываемого образа.
Шрифт, его тип и размер могут быть настроены с помощью диалогового
окна Select Font, вызываемого с помощью кнопки Choose font. По сути, это
аналогичное для многих программ вашей операционной системы диалоговое
окно работы со шрифтами.
На рис. 3.4.12 приведен пример настроенного пользователем штампа, на
котором отображается время визуализации. К нему относятся: версия V-Ray
for Maya, наименование компьютера, на котором выполнялась визуализация,
дата, разрешение изображения и имя камеры, с вида которой выполнялась ви-
зуализация изображения.
262  Знакомство с V-Ray for Maya

Рис. 3.4.12  Пример применения штампа


с различными настройками

Применение оптических эффектов


В реальном мире в процессе фотографирования объектов или пейзажей при
разности температур и конструктивных особенностях объективов на фотогра-
фиях проявляются различные оптические эффекты. Например, отпотевание
объектива формирует эффект, когда на изображении проявляется легкий ту-
ман. В другой момент при прохождении света через систему линз лучи будут
рассеиваться в ней, формируя эффект ореола или дисперсии.
При визуализации сцены и отображении изображения в VFB вы можете ис-
пользовать возможности инструментов панели Lens Effects (рис. 3.4.2 (E)), до-
ступной при нажатии на копку Open Lens Effects settings, находящейся на
панели быстрого доступа к параметрам.
В панели Lens Effects представлено три группы параметров, отвечающих
за создание эффектов свечения и ореолов. Это достаточно функциональный
инструмент, позволяющий воссоздать несколько наиболее распространенных
оптических эффектов.
К одному из таких эффектов относится дымка (туман) (bloom effect), ими-
тирующая покрытие линзы влагой (запотевание). Для управления данным
эффектом используйте группу параметров Bloom Effect в панели Lens Effects
(рис. 3.4.13). Эффект достигается достаточно простым способом, простой ак-
тивацией параметра On и выбора одного из режимов формирования эффекта.
Эффект может быть сформирован на основе изображения, на основе изобра­
жения и прохода визуализации или только на основе прохода визуализации.
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  263

За выбор режима отвечает раскрывающийся свиток Mode. Если выбран режим


Image and Render element или Render Element only, будет сформирован специаль-
ный проход визуализации, именуемый bloom и который вы можете выбрать
в раскрывающемся списке каналов изображения.

Рис. 3.4.13  Группа параметров Bloom Effect


в панели Lens Effects, доступной в VFB

Для увеличения или уменьшения проявления эффекта используйте пара-


метр Weight. Значение выше – эффект дымки будет проявляться сильнее,
значение ниже – эффект дымки будет проявляться незначительно. Значение 0
исключит эффект дымки из изображения.
Когда вы хотите подчеркнуть форму объекта с помощью эффекта Bloom, ис-
пользуйте параметр Size, который позволяет изменять размер эффекта и рез-
кость контуров. Например, когда значение данного параметра большое, вся
область изображения будет заполнена эффектом дымки. В противном случае,
если значение параметра небольшое, эффект будет подчеркивать границы
объектов и ярких участков.
Для увеличения резкости границ эффекта Bloom служит параметр Shape,
который позволяет управлять формой эффекта дымки. Чем выше значение,
тем четче будет подчеркиваться форма объектов.

Рис. 3.4.14  Пример визуализации сцены без эффекта (слева)


и с эффектом Bloom (справа)
264  Знакомство с V-Ray for Maya

Эффект Bloom может быть применен не только к изображению и специаль-


ному проходу визуализации, но и может использовать такую информацию,
как интенсивность (параметр Intensity), информацию об Object ID, формиру-
емую с помощью Object ID render element и информацию о Material ID, также
формируемую и сохраняемую с помощью Material ID render element.
На данный момент V-Ray for Maya не может применять данный эффект по Ob-
ject ID и Material ID. Это обусловлено технической стороной вывода изображения
в буфер кадра. Если вы установите флажок напротив параметра Material ID или
Object ID, то вы увидите надпись «No mask, re-render!». Пользователи V-Ray for 3ds
Max могут полностью использовать данный функционал.

Еще одним наиболее распространенным оптическим эффектом являет-


ся эффект свечения – Glare effect. Эффект свечения образуется вокруг ярких
участков, таких как блики или источники света, и формуется лучами, прохо-
дящими сквозь систему линз объектива. В VFB за это отвечает группа парамет­
ров Glare effect (рис. 3.4.15) в панели Lens effects. Помимо этого, вы можете ис-
пользовать утилиту V-Ray Lens Effects – Filter generator, рассмотренную выше
в разделе 3.3.

Рис. 3.4.15  Группа параметров


для управления эффектом свечения в панели Lens effects

Чтобы активировать эффект свечения, поставьте флажок напротив параме-


тра On. Чтобы избежать спада интенсивности эффекта по углам изображения,
поставьте флажок Fill edges. Аналогично управлению эффектом Bloom сила
проявления эффекта Glare управляется с помощью параметра Weight. А тип
основы для формирования эффекта выбирается с помощью раскрывающегося
списка Type, где вы можете выбрать, на что эффект свечения будет опираться
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  265

при формировании. Так, он может быть сформирован на основе изображения


и его наиболее ярких участков (тип From Image), на основе данных о камере, из
вида которой выполнялась визуализация изображения и сформировано ядро
фильтра (тип From Render camera). Также вы можете использовать параметры
камеры, задаваемые с помощью расположенных ниже в группе Camera Param-
eters настроек. Можно задать величину диафрагмы (параметр F-Number), чис-
ло лепестков диафрагмы (параметр Blades) и задать угол, на который поверну-
ты лепестки диафрагмы камеры (параметр Bl. Rot). Для этого просто выберите
метод построения эффекта по типу Glare type from camera parameters.
Если выбран метод построения эффекта свечения на основе изображения
(тип From Image), становится активным поле для ввода пути к изображению
(параметр Glare Image), шаблона свечения, которое вы можете создать с по-
мощью утилиты V-Ray Lens Effects – Filter Generator.

Рис. 3.4.16  Пример визуализации сцены без эффекта Glare


и с применением эффекта на основе изображения с шаблоном свечения

На рис. 3.4.16 (справа) приведен пример визуализации сцены с примене-


нием эффекта свечения, настроенного с помощью VFB. Заранее было подго-
товлено изображение шаблона свечения с дисперсией света. Оно было импор-
тировано в VFB с помощью параметра Glare image, а сам эффект и сила его
проявления были сконфигурированы с помощью параметров Weight и Size.
Параметр Turn On Diffraction активизирует эффект преломления лучей,
проходящих через прозрачные среды, именуемый дифракцией.
Для того чтобы увеличить реалистичность изображения и эффекта свечения,
можно добавить небольшие царапинки или грязь. Для этого можно использо-
вать параметр Use Obstacle Image, а с помощью текстового поля или кнопки
Load выбрать и загрузить изображение-шаблон, которое позволит воссоздать
форму диафрагмы и препятствий лучам света в виде царапин и грязи на лин-
зах объектива, которые будут оказывать влияние на эффект свечения.
Рисунок 3.4.17 демонстрирует пример применения эффекта свечения на ос-
нове данных камеры, из вида которой выполнена визуализация сцены. Так,
был добавлен эффект дисперсии и такие дефекты, как царапины и грязь.
266  Знакомство с V-Ray for Maya

Рис. 3.4.17  Пример применения


параметров Turn On Diffraction и Use Obstacle Image
для формирования эффекта свечения с дисперсией света

Аналогично эффекту Bloom эффект Glare может быть не только применен


к изображению и специальному проходу визуализации, но также может ис-
пользовать такую информацию, как интенсивность (параметр Intensity), ин-
формацию об Object ID, формируемую с помощью Object ID render element,
и информацию о Material ID, также формируемую и сохраняемую с помощью
Material ID render element.

Рис. 3.4.18  Параметры


для оптимизации скорости обновления
эффектов свечения и дымки

В процессе визуализации или при работе с большими изображениями


с большим количеством элементов, на которых будет проявляться эффекты
свечения, может значительно увеличиться время вычислений данных эффек-
тов. Для оптимизации скорости вычислений вы можете использовать графиче-
ские ускорители, установленные в вашей рабочей станции. Для этого поставь-
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  267

те флажок Hardware Accelerated. Это позволит использовать возможности


OpenCL или CUDA для увеличения скорости вычислений эффектов. Также вы
можете вручную выполнять обновление изображения, для этого снимите фла-
жок с параметра Interactive, а для того чтобы обновить изображение вручную,
просто используйте кнопку Update.

Применение коррекции цвета и управление


цветовыми пространствами
Чаще всего после процесса визуализации художники доводят свою работу до
конца на этапе коррекции и постобработки; наиболее часто применяемыми
пакетами являются Photoshop и After Effects от компании Adobe, NUKE от ком-
пании Foundry, FUSION от компании Blackmagick Design и ряд других. Но зачем
делать обработку изображения в стороннем редакторе, если ее можно выпол-
нять сразу после визуализации в самом буфере кадров? Для решения данного
вопроса разработчики V-Ray реализовали наиболее часто используемые для
обработки изображений инструменты управления цветом, яркостью изобра-
жения и другими параметрами (рис. 3.4.19).
Все параметры распределены по определенным группам, представленным
свитками. Так вы можете использовать только те параметры, которые наибо-
лее предпочтительны вам в процессе работы. Также вы можете использовать
функцию создания шаблонов. Для создания шаблонов используйте кнопку
Globals… – при щелчке мышью по данной кнопке в раскрывающемся меню
вы можете сохранить или загрузить шаблон параметров для коррекции цве-
том или профиль цветового пространства в виде LUT-файла. Это делается
с по­мощью пунктов Save и Load. Если вам предпочтительней работать с мно-
жеством параметров в отдельном окне, в том же меню можно использовать
параметр Dock Color Corrections, сняв с него флажок.
Одной из наиболее частых операций по коррекции изображения является
изменение интенсивности освещения и яркости. Изображения в V-Ray визуа­
лизируются в линейном цветовом пространстве, и пользователю доступны
точные инструменты для управления яркостью и контрастом изображения.
Базовые инструменты для контроля экспозиции и контраста представлены
в свитке параметров Exposure (рис. 3.4.19 A). Эти параметры применяются для
коррекции экспозиции и контраста изображения. Параметр Exposure со зна-
чением 0.0 представляет величину экспозиции оригинального изображения,
а увеличение данного параметра до значения +1.0 увеличит яркость изображе-
ния, в то же время уменьшение значения до –1.0 уменьшит яркость изображе-
ния. Параметр Highlight Burn позволяет выполнять коррекцию экспозиции
в наиболее ярких участках изображения. Положительные значения параметра
Contrast смещают цвет от среднего значения серого, чтобы увеличить кон-
трастность изображения, а отрицательные значения приближают цвета ближе
к среднему серому.
Рисунок 3.4.20 демонстрирует пример влияния настроек параметров груп-
пы Exposure на визуализируемое изображение. Рисунок слева демонстрирует
изображение, полученное по завершению процесса визуализации. На рисунке
268  Знакомство с V-Ray for Maya

справа приведен пример результата, получаемого после применения коррек-


ции изображения с помощью экспозиции и контраста. Для получения данного
результата были использованы следующие значения: Exposure = 1.25, Highlight
Burn = 0.55, Contrast = 0.2.

C
F

E I

Рис. 3.4.19  Основные группы параметров панели Color Corrections в VFB.


Каждая из групп позволяет выполнять управление
несколькими ключевыми параметрами изображения
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  269

Рис. 3.4.20  Пример коррекции изображения


с помощью параметров группы Exposure

Для того чтобы вернуть все параметры группы в состояние по умолчанию, ис-
пользуйте раскрывающийся список Options, расположенный в правом верхнем
углу каждой из групп параметров, рядом с кнопкой Show/Hide. В данном меню вы
можете восстановить все настройки всех параметров по умолчанию, пункт Reset,
а также сохранить или загрузить шаблон, пункты Save Preset и Load Preset.

В фотографии достаточно часто используется коррекция изображения


с помощью баланса белого. Баланс белого позволяет изменить температуру
изобра­жения от холодного к теплому. По умолчанию используется температу-
ра в 6500° K, что соответствует белому цвету без каких-либо смещений. Управ-
ление балансом белого в VFB осуществляется с помощью группы параметров
White Balance, в которой представлен одноименный параметр (рис. 3.4.19 B).

Рис. 3.4.21  Пример использования параметра White Balance


для изменения цветовой температуры

Для того чтобы изменить цветовую температуру изображения, просто пере-


мещайте слайдер параметра White Balance влево или вправо. При перемеще-
нии слайдера к теплому оттенку изображение будет обретать холодный тон,
а при перемещении слайдера к холодному оттенку (повышение температуры)
изображение будет теплее. На рис. 3.4.21 приведен пример изображений после
изменения баланса белого. В изображении слева балансу белого было присвое-
но значение в 3800° K, что приравнивается к люминесцентной лампе. Изобра-
жение по центру использует баланс белого, которому соответствует величина
в 6500° K, являющаяся эквивалентом стандартному источнику дневного бе-
лого света, а изображение справа использует смещение баланса белого в хо-
270  Знакомство с V-Ray for Maya

лодную сторону и составляет 9500° K, что соответствует синему безоблачному


небу на северной стороне перед восходом солнца.
Тон и насыщенность цветов в изображении играют важную роль в переда-
че и представлении идеи художника. Фотографы и иллюстраторы часто ис-
пользуют инструментарий для коррекции тона, насыщенности и яркости изо-
бражения. В VFB вам доступна специальная группа параметров, Hue/Saturation
(рис. 3.4.19 C). С помощью данной группы параметров вы можете изменять
тон, насыщенность и яркость изображения на основе HSL-трансформации
цветов изображения.
Перемещая слайдер Hue, будет изменяться общий тон цветов изображения
(серые цвета остаются без изменений). Низкие значения параметра Satura-
tion смещают цвета изображения к оттенкам серого, в то же время высокие
значения увеличивают насыщенность цветов. Высокие значения параметра
Lightness добавляют белый к изображению, тогда как низкие значения ис-
ключают белый цвет из изображения.

Рис. 3.4.22  Применение параметров группы Hue/Saturation


для коррекции цветов изображения

Так как используемое в данном разделе изображение достаточно насыщен-


но и контрастно, было принято решение сделать его немного теплее и умень-
шить насыщенность и контрастность (рис. 3.4.22, справа). Для этого были ис-
пользованы параметры группы Hue/Saturation. Параметр Hue был смещен на
семь шагов в сторону синего цвета, что позволило сделать изображение более
теплым, а параметру Saturation, наоборот, было присвоено отрицательное
значение, так как необходимо было уменьшить насыщенность цветов, это
значение было –0.2. А параметру Lightness было присвоено значение 0.02,
чтобы слегка уменьшить контрастность изображения и сформировать лег-
кий эффект дымки. Таким образом, как вы можете видеть, после применения
коррекции на основе HSL-трансформации цвета удалось достичь своеобраз-
ного смягчающего эффекта и уменьшить насыщенные цвета в текстурах на
модели вагона.
Еще одной методикой изменения цветов в изображении является коррек-
ция цвета, выполняемая как на уровне всего изображения, так и в таких обла-
стях, как тени, средние тона и светлые участки. В VFB для этого используется
группа параметров Color Balance (рис. 3.4.19 D), которая содержит три слайде-
ра, охватывающих диапазоны по основным цветам.
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  271

Параметры контролируют общий цветовой тон изображения, а также тон


темных цветов средних тонов и ярких цветов. Коррекция цвета применима
как ко всему изображению (режим All) и оказывает влияние на все цвета изо-
бражения, так и для коррекции в режимах Shadows/Midtones/Highlights, тем са-
мым корректируя индивидуально каждую компоненту поверх режима All.

Рис. 3.4.23  Пример коррекции изображения


с помощью параметров группы Color Correction

При коррекции изображения с помощью параметров Color Correction вы мо-


жете изменять цвет в таких областях, как тени и средние тона, что актуально
при имитации определенных типов пленки (фото- и кинопленки). Они помо-
гают подать образ с помощью определенных цветовых решений, визуально
приближающих к изображению, получаемому с помощью фотопленки и хи-
мических реагентов, используемых при проявке.
Рисунок 3.4.23 демонстрирует пример влияния параметров группы Color Cor-
rection на изображение, когда коррекции были подвергнуты как все изображение,
так и отдельные его компоненты. При коррекции данного изображения параме-
тры в тенях приближены к холодным оттенкам цвета (голубому и синему), в сред-
них тонах цвет был смещен ближе к зеленоватому оттенку, а в светлых областях
цвет был скорректирован под зеленовато-голубой (бирюзовый) оттенок. Цвет
всего изображения был скорректирован ближе к красному оттенку, что позволи-
ло увеличить насыщенность ярких цветов в центральной области изображения.
С помощью группы параметров Levels (рис. 3.4.19 E) выполняется коррек-
ция Уровней (Levels) которая используется для изменения тонов и цветово-
го баланса изображения путем регулировки уровней интенсивности в тенях,
средних тонах и в светлых участках изображения. Гистограмма в группе пара-
метров Levels представляет собой визуальный ориентир для коррекции клю-
чевых тонов визуализируемого изображения.
Для лучшего восприятия гистограммы, находящейся в группе параметров
Levels, вы можете использовать СКМ. Для этого просто зажмите СКМ и пере-
мещайте мышь вверх или вниз. В процессе перемещения мыши граф гис­
тограммы будет менять свой масштаб, что позволяет охватить весь диапа-
зон цветов изображения. Помимо этого, вы можете отобразить гистограмму
изобра­жения по отдельным цветам, тем самым у вас есть возможность вы-
полнять более точные операции по трансформации цвета, ориентируясь на
информацию о каждом из каналов.
272  Знакомство с V-Ray for Maya

Перемещая два слайдера, расположенных ниже гистограммы, будет оказано


воздействие на цвета изображения. Если щелкнуть ЛКМ при нажатой кнопке
Ctrl, в области градиента между двумя слайдерами, будет добавлен новый слай-
дер между ними. Для удаления слайдера используйте комбинацию Shift+ЛКМ.

Рис. 3.4.24  Пример влияния инструментов группы Levels


на точность передачи деталей в изображении

Рассмотрим небольшой пример применения параметров группы Levels. По-


сле применения коррекции цвета с помощью экспозиции, баланса белого, сме-
щения тонов и цветового баланса был утрачен контраст и некоторые детали.
Для устранения данного недостатка была применена коррекция с по­мощью
уровней. Чтобы усилить резкость, добавить детали к деревьям и выделить
темные участки, слайдер в тенях был перемещен на величину 0.01, правый
слайдер (области светлых участков) был перемещен ближе к центру до вели-
чины 0.90. В то же время были добавлены два новых слайдера со значениями
0.35 и 0.60 соответственно. В результате было получено изображение, пред-
ставленное справа на рис. 3.4.24, наглядно демонстрирующем различие между
изображением без коррекции с помощью уровней и с наличием таковой.
И завершающим набором инструментов коррекции изображений, доступ-
ных в VFB, является группа параметров Curves (рис. 3.4.19 F). Как и в редакторе
Adobe Photoshop, кривые позволяет выполнять коррекцию изображения, из-
меняя точки и оказывая влияние во всем тональном диапазоне изображения.
Кривые в VFB позволяют вам переопределять цвета изображения с помощью
аналогичной редактору Photoshop кривой Безье. Для управления вам также
предоставляется возможность сохранения и загрузки настроек кривых в фор-
мате *.acv и последующем использовании его совместно с Adobe Photoshop.
Для управления отображение кривой используйте колесо прокрутки мыши.
Для увеличения или уменьшения масштаба (рис. 3.4.25) просто прокрутите коле-
со мыши. Для того чтобы переместить граф кривой, просто зажмите СКМ и пере-
мещайте мышь – когда она примет символ руки, граф последует за курсором.
Для управления кривыми и точками Безье просто выделяйте их, щелкая по
ним ЛКМ. Для выделения нескольких точек на кривой просто перемещайте
мышью с зажатой ЛКМ и выделяйте точки с помощью прямоугольной рам-
ки. Для добавления новой точки в индивидуальном порядке просто зажмите
кнопку Ctrl и щелкните мышью по кривой в том месте, где вы желаете доба-
вить точку. Для того чтобы удалить точку, выделите ее и просто используйте
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  273

клавишу Delete на клавиатуре, также вы можете зажать клавишу Shift и, щел-


кая по желаемым точкам, удалять их. Когда точка выделена, вы можете ис-
пользовать поля для ввода точных координат точки (верхний правый угол)
и ее расположения на кривой.
Если щелкнуть по выделенной точке на кривой, то в раскрывающемся кон-
текстном меню вы сможете изменить тип точки, вам доступны типы Free,
Bezier и Bezier-smooth. А для восстановления контрольных ручек точки Безье
используйте команду Reset Tangents.
Если ни одной точки на кривой не выделено, при щелчке ПКМ в области
графа кривой вы сможете использовать полное контекстное меню с разноо-
бразными функциями (рис. 3.4.26 B).

Рис. 3.4.25  Применение СКМ


для управления отображением кривой в графе

A B

Рис. 3.4.26  Контекстные меню доступные при щелчке ПКМ


при выделенной точке кривой (A) и в области графа (B)
274  Знакомство с V-Ray for Maya

Рисунок 3.4.27 демонстрирует пример влияния кривых на контрастность


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

Рис. 3.4.27  Пример влияния кривой


на основе пяти точек на изображение (справа)

Таким образом, после коррекции на основе кривой удалось уменьшить кон-


траст в мелких деталях и выровнять освещение на деревьях.
Если необходимо взглянуть на визуализируемую сцену с другим окружени-
ем, что может быть полезно при работе с экстерьерами, вы можете использо-
вать возможности группы параметров Background Image (рис. 3.4.19 G). Данная
группа параметров служит для того, чтобы можно было заменить фон, фор-
мируемый с помощью V-Ray Sky или с помощью функции Environment Over-
ride. Обычно такая возможность реализуется, если присутствует альфа-канал,
и в областях, где нет геометрии и других элементов 3D-модели, которые будут
формировать непрозрачные области.
С помощью кнопки Load вы можете выбрать файл изображения, которое
будет использовано для отображения в качестве фона. Кнопка Clear по-
зволяет очистить путь к файлу изображения и убрать выбранное фоновое
изображение. Если изображение содержит альфа-канал и вы хотите исполь-
зовать его поверх визуализированного изображения, поставьте флажок As
Foreground.

Применение цветовых пространств


и систем управления цветом
В первой главе мы подробно рассматривали рабочий процесс на основе нели-
нейного цветового пространства и системы управления цветом Maya. Но сей-
час мы рассмотрим данный вопрос в отношении системы визуализации V-Ray
и ее родного буфера кадров, реализуемого с помощью VFB.
Так как V-Ray является независимой системой визуализации, он поддержи-
вает реализацию управления цветом не только за счет применения инстру-
ментов Maya, но и на основе собственных инструментов, таких как трансфор-
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  275

мация цвета из нелинейного цветового пространства в линейное и обратная


трансформация в желаемое цветовое пространство на этапе отображения или
сохранения файла изображения.
О преобразовании текстурных карт и их подготовке к визуализации под-
робно раскрывается в пятой главе данной книги, посвященной шейдерам ма-
териалов и текстур. Здесь же мы поговорим о преобразовании цвета примени-
тельно к визуализируемому изображению, отображаемому в VFB.
Буфер кадров V-Ray поддерживает несколько методик преобразования/
трансформации цветовых пространств, которые опираются как на базовые
принципы с максимально доступным и понятным для большинства пользо-
вателей подходом, так и значительно более продвинутые методы преобра-
зования цвета на основе специально подготовленных типов данных и про-
филей.
Первой группой параметров, отвечающей за преобразование цветов и да-
ющей возможности для подбора стилистически подходящей трансформации
цветов, является группа параметров LUT (Look Up Table) (рис. 3.4.19 H). Ко-
нечно, это не просто инструмент для загрузки заранее подготовленных про-
филей и параметров для правильной коррекции цветов, но также это и гибкий
инструмент для профессиональной коррекции цвета, которая может потребо-
ваться при работе с материалом, отснятым на реальную камеру и требующим
объединения с CG-элементами и окружением.
Для таких задач создаются Look Up Tables, которые содержат информацию
о цвете и его преобразовании. Они могут быть созданы как для оптимизации
работы с материалом, снятым на определенную модель камеры, так и для
придания определенной стилистики изображению. Обычно LUT представле-
ны файлами в формате *.cube и могут быть использованы в редакторе видео
или растровом редакторе, поддерживающем работу с LUT, например с Adobe
Premiere Pro или Adobe Photoshop. В VFB вы можете активировать группу па-
раметров LUT и далее с помощью кнопки Load выбрать желаемый файл в фор-
мате *.cube. А с помощью кнопки Clear очистить данные о LUT и удалить путь
к выбранному файлу.
Для правильной трансформации цвета может потребоваться преобразова-
ние цветового пространства в Log Color Space (сокращенно от Logarithmic), для
этого поставьте флажок Convert To Log Space Before Applying LUT.

Рис. 3.4.28  Пример трансформации цвета с помощью LUT


276  Знакомство с V-Ray for Maya

Рассмотрим пару небольших примеров. На рис. 3.4.28 приведен пример


применения трансформации цвета с помощью профиля LUT. На изображении
слева приведено изображение в линейном цветовом пространстве без преоб-
разования последнего. В данном примере была изменена только экспозиция,
которая была увеличена на +1.25 для увеличения яркости изображения. Для
демонстрации был использован профиль, делая изображение теплее и кон-
трастнее (справа), но также уменьшая контрастность в темных тонах, повышая
детализацию изображения.
Обратите внимание на важный момент. Если коррекция изображения осу-
ществляется в стороннем редакторе, а в VFB применение LUT возможно только
для демонстрации и просмотра изображения, важно помнить одно существен-
ное ограничение. На рис. 3.4.29 A приведен пример коррекции изображения,
сохраненного в формате 32-bit OpenEXR и открытого в Adobe Photoshop CC.
Если сравнить изображение, полученное после визуализации (рис. 3.4.29 B)
и к которому была применена коррекция с помощью LUT в VFB, вы заметите,
что есть значительные различия в небе. Это объясняется механизмами транс-
формации цвета, реализованными в Adobe Photoshop, лучше преобразовыва-
ются цвета 16-bit или 8-bit изображений. А дополнительно можно использо-
вать корректирующие слои, чтобы изменить экспозицию и профиль LUT.

Рис. 3.4.29  Различия между преобразованием цвета


с помощью LUT в Photoshop CC (A) и в VFB (B)

Буфер кадров V-Ray в первую очередь работает с данными 32-bit floating


point, что позволяет оперировать с обширным диапазоном цветов. В отличие
от классических растровых редакторов поддержка широкого диапазона цве-
тов позволяет выполнять правильную трансформацию цветов в таких обла-
стях, как светлые участки или тени, иногда требующие детали при повышении
контраста или увеличении яркости.
В первой главе мы подробно рассмотрели применение системы управления
цветом Maya Color Management System, данная система поддерживает систему
OCIO. Для правильной трансформации цвета и оптимизации процессов визуа-
лизации под используемый на производстве рабочий процесс VFB также под-
держивает трансформацию цвета с помощью системы OCIO. Для этого служит
группа параметров OCIO (рис. 3.4.19 I).
Система OpenColorIO позволяет управлять цветом на каждом из этапов про-
изводства компьютерной графики и постобработки. Визуализация выполня-
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  277

ется в специально проработанном линейном пространстве ACEScg. Также сто-


ит отметить, что то, что мы увидим в VFB после применения трансформации
цвета на основе OCIO, должно отобразиться аналогичным образом и в прило-
жении для монтажа и постобработки.

Рис. 3.4.30  Результаты применения трансформации цвета


на основе конфигураций OCIO ACES 1.0.1 в NUKE (слева) и VFB (справа)

Рисунок 3.4.30 демонстрирует важность применения единых окружений для


достижения оптимальной производительности работы художника. На рисунке
слева представлен пример преобразования цвета в редакторе NUKE. В данном
редакторе был выбран файл конфигурации ACES 1.0.1. В данном процессе для
представления цвета визуализируемых изображений используется профиль
ACES–ACEScg. Данный профиль специально создан для работы с изображения-
ми, полученными с помощью компьютерной визуализации. А в качестве транс-
формации цвета в буфере кадра был использован профиль Rec.709 D60 sim. Ана-
логичные конфигурации были выполнены для трансформации цвета в VFB.
Помимо трансформации цвета, была применена коррекция экспозиции
с увеличением на +1.25 шага. Это позволило сделать изображение ярче. Но
при этом стоит заметить, что применение трансформации цвета из линейного
цветового пространства в Rec.709 D60 sim. обеспечило насыщенность цветов.
Параметр Input color space позволяет выбирать входящее цветовое прост­
ранство для визуализируемого изображения. Обычно это линейное цветовое
пространство, с которым всегда работает V-Ray.
Параметр Display device предоставляет возможность выбрать устройство,
на которое будет выводиться буфер кадров VFB.
С помощью параметра View transform задается цветовое пространство,
в которое будут трансформированы цвета из цветового пространства, опреде-
ленного параметром Input color space.
Если в рабочем процессе используются растровые редакторы наподобие
Adobe Photoshop CC, то в их арсенале обязательно будет присутствовать под-
держка управления цветом на основе ICC-профилей (International Color Con-
sortium). В VFB также реализована поддержка профилей ICC (файлы в формате
*.icc). Для этого необходимо использовать свиток ICC (рис. 3.4.19 J), в котором
добавление профиля осуществляется с помощью кнопки Load. Опция Clear
278  Знакомство с V-Ray for Maya

позволяет отменить применение коррекции на основе ICC-профиля и убрать


выбранный файл. Помимо этого, в группе параметров ICC можно выбрать ме-
тод представления и обработки изображения. Это выполняется с помощью
раскрывающегося списка Rendering Intent.
Для трансформации цвета в VFB реализовано несколько методов обработки:
1) тип Perceptual, его иногда называют фотографическим, оказывает воз-
действие на цвет наиболее естественным для человеческого зрения об-
разом. Гамма цветового пространства исходного изображения транс-
формируется до выходного цветового пространства. Это преобразует
цвета с исходной величиной гаммы в цвета с желаемой величиной гам-
мы. Цвета на границах гамма-кривой или рядом с ними также будут из-
менены, чтобы провести различие между ними. Это, как правило, дает
хороший и приемлемый в большинстве случаев результат. Разработчи-
ки программного обеспечения, поддерживающего ICC-профили, могут
достичь разных результатов с типом Perceptual. В частности, профили,
созданные в более старых версиях программного обеспечения, могут
формировать недостаток насыщенности;
2) тип Relative Colorimetric. Этот тип будет отображать точку белого
в изображении относительно точки исходного. Точка белого исходного
цветового пространства будет сопоставляться с точкой белого в выво-
димом изображении и другими цветами, масштабируемыми по отно-
шению к ней. Его можно использовать в задачах, связанных с тестовой
проверкой, когда не требуется точное воспроизведение системы выво-
да. Он часто используется с изображениями, полученными с помощью
цифровой камеры. Совместно с данным типом всегда используйте пара-
метр Black Point Compensation, доступный в VFB;
3) тип Saturation вытягивает насыщенные цвета к границе гаммы, тем
самым увеличивая насыщенность, или «силу», цвета. Он предназначен
для использования в векторной графике, т. е. при создании логотипов,
линейных рисунков и т. д. И практически не используется для высоко-
детализированных изображений с фотографическим качеством (поми-
мо тех целей, когда необходимо достичь определенных эффектов) и при
проверке цветов;
4) тип Absolute Colorimetric должен использоваться только в ситуациях
«точной проверки», например при создании профиля для имитации
коммерческого печатного станка. При просмотре и тестах обычно име-
ется большая цветовая гамма как в обычном струйном принтере, по
сравнению с печатным прессом, который должен быть сымитирован.
Так что выход цветов за пределы гаммы является редкой проблемой.
Данный тип будет имитировать «освещенность» и «белый» цвет бумаги,
напечатав «оттенок» этого цвета, если это необходимо. Хотя данный тип
очень точен колориметрически, некоторые зрители могут задавать во-
прос о появлении «тонировки бумаги». Он также не будет абсолютно без
сжатия в темных тонах/цветах. Я бы не советовал использовать этот тип
для воспроизведения изображений с цифровой камеры или после визу-
ализации, поскольку они, вероятно, будут воспроизводиться слишком
«плоскими» с очень темными бликами.
Рабочий процесс с V-Ray for Maya и V-Ray Frame Buffer  279

Функция Black Point Compensation в Photoshop используется при преоб-


разовании отдельных изображений из RGB в CMYK, например при подготовке
файла к печати. Он используется для автоматического сопоставления входной
черной точки с профилем вывода (дисплея или печатного устройства). Обыч-
но входное цветовое пространство будет иметь более темную черную точку,
чем выходное. Если Black Point Compensation не используется, области в тенях
могут быть заполнены, теряя детали при воспроизведении.

Рис. 3.4.31  Влияние различных ICC-профилей на отображение цветов изо-


бражения в VFB. Иллюстрация A – Adobe RGB 1998, иллюстрация B – ICC-про­
филь для монитора EIZO FlexScan EV2450

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


ICC-профилей для трансформации цвета, визуализированного с помощью
V-Ray. На рис. 3.4.31 A приведен пример применения ICC-профиля Adobe RGB
1998, разработанного компанией Adobe и используемого в современных циф-
ровых фотокамерах и при обработке цифровых изображений. В то же время
иллюстрация B демонстрирует применение другого ICC-профиля, созданно-
го специально для определенной модели монитора. Обратите внимание, что
ICC-профиль для дисплея FlexScan EV2450 обладает лучшим охватом цветом
в красном диапазоне, тем самым увеличивая насыщенность оранжевых и крас-
ных тонов на модели вагона. Данная особенность заключается в том, что для
данного монитора был создан собственный профиль с помощью системы коло-
риметрии. Но по умолчанию данный дисплей использует стандарт sRGB.
Если резюмировать, то, используя представленный в данной главе материал,
вы можете быстро приступить к работе с ключевыми возможностями и функ-
ционалом V-Ray for Maya и хорошо разобраться с основным функционалом клю-
чевого инструмента системы визуализации – буфером кадров. Буфер кадров
V-Ray является одним из наиболее функциональных решений и предоставляет
множество инструментов для проведения манипуляций с изображениями.
Следующая глава целиком рассматривает ключевые принципы работы
V-Ray, алгоритмы выборки и специализированные возможности, такие как
работа с геометрией и специальные инструменты для кеширования и импор-
та различных данных, созданных в различных редакторах, поддерживающих
визуализацию с помощью V-Ray.
Глава 4
Геометрия, выборка
и качество изображений

В этой главе вы узнаете о:


 поддерживаемых V-Ray типах геометрии;
 алгоритмах визуализации V-Ray;
 методах выборки и фильтрации изображения;
 локальных (для объектов) атрибутах V-Ray;
 настройке транслятора V-Ray for Maya.
В четвертой главе вы познакомитесь с основными возможностями V-Ray for
Maya, реализующими управление выборкой, тесселяцией геометрии, создани-
ем прокси-геометрии и многими другими функциями. Как известно, создание
сцены в 3D-редакторе начинается с создания геометрических форм, которые
впоследствии будут преобразованы в набор пикселей с помощью инструмен-
тов, предоставляемых системой визуализации. Система визуализации V-Ray
поддерживает все основные типы геометрии, присущие современным при-
ложениям компьютерной графики, – полигональные поверхности, NURBS-
по­верх­но­сти и подразделенные поверхности (Subdivision Surfaces). Главная
задача системы визуализации – получить данные о положении вершин в трех-
мерном пространстве, экспортировать назначенные им материалы в виде
шейдеров, определить положение и параметры источников света и камер; на
каждом из этих этапов в игру вступают алгоритмы построчной визуализации,
трассировки луча и алгоритмы для вычисления глобального (непрямого) осве-
щения. В пакете Autodesk Maya реализованы все основные технологии модели-
рования трехмерных объектов. Особое внимание уделяется полигональному
моделированию и применению поверхностей подразделения. Это обусловле-
но тем, что пакет Maya распространен в среде аниматоров и CG-художников,
специализирующихся на создании цифровых персонажей, и получил широкое
признание среди пользователей.

4.1. Поддерживаемые V-Ray типы геометрии


Если вы работаете с Maya в качестве специалиста по моделированию геоме-
трии, вам хорошо известны основные типы геометрии, реализованные и под-
держиваемые программой. Сейчас Autodesk Maya предоставляет следующие
Поддерживаемые V-Ray типы геометрии  281

типы геометрии: полигональная геометрия, подразделенные поверхности,


OpenSubdiv и NURBS. В основе поверхностей подразделения лежат полиго-
нальные поверхности с определенными методами тесселяции. Каждый метод
тесселяции обладает своими достоинствами и недостатками. Модели, созда-
ваемые с помощью NURBS, опираются на построение поверхностей на основе
кривых (сплайнов), благодаря чему могут быть достигнуты плавные геометри-
ческие формы, что популярно в промышленном дизайне. А техники, исполь-
зующие полигоны и их тесселяцию, часто применяются в создании цифровых
персонажей и моделей в категории hard surface.
На рис. 4.1.1 приведен пример визуализации полигональной модели, к ко-
торой применены два метода тесселяции. Иллюстрация B демонстрирует ре-
зультат применения классического метода тесселяции на основе алгоритма
Maya Catmul-Clark, а на иллюстрации C приведен пример тесселяции геоме-
трии с применением алгоритма OpenSubdiv. Стоит отметить важный момент,
что V-Ray по умолчанию не поддерживает визуализацию геометрии, если ак-
тивен режим тесселяции в окне проекции, вызываемый нажатием кнопки 3
на клавиатуре.

Рис. 4.1.1  Визуализация полигональной геометрии с применением различ-


ных методов тесселяции. A – стандартная модель, без тесселяции, B – тессе-
ляция с помощью Maya Catmul-Clark, C – тесселяция с помощью OpenSubdiv

Для того чтобы V-Ray выполнял визуализацию геометрии, к которой при-


менено сглаживание, используйте инструмент Smooth, доступный в меню
Mesh ⇒ Smooth ⇒ □ – данный инструмент добавляет узел polySmoothFace в граф
модели, – или установите флажок напротив атрибута Viewport Subdivision
в глобальных настройках системы визуализации. Рекомендую использовать
сглаживание после создания основной модели и не удалять узел сглаживания,
так как впоследствии он может помочь в изменении основных алгоритмов
сглаживания и оптимизации процесса визуализации сцены и используемой
памяти.
Так как сглаженные модели могут увеличить объем сцены, что обусловлено
увеличением числа вершин, ребер и граней, при выборе определенного ядра
визуализации рекомендуется присмотреться к его возможностям по тесселя-
ции геометрии. Система визуализации V-Ray предоставляет собственные ин-
282  Геометрия, выборка и качество изображений

струменты тесселяции, когда визуализация выполняется не на уровне работы


с геометрией, а на уровне процесса визуализации как перед началом визуали-
зации, так и в процессе.

Рис. 4.1.2  Визуализация полигональной геометрии с применением различ-


ных методов тесселяции, доступных в V-Ray for Maya. A – Subdivision, B – Open-
Subdiv, C – OpenSubdiv с активным атрибутом Osd Preserve Geometry Borders

Рассмотрим основные инструменты сглаживания и тесселяции геометрии,


доступные в V-Ray for Maya. Доступ к методам сглаживания геометрии можно
получить с помощью меню редактора атрибутов Attributes ⇒ V-Ray. За инстру-
менты тесселяции геометрии в V-Ray отвечает несколько групп дополнитель-
ных атрибутов, которые могут быть добавлены с помощью указанного выше
меню. Основные атрибуты для методов сглаживания представлены следую-
щими группами: Subdivision, Subdivision and Displacement Quality, Displacement
control и OpenSubdiv.
Для того чтобы понимать, о чем пойдет речь далее, необходимо разобрать-
ся, в чем заключается различие между сглаживанием геометрии и тесселяцией
с трансформацией положения вершин геометрии. Это важно, так как огром-
ное количество деталей может быть добавлено с помощью текстурных карт,
которые выполняют увеличение плотности полигональной сетки и трансфор-
мации положения вершин.
На рис. 4.1.3 приведен пример визуализации модели, к которой применена
текстурная карта рельефности на основе карты нормалей (normal map) и при-
мер визуализации модели, к которой применены карты смещения и нормалей.
Карта смещения выполняет тесселяцию геометрии и трансформацию поло-
жения вершин на расстояние, определяемое цветом текстурной карты. Карта
нормалей формирует мелкие детали, когда необходимо дополнить модель, но
при этом нельзя добавлять лишних полигонов, что требует повышения уровня
тесселяции и увеличение количества полигонов, что может вызвать перерас-
ход оперативной памяти.
Карты смещения и карты нормалей могут быть получены с помощью прило-
жений цифровой лепки (скульптинга) и рисования текстурных карт. Система
визуализации V-Ray поддерживает визуализацию текстурных карт, получае-
мых из таких приложений, как ZBrush, Mudbox, MARI, Photoshop и др.
Поддерживаемые V-Ray типы геометрии  283

А B

Рис. 4.1.3  Различие между сглаживанием и тесселяцией со смещением


(Displacemnet). A – геометрия модели, просто сглажена с помощью V-Ray Open­
Subdiv, на иллюстрации B – геометрия сглажена и трансформируется с помо-
щью карты смещения (Displacement map)

Если вы используете возможности моделирования с помощью NURBS-по­


верхностей, то система визуализации V-Ray обеспечит вас возможностью
визуализации моделей на основе NURBS-поверхностей без дополнительного
преобразования в полигональную поверхность.

Рис. 4.1.4  Пример визуализации NURBS модели с помощью V-Ray и различ-


ными значениями атрибута Max tessellation depth. Иллюстрация A – Max tessel-
lation depth = 2, B – Max tessellation depth = 12, C – Max tessellation depth = 22

Здесь стоит заметить, что при уменьшении уровня тесселяции вы получае­


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

Если нужно выполнять визуализацию с помощью автономной версии V-Ray


Standalone, необходимо понимать, как данные типы геометрии будут пред-
ставлены при экспорте сцены. Это важно, так как оба типа представляются
по-разному и содержат различные наборы данных.
Листинг, представленный ниже, демонстрирует запись данных о полиго-
нальной геометрии. В формат V-Ray Scene был экспортирован объект полиго-
нальной сферы.
GeomStaticMesh pSphereShape1@mesh2 {
vertices=ListVector(
Vector(1.487781, -9.876884, -0.4834094),
Vector(1.265582, -9.876884, -0.9194993),
Vector(0.9194993, -9.876884, -1.265582),
Vector(0.4834094, -9.876884, -1.487781),
...
Vector(1.48778, 9.876884, 0.4834091),
Vector(1.564345, 9.876884, 0),
Vector(0, -10, 0),
Vector(0, 10, 0)
);
faces=ListInt(0,1,21,0,21,20,1,2,22,1,22,…,381,378,379,381,379,360,381);
normals=ListVector(
Vector(0.1905547, -0.9797221, -0.06191473),
Vector(0.1620954, -0.9797221, -0.1177692),
Vector(0.2698702, -0.9427226, -0.1960723),
Vector(0.3172516, -0.9427226, -0.1030809),
...
Vector(0.1905547, 0.9797221, 0.06191506),
Vector(0.200361, 0.9797221, 1.457448e-008),
Vector(-1.612272e-008, -1, 1.301614e-007),
Vector(-1.926861e-008, 1, -6.154159e-008)
);
faceNormals=ListInt(0,1,2,0,2,3,1,4,5,1,5,…,381,378,379,381,379,361,381);
map_channels=List(
List(
0,
ListVector(
Vector(0, 0.05, 0),
Vector(0.05, 0.05, 0),
Vector(0.1, 0.05, 0),
Vector(0.15, 0.05, 0),
...
Vector(0.875, 1, 0),
Vector(0.925, 1, 0),
Vector(0.975, 1, 0),
Vector(0, 0, 0)
),
ListInt(0,1,22,0,22,21,1,2,23,1,23,22,…,396,397,437,397,398,438)
)
);
map_channels_names=ListString(
Поддерживаемые V-Ray типы геометрии  285

"map1"
);
edge_visibility=ListInt(869219571,869219571,869219571,869219571,…,1073741823, 1073
741823,1073741823,1073741823);
primary_visibility=1;
dynamic_geometry=0;
first_poly_vertices=ListInt();
}
Node pSphereShape1@node {
transform=Transform(Matrix(Vector(1, 0, 0), Vector(0, 1, 0), Vector(0, 0, 1)),
Vector(0, 0, 15));
geometry=pSphereShape1@mesh2;
material=VRayMtl1@material;
nsamples=1;
visible=1;
user_attributes="";
scene_name=ListString(
"pSphereShape1",
"scene/pSphere1/pSphereShape1"
);
}
Вершины представлены записями координат в блоке vertices=ListVector().
В блоке каждая вершина определена записью Vector(). Грани полигональной
поверхности представлены блоком faces=ListInt(), каждое значение в данном
блоке является вершинами граней, формирующими треугольник, из которо-
го состоит полигон. Как вы помните, каждая из четырехугольных граней со-
стоит из двух треугольников и двух нормалей. Нормали определены блоком
normals=ListVector(), где каждая из нормалей определена координатами, кото-
рые являются центром треугольной грани. Текстурные координаты (UV) опре-
делены блоком map_channels=List(), в котором аналогично вершинам представ-
лены координаты вершин UV-координат в двухмерном пространстве UV.
Далее в описании модели представлены параметры, отвечающие за види-
мость ребер объекта, видимость объекта в целом и определяющие то, является
ли объект динамическим (движущимся или трансформируемым). Материалы,
назначаемые объекту или отдельным граням, определены блоком Node pSphere-
Shape1@node {}. Данный блок определяет объект как элемент сцены и его связь
с другими элементами в сцене, а также позволяет указать имя и расположение
в структуре сцены.
Поверхности на основе кривых, или NURBS, в спецификациях V-Ray Scene
выглядят следующим образом.
GeomStaticNURBS nurbsSphereShape1@nurbs1 {
cvs=List(
List(Vector(9.596475e-016, -10, -2.531618e-015),…,Vector(9.596475e-016,
-10, -2.531618e-015),
List(Vector(1.352091, -10, -1.352091),…,Vector(1.912145, -10, -8.385735e-
016),
...
List(Vector(1.352091, 10, -1.352091) ,…,Vector(1.912145, 10, 1.74322e-015),
286  Геометрия, выборка и качество изображений

List(Vector(2.609951e-015, 10, -1.03798e-015),…,Vector(2.609951e-015, 10,


-1.03798e-015)
);
weights=List(
List(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
List(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
List(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
List(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
List(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
List(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
List(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
List(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
List(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
);
uKnots=ListFloat(0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 6, 6, 6);
vKnots=ListFloat(-3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);
maxSubdivDepth=22;
flatnessCoef=0.2;
uDirectionType=0;
vDirectionType=1;
uDegree=3;
vDegree=3;
generateStatic=1;
primary_visibility=1;
}
Node nurbsSphereShape1@node {
transform=Transform(Matrix(Vector(1, 0, 0), Vector(0, 1, 0), Vector(0, 0, 1)),
Vector(0, 0, -15));
geometry=nurbsSphereShape1@nurbs1;
material=VRayMtl1@material;
nsamples=1;
visible=1;
user_attributes="";
scene_name=ListString(
"nurbsSphereShape1",
"scene/nurbsSphere1/nurbsSphereShape1"
);
}
В отличие от полигональных поверхностей у NURBS-поверхностей в первую
очередь определены координаты контрольных вершин (CV’s), а затем с помо-
щью блока weights=List() определяется вес каждой из контрольных вершин.
Узлы между контрольными кривыми определены блоками uKnots=ListFloat()
и vKnots=ListFloat(). В остальном свойства объекта и его материалы, а также
взаимодействие с другими элементами сцены, как и в случае с полигональ-
ным объектом, определяются с помощью блока Node nurbsSphereShape1@node{}.
Рассмотрев основу и базовые сведения о поддерживаемых V-Ray ключевых
типах геометрии, перейдем к знакомству с основным функционалом в транс-
формации, тесселяции и других изменений геометрии.
Расширенные свойства V-Ray для узла transfrom  287

4.2. Расширенные свойства V-Ray


для узла transfrom
Узел трансформации transform node определяет положение объекта в про-
странстве сцены, его опорную точку (pivot point) и другие параметры транс-
формаций и положения объекта в пространстве. Функционал V-Ray for Maya
добавляет собственные дополнительные атрибуты, которые могут быть ис-
пользованы для доступа к возможностям, реализованным в системе визуа-
лизации, но недоступных в самой Maya. На рис. 4.2.1 приведен скриншот ре-
дактора атрибутов, в котором отображены дополнительные атрибуты V-Ray,
назначенные узлу transform одного из объектов сцены.

Рис. 4.2.1  Дополнительные атрибуты V-Ray,


добавляющие специальные свойства
узлу transform. Объекту добавлены атрибуты Skip Rendering,
Object ID и User Attributes

Дополнительные атрибуты могут быть добавлены с помощью меню редак-


тора атрибутов. Выделив желаемый объект, в редакторе атрибутов перейдите
к узлу transform. Затем с помощью меню выберите Attributes ⇒ V-Ray и желае-
мый тип дополнительных атрибутов. В отличие от узла mesh, о котором подроб-
нее будет рассказано ниже, узел transform обладает небольшим набором спе­
288  Геометрия, выборка и качество изображений

циальных атрибутов. Но если с ним связано несколько узлов mesh или других,
то атрибуты, присвоенные ему, будут оказывать воздействие на все связанные
с ним узлы.
Атрибут Skip Rendering позволяет исключить объект из визуализации сце-
ны. Когда флажок активен, объект не будет участвовать в процессе визуализа-
ции, и наоборот. Атрибут Object ID предоставляет возможность определить
уникальный идентификатор объекта, который будет отображать объект уни-
кальным цветом в элементе изображения Object ID (рис. 4.2.2). Данное свой-
ство полезно при работе с изображением на этапе композитинга и коррекции
для формирования уникальной маски на основе его цвета. Подробнее о работе
с Object ID на этапе композитинга рассказывается в главе 7.

Рис. 4.2.2  Пример визуализации сцены с применением элемента Object ID.


Объекты распределены по группам, каждой из групп определен уникальный
Object ID, определяющий ее и позволяющий выделять объект на этапе обра-
ботки изображения

Управлять уникальным идентификатором объекта можно с помощью слай-


дера Object ID или с помощью ввода желаемого значения в текстовое поле.
Специальная возможность, определяемая атрибутом User Attributes, по-
зволяет вам указывать свои собственные атрибуты, к которым затем можно
получить доступ с помощью текстур User-defined Color Map (VRayUserColor)
и User-defined Scalar Map (VRayUserScalar) для управления значениями атри-
бутов затенения на основе индивидуальных свойств объекта. Они также мо-
гут использоваться в имени файла в узле File для определения имени файла
растрового изображения индивидуально для каждого объекта. В строке можно
указать несколько атрибутов, разделенных точкой с запятой (;). Пользователь-
ские атрибуты также могут быть определены для узлов mesh. Последняя строка
пользовательских атрибутов для данного объекта представляет собой объеди-
нение пользовательских атрибутов, указанных в форме объекта, и пользова-
Расширенные свойства и тесселяция полигональной геометрии в V-Ray  289

тельских атрибутов, указанных в его родительских узлах в структуре DAG. Это


позволяет удобно добавлять атрибуты в большую часть иерархии DAG.

4.3. Расширенные свойства и тесселяция


полигональной геометрии в V-Ray
Каждый объект в сцене Maya обладает определенными свойствами, которые
определяются атрибутами составляющих их узлов. Но стандартные возмож-
ности Maya могут не поддерживаться системой визуализации, а также могут
быть недоступны некоторые уникальные свойства, реализуемые в системе ви-
зуализации, но недоступные в функциях пакета Maya.
В процессе работы с V-Ray вы можете столкнуться с рядом функций Maya,
которые не поддерживаются системой визуализации, но доступны с помощью
дополнительных атрибутов, которые специально разработаны для реализа-
ции аналогичных возможностей, но на уровне самой системы визуализации.
Когда вы выбираете узел mesh node, то в меню Attributes ⇒ V-Ray вам стано-
вятся доступны следующие группы атрибутов, которые вы можете добавить
к выбранному узлу: Subdivision, Subdivision and Displacement, Displacement Con-
trol, OpenSubdiv, Round Edges, User Attributes, Object ID, Fog Fade and Radius и Local
Ray Server. Рассмотрим атрибуты и их влияние на объекты подробнее.

Расширенные атрибуты Subdivision


Для придания плавности форме объектов, для увеличения их детализации при
применении карт смещения или сглаживания углов служат атрибуты группы
Subdivision. Алгоритм, управляемый данными атрибутами, подразделяет по-
лигональную геометрию и сетку, формирующую карту развертки на элементы
меньших размеров.
Для тесселяции полигональных объектов и их UV-координат, но без смеще-
ния вершин (displacement) служат атрибуты группы Subdivision. Применяя воз-
можности подразделения поверхностей, программа будет увеличивать плот-
ность полигональной сетки выбранного объекта. Если мы это делаем на уровне
модели в сцене, объем сцены будет увеличиваться, что влияет на время загруз-
ки данных при ее открытии. Это также потребует большего объема оператив-
ной памяти. С другой стороны, тесселяция полигональной поверхности может
выполняться перед загрузкой модели в процессе подготовки или в ходе про-
цесса визуализации, что снижает потребность в оперативной памяти, которая
может быть использована для визуализации, а не при работе со сценой в Maya.
Когда активирован атрибут Render as subdivision surface, поверхность объ-
екта будет подразделена во время визуализации. Настройки для этого метода
подразделения могут управляться глобально с помощью настройки атрибутов
свитка Default Displacement во вкладке Settings диалогового окна Render Set-
tings. Вы также можете контролировать качество подразделения поверхности
для каждого объекта, добавив дополнительные атрибуты Subdivision and Dis-
placement Quality (рис. 4.3.1).
290  Геометрия, выборка и качество изображений

Рис. 4.3.1  Группы атрибутов Subdivision и Subdivision and Displacement


в редакторе атрибутов, после того как были добавлены к узлу mesh
полигонального объекта

Рис. 4.3.2. Пример визуализации модели,


когда атрибут Render as subdivision surface выключен (A) и включен (B)

Атрибут Preserve Map Borders определяет, как обрабатывать подразделе-


ние UV-координат на швах UV, когда включена функция Subdivide UVs. Атри-
буту может быть присвоено одно из следующих возможных состояний:
 None – UV-координаты всегда подразделяются независимо от того, на-
ходятся они на шве UV или нет;
 Internal – сохраняет UV только в том случае, если они находятся на вну-
треннем шве;
 All – не подразделяет UV-координаты на швы UV.
Расширенные свойства и тесселяция полигональной геометрии в V-Ray  291

Рис. 4.3.3  Примеры визуализации модели с различными методами подраз-


деления UV-координат. Атрибуту Preserve Map Borders на иллюстрации A при-
своено значение None, на иллюстрации B присвоено состояние Internal, а на
иллюстрации C – состояние All

Subdivide UVs – активирует подразделение UV-координат объекта на его


границах.
Geometry Generation – определяет, в какой момент будет создаваться гео-
метрия во время процесса визуализации:
 On the Fly – во время визуализации подразделение геометрии динами-
чески переходит в динамический пул памяти, из которого она может
быть впоследствии удалена при необходимости. Этот процесс происхо-
дит за счет некоторого снижения скорости, но потенциально экономит
память;
 Pre-tessellated – в начале процесса визуализации подразделенная гео-
метрия будет предварительно скомпилирована в ускоряющую структу-
ру и останется там до конца визуализации кадра. Это может ускорить
визуализацию, но увеличивает объем используемой памяти.
Classic Catmull Clark – когда этот атрибут включен, для подразделения
граней вместо гибридного, который используется по умолчанию, V-Ray будет
использовать метод подразделения поверхностей Classic Catmul Clark. Эта оп-
ция должна быть включена; в случаях, если геометрия полностью состоит из
прямоугольных граней иначе, данный метод не будет работать.

Расширенные атрибуты Subdivision and Displacement


Quality
Атрибуты в группе Subdivision and Displacement Quality влияют на качество
подразделения и смещения V-Ray. Они могут быть добавлены к любому по-
лигональному объекту.
Override Global Settings – если этот параметр включен, параметры в раз-
вертывании «Смещение по умолчанию» и «Подразделение» будут переопре-
делены для текущего объекта.
View depended – когда этот атрибут активен, атрибут Edge Length будет
определять максимальную длину ребра подтреугольника, имеющую значение
292  Геометрия, выборка и качество изображений

в пикселях. Значение 1.0 говорит о том, что самое длинное ребро каждого под-
треугольника будет иметь длину около одного пикселя при проецировании на
экран. Когда данный атрибут выключен, Edge length будет определять мак-
симальную длину края подтреугольника в единицах мирового пространства.
Edge length – определяет качество смещения или подразделения граней.
Каждый треугольник исходной геометрии подразделяется на несколько под-
треугольников. Больше подтреугольников означает больше деталей в смеще-
нии, а для визуализации потребуется больше времени, и будет использовано
больше оперативной памяти. Меньше подтреугольников означает меньше де-
талей, более быстрый процесс визуализации и использование меньшего объ-
ема оперативной памяти. Значение длины края зависит от параметра, завися-
щего от вида выше. Для получения дополнительной информации см. пример
Edge Length ниже.
Max. subdivs – управляет максимальным подразделением треугольников,
сгенерированных из любого треугольника исходной сетки. Фактически это
значение является квадратным корнем максимального числа подтреуголь-
ников. Например, значение 256 говорит о том, что для любого заданного ис-
ходного треугольника будет сгенерировано не более 256 × 256 = 65 536 под-
треугольников. Не стоит поддерживать это значение на высоком уровне. Если
вам нужно использовать более высокие значения, лучше будет вместо этого
подразделить оригинальную сетку с меньшей детализацией.
Изображения на рис. 4.3.4 были визуализированы с текстурной картой
VRayEdgesTex, так что вы можете видеть оригинальные грани полигональной
геометрии. Кроме того, у нормалей граней было снижено сглаживание (функ-
ция Mesh Display ⇒ Harden Edge). В таком случае V-Ray не только сглаживает
нормали поверхности, но также автоматически применяет карту нормалей,
которая представляет нормаль идеальной смещенной поверхности, что при-
даст поверхности более детальный вид, чем на самом деле.

Рис. 4.3.4  Пример визуализации смещения с различными значениями


атрибута Edge Length. На иллюстрации A = 1.0, B = 15, C = 48

Для визуализации примера был включен атрибут View-dependent, и он от-


носится к пикселям в исходном изображении, а не к увеличенному изображе-
нию, которое вы получаете при увеличении. Вот почему был получен эффект-
ный результат, чтобы лучше видеть отдельные грани.
Расширенные свойства и тесселяция полигональной геометрии в V-Ray  293

Одним контролем тесселяции и качества смещения при работе с трансфор-


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

Расширенные атрибуты Displacement Control


Проецирование карт смещения (Displacement Mapping) – это метод добавле-
ния деталей к геометрии в сцене без необходимости ее детализированного
моделирования в начале создания. Концепция очень похожа на карты рельеф-
ности (Bump mapping). Однако проецирование карт рельефности является эф-
фектом затенения, который только изменяет внешний вид поверхности, в то
время как проецирование карт смещения фактически модифицирует поверх-
ность (рис. 4.1.3).

Рис. 4.3.5  Расширенные атрибуты Displacement Control


в редакторе атрибутов полигонального объекта

Расширенные атрибуты раздела Displacement Control влияют на функции ме-


тодов и технологий карт смещения, реализованных в V-Ray, и могут быть до-
бавлены к любому полигональному объекту. Но перед тем как будет выполне-
на визуализация карт смещения, системе визуализации необходимо указать,
294  Геометрия, выборка и качество изображений

какому объекту присвоена деформация и какой материал (текстура) использо-


ван для вычислений результата трансформаций.
Для того чтобы транслятор сцены V-Ray определил, какой материал/текс­
тура и какой объект обладают свойствами для тесселяции и смещения, необ-
ходимо создать узел V-Ray Displacement. Это может быть как один узел для
одного объекта, так и один узел для множества объектов. Узел vrayDisplacement
может быть добавлен с помощью команды Assign V-Ray Displacement, распо-
ложенной на полке V-Ray (рис. 4.3.6). Если щелкнуть по данной кнопке ПКМ, то
в контекстном меню вы можете выбрать, как создать узел vrayDisplacement. Для
назначения нескольких узлов нескольким выделенным объекту/объектам, вы-
берите пункт Apply multiple VRayDisplacement to selection. Если же необходимо
назначить нескольким объектам один узел vrayDisplacement, а само смещение
формируется текстурами с определенными координатами и различными об-
ластями карты UV, то выберите пункт Apply single VRayDisplacement to selection.
Для создания только одного узла vrayDisplacement без каких-либо взаимосвязей
выберите пункт Force Create VRayDisplacement node.

Рис. 4.3.6  Создание и связывание узла VrayDisplacement


с помощью контекстного меню в полке V-Ray

Если же необходимо удалить узлы vrayDisplacement, выберите в меню Remove


VRayDisplacement from selection или Remove VRayDisplacement from selection and
sub-hierarchy.
Создав узел vrayDisplacement, определите ему материал, а точнее текстурную
карту, которая будет определять свойства тесселяции и смещения вершин.
Для этого, выделив узел, свяжите со слотом атрибута Dispalcement mat. Гео-
метрия же связывается через атрибут Input Obj Group [#] с атрибутом Dag Set Mem-
bers [#] (рис. 4.3.7).
Создав узел V-Ray Displacement и связав его с геометрией и текстурными
картами смещения, расширенные свойства геометрии и тесселяции могут
быть добавлены как к самому узлу mesh объекта со смещением, так и узлу
V-Ray Displacement, так как данный тип узла, определяет свойства геометрии,
которая поступает к нему от объекта. Добавив атрибуты Displacement Control,
можно выполнить тонкую конфигурацию смещения геометрии. Рассмотрим
атрибуты подробнее.
Когда выбран режим None, вычисление тесселяции и смещения геометрии
будет отключено.
Выбор режима из раскрывающегося списка Geometry generation опреде-
ляет, в какой момент геометрия будет компилироваться во время процесса
визуализации.
Расширенные свойства и тесселяция полигональной геометрии в V-Ray  295

Рис. 4.3.7  Пример связей между узлами геометрии,


vrayDisplacement и композитной процедурной текстурной карты

On the Fly – подразделенная геометрия динамически переходит в пул ди-


намической памяти во время процесса визуализации, из которого она может
быть впоследствии удалена при необходимости. Этот процесс происходит за
счет некоторого снижения скорости, но потенциально экономит память.
Pre-tessellated – подразделенная геометрия предварительно компилирует-
ся в ускоряющую структуру в начале процесса визуализации и остается там до
конца визуализации кадра. Это может ускорить визуализацию, но увеличива-
ет объем используемой памяти.
Режим On the fly не поддерживается, когда визуализация выполняется с помощью
GPU версии ядра (V-Ray GPU engine). При визуализации геометрии со смещением
с помощью GPU версии ядра V-Ray к ней будет применен режим Pre-tessellated.

Далее в тексте будут приведены примеры изображений объекта с картой


смещения, созданной для данного раздела. Карта смещения была создана
в приложении цифрового скульптинга Autodesk Mudbox. Оригинальный объ-
ект импортирован из Maya в Mudbox, к нему были применены семь уровней
тесселяции, на каждом из которых была выполнена трансформация и дета-
лизация объекта. Текстурная карта экспортирована в формате 32-bit floating
point EXR и применена в качестве текстуры смещения геометрии через узел
vrayDisplacement. Текстурная карта смещения была экспортирована с учетом
применения тесселяции с уровня 0 до уровня 5, а мелкие детали реализованы
экспортированной отдельно с уровня 7 до уровня 5 текстурной карты норма-
лей, используемой в качестве карты рельефности в VRayMtl.
296  Геометрия, выборка и качество изображений

Рис. 4.3.8  Модель объекта,


используемого для демонстрации свойств карт смещения,
созданная в Autodesk Mudbox

Выбор типа смещения (рис. 4.3.9) выполняется с помощью раскрывающего-


ся списка Displacement type:
 2D Displacement – в данном типе алгоритм смещения геометрии опи-
рается на заранее определенную текстурную карту. Смещение поверх-
ности визуализируется как искривленная область высот на основе карты
текстуры. Фактическая трассировка лучей поверхности со смещением
выполняется в пространстве текстурной карты, а результат проециру-
ется обратно в трехмерное пространство. Преимущество этого метода
в том, что он сохраняет все детали на карте смещения. Однако для этого
требуется, чтобы у объекта были допустимые текстурные координаты
(UV-координаты). Помните, что этот метод невозможно использовать
для процедурных 3D-текстур или других текстур, которые используют
координаты объекта или мира (мировые координаты). Сама карта сме-
щения может принимать любые значения;
 тип Normal Displacement – принимает исходную геометрию поверх-
ности и подразделяет ее треугольники на более мелкие, которые затем
смещаются. Это может быть применено для карт произвольного смеще-
ния с любым типом проецирования;
 тип Vector Displacement – если используется текстурная карта смеще-
ния, которая не представлена оттенками серого (цветная текстурная
карта), перед началом визуализации транслятор V-Ray преобразует ее
в текстуру в оттенках серого. Этот режим позволяет ядру визуализации
использовать красный, зеленый и синий каналы текстурной карты для
смещения геометрии в направлениях U и V в дополнение к изменению
направления нормали грани;
Расширенные свойства и тесселяция полигональной геометрии в V-Ray  297

 тип Vector Displacement (absolute) – режим смещения на основе век-


торного типа (vector-type displacement), в котором текстуру интерпрети-
руют как карту на основе половинного смещения в пространстве каса-
тельных (tangent space) карты смещения;
 применение типа Vector Displacement (object) имеет смысл только
тогда, когда для реализации смещения геометрии используется шейдер
текстурой карты VRayPtex, где значения текстуры представляют смеще-
ние на основе пространства объекта. Если информация о геометрии хра-
нится в файле формата Ptex, V-Ray также сможет корректно выполнять
смещение деформаций геометрии.

Помните, что тип 2D Displacement не поддерживается движком V-Ray GPU.

A B C

Рис. 4.3.9  Пример визуализации модели с примененной к ней картой сме-


щения с различными типами смещения. A – 2D Displacement, B – Normal Dis-
placement, C – Vector Displacement

Рисунок выше демонстрирует примеры визуализации одной модели с че-


тырьмя различными типами смещения. Когда был выбран тип 2D Displacement,
чтобы исключить разрыв геометрии, был установлен флажок Keep Continu-
ity. При выборе типа Normal Displacement алгоритм, согласно определенному
текстурной картой цвету, трансформировал геометрию без искажений и раз-
рывов. Для стандартной текстурной карты, на основе которой формируется
тесселяция и трансформация геометрии, алгоритм создает UV-карту, которая
определяет трансформацию вершины.
Атрибут Displacement Amount управляет силой проявления эффекта сме-
щения. Значение, равное 0.0, означает, что объект будет визуализироваться
без изменений. Значения выше формируют эффект смещения геометрии.
Данный атрибут может принимать и негативные значения, в таком случае
смещение геометрии будет производиться внутрь объекта.
Атрибут Displacement Shift задает константу, которая будет добавлена
к значениям карты смещения, эффективно изменяя поверхность со смеще-
нием вверх и вниз вдоль нормалей. Константа может быть положительной
или негативной. На рис. 4.3.10 приведен пример визуализации изображения
с применением положительных и отрицательных значений данного атри­
бута.
298  Геометрия, выборка и качество изображений

Рис. 4.3.10  Пример визуализации смещения с различными значениями


атрибутов Displacement Anmount и Displacement Shift. Иллюстрация A – Dis-
placement Amount = 1.5, иллюстрация B – Displacement Shift = 1.0, иллюстрация
C – Displacement Amount = 1.5, Dispalcement Shift = 1.0

Когда активен атрибут Keep Continuity, ядро визуализации V-Ray будет


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

Рис. 4.3.11  Пример визуализации смещения,


когда атрибут Keep Continuity выключен (A) и включен (B)

Когда активирован атрибут Enable Water Level, в процессе визуализации


значение данного атрибута будет обрезать геометрию в местах, в которых зна-
чение карты смещения ниже порога, заданного атрибутом Water Level. Это
может быть использовано для ограничения представленной значением карты
смещения высоты, ниже которого геометрия будет отсечена (рис. 4.3.12).
Когда включен атрибут Cache Normals, V-Ray создает и сохраняет ин-
формацию о нормалях для каждой вновь созданной вершины. Это требует
дополнительной памяти, но увеличивает скорость вычислений затенения
в процессе визуализации. Внимательнее присмотритесь к настройкам каче-
ства смещения в диалоговом окне Render Settings для улучшения итогового
качества.
Расширенные свойства и тесселяция полигональной геометрии в V-Ray  299

Рис. 4.3.12  Пример визуализации смещения


с различными значениями атрибута Water Level. Иллюстрация A – Water Level = 0.1,
иллюстрация B – Water Level = 0.25

Данный атрибут всегда включен, когда визуализация выполняется на GPU. И он не


рекомендуется для небольших значений смещения.

С помощью атрибута Texture resolution задается разрешение текстурной


карты, используемой для формирования эффекта смещения геометрии. Если
текстурная карта является растровым изображением, было бы лучше всего со-
поставить это разрешение с размером растрового изображения. Для проце-
дурных двумерных карт разрешение определяется желаемым качеством и де-
тализацией смещения. Обратите внимание, что V-Ray также автоматически
генерирует карту нормалей на основе карты смещения, чтобы компенсиро-
вать детали, незахваченные фактической смещенной поверхностью.
Значение, определяемое атрибутом Precision, относится к кривизне по-
верхности со смещением. Плоские поверхности можно использовать с мень-
шей точностью, для идеальной плоскости можно использовать величину 1,
для более изогнутых поверхностей требуются более высокие значения. Если
точность недостаточно высока, на поверхности со смещением вы можете по-
лучить темные пятна («поверхностное акне»). Более низкие значения вычис-
ляются быстрее.
Атрибут Tight bounds заставляет V-Ray вычислять более точные ограни-
чивающие объемы для смещенных треугольников, что приводит к немного
меньшему времени визуализации.
Multi tile – когда этот атрибут включен, 2D Displacement может работать
с текстурами в формате <UVTILE>/<UDIM>.
Когда включен атрибут Filter texture, текстурная карта будет отфильтрова-
на до того, как произойдет фактическое смещение геометрии.
Атрибут Filter blur определяет силу фильтрации, которая будет применена
к текстурной карте до того, как произведется смещение геометрии.
Displacement bounds – управляет тем, как определяются минимальные
и максимальные допустимые значения текстурной карты, используемой для
смещения геометрии.
Automatic – V-Ray автоматически определяет минимальные и максималь-
ные значения, допустимые для текстурной карты смещения.
300  Геометрия, выборка и качество изображений

Explicit – позволяет установить минимальное и максимальное значения


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

Атрибуты Min/Max value – эти два параметра позволяют указать пользова-


тельские границы для геометрии со смещением. По умолчанию они ограниче-
ны значениями от 0 до 1.

Расширенные атрибуты OpenSubdiv


Поверхности OpenSubdiv – это набор библиотек с открытым исходным кодом,
которые реализуют высокопроизводительное подразделение поверхностей
на массивно параллельных архитектурах современных многоядерных CPU
и GPU. Код библиотеки оптимизирован для визуализации деформируемых
поверхностей со статической топологией при интерактивном отображении
и навигации по сцене1.
Библиотека OpenSubdiv предоставляет API, делающий ее возможности го-
товыми к интеграции в сторонние приложения, используемые для создания
цифрового контента, такие как Autodesk Maya, Side Effects Houdini и др. Это не
приложение и не инструмент, который можно использовать непосредственно
для создания цифровых моделей и наборов данных.
Поверхности подразделения обычно используются для окончательной ви-
зуализации моделей персонажей и для формирования гладких и контроли-
руемых ограниченных поверхностей. Однако поверхности подразделения
в интерактивных приложениях обычно визуализируются в виде упрощенных,
контрольных поверхностей, используемых для управления формой тессели-
рованной поверхности из-за необходимости повышенной производительно-
сти (рис. 4.3.13). Упрощенные контрольные поверхности являются прибли-
жением, которое смещено от истинной тесселированной поверхности. Глядя
на нетесселированные, низкополигональные поверхности в интерактивном
приложении, трудно увидеть точный контакт (взаимодействие), например,
когда пальцы касаются бутылочки с зельем или руки касаются щек. Это так-
же затрудняет просмотр эффектов пересечения при моделировании ткани,
если кожа и ткань являются низкополигональными моделями. Эта проблема
особенно серьезна, когда один персонаж намного больше другого, а неравные
размеры подразделения приводят к увеличению ошибок аппроксимации.
Чтобы выполнить подразделение поверхности модели персонажа из 30 000
полигонов на второй уровень подразделения (до 500 000 полигонов), у запа-
тентованной системы анимации Presto от PIXAR и Maya этот процесс может

1 Найти подробную информацию о библиотеке OpenSubdiv, ее возможностях, а также


загрузить последнюю версию и ознакомиться с инструкцией по компиляции вы мо-
жете по ссылке в сети интернет: http://graphics.pixar.com/opensubdiv/docs/intro.html.
Расширенные свойства и тесселяция полигональной геометрии в V-Ray  301

занять до 100 мс. Возможность выполнения одной и той же операции менее


чем за 3 мс позволяет пользователю постоянно взаимодействовать с гладкой
и точной поверхностью.

Рис. 4.3.13  Пример отображения модели в процессе тесселяции с помо-


щью OpenSubdiv в окне проекции Maya. A – модель без тесселяции, B – модель
с тесселяцией и упрощенной, контрольной поверхностью, основанной на гео-
метрии без тесселяции, и C – с активной полноценной тесселяцией в режиме
реального времени на основе OpenSubdiv

Это пятое поколение библиотеки поверхностей подразделения, история ко-


торой началась с используемой в PIXAR проприетарной системы анимации
и была реализована в коде, написанном Тони ДеРоузом (Tony DeRose) и Тие­
ном Тронгом (Tien Truong) для короткометражного анимационного фильма
«Geri’s Game» («Игра Джери»), вышедшего в 1996 году. Каждое новое поколе-
ние было переписано с нуля и основано на опыте использования поверхно-
стей подразделения для создания анимационных фильмов на студии PIXAR.
Разработка библиотеки находится в активном состоянии, поэтому изменения,
внесенные специалистами студии PIXAR в OpenSubdiv для текущих и будущих
анимационных фильмов, выпущены в виде открытого исходного кода, в то же
время они применяются в производстве анимации в студии.
Если вы используете возможности графического ядра Viewport 2.0 для визу-
ализации и отображения моделей в сцене, то вам будет полезным знать, что
в Maya Viewport 2.0 реализована поддержка визуализации смещения и транс-
формации геометрии, которая основана на применении OpenSubdiv и OpenGL
(для Linux, macOS, Windwos) или DirectX (Для Windows).
На рис. 4.3.14 приведен пример визуализации эффекта смещения, сформи-
рованного аппаратно, средствами GPU, но опираясь на тесселяцию выполня-
емую с помощью OpenSubdiv, и затенение, выполняемое с помощью Viewport
2.0 (OpenGL Core-profile).
Для отображения смещения в окнах проекций, но без формирования до-
полнительной геометрии в самой сцене Maya создайте узел displacementShad-
er, свяжите его со слотом Displacement Shader узла shadingEngine. А с атрибутом
Displacement узла displacmentShader свяжите текстурную карту, определяемую
узлом File [Texture]. Замечу, если в текстурной карте нет альфа-канала, ис-
пользуйте один из каналов изображения, это особенно полезно для текстур-
302  Геометрия, выборка и качество изображений

ных карт, созданных в градациях серого. Вы можете просто развернуть спи-


сок каналов цвета в редакторе узлов и связать один из атрибутов Out Color #
с атрибутом Displacmeent. Как это и было сделано на графе, представленном на
рис. 4.3.15.

Рис. 4.3.14  Визуализация смещения геометрии средствами OpenSubdiv и Viewport 2.0


(слева), визуализация смещения средствами V-Ray for Maya (справа)

Рис. 4.3.15  Граф связей между шейдерами, определяющими карту смещения


для интерактивного представления в окне проекции и при тесселяции
с помощью OpenSubdiv

Чтобы избежать чрезмерной тесселяции, помните, что при использовании


Maya OpenSubdiv и V-Ray OpenSubdiv желательно отключать атрибут Viewport
Subdivision в глобальных настройках системы визуализации (окно Render Set-
tings ⇒ Overrides ⇒ Geometry). Это позволит избежать ошибок и даже краха вы-
полнения программы при чрезмерной тесселяции геометрии, выполняемой
дважды. Поэтому перед началом визуализации и в процессе моделирования
выберите метод тесселяции и технику моделирования геометрии.
Расширенные свойства и тесселяция полигональной геометрии в V-Ray  303

Атрибуты V-Ray OpenSudiv могут быть добавлены к узлам mesh и узлу vray-
Displacement (рис. 4.3.16). Для этого в меню редактора атрибутов выберите At-
tributes ⇒ V-Ray ⇒ OpenSubdiv.

Рис. 4.3.16  Дополнительные атрибуты V-Ray OpenSubdiv,


добавленные узлу mesh полигонального объекта

Когда включен атрибут Render as OpenSubdiv surface, объект будет под-


разделен перед визуализацией с использованием возможностей библиотеки
OpenSubdiv.
С помощью атрибута Osd Depth задается количество уровней подразделе-
ния. А с помощью раскрывающегося списка Osd Type выбирается тип подраз-
деления, который будет использован при формировании детализированной
геометрии:
 Catmull-Clark – данный метод подразделения используется по умолча-
нию, который может обрабатывать геометрию с произвольными много-
угольниками (треугольники, четырехугольники и т. д.);
 Loop – этот метод подразделения работает только с геометрией, состоя­
щей из треугольников.
Атрибут Osd Preserve Map Borders определяет, как будет обрабатываться под-
разделение UV-координат в UV-швах, когда активен атрибут Osd Subdivide UVs.
Вы можете выбрать один из следующих типов подразделения UV-ко­ординат:
 None – UV-координаты будут всегда подразделяться независимо от
того, находятся они в пределах шва UV (UV seam) или нет;
 Internal – сохраняет UV-координаты только в том случае, если они на-
ходятся во внутренних пределах UV швов;
 All – не подразделяет UV-координаты в пределах UV швов.
Атрибут Osd Subdivide UVs позволяет выбирать, будут ли UV-координаты
объекта подразделены на границах.
Атрибут Osd Preserve geometry borders определяет, будут ли сохранены
границы геометрии или нет.
304  Геометрия, выборка и качество изображений

Применение к объектам индивидуальных Color Sets и атрибутов OpenSubdiv реа-


лизовано, начиная с V-Ray 3.3.

Опираясь на личный опыт использования тесселяции и карт смещения, оп-


тимальной является комбинация OpenSubdiv и V-Ray Displacement, когда тес-
селяция выполняется средствами OpenSubdiv, а V-Ray Displacement выполняет
смещение вершин геометрии. При этом этот процесс будет выполняться на
уровне ядра системы визуализации, что может значительно сэкономить ре-
сурсы системы и не перегружать графическое ядро программы дополнитель-
ными данными.

4.4. Создание закругленных углов


на этапе визуализации
Для повышения реализма моделей используют методики моделирования, по-
зволяющие добавить элемент фасок в местах изменения геометрии и пересе-
чения объектов между собой. Обычно это делается с помощью инструментов
Bevel, Extrude, Weld и т. п., которые могут помочь в создании фаски. С другой
стороны, второстепенные объекты или небольшие объекты, которые не тре-
буют высокой детализации, могут быть улучшены с помощью специальной
функции, выполняемой на этапе визуализации и не добавляющей отдельные
ребра и грани в полигональную модель в сцене. В системе визуализации V-Ray
предусмотрен такой инструмент – Round Edges (рис. 4.4.1).

Рис. 4.4.1  Интерфейс раздела Round Edges


в свитке Extra V-Ray Attributes

На рис. 4.4.1 приведен пример визуализации модели, состоящей из прямо-


угольника с соединенными с ним цилиндрами. На визуализации слева при-
Создание закругленных углов на этапе визуализации  305

веден пример геометрической модели, созданной стандартными средства-


ми Maya, а на примере справа – пример визуализации сцены с применением
V-Ray Round Edges.

Рис. 4.4.2  Пример визуализации модели,


созданной с применением классических инструментов моделирования Maya (слева),
и визуализация модели с применением V-Ray Round Edges (справа)

Атрибут Enable Round Edges включает эффект скругления краев (Round


Edges), который использует процедурную карту рельефности, чтобы сгладить
края геометрии во время визуализации.
С помощью атрибута Radius задается радиус (в мировых единицах измере-
ния) для формирования эффекта закругления краев. Поскольку фактическая
геометрия не изменяется и затрагиваются только нормали граней, большие
значения здесь могут привести к нежелательным эффектам.
Атрибут Consider Same Objects Only – когда он включен, закругленные
углы будут создаваться только вдоль ребер, относящихся к тому же объекту,
к которому применены атрибуты Round Edges. Если этот атрибут отключен,
закругленные углы будут создаваться вдоль кромок, сформированных, когда
объект с атрибутами группы Round Edges пересекает другие объекты в сцене.
С помощью атрибута Corners выберите, какие ребра учитываются при расче-
те. Возможные варианты:
 режим Covex and Concave – учитывает все ребра;
 режим Convex Only – эффект Round Edges применяется только к краям
с выпуклыми углами;
 режим Concave Only – эффект Round Edges применяется только к краям
с вогнутыми углами.
На рис. 4.4.3 приведен пример визуализации сцены, в которой геометрия
была сглажена с помощью OpenSubdiv. Здесь видно, что из-за того, что эффект
формируется за счет карты рельефности, добиться резких углов при сглажи-
вании не удастся, в то время как модель, созданная с помощью инструментов
полигонального моделирования, превосходно поддается тесселяции, а углы
геометрии сохраняют свою форму.
306  Геометрия, выборка и качество изображений

Рис. 4.4.3  Пример влияния сглаживания геометрии на основе OpenSubdiv


на модель с Round Edges (слева) и созданную с помощью инструментов
полигонального моделирования (справа)

В связи с тем, что данный эффект не может трансформировать геометрию


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

4.5. Создание идентификатора Object ID


В процессе композитинга удобно выделять отдельную область изображения
и проводить над ней манипуляции. Для этого существует принцип создания
масок вокруг определенной области и применение их к корректирующему
элементу. Если необходимо отделить определенные объекты в сцене и про-
извести манипуляции над ними, вы можете использовать специальные атри-
буты Object ID (рис. 4.26). Данные атрибуты добавляются с помощью меню ре-
дактора атрибутов Attributes ⇒ V-Ray ⇒ Object ID.
Группа атрибутов Object ID, добавляемая к узлу mesh, позволяет определить
объекту уникальный идентификатор, который отобразит объект в виде уни-
кального цвета в элементе изображения Object ID (рис. 4.5.1). Чтобы задать
уникальный идентификатор объекта, введите желаемую величину или пере-
местите слайдер, расположенный рядом с атрибутом Object ID.
Уникальный идентификатор объекта может быть присвоен не только узлу
mesh, но и узлу transform. Принципиально отличий нет, добавить Object ID мож-
но с помощью меню редактора атрибутов Attributes ⇒ V-Ray ⇒ Object ID. Да-
лее с помощью слайдера и текстового поля атрибута Object ID присваивается
идентификатор.
В чем преимущество применения Object ID узлам transform и узлам mesh?
С узлом transfrom может быть связано несколько узлов mesh, тем самым вся гео-
Создание пользовательских атрибутов  307

метрия может быть связана с единым узлом трансформации, а все свойства,


связанные с данными об идентификаторах, могут быть применены ко всем
связанным с узлом trnasform. Это особенно удобно, если вы используете груп-
пы, так как группа объектов в Maya – это связанные между собой узлы транс-
формации и геометрии.

Рис. 4.5.1  Дополнительные атрибуты V-Ray Object ID


в редакторе атрибутов

4.6. Создание пользовательских атрибутов


Сложные модели всегда содержат множество объектов и материалов. Каждо-
му объекту в сцене Maya могут быть добавлены персонализированные атри-
буты как сторонним модулем расширения, так и самим пользователем. В то
время как первые могут быть частью цельного узла, другие добавляются че-
рез специальные персонализированные атрибуты, между которыми создает-
ся связь.
В V-Ray есть несколько дополнительных узлов, которые могут быть ис-
пользованы для создания различных эффектов и изменений в процессе
анимации. За дополнительные атрибуты отвечает группа атрибутов User At-
tributes, доступная в меню редактора атрибутов Attributes ⇒ V-Ray ⇒ User
Attributes.

Рис. 4.6.1  Дополнительные атрибуты V-Ray User attributes


в редакторе атрибутов
308  Геометрия, выборка и качество изображений

Данная функция позволяет вам указывать свои собственные атрибуты, впо-


следствии к которым можно получить доступ с помощью узлов VRayUserColor
и VRayUserScalar для предоставления индивидуальных для объекта значений,
контролирующих атрибуты затенения в шейдере материала. Они также могут
использоваться в имени файла текстурной карты, открываемой с помощью
узла File для определения имени файла растрового изображения для каждо-
го объекта в сцене. В строке атрибута User attributes можно указать несколь-
ко атрибутов, разделенных символом точки с запятой (;). Пользовательские
атрибуты также могут быть определены для узлов трансформации (transform).
Последняя строка пользовательских атрибутов для выбранного объекта пред-
ставляет собой объединение пользовательских атрибутов, указанных в форме
объекта, и пользовательских атрибутов, указанных в его родительских узлах
вдоль пути DAG. Это позволяет удобно добавлять атрибуты в большую часть
иерархии DAG.

Пример использования пользовательских атрибутов


Чтобы вам было легче разобраться в применении пользовательских атрибутов,
я создал небольшой пример, в котором у нескольких объектов изменен цвет.
Логика процесса очень проста. Если у объекта есть пользовательский атрибут
V-Ray User Attributes, можно изменить цвет за счет смещения значения атри-
бута Switch в шейдере VRaySwitchMtl (B). Таким образом, необходимо было про-
работать граф шейдеров, так как шейдер VRayUserScalar (A) может определить
скалярную величину, задаваемую атрибутом Default Value в пределах от 0 до
1, где 0 – переключение отсутствует, а 1 – шейдер в слоте Material 0 (C) будет
заменен шейдером в слоте Material 1 (A).
Так как в примере два объекта обладают атрибутами V-Ray User Attributes,
каждый из них определяется узлом VRayUserScalar, поэтому на представленном
на рис. 4.6.2 графе отображены два шейдера VRaySwitchMtl, связанных между
собой.

Рис. 4.6.2  Граф шейдеров,


демонстрирующий влияние атрибутов V-Ray User Attributes
Использование Local Ray Server  309

Определенный узлом A, шейдер VRayUserScalar выполняет поиск атрибута


с именем redColor; далее он задает управление атрибутом Switch шейдера ма-
териала V-Ray Switch Mtl (B). Если атрибут redColor; не определяется в списке
атрибутов объекта, то ему будет присвоен материал белого цвета (С), а если
данный атрибут определен и найден в списке атрибутов объекта, материал
объекта будет замещен материалом красного цвета из слота Material 1.
То же самое было выполнено для объекта зеленого цвета, когда объекту
был определен пользовательский атрибут greenColor; а шейдер VRayUserSca-
lar управлял переключением между шейдером материала V-Ray Swtich Mtl
и V-Ray Material с зеленым цветом.

Рис. 4.6.3  Пример визуализации сцены


с применением V-Ray User Attributes и V-Ray User Scalar

На рис. 4.6.3 приведен пример визуализации сцены, в которой реализо-


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

4.7. Использование Local Ray Server


Расширенные атрибуты Local Ray Server могут быть добавлены к любому поли-
гональному объекту или узлу VRayDisplacement. Применение атрибута Local Ray
Server помогает уменьшить использование памяти для многих экземпляров
объектов со смещением и подразделением в режиме view-independed.
310  Геометрия, выборка и качество изображений

Атрибут Local Ray Server включает в V-Ray опцию, которая помогает умень-
шить использование памяти для сцен с большим количеством экземпляров
объектов со смещением и подразделением в режиме view-independed.
Использование памяти может быть проблемой для сцен с большим количе-
ством объектов с тесселяцией и смещением (dispalacement mapping). Одним из
распространенных случаев является наличие множества экземпляров одного
и того же объекта в сцене, к которому применены тесселяция и карты смеще-
ния. Когда подразделение поверхностей и смещение поверхности устанавли-
ваются в режим view-independed (т. е. не зависящий от вида), использование
локального сервера лучей может помочь уменьшить использование памяти
и ускорить подготовительные этапы перед визуализацией, такие как подго-
товка (компиляция) геометрии и построение сервера лучей.
Атрибут Local Ray Server можно добавить только к узлу mesh или к узлу VRay-
Displacement. Он может быть добавлен к любому экземпляру объекта в сцене
и может влиять на все экземпляры, поскольку Maya автоматически передаст
этот новый атрибут любым экземплярам объекта. Создание экземпляров ча-
стиц также поддерживается. Однако может быть удобнее назначить данный
атрибут узлу VRayDisplacement и иметь все элементы управления, связанные
с подразделением и смещением геометрии для ваших объектов в одном и том
же месте.
Использование Local Ray Server в таких ситуациях может иметь значение
между использованием гигабайтов дополнительной памяти для тесселяции
и смещения и использованием всего нескольких мегабайт.

4.8. Использование радиуса спада тумана


(Fog Fade Out Radius)
Атрибут Fog Fade Out Radius является дополнительным атрибутом узла mesh,
который можно добавить с помощью меню редактора атрибутов Attributes ⇒
V-Ray ⇒ Fog Fade Out Radius. Это позволяет пользователю устанавливать соб-
ственный радиус затухания для каждого объекта, используемого в качестве
габаритного объема окружающей среды. Это значение будет переопределять
радиус затухания, установленный в свойствах объемного эффекта (например,
VRayEnvironmentFog), но только когда он включен для каждого объекта.

Рис. 4.8.1  Дополнительные атрибуты Fog Fade Out Radius


в редакторе атрибутов

Если с объемным эффектом окружающей среды используется несколько га-


баритных объектов, этот атрибут должен быть добавлен к каждому объему.
Предполагается, что у габаритных объектов без этого атрибута значение ра-
диуса затухания тумана равно 0.
Использование радиуса спада тумана (Fog Fade Out Radius)  311

Пример использования Fog Fade Out Radius


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

Рис. 4.8.2  Модель сцены и габаритного контейнера


для формирования объемного эффекта
(выделенный параллелепипед)

В приведенном ниже примере параллелепипед используется в качестве


объема для VRayEnvironmentFog.
Чтобы создать подобный эффект, выполните следующие действия:
 укажите узел VRayEnvironmentFog в качестве объемного эффекта для атри-
бута Environment в Volumetrics Overrides;
 затем назначьте шейдер материала VRayMtl параллелепипеду с черным
цветом карты непрозрачности (Opacity Map);
 добавьте параллелепипед в качестве элемента набора Environment Fog.
Для этого в окне редактора Outliner просто перетащите с помощью СКМ
объект параллелепипеда на узел VRayEnvironmentFog;
 наконец добавьте атрибут Fog Fade Out Rade узлу mesh параллелепипеда
и включите атрибут Per Object Fade Out Radius в VRayEnvironmentFog.
Ядро визуализации V-Ray до версии 3.6 поддерживало отключение основной
видимости объекта-контейнера. Однако данный подход не рекомендуется
к применению, так как теперь в материале атрибуту Opacity можно задать чер-
ный цвет.
312  Геометрия, выборка и качество изображений

Рис. 4.8.3  Примеры визуализации сцены с эффектом тумана.


A – визуализация сцены из вида камеры внутри объема с эффектом тумана,
B – Fog fade out radius не применен, C – Fog fade out radius применен

4.9. Переопределение свойств объекта


с помощь узла VRayObjectProperties
Бывают случаи, когда объектам необходимо переопределить определенные
свойства, которые должны выделить их или изменить роль в сцене. Зачастую
такие свойства используются для определения свойств объекта, который будет
участвовать в формировании GI, создании объектов масок и других задачах.
Чтобы добавить узел VRayObjectProperties к выделенному объекту или объ-
ектам, на полке V-Ray щелкните ПКМ по кнопке Apply single/multiple object
properties nodes to selection. Также вы можете создать данный узел с по-
мощью меню Create ⇒ V-Ray ⇒ Object Properties. Если вам нравится работать
с графом узлов (Node Editor или Hypershade), то узел может быть создан с по-
мощью панели Create panel ⇒ V-Ray section ⇒ Utilities ⇒ V-Ray Object Proper-
ties. В ходе дельнейшего обсуждения мы будем возвращаться к некоторым из
свойств, которые можно переопределить с помощью данного узла.
Когда в сцене с анимацией используется размытие движения, для неко-
торых объектов может быть переопределено количество образцов выборки
при визуализации данного эффекта. Когда атрибут Override moblur samples
(рис. 4.9.1) выключен, значение Geometry Samples будет взято из свойств ка-
меры, определенных свитком Camera Ovverides. Когда данный атрибут вклю-
чен, количество образцов выборки геометрии будет определено атрибутом
Motion Blur Samples, расположенным ниже. Атрибут Motion Blur Samples вы-
полняет переопределение количества образцов выборки геометрии для объ-
ектов, с которыми связан узел VRayObjectPropertes.
Переопределение свойств объекта с помощь узла VRayObjectProperties  313

Рис. 4.9.1  Свитки Motion Blur Samples,


Object ID, Skip Rendering

В процессе подготовки сцены к визуализации и организации объектов по


определенным идентификаторам можно воспользоваться переопределением
свойства Object ID. Когда активирован атрибут Override object ID, это позво-
лит вам вручную задать значение Object ID. С помощью атрибута Object ID
задается идентификатор объекта. Это значение будет использовано в процес-
се формирования элементов изображения Object ID и Multi Matte, с помощью
которого создаются маски, основанные на идентификаторах объектов. Под-
робнее элементы Multi Matte рассмотрены в главе 7.
Когда необходимо исключить объект или группу объектов из визуализации,
но при этом оставить его в окне проекции для работы, вы можете использовать
функцию Skip Rendering. В узле переопределения свойств объекта можно устано-
вить флажок напротив атрибута Override Skip Rendering, после чего с помощью
атрибута Skip rendering указать, будет ли объект визуализироваться или нет.
С помощью узла VRayObjectProperties можно управлять свойствами всех свя-
занных с ним объектов. Для этого разверните свиток General, в котором есть
несколько дополнительных свитков, представляющих определенные катего-
рии свойств.
Если вы не хотите, чтобы узел VRayObjectProperties переопределял основные
свойства объектов, то поставьте флажок напротив атрибута Disable. В таком
случае все атрибуты свитка General будут неактивны и не станут оказывать
влияние в процессе визуализации.
Use Irradiance Map – если этот атрибут активирован, метод глобального
освещения Irradiance Map будет использоваться для аппроксимации рассеян-
ного глобального освещения. Если же данный атрибут выключен, будет ис-
пользоваться метод Brute Force GI. Вы можете использовать его для объектов
в сцене, которые имеют мелкие детали и не очень хорошо аппроксимируются
с по­мощью Irradince Map.
Generate GI – управляет тем, будет ли объект формировать GI или нет. Для
сформированного глобального освещения можно указать множитель, опреде-
ляемый атрибутом Generate GI Mult.
314  Геометрия, выборка и качество изображений

Рис. 4.9.2  Свиток General.


Подсвитки Additional Surface Properties и Visibility Options

Receive GI – контролирует, будет ли объект принимать GI. Для восприни-


маемого глобального освещения можно задать множитель, что делается с по-
мощью атрибута Receive GI Mult.
Когда атрибут Generate Cautsics включен, связанные с узлом VRayObjectProp-
erties объекты будут преломлять свет, исходящий от источников света, кото-
рые являются генераторами эффекта каустики. Обратите внимание, что для
создания эффекта каустики объект должен иметь материал с отражающими
или преломляющими свойствами.
Когда активирован атрибут Receive Caustics, объект станет принимать
лучи, формируемые эффектом каустики. Когда свет преломляется объектами,
которые формируют эффект каустики, результат каустики будет виден только
тогда, когда она проецируются на объекты, принимающие каустику.
Атрибут Subdivs Mult. задает множитель для подразделений всех вторич-
ных трассировок лучей, выполненных для поверхностей, связанных с узлом
VRayObjectProperties объектов.
С помощью атрибута Caustics multiplier задается множитель для эффекта
каустики, формируемой связанным с узлом VRayObjectProperties объектом. Об-
ратите внимание, что это значение не оказывает эффекта, если не активиро-
ван атрибут Generate Caustics.
Специальный свиток Visibility Options позволяет вам управлять свойствами
видимости объектов. Каждый из объектов, связанных с узлом VRayObjectProp-
erties, может быть исключен из процесса визуализации как полноценно, так
и по определенному свойству.
Visible to GI – при отключении данного атрибута объект будет считаться
идеально прозрачным для лучей GI.
Primary Visibility – если этот атрибут отключен, объект будет идеально
прозрачным для лучей, исходящих со стороны камеры.
Visible in reflections и Visible in refractions – когда эти атрибуты отклю-
чены, объект будет казаться совершенно прозрачным для лучей отражений
и преломлений.
Переопределение свойств объекта с помощь узла VRayObjectProperties  315

Cast shadows и Receive shadows – когда эти атрибуты отключены, объект


будет совершенно прозрачным для лучей теней или, наоборот, будет взаимо-
действовать и отбрасывать/принимать тени.
Когда производится распределение объектов сцены по определенным ти-
пам назначения и функциям, можно определить, как объект будет участвовать
в формировании канала непрозрачности (alpha channel) изображения и взаи-
модействовать с тенями, формируемыми освещением в сцене. Для настройки
эффектов матировани, используется свиток Matte Properties (рис. 4.35).
Подробнее о свойствах объектов для матирования и управления альфа-каналом
изображения мы поговорим в главе 7.

V-Ray имеет собственную систему создания масок и управления альфа-ка-


налом. Вы можете управлять свойствами маски либо на уровне объекта через
узел VrayObjectProperties, либо на уровне материала через специальный шей-
дер VRayMtlWrapper.

Рис. 4.9.3  Свитки Matte Properties и Exclude Lists

Matte Surface – активация данного атрибута преобразует объект/объекты


в объекты-маски. Это означает, что объект не будет виден непосредственно
в сцене. Вместо этого на его месте будет отображен цвет окружения (Back-
ground/Environment). Тем не менее объект будет нормально отображаться
в отражениях/преломлениях и будет формировать непрямое освещение в за-
висимости от присвоенного ему материала.
Alpha contribution – данный атрибут управляет тем, как объект будет ото-
бражаться в альфа-канале. Обратите внимание, что этот атрибут не требует,
чтобы объект был объектом-маской, – этот атрибут влияет на все объекты.
Значение 1.0 говорит о том, что объект будет нормально отображаться в аль-
фа-канале. Значение 0.0 показывает, что объект вообще не будет присутство-
316  Геометрия, выборка и качество изображений

вать в альфа-канале. Значение –1.0 будет инвертировать определение объекта


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

Рис. 4.9.4  Пример визуализации сцены, в которой объектам присвоены


различные значения Alpha Controbution. Слева – Alpha Contribution = 1.0, по
центру – Alpha Contribution фоновой плоскости = 0.0, справа – Alpha Contribu-
tion куба = –1.0

С помощью атрибута Generate Render Elements можно включать или ис-


ключать выбранные объекты из определенных Render Elements для каждого
объекта. Если этот атрибут выключен, информация о выбранном объекте бу-
дет исключена из следующих Render Elements, если они добавлены в сцену на
вкладке Render Elements в диалоговом окне Render Settings:
 Extra Texture;
 Light Select;
 Lighting;
 Shadow;
 Total Lighting;
 Velocity;
 Z-Depth.
Shadows – когда активирован, объект-маска будет захватывать лучи теней.
Когда атрибут Affect alpha активирован, тени будут влиять на вклад в аль-
фа-канал объекта-маски. Области в идеальной тени будут давать белый цвет
в альфа-канале, в то время как полностью незакрытые области будут давать
черный цвет. Обратите внимание, что тени GI (от небосвода) также вычисля-
ются. Однако тени GI на объектах-масках не поддерживаются, когда в каче-
стве основного движка для расчета GI используется Photon Map или Irradiance
Map. Вы можете безопасно использовать их с матовыми поверхностями как
вторичные двигатели.
Shadow Tint Color – определяет цвет теней.
Shadow Brightness – является необязательным атрибутом яркости для те-
ней на поверхности объекта-маски. Значение 0.0 сделает тени полностью не-
видимыми, а значение 1.0 позволит тени проявиться полностью.
Переопределение свойств объекта с помощь узла VRayObjectProperties  317

Reflection amount – если материал объекта обладает отражениями, этот


атрибут определяет, какая часть отражения будет видна на объекте-маске.
Refraction amount – если материал объекта обладает преломляющими
свойствами, этот атрибут определяет, какая часть преломления будет видна
на матовом объекте.
Атрибут GI amount контролирует то, какая часть непрямого освещения, по-
лучаемого объектом, будет видна на объекте-маске.
No GI on other mattes – когда этот атрибут активирован, объект отобража-
ется в виде объекта-маски в отражениях, преломлениях, GI и т. д. для других
объектов-масок. Обратите внимание на то, что, если данный атрибут акти-
вирован, преломления для объекта-маски могут не рассчитываться. (Объект
будет казаться маской для самого себя и не сможет «видеть» преломления на
другой стороне.)
Matte for all secondary rays – обычно будет использоваться базовый мате-
риал, когда объект с VRayMtlWrapper виден через отражения/преломления. Акти-
вируйте этот атрибут, если вы хотите, чтобы шейдер VRayMtlWrapper отображал
окружение при отображении через отражения/преломления. V-Ray также мо-
жет создавать проецедурные текстуры для повышения реалистичности.
Значение, определяемое атрибутом GI surface ID, можно использовать для
предотвращения смешивания образцов Light Cache на разных поверхностях.
Если два объекта имеют разные идентификаторы поверхности GI, выборки
Light Cache двух объектов не будут смешиваться. Это может быть полезно для
предотвращения прохождения («протечки») света между объектами совер-
шенно разного освещения.
Атрибут SSS Surface ID используется, для того чтобы сообщить материалам
на оснвое шейдеров VRayFastSSS2 и VRaySkinMtl о том, что объекты с одинако-
вым идентификатором должны совместно использовать одни и те же образцы
освещения при использовании многократного рассеивания света с трассиров-
кой лучей. Это позволяет избежать освещения в швах между этими объектами.
Параметры списков исключений, доступные в свитке Exclude Lists, ис-
пользуются для включения или исключения объектов из расчетов отражений
и преломлений.
Атрибут Use Reflection Exclude List включает список исключения из отра-
жений.
Когда атрибут As Inclusive List активирован, с его помощью будет измене-
но значение списка исключений из отражений, делая его списком включения
(Include List).
Reflection Exclude – является списком исключений, который позволяет
указать, какие объекты будут видны в отражениях объекта, связанного с узлом
VRayObjectProperties. Группы затенения могут быть исключены при использо-
вании узла VRayObjectProperties в Hypershade.
Use Refraction Exclude List – включает список исключения из преломлений.
Когда атрибут As Inclusive List активен, значение списка Refraction Ex-
clude инвертируется, что делает его включающим в преломления объекты.
Refraction Exclude – список исключений, который позволяет указать, какие
объекты будут видны в преломлениях текущего объекта. Группы затенения мо-
гут быть исключены при использовании узла VRayObjectProperties в Hypershade.
318  Геометрия, выборка и качество изображений

4.10. Создание и загрузка объектов V-Ray Proxy


и моделей V-Ray Scene
Система визуализации V-Ray обладает одним из лучших механизмов создания
прокси-геометрии, включая поддержку кеширования анимации и тесную ин-
теграцию с форматом Alembic. В данном разделе мы рассмотрим работу с объ-
ектами V-Ray Proxy, их созданием, загрузкой и копированием с применением
инструментария Maya MASH.

Рис. 4.10.1  Пример кадра анимации,


в котором модель ЖК импортирована с помощью V-Ray Scene,
а модель леса создана с применением Maya MASH и V-Ray Proxy

На рис. 4.10.1 приведен пример кадра анимации, в котором была выполнена


интеграция 3D-модели ЖК в секвенцию видео. Модель ЖК экспортирована
из 3ds Max в формате V-Ray Scene и впоследствии загружена в Maya. Модели
деревьев были заранее подготовлены в формате V-Ray Proxy (*.vrmesh) и за-
гружены в сцену Maya. Далее с помощью MASH деревья были размещены по
поверхности и рандомизированы их трансформации.
Инструментарий V-Ray Proxy импортирует геометрию из внешнего файла
только во время процесса визуализации. До начала процесса визуализации
геометрия отсутствует в сцене и не использует никаких ресурсов. Это позво-
ляет отображать сцены с миллионами граней, с чем не может справиться сама
Maya.
В Maya V-Ray Proxy создает узел VRayMesh, который загружает геометрию
из файла, расположенного на локальном или сетевом диске. Узел может за-
гружать файлы в формате Alembic (*.abc) и V-Ray proxy (*.vrmesh).
Создание и загрузка объектов V-Ray Proxy и моделей V-Ray Scene  319

Если вы хотите импортировать геометрию Maya через объект V-Ray Proxy,


сначала она должна быть экспортирована в файл *.vrmesh либо из пользова-
тельского интерфейса Maya, либо с помощью команды на языке MEL.

Формат файла .vrmesh


Геометрия из Maya экспортируется в файл в формате *.vrmesh. Он содержит
всю информацию о геометрии: вершины и топологию граней, а также каналы
текстур, идентификаторы материалов граней, группы сглаживания, норма-
ли – словом, все, что необходимо для визуализации геометрии. Кроме того,
геометрия предварительно обрабатывается и подразделяется на части для бо-
лее легкого доступа к ней во время работы. Файл также содержит упрощенную
версию геометрии, используемую для предварительного отображения в окнах
проекций. Дополнительная информация о формате файла *.vrmesh доступна
в документации V-Ray SDK, которая поставляется с V-Ray for Maya.
Важно понимать, что геометрия имеет формат «готово к визуализации».
Никаких дальнейших изменений в геометрии не предвидится. Вы не може-
те применять модификаторы или анимировать ее любым другим способом,
кроме анимации положения/ориентации прокси-объекта. Невозможно вос-
становить исходную геометрию из файла в формате *.vrmesh (это может быть
сделано в принципе, но в настоящее время не поддерживается). Поэтому, если
вы планируете вносить изменения в геометрию, вы должны хранить ее в фай-
ле формата Maya (который может отличаться от файла, визуализированного
в итоге).

Поддержка формата Alembic


Также узел VRayMesh может загружать и отображать файлы в формате Alembic.
Поддерживаемые типы геометрии: многоугольная геометрия (без подразде-
ленных поверхностей), кривые (сплайны) и частицы.
V-Ray распознает информацию о скорости размытия движения, если она
хранится либо в виде данных о стандартной скорости Alembic, либо как свой-
ство трехмерного векторного массива, именуемого как arbGeom.v, arbGeom.veloc-
ities или arbGeom.velocity. Дополнительные наборы цветов Alembic импорти-
руются как каналы отображения с индексами больше 0 (т. е. 1, 2 и т. д.). Такой
набор цветов также можно использовать для увеличения скорости визуализа-
ции. Узел VRayMesh обладает дополнительными параметрами, используемыми
для работы с файлами в формате Alembic.
Формируемые в формате .vrmesh файлы могут быть использованы, помимо Maya,
в любом другом приложении, поддерживающем формат V-Ray Proxy, например
с помощью V-Ray Standalone или V-Ray for 3ds Max. Вы можете преобразовывать
файлы в формате *.ply, *.obj, *.geo и *.bin в файлы формата *.vrmesh с помощью
инструмента-конвертера ply2vrmesh. В V-Ray SDK есть методы для чтения и запи-
си файлов в формате *.vrmesh. Официальная страница формата файлов Alembic
в сети интернет: http://www.alembic.io/.
320  Геометрия, выборка и качество изображений

Подготовка и экспорт геометрии в формат V-Ray Mesh


Перед тем как мы познакомимся с основными атрибутами узла VRayMesh, гео-
метрию необходимо экспортировать из Maya в файл в формате *.vrmesh или
Alembic (*.abc). Мы рассмотрим пример экспорта статичной геометрии.

Рис. 4.10.2  Диалоговое окно Create V-Ray Proxy

Геометрия экспортируется в файл в формате *.vrmesh. Этот файл содержит


всю информацию о геометрии, такую как вершины и топология граней, а так-
же каналы текстур, идентификаторы материалов граней, группы сглаживания
и нормали. Все, что необходимо для визуализации геометрии, сохраняется
в файле. Кроме того, геометрия предварительно обрабатывается и подразде-
ляется на части для более легкого доступа к ней в процессе визуализации.
Чтобы выполнить экспорт модели в формат V-Ray Mesh, откройте диало-
говое окно Create V-Ray Proxy (рис. 4.10.2) с помощью меню Create ⇒ V-Ray ⇒
Create Proxy или с помощью панели инструментов Shelf V-Ray Shelf ⇒ Create
Proxy.
Рассмотрим основные настройки системы экспорта геометрии в V-Ray
Proxy. Параметр Path задает путь к директории, в которой будет сохранен
файл геометрии V-Ray Proxy. С помощью режима Export all selected objects in
a single file алгоритм экспорта собирает все выбранные объекты и объединяет
Создание и загрузка объектов V-Ray Proxy и моделей V-Ray Scene  321

их в один файл с геометрией с введенным в поле File Name: именем файла.


Эта опция также сохраняет трансформации положения выбранных объектов
вне источника. Когда вы импортируете файл с прокси-объектом в сцену, он
должен быть центрирован в начале координат – это необходимо, чтобы объ-
екты находились в одинаковых позициях относительно друг друга.
Export each selected object in a separate file – создает отдельный файл
для каждого выбранного в сцене объекта. Имя каждого файла базируется на
имени, соответствующем выделенному объекту. Если не включен параметр
Include node transformation, трансформации положения объектов не будут
экспортированы в файл для выбранного объекта, и соответствующий прокси-
объект должен иметь такую же трансформацию, что и исходный объект, если
он должен появиться в том же месте. Обратите внимание, что вы можете ис-
пользовать этот параметр даже с одним объектом, что приведет к сохранению
положения объекта в экспортированном файле .vrmesh.
Include node transformation – этот параметр доступен только при экспорте
объектов в видео отдельных файлов. Во время записи файлов V-Ray Mesh он
сохраняет трансформацию каждого объекта в виде положения вершин.
Текстовое поле параметра File name: определяет имя файла в формате
V-Ray Mesh или Alembic. Если вы выбрали режим Export all selected objects in a
single file, файл будет сохранен в директории, определенной параметром Path.
При активации параметра Overwrite existing vrmesh file транслятор геомет­
рии автоматически перезаписывает любые существующие файлы V-Ray Mesh.
Use last selected mesh as preview – когда этот параметр активирован, по-
следний объект, выбранный в сцене, будет использоваться в качестве геомет­
рии предварительного просмотра для прокси-объектов.
Export Animation – если геометрия анимирована, включите этот параметр,
чтобы экспортировать анимацию в файл V-Ray Mesh. Обратите внимание, что
при экспорте каждого объекта в отдельный файл будет включена только ани-
мация вершин (vertex animation). Любые движения, которые являются частью
преобразований исходной геометрии, останутся в нем.
Export velocity – когда этот параметр активен, транслятор будет экспор-
тировать информацию о скорости для движущихся объектов. Это позволяет
добавить размытие движения к финальной анимации. Однако экспорт этой
дополнительной информации занимает больше времени. Если вам не нужно
размытие движения, имеет смысл отключить этот параметр.
Параметры Velocity interval start и Velocity interval end определяют на-
чало и конец диапазона, для которого будет экспортироваться информация
о скорости.
Параметр Use Playback Range задает диапазон кадров, определенный диа-
пазоном воспроизведения анимации Maya (Maya Playback Range). В рамках
данного диапазона в файл V-Ray Mesh будет экспортирована анимация.
Use Animation Range задает диапазон кадров, определенный диапазоном
всей анимации Maya (Maya Animation Range). В рамках данного диапазона
в файл V-Ray Mesh будет экспортирована анимация геометрии.
Заданный диапазон может быть определен параметром Specify Range; дан-
ный параметр указывает, какие именно кадры будут экспортироваться, путем
установки значений для параметров Start Frame и End Frame.
322  Геометрия, выборка и качество изображений

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


отображения в окне проекции, используйте параметр Faces in preview.
Параметр Preview type позволяет выбирать один из методов формирования
низко полигональной геометрии для отображения в окнах проекций:
 Vertex Clustering (fast) – этот метод быстрый и формирует довольно
точную геометрическую модель для предварительного просмотра в ви-
довых окнах проекций;
 Refined Clustering (quality) – данный метод немного медленнее, но
формирует более точную геометрию;
 Face Skipping (very fast) – метод, используемый в версиях V-Ray до
V-Ray for Maya 3.1. Самый быстрый способ формирования геометрии
для предварительного отображения.
Когда включен параметр Export vertex colors, транслятор будет сохранять
информацию о наборах цветов экспортируемых объектов в файле V-Ray Mesh.
В противном случае эта информация будет опущена, чтобы ускорить процесс
экспорта.
Параметр Ignore hidden and templated objects позволяет не включать гео-
метрию, которая не видна или не используется в шаблоне.
One voxel per mesh – позволяет экспортировать каждый отдельный объект
в виде единого вокселя. Обычно это имеет тенденцию ускорять визуализа-
цию при наличии достаточного объема ОЗУ, однако это приводит к тому, что
V-Ray загружает всю геометрию за раз, что может замедлить визуализацию,
если предел динамической памяти близок к максимуму. Если вы намерева-
етесь использовать V-Ray Proxy в качестве кеша геометрии персонажей или
других, относительно небольших объектов, включение этого параметра повы-
сит производительность.
Параметр Faces per voxel определяет максимальное количество граней,
которое может содержать воксель. Увеличьте это значение для геометрии
с большим количеством граней.
Когда активирован параметр Automatically create proxies, прокси-объ-
екты создаются для экспортируемых объектов. Прокси-объекты будут иметь
правильные преобразования и материалы, полученные из исходных объек-
тов. Если выбран параметр Export each selected object in a separate file, будут
использованы преобразования исходных объектов, в противном случае будет
создано новое преобразование, а исходные объекты будут удалены.
Параметр New node name задает имя для вновь созданных прокси-узлов,
когда включен параметр Automatically create proxies.
Если параметр Make backup (experimental) включен, файл сцены в форма-
те Maya ASCII будет создаваться в том же каталоге, в котором сохранен прок-
си-объект, и содержать резервную копию геометрии объектов, которые были
экспортированы в прокси.
Создание и загрузка объектов V-Ray Proxy и моделей V-Ray Scene  323

Импорт геометрии в формате V-Ray Proxy в сцену


После того как вся необходимая для визуализации геометрия будет экспорти-
рована в формат V-Ray Proxy, следующим этапом является импорт данных из
внешних файлов в сцену. Здесь стоит заметить, что данные, хранимые в фай-
лах V-Ray Proxy, хранятся на жестком диске и загружаются только в процессе
визуализации.
Чтобы импортировать объекты V-Ray Proxy в сцену Maya, используйте
функцию Import V-Ray Proxy, доступ к которой можно получить с помощью
панели Shelf ⇒ V-Ray и с помощью меню Create ⇒ V-Ray ⇒ Import Prxy. После
чего откроется диалоговое окно Import V-Ray Proxy (рис. 4.39).

Рис. 4.10.3  Диалоговое окно Import V-Ray Proxy

Режим Single file (frame formatting is supported) позволяет импортиро-


вать в сцену только один файл V-Ray Proxy. Ввод номеров кадров позволяет
указать диапазон анимации для чтения файлов с анимированными прокси-
объектами, где каждый кадр анимации находится в отдельном файле. Форма-
тирование отображается в окне импорта, и оно автоматически устанавливает
параметры анимации.
Режим Multiple files позволяет импортировать несколько файлов прокси-
объектов одновременно. В данном режиме ввод диапазона кадров анимации
не поддерживается, и параметр Object Path работает только в том случае, если
все импортируемые прокси-объекты являются файлами формата Alembic,
имеющими одинаковую структуру объекта.
Параметр Node name позволяет задать имя узла vrayMesh, создаваемого
в Maya в прцессе импорта прокси-объекта.
Поле File(s) определяет путь и имя файла (-ов), которые будут импортиро-
ваны в сцену.
Поле Object path позволяет указать конкретные объекты, которые будут
импортированы в сцену, опираясь на введенные пути в структуре файлов
Alembic. Дополнительные параметры доступны в настройках прокси-объек-
тов в формате Alembic, доступных в узле vrayMesh сразу после импорта.
324  Геометрия, выборка и качество изображений

Кнопка Create запускает процесс создания и импорта прокси-объектов,


и закрывает диалоговое окно. Дополнительные параметры станут доступны
в редакторе атрибутов после выделения узла с прокси-объектами.

Редактирование атрибутов узла VRayMesh


Управление свойствами прокси-геометрии выполняется с помощью узла V-Ray
Mesh, который будет создан сразу после щелчка по кнопке Create в диалоговом
окне Import V-Ray Proxy. Когда прокси-объект будет создан, его положение может
быть как в центре координат, так и в том же месте, в котором он был создан в ори-
гинальной сцене. В редакторе Outliner новый объект будет представлен в виде
полигонального объекта с именем, заданным при импорте модели в сцену.

Рис. 4.10.4  Узел VRayMesh в редакторе атрибутов


с раскрытыми свитками ключевых свойств объекта

Для доступа к атрибутам прокси-объекта выберите объект V-Ray Proxy


в сцене, а в редакторе атрибутов перейдите к узлу VRayMesh. Помните, что в про-
цессе импорта V-Ray создает два узла: первый – узел определения геометрии
(VRayMesh), а второй – узел определения материалов (VRayMeshMaterial). Мате­
риалы могут быть созданы заново и связаны с материалами, определяемыми
Создание и загрузка объектов V-Ray Proxy и моделей V-Ray Scene  325

узлом V-Ray Mesh Material, или же экспортированы в виде графа узлов из ори-
гинальной сцены в формате Maya ASCII или Maya Binary и вновь импортирова-
ны в сцену с помощью меню File ⇒ Import, редактора Hypershade.

Рис. 4.10.5  Пример графа узлов, показывающих связь


импортируемых V-Ray Proxy с импортируемыми в сцену шейдерами

Выделив узел объекта V-Ray Proxy и перейдя в редактор атрибутов, вам ста-
нут доступны свитки базовой конфигурации узла V-Ray Mesh (рис. 4.10.4). Рас-
смотрим назначение и возможности V-Ray Mesh.

Свиток Basic Parameters


Свиток Basic Parameters является наиболее активно используемым в процессе
работы с V-Ray Proxy. Когда вы добавляете файл прокси-объекта в сцену, сам
файл и путь к нему будут определены атрибутом File Name. Также вы можете
самостоятельно, создав узел VRayMesh с помощью редактора Node Editor или Hy-
pershade, добавить вручную, с помощью диалога открытия файлов.
Так как геометрия, представленная в файле прокси-объекта, может обла­
дать как малой, так и высокой плотностью (например, деревянный ящик мо-
жет обладать 12 гранями, а дерево – 325 000 гранями), в таком случае целе-
сообразно для дерева использовать упрощенную модель. Для отображения
геометрии в окне проекции используйте раскрывающийся список атрибута
Geometry to Load, в котором вы можете выбрать один из следующих режимов
отображения (рис. 4.10.6):
 Bounding box – в данном режиме в видовом окне проекции геометрия
будет представлена в виде габаритного прямоугольника (Bounding Box),
отображающего габариты объема, занимаемого прокси-объектом;
 Preview – при выборе данного режима геометрия будет представлена
в виде низкополигональной модели, сформированной на основе коли-
чества граней, заданного при экспорте файла V-Ray Mesh;
 Maya Mesh – здесь будет представлена оригинальная геометрия, сохра-
ненная в файле V-Ray Mesh. Но она будет полностью обработана и за-
гружена в сцену и оперативную память компьютера;
326  Геометрия, выборка и качество изображений

 GPU Mesh – оригинальная геометрия загружается в видовое окно про-


екции, используя GPU. Это предоставляет высокую производительность
в работе с виртуальным пространством сцены и снижает потребление
оперативной памяти.
Помните, что любые изменения геометрии в режимах Maya Mesh и GPU Mesh не
оказывают влияния на результат визуализации и будут исключены при изменении
режима отображения.

Рис. 4.10.6  Результат выбора трех режимов отображения геометрии


импортируемого прокси-объекта. Слева вверху – Preview,
справа вверху – Bounding box, снизу в центре – Maya Mesh

Всякий раз, когда атрибут Cache geometry активирован, каждый кадр ани-
мации упрощенной низкополигональной геометрии сохраняется в памяти.
Это позволяет ускорить воспроизведение анимации.
Если же вам необходимо отобразить модель с определенной детализацией
в качестве модели для отображения в видовом окне проекции, используйте
атрибут Viewport proxy file. Данный атрибут позволяет выбрать файл V-Ray
Mesh или Alembic, который будет использован в качестве модели для предва-
рительного просмотра в окнах проекций.
Атрибут Flip axis переключает вертикальную ось координат, используе-
мую в модели прокси-объекта, между Y и Z. Это позволяет вам выравнивать
Создание и загрузка объектов V-Ray Proxy и моделей V-Ray Scene  327

вертикальную ось прокси-объекта с вертикальной осью в сцене в тех случаях,


когда прокси-объект не был экспортирован из Maya или при загрузке файлов
Alembic.
Пользователям, кто работает с 3ds Мax и Maya, стоит помнить важный мо-
мент. В 3ds Мax по умолчанию вертикальной осью выставлена ось Z, а в Maya –
ось Y. В пакетах Cinema 4D, Houdini, LightWave 3D вертикальной осью коор-
динат также является ось Y. Поэтому при создании модели внимательней
относитесь к вертикальным осям и исходите из условия, относящегося к ос-
новному 3D-пакету, используемому в производственном конвейере. В 3ds Мax
вертикальную ось координат можно переключить в глобальных настройках
программы. С пакетом Blender немного сложнее, в нем основной системой ко-
ординат выбрана Декартова система координат с правым базисом, и нет пря-
мого переключения оси координат в глобальных настройках программы. Од-
нако данный момент можно исправить, переключая ось при экспорте в один
из форматов файлов, такой как *.obj или *.fbx.
Режим визуализации объектов частиц можно выбрать с помощью атрибута
Particle render mode. Этт атрибут управляет тем, как частицы в прокси-объ-
екте отображаются в окнах проекций. Доступны режимы Point и Sphere.
Когда активирован атрибут Tessellate hair, ядро визуализации буде выпол-
нять тесселяцию прядей волос, если они были сохранены в файле.
Атрибут Edge length (in px) определяет длину ребер в пикселях при сглажи-
вании прядей волос.

Свиток Alembic Layers


Этот свиток становится активным только тогда, когда файл загружаемого
прокси-объекта имеет формат Alembic. Функция слоев Alembic позволяет из-
менять выбранный прокси-объект в формате Alembic путем добавления фай-
лов слоев поверх него. Каждый слой преобразует прокси-объект с различным
набором свойств. Эти преобразования включают добавление свойств к форме
(например, отображение UV-объекта, у которого нет UV), переопределение
свойств, добавление новых объектов, удаление объектов или свойств, замена
иерархии объекта (или свойств) новой и т. д.
Вы можете комбинировать различные файлы кеша. Всякий раз, когда в слое
обнаруживается один и тот же объект, учитываются все его свойства.
Add New Item – добавляет новый слой в стек.
Enabled – каждый слой может быть включен или отключен с помощью дан-
ного атрибута.
Browse – позволяет вам выбрать и открыть файл в формате Alembic.
Delete – удаляет слой из стека.

Свиток Animation Parameters


Если импортируемый в сцену файл в формате Alembic содержит анимацию,
она может быть отображена и настроена с помощью атрибутов свитка Anima-
tion Parameters. Скорость воспроизведения анимации контролируется с по-
мощью атрибута Playback speed. Данный атрибут является множителем для
328  Геометрия, выборка и качество изображений

скорости анимации. При вводе негативного значения анимация будет вос-


производится в противоположном направлении. Данный атрибут не работает
в случае секвенций файлов V-Ray Mesh.
С помощью атрибута Start offset выполняется смещение начала анимации
на заданное им количество кадров. Вы можете использовать как положитель-
ные, так и отрицательные значения.
Playback type – определяет режим воспроизведения анимации. Этот атри-
бут будет проигнорирован, если вы используете последовательность файлов
V-Ray Mesh.
 Loop – анимация повторяется, переходя к первому кадру после ее за-
вершения.
 Play once – анимация воспроизводится только один раз.
 Ping-pong – в данном режиме анимация зацикливается, воспроизво-
дится назад, как только будет достигнут последний кадр, и затем вновь
воспроизводится вперед, когда будет достигнут первый кадр.
 Still – анимация не воспроизводится. Вместо этого отображается только
первый кадр, определенный атрибутом Start offset.
Атрибут Sequence override позволяет вручную переопределить началь-
ный кадр и длину анимации, определяемую количеством кадров, хранящуюся
в последовательности файлов V-Ray Mesh (где каждый кадр анимации хра-
нится в отдельном файле прокси-объектов). Для импорта последовательности
кадров требуется специальный формат записи, в котором указывается, как об-
рабатывать команды в имени файла.
Атрибуты Sequence start и Sequence length определяют первый кадр ани-
мации и ее продолжительность.
Свиток Restore Mesh
Когда активирован атрибут Reassign shaders, все шейдеры в файле V-Ray
Proxy автоматически присваиваются соответствующей геометрии.
Create a mesh from this proxy – нажатие на эту кнопку приводит к тому,
что объект фактически импортируется в сцену в качестве геометрии, а не как
прокси-объект. Обратите внимание, что некоторая исходная информация мо-
жет быть потеряна в процессе экспорта/импорта, поэтому лучше иметь неза-
висимую копию геометрии, сохраненную в виде файла Maya.
Свитки Mesh Visibility Lists, Hair Visibility Lists и Particle Visibility Lists
Когда экспортируется более одного объекта, атрибуты свитков Visibility
Lists управляют видимостью объектов, входящих в прокси-файл. Видимость
может контролироваться либо по именам объектов, либо по их идентифика-
торам.
Раскрывающийся список List type определяет, включать объекты из списка
или исключать их.
 Exclude – выбранные в списке объекты будут исключены из прокси-мо-
дели и не будут визуализироваться.
 Include – только выбранные объекты будут визуализироваться.
Object name list – список всех объектов в прокси-файле.
Object id list – список всех идентификаторов объектов (Object ID), опреде-
ленных в прокси-файле.
Создание и загрузка объектов V-Ray Proxy и моделей V-Ray Scene  329

Свиток Alembic Proxy Paramaters


Starting object – позволяет указать начальный путь в файле формата Alembic;
по которому визуализируются указанные им объекты. Путь может начинаться
с ABC/ или может быть пропущен.

Рис. 4.10.7  Свитки Alembic Proxy Parameters,


Point Cloud и Material assigment file

Use full names – когда данный атрибут активирован, полный путь к каждо-
му набору геометрии в файле формата Alembic отображается в списках отобра­
жения геометрии и волос.
Recompute bounding box – включение этого атрибута заставляет V-Ray пе-
ресчитать ограничивающий объем (Bounding Box) для геометрии перед про-
цессом визуализации. Когда он отключен, V-Ray использует ограничивающий
объем, указанный в файле формата Alembic. Однако иногда эти ограничиваю-
щие объемы не являются корректными, и в таком случае визуализация может
выполняться некорректно. Чтобы избежать проблем, связанных с ограничи-
вающими объемами, активируйте этот атрибут. Обратите внимание, что этот
атрибут может замедлить процесс визуализации.
Если нормали геометрии не были изначально сглажены, атрибут Compute
normals позволяет принудительно их сгладить.
Когда атрибут Compute normals активирован, атрибут Smooth angle опре-
деляет угол, ниже которого сглаживаются нормали.
Flip normals – изменяет направление нормалей на противоположное теку-
щему.
Preview faces – позволяет задать количество граней, которые будут исполь-
зоваться для отображения прокси-объектов в окне проекции.
330  Геометрия, выборка и качество изображений

Preview hairs – позволяет вам задать количество сплайнов, которые будут


использованы при отображении в видовых окнах проекций.
Множитель, определяемый атрибутом Hair width multiplier, позволяет
контролировать ширину волос во время процесса визуализации.
Атрибут Preview particles позволяет указать, сколько частиц будет отобра-
жаться в окнах проекций.
Атрибут Particle width multiplier управляет размером частиц во время ви-
зуализации.
Velocity multiplier – управляет длиной размытия движения при визуали-
зации.
Subdivide all meshes – выполняется подразделение геометрии перед ви­
зуализацией с помощью библиотеки OpenSubdiv.
Subdivision level – задает количество уровней подразделения поверхно-
стей.
Subdivide UVs – позволяет вам выбрать, будут ли UV-координаты объекта
разделены на границах.
Preserve geometry borders – определяет, будут ли сохранены границы гео-
метрии или нет.
Preserve map borders – определяет, как обрабатывать подразделение UV-ко­
ординат в UV-швах, когда включена функция Subdivide UVs. Возможные зна-
чения:
 None – UV-координаты будут всегда подразделяться независимо от
того, находятся они на шве или нет;
 Internal – сохраняет UV-координаты только в том случае, если они на-
ходятся в границах, определяемых швом;
 All – не подразделяет UV-координаты на UV-швы.

Свиток Point Cloud


Если доступно облако точек, в режиме Use if present можно использовать его
данные. Атрибут Level multiplier определяет способ загрузки уровней облака
точек. Значение 1.0 говорит, что уровень детализации точно определен рас-
стоянием от камеры до объекта. Значение меньше 1.0 означает, что уровень
детализации больше, чем требуется по расстоянию. Значения больше 1.0 по-
казывают, что разрешение уровня меньше, чем значение, определяемое рас-
стоянием. Значение 0.0 говорит, что уровень детализации облака точек не за-
гружен, и вместо этого отображается исходная геометрия.

Свиток Material assignment overrides


При загрузке файла V-Ray Proxy в узел VRayProxy материалы, хранящиеся
в файлах формата *.vrscene, могут быть назначены различным объектам из
файла V-Ray Proxy. Для этого требуется пара файлов, файл в формате *.vrscene,
содержащий материалы, и файл в формате XML (*.xml), содержащий «правила»
для их применения к объектам в файле V-Ray Proxy.
Атрибут Material assignments file указывает расположение XML-файла, ко-
торый содержит «правила» для назначения материалов. Для файлов в формате
Создание и загрузка объектов V-Ray Proxy и моделей V-Ray Scene  331

Alembic «правила» основаны на путях к объектам, для файлов в фомате V-Ray


Mesh – на именах материалов. Подстановочные знаки * разрешены в файле
XML.
Ниже приведен листинг примера кода XML, согласно которому назначается
материал VRayMtl всем объектам Alembic, соответствующим шаблону pCube*,
т. е. всем объектам, имя которых начинается с pCube.
<materialAssignmentRules>
<patternRule>
<pattern>pCube*</pattern>
<material>VRayMtl1@material</material>
</patternRule>
</materialAssignmentRules>
Следующий пример является кодом XML, который назначает материал
VRayMtl1 всем объектам в файле V-Ray Mesh, соответствующим шаблону VRayM-
tl1, т. е. всем объектам, чье имя материала – VRayMtl1.
<materialAssignmentRules>
<patternRule>
<pattern>VRayMtl1</pattern>
<material>VRayMtl1@material</material>
</patternRule>
</materialAssignmentRules>
Чтобы эта функция работала, вам нужно указать путь к файлу V-Ray Scene,
содержащему материалы (пути к растровым текстурам и определение про-
цедурных текстур). Это работает только со сценарием Python, выполняемым
после трансляции сцены. В следующем примере сценария указывается путь
к файлу *.vrscene, и его следует скопировать в текстовое поле атрибута Post
Translate Python script, доступного в диалоговом окне Render Settings ⇒ Com-
mon ⇒ MEL / Python callbacks.
from vray.utils import *
appendSceneContent("…/mtlAssignments/materials.vrscene")

Свиток VRayMesh File Info


Этот свиток предоставляет информацию о загруженном в Maya файле VRay­
Mesh. При чтении файла транслятор выведет следующую информацию:
 путь к загруженному файлу;
 анимацию, содержащуюся в файле V-Ray Proxy (когда анимация нахо-
дится в одном файле, а не в виде секвенции файлов);
 количество граней для предварительного просмотра в видовых окнах
проекции;
 информацию о габаритном объеме объектов;
 UV Sets и их названия;
 Color Sets и их названия;
 список материалов.
Это может быть полезно в нескольких ситуациях. Например, при использо-
вании узла VRayUserColor для чтения UV Sets и Color Sets можно узнать имена
332  Геометрия, выборка и качество изображений

наборов с помощью данного свитка. Кроме того, при использовании пере-


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

Рис. 4.10.8  Свиток VRayMesh File Info

4.11. Работа с форматом V-Ray Scene


и инструментом V-Ray Scene Manager
Аналогично другим известным системам визуализации V-Ray также является
системой, представленной ядром визуализации, форматом данных и набором
вспомогательных утилит. Хотя изначально V-Ray был простым модулем рас-
ширения для 3ds Мax, начиная с версии 2.0, он претерпел множество измене-
ний. Появление формата V-Ray Scene (*.vrscene) обязано началу разработки
V-Ray for Maya и развитию множества редакций под различные приложения
компьютерной графики и перенос на другие системные платформы. В данном
разделе представлено знакомство с форматом V-Ray Scene, и с инструмента-
ми экспорта и импорта сцены в формат сцены V-Ray.

Для чего необходимо использовать V-Ray Scene?


Формат V-Ray Scene необходим для экспорта данных сцены, созданной в од-
ном из поддерживаемых V-Ray приложений компьютерной графики, включая
Autodesk Maya. С его помощью CG-художник может передать данные о сцене
художнику по освещению и разработке материалов для последующего поис-
ка визуального образа (Look Development) который может использовать плат-
форму KATANA от The Foundry или другое приложение компьютерной графи-
ки, например 3ds Мax или Cinema 4D. Помимо обмена данными, V-Ray Scene
может выступать как формат для визуализации средствами автономной вер-
сии V-Ray Standalone, доступ к которой вы можете получить после установки
как полноценной версии для целевого приложения, так и автономной версии.
По своей сути V-Ray Scene – это текстовое представление всех данных сце-
ны, созданной в 3D-редакторе, оно может быть обработано как вручную, так
Работа с форматом V-Ray Scene и инструментом V-Ray Scene Manager  333

и с помощью соответствующего программного обеспечения, специально под-


готовленного к работе с ним. Например, вы можете создать сценарий на Python
или приложение на Python и C++, которое будет выполнять выборку данных из
файла V-Ray Scene и далее формировать на их основе сценарий на языке MEL,
который впоследствии может быть импортирован в Maya.
Такие приложения, как KATANA и специальная редакция V-Ray for KATA-
NA, как раз выполняют обработку поступающих в приложение данных и затем
формируют на их основе новую модель и сцену с соответствующим освещени-
ем и материалами.
Хочется заметить, что значительным преимуществом формата V-Ray Scene
является прямая возможность редактировать его, при этом данный формат мо-
жет содержать ссылки на заранее подготовленные объекты V-Ray Proxy. И каж-
дый из художников может работать над отдельным элементом, а на финальной
сцене, собранной из нескольких элементов в виде V-Ray Scene и V-Ray Proxy,
сцена Maya будет загружаться во много раз быстрее.

Рис. 4.11.1  Пример визуализации сцены,


созданной в Maya и экспортированной в формат V-Ray Scene
для последующей визуализации с помощью автономной версии V-Ray
334  Геометрия, выборка и качество изображений

Экспорт сцены в формат V-Ray Scene и импорт


с помощью V-Ray Scene Manager
Формат V-Ray Scene (*.vrscene) – это файл ASCII, который можно экспортировать
из Maya. Он содержит всю информацию о сцене, такую как геометрия, источ-
ники света и шейдеры, и может быть визуализирован с помощью V-Ray Stand-
alone. Кроме того, файлы V-Ray Scene полученные с любого 3D-приложения,
поддерживающего V-Ray, можно импортировать в V-Ray for Maya. Функции
транслятора сцены позволяют экспортировать и передавать источники света
и все элементы с их текстурами и материалами между приложениями с V-Ray.
Также поддерживается экспорт и передача данных анимации объектов.
Настройки для экспорта файлов в формат V-Ray Scene находятся на вклад-
ке V-Ray Common в диалоговом окне Render Settings, в свитке Translator
(рис. 2.3.5).
Если активирован экспорт в формат V-Ray Scene; с помощью транслятора
V-Ray for Maya сцена будет транслирована и экспортирована в файл формата
*.vrscene. Атрибут Render можно отключить, чтобы выполнялся только экс-
порт сцены Maya в формат V-Ray Scene; в противном случае сцена будет как
визуализироваться, так и экспортироваться. Дополнительные параметры для
экспорта сцены станут доступны и в свитке Translator, включая возможность
разделения файлов по компонентам или кадрам. Информацию обо всех до-
ступных опциях экспорта смотрите в разделе 2.3 «Диалоговое окно Render Set-
tings» в главе 2.
Экспорт сцены в формат V-Ray Scene также можно выполнить с помощью
Maya Batch, без необходимости запуска Maya с графическим интерфейсом.
Для этого вам нужно запустить приложение Render, доступного по пути,
/usr/autodesk/maya<version>/bin, а затем определить аргумент -r vray, который
в качестве системы визуализации устанавливает V-Ray, аргумент -exportFile-
Name <filename> указывает имя и директорию, в которой будет сохранен файл
V-Ray Scene. Опционально можно задать аргумент -noRender, который опре-
делит для V-Ray, что сцену необходимо только экспортировать в файл V-Ray
Scene, без фактической визуализации.
Ниже приведен пример команды пакетного экспорта сцены для Maya 2018
в Linux, которая загружает файл сцены Maya ASCII с именем vray_scene_com-
plex_preview.ma, расположенный в папке /book/chapter_04/, и экспортирует его
в файл vray_scene_complex_preview.vrscene в том же каталоге без выполнения ви-
зуализации.
# ./Render -r vray -exportFileName ‘/book/chapter_04/vray_scene_complex_preview.vrscene’
-noRender ‘book/vray_scene_complex_preview.ma’
Обратите внимание, что для вызова приложения ./Render всегда требует-
ся полный путь к исполняемому файлу, в Linux и macOS вы можете перейти
в директорию с исполняемым файлом приложения с помощью команды cd.
Также можно создать ссылку на исполняемый файл в удобной для вас директо-
рии с помощью команды ln. Приведенный выше пример можно использовать
в Windows, используя соответствующий синтаксис ОС и определение путей
к файлам.
Работа с форматом V-Ray Scene и инструментом V-Ray Scene Manager  335

Файлы V-Ray Scene можно импортировать в Maya с помощью V-Ray Scene


Manager (рис. 4.11.2). Его можно запустить с V-Ray Shelf или перейдя в меню
Create ⇒ V-Ray ⇒ V-Ray Scene Manager.

Рис. 4.11.2  Диалоговое окно V-Ray Scene Manager


с импортированными в сцену данными

Диалоговое окно V-Ray Scene Manager позволяет пользователям легко им-


портировать, просматривать и копировать файлы в формате *.vrscene в про-
цессе работы над текущей сценой.
Обратите внимание, что камеры и настройки системы визуализации не будут им-
портированы из файлов V-Ray Scene, даже если их данные присутствуют в самом
файле.

Когда V-Ray Scene Manager импортирует файл сцены в рабочее простран-


ство Maya, в узле VRayScene становятся доступны дополнительные настройки
в виде атрибутов для настройки.

Импорт материалов из файлов в формате V-Ray Scene


V-Ray for Maya предоставляет инструмент V-Ray Material Importer для ситуаций,
когда необходимо импортировать материалы, определенные в файле форма-
та *.vrscene. Это окно можно открыть с помощью полки V-Ray или перейдя­
в меню Create ⇒ V-Ray ⇒ Import V-Ray material from file (рис. 4.11.3).
Кроме того, узел шейдера VRmat можно использовать для импорта графов
шейдеров материалов из файлов формата V-Ray Scene. Этот метод не позволя-
ет реконструировать и редактировать материалы целиком. Вместо этого при
загрузке файла V-Ray Scene с помощью узла шейдера VRmat будет отображать-
ся список материалов, содержащихся в файле.
336  Геометрия, выборка и качество изображений

Рис. 4.11.3  Диалоговое окно


V-Ray Material Importer

Визуализация с помощью V-Ray Standalone


Еще один способ использования файлов V-Ray Scene – это визуализация с по-
мощью автономной версии V-Ray Standalone, который входит в состав пакета
V-Ray for Maya.
Откройте приложение эмулятора терминала (Terminal (в Linux и macOS))
или Command Prompt (для Windows), перейдите в директорию, где находится
V-Ray Standalone. Запустите приложение ./vray -help (V-Ray Standalone с опци-
ей -help), после чего отобразятся все доступные параметры. Например, чтобы
визуализировать уже экспортированный файл V-Ray Scene в секвенции кадров
от 0 до 10, используйте команду:
# ./vray -sceneFile="/temp/my_file.vrscene" -imgFile="/temp/render.png" -frames=1-10

Конвертирование в объекты V-Ray Proxy


Формат V-Ray Scene является один из многих форматов файлов, которые мож-
но преобразовать в файлы V-Ray Mesh для визуализации с помощью объек-
тов V-Ray Proxy. Это достигается с помощью инструмента Convert Poly to V-Ray
Proxy, который поставляется с V-Ray for Maya. Этот инструмент имеет несколь-
ко функций, специфичных для файлов V-Ray Scene.
С помощью ключа -vrsceneList вы можете использовать этот инструмент для
просмотра списка геометрических объектов в файле сцены V-Ray.
Приведу пример:
# ply2vrmesh /temp/myScene.vrscene -vrsceneList
Выберите объект для преобразования, скопировав его имя и вставив его
в качестве аргумента в ключ -vrsceneNodeName, как показано в примере ниже:
# ply2vrmesh /temp/myScene.vrscene -vrsceneNodeName object001@node_2
Работа с форматом V-Ray Scene и инструментом V-Ray Scene Manager  337

Это преобразует выбранный объект из файла V-Ray Scene в файл V-Ray Mesh,
который затем можно загрузить с помощью узла VRayProxy обратно в Maya или
любую другое приложение, поддерживающее V-Ray.

Редактор V-Ray Scene Manager


Кнопка Import Objects открывает диалог открытия файлов формата *.vrscene.
Если вам необходимо импортировать несколько моделей, можно выбрать не-
сколько файлов V-Ray Scene и за один раз импортировать в сцену.
С помощью кнопок Reload All и Refresh транслятор сцены перезагрузит
или обновит все сцены, импортированные в Maya. Функция New Instance соз-
дает новый образец для выделенной ссылки V-Ray Scene.
С помощью Reload File транслятор сцены перезагрузит выделенный в спис­
ке файл. Если необходимо заменить файл модели, используйте кнопку Replace
File.
Функция Duplicate Instance создает дополнительную копию объектов, со-
храненных в файле V-Ray Scene.
Если необходимо оптимизировать отображение модели в окнах проекций,
с помощью раскрывающегося списка Preview Type вы можете выбрать один
из вариантов:
 None – скрывает модель V-Ray Scene;
 Bounding Box – отображает сцену в виде габаритного параллелепипеда;
 Preview – отображает упрощенную модель, в которой детализация опре-
деляется параметром Preview Faces.
Раскрывающийся список Proxy Preview Type задает один из следующих ме-
тодов отображения V-Ray Proxy, определенных в файле V-Ray Scene:
 None – скрывает прокси-объекты, определенные в файле сцены V-Ray
Scene;
 Bounding Box – отображает прокси-объекты, определенные в файле
сцены, в виде габаритных параллелепипедов;
 Placeholder – активирует представление прокси-объектов, определен-
ных в V-Ray Scene в виде объектов замещения с фиксированным раз-
мером;
 Preview – отображает упрощенную модель, созданную для объектов
V-Ray Proxy, определенных в файле V-Ray Scene.
Флажок Preview Hair активирует отображение объектов меха и волос, со-
храненных в файле V-Ray Scene.
Когда флажок Use Preview Faces активирован, транслятор сцены будет ис-
пользовать автоматически подобранное количество граней для упрощенного
предварительного просмотра модели в видовых окнах проекций. Текстовое
поле Preview Faces переопределяет количество автоматически сформирован-
ных граней предварительного просмотра. Данный параметр доступен, если
отключен флажок Use Preview Faces.
Кнопка Update Preview выполняет обновление упрощенной модели, ото-
бражаемой в видовых окнах проекций, опираясь на изменения, внесенные
в группе Preview Settings.
338  Геометрия, выборка и качество изображений

Параметры Frame Start и Frame Count, расположенные в группе Animation


Preview Cache, определяют первый кадр анимации, определенной секвенцией
файлов V-Ray Scene, и количество кадров любой анимации.
С помощью кнопки Cache Selected транслятор сцены будет выполнять ке-
ширование анимации для выделенного в списке файла V-Ray Scene, опираясь
на определенные параметрами Frame Start и Frame Count значения. Если же
необходимо выполнить кеширование анимации всех файлов V-Ray Scene, ис-
пользуйте кнопку Cache All.
В настоящее время только Maya, 3ds Max, MODO, SketchUp, Rhino и Blender могут
импортировать файлы формата V-Ray Scene. Все другие платформы, поддержива-
ющие V-Ray, могут экспортировать данные в формат V-Ray Scene.
Камеры и параметры системы визуализации не импортируются из файлов V-Ray
Scene, даже если они декларированы в самих файлах.

После импорта файла сцены настройка его свйоств выполняется с помощью


узла VRayScene в рамках редактора атрибутов.

Атрибуты узла VRayScene


Когда в сцену будет импортирована модель в формате V-Ray Scene, транслятор
системы визуализации создаст узел VRayScene, который отвечает за настройку
импорта и обработки данных, сохраненных в файле V-Ray Scene.
Для доступа к атрибутам V-Ray Scene необходимо выделить как один из
представленных в списке файлов диалога V-Ray Scene Manager, так объект
в окне проекции или в редактор Outliner. После выбора объекта в редакторе
атрибутов перейдите к узлу VRayScene и приступите к изменениям свойств, им-
портируемых в сцену данных.
Флажок Disable исключает объект VRayScene из процесса визуализации. Сама
модель доступна в видовых окнах проекций, чтобы выбирать ее во время ра-
боты со сценой, но не отображается при визуализации.
Поле File задает путь и имя файла в формате *.vrscene, загружаемого в сцене
с помощью узла VRayScene.
Атрибут Load Mode определяет режим того, как будет загружаться файл
V-Ray Scene:
 All – загружает файл данных V-Ray Scene со всей геометрией, освещени-
ем, затенением, объемами и т. д.;
 Geometry – загружает из файла данных V-Ray Scene только геометрию
и шейдеры материалов. Этот режим позволяет создавать экземпляры
V-Ray Scene, используя возможности инструментов Maya MASH или
nParticles. Новая сцена также может быть экспортирована в формат дан-
ных V-Ray Scene.
Режим Geometry также обладает рядом дополнительных возможностей:
 сцена на основе дубликатов использует гораздо меньше памяти;
 гораздо быстрее визуализируется;
 делает возможным создавать миллиарды экземпляров геометрии;
Работа с форматом V-Ray Scene и инструментом V-Ray Scene Manager  339

Рис. 4.11.4  Узел VrayScene в редакторе атрибутов.


Свитки VRayScene, Animation Overrides, Render Overrides и Remder Stats

Атрибут Flip Axis переключает использование объектами оси Z в качестве


вертикальной оси на ось Y. Об особенностях применения вертикальных осей
описано выше, в разделе, посвященном V-Ray Proxy.
Когда активизирован атрибут Add Lights, источники света, декларируемые
в файле данных V-Ray Scene, будут использоваться при визуализации. Хочу
обратить ваше внимание на то, что вы не можете изменять их свойства, так
как они просто импортируются из файла данных. Поэтому модель освещения
в сцене рекомендуется прорабатывать заранее, так как источники света могут
быть добавлены вместе со сценой.
Для управления анимацией, сохраненной в файлах V-Ray Scene, используй-
те свиток Animation Overrides. С его помощью можно переопределить параме-
тры анимации ее воспроизведением, смещением секвенции и скоростью.
Use Animation Overrides – активизирует атрибуты, доступные в свитке Ani-
mation Ovverides.
340  Геометрия, выборка и качество изображений

Раскрывающийся список Animation Type определяет метод воспроизведе-


ния анимации, закешированной в V-Ray Scene и импортированной в текущую
сцену Maya:
 Loop – анимация воспроизводится на основе данных файла V-Ray Scene
с использованием настройки атрибута Anim Length. Если временной диа-
пазон в вашей текущей сцене длиннее, чем длина анимации, он повто-
рит воспроизведение анимации сначала;
 Once – анимация, сохраненная в V-Ray Scene, будет воспроизводиться
только один раз. Если временной диапазон больше, чем продолжитель-
ность анимации, окончание анимации сохраняется в статичном кадре;
 Ping-Pong – если при воспроизведении достигается конец сохранен-
ной в V-Ray Scene анимации, анимация воспроизводится в обратном
направлении к началу. Этот процесс будет продолжаться до конца вре-
менного диапазона;
 Still – при воспроизведении анимации будет отображен только первый
кадр анимации, сохраненной в файле данных V-Ray Scene.
Атрибут Anim Start определяет кадр, от которого будет выполняться вос-
произведение анимации. С помощью атрибута Anim Length задается количе-
ство кадров, используемых для воспроизведения анимации. Если же необхо-
димо сместить начало воспроизведения анимации относительно временного
диапазона, то для этого используйте атрибут Anim Offset.
Атрибут Anim Speed задает скорость воспроизведения анимации. По умол-
чанию 1.000 анимация будет воспроизводиться со скоростью, с которой она
была создана (например, 24 кадра в секунду).
Свиток Render Overrides предоставляет ряд функций, которые помогают
переопределить свойства импортируемых в сцену данных из файлов V-Ray
Scene, но на глобальном уровне.
Атрибут Object ID переопределяет идентификационный номер объекта для
всех объектов в импортированной из V-Ray Scene модели. Если переопреде-
ление не установлено, т. е. значение равно –1 (минус один), V-Ray использует
исходные идентификаторы объектов, декларируемые в файле данных V-Ray
Scene.
Атрибут Use Render Stats, расположенный в подсвитке Render Stats, активи-
зирует следующие атрибуты, найденные в подсвитке Render Stats.
Overall Visibility – переопределяет прозрачность объекта (-ов) сохранен-
ных в V-Ray Scene. Значение 1 извлекает данные из файла V-Ray Scene без из-
менений, в то время как 0 делает объекты невидимыми, а все промежуточные
значения делают их полупрозрачными.
Primary Visibility – если этот атрибут выключен, объекты ,представленные
в V-Ray Scene, не будут визуализироваться.
Когда отключены атрибуты Visible in Reflections и Visible in Refractions,
объекты, представленные в файле V-Ray Scene, не будут визуализироваться
в отражениях и преломлениях.
Для того чтобы объекты, представленные в модели из файла V-Ray Scene,
отбрасывали и принимали тени, а также участвовали в вычислениях GI и были
доступны лучам глобального освещения, установите флажки напротив атри-
бутов Casts Shadows, Receive Shadows и Visible to GI.
Работа с форматом V-Ray Scene и инструментом V-Ray Scene Manager  341

Рис. 4.11.5  Свиток Wrapper узла VRayScene содержит атрибуты,


позволяющие настроить модель из файла V-Ray Scene
в качестве объектов маскирования

Подсвиток Wrapper обладает идентичными атрибутами для определения


свойств объектов для визуализации, описанных в подразделе «Переопреде-
ление свойств объекта с помощью узла VrayObjectProperties», представлен-
ном выше в данной главе. С помощью атрибута Use Wrapper активизируются
атрибуты, доступные в подсвитке Wrapper. Но, в отличие от индивидуального
объекта, который выбирается в сцене Maya, все свойства маскирования и уча-
стия в визуализации в данном случае переопределяются для всех объектов,
импортируемых из файла данных V-Ray Scene. Поэтому, если вы используе-
те данные из файла V-Ray Scene и хотите сохранить заранее подготовленные
объекты, отключите атрибуты свитка Wrapper.
Специальный подсвиток Miscelaneous содержит атрибут GI surface ID, за-
дающий число, которое можно использовать для предотвращения смешива-
ния выборки Light Cache на различных поверхностях. Если два объекта имеют
разные идентификаторы поверхности GI, выборки Light Cache двух объектов
не смешиваются. Это может быть полезно для предотвращения прохождения
(протечек) света между объектами совершенно разного освещения.
С помощью V-Ray Scene Manager можно импортировать файлы данных
V-Ray Scene и создавать новые экземпляры моделей. Каждый экземпляр мо-
342  Геометрия, выборка и качество изображений

жет иметь свой собственный фрагмент переопределения (Override Snippet).


Это позволяет делать переопределения независимо для каждого экземпляра
одного и того же файла V-Ray Scene.
Use Scene Overrides – активизирует следующие атрибуты, доступные
в свитке Scene Overrides (рис. 4.11.6).

Рис. 4.11.6  Свиток Scene Overrides


позволяет управлять переопределениями данных
в V-Ray Scene

From File (*.vrscene) – задает путь и имя файла V-Ray Scene, используемого
для переопределения файла, определенного атрибутом File.
Override Snippet (*.vrscene) – текстовое поле редактора, в которое вводятся
данные в формате V-Ray Scene.
Возможности инструментов V-Ray Proxy и V-Ray Scene значительно по-
вышают производительность в работе с комплексными сценами, содержа-
щими большой объем геометрии и текстур. Например, создать модель леса
с использованием нескольких образцов V-Ray Proxy и затем, экспортировав
ее в V-Ray Scene, заранее распределить по поверхности с применением Maya
MASH, проще, чем делать это вручную. Используя возможности языков про-
граммирования и сценариев, таких как C++ или Python, вы можете создавать
свои инструменты или выполнять обработку данных, сохраненных в формате
V-Ray Scene. При этом парсинг данных можно выполнять напрямую из Maya,
используя MEL или Python.

Применение Maya MASH совместно с V-Ray Proxy


и V-Ray Scene
Если необходимо создать множество дубликатов одного объекта, распреде-
ленных на поверхности, выгодно использовать один из доступных инстру-
ментов для копирования объектов в сцене. Так как V-Ray Proxy и V-Ray Scene
для Maya представлены как геометрия и связаны с узлами transform и mesh, то
для создания их дубликатов в сцене с помощью MASH не существует никаких
преград.
Работа с форматом V-Ray Scene и инструментом V-Ray Scene Manager  343

В данном разделе вы узнаете, как можно использовать возможности Maya


MASH для создания дубликатов V-Ray Proxy и V-Ray Scene, распределив их по
поверхности полигональных объектов.
На рис. 4.11.7 приведен пример геометрии растений, которые необходимо
продублировать, опираясь на измененную полигональную плоскость, распо-
ложенную под ними. Для того чтобы избегать переполнения сцены и ее услож-
нения, лучше всего применить возможности V-Ray Proxy. В файле прокси-объ-
екта сохраняется растение, и затем импортируется в сцену Maya с помощью
инструмента Import V-Ray Proxy.

Рис. 4.11.7  Модель куста травы,


сохраненная в виде V-Ray Proxy и импортированная в сцену Maya.
Снизу размещена модель плоскости для дублирования модели куста

Когда модель импортирована в сцену, можно сразу приступить к работе


с ней при помощи Maya MASH. Для этого просто выделите объект V-Ray Proxy
и перейдите в меню MASH ⇒ Create MASH Network ⇒ □.
Когда вы работаете с V-Ray Proxy и Maya MASH, старайтесь не изменять режим
представления модели в видовых окнах проекций для прокси-объекта, это при-
ведет к неправильной интерпретации данных V-Ray Proxy механизмом дубли-
рования MASH. Если вам необходимо уменьшить загруженность сцены различ-
ными данными и объектами, переключите атрибут Level Of Detail в узле MASH
344  Геометрия, выборка и качество изображений

Instancer с Geometry на Bounding Box вместо изменения режима отображения


в узле VRayMesh. Таким образом, данные из файла прокси-объекта будут загружать-
ся в узел дублирования.

В диалоговом окне MASH Options (рис. 4.11.8) в качестве Geometry Type для
дублирования V-Ray Proxy выбирается режим Instancer.

Рис. 4.11.8  Диалоговое окно MASH Options


с настройками для дублирования объектов V-Ray Proxy

По своей сути режим Instancer позволяет дублировать весь граф узлов объ-
екта V-Ray Proxy, что не позволит утратить информацию о взятии данных из
сохраненного вовне файла прокси-объекта. В качестве Distribution Type мож-
но выбрать базовый режим Grid, который впоследствии будет заменен на ре-
жим Mesh.

Рис. 4.11.9  Редактор Outliner со списком узлов сцены.


Узел MASH_Distribute выделен
Работа с форматом V-Ray Scene и инструментом V-Ray Scene Manager  345

Когда будет создан новый набор узлов MASH, продолжить работу с ними
можно с помощью выделения узлов в редакторе Outliner и в редакторе MASH
Editor.
Для конфигурации MASH выделите узел MASH_Distribute и далее в настрой-
ках введите желаемое количество дубликатов объектов – это выполняется
с по­мощью атрибута Number of Points. Затем необходимо указать, что ко-
пии нужно располагать по полигональной поверхности. Для этого в атрибуте
Distribution Type выберите Mesh. Это позволит использовать полигональную
модель для распределения дубликатов по ее поверхности. Затем с помощью
СКМ свяжите полигональную поверхность, по которой необходимо распреде-
лить дубликаты с узлом MASH_Distribute, перетащив его на атрибут Input Mesh.
Если необходимо вычислить поворот дубликатов относительно поверхно-
сти, можно оставить активным атрибут Calculate Rotation. Далее нужно вы-
брать метод распределения дубликатов по поверхности. Когда выбран режим
Mesh, система MASH может дублировать объекты в рандомизированном по-
рядке, опираясь на вершины, грани, центры граней, воксели и другие компо-
ненты геометрии.
Если необходимо распределить дубликаты объектов по поверхности в слу-
чайном порядке и управлять этим свойством, используйте узел MASH_Random.
Его можно добавить с помощью MASH Editor (рис. 4.11.10), вызываемого с по­
мощью меню MASH ⇒ MASH Editor.

Рис. 4.11.10  Диалоговое окно MASH Editor


с контекстным меню Create MASH Node

Далее с помощью узла MASH_Random для дубликатов добавляется неравномер-


ность распределения. Для этого изменяйте атрибуты Position (по осям X, Y, Z),
Rotation (по осям X, Y, Z) и Scale (по осям X, Y, Z). Для дополнительного конт­
роля вы можете использовать текстурные карты и дополнительные узлы для
формирования определенных эффектов с дубликатами. На рис. 4.11.11 при-
346  Геометрия, выборка и качество изображений

ведены примеры конфигурации узлов MASH_Distribute и MASH_Random, с помощью


которых было создано распределение дубликатов объектов по полигональной
поверхности, приведенной на рис. 4.11.12.

Рис. 4.11.11  Узлы MASH_Distribute и MASH_Random в редакторе атрибутов

Создавать копии объектов с помощью MASH и распределять их по поверх-


ностям не так сложно. При этом можно значительно повысить производитель-
ность в работе с комплексными сценами, в которых может быть использова-
но несколько десятков тысяч объектов, что в обычных условиях значительно
понизит производительность программы в целом и будет нерационально ис-
пользовать возможности ресурсов компьютерной системы в целом. Приве-
денная на рис. 4.10.1 визуализация жилого комплекса, совмещенного с раль-
ным видео, наглядно демонстрирует возможности применения инструментов
Maya MASH для создания модели леса.
Объект VRayPlane  347

Рис. 4.11.12  Пример результата создания дубликатов объектов по поверхности


с применением Maya MASH

4.12. Объект VRayPlane


В процессе визуализации моделей для демонстрации клиентам или при раз-
работке образа (материалов, освещения, текстурных карт) можно воспользо-
ваться специальным объектом, который может быть помещен в качестве фона
за моделью или для всей сцены целиком.
Объект V-Ray Plane является очень простым в функциональности проце-
дурным объектом, представляющим бесконечную плоскость.
На рис. 4.12.1 приведен пример визуализации модели, помещенной поверх
плоскости объекта V-Ray Proxy. В данной сцене модель визуализировалась при
создании текстурных карт и не требовала помещения в полноценную сцену
с другими объектами.
Объект V-Ray Proxy может быть создан с помощью щелчка мышью по соот-
ветствующей кнопке на панели Shelf, а также с помощью меню Create ⇒ V-Ray
⇒ Create VrayPlane, после чего будет создан узел объекта VRayPlane. У данно-
го объекта нет дополнительных атрибутов, вы можете его просто поместить
в желаемое место сцены, допустим, под желаемым объектом.
Затем назначьте желаемый материал и выполните визуализацию сцены.
348  Геометрия, выборка и качество изображений

Рис. 4.12.1  Пример визуализации модели тепловоза,


помещенной поверх V-Ray Plane

Помните, что положение объекта V-Ray Plane зависит от трансформаций,


определенных узлом transfrom. Помимо этого, вы можете использовать не-
сколько объектов V-Ray Plane в сцене.

4.13. Объект VRayClipper


В ряде случаев при желании достигнуть определенного художественного эф-
фекта вам может потребоваться воссоздать внутренние элементы объекта,
но при этом частично убрать внешние элементы – допустим, показать внут­
реннее устройство двигателя, но при этом частично скрыть модель защитных
панелей и корпуса автомобиля. Еще один пример – визуализация планов сече-
ний здания, где частично скрываются стены, но при этом выполняется визуа-
лизация помещений на этажах.
В V-Ray for Maya для обрезки геометрии в процессе визуализации создан
специальный объект V-Ray Clipper, который позволяет убрать лишнюю часть
объекта и выполнить его визуализацию в разрезе (рис. 4.13.1).
Когда будет создан объект V-Ray Clipper, его свойства будут представлены
узлом VRayClipper, доступным в редакторе Outliner. Все настройки выполняют-
ся с помощью атрибутов, представленных несколькими свитками.
Все основные настройки выполняются с помощью свитка Paramaters
(рис. 4.13.2).
Атрибут Enabled активизирует эффект обрезки объектов. Когда флажок
установлен, V-Ray будет вычислять изменения в геометрии; когда флажок
убран, эффект обрезки вычисляться не будет.
Атрибут Affect Lights позволяет объекту обрезки также оказывать воздей-
ствие на площадные источники света.
Camera Rays Only – при активизации данного атрибута объект обрезки ока-
зывает влияние на объекты, которые видимы камере, но они не будут измене-
ны при формировании эффектов отражений и преломлений.
Объект VRayClipper  349

Рис. 4.13.1  Пример визуализации модели


с применением к ней объекта V-Ray Clipper

Clip Lights Geometry – позволяет обрезать геометрию со свойствами ис-


точников света (mesh lights).
Use object material – позволяет объекту обрезки использовать материал
каждого измененного с его помощью объекта для заполнения получаемых
в результате операции пустот. При отключении используется материал, при-
мененный к самому объекту обрезки.
350  Геометрия, выборка и качество изображений

Рис. 4.13.2  Свиток Parameters


содержит ключевые атрибуты V-Ray Clipper

Mesh Mode – данный режим позволяет объекту VRay Clipper выполнять об-
резку относительно объекта с произвольной геометрией, а не в виде беско-
нечной плоскости. Помните, что данный режим недоступен при визуализации
с помощью V-Ray RT GPU (CUDA или OpenCL).
Clip Mesh – отображает имя узла полигонального объекта, используемого
для обрезки геометрии с помощью V-Ray Clipper.
Создавая объект, V-Ray Clipper, когда вы уже выбрали объект в вашей сцене, ав-
томатически преобразует выбранный объект в геометрический V-Ray Clipper. Вы
можете использовать атрибут Mesh Mode, чтобы отключить данную функцию.

Раскрывающийся список Mesh Operation определяет, как использовать


геометрию, когда активизирован атрибут Mesh Mode:
 режим Intersection обрезает все, что находится за пределами выбран-
ного объекта; только визуализирует объекты и части объектов внутри
выбранного объекта;
 режим Subtraction обрезает все, что находится внутри выбранного объ-
екта; отображает только объекты и части объектов за пределами вы-
бранного объекта.
Exclude – создает набор объектов (Objects Set) открывает диалоговое окно
редактора Relationship Editor, позволяя включить/исключить объекты сцены,
которые должны быть обрезаны.
Когда установленный флажок As Inclusive set инвертирует значение списка
Exclude, обрезке будут подвергнуты только объекты в списке.
Визуализация кривых в V-Ray for Maya  351

4.14. Визуализация кривых в V-Ray for Maya


Когда вы моделируете провода, шланги, перила и другие плавно искривляю-
щиеся объекты, их легко можно создать с помощью кривых и B-Splines. Но
чтобы не моделировать их с помощью полигональных объектов или преобра-
зовывать поверхности в полигональную геометрию, можно воспользоваться
инструментом V-Ray Renderable Curve.
Данный инструмент создает узел VRayRenderableCurve, который может быть
связан с несколькими узлами кривых, и трансформировать их в полигональ-
ные объекты, которые будут сформированы только в процессе визуализации.
Для создания узла VRayRenderableCurve воспользуйтесь кнопкой V-Ray Render-
able Curve button на панели Shelf, при этом при щелчке ЛКМ может быть раз-
вернуто контекстное меню, в котором вы можете выбрать применение узла
к одному или нескольким выделенным объектам, удалить узел VRayRenderable-
Curve из связей с объектами кривых. Также узел VRayRenderableCurve может быть
создан с помощью меню Create ⇒ V-Ray ⇒ V-Ray Renderable Curve ⇒ Apply sin-
gle/multiple VRayRenderable Curve node to selection.

Рис. 4.14.1  Сцена с кривыми и узел VRayRenderableCurve в редакторе атрибутов

Атрибут Render активирует или деактивирует визуализацию кривых


в V-Ray.
Атрибут Material определяет материал, который будет использован при
визуализации модели. Так как V-Ray формирует полигональную геометрию,
в процессе трансляции сцены перед началом визуализации данный материал
будет применен к преобразованным кривым.
Tessellation – внутри кривые объединены в отрезки. Меньшие значения ко-
эффициента тесселяции лучше передают кривизну, но медленнее визуализи-
руются, большие значения коэффициента визуализируются быстрее, но хуже
передают точность кривых.
352  Геометрия, выборка и качество изображений

Рис. 4.14.2  Пример визуализации кривых с различной тесселяцией.


A – 0.1, B – 0.5, C – 1.5

Атрибуты Start Width и End Width. В Maya кривые не имеют толщины,


и эти атрибуты должны использоваться для определения толщины в начале
кривой и ее конце. Начало кривой вы можете определить по символу U в окне
проекции Maya.

Рис. 4.14.3  Визуализация сцены с активным атрибутом Lock End Width (A)
и с различными значениями Start Width = 0.1, End Width = 0.25

Когда включен атрибут Lock End Width, значение атрибута Start Width будет
контролировать постоянную толщину вдоль всей кривой.
Сглаживание и выборка изображения  353

4.15. Визуализация NURBS в V-Ray for Maya


Если в сцене используются модели на основе поверхностей NURBS, при ви-
зуализации с помощью V-Ray можно воспользоваться специальным инстру-
ментом V-Ray NURBS Tesselation, который позволяет управлять тесселяцией
NURBS-поверхности аналогично дополнительным атрибутам NURBS Attri-
butes. Но, в отличие от индивидуально применяемых атрибутов, вы можете
использовать узел vrayNURBStesselation для нескольких объектов одновремен-
но, что существенно облегчает настройку.
За создание узла V-Ray NURBS Tesselation отвечает кнопка Assign V-Ray
NURBS Tesselation attributes на панели Shelf. Или это можно сделать с по-
мощью меню Create ⇒ V-Ray ⇒ V-Ray NURBS tessellation.
В принципе, функции атрибутов узла vrayNURBStesselation выполняют ана-
логичные атрибутам NURBS Tesselation функции, о которых подробно написа-
но в разделе «Расширенные свойства и тесселяция полигональной геометрии
в V-Ray».

4.16. Сглаживание и выборка изображения


Алгоритм выборки изображения в V-Ray вычисляет цвет пикселя на основе
цветов окружающих его пикселей. Для этого программа визуализации вычис-
ляет все необходимые данные на основе модели сцены и определения матери-
алов с помощью шейдеров и источников света.
Каждый пиксель изображения в результате визуализации получает только
один цвет. Для того чтобы получить цвет пикселя, во время вычислений ядро
V-Ray опирается на шейдеры материалов объектов, прямое освещение, попа-
дающее на поверхность объектов, и непрямое освещение в сцене. Но в преде-
лах одного пикселя может быть несколько цветов, которые могут исходить
от нескольких объектов, края которых пересекаются в одном и том же пик-
селе, или даже может быть разница в яркости одного и того же объекта из-за
изменений в форме объекта или изменений освещения от источников света
в сцене.
Чтобы определить правильный цвет для пикселя, V-Ray выбирает цвета из
разных частей самого пикселя, а также пикселей вокруг него. Этот процесс на-
зывается выборкой изображения. Ядро системы визуализации V-Ray включает
в себя два основных алгоритма выборки изображения – Progressive и Bucket,
каждый из алгоритмов обладает своим подходом к выборке и определенными
параметрами (рис. 4.16.1).
354  Геометрия, выборка и качество изображений

Рис. 4.16.1  Интерфейс свитка Image Sampler


при выборе алгоритма Bucket (A) и Progressive (V-Ray Next CPU) (B)

Выбрать необходимый алгоритм выборки изображения можно с помощью


диалогового окна Render Settings. При выборе в качестве текущего средства
визуализации V-Ray перейдите во вкладку V-Ray и выберите желаемое ядро
визуализации, это может быть как CPU-, так и GPU-accelerated ядро V-Ray
и алгоритм выборки в свитке Image Sampler.

Что такое сглаживание изображения (Anti-aliasing)?


Одной из функций, которую выполняет алгоритм выборки изображения, яв-
ляется сглаживание, которое заключается в уменьшении «зубчатых краев»,
формируемых в процессе визуализации. На иллюстрациях рис. 4.16.2 показа-
но основное различие между изображением со сглаживанием и изображением
без сглаживания. Изображение слева обладает «зубчиками», расположенными
по краям объекта-образца, а изображение справа – гладкое.
Обратите внимание на то, как сглаживание влияет на границы объектов
и перехода между яркими участками в бликах и отражениях к менее ярким.
Когда сглаживание отключено (иллюстрация A), границы объектов и бликов
обладают жесткими краями, которые обладают резким контрастом и значи-
Сглаживание и выборка изображения  355

тельно выделяются на изображении. В то же время алгоритм сглаживания,


заложенный в методе Lanczos (иллюстрация B), хорошо сглаживает границы
объектов, но в бликах и отражениях данный метод показывает менее каче-
ственное сглаживание. Если необходимо уменьшить резкие границы в бликах
и отражениях, можно использовать фильтр Gaussian (иллюстрация C), кото-
рый выполняет сглаживание в областях с большой яркостью и контрастом, но
при этом снижает резкость.

Рис. 4.16.2  Пример визуализации изображения как без применения сглажи-


вания, так и с применением двух типов сглаживания (Lanczos и Gaussian). В от-
дельных блоках представлена область изображения, увеличенного на 300 %
356  Геометрия, выборка и качество изображений

Если для каждого из пикселей по краю объекта берется только одна выбор-
ка, выбор цвета пикселя ограничивается цветом объекта или цветом фона.
Использование одного из этих цветов (т. е. взятие только одного образца) за-
ставляет изображение выглядеть неровным по периметру объектов. Это экви-
валент полного отсутствия сглаживания (иллюстрация A).
Если в каждом пикселе выполняется две или более выборки, цвета усредня-
ются и пиксели на краях объектов получают цвет, усредненный между цветом
объектов и цветом фона. Получаемые усредненные цвета делают объекты бо-
лее гладкими при окончательной визуализации.

Свиток Image Sampler


Раскрывающийся список Sampler Type позволяет выбрать тип алгоритма
и метода выборки изображения (рис. 4.16.1). Конкретные параметры для вы-
бранного типа выборки отображаются в нижней части свитка Image Sampler:
 Progressive – формирует образцы выборки для всего изображения. Счи-
тается наиболее предпочтительным для быстрой визуализации изобра-
жения, а также оптимальным для визуализации сложных эффектов за-
тенения и освещения;
 Bucket – данный тип принимает переменное количество выборок образ-
цов на пиксель в зависимости от разницы в интенсивности пикселей.
Данный тип превосходно подходит для визуализации сцен, созданных
в предыдущих версиях Maya и V-Ray, а также позволяет использовать не
поддерживаемые Progressive функции и возможности.
Атрибут Min Shading Rate контролирует количество первичных лучей, вы-
бранных для сглаживания, по сравнению со вторичными лучами, используе-
мыми для формирования других эффектов, таких как глянцевые отражения,
GI (глобальное освещение), областей теней и т. д. Более высокие значения
говорят, что на сглаживание будет затрачено меньше времени и будет при-
ложено больше усилий к выборке эффектов затенения. Этот подход особенно
полезен при использовании метода выборки Progressive.
Данный атрибут недоступен при использовании ядра V-Ray GPU, выбранного в ка-
честве Production engine.

Атрибут Divide Shading Subdivs доступен только в том случае, если в рас-
крывающемся свитке DMC Sampler активизирован атрибут Use local subdivs.
По умолчанию V-Ray делит количество образцов для источников света, мате-
риалов и т. д. на количество образцов сглаживания (Anti-aliasing (AA)), чтобы
добиться примерно одинакового качества изображения и количества лучей
при изменении настроек сглаживания. Например, если у вас есть 4 подраз-
деления выборки AA (оно будет равно 16 образцам изображения) и 8 подраз-
делений выборки света (будет равно 64 лучам теней), V-Ray будет отслеживать
4 (= 64/16) луча теней для каждого образца в изображении. Это также означает,
что, если вы хотите выбрать конкретный эффект размытия более чем с од-
ним образцом, вам нужно увеличить его подразделение, сделав его выше, чем
у метода выборки изображения. Однако некоторые пользователи (особенно
те, которые переходят с других систем визуализации) могут счесть это неудоб-
Сглаживание и выборка изображения  357

ным. Данный атрибут позволяет им отключить эту функцию, и в этом случае


подразделение источников света, материалов и т. д. определяют количество
подразделений для каждого образца выборки изображения, что позволяет бо-
лее точно контролировать выборку для этих эффектов.
Если данный атрибут отключен, вышеуказанные настройки четырех под-
разделений AA и восьми подразделений освещения будут отслеживать до
1024 (= 16 × 64) лучей теней, хотя V-Ray все равно будет пытаться уменьшить
это количество в зависимости от настроек метода выборки Global DMC. Раз-
работчикам не нравится этот подход, поскольку, по их скромному мнению, он
не делает настройку сцены особенно быстрой или простой и может добавить
больше путаницы, чем необходимо, но, если этого хотят пользователи, пусть
будет так.
Атрибут Min Shading Rate остается действительным для удобства использования
пользователем. Данный атрибут недоступен при использовании ядра V-Ray GPU,
выбранного в качестве Production engine.
Если вы не уверены, что вам нужно отключить параметр Divide Shading Subdivs,
или вы не совсем понимаете, что он делает, оставьте его в состоянии по умолча-
нию.

Рис. 4.16.3  Пример визуализации изображения


с различными значениями атрибутов Min Subdivs и Max Subdivs
и активным и неактивным атрибутом Divide Shading Samples

На рис. 4.16.3 представлены шесть иллюстраций, демонстрирующих резуль-


тат влияния атрибута Divide Shding Samples на визуализируемое изображение.
358  Геометрия, выборка и качество изображений

Результат сравнения и выборок изображения, а также в определенных эффек-


тах затенения (отражения, GI, тени) собраны в табл. 4.1. Для правильности
восприятия, примеры визуализации изображений выполнены со следующими
общими настройками алгоритма выборки Min Shading Rate = 8, Brute Force GI
Subdivs = 8. Вверху Divide Shading Samples включен, внизу выключен. Атрибу-
там Min Subdivs в обоих случаях были назначены значения 2, 4, 12, а атрибуту
Max Subdivs в обоих случаях были назначены значения 8, 16, 48. Визуально
значительных различий вы можете не заметить, однако, если включить атри-
бут Divide Shading Samples, алгоритм выборки будет формировать большее ко-
личество бликов от частиц автомобильный краски. Но это обусловлено недо-
статочной выборкой, так как, согласно табл. 4.1, когда атрибут Divide Shading
Samples включен, ядро визуализации выполняет меньше выборок, по сравне-
нию со стандартным, но оптимизированным режимом выборки. Заметьте, что
выборка таких лучей, как тени, GI, отражения, при активации атрибута Divide
Shading Samples выполняется для меньшего числа лучей. Это и может приве-
сти к снижению качества результирующего изображения.
Но если следовать рекомендациям разработчиков и отключить атрибут Di-
vide Shading Samples, алгоритм выполнит больше выборок на каждый пиксель,
чем повышает качество визуализации в сцене. Также замечу, что объем ис-
пользуемой памяти гораздо ниже при низких значениях выбираемых образ-
цов, по сравнению с большим числом выборок.

Таблица 4.1. Сравнение используемого объема ОЗУ, времени на визуализацию


кадра с различными настройками алгоритма выборки и различными состояниями
атрибута Divide Shading Subdives
Характеристика A B C D E F
Min Shading Rate 8
Min Samples / Max Samples 2/8 4 / 16 12 / 48 2/8 4 / 16 12 / 48
Divide Shading Subdivs + –
Number of raycasts (per pixel) 864.37 1184.29 1591.60 2053.73 1998.16 1998.50
Camera rays (per pixel) 43.21 64.37 79.11 17.58 16.87 16.87
Shadow rays (per pixel) 279.23 374.66 496.66 765.13 748.60 748.64
GI rays (per pixel) 296.34 411.95 544.58 743.91 711.04 711.08
Reflection rays (per pixel) 266.93 358.63 504.07 573.28 563.47 563.69
Refraction rays (per pixel) 0.00
Unshaded rays (per pixel) 0.00
Peak memory for «Bitmap» 492.54 Мб 492.55 Мб 492.55 Мб 492.55 Мб 492.55 Мб 492.59 Мб
Peak memory for «Bucket image 0B
sampler»
Peak memory for «Dynamic 0B
displaced geometry»
Peak memory for «Dynamic < 1 Мб
geometry»
Peak memory for «Dynamic 0B
moving displaced geometry»
Peak memory for «Dynamic 0B
moving geometry»
Сглаживание и выборка изображения  359

Таблица 4.1 (окончание)


Характеристика A B C D E F
Peak memory for «GI» 28.63 Мб 28.29 Мб 28.30 Мб 28.29 Мб 28.20 Мб 28.35 Мб
Peak memory for «Lights» 1.25 Гб 1.25 Гб 1.25 Гб 1.25 Гб 1.25 Гб 1.25 Гб
Peak memory for «Misc.» 13.81 Мб 13.81 Мб 13.81 Мб 13.81 Мб 13.81 Мб 13.81 Мб
Peak memory for «Misc. 0B
displaced geometry»
Peak memory for «Misc. 14.78 Мб 14.78 Мб 14.78 Мб 14.78 Мб 14.78 Мб 14.78 Мб
geometry»
Peak memory for «Misc. moving 0B
displaced geometry»
Peak memory for «Misc. moving 0B
geometry»
Peak memory for «Progressive 758.70 Мб 758.75 Мб 750.77 Мб 750.95 Мб 750.84 Мб 870.94 Мб
image sampler»
Peak memory for «Static 0B
displaced geometry»
Peak memory for «Static 169.07 Мб 169.07 Мб 169.07 Мб 169.07 Мб 169.07 Мб 169.07 Мб
geometry»
Peak memory for «Static hair» 0B
Peak memory for «Static moving 0B
displaced geometry»
Peak memory for «Static moving 0B
geometry»
Peak memory for «Static moving 0B
hair»
Peak memory for «Tiled bitmap» 26.15 Мб 31.15 Мб 31.15 Мб 31.15 Мб 31.15 Мб 31.15 Мб
Peak memory for «V-Ray for 4.92 Мб 4.92 Мб 4.92 Мб 4.93 Мб 4.92 Мб 4.93 Мб
Maya exporter»
Peak memory for «V-Ray for 15.61 Мб
Maya keyframes»
Peak memory for «V-Ray for 656.37 Мб 656.38 Мб 656.38 Мб 656.38 Мб 656.38 Мб 658.38 Мб
Maya misc.»
Peak memory for «VFB» 61.27 Мб 61.27 Мб 61.27 Мб 61.27 Мб 61.27 Мб 73.27 Мб
Light cache utilization 84.39 % 84.49 % 85.48 % 83.73 % 85.19 % 85.20 %
Premultiplied light cache 55.66 % 57.56 % 56.55 % 55.66 % 56.33 % 56.34 %
utilization
Number of light evaluations 160.52 213.57 295.12 237.93 245.00 245.08
(per pixel)
Total frame time 0h 16m 0h 22m 0h 30m 0h 30m 0h 30m 0h 30m
43.7s 29.1s 20.2s 39.2s 52.7s 51.2s
(1003.7 s) (1349.1 s) (1820.2 s) (1839.2 s) (1852.7 s) (1851.2 s)
Maximum memory usage for 24.15 Мб 24.90 Мб 24.77 Мб 26.27 Мб 25.65 Мб 25.65 Мб
texman

Стоит отметить, что меньшее число выборок также влияет и на общее вре-
мя визуализации, т. е. чем меньше выполняется выборок, тем быстрее будет
достигнуто определенное количество образцов, максимальное для текущего
кадра. Это можно заметить по иллюстрации A, которая визуализировалась
360  Геометрия, выборка и качество изображений

с активным атрибутом Divide Shading Samples, и минимальным количеством


образцов (Min Samples и Max Samples).
Также обратите внимание на различия в потребляемом объему ОЗУ при
работе версии ядра прогрессивного режима визуализации (Peak memory for
«Progressive image sampler»). При использовании большого числа выборок (Min
Samples и Max Samples) в стандартном режиме выборки системе визуализации
потребуется больше памяти по сравнению с тем, когда активирован режим Di-
vide Shading Samples.
Раскрывающийся список Render mask включает функцию маски визуализа-
ции. Маска визуализации позволяет вам определить, какие пиксели изображе-
ния визуализируются, а остальные пиксели остаются нетронутыми. Эта функ-
ция лучше всего работает с редактором V-Ray Frame Buffer и методом выборки
изображений Bucket. Доступны следующие типы визуализации по маске:
 Disabled – маска визуализации не будет использована;
 Texture – карта текстуры, используемая для маски визуализации. Зна-
чения черного в текстурной карте определяют пиксели, которые не ото-
бражаются. Пиксели с любыми другими значениями будут использова-
ны для визуализации сцены;
 Object Set – определяет пользовательский набор объектов для визуали-
зации;
 Object IDʼs – будут отображаться только те объекты, которым определе-
ны идентификаторы объектов (Object ID); вы можете перечислить более
одного идентификатора, используя запятые для их разделения.
Isolate Select – использует функцию Isolate Selection доступную в Maya, что-
бы обновлять только те объекты, которые включены в это выделение в видо-
вых окнах проекций для обновления при повторной визуализации. Функция
Isolate Selection активируется с помощью Меню панели видового окна проекции
⇒ Show ⇒ Isolate Select ⇒ View Selected, или с помощью клавиатурной комби-
нации Ctrl+1. Данный режим работает как с CPU, так и с GPU версиями ядра
в режимах Production и IPR. Подробнее о работе с Render Mask мы поговорим
ниже, в отдельном разделе.
Источники света не могут быть изолированы, они всегда будут освещать объекты
независимо от того, изолированы они в окне проекции или нет.

Атрибут Render mask clear доступен, когда активизирован атрибут Render


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

При визуализации анимации будет активизирована очистка всего изображения.

На рис. 4.16.4 приведены примеры визуализации модели жилого комплекса


с использованием Render Mask. На иллюстрации A оригинальное изображе-
ние сцены. На иллюстрации B приведен пример визуализации той же сцены,
в которой был активизирован режим Render Mask, с добавленной текстурной
картой, показанной на иллюстрации C, и внесены изменения в материалы
стен здания. Иллюстрации D и E демонстрируют визуализацию Render Mask
Сглаживание и выборка изображения  361

на основе текстурной карты, сформированной за счет отдельной визуализа-


ции деревьев.

Рис. 4.16.4  Примеры использования функции Render Mask


при визуализации модели жилого комплекса

Для визуализации модели на иллюстрации F, объектам стен и деревьев были


назначены идентификаторы объектов (Object ID), которые были определены
в Render Mask в режиме Object ID.
Режим Render Mask удобно использовать в процессе тестов и настройки
шейдеров материалов. Можно заранее распределить сцену по определенным
группам, категориям, идентификаторам и выполнять визуализацию с помо-
щью активного режима Render Mask.
Раскрывающийся список AA filter type, доступный после активизации
атрибута AA Filter, определяет тип фильтра, который будет использоваться
для сглаживания изображения. Ядро V-Ray предоставляет восемь типов филь-
трации изображения: Box, Area, Triangle, Lanczos, Sinc, CatmullRom, Gaussian
и Variable. У каждого есть свои преимущества и недостатки, которые делают
их полезными для решения различных задач.
Атрибут Size определяет размер фильтра в пикселях. Более высокие значе-
ния делают изображение более размытым. Чтобы получить физически точные
результаты, минимальное значение этого параметра составляет 1.0, а макси-
мальное – 20.0. Рассмотрим примеры визуализации изображения с различны-
ми типами и силой фильтрации.
Этот пример демонстрирует влияние фильтров сглаживания изображения
на эффект муара на изображениях. Фильтры увеличения резкости могут уси-
362  Геометрия, выборка и качество изображений

лить эффект муара, даже если частота дискретизации вашего изображения


очень высока. Фильтры размытия снижают эффект муара.
Обратите внимание, что эффект муара не обязательно является результа-
том плохой выборки изображения. В общем случае эффект муара появляется,
потому что изображение дискретизируется на квадратные пиксели. Как тако-
вые они свойственны цифровым изображениям. Эффект может быть умень-
шен за счет использования различных фильтров сглаживания, но его нельзя
полностью избежать.
На рис. 4.16.5 хорошо заметен эффект дискретизации и муара на границе
внутреннего отверстия в объекте. Особенно он хорошо проявляется на мел-

Рис. 4.16.5  Визуализация всех основных алгоритмов сглаживания изобра-


жения, поддерживаемых V-Ray как с настройками по умолчанию (A – H), так
и после изменения размера фильтрации (Size = 5) (A1 – H1). Используемые
фильтры: A – Box, B – Area, C – Triangle, D – Lanczos, E – Sinc, F – CatmullRom,
G – Gaussian, H – Cook Variable
Сглаживание и выборка изображения  363

ких деталях, когда размер ячеек карты Checker очень мал. С другой стороны,
увеличение размера фильтрации (кроме фильтра CatmullRom (иллюстрации F
и F1)) помогает снизить эффект муара. Здесь стоит присмотреться к отказу от
использования мелких деталей в текстурах, особенно на близких к перпенди-
кулярным к камере плоскостям.
Познакомившись с доступными методами фильтрации изображения, те-
перь можно перейти к знакомству с основными методами и технологиями по-
строения изображения, доступными в V-Ray.

Конфигурация V-Ray Progressive Engine


Исторически системы визуализации формировали изображение за счет под-
разделения изображения на несколько отдельных блоков и визуализировали
каждый из них. Со временем с повышением производительности CPU и при-
ходом эры вычислений на GPU стали развиваться алгоритмы прогрессивной
визуализации, когда, опираясь на опорные данные, выполнялась визуализа-
ция не отдельных элементов изображения, а всего изображения сразу, с по-
степенным улучшением качества.
Система визуализации V-Ray предоставляет две версии ядра прогрессив-
ной визуализации, первая – CPU-версия, вторая – GPU-accelerated-версия. Оба
ядра работают по одному принципу, но используют возможности различного
оборудования вашего компьютера. Для вводного знакомства мы с вами по-
знакомимся с CPU-версией V-Ray Progressive Engine, а в отдельном разделе
поговорим об GPU-accelerated-версии V-Ray Progressive Engine.
Доступ к V-Ray Progressive Engine вы можете получить с помощью диалого-
вого окна Render Settings. Открыв его, перейдите во вкладку V-Ray, и в свитке
Production renderer выберите CPU, а в свитке Image Sampler, в раскрывающем-
ся списке Sampler Image, выберите Progressive.
После выбора ядра визуализации отобразится группа атрибутов Progressive
(рис. 4.16.1 B).
Преимущество прогрессивной визуализации в том, что вы можете очень
быстро увидеть изображение, а затем позволить ему улучшаться настолько,
насколько необходимо для расчета дополнительных проходов (рис. 4.16.6).
Это контрастирует с алгоритмами выборки изображений типа bucket, где изо-
бражение не является цельным, пока не будет завершено окончание визуали-
зации сегмента.
Недостатком является то, что в памяти должно храниться больше данных,
особенно при работе с render elements. Кроме того, при использовании рас-
пределенной визуализации из-за постоянного улучшения визуализируемого
изображения требуется постоянная связь между хост-компьютером и серве-
рами визуализации в сети, что может снизить загрузку ЦП на подключенных
серверах. Этот эффект можно в некоторой степени контролировать с помо-
щью атрибута Ray Bundle size.
Избегайте использования V-Ray Progressive Engine с фильтрами резкости изобра-
жения (например, CatmullRom), так как это может замедлить визуализацию – для
правильного вычисления фильтров, повышающих резкость изображения, потре-
буется выборка дополнительных образцов в изображении. В этом случае V-Ray
выведет предупреждение.
364  Геометрия, выборка и качество изображений

Рис. 4.16.6  Пример визуализации трех изображений с различным количе-


ством лучей выборки. Иллюстрация A создана со значениями Min Samples = 1,
Max Samples = 1, иллюстрация B – со значениями Min Samples = 16, Max Sam-
ples = 16, иллюстрация C – со значениями Min Samples = 64, Max Samples = 64,
иллюстрация D – со значениями Min Samples = 128, Max Samples = 256

Атрибут Min. Subdivs управляет минимальным количеством выборок, ко-


торые получит каждый пиксель изображения. Фактическое количество образ-
цов является квадратом выборок.
Данный атрибут неактивен при использовании GPU-accelerated-версии V-Ray Pro-
gressive Engine.

Атрибут Max. Subdivs управляет максимальным количеством выборок, кото-


рые получит каждый пиксель изображения. Как и в случае с атрибутом Min. Sub-
divs, фактическое количество образцов является квадратом выборок. Если дан-
ному атрибуту присвоено значение 0 (ноль), количество образцов неограничено.
Сглаживание и выборка изображения  365

С помощью атрибута Noise threshold задается желаемый уровень шума


в изображении. Если он равен 0 (нулю), все изображение дискретизируется
равномерно до тех пор, пока не будет достигнуто значение Max. Subdivs или
достигнуто выставленное вручную время визуализации.
Max. render time (min) – максимальное время визуализации в минутах. Это
время визуализации определено только для конечных пикселей; оно не вклю-
чает в себя какие-либо предварительные процессы вычислений GI, таких как
Light Cache, Irradaince Map и т. д. Если данному атрибуту присвоено значение
0.0, визуализация не будет ограничена по времени.
Настройка атрибута Ray bundle size полезна для распределенной визуа-
лизации (Distributed Network Rendering), чтобы контролировать размер фраг-
мента работ, который передается на каждый вычислительный узел в сети. При
использовании распределенной визуализации более высокие значения могут
помочь лучше использовать процессоры на серверах распределенной визуа-
лизации.
Алгоритмы прогрессивной визуализации сейчас являются наиболее распро-
страненными среди решений для визуализации. Они могут быть также и ча-
стью универсального метода построения изображения, объединяющего в себе
как прогрессивные методы, так и классические, на основе разделения изобра-
жения на сегменты и визуализацию каждого из них по отдельности на каждом
из логических процессоров.

Конфигурация V-Ray Bucket Sampler


Применение классического метода визуализации и построения изображения
на основе сегментов может быть обусловлено тем, что в режиме прогрессив-
ной визуализации могут быть не реализованы некоторые из функций, кото-
рые хорошо работают в классическом методе.
В классической модели построения изображения (рис. 4.16.7) изображение
строится следующим образом. Со стороны камеры (A) по всей площади изо-
бражения (B) спускаются лучи, анализируя положение объектов в сцене (C),
источников света (D) и формируемых ими теней (E). При этом лучи, формиру-
ющие тень, определяют положение источников света в сцене.
V-Ray Bucket Sampler делает переменное количество выборок на пиксель на
основе разницы в интенсивности между пикселем и окружающими его сосед-
ними пикселями. Доступ к Bucket Sampler можно получить также с помощью
диалогового окна Render Settings, просто в качестве Sampler Type выберите
Bucket (рис. 4.65 A).
Первое, что нам стоит сделать, – разобраться в том, как работает алгоритм
выборки в Bucket Engine (рис. 4.16.8).
V-Ray Bucket Engine является предпочтительным для выборки изображений
с большим количеством мелких деталей (например, созданных с помощью
VRayFur меха и волос) и/или с эффектами глубины резкости, размытия дви-
жения и глянцевыми отражениями/преломлениями (DOF, Motion Blur, Glossy
Reflections/Refractions и т. д.).
Рисунок 4.16.8 показывает, как V-Ray размещает образцы при использовании
Bucket Sampler. Сетка квадратов представляет пиксели изображения, а точки
366  Геометрия, выборка и качество изображений

представляют отдельные образцы выборки. На первом проходе V-Ray всегда


размещает минимальное количество выборок, определяемое атрибутом Min.
Subdivs. Затем сравнивается цвет выбранных образцов и добавляется больше
образцов, где это необходимо, при следующих проходах (Pass 2 и Pass 3).

Рис. 4.16.7  Пример классической модели построения изображения


с помощью трассировки лучей и методов выборки

Рис. 4.16.8  Принцип действия алгоритма выборки в V-Ray Bucket Engine


Сглаживание и выборка изображения  367

Когда активизирован атрибут Lock subdivs, можно установить фиксирован-


ное количество выборок для каждого пикселя. При этом, когда он активизи-
рован, атрибуты Min. Subdivs и Max. Subdivs будут скрыты и заменены атри-
бутом Fixed Subdivs. Данный атрибут определяет фиксированное количество
образцов.
Min subdivs – определяет начальное (минимальное) количество выборок,
взятых для каждого пикселя. В редких случаях потребуется устанавливать это
значение больше 1, за исключением случаев, когда у вас есть очень тонкие
линии, которые не были правильно зафиксированы, или быстро движущиеся
объекты, если вы используете эффект размытия движения. Фактическое коли-
чество выборок является квадратом этого числа (например, 4 подразделения
производят 16 выборок на пиксель).
Max subdivs – определяет максимальное количество выборок для каждого
пикселя. Фактическое максимальное количество выборок является квадратом
этого числа (например, 4 подразделения дают максимум 16 выборок). Обрати-
те внимание, что V-Ray может выбрать меньше, чем максимальное количество
выборок, если разница в интенсивности соседних пикселей достаточно мала.

Рис. 4.16.9  Пример визуализации изображения


с различными значениями атрибутов Min subdivs и Max subdivs.
Визуализация выборки выполнена с помощью прохода Sample Rate

Чтобы понять влияние атрибутов Min Subdivs и Max Subdivs на визуализа-


цию изображения, для демонстрации была подготовлена сцена, предствлен-
ная на рис. 4.16.9. При минимальном значении Min subdivs и Max subdivs, рав-
ном 1, при визуализации формировалось большое количество образцов без
368  Геометрия, выборка и качество изображений

дополнительного подразделения (A). При выводе элемента изображения Sam-


ple Rate красный канал содержит части изображения, которые не достигли же-
лаемого порога качества, поскольку они достигли максимального количества
лучей АА до достижения определенного атрибутом Noise Threshold уровня.
В данном примере Noise Threshold был равен 0.010. На иллюстрации B пред-
ставлена визуализация сцены, где максимальное количество образцов было
увеличено до 16. Как видите, области изображения, недостигшие уровня по-
рога, значительно уменьшились, но при этом преобладают образцы (зеленый
канал) в тех областях, в которых для очистки требовалось больше образцов
сглаживания изображения (AA), чем синие, но удалось достичь порога шума
в пределах количества используемых лучей AA. На иллюстрации C приведен
пример визуализации сцены с максимальным количеством образцов, равным
64, здесь же преобладающий синий канал содержит области, которые достигли
желаемого качества изображения за несколько первичных образцов. Помните,
что трассировка большего количества лучей для выборки каждого из пикселей
с увеличением количества образцов увеличивает и время визуализации.
С помощью атрибута Threshold задается порог, который будет исполь-
зоваться для определения, нужно ли пикселю больше выборок или нет. Это
особенно полезно для текстур с мелкими деталями или карт рельефности
с шумами. Атрибут Threshold определяет степень, в которой выполняется
сглаживание текстурной карты. Эффект этого параметра наиболее заметен
при низких минимальных значениях.
Обращайте внимание на то, что края объектов на изображении будут всег-
да острыми. Если атрибуту Threshold будет задано высокое значение, вы фак-
тически указываете V-Ray не использовать сглаживание текстур. Вы можете
использовать этот трюк для ускорения визуализации сложных материалов.
Однако обратите внимание, что это также отключит сглаживание теней, от-
ражений и т. д.
Образцам выборки изображений требуется значительный объем ОЗУ для хране-
ния информации о каждом сегменте изображения. Использование больших раз-
меров сегмента может занимать большой объем оперативной памяти.

Технически у V-Ray Bucket Engine есть ряд дополнительных параметров, ко-


торые могут помочь оптимизировать процесс визуализации. Дополнительная
конфигурация выполняется в свитке Render Region – advanced, который стано-
вится доступным сразу после выбора Bucket Sampler.
Autoscale regions – автоматически уменьшает размер сегментов, на кото-
рые разбивается изображение. Этот атрибут гарантирует, что все доступные
ядра центрального процессора будут использоваться в процессе визуализации
небольших сегментов.
Dynamic splitting – динамически уменьшает размер сегментов визуализиру-
емого изображения, когда небольшая часть изображения остается неотвизуа-
лизированной. Этот атрибут обеспечивает использование всех доступных ядер
процессора при визуализации нескольких последних областей изображения.
Measurement – определяет способ использования атрибутов X и Y для уста-
новки размера сегмента:
 Region W/H – значения для X и Y определены в пикселях;
Сглаживание и выборка изображения  369

 Region Count – значения для X и Y определяются количеством областей


в горизонтальном и вертикальном направлениях.
Sequence type – определяет порядок отображения регионов:
 Top-Bottom – сверху вниз;
 Left-Right – слева направо;
 Checker – в виде шахматной доски;
 Spiral – в виде спирали;
 Triangulation – выбран по умолчанию, и, как правило, оптимальный,
особенно если вы используете много динамической геометрии (displace-
ment geometry, proxy geometry). Этот режим последовательно проходит
по изображению; он отображает информацию в том виде, в каком она
рассчитывается с использованием наиболее эффективной последова-
тельности для текущих настроек визуализации, и использует геоме-
трию, которая была сформирована для предыдущих сегментов, для ви-
зуализации последующих сегментов;
 Hilbert Curve – использует кривую заполнения Гильбертова простран-
ства.
Атрибут Reverse Sequence меняет порядок следования регионов.

Настройка DMC Sampler


DMC Sampler – это каркас (framework) ядра V-Ray для точного определения
того, какие образцы следует выбирать вокруг пикселей, участвующих в эф-
фектах с «размытием», таких как сглаживание, глубина резкости, глобальное
освещение, площадные источники света, глянцевые отражения/преломления,
прозрачность, размытие в движении и т. д. Аббревиатура DMC расшифровы-
вается как Deterministic Monte Carlo (детерминированный Монте-Карло).
Все ключевые настройки сосредоточены в свитке DMC Sampler, расположен-
ном во вкладке V-Ray, в диалоговом окне Render Settings (рис. 4.16.10 A и B).
Он доступен для обоих методов выборки, как для Progressive, так и для Bucket.
Когда активирован атрибут Animated noise pattern, образцы выборки бу-
дут меняться со временем. Отключение сделает шаблон выборки одинаковым
от кадра к кадру в анимации, что в некоторых случаях может быть нежелатель-
ным. Обратите внимание, что повторная визуализация одного и того же кадра
даст одинаковый результат в обоих случаях.
Use local subdivs – когда этот параметр отключен, V-Ray автоматически
определяет значения подразделений для выборки материалов, источников
света и других эффектов затенения на основе параметра Min shading rate для
выбранного алгоритма выборки изображения. При активизации V-Ray будет
использовать атрибут Subdivs Mult и значения атрибута Subdiv, определен-
ные для отдельных источников света и материалов V-Ray.
Атрибут Subdivs Mult умножает все значения подразделений во время про-
цесса визуализации. Это влияет на все, кроме карты освещения, фотонной кар-
ты, карты каустики и подразделений при сглаживании. На все остальное (DOF,
Motion Blur, карта освещенности, Brute Force GI, площадные источники света
и тени от них, глянцевые отражения/преломления) влияет этот параметр. Эта
опция полезна для быстрого увеличения/уменьшения качества выборки.
370  Геометрия, выборка и качество изображений

Рис. 4.16.10  Демонстрация влияния атрибута Subdivs Mult


на выборку образцов в изображении. A – Subdivs Mult = 0.5,
B – Subdivs Mult = 1.0, C – Subdivs Mult = 5.0

При использовании атрибута Subdivs Mult вы можете улучшить качество вы-


борки изображений (рис. 4.16.10). На приведенном выше изображении видно,
как влияет изменение атрибута Subdivs Mult на качество выборки, при этом
стоит заметить, что на низких значениях минимального и максимального
количества образцов преобладают области изображения, не достигшие уров-
ня порога, определенного атрибутом Noise Threshold; с другой стороны, при
увеличении множителя изображение получает более качественную выборку,
о чем свидетельствуют иллюстрации B и C.
Начиная с V-Ray Next Update 1, расширенные параметры DMC Sampler убираются
из интерфейса Render Settings и не учитываются при визуализации старых сцен,
сохраненных с предыдущей версией V-Ray.

Причины появления DMC Sampler


Выборка по методу Монте-Карло (MC) является методом оценки «размытых»
значений. В выборке по методу Монте-Карло используются псевдослучайные
числа, которые различны для каждой оценки, поэтому повторная визуализа-
ция одного изображения всегда приводит к слегка отличающимся результатам
в шуме. Ядро визуализации V-Ray использует вариант выборки Монте-Кар-
ло, называемый детерминированным методом Монте-Карло (Deterministic
Monte-Carlo (DMC)), который использует предопределенный набор выборок,
поэтому повторная визуализация изображения всегда дает точно такой же ре-
Оптимизация работы ядра системы визуализации  371

зультат. Эти образцы также могут быть дополнительно оптимизированы для


снижения уровня шума.
Вместо того чтобы иметь отдельные методы выборки для каждого из значе-
ний с эффектом размытия, V-Ray имеет единую унифицированную структуру,
которая точно определяет, сколько и какие выборки должны быть взяты для
конкретного значения, в зависимости от контекста, в котором это значение
требуется. Этой структурой является DMC Sampler.
В своей основе детерминированный метод Монте-Карло, используемый
V-Ray, является модификацией выборки Шлика, введенной Кристофом Шли-
ком в 1991 году.

Определение значений для DMC Sampler


Фактическое количество образцов, выбираемых для любой величины размы-
тия, определяется на основе трех факторов:
1) значение подразделений, определяемое пользователем для определен-
ного эффекта размытия. Будет умножено на величину, заданную атрибу-
ту Subdivs Mult;
2) важность значения; например, темные глянцевые отражения могут быть
связаны с меньшим количеством образцов, чем яркие, поскольку влия-
ние отражений на конечный результат меньше, для источников света
в отдаленных областях требуется меньше образцов, чем более близким.
Importance Sampling называется количество выбранных для определе-
ния значения важности образцов;
3) разброс/вариативность образцов (походящих на «шум»), взятых для
определенного значения. Если образцы не очень отличаются друг от
друга, тогда это значение может быть связано с меньшим количеством
образцов; если образцы сильно отличаются, то для получения хорошего
результата потребуется большее их количество. Это в основном работа-
ет, если выполнять выборки по мере их вычисления и решать после каж-
дой новой выборки, требуется ли больше выборок. Этот метод называет-
ся ранним завершением или адаптивной выборкой (Adaptive Sampling).
Определив для себя оптимальные настройки, вы сможете быстро добивать-
ся результата. Как вы можете заметить, единого оптимального рецепта нет,
каждый художник может выбрать свои собственные настройки алгоритмов
выборки и придерживаться их в своей работе. Особенно важно находить оп-
тимальные настройки для работы с анимацией, когда необходимо достичь вы-
сококачественного результата в каждом кадре.

4.17. Оптимизация работы ядра системы


визуализации
Для обеспечения увеличения производительности процесса визуализации,
техническим экспертам могут быть полезны специализированные функции,
реализованные в системных настройках ядра визуализации V-Ray. Для этого
372  Геометрия, выборка и качество изображений

в диалоговом окне Render Settings во вкладке Settings перейдите к свитку Sys-


tem, в котором вы можете выбрать определенные настройки ядра системы ви-
зуализации (рис. 4.17.1).

Рис. 4.17.1  Свиток System во вкладке Settings


системы визуализации V-Ray

Стоит заметить, что в своей основе система визуализации V-Ray значитель-


но оптимизирована под процессоры Intel; если вы используете процессоры
AMD и у вас снижается производительность визуализации, попробуйте скон-
фигурировать ядро, отключив возможности библиотеки Embree.

Настройки Raycaster
Одной из основных операций, которую должно выполнять ядро V-Ray, являет-
ся выпуск лучей в сцену, процесс определения того, пересекает ли выпущен-
ный в сцену луч какую-либо геометрию в сцене, и, если это так, выполняет
идентификацию этой геометрии. С технической точки зрения простейшим
Оптимизация работы ядра системы визуализации  373

способом реализации выпуска лучей в сцену было бы проверить луч на каж-


дой отдельной визуализируемой грани (треугольник) в сцене. Очевидно, что
в сценах с тысячами или миллионами треугольников этот процесс будет очень
медленным. Чтобы ускорить этот процесс, V-Ray организует геометрию сцены
в специальную структуру данных, которая называется деревом двоичного раз-
деления пространства (BSP) (рис. 4.17.2).

Рис. 4.17.2  Иерархия дерева BSP

Дерево BSP представляет собой иерархическую структуру данных, постро-


енную путем разделения сцены на две части, затем разделения этих двух час­
тей, затем разделения четырех результирующих частей и т. д. Эти «части» на-
зываются узлами дерева, или вокселями. В верхней части иерархии находится
корневой узел, представляющий габарит всей сцены. В нижней части иерар-
хии находятся узлы листьев BSP-дерева, которые содержат ссылки на факти-
ческие треугольники (граней) сцены.
Атрибуты, расположенные в свитке System, управляют различными свой-
ствами V-Ray BSP. Рассмотрим основные атрибуты, представленные в свитке.
Когда активизирован атрибут Abort rendering on missing asset, сцена не
будет отображаться, если блок данных не загружается. Если используется рас-
пределенная визуализация по сети (Distributed Rendering), серверы, которые
не получили блок данных, будут исключены из процесса визуализации.
Атрибут Dynamic memory limit определяет общий лимит ОЗУ для дина-
мического выпуска лучей в сцену (по умолчанию 5000 Mb). Обратите внима-
ние, что пул памяти распределяется между различными потоками процессов
визуализации. Следовательно, если геометрию необходимо часто выгружать
и загружать, потоки должны ожидать друг друга, и производительность визу-
374  Геометрия, выборка и качество изображений

ализации будет снижаться. Геометрия и Tiled EXR-изображения совместно ис-


пользуют один и тот же пул памяти, поэтому этот атрибут также контролирует
ограничение памяти для файлов изображений в формате Tiled EXR с mip-maps.
Начиная с V-Ray for Maya 3.0, вы можете установить это значение равным 0,
чтобы снять любые ограничения, и в этом случае V-Ray будет занимать столь-
ко памяти, сколько необходимо. Также можно ввести отрицательное число,
что приведет к тому, что фактическое использование памяти будет зависеть
от физической памяти конкретной рабочей станции.
Default Geometry – в своей основе ядро V-Ray поддерживает четыре ядра
трассировки лучей. Все они построены на идее дерева BSP, но каждый из них
имеет различные применения. Ядра могут быть сгруппированы для излучения
лучей для формирования размытых эффектов затенения как без движения,
так и с движением, а также для статической и динамической геометрии. Этот
атрибут определяет тип геометрии для стандартных полигональных объектов
Maya. Обратите внимание, что некоторые объекты (например, объекты с кар-
тами смещения и VRayProxy) всегда генерируют динамическую геометрию,
независимо от этого параметра.
 Auto – некоторые объекты скомпилированы как статическая геометрия,
а другие – как динамические. Ядро V-Ray принимает решение о том, ка-
кой тип использовать, основываясь на количестве граней, определен-
ных для объекта, и количестве его экземпляров в сцене.
 Static – вся геометрия будет предварительно скомпилирована в уско-
ренную структуру в начале процесса визуализации и остается там до
конца кадра. Статическое излучение лучей ничем не ограничено и по-
требляет столько памяти, сколько необходимо.
 Dynamic – геометрия загружается и выгружается на лету в зависимости
от того, какая часть сцены отображается. Общая память, занятая дина-
мическими излучениями лучей, может контролироваться атрибутом Dy-
namic memory limit.
Когда включен атрибут Use global hair tree, единое древо BSP создается для
всей геометрии волос.

Использование возможностей бибилиотеки Intel Embree


Высокопроизводительное ядро трассировки лучей Intel Embree – это набор
высокопроизводительных инструментов для вычисления трассировки лучей,
разработанный в корпорации Intel. Целевыми направлениями использования
Intel Embree являются графические приложения, которым необходимо повы-
шение производительности в фотореалистичной визуализации. Библиотека
Embree оптимизирована для новейших процессоров корпорации Intel с под-
держкой инструкций SSE, AVX, AVX2 и AVX-512. Intel Embree поддерживает
выбор времени выполнения кода для выбора алгоритмов обхода и построения,
которые наилучшим образом соответствуют набору команд вашего процес-
сора. Система визуализации V-Ray поддерживает возможности Intel Embree
и предоставляет ряд команд, которые могут помочь в увеличении скорости
визуализации сцены, содержащей большие массивы данных о геометрии и ис-
точниках света.
Оптимизация работы ядра системы визуализации  375

Глобальный атрибут Use Embree активизирует функции Intel Embree Ray-


caster.
Use Embree for Motion Blur – позволяет использовать библиотеку Embree
для объектов с активным эффектом размытия движения.
Use Embree for hair – определяет, что V-Ray будет использовать библиотеку
Embree для ускорения визуализации меха и волос.
Атрибут Conserve Memory указывает, что Embree будет использовать более
компактный метод для хранения геометрии, который немного медленнее, но
при этом уменьшает использование оперативной памяти.
Процесс излучения лучей в сцену на основе Embree динамически создает ал-
горитмы, которые наилучшим образом соответствуют набору команд вашего
CPU, тем самым ускоряя процесс излучения лучей в целом. В настоящее время
процесс Embree в V-Ray ускоряет только вычисление лучей для статической
геометрии (в отличие от динамической геометрии или геометрии, формируе-
мой во время визуализации). Чтобы добиться максимальной производитель-
ности, рекомендуется установить для параметра, определяющего геометрию
по умолчанию (атрибут Default Geometry), значение Static, поскольку при этом
будет использоваться больше памяти (любые экземпляры будут реплициро-
ваться), но сам процесс визуализации будет намного быстрее. Вы также мо-
жете использовать Embree для ускорения смещения геометрии и подразделе-
ния поверхностей, если вы активизируете атрибут Geometry Generation в узле
VRayDisplacementMod (однако это может значительно увеличить потребление
ОЗУ).
Определение лучами объектов VrayProxy и VRayFur в настоящее время не ускоря-
ется с помощью библиотеки Embree.

Использование Intel Embree позволяет алгоритму прогрессивной визуали-


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

Расширенные настройки работы ядра V-Ray


При использовании оригинального алгоритма трассировки сцены для поиска
граней и отключении Intel Embree, в дополнительном свитке System – advanced
(рис. 4.17.3) будут отображены атрибуты для настройки глубины BSP-дерева
и размеров листьев BSP-дерева.
При отключении алгоритма на основе Embree станут доступны атрибуты,
ориентированные на ручную конфигурацию ядра V-Ray для излучения лучей
в сцену.
376  Геометрия, выборка и качество изображений

Рис. 4.17.3  Свиток System – advanced,


с атрибутами для настройки ядра визуализации

Атрибут Max tree depth определяет максимальную глубину дерева BSP.


Большие значения приведут к тому, что V-Ray займет больше оперативной
памяти, но визуализация будет выполняться быстрее до определенной крити-
ческой точки. Значения за пределами этой критической точки (которая отли-
чается для каждой сцены) начнут замедлять вычисления. Меньшие значения
для этого параметра приведут к тому, что дерево BSP займет меньше памяти,
но визуализация будет выполняться медленнее.

Таблица 4.2. Сравнение объемов используемой памяти при различных значениях


атрибута Max tree depth
A B C
Total number of faces stored 341052 341052 341052
Max tree depth 34 29 21
Average tree depth 19.904 19.5882 15.5626
Number of tree nodes 147301 134501 11801
Number of tree faces 747118 709916 418532
Number of tree leaves 57190 51566 4497
Average faces/leaf 13.0638 13.7671 93.0692

Memory usage 35.76 MiB 35.25 MiB 29.21 MiB


Building static SD trees took 58 milliseconds 55 milliseconds 47 milliseconds
QND tree contains 36 primitives 36 primitives 36 primitives.
QND tree built in 0.02 ms, depth 7 0.02 ms, depth 7 0.02 ms, depth 7
QND tree takes 1.00 MB 1.00 MB 1.00 MB.

Peak memory for "Misc." 13.85 MiB 13.85 MiB 13.85 MiB
Peak memory for "Misc. 3.87 MiB 3.87 MiB 3.87 MiB
Geometry"
Оптимизация работы ядра системы визуализации  377

Таблица 4.2 (окончание)


A B C
Peak memory for "Static 35.82 MiB 35.31 MiB 29.27 MiB
geometry"

Number of light evaluations 7190375248 7190310960 7190373680


(13714.55 per pixel) (13714.43 per pixel) (13714.55 per pixel)

Number of intersectable 341088 341088 341088


primitives
SD triangles 341052 341052 341052
Static primitives 36 36 36

Total frame time 2h 11m 20.3s 2h 12m 47.7s 4h 15m 12.7s


(7880.3 s) (7967.7 s) (15312.7 s)

Min leaf size – минимальный размер узла листа в иерархии дерева BSP.
Обычно это значение равно 0.0, что означает, что V-Ray будет подразделять
геометрию сцены независимо от размера сцены. При значениях, отличимых
от 0.0, V-Ray прекратит деление сцены, когда размер узлов листьев станет
ниже этого значения.
Атрибут Face/level coef управляет максимальным количеством треуголь-
ников в узле BSP листа. Если это значение ниже, визуализация будет выпол-
няться быстрее, но дерево BSP будет занимать больше оперативной памяти
до определенной критической точки (которая отличается для каждой сцены).
Значения ниже этой критической точки замедляют процесс визуализации.
Атрибут Max render threads определяет, сколько потоков будет использо-
ваться V-Ray для визуализации. Когда ему присвоено значение 0, V-Ray будет
использовать все ядра CPU, доступные в вашей рабочей станции.
Специальный атрибут Low thread priority позволяет определить, что про-
цесс визуализации будет иметь более низкий приоритет потока, чтобы другие
процессы, запущенные в системе, могли работать быстрее.

Функция отслеживания использования памяти


В процессе настройки и оптимизации сцены вам может потребоваться опре-
делить, что именно чрезмерно использует оперативную память вашей рабо-
чей станции. Это особенно актуально при работе с геометрией, формируемой
с помощью V-Ray Displacement и V-Ray Fur. Начиная с V-Ray Next, пользова-
телям предоставляется функция формирования отчетов с помощью Memory
Tracking (рис. 4.17.4).

Рис. 4.17.4  Свиток Memory Tracking в диалоговом окне Render Settings


378  Геометрия, выборка и качество изображений

Enable memory tracking – включает отслеживание того, какой объем опера-


тивной памяти используется V-Ray для различных типов элементов сцены, та-
ких как текстуры, геометрия, GI, выборка изображения и т. д. При активизации
этого атрибута создаются отчеты в формате *.html с подробной информацией
об использовании оперативной памяти.
Output directory – указывает место для сохранения отчетов о расходовании
памяти. Местоположением по умолчанию является временный каталог поль-
зователя (temp).
Кнопка Show last report открывает последний сохраненный отчет в веб-
браузере.
Для улучшения качества выборки образцов для определенных типов зате-
нения и эффектов можно прибегнуть к тонкой настройке атрибутов переопре-
деления (Overrides). В самом процессе визуализации вы можете переопреде-
лить ряд глобальных параметров.

Переопределение параметров визуализации


Для того чтобы переопределить настройки визуализации, вы можете ис-
пользовать атрибуты свитка Rendering, расположенного в закладке Overrides
(рис. 4.17.5).

Рис. 4.17.5  Свиток Rendering, закладки Overrides


Оптимизация работы ядра системы визуализации  379

Don’t render final image – отключает визуализацию изображений, что по-


зволяет выполнять другие вычисления, например запекание текстурных карт
или кеширование GI.
Атрибут Secondary rays bias определяет небольшое положительное смеще-
ние, которое применяется ко всем вторичным лучам. Этот параметр полезен,
когда сцена содержит перекрывающиеся грани, что может привести к появле-
нию черных пятен при визуализации.
Помните, когда в сцене присутствуют перекрывающиеся грани, для пра-
вильного расчета GI зачастую необходимо назначить двухсторонний матери-
ал в дополнение к активизации данного атрибута.
Clamp max ray intensity – использует значение максимальной интенсив-
ности луча для подавления вклада очень ярких лучей, которые обычно могут
вызывать чрезмерный шум («светлячки») в визуализированном изображении.
Максимальное значение интенсивности луча применяется ко всем лучам вто-
ричных эффектов затенения (GI/отражение/преломление), а не к конечным
образцам выборки изображения, что позволяет эффективно подавлять не-
желательные формирования без потери слишком большого количества HDR-
информации в окончательном изображении.
Атрибут Max ray intensity задает максимальную интенсивность луча, ста-
новится доступен, когда активизирован атрибут Clamp max ray intensity.
Эффект от использования комбинации атрибутов Max ray intensity + Clamp max
ray intensity аналогичен эффекту использования параметров Subpixel mapping
+ Clamp output options, доступных в свитке Color Mapping. Подобно параметру
Subpixel Mapping, атрибут Max ray intensity вносит смещение в визуализирован-
ное изображение, и оно может оказаться темнее, чем фактический правильный
результат.

GI texture filtering multiplier – управляет фильтрацией всех текстур в сце-


не в процессе вычисления глобального освещения. Большие значения делают
текстуры более размытыми, в то время как меньшие значения делают их более
четкими.
Up Vector – определяет вертикальную ось сцены. Этот атрибут может быть
полезен при импорте данных из других приложений (например, 3ds Max), где
вертикальной осью не является ось Y, как это реализовано в Maya.
Когда активен атрибут Cache geometry plugins between renders, V-Ray со-
храняет всю загруженную геометрию в памяти после завершения процесса ви-
зуализации, что позволяет быстрее начать следующий процесс визуализации
в тех случаях, когда геометрия не изменяется.
Кнопка Clear geometry cache служит для очистки сохраненного между про-
цессами визуализации кеша геометрии вручную. В противном случае кеш гео-
метрии будет автоматически очищаться при следующей визуализации, если
активен атрибут Cache geometry plugins between renders.
Атрибут Cache bitmaps between renders позволяет V-Ray сохранять все за-
груженные текстуры в памяти после завершения процесса визуализации. Это
означает, что следующая визуализация может начаться быстрее, поскольку
текстуры не нужно перезагружать.
380  Геометрия, выборка и качество изображений

Кнопка Clear bitmap cache служит для ручной очистки сохраненного меж-
ду процессами визуализации кеша текстурных карт. В противном случае кеш
текстурных карт будет автоматически очищаться при следующей визуализа-
ции, если активен атрибут Cache bitmaps between renders.
Use Maya shader for V-Ray proxies – используется для сцен, созданных
в V-Ray до V-Ray 3.1. Определяет, будет ли прокси-объект отображаться с ма-
териалами, подключенными к исходной геометрии, или с материалами, под-
ключенными к объекту прокси-геометрии.
Кнопка Clear V-Ray proxies preview cache позволяет самостоятельно очи-
стить кеш прокси-объектов. Узлы VRayProxy позволяют кешировать геометрию
для более быстрого предварительного просмотра. Очистка кеша экономит па-
мять, а также позволяет перезагрузить прокси-объект, если он был изменен.
Consistent lightning elements – когда этот атрибут активизирован, он обе-
спечит более точные, не содержащие артефактов элементы (проходы) визуа­
лизации освещения, не зависящие от выборки освещения. Это также обе-
спечивает лучшую поддержку адаптивного купольного освещения (Adaptive
Dome Light). Обратите внимание, что эта опция применима к необработан-
ным элементам визуализации для освещения, только когда будут доступны
соответствующие элементы визуализации нормалей и фильтрации (напри-
мер, VRayRawGlobalIllumination = VRayGlobalIllumination/DiffuseFilter).
Начиная с V-Ray Next Update 1 (V-Ray 4.1), некоторые элементы визуализации
отображаются не так, как раньше. Элемент Lighting теперь содержит все прямое
рассеянное освещение, а элемент GI содержит все непрямое рассеянное осве-
щение. Точно так же все прямые отражения света теперь поступают на элемент
Specular, а все косвенные/непрямые отражения идут на элемент Reflection.
Ранее этот процесс зависел от выборки источников света, а не только от типа вкла-
да. Вклад от прямых лучей, которые должны быть в элементах Lighting и Specular,
были записаны вместо элементов GI и Reflection. В обоих случаях они правильно
сочетаются с элементом Beauty, но различные типы лучей теперь распределяются
между элементами более последовательно.
Это изменение делает элементы более согласованными, но оно также необхо-
димо для предотвращения появления артефактов в этих элементах при визуа-
лизации сцены с адаптивным купольным освещением, а в будущем и с другими
адаптивными источниками света.
На RAW-элементы влияние оказывается только тогда, когда доступны соответ-
ствующие элементы типов normal и filter, в противном случае они будут визуа-
лизироваться как раньше. Это связано с тем, что элементы, содержащие RAW-
данные, должны быть получены из соответствующих элементов типа normal для
работы с согласованными элементами (например, VRayRawGlobalIllumination =
VRayGlobalIllumination/DiffuseFilter).
Есть возможность включить или отключить новое поведение механизма визуали-
зации элементов изображения с помощью свитка Rendering на вкладке Overrides
в окне Render Settings. Согласованные элементы автоматически включаются в ви-
зуализацию, когда сцена содержит Adaptive Dome Light, поэтому они не имеют
артефактов. Они также включены по умолчанию для новых сцен. Для ядра V-Ray
GPU они всегда включены без возможности их отключения.

Как видите, V-Ray предоставляет множество инструментов для повышения


производительности визуализации сцен. Но в последние годы активно раз-
Визуализация с помощью V-Ray GPU  381

вивается отдельное направление в инструментах визуализации – GPU-acceler-


ated ядра визуализации. В следующем разделе мы подробно рассмотрим ядро
V-Ray GPU и его конфигурацию.

4.18. Визуализация с помощью V-Ray GPU


Как вы уже догадались, скорость визуализации напрямую зависит от произ-
водительности центрального процессора. Но сами по себе современные алго-
ритмы визуализации достаточно хорошо распараллеливаются. Одним из пер-
вых этапов развития параллельных вычислений можно отнести к появлению
многопроцессорных рабочих станций, в которых устанавливалось от одного
до четырех полноценных CPU. В то же время системы визуализации стали ре-
ализовывать в своем арсенале функции распределения вычислений между не-
сколькими CPU, это позволило использовать такие эффекты затенения, как
глянцевые отражения, преломления, глобальное освещение и каустику, но в то
же время это привело к повышению требований к производительности CPU.
С активным развитием графических 3D-ускорителей и API OpenGL и DiectX
ряд исследователей стали проводить эксперименты по разработке алгоритмов,
нацеленных на вычисления общего назначения, а не только для создания гра-
фических эффектов. Одной из первых компаний, которая активно стала раз-
вивать направление вычислений общего назначения на GPU, является NVIDIA.
Данная компания первой представила графический процессор NVIDIA Tesla
(GF80) и платформу для разработчиков и программную архитектуру NVIDIA
CUDA в 2008 году. Это был серьезный шаг для индустрии, так как стало воз-
можным применять множество потоковых процессоров, доступных в GPU для
увеличения производительности в вычислениях алгоритмов, хорошо поддер-
живающих многопоточные и параллельные вычисления. Это позволило исклю-
чить «костыль» в виде шейдерных конструкций на основе OpenGL или Direct3D.

Рис. 4.18.1  Концептуальные диаграммы архитектуры CPU (A) и GPU (B)


382  Геометрия, выборка и качество изображений

Алгоритмы визуализации и трассировки лучей, а также метод прогрессив-


ной визуализации (progressive rendering) в своей основе превосходно увеличи-
вают свою производительность на GPU, что и стало основной для разработки
специальной редакции ядра V-Ray GPU и множества других систем визуали-
зации.
Что необходимо для применения V-Ray GPU? Опираясь на личный опыт,
могу порекомендовать использовать систему multi-GPU, когда в рабочей стан-
ции установлено несколько графических ускорителей. Это позволит с легко-
стью управлять вычислительными ресурсами и обеспечит интерактивную
работу Maya и V-Ray GPU. Базовые системные требования представлены сле-
дующими спецификациями оборудования:
 CPU: многоядерный процессор Intel или AMD с архитектурой x86_64;
 RAM: 64 GB и более;
 GPU: 2 x NVIDIA GeFroce, NVIDIA Quadro или NVIDIA Tesla GPU;
 Operating System: Microsoft Windows 10 x64, CentOS 7 Linux x64;
 Software libraries: NVIDIA CUDA, NVIDIA OptiX;
 CUDA GPU Suport: CUDA 6.0 и выше.
Здесь хочется отметить, что для достижения оптимальной производитель-
ности выбирайте материнскую плату с чипсетом и CPU, поддерживающими
полноценную скорость работы шины PCI-Express 3.0, что позволит значи-
тельно повысить скорость обмена данными между памятью и GPU. Смотрите
внимательно на описание модели материнской платы – рекомендую избегать
моделей, у которых при наличии нескольких слотов PCI-E снижается пропуск-
ная способность. Также присматривайтесь к выбору подходящей по скорости
оперативной памяти, пропускная способность шины PCI-E и пропускная спо-
собность RAM должны быть максимально сближены друг с другом, что позво-
лит снизить риски снижения производительности при передаче данных из
RAM в GPU-RAM. В табл. 4.3 представлены сводные характеристики пропуск-
ной способности системной оперативной памяти и оперативной памяти GPU,
а также некоторых популярных интерфейсов подключения накопителей. Ори-
ентируясь на данные показатели, вы сможете добиться приемлемой скорости
в передаче данных между каждым компонентом рабочей станции.
Отдельного внимания заслуживает выбор GPU. Здесь все немного сложнее
с точки зрения понимания. Компания NVIDIA производит продукты для мас-
сового сегмента – игры и развлечения. Но если необходим GPUдля корпора-
тивного сегмента и решения узкоспециализированных задач, таких как ап-
паратная обработка видео и высокопроизводительные вычисления, то выбор
стоит делать не только из соотношения цена/производительность, но также
и из соотношения цена/производительность/расширенная поддержка. Осо-
бенно стоит обратить внимание на то, что при постоянной нагрузке и вычис-
лениях на GPU их надежность напрямую зависит от качества сборки и надеж-
ности драйвера. Если вы фрилансер и работаете дома или в небольшом офисе
(студии), то вполне достаточно использовать GPU-линейки NVIDIA GeForce.
Если же вы работаете в крупной студии или на телеканале, а также выполняете
не только 3D-визуализацию, но также и постобработку, монтаж и аппаратное
кодирование/декодирование видео, то здесь я настоятельно рекомендую при-
смотреться к выбору профессиональных GPU NVIDIA Quadro.
Визуализация с помощью V-Ray GPU  383

Таблица 4.3. Сравнение скорости передачи данных между RAM, GPU-RAM,


шинами PCI-E и интерфейсами накопителей
Тип памяти и носителя Частота шины (МГц) Скорость (Мб/с) Скорость передачи
данных (MT/с)
Системная память
DDR3 400 6400 800
533.33 8533.33 1066.67 P
666.67 10666.67 1333.33
800 12800 1600
933.33 14933.33 1866.67
1066.67 17066.67 2133.33
DDR4 800 12800 1600
933.33 14933.33 1866.67
1066.67 17066.67 2133.33
1200 19200 2400
1333.33 21333.33 2666.67
1466.67 23466.67 2933.33
1600 25600 3200
Память GPU
GDDR3 625 159 Гбит/с
GDDR4 275 140.8 Гбит/с
GDDR5 625–1000 320–512 Гбит/с
GDDR5X 625–875 640–896 Гбит/с
GDDR6 875–1000 896–1024 Гбит/с
HBM 500 1024 Гбит/с
HBM2 500 2048 Гбит/с
Шина PCI-Express
PCI-Express 2.0 x16 80 Гбит/с
x32 160 Гбит/с
PCI-Express 3.0 x16 128 Гбит/с
x32 256 Гбит/с
PCI-Express 4.0 x16 256 Гбит/с

Интерфейс SATA
SATA-3 600 Мб/с
Накопители
HDD 7200 rpm 1030 Мбит/с
HDD 10000 rpm 3000 Мбит/с

Распределение ресурсов системы для вычислений


Ядро V-Ray GPU может использовать определенное устройство, установленное
в систему и выбранное пользователем. Это может быть сделано с помощью
переменной среды VRAY_OPENCL_DEVICE. С ее помощью вы можете определить,
384  Геометрия, выборка и качество изображений

какое устройство (CPU, GPU) будет использовано для вычислений с помощью


ядра V-Ray GPU. Так, если в рабочей станции установлено 2 GPU, с помощью
переменной среды можно указать, что один GPU используется для приложе-
ний и операционной системы, а второй GPU – для вычислений с помощью
V-Ray GPU. При этом, так как V-Ray GPU является гибридным решением, кото-
рое может исполняться не только ресурсами GPU, но также и CPU, переменная
среда может определить в качестве ресурса и устройство CPU.

Рис. 4.18.2  Утилита vray_gpu_device_select,


запущенная в приложении Terminal

Для операционных систем семейства Linux разработчики создали утилиту


vray_gpu_device_select (рис. 4.18.2), которая доступна по следующему пути:
/usr/ChaosGroup/V-Ray/Maya2018x64/bin
Чтобы определить доступные в вашей системе устройства, введите команду
# su ./vray_gpu_device_select -list
после чего в терминале будет выведено сообщение, аналогичное сообщению,
представленному на рис. 4.18.2. Здесь, строка C++/CPU определяет то, что систе-
ма обладает подходящим центральным процессором и может быть использо-
вана для вычислений в гибридном режиме, это особенно актуально для рабо-
чих станций нового поколения с процессорами Intel Core i7 и Core i9 и NVIDIA
GeForce GTX 1080 и выше. Строчки nvidia cuda quadro k4000 gpu index # отображают
доступные в системе GPU и их модель.
Чтобы указать GPU или устройства, которые вы хотите использовать для вы-
числений в V-Ray GPU, введите следующую команду:
# su ./vray_gpu_device_select -set="LIST_OF_DEVICES"
где в качестве ключа LIST_OF_DEVICES подставьте c++/cpu или nvidia. В первом
случае будет использован гибридный режим визуализации, во втором – будут
использованы все GPU, установленные в вашей рабочей станции. Если же не-
Визуализация с помощью V-Ray GPU  385

обходимо установить конкретную модель GPU, можно ввести схожую со сле-


дующей команду:
# su ./vray_gpu_device_select -set="nvidia cuda quadro k4000 gpu index 1;"
Для операционных систем семейства Windows была разработана специаль-
ная утилита – Select devices for V-Ray GPU rendering (рис. 4.18.3). Данную утилиту
можно запустить с помощью меню Start, выбрав Start ⇒ All Programs ⇒ Chaos
Group ⇒ V-Ray for Maya <version> for x64 ⇒ Tools. Но стоит заметить, что, для
того чтобы все изменения вступили в силу, утилиту необходимо запустить от
имени администратора системы, щелкнув по ярлыку приложения ПКМ и вы-
брав в меню Run as Administrator.

Рис. 4.18.3  Утилита Select devices for V-Ray GPU rendering,


запущенная на ноутбуке с интегрированным и дискретным GPU

Выбрав желаемые для вычислений устройства, поставив галочки, щелкните


по кнопке Set Devices, после чего утилита определит их в качестве перемен-
ной среды VRAY_OPENCL_DEVICE.
В V-Ray for Maya для текущего сеанса программы вы можете определить
устройство с помощью диалогового окна Render Settings (рис. 4.18.4). Здесь
стоит заметить, что эта настройка оказывает влияние только на текущий за-
пущенный сеанс программы, и при повторном запуске программы вам потре-
буется определить устройство вновь. Поэтому, если вы хотите использовать
определенный выбор устройств для вычислений, определите их с помощью
утилиты vray_gpu_device_select. Выбор конкретного устройства в V-Ray GPU вы-
полняется с помощью раскрывающегося свитка V-Ray Render Devices Selection
в диалоговом окне Render Settings во вкладке V-Ray.
386  Геометрия, выборка и качество изображений

Рис. 4.18.4  Интерфейс настройки V-Ray GPU


и выбор устройства для вычислений

Настройка V-Ray GPU


Для настройки V-Ray GPU не нужно выполнять особых манипуляций со сце-
ной и глобальными настройками ядра визуализации. Все настройки также вы-
полняются в Render Settings, но для доступа к GPU-возможностям в качестве
Production Engine необходимо выбрать CUDA. Когда выбрано ядро CUDA, ста-
новятся доступны атрибуты для конфигурации транслятора сцены для визуа-
лизации с помощью V-Ray GPU (рис. 4.18.5). Раскрывающийся список Texture
Mode позволяет выбрать режим работы с текстурными картами:
 Full Size Textures – указывает, что в памяти GPU будут использованы
текстурные карты в полном разрешении, т. е. если текстурная карта
имеет разрешение 2048 пикселей, то она, без изменений и уменьшения
разрешения, будет загружена в память GPU для визуализации;
 Resize All Textures – указывает, что в память GPU будут загружены текс­
турные карты с измененным разрешением, которое задается с помощью
атрибута Texture Size. Чем меньше разрешение, тем меньше памяти
Визуализация с помощью V-Ray GPU  387

требуется для хранения текстурных карт, и наоборот. Это особенно важ-


но для работы с GPU с небольшим объемом RAM, например 8GiB.
 On demand mip-mapping – в данном режиме текстурные карты будут
преобразованы в формат mip-map, оптимизируясь в зависимости от
расстояния от наблюдателя. Это потребует немного большего объема
RAM, но при этом на ближнем плане текстурные карты будут более де-
тализированные, а на дальнем – менее детализированные.
Атрибут Texture Format позволяет выбрать формат глубины цвета изобра-
жения; по умолчанию выбран формат 8-bit, но вы можете выбрать как 16-bit,
так и 32-bit floating point. Обратите внимание на то, что данный атрибут и его
результат влияют на объем занимаемой памяти.
В алгоритме выборки значительных различий нет, при выборе CUDA версии
ядра будет исключен атрибут Min Shading Samples, в то же время остальные
атрибуты выполняют аналогичные функции.
Отдельным положительным моментом является реорганизация интерфей-
са диалогового окна Render Settings под возможности V-Ray GPU. Так, в GI вам
становятся доступны только Brute Force и Light Cache, методы глобального ос-
вещения. Но основным направлением применения V-Ray GPU являются воз-
можности для интерактивной предварительной визуализации напрямую в ок-
нах проекций или в V-Ray Frame Buffer.
Для этого служат настройки, расположенные во вкладке IPR, в диалоговом
окне Render Settings. Если выбрать в меню панели окна проекции Renderer ⇒
V-Ray IPR, будет запущен процесс визуализации изображения сцены с вида те-
кущей камеры (рис. 4.18.5).

Рис. 4.18.5  Кнопка Start/Stop V-Ray Viewport IPR


и меню Renderer в меню панели видового окна

Для перехода к настройкам режима визуализации IPR воспользуйтесь ди-


алоговым окном Render Settings и вкладкой IPR или перейдите в него с по­
мощью кнопки □ в меню Renderer панели видового окна.
Тонкая настройка ядра V-Ray GPU позволяет добиться приемлемого каче-
ства визуализации сцены и вывести изображение для демонстрации клиенту
за короткое время.
Свиток Shading содержит несколько атрибутов, отвечающих за освещение
и затенение в сцене.
Trace depth – представляет максимальное количество переотражений, кото-
рые рассчитываются для отражений и преломлений в материалах. Настройка
глубины отражений/преломлений, определенных индивидуально для отдель-
ных материалов, по-прежнему учитывается, если они не превышают значе-
ние, определяемое данным атрибутом. Атрибут GI depth задает количество
переотражений при визуализации глобального освещения. Другие настройки
388  Геометрия, выборка и качество изображений

GI (например, включено или отключено вычисление GI) опираются на выбран-


ные в Production engine параметры.

Рис. 4.18.6  Вкладка IPR диалогового окна Render Settings


с настройками для визуализации с помощью V-Ray GPU
в интерактивном режиме

Свиток Rendering управляет процессом визуализации, выполняемой в ин-


терактивном режиме. Поскольку IPR использует прогрессивную трассировку
пути, он никогда не остановит процесс визуализации, если не указано иное.
Атрибут Max. render time (min) позволяет пользователю указать максималь-
ное время визуализации изображения в минутах.
Визуализация с помощью V-Ray GPU  389

С помощью атрибута Max. paths per pixel пользователь ограничивает мак-


симальное качество, достигаемое с помощью IPR, путем определения макси-
мального количества лучей, отслеживаемых для каждого пикселя. Как только
заданное число будет достигнуто, V-Ray прекратит визуализацию изобра­
жения.
И третий атрибут – Max. Noise – определяет порог шума для IPR. Как только
порог будет достигнут для определенной части изображения, V-Ray прекратит
выборку и переакцентирует процесс визуализации на часть изображения, ко-
торая требует большей выборки.
Свиток Performance содержит атрибуты, которые влияют на производитель-
ность IPR. Обратите внимание, что оптимальные значения для определенной
рабочей станции и конфигурации локальной сети могут отличаться от значе-
ний по умолчанию. Я рекомендую поэкспериментировать с этими значения-
ми, чтобы найти оптимальную для вас конфигурацию.
IPR Ray bundle size управляет количеством лучей, которые будут отправ-
лены на серверы распределенной визуализации, используемые в режиме IPR.
При использовании распределенной визуализации меньшие размеры пакетов
формируют более частую связь клиента с серверами за счет формирования
меньших сетевых пакетов, что снижает скорость визуализации, но увеличива-
ет интерактивность в работе, и наоборот. Обратите внимание, что это число не
является точным количеством лучей, но пропорционально ему. Не рекомен-
дуется увеличивать значение размера пакета выше 512.
IPR Rays per pixel задает количество лучей, которые отслеживаются для
каждого пикселя за один проход формирования изображения. Чем больше
значение, тем более плавное изображение с самого начала визуализации
с глобальным освещением, но интерактивность может быть значительно сни-
жена. Увеличение этого значения также уменьшает объем данных, передава-
емых с серверов распределенной визуализации обратно на рабочую станцию.
При запуске IPR начинает визуализацию изображения с более низким зна-
чением Rays Per Pixel, а затем постепенно увеличивает его. Атрибут Progres-
sive RPP позволяет ускорить получение результата предварительного просмо-
тра визуализируемого изображения.
При начале процесса визуализации IPR ядро начинает визуализацию изо-
бражения с более низким разрешением, чтобы ускорить формирование пер-
воначального предварительного изображения. Атрибут Undersampling по-
зволяет задать число, на которое делится разрешение изображения первого
прохода, в последствии разрешение изображения будет улучшаться и отобра-
зится в окончательном разрешении.
Когда включен атрибут Show statistics, в процессе визуализации в верхнем
правом углу окна V-Ray Frame Buffer будет отображаться несколько полезных
значений:
 версия ядра IPR;
 количество рассчитанных лучей, направленных со стороны камеры (т. е.
выборок изображений), в секунду, в тысячах (Kpaths/s);
 время, прошедшее с момента начала визуализации текущего изображе-
ния. Это значение сбрасывается всякий раз, когда в сцену вносится из-
менение, которое требует новой визуализации изображения.
390  Геометрия, выборка и качество изображений

Свиток Advanced Parameters предоставляет несколько дополнительных атри-


бутов, позволяющих оптимизировать процесс визуализации в режиме IPR.
Когда атрибут Restart when the Render Layer changes включен, V-Ray пере-
запускает процесс IPR каждый раз, когда изменяется активный слой визуали-
зации в Maya (Maya render layer).
Когда атрибут Use out of process IPR включен, сеанс IPR будет выполняться
во внешнем процессе. Если этот параметр отключен (по умолчанию), сеанс IPR
будет выполняться в том же процессе, что и хост-приложение, что позволяет
быстрее запускать и обновлять сцену, но при этом может снизиться отзывчи-
вость Maya, особенно на сложных комплексных сценах.
Low GPU thread priority – этот атрибут отображается только в том случае,
если в качесвте production renderer установлено значение CUDA. Когда этот
атрибут активизирован, V-Ray будет стараться уменьшить использование гра-
фических процессоров, работающих над отображением графики на дисплеях,
чтобы предоставить им больше ресурсов для выполнения других процессов
и задач для ОС. Это делается с помощью более низкого значения размера пучка
лучей для тех графических процессоров, к которым подключены дисплеи (коли-
чество лучей на пиксель остается одинаковым для всех графических процессо-
ров). Это может повлиять на общую производительность, и скорость визуализа-
ции может быть снижена. Как было сказано выше, рекомендуется использовать
отдельный графический процессор для вывода изображения на дисплей.
Свиток Viewport Parameters позволяет настроить отображение объектов сце-
ны и данные в панели видового окна проекции, которые будут использованы
для визуализации с помощью V-Ray IPR. Атрибут Resolution (%) определяет
разрешение, при котором изображение, формируемое в процессе визуализа-
ции, будет отображаться, в процентах от фактического разрешения окна про-
екции. Для увеличения производительности значение может быть снижено.
Если вас не устраивает шум, формируемый низкой выборкой изображения,
можно активизировать устранение шума с помощью алгоритма, реализован-
ного в V-Ray. Для этого установите флажок напротив атрибута Denoise.
Раскрывающийся список Selection Mode определяет, как выбранные в сце-
не объекты будут отображаться в окне проекции, в котором выполняется ви-
зуализация с помощью V-Ray IPR (рис. 4.18.7):
 None – не показывает ни одного выделения. Обратите внимание, что вы
все еще можете выбирать объекты, щелкая по ним мышью;
 Wireframe – отображает геометрическую сетку выделенного объекта
(wireframe), подобно тому как это делает Maya;
 Box – отображает простой габаритный контейнер (bounding box) выде-
ленного в сцене объекта, который позволяет лучше просматривать ви-
зуализированное изображение.
sRGB – когда данный атрибут включен, ядро визуализации преобразует
изображение в цветовое пространство sRGB. Обратите внимание, что этот
атрибут игнорируется, если активизирована система управления цветом Maya
(Maya CMS).
Список атрибутов Show... позволяет точно контролировать, какие объекты
и элементы интерфейса Maya будут видны в области просмотра во время вы-
полнения визуализации в режиме IPR.
Визуализация с помощью V-Ray GPU  391

Рис. 4.18.7  Различные типы отображения выделенных объектов


392  Геометрия, выборка и качество изображений

Debug Shading Enabled – активизиурет затенение только изолированного


объекта/объектов или визуализацию сцены определенным эффективным спо-
собом для отладки (рис. 4.18.8).
Раскрывающийся список Debug Shading Mode позволяет выбрать режим за-
тенения:
 Isolate Selected – отображает только выбранные объекты, в то время как
остальная часть сцены заливается черным. Вы также можете выбрать
узлы материалов/текстур, и все объекты, которым назначены выбран-
ные шейдеры, будут изолированы и визуализироваться в режиме IPR;
 Lighting – визуализирует только вклад освещения в сцену;
 Ambient Occlusion – визуализирует только эффект Ambient Occlusion
в сцене;
 Wireframe – отображает визуализируемые объекты в виде сетки;
 Normal – отображает нормали визуализируемых объектов;
 UVs – отображает UV-координаты визуализируемых объектов в цвето-
вой гамме;
 Barycentric coordinates – отображает барицентрические координаты
визуализиоуемых объектов.

Рис. 4.18.8  Примеры визуализации различных методов отладки затенения.


Вверху: standard render (Isolate Selection), Lighting, Ambient Occlusion.
Внизу: Wireframe, Normal, UVs

Debug Shading Lock Selection – включите этот атрибут, чтобы заблокиро-


вать объект, используемый для затенения в режиме IPR. Это позволяет обнов-
лять сцену при визуализации только заблокированного объекта.
Применение GPU для ускорения процесса визуализации позволяет быстрее
получить изображение и в итоге произвести его оценку и продемонстриро-
вать клиенту. Помимо визуализации статичных изображений или интерактив-
ной визуализации, при изменении сцены с помощью V-Ray IPR и ядра V-Ray
GPU может быть выполнена визуализация анимации с помощью инструмента
Playblast.
Анализ сцены с помощью элемента V-Ray Sample Rate  393

На панели Status Bar перейдите в режим Animation, в меню выберите Play-


back ⇒ Playblast ⇒ □. Выполните конфигурацию анимации, которую вы хотите
сохранить. Перед началом создания переключите ядро визуализации видово-
го окна проекции с Viewport 2.0 на V-Ray IPR. В диалоговом окне Playblast Op-
tions щелкните по кнопке Playblast.
Вы также можете активизировать создание Playblast-секвенции, щелкнув
ПКМ по Time Slider и выбрав Playblast… (рис. 4.18.9).

Рис. 4.18.9  Вызов контекстного меню


с помощью щелчка ПКМ по Time Slider

В процессе визуализации вам может потребоваться проанализировать сце-


ну и ее данные с помощью специальных инструментов и проверить коррект-
ность моделей. Это важно при работе с различными методами выборки и при
работе со сложными сценами. Для оценки выборки сцены используйте спе­
циальный проход (render element) – V-Ray Sample Rate.

4.19. Анализ сцены с помощью элемента


V-Ray Sample Rate
Элемент изображения V-Ray Sample Rate отображает результат вычислений,
выполняемых алгоритмом выборки изображения, в виде изображения с крас-
ного, зеленого и синего цветов. Данный элемент отображает результат вычис-
лений, выполняемых во время визуализации изображения, и результат, полу-
чившийся после завершения визуализации (рис. 4.16.9, внизу).
Цвет назначается каждому пикселю в соответствии с тем, сколько первич-
ных выборок отбирается во время работы алгоритма выборки изображения:
 синий канал содержит области, которые достигли желаемого качества
изображения с минимальным количеством первичных образцов;
 зеленый канал показывает области, в которых для очистки требовалось
больше образцов сглаживания (AA), чем в синем канале, но удалось до-
стичь величины, определяемой атрибутом Noise Threshold в пределах
количества используемых лучей AA;
 красный канал содержит части изображения, которые не достигли же-
лаемого порога качества, поскольку они достигли максимального коли-
чества лучей АА еще до достижения величины, определяемой атрибутом
Noise Threshold.
394  Геометрия, выборка и качество изображений

Если тип алгоритма выборки изображения является прогрессивным (Pro-


gressive Image Sampler), белые области будут представлять собой области, над
которыми в данный момент работает алгоритм выборки, поскольку было об-
наружено, что они еще не удовлетворяют порогу шума.
Чтобы в процессе визуализации обеспечить правильное вычисление, нужно
минимизировать количество красного цвета, формируемое в этом элементе
изображения. Повышение вторичных выборок любым способом сократит объ-
ем первичных выборок в соответствующих областях, эффективно переместив
красные области в зеленые, а зеленые в синие. Уменьшение вторичных вы-
борок на пиксель приведет к обратному эффекту, что может привести к уве-
личению количества красных областей. Предлагаемый способ минимизирует
красный цвет и оптимизирует время визуализации для увеличения значения
Max AA Subdivs (если предыдущий результат все еще был шумным) или увели-
чения значения Noise Threshold (если предыдущий результат был чистым, но
его выполнение заняло слишком много времени).
Обратите внимание, что некоторые специфические особенности изображе-
ния, такие как высокочастотные детали, часто встречающиеся в мехе и воло-
сах, или высококонтрастные зоны, вероятно, всегда будут пытаться достичь
максимальной выборки, поэтому там будет отображаться красный цвет. Это
совершенно нормально и не замедляет остальной процесс визуализации, в то
же время гарантируя, что проблемные области изображения будут очищены
в соответствии с настройками пользователя.

Рис. 4.19.1  Проход V-Ray Sample Rate


в редакторе атрибутов

Флажок Enabled активизирует визуализацию элемента и отображение его


в VFB.
Deep output – данный атрибут определяет, что данный элемент изображе-
ния будет сохранен в качестве элемента в изображениях, содержащих инфор-
мацию о глубине (deep images). Подробнее о deep images рассказано в главе 7
данной книги.
Анализ сцены с помощью элемента V-Ray Sample Rate  395

В текстовом поле Filename suffix вводится суффикс, который будет добав-


лен в конец имени визуализируемого файла, кода он будет сохранен в виде
отдельного файла изображения (напрмер: myrender.sampleRate.vrimg).
Резюмируя материал данной главы, можно сказать, что V-Ray обладает
обширным функционалом для организации сцены и геометрии в ней для ор-
ганизации данных в сцене и для достижения высокой скорости в получении
высококачественной визуализации. Однако стоит учесть тот факт, что нет
единых настроек выборки и сглаживания изображения, каждый новый проект
заставит вас обдумывать изменения в конфигурации, для того чтобы достичь
желаемого результата. При этом для увеличения производительности не стоит
злоупотреблять эффектами, которые требовательны к времени вычислений,
такие как преломления, глянцевые отражения и преломления, подповерх-
ностное рассеивание и объемный свет или туман. На данный момент многие
эффекты могут быть реализованы на этапе постобработки изображений, о чем
будет рассказано в седьмой главе данной книги. Но если необходимо реали-
зовать определенные эффекты при полноценной визуализации с помощью
V-Ray, настоятельно рекомендую вначале провести несколько тестов и экс-
периментов, а затем внести необходимые корректировки в настройки ядра
визуализации.
Глава 5
Шейдеры V-Ray for Maya

В этой главе вы узнаете о:


 материаловедении;
 взгляде на материалы в реальном мире;
 основных шейдерах материалов V-Ray;
 шейдерах текстур и утилит;
 поддержке шейдеров Maya.
Реалистичность визуализируемого образа зависит в первую очередь от ка-
чества создаваемых художником материалов. В любой системе визуализации
представлен базовый набор инструментов, реализующий основные задачи по
затенению трехмерных поверхностей, таких как цвет, рельефность, подсвет-
ки, отражения, преломления, свечение и рассеивание света.
Большинство систем визуализации используют практически схожие по
функционалу инструменты, оптимизированные для работы с основными ал-
горитмами выборки и глобального освещения, реализованными в ядре систе-
мы визуализации.
В данной главе рассмотрены ключевые концепции создания материалов, на
которые следует обращать внимание работающим с материалами художни-
кам: как организовать рабочий процесс, необходимость создания библиотек
текстур и шаблонов настроек шейдеров материалов и процедурных текстур.
Беседу я начну с описания общего понимания материала.

5.1. Материаловедение
Что такое материал для реального мира? Как мы знаем, различные объекты
окружающего нас мира созданы из различных веществ с различными диффуз-
ными, рефлективными и рефрактивными свойствами. Так, материал стекла
обладает большой прозрачностью и способен искажать направление лучей
света с помощью рефракции, а с другой стороны, обладает не настолько ярко
выраженной отражательной способностью. Материалы металлов могут быть
ржавыми, с оранжево-коричневыми оттенками цветов и массой неровностей.
Но свежий, отполированный металл обладает совершенно другими по своим
визуальным свойствам характеристиками – так мы видим отражения и глад-
кую поверхность, отражающую окружающее пространство.
Пластики (полимерные материалы) также обладают определенными свой-
ствами. Определенные из них могут быть мягкими и прозрачными (целлофан),
Материаловедение  397

а другие – плотными и с сильными отражающими свойствами поверхности.


Но с другой стороны, полимерные материалы могут обладать и рассеивающи-
ми свойствами, придавая матовые свойства поверхности и имея способность
пропускать свет.
Органические материалы могут и вовсе пропускать через себя солнечный
свет и в то же время сильно рассеивать его внутри своего объема. Чаще все-
го мы видим материалы листвы и трав, а также кожу как на своем теле, так
и у других людей и животных. В зависимости от множества факторов мате-
риалы могут обладать различным дизайном, например старая листва будет
обладать как желтыми, так и темными коричневыми оттенками цвета, а ино-
гда, наоборот, красными. С другой стороны, кожа темнокожего человека будет
меньше рассеивать свет и на ней меньше проступают сосуды и менее заметны
покраснения.
В процессе работы над материалами художнику необходимо задумываться
не только о детализации текстурных карт и о том, какой цвет наиболее луч-
ше подходит для реализации той или иной идеи, но и о том, что необходи-
мо помнить о множестве деталей, которые всегда повышают реализм модели
и создаваемого образа. Так, нельзя забывать про царапины, сколы и жирные
пятна на мебели или металлических поверхностях. Нельзя забывать про пыль
или волоски – когда они находятся на поверхностях с однородным цветом, это
значительно придает реализма.

Примеры с неорганическими материалами


Перед тем как мы приступим к созданию материалов с помощью шейдеров
V-Ray, необходимо разобраться в понимании того, как выглядят различные
материалы в различных условиях. Так, мы можем рассматривать один и тот
же объект при различном освещении, влажности, загрязненности и т. п. Но
в первую очередь нам необходимо запоминать детали, скажем, «играть в де-
тективов». Мне часто приходится ездить и путешествовать, а любая поездка
и путешествие всегда оставляют массу впечатлений, и глаза цепляются за
многие мелочи. Но есть и хорошая привычка – ношение фотокамеры и съемка
различных интересных объектов или поверхностей, а также людей.
Интересные нам в первом примере материалы выделены рамками на
рис. 5.1.1. Присмотритесь к области под красным автомобилем – за счет рель­
ефности асфальта вода после дождя скопилась в углублениях, и за счет об-
разовавшихся лужиц формируются сильные зеркальные отражения. За счет
отражений мы видим поток света от фар автомобилей. В то же время, если
асфальт достаточно гладкий и не обладает сильным рельефом, вода создает
небольшую пленку, формирующую зеркальное отражение, за счет которого
лучше видно окружение и более отчетливы отражения фар автомобилей.
Рисунок 5.1.2 демонстрирует несколько примеров неорганических матери-
алов, которые показывают важность создания загрязнений в материале по-
верхности. Если присмотреться к рельсам, на их поверхности вы можете за-
метить маслянистые пятна, формируемые как смазкой, используемой при
обслуживании пути, так и подтеками масла из проезжающих поездов.
398  Шейдеры V-Ray for Maya

Рис. 5.1.1  Пример различных вариаций материалов асфальта после дождя


и их отражающих свойств

Рис. 5.1.2  Примеры неорганических материалов с загрязнениями

Помимо этого, так как это снимок промышленной железнодорожной ветки,


ведущей к предприятиям на юге Москвы, то данная ветка используется исклю-
чительно для грузовых перевозок. Рядом находится ТЭЦ, которая выполняет
нагрев воды для жилого района, и на ней стоят грузовые составы с углем.
Материаловедение  399

Все эти факторы обычно являются источниками пыли и песка, а также


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

Примеры с органическими материалами


Природа дала нам одно из важнейших качеств – подмечать изъяны или отли-
чия в привычных для нас вещах. Например, мы с легкостью отличим человека,
если у него нет шрама или тогда, когда этот шрам присутствует. Он будет за-
метен даже в том случае, если мы видим человека в первый раз и запомним
эту деталь. И если шрам будет скрыт слоем косметики или просто аккуратно
убран с помощью пластической хирургии, запомнив эту деталь, мы обратим
на нее внимание.
Рисунок 5.1.3 наглядно представляет несколько примеров внешности лю-
дей. Посмотрите на рисунок слева, на котором приведена фотография пожи-
лого человека. Как вы можете заметить, на лице у мужчины с возрастом по-
явились морщины, а мелкие сосуды формируют отчетливый узор на щеках.
Такие заметные свойства кожи могут формироваться от множества факто-
ров – как от местности и условий жизни, так и от заложенной самой природой
«программы старения».
На противоположной фотографии, расположенной справа, приведен при-
мер фотоснимка молодой девушки. Обратите внимание, что на переносице
и щеках находятся веснушки. Также в связи с тем, что это молодой человек
в возрасте 22–25 лет, то на лице и других областях кожи, могут появляться
акне. На приведенном примере у девушки акне появились в виде покраснений
рядом с уголками рта и на щеках.
Так как зачастую такие детали проявляются в различных видах и с различ-
ной силой, вы должны понимать структуру таких материалов, как кожа и дру-
гие органические ткани, которые отвечают за формирование образа создавае­
мого вами персонажа.
400  Шейдеры V-Ray for Maya

Рис. 5.1.3  Пример органических материалов


кожи и волос человека пожилого и молодого возраста

5.2. Шейдеры материалов V-Ray


После установки модулей системы визуализации V-Ray for Maya в редакторе
Hypershade вам будет доступна группа шейдеров материалов, текстур и ути-
лит V-Ray. В данном разделе рассматриваются ключевые материалы V-Ray for
Maya, позволяющие создавать как простые однослойные, так и многослойные
и многокомпонентные материалы.

Специальные атрибуты для шейдеров материалов


и текстур
В процессе работы с V-Ray for Maya вам могут потребоваться специальные
функции, доступные для узлов определенных типов. Каждый из шейдеров мо-
жет быть оснащен рядом дополнительных атрибутов, которые можно выбрать
в меню Attributes в Attribute Editor. Основными расширенными атрибутами
V-Ray для шейдеров являются Glossiness controls, Material ID, V-Ray Material
Override и Closed Volume Shading. Они будут полезны при настройке материа-
лов и для композитинга в NUKE, FUSION или After Effects.
Шейдеры материалов V-Ray  401

Рис. 5.2.1  Шейдеры материалов V-Ray


в редакторе Hypershade

Группа атрибутов Glossiness Controls доступна для только при работе со


стандартными шейдерами материалов Maya, такими как Lambert, Blinn, Phong
и т. п.
402  Шейдеры V-Ray for Maya

Рис. 5.2.2  Расширенные атрибуты V-Ray


для узлов шейдеров материалов (A) и Shading Engine (B)

Рис. 5.2.3  Группа параметров Glossiness Controls


Шейдеры материалов V-Ray  403

Группа атрибутов Material ID задает уникальный идентификационный но-


мер материала, который впоследствии будет использован для создания масок
в системе композитинга. Для конфигурации Material ID используйте селектор
цвета (атрибут Material ID), который будет определять цвет определенному
атрибутом Multimatte ID значению идентификатора материала. Информа-
ция, формируемая с помощью Material ID, может быть выведена с помощью
прохода визуализации, сохраненного в виде канала в формате OpenEXR или
V-Ray Image, для этого необходимо воспользоваться вкладкой Render Elements
в диалоговом окне Render Settings. В списке элементов выбирается проход
vrayRE_Material_ID (или Material ID в списке Available Render elements).

Рис. 5.2.4  Пример визуализации прохода Material ID и его отображение в VFB

Атрибуты группы V-Ray Material Override служат для переназначения мате-


риалов при визуализации с помощью V-Ray. С помощью данных атрибутов
можно переназначить материал к выбранному в Hypershade материалу. Пере-
определенными могут быть материал глобального освещения (GI), материал
отражения (Reflection), материал преломления (Reraction), материал теней
(Shadow material) и окружение (Environment).
С помощью атрибута Enable All overrides выполняется активация замеще-
ния материала. Вы можете выбирать определенные свойства материала, кото-
рые будут замещать новые шейдеры. Для этого просто снимите или поставьте
флажки напротив определенных атрибутов: Enable V-Ray Material Override,
Enable GI material Override, Enable Reflection Material Override, Enable Re-
fraction Material Override, Enable Shadow Material Override, Enable Envi-
ronment Override. Атрибут Environment Priority отвечает за силу замещения
окружения.
404  Шейдеры V-Ray for Maya

Атрибут Closed Volume Shading доступен только для шейдера VRayMtl. Он


указывает шейдеру, что объем, определенный геометрией, закрыт. Он приме-
няется для шейдера тумана (Fog); когда активно преломление, он предотвра-
тит выход тумана за границы объекта.
Атрибуты группы Glossiness Controls (рис. 5.2.3) применяются при работе со
стандартными шейдерами Maya, поддерживающими глянцевитость, такими
как Blinn, Phong и Phong E. Когда атрибут Override активен, свойства бликов
и отражений материала будут переопределены атрибутами данной группы.

Рис. 5.2.5  Пример влияния атрибутов:


A – Highlight glossiness, B – Reflection glossiness и C – Subdivs

Атрибут Highlight glossiness задает силу глянцевых отражений бликов


в материале. Когда данному атрибуту присвоено значение 1.0, материал будет
являться идеальным зеркалом. Значения ниже делают материал глянцевым
(glossy material). Для физически достоверных материалов он должен быть ана-
логичен значению атрибута Reflection glossiness.
Атрибут Reflection glossiness позволяет определить силу глянцевых отра-
жений материала. Для физически корректных материалов значение данного
атрибута должно быть идентично значению атрибута Highlight glossiness. Ког-
да данному атрибуту присвоено значение 1.0, материал будет являться иде-
альным зеркалом, значения ниже формируют глянцевое затенение.
С помощью атрибута Subdivs выполняется управление количеством образ-
цов выборки для глянцевых отражений. Для управления тем, будут ли вообще
вычисляться отражения в материале, используйте атрибут Trace reflections.
Шейдеры материалов V-Ray  405

Когда она активен, в процессе визуализации будут вычисляться отражения;


когда флажок с данного атрибута снят, отражения в материале не будут вы-
числяться.
Если дополнительные атрибуты назначаются узлу Shading Group, вы може-
те использовать специальный атрибут V-Ray Round Edges, позволяющий соз-
давать фаски на этапе визуализации изображения без внесения изменений
в геометрию объектов.

Рис. 5.2.6  Пример визуализации материала с Round Edges.


Слева – визуализация без Round Edges, справа – с атрибутами Round Edges

Как видно из представленной выше иллюстрации, после применения Round


Edges углы между кубом и цилиндрами приобрели фаски и стали менее остры-
ми. Стоит отметить, что фаски можно также задать с помощью атрибутов
Round Edges, доступных для узлов Shape. По сути, данный атрибут оказывает
влияние на геометрию во время визуализации и не требует от пользователя
выполнения применения операции Bevel, которая формирует фаску с помо-
щью добавления новых полигонов.
Атрибут Enable Round Edges активизирует применение эффекта создания
фасок, который использует метод рельефности (bump mapping) для сглажива-
ния ребер геометрии в процессе визуализации.
Для того чтобы определить радиус фаски, используйте атрибут Radius, ко-
торый работает в единицах World для создания эффекта фасок, так как ори-
гинальная геометрия не будет изменена и воздействие оказывается только на
нормали граней, но при этом большие значения могут формировать нежела-
тельный результат.
Когда активен атрибут Consider Same Objects Only, фаски будут формиро-
ваться только вдоль ребер, которые принадлежат тому объекту, которому при-
своены атрибуты Round Edges. Когда данный атрибут неактивен, фаски будут
формироваться вдоль всех ребер объекта, для которого формируется эффект
при пересечении с другими объектами в сцене.
Атрибут Corners позволяет выбрать ребра, которые будут участвовать в фор-
мировании эффекта фаски. На выбор предоставляется три режима:
 Convex and Concave – участвуют все ребра;
 Convex Only – применяет эффект фасок к ребрам с выпуклыми углами;
 Concave Only – применяет эффект фасок к ребрам с вогнутыми углами.
406  Шейдеры V-Ray for Maya

Познакомившись со специальными атрибутами V-Ray, применяемыми


к шейдерам, мы можем перейти непосредственно к знакомству с шейдерами
материалов V-Ray for Maya.

Шейдер VRayBlendMtl
Многие материалы могут быть достаточно сложными многокомпонентны-
ми структурами, шейдеры V-Ray for Maya могут реализовывать как материа­
лы простых веществ, так и более сложные составные материалы. Одним из
композитных шейдеров, которые предоставляет V-Ray, является шейдер
VRay­BlendMtl. Данный шейдер материалов позволяет объединять несколько
шейдеров материалов в один многокомпонентный материал и смешивать их,
меняя силу смешивания с использованием простых значений и процедурных
или растровых текстурных карт.

Рис. 5.2.7  Интерфейс шейдера VRayBlendMtl


Шейдеры материалов V-Ray  407

По умолчанию шейдер не содержит связи с другими материалами. Вы мо-


жете собственноручно создать шейдер любого материала и далее подключить
его к шейдеру VRayBlendMtl. К шейдеру VRayBlendMtl можно подключить лю-
бой поддерживаемый V-Ray for Maya шейдер материала, текстуры или про-
цедурный шейдер. Но я рекомендую использовать родные для V-Ray шейдеры
материалов и текстур.
Все шейдеры материалов V-Ray for Maya содержат специальный свиток –
Swatch Properties, это реализация специфичной для Maya функции, именуемой
swatches, создание и сохранение Preview-изображений для материалов, тек-
стур и картинок сцен в отдельном файле. В V-Ray for Maya можно изменять
качество Swatch-изображения с помощью свитка Swatch Properties.

Рис. 5.2.8  Свиток Swatch Properties


для настройки качества и обновления Preview-изображений

Когда активен атрибут Auto Update, ядро визуализации будет автоматиче-


ски обновлять изображение образца материала. Если данный атрибут не акти-
вен, будет доступна кнопка Update, при нажатии на которую V-Ray выполнит
визуализацию образца материала.
Если вы хотите выполнять постоянное обновление образца определенных
материалов, даже когда выключено обновление образцов на глобальном уров-
не, поставьте флажок напротив атрибута Always render this swatch.
Качество изображения в образце контролируется с помощью атрибута Max
Resolution, отвечающего за разрешение изображения, используемого для
отображения в окне Sample. Не используйте большие разрешения для Render
Swatches. Во-первых, это увеличивает время визуализации образца, а во-вто­
рых, снижает производительность программы в процессе визуализации об-
разцов для множества материалов.
Вы можете отключить обновление образцов материалов с помощью кнопки On/
Off в редакторе Hypershade. Обновление образца материала вы можете выпол-
нять с помощью контекстного меню, выбрав узел шейдера материала и щелкнув
по нему ПКМ, выбрав команду Refresh Swatch.

Последующие за свитком Swatch Properties идут свитки параметров для


каждого шейдера. В шейдере VRayBlendMtl представлено два свитка – Base Pa-
rameters и Coat Materials.
408  Шейдеры V-Ray for Maya

Свиток Base Parameters содержит следующие атрибуты.


Base Material – определяет базовый материал, используемый для затене-
ния поверхности. Если он не задан, то будет учитываться первый материал
в списке Coat Materials или объект просто будет визуализироваться прозрач-
ным, без затенения. Все остальные материалы, добавленные в Coat Materials,
будут расположены поверх Base Material.
Атрибут Additive mode позволяет VRayBlendMtl вести себя как многослой-
ный шеллак-материал. Замечу, что это часто приводит к физически некор-
ректным свойствам материалов (например, материалы будут отражать боль-
ше света, чем падает на них). Не рекомендуется использовать эту опцию, если
вы не уверены в итоговом результате.

Рис. 5.2.9  Пример визуализации шейдера VRayBlendMtl


c активным Base Material и только при применении Coat Material

Шейдеры материалов, участвующие в формировании других слоев, добав-


ляются в свитке Coat Material. Свиток содержит следующие атрибуты:
Coat Material # – указывает, какой шейдер будет участвовать в смешивании
с базовым шейдером. VRayBlendMtl предоставляет возможность смешивать
восемь отдельных слоев.
Атрибут Blend Amount задает степень смешивания Coat Material с Base
Material. Вклад материала можно задать с помощью селектора цвета или пол-
зунка. Обычно белый цвет задает 100%-ный вклад Coat Material, а черный его
исключает. Помимо простого указания цвета, вы можете использовать растро-
вую или процедурную текстуру.
Рассмотрим пример (рис. 5.2.10) комплексного материала на основе шей-
дера VRayBlendMtl, имитирующего несколько материалов для кузова локомо-
тива.
Шейдеры материалов V-Ray  409

Рис. 5.2.10  Граф комплексного материала


на основе шейдера VRayBlendMtl, представленного в примере выше

Основу материала составляет шейдер VRayBlendMtl (A), благодаря которому


объединяются несколько шейдеров VRayBumpMtl (B). Карты рельефности под-
ключены к слоту Map в шейдере материала рельефности (D). В качестве базо-
вого материала, связанного с шейдером материала рельефности, используется
шейдер материала VRayMtl. Вес шейдеров материалов рельефности, связан-
ных с композитным шейдером, определяется с помощью текстурной карты
(C). Остальные текстуры, такие как текстуры диффузного цвета (E), текстуры
отражений и бликов, связываются напрямую с шейдерами VRayMtl.
Результат визуализации сцены с применением материала на основе шей-
дера VRayBlendMtl вы можете видеть на рис. 5.2.11. Обратите внимание, что
в данном примере материал краски задан базовым шейдером, а слои грязи,
ржавчины и других дефектов, а также отражений на фонаре реализованы с по-
мощью отдельных слоев в композитном материале.
410  Шейдеры V-Ray for Maya

Рис. 5.2.11  Пример смешивания шейдеров с помощью VRayBlendMtl

Шейдер VRayMtl2Sided
Шейдер VRayMtl2Sided является так называемым утилитарным шейдером. Он
позволяет выполнять затенение освещения с обратной стороны граней гео­
мет­рии и отлично подходит для моделирования просвечивающих/полупро-
зрачных поверхностей, таких как бумага, ткань, листья деревьев и т. п.

Рис. 5.2.12  Реализация шейдера VRayMtl2Sided


в интерфейсе Attribute Editor
Шейдеры материалов V-Ray  411

Шейдер позволяет добавить два шейдера материалов для передней и задней


стороны поверхности и выполнить настройку полупрозрачности с помощью
растровой или процедурной текстурной карты. Для настройки шейдера нет
необходимости управлять множеством атрибутов. Вы можете просто создать
два основных материала на основе шейдеров VRayMtl, связать их с атрибута-
ми шейдера VRayMtl2Sided и выполнить визуализацию сцены.
Атрибут Front Material определяет шейдер материала, используемый на
передней стороне полигонов, определяемой направлением нормалей.
Атрибут Back Material определяет шейдер, который будет использован для
задних и боковых граней, определяемых их нормалями.

Рис. 5.2.13  Пример визуализации только с Front Material (A),


Front Material + Back Material (B) без смешивания и со смешиванием (C)

Атрибут Translucency Tex определяет, с какой стороны (спереди или сзади)


по отношению к камере будет более заметным материал обратной (задней)
стороны в процессе визуализации. По умолчанию это значение равно 0.5 – это
означает, что обе стороны обращены к камере, и противоположный матери-
ал будет виден в той же степени, что и передний. Когда этот параметр ближе
к 0.0, передний материал на обращенных к камере гранях будет виден полно-
стью. Чем оно ближе к 1.0, тем больше будет виден материал, размещенный
с противоположной стороны граней.
412  Шейдеры V-Ray for Maya

Рис. 5.2.14  Пример визуализации шейдера VRayMtl2Sided


с шейдером процедурной текстуры Checker,
подключенной к слоту текстурной карты Translucency Tex

Когда активен атрибут Multiply by front diffuse, полупрозрачность будет


преумножена на величину диффузного цвета материла, назначенного лице-
вой стороне граней, материала, находящегося на гранях, чьи нормали направ-
лены по отношению к камере.
Force single-sided sub-materials – когда данный атрибут активен (On по
умолчанию), подключенные к шейдеру VRayMtl2Sided шейдеры материалов
будут визуализироваться как односторонние. Не рекомендуется отключать
этот атрибут (Off).

Рис. 5.2.15  Пример визуализации шейдера VRayMtl2Sided с активным


атрибутом Multiply by front diffuse (A) и различными состояниями Force single-
sided sub-materials, где B – атрибут активен, C – атрибут неактивен
Шейдеры материалов V-Ray  413

Этот шейдер даст наилучшие результаты при назначении на односторонние


(цельные) объекты (без видимых противоположных граней (non-shelled)), та-
кие как плоскости, сплайны с примененным к ним выдавливанием (Extrude)
и т. д. В противном случае это может привести к резкому увеличению времени
визуализации.

Рис. 5.2.16  Пример визуализации модели,


в которой назначен материал на основе шейдера VRayMtl2Sided

Шейдер VRaySwitchMtl
Это простой и несложный в применении шейдер. Материал на основе шейдера
VRaySwitchMtl может быть использован для переключения между различны-
ми материалами, опираясь на значение, взятое из текстурной карты или опре-
деленное слайдером.
В этом шейдере атрибут Switch задает величину или определяет текстурную
карту, которые определяют значение для переключения между связанными
с ним шейдерами материалов.
Атрибуты Material 0–Material 9 задают материалы, которые будут исполь-
зоваться, опираясь на значение, заданное с помощью атрибута Switch.
Данный шейдер полезен при работе с анимацией эффектов с различными
материалами, например при создании графики к заставкам ТВ-шоу или при
оформлении рекламных роликов.
414  Шейдеры V-Ray for Maya

Рис. 5.2.17  Реализация шейдера VRaySwitchMtl


в интерфейсе Attribute Editor

Шейдер VRayBumpMtl
Шейдер VRayBumpMtl позволяет добавить карту рельефности или карту нор-
малей при использовании любого шейдера (материала). Обычно такой под-
ход может быть полезен при применении стандартных шейдеров пакета Maya,
которым необходимо добавить рельефность или создать отдельный узел при
работе с картой рельефности в системе визуализации V-Ray.
Данный шейдер представляет собой отдельный компонент для создания
эффекта рельефности (Bump Mapping) и, по сути, полностью повторяет ин-
струменты из шейдера VRayMtl (Свиток Bump & Normal mapping).
Рассмотрим атрибуты шейдера VRayBumpMtl подробнее.
Base Material – расположенный в свитке Basic Parameters, данный атрибут
позволяет вам указать, какой шейдер будет использован для основного зате-
нения, так как V-Ray не поддерживает корректную визуализацию стандарт-
ных шейдеров Maya, а реализует только базовые свойства затенения, такие
шейдеры, как Lambert, Blinn, Phong, Phong E и др.
Map Type – этот атрибут отвечает за то, как будет интерпретироваться кар-
та рельефности, заданная в атрибуте Map.
Шейдеры материалов V-Ray  415

Рис. 5.2.18  Реализация шейдера VRayBumpMtl


в интерфейсе Attribute Editor

Bump Map – позволяет использовать классическую карту рельефности, ос-


нованную на растровой карте.
Раскрывающийся список с режимами Normal Map in Tangent Space, Nor-
mal Map in Object Space, Normal Map in Screen Space, Normal Map in World
Space и Local Space Bump Map позволяет выбрать тип проецирования карты
рельефности на основе карты нормалей. Предоставляет возможность выбора
между проекциями в пространстве касательной, объекта, экранной и мировой
систем координат.
Map – этот атрибут позволяет вам задать текстурную карту рельефности.
Если к данному атрибуту не подключена текстурная карта, эффект рельефно-
сти визуализироваться не будет.
Bump Mult – степень вклада в формирование эффекта рельефности. Если
значение выше, рельефность будет проявляться больше, и наоборот.
Когда активен атрибут Bump Shadows, ядро V-Ray будет учитывать карты
рельефности при визуализации теней от объектов, которым назначен матери-
ал на основе шейдера VRayBumpMtl.
На рис. 5.2.20 приведен пример влияния атрибута Bump Shadows на свой-
ства материала. Когда данный атрибут применяется, V-Ray учитывает тени,
формируемые объектами с материалом и картой рельефности, примененным
к ним. На иллюстрации, приведенной ниже, карта шахматной доски использу-
ется для рельефности плиток и незначительной вариации высоты, так же как
рельефность в линиях между плитками. Когда атрибут Bump Shadows включен,
отражение локомотива на поверхности пола будет искажаться в соответствии
с текстурной картой рельефности. А если атрибут Bump Shadows выключен,
416  Шейдеры V-Ray for Maya

рельефность на отражающей поверхности напольной плитки не играет роли


в том, как визуализируются тени и отражения.

Рис. 5.2.19  Влияние атрибута Bump Mult


на силу воздействия карты рельефности на материал.
Атрибуту присвоены следующие значения: A – 0.250, B – 1.000 и C – 2.500

Рис. 5.2.20  Влияние атрибута Bump Shadows


на визуализацию эффекта рельефности.
A – атрибут выключен, B – атрибут включен

Bump Delta Scale определяет масштаб для выборки текстурной карты, ког-
да используется текстура рельефности. Точную величину V-Ray вычисляет
автоматически, но она может быть преумножена на заданную данным атри-
бутом величину.
На приведенных выше иллюстрациях показан материал, основанный на
применении шейдеров VRayBumpMtl и Maya Blinn. Контроль рельефности осу-
ществлялся с помощью шейдера VRayBumpMtl, а контроль зеркальных под-
светок и отражений выполнен за счет шейдера Maya Blinn с дополнительными
атрибутами V-Ray Glossy Override.
Применение шейдера VRayBumpMtl также может быть полезным при ис-
пользовании шейдера VRayCarPaintMtl, который мы рассмотрим ниже. Также
шейдер VRayBumpMtl позволяет применить один специальный атрибут V-Ray –
Шейдеры материалов V-Ray  417

Material ID, с помощью которого вы можете выполнить вывод отдельного ID


для последующего композитинга.
Следующий специальный шейдер V-Ray, который мы рассмотрим, – VRay­
Mtl2Sided, с его помощью вы можете назначить отдельные шейдеры на внеш-
нюю и внутреннюю стороны полигонов.
Познакомившись с тремя композитными шейдерами V-Ray for Maya,
мы перейдем к знакомству с главным шейдером V-Ray – VRayMtl. Шейдер
VRayMtl – самый важный инструмент затенения в V-Ray for Maya, с его по-
мощью создаются практически все основные материалы. Стоит отметить, что
именно благодаря V-Ray и его унифицированному шейдеру VRayMtl сейчас
практически все системы визуализации используют аналогичный подход.

Шейдер VRayMtl
Шейдер VRayMtl является основополагающим шейдером системы визуали-
зации V-Ray. Шейдер позволяет выполнять физически корректное затенение
и освещение объектов (с учетом закона сохранения энергии) в сцене, быструю
визуализацию, предоставляет удобные параметры для отражений и прелом-
лений. Совместно с VRayMtl вы можете применять различные текстурные кар-
ты, контролировать отражения и преломления, добавлять карты рельефности
(Bump maps) и выбирать тип BRDF (Bidirectional reflectance distribution func-
tion) для материала.
Как было написано выше, первым свитком шейдера является свиток Swatch
properties, благодаря которому можно настроить автоматическое обновление
демонстрационного изображения шейдера. Шейдер VRayMtl полностью на-
страиваем через интерфейс редактора атрибутов.
Все параметры шейдера VRayMtl сгруппированы в нескольких свитках.
В интерфейсе Attribute Editor вы можете увидеть следующие свитки: Swatch
properties, Basic parameters, Reflection, Anisotropy, Refraction, Bump and Normal
mapping, Subsurface scattering, Options, Reflect Interpolation, Refract Interpolation.
Помимо этого, шейдер содержит и стандартные для Maya свитки, а именно
Extra Attributes и Hardware Texturing.

Свиток Basic parameters


Свиток Basic Parameters шейдера VRayMtl позволяет задать базовые свойства
шейдера и не содержит большое количество атрибутов.

Рис. 5.2.21  Свиток Basic parameters шейдера VRayMtl

Diffuse Color – диффузный цвет шейдера (материала). Стоит отметить, что


диффузный цвет также зависит от отражающих и преломляющих свойств по-
418  Шейдеры V-Ray for Maya

верхности (может быть указан как цветом, так и текстурой). Диффузный цвет
может быть задан с помощью растровой и процедурной текстуры.

Рис. 5.2.22  Визуализация объектов


с различными значениями атрибута Diffuse Color

Стоит заметить, что при вычислении глобального освещения (Indirect Illu-


mination) интенсивность диффузного цвета также влияет на вторичное осве-
щение. Чем выше яркость диффузного цвета, тем более интенсивно происхо-
дит отражение цвета на другие поверхности.

Рис. 5.2.23  Пример влияния интенсивности диффузного цвета


при активном глобальном освещении

Контроль вторичного освещения выполняется в глобальных настройках си-


стемы визуализации, а также с помощью контроля яркости и степени вклада
диффузного цвета шейдера.
Amount – данный атрибут отвечает за вклад диффузного цвета в шейдер.
Варьируется от 0 до 1, также можно задать текстурную карту.
Шейдеры материалов V-Ray  419

Рис. 5.2.24  Влияние атрибута Amount


на свойства диффузного цвета в шейдере VRayMtl

На приведенной выше иллюстрации показано влияние различных значений


атрибута Amount и при добавлении текстурной карты можно задать «рисунок»
диффузному цвету.
Opacity Map – карта непрозрачности; с помощью этого атрибута вы може-
те задать значение непрозрачности материала или задать текстурную карту.
Белый цвет – полностью непрозрачный материал, черный цвет – полностью
прозрачный материал. С помощью назначения растровой или процедурной
текстуры вы можете создать шейдер с неоднородной прозрачностью.
В V-Ray 3.6 появился новый атрибут, позволяющий оптимизировать ско-
рость визуализации эффекта прозрачности на таких объектах, как листья де-
ревьев, трава, решетки, сетка-рабица и др. Атрибут Opacity mode управляет
тем, как будет работать карта прозрачности. В режиме Normal карта прозрач-
ности оценивается как нормаль: освещение поверхности вычисляется, и луч
продолжит свое движение для получения эффекта прозрачности. Текстура
прозрачности будет фильтроваться как стандартная. Режим Clip – поверхность
затеняется в качестве полностью прозрачной зависимой от значений опреде-
ленных картой прозрачности. Этот режим также исключает фильтрацию кар-
ты текстуры непрозрачности. Это быстрый режим, но значительно повыша-
ющий мерцание при визуализации анимации. И третий режим – Stochastic:
поверхность затеняется случайным образом, как полностью прозрачная или
полностью непрозрачная, так что это в среднем принимается как прозрач-
ность. Данный режим уменьшает вычисления освещения, но может вводить
шум в областях, в которых карта непрозрачности обладает значениями, опре-
деленными градациями серого. Текстура непрозрачности будет фильтровать-
ся в качестве стандартной текстуры.
Стоит заметить, что при использовании карты непрозрачности этот атри-
бут влияет на тени, формируя прозрачные и непрозрачные тени. Чем меньше
непрозрачность, тем больше света будет пропускать шейдер, тень становится
менее выраженной. При увеличении непрозрачности тень обретает более вы-
раженный характер.
420  Шейдеры V-Ray for Maya

Рис. 5.2.25  Влияние атрибута Opacity Map на свойства шейдера VRayMtl

Roughness Amount – данный атрибут позволяет создавать шероховатые


или покрытые пылью поверхности (например, кожу или поверхность Луны).

Рис. 5.2.26  Действие атрибута Roughness Amount на свойства шейдера VRayMtl

Атрибут Roughness Amount позволяет быстро указать свойства матовой по-


верхности, придав мягкости затенению шейдера. Благодаря применению тек-
стурной карты можно варьировать шероховатость поверхности.
Self-illumination – позволяет задать шейдеру свойства самосвечения (self
illumination). Это можно сделать, просто задав цвет или назначить текстурную
карту.
Когда активирован атрибут Compensate Exposure, интенсивность самосве-
тящегося материала будет скорректирована для компенсации под коррекцию
экспозиции, определенной V-Ray Physical Camera.
Отмечу, что применение шейдера VRayMtl с активным Self-Illumination может не
дать достоверного результата в освещении отраженным светом и при создании
самосветящихся материалов. Для этого лучше использовать шейдер VRayLightMtl,
рассматриваемый далее в данной главе.
Шейдеры материалов V-Ray  421

Рис. 5.2.27  Влияние атрибута Self-illumination на свойства шейдера VRayMtl

Свиток Reflection. В реальном мире форму и детали поверхности зачастую


мы можем определять с помощью бликов и отражений, формируемых отпо-
лированными (глянцевыми) или шероховатыми (матовыми) поверхностями.
Каждое из веществ обладает собственными свойствами и силой отражения,
зависимого от индекса преломления. В зависимости от типа материала от-
ражения могут проявляться как зеркало, с другой стороны, отражения могут
быть незначительны и будут проявляться только на областях с наибольшим
освещением.
Ключевой функцией, используемой для моделирования отражений на по-
верхности в компьютерной графике, является двулучевая функция отража-
тельной способности (Bidirectional reflectance distribution function – BRDF)
(рис. 5.2.28). Функция BRDF является четырехмерной, определяющей, как свет
отражается от непрозрачной поверхности. Параметрами функции являются
направление входящего света и направление выходящего света, которые опре-
делены относительно нормали к поверхности. Функция возвращает отношение
отраженной яркости вдоль к освещенности на поверхности с направлением.

Рис. 5.2.28  Здесь приведены векторы, используемые в функции BRDF.


Все векторы равной длины. Вектор ωi направлен на источник света,
а вектор ωo – на наблюдателя, n – нормаль по отношению к поверхности
422  Шейдеры V-Ray for Maya

Стоит заметить, что каждое направление само по себе зависит от азиму-


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

Рис. 5.2.29  Свойства отражающей способности


для описания модели затенения на основе функции BRDF

На рис. 5.2.29 приведены примеры основных свойство отражающей способ-


ности поверхностей, реализуемых с помощью функции BRDF. Первое свойство –
зеркальное отражение. Оно заключается в равнозначности угла отражения
лучей углу падения. Обычно такими свойствами обладают зеркала. Рассеянное
отражение формируется при попадании лучей на неровную поверхность. Из-
меняемая траектория лучей будет искажать отражение, делая его размытым.
Непосредственно сами лучи будут отражаться равномерно в пределах радиу-
са полусферы. Глянцевые отражения формируются уже по-иному, данный
эффект в первую очередь создается с помощью отражений лучей в небольших
углублениях, обладающих продольной формой. При глянцевых отражениях
свет распространяется в определенном направлении, а не равномерно по по-
верхности, причем преобладающий угол обозначает зеркальное отражение.

Рис. 5.2.30  Примеры визуализации шейдеров VRayMtl с различными моде-


лями затенения и степенью глянцевитости. Иллюстрации A – Phong, B – Blinn,
C – Ward, D – GGX. Каждый пример обладает определенной силой глянцевито-
сти, значения атрибута Reflection Glossiness от 1 до 0.1
Шейдеры материалов V-Ray  423

Все основополагающие модели затенения на основе BRDF представлены


в шейдере VRayMtl в свитке Reflection, где можно выбрать тип функции и за-
дать отражающие свойства материала. V-Ray предоставляет возможность ис-
пользовать модели затенения, Blinn, Phong, Ward и GGX (рис. 5.2.30), а также
создавать глянцевые и зеркальные отражения.
До V-Ray версии 3.6 в шейдере VRayMtl по умолчанию использовалась модель
затенения Blinn; начиная с версии 3.6, по умолчанию используется модель зате-
нения GGX.

Рис. 5.2.31  Свитки Reflection и Anisotropy шейдера VRayMtl


позволяют задать свойства изотропных и анизотропных отражений

Параметр BRDF позволяет задать тип подсветок и глянцевых отражений для


создаваемого материала (рис. 5.2.30). Этот атрибут влияет на свойства матери-
ала при условии, что цвет отражения отличен от черного цвета (0, 0, 0), а глян-
цевитость отражений отлична от 1.0, например равна 0.6.
Атрибут BRDF Type – позволяет выбрать тип функции BRDF, которая будет
использована для формирования зеркальных, рассеянных и глянцевых отра-
жений. Выбор типа модели затенения будет влиять на форму блика:
 Phong – реализует основополагающую модель затенения (бликов/отра-
жений) по Фонгу;
 Blinn – реализует модель затенения (бликов/отражений) по Блинну;
 Ward – реализует модель затенения (бликов/отражений) по Уарду;
 GGX – реализует микрофасеточную модель затенения GGX для бликов/
отражений.
Про модель GGX хочется сказать пару слов отдельно. Это достаточно новая
модель построения отражений и бликов на поверхностях. Она значительно
лучше формирует рассеивание света, ареол вокруг бликов и позволят есте-
ственней сформировать анизотропные свойства поверхности, сохранив боль-
ше деталей. Присмотритесь к иллюстрациям B и D на рис. 5.2.30. Вы можете за-
метить, что, в отличие от модели затенения по Блинну, модель GGX обладает
гораздо более мягким переходом от области яркого блика к области затухания.
424  Шейдеры V-Ray for Maya

Reflection Color – задет цвет отражения. Стоит обратить внимание на то,


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

Рис 5.2.32  Пример визуализации шейдера с различными значениями Re-


flection Color (вверху) и Amount (внизу). На иллюстрации сверху показано при-
менение к атрибуту Reflectionm Color различных значений параметра цвета,
слева – RGB-цвет, в центре – растровая текстурная карта, справа – процедур-
ная текстурная карта. На иллюстрации внизу продемонстрирован пример вли-
яния атрибута Amount на отражение поверхности. Слева направо назначены
следующие значения: 1.0, 0.5, 0.1

При использовании отражений стоит учитывать, что V-Ray сразу вычисля-


ет прямые отражения без визуализации глянцевых отражений (Phong, Blinn,
Ward). Для получения доступа к глянцевым отражениям вам потребуется из-
менить параметр Reflection Glossiness.
Reflection Exit Color – задет выходящий цвет отражения. Данный эффект
будет проявляться при создании материала с высокой степенью отражения.
Если необходимо показать большую глубину отражения в материале, этот па-
раметр позволит создать такой эффект.
Шейдеры материалов V-Ray  425

Lock highlight and reflection glossiness – когда эта опция неактивирована


(Off), вы можете использовать любое значение для Hilight glossiness и Reflec-
tion glossiness. Однако это не дает физически достоверных результатов.

Рис 5.2.33  Пример визуализации шейдера


с различными значениями Highlight glossiness (вверху) и Reflection glossiness (внизу).
Атрибут Lock hightlight and reflection glossiness отключен

Hilight glossiness – определяет форму блика на материале. Обычно этот


атрибут связан с атрибутом Reflection Glossiness. Это обусловлено необходи-
мостью формирования физически корректных результатов.
Reflection Glossiness – управляет резкостью отражений. Значение, равное
1.0, позволяет визуализировать зеркальные отражения (аналогично зеркалу),
значения меньше 1.0 позволяют визуализировать размытые или глянцевые
отражения. Используйте расположенный ниже атрибут Reflection Subdives для
управления качеством глянцевых отражений.
Reflection Subdives – управляет качеством глянцевых отражений. Чем
меньше значения, тем быстрее выполняется визуализация, но результат вы-
ходит более шумным, что не приемлемо при визуализации анимации; более
высокие значения повышают качество отражений, но увеличивается время
визуализации.
426  Шейдеры V-Ray for Maya

Рис 5.2.34  Пример визуализации глянцевых отражений


с различными значениями Reflection Subdives

Для тестовой визуализации рекомендуется использовать значения 4, 8 или


16 выборок, для финальной визуализации можно использовать значения 16,
32, 48 и т. д. Также стоит отметить, что совершенно не обязательно задавать
большие значения выборки отражений, обычно вполне достаточно 32–36 об-
разцов для общего плана, а для дальних планов можно использовать совсем
небольшие значения. Но все равно настройки, влияющие на финальный вид
шейдера, могут варьироваться в зависимости от решаемой задачи.
По умолчанию V-Ray вычисляет количество необходимых образцов для
выборки отражений автоматически на основе методов Multiply Importance
Sampling, и поэтому атрибут Reflection Subdivs заблокирован. Для того чтобы
разблокировать данный атрибут, в диалоговом окне Render Settings на вклад-
ке VRay в свитке DMC Sampler поставьте флажок напротив атрибута Use Local
Subdivs и настройте атрибут Subdivs Mult. Рассмотрим данные атрибуты под-
робнее.
Когда атрибут Use local subdivs выключен, V-Ray автоматически опреде-
ляет, задает величину выборки для образцов в материалах, источников света
и других эффектах затенения, основанных на величине атрибута Min Shading
rate в глобальных настройках алгоритма выборки. Когда данный атрибут ак-
тивен, V-Ray будет использовать величину, заданную атрибутом Subdivs Mult
и атрибутами контроля количества образцов выборки для отражений, прелом-
лений в материалах и источниках света.
В процессе визуализации атрибут Subdivs Mult преумножает все значения
атрибутов Subdivs на величину, определенную им. Это окажет воздействие на
все, за исключением карт освещенности, карты фотонов, каустики и подраз-
деления сглаживания. Этот атрибут влияет на все остальное. Он полезен для
быстрого увеличения/уменьшения качества выборки во всей сцене.
Шейдеры материалов V-Ray  427

Use Interpolation – позволяет использовать расширенные атрибуты интер-


поляции преломления из свитка Reflect Interpolation.
Use Fresnel – включение данного атрибута позволяет вычислять силу от-
ражения в зависимости от угла взгляда наблюдателя.
Многие материалы в окружающем нас мире (например, стекло и т. п.), от-
ражают свет таким образом. Также стоит обратить внимание, что эффект Фре-
неля зависит от индекса преломления, который контролируется как индиви-
дуально для отражения и преломления, так и совместно (с помощью атрибута
Refraction IOR).
Когда включен атрибут Glossy Fresnel, эффект Френеля будет применяться
для интерполяции глянцевых отражений и преломлений. Для глянцевых отра-
жений на каждом «микрофасете» учитывается уравнение Френеля, а не только
угол между лучом со стороны наблюдателя и нормалью поверхности. Наибо-
лее заметным эффектом является легкое уменьшение яркости ближе к краям
при уменьшении блеска. С обычным эффектом Френеля объекты с низкой си-
лой блеска могут казаться неестественно яркими и «светящимися» по краям.
Применение атрибута Glossy Fresnel делает этот эффект более естественным
(рис. 5.2.35).

Рис 5.2.35  Пример визуализации шейдера


с неактивным и активными атрибутами Use Fresnel и Glossy Fresnel

Lock Fresnel IOR to Refraction IOR – позволяет вам разблокировать атрибут


Fresnel IOR в свитке Reflection для более тонкого контроля отражений.
Fresnel IOR – индекс преломления (Index of Refraction (IOR)), используется
при вычислении эффекта Френеля в отражениях. По умолчанию этот атрибут
связан с атрибутом Refraction IOR, но вы можете разблокировать его для бо-
лее тонконого контроля (сняв флажок с атрибута Lock Fresnel IOR To Refrac­
tion IOR).
428  Шейдеры V-Ray for Maya

Рис 5.2.36  Влияние атрибута Fresnel IOR на внешний вид материала

Если посмотреть на приведенную выше иллюстрацию, при повышении зна-


чении Fresnel IOR отражения в шейдере становятся более выраженными.
Атрибут GGX rail falloff становится доступен, когда в списке BRDF Type вы-
брана модель затенения GGX. Данный атрибут управляет переходом от обла-
стей бликов к областям без бликов.

Рис 5.2.37  Влияние атрибута GGX tail falloff


на визуальные свойства бликов и отражений в материале

Подсвиток Anisotropy
Модели затенения Blinn, Ward и GGX обладают возможностью реализовывать
как изотропные, так и анизотропные отражения. Для настройки анизотроп-
ных отражений необходимо выбрать одну из этих моделей затенения и вос-
пользоваться атрибутами свитка Anisotropy (рис. 5.2.31).
В свитке Anisotropy вы можете выполнить настройку анизотропных отра-
жений в шейдере VRayMtl. Контроль анизотропных отражений выполняется
тремя атрибутами.
Шейдеры материалов V-Ray  429

Anisotropy – определяет форму блика. Значение, равное 0.0, создает изо-


тропные подсветки. Положительные или отрицательные значения позволяют
создать анизотропные подсветки (имитируя матовые или шероховатые по-
верхности). Так, если значения анизотропности будут ниже нуля, например
–0.5, отражения будут растягиваться вдоль оси U, если же значения будут выше
нуля, например 0.5, отражения будут растягиваться вдоль оси V. При значении
0.0 отражения и блики будут иметь равномерную форму круга или стремиться
к ней (зависит от кривизны геометрии).

Рис 5.2.38  Визуализация анизотропных отражений с поло-


жительным значением атрибута Anisotropy в VRayMtl для раз-
личных моделей затенения. Иллюстрация A – Phong, B – Blinn,
C – Ward, D – GGX. Каждый пример обладает определенной глян-
цевитостью (0.7), а атрибуту Anisotropy присвоены значения от 0
до 1, что формирует форму блика по оси V

Anisotropy UV coords – позволяет вам назначить узел placementTexture


и изменять UV-координаты для контроля направления и ширины анизотроп-
ных подсветок (бликов). Стоит отметить, что в V-Ray for 3ds Max направление
анизотропных подсветок реализовано за счет указания направления вдоль од-
ной из трех осей (X, Y, Z) и канала карты (Map Channel).
Anisotropy Rotation – определяет ориентацию анизотропных подсветок.
Варьируется в пределах от 0.0 до 1.0 (значение 0.5 оказывает поворот анизо-
тропного блика на 180°, 1.0 обеспечивает вращение блика на 360°).
430  Шейдеры V-Ray for Maya

Рис 5.2.39  Влияние атрибута Anisotropy Rotation на анизо-


тропный блик в шейдере VRayMtl. Иллюстрация A – Phong, B –
Blinn, C – Ward, D – GGX. Каждый пример обладает определенной
глянцевитостью (0.7), а атрибуту Anisotropy присвоено значение
от 0.6. Атрибуту Anisotropy Rotation присвоены величины в диа-
пазоне от 0.0 (0°) до 0.375 (120°)

Подсвиток Reflection – advanced. Подсвиток Reflection – advanced предна-


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

Рис 5.2.40  Подсвиток Reflection – advanced

Trace Reflections – активируйте этот атрибут, если в шейдере необходимо


реализовать отражения. По умолчанию включен, если его отключить – отра-
жения визуализироваться не будут.
Max Depth – определяет, сколько раз будет отражен луч. Сцены, содержа-
щие большое количество объектов с отражающими и преломляющими мате-
риалами, требуют установки большого значения Max Depth.
Шейдеры материалов V-Ray  431

Рис 5.2.41  Пример виляния атрибута Max Depth


на глубину отражений в шейдере. На иллюстрациях присвоены
следующие величины глубины отражений: A – 1, B – 3, C – 6

Если взглянуть на иллюстрацию, можно увидеть влияние количества от-


ражений в шейдере. На первом изображении Max Depth равен 1, на сред-
нем – 2, а на правом изображении Max Depth равняется 5. Чем выше зна-
чение, тем больше повторных отражений сфер друг в друге можно создать.
Эффект множества повторных отражений можно наблюдать, если поста-
вить два зеркала друг напротив друга и положить, например, яблоко между
ними – в зеркалах будет видно множество отраженных яблок как в одну сто-
рону, так и в другую.
Reflect On Back Side – если данный атрибут отключен, то система визуа-
лизации не будет визуализировать отражения на задней стороне полигонов
(Back Side faces). Когда атрибут активен, шейдер будет визуализировать от-
ражения как на передней стороне полигонов (по направлению нормалей), так
и на обратной.
Soften Edge – указывает силу смягчения в краях переходов от блика к от-
ражениям в выбранной модели затенения BRDF.
Fix Dark Edges – применение этого атрибута позволит устранять темные
края на ребрах, которые иногда проявляются на объектах с глянцевыми мате-
риалами.
Dim Distance On – позволяет активировать атрибут Dim Distance, при кото-
ром учитывается расстояние трассировки лучей. Как только трассируемый луч
доходит до заданного значения, он останавливается.
Dim Distance – задает значение дистанции, после которого не выполняется
трассировка луча (рис. 5.2.42 А).
Dim Fall Off – задает радиус спада для Dim Distance (рис. 5.2.42 В).
Стоит отметить, что при уменьшении значения Dim Distance появляется
возможность уменьшить время визуализации сцены. При более тонкой на-
стройке этого атрибута удастся сэкономить большое количество времени на
визуализации сцены с большим количеством отражающих поверхностей.
Немаловажной частью шейдера VRayMtl является возможность визуализа-
ции прозрачных материалов с преломлением. В VRayMtl для тонкой настрой-
ки свойства преломления создан свиток Refraction.
432  Шейдеры V-Ray for Maya

Рис 5.2.42  Пример визуализации шейдера с различными величинами,


заданными атрибутам Dim Distance (A) и Dim Fall Off (B)

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

Рис 5.2.43  Свиток Refraction в атрибутах VRayMtl


позволяет задать свойства отражений в шейдере
Шейдеры материалов V-Ray  433

Refraction Color – цвет преломления, белый цвет – 100 % преломления, чер-


ный цвет – 0 % преломления. Стоит обратить внимание на то, что фактический
цвет преломления зависит от цвета отражения (задаваемого в группе атрибу-
тов Reflection).
Amount – оказывает влияние на силу преломления. Варьируется в пределах
от 0.000 до 1.000.

Рис 5.2.44  Пример визуализации шейдера VRayMtl


с различными значениями Refraction Color и Amount

Refraction Glossiness – контролирует резкость преломлений. Значение,


равное 1.0, создает резкие преломления, аналогичные стеклу. Значения мень-
ше 1.0 создают размытые или глянцевые преломления. Для контроля качества
глянцевого преломления рекомендуется воспользоваться атрибутом Subdivs.
434  Шейдеры V-Ray for Maya

Рис 5.2.45  Пример визуализации шейдера VRayMtl


с различными значениями Refraction Glossiness

Refraction Subdivs – контролирует качество глянцевого преломления. Если


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

Рис 5.2.46  Пример визуализации шейдера


с глянцевым преломлением и различными значениями Refractions Subdivs

Refraction IOR – индекс преломления (для рефракции). Задает индекс пре-


ломления в создаваемом материале, описывает искривление пути луча света
при пресечении поверхности материала. Значение, равное 1.0, не изменяет
направление лучей света.
Шейдеры материалов V-Ray  435

Рис 5.2.47  Пример визуализации шейдера VRayMtl


с различными значениями Refraction IOR

Fog Color – эффект тумана/дымки внутри поверхности. Чем светлее цвет,


тем более прозрачным будет материал, более темные цвета делают материал
менее прозрачным.
Fog Multiplier – сила, с которой проявляется эффект тумана/дымки. Чем
больше значение, тем менее прозрачным будет материал. По умолчанию сто-
ит значение 1.0.
Fog Bias – этот параметр позволяет изменить распространение применен-
ного цвета тумана/дымки; регулируя этот параметр, вы можете сделать тон-
кие части объекта более прозрачными, чем обычно, или менее прозрачными,
чем обычно.

Рис 5.2.48  Пример применения атрибутов Fog Color (A)


и Fog Multiplier (B) в шейдере VRayMtl
436  Шейдеры V-Ray for Maya

На рис. 5.2.48 приведен пример визуализации сцены с применением раз-


личных настроек для атрибутов Fog Color и Fog Multiplier. Так, на иллюстраци-
ях вверху (A) атрибуту назначены различные цвета и градиентная процедур-
ная текстурная карта Ramp. На иллюстрации A1 приведен пример применения
только белого цвета, на A2 – пример назначения серого цвета, далее на иллю-
страции A3 атрибуту Fog Color назначен голубой цвет, а на A4 приведен при-
мер назначения атрибуту процедурной текстурной карты. На иллюстрациях
B1–B4 атрибуту Fog Multiplier были присвоены следующие значения: 0.1, 1.0,
1.75 и 2.5.
Affect Shadows – этот атрибут позволяет материалу отбрасывать прозрач-
ные тени в зависимости от цвета преломления (Refraction Color) и цвета тума-
на/дымки (Fog Color). На рис. 5.2.49 приведен пример визуализации витража
с применением атрибута Affect Shadows – обратите внимание на то, что тени
от витражного стекла приобрели цвет.

Рис 5.2.49  Пример визуализации материала


на основе шейдера VRayMtl с активным параметром Affect Shadows

Подсвиток Subsurface scattering


В подсвитке Subsurface Scattering находятся основные параметры для созда-
ния эффекта подповерхностного рассеивания. Реализация SSS в VRayMtl от-
личается от того, что представлено в шейдерах VrayFastSSS2 и VRaySkinMtl,
но позволяет создать этот эффект в рамках своего интерфейса. Применять
подповерхностное рассеивание на основе шейдера материала VRayMtl имеет
смысл тогда, когда вам необходимо создать достаточно простые материалы
с просвечивающими свойствами, такие как шторы или абажуры на светиль-
никах.
Атрибут On включает расчет подповерхностного рассеивания в шейдере
VRayMtl, а атрибут Translucency Color определяет цвет эффекта подповерх-
ностного рассеивания, который зависит от цвета тумана/дымки (Fog Color);
этот параметр позволяет придать дополнительный оттенок эффекту SSS.
Шейдеры материалов V-Ray  437

Рис 5.2.50  Интерфейс свитка Subsurface Scattering


в шейдере VRayMtl

Чтобы задействовать эффект подповерхностного рассеивания в VRayMtl,


необходимо соблюсти пару правил. Первое – в материале необходимо исполь-
зовать преломления (Refraction). Второе – нужно задать цвет тумана/дымки
(Fog Color). Применить данные возможности можно в ограниченном диапазо-
не материалов. При этом требуется использовать режим преломлений и, ко-
нечно, настроить туман/дымку в свойствах преломления материала, а для чи-
стого результата необходимо использовать большие значения Subdivs.
Контроль качества эффекта подповерхностного рассеивания осуществляет-
ся с помощью атрибута Subdivs. Меньше значение – визуализация идет бы-
стрее, но эффект более шумный; больше значение – эффект менее шумный,
но время визуализации увеличивается.
Атрибут Fwd/Back Coef контролирует направление лучей рассеивания. Зна-
чение, равное 0.0, заставляет лучи проходить и рассеиваться только вперед
(внутрь объекта от плоскости поверхности), значение 0.5 заставляет лучи про-
ходить и рассеиваться как внутрь, так и наружу поверхности. Значение 1.0 за-
ставляет лучи проходить и рассеиваться в обратном направлении от поверх-
ности.
С помощью атрибута Scatter Bounces можно задать количество отскоков
лучей внутри объема объекта. С помощью атрибута Scatter Coefficient задает-
ся величина силы рассеивания внутри объекта. Значение 0.0 рассеивает лучи
во всех направлениях, 1.0 означает, что луч не может изменить свое направле-
ние внутри объема рассеивания.
Атрибут Thickness ограничивает путь лучей, которые будут прослежены
дальше поверхности объекта. Это полезно, если вы не хотите или если не нуж-
но проследить весь объем рассеивания.
Если атрибут Environment Fog активен, V-Ray будет трассировать прямое
освещение внутри материала.

Подсвиток Refraction – advanced


Свиток Refraction – advanced (рис. 5.2.51) позволяет вам выполнить оптимиза-
цию шейдера VRayMtl для вычислений преломлений в материале. В ряде слу-
чаев ограничение трассировки лучей в преломлениях и отражениях позволяет
значительно увеличить скорость визуализации сцены.
438  Шейдеры V-Ray for Maya

Рис. 5.2.51  Свиток Refraction – advanced в редакторе атрибутов

Используйте атрибут Trace Refractions для визуализации преломлений


в создаваемом вами материале. Когда данный атрибут выключен, преломле-
ния не будут вычисляться, а объект будет использовать диффузный цвет ма-
териала. Атрибут Refraction Exit Color On активирует функцию визуализации
выходящего цвета в преломлении. Данный атрибут выполняет аналогичные
действия, что и атрибут в свитке Reflection – advanced, но применительно
к преломлениям. С помощью атрибута Refraction Exit Color можно задать вы-
ходящий цвет преломлений. Данный эффект будет проявляться при создании
материала с высоким рефрактивным свойством. Если необходимо показать
большую глубину рефракции в материале, этот параметр позволит создать та-
кой эффект.

Рис. 5.2.52  Пример визуализации прозрачного материала


с применением Refraction Exit Color

Max Depth – задает максимальное количество проходов лучей для фор-


мирования эффекта преломления. Сцены, содержащие множество объектов
с преломляющими материалами, требуют указания высокого значения Max
Depth.
Раскрывающийся список Affect Channels позволяет указать, на какие кана-
лы будет оказывать воздействие прозрачность материала:
 Color Only – прозрачность оказывает воздействие только на RGB-каналы
в финальной визуализации;
 Color + Alpha – заставляет материал оказывать воздействие на альфа-
канал объектов с эффектом преломления вместо отображения непро-
зрачного альфа-канала. Отметим, что в настоящее время это работает
только с резкими (неглянцевыми) преломлениями;
Шейдеры материалов V-Ray  439

 All Channels – все каналы и элементы визуализации будут зависеть от


прозрачности материала.

Рис. 5.2.53  Влияние атрибута Max Depth


на глубину трассировки преломления материала

Одним из интереснейших эффектов, которые мы можем наблюдать в про-


зрачных средах, является дисперсия света. Дисперсия света – это совокупность
явлений, обусловленных зависимостью абсолютного показателя преломле-
ния вещества от длины волны света, или, то же самое, зависимостью фазовой
скорости света в веществе от частоты (или длины волны). Эффект дисперсии
экспериментально открыт Исааком Ньютоном около 1672 года, хотя теорети-
чески хорошо объяснен значительно позднее. В V-Ray Material за эффект дис-
персии отвечает атрибут Dispersion. Данный атрибут позволяет активировать
вычисление дисперсии света на основе длины световой волны. А с помощью
атрибута Dispersion Abbe можно увеличить или уменьшить эффект диспер-
сии. Значение меньше – эффект дисперсии расширяется, и наоборот.

Рис. 5.2.54  Визуализация эффекта дисперсии света


с помощью шейдера VRayMtl на примере модели бриллианта
440  Шейдеры V-Ray for Maya

Для визуализации реалистичного эффекта дисперсии я рекомендую брать реаль-


ные значения Index of Refraction и Abbe. Для этого можно также воспользоваться
сайтом http://refractiveindex.info/, где собраны все наиболее распространенные
вещества и их индексы преломления (IOR), а также значения Abbe.

После настройки базовых параметров диффузного цвета, отражения и пре-


ломления материала можно настроить рельефность материала (Bump Map-
ping). VRayMtl предоставляет возможность использовать как классическую
карту рельефности, так и карту рельефности, основанную на карте нормалей
(Normal Map/Normal Bump). Для этого в атрибутах шейдера предназначен сви-
ток Bump and Normal mapping.

Свиток Bump and Normal mapping


Шейдер VRayMtl поддерживает как проецирование классической карты ре-
льефности в градациях серого цвета, так и более современный метод про-
ецирования текстурных карт нормалей. За настройку и управление картами
рельефности в шейдере VRayMtl отвечает свиток Bump and Normal mapping
(рис. 5.2.55). Помните, что рельефность на поверхности формируется за счет
изменения направления нормалей в гранях полигональной поверхности. В то
же время карты смещения (displacement maps), рассмотренные в главе 4 дан-
ной книги, влияют на геометрию объектов в целом за счет применения подраз-
деления граней. Целесообразным считается применение карты рельефности,
сформированной для самых верхних уровней детализации модели, если она
создана с помощью скульптинга, когда множество мелких деталей не сможет
быть передано трансформацией геометрии при помощи карты смещения или
просто ограничения вызваны излишним расходом вычислительных ресурсов
компьютерного оборудования.

Рис. 5.2.55  Свиток Bump and Normal mapping


в шейдере VRayMtl

Рассмотрим атрибуты, отвечающие за управление картами рельефности.


Map Type – этот атрибут отвечает за то, как будет интерпретироваться кар-
та рельефности, заданная в атрибуте Map. На выбор предоставляется несколь-
ко режимов:
 Bump Map — позволяет использовать классическую карту рельефности,
основанную на растровой карте;
 Normal Map in Tangent Space, Normal Map in Object Space, Normal
Map in Screen Space и Normal Map in World Space позволяют выбрать
тип проецирования карты рельефности на основе карты нормалей. Пре-
доставляют возможность выбора между проекциями в пространстве ка-
сательной, объекта, экранной и мировой.
Шейдеры материалов V-Ray  441

Атрибут Map позволяет вам задать текстурную карту для формирования


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

Рис. 5.2.56  Пример визуализации карты рельефности в шейдере VRayMtl.


Слева карты рельефности нет; а справа применена карта рельефности
с величиной Bump Multiplier, равной 1.5

Bump Mult – степень вклада в формирование эффекта рельефности. Выше


значение – рельефность будет проявляться больше, и наоборот.
Bump Shadows – позволяет карте рельефности формировать тень. Этот
эффект хорошо заметен, когда от объекта формируются резкие тени, такие,
например, как если он освещен источником прямого света (direct light). Это
требует дополнительного времени для вычислений, поэтому рекомендуется
отключить данный атрибут (по умолчанию).
Bump Delta Scale – позволяет контролировать резкость результата, получа-
емого с помощью карты рельефности. Меньше значение – эффект рельефно-
сти будет отчетливей; выше значение – результат эффекта рельефности будет
более размытым.

Свиток Options
В свитке Options (рис. 5.2.57) представлены четыре атрибута, позволяющие
выполнять настройку перехода между отражениями и преломлениями, а так-
же активировать применение шейдера совместно с глобальным освещением
по методу Irradiance Map.

Рис. 5.2.57  Свиток Options в шейдере VRayMtl


442  Шейдеры V-Ray for Maya

Cutoff Threshold – этот атрибут задает порог, дальше которого не выпол-


няется трассировка отражений/преломлений. V-Ray пытается оценить вклад
отражения/преломления в изображение, и если вклад ниже этого порога, то
эти эффекты не вычисляются. Не устанавливайте это значение в 0.0, так как
в ряде случаев это может привести к чрезмерно длительному процессу визу-
ализации.
Double-sided – если этот атрибут активен, V-Ray перевернет нормали для
поверхностей, которым назначен этот шейдер. В противном случае освеще-
ние на «внешней» стороне материала будет вычисляться всегда. Вы можете ис-
пользовать это для достижения поддельного эффекта полупрозрачности для
тонких объектов, подобных бумаге.
Use Irradiance Map – когда эта опция включена, Iirradiance Map будет ис-
пользована для приближенного диффузного непрямого освещения этого ма-
териала. Если эта опция выключена, будет использоваться метод Brute Force
для вычисления GI. Вы можете использовать это для объектов в сцене, которые
имеют мелкие детали и не аппроксимируются очень хорошо в Irradiance Map.
Fix dark edges – когда активен, исправляет темные грани, которые перио-
дически проявляются на объектах с глянцевыми материалами.
Следующие свитки практически идентичны в наборе атрибутов, но они по-
зволяют выполнить более тонкую настройку отражений и преломлений в ма-
териале.

Свитки Reflect Interpolation & Refract Interpolation


В свитках Reflect Interpolation & Refract Interplation вы можете выполнить тон-
кую настройку шейдера и его свойств отражения и преломления. Для того что-
бы эти атрибуты стали активными, необходимо в свитках Reflection и Refrac-
tion установить флажок у атрибута Use Interpolation. Атрибуты в этих свитках
аналогичны опциям для метода непрямого освещения Irradiance Map.

Рис. 5.2.58  Свитки Reflect Interpolation


и Refract Interpolation
Шейдеры материалов V-Ray  443

Обратите внимание, что не рекомендуется использовать интерполяцию для


анимации, так как это может привести к серьезному мерцанию.
Use Interpolation – позволяет использовать расширенные атрибуты интер-
поляции отражений и преломлений из свитка Refract Interpolation.
Min Rate/Max Rate – задает минимальное и максимальное значение сем-
плинга при интерполяции отражений и преломлений.
Interp. Samples – это число образцов GI, которые будут использоваться для
интерполяции непрямого освещения в текущей точке. Большие значения, как
правило, размывают детали в GI, хотя результат будет более плавным/мато-
вым. Меньшие значения дают результаты более детальные, но могут привести
к шуму, если используются низкие значения Subdivs.
Параметр Color threshold (Color thresh) определяет, насколько чувствите-
лен алгоритм карты энергетической освещенности к изменениям в непрямом
освещении. Большие значения означают меньшую чувствительность; мень-
шие значения делают карту освещенности более чувствительной к изменени-
ям света (таким образом создавая изображения более высокого качества).
Параметр Normal threshold (Normal thresh) контролирует, насколько
чувст­вительна карта энергетической освещенности к изменениям нормалей
поверхности и мелких деталей поверхности. Большие значения означают
меньшую чувствительность; меньшие значения делают карту освещенности
более чувствительной к кривизне поверхности и мелким деталям.

Свиток Hardware Texturing


Это стандартный свиток Maya, содержащий в себе параметры для отображе-
ния текстурных карт в окнах проекций. Он позволяет вам настроить, как бу-
дут отображаться текстурные карты, подключенные к шейдеру VRayMtl в окне
проекции.
Используя возможности шейдера VRayMtl, вы можете создавать практиче-
ски все основные материалы и формировать их свойства на основе физиче-
ски достоверных математических моделей. Гибкий художественный контроль
осуществляется с помощью множества атрибутов как в виде параметрических
значений, так и с помощью процедурных и растровых текстурных карт.
Как известно, V-Ray позволяет выполнять визуализацию геометрических
поверхностей в качестве источников света. Для этого создан специальный
шейдер, именуемый VRayLightMtl.

Шейдер VRayLightMtl
Шейдер VRayLightMtl может быть использован для создания материалов по-
верхностей, излучающих свет. Шейдер позволяет воспроизводить как прямое
освещение (Direct Light), так и принимать участие в глобальном освещении
(Global Illumination). Основная задача данного шейдера заключается в созда-
нии источника света из любого геометрического объекта.
444  Шейдеры V-Ray for Maya

Рис. 5.2.59  Шейдер VRayLightMtl в редакторе атрибутов

Все основные атрибуты шейдера сгруппированы в свитках Parameters и Di-


rect Illumination. Он достаточно прост в настройках, и к настройке параметров
шейдера лучше всего относиться как к источникам света.

Свиток Parameters
Color Mode – позволяет выбрать режим работы шейдера. Режим Color позво-
ляет выбрать цвет материала, излучающего свет, также данный атрибут мо-
жет быть связан с шейдером процедурной текстурной карты или с растровой
текстурной картой, которые будут определять цвет материала. Режим Tem-
perature позволяет вам управлять цветом материала с помощью определения
цветовой температуры, определяемой в градусах Кельвина (°K). Подробно
цветовая температура рассматривается в первой главе. По умолчанию задана
температура 6500 °K.
Шейдеры материалов V-Ray  445

Рис. 5.2.60  Пример сцены,


освещенной с помощью объектов с шейдером VRayLightMtl

Для управления интенсивностью освещения от объекта с шейдером исполь-


зуйте атрибут Color Multiplier. Чем выше значение, введенное в данном атри-
буте, тем выше яркость освещения в сцене, и наоборот.
Атрибут Opacity позволяет управлять и применить текстуру непрозрачно-
сти материала. Отмечу – если материал менее прозрачный, это не влияет на
интенсивность освещения. Это связано с тем, что вы можете создавать совер-
шенно прозрачные материалы, которые тем не менее могут излучать свет.
С помощью атрибута Emit On Back Side можно визуализировать освеще-
ние, формируемое шейдером с обратной стороны граней. Если он отключен,
шейдер будет визуализироваться только с передней стороны граней (по на-
правлению нормалей к камере), а внутренняя сторона будет визуализировать-
ся черным цветом.
Специальный атрибут Compensate Camera Exposure используется при ви-
зуализации с V-Ray Physical Camera. При включении интенсивность шейдера
будет скорректирована для компенсации экспозиции камеры.
446  Шейдеры V-Ray for Maya

Рис. 5.2.61  Влияние атрибутов Compensate Camera Exposure


и Direct Illum на освещение сцены, содержащей V-Ray Physical Camera

Стоит отметить, что при визуализации с активным атрибутом Compensate


Camera Exposure может потребоваться скорректировать интенсивность шей-
дера, атрибут Color Multiplier.
Если вам необходимо осуществить освещение прямым светом (Direct Illumi-
nation), для этого в шейдере VRayLightMtl необходимо воспользоваться атри-
бутами в свитке Direct Illumination.

Свиток Direct Illumination


Direct Illum – когда данный атрибут активен (On), объекты с шейдером VRay-
LightMtl будут излучать прямое освещение (Direct Illumination).
Subdivs – атрибут, контролирующий количество семплов, которые V-Ray
использует для вычисления освещения. Меньше значение – больше шума, но
изображение визуализируется быстрее. Больше значение – меньше шума, но
время визуализации увеличивается. Обратите внимание на то, что фактиче-
ское количество семплов также зависит от настроек DMC Sampler.
Для получения более убедительного результата используйте функцию излуче-
ния прямого света – это позволит сформировать более равномерное освещение
и прямое освещение от источников света с шейдером VRayLightMtl. Важно пом-
нить, что хорошего качества визуализации освещения с помощью VRayLightMtl
можно достичь, применяя движок прогрессивной визуализации – V-Ray Progres-
sive Sampler.
Шейдеры материалов V-Ray  447

Light cut-off threshold – этот атрибут позволяет задать порог интенсив-


ности света, ниже этого порога свет вычисляться не будет. Это может быть
полезно в сценах с большим количеством источников света, где вы хотите
ограничить влияние света на некоторое расстояние вокруг них. Большие зна-
чения уменьшают диапазон освещения вокруг, более низкие значения делают
больший световой диапазон. Если вы укажете 0.0, свет будет рассчитываться
для всех поверхностей.
При использовании атрибута Light cut-off threshold свет доходит до опре-
деленной этим атрибутом границы; чем выше значение порога – тем более
резкой будет граница.
Вы можете использовать VRayLightMtl в качестве источника света при назначении
на объект. Увеличение значения Color будет влиять на результат GI и производить
больше света. Обратите внимание, что очень яркие цвета могут выглядеть так же,
как чисто белый, но результаты в глобальном освещении будут разными.

В отличие от стандартных шейдеров Maya, шейдера VRayMtl и шейдера


VRay­LightMtl шейдеры, рассматриваемые далее, представляет собой как от-
дельные элементы, которые реализуют ту или иную функцию затенения, так
и сложные многокомпонентные шейдеры, имитирующие специальные типы
материалов.

Шейдер VRayCarPaintMtl
Одним из наиболее сложных материалов является материал автомобильной
краски, который бывает далеко не всегда так просто воссоздать стандартны-
ми средствами 3D-пакета и стандартных систем визуализации. Учитывая воз-
росшую популярность визуализации автомобилей и различных моделей с ма-
териалами, содержащими металлические микрочастицы, в список шейдеров
V-Ray for Maya включен комплексный шейдер VRayCarPaintMtl. Этот шейдер
очень похож на шейдеры материалов автомобильной краски, входящие в со-
став сторонних систем визуализации и выполняющих аналогичные функции,
но с рядом своих оптимизаций.
Все основные атрибуты шейдера сгруппированы в нескольких свитках,
разделяя основные группы параметров для удобства настройки. В интерфей-
се представлены следующие свитки: Base Parameters, Flake Parameters, Coat
Parameters и Options. Но перед тем как мы рассмотрим основные параметры
шейдера материала автомобильной краски V-Ray, обратимся немного к тео-
рии и описанию свойств материалов данного типа.
На рис. 5.2.62 представлена структура автомобильной краски, которая реа-
лизована в шейдере VRayCarPaintMtl. Автомобильная краска имеет ряд специ­
фических свойств. Верхняя часть кузова машины представляет собой тонкий
слой пигмента. Свойства этого слоя таковы, что фактически воспринимают
изменения цвета в зависимости от угла обзора, а также от угла падения вхо-
дящего света.
448  Шейдеры V-Ray for Maya

Рис. 5.2.62  Структура материала автомобильной краски

В этом слое содержатся крошечные металлические частицы. Частицы от-


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

Свиток Base Parameters


В свитке Base Parameters (рис. 5.2.63) собраны базовые атрибуты шейдера, по-
зволяющие настроить диффузный цвет, глянцевитость, отражения и карту
рельефности. Данные свойства являются основополагающими для визуализа-
ции базового слоя материала автомобильной краски.
Шейдеры материалов V-Ray  449

Рис. 5.2.63  Свиток Base Parameters


в редакторе атрибутов

Base Color – позволяет задать диффузный цвет для базового слоя (Base Layer).
На рис. 5.2.64 приведен пример визуализации шейдера автомобильной краски
с различными значениями атрибута Base Color. Слева атрибуту был назначен
шейдер процедурной текстуры Maya Ramp, с шейдером в центре связана раст­
ровая текстурная карта, а шейдеру справа присвоен простой RGB-цвет.

Рис. 5.2.64  Результат визуализации шейдера автомобильной краски


с различными значениями атрибута Base Color

Атрибут Base Reflection задает для базового слоя свойства отражений. Дан-
ный атрибут зависит от основного цвета базового слоя автомобильной краски.
В то же время атрибут Base Glossiness позволяет задать свойства глянцевых
отражений для базового слоя.
450  Шейдеры V-Ray for Maya

Рис. 5.2.65  Пример визуализации сцены с различными значениями


атрибутов Base Reflection (A) и Base Glossiness (B)

На рис. 5.2.65 приведен пример визуализации шейдера с различными кон-


фигурациями базового слоя и силы отражений. Так, на иллюстрации A приве-
ден пример влияния величины атрибута Base Reflection, слева направо исполь-
зованы величины 0.1, 0.5 и 0.85 соответственно. На иллюстрации B приведен
пример визуализации шейдера с эффектом глянцевых отражений. Примеру
были присвоены значения 0.95, 0.6 и 0.25 соответственно. Обратите внимание
на то, как выглядят глянцевые отражения при минимальной величине глянце-
витости и при ее увеличении.
Базовый слой шейдера материала автомобильной краски может определять
не только цвет, но и рельефность поверхности. Для этого аналогично всем
ключевым шейдерам V-Ray в шейдере VRayFastSSS2 используется идентичный
функционал определения свойств рельефности на основе текстурных карт.
Map Type – позволяет выбрать тип текстуры для карты рельефности на ба-
зовом слое. Map – позволяет указать, какую именно текстуру использовать
для формирования эффекта рельефности.
Base Bump Mult – задает степень вклада рельефности в базовый слой.
Меньше 1.0 – рельефность будет проявляться меньше, больше 1.0 – рельеф-
ность будет более выраженной. По умолчанию равно 1.0.
Base Trace Reflections – если данный атрибут отключен (Off), отражения
для данного слоя (Base Layer) не будут трассированы (вычислены).
Шейдеры материалов V-Ray  451

Рис. 5.2.66  Пример визуализации шейдера


без карты рельефности (A) и с картой рельефности (B)

Следующая группа параметров является одной из основополагающих для


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

Свиток Flakes Parameters


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

Рис. 5.2.67  Свиток Flake Parameters

Flake Color – определяет цвет металлических частиц в краске. Вы можете


связать с данным атрибутом различные шейдеры текстурных карт или загру-
зить растровую текстурную карту.
Flake Glossiness – данный атрибут определяет глянцевитость металличе-
ских частиц. Разработчики не рекомендуют выставлять значение Flake Glossi-
ness выше 0.9, это может приводить к появлению большого количества арте-
фактов в затенении.
452  Шейдеры V-Ray for Maya

Рис. 5.2.68  Пример визуализации шейдера VRayCarPaintMtl


с различными настройками атрибутов Flake Color (A) и Flake Glossiness (B)

Рисунок 5.2.68 демонстрирует пример визуализации шейдера материала ав-


томобильной краски с назначенными атрибуту Flake Color текстурными кар-
тами. На иллюстрации А1 показан пример визуализации шейдера с простым
цветом без применения текстурных карт, на иллюстрациях B1 и C1 приведен
пример влияния цвета растровой и процедурной текстурных карт к металли-
ческим частицам. Иллюстрация B демонстрирует пример влияния атрибута
Flake Glossiness на эффект глянцевых отражений в материале автомобильной
краски. Атрибуту Flake Glossiness в шейдере, назначенном объекту слева, при-
своено значение 0.3, а в шейдере назначенном объекту справа, – значение 0.8.
Flake Orientation – предоставляет возможность контролировать ориен-
тацию частиц относительно нормалей поверхности (Surface Normals). Если
значение равно 0.0, частицы выравнены относительно поверхности. Если зна-
чение равно 1.0 частицы повернуты в разных направлениях (в случайном по-
рядке) относительно нормалей. Значения выше 0.5 не рекомендуется исполь-
зовать в связи с формированием различных артефактов.
Шейдеры материалов V-Ray  453

Рис. 5.2.69  Пример визуализации шейдера с различными значениями


атрибута Flake Orientation. На иллюстрации A присвоено значение 0.15, на ил-
люстрации B – значение 0.3, а на иллюстрации C – значение 0.5

Flake Density – определяет плотность частиц для определенной области.


Меньшие значения производят меньше частиц, и более высокие значения
производят больше частиц. Если вам необходимо создать шейдер без частиц,
установите этот атрибут в значение 0.0.

Рис. 5.2.70  Пример визуализации шейдера с различными значениями


атрибута Flake Density. Изображение специально сделано черно-белым, что-
бы лучше продемонстрировать влияние данного атрибута на металлические
частицы. Образцам присвоены следующие значения: A – 3.0, B – 10.0, C – 18.0

Атрибут Flake Scale определяет масштаб металлических частиц в матери-


але автомобильной краски (рис. 5.2.71 A). Чем больше значение, тем больше
выглядят частицы. Не стоит злоупотреблять величиной данного атрибута, так
как это может привести к настолько большому размеру частиц и расстоянию
между ними, что их просто не будет заметно на поверхности. Атрибут Flake Size
задает размер частиц по отношению к расстоянию между ними (рис. 5.2.71 B).
454  Шейдеры V-Ray for Maya

Чем выше значение, тем больше размер металлических частиц, и чем меньше
значение данного атрибута, тем меньше их размер, соответственно.

Рис. 5.2.71  Влияние атрибутов управления масштабом


и размером частиц в материалt автомобильной краски

Flake Map Size – в процессе визуализации шейдер создает несколько рас-


тровых изображений (текстур) для сохранения генерируемых частиц. С по­
мощью этого атрибута вы можете задать размер создаваемой текстуры. Мень-
ше значение – используется меньше оперативной памяти, но карта частиц
будет менее точна. Более высокие значения позволяют добиться большего
качества карты частиц, однако потребуется больший объем памяти для хра-
нения карты.
Отмечу, что различия могут быть сразу не так заметны, особенно на изобра-
жениях с небольшим разрешением, однако, если сравнить два изображения
в пакете Adobe Photoshop, можно заметить, что при использовании большого
размера карты частиц проявляется больше деталей.
Flake Filtering Mode – определяет способ фильтрации металлических ча-
стиц. Фильтрация является чрезвычайно важным параметром для уменьше-
ния выполнения расчетов, необходимых для получения чистого изображения.
Шейдер предоставляет два типа фильтрации:
 Simple – этот метод быстр и использует меньше памяти, но менее точен.
Это средняя ориентация частиц, которые могут изменить внешний вид
материала, если смотреть с большого расстояния;
Шейдеры материалов V-Ray  455

 Directional – этот метод немного медленнее и использует больше опе-


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

Рис. 5.2.72  Сравнение изображения с различными размерами карты частиц


в Adobe Photoshop. Flake Map Size = 512 слева и Flake Map Size = 1024 справа

Flake Seed – случайное значение для частиц, позволяющее контролировать


распределение металлических частиц по поверхности с назначенным ей шей-
дером автомобильной краски.
Flake Mapping Type – определяет метод проецирования частиц. Доступно
два следующих метода проецирования:
 Explicit Mapping channel – частицы проецируются в зависимости от
выбранного канала;
 Triplanar projection in object space – шейдер автоматически вычисля-
ет координаты проецирования в пространстве объекта, основанного на
нормалях поверхности.
Flake Map Channel – канал проецирования частиц, задаваемый при методе
проецирования Explicit mapping channel.
Ранее было сказано, что у автомобильной краски, помимо основного слоя,
есть отдельно наносимый слой покрытия, который в определенных случаях
защищает поверхность от различного рода воздействий. В шейдере VRayCar-
PaintMtl этот слой реализован в атрибутах свитка Coat Parameters.

Свиток Coat Parameters


Свиток Coat Parameters (рис. 5.2.73) позволяет создавать и управлять свойства-
ми верхнего слоя лакокрасочного покрытия автомобильной краски.
456  Шейдеры V-Ray for Maya

Рис. 5.2.73  Интерфейс свитка Coat Parameters


в редакторе атрибутов

Аналогично базовому слою и металлическим частицам атрибут Coat Color


определяет цвет слоя лакокрасочного покрытия. Данный атрибут поддержи-
вает применение как простого RGB-цвета, так и позволяет назначить слою
процедурную или растровую текстурную карту.
Coat Strength – позволяет указать вклад отражения в слое покрытия, если
смотреть на поверхность спереди. Coat Glossiness – определяет степень глян-
цевых отражений в слое покрытия.

Рис. 5.2.74  Пример визуализации шейдера


с различными установками Coat Color, Coat Strength и Coat Glossiness
Шейдеры материалов V-Ray  457

Map Type – позволяет выбрать тип текстуры для карты рельефности на слое
покрытия.
Map – позволяет указать, какую именно текстуру использовать для форми-
рования эффекта рельефности.
Coat Bump Mult – задает степень вклада рельефности в слое покрытия.
Меньше 1.0 – рельефность будет проявляться меньше; больше 1.0 – рельеф-
ность будет более выраженной. По умолчанию равно 1.0.

Рис. 5.2.75  Пример визуализации шейдера


с картой рельефности в Coat Layer

Coat Trace Reflections – если данный атрибут отключен (Off), отражения


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

Свиток Options
Subdivs – позволяет задать количество образцов для формирования глянце-
вых отражений в различных слоях.

Рис. 5.2.76  Пример влияния на качество глянцевых отражений


с помощью атрибута Subdivs.

Cutoff Threshold – задает порог формирования отражений для различных


слоев.
458  Шейдеры V-Ray for Maya

Trace Reflections – если данный атрибут отключен, шейдер не будет вычис-


лять отражения для любого из слоев.
Double Sided – если данный атрибут активен, шейдер будет визуализиро-
ваться как двусторонний материал (по отношению к направлению нормалей
и против).

Рис. 5.2.77  Пример влияния атрибута Trace Reflections


на отражения, формируемые шейдером

Помимо основного шейдера VRayCarPaintMtl, предоставляется отдельный


шейдер VRayFlakesMtl, имитирующий только металлические частицы. Его
можно использовать для создания шейдера краски на основе VRayMtl и дру-
гих шейдеров. Шейдер VRayFlakesMtl представлен свитками Base Parameters –
полный аналог свитка Flakes Parameters в шейдере VRayCarPaintMtl – и свит-
ком Options, аналогичный свиток есть и в VRayCarPaintMtl.
Шейдер VRayCarPaintMtl позволяет применять расширенные атрибуты
V-Ray для дополнительной настройки шейдера. Пользователю предоставля-
ются следующие расширенные атрибуты:
 Material ID – для указания ID материала и применения его в процессе
композитинга;
 V-Ray Material Override – позволяет выполнить замену определенных
шейдеров.
Итак, мы познакомились с шейдером VRayCarPaintMtl – он практически
идентичен шейдеру VRayCarPaintMtl для 3ds Max и может быть отлично ис-
пользован при переходе с 3ds Max на Maya. Данный шейдер позволит быстро
и без особых затруднений создавать сцены с автомобилями и объектами, где
может быть использована краска с металлическими частицами.
Однако не только автомобильная краска является важной задачей при ви-
зуализации, не менее важным считается и имитация рассеивающих свойств
поверхности и материалов, с 2003 года стало развиваться направление под-
поверхностного рассеивания (Sub Surface Scattering, или просто SSS). В V-Ray
SSS появился еще в версии 1.5, если не раньше, и обладал массой недостатков,
поэтому многие CG-художники использовали для имитации данного эффекта
систему визуализации mental ray. Однако с выходом второй версии V-Ray он
обзавелся новой версией SSS-шейдера, получившего название VRayFastSSS2,
и сейчас он полностью заменил предыдущую версию шейдера.
Шейдеры материалов V-Ray  459

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

Рис. 5.2.78  Пример рассеивания света


в стакане с водой и влитым в нее молоком

Шейдер VRayFastSSS2 разработан для визуализации рассеивающих све-


та материалов. Реализация основана на концепции BSSRDF, первоначально
введенной Генрихом Ван Дженсеном (http://graphics.stanford.edu/papers/bssrdf/)
(Henrik Wann Jensen) и соавторами, и является наиболее физически достовер-
ной реализацией эффекта подповерхностного рассеивания (Sub-Surface Scat-
460  Шейдеры V-Ray for Maya

tering (SSS)), в то же время достаточно быстрой, чтобы быть использованной


на практике.
Шейдер VRayFastSSS2 является реализацией материала с диффузными и от-
ражающими компонентами, которые могут быть использованы напрямую без
применения таких шейдеров материалов как VRayBlendMtl. Более того, для
создания полноценного эффекта шейдер использует три слоя, а именно: слой
отражений, слой диффузного цвета и слой подповерхностного рассеивания.
Слой подповерхностного рассеивания составлен из одного или нескольких
рассеивающих слоев-компонентов. Однопроходное рассеивание основано на
одном отражении луча света в материале; рассеивание, основанное на мно-
жественных проходах, производится на основе двух и более отражений лучей
света внутри материала.

Теория подповерхностного рассеивания


Перед тем как мы познакомимся с техническими аспектами настройки ма-
териалов с эффектом подповерхностного рассеивания, мы взглянем на ре-
альный мир и опишем свойства реальных материалов. Реализация эффекта
подповерхностного рассеивания не была доступна в ранних версиях систем
визуализации, таких как V-Ray или mental ray renderer. Ее поддержку стали
реализовывать после выхода научной публикации группы исследователей под
руководством профессора Генриха Ван Дженсена (Henrik Wann Jensen). После
публикации данной работы в библиотеке научных работ ACM SIGGRAPH раз-
работчики различных систем визуализации стали реализовывать собственные
решения для визуализации эффекта подповерхностного рассеивания, опира-
ясь на материалы опубликованной научной работы.
Аккуратное моделирование рассеивания света материалами является фун-
даментом для реалистичной визуализации изображений. Даже самые сложные
алгоритмы переноса света не дают убедительных результатов, если локальные
модели рассеивания света слишком просты. По этой причине множество ис-
следований было направлено на описание рассеивания света от материалов.
Ранние исследования фокусировались на разработке модели BRDF (bidirec-
tional reflectance distribution function). Функция BRDF, представленная кол-
лективом авторов под руководством профессора Ф. Е. Никодемуса (F. E. Ni-
codemus) в публикации «Geometrical Considerations and Nomenclature for
Reflectance», является упрощением более комплексной и основной модели
BSSDRF (bidirectional surface scattering distribution function). Модель, реализу-
емая функцией BSSRDF, описывает прохождение лучей света в двух различ-
ных средах, тогда как BRDF предполагает, что свет, поступающий в материал,
оставляет материал в том же состоянии (рис. 5.2.79).
Данная аппроксимация действует для отражающих металлов, но она пере-
стает действовать в рассеивающих материалах, которые выполняют транспорт
света под поверхностью. Даже для многих материалов, которые не кажутся
сильно рассеивающим, использование BRDF создает жесткий, отчетливо соз-
данный компьютером вид, поскольку он не локально смешивает элементы по-
верхности, такие как цвет и геометрия. Только методы, которые учитывают
подповерхностное рассеивание, могут реализовать достоверный вид полу-
прозрачных и рассеивающих материалов. К таким материалам можно отнести
Шейдеры материалов V-Ray  461

мрамор, ткань, бумагу, кожу, молоко, сыр, хлеб, мясо, фрукты, растения, рыбу,
океанскую воду, снег и т. д.

Рис. 5.2.79  Рассеивание света в модели BRDF (A) и модели BSSRDF (B)

Почти все модели BRDF получены исключительно из поверхностного рассе-


ивания света с любым подповерхностным рассеиванием, аппроксимируемым
компонентой Ламберта. Исключением является модель Ханрахана и Крюге-
ра, опубликованная в работе «Reflection from Layered Surfaces due to Subsur-
face Scattering», которая включает аналитическое выражение для одиночного
рассеивания в однородной, равномерно освещенной плите. Тем не менее все
модели BRDF в конечном счете предполагают, что свет рассеивается в одной
точке поверхности, и они не моделируют подповерхностный перенос света из
одной точки в другую.
Подповерхностное рассеивание света можно моделировать точно, но до-
статочно медленно, решая полное уравнение рассеивания света, описанное
в публикации «Radiative Transfer» под авторством С. Чандрасехара (S. Chan-
drasekhar). Только несколько работ в графике применили этот подход к подпо-
верхностному рассеянию. Дорси и соавторы моделировали полное подповерх-
ностное рассеяние с использованием фотонной карты, чтобы зафиксировать
появление выветривания в камне. Фарр и Ханрахан использовали функции
рассеивания для имитации подповерхностного рассеяния. Эти подходы, спо-
собные имитировать все эффекты подповерхностного рассеивания, являются
относительно дорогостоящими по сравнению с имитацией непрозрачных/не-
рассеивающих материалов.
Методы, основанные на выборке по пути (path sampling methods), особен-
но неэффективны для материалов с сильным рассеиванием, таких как молоко
и кожа, в которых свет рассеивается несколько раз (зачастую в несколько сотен
раз) перед выходом из материала. Для сильно рассеивающих сред Джос Штам
применил теорию диффузии. Он решил приближение уравнения диффузии
с использованием многосеточного метода и использовал этот метод для ви-
зуализации облаков с многократным рассеиванием. Подповерхностное рас-
сеивание также важно в физическом моделировании для медицины, где были
разработаны модели для описания рассеивания лазерного излучения в тканях
органов человека.
462  Шейдеры V-Ray for Maya

В этом контексте теория диффузии часто используется для прогнозирова-


ния, а также для измерения оптических свойств материалов с высоким рас-
сеиванием. Эта теория была расширена Дженсеном и соавторами для ис-
пользования в компьютерной графике, в нее добавлено точное однократное
рассеивание, поддержка произвольной геометрии и практический метод вы-
борки для визуализации. В измерениях получаемого результата для компью-
терной графики редко учитывалось рассеивание подповерхностного слоя. Пол
Дебевек и соавторы в публикации своей работы «Acquiring the reflectance field
of a human face» измеряли отражение света от лиц людей, которое включало
в себя вклад от подповерхностного рассеивания, но они не связывали данные
с физическими свойствами материала.
Вновь опираясь на исследования в области медицинской физики, мы разра-
ботали методологию, предназначенную для измерения тканей органов, и ме-
тоды измерения внешнего вида на основе изображений для полупрозрачных
материалов. Этот метод рассматривает профиль радиального отражения, воз-
никающий в результате попадания пучка света, освещающего материал об-
разца. Адаптируя выражение, полученное из теории диффузии, можно оце-
нить поглощающие и рассеивающие свойства материала.
Модель BSSRDF применяется только к полубесконечным однородным сре-
дам. Подобный вывод невозможен при наличии произвольной геометрии
и вариаций текстурных карт. Чтобы распространить ее на практическую мо-
дель для компьютерной графики, можно использовать некоторую интуицию,
опираясь на теорию:
 эффективную интеграцию BSSRDF, включая выборку по значимости;
 оценку однократного рассеивания для произвольной геометрии;
 диффузионное приближение для произвольной геометрии;
 текстуру (пространственное изменение на поверхности объекта).
В этом разделе рассматривается, как это выполняется в контексте трасси-
ровки лучей.
Интеграция BSSRDF: на каждом пересечении луча с объектом традицион-
ные модели освещения (на основе BRDF) нуждаются только в точке и норма-
ли для вычисления исходящего излучения (рис. 5.2.80 a). Для BSSRDF-модели
необходимо интегрировать входящее освещение по площади поверхности
(рис. 5.2.80 b). Это выполняется путем стохастического отбора местоположе-
ния обеих конечных точек луча тени, что можно рассматривать как расши-
рение классического метода трассировки лучей при выборке в площадных
источниках света. Чтобы эффективно выбирать места на поверхности, ис-
пользуется экспоненциальный спад в диффузионном элементе и единичный
элемент рассеяния. Два элемента BSSRDF проецируются отдельно, поскольку
местоположение образца одиночного рассеивания должно быть вдоль пре-
ломленного исходящего луча, тогда как диффузионные образцы должны быть
распределены вокруг точки проникновения. Более конкретно для диффузион-
ного элемента используются стандартные методы Монте-Карло для случай-
ной выборки поверхности с плотностью на некотором расстоянии d от точ-
ки проникновения. Однократное рассеивание репараметризуется, поскольку
входящий и исходящий лучи должны пересекаться.
Шейдеры материалов V-Ray  463

Рис. 5.2.80  Выборка в модели BRDF (традиционная выборка, a),


выборка в модели BSSRDF (точки выборки распределены равномерно
по обеим плоскостям, поверхности и источнику света, b)

Оценка однократного рассеивания для произвольной геометрии:


однократное рассеивание оценивается с использованием интеграции по ал-
горитму Монте-Карло вдоль преломленного исходящего луча. Вдоль прелом-
ленного исходящего луча выбирается случайное расстояние. Для выбранного
в определенном месте образца вычисляется рассеянное излучение.
Оптимизация уравнения расстояния, на которое проходит луч через
материал выбранного образца прямого освещения (с лучами теней), затруд-
нена для произвольной геометрии, поскольку для этого требуется найти точ-
ку на поверхности, где преломляется луч тени. Однако на практике можно
найти хорошее приближение, используя луч тени, который не преломляется
на поверхности, – это предполагает, что источник света находится далеко
от средней длины свободной среды. Здесь можно использовать закон Снел-
ла для оценки истинного преломленного расстояния через среду входящего
луча.
Диффузионная аппроксимация для произвольной геометрии: важ-
ной составляющей диффузионной аппроксимации является использование
дипольного источника. Если геометрия локально плоская, можно получить
очень хорошее приближение, используя такую же конфигурацию дипольного
источника, как и для однородных материалов. Особое внимание следует уде-
лять наличию изогнутых поверхностей; обрабатывается именно этот случай,
оценивается всегда диффузионный элемент с минимальным расстоянием. Та-
ким образом, устраняются искажения на острых ребрах, где источник может
быть помещен сколь угодно близко к точке. Было обнаружено, что этот подход
очень хорошо работает в экспериментах.
Текстура. Упрощая материалы с текстурными картами, внося несколько
небольших изменений в использование BSSRDF, наблюдается только измене-
ние текстуры на поверхности – эффекты, обусловленные изменением объем-
ной текстуры, потребуют полномасштабного моделирования материала. Для
диффузионной аппроксимации всегда используются параметры материала,
что обеспечивает естественное локальное смешение свойств текстуры.
464  Шейдеры V-Ray for Maya

Все основные атрибуты шейдера VRayFastSSS2 сгруппированы в следую-


щих свитках: General Parameters, Diffuse and SSS Layers, Specular Layer, Options
и Bump and Normal Mapping. Рассмотрим их более детально.

Свиток General Parameters


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

Рис. 5.2.81  Свитки Swatch Properties и General Parameters


шейдера VRayFastSSS2 в редакторе атрибутов

Раскрывающийся список Preset позволяет выбрать один из нескольких за-


ранее подготовленных шаблонов материалов с подповерхностным рассеива-
нием. Это позволяет быстрее настроить базовые свойства шейдера. Представ-
ленные шаблоны основаны на данных измерений, выполненных Генрихом
Дженсеном и соавторами для публикации «A Practical Model for Subsurface
Light Transport» (http://www-graphics.stanford.edu/papers/bssrdf/). Шейдер пре-
доставляет следующие шаблоны: Skin (brown), Skin (pink), Skin (yellow), Milk
(skimmed), Milk (whole), Marble (white), Ketchup, Cream, Potato и Spectralon.
Шейдеры материалов V-Ray  465

Рис. 5.2.82  Пример визуализации модели


с различными шаблонами подповерхностного рассеивания

Атрибут Scale дополнительно увеличивает (масштабирует) радиус подпо-


верхностного рассеивания. По умолчанию шейдер VRayFastSSS2 использует
единицы измерения сцены для расчета эффекта подповерхностного рассеива-
ния (в Maya по умолчанию – сантиметры (cm)). Однако, если модели в сцене не
соответствуют масштабу по умолчанию, атрибут Scale может быть применен
для коррекции эффекта рассеивания. Он также может быть использован для
изменения эффекта влияния шаблонов, которые сбрасывают параметр Scatter
Radius при загрузке, но сохраняют атрибут Scale без изменений.

Рис. 5.2.83  Пример визуализации шейдера с различными значениями Scale.


Единицы измерения сцены – сантиметры. В основе лежит шаблон Milk (whole)

Атрибут Index Of Refraction определяет индекс преломления материала.


Многие органические материалы основаны на индексе преломления, равном
индексу преломления воды, например такие, как кожа, где используется IOR =
1.3 или близкий к нему. Величину индекса преломления в материале вы мо-
жете получить из открытых источников или научных библиотек материалов,
веществ и их физических свойств.
466  Шейдеры V-Ray for Maya

Рис. 5.2.84. Пример визуализации шейдера VRayFastSSS2


с различными значениями IOR. В основе лежит шаблон Milk (whole)

Свиток Diffuse and SSS Layers


Для настройки диффузного цвета и слоев подповерхностного рассеивания ис-
пользуются атрибуты из свитка Diffuse and SSS Layers. Данный свиток опреде-
ляет параметры цвета и индивидуальный вклад каждого из слоев рассеивания
света в материале.

Рис. 5.2.85  Свиток Diffuse and SSS Layers


шейдера VRayFastSSS2 в редакторе атрибутов

С помощью атрибута Overall Color определяется общий цвет шейдера (ма-


териала). Этот цвет сохраняется как общий фильтр для компонент диффузно-
го и подповерхностного рассеивания.
Атрибут Diffuse Color определяет диффузный цвет шейдера (материала).
Для управления вкладом диффузного цвета в шейдере используйте атрибут
Diffuse Amount. Обратите внимание, что это значение на самом деле смеши-
вает между собой диффузный слой и слой подповерхностного рассеивания.
Когда значение равно 0.0, шейдер не будет создавать компоненту диффузного
цвета. Если установить значение, равное 1.0, шейдер будет создавать только
компоненту диффузного цвета без вклада слоя подповерхностного рассеива-
ния. Диффузный слой может быть использован для имитации пыли на поверх-
ности и т. д. А контроль областей с диффузным цветом может быть осущест-
влен с помощью растровой или процедурной текстурных карт.
Шейдеры материалов V-Ray  467

Рис. 5.2.86. Пример визуализации диффузного и подповерхностных слоев


на затенение модели. A – Overall Color, B – Diffuse Color (с Diffuse Amount = 0.75),
C – Sub-surface Color, D – Scatter Color

Атрибут Sub-Surface Color определяет основной цвет для компоненты под-


поверхностного рассеивания в материале. С помощью атрибута ScatterColor
определяется цвет рассеивания внутри материала. Яркие цвета позволяют
материалу больше рассеивать свет и больше просвечивать. Цвета с темным
оттенком меньше рассеивают свет, но позволяют больше проявляться диф-
фузному цвету.

Рис. 5.2.87  Пример влияния атрибута Diffuse Amount


на вклад от слоя Diffuse Color, A – 0.0, B – 0.5, C – 1.0
468  Шейдеры V-Ray for Maya

Контроль силы рассеивания в материале осуществляется с помощью атри-


бута ScatterRadius. Меньше значение – меньше рассеивания производит
шейдер и формирует больше диффузного цвета. Выше значения – материал
приобретает большее просвечивание. Обратите внимание, что это значение
указано всегда в сантиметрах (cm); материал автоматически преобразует его
в единицы сцены на основе выбранной системы измерения.
Значения атрибута Phase Function в диапазоне от –1.0 до 1.0 определяют
общий путь рассеивания света внутри материала. Его действие может быть
сравнимо с разницей между диффузными и глянцевыми отражениями от по-
верхности, однако фазовая функция управляет отражением и пропусканием
объема вещества. Значение 0.0 говорит, что свет рассеивается равномерно во
всех направлениях (изотропное рассеяние); положительные значения опреде-
ляют, что свет рассеивается преимущественно вперед в том же направлении,
как он попадает на поверхность объекта (вовнутрь материала); отрицатель-
ные значения означают, что свет рассеивается главным образом в обратном
направлении. Большинство материалов, содержащих воду (например, кожа
или молоко), обладают сильным рассеянием вперед (вовнутрь материала),
в то время как жесткие материалы, такие как мрамор, рассеивают свет в об-
ратном направлении. Этот параметр сильнее всего влияет на один компонент
рассеивания материала. Положительные значения уменьшают видимый эф-
фект компоненты одного рассеивания, в то время как отрицательные значе-
ния делают рассеивание одного компонента, как правило, более заметным.

Рис. 5.2.88  Влияние атрибута Scatter Radius


на рассеивающие свойства материала. A – 1.0, B – 3.5, C – 6.5

Для управления зеркальными отражениями используйте атрибуты свитка


Specular Layer.

Свиток Specular Layer


Практически все основные материалы, которые обладают подповерхностным
рассеиванием, могут обладать зеркальными или глянцевыми отражениями.
В VRayFastSSS2 данные свойства материала реализуются с помощью группы
атрибутов Specular Layer, расположенной в одноименном свитке.
Шейдеры материалов V-Ray  469

Рис. 5.2.89  Свиток Specular Layer

Как и в случае с диффузным и цветом рассеивания, атрибут Specular Color


определят цвет зеркальных отражений, свойственных создаваемому вами ма-
териалу. Вклад зеркальных отражений определяет атрибут Specular Amount.
Обратите внимание, что эффект спада Френеля применяется к зеркальной со-
ставляющей, основанной на индексе преломления, свойственному веществу
материала.

Рис. 5.2.90  Пример визуализации с различными настройками Specular


Color, Specular Amount. A – изменен цвет с помощью Specular Color, B – стан-
дартное распределение блика, C – вклад блика определен текстурной картой

Атрибут Specular Glossiness определяет глянцевитость (форму зеркальных


отражений). Значение, равное 1.0, позволяет создавать резкие зеркальные от-
ражения; значения меньше 1.0 позволяют создавать глянцевые (размытые)
отражения и блики.
Для управления качеством глянцевых отражений используйте атрибут
Specular Subdivisions, который определяет количество образцов выборки,
используемых для формирования глянцевых отражений. Больше значение –
выше качество глянцевых отражений, но увеличивается время визуализации;
меньше значение – качество ниже, но быстрее проходит визуализация.
Cut-off threshold – этот атрибут задает порог, дальше которого не выпол-
няется трассировка отражений/преломлений. V-Ray пытается оценить вклад
отражения/преломления в изображение, и если вклад ниже этого порога, то
эти эффекты не вычисляются. Не устанавливайте это значение в 0.0, так как
в ряде случаев это может привести к чрезмерно длительному процессу визуа­
лизации.
470  Шейдеры V-Ray for Maya

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

Свиток Options
Для оптимизации процесса визуализации эффекта подповерхностного рассе-
ивания шейдер VRayFastSSS2 предоставляет несколько возможностей, распо-
ложенных в свитке Options (рис. 5.2.91).

Рис. 5.2.91  Свиток Options

Single Scatter – определяет, как будет рассчитан компонент однократного


рассеивания. В раскрывающемся списке вы можете выбрать из следующих па-
раметров:
 None – будет рассчитана компонента без однократного рассеивания;
 Simple – компонента однократного рассеивания будет рассчитана ис-
ходя из аппроксимации освещенности поверхности. Эта опция полезна
для относительно непрозрачных материалов, таких как кожа, где про-
никновение света, как правило, ограничено;
 Raytraced (solid) – однократное рассеивание будет аккуратно вычис-
лено благодаря семплингу объема внутри объекта. Только объем будет
трассироваться, без лучей преломления на обратной стороне объекта.
Это полезно для хорошо просвечивающих материалов, таких как мра-
мор или молоко, которые в то же время относительно непрозрачны;
 Raytraced (refractive) – аналогичен Raytraced (solid), но лучи преломле-
ния будут участвовать в вычислениях. Эта опция полезна для прозрач-
ных материалов, таких как вода или стекло. В этом режиме материал
будет также производить прозрачные тени.
Single Scatter Subdivisions – определяет количество семплов для однократ-
ного рассеивания при выбранном режиме Raytraced (solid) или Raytraced (re-
fractive), выставленных в атрибуте Single Scatter.
Refraction Depth – определяет глубину рефракции, если выбран режим Ray-
traced (refractive) в атрибуте Single Scatter.
Front Lighting – позволяет компоненте множественного рассеивания
быть освещенной светом, который падает на сторону объекта, обращенную
к камере.
Back Lighting – позволяет компоненте множественного рассеивания быть
освещенной светом, который падает с противоположной стороны объекта,
Шейдеры материалов V-Ray  471

обращенного в противоположном направлении от камеры. Отключение этой


опции позволяет значительно увеличить скорость визуализации.
Scatter GI – определяет, будет ли шейдер рассеивать глобальное освещение.
Когда атрибут выключен, глобальное освещение рассчитывается с помощью
простой диффузной аппроксимации поверх подповерхностного рассеивания.
При включении глобальное освещение входит в качестве части карты освеще-
ния поверхности для многократного рассеивания. Это является более точным
методом, особенно для прозрачных материалов, но может немного замедлить
визуализацию.

Рис. 5.2.92  Пример визуализации шейдера VRayFastSSS2


с различными состояниями Front Lighting, Back Lighting. A – атрибуты активны,
B – атрибуты неактивны. Снижена цветовая насыщенность изображения

Шейдер VRayFastSSS2 использует систему prepass в V-Ray для симуляции и ин-


терполяции подповерхностного рассеивания. При применении других методов GI
(таких как light cache или photon mapping) шейдер рассчитывается только с диф-
фузным цветом. Также VRayFastSSS2 будет визуализироваться только с диффуз-
ным цветом при применении prograssive path tracing в методе light cache.

Свиток Bump and Normal Mapping не отличается от аналогичных свитков


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

Шейдер VRaySkinMtl
Шейдер V-Ray Skin Materual (VRaySkinMtl) является унаследованным решени-
ем, применявшимся в V-Ray версии 2.x и 3.x. На данный момент в V-Ray Next
(V-Ray 4.x) на смену этому шейдеру пришел новый, более функциональный
и быстрый шейдер – V-Ray AL Surface material (VRayAlSurface).
Но для совместимости с созданными в предыдущих версиях материалами
узел шейдера VRaySkinMtl сохранен и может быть использован при визуали-
зации сцены средствами V-Ray Next.
472  Шейдеры V-Ray for Maya

Подробное описание шейдера V-Ray Skin Material и его функций вы можете


получить в дополнительных материалах к книге, в директории _MATERIAL, и на
странице в сети интернет: http://dimson3d.blogspot.com/p/inside-v-ray.html.

Шейдер VRayAlSurface
Шейдер V-Ray Al Surface (VRayAlSurface) является реализацией раннего шей-
дера V-Ray AlShader, разработанного Андерсом Лангландом (Anders Langland),
который предназначен для визуализации материала кожи. Текущая версия
учитывает диффузное отражение, два уровня отражения и подповерхностное
рассеивание. Стоит отметить, что это основной шейдер для моделирования
затенения кожи, реализуемый в V-Ray Next (V-Ray 4.0) и пришедший на смену
ранней реализации в виде шейдера VRaySkinMtl.

Рис. 5.2.93  Пример визуализации модели головы


с применением шейдера VRayAlSurface

Свиток General Parameters


Атрибут SSS Density Scale определяет дополнительный масштаб для атрибута
SSS Radius. Обычно материал будет учитывать масштаб сцены при расчете
эффекта подповерхностного рассеивания. Однако, если сцена не была смоде-
лирована в определенном масштабе, этот параметр можно использовать для
настройки эффекта рассеивания.
Атрибут Opacity определяет свойства прозрачности материала, где при 1.0
материал полностью непрозрачен, а при 0.0 – полностью прозрачен. Карты
также могут быть назначены для создания материала с неоднородной непро-
зрачностью. При использовании текстурной карты белый цвет определяет
полностью непрозрачные области, а черный – полностью прозрачные области.
Шейдеры материалов V-Ray  473

Рис. 5.2.94  Свиток General Parameters

Bump Map – позволяет выбрать текстурную карту рельефности или карту


нормалей. Оставив этот атрибут несвязанным с текстурой, можно отключить
рельефность. В остальном все другие атрибуты – Bump Amount и Bump Type –
не отличаются от аналогичных атрибутов шейдера V-Ray Material, рассмо-
тренных выше.
Когда к карте нормалей применяется шейдер коррекции цвета (Color Correct),
V-Ray отобразит предупреждение о неожиданных результатах.

Свиток Diffuse
Эффект диффузного затенения формируется с помощью значений атрибутов,
расположенных в свитке Diffuse (рис. 5.2.95).
Атрибут Diffuse задает цвет материала, цвет также может быть определен
растровой или процедурной текстурной картой. Помните, что актуальный
диффузный цвет поверхности также зависит от цвета отражения и прелом-
ления. Вклад и силу проявления диффузного цвета можно регулировать с по-
мощью атрибута Diffuse Strength. Когда величина равна 1.0, диффузный цвет
будет полностью проявляться в материале, если же величина данного атри-
бута будет стремиться к 0.0, то вклад диффузного цвета будет снижаться. Для
достижения желаемого художественного эффекта вы можете использовать
текстурную карту, связанную с атрибутом Diffuse Strength.

Рис. 5.2.95  Свиток Diffuse


474  Шейдеры V-Ray for Maya

Атрибут Diffuse Bump Map позволяет выбрать текстурную карту для фор-
мирования эффекта рельефности или карту нормалей для компоненты диф-
фузного затенения. Оставив этот атрибут несвязанным с текстурой, можно
отключить рельефность. В остальном все другие атрибуты – Bump Amount
и Bump Type – не отличаются от аналогичных атрибутов шейдера V-Ray Mate-
rial, рассмотренных выше. С помощью атрибута Diffuse Bump Amount управ-
ляется вклад эффекта рельефности в компоненту диффузного цвета.
Атрибут Sss Mix выполняет смешивание между компонентой диффузного
цвета и компонентой подповерхностного рассеивания. С помощью атрибута
Sss Mode может быть выбран и установлен режим подповерхностного рассе-
ивания.

Свитток SSS
Шейдер V-Ray Al Surface Material имеет три раскрывающихся свитка SSS с оди-
наковым набором атрибутов, служащих для точного контроля над тремя типа-
ми подповерхностного рассеивания:
SSS Color – цвет для слоя с микрорассеиванием;
SSS Weight – управляет относительным вкладом слоя с микрорассеиванием
в материал;
SSS Radius – расстояние, на котором свет рассеивается в слое с микрорас-
сеиванием.

Рис. 5.2.96  Свитки SSS 1, SS 2 и SSS 3

Свиток Reflection
Шейдер материала V-Ray Al Surface обладает двумя свитками с группами атри-
бутов, отвечающими за точное формирование отражений двух типов.
Атрибут Reflection Color задает цвет отражения в материале. Обратите
внимание, что цвет отражения приглушает диффузный цвет поверхности.
С помощью множителя Reflection Strength контролируется вклад цвета отра-
жения в материал. Для формирования эффекта покрытой пылью или налетом
поверхности служит атрибут Reflection Roughness.
Атрибут Reflection IOR используется при расчете отражений Френеля.
Обычно это привязано к величине, определяемой атрибутом Refraction IOR, но
вы можете его разблокировать для более точного управления силой отражения
в конкретном слое.
Шейдеры материалов V-Ray  475

Рис. 5.2.97  Свитки Reflection 1 и Reflection 2

Раскрывающийся список Reflection Distribution определяет тип BRDF


(форма блика):
 Beckmann – для отражения используется распределение Бекмана;
 GGX – в данном режиме будет использована функция распределения по
GGX. Распределение по GGX имеет более длинный «хвост» по сравнению
с распределением Бекмана.
Атрибут Reflection Bump Map позволяет выбрать текстурную карту для
формирования эффекта рельефности или карту нормалей для компонент от-
ражений. Оставив этот атрибут несвязанным с текстурой, можно отключить
рельефность. В остальном все другие атрибуты – Bump Amount и Bump Type –
не отличаются от аналогичных атрибутов шейдера V-Ray Material, рассмо-
тренных выше. С помощью атрибута Reflection Bump Amount управляется
вклад эффекта рельефности в компоненту диффузного цвета.

Свиток Sampling Options


При использовании площадных источников света в работе с Progressive Sam-
pler, а также при формировании глянцевых отражений может потребоваться
тонкая доводка выборки образцов в материале. Для этого используйте атрибу-
ты свитка Sampling Options (рис. 5.2.98).

Рис. 5.2.98  Свиток Sampling Options

Атрибут Reflect Max Depth определяет, сколько раз луч может быть отра-
жен. Для того чтобы отражения выглядели корректно в сценах с большим ко-
личеством отражающих и преломляющих поверхностей, могут потребоваться
более высокие значения.
476  Шейдеры V-Ray for Maya

Атрибут Reflection Subdivs контролирует качество глянцевых отражений.


Чем ниже значения, тем они визуализируются быстрее, но результат получа-
ется более шумным. Чем выше значения, тем больше времени требуется на
визуализацию, но получается более гладкий результат.
Атрибут SSS Subdivs управляет качеством эффекта подповерхностного рас-
сеивания. Чем значения ниже, тем они быстрее визуализируются, но результат
получается более шумным. Чем значения веше, тем больше времени уходит на
визуализацию, но получаются ти более гладкие результаты.
Чтобы использовать атрибуты Reflection Subdivs и SSS Subdivs, необходимо акти-
визировать опцию Use local subdivs в DMC Sampler. В противном случае образцы
глянцевых отражений и рассеивания будут управляться глобально, что в боль-
шинстве случаев обеспечивает хороший баланс между качеством визуализации
и производительностью.

Шейдер VRayMtlWrapper
Шейдер VRayMtlWrapper может быть использован для создания и настройки
расширенных свойств материала поверхности. Данный шейдер находится на
верхнем уровне графа и назначается на объект, а через слот Base Material под-
ключается уже основной шейдер материала, используемый для затенения.
Данный шейдер позволяет выполнять дополнительную настройку таких
атрибутов, как взаимодействие с GI и Caustics. Шейдер VRayMtlWrapper предо-
ставляет рад атрибутов, которые могут быть использованы для более тонкой
настройки шейдера и его вывода в процессе визуализации для задач, связан-
ных с композитингом и постобработкой.
Интерфейс шейдера представлен следующими свитками: Base Material, Ad-
ditional Surface Properties, Mate Properties и Miscelaneous.

Свиток Base Material


Свиток Base Material используется для подключения шейдера, к которому бу-
дут применены дополнительные свойства. Для этого к атрибуту Base Material
за счет перетаскивания СКМ или кликом по кнопке с шахматной доской до-
бавляется шейдер материала.

Свиток Additional Surface Properties


Данный свиток предоставляет атрибуты, которые позволяют тонко настроить
материал для взаимодействия с GI и Caustics.
Generate GI – позволяет шейдеру участвовать в расчете глобального осве-
щения (генерация GI).
Generate GI Mult. – позволяет задать вклад шейдера от участия в вычисле-
ниях GI (при генерации GI).
Receive GI – позволяет шейдеру участвовать в расчете глобального освеще-
ния (прием GI).
Receive GI Mult. – позволяет задать вклад шейдера от участия в вычислени-
ях GI (при приеме GI).
Generate Caustics – позволяет включить шейдер в создание эффекта каус­
тики (Caustics).
Шейдеры материалов V-Ray  477

Receive Caustics – позволяет включить шейдер в прием лучшей каустики.


Caustics Mult. – позволяет задать силу вклада в эффект каустики.

Рис. 5.2.99  Интерфейс шейдера VRayMtlWrapper


в интерфейсе Attribute Editor

Свиток Mate Properties


Данный свиток позволяет определить параметры создания маски для шей­дера.
Matte Surfsce – позволяет определить материал как маску для объекта, ви-
зуализироваться будет как фон, но, если задано участие в расчете GI и Caustics,
шейдер будет принимать участие в расчете эффектов глобального освещения.
478  Шейдеры V-Ray for Maya

Alpha Contribution – определяет объект в альфа-канале изображения. Зна-


чение 1.0 говорит о том, что альфа-канал будет учитывать прозрачность ба-
зового материала. Значение 0.0 определяет, что объект не будет отображен
в альфа-канале и будет замещен альфа-каналом от других объектов, располо-
женных позади него (если они есть в сцене). Значение –1.0, определяет, что
объект с шейдером VRayMtlWrapper будет участвовать в формировании аль-
фа-канала и создаст прозрачную область на всех объектах позади него.
Shadows – когда данный атрибут активен, тени от объекта будут принимать
участие в создании маски.
Affect Alpha – активируйте его, чтобы сделать влияние тени на альфа-канал
маски поверхности. Области с плотной тенью будут производить белый аль-
фа-канал, в то время как полностью прозрачные области будут производить
черный альфа-канал. Обратите внимание, что тени GI (от небосвода) также
рассчитываются, однако тени GI на матовых объектах не поддерживают карты
фотонов и карты света, если используются как основные движки вычисления.
Вы можете спокойно использовать их с маскированными поверхностями в ка-
честве вторичных систем.
Shadow Tint Color – дополнительный оттенок для теней на маске поверх-
ности.
Shadow Breightness – необязательный параметр яркости для теней на ма-
ске поверхности. Значение 0.0 сделает тени полностью невидимым, а значе-
ние 1.0 будет полностью показывать тень.
Reflection Amount – показывает отражения от основного материала.
Refraction Amount – показывает преломления от основного материала.
GI Amount – определяет вклад теней GI.
No GI on other mattes – это может позволить объекту выступать в качестве
маски объекта в отражениях, преломлениях, GI и т. д. для других объектов ма-
ски. Замечу, что, если эта опция включена, преломления для объекта маски
не могут быть вычислены (объект, являющийся объектом маски, не сможет
«видеть» преломления на другой стороне).
Matte for all secondary rays – обычно основной материал будет использо-
ван при создании объекта с VRayMtlWrapper видимым через отражения/пре-
ломления. Включите эту опцию, если вы хотите, чтобы VRayMtlWrapper ото-
бражал окружающую среду, если смотреть через отражения/преломления.

Свиток Miscelaneous
GI surface ID – это число может быть использовано для предотвращения сме-
шивания семплов Light Cache для различных поверхностей. Если два объекта
имеют разные идентификаторы GI-поверхности, семплы Light Cache не будут
смешаны. Это может быть полезно для предотвращения утечки света между
объектами с сильно отличающимся освещением.

Шейдер VRayMeshMaterial
Шейдер VRayMeshMaterial является шейдером-утилитой, предоставляющим
связь между шейдерами и объектами V-Ray Proxy.
Шейдеры материалов V-Ray  479

Рис. 5.2.100  Реализация шейдера VRayMeshMaterial


в интерфейсе Attribute Editor

Основные атрибуты шейдера сгруппированы в трех свитках: Shaders, View-


port Color и Proxy Source.
На рис. 5.2.101 приведен граф узлов V-Ray Proxy и связанного с ними шей-
дера VrayMeshMaterial. Когда в сцену импортируется модель в формате V-Ray
Proxy, создается узел VRayMesh (A) с определениями путей к файлу прокси-
геометрии и конфигурацией упрощенной модели для отображения в видовом
окне проекции. За обработку геометрии и отображения ее в сцене отвечает
созданный и связанный с узлом импорта геометрии узел VRayMeshPreview (B).
Непосредственно за формирование геометрии как основного узла сцены от-
вечает узел mesh (С), который и передает данные из прокси-модели к Shading
Engine. Непосредственно сам материал VRayMeshMaterial (D) получает данные
о геометрии и сохраненных в сцене материалах из узла VRayMesh (A).
480  Шейдеры V-Ray for Maya

Рис. 5.2.101  Пример графа в Node Editor с V-Ray Proxy и VRayMeshMaterial

Свиток Shaders
В этом свитке отображаются основные шейдеры, используемые в сцене V-Ray
Proxy.

Свиток Viewport Color


Содержит один атрибут – Viewport Color, позволяющий выбрать цвет для за-
тенения V-Ray Proxy в окне проекций.

Рис. 5.2.102  Пример применения Viewport Color в VRayMeshMaterial


и влияние на отображение в окне проекции.

Свиток Proxy Source


File Name – позволяет выбрать файл формата *.vrmesh для V-Ray Proxy.
К шейдеру VRayMeshMaterial, к атрибуту Shaders List (свиток Shaders) под-
ключается шейдер созданного вами материала. Геометрия из данных прокси-
сцены определена шейдеру VRayMeshMaterial через атрибут Proxy Source.
Шейдеры материалов V-Ray  481

Шейдер VRayMtlHair3
Моделирование меха и волос является неотъемлемой частью работы совре-
менного CG-художника. Для реализации полноценного материала со всеми
присущими меху и волосам свойствами система визуализации V-Ray for Maya
предоставляет шейдер для работы с инструментарием VRayFur и решениями
от сторонних разработчиков, например Ornatrix.
Шейдер VRayHairMtl (рис. 5.2.103) позволяет художнику создавать материал
для визуализации волос и меха. Он может быть использован для визуализации
геометрии, сформированной с помощью системы Maya nHair, примитивов
VRayFur или модулей расширения от сторонних разработчиков.

Рис. 5.2.103  Шейдер VRayMtlHair3


в редакторе атрибутов
482  Шейдеры V-Ray for Maya

Шейдер используется совместно с узлом VRayHairSample, который выпол-


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

Компоненты шейдера VRayHairMtl


Перед тем как мы приступим к знакомству с основными атрибутами и их вли-
янием на свойства волос, необходимо познакомиться с основными компонен-
тами шейдера VRayHairMtl.
Шейдер опирается на три ключевые компоненты: компоненту основных от-
ражений, компоненту вторичных отражений и компоненту рассеивания. Ком-
понента диффузного цвета также предоставляется для визуализации матери-
алов, моделирующих нити тканей или других непросвечивающих волокон.
Компонента основных отражений представляет свет, который отражает-
ся от внешней поверхности нити волоса. Компонента вторичных отражений
представляет свет, который проходит через прядь волос и отражается от об-
ратной стороны поверхности. Рассеивающая компонента представляет свет,
который проходит через прядь волос.
На рис. 5.2.104 продемонстрированы все три компоненты шейдера.

Рис. 5.2.104  Компоненты шейдера VRayHairMatl3


Шейдеры материалов V-Ray  483

Свиток General Parameters


Свиток General Parameters содержит все основные атрибуты для полноценной
разработки материала волос и меха. В большинстве случаев вам потребуют-
ся атрибуты, размещенные в данном свитке, а для применения специальных
эффектов затенения необходимо обращаться к дополнительным атрибутам.
Раскрывающийся список Preset позволяет выбрать один из заранее подго-
товленных шаблонов волос. Это значительно упрощает базовую настройку ма-
териала волос или меха. После выбора шаблона вы можете изменять атрибуты
и вносить изменения до тех пор, пока результат вас не удовлетворит.
Атрибут Overall Color является множителем для всех компонент в матери-
але (исключая непрозрачность). Используется для легкого изменения образа
всего материала волос.
Для управления прозрачностью материала используйте атрибут Transpar-
ency. Прозрачность может быть спроецирована вдоль нитей волос за счет ис-
пользования текстурной карты VRayFurSampler. Тем самым делая волос более
прозрачным по направлению к кончику, создавая плавное и реалистичное
сглаживание, но при этом жертвуя временем визуализации. Если вы проеци-
руете непрозрачность кончика волоса, убедитесь в том, что вы не сделали нити
более тонкими на кончике, а прозрачность создает эффект прореживания ни-
тей. Вы можете активизировать атрибуты Opaque for Shadows и Opaque for
GI, чтобы уменьшить время визуализации прозрачных волос.
Обратите внимание, что с прозрачными нитями может потребоваться увеличение
величины атрибута Max. Transp. Levels в глобальных настройках системы визуа-
лизации V-Ray.

Управление диффузным цветом выполняется с помощью атрибута Diffuse


Color. Данный атрибут позволяет задать цвет компоненте диффузного цвета
создаваемого вами материала. Используйте его для искусственных материа-
лов, таких как нити ткани или другие непросвечивающие волокна, например
грязные волосы. Помните, что нормальные и чистые волосы или мех не име-
ют диффузной компоненты, поэтому в этом случае оставьте данный атрибут
черным.
Для увеличения или уменьшения вклада диффузной компоненты в матери-
ал используйте атрибут Diffuse Amount.
Компонента основных отражений соответствует свету, который отражен от
внешней поверхности волоса (рис. 5.2.104). За настройку свойств компонен-
ты основных отражений отвечает группа атрибутов Primary Specular. Атри-
бут Primary Specular задает цвет компоненты основных отражений. Обычно
это темно-серый цвет. Вклад компоненты основных отражений определяется
с помощью атрибута Primary Specular Amount. Как вы уже знаете, отраже-
ния могут быть изотропными и анизотропными, глянцевыми и матовыми; за
размытие отражений в компоненте основных отражений отвечает величина,
определяемая атрибутом Primary Glossiness. Величина, равная 1.0, позволяет
шейдеру создавать материал с зеркальными и яркими отражениями, а значе-
ния ниже позволяют шейдеру формировать матовые зеркальные отражения.
484  Шейдеры V-Ray for Maya

Компонента вторичных отражений соответствует свету, который отражен


обратной стороной волоса. Когда активен атрибут Look to Secondary (актив-
но по умолчанию), цвет для компоненты вторичных отражений получается от
цвета пропускающей и рассеивающей свет компоненты. Поскольку луч света
проходит дважды по ширине волоса, цвет вторичной зеркальной компоненты
может быть вычислен путем умножения цвета пропускания и рассеивания на
себя. Когда эта опция включена, цвет волос в основном определяется цветом
пропускающей и рассеивающей компоненты.
Цвет компоненты вторичных отражений задается с помощью атрибута Se­
condary Color. Если активен атрибут Lock to Secondary, данная величина бу-
дет игнорироваться, а цвет будет определяться за счет цвета пропускающей
и рассеивающей компоненты. Если же атрибут Lock to Secondary неактивен, то
вы можете собственноручно задать как простой цвет, так и процедурную или
растровую текстурную карту.
Вклад компоненты вторичных отражений определяется с помощью атри-
бута Secondary Specular Amount. Как вы уже знаете, отражения могут быть
изотропными и анизотропными, глянцевыми и матовыми, за размытие отра-
жений в компоненте вторичных отражений отвечает величина, определяемая
атрибутом Secondary Glossiness. Величина, равная 1.0, позволяет шейдеру
создавать материал с зеркальными и яркими отражениями, а значения ниже
позволяют шейдеру формировать матовые зеркальные отражения.
Компонента пропускания и рассеивания отвечает за свет, который рассеи-
вается вдоль волоса. Цвет данному эффекту можно задать с помощью атрибута
Transmission. Когда функция Lock to Transmission включена, этот цвет опре-
деляет общий цвет волос. Силу проявления компоненты пропускания и рас-
сеивания можно контролировать с помощью атрибута Transmission Amount.
Атрибут Transm. Glossiness Length управляет глянцевитостью компоненты
просвечивания вдоль длины волоса. В тоже время атрибут Transm. Glossiness
Width управляет глянцевитостью компоненты просвечивания через ширину
волоса. Ниже приведен и рассмотрен пример визуализации шейдера с раз-
личными значениями атрибутов глянцевитости компоненты просвечивания
и рассеивания.

Свиток Options
В свитке Options вы можете активировать дополнительные функции, которые
могут помочь оптимизировать визуализацию волос и меха.
Когда включен атрибут Opaque for Shadows, материал волос будет всегда
непрозрачен для вычислений теней. Это повышает скорость визуализации
просвечивающих и полупрозрачных волос.
Когда активен атрибут Opaque for GI, материал волос будет всегда непро-
зрачен для вычислений глобального освещения (GI). Это повышает скорость
визуализации просвечивающих и полупрозрачных волос.
Атрибут Simplify for GI активирует упрощенную версию диффузного рас-
сеивания для модели затенения BRDF, используемую для вычисления GI. Это
может повысить скорость визуализации волос, но может многозначительно
изменить финальный результат.
Шейдеры текстурных карт V-Ray  485

Атрибут Use Cached GI выполняет аналогичную атрибуту Use Irradiance Map


в шейдере VRayMtl функцию. Если он отключен, материал волос будет всегда
вычисляться с применением алгоритма Brute Force GI.

Свиток Advanced
Финальным атрибутом шейдера волос и меха является атрибут Light Multi-
plier. При отсутствии GI волосы могут выглядеть очень темными. Глобальное
освещение является правильным способом исправлять это, но если GI нужно
действительно избегать, этот множитель можно использовать, чтобы осветить
волосы.
На текущий момент рассмотрены основные шейдеры материалов, исполь-
зуемые в V-Ray для моделирования различных поверхностей. Комбинация
данных шейдеров предоставляет неограниченные возможности для создания
сложных моделей материалов, как органических, так и неорганических. Но
значительно повысить реализм материалов, а также значительно улучшить
управление материалами помогают процедурные и растровые текстурные
карты.

5.3. Шейдеры текстурных карт V-Ray


Текстурные карты в V-Ray for Maya предоставляют специальные возможности,
которые могут быть использованы для достижения желаемого визуального
образа. Текстуры могут быть созданы как в сторонних редакторах, так и непо-
средственно в самой Maya. Наиболее распространенными являются растровые
текстурные карты, за импорт которых отвечает узел File. Для создания ани-
мации и для создания специальных эффектов затенения используются про-
цедурные текстурные карты. Процедурные текстурные карты созданы в виде
программных модулей, разработанных программистами. Они могут быть как
механизмами для смешивания других процедурных и растровых текстур, так
и формировать цвет и различные эффекты затенения (диффузный цвет, отра-
жения, преломления, управление вкладом определенного слоя и т. д.).
Детализация материала осуществляется с помощью комбинации различ-
ных узлов, процедурных и растровых текстур. На рис. 5.3.1 приведен пример
графа шейдера, созданного для визуализации модели, представленной на
рис. 5.2.93. Шейдер материала (A) является основой для формирования зате-
нения геометрической модели. Растровые текстуры (B) определены узлами
File и place2DTexture (С). Узел place2DTexture отвечает за положение текстурной
карты на геометрической модели и ее трансформацию, а также дублирование
по поверхности (texture tiling). Такие узлы, как ColorCorrect (D), оказывают
влияние на цвет импортируемой в сцену текстурной карты – это программная
реализация, заложенная в Maya. Далее данные о цвете поступают в шейдер
процедурной текстурной карты VRayFreshnel, но взаимодействующим с цве-
том компоненты диффузного слоя материала.
486  Шейдеры V-Ray for Maya

Рис. 5.3.1  Граф узлов, составляющих шейдер материала кожи

Рисунок 5.3.2 демонстрирует все до-


ступные узлы текстурных карт V-Ray. Но
помимо этого, вы можете использовать
текстурные карты из стандартного набо-
ра шейдеров текстур Maya, которые были
реализованы для V-Ray в процессе созда-
ния пакета V-Ray for Maya. Ядро V-Ray CPU
поддерживает следующие шейдеры тек-
стурных карт Maya: Checker, Bulge, Cloth,
Fractal, Grid, Mountain, Wood, Sampler Info,
Ramp, Substance, Noise, Granite, Leather,
LookDevKit (Maya 2016 Ext 1). Комбинируя
данные шейдеры текстурных карт, мож-
но создавать сложные многоэлементные
шейдеры, моделирующие различные по-
верхности и взаимодействие с освещени-
ем.
Пакет Autodesk Maya предоставляет
все необходимые инструменты для ра-
Рис. 5.3.2  Шейдеры текстурных боты с UV-развертками трехмерных гео-
карт, доступные в V-Ray, метрических объектов. Основная задача
отображаемые в панели Create UV-координат – разворачивание 3D-по­
в Hypershade верх­ности в 2D-пространстве. Благодаря
такому подходу удается создавать текстур-
ные карты в сторонних графических редакторах, таких как Adobe Photoshop,
Corel Painter, GIMP, Krita, SketchBook Pro, MARI, Mudbox, Zbrush, BodyPaint 3D.
В Maya реализованы сферическая, цилиндрическая и планарная проекции ко-
ординат UV (рис. 5.3.3).
Конечно, работа с UV не ограничивается только одними проекциями – для
создания полноценных разверток для сложных моделей необходимо созда-
Шейдеры текстурных карт V-Ray  487

вать текстурные координаты, используя все три типа проекций, а редактиро-


вание UV-разверток выполнять в редакторе UV-координат, доступном в меню
Window ⇒ UV Texture Editor (рис. 5.3.4).

Рис. 5.3.3  Сферическая, цилиндрическая и планарная проекции


на различных полигональных объектах Maya

Рис. 5.3.4  3D-модель цифрового персонажа и ее UV-развертка

В процессе работы с текстурными картами необходимо помнить, что требу-


ется создание UV-разверток. Благодаря им текстурные карты будут корректно
размещены на 3D-поверхности и при создании материалов придадут большей
реалистичности сцене.

Узел определения растровой текстурной карты File


В процессе создания узла File Maya создаст не один узел, а два. Первый опреде-
ляет файл текстурной карты и его параметры (рис. 5.3.1 B), а второй отвечает
за положение текстурной карты (рис. 5.3.1 С). Рассмотрим узел определения
растровой текстуры File. Доступ к нему можно получить, воспользовавшись
488  Шейдеры V-Ray for Maya

редактором Hypershade или Node Editor, а также с помощью диалога Create


Render Node. Узел File представлен несколькими свитками в редакторе атри-
бутов File Attributes, Interactive Sequence Caching Options, Color Balance, Effects,
UV Coordinates, Arnold, Node Behavior, UUID, Ptex Controls, Extra Attributes
(рис. 5.3.5).

Рис. 5.3.5  Интерфейс узла определения текстуры File


в редакторе атрибутов Maya

Часто используемые атрибуты узла File расположены в свитке File Attributes.


Выбор файла текстурной карты выполняется с помощью атрибута Image
Name. Обычно файлы текстур располагаются в папке …/sourceimages в дирек-
тории проекта. В процессе создания и работы с текстурами рекомендуется со-
хранять их в этой директории. С помощью кнопок Reload, Edit и View можно
выполнять перезагрузку текстурной карты, правку в стороннем графическом
редакторе и просмотр. Стоит отметить, что правка и просмотр файла текстур-
ной карты выполняются в приложении, определенном глобальными параме-
трами программы Maya. Настройку можно выполнить в диалоговом окне Pref-
Шейдеры текстурных карт V-Ray  489

erences в группе параметров Applications. Так, если для создания текстурной


карты используется графический редактор Adobe Photoshop, то стоит просто
указать путь к нему в свитке Image Editing Applications.
За фильтрацию изображения отвечает атрибут Filter Type. С его помощью
выбирается техника выборки образцов, применяемая к изображению в про-
цессе визуализации. Доступны следующие типы фильтрации: Quadratic, Quar-
tic, Gaussian, Mipmap и Box. Также можно полностью выключить фильтрацию
изображения, выбрав режим Off. Фильтры типов Quadratic, Quartic и Gaussian
работают только тогда, когда узел текстуры File применен напрямую к группе
затенения (Shading Group). По умолчанию выбран тип Quadratic. Если отклю-
чено, изображение не подвергается фильтрации.
Крайние значения формы кривой фильтрации, определяемой типом филь-
трации, обладают меньшим весом, чем значения, ближе к ее центру. Экстре-
мум означает точку в текстуре, ближайшую к дальнему краю региона выборки
фильтра. Центр кривой означает центр области, которая подвергается филь-
трации. Типы фильтров Quadratic и Quartic аппроксимируют тип фильтра
Gaussian, но они оптимизированы по скорости. Поскольку этот метод может
уменьшить скорость визуализации, используйте его в основном для высокока-
чественной визуализации. Фильтр Quadratic является наиболее эффективным
типом фильтрации.
Тип Mipmap сохраняет средние значения с общей площади текстурной
карты и линейно уменьшает размеры карты до значения одного пикселя.
Используйте этот тип фильтра для предварительного просмотра. Он быстр
и обеспечивает приемлемые результаты визуализируемого изображения. Не
используйте его для высококачественной визуализации, так как качество бу-
дет значительно ниже по сравнению с типом Quadratic. Текстуры могут плыть
или выглядеть размытыми. Тип фильтрации Mipmap является достаточно
«бюджетным» методом в плане использования. Пакет Maya использует его
в качестве методики для хранения цветовых значений по умолчанию. Оценка
производительности, связанной с использованием фильтра типа Mipmap, ни-
чтожно мала по сравнению с использованием других типов фильтров.
Тип Box использует простой одноименный метод выборки для текстур-
ной карты. Каждому образцу карты задается такой же вес образца затенения.
Фильтр Box использует сумму значений выборки, деленную на количество вы-
бранных образцов.
Если создаются и используются текстурные карты, разбитые на несколько
больших областей (UV Tiling Maps), и впоследствии объединяются в единую
текстурную карту, вы можете активизировать данный режим, для того что-
бы использовать данную технологию при визуализации с помощью V-Ray for
Maya. Для этого активизируйте режим UV Tiling Mode, выбрав один из четы-
рех типов:
 0-based (ZBrush) – выберите этот режим, если ваши UV-координаты на-
чинаются от 0. Ряд приложений, таких как ZBrush, определяют количе-
ство UV-плиток с нижнего левого угла UV-координат. То есть UV-плитки
[0,0] х (1,1) будут использовать u0_v0 в имени файла;
 1-based (Mudbox) – выберите этот режим, если ваши UV-координаты
начинаются от 1. Ряд приложений, таких как пакет цифрового скуль-
490  Шейдеры V-Ray for Maya

птинга Autodesk Mudbox, определяют количество UV-плиток с правого


верхнего угла UV-координат. То есть UV плитки [0,0] x (1,1) будут ис-
пользовать u1_v1 в имени файла;
 UDIM (Mari) – выберите этот режим, если UV-координаты определены
в программе Mari и представлены четырехзначным числом, используя
формулу 1000+(u+1+v*10);
 Explicit Tiles – выберите эту опцию, чтобы загрузить каждую плитку от-
дельно и ввести значения U и V в явном виде. Для каждой плитки вве-
дите значения левой нижней UV-координаты, которой соответствует
текстура.
Типы именования, перечисленные выше, являются настройками по умолчанию для
каждого приложения. Могут использоваться альтернативные типы именования.

После того как вы выбрали режим UV Tiling Mode, имя изображения обнов-
ляется с метками, которые указывают, как Maya будет анализировать имя фай-
ла:
 0-based (Zbrush) – u<u>_v<v>;
 1-based (Mudbox) – u<U>_v<V>;
 UDIM (Mari) – <UDIM>.
После анализа UV-координат Maya определяет количество UV-плиток, кото-
рые были обнаружены по указанному пути.
Для создания изображения для предварительного просмотра при выбран-
ном режиме UV Tiling Mode будет доступен атрибут Preview Quality. С его по-
мощью можно настроить качество изображения предварительного просмотра
и для отображения в панелях видовых окон проекций и оптимизировать рас-
ход памяти. На выбор доступны следующие режимы качества изображений:
High Quality, Medium Quality и Lower Quality. Вы также можете отключить
создание изображения предварительного просмотра. Создание изображения
предварительного просмотра осуществляется с помощью кнопки Generate
Preview.
Если планируется использовать текстуру на основе секвенции файлов, то
необходимо использовать атрибут Use Image Sequence, где порядок изобра-
жений контролируется с помощью атрибута Image Number, а смещение номе-
ра кадров контролируется с помощью Frame Offset.
Активизация атрибута Use BOT позволяет применять разделенные на от-
дельные блоки текстуры (block ordered textures). Если файл изображения не
является файлом BOT, Maya создает временный файл BOT для файла изобра-
жения во время процесса визуализации. Это может сделать процесс визуали-
зации медленнее и увеличить объем используемого во время визуализации
дискового пространства. Тем не менее он использует меньше оперативной
памяти. Из-за этого может быть полезно преобразование всех файлов текстур
в BOT-файлы до процесса визуализации с помощью команды Optimize Scene:
File ⇒ Optimize Scene Size ⇒ □.
Если активен атрибут Disable File Load, текстура, определенная узлом File,
не будет загружаться и использоваться в процессе визуализации.
Шейдеры текстурных карт V-Ray  491

Свиток Interactive Sequence Caching Options предоставляет возможность


использовать кеш для анимированных текстурных карт. Это может значитель-
но увеличить производительность интерактивного отображения анимиро-
ванных текстурных карт. Когда атрибут Interactive Sequence Caching активен,
анимация текстурной карты будет записана в кеш в пределах диапазона, опре-
деленного атрибутами Sequence Start, Sequence End и Sequence Increment,
а затем кэш будет однократно загружен в память.
В процессе работы с текстурами в форматах OpenEXR, 32-bit TIFF, Direct-
Draw Surface (*.dds) с высоким динамическим диапазоном (HDR) можно вос-
пользоваться атрибутами в свитке High Dynamic Range Image Preview Options
для коррекции их отображения в окнах проекций с учетом преобразования
в цветовое пространство sRGB.
Свиток Color Balance позволяет изменить цветовой баланс текстурной кар-
ты. Благодаря атрибуту Color Gain контролируется интенсивность цвета текс­
турной карты. По умолчанию выставлен белый цвет (1. 1. 1.), а при изменении
цвета в сторону серого (0.5 0.5 0.5) или черного (0. 0. 0.) интенсивность цвета
текстурной карты будет уменьшаться (рис. 5.3.6 C). Вы также можете указать
свой цвет, тогда цвет текстуры будет смещен по отношению выбранного цвета
(например, красный).

Рис. 5.3.6  Пример влияния атрибутов Exposure, Color Gain и Color Offset
на текстурную карту. A – параметры Color Balance по умолчанию, B – значение
Exposure = 2.0, C – Color Gain = желтый цвет, D – Color Offset = желтый цвет

Атрибут Color Offset позволяет выполнять смещение цветов текстурной


карты. Цвет может быть смещен как за счет цвета, выбираемого с помощью
селектора, так и с помощью процедурных или растровых текстурных карт
(рис. 5.3.6 D).
Для коррекции альфа-канала изображения необходимо использовать атри-
буты Alpha Gain и Alpha Offset. С помощью атрибута Alpha Gain контролиру-
ется сила проявления альфа-канала. В то же время с помощью атрибута Alpha
Offset выполняется смещение диапазона цветов альфа-канала.
В процессе работы с текстурными картами в формате Ptex, разработанном
в Walt Disney Animation Studios, можно воспользоваться специальными атри-
бутами, сосредоточенными в свитке Ptex Controls (рис. 5.3.7).
Система визуализации V-Ray использует свою реализацию – VRayPtex, – которая
лучше оптимизирована для работы с ядром системы визуализации. Более под-
робно данный узел и формат данных Ptex рассмотрены далее в данной главе.
492  Шейдеры V-Ray for Maya

Рис. 5.3.7  Свиток Ptex Controls


в узле двумерной текстурной карты File

Атрибут Filter Type позволяет выбрать тип фильтрации текстурной карты


в формате Ptex, на выбор предоставляется семь типов фильтров:
 Point: выборка точки, т. е. никакой фильтрации;
 Linear: билинейная интерполяция. Квадратный фильтр 2×2, использу-
емый для интерполяции, производящей средневзвешенное значение
в 4 пикселя;
 Box: квадратный фильтр 1×1, используемый для интерполяции. Равно-
мерно взвешивает все образцы в процессе фильтрации;
 Gaussian: создает результат с мягким размытием. Фильтр по Гауссу ис-
пользует кривую спада для взятых образцов. Почти все образцы в цен-
тре пикселя имеют практически тот же вес выборок, но быстро спадает
(сглаживается);
 Bicubic: используется прямоугольная область 4×4 для бикубической ин-
терполяции, поэтому берутся образцы из 16 пикселей. Пиксели, которые
ближе к исходной точке, обладают большим весом, чем другие пиксели.
Используйте атрибут Sharpness в сочетании с этим методом фильтра-
ции. Этот метод реализует очень детальный результат, но это увеличи-
вает нагрузку на процессор и может занять достаточно много времени
в процессе визуализации;
 B-spline: аналогичен типу Bicubic, но без поддержки резкости (атрибут
Sharpness не доступен;
 Catmull-Rom/Mitchell: используется прямоугольная область 4×4, и фор-
мирует очень резкое изображение. Фильтр типа Mitchell создает резкое
изображение, как Catmull-Rom, и формирует более качественный ре-
зультат в изображении, содержащем высокую детализацию.
Width – определяет фактор значения ширины фильтра.
Blur – корректирует величину размытия визуализируемого изображения от
величины 0 до 1.
Sharpness – уровень резкости для бикубического типа фильтрации.
Interpolate Levels – если ваш файл в формате *.ptex содержит вложенные
уровни mip-map, активизация данной опции позволяет выполнять интерпо-
ляцию между mip-map-уровнями.

Не используйте данную опцию с картами смещения (displacement).

Рассмотрены основные атрибуты для растровых текстурных карт, добавляе-


мых в сцену с помощью узла File. Для позиционирования текстурной карты на
поверхности объекта следует использовать автоматически создаваемый узел
place2dTexture.
Шейдеры текстурных карт V-Ray  493

Узел позиционирования двумерной текстуры


place2dTexture
Узел place2dTexture определяет прямоугольную область, помещаемую на по-
верхность (в пространстве UV-координат), в которой находится текстура. Вы
можете контролировать положение, размер и вращение этой области на по-
верхности объекта с помощью соответствующих атрибутов. Вы также може-
те контролировать то, как текстура будет повторяться (tiling) и отражаться
(mirror). Контролировать положение текстурной карты с помощью атрибутов
в узле place2dTexture достаточно просто. Рассмотрим основные атрибуты это-
го узла, представленные в интерфейсе редактора атрибутов Maya (рис. 5.3.8).

Рис. 5.3.8  Основные атрибуты узла place2dTextue


в редакторе атрибутов Maya

Функция Interactive Placement активизирует манипулятор положения


текстурной карты. Активизация манипулятора выполняется с помощью на-
жатия одноименной кнопки в редакторе атрибутов или выбором инструмента
Texture Placement Tool, после чего выбирается поверхность. Перемещение
выполняется с помощью СКМ, это позволяет выполнить трансформацию по-
ложения текстуры.
494  Шейдеры V-Ray for Maya

Атрибут Coverage определяет степень покрытия поверхности текстурной


картой. Допустимый диапазон – от 0 до +∞ для NURBS-поверхностей. Значе-
ние 1 (по умолчанию) покрывает всю поверхность либо в направлении по осям
U или V. Например, чтобы покрыть половину поверхности, установите значе-
ние на 0.5 в обоих направлениях U и V (рис. 5.3.9).

Рис. 5.3.9  Пример влияния атрибута Coverage


на занимаемую текстурной картой площадь.
A – по умолчанию, B – U = 0.5, V = 0.5, C – U = 1.6, V = 1.6

С помощью Translate Frame выполняется позиционирование текстурной


карты на поверхности и перемещает область покрытия по всей поверхности.
Диапазон составляет от –∞ до +∞ (рис. 5.3.10).

Рис. 5.3.10  Пример перемещения текстурной карты по поверхности


с помощью атрибута Translate Frame. A – по умолчанию, B – U = 0.25, V = 0.45

Rotate Frame – выполняет поворот текстурной карты на поверхности. Этот


атрибут представлен в градусах.
Mirror U и Mirror V – отражение текстурной карты может быть выполнено,
только если значения атрибута Repeat UV больше 1 или использован атрибут
Translate Frame. Отражение в направлениях U и V реализовано отдельно. Дан-
Шейдеры текстурных карт V-Ray  495

ная функция позволяет скрыть резкие швы на стыках текстурных карт при их
повторении (tiling) (рис. 5.3.11).

Рис. 5.3.11  Пример визуализации текстурной карты с активными атрибута-


ми Mirror U и Mirror V. A – без отражения, Repeat UV = 2, B – используется Mirror
U, C – используется Mirror V, D – используется Mirror U и Mirror V

Атрибуты Wrap U и Wrap V контролируют повторение текстурной карты


в направлении осей U или V или совместно по ним обоим. Оба атрибута Wrap
включены по умолчанию. Активируйте их, чтобы предотвратить появление
швов при проецировании на замкнутой поверхности, например на цилиндр
или сферу, или для предотвращения дублирования текстуры самой себя при
использовании атрибутов Translate Frame и Coverage, ограничивая отображе-
ние на очень специфичной поверхности.
Repeat UV – задает количество копий текстурной карты, отображающихся
в области покрытия по направлениям U или V (в зависимости от текстуры).
По умолчанию Maya отображает одну копию текстуры. Значения больше 1 за-
ставляют проецировать больше экземпляров текстурной карты, которые ото-
бражаются в одной зоне покрытия. Значения меньше 1 заставляют отображать
только часть текстурной карты.
На рис. 5.3.12 приведен пример применения различных значений атрибута
Repeat UV. На иллюстрации A значение Repeat UV равно 0.5, благодаря этому
в область, покрывающую сферу, помещена половина текстурной карты. На ил-
люстрации B приведен пример со стандартным значением Repeat UV, равным
1, а на иллюстрации C значение увеличено до 2.

Рис. 5.3.12  Пример применения атрибута Repeat UV для повторения текстурной карты.
A – Repeat UV = 0.5, B – Repeat UV = 1, C – Repeat UV = 2
496  Шейдеры V-Ray for Maya

Stagger – благодаря этому атрибуту Maya смещает повторяемые ряды тек-


стурных карт, смещая каждый второй ряд повторений точно наполовину (как
кирпичная стена). Если атрибут Stagger неактивен, повторы текстурной карты
выстраиваются по горизонтали и вертикали.
Offset – атрибут, компенсирующий паттерн текстурной карты. Он может
быть особенно полезен, когда выполняется тонкая настройка размещения
текстуры на поверхности. Смещение по оси U компенсирует паттерн текстуры
вдоль направления U и смещение по оси V в направлении V. Каждое значение
может быть задействовано в диапазоне от –∞ до +∞.
Rotate UV – поскольку вы не можете использовать интерактивный инстру-
мент для вращения размещенной на поверхности текстуры, используйте этот
атрибут. Rotate UV вычисляется в градусах. Допустимый диапазон составляет
от 0 до 360°.
Noise UV – 2D-шум для U и V. Вытесняет цвета текстурной карты.
Fast – когда этот атрибут включен, он активирует проверку того, является ли
размещение, установленным по умолчанию и выполняется ли в процессе вы-
борки затенения меньше вычислений. Активизируйте атрибут Fast, чтобы не-
много улучшить скорость визуализации. Атрибут Fast отключен по умолчанию.
В отличие от 2D-текстур для 3D-текстурных карт реализован немного иной
механизм работы. Непосредственно в самой Maya вы можете контролировать
положение текстуры на поверхности, ее расположение и другие параметры
благодаря узлу place3dTexture. На рис. 5.3.13 показан габаритный контейнер
и манипулятор для 3D-текстуры, используемый для ее позиционирования
в пространстве.

Рис. 5.3.13  Габаритный контейнер и манипулятор положения 3D-текстуры в Maya.


Информация о параметрах преобразуется в формат матрицы положения
Шейдеры текстурных карт V-Ray  497

В процессе разработки сложных материалов, содержащих несколько тек-


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

Шейдер Occlusion or Dirt Map | VRayDirt


Шейдер VRayDirt может быть использован для моделирования различных эф-
фектов, например грязь вокруг расщелин на поверхности объекта, или для
формирования элемента Ambient Occlusion. Применение эффекта Ambient
Occlsuion позволяет имитировать затухание света в углах или при близком
расположении нескольких объектов (рис. 5.2.14). С его помощью на этапе ком-
позитинга может быть реализовано усиление контраста в полутенях и тенях
в близкорасположенных друг к другу гранях.

Рис. 5.3.14  Пример визуализации сцены с применением шейдера VRayDirt

Шейдер VRayDirt может быть использован для формирования цвета, кото-


рый может оказывать влияние как на цветовые свойства материала, так и на
атрибуты, отвечающие за вклад определенной компоненты затенения или со-
стояние свойства.
498  Шейдеры V-Ray for Maya

Рис. 5.3.15  Шейдер VRayDirt в редакторе атрибутов

Настраивать шейдер и применять его в материале не сложно. Все основные


атрибуты сосредоточены в одном свитке и могут быть связаны как с растровы-
ми текстурными картами, так и с процедурными.
Атрибут Occluded color определяет цвет, затеняющий области, в которых
произведено перекрытие лучей (области, где окружающее поверхность осве-
щение ограничено или заблокировано). Для данного атрибута может быть ис-
пользована текстурная карта. Противоположный по значению, но основной
цвет определяет атрибут Unoccluded color. Цвет данного атрибута затеняет
незакрытые, освещенные области (области, где поверхность полностью под-
вергается воздействию окружающего освещения).
Атрибут Radius определяет размер области (в единицах измерения сцены,
по умолчанию – сантиметры), в пределах которой создается эффект VRayDirt.
Для контроля радиуса может быть использована растровая или процедурная
текстурная карта.
Для того чтобы заставить лучи собираться ближе к нормали поверхности,
используйте атрибут Distribution. Это приведет к сужению области затенения
ближе к краям контакта. Для моделирования затенения Ambient Occlusion за-
Шейдеры текстурных карт V-Ray  499

дайте данному атрибуту значение 1.0, чтобы получить распределение, анало-


гичное освещению от окружения на диффузной поверхности.
С помощью атрибута Falloff управляется скорость перехода между закры-
тыми и незакрытыми областями.
Subdivs – управляет количеством образцов выборки, с которыми работает
ядро визуализации, чтобы вычислить эффект затенения. Более низкие значе-
ния визуализируются быстрее, но дают более шумный результат. Этот пара-
метр работает независимо от параметра Use Local Subdivs, устанавливаемого
в DMC Sampler, поэтому изменения влияют на сцену, даже если Use local sub-
divs отключен. Пороговые значения низкого шума в Image Sampler очищают
результат дальше.
С помощью атрибутов Bias (X,Y,Z) выполняется смещение нормали по от-
ношению осей X (Y, Z), чтобы эффект затенения был направлен к ним. Учтите,
что эти атрибуты также могут принимать отрицательные значения для инвер-
тирования направления.
Атрибут Ignore For Gi определяет, учитывается ли эффект затенения, фор-
мируемый шейдером, при расчетах GI или нет.
Consider Same Object Only – при включении эффект загрязнения воздей-
ствует только на сами объекты, не включая контактирующие поверхности
и края. Когда он отключен, вся геометрия сцены участвует в окончательном
результате.
Когда атрибут Double Sided активен, лучи, необходимые для создания кар-
ты загрязнения, выбираются с обеих сторон граней (как в направлении норма-
ли, так и в противоположном к ней направлении).
С помощью атрибута Invert Normal изменяется направление трассировки
лучей. Когда данный атрибут отключен, лучи прослеживаются вне поверхно-
сти; при включении они отслеживаются внутри поверхности. Это позволяет
нам обратить эффект относительно нормалей поверхности – например, вме-
сто расщелин открытые углы затенены цветом перекрытия (окклюзии).
Когда активен атрибут Work With Transparency, шейдер VRayDirt будет
учитывать непрозрачность взаимодействующих/перекрываемых объектов.
К примеру, это может быть использовано, если вы хотите рассчитать пере-
крытие окружающей среды по деревьям с непрозрачностью и т. д. Когда этот
атрибут отключен (по умолчанию), перекрываемые объекты всегда считаются
непрозрачными. Обратите внимание, что работа с корректной непрозрачно-
стью медленнее, так как в этом случае шейдер должен исследовать и оцени-
вать материал на перекрываемых объектах.
Включение учета прозрачности также учитывает атрибут Invisible источни-
ков света, в результате чего они исключаются из расчетов визуализации.
Когда активен атрибут Ignore Self Occlusion, объект не закрывает себя. Он
будет перекрываться только другими объектами в сцене.
Когда функция Environment Occlusion активна, V-Ray использует окруже-
ние при вычислении областей, которые не закрыты другими объектами.
Раскрывающийся список Occlusion Mode определяет режим вычисления
карты окклюзии лучей:
 режим Ambient occlusion, при котором вычисляется полноценное пере-
крытие лучей от окружающей среды;
500  Шейдеры V-Ray for Maya

 режим Reflection occlusion (Phong, Blinn, Ward) использует метод Re-


flection Occlusion. Разница между Ambient Occlusion и Reflection Occlus-
tion заключается в основном в направлении трассировки лучей.
При AO лучи прослеживаются во всех направлениях равномерно, в то время
как при RO направление лучей зависит от взгляда наблюдателя (как при рас-
чете отражений). Распространение лучей зависит от глянцевого эффекта от-
ражений и используемого типа BRDF.
Когда активен атрибут Affect Reflection Elements, отражение окружения
влияет на выводимый элемент изображения Reflection. Это может быть ис-
пользовано для создания масок отражений.
Атрибут Glossiness управляет распространением лучей, отслеживаемых
при отражении перекрытия. Значение 1 сообщает, что отслеживается только
один луч (так же как при трассировке резких отражений), меньшие значения
отражают распространение отслеженных лучей.
С помощью Result Affect задается список объектов, который влияет на вы-
числения в шейдере VRayDirt. Исключенные объекты считаются невидимыми
в расчетах шейдера VRayDirt.
As inclusive set – управляет значением параметра Result Affect. Когда этот
атрибут включен, эффект результата рассматривается как «Include list», а если
этот атрибут отключен, эффект результата рассматривается как «Exclude list».
Exclude – отключает расчет карты VRayDirt для конкретных объектов. Ис-
ключенный объект затеняется шедером VRayDirt.
As Inclusive list – при включении инвертирует значение списка исключе-
ний, и только объекты в списке будут затенены картой VRayDirt.

Шейдер Edges Map | VRayEdgesTex


Шейдер VRayEdges является простой текстурной карой, которая позволяет вам
визуализировать ребра геометрии. Он полезен при создании эффекта «ком-
пьютерного объекта», когда визуализируется сетка геометрии в виде ребер.
Также данный шейдер будет полезен при визуализации моделей для демон-
страции топологии геометрии и придания соответствующего визуального
стиля (рис. 5.3.16).
Шейдер может быть создан как с помощью панели Create в редакторах Node
Editor и Hypershade, так и с помощью Tab-menu.
Атрибут Edges Color задает цвет для ребер (рис. 5.3.17). Для формирования
основного цвета затенения граней используйте атрибут Background Color.
Если вам необходимо отобразить скрытые ребра, расположенные внутри гра-
ней (полигонов), используйте атрибут Show Hidden Edges.
Контроль ширины визуализируемых ребер выполняется в зависимости от
вабранного с помощью атрибута Width Type типа:
 World units – определяет ширину в мировых единицах (единицах из-
мерения сцены);
 Pixels – определяет ширину в пикселях.
Атрибут Show Subtriangles – отображает субтреугольники. Может исполь-
зоваться с подразделением поверхности и смещением геометрии, чтобы по-
казать ребра сформированных субтреугольников.
Шейдеры текстурных карт V-Ray  501

Рис. 5.3.16  Пример визуализации сцены с применением шейдера VRayEdges

Рис. 5.3.17  Интерфейс шейдера VRayEdges


в редакторе атрибутов

Для объектов с картой смещения геометрии VRayEdgesTex отобразит ребра ис-


ходных граней, а не ребра результирующих субтреугольников.

Шейдер Falloff Map | VRayFalloff


Шейдер VRayFalloff создает градиентную текстурную карту изменения цвета
на основе угла к поверхности геометрии, к которой применен шейдер. Полу-
ченный с помощью шейдера спада результат может имитировать снижение
свойства непрозрачности, отражений и преломлений для поверхностей, где
эти свойства изменяются в зависимости от угла поверхности по отношению
к камере, например изогнутого стекла или воды.
502  Шейдеры V-Ray for Maya

Создание текстуры в VRayFalloff начинается с двух цветов, обычно черного


и белого. Размещение этих цветов на поверхности зависит от выбранных ти-
пов и направления спада. Остальная область текстурной карты формируется
как градиент между этими двумя цветами с постепенным спадом между ними.
В примере, показанном на рис. 5.3.18, шейдер VRayFalloff используется в ка-
честве диффузного цвета. Тип Falloff установлен на Fresnel с величиной Index
of Refraction, равной 5.6. Сплошные светло-зеленый и оранжевый цвета ис-
пользуются для параметров Front и Side Color.

Рис. 5.3.18  Пример визуализации сцены с применением шейдера VRayFalloff

Как и другие текстурные шейдеры, он может быть создан как с помощью па-
нели Create в редакторах Node Editor и Hypershade, так и с помощью Tab-menu.
Атрибуты Front Color и Side Color определяют основные цвета для форми-
рования карты градиента. Конкретное расположение этих цветов на поверх-
ности определяется типом спада и его направлением.
Раскрывающийся список Falloff Type определяет тип спада:
 Towards/Away – на основании направления нормалей граней. Грани
с нормалями, которые направлены по направлению спада, формиру-
ют Front Color, а грани, обращенные в противоположном направлении,
формируют Side Color;
 Perpendicular/Parallel – спад формируется на основании направления
нормалей граней. Грани с нормалями, направленные по отношению
к спаду, формируют Front Color, а грани, перпендикулярные направле-
нию нормалей (90°), формируют Side Color;
 Fresnel – данный тип основан на изменениях показателя индекса пре-
ломления (IOR) над поверхностью в результате расчетов эффекта Фре-
неля. Грани с нормалями, которые указывают в направлении спада,
формируют Front Color, а грани, обращенные в других направлениях,
формируют различные цвета в зависимости от IOR, определенного ин-
дексом преломления Френеля;
Шейдеры текстурных карт V-Ray  503

 Distance – определят диапазон спада на основе расстояния от камеры,


определенного атрибутами Near Distance и Far Distance. Этот атрибут
полезен для формирования карт типа Z-Depth при визуализации очень
больших объектов, таких как ландшафт, где шейдер Falloff можно ис-
пользовать в качестве маски для затемнения удаленных на расстоянии
деталей.

Рис. 5.3.19  Интерфейс шейдера VRayFalloff


в редакторе атрибутов

Направление используемого выбранным типом спада определяется атрибу-


том Falloff Direction:
 Viewing Direction (Camera Z-Axis) – в данном режиме используется на-
правление со стороны наблюдателя. Данный режим является наиболее
распространенным при выборе;
 Camera X-Axis / Camera Y-Axis – будут использованы другие оси ка-
меры;
 Explicit Dir – используется направление, определенное атрибутом Ex-
plicit direction;
504  Шейдеры V-Ray for Maya

 Local X-Axis / Local Y-Axis / Local Z-Axis – при выборе одного из пун-
ктов будет использована мировая ось координат объектов;
 World X-Axis / World Y-Axis / World Z-Axis – при выборе одного из
пунктов будет использована мировая ось координат объектов.
Explicit direction – определяет направление спада, когда для параметра
Falloff Direction задано значение атрибута Explicit direction.
Fresnel Index Of Reflection – при выборе данного атрибута будет определен
индекс преломления, когда в качестве Falloff Type выбран Fresnel.
Near Distance – если в раскрывающемся списке Falloff Type выбран режим
Distance, части поверхности, расположенные на заданном данным атрибутом
расстоянии от камеры, получат цвет, определяемый атрибутом Front Color.
Атрибут Far Distance определяет дальнюю от камеры точку, в которой поверх-
ность будет принимать цвет, определенный атрибутом Side Color.
Когда активирован атрибут Extrapolate, эффект затенения выйдет за пре-
делы диапазона, определенного значениями Near и Far Distance. Области по-
верхности, расположенные ближе, чем Near Distance, получают Front Color,
а детали и области, расположенные дальше чем Far Distance, получат Side Color.
Редактировать цветовые градиенты и диаграммы можно, используя следу-
ющие элементы управления:
 двойной клик – создает новую точку или изменяет существующую;
 перемещение ЛКМ над точкой – выполняет перемещение точки. Если
ранее было выделено несколько точек, они переместятся на то же рас-
стояние;
 перемещение ЛКМ над несколькими точками – выбирает несколько
точек;
 перемещение СКМ над окружением – перемещает видимую область.
Если нажата клавиша Shift, в соответствующем направлении будет вы-
полнено масштабирование диаграммы;
 колесо прокрутки мыши – выполняет приближение/отдаление;
 клик ПКМ – отображает контекстное меню, с помощью которого вы
можете добавить точку, отредактировать или удалить выбранную точку
и разместить всю диаграмму или градиент в видимой области. Если вы-
брать несколько точек, их можно редактировать одновременно.
Атрибуты свитка Output могут регулировать переход между Front Color
и Side Color, используя градиент Falloff Map.
Атрибут Invert выполняет инверсию значения цвета. С помощью атрибута
Clamp выполняется сжатие значений цвета.
Атрибут Alpha From RGB Intensity позволяет шейдеру формировать ин-
формацию об альфа-канале на основе интенсивности цветов RGB. В то же вре-
мя атрибут Output Amount определяет множитель проявления альфа-канала.
RGB Offset – позволяет выполнить смещение цвета для полученных значе-
ний RGB.
RGB Level – определяет интенсивность эффекта спада.
Bump Amount – определяет силу эффекта рельефности.
Enable Color Map – включает текстуру в виде карты цвета (Colro Map).
Color Map Red/Green/Blue Parameters – кривые управления, которые можно
использовать для переназначения каналов красного, зеленого и синего цветов.
Шейдеры текстурных карт V-Ray  505

Шейдер Fresnel Map | VRayFresnel


VRayFresnel представляет собой простой шейдер, который смешивает два цве-
та, или текстурных карты на основе угла зрения и показателя индекса прелом-
ления (Index of Refracrtion). Например, можно подключить шейдер к каналу
Specular Color стандартного шейдера материала Maya, чтобы создать отраже-
ние, формируемое на основе закона Френеля.

Рис. 5.3.20  Пример визуализации сцены с применением шейдера VRayFresnel

Чтобы проиллюстрировать эффект действия шейдера, в примере, приве-


денном на рис. 5.3.20, показан результат применения шейдера VRayFresnel
к диффузному каналу шейдера VRayMtl. Атрибуту Front Color присвоен свет-
ло-зеленый цвет, атрибуту Side Color задан насыщенный оранжевый цвет,
а атрибуту IOR задано значение 5.6.

Рис. 5.3.21  Интерфейс шейдера VRayFresnel


в редакторе атрибутов

Атрибуты Front Color и Side Color определяют фронтальный или боковой


цвет шейдера. В качестве цвета вы можете использовать растровые или проце-
506  Шейдеры V-Ray for Maya

дурные текстурные карты. С помощью атрибута IOR может быть задан индекс
преломления, который следует использовать при расчете эффекта Френеля.
Комбинируя несколько шейдеров VRayFresnel, можно создавать разнооб­
разные эффекты затенения с различными свойствами и переходами не толь-
ко в диффузном цвете, но также и в специализированных каналах, таких как
отражение, преломление, глобальное освещение, анизотропные отражения,
слой неровностей и пыли и др.

Шейдер Layered Texture | VRayLayeredTexture


Шейдер V-Ray Layered Texture (VRayLayeredTexture) выполняет наложение
и смешивание нескольких текстурных карт друг с другом (рис. 5.3.22). Форми-
руемый каждым слоем результат зависит от режима смешивания со следую­
щим слоем в стеке. Текстурную карту также можно использовать в качестве
маски, чтобы контролировать, какие области текстуры будут проявляться при
визуализации (табл. 5.1).

Рис. 5.3.22  Пример визуализации сцены


с применением шейдера VrayLayeredTexture

По своей концепции, шейдер VRayLayeredTexture позволяет моделировать


высококачественные материалы, состоящие из множества текстурных карт.
Это позволяет реализовывать родными для V-Ray средствами полноценные
графы шейдеров материалов, содержащих разнообразные текстурные карты,
и передавать модели и данные в другие приложения.
Шейдеры текстурных карт V-Ray  507

Рис. 5.3.23  Интерфейс шейдера VRayLayeredTexture


в редакторе атрибутов

Кнопка Add New Item button, расположенная в свитке Layers, добавляет


слой в стек.
Флажок атрибута Enabled позволяет выполнить переключение состояния
слоя. Когда флажок установлен, слой будет активен и будет участвовать в ви-
зуализации. Когда флажок снят, слой не будет участвовать в процессе визуа-
лизации.
Атрибут Tex задает как цвет, так и определяет связь с шейдером процедур-
ной текстурной карты или с растровой текстурной картой. С помощью атри-
бута Mask определяется сила смешивания текстурных карт. Тип смешивания
определен выбранным с помощью раскрывающегося списка Blending Mode
типом. Также для смешивания текстурных карт можно применить текстурную
карту, как процедурную, так и растровую. Помните, что в случае с растровы-
ми текстурными картами они должны содержать альфа-канал. В ином случае
используйте один из каналов цвета, доступных в текстурной карте – R, G или
B. Их можно использовать с помощью Node Editor или Connection Editor. Все
типы смешивания, используемые в раскрывающемся списке Blending Mode,
представлены в табл. 5.1.
508  Шейдеры V-Ray for Maya

Таблица 5.1. Режимы смешивания текстурных карт в шейдере VRayLayeredTexture


и их примеры
Режим Пример Описание
Normal Отображает только верхний слой

Average Отображает усредненный результат по слоям. То есть суммирует цвета


слоев и делит их на количество слоев

Add Добавляет значения пикселей одной текстуры к другой. В случае,


когда результирующие значения выше 256 (в RGB-цветах), будет
отображаться белый цвет

Subtract Вычитает значения пикселей слоя, расположенного выше в стеке из


нижележащего слоя. В случае, когда результирующие значения ниже
0 (в RGB-цветах), будет отображаться черный цвет

Darken Сравнивает все текстуры и отображает только самые темные


результаты для каждого пикселя

Multiply Умножает значения цвета для каждого пикселя верхнего слоя


на соответствующие пиксели в нижнем слое. Поскольку в результате
простого умножения можно получить значения, превышающие
величину в 65 025, что намного превышает максимально допустимое
значение в 255 оттенков, результат делится на 255. В результате
получается более темное изображение
Color Темные пиксели в слое окрашиваются цветом расположенного в стеке
burn выше слоя

Linear Применяет цвет расположенного выше в стеке слоя к более темным


burn пикселям в расположенном ниже слое. В отличие от параметра Color
burn он обеспечивает меньшую контрастность

Lighten Сравнивает все текстуры и отображает только самый светлый


результат, возможный для каждого пикселя

Screen Делает светлее как светлые, так и темные области в текстурных картах

Color Более светлые пиксели в слое окрашиваются цветом более высокого


dodge (в стеке) слоя
Шейдеры текстурных карт V-Ray  509

Таблица 5.1 (продолжение)


Режим Пример Описание
Linear Применяет цвет верхнего в стеке слоя к более светлым пикселям
dodge в нижнем слое. В отличие от режима Color dodge она обеспечивает
меньший контраст

Spotlite Делает то же самое, что и режим Multiply, но результат будет ярче

Spotlite В дополнение к результату, формируемому с помощью режима


blend Spotlite, будет добавлен вклад от окружающего освещения к нижнему
слою в стеке

Overlay Выполняется наложение пикселей с более темным или светлым


цветом в зависимости от нижнего слоя

Soft В зависимости от цвета слоя, расположенного выше: если он светлее,


light чем усредненный серый, то визуализация будет светлее; если он
темнее усредненного серого, то визуализация будет темнее

Hard В зависимости от цвета пикселя: если он светлее серого, будет


light использован режим Screen; если он темнее, чем средне-серый, будет
использован режим Multiply

Pin light Изменяет цвет нижнего слоя в зависимости от яркости цвета верхнего
слоя. Если цвет верхнего слоя светлее серого, то цвет нижнего слоя
темнее, чем цвет верхнего слоя. Если цвет верхнего слоя темнее, чем
усредненный серый, то цвет нижнего слоя светлее, чем цвет верхнего
слоя
Hard Дает черный или белый результат в цвете, основанный на сходстве
mix между верхним и нижним слоями

Differ- В каждой паре слоев вычитает пиксели с темным цветом из пикселей


ence со светлым цветом

Exclu- Выполняет тот же результат, что и метод Difference, но с более низким


sion контрастом

Hue Использует цвет верхнего слоя, яркость и контрастность нижнего слоя


510  Шейдеры V-Ray for Maya

Таблица 5.1 (окончание)


Режим Пример Описание
Satura- Использует цвет верхнего слоя, яркость и оттенок нижнего слоя
tion

Color Получает оттенок и насыщенность от верхнего слоя и яркость


от нижнего слоя

Value Получает яркость от верхнего слоя и оттенок и насыщенность


от нижнего слоя

С помощью атрибута Opacity регулируется прозрачность слоя в диапазоне


от 0 до 1, где 1 – полностью непрозрачный, а 0 – полностью прозрачный, и не
оказывает влияния на материал.
Иконка с корзиной (Bin icon) выполняет удаление слоя. Но помните: это
действие отменить нельзя.
С помощью кнопок с символами стрелок вверх/вниз (Up/Down buttons) вы-
полняется перемещение слоя в стеке на уровень вверх или вниз.

Шейдер Multi Sub-Object Map | VRayMultiSubTex


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

Рис. 5.3.24  Пример визуализации сцены


с применением шейдера VRayMultiSubTex
Шейдеры текстурных карт V-Ray  511

На рис. 5.3.24 атрибуту Get ID from задан режим Object ID. Каждому элемен-
ту кузова тепловоза и объекта-образца присвоен уникальный Object ID. Шей-
дер VRayMultiSubTex назначен диффузному каналу шейдера VRayMtl.

Рис. 5.3.25  Интерфейс шейдера VRayMultiSubTex


в редакторе атрибутов

Интерфейс шейдера прост (рис. 5.3.25); шейдер может быть создан как с по-
мощью Node Editor, так и с помощью Hypershade и связан простым перетаски-
ванием с любым узлом шейдеров материалов и текстур. Атрибут Default Color
задает цвет или текстурную карту, используемые для затенения объектов по
умолчанию, без применения идентификаторов объектов.
Раскрывающийся список Get ID from указывает метод определения и выбо-
ра идентификаторов Object ID:
 режим Use face material ID действует, когда к разным граням одного
и того же объекта применяется несколько материалов внутри, Maya соз-
дает идентификаторы граней. Если все эти материалы используют один
и тот же шейдер VRayMultiSubTex, в процессе визуализации V-Ray бу-
дет учитывать идентификаторы граней (Face ID’s) при передаче данных
(цвета или текстуры) к материалам. На рис. 5.3.26 приведен пример свя-
зей между несколькими материалами VRayMtl и полигональным объ-
ектом (A). Каждый из четырех материалов (C) связан с объектом за счет
определенных граней, группы затенения (B) направляют данные геоме-
трическому объекту согласно Face ID, шейдеры (С) получают цвет со-
гласно текстурной карте VRayMultiSubTex (D) и заданным с ее помощью
ID-текстур и цветов;
 режим Use object ID учитывает Object ID, присвоенные объектам при
передаче данных (цвета или текстур) к материалам (рис. 5.3.24);
512  Шейдеры V-Ray for Maya

Рис. 5.3.26  Пример графа шейдеров и их связей


с гранями полигонального объекта

 в режиме Random by RenderID назначаются случайные цвета на основе


RenderID (формируемые ядром V-Ray в процессе визуализации);
 в режиме Random by node name создается индекс цвета на основе име-
ни визуализируемого узла, к которому применяется текстурная карта;
 режим Random by instance ID назначает случайные цвета на основе
идентификаторов объектов (Object ID) для объектов, созданных систе-
мой частиц Maya;
 режим Texture Switch активирует атрибут Switch texture, чтобы опреде-
лить, какая текстурная карта используется в материале.
Атрибут Switch texture задает значение, которое выбирает текстуру из спи-
ска Texture List по номеру идентификатора (ID). Если значение переключателя
попадает между двумя текстурами из списка текстур, атрибут Interpolate по-
зволит выполнить интерполяцию между ними. В противном случае, когда он
отключен, будет использоваться ближайшая текстурная карта из списка Tex-
ture List.
Атрибут Loop Through Textures работает в режимах Use face material ID
и Use object ID. Когда назначенные с помощью шейдера VRayMultiSubTex текс­
турные карты больше граней и объектов и субтекстуры в карте, атрибут Loop
Through Textures отслеживает все субтекстуры и, как только они заканчивают-
ся, возвращается к первой субтекстуре, продолжаясь до тех пор, пока все грани
или объекты не получат субтекстуру. В режиме Use object ID все объекты с при-
своенным им идентификатором, отличным от 0, получают субтекстуру, а те,
которые с идентификатором объекта, равным 0, получают цвет по умолчанию.
Атрибут Seed доступен, когда выбран режим Random by node name; этот
атрибут позволяет пользователю изменять шаблон рандомизации.
Шейдеры текстурных карт V-Ray  513

Кнопка Add New Item добавляет новую субтекстуру в Texture List.


Атрибут Used делает текстурную карту активной для визуализации. С помо-
щью атрибута Value для режимов, в которых используются идентификаторы,
указывается идентификатор, соответствующий каждой текстурной карте.
Можно привести несколько примеров применения шейдера VRayMultiSub-
Tex. Шейдер может быть полезен при работе с анимированным значением
атрибута Switch Texture, когда применяете пользовательские атрибуты со-
вместно с userScalar, а также с выражениями.

Шейдер Ray Switch Map | VRayRaySwitch


Шейдер VRayRaySwitch является утилитарным шейдером, который может воз-
вращать разный цвет или текстуру, когда производится выборка поверхности
разными лучами, например GI, reflections, refractions и т. д. Например, это по-
зволяет использовать материал, у которого один диффузный цвет, если смо-
треть со стороны камеры напрямую, и другой цвет, если луч от наблюдателя
следует через поверхность с отражением.
Рассмотрим граф шейдеров, представленный на рис. 5.3.28, который уча-
ствует в формировании затенения объектов, представленных на рис. 5.3.27.
Для визуализации представленного эффекта используется шейдер VRayRay-
Switch (B), связанный с шейдером VRayMtl (A). В качестве основной текстур-
ной карты используется шейдер VRayLayeredTexture (С), связанный с атрибу-
том Default Texture шейдера VRaySwitch. Чтобы шейдер формировал цвет от
шейдера VRayMultiSubTex (D), при визуализации преломлений данный шей-
дер с ним связан через атрибут Refract Ray Texture. В отражениях шейдер фор-
мирует розовый цвет (см. отражения локомотива в объекте-образце, слева).
Теням определен темно-голубой цвет.

Рис. 5.3.27  Пример визуализации сцены


с применением шейдера VRayRaySwitch
514  Шейдеры V-Ray for Maya

Рис. 5.3.28  Пример графа шейдеров и их связей


с атрибутами замены и смещения лучей

Действие шейдера похоже на дополнительные атрибуты переопределения


шейдера VRayMtl, но на уровне шейдера текстурной карты, а не на уровне
шейдера материала. Кроме того, не имеет значения, где переключатель на-
правления лучей связан с основным материалом, если вы не настраиваете тек-
стурную карту для лучей теней. Обычно шейдер связывается с каналом Diffuse
Color, поэтому его легко найти и настроить позже.

Рис. 5.3.29  Интерфейс шейдера VRayRaySwitch


в редакторе атрибутов

Цвет и текстурная карта, используемая по умолчанию, определяется атри-


бутом Default Texture. В данном случае поверхность участвует в затенении
при выборке прямыми лучами, поступающими к ней со стороны наблюдате-
Шейдеры текстурных карт V-Ray  515

ля (камеры) (т. е. когда поверхность непосредственно напрямую видна). Если


шейдер связан с атрибутом Diffuse Color шейдера материала, связанные с этим
атрибутом текстуры будут отображаться в визуализируемом изображении.
Если необходимо изменить цвет или задать текстурную карту каналу теней,
используйте атрибут Shadow Rays Texture, который определяет цвет, когда
при выборке поверхность пересекается лучами теней.
Чтобы увидеть этот эффект при визуализации, шейдер VRayRaySwitch должен
быть подключен к каналу Opacity Map связанного с ним материала.

Атрибут GI Rays Texture определяет цвет или текстурную карту, которые


будут визуализироваться, когда выполняется выборка поверхности лучами,
формируемыми в процессе вычислений глобального освещения (GI).
При работе с отражениями и преломлениями атрибуты Reflection rays tex-
ture и Refraction rays texture определяют цвет и текстурную карту, исполь-
зуемые, когда выполняется выборка лучами, формируемыми при попадании
на поверхность с материалом, обладающим отражающим или преломляющим
свойствами (например, металл или стекло).
С помощью шейдера VRayRaySwitch можно выполнять оптимизацию визуа-
лизации, так сложные текстуры могут быть заменены более простыми, с низ-
ким разрешением и высокой компрессией при визуализации глобального ос-
вещения и отражений.
При желании достигнуть физически недостоверных результатов, в отличие
от базовой текстуры, формирующей диффузное затенение шейдера материа-
ла, для художественных целей можно заставить объект выглядеть по-другому
в отражениях или преломлениях, а также при визуализации глобального ос-
вещения.
Функционал шейдеров текстурных карт V-Ray позволяет реализовывать
многие специфичные задачи, которые могут помочь в реализации художе-
ственной идеи. Но технически возникают задачи, которые могут потребовать
применения определенных типов проецирования текстурных карт и приме-
нения формата текстур, поддерживающих проецирование изображений ин-
дивидуально по граням.

Шейдер Triplanar Texture Mapping | VRayTriplanar


Шейдер проецирования текстурных карт VRayTriplanarTex позволяет быстро
назначать растровые и процедурные двумерные текстуры объектам, которые
не имеют подходящих для них UV-координат. Шейдер работает, проецируя
одну или несколько текстурных карт вдоль осей пространства объекта в зави-
симости от нормалей поверхности визуализируемого объекта.
На рис. 5.3.30 приведен пример визуализации модели тепловоза с примене-
нием шейдера VRayTiplanar. На иллюстрации A представлено проецирование
единой текстурной карты без применения шейдера VRayTiplanar; обратите
внимание на то, как текстуры проецируются с растяжением по поверхностям
объектов, составляющих модель. На иллюстрации B приведен пример визуа-
лизации модели, на которую проецирование текстурной карты выполнено по
всем трем осям (X, Y и Z) с помощью шейдера VRayTiplanar. Иллюстрация C
516  Шейдеры V-Ray for Maya

демонстрирует проецирование трех различных текстур. Каждая текстура про-


ецируется по одной из осей. Обратите внимание на то, что данный шейдер
может быть использован как для затенения цвета, так и для проецирования
карт рельефности (bump mapping).

Рис. 5.3.30  Пример визуализации сцены


с применением шейдера VRayTriplanar
Шейдеры текстурных карт V-Ray  517

Рис. 5.3.31  Интерфейс шейдера VRayTriplanar

Раскрывающийся список Texture mode позволяет выбрать, использовать


одну или три текстурные карты для разных осей проекции:
 в режиме Same texture on all axes будет выполняться проецирование
одной и той же текстурной карты по каждой из локальных осей;
 в режиме Different texture on each axis можно использовать различные
текстурные карты при проекции по каждой из локальных осей.
Атрибуты Texture X, Texture Y и Texture Z задают текстуры для проеци-
рования по осям X, Y и Z, когда в качестве режима выбран Different texture on
each axis.
Атрибут Scale управляет размером текстурной карты. Смешивание между
проекциями выполняется с помощью атрибута Blend. Более низкие значения
обеспечивают более резкие переходы между проекциями.
Если необходимо переместить точку, относительно которой перемещает-
ся текстурная карта, используйте атрибут Frame offset. Вращение текстурной
карты определяется атрибутом Texture Rotation, который выполняет поворот
(измеряемый в градусах) вокруг соответствующей оси проекции. Если вклю-
чен атрибут Random texture rotation, ненулевые компоненты этого атрибута
будут указывать приращение для вращения. Вращение можно зафиксировать
с определенными приращениями (например, только на 45° или только на 90°),
установив для Texture Rotation требуемые приращения для разных осей.
Атрибут Space определяет тип пространства, используемого для проециро-
вания текстурных карт:
518  Шейдеры V-Ray for Maya

 при выборе типа Local object проекция выполняется в локальном про-


странстве объекта. Когда объект перемещается/вращается/масштабиру-
ется, текстура будет трансформироваться вместе с ним;
 при выборе типа Reference transform проекция выполняется в локаль-
ном пространстве другого узла в сцене. Если узел не указан, используется
мировое пространство. Этот режим полезен, когда необходимо сопоста-
вить несколько объектов с одним и тем же шейдером VRayTriplanar и по-
казать согласованное отображение на визуализируемом изображении.
Матрица Node Ref transform становится активной при выборе типа Refer-
ence transform, она указывает узел в сцене, относительно которого произво-
дится сопоставление объектов с шейдером. Если узел не указан явно, будет
использоваться мировое пространство.
Атрибут Random texture offset выполняет рандомное смещение текстурной
карты на основе выбранного в раскрывающемся списке Random mode режима.
Атрибут Random axis произвольно изменяет оси проекции в зависимости
от режима Random mode. С помощью атрибута Random frame rotation выпол-
няется произвольное вращение всего пространства проекции на основе вы-
бранного режима Random mode.
Раскрывающийся список Random mode указывает на то, как формировать
случайное число, необходимое для введения случайных изменений:
 By face ID – вычисляет начальное значение на основе material ID, при-
своенного грани геометрии;
 By render ID – вычисляет начальное значение на основе render ID объ-
ектов.
Применение triplanar textures позволяет значительно сэкономить время при
работе со средними и дальними планами, где не требуется высокая проработка
проецирования текстурных карт. Также рассмотренный шейдер VRayTriplanar
позволяет создавать специфичные эффекты проецирования текстурных карт,
давая больше возможностей для создания проекций текстурных карт.

Работа с текстурными картами в формате Ptex


Явно определенная параметризация поверхностей подразделений для на-
ложения текстурных карт увеличивает сложность и стоимость производства
анимационных фильмов и визуальных эффектов. Большинство используемых
в настоящее время методов параметризации требует усилий по настройке,
и ни один из них не является полностью общим. Студия Walt Disney Anima-
tion Studios (WDAS) предлагает новый метод проецирования текстур для по-
верхностей Catmull-Clark Subdivision Surfaces, который не требует подробной
параметризации.
Метод, реализованный в формате Ptex1, сохраняет отдельную текстуру для
каждой четырехугольной грани в подразделенной поверхности вместе с но-
вой соседней картой для каждой грани в одном файле текстуры для каждой по-
верхности. Формат Ptex использует данные о соседних гранях для выполнения

1 Найти более подробную информацию о формате Ptex, загрузить исходный код


и примеры можно со страницы в сети интернет: http://ptex.us/.
Шейдеры текстурных карт V-Ray  519

бесшовной анизотропной фильтрации текстур с различным разрешением на


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

Введение в Ptex
Проецирование текстурной карты является краеугольным камнем конвейера
визуализации многих студий. Многие используют поверхности Catmull-Clark
Subdivision Surfaces для подавляющего большинства моделей. Художники по
затенению часто наносят десятки слоев текстурных карт на каждую поверх-
ность. Эти текстурные карты определяют цвет и текстуру поверхности, силь-
ные и незначительные смещения в геометрии, интенсивность отражений, ше-
роховатость, анизотропное направление освещения, маски для смешивания
различных текстур на поверхности и многие дополнительные атрибуты.
Художественный внешний вид, которого обычно требуют арт-директора,
может быть достигнут только с помощью созданных вручную текстурных карт.
Когда используются процедурные текстуры, зачастую они являются просто
основой для рисования более детализированной текстурной карты, и специ-
алисты всегда предварительно визуализруют ее и сохраняют в качестве заке-
шированной растровой текстурной карты, предпочитая настраивать качество
фильтрации текстурных карт. Как известно, процедурные текстурные карты
трудно сглаживать в шейдере процедурной текстуры. Также выполняется ке-
ширование визуализируемых атрибутов, таких как Ambient Occlusion, в картах
текстур для эффективности визуализации. Таким образом, все модели будут
отображаемыми во всем производственном конвейере.
Предыдущие методы наложения текстур для поверхностей подразделений
были неэффективными, не обладали общностью и часто требовали кропотли-
вой ручной настройки. Мы попробовали различные атласы и объемные мето-
ды, которые обещали быть более общими и эффективными, но не смогли полу-
чить приемлемые результаты фильтрации. До разделения поверхностей патчи
NURBS были нашим стандартом моделирования, а наложение текстур было три-
виальным из-за их собственной двумерной параметризации; мы стремились
привнести ту же простоту текстурирования на поверхности подразделения.

Рис. 5.3.32  Модель T. Rex, состоящая из 2694 граней,


визуализированными с помощью Ptex.
Никакого явного назначения UV-координат не использовалось
520  Шейдеры V-Ray for Maya

Самый большой слой текстурной карты, смещение с мелкими деталями со-


держит 836 млн текселей, сохраненных в одном файле Ptex с индивидуальным
разрешением грани в диапазоне от 64×64 до 2048×2048 текселей. На гранях не
видно швов даже при близком увеличении.
В Disney хотели реализовать новый метод, который мог бы удовлетворять
следующим требованиям:
1) высокое качество – метод должен обеспечивать анизотропную фильт­
рацию, отсутствие видимого пространственного или временного нало-
жения, плавную фильтрацию для карт смещения и отсутствие видимых
швов;
2) основной – метод должен работать на любой геометрической модели
в конвейере независимо от топологии или сложности;
3) эффективный – метод должен быть экономически эффективным в от-
ношении хранения, ввода/вывода, памяти и использования ЦП;
4) легкая настройка – метод должен позволять создавать текстуру без ка-
кой-либо специальной подготовки.
Путем сопоставления текстур с использованием свойственной индиви-
дуальной параметризации подразделения геометрии методы, заложенные
в Ptex, отвечают поставленным в процессе разработки целям. Существует
элегантность и эффективность использования внутренней параметризации,
и это само по себе не является новой идеей, но высококачественная фильтра-
ция текстур на уровне граней ранее не рассматривалась.
Ключевым преимуществом использования внутренней параметризации
является свобода от необходимости назначать UV перед окрашиванием. На-
значение UV-координат традиционно было обязанностью специалистов Look
Development, который создает текстуры и шейдеры, определяющие внешний
вид модели. Из-за плотного графика производства этап Look Development
производится параллельно с другими этапами, что означает, что многие от-
делы студии имеют доступ только к моделям без параметризации. И даже если
UV-координаты были назначены при создании модели, отдел по Look Develop-
ment может в любой момент перенастроить ее, если текущие UV-координаты
не позволяют получить адекватное разрешение, и это приведет к аннулирова-
нию всех существующих текстур, включая те, которые были созданы в других
отделах на различных этапах производства. По этим причинам большинство
отделов студии ранее не имели доступа к картам текстур.
С Ptex этот процесс выглядит уже не так, как показано на рис. 5.3.33 вверху.
Прежде чем модель попадет в отдел Look Development, ее разработчики мо-
гут создавать карты смещения, художники по деталям – черновые элементы
и эскизы, аниматоры – карты атрибутов для контроля деформаций и т. д. И все
это может быть выполнено без опасения, что текстуры будут позже признаны
непригодными. Это также устранило одну из утомительных задач в проециро-
вании текстур – создание явной параметризации – наряду с сопутствующими
издержками и хлопотами, такими как передача данных параметризации по
конвейеру, повторная параметризация после пересмотра модели и т. д.
Принятие намеренно тривиальной параметризации для каждой грани ока-
залось далеко не тривиальной задачей. Собственный формат файла, кеш и ме-
ханизм фильтрации должны были быть разработаны и интегрированы с ком-
Шейдеры текстурных карт V-Ray  521

мерческим средством визуализации. В WDAS решили ряд исследовательских


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

Рис. 5.3.33  До разработки Ptex текстуры могли быть использованы


только в тех этапах, которые расположены ниже Look Development.
С Ptex текстуры могут быть использованы на любом этапе

Здесь мы рассмотрим оригинальный вклад: структуры данных и методы для


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

Ранние методы проецирования текстур


В WDAS произвели оценку предыдущих методов в соответствии с составлен-
ным специалистами студии списком требований выше (кинематографическое
качество, управление, эффективность и без установки), результаты приведе-
ны в табл. 5.2.
Pelting. Является обычным методом, применяемым к простым объектам,
и состоит в том, чтобы разрезать геометрию для представления ее топологии
в дискообразной форме, часто называемой шкурой, и проецировать ее обла-
сти плоскости UV-координат. Этот метод проецирования может быть приме-
нен к управляющей подразделением геометрии, но швы и искажения являются
серь­езными проблемами данного метода. Артефакты швов можно скрыть, соз-
522  Шейдеры V-Ray for Maya

давая и смешивая области перекрывающими картами, или их можно скрыть,


размещая швы в областях высокой кривизны или окклюзии, но ни один из
них не обобщается на сколь угодно сложные сетки. Искажение, вызванное вы-
равниванием криволинейных поверхностей на плоскости, можно уменьшить,
сделав больше разрезов, и можно минимизировать с помощью решателя. Не-
линейные решатели могут дать оптимальные результаты, а линейные реша-
тели быстрее, но имеют более высокое искажение, потому что они локально
только оптимизируют область, и все еще могут быть медленными при реше-
нии линейной системы N×N для N вершин (исследователи рассматривали гео-
метрию с 400 000 вершин).

Таблица 5.2. Оценка методов в соответствии с требованиями,


представленными WDAS
Высокое каче- Основной Эффективен Простота
ство метод настройки
Pelting V V
Atlas methods Возможно Возможно V
Projection V V
Volumetric textures V V
Prior per-face methods Возможно V Возможно
Ptex V V V V

Atlas methods. Некоторые методы обобщают планарное проецирование на


модели более высокой сложности, разбивая геометрию на несколько непере-
секающихся частей, которые проецируются в отдельных областях на плоско-
сти и упаковывают эти части в общую текстуру, называемую атласом (atlas).
Шаги проецирования на основе методов атласов проще, потому что развертки
имеют относительно немного граней и низкую Гауссову кривизну. Однако эф-
фективное размещение может быть затруднено. Кроме того, развертки, ко-
торые являются смежными в атласе, могут не быть смежными в модели, что
создает проблемы фильтрации. Б. Пурномо и соавт. (В. Purnomo, J. D. Cohen
и S. Kumar) попытались скрыть швы. Для этого они сохраняли небольшой паз
вокруг каждой развертки на каждом уровне mip-текстуры и корректировали
координаты текстуры таким образом, чтобы трилинейный фильтр никогда не
перекрывал паз, но трилинейная фильтрация не достигает достаточного для
производства качества.
Projection. Тип проецирования Projection mapping не требует опредеденных
UV-координат. Значения текстуры просматриваются с помощью проекции на
плоскость или другую параметрическую поверхность. В некоторых студиях
Projection mapping является основным методом наложения текстурных карт.
Карта глубины (depth map) используется для предотвращения проецирования
текстурной карты на скрытую геометрию. Сложная геометрия может быть
проблематичной, требуя нескольких проекций для покрытия всей площади
объекта, возможно, с ручным объединением между проекциями, и могут воз-
никнуть артефакты в смещении карты глубины. Отображение и визуализация
текстур также является дорогостоящими процессами и требует многократного
Шейдеры текстурных карт V-Ray  523

преобразования матрицы перспективы, а также поисков карты глубины и кар-


ты цвета для каждой точки затенения.
Volumetric textures. Значения текстуры могут быть сохранены в объемной
структуре данных, такой как octree или brick map. Объемные текстуры не тре-
буют определенных UV-координат и, следовательно, не требуют времени на
подготовку. Однако хранение и поиск менее эффективны, чем для 2D-текс­
тур. Существуют также проблемы с фильтрацией, потому что фильтрация
происходит в трехмерном пространстве, а не на поверхности. Цвета могут
проходить через близлежащие поверхности с похожими нормалями, поэто-
му таким поверхностям должны быть назначены отдельные текстурные кар-
ты. В литературе была описана только трилинейная фильтрация, и смежные
воксели с различными разрешениями также представляют проблемы фильт­
рации.
Предыдущие методы проецирования на грани. Некоторые методы про-
ецирования хранят данные текстуры на гранях геометрии. Ли и соавт. (А. Lee,
Н. Moreton и Н. Hoppe) в своей работе продемонстрировали упрощение по-
верхности Loop subdivision surface до одной из эквивалентной по топологии
с меньшим разрешением и использовали карты смещения на поверхности
для восстановления исходной поверхности. Они также хранят произвольные
атрибуты, такие как цвет, в текстуре на грани и используют правила поверх-
ности Loop subdivision surface для интерполяции значений. Карты PolyCube
хранят текстуры на гранях организованного набора кубов, которые прибли-
зительно аппроксимируют базовую геометрию, но не подходят для сложных
моделей. Метод TileTrees хранит текстуры на гранях кубов, организованных
в octree, и поддерживает более общую геометрию, чем PolyCubes. Однако ни
один из этих методов не обеспечивает фильтрацию высокого качества, при-
емлемую для производства анимации. Примечательно, что в данных методах
не предусмотрена анизотропная фильтрация.
Таким образом, только два из этих методов, pelting и projection, соответ-
ствуют предъявляемым требованиям к методам фильтрации, но ни один из
них не является основным, и при нем проекция особенно неэффективна. До
появления формата Ptex большинство моделей, создаваемых в WDAS, было
разбито на маленькие части, которые можно было отдельно сопоставить стан-
дартными методами, но это привело к значительным производственным за-
тратам и повысило сложность и требования к системным ресурсам.

Общий принцип работы Ptex


Формат Ptex сохраняет отдельную текстуру для каждой грани, составляющей
подразделенную поверхность, каждая текстура может иметь независимый
размер. Текстура может быть спроецирована на любую поверхность из еди-
ного файла в формате *.ptex, содержащего все текстуры для каждой поверхно-
сти, независимо от сложности геометрии. Файл Ptex также содержит данные
о соседних элементах в топологии, которые используются для фильтрации
по граням. Бесшовная фильтрация особенно важна, чтобы избежать артефак-
тов освещения при использовании карт смещения. Ниже описан принцип
индивидуальной параметризации, используемый в WDAS, и как компактно
хранить данные о соседних элементах в файле текстуры. Также будет описа-
524  Шейдеры V-Ray for Maya

но, как эффективно масштабировать и хранить текстурные карты для каждой


грани; предложен метод фильтрации текстур на поверхности в системе ви­
зуализации.

Параметризация на основе граней


Входными данными для алгоритма, используемого в Ptex, является произ-
вольная четырехугольная геометрия, которая полностью и уникально пара-
метризована с использованием координат <faceid, u, v>, где в качестве faceid
подразумевается положение каждой грани в представлении геометрии, u и v
являются внутренними параметрами подразделенной поверхности, и ориен-
тация UV определяется порядком вершин (предполагается, что <0, 0>, <1, 0>,
<1, 1>, <0, 1>). В то время как faceid, очевидно, является прерывающимся зна-
чением, параметризация все еще остается непрерывной через грани C2 на
поверхности предела Кэтмулла–Кларка, как только ориентация принята во
внимание. Например, в геометрии на рис. 5.3.34 ∂P/∂u на грани 12 совпадает
с ∂P/∂v на грани 8.

А В

Рис. 5.3.34  На иллюстрации A приведена часть управляющей геометрии,


показывающая внутренние грани и ребра. На иллюстрации B
представлена соответствующая результирующая поверхность,
показывающая непрерывные изолинии на гранях

Четыре ребра каждой четырехугольной грани пронумерованы от 0 до 3 и сле-


дуют за порядком вершин. Данные о соседних гранях, необходимые для филь-
трации, хранятся в виде массива из четырех смежных граней и ребер, форми-
рующих грани. Faceid, равный –1, указывает, что ребро находится на границе
геометрии. Например, грань 7, показанная на рис. 5.3.34, будет иметь данные
о соседях в виде {adjfaces: <–1, 8, 17, –1>; добавляется: <x, 3, 0, x>, x = все равно}.
Чтобы учесть разницу в ориентации между соседними гранями, число ша-
гов поворота на 90° от грани i до грани j можно вычислить из edgeid для общего
ребра (при условии согласованного порядка формирования) как r = (ei – ej + 2)
mod4, и валентность вершины можно определить простым пересечением.
При выделении 32 bit для каждого faceid и 2 бит, выделяемых для каждого
edgeid, объем данных о соседних элементах составляет всего 17 байт на грань.
Эти данные дополнительно сжимаются в файле вместе со всеми остальными
данными в заголовке.

Размер и хранение текстур


Несмотря на то что не требуется явного шага параметризации, текстуры по-
прежнему должны иметь эффективный размер, как показано на рис. 5.3.35. Про-
Шейдеры текстурных карт V-Ray  525

изводятся выборки производных поверхностей по каждой грани f, чтобы найти


минимальную плотность текселей в u и v (что происходит в максимальной точке
производной поверхности) и вычисление коэффициентов масштаба для каждой
поверхности su(f) = 1/(max∂P/∂u) и sv(f) = 1/(max∂P/∂v). В своей работе разработчи-
ки описывают, что стараются избегать выборки вблизи сингулярности в необыч-
ных вершинах. Коэффициенты масштаба вычисляются всякий раз, когда модель
загружается в систему рисования текстур в 3D-пространстве. Затем пользовате-
ли могут регулировать глобальную плотность текселей ρ (заданную в текселях
на единицу в пространстве объекта), и каждой грани будет выделена текстура
с разрешением ρsu(f )×ρsv(f ), увеличенным до ближайшей степени двух. Кроме
того, пользователи имеют полный локальный контроль разрешения для каждой
грани, чего нет в большинстве систем проецирования текстур.

Рис. 5.3.35  Модель, содержащая 212356 граней, которой присвоен мате-


риал с текстурой в одном файле Ptex. A – текстурная карта Ambient Occlusion.
B – детальное изображение, на котором показаны отдельные грани с цветовой
кодировкой, на которые спроецирована текстура 4×4 текселя на грань; сплош-
ные области являются текселями. C – разрешения граней, распределенные на
основе производных поверхности, демонстрируют гораздо лучшее покрытие
поверхности при использовании того же бюджета в 3.4 млн текселей

Например, пользователи могут увеличить разрешение только на тех гранях,


к которым должна приближаться камера и для которых существует необходи-
мость в демонстрации крупным планом.
Как и в большинстве систем текстурирования, в рассмотренной разработ-
чиками сохраняются симметричные сокращения каждой текстуры, отфиль-
трованные методом Box, т. е. mip-текстуры в файле Ptex. Однако, вместо того
чтобы хранить отдельную пирамиду изображения для каждой текстуры, со-
храняются полные наборы текстур граней в слоях разрешения (resolution lay-
ers). Первый слой содержит текстуры в полном разрешении, следующий слой
содержит текстуры, которые были уменьшены и т. д. Каждая текстура в слое
все еще хранится в своем собственном блоке с прямым доступом. Уровни раз-
решения просто служат для улучшения локального доступа к диску.
В производстве WDAS также используются асимметричные уменьшения для
анизотропной фильтрации; без них форма фильтра текстуры может расти про-
извольно в одном направлении в пространстве текстур и значительно снижать
производительность. Другие системы хранят асимметричное уменьшение на-
прямую в файле текстуры, но это обычно не используется на практике из-за
526  Шейдеры V-Ray for Maya

высокого объема, занимаемого при хранении. Полный набор асимметричного


уменьшения увеличивает размер файла на 300 % по сравнению с 33.33 % для
симметричных уменьшений. Чтобы избежать затрат на объемы хранения дан-
ных и ввод/вывод, Ptex динамически генерирует асимметричное уменьшение
из ближайшего доступного разрешения, чего не было в других системах.
В дополнение к mip-текстурам в Ptex сохраняется один блок данных, со-
держащий средние значения текстурных карт, по одному значению на грань.
Для граней, которые являются постоянными, что является обычным явлением
во многих текстурах, используемых в производстве, это единственное необ-
ходимое хранилище (т. е. не нужны mip-текстуры). Кроме того, для удален-
ных на расстояние от камеры объектов, которые проецируются на небольшую
область плоскости изображения, это является единственным блоком данных,
который необходимо считывать из файла для любой грани, постоянного или
нет, что обеспечивает значительное сокращение ввода/вывода файлов. Кроме
того, если все грани, пересекающие центр фильтра, являются постоянными, то
вычисление фильтрации не требуется.

Фильтрация
В этом разделе рассмотрен метод анизотропной фильтрации текстур с мно-
жественным разрешением для каждой грани. Формат поддерживает увеличе-
ние и уменьшение в единой структуре. Описываемый в данном разделе метод
предназначен для работы с Photorealistic Renderman от анимационной студии
PIXAR (PRMan), но должен быть адаптирован к любой другой системе визуали-
зации, используемой в производстве, например V-Ray.

Рис. 5.3.36  Четырехугольная грань, к которой применено под-


разделение, делится вдоль изопараметрических линий u и v на
грани с микрополигонами размером примерно с пиксель. Размер
микрополигона du×dv постоянен для каждой грани

В общем случае. В системах визуализации, действующих по принципу


REYES, таких как RenderMan, выборка карты текстур выполняется в точках за-
тенения, как показано на рис. 5.3.36. Ядро визуализации разбивает геомет­
рические примитивы на прямоугольные грани затенения и передает интер-
вал граней в шейдер с помощью встроенных переменных du и dv. Поскольку
поверхности Кэтмулла–Кларка сформированы лицом к лицу вдоль парамет­
рических линий, текстуры на поверхности выровнены по граням затенения,
Шейдеры текстурных карт V-Ray  527

а область фильтра представляет собой просто прямоугольник размера du×dv.


Это позволяет достичь полностью анизотропной фильтрации с помощью от-
дельного фильтра. С реализованным в Ptex методом можно использовать лю-
бой тип фильтра, но разделяемые фильтры более эффективны в отношении
вычислений, чем радиальные или эллиптические типы фильтров.
Для достижения желаемых требований к качеству фильтрации разработчи-
ки использовали бикубическую фильтрацию. Разрешение было ограничено
в соответствии с максимально доступным разрешением для текстуры текущей
грани. Таким образом, ширина фильтра варьируется от 1.0 до 2.0 текселей,
а для бикубического типа фильтрации (ширина которого равна 4) потребуется
от 4 до 8 выборок в каждом направлении. Когда фильтр фиксирован макси-
мальным разрешением, он действует как фильтр увеличения и эквивалентен
интерполяции кубической кривой.

Рис. 5.3.37  Фильтр 6×6, перекрывающий угол грани. На иллюстрации A


в обычном случае фильтр накладывается по микрообластям на каждую пере-
крывающуюся грань для получения плавного результата. B – за границей ге-
ометрии вес фильтра применяются к смежным текселям на краю. C – когда
смежная грань имеет недостаточное разрешение, каждый вес фильтра приме-
няется к ближайшему доступному текселю. D – рядом с необычной вершиной
менее понятно, как применить прямоугольную фильтрацию

Когда фильтр выходит за край грани, он будет разделен и сгруппирован по


кусочкам с каждой перекрытой им гранью, как показано в иллюстрации A на
рис. 5.3.37. Если фильтр перекрывает границу объекта, будет применен вес
фильтра за пределами границы к смежным текселям по краю, показанным на
иллюстрации B. Это обычно называется усечением границы.
528  Шейдеры V-Ray for Maya

Если соседняя грань имеет недостаточное разрешение или если фильтр пе-
рекрывает необычную вершину, т. е. валентность N ≠ 4, то будут использованы
специальные методы, описанные в следующих подразделах.

Рис. 5.3.38  Две соседние грани смещены с тексту-


рами разного разрешения, показанными в одномер-
ном поперечном сечении. A – ограничение границы
создает разрыв, а также изгибает восстановленные
нормали к поверхности без смещения. B – фильтра-
ция по краям уменьшает разрывы, но, что более важ-
но, разгибает нормали

Несоответствие разрешения. Когда соседняя грань для текущего размера


фильтра имеет недостаточное разрешение текстурной карты, тексели не со-
впадают с весами фильтра. В этом случае применяется каждый вес ядра к бли-
жайшему доступному текселю, как показано на рис. 5.3.37 C. Можно использо-
вать ограничение границы (как это обычно делается с лоскутами NURBS), но
при использовании с картами смещения это приводит к изгибу смещенных
нормалей к необращенной поверхности, как показано на рис. 5.3.38 A, и может
привести к значительным артефактам в освещении. Фильтрация по краю соз-
дает более согласованные нормали (рис. 5.3.38 B) и, как правило, дает меньший
разрыв. Сам разрыв, однако, не является проблемой, потому что такая система
визуализации, как RenderMan, автоматически соединит геометрию обратно,
добавляя микрополигоны для заполнения образовавшегося промежутка.
Стоит отметить, что несоответствие разрешения происходит только при
увеличении, что является редким явлением в производстве, потому что ху-
дожники всегда пытаются создавать текстуры с более чем достаточным раз-
решением, это и вызывает только видимые артефакты с большими, плавными
смещениями. При небольшом увеличении расстояние граней будет близко
к расстоянию текселей, и описанного здесь метода достаточно, чтобы скрыть
любые возможные артефакты швов. Разрыв будет на самом деле не больше,
чем тот, который вызван переходами между разрешениями предварительно
Шейдеры текстурных карт V-Ray  529

применяемых фильтров, – проблема дополнительно обсуждается далее. Если


важно большое увеличение, можно полностью избежать артефактов, просто
создав все текстуры для граней с одинаковым разрешением.
Неординарные вершины. Метод разбиения фильтра на четыре части, как
описано выше, хорошо работает вблизи правильных/регулярных вершин. Ме-
нее понятно, как протянуть прямоугольное ядро фильтра через необычную
вершину (EV), такую как на рис. 5.3.37 D.
Чтобы сформировать плавную реконструкцию текстуры вблизи EV, по-
верхность Кэтмулла–Кларка может быть сформирована из текселей спосо-
бом, представленным в публикации Аарона Ли и соавторов (A. Lee, H. Moreton
и H. Hoppe). В дополнение к повышенным вычислениям и сложности самая
большая проблема этого подхода заключается в том, что он не поддерживает
анизотропную минимизацию. К счастью, почти во всех практических случаях
реконструкция Кэтмулла–Кларка не нужна.
При минимизации или небольшом увеличении область вокруг EV является
субпиксельной, и плавная реконструкция не важна. Она просто игнориру-
ет угловые грани и ренормирует центральную область фильтра. Это создает
разрывы вдоль краев около EV, но производит незначительные артефакты.
При значительном увеличении больших плавных смещений могут быть вид-
ны артефакты шва. В этом случае реконструкция Кэтмулла–Кларка все еще
может использоваться, но это еще не было необходимо в решении практи-
ческих задач.
Фильтры с большой шириной. Когда размер визуализируемой грани
меньше пикселя, RenderMan будет производить выборку только углов каждой
грани, а ширина фильтра du и dv будет превышать 1 (т. е. больше, чем грань).

Рис. 5.3.39  Геометрия, содержащая постоянные 32×32 цветные грани, по-


лученными с разрешением от 256×256 до 8×8 пикселей без смешивания (A)
и со смешиванием граней (B). Чтобы выявить сглаживание, фильтр пикселей
был отключен с помощью фильтра типа Box с выборкой в 1 пиксель. Для срав-
нения изображения с наименьшим разрешением из (A) и (B) были повторно
визуализированы в (C) и (D) с использованием фильтра типа Gaussian с вы-
борками 5×5 и 9×9. При выборках 5×5, являющихся общими настройками, ис-
пользуемыми в производстве, сглаживание уменьшается, но все еще видно (С,
слева). При выборках 9×9 пространственное наложение исчезает, но смещение
все еще видно, что может привести к мерцанию во время анимации (С, справа)
530  Шейдеры V-Ray for Maya

Кроме того, когда многие грани являются субпиксельными, средство ви-


зуализации может выполнять выборку поверхности (поскольку используется
только 1 микрополигон на образец пикселя), и может иметь место наложение.
Для обработки ширины фильтра, превышающей 1.0, используется специаль-
ный метод предварительной фильтрации, в котором текстуры в 1×1 тексель
на каждой поверхности многократно смешиваются путем фильтрации по
ячейкам с их непосредственными соседями. Объединение фильтра типа Box
n раз формирует B-кривую n-порядка и имеет эффективную ширину фильтра,
пропорциональную sqrt(n). Трехэлементный фильтр Box, объединенный n раз,
имеет эффективную ширину фильтра приблизительно 1.5sqrt(n). Ценность об-
работки является умеренной, поскольку используются только текстуры в 1×1
тексель на грань, и отфильтрованные значения могут быть вычислены один
раз и помещены в кеш. Результаты показаны на рис. 5.3.39.

Рис. 5.3.40  Поверхность визуализируется с помощью карт цветов и смеще-


ний при минимизации с использованием контрольной сетки, показанной слева
вверху. На верхних изображениях показаны артефакты, которые могут возник-
нуть при использовании других методов: (a) изотропная фильтрация приводит
к нежелательному размытию; (б) бикубическая фильтрация с использованием
ядра S = 1 показывает наложение с мелкими смещениями (билинейный намно-
го хуже); (в) зажимное ядро на границах лица обнаруживает швы с большими
плавными смещениями. Нижние изображения показывают (а) нашу анизотроп-
ную фильтрацию, (б) ядро S = 0 и (в) бесшовную фильтрацию по краям

Результат
Рисунок 5.3.40 демонстрирует, что метод, представленный разработчиками,
соответствует заявленным требованиям к качеству фильтрации. Разработан-
ный для Ptex тип анизотропной фильтрации обеспечивает высококачествен-
ную минимизацию цветных текстурных карт и карт смещений и обеспечивает
хорошее сохранение деталей. Ядро S = 0 фильтрует карты смещения без види-
мого наложения. А фильтрация через границы граней дает плавные результа-
ты даже для больших плавных смещений и даже при наличии нескольких EV
с валентностью 3 и 5.
Шейдеры текстурных карт V-Ray  531

Полнометражный фильм «Вольт», выпущенный студией WDAS в 2008 году,


был создан примерно на 60 % благодаря этапу Look Development. И на тот мо-
мент более 80 000 поверхностей было затекстурировано с помощью Ptex с ис-
пользованием в среднем 7 слоев текстур на поверхность и 2.3 мегатекселя на
файл Ptex. Самый большой файл Ptex имеет более 3.3 гигатекселя – разреше-
ние, которое невозможно достичь с помощью традиционных файлов текстур.
Окончательный производственный кадр показан на рис. 5.3.41.

Рис. 5.3.41  Финальный кадр из анимационного фильма «Вольт»,


в котором использованы текстурные карты в формате Ptex.
© Walt Disney Animation Studios

Повышение эффективности производства было значительным. Устранение


этапа UV-развертки упростило производственный конвейер студии и повыси-
ло эффективность работы художников, а также был достигнут рост производи-
тельности ввода/вывода в процессе визуализации. Модернизированная ферма
визуализации обладает большими возможностями визуализации по сравне-
нию с предыдущими производствами, а использование текстур для каждого
визуализируемого кадра существенно увеличилось. Несмотря на возросшую
потребность, Ptex фактически снизил нагрузку на функции ввода/вывода тек-
стур на серверах, которые работали почти на пределе производительности
в предыдущих проектах, и позволил избежать дорогостоящего обновления.
Разработчики связывают сокращение потребности в операциях ввода/вы-
вода в значительной степени с тем фактом, что Ptex требует только один файл
на поверхность (объект), а не сотни, создаваемые с помощью предыдущих
методов, но другие оптимизации, которые описаны выше, вероятно, также
способствуют. Время задействования процессора также конкурентно и часто
быстрее, чем при работе с предыдущими методами текстур.
Отзывы художников были исключительно положительными. Художники
сообщали, что модели, которые было бы очень трудно нарисовать с помощью
532  Шейдеры V-Ray for Maya

предыдущих методов, просты с Ptex, и возможны уровни визуальной сложно-


сти, которые ранее были недостижимы.

Ответы на возможные вопросы


А как насчет нечетырехугольной геометрии? В рабочем конвейере WDAS
уже был выбран метод моделирования на основе четырехугольников, и разра-
ботчики не считают его сложным для процесса моделирования. Тем не менее
считается, что расширения Ptex, реализующие поддержку нечетырехугольни-
ков (треугольников, пятиугольников), должны быть реализованы напрямую
в формате. Система визуализации RenderMan уже подразделяет нечетыреху-
гольники на четырехугольники, прежде чем разделять на группы, поэтому для
нечетырехугольных граней просто бы назначали одну текстуру для каждой
субграни. Нужно было бы расширить структуру соседних граней и алгоритмы
фильтрации для обработки введенных T-пересечений между субгранями не-
четырехугольников и смежных четырехугольников, но основные идеи все еще
должны применяться. Впоследствии разработчики расширили формат Ptex
для работы с треугольными гранями при Loop-подразделении.
Должна ли область фильтрации основываться на пикселях экрана,
а не на затенении? Круглое изображение пикселя имеет эллиптическое пред-
варительное изображение в пространстве текстуры, и, таким образом, иде-
альная область фильтра обычно считается произвольным эллипсом, но это не
может быть определено по несмещенной поверхности и, следовательно, не-
применимо к отображению смещения. В RenderMan обычной практикой яв-
ляется использование предварительного изображения, сформированного для
микрополигона (а не окончательно визуализированного пикселя) в качестве
области фильтра. Если используется коэффициент затенения субпикселя и не-
достаточная дискретизация фильтрацией пикселей является проблемой, то
сглаживание можно все еще уменьшить, просто масштабируя размер фильтра
на (1/ shadingRate ), чтобы область фильтра оставалась приблизительно равной
размеру пикселя.
Почему бы не использовать фильтр более высокого уровня для пред-
варительной фильтрации и простую билинейную интерполяцию для ре-
конструкции (как описано в публикации Б. Пурномо и соавторов)? Как
показано на рис. 5.3.42, фильтр типа Box имеет наименьший спад по сравне-
нию с фильтрами без повышения резкости, обычно используемыми на практи-
ке. Для сравнения фильтр типа Gaussian значительно ослабляет детализацию
вблизи частоты фильтра и является нежелательно мягким. Фильтр Gaussian
также должен быть правильно ограничен и иметь адекватную поддержку, ина-
че он будет обладать существенным наложением в дополнение к размытости.
Фильтр повышения резкости, такой как Catmull-Rom, может иметь лучший
отклик в небольшой частоте, чем фильтр типа Box, но может создавать шум,
который увеличивается во время формирования изображения текстуры. Сгла-
живание в пространстве может происходить с помощью фильтра Box, но он
минимизируется, потому что фильтр всегда выровнен по текселю как умень-
шение в 4:1 или 2:1. Обратите внимание, что временное сглаживание, которое
гораздо более заметно, чем пространственное сглаживание, не является про-
блемой, потому что префильтр временно инвариантен.
Шейдеры текстурных карт V-Ray  533

Рис. 5.3.42  Частотная характеристика различных фильтров

Для реконструкции на рис. 5.3.40 показано, что даже использование филь-


тра типа Bicubic может производить видимое сглаживание для карт смещения
геометрии. Более примитивный фильтр, такой как Bilinear, работает значи-
тельно хуже, и простое совмещение его с префильтром более высокого уровня
не устранит наложение.
Каковы последствия того, что ширина фильтра может постоянно из-
меняться, по сравнению с использованием фиксированного размера
фильтра 4×4, которое обычно используется с бикубическими кривыми?
Фиксированный размер фильтра 4×4 обеспечивает непрерывное восстановле-
ние в пределах уровня mip-текстуры, но, когда фильтр сменяет разрешение,
может быть видимый разрыв. Линейная интерполяция, или «скачок», между
двумя ближайшими уровнями mip-текстуры обычно используется для устра-
нения разрыва, но требует вдвое больше ресурсов. Во-первых, детали теря-
ются, потому что нижний уровень разрешения mip-текстуры объединяется
с результатом. Во-вторых, расхождения увеличивают вес вклада фильтра, осо-
бенно при использовании с анизотропной предварительной фильтрацией, где
скачок должен выполняться как в направлениях u, так и в v, а для этого тре-
буется 64 выборки фильтра, по 16 выборок для каждого из четырех отдельных
разрешений текстур.
Напротив, с ядром переменной ширины, применяемым в Ptex, и предва-
рительной анизотропной фильтрацией разрывность mip-текстур сводится
к тому, что она становится незаметной, и скачок не нужен. Затраты также раз-
умны, в среднем требуется 30.25 образцов на фильтр, и для любой заданной
точки затенения требуется только один уровень разрешения текстурной кар-
ты. Как и фиксированный фильтр, фильтр с переменной шириной обеспечи-
вает непрерывное восстановление в пределах уровня mip-текстуры, учитывая,
что k(x) является непрерывной, а ширина фильтра непрерывно изменяется.
Тот факт, что интервал граней резко меняется от модели к модели, не является
534  Шейдеры V-Ray for Maya

проблемой благодаря функции гладких производных, реализованной в Ren-


derMan. Ядро RenderMan фильтрует значения du и dv, чтобы сделать их непре-
рывными по всей поверхности, прежде чем передавать их в шейдер.
У ядра фиксированной ширины есть одно теоретическое преимущество
в качестве. Митчелл признал, что для разделяемых кубических фильтров из-
менения частоты дискретизации (периодический шум, равный интервалу вы-
борки) могут быть уменьшены до нуля с помощью фильтра с фиксированной
шириной, равной четырем. Когда ширина фильтра может изменяться, область
фильтрации должна быть нормализована, чтобы объем оставался равным 1.0
и чтобы получить хороший вид в пространстве плоскости (способность вос-
станавливать постоянную функцию), а нормализация привносит пульсацию.
Для применяемого в Ptex фильтра переменной ширины разработчики по-
пытались нормализовать центр бикубического фильтра с использованием
интеграла аналитического объема, но это привело к значительной нестабиль-
ности частоты выборки и плохому результату в пространстве плоскости для
неинтегральных значений ширины фильтра. Вместо этого было обнаружено,
что нормализация весов центра фильтра дискретна. Тем самым можно резко
уменьшить пульсацию частоты дискретизации и достигнуть идеального ре-
зультата в пространстве плоскости.
Оставшаяся неравномерность пропорциональна изменению данных. Была
вычислена пиковая ошибка в 0.43 % от изменения данных при ширине филь-
тра, равной 1.61, для центра фильтра S = 0 (неравномерность несколько больше
для других значений S). Это незначительно и меньше, чем неравномерность
при использовании самого гладкого фильтра в RenderMan – radial-bspline.

Создание текстур в формате Ptex с помощью Autodesk Mudbox


Так как формат Ptex рассчитан на работу с трехмерными данными, которыми
являются грани поверхности подразделения, их создание может быть выпол-
нено с помощью пакетов трехмерного рисования и текстурирования, а так-
же цифрового скульптинга, таких как Autodesk Mudbox, Pixolgic Zbrush, The
FOUNDRY MARI и 3DCoat.
Помимо этого, для визуализации полученных с помощью систем текстури-
рования текстур в формате Ptex необходимо использовать поддерживающую
данный формат систему визуализацию. Так, система визуализации V-Ray под-
держивает Ptex, начиная с версии 2.0, что делает ее пригодной для визуализа-
ции высококачественной анимации.
В данном разделе мы подробно рассмотрим процесс подготовки геометрии
под текстурирование с помощью Mudbox для формата Ptex. В данном случае
неважно, из какого приложения поступает модель на текстурирование. Она
может быть создана как в Maya, так и в 3ds Мax или даже в Houdini. Главное
условие – старайтесь придерживаться топологии и создавайте геометрию на
основе четырехугольных граней.
Модель может быть импортирована в Mudbox как с использованием фор-
мата Autodesk FBX, так и с помощью Waveform OBJ. В основном редакторе,
в котором создана модель, вы можете удалить UV-координаты, оставив только
базовый UV set, но без явных определений UV-координат, т. е. в редакторе UV
Editor должно быть пусто.
Шейдеры текстурных карт V-Ray  535

Импортированную модель необходимо подготовить к работе с Ptex. Так как


каждая грань может быть настроена индивидуально и содержать определен-
ное количество текселей, эту детализацию можно контролировать с помощью
инструмента PTEX Setup, доступ к которому можно получить с помощью меню
UVʼs & Maps ⇒ PTEX Setup… После активации инструмента на модель будет
наложена предварительная текстура, по резкости которой можно определять
качество и детализацию будущей текстуры (рис. 5.3.43).

Рис. 5.3.43  Редактор Mudbox с активным режимом PTEX Setup. Специаль-


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

Если же вы загрузили модель в первый раз, при попытке создать текстурную


карту или начать 3D-скульптинг будет выведено диалоговое окно, в котором
предоставляется возможность создавать UV-координаты в Mudbox или под-
готовить геометрию к работе с Ptex (рис. 5.3.44).

Рис. 5.3.44  С помощью диалогового окна No Texture Coordinates


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

Увеличить количество текселей как во всей модели, так и для отдельных


граней можно с помощью кнопки Increase, уменьшить – с помощью кнопки
536  Шейдеры V-Ray for Maya

Decrease. Для получения дополнительной информации воспользуйтесь кноп-


кой Help…. Принять все изменения можно с помощью кнопки Done, а отме-
нить – с помощью Cancel. Как видите, все просто. В информационной области
PTEX Setup отображается текущее разрешение, определяемое количеством
текселей. Что примечательно, в данном диалоговом окне вы можете увидеть
информацию о том, насколько превосходит по качеству текстура в Ptex, в срав-
нении с аналогичной текстурой, но в пикселях.

Рис. 5.3.45  Пример детализации текстурной карты в различных уровнях


разрешений Ptex. Иллюстрация A – разрешение текстуры 66 000 текселей, B –
разрешение равно 1 млн текселей, C – разрешение равно 16 млн текселей

Рисунок 5.3.45 демонстрирует влияние количества текслей на качество тек-


стурной карты Ptex. С помощью тестовой текстуры вы можете подготовить
уровень детализации перед началом процесса рисования и скульптинга.
Перейдя на уровень редактирования граней, можно выделить желаемые
грани объекта и назначить им индивидуальный уровень детализации тек-
стуры Ptex. Как показано на рис. 5.3.46, с помощью меню, вызываемого ПКМ
над выделенными гранями, можно увеличить разрешение текстурной карты
именно в определенной области.

Рис. 5.3.46  Меню, вызываемое в режиме PTEX Setup,


позволяющее настроить разрешение текстурной карты Ptex
для конкретных граней поверхности объекта
Шейдеры текстурных карт V-Ray  537

Экспорт текстурных карт, созданных с помощью Mudbox в формат Ptex,


можно осуществить благодаря редактору Export All Paint Layers (рис. 5.3.47),
вызываемому с помощью меню File ⇒ Export All Paint Layers…

Рис. 5.3.47  Диалоговое окно редактора Export All Paint Layers

Если текстурные карты создаются для нескольких объектов, составляющих


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

Узел текстурной карты V-Ray Ptex Map (VRayPtex)


Когда текстурные карты уже созданы и сохранены на диске, их можно импор-
тировать в целевую систему визуализации. Импорт текстур в формате Ptex
необходимо выполнять с использованием родных для системы визуализации
инструментов. Так, система визуализации V-Ray for Maya предоставляет пол-
ный набор инструментов для загрузки и визуализации текстурных карт в фор-
мате Ptex. За это отвечает специальный узел VRayPtex (рис. 5.3.48), доступный
в редакторах Hypershade и Node Editor в разделе Over Textures.
538  Шейдеры V-Ray for Maya

Рис. 5.3.48  Узел VRayPtex в редакторе атрибутов Maya

Поле Ptex File Name задает путь и имя файла в формате Ptex. Если вы ис-
пользуете секвенцию кадров, установите флажок Use Image Sequence. После
чего с помощью атрибута Image number задается номер кадра изображения,
которое будет загружено. Данный атрибут может быть анимирован. Если не-
обходимо изменить время начала секвенции, т. е. сместить начальный кадр,
используйте атрибут Image Offset.
Атрибут Cache Size (MB) – информация в файле Ptex сжата для меньше-
го занимаемого объема при хранении. Для использования в процессе визуа-
лизации он должен быть распакован и сохранен в оперативной памяти. Этот
атрибут определяет, какой объем ОЗУ (в МБ) будет выделен для загруженной
текстурной карты. Если значение достаточно велико для всей текстурной кар-
ты, информация извлекается только один раз и сохраняется в течение всего
Шейдеры текстурных карт V-Ray  539

процесса визуализации. В противном случае информация постоянно считыва-


ется с жесткого диска, извлекается и используется при необходимости. Низкое
значение, заданное данному атрибуту, может привести к медленной визуали-
зации больших файлов формата Ptex.
Для определения метода фильтрации текстурной карты используйте рас-
крывающийся список Filter Type. С помощью атрибута Width задается ши-
рина фильтра, а с помощью атрибута Blur определяется сила размытия текс­
турной карты. Если же необходимо увеличить резкость текстурной карты,
используйте атрибут Sharpness; данный атрибут становится активным, когда
в качестве метода фильтрации выбран Bicubic.
Текстура в формате Ptex может иметь несколько уровней mip-текстуры. Это
позволяет применять текстуру с более высоким разрешением к частям объек-
та, расположенным ближе к камере, а версию с более низким разрешением –
к частям объекта, которые удалены от наблюдателя. Когда атрибут Interpo-
lation between mipmap levels активирован, V-Ray выполнит интерполяцию
между различными уровнями mip-текстуры, чтобы в конце создать гладкую
бесшовную текстурную карту.
Ptex генерируется для конкретной геометрии/объекта. Иногда программа,
генерирующая Ptex, нумерует вершины геометрии в обратном порядке, что
приводит к проблемам с текстурированием. Включение атрибута Reverse ver-
tex order устраняет эту проблему.
Файл текстурной карты в формате Ptex может содержать произвольное ко-
личество каналов, и нет точного способа определить, какой канал содержит
какую информацию. Когда атрибут Automatically select color channels вклю-
чен, V-Ray пытается выбрать правильный канал красного, синего и зеленого.
Если этот атрибут отключен, пользователь вручную указывает, какой канал
содержит какую информацию.
Атрибуты Red/Green/Blue Channel позволяют вручную указать номера ка-
налов для красного, зеленого и синего цветов. Раскрывающийся список Alpha
определяет режим, в котором применяется альфа-канал:
 Solid – альфа-канал будет проигнорирован;
 Alpha from texture – информация для альфа-канала берется из содер-
жащегося в текстурной карте Ptex альфа-канала;
 Alpha from luminance – информация для альфа-канала берется из яр-
кости каналов R, G и B.
Когда атрибут Automatically select alpha channel включен, V-Ray автома-
тически выбирает альфа-канал, сохраненный в файле Ptex. С его помощью
атрибут Alpha channel вручную задает канал, определенный в файле Ptex.
Атрибут Color Gain позволяет корректировать цвета текстурной карты
в формате Ptex, приумножая значения цвета RGB в текстуре на значения цве-
та RGB, определенного данным атрибутом. Для смещения и коррекции цвета
используйте атрибут Color Offset. Данный атрибут добавляет заданные здесь
значения цвета RGB к значениям цвета RGB в текстуре Ptex.
Применение формата Ptex предоставляет широкие возможности для разра-
ботки текстур для применения в анимации. Учитывая возрастающий спрос на
анимацию, применение таких форматов данных, которые упрощают произ-
водственный процесс, помогает экономить время и ресурсы. Опыт примене-
540  Шейдеры V-Ray for Maya

ния Ptex на практике показывает значительный прирост производительности


в работе над крупными проектами.
Разработка высококачественных материалов требует определенной наблю-
дательности по отношению к окружающему миру. Каждый из элементов за-
висит не только от цвета и отражений, но также от деталей, которые могут
быть добавлены как геометрией, так и определенными эффектами затенения.
В процессе создания материала руководствуйтесь наблюдением за окружа-
ющим миром, собирайте материалы в подборки из фотографий и видео. Это
позволит всегда обращаться к определенным источникам как для получения
технических свойств, так и для художественного вдохновения.
Если у вас есть библиотека материалов, созданная ранее в одном 3D-пакете,
постарайтесь ее сохранить в унифицированном формате. Система визуали-
зации V-Ray отличается тем, что созданные для нее материалы, текстуры,
процедурные шейдеры и графы затенения могут быть с легкостью переданы
в другое приложение, поддерживающее V-Ray.
Функциональность шейдеров материалов V-Ray дает возможности для соз-
дания точных и реалистичных материалов, но требует понимания большого
количества принципов затенения поверхностей. Также визуальное оформле-
ние материала зависит от того, как выставлено освещение в сцене, формы гео-
метрии, окружающих объектов и многих других факторов.
Освещение, его цвет, интенсивность, экспозиция и форма влияют на вос-
приятие формы объектов и их материалов. Следующая глава целиком посвя-
щена работе с камерами и освещением в сцене, а также реализации данных
эффектов в V-Ray for Maya.
Глава 6
Камеры и освещение
в V-Ray

В этой главе вы познакомитесь с:


 основами постановки кадра;
 созданием и настройкой камеры Maya;
 V-Ray Physical Camera;
 основами постановки освещения;
 созданием и настройкой источников света.
В процессе визуализации 3D-модели художнику необходимо создать не толь-
ко материалы и назначить текстуры, но предстоит решать и ряд творческих
задач, связанных с подачей образа модели с помощью работы с кадром и све-
том. В данной главе разговор пройдет о том, как работают камеры и осве­щение
в V-Ray for Maya. Даны основы работы с камерой и установкой освещения на
основе классических схем, используемых в фотографии и кинематографе.
Работа с композицией кадра и постановкой света может занимать много
времени – необходимо понимать, как будет выглядеть сцена, как расположить
персонажей или объекты, которые необходимо визуализировать, и как можно
поработать с моделью за счет настройки освещения в сцене.

6.1. Основы работы с камерой


В своей основе компьютерная графика является сугубо техническим процес-
сом, но с ее помощью художники создают придуманные ими образы, используя
такие инструменты, как холст и кисти с красками. Модель и материалы с текс­
турами являются наборами данных, входящих в сцену, которую необходимо
визуализировать. Визуализация сцены выполняется со стороны наблюдателя,
который определен положением объекта камеры в сцене. Объекты в сцене
составляют композицию, играющую важную роль в подаче образа и реализа-
ции художественного замысла. С помощью установки камеры, расположения
объектов и освещения в сцене удается достигать максимально приближенной
к реальности детализации и достоверности.
В данном подразделе мы поговорим о композиции, дадим определенную
основу, которую впоследствии вы сможете расширять, применяя как свой
опыт, так и опыт других художников. Как и в фотографии, в видео и анима-
542  Камеры и освещение в V-Ray

ции важную роль играет операторское искусство, которому можно научиться,


только практикуясь, но опираясь на академические знания и основы.
В процессе работы над композицией кадра вам потребуется правильно
скомпоновать кадр. Без определенной разметки вы не сможете визуально
точно выстроить кадр. В Maya реализовано несколько простых инструментов,
которые помогают в построении кадра и его композиции.
На рис. 6.1.1 приведен пример отображения сцены в видовом окне проек-
ции камеры. Иллюстрация A демонстрирует пример, когда отключена функ-
ция отображения рамок Film Gate и Resolution Gate. Область (Frustum) – это
пространство, которое охватывает камера. Любой объект в области видимости
камеры отображается в изображении, получаемого с ее стороны.
Помните, что функция Film Gate не определяет всю область сцены, которая
будет визуализироваться. Вы можете настроить данную область, используя
атрибуты Camera Aperture и Film Fit в редакторе атрибутов. Вы также можете
установить разрешение визуализируемого изображения с помощью атрибу-
тов Image Size редактора Render Settings и заблокировать соотношение сторон
устройства (Device aspect ratio) или установив атрибут Device aspect ratio.
Границы Film Gate будут определять визуализируемую область только в том
случае, если пропорции апертуры камеры и разрешения визуализируемого
изображения одинаковы.
Иллюстрация B показывает границу, которая указывает область, опреде-
ленную разрешением визуализируемого изображения; размер данной обла-
сти и пропорции определяются атрибутами Image Size. Значение разрешения
визуализируемого изображения отображается над границей Resolution Gate
в видовом окне проекции.
Ориентируясь на размеры матриц и кадра пленки, используемых в реаль-
ных камерах, вы можете смоделировать максимально достоверную камеру,
приближенную по своим характеристикам к реальным прототипам. Обычно
реальная матрица охватывает больший диапазон изображения, чем финаль-
ное изображение, полученное в процессе съемки. Следует ознакомиться с тех-
ническими характеристиками камер, которые можно получить с помощью со-
ответствующей документации.
Когда вы работаете над анимацией, которая будет транслироваться по ТВ
и в которой будут присутствовать титры, необходимо учитывать и ориентиро-
ваться по областям экрана и титров (рис. 6.1.2). Их можно активировать с по-
мощью кнопок Safe Action и Title Action в панели инструментов видового
окна проекции.
Когда выстраивается композиция кадра, полезно опираться на визуальную
разметку, в рамках которой будут размещены объекты в сцене и будет проис-
ходить действие. Данный подход называется правилом третей (Rule of thirds) –
область кадра делится на девять прямоугольников, в которых располагаются
объекты сцены и на которые необходимо акцентировать внимание зрителя.
В Autodesk Maya реализован специальный инструмент – Field Chart
(рис. 6.1.3). Он представляет собой сетку 22×22 ячейки и 8 прямоугольных
треугольников. С ее помощью можно легко скомпоновать кадр и разместить
объекты, размещая как большие элементы, так и малые, тем самым управляя
детализацией в сцене.
Основы работы с камерой  543

Рис. 6.1.1  Функция Resolution Gate позволяет определить то,


какая область сцены попадет в кадр, и корректно заполнить область кадра объектами.
A – Resolution Gate отключен, B – Resolution Gate включен
544  Камеры и освещение в V-Ray

Рис. 6.1.2  Области Safe Action и Title Action помогают определить


области всего действия в кадре и области размещения титров

Рис. 6.1.3  Сетка Field Chart позволяет скомпоновать сцену


и расположить объекты таким образом, чтобы правильно привлечь внимание зрителя
Основы работы с камерой  545

Наибольший размер поля (№ 12) идентичен разрешению визуализируемого


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

Подробнее о правиле третей


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

Рис. 6.1.4  Примеры двух фотографий, созданных на основе правила третей

Фотографии, представленные на рис. 6.1.4, демонстрируют применение


правила третей. Горизонт на фотографии справа расположен ближе к гори-
зонтальной линии, отделяющей нижнюю треть фотографии от верхних двух
третей. Гора, находящаяся на расстоянии в 25 км, расположена в центральной
области. В то же время на фотографии слева наивысшая точка – колокольня
церкви – ориентирована по вертикальной оси, и через нее проходят пересе-
чения трех линий.
Чтобы воспользоваться преимуществом правила третей, помните, что инте-
ресные места на фотографии не обязательно должны касаться одной из этих
линий. Например, область неба около горизонта не падает непосредственно
на одну из линий, но расположена ниже центра изображения меж двух ли-
ний – это достаточно близко, чтобы воспользоваться преимуществом правила.
546  Камеры и освещение в V-Ray

Правило третей применяется путем выравнивания объекта по направляю-


щим линиям и точкам их пересечения, размещения горизонта на верхней или
нижней линии или обеспечения возможности линейного прохождения изо-
бражения на участке от пересечения к пересечению. Основная причина со-
блюдения правила третей состоит в том, чтобы препятствовать размещению
объекта в центре или препятствовать появлению горизонта, чтобы разделить
изображение пополам. Майкл Райан и Мелисса Ленос (Michael Ryan и Melissa
Lenos), авторы книги «Введение в анализ фильма: техника и значение в пове-
ствовательном фильме» («An Introduction to Film Analysis: Technique and Mean-
ing in Narrative Film»), утверждают, что использование правила третей «одоб­
ряется кинематографистами в усилиях, предпринимаемых ими по созданию
сбалансированных и унифицированных изображений».
При съемке видео или фотографии людей принято выравнивать тело по
вертикальной линии, а глаза человека – по горизонтальной. При съемке дви-
жущегося объекта часто используется один и тот же шаблон, при этом большая
часть окружения находится перед человеком. Аналогично при фотографии
портрета, который не направлен прямо на камеру, большая часть окружения
должна находиться перед объектом, а вертикальная линия проходить через
воспринимаемый центр масс. Уровень глаз модели должен составлять две
трети от нижней части изображения – другими словами, где-то вдоль верхней
горизонтальной линии.
Познакомившись с базовым правилом в композиции, вы можете сразу же
использовать его на практике. Камеры, реализованные в пакете Maya, позво-
ляют смоделировать камеру с высочайшей точностью. Что очень важно в про-
цессе работы над визуальными эффектами, помещаемыми в реально отсня-
тый материал.

6.2. Стандартные камеры Maya


В процессе создания произведения художники используют множество различ-
ных ракурсов для формирования композиции в кадре и достижения желае-
мого результата. По умолчанию Maya создает четыре камеры – одна для вида
перспективы, остальные три для ортографических проекций. Наиболее часто
используется камера перспективного вида – с ее помощью легко представить
сцену целиком, а впоследствии выполнить тесты визуализации.
Одной из важных особенностей работы с камерами в Maya является созда-
ние закладок камеры (Panel Menu ⇒ View ⇒ Bookmarks ⇒ Edit Bookmarks…). Бла-
годаря им вы можете сохранить положение и настройки камеры, а впослед-
ствии вернуться к ним, если изменения не дали желаемого результата. Быстро
создать и переместиться по закладкам можно с помощью кнопки Bookmarks,
расположенной на панели инструментов видового окна проекции. При щелч-
ке ПКМ откроется контекстное меню, в котором можно выбрать как одну из
ранее созданных закладок, так и диалоговое окно редактора Bookmark Editor.
Пакет Maya предоставляет пользователю три типа стандартных камер, раз-
личающихся только контрольными точками, позволяющими более точно ма-
нипулировать камерой в сцене (рис. 6.2.1).
Стандартные камеры Maya  547

Рис. 6.2.1  Три типа стандартных камер в Maya.


Слева направо: Camera, Aim and Up, Camera and Aim и Camera

Камера создается с помощью меню Create ⇒ Cameras ⇒ Camera ⇒ □. По


умолчанию камера позиционируется в центре сцены в координатах 0, 0, 0.
Впоследствии камерой можно управлять с помощью стандартных инструмен-
тов трансформации. Основные типы камер Maya:
 Camera – базовая камера для статичных сцен или сцен с простой анима-
цией (вверх, вниз, вправо, влево, вперед и назад), такой как панорами-
рование кадра;
 Camera and Aim – камера, используемая в чуть более сложной анима-
ции (например, вдоль пути), по своей сути обладает дополнительным
манипулятором, относительно которого она может быть перемещена
или всегда следить за точкой манипулятора;
 Camera, Aim and Up – используется для определения того, точка какого
манипулятора будет обращена вверх. Данный тип камеры лучше всего
подходит для комплексной анимации, такой как камера, перемещаю-
щаяся вдоль повторяющихся возвышений и спадов, как в американских
горках. Вертикальный вектор позволяет выполнять поворот камеры во-
круг горизонтальной оси.
При создании камеры вы можете воспользоваться диалогом предваритель-
ной настройки камеры – Create Camera Options (рис. 6.2.2). С помощью данного
диалога можно задать первоначальные параметры для создаваемой камеры
и впоследствии меньше времени потратить на настройку в редакторе атри-
бутов.
548  Камеры и освещение в V-Ray

Рис. 6.2.2  Диалоговое окно Create Camera Options


для создаваемого объекта типа Camera

Все основные параметры будут рассмотрены далее в этой главе, а пока мы


познакомимся еще с одним типом камеры – Maya Stereo Camera. Данный тип
камер разработан для создания стереоскопических изображений, в обычной
жизни данная технология носит простое, но не совсем правильное название –
«3D». Но профессионалы обычно используют термин «стерео» для описания
объемных изображений или звука.
Технология, реализованная в Maya, появилась в версии пакета 2009 года
и была разработана специально для вновь зародившегося рынка объемного
кино. На рис. 6.2.3 приведен пример стандартной модели камер для формиро-
вания стереоскопического изображения.
Обратите внимание, что в качестве камеры для стереоскопических изобра-
жений создаются три стандартные камеры, объединенные в единую структу-
ру. Основное управление осуществляется с помощью атрибутов центральной
камеры, в которой реализованы свитки Stereo, Stereo Adjustments и Stereo Dis-
play Controls (рис. 6.2.4).
Стандартные камеры Maya  549

Рис. 6.2.3  Группа Maya Stereo Camera в составе из трех камер

Рис. 6.2.4  Структура Maya Stereo Camera в Outliner


и свитки атрибутов для настройки Stereo Camera
550  Камеры и освещение в V-Ray

Создав камеру и расположив ее в сцене, можно приступить к более тонкой


настройке камеры. Рассмотрим основные атрибуты и настройки для камеры
в Maya. Все основные параметры камеры контролируются с помощью атрибу-
тов в нескольких свитках. Основными параметрами, которые настраиваются
наиболее часто, являются угол обзора, фокальная плоскость, плоскости отсеч-
ки переднего и дальнего плана и ряд других параметров. Рассмотрим основ-
ные атрибуты камеры.

Свиток Camera Attributes


Свиток Camera Attributes предназначен для настройки основных параметров
камеры, которые наиболее явно оказывают влияние на визуализируемое изо-
бражение. На рис. 6.2.5 продемонстрирован свиток Camera Attributes в редак-
торе атрибутов.

Рис. 6.2.5  Свиток Camera Attributes в редакторе атрибутов

Если необходимо изменить тип созданной вами камеры, это можно сделать
с помощь атрибута Controls и в раскрывающемся списке выбрать один из
стандартных типов камер Maya – Camera, Camera and Aim, Camera, Aim and Up.
Если вы меняете тип камеры, когда она анимирована, будьте предельно внима-
тельны, так как новая камера будет связана с фиксированной контрольной точ-
кой и будет обращена к ней. Это может существенно изменить анимацию камеры
и того, что будет отображено в ее виде.

Для контроля угла обзора предназначен атрибут Angle of View, напря-


мую связанный с атрибутом Focal Length. Это обусловлено тем, что угол
обзора напрямую зависит от фокусного расстояния объектива. Если вы сни-
Стандартные камеры Maya  551

маете на цифровой зеркальный фотоаппарат, то вам должно быть известно,


что если необходимо, чтобы в кадр попало как можно больше объектов, то
нужно использовать минимальное фокусное расстояние. А если необходимо
приблизить объект, который расположен достаточно далеко, то необходимо
увеличить фокусное расстояние, но при этом угол обзора будет значительно
меньше.
Для наиболее реалистичного управления камерой рекомендуется исполь-
зовать атрибут Focal Length. На рис. 6.2.6 продемонстрировано влияние раз-
личных значений Focal Length на угол обзора в кадре.

Рис. 6.2.6  Пример влияния атрибута Focal Length на угол обзора в кадре

Так, на иллюстрации A показано значение Focal Length, равное 24 mm, а на


иллюстрации B показан пример со значением Focal Length, равным 105 mm.
На что хочется обратить ваше внимание, так это на понимание термина «фо-
кусное расстояние». Данный термин пришел к нам от реальных фотокамер
и кинокамер, когда определялось расстояние положения линзы объектива от
плоскости пленки, а в современном цифровом мире оно определяется от пло-
скости матрицы. Так, на каждом из фотоаппаратов или кинокамер есть не-
заметная насечка (рис. 6.2.7), она отмечает положение пленки или матрицы
в камере.
Так, если на объективе выставлено фокусное расстояние, равное 28 mm,
то это означает, что именно на 28 mm будет перемещена линза от цифровой
матрицы. Еще одним важным атрибутом, который может помочь в имитации
камеры и объективов, является Camera Scale. С помощью данного атрибута
можно имитировать влияние размера матрицы на наблюдаемую область кад­
ра. Существует несколько типов матриц, наиболее распространенные – мат­
рицы Full frame (36×24 mm) или APS-C (22.2×14.8 mm). Первые аналогичны
полноценному кадру пленки, в то время как второй тип матриц почти впо-
ловину меньше. Это, соответственно, оказывает определенное влияние на фо-
кусное расстояние и охватываемую область кадра (рис. 6.2.8).
552  Камеры и освещение в V-Ray

Рис. 6.2.7  Насечка положения матрицы


на современной цифровой зеркальной камере (отмечено стрелкой)

Рис. 6.2.8  Пример охвата области


двумя различными типами матриц (Full Frame и APS-C)
Стандартные камеры Maya  553

На рисунке выше приведен пример того, какую область охватывают раз-


личные типы матриц. Так, область окружности демонстрирует все, что попа-
дает в объектив. Так как объективы имеют круглую форму, соответственно,
область, охватываемая ими, имеет форму круга. Непосредственно сам кадр
на пленке или матрица имеют форму прямоугольника, а в ряде случаев могут
иметь форму квадрата. Именно эта область пленки или матрицы взаимодей-
ствует со светом, проходящим сквозь объектив и его линзы. Полнокадровая
(Full Frame) матрица захватывает наибольшую область данного круга и может
получить больше света. В то же время матрица меньших размеров охватывает
меньшую область и захватывает меньше света, из-за чего снимки могут быть
немного темнее, хотя и исключается эффект виньетирования, так как границы
объектива практически не препятствуют прохождению света к матрице.

Рис. 6.2.9  Пример влияния атрибута Camera Scale


на увеличение фокусного расстояния в виртуальной камере Maya

Рисунок 6.2.9 наглядно демонстрирует влияние атрибута Camera Scale на


охватываемую область кадра. Значение Focal Length составляет 24 mm для ил-
люстраций A и B. Но иллюстрация B сформирована за счет установки атрибута
Camera Scale равным 0.625, что равняется результату вычисления по простой
формуле Fl = Cs / CrF, где Fl – Focal Length, Cs – Camera Scale, CrF – Crop Factor
для типа имитируемой матрицы. Результат выглядит так: Fl = 1.0/1.6. Вели-
чина 1.6 взята из документации и технических спецификаций современных
зеркальных камер марки Canon с матрицей APS-C.
Если необходимо ограничить охватываемую камерой глубину сцены, мож-
но смело применить атрибуты Near Clip Plane и Far Clip Plane. Атрибут Near
Clip Plane влияет на ближнюю плоскость, а атрибут Far Clip Plane – на даль-
нюю плоскость. Данные плоскости формируют охват области в глубине кадра
(рис. 6.2.10). По умолчанию Maya использует следующие значения для данных
атрибутов: 0.1 для Near Clip Plane и 10 000 для Far Clip Plane.
554  Камеры и освещение в V-Ray

Рис. 6.2.10  Отображение плоскостей Near Clip Plane


и Far Clip Plane в объекте камеры Maya

Для отображения плоскостей ограничений Near Clip Plane и Far Clip Plane
можно воспользоваться атрибутами, расположенными в свитке Frustum Dis-
play Controls, где выбрать Display Near Clip и/или Display far Clip. Атрибут
Display Frustum отобразит область и угол обзора камеры.
Если вы заметили, что Maya при интерактивной навигации в панели видового окна
проекции немного «притормаживает», можно настроить дальность Far Clip Plane
на гораздо меньшее расстояние. В то же время, если сцена достаточно большая –
допустим, это улица или район города, и дальние объекты скрываются за дальней
плоскостью, – можно просто увеличить значение Far Clip Plane.

На рис. 6.2.11 показано, как влияют плоскости ограничений Near Clip Plane
и Far Clip Plane на отображение сцены в виде камеры. Плоскости Near Clip
Plane задано значение 100, а плоскости Far Clip Plane – 350. Дальняя стена, стол
и тумба, а также дверь не отображаются в камере, а стулья, расположенные на
переднем плане, немного усечены.

Свиток Film Back


Если создается трехмерная анимация для отснятого в реальном мире матери-
ала, может потребоваться дополнительная настройка камеры и адаптация ее
под формат пленки, в котором отснят реальный материал. Для этого предна-
значены атрибуты свитка Film Back (рис .5.2.8).
Заметим, что не рекомендуется изменять данные атрибуты без согласова-
ния и применения отснятого материала.
Раскрывающийся список Film Gate предоставляет заранее подготовленные
шаблоны ряда наиболее часто используемых типов пленок и форматов камер.
Атрибуты Camera Aperture (inch) и Camera Aperture (mm) определяют
ширину и высоту диафрагмы камеры или кадра на пленке. Обычно измеряют-
ся в дюймах или миллиметрах. Атрибут Camera Aperture предоставляет связь
между атрибутами Focal Length и Angle of View. По умолчанию значения равны
1.417 (36) и 0.945 (24) (рис. 5.2.9).
Стандартные камеры Maya  555

Рис. 6.2.11  Влияние плоскостей Near Clip Plane


и Far Clip Plane на отображение сцены в виде камеры

Рис. 6.2.12  Свитки Frustum Display Controls и Film Back


в редакторе атрибутов
556  Камеры и освещение в V-Ray

Рис. 6.2.13  Пример влияния атрибутов Film Gate и Camera Aperture на об-
ласть кадра. A – настройка кадра под формат Full HD камеры. B – настройка
области кадра, реализованная с помощью шаблона 35mm Academy из раскры-
вающегося списка Film Gate

Атрибут Film Aspect Ratio позволяет определить соотношение сторон ка-


дра, что полностью эквивалентно Device Aspect Ratio, определяемого разре-
шением кадра в диалоговом окне Render Settings, рассмотренном во второй
главе. Если вам необходимо выполнить интеграцию трехмерной анимации
в реальный отснятый материал, рекомендуется выполнить настройки камеры
и разрешения выводимого изображения с идентичными соотношениями сто-
рон кадра. Это позволит избежать некорректной интеграции анимации в от-
снятый материал и поможет устранить проблемы, возникающие при сведении
единой композиции (рис. 6.2.14).
Атрибут Lens Squeeze Ratio определяет величину компрессии линз камеры
по горизонтали изображения. Большинство камер не обладает компрессией
в процессе записи изображения, и их Lens Squeeze Ratio равен 1.0. Но некото-
рые камеры (например, анаморфные камеры), однако, ужимают изображение
по горизонтали для записи большого соотношения сторон (aspect ratio) (по
ширине) в рамки прямоугольной области на пленке. Значение по умолчанию
для данного атрибута равно 1.0.
Для контроля смещения камеры реализованы специальные атрибуты Hori-
zontal Film Offset и Vertical Film Offset, или просто Film Offset. С помощью
изменения значений в данных атрибутах, можно определять смещение каме-
ры по горизонтали и вертикали относительно области разрешения (resolution
gate) и области кадра (frame gate). Изменение атрибута Film Offset реализует
двухмерный путь. Значение Film Offset определяется в дюймах и по умолча-
нию равно 0.0 (рис. 6.2.15).
Атрибут Film Fit контролирует размер пространства разрешения (resolution
gate) относительно пространства кадра пленки (film gate). Если пространство
разрешения и пространство кадра пленки имеют аналогичное соотношение
сторон, тогда атрибут Film Fit не будет оказывать влияние. По умолчанию сто-
ит значение Fill.
Стандартные камеры Maya  557

Рис. 6.2.14  Пример различных величин Film Aspect Ratio.


A – 1.33, B – 1.78, C – 2.85

Рис. 6.2.15  Пример влияния атрибута Film Offset на кадр.


A – значение по умолчанию (0.0, 0.0), B – смещение по горизонтали (0.5, 0.0),
C – смещение по вертикали (0.0, –0.5)

Вы можете самостоятельно выбрать один из типов заполнения кадра из


предоставляемых четырех типов:
 Fill – совмещает пространство разрешения с пространством кадра
пленки;
 Horizontal – совмещает пространство разрешения с пространством кад­
ра пленки по горизонтали;
 Vertical – совмещает пространство разрешения с пространством кадра
пленки по вертикали;
 Overscan – совмещает пространство кадра пленки с пространством раз-
решения.
558  Камеры и освещение в V-Ray

Атрибут Film Fit Offset позволяет выполнить смещение пространства раз-


решения относительно пространства кадра пленки в вертикальном направле-
нии (если атрибут Film Fit выставлен в режим Horizontal) или горизонтальном
(если атрибут Film Fit выставлен в режим Vertical). Данный атрибут не оказы-
вает воздействия, если атрибут Film Fit выставлен в режим Fill или Overscan.
Значение Film Fit Offset измеряется в дюймах. По умолчанию равно 0.0.
Бывает так, что область кадра достаточно большая и выходит за рамки ви-
димой области. Допустим, она может быть прикрыта элементами интерфейса
программы. Для зрительного анализа кадра в видовом окне рекомендуется ис-
пользовать атрибут Overscan, расположенный в свитке Display Options. Он не
оказывает влияния на визуализируемое с помощью mental ray изображение,
но может быть полезен в процессе компоновки кадра и наблюдения за попа-
дающими в кадр объектами (рис. 6.2.16).

Рис. 6.2.16  Пример действия атрибута Overscan на отображение области кадра.


A – Overscan = 0.7, B – Overscan = 1.0, C – Overscan = 1.3

Используйте атрибуты Shake, чтобы применить легкое двумерное переме-


щение к кадру аналогично дрожанию. Кривая анимации или выражение также
могут быть связаны с атрибутом Shake, чтобы реализовать реалистичный эф-
фект дрожания. Атрибут Shake Enabled может быть использован для включе-
ния и выключения эффекта дрожания.
Атрибуты Shake и Shake Overscan дублируют и объединяют функциональ-
ность с атрибутами Film Offset и API. По умолчанию они отключены. При акти-
визации атрибута Shake Overscan Enabled позволяет атрибуту Shake Overscan
принимать участие в вычислении камеры. По умолчанию он отключен.
Атрибут Shake Overscan определяет множитель, применяемый к диафраг-
ме камеры. Данный множитель в процессе визуализации формирует боль-
шую площадь, чем было бы необходимо, если бы камера не дрожала. Данный
атрибут оказывает влияние на финальную визуализацию кадра. Атрибут Shake
Overscan используется только тогда, когда активен атрибут Shake Overscan En-
abled. По умолчанию значение Shake Overscan равно 1.0.
После атрибутов, реализующих эффект дрожания, следует большая группа
атрибутов, предназначенная для тонкой настройки камеры. Атрибут Pre Scale
используется в 2D-эффектах. Определяемая им величина позволяет опреде-
лить двумерное масштабирование камеры. Значение, введенное в поле, долж-
но быть применено перед установкой наклона кадра (film roll).
Атрибут Film Translate также оказывает влияние на двумерные эффекты.
Данное значение позволяет определить двумерное панорамирование камеры.
Стандартные камеры Maya  559

Для выполнения поворота кадра относительно центральной оси используются


атрибуты Film Roll Pivot и Film Roll Value.
Атрибут Film Roll Pivot определяет горизонтальное и вертикальное поло-
жение точки вращения от центра кадра. Точка вращения используется в про-
цессе вращения кадра вокруг нее. Точка вращения рассчитывается как точка,
где вращение выполняется вокруг нее. Этот двойной параметр точности соот-
ветствует нормированному виду сцены. Это значение является частью матри-
цы последующей проекции.
Вертикальная опорная точка используется для вращения кадра в обратном
направлении (назад). Этот двойной параметр точности соответствует норми-
рованному виду сцены. Это значение используется для вычисления матрицы
наклона кадра, которая является составной частью матрицы последующей
проекции.
На рис. 6.2.17 приведен пример влияния атрибутов Film Roll Pivot и Film Roll
Value на поворот кадра. Обратите внимание, что объект камеры при этом не
меняет своего положения в сцене.

Рис. 6.2.17  Действие атрибутов Film Roll Pivot и Film Roll Value
на поворот кадра и изменение композиции кадра

Иллюстрация A на рис. 6.2.17 демонстрирует стандартное положение и па-


раметры камеры. На иллюстрации B уже представлен результат влияния
атрибута Film Roll Value, равный 11.350. Трансформация точки вращения
560  Камеры и освещение в V-Ray

представлена на иллюстрации C и D. На иллюстрации C изменено значение


положения точки вращения по горизонтали (величина –1.250), а иллюстрация
D демонстрирует влияние значения положения точки вращения по вертикали
(величина 0.950).
Атрибут Film Roll Value определяет, на сколько градусов будет выполнен
поворот кадра вокруг точки вращения, определенной атрибутом Film Roll Piv-
ot. Данное значение используется для вычисления матрицы поворота кадра,
которая является составной частью матрицы постпроекции.
Для изменения отношения вращения к величине точки вращения служит
раскрывающийся свиток Film Roll Order, в котором вы можете выбрать один
из двух режимов:
 Rotate-Translate – кадр вначале поворачивается, затем перемещается
на величину, определенную точкой вращения;
 Translate-Rotate – кадр вначале перемещается на величину, определен-
ную точкой вращения, затем поворачивается на величину, определен-
ную значением Film Roll Value.
Атрибут Post Scale используется для формирования двумерных эффектов.
Данная величина указывает искусственное двумерное масштабирование сце-
ны и может быть применена после выполнения поворота кадра.
Следующими свитками, которые мы рассмотрим, являются Environment,
Special Effects и Orthographic Views (рис. 6.2.18). Размещенные в них параметры
камеры и контролирующие их атрибуты поддерживаются системой визуали-
зации mental ray for Maya и могут быть использованы для настройки компози-
ции и применения эффектов.

Рис. 6.2.18  Свитки Environment, Special Effects


и Orthographic Views в редакторе атрибутов

Свиток Environment
В процессе работы с камерой может потребоваться изменить цвет окружаю-
щего пространства или добавить элемент для воспроизведения видеосеквен-
ции. Для решения данных задач предназначен свиток Environment.
Стандартные камеры Maya  561

Атрибут Background Color служит для установки цвета окружения. По


умолчанию выставлен черный цвет. Выбор цвета осуществляется с помощью
селектора или ползунка. Отмечу, что ползунок контролирует яркость цвета.
Рисунок 6.2.19. демонстрирует результат изменения атрибута Background Co­
lor в пределах от 0.0 (черный цвет) до 1.0 (белый цвет).

Рис. 6.2.19  Пример влияния атрибута Background Color на цвет окружения

Помимо этого, цвет окружения действует и на отражения – так, если вы-


ставлен белый цвет, отражения окружающей среды будут ярче, и наоборот.
Если же вам необходимо реализовать подгонку 3D-моделей под отснятый
в реальном мире материал или под обычную фотографию, в этом случае мо-
жет быть полезен атрибут Image Plane. Наиболее часто данная возможность
используется для позиционирования и отображения образов будущей моде-
ли (референс-изображений), по которым впоследствии строится 3D-модель
(рис. 6.2.20). Также Image Planes помогают лучше интегрировать модель или
сцену в отснятое в реальном мире видео.

Рис. 6.2.20  Создаваемая трехмерная модель головы дракона


с загруженными с помощью Image Planes референс-изображениями
562  Камеры и освещение в V-Ray

Элемент камеры Image Plane создается с помощью кнопки Create. Настрой-


ка данного элемента осуществляется благодаря узлу imagePlane, связываемому
с камерой с помощью следующих атрибутов:
imagePlane.message ⇒ camera.imagePlane[0]
Благодаря поддержке нескольких Image Planes вы можете использовать
изображения с различными соотношениями сторон для лучшей интеграции
с фоновым изображением и для обеспечения большей точности интеграции
трехмерной модели.

Свиток Special Effects


Свиток Special Effects содержит всего один атрибут Shutter Angle. С помощью
этого атрибута предоставляется возможность контроля силы размытости объ-
ектов при визуализации эффекта размытия движения. В реальных камерах за-
твор контролирует выдержку, во время которой на пленку или матрицу попа-
дает свет, проходящий через объектив и его диафрагму. Затвор бывает разной
формы и различается по принципу действия. Так в фотокамерах обычно ис-
пользуется затвор в виде шторки, поднимающейся вверх для создания снимка
и опускающейся, для того чтобы прекратить попадание света на пленку или
матрицу. В случае с кинокамерами, когда постоянное поднятие шторки чре-
вато быстрым выходом ее из строя, используется иная конструкция затвора.
Он представлен в виде диска с небольшим пространством, через которое про-
ходит свет. Чем больше площадь данного отверстия, тем больше света может
пройти через него. Диск вращается и синхронизируется с каждым кадром на
пленке с постоянной скоростью. Атрибут Shutter Angle контролирует угол от-
крытого пространства, и чем он больше, тем дольше будет выдержка кадр
и больше света будет проходить через систему объектива и затвора на кадр
пленки. Соответственно, если отверстие достаточно большое, выдержка будет
дольше и движущиеся быстро объекты будут более размытыми. Это наглядно
продемонстрировано в рис. 6.2.21, где перемещающееся и вращающееся коле-
со размывается с разной силой за счет изменения угла затвора.

Рис. 6.2.21  Пример влияния атрибута Shutter Angle


на проявление эффекта размытия движения
Стандартные камеры Maya  563

Угол затвора измеряется в градусах. Допустимый диапазон составляет от 1°


до 360°. Значение по умолчанию 144°. На рисунке выше представлен пример
с углом затвора в 72° (A), 144° (по умолчанию) (B) и 288° (C). Более детально
эффект размытия движения в mental ray for Maya мы рассмотрим далее в этой
главе.

Свиток Orthographic Views


В случае если необходимо создать визуализацию ортографической проекции,
но для текущей камеры перспективного вида, камеры Maya предоставляют та-
кую возможность. Свиток Orthographic Views содержит два атрибута. Атрибут
Orthographic переключает текущую камеру перспективного вида в режим ор-
тографической проекции.
По умолчанию камера ориентирована по основным осям. Вы можете создать
внеосевую орфографическую камеру, вращая орфографическую камеру или из-
меняя параметры вращения по умолчанию и с помощью инструмента вращения.
Для вращения камеры ортографического вида в окне параметров инструмента
Tumble tool удостоверьтесь, что атрибут Locked выключен (Off).

На рис. 6.2.22 приведен пример визуализации одной сцены с видом из од-


ной камеры. Верхняя иллюстрация демонстрирует визуализацию камеры пер-
спективной проекции. Нижняя иллюстрация демонстрирует визуализацию
той же сцены из той же камеры, но при активном режиме ортографической
проекции.
С помощью атрибута Orthographic Width задается ширина (в дюймах) ор-
тографической камеры. Ширина контролирует область охвата сцены ортогра-
фической камерой. Изменение ширины ортографической камеры оказывает
аналогичный эффект как если бы изменялось масштабирование камеры пер-
спективного вида. Рисунок 6.2.23 наглядно демонстрирует влияние атрибута
Orthographic Width на охват области сцены с интерьером.
На данный момент рассмотрены все основные атрибуты камеры, имити-
рующие свойства и возможности реальных камер. Изменяя их и применяя
инструменты трансформаций, вы можете достигнуть желаемой композиции
кадра. При визуализации сцены с помощью V-Ray ray for Maya рассмотрен-
ные атрибуты будут оказывать воздействие на визуализируемое изобра-
жение. Но, помимо этого, V-Ray предоставляет собственные типы камеры,
значительно расширяющие возможности стандартных камер Maya и вывода
изображений.
564  Камеры и освещение в V-Ray

Рис. 6.2.22  Пример визуализации сцены из вида камеры


без активного режима Orthographic (вверху)
и когда данный режим активен (внизу)

Рис. 6.2.23  Пример действия атрибута Orthographic Width на охват сцены.


A – 150 дюймов, B – 285 дюймов и C – 410 дюймов

6.3. Камеры V-Ray


Основная особенность работы со сторонними системами визуализации за-
ключается в применении камер, которые разработаны с учетом возможностей
ядра и реализованных в нем функций. Камеры системы визуализации могут
быть независимыми объектами, поставляемыми в комплекте с модулем рас-
ширения, так обычно делают с модулями расширения для 3ds Мax. В Maya за-
Камеры V-Ray  565

частую создаются надстройки в виде дополнительных атрибутов к объектам


стандартной камеры. Это могут быть как основные атрибуты в виде дополни-
тельных свитков, реализуемых на уровне API-камеры Maya, так и в виде до-
полнительных атрибутов, доступных в свитке Extra Attributes.
В системе визуализации V-Ray реализовано несколько типов камеры, кото-
рые могут решать различные задачи и моделировать множество оптических
эффектов. Конечно, с помощью V-Ray вы можете выполнять визуализацию
с применением стандартной камеры Maya, но использование расширенных
атрибутов камер V-Ray предоставляет возможности для визуализации изобра­
жения с учетом коррекции экспозиции и эффектов глубины резкости или
виньетирования. Дополнительные атрибуты V-Ray для камеры позволяют
индивидуально осуществлять точную настройку для каждой камеры, пере-
определяя настройки системы визуализации.

Добавление дополнительных атрибутов камеры V-Ray


Добавление дополнительных атрибутов V-Ray в узел объекта camera является
самым прямым способом добавить функции камеры V-Ray стандартной каме-
ре Maya. Выбор в меню редактора атрибутов Attriburtes ⇒ V-Ray ⇒ Physcal Ca­me­
ra или иной группы атрибутов добавляет свиток к узлу камеры под названием
Extra Vray Attributes. В нем вы можете изменить атрибуты камеры напрямую.
Эти атрибуты включают в себя инструменты для управления камерой, такой
как реальная камера с управлением F-Stop’s, скоростью затвора, чувствитель-
ностью ISO и другими настройками. Также данные атрибуты позволяют пре-
образовать камеру в камеру типа dome camera или настроить стереоскопиче-
скую камеру для визуализации левой/правой пары изображений.

Создание переопределений камеры


в редакторе Render Settings
В редакторе Render Settings в свитке Camera во вкладке Overrides могут быть
применены настройки камеры, которые будут оказывать влияние на все ка-
меры в сцене. В первую очередь атрибуты в данном свитке определяют тип
камеры, такой как, например, стандартная камера-обскура или панорамная
VR-камера.
Настройки многих атрибутов могут быть переопределены для всей сцены,
включая тип камеры и настройки для области обзора (FOV), глубины резкости
(DoF) и размытие движения.

Атрибуты камеры V-Ray. Введение


Дополнительные атрибуты камер V-Ray могут быть добавлены к каждой стан-
дартной камере Maya с помощью выделения объекта и выбора набора атрибу-
тов с помощью меню редактора атрибутов. Данные атрибуты позволяют ис-
пользовать физически достоверную модель камеры V-Ray и ее возможности
с различными типами камеры в сцене Maya.
566  Камеры и освещение в V-Ray

Рис. 6.3.1  Атрибуты V-Ray Physical Camera,


добавленные к стандартной камере Maya
Камеры V-Ray  567

Атрибуты физически достоверной камеры включают возможности управле-


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

Атрибуты камеры V-Ray. V-Ray Physical Camera


Расширенные атрибуты камеры, предоставляемые системой визуализации
V-Ray, могут быть добавлены с помощью меню в редакторе атрибутов
(рис. 6.3.1), как это описано выше. Атрибуты физической камеры реализуют
основные эффекты линз, происходящие в процессе прохождения света через
стекла.
Чтобы активировать V-Ray Physical Camera, установите флажок Treat as
VRay Physical camera. Когда данный атрибут активирован, стандартная ка-
мера Maya будет определена как физически корректная камера V-Ray, пре-
доставляя возможности, доступные благодаря атрибутам, расположенным
в свитке Extra VRay Attributes.

Рис. 6.3.2  Пример визуализации сцены без применения (A)


и с применением V-Ray Physical Camera (B)

Рисунок 6.3.2 демонстрирует пример влияния преобразования камеры из


стандартной к физически достоверной. Обратите внимание на то, что свет,
попадающий и отражающийся от поверхностей, при физически корректной
модели представлен мягкими переходами и рассеиванием. При этом, в отли-
чие от стандартной камеры, здесь нет пересветов в ярких областях и коррект­
но применяется трансформация цвета.
568  Камеры и освещение в V-Ray

Раскрывающийся список атрибута Type позволяет выбрать один из типов


модели физической камеры. Выбранный тип будет оказывать влияние на эф-
фект размытия движения (рис. 6.3.3), формируемый камерой:
 Still Camera – в данном режиме моделируется статичная фотокамера
с постоянно открытым затвором;
 Cinematic Camera – моделирует кинематографическую камеру с окру-
глым затвором. Ниже мы подробно рассмотрим особенности работы за-
твора кинематографической камеры, на основе которых формируется
эффект размытия движения;
 Video Сamera – моделируется стандартная видеокамера на основе CCD-
матрицы без затвора.

Рис. 6.3.3  Пример визуализации сцены в движении со стороны камеры


в различных режимах. A – Still Camera, B – Cinematic Camera, C – Video Camera
Камеры V-Ray  569

Атрибут Film gate (in mm) задает ширину пленки (горизонтальный размер)
в миллиметрах. Помните, что для формирования корректного результата этот
атрибут учитывает системные единицы измерения (System Units).
С помощью атрибута Focal length (in mm) определяется эквивалентное
фокусное расстояние объектива моделируемой камеры. Для достижения кор-
ректного результата этот атрибут учитывает настройки системных единиц
измерения. Вертикальный размер затвора рассчитывается с учетом соотно-
шения сторон изображения (vertical film gate = horizontal film size / aspect ratio).
Этот атрибут становится доступен только тогда, когда выключен атрибут Spec-
ify FOV.
Раскрывающийся список Specify FOV определяет основу, используемую для
настройки поля зрения камеры:
 Off – поле зрения камеры будет определено атрибутом Focal Lenght
(in mm);
 Specify – в данном режиме атрибут FOV становится активен для на-
стройки вручную, значения охватываемой области задаются в градусах
(рис. 6.3.4);
 From Maya camera – величина поля зрения камеры определена на-
стройками стандартной камеры Maya.

Рис. 6.3.4  Влияние атрибута FOV на результат визуализации. Все изобра-


жения получены с камеры с настройками области кадра, соответствующей ма-
трице цифровой фотокамеры стандарта APS-C (аналогичной Canon EOS 400D).
A – FOV = 90° (fl = 11 mm), B – FOV = 45° (fl = 26 mm), C – FOV = 17° (fl = 70 mm),
D – пример углов FOV при различных величинах Focal Lenght (полнокадровая
камера)
570  Камеры и освещение в V-Ray

С помощью Zoom factor вы можете смоделировать эффект приближения


(увеличения фокусного расстояния без его фактического изменения). Значе-
ния больше 1.0 будут увеличивать масштаб изображения, значения меньше
1.0 – уменьшать (объекты будут отдалены от наблюдателя). Рассмотрим при-
мер влияния атрибута Zoom Factor на визуализируемое изображение.
Каждый объектив обладает определенными характеристиками, такими как
фокусное расстояние, число линз, число лепестков диафрагмы и др. Также
каждая линза обладает кривизной, которая влияет на прохождение (прелом-
ление) света, чем искажает изображение. Стоит немного разобраться в том,
что является изображением в оптике.

Рис. 6.3.5  «Реальное изображение» удаленного от наблюдателя объекта,


получаемое в процессе прохождения через оптическую систему
и проецируемое на пленку или цифровую матрицу камеры

Рассмотрим пример, приведенный на рис. 6.3.5. Если объект расположен от


положительной линзы с фокусным расстоянием f на расстоянии S1 > f, в со-
ответствии с формулой тонкой линзы мы найдем для изображения рассто-
яние S2. Если плоскость проекции изображения расположена на расстоянии
S2 с противоположной стороны объектива, на ней формируется изображение.
Такое изображение, которое можно проецировать на экран или цифровую ма-
трицу, называется «реальным изображением».
Это принцип камеры и человеческого глаза. Настройка фокуса камеры ре-
гулирует S2, поскольку используется расстояние изображения, отличного от
того, которое требуется формуле тонкой линзы, создает расфокусированное
(нечеткое) изображение для объекта на расстоянии S1 от камеры. Другими сло-
вами, изменение S2 приводит к тому, что объекты с другим S1 оказываются
в идеальном фокусе.
Раскрывающийся список Distortion type позволяет выбрать метод, исполь-
зуемый для вычисления дисторсии изображения, моделируемой камерой:
 Quadratic – данный метод используется по умолчанию. Он использует
упрощенную формулу, которая, в сравнении с используемой в методе
Cubic, проста для вычислений;
Камеры V-Ray  571

 Cubic – данный метод дисторсии изображения используется в некото-


рых программах захвата движения камеры (camera tracking software),
таких как SynthEyes и Boujou. Если вы планируете использовать одну из
таких программ, используйте этот метод дисторсии;
 Lens file – при выборе данного пункта предоставится возможность за-
грузки внешнего файла профиля объектива в формате *.lens, данный
файл используется для формирования дисторсии изображения;
 Texture – при выборе данного метода дисторсии изображения может
быть загружена карта дисторсии, полученная с помощью приложения
цифрового композитинга NUKE.
Задать определенный коэффициент дисторсии изображения можно с по-
мощью атрибута Distortion amount. Величина 0.0 определяет, что дисторсия
изображения не будет проявляться, при значениях выше дисторсия изобра-
жения примет вид бочки, при отрицательных значениях изображение примет
вид подушки. Этот атрибут доступен только в том случае, если в качестве ме-
тода искажения выбран Quadratic или Cubic.

Рис. 6.3.6  Типы и примеры дисторсии: A – неискаженное изображение,


B – подушкообразная дисторсия, C – бочкообразная дисторсия

Поле Lens file позволяет задать имя и путь к файлу профиля объектива и ка-
меры, используемый для формирования эффекта дисторсии. Он становится
доступен только тогда, когда в качестве метода дисторсии изображения вы-
бран Lens File. Файл профиля объектива и камеры в V-Ray можно получить
с помощью специальной утилиты Lens Analysis Tool, подробно рассмотренной
в третьей главе.
572  Камеры и освещение в V-Ray

Рис. 6.3.7  Пример визуализации сцены с вида камеры


с различными значениями F-Number. Обратите внимание на то,
что при открытии диафрагмы изображение ярче,
при закрытии диафрагмы – темнее
Камеры V-Ray  573

Атрибут Distortion Map позволяет определить текстурную карту, исполь-


зуемую для формирования эффекта дисторсии изображения. Данный атри-
бут становится доступен, когда в качестве метода дисторсии выбран метод
Texture.
F-Number – данный атрибут определяет ширину диафрагмы объектива ка-
меры (величину диафрагмы). Данный атрибут свойственен реальным камерам
и важен при формировании эффекта глубины резкости и фокуса. Помните, что
чем выше величина, тем темнее будет изображение, так как диафрагма бу-
дет закрываться и через отверстие проходит меньше света. Если же значение
ниже, то шире становится отверстие диафрагмы и больше проходит света, что
делает изображение ярче.
Атрибуты Horizontal / Vertical lens shift позволяют задать величину (боль-
ше 0), при которой наклон объектива будет моделировать двухточечную пер-
спективу прямыми вертикальными и горизонтальными линиями.
При щелчке по кнопке Guess vertical lens shift будет автоматически задано
вертикальное смещение объектива для формирования перспективы на основе
двух точек.
Одним из явных эффектов, которые мы наблюдаем при работе с анимацией
и съемке динамичного видео, является размытие движения (motion blur). Для
визуализации данного эффекта необходимо прибегнуть к трансформации
изображения на основе его смещения в кадре. Данный эффект может быть
сформирован как на этапе визуализации самим V-Ray, так и выведен в виде
специального технического элемента изображения – Velocity Pass – и воспро-
изведен на этапе постобработки и композитинга средствами такого пакета,
как NUKE. Особенностью реализации эффекта размытия движения являет-
ся метод формирования изображения в принципе. Мы можем производить
съемку вручную, с помощью фотокамеры и слегка дернув рукой, и получим
размытое изображение. В другом случае камера может перемещаться вдоль
определенной траектории, а запись кадра будет вестись с помощью затво-
ра, которые открывается на определенный угол, что приводит к попаданию
большего или меньшего количества света, и при определенной скорости бу-
дет формироваться размытое изображение. Также есть задержка цифровой
матрицы, когда свет попадает на нее, но сам процесс записи слегка задержан,
и выполняется определенная выдержка, что и приводит к размытому изобра­
жению.
Если с нестабильностью статичной камеры, получаемой во время съемки
с рук более-менее понятно, то с кинокамерой все сложнее. Здесь, помимо по-
нимания действия оптики, необходимо понимать, как работает затвор каме-
ры. «Угол затвора» («shutter angle») является полезным способом описания
скорости работы затвора относительно частоты кадров. Этот термин унасле-
довал концепцию вращающегося затвора, использовавшегося ранее в кинока-
мерах, где диск с игловидным отверстием вращается и пропускает свет один
раз за оборот, чтобы экспонировать каждый кадр. Чем больше угол, тем боль-
ше выдержка, вплоть до предела в 360°, при котором выдержка может стать
такой же низкой, как и частота кадров. С другой стороны, скорость затвора
можно сделать сколь угодно высокой, уменьшив угол затвора.
574  Камеры и освещение в V-Ray

Рис. 6.3.8  Схема, демонстрирующая примеры различных углов затвора.


Чем больше угол, тем сильнее будет экспонирован кадр

Хотя современным камерам необязательно таким образом контролировать


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

Рис. 6.3.9  Время экспонирования кадра


при различных настройках угла затвора

Безусловно, наиболее распространенным параметром, применяемым кино-


операторами во время схемок видео, является угол затвора примерно в 180°,
что соответствует скорости затвора, равной 1/48 с при частоте в 24 кадра в се-
кунду. Чем больше угол затвора, тем движение будет казаться более размы-
тым, так как завершение размытия движения в одном кадре проходит ближе
к началу размытия движения в следующем кадре. Чем меньше угол затвора,
тем менее заметным будет размытие движения, так как разрыв увеличивает-
ся, в результате чего кадры становятся более похожими на статичные изобра-
жения, аналогичные фотографии.
Камеры V-Ray  575

Приведенный выше пример полезен для понимания базового поведения


механизма затвора кинокамеры. Обычно в каждом кадре размытие движения
не заметно в сравнении с неподвижным изображением. На практике угол за-
твора также оказывает близкое к субъективному влияние на общее воспри-
ятие отснятого или визуализируемого материала, даже если необязательно
знать точные настройки камеры. На рис. 6.3.10 приведены примеры размытия
движения при различных значениях атрибута Shutter Angle.

Рис. 6.3.10. Пример визуализации трех кадров анимации камеры с различны-


ми углами затвора. A – Shutter Angle = 45°, B – Shutter Angle = 180°, C – Shutter
Angle = 270°. Каждый кадр визуализирован с ISO = 75, F-Number = 11.0, Rolling
Shutter Duration = 200

Обратите внимание, что разница в эффекте размытия движения, форми-


руемом углом затвора в каждом кадре, едва заметна в начале (когда действие
находится дальше всего), но становится все более заметной, когда движение
движущихся объектов становится ближе к камере.
Многие пленочные камеры были способны работать только с определенны-
ми диапазонами угла затвора, цифровые камеры и их виртуальные аналоги
предоставляют много новых интересных возможностей. Аналогично тому, как
фокусное расстояние и диафрагма были использованы в качестве творческих
инструментов, используемых для контроля глубины и композиции в кадре,
угол затвора может сделать то же самое для движения.
В конечном итоге оптимальная настройка угла затвора будет зависеть от
ряда таких факторов, как скорость движения объекта в кадре или художествен-
ный замысел кинематографиста. Например, можно использовать больший
угол затвора для увеличения времени экспозиции и уменьшения шума в изо-
бражении при слабом освещении или для создания более плавного и гладкого
движения в кадре. В качестве альтернативы при быстром действии (быстром
576  Камеры и освещение в V-Ray

движении актера или камеры) изображению можно придать больше четких


деталей в каждом кадре, используя меньший угол затвора.
Другим примером применения может быть временный период съемки
фильма, которому хочется подражать. Например, углы затвора, значительно
меньшие 180°, более точно имитируют стиль старых кинохроник и кинофиль-
мов 1950-х годов, а угол затвора 180°, как правило, придает кадрам стандарт-
ный кинематографический стиль.
Атрибут Shutter speed управляет скоростью затвора фотокамеры, выра-
женной в обратных секундах (рис. 6.3.11, иллюстрации ряда A). Например,
скорость затвора, равная 1/30 с, указывает, что кадр будет экспонирован на
протяжении 30-й доли секунды. Данный принцип взят из фотографии, когда
снимок экспонируется определенное время, и чем дольше производится экс-
понирование, тем больше света попадет на пленку или цифровую матрицу.
Если выполняется моделирование кинокамеры, выбран тип Cinematic Cam-
era, станет доступен атрибут Shutter angle. С его помощью задается угол за-
твора кинокамеры, рассмотренный выше. Если необходимо смоделировать
смещение затвора, используйте атрибут Shutter Offset (рис. 6.3.11, иллюстра-
ции ряда B).
Если выбран тип Digital Camera, для настройки станет доступен атрибут La-
tency. Данный атрибут позволяет смоделировать задержку реакции CMOS ма-
трицы камеры в секундах (рис. 6.3.11, иллюстрации ряда C).

Рис. 6.3.11  Примеры визуализации изображений


с различными значениями атрибута Shutter speed. A – Shutter Speed = 50,
B – Shutter Speed = 200, C – Shutter Speed = 400, D – Shutter Speed = 1200

Атрибут ISO определяет чувствительность пленки или матрицы к све-


ту. Меньшие значения делают изображение темнее, а большие – ярче. На
рис. 6.3.12 приведен пример визуализации изображения с различными зна-
Камеры V-Ray  577

чениями ISO. Обратите внимание на то, что программа моделирует свойство


чувствительности матрицы/пленки камеры. Так, при значении ISO = 75 (ил-
люстрация A) изображение достаточно темное, и отчетливо прослеживается
эффект виньетирования; при увеличении ISO, например до 200 или 400 (ил-
люстрации B и C), изображение становится ярче, но при этом переосвещены
светлые области, а эффект виньетирования снижается.

Рис. 6.3.12  Примеры визуализации изображений


с различными значениями атрибута Latency.
A – Latency = 0.1, B – Latency = 0.25, C – Latency = 0.4, D – Latency = 1.0

Когда для реализации художественной задачи используется управление вы-


держкой, диафрагмой, чувствительностью, необходимо активировать атрибут
Exposure color correction. Когда данный атрибут активен, такие атрибуты,
как F-Number, Shutter Speed и ISO, будут оказывать влияние на яркость изо-
бражения.
Атрибут White Balance задает цвет, который можно использовать для из-
менения общего цветового баланса изображения. Объекты в сцене, которые
имеют заданный данным атрибутом цвет, выглядят белыми на изображении.
Также обратите внимание, что учитывается только оттенок цвета; яркость цве-
та игнорируется. Управление балансом белого удобно использовать при соз-
дании определенного акцента в изображении. Например, вечером и в ночное
время зачастую преобладает холодный оттенок (голубой, синий), а в утренние
часы – наоборот, теплые тона.
Бывает, что на снимках или видео, снятых с помощью полнокадровых циф-
ровых и пленочных камер, проявляется необычный эффект – эффект винье-
тирования. Данный эффект зачастую виден в областях краев и углов кадра.
Этот эффект очень хорошо проявляется в объективах с широким углом обзора,
например в объективах с фокусным расстоянием меньше 24 mm. Для модели-
578  Камеры и освещение в V-Ray

Рис. 6.3.13  Пример визуализации сцены с различными значениями ISO


Камеры V-Ray  579

рования такого эффекта с помощью V-Ray Physical Camera необходимо акти-


вировать атрибут Enable vignetting effect (рис. 6.3.14). Управление данным
эффектом и силой его проявления выполняется с помощью атрибута Vignett-
ing amount при значениях атрибута, равных 0.0; при значении 1.0 эффект ви-
ньетирования будет проявляться в кадре. При этом хочу отметить, что при
значениях выше 1.0 можно создать эффект, схожий с формированием изобра-
жения, аналогичного просмотру через трубу.

Рис. 6.3.14  Пример визуализации изображения


с применением эффекта виньетирования. A – Vigneting Amount = 0.25,
B – Vigneting Effect = 1.00, C – Vigneting Effect = 1.75, D – Vigneting Effect = 2.75

Одним из самых выразительных эффектов, которые могут быть сформиро-


ваны объективом камеры, является эффект глубины резкости. Данный эффект
позволяет создать глубину кадра, выполнить акцентирование внимания на
объекте или персонаже.

Моделирование эффекта глубины резкости


и размытия движения
Что такое глубина резкости? По своей сути это оптическое явление, когда фо-
кус, акцентируясь на ближнем к наблюдателю объекте, формирует размытый
эффект как на переднем, так и на заднем планах, а все, что расположено в об-
ласти резкости, называется глубиной резкости.
Для большинства камер глубина резкости (Depth of Field (DOF)) являет-
ся дистанцией между ближними и дальними объектами, которые находятся
аккуратно в резком фокусе в изображении. Глубина резкости может быт вы-
числена на основе фокусного расстояния, дистанции до объекта, диаметра
580  Камеры и освещение в V-Ray

Рис. 6.3.15  Пример визуализации эффекта глубины резкости с по-


мощью V-Ray for Maya и V-Ray Physical Camera. Иллюстрация A визуа­
лизирована без активного эффекта глубины резкости; иллюстрация B
визуализирована с параметрами камеры F-Number = 6.3, Shutter Speed =
1500, ISO = 100, Docus Distance = 375, эффект глубины резкости активен;
параметры для иллюстрации C F-Number = 4.5, Shutter Speed = 1750; па-
раметры для иллюстрации D F-Number = 2.8, Shutter Speed = 2000
Камеры V-Ray  581

окружности видимой области и диафрагмы. Определенная глубина резкости


может быть выбрана для технических или художественных целей. Ограниче-
ния, присущие глубине резкости, иногда могут быть преодолены с помощью
различных методов/оборудования.
Чтобы смоделировать эффект глубины резкости с помощью V-Ray for Maya,
примените атрибуты V-Ray Physical Camera к камере, из вида которой вы же-
лаете выполнить визуализацию. Затем активируйте атрибут Enable Bokeh ef-
fects. Он определяет форму апертуры камеры. Когда данный атрибут отклю-
чен, имитируется идеально круглая апертура. Когда он включен, имитируется
многоугольная апертура. Этот атрибут действует, когда включена глубина рез-
кости.
Атрибут Number of blades задает количество лепестков многоугольной
диа­фрагмы.

Рис. 6.3.16  Пример визуализации изображения


с различными значениями атрибутов Number of Blades
582  Камеры и освещение в V-Ray

Рисунок 6.3.16 демонстрирует пример визуализации сцены с эффектом глу-


бины резкости, но сформированным с применением объективов с различным
количеством лепестков диафрагмы. Рисунок на иллюстрации A показывает,
какой будет эффект, если атрибуту Number of Blades задать величину 3. Эф-
фект вне плоскости фокусного расстояния принимает рисунок треугольника.
При увеличении количества лепестков диафрагмы эффект примет форму кру-
гов, так как большее количество лепестков формирует более плавную форму,
близкую к окружности. На иллюстрации B задана величина 5, а на иллюстра-
ции C – 9, что сформировало почти идеальный круг.
Если необходимо немного изменить угол лепестков диафрагмы, оказываю-
щего влияние на узор боке, используйте атрибут Blades rotation (in radians),
который задается в радианах1.
Атрибут Center bias определяет форму смещения для эффекта боке. Поло-
жительные значения делают эффект боке ярче, а отрицательные значения де-
лают ярче центр эффекта боке.
Если вы планируете моделировать анаморфный объектив, используйте
атрибут Bokeh anisotropy – значения, отличные от 0, растягивают эффект
боке по горизонтали или по вертикали для моделирования анаморфных объ-
ективов (anamorphic lenses). Если вы хотите, чтобы отношение высоты к ши-
рине боке было k:1, тогда значение для анизотропии должно быть sqrt(1/k) – 1.
Например, для анаморфного боке, которое составляет соотношение 2.39:1,
значение анизотропии должно составлять –0.353.
Эффект влияния положительной и отрицательный анизотропии на эффект
глубины резкости приведен на рис. 6.3.17. Иллюстрация A демонстрирует эф-
фект при значении, равном 0.5, при увеличении анизотропии до 0.85 эффект
будет сильно выражен (иллюстрация B), но не стоит превышать величину
выше 1.0 – это поспособствует тотальному размытию изображения, что при-
ведет к черному изображению. При отрицательной величине, например –0.5
(иллюстрация C), будет формироваться вертикальный эффект анизотропии,

1 Радиа́н (русское обозначение: рад, международное: rad; от лат. radius – луч, радиус) –
угол, соответствующий дуге, длина которой равна ее радиусу. Единица измерения
плоских углов в Международной системе единиц (СИ).
Радианная мера – угловая мера, в которой за единицу принимается угол в 1 rad. Для
примера: прямой угол в градусной мере имеет 90 угловых градусов (по договоренно-
сти, это ниоткуда не следует). Тот самый угол в радианной мере имеет π/2 rad ≈ 1.571
rad. Из определения следует, что величина полного угла в радианной мере равна 2π
rad. В градусной мере полный угол имеет 360 угловых градусов.
Определить радианную меру можно и так: радианная мера угла – отношение длины
дуги окружности, находящейся между сторонами угла, к радиусу этой окружности,
когда центр окружности совпадает с вершиной угла. В геометрии для определения
радианной меры угла используют единичную окружность с центром в вершине угла;
тогда радианная мера угла равна длине дуги единичной окружности между сторо-
нами угла.
Поскольку длина дуги окружности пропорциональна ее угловой мере и радиусу, дли-
на дуги окружности радиуса R и угловой величины α, измеренной в радианах, равна
α × R.
Так как величина угла, выраженная в радианах, равна отношению длины дуги окруж-
ности к длине ее радиуса, угол в радианном измерении – величина безразмерная.
Камеры V-Ray  583

он более свойственен анаморфным объективам, обладающим цилиндриче-


ской линзой.

Рис. 6.3.17  Примеры визуализации изображения


с применением атрибута Bokeh anisotropy

Атрибут Enable Depth-of-field активирует эффект глубины резкости. Если


вам необхоидмо вручную определить расстояние, на котором находится объ-
ект фокуса, используйте атрибут Specify focus, который позволяет задать фо-
кусное расстояние, отличное от целевого расстояния камеры. Атрибут Focus
distance задает расстояние фокуса камеры.
При визуализации рассмотренного выше эффекта размытия движения ис-
пользуйте атрибут Enable Motion blur.
Aperture map – определяет текстурную карту для определения формы диа-
фрагмы (рис. 6.3.18).
584  Камеры и освещение в V-Ray

Рис. 6.3.18  Примеры визуализации изображения с различными тек-


стурными картами диафрагмы. Иллюстрация A – сложная текстура диа-
фрагмы, B – круглая текстура, где светлая область значит, что эффект
проявляется, темная – эффект отсутствует, что формирует эффект, по-
добный зеркально-линзовому объективу

Специальный атрибут Affects exposure будет учитывать размер и форму


диафрагмы, заданные текстурной картой диафрагмы, и окажет влияние на
экспозицию конечного изображения.
Атрибут Cat’s eye bokeh управляет силой оптического виньетирования,
также известного как виньетирование «кошачьего глаза». Этот эффект свя-
зан с тем, что форма бликов боке напоминает форму диафрагмы. По мере
увеличения расстояния до оптической оси блики боке постепенно сужаются
и начинают напоминать форму кошачьего глаза. Чем больше расстояние от
центра изображения, тем уже становится эффект кошачьего глаза. Оптическое
виньетирование имеет тенденцию быть сильнее в широкоугольных объекти-
вах и объективах с большой апертурой, но эффект можно заметить с большин-
ством фотографических объективов.
Атрибут Rolling shutter mode указывает, включен ли эффект вращения за-
твора, и определяет направление вращения затвора. Атрибуты Rolling Shutter
будут активны только тогда, когда включена функция Motion Blur:
 Disabled;
Камеры V-Ray  585

 Top to bottom;
 Bottom to top;
 Left to right;
 Right to left.
Rolling shutter duration – время прохождения затвора через изображение
определено величиной 1/сек.

Атрибуты камеры V-Ray. Camera Settings


Расширенные атрибуты камеры V-Ray, определяемые группой атрибутов Ca­
mera Seetings (рис. 6.3.19), выполняют переопределение глобальных параме-
тров камеры, задаваемых в редакторе Render Settings. Рассмотренные в дан-
ном разделе атрибуты аналогичны атрибутам камеры в Render Settings, но
определены локально для выделенной камеры. Атрибуты камеры, располо-
женные в Render Settings, подробнее рассмотрены ниже.

Рис. 6.3.19  Свиток Camera Settings


позволяет переопределить глобальные настройки камеры V-Ray,
выбрать тип проекции и осуществить конфигурацию

Флажок Override Global Camera Settings активирует переопределение гло-


бальных настроек свойств камеры для текущей выбранной в сцене камеры,
которой присвоены дополнительные атрибуты Camera Settings.
В V-Ray камеры обычно определяют направление лучей, которые направля-
ются в сцену, что, по сути, является тем, как сцена проецируется по отношению
к зрителю. V-Ray поддерживает несколько типов камер: Standard, Spherical, Cy-
586  Камеры и освещение в V-Ray

lindrical (point), Cylindrical (ortho), Box и Fish Eye. Вид с ортогональной проекцией
также поддерживается. С помощью раскрывающегося списка Type вы можете
выбрать тип камеры. Рассмотрим представленные типы подробнее:
 тип Standard позволяет использовать для визуализации текущую каме-
ру в сцене (обычно это камера с точечным отверстием);
 тип Spherical определяет, что камера использует сферический объектив;
 при выборе типа Cylindrical (point) камера направляет все лучи из цен-
тра цилиндра. При этом в вертикальном направлении камера действует
как камера-обскура, а в горизонтальном – как сферическая камера;
 если же выбран режим Cylindrical (ortho), камера направляет все лучи
из центра цилиндра. В вертикальном направлении камера формирует
вид ортогональной проекции, а в горизонтальном камера действует как
сферическая камера;
 тип Box формирует шестигранную кубическую модель камеры, состо-
ящую из стандартных камер размещенных по бокам виртуального па-
раллелепипеда. Этот тип камеры отлично подходит для создания куби-
ческих карт окружающей среды (cubic environment map) и генерирует
изображение в вертикальном перекрестном формате. Тип Box также
может быть использован для создания карт освещения от GI: сначала
вы вычислите карту освещенности с помощью камеры типа Box, затем
сохраните ее в файл и, наконец, повторно используете ее со стандартной
камерой, которая может быть направлена в любом направлении;
 специальный тип камеры Fish eye позволяет визуализировать сцену,
моделируя камеру со стандартной диафрагмой, но направленную на
зеркальную сферу (со 100%-ным отражением), которая отражает сцену
обратно по направлению к камере. Это схоже с использованием свето-
вой пробы в HDRI-фотографии. Вы можете использовать атрибуты Dist
и FOV, чтобы контролировать, какая часть сферы охватывается каме-
рой. Обратите внимание, что виртуальная зеркальная сфера всегда име-
ет радиус 1.0;
 Warped spherical (old-style) – сферическая камера с немного иной фор-
мулой проецирования, использовавшейся ранее;
 тип Orthogonal определяет модель в качестве ортографической камеры,
обеспечивающей плоские, не обладающие искажением перспективы;
 тип Pinhole переопределяет тип камеры в качестве камеры-обскуры;
 тип Spherical panorama формирует сферическую камеру с независи-
мым выбором поля зрения по горизонтали и вертикали, которая полезна
для формирования длинных изображений для использования в VR сфе-
рического типа;
 тип Cube6x1 представляет собой вариант камеры типа Box с прямо­
угольными гранями, расположенными в один ряд. В отличие от визуа­
лизации с помощью камеры типа Box тип Cube6x1 не создает пустого
пространства в визуализируемом изображении и полезен для формиро-
вания изображения для VR с кубическим методом проецирования.
Камеры V-Ray  587

Флажок Override FOV позволяет переопределить угол обзора камеры. Это


связано с тем, что некоторые типы камер в V-Ray могут принимать диапазоны
FOV от 0 до 360°, тогда как стандартные камеры в Maya ограничены 180°.
Атрибут FOV задает угол поля зрения камеры, когда текущий тип камеры
поддерживает его настройку. Этот атрибут доступен только в том случае, если
включен атрибут Override FOV.
С помощью атрибута Vertical FOV определяется угол поля зрения в верти-
кальном направлении.
Атрибут Height определяет высоту камеры, если выбран тип Cylindrical (or-
tho).
С помощью атрибута Auto-fit можно автоматически корректировать ка-
меры типа Fush Eye. Когда функция Auto-fit включена, V-Ray автоматически
рассчитывает значение Dist, чтобы визуализируемое изображение совпадало
с размерами изображения по горизонтали.
Атрибут Dist относится только к камере типа Fush Eye. Камера типа Fish Eye
моделируется как камера типа Standard, направленная на сферу с абсолютно
зеркальной поверхностью (с радиусом 1.0), которая отражает сцену в затвор
камеры. Значение Dist определяет, как далеко камера находится от центра
сферы (т. е. сколько от поверхности сферы будет захвачено камерой). Этот
атрибут не действует, если включен атрибут Auto-fit.
При выборе камеры типа Fish Eye с помощью атрибута Curve производится
управление степенью деформации камеры. Значение 1.0 соответствует реаль-
ной камере с объективом типа «рыбий глаз». Когда значение приближается
к 0.0, деформация изображения увеличивается. Технически это значение кон-
тролирует угол, под которым лучи отражаются от виртуальной сферы перед
камерой.

Атрибуты камеры V-Ray. Dome Camera


Дополнительные атрибуты Dome Camera преобразуют стандартную камеру
в VRayDomeCamera, делая доступными опции для переворачивания камеры.
Выбор этого набора дополнительных атрибутов также добавляет несколько
атрибутов в редакторе атрибутов.
Атрибут Treat as VRay Dome Camera активирует дополнительные атрибу-
ты в свитке.
Атрибуты Flip X и Flip Y выполняют поворот вида из камеры вокруг осей
X и Y. С помощью атрибута FOV для VRayDomeCamera определяется поле
зрения.
Существует три типа поля зрения: горизонтальное, вертикальное и диа-
гональное. Горизонтальное поле зрения зависит от размера кадра, фокусно-
го расстояния, расстояния фокусировки и коэффициента масштабирования.
В дополнение к этим четырем параметрам вертикальное и диагональное поля
зрения зависят от формата изображения (image aspect ratio).
588  Камеры и освещение в V-Ray

Рис. 6.3.20  Дополнительные атрибуты V-Ray Dome Camera,


добавленные к узлу камеры перспективного вида

Глобальные атрибуты эффекта размытия движения


Эффект размытия движения будет формироваться только тогда, когда напро-
тив атрибута Camera Motion Blur установлен флажок. Доступ к данному атри-
буту можно получить с помощью диалогового окна Render Settings во вклад-
ке Overrides и раскрывающемся свитке Camera, группа атрибутов Motion Blur
(рис. 6.3.21).
Атрибуты, расположенные в данном свитке, оказывают влияние на визуа-
лизируемое изображение только тогда, когда у камеры активно вычисление
эффекта размытия движения.
Атрибут Camera Motion Blur позволяет активировать вычисление размы-
тия движения движущейся камеры. С помощью атрибута Duration (frames)
задается продолжительность эффекта, определяемая в кадрах. В этот момент
затвор камеры открыт. Атрибут Interval Center задает средний интервал раз-
мытия движения относительно кадра. Значение 0.5 означает, что центр интер-
вала размытия движения находится посередине между кадрами. Значение 0.0
говорит о том, что центр интервала находится в точном центре кадра. Атрибут
Bias управляет смещением потока света для формирования эффекта размы-
тия движения. Значение 0.0 сообщает, что свет проходит равномерно в тече-
ние всего интервала размытия движения. Положительные значения означают,
что свет концентрируется к концу интервала, а отрицательные значения кон-
центрируют свет к началу.
В реальных камерах затвору требуется некоторое время для открытия и за-
крытия, что в свою очередь влияет на то, как выглядит размытие при движе-
нии. Это особенно актуально для объективов с большой диафрагмой. Атрибут
Shutter Efficiency используется, чтобы смоделировать этот эффект, он контро-
Камеры V-Ray  589

лирует, как выбираемые образцы размытия движения распределяются во вре-


менном интервале кадра. Значение 1.0 означает, что образцы распределяются
равномерно, как будто затвор открывается и мгновенно закрывается. Более
низкие значения дают более реалистичные результаты, помещая больше вы-
борок к середине временного интервала.

Рис. 6.3.21  Атрибуты группы Motion Blur


в раскрывающемся свитке Camera вкладки Overrides

Атрибут Prepass Samples управляет тем, сколько образцов во времени вы-


числяется во время расчетов карты освещенности.
Geometry samples – определяет количество сегментов геометрии, исполь-
зуемых для аппроксимации размытия при движении. Предполагается, что
объекты перемещаются линейно между образцами геометрии. Для объектов,
вращающихся с высокой скоростью, увеличьте этот параметр, чтобы полу-
чить правильное размытие движения. Обратите внимание, что более высокие
значения увеличивают потребление памяти, поскольку в памяти сохраняется
больше копий геометрии.
В данном разделе я постарался представить наиболее часто используемые
функции камер и V-Ray для постановки композиции кадра и функций камеры.
590  Камеры и освещение в V-Ray

Работа с камерой и ее эффектами позволяет передать сюжет и сделать акцент


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

6.4. Основы работы с освещением


Освещение в сцене играет важную роль в передаче идеи и управлении ком-
позицией. С помощью освещения художник формирует акцент на объекте,
передает атмосферу в сцене и формирует ощущение восприятия зрителя с по-
мощью температуры и оттенков цвета источников освещения. Само по себе
освещение не передает отчетливой глубины и детализации объектов, обычно
оно плоское, особенно при попадании на плоскость. Но объем, детали и фак-
туры мы наблюдаем за счет теней. Тени прекрасно описывают положение объ-
ектов в сцене и подчеркивают их детали (рис. 6.4.1).

Рис. 6.4.1  Визуализация сцены без теней (A) и с тенями (B)

На иллюстрации A приведен пример визуализации сцены с помощью VRa-


yDomeLight и текстурной карты HDRI. Но тени, формируемые источником
света, отключены. Обратите внимание на «плоское» изображение без объема
и деталей. Конечно, детали, формируемые картами нормалей и картами сме-
щения геометрии, наблюдаются, но нет глубины в сцене и неясно положение
объектов в сцене относительно друг друга. При включении теней (иллюстра-
ция B) сцена обретает объем. Видно, что тепловоз находится внутри депо,
шпалы и рельсы расположены над поверхностью земли, причем сами шпалы
ниже уровня земли. В то время как без теней столбы освещения рядом со зда-
нием находились как будто в плотную к зданию, тени показали их положение
более отчетливо. Один столб находится на небольшом расстоянии, а другой
расположен в плотную. Тени также передали небольшие детали в окнах, опре-
деленные рамами и оконными проемами в стенах.
Основы работы с освещением  591

Рис. 6.4.2  Температура цвета источника света позволяет изменить цвет


без явного определения значений RGB, что делает его достаточно приближенным
к реальной модели освещения

Используя температуру цвета, можно управлять цветом освещения более


точно, приближая источник света к реальному прототипу. Обычно темпера-
тура цвета задается в градусах Кельвина (°K). Чем ниже значение, тем теплее
будет цвет источника света. Обычно значения температуры в диапазоне 2500–
5600 °K формируют теплый оттенок цвета, значение в 6500 °K определено как
белый цвет (см. главу 1 «Свет и цвет в компьютерной графике»), все, что выше
6500 °K, особенно значения в диапазоне 9500–25 700 °K, определено как холод-
ный оттенок цвета (голубой–насыщенный синий). Рисунок 6.4.2 демонстри-
рует визуализацию сцены, в которую добавлено несколько источников света.
Каждый из источников обладает определенными значениями температуры
цвета (см. подписи в иллюстрации). Уделяйте особое внимание применению
температуры цвета при передаче настроения в сцене. Так, в полнолуние свет
от луны обладает белым (иногда именуемым лунно-белым) цветом, однако
в глубокой ночи без полнолуния свет обладает более холодным синим цветом.
Утром, во время рассвета или заката, освещение приобретает теплый отте-
нок; особенно хорошо проявляется подобный эффект, если наблюдать закат
или восход в северных широтах, ближе к полярному кругу. Например, в стра-
нах Скандинавии продолжительность светового дня достаточно длительная
(в летний период и во время полярного дня), а рассеивание и преломление
света в частицах, рассеянных в атмосфере, формирует плавный теплый от-
тенок голубого с теплым розоватым или насыщенным оранжевым цветами.
Это хорошо видно, когда при просмотре в сторону солнца мы видим теплые
592  Камеры и освещение в V-Ray

тона, а обернувшись в противоположную сторону, видим серый или холодный


синий оттенок небосвода и облаков.

Рис. 6.4.3  Модель сцены с освещением по принципу трех точек

В фотографии и кино часто прибегают к применению освещения по прин-


ципу трех точек. Используя три и более источника света, фотографы и кино-
операторы формируют освещение в сцене. На рис. 6.4.3 представлена модель
сцены с тремя источниками света. Визуализация выполняется со стороны
камеры (D). Источник света A является ключевым (Key Light) и формирует
наиболее яркий поток света (рис. 6.4.4 D). Один источник формирует доста-
точно резкое и контрастное освещение и освещает только одну сторону мо-
дели статуэтки. Для заполнения темной области, которая видна со стороны
наблюдателя, ближе к камере был установлен заливающий источник света B
(Fill Light), который обладает высокой цветовой температурой, что форми-
рует холодный оттенок, но его интенсивность ниже в два раза по сравнению
с ключевым источником света A (рис. 6.4.4 C). Для формирования контура
модели использовался контровой источник света (Back Light) или задний ис-
точник света. Контровой источник света C формирует контур вокруг модели,
описывая ее форму с помощью бликов (рис. 6.4.4 B). При этом он заливает
пространство за моделью, формируя тень, направленную в противополож-
ном к ключевому источнику света A направлении. Когда все источники света
активны, они сформируют равномерное освещение, которое корректно пере-
даст форму модели и детали, при этом оградит ее от общего фона и акценти-
рует на ней внимание.
Основы работы с освещением  593

Рис. 6.4.4  Визуализация модели статуэтки


с применением освещения по трем точкам

Иногда для создания художественного образа при формировании ограни-


ченного пространства используется ограничение потока света с помощью
жалюзи, штор или веток деревьев. Для этого можно использовать текстур-
ную карту, что позволяет сэкономить время визуализации при визуализации
сложных сцен. Ведь текстура быстрее загрузится в память и будет определять
только цвет и интенсивность источника света.
На рис. 6.4.5 приведен пример визуализации модели статуэтки, освещенной
ключевым источником света, к которому применена текстурная карта, ими-
тирующая эффект от жалюзи. Данный эффект хорошо прослеживается, если
снизить интенсивность контрового и заливающего источников света, что по-
зволяет еще более отчетливо передать ограничивающий статуэтку объем (ил-
люстрация B).
594  Камеры и освещение в V-Ray

Рис. 6.4.5  Пример визуализации модели статуэтки


с применением трехточечной схемы освещения (A) и с применением
только направленного источника света с текстурной картой (B)

Рис. 6.4.6  Освещение, выполненное с применением IES-профилей


реальных ламп и источников освещения

Если же необходимо реализовать освещение в интерьере или экстерьере на


основе данных об освещении реальных источников света, для которых были
выполнены замеры с помощью специализированного оборудования и про-
Источники света V-Ray  595

граммного обеспечения, можно использовать источники света, поддерживаю-


щие импорт IES-профилей (рис. 6.4.6). Каждый профиль может описывать кон-
кретную модель источника освещения. Такие профили могут быть найдены на
сайтах производителей осветительных приборов или заказаны у их партнеров.
Помимо применения специализированных профилей, освещение может быть
смоделировано на основе геометрической модели. Создание геометрического
источника света позволяет добиться реалистичных отражений на кривых по-
верхностях, что добавляет художественности визуализируемому изображению.

6.5. Источники света V-Ray


Пакет Maya поставляется с двумя ядрами визуализации – Maya Software и Maya
Hardware 2.0. Данные ядра визуализации поддерживают родные для Maya ис-
точники света. Но данные источники света в первую очередь оптимизированы
для работы с ядрами визуализации из поставки. Если же используется другое
ядро визуализации, особенно от стороннего производителя, у него будет ре-
ализовано собственное представление источников света. Так, система визуа-
лизации V-Ray for Maya использует собственные источники света, а стандарт-
ные источники света преобразует в подходящие для визуализации средствами
V-Ray источники с помощью дополнительных атрибутов. Помните, что сцена,
в которой использованы источники света Arnold Renderer, при выборе в каче-
стве текущего ядра визуализации V-Ray будет визуализироваться некорректно.
Набор инструментов V-Ray for Maya предоставляет несколько источников
света, которые могут быть созданы аналогично стандартным источникам све-
та Maya. Данные объекты (рис. 6.5.1) определяют положение источников света
в сцене, и предоставляют возможность настройки атрибутов каждого из них
напрямую в интерфейсе редактора атрибутов.

Рис. 6.5.1  Источники света V-Ray, отображаемые в панели видового окна


Maya. A – V-Ray Rectangle Light, B – V-Ray Dome Light, C – V-Ray Sun, D – V-Ray
Sphere Light, E – V-Ray Geometry Light (geometry shape), F – V-Ray IES Light
596  Камеры и освещение в V-Ray

Источник света V-Ray Rectangle Light


Источник света V-Ray Rectangle light (узел VRayLightRect) является «площад-
ным источником света» («area light»), определенным плоскостью. Форма ис-
точника света может быть представлена в виде прямоугольника или диска.

Рис. 6.5.2  Визуализация освещения сцены,


выполненного с помощью V-Ray Rectangle Light. В сцене использован источник
прямоугольной формы и источник дисковой формы

Атрибут Enabled включает или отключает источник света. Если флажок


установлен, источник света будет включен в освещение сцены.
Если направление источника света должно быть анимировано или он дол-
жен «следить» за объектом, можно использовать цель, которая создается с по-
мощью кнопки Toggle Target. Кнопка выполнит переключение источника
света между режимом нацеленного источника света (target light) и свободного
источника света (free light). Также можно использовать горячую клавишу T,
доступную в Maya.
Далее обычно выполняется настройка цвета источника освещения и его ин-
тенсивность. Данный момент важен, так как он зависим от настроек камеры
(V-Ray Physical Camera) и глобальных настроек трансформации цвета. Атрибут
Color Mode позволяет выбрать режим, с помощью которого будет определен
цвет источника света. Цвет может быть определен как с помощью RGB-цвета
(Color), так и с помощью температуры (Temperature):
 Light Color – когда атрибуту Color Mode определен режим Color, данный
атрибут будет управлять цветом источника света. При использовании
Источники света V-Ray  597

фотометрических единиц излучения этот цвет нормализуется, так что


будет использован только оттенок цвета, а интенсивность света опреде-
ляется атрибутом Intensity Multiplyer;
 Temperature – если атрибут Color Mode находится в режиме Tempera-
ture, то цвет освещения будет определен в градусах Кельвина (°K).

Рис. 6.5.3  Атрибуты источника света V-Ray Rectangle Light

Множитель для цвета освещения определяется атрибутом Intensity multi-


plier, он также задает интенсивность освещения в единицах, определенных
атрибутом Units. С помощью атрибута Units вы можете выбрать физические
единицы измерения интенсивности освещения. Использование правильных
единиц измерения интенсивности важно при использовании V-Ray Physical
Camera. Источник света автоматически примет во внимание масштаб единиц
измерения сцены, чтобы получить правильный результат для масштаба, с ко-
торым вы работаете (рис. 6.5.4). Атрибуту может быть присвоено одно из сле-
дующих возможных значений:
 Default – цвет источника освещения и множитель интенсивности на-
прямую определяют видимый цвет исходящего от источника света без
598  Камеры и освещение в V-Ray

какого-либо преобразования. На визуализируемом изображении, если


смотреть на него непосредственно со стороны наблюдателя (камеры)
(и при условии, что не используется Color Mapping), освещаемая поверх-
ность будет представлена с заданным цветом;
 Lumens – задает общую мощность излучаемого видимого света, изме-
ряемую в люменах1. При использовании этого значения интенсивность
света не будет зависеть от его размера. Типичная электрическая лам-
почка мощностью 100 W излучает около 1500 lm;
 lm/m/m/sr – определяет поверхностную мощность видимого света, из-
меряемую в люменах на квадратный метр на стерадиан. Когда исполь-
зуется данное значение, интенсивность света зависит от его размера;
 Watts – общая мощность излучаемого видимого света, измеряется в ват-
тах2. При такой настройке интенсивность света не зависит от его разме-
ра. Имейте в виду, что это не то же самое, что электрическая мощность,
потребляемая, например, лампочкой. Обычная 100-ваттная лампочка
излучает только от 2 до 3 W в виде видимого света;
 w/m/m/sr – поверхностная мощность видимого света, измеряемая в ват-
тах на квадратный метр на стерадиан. Когда используется данное зна-
чение, интенсивность освещения зависит от размера источника света.
Рассмотрим пример визуализации сцены с площадным источником света,
которому были назначены различные значения атрибута Units. Иллюстра-
ция A демонстрирует визуализацию сцены, освещенную источником света со
стандартными единицами – Default. Иллюстрация B демонстрирует результат
визуализации сцены, если выбран тип Lumens. Визуализации на иллюстраци-
ях C и C2 демонстрируют результат применения единиц типа m/m/m/sr. Для
того чтобы изображение проявилось полностью, величина интенсивности
была увеличена (C2). Иллюстрация D демонстрирует визуализацию сцены при
выборе единиц Watts. Иллюстрации E и E2 представляют примеры визуализа-
ции сцены при выборе единиц w/m/m/sr. Обратите также внимание на то, что
при конверсии величины в 60 единиц в единицы типа w/m/m/sr интенсивность

1 Лю́мен (русское обозначение: лм; международное: lm) – единица измерения свето-


вого потока в Международной системе единиц (СИ), является световой величиной.
Один люмен равен световому потоку, испускаемому точечным изотропным источ-
ником c силой света, равной одной канделе, в телесный угол величиной в один сте-
радиан: 1 лм = 1 кд × ср (= 1 лк×м2). Полный световой поток, создаваемый изотроп-
ным источником с силой света одна кандела, равен 4π люменам.
2 Ватт (русское обозначение: Вт, международное: W) – единица измерения мощности,
а также теплового потока, потока звуковой энергии, мощности постоянного элек-
трического тока, активной и полной мощности переменного электрического тока,
потока излучения и потока энергии ионизирующего излучения в Международной
системе единиц (СИ). Единица названа в честь шотландско-ирландского изобрета-
теля-механика Джеймса Уатта (Ватта), создателя универсальной паровой машины.
В соответствии с правилами СИ, касающимися производных единиц, названных по
имени ученых, наименование единицы ватт пишется со строчной буквы, а ее обо-
значение – с заглавной. Такое написание обозначения сохраняется и в обозначени-
ях других производных единиц, образованных с использованием ватта. Например,
обозначение единицы измерения энергетической яркости «ватт на стерадиан-квад­
ратный метр» записывается как Вт/(ср×м2).
Источники света V-Ray  599

снизится, поэтому, как и в случае с примерами на иллюстрациях C и C2, не-


обходимо скорректировать интенсивность источника света.

Рис. 6.5.4  Пример визуализации сцены и эффекта затухания света


от источника с фиксированным значением интенсивности,
но при различных единицах измерения

Атрибут Shape Type позволяет определить форму площадного источника


света:
 при выборе Rectangle источник света V-Ray Light Rect примет форму
планарного прямоугольника;
 когда выбрано Disc, источник света V-Ray Light Rect примет форму пла-
нарного диска.
Атрибут U Size задает ширину источника света, измеряемую в единицах из-
мерения сцены. Атрибут V Size задает высоту источника света, измеряемую
в единицах измерения сцены. Ширина и высота будут вдвое больше данных
значений.
Directional – когда это значение равно 0, свет от V-Ray Light Rect распро-
страняется одинаково во всех направлениях. Увеличение этого значения дела-
ет луч света более узким и концентрирует его в одном направлении (рис. 6.5.5).
Атрибут Directional Preview Length определяет длину конуса, используе-
мого для габаритного контейнера источника света, определяемого атрибутом
Directional и отображаемого в видовом окне проекции. Этот атрибут доступен
только тогда, когда величина Directional больше 0.0. С помощью атрибута Di-
rectional Preview осуществляется управление внешним видом эффекта, фор-
мируемого источником света в видовом окне проекции. Этот атрибут досту-
пен только тогда, когда значение атрибута Directional больше 0:
 Selected – эффект будет отображаться только при выборе источника
света;
 Always – эффект будет отображаться всегда;
 Never – эффект никогда не отображается.
600  Камеры и освещение в V-Ray

Рис. 6.5.5  Эффект освещения,


формируемый различными значениями атрибута Directional.
A – Directional = 0.05, B – Directional = 0.5, C – Directional = 0.95

При выборе и настройке атрибута Directional системе визуализации потребуется


больше времени на выполнение выборки лучей света в сцене. Это объясняется
тем, что программа пытается сконцентрировать поток света в более узкую область
и пересчитать все переотражения света в алгоритме GI.

Если вы желаете использовать для освещения текстурную карту (рис. 6.4.5),


поставьте флажок напротив атрибута Use Rect Tex. Он позволяет источни-
ку света использовать растровую или процедурную текстурную карту для по-
верхности источника света. Если есть поверхности, расположенные близко
к источнику света с текстурной картой, лучше всего включить вычисление
глобального освещения. Ядру визуализации это позволяет использовать ком-
бинированную методику на основе прямой и непрямой выборки света, умень-
шая шум на поверхностях, близких к источнику света.
Когда активен атрибут Multiply By The Light Color, цвета текстурной карты
умножаются на интенсивность света для регулировки яркости.
Атрибут Rect Tex определяет текстурную карту, используемую для осве­
щения.
Если используется файл растровой текстурной карты в формате RGBA (файл, со-
держащий альфа-канал), данный альфа-канал должен быть связан с атрибутом
Rect Tex A, чтобы использовать его совместно с источником света.

С помощью атрибута Rect Tex A определяется альфа-канал текстурной кар-


ты, используемой для источника света. Значение по умолчанию равно 1 (пол-
ностью непрозрачно), оно остается неизменным, если текстурная карта свя-
зана с атрибутом Rect Tex, даже если текстурная карта содержит альфа-канал.
Для использования альфа-канала текстурной карты вывод альфа необходимо
подключить к данному атрибуту.
Когда включен атрибут Tex Adaptive, атрибут Texture resolution определя-
ет разрешение, при котором выполняется выборка текстурной карты. Чтобы
получать тени лучшего качества для текстурной карты, ядро визуализации бу-
дет использовать метод Importance Sampling.
Когда вы настраиваете положение ярких областей текстурной карты в ви-
довом окне проекции, для отображения текстурной карты, связанной с ис-
Источники света V-Ray  601

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


Show in viewport:
 Disabled – текстура не будет отображаться;
 Texture only – текстура будет отображаться в видовом окне проекции;
 Texture*Intensity – в данном режиме текстура приумножается на ин-
тенсивность света до его отображения в видовом окне проекции.

Рис. 6.5.6  Свитки Options, Sampling,


Shadows Photon Emission, UI и Advanced Options

No Decay – обычно интенсивность света обратно пропорциональна квадра-


ту расстояния от источника света (поверхности, которые находятся дальше
от источника света, получают меньше света, чем поверхности, которые нахо-
дятся ближе к свету). Когда данный атрибут включен, интенсивность света не
уменьшается с расстоянием. Посмотрите пример, приведенный на рис. 6.5.8,
с V-Ray Sphere Light, чтобы увидеть действие данного атрибута. Но помните,
что данный атрибут неактивен при использовании ядра V-Ray GPU (CUDA).
Если вам необходимо освещать одним источником света в двух направле-
ниях, используйте атрибут Double Sided (рис. 6.5.9).
Специальный атрибут Invisible управляет отображением плоскости источ-
ника света в процессе визуализации. Когда этот атрибут включен, источник
света не виден при визуализации. Когда он отключен, если источник света по-
падает в поле обзора камеры или виден через преломления, он отобразится
в визуализируемом изображении.
602  Камеры и освещение в V-Ray

Рис. 6.5.7  Пример визуализации сцены со снижением интенсивности света


(A) и без снижения (B); обратите внимание на то, что изображение практически
залито светом, так как источник света освещает всю сцену без учета расстояния
и спада

Рис. 6.5.8  Пример визуализации сцены


с двусторонним источником света V-Ray Rectangle Light

Видимость источника света по отношению к отражениям контролируется атрибу-


тами Affect Specular и Affect Reflections, а не атрибутом Invisible.

Когда активирован атрибут Skylight Portal, атрибуты Light Color и Intensity


Multiplier будут проигнорированы. Вместо этого свет будет получать свою ин-
тенсивность от окружающей его среды.
Simple Skylight Portal – этот атрибут становится доступен, только если ак-
тивен атрибут Skylight Portal. Он может помочь ускорить визуализацию, упро-
Источники света V-Ray  603

щая процесс выборки окружающей среды для областей. Когда он включен,


источник света использует весь цвет окружающей среды, а не только цвет объ-
ектов позади источника света. Использование только окружающей среды, рас-
положенной за источником света, требует дополнительных лучей, поэтому ис-
пользование всей среды ускоряет визуализацию портальных источников света.
Иллюстрация A, приведенная на рис. 6.5.9, показывает пример освещения,
смоделированного без применения режима Simple Skylight Portal. В тесте были
использованы следующие параметры системы визуализации: режим Bucket
(CPU), Min Shading Rate = 4, Min subdivs = 1, Max Subdivs = 12, GI method = Brute
Force, BF Subdivs = 3, BF Depth = 3, каждый источник света обладает настройкой
Subdivs = 8 и переведен в режим Skyportal Light. Время визуализации сцены на
иллюстрации A в разрешении 2048×1080 пикселей составило 360 мин, а время
визуализации сцены на иллюстрации B – 174 мин. Как видите, режим Simple
Portal Light позволяет сократить время визуализации вдвое. Но изображение
отличается оттенком цвета, формируемого освещением от небосвода.

Рис. 6.5.9  Сравнение качества освещения без активного режима


Simple Skylight Portal (A) и с активным режимом Simple Skylight Portal (B)
604  Камеры и освещение в V-Ray

Если включен атрибут Store with irradiance map, а для вычисления GI вы-
бран метод Irradiance Map, ядро визуализации V-Ray рассчитывает эффект от
V-Ray Rectangle Light и сохраняет его в карте Irradiance Map (IM). В результате
этого карта IM вычисляется медленнее, но процесс визуализации изображе-
ния занимает меньше времени. Для дальнейшего использования карта IM так-
же может быть сохранена в отдельный файл.
Далее представлены специальные атрибуты, отвечающие за влияние ис-
точника света на определенные свойства затенения. Атрибут Affect Diffuse
(AD) определяет, влияет ли источник света на диффузные свойства материа­
лов. С помощью Affect Specular (AS) определяется, влияет ли источник на
зеркальные свойства материалов, точнее, на глянцевые отражения. Атрибут
Affect Reflections (AR) определяет, будет ли отображен источник света в от-
ражениях материалов, как в идеальных зеркальных, так и в глянцевых отра-
жениях (рис. 6.5.10).

Рис. 6.5.10  Визуализация модели с различными свойствами освещения.


На иллюстрации A AD – On, AS – Off, AR – Off; на иллюстрации B AD – Off, AS – On,
AR – Off, на иллюстрации C AD – Off, AS – Off, AR – On

Атрибут Diffuse Contribution (DC) является множителем для воздействия


источника света на диффузную компоненту материала. С помощью атрибута
Specular Contribution (SC) задается множитель для влияния источника света
на компоненту зеркальных отражений материала (рис. 6.5.11).
Атрибут Subdivs по умолчанию отключен, так как большинству пользова-
телей не требуется локальное управление выборкой, однако данный атри-
бут контролирует количество выборок, которые V-Ray берет для вычисления
локального для этого источника освещения. Более низкие значения создают
больше шума, но визуализируются быстрее. Более высокие значения дают бо-
лее главные результаты, но визуализация занимает больше времени. Обрати-
те внимание, что фактическое количество образцов также зависит от настроек
алгоритма выборки. По умолчанию этот атрибут контролируется минималь-
ной частотой затенения (Min Shading Rate) в алгоритме выборки изобра-
жения. Чтобы активировать этот атрибут и указать значение, используйте
атрибут Use Local Subdivs на вкладке V-Ray ⇒ DMC Sampler в окне редактора
Render Settings. Этот атрибут недоступен, если в качестве ядра визуализации
выбран V-Ray GPU (CUDA).
Источники света V-Ray  605

Рис. 6.5.11  Визуализация модели с различными значениями коэффициентов.


Вверху, при SC = 1.0: A – DC = 0.25, B – DC – 1.0, C – 1.75;
внизу, при DC = 1.0: D – SC – 0.25, E – SC = 1.0, F = 1.75

С помощью атрибута Light cut-off threshold определяется порог для интен-


сивности источника света, ниже которого освещение не будет вычисляться.
Это может быть полезно в сценах с большим количеством источников света,
где вы хотите ограничить влияние источников света на некоторое расстояние
вокруг них. Большие значения отсекают больше света; более низкие значе-
ния увеличивают диапазон освещения. Когда это значение равно 0.0, свет рас-
считывается для всех поверхностей. Этот атрибут недоступен, если в качестве
ядра визуализации выбран V-Ray GPU (CUDA).
Если включен атрибут Override motion blur samples, значение, определяе-
мое атрибутом Motion blur samples, переопределяет используемое по умол-
чанию количество образцов выборки для текущего источника света для раз-
мытия в движении.
Когда включен атрибут Shadows (по умолчанию), источник света будет от-
брасывать тени. Отключите данный атрибут, чтобы отключить формируемые
источником тени.
Shadow bias – смещает тень в направлении от объекта(-ов), отбрасываю-
щего тень. Более высокие значения перемещают тень к объекту(-ам), в то вре-
мя как более низкие значения перемещают ее от объектов. Если это значение
слишком велико, тени могут «просачиваться» через места, в которых они не
должны проявляться, или «отрываться» от объекта. Другие эффекты от экс-
тремальных значений включают узоры муара, смещенные темные области на
поверхностях и тени, вообще не появляющиеся при визуализации.
606  Камеры и освещение в V-Ray

Атрибут Shadow Color управляет цветом формируемых источником света


теней. Обратите внимание, что все, что отличается от черного, не является фи-
зически достоверным. Этот атрибут недоступен, если в качестве ядра визуа­
лизации выбран V-Ray GPU (CUDA).
Атрибут Caustics subdivs, расположенный в свитке Photon Emission, исполь-
зуется только при расчете эффекта каустики (Caustics Effect). Более низкие
значения, будут формировать более шумный результат, но визуализация бу-
дет выполняться быстрее. Более высокие значения дают более плавные и ка-
чественные результаты, но требуется больше времени для визуализации.
С помощью атрибута Caustics multiplier задается множитель формируемой
источником каустики. Обратите внимание, что этот множитель является на-
копительным – он не переопределяет множитель, задаваемый в свитке Caus-
tics, глобальных параметров ядра визуализации.
Унаследованные атрибуты Photon Subdivs и Diffuse Multiplier больше не
отображаются в пользовательском интерфейсе редактора атрибутов, посколь-
ку они связаны с алгоритмом Photon Map GI, который устарел. Но они все еще
доступны в качестве дополнительных атрибутов через написание сценария на
языке MEL.
Атрибут Use MIS для выбранного источника света активирует выборку по
нескольким значениям (Multiple Importance Sampling). Когда MIS включен (по
умолчанию), вклад от освещения с одной стороны делится между прямым ос-
вещением и GI (для диффузных материалов) или отражениями (для глянце-
вых поверхностей) с другой. Это означает, что одна часть вклада от источника
света окажется в элементах визуализации, относящихся к группе GI, другая –
в элементах визуализации, относящихся к группе Reflection. В определенных
ситуациях это нежелательно, и этот атрибут можно использовать для вычис-
лений вклада освещения при прямом освещении.
Источник света V-Ray Rectangle light предоставляет все ключевые свитки,
используемые и в других источниках света V-Ray. Далее мы будем рассматри-
вать исключительно особенные атрибуты для источников света специализи-
рованного назначения. Какие свитки и для каких источников света доступны
для настройки, вы можете посмотреть в табл. 6.1.

Таблица 6.1. Общие и уникальные для источников света свитки с атрибутами


VRayLightSphere
VRayLightDome

VRayLightMesh
VRayLightRect

VRaySun

VRayIES

Basic Parameters V V – V V V
Parameters – – V – – –
Parameters – Size V – – V – –
Parameters – Directionality V – – – – –
Parameters – Texture V V – – V –
Parameters – Viewport Display – V – – – –
Источники света V-Ray  607

Таблица 6.1 (окончание)

VRayLightSphere
VRayLightDome

VRayLightMesh
VRayLightRect

VRaySun

VRayIES
Parameters – Options V V – V V V
Parameters – Sampling V V – V V V
Parameters – Shadows V V V V V V
Parameters – Photon Emission V V V V V V
Parameters – UI V V – V V
Parameters – Light Shape – – – – – V
Parameters – Advanced Options V V – V V –

Источник света V-Ray Dome light


В данном подразделе описана технология Image Based Lighting, реализованная
в V-Ray for Maya. В пакете V-Ray for Maya полноценная реализация освещения
на основе метода IBL появилась в первой версии, так как реализация IBL при-
шла напрямую из V-Ray for 3ds Мax. В данном разделе описана реализация
Image Based Lighting в V-Ray Next (4.1) for Maya.
Метод Image Based Lighting (далее IBL) используется для освещения сцены
с применением изображений с высоким динамическим диапазоном (HDR или
EXR), созданных на основе сцены реального мира (фотографий и созданных
с помощью специальных программ обработки изображений). Такое изобра-
жение может захватывать и передавать в визуализируемую сцену первона-
чальную энергию света и цвет в изображении с высоким динамическим диа-
пазоном. Система визуализации V-Ray for Maya предоставляет собственное
решение IBL для освещения трехмерной сцены, основанное на изображении
или освещении от созданного процедурными методиками окружения. Оно
обеспечивает результат с высоким качеством и оптимальной производитель-
ностью по сравнению с традиционными методами глобального освещения,
например с Brute Force GI или Irradinace Map GI в сочетании с геометрическим
объектом, окружающим сцену, и назначенным ему HDR-изображением, ото-
бражаемым на его поверхности.
В процессе ядро визуализации V-Ray for Maya выполняет выборку образ-
цов из окружающей сцену сферы с изображением и ускоренное определение
структуры данных для поддержки адаптивной выборки в процессе расчета
освещенности в шейдерах материалов. Этот вклад освещения будет автома-
тически добавляться ко всем шейдерам, выполняющим регулярные прямые
выборки света, что существующим шейдерам позволяет воспользоваться этой
функцией.
Методика освещения IBL может быть использована в сочетании с режимом
прогрессивной визуализации, реализованной в V-Ray for Maya. Для случа-
ев применения в интерактивном режиме V-Ray обеспечивает оптимизацию
608  Камеры и освещение в V-Ray

функций, которые позволяют быстро получить «убедительные», но не обяза-


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

Рис. 6.5.12  Общий принцип реализации


Image Based Lighting

На рис. 6.5.12 показана общая схема реализации метода освещения с по-


мощью IBL. Вся геометрия сцены, которую необходимо осветить с помощью
HDR-изображения, помешается в условный объем, который может быть пред-
ставлен сферой. Данному объему назначается специальный шейдер с тексту-
рой HDR и специальным узлом трансформации ее положения. Шейдер позво-
ляет контролировать метод освещения, качество выборки и оптимизацию.
Для освещения берутся данные об интенсивности света, сохраненные в HDR-
изобра­жении.
При создании окружающего сцену источника света IBL создается узел VRay-
LightDome (иллюстрация A), содержащий все основные элементы управления
IBL в V-Ray for Maya.
Для трансформации окружения создается специальный узел VRayPlaceEnvTex
(С), с помощью которого можно выполнять управление текстурной картой (B),
связанной с окружающим сцену источником света. Доступ к атрибутам IBL
можно получить с помощью выделения источника света и перехода к редак-
тору атрибутов.
Источники света V-Ray  609

Рис. 6.5.13  Сцена после создания окружающего источника света IBL


и назначения ему HDR текстуры

Рис. 6.5.14  Граф узлов, связанных с источником света V-Ray Dome Light.
A – узел VrayLightDomeShape, B – узел определения текстурной карты File, C –
узел управления текстурной картой HDRI, D – узел трансформации источника
света V-Ray Dome Light

Когда вы откроете редактор атрибутов, в узле VRayLightDomeShape вам будет до-


ступен достаточно обширный набор атрибутов для настройки IBL (рис. 6.2.37),
начиная от простого фонового изображения и заканчивая параметрами для
создания освещения и участия в вычислениях глобального освещения на ос-
нове карты фотонов. Атрибуты для настройки IBL расположены в нескольких
отдельных свитках, отвечающих за определенные режимы и техники работы
модели освещения.
610  Камеры и освещение в V-Ray

Рис. 6.5.15  Узел VRayLightDomeShape


в редакторе атрибутов Maya

В свитке Basic Parameters сосредоточены основные атрибуты конфигура-


ции источника света V-Ray Dome Light. Атрибуты и их назначение, доступные
в специальном узле VRayPlaceEnvTex, мы рассмотрим отдельно в разделе, по-
священном применению текстурной карты.
Чтобы включить источник света V-Ray Dome Light, установите флажок на-
против атрибута Enabled по умолчанию, источник света включен. Раскрываю-
щийся список Color Mode предоставляет возможность выбрать режим форми-
рования цвета. Как и в случае с V-Ray Rectangle Light, вы можете выбрать цвет,
определяемый с помощью цветов RGB (HSV) или с помощью температуры. Об-
ратите внимание, что в данном режиме вы не можете назначить текстурную
карту прямиком к слоту атрибута Light Color. Атрибут Light Color управляет
цветом источника света. Когда вы прибегаете к применению фотометриче-
ских единиц, данный цвет будет нормализован, так как будет использован
только оттенок цвета, тогда как интенсивность света задается множителем
Источники света V-Ray  611

интенсивности (атрибут Intensity Multiplier). При выборе режима Tempera-


ture цвет светового потока, формируемого источником света, будет опреде-
лен значением температуры в °K.
Атрибут Dome Spherical (по умолчанию) определяет, что источник света
будет окружать всю сцену (форма сферы). Когда он выключен (флажок снят),
источник света будет окружать сцену формой полусферы (hemisphere). Это
удобно, когда вы создаете текстурную карту, половина которой залита про-
стым цветом, и нет необходимости подвергать освещению области сцены, ко-
торые не видным наблюдателю.
Если вы желаете произвести оптимизацию процесса визуализации изобра-
жения, используйте атрибут Dome Adaptive; данный атрибут повышает ско-
рость визуализации за счет оптимизации алгоритма выборки для источника
света IBL. С этой настройкой не потребуются источники света в режиме Portal
Light. Для выполнения данной функции в качестве текущего метода GI должен
быть выбран Light Cache.
Чтобы использовать текстурную карту в форматах HDRI или EXR, установи-
те флажок напротив атрибута Use Dome Tex. Когда данный атрибут активен,
вы можете связать поверхность источника света с узлом текстурной карты File.
Атрибут Multiply By The Light Color выполняет приумножение цветов текс­
турной карты на интенсивность источника света.
Атрибут Dome Tex – определяет HDR-текстуру с высоким динамическим
диапазоном, используемую для окружения, формируемого объемом V-Ray
Dome Light.
Если используется текстурная карта в формате RGBA (файл, содержащий альфа-
канал), вывод альфа-канала, сохраненного в файле, должен быть связан с атрибу-
том Dome Tex A, чтобы применить альфа-канал к источнику света.

Атрибут Dome Tex A определяет альфа-канал текстурной карты, которая


используется в Dome Light. Помните, что значение по умолчанию, равное 1
(полностью непрозрачен), остается неизменным при любой связи текстуры
с атрибутом Dome Tex, даже если текстурная карта содержит альфа-канал. Вы-
вод альфа-канала, сохраненного в файле, должен быть связан с данным атри-
бутом.
Атрибут Texture Resolution задает разрешение, при котором текстурная
карта повторно дискретизируется для выборки по значимости (Importance
Sampling). Когда включен атрибут Tex Adaptive, в зависимости от яркости
пикселей в различных областях текстурной карты, V-Ray регулирует количе-
ство образцов, выбранных в данных областях текстурной карты.
Чтобы не выполнять визуализацию сцены множество раз, положение тек-
стурной карты можно настроить в видовом окне проекции. Атрибут Show in
Viewport отображает текстурную карту, связанную с атрибутом Dome Tex,
в качестве карты окружающей среды в видовом окне проекции. Вы можете
отключить отображение текстурной карты, отобразить только текстуру или
отображение текстурной карты, умноженной на интенсивность освещения.
Режим отображения выбирается в раскрывающемся списке:
 Disabled – выключает отображение текстурной карты в видовом окне
проекции;
612  Камеры и освещение в V-Ray

Рис. 6.5.16  Пример реализации освещения (C) с помощью двух незави-


симых источников света V-Ray Dome Light. Один источник света визуализи-
рует сцену с помощью небосвода (A) (солнце заменено на равномерный гра-
диент из другой области изображения), второй источник света представляет
собой модель солнца (B), которое было «вырезано» из основной текстуры
и сохранено с альфа-каналом. Такой подход к моделированию освещения
предоставляет больше гибкости и возможностей к значительной трансфор-
мации освещения сцены в целом
Источники света V-Ray  613

 Texture Only – в данном режиме выбранная вами текстурная карта бу-


дет отображена в видовом окне проекции;
 Texture Intensity – выбранная вами текстурная карта будет отображена
с приумножением на величину интенсивности источника света.
Атрибут Hardware Texture Res. задает разрешение текстурной карты, кото-
рая будет отображена в видовом окне проекции. Для повышения детализации
геометрической формы источника света, отображаемой в видовом окне про-
екции, используйте атрибут Sphere object detail. Данный атрибут управляет
количеством граней сферы габаритного объекта источника света.
При работе с изображением в линейном цветовом пространстве атрибут
Convert to sRGB color space автоматически преобразует текстурную карту
в цветовое пространство sRGB. Это влияет только на отображение текстурной
карты в видовом окне проекции. С помощью атрибута Gamma задается зна-
чение, которое будет применено к текстурной карте, отображаемой в видовом
окне проекции. Определять величину значения гаммы можно только тогда,
когда атрибут Convert to sRGB color space отключен.

Узел определения положения текстурной карты окружения


VRayPlaceEnvTex
Узел VRayPlaceEnvTex контролирует размещение карты окружающей среды. Он
автоматически создается, когда VRayLightDome назначается текстурная карта.

Рис. 6.5.17  Интерфейс VRayPlaceEnvTex


в редакторе атрибутов
614  Камеры и освещение в V-Ray

Раскрывающийся список Mapping Type позволяет пользователю выбрать


метод проецирования текстурной карты окружения. Когда атрибут Use trans-
form активирован, атрибуты группы Transform могут быть использованы для
вращения текстурной карты в горизонтальном и вертикальном направлениях,
а также для ее перемещения в UV-пространстве.
Атрибуты Horizontal Flip и Vertical Flip выполняют переворот текстурной
карты в горизонтальном и вертикальном направлениях соответственно. Атри-
буты Horizontal Rotation и Vertical Rotation выполняют вращение текстур-
ной карты влево-вправо, и вверх-вниз соответственно.

Рис. 6.5.18  Результат влияния трансформаций


текстурной карты на освещение в сцене

Когда у вас есть только текстурная карта окружения, атрибут Ground On


позволяет заполнить нижнюю часть текстурной карты виртуальной плоско-
стью. Это полезно для визуализации отдельных 3D-объектов. Атрибут Ground
Position в трехмерном пространстве по осям X, Y и Z определяет координаты
точки положения центра текстурной карты. В то же время атрибут Ground Ra-
dius задает радиус плоскости, он также может использоваться для контроля
масштаба плоскости.
Плоскость поверхности работает только для текстурных карт окружающей среды.
Она не будет оказывать воздействие, если текстурная карта назначена источнику
света типа V-Ray Dome Light.

Моделирование освещения от солнца и небосвода


В данном разделе описывается модель освещения, формируемого солнцем
и небосводом (Physical Sun and Sky). Разработчики V-Ray представляют фи-
зически достоверную аналитическую модель дневного небосвода. Опираясь
на прямые результаты имитационного моделирования переноса радиации
Источники света V-Ray  615

в атмосфере, используем тот же общий подход адаптации коэффициентов ба-


зисной функции к данным об излучении, что выполняется в модели Переза
и Притхама (Perez and Preetham model). Тем не менее было сделано несколько
модификаций этого процесса, которые вместе значительно улучшают поло-
жение с закатами и установками с высоким количеством частиц в атмосфере,
которые являются известными слабыми местами модели Притхама. Кроме
того, используемая в V-Ray модель учитывает наземное альбедо и обрабатыва-
ет каждый спектральный компонент независимо. Последнее свойство делает
его легко расширяемым до ближнего к ультрафиолетовому диапазону спектра,
так что поверхности, освещенные дневным светом, которые содержат оптиче-
ские блики, могут быть правильно воссозданы. Благодаря схожим математи-
ческим свойствам новая модель может быть использована в качестве замены
модели Притхама.
Визуализация сцен на открытом воздухе (экстерьер) обычно включает
в себя перспективу неба. Поскольку все интуитивно знакомы с видом небос-
вода, правильная модель небосвода может часто иметь значение при форми-
ровании реалистичного или необычного изображения. Что еще более важно,
радиометрически правдоподобная модель, которая обеспечивает формирова-
ние надежных данных освещенности, важна для целей прогнозирования ви-
зуализации образов, чувствительных к внешнему виду, таких как архитектура
и разработка освещения.
Один из распространенных подходов к визуализации сцен, освещаемых не-
беснокупольным источником света, заключается в использовании источников
типа Skybox или какой-либо другой формы проецирования карты окружаю-
щей среды с фотографиями неба, созданными в реальном мире. Этот подход
дает визуально приятные результаты, но имеет некоторые недостатки. Так, вы
не можете легко изменить используемое HDR-изображение небосвода, когда
решите, что солнце должно быть немного ниже, а небо – немного темнее.
Другой подход состоит в том, чтобы использовать аналитическую модель,
в идеале такую, которая может быть полностью адаптирована под нужды ху-
дожника. Цель V-Ray Sun and Sky – создать такую аналитическую модель. Она
основана на работе «An Analytic Model for Full Spectral Sky-Dome Radiance» под
авторством Лукаса Хосэка (Lukas Hosek) и Александра Вилке (Alexander Wilkie),
которая была основана на широко используемой модели Притхама, но исправ-
ляет некоторые из ее наиболее очевидных недостатков, позволяет моделиро-
вать более широкий спектр атмосферных условий и предлагает дополнитель-
ные функции.
Чтобы иметь возможность разработать такую модель, разработчикам снача-
ла нужно было получить исходные данные. В случае небосвода сбор больших
объемов данных, необходимых для этого от природы, в надежном и повторяе­
мом образце очень труден, поэтому они прибегли к реализации на основе
метода brute force, основанного на принципах модели переноса лучей света
в атмосфере. Эта модель использовалась для формирования большого количе-
ства опорных изображений небосвода. Затем, используя собранные исходные
данные и опираясь на полученные Пересом и Притхамом модели, была разра-
ботана расширенная модель небосвода и оптимизированы параметры формул
для выполненных исследователями эталонных визуализаций с помощью про-
616  Камеры и освещение в V-Ray

цесса автономной оптимизации, поскольку предлагаемая модель исправляет


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

Реализация V-Ray Sun и V-Ray Sky в Maya


Источник света V-Ray Sun и процедурная текстурная карта окружения V-Ray
Sky являются специальными инструментами, реализованными в системе ви-
зуализации V-Ray for Maya. Они разработаны для совместного применения.
Источник V-Ray Sun и шейдер V-Ray Sky моделируют освещение, формируе-
мое солнцем и небосводом, присущим атмосфере Земли. Модель формируется
так, что они меняют свой внешний вид в зависимости от положения и направ-
ления источника света V-Ray Sun и настроек шейдера небосвода.
Узел VRayGeoSun позволяет установить положение V-Ray Sun для определен-
ного места в пространстве сцены в заданное время. Система V-Ray Sun и V-Ray
Sky в значительной степени основана на работе «A Practical Analytic Model for
Daylight», представленной на конференции SIGGRAPH 1999 (см. дополнитель-
ные материа­лы к книге).
После создания системы солнца и небосвода атрибуты всех взаимосвязан-
ных узлов появляются в редакторе атрибутов, что позволяет быстро присту-
пить к настройке системы освещения.
Чтобы источник света V-Ray Sun участвовал в освещении сцены, напротив
атрибута Enabled установите флажок напротив.
Наиболее оптимальной конфигурации и приемлемого с точки зрения физи-
ческой достоверности результата можно достичь с применением модели осве-
щения, реализованной в V-Ray Sun и камеры типа V-Ray Physical Camera. Яр-
кость источника освещения, моделирующего солнце, управляется атрибутом
Intensity multiplier. Поскольку солнце очень яркое, вы можете использовать
этот параметр, чтобы уменьшить его влияние на освещение в сцене.
Атрибут Intensity Multiplier источника света V-Ray Sun регулирует его яр-
кость в сцене. На это также влияет высота солнца в сцене. Чтобы смодели-
ровать, как на самом деле работает солнце, чем ближе V-Ray Sun находится
к горизонту, тем теплее цвет и тем менее ярким он будет при визуализации
сцены. Когда вы поднимаете солнце, цвет будет холоднее и ярче, близким
к дневному свету. В приведенном выше примере при визуализации несколь-
ких изображений использовались следующие параметры: Turbidity = 5.0 и Size
Multiplier = 3.0 (без изменения яркости), модель небосвода CIE Clear. Изме-
нялись только высота (от горизонта) и Intensity Multiplier (каждый столбец
изображений на рис. 6.5.20 определен следующим значением: 0.5, 1.0 и 3.0).
Ряд иллюстраций A–C демонстрирует визуализацию сцены с освещением от
солнца, выполненным под углом в 45°. Ряд иллюстраций D–F визуализирован
с освещением под углом в 90°. Иллюстрации в ряде G–I визуализированы с ос-
вещением под углом 10°.
Источники света V-Ray  617

Рис. 6.5.19  Узел VRaySunShape в редакторе атрибутов Maya.


Данный узел отвечает за создание и управление
источником света V-Ray Sun
618  Камеры и освещение в V-Ray

Рис. 6.5.20  Пример влияния атрибута Intensity Multiplier на освещение в сцене

Атрибут Turbidity определяет количество частиц (например, пыли) в воз-


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

Рис. 6.5.21  Пример влияния атрибута Turbidity на освещение в сцене

С помощью Turbidity моделируется видимый свет от солнца, проходящий


сквозь частицы в атмосфере, например смог (когда значение атрибута боль-
ше). В приведенном на рисунке выше примере показано, как на эффект, фор-
мируемый атрибутом Turbidity, влияет высота положения V-Ray Sun в сцене.
В процессе визуализации сцены были использованы атрибуты Intensity Multi-
plier = 1.0, Size Multiplier = 3.0, в то время как высота и Turbidity регулируются.
Атрибут Ozone влияет на цвет света от солнца. Диапазон настройки состав-
ляет от 0.0 до 1.0. Меньшие значения делают солнечный свет более желтым,
Источники света V-Ray  619

а большие – ближе к голубому. На рис. 6.5.22. приведен пример визуализации


сцены с различными значениями атрибута Ozone.

Рис. 6.5.22  Пример влияния атрибута Ozone


на цвет освещения в сцене

Атрибут Ozone не изменяет цвет самого небосвода, но изменяет цвет света,


который попадает на объекты в сцене. Это тонкий эффект, но он может повы-
сить фотореализм визуализации и улучшить восприятие освещения зрителем.
В приведенном на рис. 6.5.22. примере корректируется только значение атри-
бута Ozone, в то время как высота солнца остается неизменной, а следующим
атрибутам заданы значения: Turbidity = 2.0, Intensity multiplier = 1.0, Size
multiplier = 3.0.
Для управления размером видимого диска солнца используйте атрибут Size
Multiplier. Это влияет на внешний вид диска солнца, наблюдаемого камерой
и в отражениях, а также на размытость теней от солнца.
620  Камеры и освещение в V-Ray

Рис. 6.5.23  Пример действия атрибута Size Multiplier


Источники света V-Ray  621

Атрибут Size Multiplier не влияет на яркость источника света V-Ray Sun.


Как было показано ранее, для изменения яркости света, излучаемого солн-
цем, необходимо использовать атрибут Intensity Multiplier. Однако атрибут
Size Multiplier изменяет визуальное представление солнца, когда оно видно
на визуалиизируемом изображении, и точно так же, как и с другими (физи-
чески точными) источниками света – чем они больше, тем мягче тени, от-
брасываемые этим источником. Увеличение значения данного атрибута при
понижении высоты солнца также может помочь в реалистичности визуали-
зации. В приведенном на рис. 6.5.23 примере корректируются высота солнца
и атрибут Size Multiplier, а следующим атрибутам заданы значения Shadow
Subdivs = 32, Intensity multiplier = 1.0, которые являются постоянными. Первая
серия изображений показывает, как размер солнца отображается в отражени-
ях. Вторая серия показывает тени, находящиеся на поверхности.
Раскрывающийся список Sky Model определяет процедурную модель не-
босвода, используемую при формировании текстурной карты V-Ray Sky:
 Hosek et al. – в данном режиме модель небосвода будет сформирова-
на на основе метода, использованного в модели Лукаса Хосека (Lukas
Hosek) и Александра Вилке (Alexander Wilkie)1;
 Preetham et al. – при выборе данного режима процедурная текстурная
карта формируется на основе метода, сформированного с применением
модели А. Дж. Притхема (A. J. Preetham), Питера Ширли (Peter Shirley)
и Брайана Смита (Brian Smits)2;
 CIE Clear – при выборе данной модели текстурная карта VRaySky для
чистого небосвода (при солнечной погоде) формируется на основе ме-
тода CIE;
 CIE Overcast – при выборе этой модели, наоборот, текстурная карта бу-
дет сформована на основе модели CIE для затянутого облаками небо­
свода.
При выборе моделей CIE Clear и XIE Overcast становится доступен атрибут
Horiz Illumination. Данный атрибут определяет интенсивность освещения на
горизонтальных поверхностях, которое поступает от небосвода.
Color Mode – выбор режима в данном списке влияет на то, как Filter Color
смещает оттенок цвета солнца и неба:
 Filter – смещает оттенок цвета V-Ray Sun и Sky к цвету, определенному
атрибутом Filter Color;
 Direct – принимает цвет фильтра для V-Ray Sun и V-Ray Sky. В этом слу-
чае интенсивность освещения контролируется атрибутом Intensity Mul-
tiplyer и не зависит от положения солнца на небе;
 Override – принимает цвет фильтра для V-Ray Sun, однако интенсив-
ность контролируется положением солнца на небе.

1 Документ, представляющий научную работу, лежащую в основе данной модели,


находится в дополнительных материалах книги в директории _MATERIAL, в файле
HosekWilkie_SkylightModel_SIGGRAPH2012_Preprint_lowres.pdf.
2 Документ, представляющий научную работу, лежащую в основе данной модели,
находится в дополнительных материалах книги в директории _MATERIAL, в файле
A_Practical_Analytic_Model_for_Daylight.pdf.
622  Камеры и освещение в V-Ray

Атрибут Filter Color – смещает оттенок системы V-Ray Sun and Sky в сторону
заданного данным атрибутом цвета.
Специальный атрибут Ground Albedo устанавливает цвет земли в системе
V-Ray Sun и Sky.
Blend Angle – определяет угол в градусах, где будет происходить смешива-
ние между линией горизонта и небосвода. Значения, близкие к 0.0, дают более
четкую линию горизонта, в то время как большие значения – более мягкую.
Атрибут Horizon Offset позволяет пользователю вручную изменить (опустить
или поднять) линию горизонта.
Когда атрибут Cast Shadows включен, солнце будет формировать тени. Ког-
да же активен атрибут Cast Shadows from environment, источник света солн-
це производит тени от объемных эффектов (Volumetric effects).
Качество теней и их детализацию можно повысить с помощью атрибута
Shadow subdivs, который определяет количество образцов для тени, форми-
руемой солнцем. Более высокие значения дают тени с лучшим качеством, но
медленнее. Обратите внимание, что этот параметр доступен для изменения
только в том случае, если в настройках DMC Sampler включен параметр Use
local subdivs. Этот атрибут неактивен при использовании движка V-Ray Next
GPU (CUDA).
С помощью атрибута Shadow Bias тень перемещается в направлении от
объектов, которые ее отбрасывают, или, наоборот, к объектам. Более вы-
сокие значения перемещают тень к объектам, в то время как более низкие
значения перемещают ее в противоположном направлении. Если это зна-
чение слишком велико, тени могут «проходить» через места, которые они
не должны охватывать, или «отрываться» от объектов. Другие эффекты от
экстремальных значений включают узор муара, смещенные темные области
на поверхностях и тени, которые вообще не появляются при визуализации
изображения.
В приведенном ниже примере изображения общими настройками являют-
ся Shadow Samples, равный 32 образцам, Intensity Multiplier со значением 1.0,
Size Multiplier, равный 3.0, в то время как атрибут Shadow Bias является един-
ственным, который настраивается для визуализации. Значения, показанные
в примере, сильно преувеличены, чтобы показать эффект смещения тени на
сцене.
Атрибут Shadow Color задает цвет теней, формируемых источниками V-Ray
Sun и Sky. Этот атрибут неактивен, если вы используете движок V-Ray Next
GPU (CUDA).
В приведенных на рис. 6.5.25 примерах показано влияние типов методов
преобразования цвета на систему V-Ray Sun and Sky. Для подробной инфор-
мации о преобразовании цветов и яркостей в V-Ray с помощью V-Ray Color
Mapping обратитесь к главе 1 «Свет и цвет в компьютерной графике», к разделу
«Управление цветом в V-Ray for Maya».
Источники света V-Ray  623

Рис. 6.5.24  Пример действия атрибута Shadow Bias


624  Камеры и освещение в V-Ray

Рис. 6.5.25  Пример визуализации сцены, освещенной V-Ray Sun and Sky
с различными типами преобразования цвета в V-Ray

Шейдер процедурной текстурной карты окружения


V-Ray Sky Texture
Специальный шейдер процедурной текстурной карты окружения V-Ray Sky
Texture (рис. 6.5.26) разработан специально для независимого от V-Ray Sun
источника света применения. Его основные атрибуты и настройки не отлича-
ются от таковых, доступных для настройки в источнике света V-Ray Sun.
Вы можете связать данный шейдер с глобальными параметрами V-Ray и пе-
реопределить свойства окружения с помощью свитка Environment и атрибута
Sky.

Узел изменения положения солнца VRayGeoSun


Специальный узел VRayGeoSun создается автоматически, когда вы создаете
источник света V-Ray Sun, и может быть использован для управления направ-
лением освещения от солнца. Также данный узел может быть использован для
определения положения солнца в зависимости от реального положения на по-
верхности Земли, даты и времени суток.
Если в качестве вертикальной оси в Maya выбрана ось Y, направление на север
определяется осью –Z (отрицательное значение Z). Если же в качестве вертикаль-
ной оси выбрана ось Z, направление на север определяется осью +Y (положитель-
ное значение по оси Y).

Когда активен атрибут Manual position, локатор, за которым следует солн-


це, может свободно перемещаться в видовом окне проекции, как и любой
другой узел трансформации в Maya. Раздел Transform Attributes становится ак-
тивен и может также использоваться, чтобы указать положение помощника
Источники света V-Ray  625

солнца. Когда отключен, положение солнца на небосводе определяется путем


указания положения сцены на земном шаре, даты и времени.

Рис. 6.5.26  Шейдер V-Ray Sky Texture

Рис. 6.5.27  Интерфейс узла VRayGeoSunTarget


в редакторе атрибутов

Если атрибут Manual up vector активен, с его помощью определяется вер-


тикальный вектор, отличный от вектора, определенного для сцены.
626  Камеры и освещение в V-Ray

Атрибут Distance to target определяет расстояние от Sun Helper до Sun Tra­


get. Это полезно для GI, формируемого методами фотонных карт и эффекта
каустики, поскольку оно определяет расстояние, с которого фотоны попадают
в сцену.
Атрибуты Latitude и Longitude определяют положение сцены на земном
шаре.
С помощью атрибутов Year, Month, Day, расположенных в свитке Date,
определяется год, месяц и день, в которых определено положение солнца.
С помощью атрибута Day Value определяется день в году, например день 1-й –
1 января, день 365-й – 31 декабря, за исключением високосных годов, когда
день 366-й – 31 декабря.
Атрибуты в свитке Time становятся доступны для настройки, когда атрибут
Manual Position выключен (Off). С помощью атрибута Time Zone может быть
определен текущий часовой пояс, в котором создается сцена. Атрибуты Local
Hour, Local Minute и Local Second задают время в часах (от 0 до 23), минутах
(от 0 до 59) и секундах (от 0 до 59). Атрибут Hour Value позволяет указать вре-
мя в виде доли от общего дня (от 0 до 24 ч).
Раздел Sun position автоматически рассчитывается на основе текущих зна-
чений, используемых для позиционирования солнца, и не может быть от-
редактирован напрямую. Атрибут Azimuth задает вращение солнца вокруг
вертикальной оси. Атрибут Altitude задает высоту (альтитуду) солнца над го-
ризонтом.
Атрибуты свитка Transform attributes позволяют напрямую определять по-
ложение и направление солнца, когда активен атрибут Manual position. На-
чальная позиция определена по текущей дате.
По умолчанию источник света V-Ray Sun и шейдер V-Ray Sky – очень яркие. В ре-
альном мире средняя солнечная освещенность составляет около 1000 W/m^2.
Поскольку выходные данные изображения, формируемого V-Ray, представлены
в W/m^2/sr, вы, как правило, обнаружите, что средние значения RGB, формируе-
мые солнцем и небом, составляют около 200–300 единиц. Это вполне правиль-
но с физической точки зрения, но недостаточно для хорошего изображения. Вы
можете использовать методы Color Mapping, чтобы уменьшить эти значения (что
является предпочтительным способом), или использовать множитель интенсив-
ности солнца, чтобы сделать солнце и небо менее яркими. Использование V-Ray
Physical Camera с подходящими значениями также дает правильный результат без
изменения параметров солнца и неба.

Также, начиная с V-Ray 3.6, V-Ray Sky и его отражение на объектах можно
наблюдать в видовых окнах проекций, в качестве аппаратного ядра визуали-
зации которых выбран Viewport 2.0.

Источник света V-Ray Light Sphere


Источник света V-Ray Light Sphere обладает формой простой сферы. Примене-
ние данного источника света будет хорошим решением для освещения сцен,
в которых моделируются источники света, подобные находящимся в реаль-
ном мире, такие как лампы накаливания. Масштаб сферы может быть изменен
до любого размера и будет излучать свет во всех направлениях (рис. 6.5.28).
Источники света V-Ray  627

Рис. 6.5.28  Атрибуты источника света V-Ray Light Sphere

Принципиально набор атрибутов источника света V-Ray Light Spehre не от-


личается от атрибутов других источников света V-Ray. Однако есть несколько
атрибутов, созданных специально для данного источника света. Так, атрибут
Radius задает радиус источника света, данная величина измеряется в едини-
цах измерения сцены. Контроль качества и детализации объекта источника
света осуществляется с помощью атрибута Sphere Segments. Это важно при
визуализации источника света в прямых отражениях. Большие значения де-
лают сферу более гладкой.

Рис. 6.5.29  Пример визуализации сцены,


освещение в которой формируется с помощью источников света V-Ray Light Sphere
628  Камеры и освещение в V-Ray

Обратите внимание, что, когда мы устанавливаем единицы измерения


в ваттах и люменах, свет кажется одинаковой интенсивности. Это объясняет-
ся тем, что излучаемый свет не зависит от размера источника света. Другие
три единицы зависят от размера источника – большие поверхности излучают
больше света, поэтому интенсивность света увеличивается с увеличением ра-
диуса источника света. Обратите внимание, что атрибут Intensity Multiplier
необходимо отрегулировать для разных единиц, чтобы получить одинаковую
интенсивность света.

Источник света V-Ray Light Mesh


Источник света типа V-Ray Light Mesh может создавать источники света, име-
ющие объем и форму, без необходимости использования самосветящихся
объектов и глобального освещения. Вообще, источники света могут быть соз-
даны на основе любой полигональной поверхности в сцене. Они хорошо под-
ходят, для того чтобы быть использованными совместно с GI, так они могут
быть удачно скомбинированы с прямым освещением и GI.

Рис. 6.5.30  Источник света V-Ray Light Mesh


в редакторе атрибутов

Создать источник света типа V-Ray Light Mesh можно с помощью соответ-
ствующей функции на вкладке V-Ray на панели Shelf. Выберите объект в сце-
не, на основе которого вы хотите создать источник света, и щелкните ПКМ
по кнопке Assign Mesh Light Properties. В открывшемся контекстном меню
выберите Turn selection to light (works for meshes only). После чего будет создан
объект источника света на основе формы полигональной геометрии. В Node
Graph вы можете построить граф из узлов, аналогичный тому, что представлен
на рис. 6.5.31.
Источники света V-Ray  629

Рис. 6.5.31  Граф узлов, на основе которых основан источник света V-Ray Light Mesh,
и связь с элементом визуализации V-Ray Light Select

Чтобы использовать свойства V-Ray Light Mesh с элементом визуализации


Light Select, создайте связь между узлами vrayLightMeshProperties_Link и LightSe-
lect.
Каждый создаваемый вами источник типа V-Ray Light Mesh имеет соответ-
ствующий узел VRayLightMeshLightLinking с именем VRayLightMesh, дополнен-
ным суффиксом _lightlinking. Вы можете использовать этот узел для простого
создания связей с V-Ray Light Mesh.

Источник света V-Ray IES Light


Фотометрические источники света используют данные, сохраненные в файле
формата *.ies, который содержит профиль распределения света, формируе-
мый источником. Файл формата *.ies содержит полные спецификации ре-
альной лампы или световой трубки, включая форму конуса света и силу зату-
хания света. Такие файлы обычно предоставляются изготовителем реальных
ламп, например компания Philips предоставляет подобные профили для ди-
зайнеров и проектировщиков (рис. 6.5.32). Также в этих файлах сохранена
информация, собранная в ходе лабораторных экспериментов и чрезвычайно
точная в представлении источника света. При загрузке IES-файла свойства
источника воссоздаются в Maya и используются ядром V-Ray во время визуа­
лизации сцены.
Источники света типа IES особенно полезны для архитектурной визуализа-
ции интерьеров, где может быть важно показать точное представление об ис-
пользовании определенных источников света в сцене. Также источники света
данного типа хорошо подходят для моделирования реалистичных сцен для
высококачественной и реалистичной визуализации анимации.
630  Камеры и освещение в V-Ray

Рис. 6.5.32  Компания Philips предоставляет коллекцию профилей


и семейств Autodesk Revit для линеек осветителей

Просмотр IES профилей


Просмотреть профиль IES можно не только с помощью визуализации в V-Ray, вы
можете использовать независимые утилиты, подобные IES Viewer (рис. 6.5.33),
которые могут помочь просматривать IES-профили1.
Помимо утилит для просмотра, разработчики создают специальные утили-
ты для создания собственных профилей IES без привязки к физическому ана-
логу. К таким утилитам можно отнести:
 IES Generator 4;
 Real IES (https://www.real-ies.com/);
 Easy IES (https://github.com/nickmcdonald/ies-generator).
Опираясь на личный опыт, для моделирования реалистичного освещения
могу порекомендовать прибегать к применению IES-профилей от произво-
дителей источников света. Это позволяет лучше разрабатывать освещение
в сцене и синхронизировать работу между архитекторами-проектировщика-
ми и специалистами по визуализации.

1 Утилиту IES Viewer вы можете загрузить, пройдя по ссылке http://photometricviewer.


com/.
Источники света V-Ray  631

Рис. 6.5.33  Утилита IES Viewer


с открытым профилем светильника компании Philips

Ключевые атрибуты источника света V-Ray IES Light


Принципиально источник света V-Ray IES Light незначительно отличается от
остальных типов источников света V-Ray. Рассмотрим основные атрибуты
данного источника света, представленные в редакторе атрибутов (рис. 6.5.34).
Атрибут Enabled включает и выключает источник света. Если же вы хотите
точнее позиционировать источник света в сцене, а также определить его поло-
жение, поставьте флажок напротив атрибута Toggle Target. Для активизации
цели и управления ею вы можете использовать горячую клавишу [t].
С помощью текстового поля и кнопки открытия файла IES File Name вы-
полняется загрузка файла в формате *.ies.
Атрибут Color Mode позволяет выбрать режим, с помощью которого будет
определен цвет источника света. Цвет может быть определен как с помощью
RGB-цвета (Color), так и с помощью температуры (Temperature):
 Light Color – когда атрибуту Color Mode определен режим Color, данный
атрибут будет управлять цветом источника света. При использовании
фотометрических единиц излучения этот цвет нормализуется, так что
будет использован только оттенок цвета, а интенсивность света опреде-
ляется атрибутом Intensity Multiplyer;
 Temperature — если атрибут Color Mode находится в режиме Tempera-
ture, то цвет освещения будет определен в градусах Кельвина (°K).
632  Камеры и освещение в V-Ray

Рис. 6.5.34  Атрибуты источника света V-Ray IES Light


Инструмент V-Ray Light Lister  633

Атрибут Filter color является множителем цвета освещения, а атрибут In-


tensity является множителем интенсивности света.
Атрибут Light Shape, расположенный в свитке Parameters – Light Shape,
определяет форму источника света при расчете мягких теней. По умолчанию
V-Ray IES Light использует информацию о форме, хранящуюся в файле *.ies.
Вы можете использовать одно из следующих переопределений формы ис-
точника света: Point, Rectangular, Circular, Sphere, Vertical cylinder, Horizontal
cylin­der oriented along lum. Length, Horizontal cylinder oriented along lum. Width,
Ellipse oriented along luminaire length, Ellipse oriented along luminaire width, El-
lipsoid oriented along luminaire length и Ellipsoid oriented along luminaire width.
На рис. 6.5.35 приведен пример различных типов Light Shape.
Атрибуты Width, Length, Height и Diameter задают ширину, длину, высоту
и диаметр формы источника света.
Используя различные комбинации источников света, можно смоделиро-
вать достоверное и реалистичное освещение в сцене. Но также необходимо
и управлять источниками света в сцене. Стандартными методами управлять
не так удобно. В комплекс поставки V-Ray for Maya включен специальный ин-
струмент – V-Ray Light Lister.

6.6. Инструмент V-Ray Light Lister


Удобство управления сценой является одним из важнейших условий про-
дуктивной работы. В процессе моделирования сцены художник создает мно-
жество источников света, которыми он формирует освещение в сцене. Есть
сцены, которые активно используют десятки и даже сотни источников света
(экспериментально подтверждено, что ядро V-Ray поддерживает визуализа-
цию до 10 000 источников света), таким количеством разнообразных источни-
ков света управлять с помощью стандартных инструментов достаточно слож-
но. В Maya есть свой инструментарий для настройки источников света – Maya
Light Editor, рассмотренный нами в главе 2. Но система визуализации V-Ray for
Maya поставляется с инструментом V-Ray Light Lister (рис. 6.6.1).
Использовать Light Lister не так сложно, его основная задача – организо-
вать источники света, доступные в сцене и предоставить доступ к наиболее
часто настраиваемым атрибутам. В верхней панели диалогового окна доступ-
но нескольких функций. Раскрывающийся список Selection Modes позволя-
ет вам выбрать между отображением всех источников света в сцене и только
выделенных источников света. При режиме Scene, если вы зажмете клавишу
[SHIFT], вы можете выделать несколько источников света с помощью Light
Lister. Выбор с помощью средней кнопки мыши может использоваться для
редактирования нескольких источников света одновременно. Например, если
выбрать несколько источников света, их можно переименовать, после чего им
будут присвоены новые имена и порядковые номера. Обновить список источ-
ников света в Light Lister можно с помощью кнопки Refresh.
Для визуального разделения каждого из объектов в списке вы можете ис-
пользовать функции Zebra и Lines. Первая представит список в виде затенен-
ных светлым и темным цветами строками, а вторая на границе между строк
позволяет отображать линии (рис. 6.6.2).
634  Камеры и освещение в V-Ray

Рис. 6.6.1  Диалоговое окно редактора V-Ray Light Lister

Рис. 6.6.2  Пример применения функций Zebra и Lines


для отображения списка источников света в Light Lister
Глобальное освещение в V-Ray  635

Нажмите Light Selection Box, чтобы выбрать источник света в сцене. Когда
источник света выбран, поле изменится с серого на зеленый. Щелкните ПКМ,
чтобы выделить выбранный источник света с помощью опции Solo light.
Помните, что источники света могут быть отображены под одной записью.
Также, не забывайте, что стандартные источники света Maya не могут отобра-
жаться в режиме Instanced.

6.7. Глобальное освещение в V-Ray


Глобальное освещение – это освещение в сцене, которое эффективно форми-
руется из отраженного света, а не непосредственно от источника света (пря-
мое освещение). Существует несколько различных подходов к вычислениям
глобального освещения в V-Ray for Maya. Вы можете заметить, что для фор-
мирования первичных и вторичных отражений света в большинстве случаев
рекомендуется использовать определенные подходы, опирающиеся на ком-
бинацию таких методов, как Light Cache и Brute Force для визуализации сцен
интерьеров или Brute Force и Brute Force для визуализации сцен экстерьеров.
Когда в качестве текущей системы визуализации выбран V-Ray, глобальные
параметры глобального освещения находятся в диалоговом окне Render Set-
tings во вкладке GI (рис. 6.7.1).
В данном разделе и далее для определения термина bounce (отскок) будет ис-
пользован более осмысленный с точки зрения физики термин «отражение». Это
связано с тем, что свет именно отражается от поверхностей и попадает на другие
поверхности, перенося с собой часть световой энергии и цвет.

Первичные и вторичные отражения


Элементы управления глобальным освещением в V-Ray делятся на две боль-
шие группы: элементы управления, относящиеся к первичным диффузным
отражениям света, и элементы управления, относящиеся ко вторичным диф-
фузным отражениям света. Первичное диффузное отражение возникает тог-
да, когда точка затенения непосредственно попадает в область наблюдения
камеры или видна на поверхностях с зеркальными отражениями или прелом-
лениями. Вторичные отражения возникают тогда, когда точка затенения ис-
пользуется в вычислениях глобального освещения.
636  Камеры и освещение в V-Ray

Рис. 6.7.1  Глобальные параметры V-Ray


для Global Illumination в диалоговом окне Render Settings
Глобальное освещение в V-Ray  637

Рис. 6.7.2  Моделирование глобального освещения на основе комбинаций


методов Brute Force и Light Cache. Иллюстрация A – Brute Force/None; иллю-
страция B – Brute Force/Brute Force, иллюстрация C – Brute Force/Light Cache;
D – Light Cache/None, E – Light Cache/Light Cache; F – Light Cache/Brute Force

Подходы к формированию глобального освещения


Система визуализации V-Ray в совокупности реализует несколько подходов
для вычисления глобального освещения на основе методов, содержащих раз-
личные компромиссы между качеством и скоростью визуализации.
Brute Force – это самый простой метод, в котором глобальное освещение
вычисляется независимо для каждой точки затенения на поверхности. При
данном методе отслеживается несколько лучей в разных направлениях в по-
лусфере над точкой затенения.
Преимущества. Этот метод глобального освещения сохраняет все детали
(например, небольшие и резкие тени). В нем нет дефектов, таких как мерца-
ние (flickering) при анимации. Не требуется дополнительная память. Глобаль-
ное освещение в случае эффекта размытия движения у движущихся объектов
вычисляется корректно.
Недостатки. Может быть медленным для сложных изображений (напри-
мер, освещение в интерьере). Он имеет тенденцию создавать шум в изображе-
ниях, чего можно избежать только путем выборки большего количества лучей,
тем самым замедляя его вычисление еще больше.
Light Cache – метод на основе кеширования света (или проецирования све-
та). Это метод аппроксимации глобального освещения в сцене. Он очень по-
хож на метод проецирования фотонов (Photon Mapping), но в нем устранены
многие ограничения данного метода. Карта света строится путем прослежива-
ния многих лучей со стороны камеры. Каждое из отражений лучей сохраняет
освещенность от остальной части пройденного ими пути в трехмерной струк-
туре. Карта освещенности – это универсальное решение GI, которое может
использоваться как для сцен интерьеров, так и для сцен экстерьеров. Также
данный метод может быть использован либо как метод первичного, либо как
вторичного отражения света при совместном использовании с методом Irradi-
ance Map или Brute Force.
638  Камеры и освещение в V-Ray

Преимущества. Во многих случаях Light Cache может использоваться как


есть, для визуализации очень быстрых примеров изображений с плавным ос-
вещением в сцене.
Недостатки. Результат зависит от положения наблюдателя и генерируется
для определенного положения камеры. Однако он также создает аппрокси-
мацию для не напрямую видимых частей сцены. Например, одна карта Light
Cache может аппроксимировать все рассчитанные данные о GI в закрытой
комнате. Метод Light Cache не адаптивен. Освещение вычисляется с фикси-
рованным разрешением, заданным пользователем. Освещение, связанное
с движущимися объектами, не совсем корректно, но очень мягкое, так как Ligt
Cache размывает GI во времени (в отличие от Irradiance Map, где каждый обра-
зец вычисляется в определенный момент времени). Требуется дополнитель-
ный объем памяти (RAM, HDD).
Irradiance Map – этот метод основан на создании кеша излучения энер-
гии. Основная идея данного метода состоит в том, чтобы вычислять глобаль-
ное освещение только в некоторых точках сцены и интерполировать его для
остальных.
Преимущества. Метод Irradiance Map очень быстр по сравнению с мето-
дом Brute Force, особенно для сцен с большими ровными поверхностями. Шум,
присущий Brute Force, значительно меньший. Данные, сформированные Irra-
diance Map, можно сохранить и повторно использовать для ускорения вычис-
лений разных видов для одной и той же сцены и анимации пролета камеры. Ir-
radiance Map также может использоваться для ускорения прямого диффузного
освещения от площадных источников света.
Недостатки. Некоторые детали в глобальном освещении могут быть поте-
ряны или размыты из-за интерполяции. Если используются настройки с низ-
ким качеством, при визуализации анимации может возникать мерцание. Для
хранения данных требуется больше памяти. Полученная в результате карта
Irradiance Map зависит от направления взгляда наблюдателя. Непрямое осве-
щение с размытием движения у движущихся объектов не совсем корректно
и может привести к шуму (хотя в большинстве случаев это не заметно).
Photon Map – этот метод отслеживает частицы света от начала источников
света и до окончания их отражений в сцене. Этот подход полезен для визуали-
зации сцен интерьеров или полуоткрытых интерьеров с большим количеством
источников света или небольших окон. Этот подход обычно не дает достаточ-
но хороших результатов для непосредственного использования. Однако его
можно использовать в качестве приблизительного варианта освещения в сце-
не для ускорения вычислений GI при использовании в сочетании с методами
Brute Force или Irradiance Map.
Преимущества. Очень быстрое вычисление аппроксимированного осве-
щения в сцене. Карта фотонов, созданная этим методом, может быть сохране-
на и повторно использована для ускорения вычислений различных представ-
лений для одной и той же сцены и анимации пролета камерой. Карта фотонов,
созданная этим методом, не зависит от положения наблюдателя.
Недостатки. Карта фотонов обычно не подходит для визуализации осве-
щения в сцене напрямую. Обычно требуется отдельная настройка для каждого
источника света. Требуется дополнительный объем памяти для хранения дан-
Глобальное освещение в V-Ray  639

ных. В реализации V-Ray освещение при размытии движения у движущихся


объектов не совсем корректно (хотя в большинстве случаев это не является
серьезной проблемой). Для работы фотонной карты нужны фактические ис-
точники света. Она не может использоваться для формирования глобального
освещения, вызванного освещением от окружающей среды, например от шей-
дера V-Ray Sky.
Данный метод неадаптивный, излучение вычисляется при фиксированном
разрешении, заданном пользователем.

Общий взгляд на методы GI


Brute Force GI
Метод Brute Force, используемый для вычисления непрямого освещения, пе-
ресчитывает значения GI для каждой отдельной точки затенения отдельно
и независимо от других точек. Этот метод очень точен, особенно если в вашей
сцене много мелких деталей.
Применение метода Brute Force как в качестве первичного, так и вторично-
го метода вычисления GI иногда является лучшим решением для визуализа-
ции экстерьеров. Для других типов визуализации может быть целесообразнее
использовать менее требовательный к вычислениям метод (например, такой
как Light cache) для выполнения аппроксимации вторичных отражений лучей
света.

Рис. 6.7.3  Диаграмма действия метода Brute Force


и результат визуализации сцены

На диаграмме продемонстрирован способ отслеживания лучей в методе


Brute Force. Когда движок для первичных отскоков установлен на грубую силу,
первые лучи (показанные черными линиями на диаграмме) прослеживаются
от камеры к сцене, чтобы определить точки, для которых рассчитывается GI.
Когда луч попадает на поверхность, прослеживаются первичные отражения
(красный); количество этих лучей зависит от установки параметра Subdivs.
Когда в качестве движка вторичных отражений выбран метод Brute Force, про-
слеживаются вторичные лучи отражений (синий). В этом случае для каждого
640  Камеры и освещение в V-Ray

отражения прослеживается один луч, а количество отражений зависит от па-


раметра Depth.

Irradiance Map GI
Функция энергетической освещенности, определенная для любой точки
в трехмерном пространстве, представляет свет, поступающий в точку и отра-
жается во всех направления, из которых поступает свет. Метод Irradiance Map
создает карту этого освещения.
В общем, освещенность различна в каждой точке и может представлять
большой объем информации. Однако есть два полезных ограничения, кото-
рые могут быть сделаны при использовании освещенности для визуализации.
Первое – это ограничение взгляда только на поверхностное излучение, кото-
рое является освещением, достигающим точек, лежащих на поверхности объ-
ектов в сцене. Это естественное ограничение, так как нас обычно интересует
освещение объектов в сцене, а объекты часто определяются их поверхностя-
ми. Второе ограничение заключается в том, что для диффузной освещенности
поверхности (общего количества света, поступающего в данную точку поверх-
ности) мы можем игнорировать направление, из которого поступает свет.

Рис. 6.7.4  Диаграмма действия метода Irradiance Map


и результат визуализации сцены

В более простом представлении можно думать, что диффузная энергети-


ческая освещенность поверхности представляется в качестве видимого цвета
этой поверхности, если предположить, что ее материал является чисто белым
и рассеянным.
В V-Ray термин «карта энергетической освещенности» относится к методу
эффективного вычисления освещенности диффузной поверхности для объек-
тов в сцене. Поскольку не все части сцены имеют одинаковую детализацию
в формируемом непрямом освещении, имеет смысл более точно вычислить
GI в наиболее важных областях (например, где объекты находятся близко друг
к другу или в местах с резкими тенями от GI) и менее точно – в больших, рав-
номерно освещенных областях. Таким образом, карта освещенности строится
адаптивно. Это делается путем визуализации изображения в несколько про-
Глобальное освещение в V-Ray  641

ходов, при этом разрешение визуализируемой карты удваивается с каждым


проходом. Идея состоит в том, чтобы начать с низкого разрешения карты (ска-
жем, четверть от разрешения конечного изображения) и увеличивать его до
окончательного разрешения изображения.
Карта энергетической освещенности представляет собой совокупность то-
чек в трехмерном пространстве (облако точек) наряду с вычисленным непря-
мым освещением в этих точках. Когда объект попадает во время прохода GI,
V-Ray берет карту освещенности, чтобы увидеть, есть ли точки, похожие по
положению и ориентации на текущую точку. Из полученных в процессе вы-
числений точек V-Ray извлекает различную информацию (т. е. если побли-
зости есть какие-либо объекты, насколько быстро изменяется непрямое ос-
вещение и т. д.). Основываясь на этой информации, V-Ray определяет, может
ли непрямое освещение для текущей точки быть адекватно интерполировано
из точек, уже находящихся на карте освещенности, или нет. Если нет, под-
считывается непрямое освещение для текущей точки, и эта точка сохраняется
в карте энергетической освещенности. Во время фактической визуализации
V-Ray использует сложный метод интерполяции для получения приближения
освещенности для всех поверхностей в сцене.
На приведенной схеме показано, как создается карта энергетической осве-
щенности. Метод Irradiance Map можно выбрать только в качестве алгоритма
вычислений GI для первичных отражений; он недоступен для вторичных от-
ражений. Поскольку метод зависит от взгляда наблюдателя, первичные лучи
(черные линии на диаграмме) прослеживаются от камеры в сцену, чтобы опре-
делить размещение образцов излучения. Как только это выполнится, лучи GI
(красные стрелки) прослеживаются от выбранных образцов в сцену, чтобы
определить освещение, исходящее из окружающей среды. Количество просле-
живаемых лучей определяется параметром Subdivs. Алгоритм Irradiance Map
только прослеживает одно отражение луча света. Все дополнительные отраже-
ния (синие стрелки) прослеживаются алгоритмом вторичного метода GI. Кар-
та Irradiance Map создается в нескольких проходах, каждый проход добавляет
больше образцов, где это необходимо. Во время визуализации для каждой ви-
зуализированной точки V-Ray берет несколько выборок из уже полной карты
энергетической освещенности и интерполирует между ними, чтобы создать
гладкое решение GI. Количество взятых образцов определяется параметром
Interp. samples.

Light Cache GI
Метод Light Cache (иногда также называемый Light Map) реализует технику
быстрого приближения глобального освещения в сцене. Кеш Light Cache соз-
дается путем отслеживания многих, многих путей вида от камеры. Каждое из
отражений в пути сохраняет освещенность от остальной части пути в трехмер-
ной структуре. Этот метод был разработан Chaos Group специально для ядра
V-Ray.
Схема показывает способ создания Light Cache. Чтобы получить освещение
из окружающей среды, V-Ray отслеживает много лучей от камеры в сцену.
Каждый отскок света создает образец в Light Cache, который может использо-
ваться во время визуализации. Если один луч попадает на образец, созданный
642  Камеры и освещение в V-Ray

другим лучом, процесс вычисления останавливается, и вместо этого берется


информация из ранее созданного образца. Способность обнаруживать и счи-
тывать световую информацию, создаваемую другими лучами (вместо вычис-
ления новой информации) значительно ускоряет работу Light Cache.

Рис. 6.7.5  Диаграмма действия метода Light Cache


и результат визуализации сцены

Photon Map GI
Метод GI на основе карты фотонов (Photon Map) несколько похож на карту
энергетической освещенности (Irradiance Map) тем, что она представляет со-
бой набор точек в трехмерном пространстве (облако точек). Карта фотонов
строится путем отслеживания частиц (фотонов), излучаемых источниками
света в сцене. Эти фотоны отражаются по сцене и сталкиваются с различными
поверхностями, а точки попадания сохраняются на карте фотонов.

Рис. 6.7.6  Диаграмма действия метода Photon Map


Глобальное освещение в V-Ray  643

Реконструирование освещения на основе карты фотонов осуществляется


путем оценки плотности фотонов в определенной точке. Ядро V-Ray может
использовать несколько методов оценки плотности, каждый обладает свои-
ми преимуществами и недостатками. Обычно эти методы основаны на поиске
фотонов, ближайших к точке затенения.
Обратите внимание, что в целом фотонная карта обеспечивает менее точ-
ную аппроксимацию освещения в сцене, чем другие методы, особенно когда
речь идет о мелких деталях.
Основным недостатком метода фотонной карты является смещение грани-
цы, это когда области вокруг углов и краев объекта выглядят темнее, чем они
должны быть. Другие методы также могут формировать смещение границ, но
могут быть адаптированы для значительного уменьшения данного эффекта.
Другим недостатком карты фотонов является то, что он не может имитировать
освещение от небосвода (skylight), потому что фотонам нужна фактическая
поверхность, из которой они излучаются. Небосвод, по крайней мере, в V-Ray,
не является поверхностью, фактически присутствующей в сцене. Но данное
ограничение можно обойти, создав источник света с помощью полигональной
поверхности и шейдера VRayLightMtl.
С другой стороны, карта фотонов независима от вида и может быть вычис-
лена относительно быстро. Это делает ее идеальным решением для быстрой
аппроксимации освещения в сцене при использовании вместе с более точны-
ми методами, такими как Brute Force или Irradiance Map.
На представленной схеме показан способ создания карты фотонов. В пер-
вом проходе лучи (синие линии) прослеживаются от каждого источника света
до объектов в сцене, которые формируют образцы света по всей сцене. Во вто-
ром проходе (красные линии) все образцы в заданном радиусе собираются из
камеры, чтобы создать окончательный вид GI.

Параметры методов GI и их настройка


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

Параметры метода Brute Force GI


Метод Brute Force доступен как для визуализации первичных, так и для визу-
ализации вторичных отражений света (рис. 6.7.7). Он прост в использовании
и не обладает большим количеством настроек. Но данный метод может потре-
бовать достаточно много времени на визуализацию изображения.
Subdivs – квадрат данного значения, приумножается на значение, опреде-
ляемое атрибутом Subdivs Mult в свитке DMC Sampler, задает количество лу-
чей, которые V-Ray будет отслеживать со стороны камеры, когда Brute Force
используется в качестве движка вычисления первичных отражений.
Depth – управляет количеством отражений света, которые будут вычисле-
ны, если метод Brute Force выбран в качестве движка для вычисления вторич-
ных отражений.
644  Камеры и освещение в V-Ray

Рис. 6.7.7  Глобальные настройки метода Brute Force


во вкладке GI диалогового окна Render Settings

Рис. 6.7.8  Пример визуализации изображений


с различными значениями атрибута Depth:
A – Depth = 1, B – Depth = 3, C – Depth = 6

Параметры метода Irradiance Map


Метод Irradiance Map предоставляет большие возможности для настройки ви-
зуализации непрямого освещения в интерьерных сценах и экстерьерах. До-
ступ к настройкам Irradiance Map можно получить с помощью редактора Ren-
der Setings во вкладке GI (рис. 6.7.9).
Встроенные шаблоны. Раскрывающийся список Presets позволяет вам вы-
брать один из нескольких заранее подготовленных шаблонов для быстрой на-
стройки ключевых параметров Irradiance Map. Вы можете использовать их для
быстрой настройки цвета, порогов нормалей и дистанции, а также минималь-
ных и максимальных уровней. На выбор доступны следующие шаблоны:
 Custom – данный шаблон делает все базовые настройки доступными;
 Very low – данный шаблон пригоден только для предварительной ви­
зуализации, для демонстрации общего освещения в сцене;
 Low – шаблон для визуализации непрямого освещения низкого каче-
ства, используемого для предварительной визуализации;
 Medium – шаблон настроек среднего качества, хорошо подходит для
большинства ситуаций в сценах, в которых нет большого количества де-
талей;
Глобальное освещение в V-Ray  645

Рис. 6.7.9  Глобальные настройки метода Irradiance Map

 Medium animation – шаблон настроек среднего качества, нацеленный


на уменьшение мерцания в анимации. Атрибуту Distance threshold на-
значается большая величина;
 High – шаблон настроек высокого качества, применим в большинстве
ситуаций, когда в сцене большое количество небольших деталей, а так-
же для большинства анимаций;
 High animation – шаблон настроек для визуализации непрямого осве-
щения высокого качества, который может быть использован для устра-
нения бликов и шумов при визуализации анимации. Атрибуту Distance
threshold назначается большая величина;
 Very high – шаблон бля визуализации непрямого освещения очень вы-
сокого качества, которое может быть использовано для визуализации
сцен с крайне малыми и сложными деталями.
Помните, что шаблоны нацелены на типичное изображение разрешением 640×480
пикселей. Изображения большего разрешения в большинстве случаев должны ви-
зуализироваться с более низкими значениями минимальных/максимальных уров-
ней, чем те, которые определены шаблоном.
Базовые параметры. Некоторые атрибуты доступны, только если выбран
шаблон Custom.
Атрибут Min rate определяет разрешение для первого прохода непрямого
освещения (first GI pass). Значение 0 определяет, что разрешение будет анало-
гично разрешению финального визуализируемого изображения, которое де-
лает карту энергетической освещенности аналогичной прямым вычислениям,
выполняемым с помощью метода Brute Force. Величина –1 задает разрешение,
646  Камеры и освещение в V-Ray

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


если данному атрибуту вы зададите отрицательное значение – это позволит
вычислять непрямое освещение быстрее для больших и плоских регионов
в изображении. Этот атрибут обладает аналогичной концепцией, как и атри-
бут Min rate в методе выборки Adaptive sampler.

Рис. 6.7.10  Примеры визуализации глобального освещения


на основе Irradiance Map в различных шаблонах настроек

Атрибут Max rate определяет разрешение для последнего прохода непря-


мого освещения (last GI pass). Этот атрибут обладает той же концепцией, что
и атрибут Max rate в методе выборки Adaptive sampler.

Рис. 6.7.11  Визуализация глобального освещения на основе Irradiance Map


с различными значениями Min Rate и Max Rate
Глобальное освещение в V-Ray  647

Для контроля качества индивидуальных образцов непрямого освещения


предназначен атрибут Subdivs. Небольшие значения позволяют выполнить
вычисления быстро, но формируют низкокачественный результат с выражен-
ными пятнами света. Высокие значения производят гладкое освещение. Этот
атрибут аналогичен атрибуту Subdivs метода Brute Force. Помните, что дан-
ный атрибут не задает актуальное количество лучей, которое будет излучено.
Актуальное количество лучей пропорционально квадрату данного значения
и также зависит от настроек выборки в свитке DMC sampler.

Рис. 6.7.12  Влияние различных значений атрибута Subdivs


на формируемое глобальное освещение

Атрибут Iterp. samples определяет количество образцов непрямого осве-


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

Рис. 6.7.13  Результат влияния атрибута Interp. samples


на интерполяцию глобального освещения на основе Irradiance Map

С помощью атрибута Interp. Frames вы можете задать количество кадров,


которое будет использоваться для интерполяции непрямого освещения в сце-
не, когда атрибут Mode находится в режиме Animation (rendering). В данном
648  Камеры и освещение в V-Ray

режиме, ядро V-Ray интерполирует излучательность из карт нескольких со-


седних фреймов, чтобы сгладить любые мерцания в освещении. Помните, что
актуальное количество кадров использует следующее выражение: 2*(interp.
Frames)+1. Например, заданная по умолчанию величина 2 определяет, что бу-
дет интерполировано пять карт энергетической освещенности. Высокие зна-
чения замедляют скорость визуализации и могут привести к тому, что свет бу-
дет казаться отстающим от его фактического местоположения при просмотре
анимации. Низкие значения позволяют выполнять визуализацию быстро, но
увеличивают мерцание и шум в освещении.
Атрибут Color thresh определяет порог цвета. Этот атрибут определяет,
насколько чувствителен алгоритм карты освещенности к изменениям в не-
прямом освещении. Большие значения означают меньшую чувствительность;
меньшие значения делают карту освещенности более чувствительной к изме-
нениям света (таким образом создавая изображения более высокого качества).
В то же время атрибут Normal thresh определяет порог при изменении норма-
лей поверхностей. Этот параметр определяет, насколько чувствительна кар-
та освещенности к изменениям и мелким деталям на поверхности. Большие
значения означают меньшую чувствительность; меньшие значения делают
карту освещенности более чувствительной к кривизне поверхности и мелким
деталям.
С помощью атрибута Dist thresh вы можете управлять чувствительностью
карты энергетической освещенности на расстоянии между поверхностями.
Значение 0.0 определяет то, что карта энергетической освещенности не будет
учитывать зависимость и близость между объектами; значения выше будут
размещать больше образцов в местах, где объекты ближе друг к другу.
Когда активен атрибут Use camera path, ядро V-Ray будет вычислять образ-
цы карты энергетической освещенности для всего пути камеры вместо теку-
щего вида. Это применимо в следующих случаях.
Вычисление карт энергетической освещенности для анимации камеры в ви­
де коротких пролетов в один проход. Вместо того чтобы использовать режим
Incremental add to current map и визуализировать анимацию каждого N-го кад­
ра, вы можете включить опцию Use camera path и визуализировать только один
кадр – это сформирует информацию об освещении по всему пути камеры.
Применение карт энергетической освещенности для анимации с движущи-
мися объектами, где камера также движется в любом из режимов Single frame
или Animation (prepass). В данном случае применение атрибута Use camera
path поможет уменьшать любое мерцание, так позиция выбранного образца
непрямого освещения на статичной геометрии не будет изменяться.
Если вы используете данный атрибут, вы не должны использовать глянцевые от-
ражения/преломления с интерполяцией, доступные в шейдере V-RayMtl.

Группа параметров Mode. В данной группе атрибутов вы можете выбрать


метод применения карты энергетической освещенности. С помощью раскры-
вающегося списка Mode вы можете выбрать один из специальных режимов
формирования и сохранения данных Irradiance Map.
Режим Bucket mode. В данном режиме карта энергетической освещенности
используется для каждого визуализируемого региона (именуемого «bucket»).
Глобальное освещение в V-Ray  649

Это особенно полезно, поскольку он позволяет карте энергетической освещен-


ности быть эффективно распределенной между несколькими компьютерами,
когда используется распределенная визуализация по сети (distributed render-
ing). Режим Bucket mode может быть медленнее, чем режим Single frame, так
как должна быть вычислена дополнительная граница вокруг каждого региона
в порядке уменьшения артефактов границ между ближайшими областями. Но
даже при таких условиях могут появиться артефакты. Они могут быть убраны
за счет использования больших настроек для карты энергетической освещен-
ности (например, шаблон High, больше образцов и/или небольшие значения
порога Noise threshold для метода выборки DMC sampler).
Режим Single frame используется по умолчанию. В данном режиме одна
карта энергетической освещенности будет вычислена для всего изображения,
а для каждого кадра анимации будет вычисляться новая карта. В процессе
распределенной визуализации каждый сервер визуализации будет вычислять
свою собственную энергетическую карту освещенности для всего изображе-
ния. Этот режим используется, когда выполняется визуализация анимации
движущихся объектов. При этом необходимо убедиться, что карта освещен-
ности имеет достаточно высокое качество, чтобы избежать мерцания.
Режим Multiframe incremental используется при визуализации секвенций
кадров (необязательно последовательных), в которых перемещается только
камера (таких как пролет камеры). Ядро V-Ray вычислит новую карту энерге-
тической освещенности в полном разрешении для первого визуализируемого
кадра; а для всех остальных кадров V-Ray будет пытаться повторно использо-
вать и уточнять карту энергетической освещенности, которая была вычисле-
на ранее. Если карта энергетической освещенности достаточно высокого ка-
чества, чтобы избежать проявления мерцания и шума, данный режим может
быть также использован при визуализации по сети, когда каждый сервер визу-
ализации вычисляет и уточняет собственную локальную карту энергетической
освещенности.
В режиме From file ядро визуализации V-Ray будет просто загружать кар-
ту энергетической освещенности из заранее созданного файла перед началом
процесса визуализации секвенции, также данная карта будет использована
для всех кадров анимации. Новая карта энергетической освещенности не бу-
дет вычисляться. Данный режим может быть использован для анимации про-
летов камеры и будет хорошо работать в режиме визуализации по сети.
Режим Add to current map позволяет вычислять полностью новую карту
энергетической освещенности и добавлять ее к карте, сохраненной в памяти.
Данный режим применим, когда создается карта энергетической освещенно-
сти из нескольких видов в статичной сцене. Но помните, что данный режим не
поддерживается в режиме визуализации по сети.
Режим Incremental add to current map используется для создания карты
энергетической освещенности, которая всегда находится в памяти и будет
только уточняться в тех местах, где достаточно деталей. Данный режим при-
меним, если собирается карта энергетической освещенности для визуализа-
ции множества видов в статичной сцене или анимации пролетов камеры.
При визуализации анимации будет полезным применять режим Anima-
tion (prepass). В данном режиме V-Ray вычисляет карты энергетической
650  Камеры и освещение в V-Ray

освещенности, которые будут использованы позже при финальной визуали-


зации в режиме Animation (rendering). Карта энергетической освещенности
будет создана и записана для каждого кадра. Помните, что в данном режиме
вы можете визуализировать одну карту для каждого кадра (т. е. вы не можете
визуализировать любой кадр анимационной секвенции). В данном режиме
ядро V-Ray автоматически отключает визуализацию финального изображе-
ния. В нем вычисляется только предварительный проход карты энергетиче-
ской освещенности.
Режим Animation (rendering) предназначен, для того чтобы V-Ray визу-
ализировал кадры финальной анимации, используя карты энергетической
освещенности, созданные с помощью режима Animatin (prepass). Карты энер-
гетической освещенности из нескольких ближайших кадров загружаются
и объединяются для устранения мерцания и шума в освещении. Количество
этих карт, которые могут быть интерполированы, зависит от атрибута Inertp.
frames.
Выбор режима карты энергетической освещенности зависит от особенно-
стей решаемой задачи по визуализации, это статичная сцена, визуализируе-
мая с множества видов, анимация пролета камеры или анимация движущихся
объектов.
Кнопка Browse позволяет вам выбрать файл с картой энергетической осве-
щенности (irradiance map file), данные из которого будут взяты при визуали-
зации. Данная функция будет активна, если выбран режим From file. В ином
случае вы можете ввести полный путь к файлу в текстовом поле.
Для сохранения карты энергетической освещенности, находящейся в па-
мяти, используйте кнопку Save. Помните, что функция Don’t delete в группе
On render end должна быть включена для сохранения карты энергетической
освещенности. В противном случае V-Ray будет автоматически удалять карту
энергетической освещенности по окончании процесса визуализации.
Кнопка Reset позволяет удалить карту энергетической освещенности из
памяти.
Кнопка Open map with Irradiance Map viewer позволяет открыть карту
энергетической освещенности с помощью утилиты Irradiance Map Viewer для
просмотра файла с данными о непрямом освещении. Подробно утилита рас-
смотрена в третьей главе.
Группа параметров On Render End. Атрибуты, находящиеся в данной груп-
пе, определяют для V-Ray, что необходимо делать с картой энергетической
освещенности по окончании процесса визуализации.
Функция Don’t delete определяет, что необходимо сохранять карту энерге-
тической освещенности в памяти, пока не будет осуществлен процесс визуа-
лизации, также карта энергетической освещенности должна быть сохранена
с помощью функции Save. Если данная функция неактивна, V-Ray будет уда-
лять карту энергетической освещенности по завершении процесса визуали-
зации.
Глобальное освещение в V-Ray  651

По окончании процесса визуализации функция Auto save позволяет V-Ray


автоматически сохранять карту энергетической освещенности в заданный
файл. Данный режим очень полезен, если вы хотите отправлять карту энерге-
тической освещенности на другой компьютер для визуализации по сети.
Подсвиток Irradiance Map – Advanced. Свиток с расширенными параметра-
ми для настройки Irradiance Map.
Группа Detail Enhancement. Данная группа атрибутов определяет метод
увеличения детализации карты освещенности при наличии небольших дета-
лей в изображении. Из-за ее ограниченного разрешения карта освещенности
обычно размывает результат глобального освещения в этих областях или фор-
мирует пятнистый и мерцающий результат в освещении. Опция увеличения
детализации – это способ вычисления таких небольших деталей с помощью
выборки на основе метода Brute Force. Это похоже на то, как работает Ambient
Occlusion, но более точно, поскольку он учитывает отраженный свет.
Атрибут Enhance details включает увеличение детализации карты осве-
щенности. Обратите внимание, что карта освещенности, рассчитанная в этом
режиме, не должна использоваться без опций детализации. Когда примене-
ние метода увеличения детализации активно, вы можете использовать более
низкие настройки карты освещенности и более высокое значение атрибута
Interp. samples. Это связано с тем, что карта используется только для захвата
общего дальнего освещения, в то время как прямая выборка применяется для
более детализированных областей.
Detail scale – режим позволяет определить единицы для параметра Detail
radius:
 Screen – радиус выражается в пикселях изображения;
 World – радиус выражается в мировых единицах.
Атрибут Detail Radius определяет радиус, при котором проявляется эффект
увеличения детализации карты освещенности. Меньший радиус означает, что
небольшие части вокруг деталей на изображении отбираются с более высокой
точностью, что быстрее, но может быть менее точным. При большем радиу-
се большая часть сцены будет использовать более высокую точность выборки
и может быть медленной в скорости вычислений, но более точной. Это значе-
ние аналогично параметру радиуса в проходе Ambient Occlusion.
Details subdivs mult. – определяет количество выборок, взятых для выбор-
ки с высокой точностью, в процентах от подразделения карты освещенности.
Значение 1.0 означает, что будет использоваться такое же количество подраз-
делений, что и для обычных образцов карты освещенности. Более низкие зна-
чения сделают области с повышенной детализацией более шумными, но будут
быстрее визуализироваться.
652  Камеры и освещение в V-Ray

Рис. 6.7.14  Результат влияния атрибутов Detail Radius и Details subdivs mult.
на интерполяцию глобального освещения на основе Irradiance Map

Группа Options. Show samples – когда активен данный атрибут, V-Ray ви-
зуально отобразит образцы на карте освещенности в виде небольших точек
в сцене.

Рис. 6.7.15  Пример отображения образцов Irradiance Map в сцене Maya

Когда активен атрибут Show calc phase, в процессе вычисления V-Ray будет
выводить предварительные проходы карты освещенности. Это даст вам общее
представление о непрямом освещении еще до завершения окончательной ви-
зуализации. Обратите внимание, что активация данного атрибута немного за-
медляет вычисления, особенно для изображений с большим разрешением. Эта
опция игнорируется при визуализации полей, в этом случае фаза вычисления
никогда не отображается.
Глобальное освещение в V-Ray  653

Атрибут Show direct light доступен только при включенной Show calc phase.
Когда он включен, при вычислении карты освещенности V-Ray показывает
прямое освещение для первичных диффузных отражений света в дополнение
к глобальному освещению. Обратите внимание, что V-Ray действительно не
нужно вычислять его. Этот атрибут предназначен только для удобства. Это не
означает, что прямое освещение не рассчитывается вообще, оно есть, но толь-
ко для вторичных диффузных отскоков (для применения с GI).
Параметр, выбираемый в раскрывающемся списке Interpolation type, ис-
пользуется во время визуализации. Он определяет метод интерполяции ве-
личины GI из образцов, сохраненных в карте освещенности. Рассмотрим до-
ступные методы подробнее.
Weighted average – этот метод будет выполнять простую комбинацию меж-
ду образцами GI в карте освещенности на основе расстояния до точки интер-
поляции и разницы в нормалях. В то время как данный метод прост и быстр,
он имеет тенденцию приводить к усилению пятнистости в результирующем
изображении.
Lease squares fit – старается вычислить значение GI, которое наилучшим
образом соответствует среднему между образцами с карты освещенности. По-
лучает более гладкие результаты, чем метод Weighted average, но медленнее
в вычислениях. Кроме того, артефакты в виде кругов могут появляться в ме-
стах, где и контраст, и плотность образцов карты изменяются на небольшой
площади. Данный метод используется по умолчанию.
Delone triangulation – все другие методы интерполяции являются метода-
ми размытия, т. е. они будут иметь тенденцию размывать детали при непря-
мом освещении. Методы с размытием склонны к смещению плотности. Наобо-
рот, метод Delone triangulation не является методом с размытием и сохраняет
детали, избегая при этом смещения плотности. Так как он не размывается,
результат может выглядеть более шумным (размытость имеет тенденцию
скрывать шум). Для получения достаточно гладкого результата потребуются
дополнительные образцы. Это можно сделать, увеличив значение атрибута
Subdivs для образцов карты освещенности.
Lease squares with Voronoi weights – это модификация метода наимень-
ших квадратов, направленного на предотвращение появления артефактов на
острых границах, с учетом плотности образцов на карте освещенности. Метод
довольно медленный, и его эффективность в настоящее время несколько со-
мнительна.
Хотя все типы интерполяции имеют свои области применения, вероятно,
имеет смысл использовать либо List Squares Fit, либо Delone triangulation.
Будучи методом размытия, List Squares Fit используется, чтобы скрыть шум
и обеспечить плавный результат. Он идеально подходит для сцен с большими
гладкими поверхностями. Метод Delone triangulation – это более точный ме-
тод, который обычно требует большего количества образцов выборки (Subdivs)
и Max irradiance map rate (и, следовательно, большего времени визуализации),
но дает точные результаты без размытия. Это особенно заметно в сценах, где
есть много мелких деталей.
Параметр из раскрывающегося списка Sample lookup используется при ви-
зуализации. Он выбирает метод подбора подходящих точек из карты энерге-
654  Камеры и освещение в V-Ray

тической освещенности, который будет использоваться в качестве основы для


интерполяции. Для понимания принципа действия данного атрибута рассмо-
трим небольшой пример.
Nearest – этот метод просто выбирает те образцы из карты энергетической
освещенности, которые ближе всего к точке интерполяции. (Сколько точек бу-
дет выбрано, определяется значением атрибута Interp. Samples.) Это самый
быстрый метод поиска и был единственным методом, доступным в ранних
версиях V-Ray. Недостатком этого метода является то, что в местах, где плот-
ность образцов в карте энергетической освещенности изменяется, он будет
выбирать больше образцов из области с более высокой плотностью. Когда ис-
пользуется метод интерполяции с размытием, это приводит к так называемо-
му смещению плотности (so-called density), которое может привести к непра-
вильной интерполяции и артефактам в таких местах (в основном к границам
тени глобального освещения (GI shadow boundaries)).
Nearest quad-balanced – это улучшенная версия метода Nearest, направ-
ленного на предотвращение эффекта смещения плотности. Он разделяет про-
странство вокруг интерполированной точки в четырех областях и пытается
найти равное количество выборок во всех из них (отсюда и название quad-
balanced). Метод немного медленнее, чем Nearest, но в целом работает очень
хорошо. Недостатком является то, что иногда, пытаясь найти образцы, он
может выбирать образцы, которые находятся далеко и не имеют отношения
к интерполированной точке.
Precalculated overlapping – этот метод был введен в попытке избежать не-
достатков методов Nearest и Nearest quad-balanced. Для этого требуется этап
предварительной обработки образцов на карте энергетической освещенности,
в процессе которого для каждого образца вычисляется радиус влияния. Этот
радиус будет больше для образцов в местах с низкой плотностью и меньше для
мест с более высокой плотностью. При интерполяции освещенности в задан-
ной точке метод будет выбирать каждый образец, содержащий эту точку в пре-
делах своего радиуса влияния. Преимущество этого метода заключается в том,
что при использовании с размытым методом интерполяции он создает непре-
рывную (плавную) функцию. Несмотря на то что для этого метода требуется
шаг предварительной обработки, он часто быстрее, чем два других метода. Эти
два свойства делают его идеальным для получения качественных результатов.
Недостатком этого метода является то, что иногда редкие образцы, которые
находятся далеко друг от друга, могут влиять на неправильную часть сцены.
Кроме того, он имеет тенденцию размывать GI больше, чем другие методы.
Density-based – метод, используемый по умолчанию. Данный метод соче-
тает в себе техники методов Nearest и Precalculated overlapping и очень эффек-
тивен при уменьшении артефактов в виде ореолов и артефактов из-за низкой
частоты выборки. Этот метод также требует выполнения этапа предваритель-
ной обработки, чтобы вычислить плотность выборки, но он выполняет поиск
ближайших соседних образцов для выбора наиболее подходящих образцов
с учетом плотности выборки.
Check sample visibility – когда данный атрибут включен, V-Ray будет ис-
пользовать только те образцы из карты освещенности, которые непосред-
ственно видны из интерполированной точки во время визуализации. Это
Глобальное освещение в V-Ray  655

может быть полезно для предотвращения «утечек света» через объекты с тон-
кими стенками со значительно различающимся освещением с обеих сторон.
Однако это также замедлит процесс визуализации, поскольку V-Ray будет от-
слеживать дополнительные лучи для определения видимости образца.
Атрибут Multipass используется при расчете карты энергетической освещен-
ности. Если флажок установлен, это приведет к тому, что V-Ray будет исполь-
зовать все образцы карты освещенности, вычисленные ранее. Отключение это-
го параметра позволит V-Ray использовать только те образцы, которые были
выбраны во время предыдущих проходов, но не те, которые были вычислены
ранее во время текущего прохода. Активация этого параметра обычно приво-
дит к тому, что V-Ray принимает меньше выборок (и, следовательно, быстрее
вычисляет карту освещенности). Это означает, что на многопроцессорных ма-
шинах несколько потоков будут одновременно изменять карту освещенности.
Из-за асинхронного характера этого процесса нет гарантии, что одно и то же
изображение дважды будет отображать одну и ту же карту освещенности. Обыч-
но это совсем не проблема, и рекомендуется сохранить этот атрибут активным.
Randomize samples – этот атрибут используется во время расчета карты
освещенности. Когда этот атрибут активен, образцы изображений будут слу-
чайным образом дрожать. Если снять флажок и отключить данный атрибут,
вы получите образцы, которые выровнены в сетке на экране. В общем, этот
параметр должен быть проверен во избежание артефактов, вызванных регу-
лярной выборкой.
Calc. interp samples – значение, определяемое данным атрибутом, исполь-
зуется при вычислении карты энергетической освещенности. Оно представ-
ляет собой количество уже вычисленных выборок, которые будут использо-
ваться для управления алгоритмом выборки. Полезные значения варьируются
от 10 до 25. Низкие значения могут ускорить вычисления проходов, но могут
не предоставлять достаточную информацию. Более высокие значения будут
медленнее и потребуют дополнительной выборки. В общем, этот параметр
должен быть оставлен со значением по умолчанию, равным 15.

Параметры метода Light Cache


Данный свиток становится доступен, когда для вычисления глобального ос-
вещения в сцене вы выбираете метод Light Cache. Данный метод может быть
применен для вычисления как первичного, так и вторичного глобального ос-
вещения. Основные возможности Light Cache мы рассмотрели выше, в разделе
«Light Cache GI».
Базовые параметры Light Cach. Данные параметры оказывают влияние на
фазу вычислений Light Cache. Они не будут оказывать влияния на финальную
визуализацию, пока Light Cache не будет использован в сцене.
Атрибут Subdivs определяет, сколько путей будет трассироваться от наблю-
дателя (камеры) в сцену. Актуальное число путей является квадратом подраз-
делений (по умолчанию 500 подразделений, в среднем – 250 000 путей будет
трассировано со стороны наблюдателя (камеры) в сцену). На рис. 6.7.17 при-
веден пример визуализации сцены с интерьером с различными величинами
атрибута Subdivs.
656  Камеры и освещение в V-Ray

Рис. 6.7.16  Глобальные параметры алгоритма Light Cache


в диалоговом окне Render Settings

С помощь атрибута Sample size определяется интервал выборок в Light


Cache. Меньшее значение означает, что образцы будут ближе друг к другу,
а Light Cache будет сохранять резкие детали в освещении, но он будет более
шумным и требовать больше памяти. Большие значения будут формировать
мягкий, сглаженный вид Light Cache, но будут утрачены детали. Данное значе-
ние может быть любым, в единицах мировых координат или в зависимости от
размера изображения и от того, установлен флажок атрибута World scale или
нет. На рис. 6.7.18 приведен пример визуализации сцены, содержащей мелкие
детали, с различными значениями атрибута Sample size.
Глобальное освещение в V-Ray  657

Рис. 6.7.17  Влияние атрибута Subdivs


на качество глобального освещения на основе Light Cache.
A – Subdivs = 1000; B = 3000; C – Subdivs = 8000
658  Камеры и освещение в V-Ray

Рис. 6.7.18  Влияние атрибута Sample size на качество глобального осве-


щения на основе Light Cache. Иллюстрация A – Sample Size = 0.1, иллюстрация
B – Sample Size = 0.05, иллюстрация C – Sample Size = 0.01. Изображения визуа­
лизированы с Subdivs = 4000
Глобальное освещение в V-Ray  659

Флажок атрибута Show calc. phase позволяет включить отображение путей,


которые будут трассироваться. Это не оказывает влияния на вычисления Light
Cache и нужно, для того чтобы вы видели текущий ход вычислений. Эта опция
игнорируется при визуализации полей – в этом случае фаза расчета никогда
не отображается.
Когда активен атрибут Store direct light, алгоритм Light Cache будет также
сохранять и интерполировать прямое освещение. Это может быть применимо
в сценах с большим числом источников света и при совместном использова-
нии с irradiance map или методом прямого глобального освещения для основ-
ных диффузных отсеков, так как прямое освещение должно быть рассчитано
из Light Cache вместо выборки каждого источника сцены. Помните, что только
диффузное освещение формируется источниками света в сцене, которые бу-
дут сохранены. Если вы хотите использовать Light Cache напрямую для ап-
проксимации глобального освещения, сохраняя резкость прямого освещения,
снимите этот флажок.
Атрибут World Scale определяет единицы масштаба для атрибутов Sample
size и Filter size. Когда данный атрибут активен, размер везде фиксируется
в мировых единицах измерения. Это может повлиять на качество образцов.
Например, образцы, которые ближе к камере, выбираются чаще и выглядят
более гладкими, в то время как образцы, которые находятся далеко, – более
шумные. Данный атрибут является хорошим выбором для режима вычисле-
ний анимации fly-through, так как это вызывает постоянную плотность образ-
ца в продолжительности всей секвенции.
Если этот атрибут отключен, единицы измерения – это доли конечно-
го изо­бражения (значение 1.0 означает, что выборка будет такой же, как все
изображение). Образцы, которые расположены ближе к камере, будут мень-
ше, а образцы, находящиеся на расстоянии от камеры, будут больше. Обратите
внимание, что единицы измерения не зависят от разрешения изображения.
Это значение лучше всего подходит для статичных кадров или анимации, где
Light Cache необходимо вычислять в каждом кадре.
Use light cache for glossy rays – когда этот атрибут активен, алгоритм Light
Cache будет использоваться для вычисления освещения для глянцевых лучей
в дополнение к обычным лучам GI. Это может значительно ускорить визуали-
зацию сцен с глянцевыми отражениями. При использовании этого параметра
рекомендуется также включить атрибут Use retrace threshold, который пре-
дотвратит видимость Light Cache на очень глянцевых поверхностях.
Use camera path – когда эта опция включена, V-Ray вычисляет образцы
Light Cache для всего пути движения камеры, а не только для текущего кадра,
таким же образом, как это делается для режима вычисления fly-through. Это
полезно при визуализации анимации с движущимися объектами, когда ка-
мера также перемещается, а Light Cache должен находиться в режиме single
frame. В этом случае включение этого атрибута поможет уменьшить любое
мерцание, поскольку положения образцов GI на статической геометрии не
изменятся.
Раскрывающийся список Mode, размещенный в одноименной группе атри-
бутов, определяет режим визуализации Light Cache.
Single frame – вычисляет новый Light Cache для каждого кадра анимации.
660  Камеры и освещение в V-Ray

Fly-through – вычисляет Light Cache для всей анимации, предполагая, что


изменяется только положение/ориентация камеры. Учитывается движение
камеры только в определенном диапазоне кадров. Обратите внимание, что
может быть лучше сделать активным атрибут World Scale для визуализации
анимации перемещения камеры. Данные Light Сache вычисляются только
в первом визуализированном кадре и повторно используются без изменений
и визуализации последующих кадров.
From file – в этом режиме данные Light Сache загружаются из файла. Файл
Light Сache не включает в себя предварительную фильтрацию; предваритель-
ная фильтрация выполняется после загрузки данных Light Сache, так что вы
можете настроить его без необходимости повторного вычисления Light Сache.
Когда активен режим From File, поле File Name определяет путь и имя фай-
ла для загрузки данных Light Сache.
Save – позволяет сохранить данные Light Сache в файл на жестком диске
для последующего повторного применения. Помните что атрибут Don’t delete
должен быть активен, чтобы позволить сохранить файл данных. Иначе данные
Light Cache будут удалены, как только визуализация будет завершена, и сохра-
нить их будет невозможно.
Open map with Irradiance Map Viewer позволяет открыть текущий файл
Light Сache с помощью редактора Irradiance Map Viewer, который подробно
рассмотрен в главе 3 данной книги.
Группа атрибутов On Render End содержит элементы управления, которые
определяют, что происходит с кешем света после завершения рендеринга.
Don’t delete – когда данный атрибут включен (по умолчанию), данные Light
Cache остаются в памяти после окончания процесса визуализации. Отключите
этот атрибут, чтобы автоматически удалять данные Light Cache после оконча-
ния процесса визуализации (и, следовательно, экономить память).
Auto save – когда данный атрибут активен, Light Cache будет автоматически
записан в указанный с помощью поля Auto Save File файл. Обратите внимание,
что Light Cache будет записан, как только он вычислен, а не по фактическому
завершению всего процесса визуализации.
Свиток Light Cache Advanced Parameters. Группа атрибутов Reconstruction
Parameters управляет тем, как Light cache используется в финальной визуали-
зации, после того как он будет вычислен.
Filter Type – определяет тип фильтра, применяемого в процессе визуализа-
ции к данным Light Сache. Фильтр определяет, как излучение интерполирует-
ся из выборок в Light Сache.
None – фильтрация не будет применяться. Ближний к точкам затенения об-
разец берется как величина излучения. Это самый быстрый вариант с точки
зрения производительности, но он может создавать артефакты вблизи углов,
если Light Сache шумит. Вы можете использовать режим Prefilter, чтобы умень-
шить шум. Этот режим лучше всего работает, если Light Сache используется
только для вторичных отскоков или для тестовых визуализаций.
Nearest – этот фильтр учитывает ближние к точке затенения образцы и ус-
редняет их величины. Данный тип фильтрации неприменим к прямой визуа-
лизации Light Cache , но применим, если вы используете Light Cache в качестве
вторичного метода GI. Свойство этого метода фильтрации заключается в том,
Глобальное освещение в V-Ray  661

что он адаптируется к плотности выборки Light Сache и вычисляется в течение


почти постоянного времени. Атрибут Filter samples определяет, сколько бли-
жайших образцов из данных Light Cache нужно учитывать.
Fixed – этот тип фильтрации учитывает и усредняет все образцы из данных
Light Cache, которые находятся на определенном расстоянии от точки зате-
нения. Данный тип фильтрации формирует сглаженный результат и приме-
ним для прямой визуализации Light Cache (когда он используется в качестве
основного метода GI). Размер фильтра определяется атрибутом Filter size.
Большие значения размывают Light Cache и смягчают формируемый шум. Ти-
пичные величины для атрибута Filter size в 2–6 раз больше значения атрибута
Sample size. Помните, что Filter size использует тот же масштаб, что и Sample
size, и его значение зависит от атрибута World Scale.
Prefilter – когда данный тип фильтрации выбран, образцы в Light Cache бу-
дут подвергаться фильтрации перед процессом визуализации. Обратите вни-
мание, что это отличается от обычной фильтрации Light Cache, которая проис-
ходит во время визуализации. Предварительная фильтрация выполняется по
очереди, проверяя каждую выборку и модифицируя ее так, чтобы она пред-
ставляла среднее из заданного количества соседних образцов. Большее количе-
ство образцов предварительной фильтрации означает более размытый и менее
шумный результат в Light Сache. Предварительная фильтрация вычисляется
один раз после вычисления или загрузки новых данных Light Сache с диска.
Атрибут Prefilter samples управляет количеством образцов, выбираемых
в процессе предварительной фильтрации (рис. 6.7.19).
Атрибут Depth задает длину путей света, которые будут трассироваться ал-
горитмом (рис. 6.7.20). Важно отметить, что, хоть в Light Сache глубина и огра-
ничена из-за рекурсивного характера этого метода, в конечном результате
будут сформированы более длинные пути.
Когда в атрибуте Filter Type выбран режим Nearest, атрибут Filter Sam-
ples определяет, сколько ближних образцов будет выбрано из Light Сache
(рис. 6.7.21).
Когда выбран режим фильтрации Fixed, атрибут Filter Size определяет раз-
мер фильтрации. Единица масштаба определяется состоянием атрибута World
scale.
Атрибут Leak prevention позволяет выполнять дополнительные вычис-
ления для предотвращения «просачивания» света и уменьшения мерцания
с Light Cache. Величина 0.0 отключает предотвращение «просачивания» света.
По умолчанию данному атрибуту присвоено значение 0.8, которого должно
быть достаточно для всех случаев.
Use retrace threshold – когда этот атрибут активирован, соответствующая
ему величина повышает точность глобального освещения в тех случаях, когда
Light Cache будет выдавать слишком большую ошибку. Это особенно очевидно
с активным атрибутом Use light cache for glossy rays или вблизи углов, где воз-
можно «просачивание» света из-за интерполяции Light Сache. Для глянцевых
отражений и преломлений V-Ray динамически решает, использовать Light
Сache или нет, основываясь на глянцевой поверхности и расстоянии от нее,
чтобы минимизировать ошибки, вызванные Light Сache. Обратите внимание,
что включение этой опции может увеличить время визуализации.
662  Камеры и освещение в V-Ray

Рис. 6.7.19  Визуализация глобального освещения на основе метода


Light Cache с различным значением Prefilter samples. Глобальное осве-
щение рассчитано со значением Subdivs = 4000. Иллюстрация A – Pre-
filter samples = 5, иллюстрация B – Prefilter samples = 20, иллюстрация
C – Prefilter samples = 100, иллюстрация D – Prefilter samples = 500
Глобальное освещение в V-Ray  663

Рис. 6.7.20  Визуализация глобального освещения с различным значени-


ем атрибута Depth. Глобальное освещение рассчитано со значением Subdivs
= 4000. Иллюстрация A – Depth = 0, иллюстрация B – Depth = 5, иллюстрация
C – Depth = 80
664  Камеры и освещение в V-Ray

Рис. 6.7.21  Влияние атрибута Filter samples. Глобальное освеще-


ние рассчитано со значением Subdivs = 4000. Иллюстрация A – Filter
samples = 1, иллюстрация B – Filter samples = 10, иллюстрация C – Filter
samples = 24, иллюстрация D – Filter samples = 64
Глобальное освещение в V-Ray  665

Не наносите идеально белый или очень близкий к белому материал на боль-


шинство объектов в сцене, так как это приведет к чрезмерному увеличению
времени визуализации. Это связано с тем, что количество отраженного све-
та в сцене будет уменьшаться очень постепенно, и Light Сache должен будет
отслеживать более длинные пути. Также избегайте материалов, для которых
один из компонентов RGB установлен на максимум (255 (1.0)) и выше.
Если вы хотите использовать Light Сache для анимации, вы должны выбрать
достаточно большое значение для размера фильтра, чтобы убрать мерцание
в GI.
Нет разницы между сохраненными данными Light Сache, которые были вы-
числены для первичных отскоков (прямая визуализация) и для вторичных от-
скоков. Вы можете безопасно использовать Light Сache, рассчитанный в одном
из этих режимов для другого.
Подобно карте фотонов, вы можете получить «просачивание света» с помо-
щью Light Сache вокруг очень тонких поверхностей с существенно различа-
ющимся освещением с обеих сторон. Иногда можно уменьшить этот эффект,
назначив разные идентификаторы поверхности GI объектам по обе стороны
от тонкой поверхности с помощью узла VRayObjectProperties, рассмотренного
в главе 4. Эффект также может быть уменьшен путем уменьшения размера
выборки и/или фильтрации.

Моделирование эффекта каустики


В реальном мире мы видим отраженный от поверхностей свет. Каждый ма-
териал обладает своими собственными свойствами отражения и преломления.
А многослойные материалы могут отражать и преломлять свет во множестве
слоев, формируя необычный визуальный эффект. Если поместить источник
света в прозрачный объект, например в стеклянную бутылку, свет, исходящий
из лампы, сформирует узор, который основан на свойствах преломления мате-
риала стекла, использованного в бутылке. Данный эффект носит название кау-
стики. Этот эффект прослеживается практически во всех материалах с зеркаль-
ными и преломляющими поверхностями. Так, эффект каустики проявляется,
когда включены фары автомобиля, которые формируют как лучи, отраженные
от зеркальных поверхностей, так и лучи, проходящие через прозрачную среду.
Отличным примером эффекта каустики является бассейн в яркий солнечный
день. Волны на воде формируют различные углы прохождения света сквозь
воду, и при попадании его на поверхность дна появляются световые узоры.
В V-Ray for Maya эффект каустики создается на основе карты фотонов. На
данный момент этот принцип используется в большинстве систем визуали-
зации. Чтобы включить вычисление эффекта каустики, пройдите в Render Set-
tings ⇒ V-Ray renderer ⇒ вкладка GI ⇒ Caustics (рис. 6.7.22) и поставьте флажок
напротив атрибута On.
Формирование карты фотонов также управляется с помощью атрибутов,
контролирующих излучение фотонов индивидуально для каждого из источни-
ков света, находящихся в сцене. Для источников света Maya атрибуты управле-
ния излучением фотонов добавляются с помощью свитка Extra VRay Attributes,
а во всех источниках света V-Ray данные атрибуты доступны по умолчанию.
666  Камеры и освещение в V-Ray

Рис. 6.7.22  Свиток Caustics


в диалоговом окне Render Settings

Атрибут Multiplier управляет яркостью карты фотонов.


Атрибут Search Distance доступен только тогда, когда атрибут Auto search
dist выключен (off). Он позволяет задать расстояние поиска фотонов вруч-
ную. Имейте в виду, что это значение зависит от размера вашей сцены. Более
низкие значения ускорят визуализацию, но могут привести к более шумно-
му результату в изображении. Большие значения замедляют визуализацию,
но могут привести к более гладким результатам в глобальном освещении
и изобра­жении.
Атрибут Max Photons задает количество фотонов, которое будет принято
во внимание при аппроксимации освещенности в затененной точке. Больше
фотонов означает, что будет сформирован более мягкий (и более гладкий) ре-
зультат, а также может замедлить процесс визуализации. Меньшие значения
означают, что будет получен более шумный результат, но процесс визуали-
зации будет выполняться быстрее. Когда это значение равно 0, V-Ray будет
использовать все фотоны в заданном диапазоне поиска.
Глобальное освещение в V-Ray  667

Атрибут Max density позволяет ввести величину, ограничивающую раз-


решение и, следовательно, объем памяти, используемой фотонной картой.
Всякий раз, когда необходимо сохранить новый фотон в карте фотонов, про-
грамма системы визуализации сначала проверяет, есть ли другие фотоны на
расстоянии, заданном атрибутом Max density. Если в карте уже есть подходя-
щий фотон, V-Ray просто добавит энергию нового фотона к фотону, сохранен-
ному в карте. В противном случае V-Ray сохранит новый фотон в карте фото-
нов. Использование этой опции позволяет вам формировать много фотонов
(и, таким образом, получать более качественный результат), сохраняя размер
карты фотонов управляемым.
Группа атрибутов Mode предоставляет вам функции выбора и конфигура-
ции режимов визуализации глобального освещения на основе карт фотонов.
Раскрывающийся список Mode позволяет вам выбрать один из методов ра-
боты с картой фотонов. Когда выбран режим New Map, система визуализации
будет вычислять новую карту фотонов для каждого кадра в анимации. Если
выбран режим From File, то система визуализации будет обращаться к фай-
лу карты фотонов, сохраненному на жестком диске. Файлы карты фотонов не
включают данные о предварительной фильтрации. Предварительная филь-
трация выполняется, после того как карта фотонов будет загружена в память,
так что вы можете настроить ее без необходимости пересчитывать фотонную
карту.
Поле атрибута File Name позволяет ввести путь и имя файла карты фотонов,
если выбран режим From File.
Сохранить карту фотонов в файл можно с помощью кнопки Save. Помните,
что, для того чтобы файл карты фотонов был создан, вам необходимо устано-
вить флажок напротив атрибута Don’t delete в группе атрибутов On render end.
В противном случае карта фотонов будет удалена по завершению визуализа-
ции или перед началом визуализации следующего, и не будет сохранена.
Группа атрибутов On Render End определяет, что происходит с картой фото-
нов после завершения визуализации.
При включении атрибута Don’t delete (по умолчанию) карта фотонов оста-
ется в памяти после завершения визуализации. Отключите его, чтобы автома-
тически удалить карту фотонов (и, таким образом, очистить память).
Когда поставлен флажок напротив атрибута Auto save, карта фотонов будет
автоматически записана в указанный файл. Обратите внимание, что карта фо-
тонов будет записана, как только она будет рассчитана, а не при фактическом
окончании визуализации.
Поле Auto Save File позволяет задать путь и имя файла для сохранения кар-
ты фотонов.
Свиток Photon Map Advanced Parameters предоставляет расширенное управ-
ление картой фотонов и функциями фильтрации.
Prefilter – когда этот атрибут включен, образцы из карты фотонов фильтру-
ются перед началом процесса визуализации. Обратите внимание, что этот ме-
тод отличается от обычной фильтрации карты фотонов, которая происходит
во время визуализации. Предварительная фильтрация выполняется поочеред-
но, проверяя каждую выборку и модифицируя ее так, чтобы она представляла
среднее из заданного числа соседних выборок, таким образом, создавая набор
668  Камеры и освещение в V-Ray

точек в трехмерном пространстве вместе с вычисленным непрямым освеще-


нием в этих точках.
Атрибут Prefilter samples контролирует количество образцов, отобран-
ных во время предварительной фильтрации. Большие значения дают более
гладкие результаты, но могут быть медленнее в процессе вычислений; мень-
шие значения дают более шумный результат, но визуализация выполняется
быст­рее.
Когда атрибут Convex Hull Estimate выключен, V-Ray использует упрощен-
ный алгоритм для вычисления области, беря расстояние до самого дальнего
фотона и равномерно распределяя фотоны по области. Такой подход может
сделать углы геометрии темнее, чем ожидается. Когда этот атрибут включен,
больше фотонов излучается в темные области в углах геометрии, осветляя их.
Этот подход медленнее и не так надежен.
Когда значение атрибута Retrace threshold больше 0.0, вблизи углов геоме-
трии алгоритм визуализации вместо метода фотонной карты будет использо-
вать метод Brute Force. В таком случае становится возможным получить более
точный результат и избежать появления пятен в этих областях. Но это может
замедлить визуализацию. Когда это значение равно 0.0, метод карты фотонов
будет использоваться всегда, что будет быстрее, но может привести к появле-
нию артефактов вблизи углов геометрии или в местах, где объекты располо-
жены близко друг к другу.
Атрибут Retrace Bounces управляет количеством отражений света при по-
вторной трассировке углов. Если Retrace Corners равен 0.0, то этот атрибут бу-
дет проигнорирован. Обычно он должен быть равен величине, заданной атри-
бутом Bounces.
Фотонная карта не может имитировать вторичное освещение от небосвода. Фо-
тонная карта в основном полезна для сцен интерьеров с искусственным освеще-
нием или относительно небольшими окнами.

Каждый источник света V-Ray обладает свитком Photon Emission (рис. 6.7.23),
который предоставляет возможность индивидуальной конфигурации эффек-
та каустики, формируемого источниками света.

Рис. 6.7.23  Свиток Photon Emission


у источника света VRayLight

Атрибут Caustics Subdivs используется только во время вычисления эффек-


та каустики. Низкие значения формируют более шумный результат, но визуа-
лизация выполняется быстрее. Высокие значения формируют гладкие и менее
шумные результаты, но требуют больше времени на визуализацию.
Определить значение множителя яркости для формируемого источником
света эффекта каустики можно с помощью атрибута Caustics Multiplier. Пом-
ните, что данный множитель является кумулятивным, он не перезаписывает
Глобальное освещение в V-Ray  669

множитель, определяемый атрибутом Multiplier в глобальных настройках эф-


фекта каустики в Render Settings.
Помните, что атрибуты Photon Subdivs и Diffuse Multiplier больше не доступны
в источниках света и не отображаются в интерфейсе. Данные атрибуты были не-
обходимы алгоритму глобального освещения Photon Map GI, который в V-Ray
Next (V-Ray 4.X) был убран. Но они по прежнему остаются доступны через ввод
сценариев на MEL или Python.

Рис. 6.7.24  Пример визуализации эффекта каустики в сцене


с прозрачной поверхностью. Вверху – результат визуализации beauty-изображения,
внизу – результат визуализации элемента caustics

Рассмотрим небольшой пример формирования эффекта каустики от про-


ходящего через прозрачную преломляющую поверхность потока света. В при-
веденной на рис. 6.7.24 сцене была создана плоскость с изменением геометрии
на основе V-Ray Displacement и источник света V-Ray Light. Плоскость обладает
материалом с преломляющими и отражающими свойствами. Эффект каустики
в первую очередь формируется за счет преломляющих свойств поверхности.
Материалу было назначено свойство преломления с индексом преломления
1.6. Глобально множителю атрибута Multiply было присвоено значение 1.5.
На иллюстрациях A атрибуту Caustics Subdivs источника света было при­
своено значение 2000 фотонов, а в глобальных параметрах системы визуали-
зации были заданы следующие значения атрибутам: Search Distance = 12, Max
Photons = 256. Обратите внимание на то, что итоговый результат не обладает
670  Камеры и освещение в V-Ray

большой проработкой деталей в областях с узором каустики. При этом резуль-


тат обладает заметным шумом. Иллюстрации B атрибуту Caustics Subdivs было
присвоено значение 5000, атрибутам Search Distance и Max Photons были при-
своены значения 24 и 512 соответственно. Это уже обладает более гладким,
но в то же время детальным результатом, особенно в областях максимального
фокуса лучей света на поверхностях стены. Иллюстрация C демонстрирует ви-
зуализацию изображения с Caustics Subdivs = 7500 фотонов и Search Distance
= 32, Max Photons = 1024. В данном примере изображение получило высокую
детализацию эффекта каустики в мелких деталях, а также значительное сни-
жение шума, особенно в результирующем изображении элемента beauty.
В данной главе рассмотрены основные инструменты и методы работы с ка-
мерами и освещением в сцене и настройка V-Ray для визуализации освещения
в сцене. Применение разнообразных эффектов камеры и освещения позво-
ляет увеличить реализм визуализируемого изображения. На практике я реко-
мендую создавать заранее подготовленные шаблоны конфигураций как для
источников света, так и камер. Технически можно создать универсальный сце-
нарий, который будет создавать камеру со всеми свойствами камеры V-Ray,
а наборы Presets могут загружаться из внешнего файла.
Как показали исследования и тесты, наиболее оптимальной комбинацией
методов GI оказались методы Brute Force+Light Cache. Данные методы показа-
ли себя с хорошей стороны при визуализации анимации в сценах с большим
количеством деталей.
Глава 7
Вывод изображения
и композитинг

В этой главе вы узнаете о:


 подготовке сцены к визуализации;
 формате OpenEXR и представлении данных;
 конфигурации и выводе Render Elements;
 основах объединения Render Elements в V-Ray;
 сведении элементов в NUKE, Fusion, After Effects.
Данная глава выделена отдельно от всей структуры книги – в ней рассма-
тривается подготовка сцены к визуализации и вывод соответствующих дан-
ных в изображениях, в соответствующем формате. В своей практике я исполь-
зую формат OpenEXR – этот формат разработан специально для хранения всей
необходимой информации об изображении, а также позволяет добавлять соб-
ственные данные, например кинокамерой или системой визуализации, такой
как V-Ray for Maya.
Еще один из ключевых вопросов, которые часто возникают среди худож-
ников компьютерной графики, – как сводить и применять элементы изобра-
жения и можно ли получить аналогичный формируемому системой визуали-
зации результат. Здесь я приведу несколько примеров сведения элементов
изображения на этапе композитинга в ряде популярных приложений. Но для
корректного представления данных необходимо заранее продумать и подго-
товить сцену.

7.1. Подготовка сцены к визуализации


Во второй главе мы подробно рассмотрели основные инструменты визуали-
зации Maya. Для корректной визуализации и последующего композитинга
следует придерживаться важного правила – организовывать сцену и данные
в ней. Это существенно облегчает процесс подготовки сцены к визуализации,
так как впоследствии вы можете изменить положение объектов в сцене, осве-
щение и другие элементы.
Основная идея заключается в том, что вы должны заранее продумать, что вы
будете впоследствии сводить на этапе композитинга. Основным инструмен-
том работы над организацией сцены к визуализации являются Maya Render
672  Вывод изображения и композитинг

Layers и Maya Render Setup. В современной реализации систем визуализации


и принципов композитинга применение Maya Render Setup более выгодно.
Это обусловлено тем, что система Maya Render Setup позволяет определить
слои, данные сцены, расположенные в слоях, типы данных и определенные
атрибуты, которые изменяются от слоя к слою (рис. 7.1.1).

Рис. 7.1.1  Система Maya Render Setup позволяет организовать сцену


и определить типы данных, изменяемые в каждом из слоев

Если вы создаете несколько версий сцены (с различным освещением, мате-


риалами и текстурами), старайтесь организовать сцену таким образом, чтобы
все изменения выполнялись в едином пространстве, а затем отправляйте на
визуализацию тот вариант, который будет удовлетворять вас и вашего клиен-
та. В своей практике я часто прибегаю к использованию Maya Render Setup для
поиска образа, который будет утвержден и отправлен на финальную визуали-
зацию.
Ключевые параметры вывода информации о сцене и записи данных изобра-
жений в V-Ray выполняются с помощью вкладок Common и Render Elements.
Когда вы настраиваете сцену для визуализации и конфигурируете ее для ви-
зуализации с применением Render Elements, можно будет дополнительно вы-
полнить настройку записи данных и имен элементов изображения (рис. 7.1.2).
Подготовка сцены к визуализации  673

Рис. 7.1.2  Глобальные параметры для настройки Render Elements


в диалоговом окне Render Settings

Элементы изображения (Render Elements) – это способ разделить визу-


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

Элементы изображения формируются во время визуализации на основе тех


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

Список элементов изображения


Список элементов изображения, которые будут сформированы и сохранены
в процессе визуализации, может быть добавлен с помощью вкладки Render
Elements в диалоговом окне Render Settings и расположенных в ней списках
Avalable render elements и Added render elements (рис. 7.1.2). Список Available
render elements содержит все элементы изображения, поддерживаемые для
вывода с помощью ядра системы визуализации V-Ray for Maya. Список Added
render elements содержит элементы изображения, которые будет визуализи-
ровать V-Ray, когда активен слой (Render Layer). Обратите внимание, что мож-
но добавить несколько одинаковых элементов изображения.
Кнопка Add добавляет все выбранные вами в списке слева элементы изо-
бражения в сцену для визуализации. Чтобы быстро добавить элемент, вы мо-
жете просто дважды щелкнуть ПКМ по нему в списке слева. Кнопка Remove
удаляет выделенные элементы изображения из сцены. Это не тоже самое, что
просто отключить элемент изображения.
Кнопка Save сохраняет список элементов изображения в файле (*.mb) для
повторного применения или передачи его далее по конвейеру производ-
ства. С помощью кнопки Import вы можете импортировать список элементов
изобра­жения из файла, сохраненного ранее.

Атрибуты
С помощью флажка Enable/Disable All вы можете переключать состояние всех
элементов изображения одновременно. Когда флажок установлен, вы можете
изменять настройки состояния элемента индивидуально, в противном случае
все элементы не будут визуализироваться. Это влияет только на Production
Rendering. Флажок Enable/Disable All in IPR выполняет переключение со-
стояния всех добавленных в сцену элементов изображения одновременно, но
только в процессе IPR.
С помощью флажка Separate folders каждый элемент изображения будет
сохранен в отдельную папку на основе его имени. Когда атрибут Get name
from node активирован, V-Ray будет использовать имена узлов элементов
Подготовка сцены к визуализации  675

изображения при сохранении их в изображении или отдельных файлах. Это


позволяет пользователю называть элементы изображения непосредственно
на основе узлов элементов визуализации, а не только с помощью Attribute
Editor. С помощью флажка Separate RGBA вы можете указать V-Ray, чтобы
основной элемент RGBA был записан в индивидуальную директорию, если
установлен флажок напротив Separate folders.
Параметр Use referenced позволяет использовать элементы изображений
из ссылочных файлов (References).
Параметр Unfiltered fragment method определяет метод, при котором бу-
дут определены конечные значения для элементов изображения, где фильтра-
ция отключена (т. е. Z-Depth, Object ID и т. д.). Этот параметр не поддержива-
ется в V-Ray GPU.
 Best coverage – при выборе данного метода окончательные значения
для каждого пикселя элемента изображения берутся из объекта, кото-
рый имеет наибольший вклад в этот пиксель.
 Closest to camera – в данном методе окончательные значения для каж-
дого пикселя элемента изображения берутся из объекта, который нахо-
дится ближе всего к камере.
С помощью параметра Render element separator определяется символ раз-
делителя, используемый для создания имени файла элемента визуализируе­
мого изображения. Поддерживаются следующие символы: «.», «_», «-», без
символа.
Раскрывающийся список Deep merge mode управляет формированием
данных о глубине для изображений в форматах OpenEXR 2 и VRST. Обычно
с настройкой, выбранной по умолчанию – By render ID, – V-Ray объединя-
ет deep-фрагменты, которые принадлежат одному объекту в пикселе, чтобы
уменьшить размер данных о глубине, а также обеспечить идеальное разде-
ление различных объектов, если это необходимо для последующей обработ-
ки. Однако, когда у вас есть один единственный объект со сложной формой
(например, один узел VRayMesh, который представляет большую часть сцены),
это может привести к непредвиденным результатам, и поэтому вы можете из-
менить этот режим. Если вы установите режим слияния deep-фрагментов на
Z-Depth, это заставит V-Ray отделить deep-фрагменты на основе сходства их
значений в Z-Depth, а не от того, к какому объекту в сцене они принадлежат.
Атрибут Z-Depth для deep merge указывает, насколько близко должны быть
deep-фрагменты относительно размера пикселя, для того чтобы их объеди-
нить, что, по сути, позволяет вам контролировать точность и размер файла
deep-изображения. Но помните, что выбор режима не поддерживается V-Ray
GPU.
 By render ID – в данном режиме deep-фрагменты в пикселе объединя-
ются на основе того, к каким объектам они принадлежат (объекты раз-
личаются по их идентификаторам Render ID по мере их появления в эле-
менте изображения Render ID).
 By Z-Depth – deep-фрагменты в пикселе объединяются на основе сход-
ства их значений по глубине Z-Depth. Используйте параметр Deep merge
Z-Depth thresh, чтобы указать, насколько близкими должны быть фраг-
менты для их объединения.
676  Вывод изображения и композитинг

 None – deep-фрагменты в пикселе вообще не объединяются. Этот режим


сохраняет большую часть информации о выборке; каждый образец изо-
бражения хранится отдельно, и это обычно приводит к очень большим
файлам deep-изображений, поэтому его лучше использовать только тог-
да, когда другие режимы не дают удовлетворительных результатов.
 By render ID and Z-Depth – благодаря данному параметру deep-
фрагменты в пикселе объединяются, если они имеют одинаковый Ren-
der ID и находятся в пределах порога определенного параметром Deep
merge Z-Depth thresh. По своей сути это комбинация двух других режи-
мов. Режим By render ID позволяет точно извлекать маски, но для объек-
та со сложной формой он не различает перекрывающиеся части одного
и того же объекта. Метод By Z-Depth разделяет образцы в зависимости
от их глубины, но не позволяет формировать чистые маски. Комбини-
рованный режим разделяет deep points на основе Render ID и Z-Depth,
таким образом, решая обе проблемы одновременно.
Когда в качестве режима слияния deep-фрагмента выбран By Z-Depth, по-
рог, заданный атрибутом Deep merge Z-Depth thresh, определяет, насколь-
ко близко фрагменты должны быть для их объединения. Значение зависит от
размера пикселя. Значение 1.0 говорит о том, что фрагменты, которые нахо-
дятся внутри блока примерно размером с пиксель, будут объединены вместе.
Более низкие значения дают более точные данные о глубине, но могут приве-
сти к формированию файлов больших объемов. Более высокие значения дела-
ют данные о глубине менее точными, но могут сделать формируемые файлы
намного меньшими по объему. Значение 0.0 будет хранить каждый образец
изображения отдельно и настоятельно не рекомендуется. Этот параметр не
поддерживается ядром V-Ray GPU.
Когда включен параметр Exclude RGB from deep files, канал RGB не будет
включен в файлы deep-изображений. Этот параметр также не поддерживается
V-Ray GPU.
Как вы могли заметить, глобальная настройка элементов изображения
в V-Ray for Maya не сложна, но требует определенного внимания к определе-
нию имен и формированию данных. Так как на данный момент в индустрии
компьютерной графики широко применяется формат OpenEXR, перед под-
робным рассмотрением возможностей элементов изображений, поддержива-
емых V-Ray, я сконцентрирую внимание на возможности данного формата,
а начиная с подраздела 7.3, элементы изображений будут рассматриваться
в том контексте, что они были записаны в формате OpenEXR.

7.2. Формат OpenEXR и управление данными


Формат изображений и метаданных OpenEXR вам уже должен быть известен.
Данный формат используется в производстве высококачественной анимации,
визуальных эффектов для кино и рекламы, а также для организации больших
массивов данных, сопутствующих процессу создания сцен и эффектов в них.
Данный формат был разработан студией Industrial Light and Magick в процессе
создания серии фильмов «Звездные войны» (эпизоды I–III) и других блокбас­
Формат OpenEXR и управление данными  677

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


кодом и выложен на сайте в сети интернет1. В данном разделе представле-
но описание формата OpenEXR и его ключевых возможностей, заложенных
в него самими разработчиками. Практически все современные приложения
для компьютерной графики и системы визуализации поддерживают формат
OpenEXR.
OpenEXR является форматом растровых изображений, предназначенных
для высококачественной обработки и хранения больших объемов информа-
ции. Формат поддерживает высокий динамический диапазон с плавающей
точкой и распространяется с открытым исходным кодом.
Разработка формата OpenEXR началась в 1999 году в недрах студии Indus-
trial Light & Magic. Это формат файлов изображений с высоким динамическим
диапазоном для использования в производстве цифровых визуальных эф-
фектов. В начале 2003 года, после нескольких лет использования и улучшения
формата файлов, ILM выпустила OpenEXR в виде библиотеки C++ с открытым
исходным кодом. В 2013 году студии Weta Digital и ILM совместно выпустили
формат OpenEXR версии 2.0, в которой была добавлена поддержка deep images
и multi-part files.
Уникальная комбинация возможностей делает формат OpenEXR хорошим
выбором для высококачественной обработки и хранения изображений.
Высокий динамический диапазон (HDR). Данные о цвете пикселей хра-
нятся в виде 16-bit или 32-bit чисел с плавающей точкой. С помощью 16-bit
цвета динамический диапазон яркостей может быть представлен значительно
шире, чем диапазон большинства устройств захвата и вывода изображений.
Иными словами, 16-bit цвет позволяет хранить и воспроизводить яркости
в пределах 30 f-stops без потери точности и дополнительных 10 f-stops на гра-
ницах диапазона с некоторой потерей точности. Большинство 8-битных фор-
матов файлов воспроизводят яркости от 7 до 10 f-stops.
Хорошее цветовое разрешение. Благодаря числам 16-bit floating point
цветовое разрешение представлено 1024 шагами на каждый f-stop, что зна-
чительно превосходит количество в 20–70 шагов при использовании изобра-
жений в 8-bit форматах. Даже после значительной обработки, например об-
ширной коррекции цвета, на изображениях обычно не наблюдается заметных
цветовых искажений.
Компрессия данных с потерями и без потерь. В формате OpenEXR ис-
пользуется сжатие данных, чтобы уменьшить размер файлов изображений.
Большинство доступных методов сжатия без потерь; многократное сжатие
и распаковка изображения не изменяет данные пикселей. При использовании
методов сжатия без потерь фотографические изображения со значительным
количеством зернистости пленки имеют тенденцию сжиматься примерно до
35–55 % от их объема без сжатия. OpenEXR также поддерживает сжатие с по-
терями, которое имеет тенденцию уменьшать файлы изображений больше,
чем сжатие без потерь, но не сохраняет данные изображения с высокой точ-
ностью.

1 Официальный сайт проекта OpenEXR в сети интернет доступен по адресу https://


www.openexr.com/.
678  Вывод изображения и композитинг

Произвольные каналы изображения. Изображения в формате OpenEXR


могут содержать произвольное количество и комбинацию отдельных каналов
изображения, например красный, зеленый, синий и альфа-каналы, дополни-
тельные каналы яркости и цветности с частотой дискретизации, а также спе-
циальные каналы глубины, направления нормалей поверхности или векторы
движения.
Изображения типов scan-line и tiled, изображения с различным раз-
решением. Пиксели в изображении формата OpenEXR могут быть сохранены
в виде scan-lines или tiled. Файлы tiled обеспечивают произвольный доступ
к прямоугольным подобластям изображения. Несколько версий изображения
типа tiled, каждое с разным разрешением, можно сохранить в одном фай-
ле OpenEXR с несколькими разрешениями. Изображения с множественным
разрешением, часто называемые «mipmaps» или «ripmaps», в программах
3D-визуализации, таких как V-Ray, обычно используются в качестве текстур-
ных карт для ускорения фильтрации изображений при загрузке текстурных
карт или для таких операций, как сопоставление стереоизображений. Изобра-
жения типа tiled с различным разрешением также полезны для реализации
быстрого масштабирования и панорамирования в программах, которые в ин-
терактивном режиме отображают очень большие изображения (например,
в видовых окнах проекций).
Хранение нескольких видов. Файлы формата OpenEXR могут хранить изо-
бражения нескольких видов, которые показывают одну и ту же сцену с разных
точек наблюдения. Распространенным приложением является стереоизобра-
жение (3D Stereo), где вид сцены для левого глаза и для правого глаза хранится
в одном файле.
Изображения с сохранением глубины (deep images). Формат OpenEXR
может хранить информацию о глубине пикселей (deep images) в таких изобра-
жениях, где каждый пиксель содержит произвольно длинный список значе-
ний или выборок в каждом канале. В компьютерной графике приложения для
изображений с сохраненной глубиной включают, например, простой и точ-
ный композитинг объектов, которые перекрывают друг друга таким образом,
что затрудняют композицию из-за сложения плоских изображений, или почти
не подверженные артефактам размытие движения и обработку изображений
операции с эффектом глубины резкости.
Многокомпонентные файлы. Файлы в формате OpenEXR могут содержать
несколько независимых изображений или частей с различными наборами ка-
налов изображений, разрешений и методов сжатия данных. Файлы, состоящие
из нескольких компонентов/частей, полезны, когда изображение содержит
большое количество каналов, но приложения, читающие файлы, как ожида-
ется, будут читать только определенное подмножество этих каналов одновре-
менно. Помещение каждого такого подмножества в отдельную часть ускоряет
чтение файла, поскольку каналы, которые не нужны приложению, обращаю-
щемуся к файлу, никогда не будут доступны.
Возможность хранить дополнительные данные. Часто необходимо ан-
нотировать изображения дополнительными данными, например информаци-
ей о синхронизации цвета, данными отслеживания процесса или положением
камеры и направлением взгляда наблюдателя. Формат OpenEXR позволяет
Формат OpenEXR и управление данными  679

хранить произвольное количество дополнительных атрибутов произвольного


типа в файле изображения. Программное обеспечение, которое читает файлы
OpenEXR, игнорирует атрибуты данных, которые оно не поддерживает и не
может прочесть.
Простые в использовании интерфейсы программирования на C++ и C.
Чтобы облегчить запись и чтение файлов в формате OpenEXR, данный формат
был разработан вместе с программным интерфейсом для языка C++. Предус-
мотрено два уровня доступа к файлам изображений: полностью общий интер-
фейс для записи и чтения файлов с произвольными наборами каналов изо-
бражений и специализированный интерфейс для наиболее распространенных
случаев представления каналов (красный, зеленый, синий и альфа-каналы или
некоторое подмножество). Кроме того, версия интерфейса программирования
с поддержкой языка C поддерживает чтение и запись файлов OpenEXR из про-
грамм, написанных на C. Многие прикладные программы ожидают, что файлы
изображений будут сканироваться на основе строк и будут едины. С помощью
API OpenEXR, приложения, которые не могут обрабатывать изображения типа
tiled или deep, могут обрабатывать все файлы OpenEXR, как если бы они были
типа scan-line и были едиными. Интерфейс автоматически преобразует об-
ласти tiles в scan-lines и выравнивает глубину пикселей. Интерфейсы C и C++
реализованы в библиотеке IlmImf, доступной с открытым исходным кодом.
Быстрое чтение и запись файлов с поддержкой многопоточности. Би-
блиотека IlmImf поддерживает многопоточное чтение или запись файлов изо-
бражений в формате OpenEXR: один поток выполняет низкоуровневый ввод
или вывод файла, несколько других потоков одновременно кодируют или де-
кодируют отдельные части файла.
Переносимость. Формат OpenEXR не зависит от аппаратного обеспечения
и операционной системы. При реализации интерфейсов программирования C
и C++ была предпринята попытка использовать только функции языка и функ-
ции библиотек, соответствующие стандартам ISO C и C++.

Стандартные изображения и изображения


с глубиной пикселей
Flat-изображение содержит одно сохраненное значение или выборку на канал
цвета в пикселе. Рассмотрим пример. Наиболее распространенным случаем
является RGB-изображение, которое содержит три канала (красный, зеленый
и синий), и каждый пиксель имеет ровно один красный, один зеленый и один
синий образец цвета. Некоторые каналы во flat-изображении могут быть под-
вергнуты дополнительной выборке, как в случае с изображениями с яркостью
и цветностью, где канал яркости (luminance) имеет выборку в каждом пикселе,
но каналы цветности имеют выборки только в каждом втором пикселе каждой
второй строки развертки.
Изображение с сохранением глубины пикселей (deep image) может хранить
неограниченное количество выборок на пиксель, и каждый из этих образцов
связан с глубиной или расстоянием от наблюдателя. Все каналы в одном пик-
селе имеют одинаковое количество выборок, но количество выборок варьиру-
680  Вывод изображения и композитинг

ется от пикселя к пикселю, и допускается любое неотрицательное количество


выборок, включая нулевое значение.

Части, изображения, файлы типов Single-Part и Multi-Part


В файле OpenEXR часть общего изображения (part) представляет собой от-
дельное изображение, состоящее из заголовка и массива пикселей. Файл, со-
стоящий из одной части, содержит только одну часть. Файл, состоящий из
нескольких частей, содержит две или более части, каждая из которых имеет
собственный заголовок и соответствующие пиксели. Изображение – это набор
всех каналов в одной части. Изображения в файле из нескольких частей в зна-
чительной степени независимы друг от друга; файл может содержать смесь
flat-изображений и изображений с глубиной пикселей (deep images).
Изображения с сохранением глубины пикселей и изображения, состоящие из не-
скольких частей (multi-part images), были добавлены в OpenEXR в версии 2.0.
Файлы в формате OpenEXR 2.0, содержащие flat-изображения, полностью совме-
стимы с форматом файлов OpenEXR 1.7. Программное обеспечение, в котором
не реализована поддержка OpenEXR 2.0, может читать эти файлы, а программ-
ное обеспечение с реализованной поддержкой OpenEXR 2.0 может читать любой
файл до версии 2.0. Однако файлы, содержащие информацию о глубине пикселей
или несколько частей, не имеют обратной совместимости.

Заголовки и атрибуты
Каждая часть изображения, сохраненная в файле OpenEXR, имеет заголовок.
Заголовок представляет собой список атрибутов, которые описывают пиксе-
ли сохраненные в части изображения. Атрибут – это name-value, где name – это
текстовая строка, а value – элемент произвольного типа данных. Например,
каждый заголовок включает в себя атрибут, имя которого "pixelAspectRatio",
а значение представляет собой число с плавающей точкой, которое сообщает
приложению, как отображать соответствующее изображение с правильным
соотношением сторон.

Пространство пикселя, окно отображения и окно данных


Pixel Space (пространство пикселей) – это двумерная система координат, где x
увеличивается слева направо (ширина), а y – сверху вниз (высота). Пиксели –
это образцы данных (для flat-изображений) или списки образцов данных (для
deep images), которые расположены в точках с целочисленными координата-
ми в pixel space.
Границы изображения OpenEXR в области просмотра задаются в виде па-
раллельной оси прямоугольной области в pixel space. Окно области просмотра
определяется позициями пикселей в верхнем левом и нижнем правом углах.
Изображение в формате OpenEXR может не иметь данных о пикселях для
всех пикселей в display window или может иметь данные о пикселях за преде-
лами области display window. Область, для которой доступны данные пиксе-
Формат OpenEXR и управление данными  681

лей, определяется вторым параллельным оси прямоугольником в простран-


стве пикселей (pixel space) в data window.
В этом документе запись (Xmin, Ymin) – (Xmax, Ymax) используется для описания
верхнего левого и нижнего правого углов, находящихся в (Xmin, Ymin) и (Xmax,
Ymax) соответственно.
Рассмотрим небольшой пример. Предположим, что мы создаем фильм
с разрешением кадра 1280×720 пикселей. Область display window всех кадров
фильма находится в диапазоне (0, 0)–(1279, 719). Для большинства изображе-
ний, в частности готовых кадров, которые будут отправлены клиенту, область
data window такая же, как область display window, но для некоторых изображе-
ний, которые используются при создании готовых кадров, область data window
отличается от display window.

Рис. 7.2.1  Пример отображения границ data window


и границы display window для изображения в формате HDV 720p

Для изображения, которое будет подвергаться сильной постобработке, за-


писываются дополнительные пиксели за пределами области display window,
и data window устанавливается к значениям (–100, –100)–(1289, 729). Допол-
нительные пиксели обычно не отображаются, но их наличие позволяет выпол-
нять такие операции, как размытие с большим радиусом ядра или имитация
дрожания камеры, чтобы избежать артефактов по краям изображения. (Чтобы
вычислить цвет пикселя около границы display window, алгоритм размытия
должен учитывать пиксели за пределами области display window.)
При настройке сформированного компьютером элемента изображения
художник неоднократно воспроизводит один и тот же кадр. Чтобы сэконо-
мить время, художник отображает только небольшую область интереса рядом
с центром изображения. Окно data window может быть задано координатами
(150, 270)–(750, 660). Когда изображение отображается, программа воспроиз-
ведения заполняет область за пределами окна данных некоторым цветом, за-
данным по умолчанию.
682  Вывод изображения и композитинг

Рис. 7.2.2  Пример области data window,


ограничивающей рабочую область изображения
и повышающую производительность в процессе постобработки

Каналы изображений и количество образцов


Каждое изображение, сохраненное в формате OpenEXR, содержит один или
несколько каналов изображения. Каждый канал обладает собственным име-
нем, типом данных и количеством образцов по осям x и y.
Имя каналов является текстовой строкой, например "R", "Z" или "yVelocity".
Имя сообщает программам читающим файл, как интерпретировать данные
в канале. Для нескольких каналов, например "R", "G", "B" и "A", интерпретация
данных предопределена библиотекой IlmImf, но интерпретация каналов с дру-
гими именами зависит от прикладного программного обеспечения.
Тип данных соответствующих значений в пикселях определен типом дан-
ных канала. Формат OpenEXR поддерживает три типа данных канала:
 HALF – 16-разрядные двоичные числа с плавающей точкой в соответ-
ствии со стандартом IEEE 754-2008. Используется для обычных данных
изображения;
 FLOAT – 32-разрядные двоичные числа с плавающей точкой в соответ-
ствии со стандартом IEEE 754-2008. Используется, когда диапазон или
точность 16-битных чисел недостаточны, например каналы глубины
(ZDepth);
 UINT – 32-разрядные целые числа без знака. Используется для дискрет-
ных данных на пиксель, таких как идентификаторы объектов.
Количество образцов x и y для канала sx и sy определяет, для каких пиксе-
лей в data window данные будут сохранены в файле. Данные для пикселя в ко-
ординатах pixel space (x, y) сохраняются только в том случае, если x mod sx = 0
и y mod sy = 0. (Обозначение относится к остатку от целочисленного деления x/y.)
Рассмотрим пример. Для изображений RGBA данные всех каналов равны 1,
и каждый канал содержит данные для каждого пикселя. Для других типов изо-
бражений некоторые каналы могут быть семплированы. В изображениях с од-
Формат OpenEXR и управление данными  683

ним каналом яркости и двумя каналами цветности будет 1 для канала яркости,
но 2 для каналов цветности, что указывает на то, что данные цветности при-
сутствуют только в каждом втором пикселе каждой второй строки развертки.

Ограничения на количество образцов


Каналы с образцами по x или y, отличные от 1, разрешены только во flat-изобра­
жениях на основе строк (scan-lines). Если же изображение относится к типам
deep images или tiled, то образцы x и y для всех каналов данного изображения
должны быть равны 1.

Проекция, координатная система камеры и область экрана


Многие изображения создаются с применением перспективной проекции. Мы
предполагаем, что камера расположена в начале координатной системы вир-
туальной 3D-камеры, точка 0. Камера смотрит вдоль положительной оси z. По-
ложительные оси x и y соответствуют направлениям камеры «влево» и «вверх».
Трехмерная сцена проецируется на плоскость z = 1. Изображение, записанное
камерой, ограничено прямоугольником области screen window. В простран-
стве пикселей screen widnow соответствует области display window изображе-
ния. В файле размер и положение screen window определяются координатами
x и y, а также центром области C и шириной окна W. Высота экрана может быть
получена из величин C, W, display window и pixel aspect ratio.

Рис. 7.2.3  Общая схема проекции трехмерной сцены


на плоскость изображения и области display window

Pixel Aspect Ratio


Соотношение сторон пикселя изображения – это соотношение dx /dy, где рас-
стояние положения между точками pixel space (x, y) и (x + 1, y) и dy является рас-
684  Вывод изображения и композитинг

стоянием между точками pixel space (x, y) и (x, y + 1). На дисплее изображение
отображается с правильным соотношением сторон, т. е. когда ширина, делен-
ная на высоту отображаемого изображения, соответствует заданной.
Например, изображение с display window (0, 0)–(1919, 1079) предназначено
для отображения с соотношением сторон 16:9. Изображение имеет пропор-
ции пикселя 1.0. Если изображение с тем же data window предназначено для
отображения с соотношением сторон 2.35:1, тогда его соотношение пикселей
составит 1.322.

Scan Lines
В изображениях на основе scan-lines пиксели сохранены в горизонтальных
строках или линиях построчной развертки. Изображение, область данных ко-
торого представлена как (xmin, ymin) – (xmax, ymax), содержит строки, равные вы-
ражению xmax – xmin + 1. Каждая строка содержит количество пикселей, опреде-
ленное выражением ymax – ymin + 1.
Помните о том, что изображения типа scan-line не могут являться изображе-
ниями типа multi-resolution.

Tiles
В изображениях типа tiled данные в data window подразделяются на массив не-
больших прямоугольников, именуемых tiles. Каждый из таких прямоугольни-
ков содержит количество пикселей, равное px на py. Изображение, data window
которого определено (xmin, ymin) – (xmax, ymax), содержит

(7.2.1)

по отношению к

(7.2.2)

– прямоугольные области, где ширина и высота области данных определена


выражениями

w = xmax – xmin + 1

h = ymax – xmin + 1,

и обозначение [x] относится к верхнему пределу x, т. е. самое низкое целое


число не меньше определенного x.
Верхний левый угол верхней левой прямоугольной области выровнен
с верхним левым углом области данных (data window) в точке (xmin, ymin). Край-
ний правый столбец и нижний ряд прямоугольных областей могут выходить
за пределы области data window. Если прямоугольная область содержит пиксе-
Формат OpenEXR и управление данными  685

ли, которые находятся за пределами области данных, то эти лишние пиксели


отбрасываются, когда прямоугольная область сохраняется в файле.

Рис. 7.2.4  Расположение областей tiled-изображения,


содержащих информацию о пикселях

Уровни и режимы уровней


Одна прямоугольная область в файле OpenEXR может содержать несколько
версий одного и того же изображения, каждое с разным разрешением. Каждая
версия называется уровнем (Level). Количество уровней в части и их разреше-
ние зависят от режима уровня части (Part Level Mode). OpenEXR поддерживает
три типа Level Modes:
 ONE_LEVEL – часть изображения содержит только один уровень полного
разрешения изображения. Изображению с прямоугольными областями
присваивается тип ONE_LEVEL, что делает его эквивалентным изобра-
жению типа scan-line; единственное отличие состоит в том, что пиксели
доступны по прямоугольной области, а не по линии сканирования;
 MIPMAP_LEVELS – часть изображения содержит несколько версий.
Каждый последующий уровень – это половина разрешения предыдуще-
го уровня в обоих измерениях. Самый низкий уровень разрешения со-
держит только один пиксель.
Например, если первый уровень с полным разрешением содержит 16×8
пикселей, то файл содержит еще четыре уровня с 8×4, 4×2, 2×1 и 1×1 пик-
селями соответственно;
 RIPMAP_LEVELS – схож с MIPMAP_LEVELS, но данный тип с большим
количеством уровней. Уровни включают все комбинации уменьшения
разрешения первого уровня в степени 2 независимо в обоих измерениях.
Рассмотрим пример. Если уровень полного разрешения содержит 4×4 пик-
селя, то часть изображения содержит еще восемь уровней со следующими раз-
решениями:
2×4 1×4
4×2 2×2 1×2
4×1 2×1 1×1
686  Вывод изображения и композитинг

Значения уровней, размеры уровней и Rounding Mode


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

(7.2.3)

по отношению к

пикселей, (7.2.4)

где rf(x) – функция округления, зависящая от режима округления размера


уровня:
 ROUND_DOWN |x| (основание x, наиболее цельное число не выше x);
 ROUND_UP |x| (предел x, наименьшее цельное число не ниже x).
Итак, части, чей режим уровня определен как MIPMAP_LEVELS, содержат только
уровни, где lx = ly. Части, в которых режим уровня определен как ONE_LEVEL, со-
держат только уровень (0, 0).
Например, уровни в части, определенной типом RIPMAP_LEVELS, чей уровень
с самым высоким разрешением содержит 4×4 пикселя, имеют следующие но-
мера:

Таблица 7.1. Номера уровней изображения


с наибольшим разрешением 4×4 пикселя
Ширина
4 2 1
4 (0, 0) (1, 0) (2, 0)
Высота 2 (0, 1) (1, 1) (2, 1)
1 (0, 2) (1, 2) (2, 2)

В эквивалентной части MIPMAP_LEVELS присутствуют только уровни (0, 0), (1, 0)


и (2, 2).
В части MIPMAP_LEVELS с наивысшим уровнем разрешения 15×17 пикселей раз-
решения остальных уровней зависят от режима округления размера уровня:
ROUND_DOWN 15×17, 7×8, 3×4, 1×2, 1×1
ROUND_UP 15×17, 8×9, 4×5, 2×3, 1×2, 1×1

Координаты прямоугольных областей


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

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

Виды
Виды (Views) – это набор каналов изображения, идентифицируемых соглаше-
нием об именах и атрибутом заголовка. Обычно они используются для хра-
нения стереографических файлов с одним представлением для каждого гла-
за (левый, правый). Для flat-изображений виды могут храниться в отдельных
файлах, в отдельных частях одного файла или вместе в одной части. Для deep
images представления могут храниться в отдельных файлах или отдельных
час­тях одного файла, но не могут храниться вместе в одной части.

Реализация OpenEXR в V-Ray и NUKE


Система визуализации V-Ray поддерживает практически все возможности
OpenEXR и позволяет записывать необходимые данные согласно требовани-
ям для последующего этапа композитинга и постобработки. Особе внимание
можно уделить тому, что V-Ray позволяет записывать данные как по одно-
му слою изображения, так и многоканальные и многокомпонентные изобра-
жения. Также V-Ray for Maya поддерживает визуализацию и запись данных
в формате deep images, что позволяет существенно улучшить качество обра-
ботки изображений на этапе композтинга и моделировать различные эффек-
ты на основе объемных данных.
В главе 2 в разделе 2.3 я подробно описал поддерживаемые V-Ray возмож-
ности формата OpenEXR, в частности методы компрессии и поддерживаемые
форматы записи данных. В данном подразделе я покажу, как NUKE читает
данные, сохраненные V-Ray по окончании процесса визуализации. Для при-
веденных в данной главе примеров была создана сцена и визуализирована
с несколькими элементами визуализации.
На рис. 7.2.5 приведен пример подготовленных к визуализации элементов
изображения (V-Ray Render Elements) и результат вывода информации, сохра-
ненной в файле OpenEXR в NUKE с помощью узла ViewMetaData. Приложение
для композитинга NUKE удобно тем, что оно превосходно оперирует данны-
ми, которые могут быть сохранены в файле формата OpenEXR, а также коррек-
тно представляет данные о слоях и каналах.
Еще одно приложение, которое может быть полезно для работы, – специ-
альное приложение для просмотра видео, секвенций кадров и статичных изо-
бражений – mrViewer. Это достаточно популярное приложение, позволяющее
просматривать секвенции кадров в различных форматах. Оно также поддер-
живает чтение и отображение информации об атрибутах и метаданных, запи-
санных в OpenEXR (рис. 7.2.6).
688  Вывод изображения и композитинг

Рис. 7.2.5  Элементы визуализации, выбранные в Render Setup,


и отображение информации об атрибутах и метаданных файла OpenEXR в NUKE
с помощью узла ViewMetaData. Строка с данными об элементах выделена
в Properties Window

Рис. 7.2.6  Приложение mrViewer позволяет выполнять просмотр секвенций кадров


и отображает всю записанную в файле формата OpenEXR информацию об атрибутах,
слоях и каналах

В окне Media Information приложения mrViewer вы можете узнать подробно-


сти о файле и записанных в нем данных. Оно превосходно подходит для чте-
ния атрибутов, которые сохранены в процессе записи файла системой визуа-
Формат OpenEXR и управление данными  689

лизации или другим приложением, которое поддерживает запись метаданных


в качестве атрибутов OpenEXR. Обратите внимание на то, что V-Ray записы-
вает данные, которые соответствуют определенным атрибутам вир­туальных
камер, а также некоторую техническую информацию, которая может быть по-
лезна для анализа и последующего композитинга. В качестве примера я при-
веду листинг сохраненных в атрибуте данных о каналах изображения, которые
представляют элементы изображения.
# Если в одном файле сохранено несколько элементов, то запись будет представлена следующим
образом:
{
"shadow":{"alias":105,"index":9,"flags":8200},
"reflGloss":{"alias":135,"index":8,"flags":4},
"rawGI":{"alias":110,"index":6,"flags":8200},
"lighting":{"alias":107,"index":3,"flags":8200},
"rawLight":{"alias":111,"index":5,"flags":8200},
"Alpha":{"alias":125,"index":1,"flags":16389},
"RGB color":{"alias":126,"index":0,"flags":16385},
"GI":{"alias":108,"index":4,"flags":8200},
"reflect":{"alias":102,"index":7,"flags":8200},
"diffuse":{"alias":101,"index":2,"flags":8196}
}
# Если в одном файле сохранен только один элемент (один канал), то запись будет
представлена следующим образом:
A:{2 0 1 1},B:{2 0 1 1},G:{2 0 1 1},R:{2 0 1 1}
Далее ключи представленных в данном листинге записей будут описаны
подробнее. Именно благодаря им V-Ray выполняет запись информации о со-
храненных в файле данных об элементах. Помимо этого, благодаря удобной
системе создания и редактирования атрибутов в них удобно хранить допол-
нительную информацию. Так, на рис. 7.2.6 вы также можете видеть атрибуты,
отвечающие за информацию о камере и ее свойствах, а V-Ray добавляет мета-
данные с технической информацией о визуализируемом кадре и ядре визуа-
лизации, а также о компьютере, на котором выполнялась визуализация.
{exr/cameraAperture 25.6}
{exr/cameraFNumber 2.8}
{exr/cameraFarClip 1e+30}
{exr/cameraFarRange 1e+18}
{exr/cameraFocalLength 14.1729}
{exr/cameraFov 80.9368}
{exr/cameraNearClip 0}
{exr/cameraNearRange 0}
{exr/cameraProjection 0}
{exr/cameraTargetDistance 1e+18}
{exr/cameraTransform
0.679441,0,-0.73373,0,0.723455,0.166769,0.669926,0,0.122363,-
0.985996,0.11331,0,3060.77,3572.08,-78.2382,1}
{exr/channels
"A:\{2 0 1 1\},B:\{2 0 1 1\},G:\{2 0 1 1\},R:\{2 0 1 1\}"}
{exr/compression 0}
{exr/compressionName none}
690  Вывод изображения и композитинг

{exr/dataWindow 0,0,1364,719}
{exr/displayWindow 0,0,1364,719}
{exr/lineOrder 0}
{exr/pixelAspectRatio 1}
{exr/screenWindowCenter 0,0}
{exr/screenWindowWidth 1}
{exr/type scanlineimage}
# Дополнительные метаданные, сохраненные V-Ray после окончания визуализации
и предоставляющие дополнительную информацию о системе, а также о ядре V-Ray
{exr/vrayInfo/camera <unknown>}
{exr/vrayInfo/computername W2-T}
{exr/vrayInfo/cpu INTEL/P3Xeon(MA)}
{exr/vrayInfo/date 2020/Jan/8}
{exr/vrayInfo/filename /scenes/LIMERANCE_2019_RERENDER_MODEL_V1_S055.mb}
{exr/vrayInfo/frame 01080}
{exr/vrayInfo/h 720}
{exr/vrayInfo/mhz 0MHz}
{exr/vrayInfo/os Linux}
{exr/vrayInfo/peakMemory "5135.02 MiB"}
{exr/vrayInfo/primitives 0}
{exr/vrayInfo/ram 31872MB}
{exr/vrayInfo/renderlayer defaultRenderLayer}
{exr/vrayInfo/rendertime " 2h 14m 31.8s"}
{exr/vrayInfo/scenename LIMERANCE_2019_RERENDER_MODEL_V1_S055}
{exr/vrayInfo/time 18:12:44}
{exr/vrayInfo/vmem 32000MB}
{exr/vrayInfo/vraycore 4.12.01}
{exr/vrayInfo/vrayversion "Version of V-Ray for Maya Next"}
{exr/vrayInfo/w 1365}
Информация о камере, экспортируемая в качестве метаданных, может со-
держать размер диафрагмы, ширину кадра/матрицы, фокусное расстояние,
дальнюю и ближнюю плоскости ограничения/отсечки и др. Данная информа-
ция может быть полезна на этапе композитинга в процессе работы с материа-
лом, полученным после съемки на реальную кино- или видеокамеру.
Помните, что V-Ray не записывает данные элементов одного класса. Для коррект-
ной визуализации сцены со всеми необходимыми элементами вам необходимо
заранее проработать этап композитинга и необходимые данные, которые будут
выведены системой визуализации. Это обусловлено тем, что многие данные могут
быть не использованы вообще, процесс визуализации большого количества эле-
ментов может занять больше времени, а объем, занимаемый на жестком диске,
будет большой.

Чтобы лучше разобраться с форматом записи метаданных, рассмотрим струк-


туру файла формата OpenEXR. Файл состоит из одной или нескольких областей
(частей). Каждая часть имеет заголовок и соответствующий массив пикселей.

Заголовок
Заголовок (header) представляет собой список атрибутов, которые описыва-
ют изображение, сохраненное в определенной области. Чтобы гарантировать
Формат OpenEXR и управление данными  691

то, что файлы формата OpenEXR, записанные одной программой, могут быть
прочтены и открыты другими программами, в каждом заголовке должны при-
сутствовать определенные обязательные атрибуты (табл. 7.2).

Таблица. 7.2. Список имен атрибутов и их описание


Имя атрибута Описание
displayWindow, Определение областей display window и data window для изображения
dataWindow
pixelAspectRatio Соотношение сторон пикселя изображения
channels Описание каналов изображения, хранящихся в изображении
compression Определяет метод компрессии, применяемый к данным пикселей всех
каналов, сохраненных в изображении. Подробнее о методе
компрессии в OpenEXR описано в разделе 2.3 главы 2 данной книги
lineOrder Указывает, в каком порядке строки в файле scan-line хранятся в файле
(увеличение Y, уменьшение Y или, для мозаичных изображений, также
случайное Y)
screenWindowWidth, Описывает перспективную проекцию, из которой получено
screenWindowCenter изображение. Программы, которые работают с изображениями как
с чисто двумерными объектами, могут не иметь возможности
генерировать описание перспективной проекции. Эти программы
должны установить атрибут screenWindowWidth равным 1,
а screenWindowCenter равным (0, 0)
tiles Этот атрибут требуется только для tiled flat или tiled deep изображений.
Он определяет размер прямоугольных областей, режим округления
размера уровня и режим уровня изображения

В файлах типов multi-part и deep images дополнительные атрибуты должны


присутствовать в заголовке каждой области, как это представлено в табл. 7.3.

Таблица. 7.3. Список имен атрибутов и их описание для изображений типов


multi-part и deep image
Имя атрибута Описание
Название прямоугольной области\части. Имена областей должны быть
name уникальными, то есть никакие две части в файле не могут иметь одно
и то же имя
Тип изображения, хранящегося в области\части.
Возможны четыре типа:
scanlineimage Flat, scan-line based
type
tiledimage Flat, tiled
deepscanline Deep, scan-line based
deeptile Deep, tiled
Этот атрибут автоматически добавляется к файлам формата deep
image, и его значение устанавливается библиотекой IlmImf при записи
файла. Атрибут указывает максимальное количество выборок в любом
отдельном пикселе в изображении. Приложение может использовать
maxSamplesPerPixel это число, чтобы сделать выделение памяти более эффективным для
обработки изображения. Если максимальное количество выборок
невелико, тогда приложение может выделить такое количество
выборок для каждого пикселя, таким образом делая макет изображе-
ния в памяти более регулярным путем устранения многих указателей
692  Вывод изображения и композитинг

В дополнение к обязательным атрибутам в заголовки прикладное про-


граммное обеспечение может помещать любое количество дополнительных
атрибутов. Часто необходимо добавить к изображению дополнительные дан-
ные, например информацию о цветовых пространствах, данные отслеживания
процесса работы над изображением или положение камеры и направление
взгляда наблюдателя. Эти данные могут быть упакованы в виде дополнитель-
ных атрибутов в заголовке изображения. Это вы видели в приведенных выше
листингах и рис. 7.2.5 и 7.2.6.

Ограничения на значения атрибутов


Если файл OpenEXR относится к типу multi-part, части не являются полностью
независимыми. Значения атрибутов displayWindow и pixelAspectRatio должны
быть одинаковыми для всех частей в файле. Например, невозможно иметь
одну часть изображения с соотношением сторон пикселя 1.0 и другую часть
с соотношением сторон пикселя 1.5. Кроме того, если заголовки содержат
атрибуты timeCode и chromaticities, значения этих атрибутов также должны
быть одинаковыми для всех частей в файле.

Scan-Line-изображения
Когда изображение типа scan-line записано, приложение должно установить
атрибут lineOrder в заголовке файла в порядке INCREASING_Y (первая строка ска-
нирования) или в порядке DECREASING_Y (сначала строка сканирования). Затем
приложение должно записать строки в заданном порядке. Когда файл типа
scan-line считывается, возможен произвольный доступ к строкам; строки мо-
гут быть прочитаны в любом порядке. Однако чтение строк в том же порядке,
в котором они были записаны, приводит к тому, что файл читается последова-
тельно, без операций поиска и максимально быстро.
Обратите внимание, что атрибут lineOrder не влияет на ориентацию систе-
мы координат в pixel space. Порядок координат Y в pixel space всегда увели-
чивается сверху вниз. Атрибут lineOrder определяет только то, как строки рас-
положены в файле.

Прямоугольные области
Когда приложение записывает или читает изображение типа tiled, к прямо-
угольным областям можно обращаться в любом порядке. Когда файл типа
tiled записан, приложение должно установить атрибут lineOrder. Библиотека
IlmImf может буферизовать и сортировать плитки, в зависимости от настрой-
ки атрибута lineOrder и порядка, в котором они приходят. При чтении tiled-
изображения приложение может избегать операции поиска и считывать файл
максимально быстро, последовательно читая области в порядке их появления
в файле.
Для файлов типа tiled порядок строк интерпретируется следующим образом
(табл. 7.4):
Формат OpenEXR и управление данными  693

Таблица 7.4. Интерпретация порядка строк в изображениях типа tiled


Порядок строк Описание
Прямоугольные области (tiles) для каждого уровня хранятся в непрерывном
блоке. Уровни упорядочиваются аналогично следующему методу:
(0, 0) (1, 0) … (nx – 1, 0)
(0, 1) (1, 1) … (nx – 1, 1)

(0, ny – 1) (1, ny – 1) … (nx – 1, ny – 1),
где
nx = rf(log2(w)) + 1,
ny = rf(log2(h)) + 1,
если в качестве режима уровня файла выбран RIPMAP_LEVELS, или
INCREASING_Y nx = ny= rf(log2(max(w, h)) + 1,
если в качестве режима уровня выбран MIPMAP LEVELS, или
nx = ny = 1,
если в качестве режима уровня выбран ONE_LEVEL.
На каждом уровне прямоугольной области хранятся в следующем порядке:
(0, 0) (1, 0) … (tx – 1, 0)
(0, 1) (1, 1) … (tx – 1, 1)

(0, ty – 1) (1, ty – 1) … (tx – 1, ty – 1),
где tx и ty – количество прямоугольных областей в соответствующих для
конкретно этого уровня направлениях x и y
Уровни упорядочены аналогично тому, как для INCREASING_Y, но на каждом
уровне прямоугольные области хранятся в следующем порядке:
DECREASING_Y (0, ty – 1) (1, ty – 1) … (tx – 1, ty – 1)

(0, 1) (1, 1) … (tx – 1, 1)
(0, 0) (1, 0) … (tx – 1, 0)
Когда файл записывается, прямоугольные области не сортируются; они
RANDOM_Y хранятся в файле в том порядке, в котором они были созданы прикладным
приложением

Компрессия данных
Формат OpenEXR предлагает несколько различных методов компрессии дан-
ных с различными соотношениями скорости и степени сжатия. При желании
информация и данные пикселей могут храниться в несжатом виде. В быстрых
файловых системах несжатые файлы могут быть записаны и прочитаны зна-
чительно быстрее, чем сжатые файлы.
Если вы используете операционную систему семейства Linux, при установке вы-
бирайте файловую систему XFS, изначально разработанную компанией Silicon
Graphics для своей операционной системы IRIX. В дальнейшем исходный код
файловой системы XFS был опубликован, а дальнейшей разработкой стала руко-
водить компания Red Hat. Данная файловая система обеспечивает высокую ско-
рость чтения/записи данных и поиск информации, что важно в работе с медиа-
данными.
694  Вывод изображения и композитинг

Сжатие изображения методом без потерь (lossless) сохраняет изображение


точно; данные пикселей не изменяются. Сжатие изображения методом ком-
прессии с потерями (lossy) сохраняет изображение только приближенно; сжа-
тое изображение выглядит как оригинал, но данные в пикселях могут немного
измениться. В файле типа multi-part метод компрессии может быть выбран от-
дельно для каждой части. Подробнее методы компрессии, доступные в V-Ray
for Maya и OpenEXR, описаны в главе 2, разделе 2.3.

Яркость/цветность изображений
Выполнение кодирования flat-изображений с одним каналом яркости и двумя
каналами цветности, а не в виде данных RGB обеспечивает простую, но эф-
фективную форму сжатия данных с потерями, которая не зависит от методов
сжатия, перечисленных в главе 2. Каналы цветности могут быть сохранены
с более низким разрешением, чем канал яркости. Это приводит к значительно
меньшим размерам файлов с небольшим снижением качества изображения.
Специализированный интерфейс RGBA в библиотеке IlmImf напрямую поддер-
живает чтение и запись изображений в виде яркость/цветность. Когда при-
кладное приложение записывает изображение, оно может выбрать формат
RGB или luminance/chroma. Когда изображение с данными для яркости/цвет-
ности считывается, библиотека автоматически преобразует пиксели обратно
в RGB.
Для данных linear RGB яркость Y вычисляется как взвешенная сумма R, G
и B:

Y = R×WR + G×WG + B×WB, (7.2.5)

где значения коэффициентов весов WR, WG и WB выводятся из цветности ос-


новных цветов изображения и точки белого.
Информация о цвете сохраняется в двух каналах, RY и BY, которые вычис-
ляются следующим образом:

(7.2.6)

(7.2.7)

Каналы RY и BY могут быть отфильтрованы по нижним частотам и семпли-


рованы без существенного ухудшения исходного изображения. Интерфейс
RGBA в IlmImf использует частоту выборки по вертикали и горизонтали, равную
2. Несмотря на то что полученные изображения типа luminance/chroma содер-
жат только половину данных, они обычно не выглядят заметно отличающи-
мися от исходных изображений RGB.
Преобразование данных RGB в формат luminance/chroma также позволяет
экономить пространство для хранения изображений типа gray-scale. Только
канал Y должен быть сохранен в файле. Каналы RY и BY могут быть отброше-
ны. Если оригинал уже является изображением типа gray-scale, т. е. красный,
зеленый и синий каналы цвета каждого пикселя равны, то сохранение только
Формат OpenEXR и управление данными  695

канала Y сохраняет изображение точно; канал Y не является субдискретизиро-


ванным, а каналы RY и BY содержат только нули.

Тип данных HALF


Каналы изображения типа HALF хранятся в виде 16-разрядных двоичных чи-
сел с плавающей запятой с однобитным знаком, 5 экспоненциальными би-
тами и 10 битами мантиссы. Тип данных в 16-bit с плавающей точкой реали-
зован как класс C++, половина которого была разработана для максимально
возможного поведения как стандартные типы данных с плавающей запятой,
встроенные в язык C++. В арифметических выражениях числа типа HALF могут
свободно объединяться с числами с плавающей точкой и двойными числами;
в большинстве случаев преобразования в и из половины происходят автома-
тически.
Тип данных HALF в OpenEXR предшествует стандарту IEEE 754-2008 на не-
сколько лет, но он полностью совместим со стандартом, за исключением окру-
гления. Формат OpenEXR реализует только режим «округление до ближайше-
го, привязка к четному».

Рекомендации
Опирающиеся на линейные значения цвета в сцене изображения. По
соглашению OpenEXR сохраняет относящиеся к сцене линейные значения
в числах с плавающей точкой, которые представляют цвета RGB. Под этим
мы подразумеваем, что значения каналов красного, зеленого и синего цве-
тов в пикселях являются линейными относительно количества света в изо-
браженной сцене. Это подразумевает, что отображение изображения требует
некоторой обработки для учета нелинейного отклика типичного устройства
отображения. В простейшем виде это функция мощности для выполнения
гамма-коррекции, но обработка может быть более сложной. Например, может
потребоваться применить «film look» или уменьшить динамический диапазон
исходного изображения перед его отображением. Храня линейные данные
в файле (удвоение числа, удвоение света на сцене), мы получаем лучшую от-
правную точку для этих и последующих алгоритмов.
После установления этих линейных отношений остается вопрос: какое чис-
ло белое? Соглашение, используемое OpenEXR, состоит в том, чтобы опре-
делить средний серый объект и присвоить ему фотографическое 18%-ное
значение серого или 0.18 в схеме с плавающей точкой. Отсюда можно легко
определить другие значения пикселей (яркость f-stop равна 0.36, другой f-stop
равен 0.72). Значение 1.0 не имеет особого значения (это не предел ограниче-
ния, как в других форматах); он приблизительно отражает свет, исходящий от
100 % отражателя (немного ярче, чем белая бумага). Однако существует много
ярких значений пикселей, доступных для представления таких объектов, как
огонь и блики.
Диапазон нормализованных 16-bit чисел с плавающей точкой может пред-
ставлять 30 f-stops информации с 1024 шагами на f-stop. У нас 18.5 f-stopʼs
выше среднего серого и 11.5 – ниже. Денормализованные числа обеспечива-
696  Вывод изображения и композитинг

ют дополнительные 10 f-stops на нижнем конце с постепенно снижающейся


точностью.
RGB Color. Простого вызова красного канала R недостаточно для точного
определения цвета, представленного данным значением пикселя. Библиотека
IlmImf определяет атрибут «цветности», который задает координаты CIE x, y
для основных (красного, зеленого и синего) цветов, а также для белого цве-
та – т. е. для троек RGB (1, 0, 0), (0, 1, 0), (0, 0, 1) и (1, 1, 1). Координаты x, y всех
возможных троек RGB могут быть получены из атрибута chromaticities. Если
основные цвета и белая точка для данного дисплея известны, преобразова-
ние цвета из файла в дисплей может быть правильно выполнено. Библиоте-
ка IlmImf не выполняет это преобразование; это оставлено для программного
обеспечения, выполняющего функцию display. Атрибут chromaticities являет-
ся необязательным, и многие программы, которые записывают OpenEXR, его
опускают. Если файл не имеет атрибута цветности, программное обеспечение
дисплея должно предполагать, что основные цвета файла и белая точка соот-
ветствуют стандарту Rec. ITU-R BT.709-3:
CIE x, y
red 0.6400, 0.3300
green 0.3000, 0.6000
blue 0.1500, 0.0600
white 0.3127, 0.3290
CIE XYZ Color. В файле формата OpenEXR, пиксели которого представляют
значения трехцветного сигнала CIE XYZ, компоненты X, Y и Z пикселей долж-
ны храниться в каналах R, G и B файла. Заголовок файла должен содержать
атрибут chromaticities со следующими значениями:
CIE x, y
red 1, 0
green 0, 1
blue 0, 0
white 1/3, 1/3
Имена каналов. Изображение OpenEXR может иметь любое количество
каналов с произвольными именами. Специализированный графический ин-
терфейс RGBA в библиотеке IlmImf предполагает, что каналы с именами R, G, B
и A означают красный, зеленый, синий и альфа. Никакое предопределенное
значение не было назначено никаким другим каналам. Однако для нескольких
названий каналов разработчики рекомендуют интерпретации, приведенные
в двух таблицах ниже. Мы ожидаем, что эта таблица со временем будет расти,
так как пользователи используют OpenEXR для таких данных, как карты теней,
motion-vector fields или изображения с более чем тремя каналами цвета.

Таблица. 7.5. Имена каналов, их интерпретация и описание


Имя Интерпретация
Для изображений типа flat
Яркость, используемая отдельно для полутоновых изображений или в сочетании
Y
с RY и BY для цветных изображений
RY, BY Цветность для изображений яркости/цветностий, см. выше
Формат OpenEXR и управление данными  697

Таблица 7.5 (окончание)


Имя Интерпретация
Красный, зеленый и синий альфа/непрозрачность каналы для цветных масок
AR, AG, AB (требуется для правильного композитинга изображений объектов, таких как
цветное стекло)
Для изображений типа deep
Z Расстояние от передней плоскости образца до зрителя
ZBack Расстояние от задней плосокости образца до зрителя
A Альфа/непрозрачность образца
R, G, B Значения красного (R), зеленого (G) и синего (B) цвета образца
Красный, зеленый и синий альфа/непрозрачность каналы образца. Требуется
AR, AG, AB для представления изображений таких объектов, как цветное стекло, а также
для вычисления цветных теней
Числовой идентификатор объекта, представленного образцом. Образцы,
id
принадлежащие одному объекту, имеют одинаковый числовой идентификатор

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


но сгруппировать каналы в слои, т. е. в наборы каналов, которые логически
связаны друг с другом. Группировка выполняется с использованием соглаше-
ния об именах: канал C на уровне L называется L.C.
Рассмотрим небольшой пример. Изображение, приведенное на рис. 7.2.8,
содержит отдельные каналы R, G и B для глобального освещения, сформиро-
ванного алгоритмами GI в V-Ray. Каналы в таком изображении могут назы-
ваться GI.R, GI.G, GI.B, rawGI.R, rawGI.G, rawGI.B и т. д.

A B C

Рис. 7.2.8  Отображение слоев, каналов


и каналов яркости/цветности в NUKE
698  Вывод изображения и композитинг

Слои могут быть вложенными. Имя в форме L1.L2.L3 … Ln.C означает, что
слой L1 содержит вложенный слой L2, который в свою очередь содержит другой
вложенный уровень L3 и т. д. для уровня Ln, который содержит канал C.
Например, light1.specular.R идентифицирует канал R в подуровне specular слоя
light1. Хочу обратить ваше внимание на то, что это соглашение об именах не опи-
сывает порядок наложения элементов и изображений друг на друга или какие-
либо операции композитинга для объединения слоев в конечное изображение.

Цвет, альфа-канал и композитинг flat-изображений


Операция «over» для изображений типа flat создает новое композитное изо-
бражение путем наложения изображения с переднего плана и фонового изо-
бражения так, чтобы изображение переднего плана находилось перед фоно-
вым изображением.
Каналы A, AR, AG и AB во flat-изображении представляют альфа-канал пик-
селя или непрозрачность: 0.0 означает (transparent), что пиксель является про-
зрачным; 1.0 означает, что пиксель непрозрачный (opaque).
По договоренности цветовые каналы пикселя непосредственно представ-
ляют количество света, которое достигает зрителя от этого пикселя (в отличие
от количества света, которое сначала нужно приумножить на величину альфа).
С этим представлением вычисляем:

composite = foreground + (1 – alpha)×background, (7.2.8)

что выполняет корректную операцию «over».


Это цветовое представление обычно называют premultiplied color. Некото-
рые другие форматы файлов изображений используют представление, назы-
ваемое straight или un-premultiplied color, где операция «over» требует вычис-
ления согласно уравнению:

composite = alpha×foreground + (1 – alpha)×background. (7.2.9)

Определение цветовых каналов как premultiplied не означает, что значения


цвета в изображении фактически умножались на величину альфа в некоторой
точке во время создания изображения или что пиксели с нулевыми значения-
ми альфа и ненулевыми значениями каналов цвета являются недопустимыми.
Ненулевой цвет с нулевым значением альфа разрешен; такой пиксель пред-
ставляет объект, который излучает свет, даже если он полностью прозрачен,
например пламя свечи или блик линзы.
В индустрии визуальных эффектов предварительно умноженные каналы
цвета являются нормой, и пакеты композитинга и обработки изображений
обычно используют внутренние представления изображений, которые также
предварительно умножаются.
Тем не менее некоторые приложения имеют внутреннее представление
изображения со straight-цветом. Поскольку пиксели с нулевым альфа-кана-
лом и ненулевым цветом могут встречаться и встречаются в изображениях
OpenEXR, прикладные приложения со straight-цветовыми каналами должны
избегать отбрасывания информации о цвете в пикселях с нулевым альфа-ка-
налом. После считывания изображения OpenEXR такое приложение должно
Формат OpenEXR и управление данными  699

преобразовать пиксели в straight-цвет путем деления цветовых каналов по


значению альфа. Это деление не выполняется, когда альфа равна нулю. При-
кладное программное обеспечение может устанавливать все цветовые кана-
лы на ноль, где альфа-канал равен нулю, но это может изменить изображение
необратимым образом. Например, полностью прозрачное пламя на вершине
свечи просто исчезнет и не сможет быть восстановлено.
Если внутреннее представление straight в приложении использует 32-bit
числа с плавающей точкой, то одним из способов решения этой проблемы мо-
жет быть установка значения альфа на максимум (h, alpha) перед делением,
где очень маленькое, но положительное значение (должно быть степенью двух
и меньше половины наименьшего положительного 16-bit значения с плаваю-
щей точкой). Таким образом, результат деления становится четко определен-
ным, и деление можно отменить позже, когда изображение будет сохранено
в новом файле OpenEXR. В зависимости от приложения могут быть другие спо-
собы сохранить информацию о цвете в пикселях с нулевым альфа-каналом.

Теория OpenEXR Deep Samples


Данный раздел посвящен введению в представление данных о глубине, со-
храняемых в формате deep images. Он основан на работе Питера Хиллмана
(Peter Hillman) из студии Weta Digital. Данный раздел представляет методы
для разделения и объединения двух неплотных образцов одинаковой глуби-
ны и толщины. Их следует использовать в алгоритмах «сглаживания» deep-
изображений для вычисления комбинированного цвета двух образцов1.

Определения
r – отношение длины исходного образца к подобразцу: 0 ≤ r ≤ 1.
Ci – цвет образца i.
C¢i – цвет подобразца i.
αi – величина альфа образца i.
α¢i – величина альфа подобразца i.
Ti – прозрачность/рассеивание образца i: Ta = 1 − αa.
ci – цвет на единицу длины («мгновенный цвет») i.
ti – прозрачность на единицу длины («мгновенная прозрачность») i.
Индексы a и b относятся к поступающим образцам; индекс c относится
к комбинированному формируемому на выходе образцу.

Рис. 7.2.9  Свет проходит через несколько объектов слева направо.


Каждый объект ослабляет долю t света

1 Формулы определены в документе «Interpreting OpenEXR Deep Pixels» за авторством


Флориана Кайнца (Florian Kainz, Industrial Light & Magic). Этот документ представ-
ляет эти формулы и предназначен только для информации. Документ вы можете
найти в директории _MATERIAL/OpenEXR в дополнительных материалах к книге.
700  Вывод изображения и композитинг

Модель образца
Многие операции, связанные с композитингом deep-изображений, требуют
подразделения выборки на две подвыборки или же обрезки выборки в задан-
ной точке. Когда это происходит, значение альфа подвыборки должно быть
пересчитано, и цвет также изменится. Чтобы вывести уравнение для вычис-
ления нового значения альфа, необходимо учитывать количество света, осла-
бленного каждым подобразцом.
Свет, проходящий через поглощающий его объект, будет ослабляться в со-
ответствии с прозрачностью t объекта. Таким образом, если i – количество
света, поступающего на объект, то свет, покидающий объект, определяется
выражением

o = t × i. (7.2.10)

Там, где свет проходит через два объекта, как показано на рис. 7.2.9, свет
ослабляется дважды (выход первого подается на второй), что определено вы-
ражением

o = t2 × (t1 × i); (7.2.11)

o = i × tn, (7.2.12)

где t2 и t1 – рассеивание отдельных выборок. В общем, если рассеивание t всех


объектов одинаково, свет, выходящий из n соседних образцов, определяется
законом Бера–Ламберта:

(7.2.13)

где Т – общее рассеивание. Если t считается рассеиванием на единицу длины,


а n – длиной, уравнение является непрерывным, применяемым также для не-
целых значений n1.

Альфа или прозрачность


Изображения в формате OpenEXR используют альфа-канал α вместо про-
зрачности. T = 1 − α: если α = 1 (тогда T = 0), тогда весь свет будет поглощать-
ся; если же α = 0 (T = 1), тогда весь свет рассеивается и материал становится
прозрачен. Подстановка T в (7.2.10) и (7.2.11) выполняет операцию screen
com­positing:

αc = 1 – (1 – α1)×(1 – α2), (7.2.14)

где αc является комбинацией значений альфа α1 и α2 двух образцов. В разделе


T предпочтительнее, чем там, где более простые уравнения.

1 Существуют различные формы закона Бера–Ламберта, использующие разные конс­


танты. Например, o = i × 10—εlc, где ε и c – способность к молярной абсорбции и кон-
центрация соответственно. Это эквивалентно уравнению (7.2.13), если t = 10—εc
и l = n.
Формат OpenEXR и управление данными  701

Вычисление t
Образцы в изображениях OpenEXR хранят α всего образца. Это дает нам пол-
ное рассеивание T образца, а не передачу на единицу длины t. Перестановка
(7.2.13) дает

t = T –n. (7.2.15)

Свойства образцов
Ниже приведены допущения, сделанные на основе приведенных здесь формул.
 Образцы имеют постоянную оптическую плотность и цвет. Если
образец имеет длину n и подвыборку a, длина n¢ извлекается из него,
то RGBA-цвет подвыборки будет тем же самым независимо от того, где
в образце он извлекается. В частности, если образец разделен на k под-
выборкам равной длины, каждая подвыборка будет иметь тот же цвет
RGBA.
 Затухание образца не рассеивается и не зависит от пикселей. Свет,
проходящий через образец, либо поглощается, либо пропускается. Он
не отражается вниз образца и не рассеивается в соседние образцы. То-
чечные источники света формируют рассеивание, которое проявляется
в виде помутнения при прохождении через туман, а также стремится сде-
лать вид тумана более оптически плотным, чем это есть на самом деле,
так как деталь теряется очень быстро, даже если свет проходит и рас-
сеивается. Этот эффект не моделируется volumetric samples в OpenEXR
и должен быть аппроксимирован путем включения рассеянного света
в объем или применен в качестве последующей обработки. Поскольку
профиль затухания света в пикселе не будет соответствовать уравнению
Бера–Ламберта (7.2.13), для создания модели пикселя необходимо ис-
пользовать дополнительные выборки.
 Поведение образца не зависит от единицы измерения и масшта-
ба. Если образец разделен на k подвыборок равной длины, то масшта-
бирование каналов глубины zfront и zback deep-изображения не изменит
цвет выборок. При объединении двух deep-изображений, если предва-
рительное масштабирование глубины каждого изображения выполня-
ется на ту же величину, результат масштабирования глубины от слияния
изображений идентичен слиянию исходных изображений. Это свойство
масштабирования позволяет использовать любую единицу измерения
для сохранения глубины, а единицу измерения можно изменить путем
масштабирования каналов глубины без изменения каналов RGBA.
 Поведение образца не зависит от позиции. Перемещение образца
в глубину не изменит значений RGBA, полученных путем его разделе-
ния. Если длина образца составляет десять единиц, а из него извлекает-
ся два образца, то этот образец будет иметь одинаковые значения RGBA
независимо от положения в глубине образца. Сдвиг двух изображений
путем добавления константы c к каналам глубины каждого изображения
с последующим их объединением идентичен объединению исходных
изображений с последующим смещением результата.
702  Вывод изображения и композитинг

 Неразрушающее разделение образцов. Используя полученные здесь


уравнения, образцы пикселя могут быть произвольно подразделены.
Повторное объединение подвыборок с операцией перекомпоновки даст
цвет RGBA исходного образца (при условии достаточной числовой точ-
ности).

Подразделение образцов
АЛЬФА И ПОДВЫБОРКА Значение альфа α¢ для подвыборки должно быть
вычислено, когда подвыборка длины n¢ извлекается из исходной выборки дли-
ны n.

Рис. 7.2.10  Пример модели для образца с цветом и альфа.


Серый прямоугольник – светопоглощающий материал с прозрачностью t;
красные точки – источники света, каждый из которых имеет цвет c

Общее рассеивание T¢ = tn¢. Подстановка для t, вычисленного для всей длины


выборки с использованием уравнения (7.2.15), дает:

T¢ = (T –n)n¢; (7.2.16)

Здесь n относится к длине (lenght) исходного образца, но в OpenEXR образцы


задаются с фронтальной и задней глубиной. Таким образом, если выборка T
с фронтальной и задней глубинами zfront и zback разделена в пространстве в точ-
ке z, рассеивание T¢ фронтальной подвыборки определяется выражениями:

(7.2.17)

(7.2.18)
Поскольку (z – zfront)/(zback – zfront) является отношением длины исходной вы-
борки к длине выделенной выборки, для остатка мы можем заменить это от-
ношение на r. Это эквивалентно рассмотрению деления выборки на единицу
длины.
ЦВЕТ ПОДРАЗДЕЛЕННОГО ОБРАЗЦА Образец с информацией RGB модели-
руется как цилиндр. Альфа-канал(-ы) образца представлен нерассеивающим
абсорбирующим материалом, который ослабляет свет, проходящий через об-
разец. Цветовой канал(-ы) образца представлен бесконечным количеством
источников света, которые излучают цветной свет (но ничего не поглощают)
с одинаковыми интенсивностями c, равномерно распределенными по образ-
цу, как показано на рис. 7.2.10.
Источник света на расстоянии х в образец будет ослаблен количеством по-
глотителя между ним и передней частью образца. Согласно уравнению Бера–
Ламберта полное рассеивание этой части образца t определяется как:
Формат OpenEXR и управление данными  703

T¢ = Tx; (7.2.19)
α¢ = 1 – (1 – α)x. (7.2.20)

Свет, который достигает фронтальной поверхности образца от отдельного ис-


точника света на расстоянии x, равен cT x. Если бы у нас было конечное число ис-
точников N, общий свет, достигший фронтальной поверхности образца, был бы

7.2.21
где k/N – положение источника света k, равное x. Когда N стремится к беско-
нечности, уравнение принимает вид:

7.2.22

Значение C – это значение цвета RGB для образца, хранящееся в изображе-


нии OpenEXR. Изменение порядка (7.2.23) дает нам цвет каждого источника
света (или, возможно, «мгновенный цвет» образца):

(7.2.23)

(7.2.24)

Если весь образец уменьшается до длины подразделенного образца r, вклю-


чается только подраздел источников света, и мы должны вычислить новый
цвет C¢ RGB для подразделенного образца. Следовательно,

(7.2.25)

Подстановка для c из выражения (7.2.24) дает:

(7.2.26)

Отмечая, что T – 1 = −α и T r − 1 = T¢ − 1 = −α¢ и умножая верх и низ на –1, по-


лучаем:

(7.2.27)

Это в точности эквивалентно предварительному умножению цвета на ис-


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

ПОДРАЗДЕЛЕНИЕ ПРОЗРАЧНЫХ ОБРАЗЦОВ Когда α = 0 (или как альтерна-


тива T = 1), уравнение (7.2.27) требует деления на ноль. Особый случай получен
для α = 0. Пример модели на рис. 7.2.10 с цветом, предоставленным многими
источниками света, все еще применяется, но затухания нет. Поэтому каждый
источник света вносит одинаковый вклад в наблюдаемый цвет C. «Мгновен-
ный» цвет равен конечному цвету (при условии, что длина образца нормиро-
вана к 1):

(7.2.28)

C = c. (7.2.29)

Подраздел C¢ длины r имеет вид:

(7.2.30))

C¢ = rC.

То есть если α = 0, то масштабирование длины выборки на величину r мас-


штабирует цвет на ту же величину.
ОБЪЕДИНЕНИЕ ОБРАЗЦОВ Теперь рассмотрим объединение двух образцов
a и b вместе. Эта операция необходима при «приведении в порядок» списка
образцов глубины, что важно, перед тем как приравнять deep-изображение
к обычному. Разработчики предполагают, что zfront a = zfront b и zback a = zback b, по-
этому длины каждого образца одинаковы, и они полностью перекрываются
в пространстве. Если это не так, образцы следует подразделить, и эти подраз-
деленные образцы объединить отдельно, как описано в документе «Interpre­
ting OpenEXR Deep Samples».
Опять же используется образец модели, приведенной на рис. 7.2.10. Однако
в каждом положении теперь есть два источника света – ca и cb, – и свет осла-
бляется – как ta, так и tb. Мы можем рассматривать это как ослабление сначала
tb, затем ta, поэтому общий свет, достигающий конца образца:

cc = (ca + cb)(TaTb). (7.2.31)

Подставляя в (7.2.23) и затем заменяя на ca и cb из (7.2.24), получаем:

(7.2.32)
Формат OpenEXR и управление данными  705

Умножение обеих частей верхней строки на –1 формирует:

(7.2.33)

Обратите внимание, что объединенное рассеивание задается как Tc = TaTb,


подразумевая, что результат объединения альфа соответствует уравнению
screen compositing (7.2.14). Подставляя в верхнюю и нижнюю части уравнения
(7.2.32), получаем формулу для окончательного цвета:

(7.2.34)

Это предварительно умноженный комбинированный цвет. Для неумножен-


ного цвета член ac может быть опущен. Это дает средневзвешенное значение
передачи неумноженных поступающих цветов.
ОБЪЕДИНЕНИЕ В СЛУЧАЕ, КОГДА ОДИН ОБРАЗЕЦ ПРОЗРАЧЕН Теперь
предположим, что один из образцов (скажем, b) не имеет альфа, поэтому αb = 0
и Tb = 1. Из уравнения (7.2.29) cb = Cb. Объединенный цвет Cc ослабляется в со-
ответствии с Ta, передачей одного, и объединенный цвет задается как

cc = (ca + cb)(Ta)x, (7.2.35)

и подстановка в уравнение (7.2.23) дает:

(7.2.36)

ОБЪЕДИНЕНИЕ ДВУХ ПРОЗРАЧНЫХ ОБРАЗЦОВ Там, где оба образца про-


зрачны, цвета просто складываются вместе:

Cc = Ca + Cb. (7.2.37)

ОБЪЕДИНЕНИЕ ПЛОТНЫХ ОБРАЗЦОВ Для численной устойчивости мы


должны дать разумное значение для Cc, когда αb = 1. Уравнение (7.2.34) не
определено, поскольку log(1 – αb) = log(0) = −∞. Мы следуем исходной модели
источников света в поглощающем материале, но теперь поглощающий ма-
териал поглощает весь свет. Таким образом, мы должны наблюдать только
его ближайший источник света (при x = 0) в твердом образце. Образец будет
поглощать свет от других своих источников. Таким образом, мы можем рас-
сматривать b как бесконечно тонкий «дискретный» образец в передней части
образца, который будет блокировать весь свет позади него; мы можем просто
составить b над a. Следовательно, если αb = 1 и αa < 1, общий наблюдаемый цвет
будет Cb. Перемещение a и b дает Cc = Ca, если αa = 1.
706  Вывод изображения и композитинг

Следуя приведенным выше определениям, когда αa = 1 и αb = 1, тогда Cc =


Ca + Cb. Однако для стабильности имеет смысл определить:

(7.2.38)

При случайной ошибке выборки в канале глубины (deep channel) этот под-
ход дает более стабильные результаты. Предположим, что глубина фронталь-
ного образца A несколько отличается от глубины фронтального образца B, так
что za = δ + zb. Будет виден только фронтальный образец: если δ < 0, то Cc = Ca;
если δ > 0, то Cc = Cb. Установка Cc = Ca + Cb, когда δ = 0, дает изображение, кото-
рое (потенциально) в два раза ярче. Если δ – случайный шум, проявляющийся
из-за выборки, мы получим случайную комбинацию ярких пикселей всякий
раз, когда δ = 0. Использование среднего цвета кажется более безопасным ва-
риантом. Однако это не является ассоциативным: при объединении трех твер-
дых выборок d, e и f не дает тот же результат, что и при объединении первых
d, e и f, затем объединение результата с f.
Чтобы отсечь образец диапазона покрытия zfront – zback обратно в подразде-
ленный образец zfront – z, необходимо извлечь из выборки длину l¢ и l:

(7.2.39)

Вам может показаться, что приведенная в данном подразделе информация


сложна для понимания, но на самом деле нет. Уравнения позволяют понять,
как работает система композитинга, такая как NUKE, с загружаемыми с по-
мощью OpenEXR данными. Это теория, вслед за которой следует практика.
Для книги была специально подготовлена модель и выполнена визуализа-
ция с помощью V-Ray for Maya. Рассмотрим основы работы с Deep OpenEXR
в V-Ray и NUKE.

Реализация Deep OpenEXR в V-Ray и NUKE


Чтобы выполнить визуализацию deep-изображений в V-Ray, необходимо ука-
зать, что запись данных должна выполняться в формат Deep OpenEXR. Это мо-
жет быть выполнено простым выбором формата файла в глобальных парамет­
рах V-Ray во вкладке Common в диалоговом окне Render Settings. На рис. 2.3.4
в главе 2 приведено диалоговое окно V-Ray Output Image Options, в котором
выполняется конфигурация формата изображения. Так, когда выбран формат
Deep OpenEXR, можно выбрать формат записи данных об образцах глубины,
как будут представлены данные об alpha и color.
При конфигурации Render Elements также можно выбрать, будет ли элемент
записан в формате deep-image. Это позволяет существенно оптимизировать
объем файла и распределить назначение определенных элементов изобра­
жения.
Формат OpenEXR и управление данными  707

Рис. 7.2.11  Отображение deep-image в NUKE.


Обратите внимание на то, что камера использует те же координаты, что в Maya

В NUKE работа с deep-изображениями выполняется с помощью инструмен-


тов, сосредоточенных в группе Deep, в панели инструментов. По своей сути,
вы работаете с данными о глубине и можете оперировать полученными в про-
цессе визуализации образцами в трехмерном пространстве NUKE. В 2D Viewer
изображение будет представлено в виде стандартного scan-line изображения.
Но когда вы создадите камеру, сцену и загрузите данные из deep-image, про-
грамма выполнит визуализацию геометрии в 3D Viewer. На рис. 7.2.12 приве-
ден простой пример графа, позволяющего выполнить визуализацию данных
из deep-image в NUKE.
Чтобы отобразить данные из Deep OpenEXR-изображения в NUKE, необхо-
димо импортировать изображение с помощью узла DeepRead, далее, создав ка-
меру (узел Camera), сцену (узел Scene), их необходимо объединить, после чего
с помощью узла DeepToPoints предоставить ядру визуализации NUKE данные
об образцах и цвете. Источник света Light может быть использован как инстру-
мент для дополнительного освещения. Следующий узел – ядро визуализации,
которое выполняет обработку всех данных и формирует 2D-изображение.
708  Вывод изображения и композитинг

Рис. 7.2.12  Граф узлов,


используемый для визуализации данных из Deep OpenEXR

Познакомившись с теорией формата OpenEXR, в следующем разделе мы


переходим к непосредственному знакомству с функциями и алгоритмами
смешивания изображений и элементов изображений на этапе компози­
тинга.

7.3. V-Ray Render Elements и процесс композитинга


В данном разделе я подробно рассматриваю все основные элементы изобра-
жения, доступные в V-Ray for Maya, а также представляю основные алгоритмы
их объединения между собой. Ряд элементов отвечает за окончательный вид
сцены, а ряд специализированных, технических элементов – за оптимизацию
и управление изображением. Большинство элементов обладает идентичным
набором атрибутов, но несколько из них обладает богатым функционалом, ко-
торый мы рассмотрим отдельно.
Как было сказано выше, элементы изображения являются способом раз-
бивать визуализируемое изображение на составляющие его части, такие как
диффузный цвет, отражения, тени, маски и т. д. Это дает прекрасный контроль
над конечным изображением при использовании приложений композитин-
га или редактирования изображений для повторного объединения отдельных
элементов.
Формируемые элементы изображения отображаются в V-Ray Frame Buffer
и могут быть просмотрены благодаря раскрывающемуся списку в верхнем ле-
V-Ray Render Elements и процесс композитинга  709

вом углу диалогового окна VFB. Элементы изображения могут быть сохранены
во многие распространенные форматы графических файлов напрямую из VFB.
Элементы изображения формируются во время процесса визуализации на
основе выбранных вами в глобальных параметрах системы визуализации.
Большинство элементов изображения имеет параметры, которые можно на-
страивать для дальнейшего содействия процессу композитинга. Эти параме-
тры описаны для каждого уникального элемента изображения наряду с общим
использованием и любыми примечаниями по их формированию и использо-
ванию.
Ядро визуализации V-Ray поддерживает интерфейс Maya Render Elements.
Однако сам V-Ray предоставляет свои собственные элементы визулизации
и не поддерживает стандартные элементы визуализации, реализованные
в Maya. Поэтому стандартные элементы Maya Render Elements не будут рабо-
тать с V-Ray, и наоборот.
Список элементов изображения, поддерживаемых V-Ray, можно найти
ниже, в подразделе «Список поддерживаемых элементов изображения». Все
элементы изображения поддерживают родные материалы V-Ray. Некоторые
элементы изображения также поддерживают стандартные материалы Maya,
что также указано в подразделе «Список поддерживаемых элементов изобра-
жения».
При использовании V-Ray Frame Buffer ядро V-Ray будет записывать эле-
менты визуализируемого изображения только в том случае, если вы укаже-
те один из файлов вывода RAW-изображения V-Ray или будет активирован
параметр Separate render channels. Если вы хотите указать выходные данные
элементов изображения, используя поле Maya Render Output или используя
параметры вывода различных элементов изображения, то вы должны отклю-
чить V-Ray Frame Buffer.
Начиная с V-Ray Next Update 1 (V-Ray 4.12.01), некоторые элементы изобра­
жения отображаются не так, как это было в предыдущих версиях. Элемент
Lighting теперь содержит все прямое рассеянное освещение (direct diffuse illu-
mintaion), а элемент GI содержит все глобальное диффузное освещение. Точно
так же все прямые отражения света теперь идут в элемент Specular, а все не-
прямые отражения – в элемент Reflection.
Ранее это поведение зависело от выборки источников света, а не только от
типа вклада. Некоторые из типов прямого вклада, которые должны быть в эле-
ментах Lighting и Specular, записывались вместо элементов GI и Reflection. В обо-
их случаях они правильно сочетаются с проходом Beauty, но различные типы
вклада теперь распределяются между элементами более последовательно.
Это изменение делает элементы более согласованными, но это также не-
обходимо для предотвращения появления артефактов в этих элементах, про-
являющихся при использовании адаптивного освещения от источника Dome
Light (и, возможно, в будущем с другими адаптивными источниками света).
RAW-элементы влияют только тогда, когда доступны соответствующие эле-
менты Normal и Filter, иначе они отображаются как раньше. Это связано с тем,
что RAW-элементы должны быть получены из соответствующих элементов
Normal для работы с согласованными элементами (например, VRayRawGloba-
lIllumination = VRayGlobalIllumination / DiffuseFilter).
710  Вывод изображения и композитинг

Есть возможность включить или отключить новое поведение в свитке Ren-


dering во вкладке Overrides в окне Render Settings. Согласованные элементы
автоматически включаются, когда сцена содержит адаптивное освещение от
V-Ray Dome Light, поэтому они не имеют артефактов. Они также включены по
умолчанию для новых сцен. Помните, что для V-Ray GPU новая модель пове-
дения элементов всегда включена без возможности отключения.

Подгруппы элементов изображений


Все элементы изображения, доступные в V-Ray for Maya, можно распределить
по нескольким группам, которые охарактеризовывают их по назначению.
Beauty Render Elements – элементы визуализации, относящиеся к группе
Beauty, являются основными элементами, которые формируют предваритель-
но объединенный финальный проход визуализации изображения, известный
как Beauty или RGB Color. К ним относятся такие элементы, как Lighting, Global
Illumination, Reflection, Refraction, Specular и т. д.
Matte Render Elements – элементы данной группы помогают создавать
маски на основе выделения цвета в процессе композитинга. Они включают
в себя такие элементы, как Material ID, Multi Matte, Object ID и Render ID.
Geometry Render Elements – чтобы формировать данные о геометрии для
последующего процесса композитинга, элементы изображения данной груп-
пы опираются на геометрию в сцене. К ним относятся такие элементы изобра-
жения, как Velocity, Z-Depth и Normals.
Utility Render Elements – эти специальные элементы дают представление
о том, как работает V-Ray, и дополнительные функциональные возможности
для последующего композитинга. К ним относятся элементы Distributed Ren-
der ID, Sample Rate, Denoiser, Extra texture и т. д.

Список поддерживаемых элементов изображения


Описанные в данном подразделе элементы изображения поддерживаются
ядром системы визуализации V-Ray. Все элементы изображения поддержива-
ют родные для V-Ray шейдеры материалов, в то время как некоторые элемен-
ты изображения поддерживают стандартные материалы Maya, об этом под-
робнее описано в табл. 7.6.

Таблица 7.6. Список поддерживаемых V-Ray элементов изображения


Элемент Имя узла Maya Поддержка записи Описание
изображения в форматах 16-bit
и 32-bit
Atmospheric vrayRE_ 16-bit half-float/ Атмосферные эффекты, такие как
Effects Atmospheric_Effects 32-bit floating point Environment Fog
Background vrayRE_Background 16-bit half-float/ Сохраняет изображение окруже-
32-bit floating point ния, определенного текстурной
картой, связанной с атрибутом
Background Texture в Evironment
Overrides
V-Ray Render Elements и процесс композитинга  711

Таблица 7.6 (продолжение)


Элемент Имя узла Maya Поддержка записи Описание
изображения в форматах 16-bit
и 32-bit
Bump Normals vrayRE_BumpNormals 32-bit floating point Данный элемент сохраняет
нормали, формируемые картами
рельефности в пространстве
координат Screen space (которое
не является тем же самым, что
пространство Camera space).
Для получения нормалей
в пространстве Camera, World
или Object используйте узел
утилитарной текстурной карты
VRaySamplerInfo
Caustics vrayRE_Caustics 16-bit half-float/ Сохраняет результат эффекта
32-bit floating point каустики, проявляющийся на
материале. Этот эффект будет
сохранен только тогда, когда
включен эффект каустики
в глобальных параметрах V-Ray.
Этот элемент не включает эффект
каустики, формируемый
алгоритмом GI
Coverage vrayRE_Coverage 32-bit floating point Для каждого пикселя данного
элемента окончательные значе-
ния берутся из объекта, который
вносит наибольший вклад в этот
пиксель
Cryptomatte vrayRE_Cryptomatte 32-bit floating point Использует инструментарий
Cryptomatte от Psypop, разрабо-
танный для записи масок
в формате multichannel OpenEXR
Custom Color vrayRE_Custom_ integer Является общим контейнером
Color элемента изображения.
Используйте значение Alias,
чтобы указать, какой элемент
изображения должен
использоваться
DR Bucket vrayRE_DR_Bucket 16-bit half-float/ Определяет V-Ray Render Node,
32-bit floating point отвечающий за визуализацию
сегмента изображения во время
распределенной визуализации
(distributed rendering)
Diffuse vrayRE_Diffuse 16-bit half-float/ Сохраняет чистый диффузный
32-bit floating point цвет поверхностей
Denoiser vrayRE_Denoiser Применяет один из алгоритмов
подавления шумов к изображе-
нию (с необходимыми каналами)
по окончании его визуализации
Extra Texture vrayRE_Extra_Tex 32-bit floating point Визуализирует всю сцену с одной
определенной текстурой, сопо-
ставленной со всеми объектами
712  Вывод изображения и композитинг

Таблица 7.6 (продолжение)


Элемент Имя узла Maya Поддержка записи Описание
изображения в форматах 16-bit
и 32-bit
Global vrayRE_GI 16-bit half-float/ Сохраняет глобальное освеще-
Illumination 32-bit floating point ние диффузных поверхностей.
(GI) Будет сохранено, только если
глобальное освещение включено
в глобальных параметрах
Light Select vrayRE_Light_Select 16-bit half-float/ Извлекает вклад определенного
32-bit floating point пользователем источника света
или набора источников света
в сцену в качестве отдельного
элемента изображения
Lighting vrayRE_Lighting 16-bit half-float/ Прямое освещение диффузных
32-bit floating point поверхностей
Lightning vrayRE_Lightning_ 16-bit half-float/ Обеспечивает визуальное
Analysis Analysis 32-bit floating point представление интенсивности
освещения в визуализируемом
изображении
Material ID vrayRE_Material_ID 32-bit floating point Элемент сохраняет Material ID
назначенным материалам
объектов сцены. Используется
для формирования масок
Material vrayRE_Material_ 32-bit floating point Визуализирует только тот
Select Select объект(-ы), которому пользовате-
лем был назначен совместимый
с V-Ray материал. Материал
может быть материалом верхнего
уровня или субматериалом
в VRayBlendMtl
Matte vrayRE_Matte_ 16-bit half-float/ Сохраняет маску тени
Shadow shadow 32-bit floating point изображения
Multi Matte vrayRE_Multi_Matte 32-bit floating point Создает элемент масок
выделения на основе Object ID
или Material ID
Multi Matte vrayRE_Multi_ Integer/ Возвращает целочисленное
ID Matte_ID 32-bit floating point значение в изображении,
которое соответствует значению
multiMatte ID # объекта
Normals vrayRE_Normals 32-bit floating point Нормали поверхности
в пространстве координат Screen
space (которое не является
Camera space). Чтобы вывести
нормали в пространстве Camera,
Object и World space, используйте
утилитарную текстуру Maya
Sampler Info
V-Ray Render Elements и процесс композитинга  713

Таблица 7.6 (продолжение)


Элемент Имя узла Maya Поддержка записи Описание
изображения в форматах 16-bit
и 32-bit
Object ID vrayRE_Object_ID integer Возвращает сплошные цвета для
представления числовых иден-
тификаторов объектов в сцене,
установленных с помощью
добавленных к ним атрибутов
Object ID. Данный элемент
полезен для подбора масок.
В форматах OpenEXR и V-Ray
Image данные данного элемента
хранятся в виде целочисленных
значений
Object Select vrayRE_Object_select integer Для данного элемента V-Ray
визуализирует только те объекты,
которые были вызваны с опреде-
ленным Object ID или Material ID.
Этот эффект обратим при
создании элемента визуализации,
который исключает конкретный
объект или объекты в соответ-
ствии с идентификатором
объекта или материала
Raw Diffuse vrayRE_Raw_ 16-bit half-float/ Создает сплошную маску
Filter Diffuse_Filter 32-bit floating point с полной информацией
о диффузном цвете поверхности,
на которую не влияет спад Фре-
неля (Fresnel falloff)
Raw GI vrayRE_Raw_GI 32-bit floating point Содержит полную информацию
о диффузном глобальном
освещении (не умноженном на
диффузный цвет поверхности).
Формируется только тогда, когда
включено глобальное освещение
Raw Light vrayRE_Raw_Light 32-bit floating point Полное прямое диффузное
освещение до того момента как
оно умножается на диффузный
цвет поверхности
Raw vrayRE_Raw_ 32-bit floating point Чистые отражения поверхностей,
Reflection Reflection перед тем как его приумножат на
цвет фильтра отражений
Raw vrayRE_Raw_ 32-bit floating point Сплошная маска полной
Reflection Reflection_Filter информации об отражении, на
Filter которую не влияет спад Френеля
Raw vrayRE_Raw_ 32-bit floating point Полное преломление поверхности
Refraction Refraction перед умножением на цвет
преломляющего фильтра
Raw vrayRE_Raw_ 32-bit floating point Сплошная маска полной инфор-
Refraction Refraction_Filter мации о преломлении, на кото-
Filter рую не влияет спад Френеля
714  Вывод изображения и композитинг

Таблица 7.6 (продолжение)


Элемент Имя узла Maya Поддержка записи Описание
изображения в форматах 16-bit
и 32-bit
Raw Shadow vrayRE_Raw_Shadow 32-bit floating point Полный свет, который блокирует-
ся другими объектами в сцене
Raw Total vrayRE_Raw_ 32-bit floating point Сумма всего полного освещения,
Light Total_Light как прямого, так и глобального
Reflect IOR vrayRE_Reflect_IOR 32-bit floating point Данный элемент хранит инфор-
мацию в формате с плавающей
точкой, соответствующей значе-
ниям Freshnel IOR, определенным
в материалах объектов сцены
Reflection vrayRE_Reflection 16-bit half-float/ Отражения на поверхности
32-bit floating point
Reflection vrayRE_Reflection_ 32-bit floating point Фильтр отражений (цвет, на
Filter Filter который приумножаются необ-
работанные отражения, чтобы
получить окончательное отраже-
ние поверхности). Этот элемент
можно считать альфа-каналом
для отражений
Reflection vrayRE_Reflection_ 32-bit floating point Возвращает значение с плаваю­
Glossiness glossiness щей точкой, соответствующее
значению Reflection Glossiness
материала объекта
Refraction vrayRE_Refraction 16-bit half-float/ Записывает преломления,
32-bit floating point видимые сквозь поверхность
Refraction vrayRE_Refraction_ 32-bit floating point Фильтр преломления смягчает
Filter Filter слой полного преломления (raw
refraction layer). Этот элемент
возвращает цвет, на который
приумножаются необработанные
преломления, чтобы получить
окончательное преломление
поверхности. Это можно считать
альфа-каналом для преломлений
Refraction vrayRE_Refraction_ 32-bit floating point Возвращает значение с плаваю­
Glossiness glossiness щей точкой, соответствующее
значению Refraction Glossiness
материала, назначенного объекту
Render ID vrayRE_Render_ID integer Данный элемент записывает
и отображает Render ID данные
узла, который вносит наиболь-
ший вклад в значение пикселя
SSS vrayRE_SSS 16-bit half-float/ Данный элемент сохраняет
32-bit floating point только эффект подповерхностно-
го рассеивания, формируемого
шейдером VRaySSS2
Sample Rate vrayRE_Sample_Rate integer Записывает изображение,
в котором яркость пикселя прямо
пропорциональна количеству
выборок, взятых в этом пикселе
V-Ray Render Elements и процесс композитинга  715

Таблица 7.6 (окончание)


Элемент Имя узла Maya Поддержка записи Описание
изображения в форматах 16-bit
и 32-bit
Sampler Info vrayRE_Sampler_Info integer Предоставляет информацию
о различных аспектах затенения –
положении, нормалях, рельеф-
ности, векторах отражений/
преломлений и координатах
UVW. Может быть использовано,
например, для проходов World
position или Normal
Self Illumina- vrayRE_Self_ 16-bit half-float/ Самосвечение поверхности
tion Illumination 32-bit floating point
Shadow vrayRE_Shadow 16-bit half-float/ Диффузный свет, который блоки-
32-bit floating point руется другими объектами
Specular vrayRE_Specular 16-bit half-float/ Зеркальные блики поверхностей
32-bit floating point
Toon vrayRE_Toon 16-bit half-float/ Сохраняет результаты эффекта
32-bit floating pointвизуализации V-Ray Toon
Total Light vrayRE_Total_Light 16-bit half-float/ Данный элемент сохраняет
32-bit floating pointобщее освещение в сцене, как
прямое, так и глобальное
Unclamped vrayRE_Unclamped_ 32-bit floating point Данный элемент сохраняет цвет
Color Color изображения до применения на-
строек цветового сопоставления
(Color Mapping), т. е. без какой-
либо коррекции
Velocity vrayRE_Velocity 32-bit floating point Поверхностная скорость объекта.
Этот элемент рендеринга
полезен для генерации размытия
в процессе постпроизводства
Z-depth vrayRE_Z_depth 32-bit floating point Выполняет запись данных
Z-Depth для поверхностей в сцене

Чтобы сделать правильный RAW Render Pass, вам также необходимо визуа-
лизировать соответствующий основной элемент и фильтр. Например, элемент
RAW Reflection потребует от вас визуализации элемента RAW Filter. Для RAW
GI вам нужны GI, Diffuse и т. д. Далее я подробно опишу, как данные элементы
объединяются, и продемонстрирую примеры.
Перед началом нашего знакомства с элементами изображений я хочу дать
несколько замечаний касательно процессов визуализации элементов изобра-
жения в V-Ray. Система визуализации V-Ray всегда сглаживает элемент RGB
Color. Поэтому другие каналы могут показаться неровными или шумными
в областях, где ядро V-Ray выполнило меньше выборок. Элементы изображе-
ний могут быть отображены при визуализации в режиме распределенной ви-
зуализации. В процессе визуализации дополнительные элементы изображения
требуют дополнительной памяти, таким образом, увеличивая объем использу-
емой во время визуализации оперативной памяти. При визуализации в V-Ray
VFB вы можете уменьшить используемый объем, выполняя визуализацию не-
716  Вывод изображения и композитинг

посредственно в файл *.vrimg и не сохраняя окончательное изображение в опе-


ративной памяти. Производительность визуализации изображений с отдель-
ными элементами, в зависимости от количества выбранных элементов, может
немного снизиться. Они не влияют на вычисление GI/Reflection и т. д.
Начиная с V-Ray Next, из пользовательского интерфейса был удален элемент Re-
flection Hilight Glossiness, так как он больше не может управляться отдельно от
Reflection Glossiness в VRayMtl. Поскольку не будет никакой разницы между эле-
ментом изображения Reflection Hilight Glossiness и элементом Reflection Glossi-
ness, элемент изображения Reflection Hilight Glossiness больше не доступен.

Основные элементы и их атрибуты


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

Рис. 7.3.1  Элемент изображения Diffuse


с общими атрибутами для элементов изображения V-Ray

На рис. 7.3.1 приведен скриншот редактора атрибутов с атрибутами элемен-


та Diffuse. Большинство элементов изображений V-Ray обладает одними атри-
V-Ray Render Elements и процесс композитинга  717

бутами. Пользователю для простоты настройки доступны атрибуты в свитке


Extra V-Ray Atributes; если же вы разработчик или хотите выполнить тонкую
настройку элементов, вы можете воспользоваться свитком Extra Attributes.
Атрибут Enable, размещенный в свитке Extra Attributes, позволяет активи-
ровать/деактивировать элемент. Когда элемент выключен, он не будет визуа-
лизироваться и не будет отображен в V-Ray Frame Buffer. Когда вы выполняете
визуализацию в формате Deep OpenEXR, атрибут Deep output определяет, что
элемент будет включен в deep-изображение.
Для определения суффикса имени файла, а также имени слоя изображения
в формате OpenEXR используйте поле Filename suffix. В случае записи отдель-
ного файла имя будет представлено следующей записью name.diffuse.exr.
Атрибут Apply color mapping активирует применение коррекции цвета и яр-
кости изображения на основе алгоритма, установленного в свитке Color Map­ping
в глобальных настройках V-Ray. Данный атрибут активен по умолчанию.
Если вы используете алгоритм прогрессивной визуализации, а затем при-
меняете один из методов устранения шумов, атрибут Denoise позволяет при-
менять устранение шумов к элементу изображения. Устранение шумов из изо-
бражения осуществляется с помощью элемента Denoiser, рассматриваемого
далее в данной главе.
В некоторых элементах также присутствует атрибут Consider for Anti-Alias-
ing. Когда данный атрибут активен, там, где возможно, в изображении будет
использовано сглаживание. С помощью атрибута Filtering к изображению ка-
нала будет применен фильтр, выбранный в свитке Image Sampler глобальных
настроек V-Ray в диалоговом окне Render Settings.
Атрибут Invert Color выполняет инверсию цветов элемента.
В свитке Extra Attributes есть несколько дополнительных атрибутов: Out Con-
nect, Vray Class Type и Vray Alias Rawdiffuse. Это специальные атрибуты, позво-
ляющие с помощью API связать элемент с данными визуализируемой сцены
и сохранить их в нем.
Настроив систему визуализации и организовав сцену, процесс визуализа-
ции может быть спокойно осуществлен, а полученные файлы изображений
будут содержать всю сопутствующую информацию. Теперь можно переходить
к непосредственному знакомству с возможностями элементов изображения
и их объединением между собой для получения результата.

Инструменты объединения элементов приложениях


для композитинга
Перед началом знакомства с каждым из элементов я рекомендую вам изучить
справочную документацию к используемому вами программному обеспече-
нию для обработки и композитинга изображений. Практически все приложе-
ния обладают единым интерфейсом для объединения двух и более изображе-
ний, а также используют единые алгоритмы смешивания изображений.
Я приведу пример на основе трех наиболее популярных инструментов для
композитинга и постобработки изображений, а именно для NUKE, Fusion и Af-
ter Effects (рис. 7.3.2). В примере продемонстрированы графы для связи двух
718  Вывод изображения и композитинг

слоев, представляющих определенные элементы изображения, объединенные


с применением одного из доступных методов смешивания цветов.

Рис. 7.3.2  Объединение двух элементов (Diffuse и Raw GI)


изображения в NUKE (A), Fusion (B) и After Effects (C)

Для объединения двух и более элементов в системах композитинга исполь-


зуются узлы Merge и определенный режим смешивания цветов. В NUKE и Fu-
sion данные операции выполняются с помощью узлов и выбранного метода
смешивания, а вот в After Effects слои с элементами объединяются с помощью
выбора режима смешивания в свойствах слоя. В приведенном выше примере
смешивания двух элементов показано, как с помощью режима смешивания
цветов Multiply получить элемент GI на основе элементов Diffuse и Raw GI.
Рассмотрим узел Merge в NUKE (рис. 7.3.3). Данный узел входит в группу ин-
струментов Merge Nodes, и на его основе доступно несколько заранее подго-
товленных конфигураций для упрощения выполнения конфигурации.

Рис. 7.3.3  Узел Merge в NUKE позволяет объединить и смешать


цвета нескольких изображений

Работать с узлом Merge очень просто. Вы связываете с помощью маркеров


A и B два узла с изображением и получаете результирующее изображение, но
нужно определить, какой метод смешивания цветов применить. За выбор ме-
V-Ray Render Elements и процесс композитинга  719

тода смешивания цветов отвечает параметр operation. Зачастую для объеди-


нения элементов изображения используются такие методы, как multiply, plus,
screen. В графах смешивания элементов данные методы будут отображены как
X или +.
В узле Merge вы сначала создаете связь с узлом B, а затем добавляете узлы A.
Когда будет создан один узел A, появится возможность создать связь с узлами
A1, A2 и т. д. То есть узлы A добавляются к узлу B. Если у вас есть маска, вы
можете использовать ее, связав с каналом mask.
С помощью раскрывающихся списков A channels и B channels, а также бла-
годаря выбору определенных слоев изображения и каналов цвета вы можете
определить, какие данные будут объедены между собой. С помощью параме-
тра mix вы можете определить вклад изображения A в смешивание с изобра-
жением B.
Во Fusion аналогично с помощью узла Merge (рис. 7.3.4) выполняется объ-
единение нескольких изображений благодаря одному из алгоритмов смеши-
вания. Ключевая операция осуществляется с помощью выбора в раскрываю-
щемся списке Apply Mode.

Рис. 7.3.4  Узел Merge во FUSION


объединяет несколько изображений

Параметр Blend позволяет определить уровень вклада одного изображения


в другое, это аналогично параметру Mix в NUKE.
720  Вывод изображения и композитинг

В пакете Adobe After Effects вы можете выполнять смешивание аналогич-


но пакету Adobe Photoshop – для этого просто помещаете два слоя друг над
другом и выбираете один из методов смешивания (рис. 7.3.2 C). Но, в отличие
от NUKE или Fusion, вам потребуется создавать дополнительные вложенные
композиции, для того чтобы объединять несколько групп элементов, согласно
общим правилам, о которых я расскажу ниже.

Базовые элементы изображения


Начиная с данного подраздела, я расскажу о ключевых элементах изображе-
ний V-Ray и методах их объединения в приложениях для композитинга. Все
примеры будут подготовлены на основе NUKE, так как V-Ray наиболее опти-
мально интегрируется в рабочий процесс объединения различных изображе-
ний в единое целое. Но общую схему объединения элементов вы сможете по-
вторить в любом другом приложении.
К базовым элементам изображения относятся RGB Color (Beauty pass) и Al-
pha Channel. Элемент RGB Color является предварительно скомпонованным
финальным визуализируемым изображением и зачастую используется для
основного вывода визуализируемой сцены. Он формируется автоматически
во время визуализации сцены с помощью V-Ray. Данный элемент может быть
воссоздан вручную за счет сборки и финальной корректировки основных эле-
ментов. Данный процесс называют Back to Beauty Compositing. Для понимания
и самостоятельного воссоздания данного процесса обратитесь приведенным
на рис. 7.3.5 и 7.3.6 схемам.

Рис. 7.3.5  Базовый процесс сведения элементов


для получения Beauty-прохода (RGB Color)

Схема, приведенная на рис. 7.3.5, позволяет выполнить реконструкцию


Beauty-прохода. Некоторые элементы изображения могут быть исключены,
если данные в сцене не содержат их. Алгоритм сведения элементов выглядит
V-Ray Render Elements и процесс композитинга  721

следующим образом: Lighting + GI + Reflection + Refraction + Specular + SSS + Self


Ilumination + Caustics + Atmospheric Effects + Background = RGB Color (Beauty).
Также вы можете осуществить сведение на основе ряда специализирован-
ных элементов, в которых сохранены определенные типы данных. Приведен-
ный на рис. 7.3.6 алгоритм может потребоваться для более тонкого редактиро-
вания конечного изображения.

Рис. 7.3.6  Расширенный процесс сведения элементов


для получения Beauty-прохода (RGB Color)

Общий алгоритм сведения элементов представляется следующей записью:


(Diffuse × (Raw Light + Raw GI)) + (Raw Reflection × Reflection Filter) + (Raw Refrac-
tion × Refraction Filter) + Specular + SSS + Self Illumination + Caustics + Atmospheric
Effects + Background = RGB Color (Beauty).
Помните, что существует два варианта того, как эффект размытия движения
и глубина резкости обрабатываются в процессе Back to Beauty. Если в V-Ray
Physical Camera включены функции Depth of Field и/или Motion Blur, эти эф-
фекты будут отображены во всех элементах изображения. В этом сценарии
использование фильтрации элементов изображения в расширенной компози-
ции Back to Beauty может обеспечить более точное управление некоторыми
элементами изображения. Кроме того, многие пакеты для композитинга и ре-
дактирования изображений могут добавлять эффекты после процесса визуа-
лизации, применяя специальные инструменты, которые используют данные
элементов Velocity для размытия в движении и Z-Depth для моделирования
эффекта глубины резкости, с некоторыми ограничениями.
722  Вывод изображения и композитинг

Элемент Alpha channel сохраняет прозрачность объектов в сцене в виде цве-


тов в градации серого. Плотная геометрия представлена в виде полного белого
цвета, а области, которые не заблокированы объектами, представлены в виде
черного цвета. Пиксели на сглаженных границах имеют различное затенение
в градациях серого, также как полупрозрачные поверхности.
Помните, что элемент Alpha channel также формируется автоматически
в процессе визуализации с помощью V-Ray for Maya.
При использовании прозрачных материалов, таких как стекло, убедитесь, что ма-
териал настроен так, чтобы он был прозрачным по отношению к альфа-каналу.
Например, при использовании шейдера VRayMtl в качестве материала параметру
Affect channels для Reflection и Refraction задайте значение Color+alpha или All
channel. В противном случае прозрачная поверхность, записываемая в элементе
Alpha channel, не будет считаться прозрачной.

Базовые элементы компонент изображения


Приведенные выше базовые элементы, как это было показано, могут быть со-
ставлены из множества отдельных элементов изображения, скомпонованных
в определенной последовательности и с применением определенных опера-
ций смешивания цвета. Практически все элементы компонент изображения
универсальны и едины для V-Ray. Я не буду детально акцентировать внимание
на атрибутах каждого из них, а приведу примеры алгоритмов их объединения
и некоторых специфичных свойств.
Каждый из элементов определяет цвет, который сформирован на основе
определенных данных сцены. Например, элемент Diffuse записывает диффуз-
ный цвет материала без учета освещения и теней. Однако элемент Lighting
сохраняет информацию об освещении в сцене. Распределив изображение на
данные элементы, вы можете на этапе композитинга управлять их вкладом
и формировать универсальное изображение. Все элементы содержат единые
атрибуты, которые описаны выше, так как их задача сохранить данные и за-
писать их в виде отдельных каналов в EXR-файле.

Элемент Atmospheric Effects


Элемент изображения Atmospheric Effects сохраняет только данные об ат-
мосферных и объемных эффектах, таких как туман и воздушная перспектива
(Aerial Perspective). Данный элемент изображения может быть использован
для улучшения изображения или коррекции цвета атмосферных эффектов
в изображении.
Когда атмосферные эффекты или туман включены в сцену, они будут до-
бавлены в элемент Beauty (RGB Color) и могут быть также выведены в качестве
элемента Atmospheric Effects.
Сведение элементов может быть выполнено по приведенному на рис. 7.3.7
алгоритму, а именно Atmospheric Effects + Beauty = Final Image. При этом элемент
атмосферных эффектов может быть подвергнут дополнительной коррекции.
V-Ray Render Elements и процесс композитинга  723

Рис. 7.3.7  Алгоритм сведения элементов Atmosphere и Beauty

Элемент Background
Следующим базовым элементом является элемент Background, который со-
храняет изображение текстурной карты, используемой в качестве окружения
за геометрией в сцене и видимой напрямую в камеру. Геометрия, которая бло-
кирует окружение, будет визуализироваться в виде черных областей.
Этот элемент интерпретирует текстурную карту окружения, такую как тек-
стура, определенная в качестве фона атрибутом Environment Overrides.
Другие типы создаваемых вручную окружений сцены, такие как плоскости,
сопоставленные с текстурной картой и установленные за окном, не будут со-
хранены в качестве окружения.
Элемент Background в основном используется для наложения элемента
Beauty (или заранее скомбинированных элементов изображения) поверх фо-
нового изображения. Альфа-канал можно использовать для создания маски
(рис. 7.3.8).

Рис. 7.3.8  Алгоритм сведения элементов Background и Beauty


(или результата композитинга нескольких элементов)

Когда окружение находится позади прозрачного или полупрозрачного материа-


ла, такого как стекло или прозрачный пластик, убедитесь, что альфа-канал вклю-
чен для материала для всех элементов изображения, – в противном случае фон
не будет виден в элементе изображения. Например, при использовании шейдера
VRayMtl для материала стекла определите атрибуту Affect Channels для отражений
и преломлений режим All channels, чтобы окружение появлялось в элементе изо-
бражения в областях за стеклом. На рис. 7.3.9 приведен пример влияния выбора
режима для атрибута Affect Channels на прозрачность сферы с прозрачным и от-
ражающим материалом, а также результат визуализации элемента Background.
Текстурная карта в приведенном примере добавлена к атрибутам Environment
Overrides, Reflection Override и Refraction Override.
724  Вывод изображения и композитинг

Рис. 7.3.9  Примеры визуализации материала с преломляющими


и отражающими свойствами в различных режимах атрибута Affect Channels

Элемент Bump Normals


Элемент изображения V-Ray Bump Normals сохраняет визуализируемое со
стороны камеры изображение в качестве карты нормалей (рис. 7.3.10). Нор-
мали формируются с использованием экранного пространства координат
(в Maya – система координат Screen), которое использует ориентацию вида
камеры по осям X, Y и Z. С помощью экранного пространства координат ось
X проходит слева направо, Y – сверху вниз, а Z выходит за пределы экрана.
В данном элементе изображения также представлены карты рельефа (Bump
Mapping). Процесс формирования цвета в стиле Normal Map описан ниже,
в разделе, посвященном элементу Normals. Отмечу, что по своей природе этот
элемент изображения похож на элемент Normals, но элемент Normals не вклю-
чает карты рельефности.
Элемент Bump Normals полезен для коррекции освещения, которое исходит
из определенного направления. Например, грани объектов, направленные на
камеру, в элементе Bump Normals будут преимущественно голубыми, поэто-
му освещение таких объектов можно регулировать с помощью синего канала
в программном обеспечении для композитинга.
V-Ray Render Elements и процесс композитинга  725

Рис. 7.3.10  Пример визуализации элемента Bump Normals

Рис. 7.3.11  Пример переосвещения сцены


с применением элемента Bump Normals и граф композиции в NUKE
726  Вывод изображения и композитинг

Элемент Bump Normals полезен для изменения освещения в сцене на этапе


композитинга без необходимости повторной визуализации. В приведенном
ниже примере рабочий процесс освещения используется на уровне компо-
зитинга для изменения освещения в сцене. Обратите внимание, что это не
создает никаких дополнительных теней. В то время как элемент Bump Normal
предоставляет информацию о том, как источники света будут влиять на каж-
дую поверхность, элемент Point Position пропускает пространственное место-
положение каждого пикселя. При совместном использовании это позволяет
источникам света, добавленным в граф композиции, реагировать на пиксели,
как если бы они находились на поверхности модели.

Элемент Caustics
Каустика – это эффект, который возникает, когда лучи света отражаются или
преломляются материалами объектов, находящихся в сцене. Данный эффект
может создавать рисунки светом на объектах сцены. Элемент изображения
Caustics сохраняет и отображает эффекты, созданные с помощью фотонной
карты, настраиваемой в разделе Caustics глобальных параметров V-Ray. Этот
элемент изображения полезен для усиления или смягчения спадающих эф-
фектов на этапе композитинга.
Элемент изображения Caustics полезен для изменения внешнего вида визу-
ализируемых эффектов каустики с помощью приложения для композитинга
или редактирования изображений. Ниже приведен пример его использования,
выполненный согласно следующему алгоритму: Caustics + Beauty = Final Image.

Рис. 7.3.12  Пример визуализации эффекта каустики


и его коррекция на этапе композитинга в NUKE

Атрибуты Reflective Caustics и Refractive Caustics во вкладке GI, в свитке GI, в окне
Render Settings вызывают аналогичный эффект при окончательной визуализации,
но этот эффект каустики не сохраняется в элементе Caustics.
V-Ray Render Elements и процесс композитинга  727

Элемент Coverage
Элемент изображения Coverage содержит данные о сглаживании (anti-aliasing
data), основанные на элементе изображения Render ID. Когда элемент Cover-
age умножается на элемент Render ID при композитинге, он добавляет сглажи-
вание к каналу Render ID, формируя быструю маску объекта.

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

Рис. 7.3.13  Пример элемента Diffuse,


сохранившего информацию о цветах и текстурных картах в сцене

Другие элементы изображения, которые включают цвет из материалов,


включают вклад диффузного затенения или компоненту диффузного цвета
визуализированной сцены. Элемент изображения Diffuse вносит вклад в ком-
поненту диффузного цвета, а также в любой элемент изображения, который
включает этот компонент диффузного затенения; он является комбинацией
элемента Diffuse и других элементов изображения.
Обратите внимание, что на элемент изображения Diffuse Filter влияет об-
щий вес отражений и преломлений1.
Этот элемент изображения сам по себе полезен для внесения общих улуч-
шений в базовые цвета и текстуры во время композитинга, не затрагивая та-
кие эффекты, как отражения и блики.
На этапе композитинга с элементами типа RAW (например, Raw GI, Raw
Light и т. д.) элемент изображения Diffuse будет полезен для изменения ви-

1 Это означает, что отражающие объекты со сплошным диффузным цветом отобра-


жаются по-разному в зависимости от угла обзора. Фактический диффузный цвет
отобра­жается, только если используется элемент изображения VRayRawDiffuse.
728  Вывод изображения и композитинг

зуального представления формируемых на этапе композитинга элементов


изображения. В приведенном на рис. 7.3.14 примере элемент Diffuse приум-
ножается на элемент Raw GI, вследствие чего формируется элемент GI. Таким
образом, коррекция цвета может быть выполнена на элементе типа RAW без
изменения фактического диффузного цвета, что позволяет реалистично окра-
шивать элемент без повторной визуализации всего изображения.

Рис. 7.3.14  Результат объединения и коррекции элементов Diffuse и Raw GI (A),


выполненных в NUKE. Коррекция элемента Raw GI (B) выполнена
с помощью узлов ColorCorrect на определенных каналах изображения

По своей природе элемент изображения Diffuse очень полезен, это обуслов-


лено количеством элементов типа RAW, с которыми он может быть объеди-
нен, давая возможность манипулировать многими областями/деталями визу-
ализируемого изображения на сложном уровне. Данный элемент также может
быть изменен индивидуально.
Сведение элементов может быть выполнено по одному из следующих алго-
ритмов, а именно:

Diffuse × RawGI = GI;


Diffuse × RawLight = Lighting;
Diffuse × RawShadow = Shadow.
V-Ray Render Elements и процесс композитинга  729

Элемент GI
Элемент Global Illumination (GI) формирует изображение, которое хранит
информацию о непрямом/глобальном освещении, формируемом отражен-
ным рассеянным светом в сцене (без учета прямого света и отражений). Дан-
ный элемент будет записан тогда, когда в глобальных настройках системы
визуализации активна функция Global Illumination. Этот элемент может быть
использован непосредственно в процессе композитинга Back to Beauty, в ко-
тором выполняется настройка яркости и цвета для удобного управления ко-
нечным изображением.

Рис. 7.3.15  Граф объединения элементов Diffuse и GI,


к элементу GI применены узлы Color Correct для коррекции оттенка
и интенсивности глобального освещения в сцене

Для бо́льшего контроля вклада от глобального освещения элемент GI можно


получить, согласно формуле, в которой умножается элемент Diffuse на эле-
мент Raw GI:

RawGI × Diffuse = GlobalIllumination.

Элемент изображения GI полезен для изменения эффекта глобального ос-


вещения в сцене после окончания процесса визуализации. На рис. 7.3.15 при-
веден пример композитинга элемента GI, к которому применена трансфор-
мация цвета, оттенок цвета изменен в элементе GI, при этом элемент Beauty
оставлен без изменений.

Элемент Lighting
Элемент изображения Lighting сохраняет информацию о прямом освещении,
исходящем от источников света в сцене и отраженном материалами поверх-
730  Вывод изображения и композитинг

ностей. Этот элемент может быть использован, чтобы осветлить, уменьшить


или подкорректировать цвет только в прямом освещении, например без воз-
действия на глобальное освещение или отражения.

Рис. 7.3.16  Граф и результат объединения элементов Diffuse, Lighting, SSS и Reflection,
к элементу Lighting применен узел Color Correct для коррекции оттенка
и интенсивности глобального освещения в сцене

Элемент изображения Lighting является результатом приумножения эле-


ментов Raw Light и Diffuse. Цельный элемент Lighting реализован для удобства
композитинга. Определенные объекты можно исключить из данного элемен-
та изображения, если для выбранных объектов отключить атрибут Generate
Render Elements в узле VRayObjectProperties.
Элемент Lighting полезен для изменения общего вида прямого освещения
в сцене после завершения визуализации в приложении для композитинга или
редактирования изображений. Сведение элементов может быть выполнено по
следующему алгоритму:

RawLight × Diffuse = Lighting.

Элемент Matte shadow


Элемент изображения Matte Shadow сохраняет области, где свет от источ-
ника не достигает поверхностей. Я предпочитаю сравнивать данный элемент
V-Ray Render Elements и процесс композитинга  731

с элементом Raw Shadow, который сохраняет области отбрасываемых теней.


Технически не входя в группу элементов изображения типа Beauty, элемент
изображения Matte Shadow можно использовать для осветления областей от-
брасываемых теней, добавив его к элементу Raw Light. Его также можно ис-
пользовать для добавления 3D-моделей в фоновое изображение или отснятый
видеоматериал на этапе композитинга.
Элемент Matte Shadows полезен для изменения образа затененных областей
на этапе композитинга или при редактировании изображений. На рис. 7.3.17
приведен пример использования элемента Matte Shadow.

Рис. 7.3.17  Пример результата композитинга изображения


и коррекции теней с помощью элемента Matte Shadow. Ниже приведен граф,
на основе которого получен результат. Тени немного светлее и краснее
за счет коррекции с помощью узлов Color Correct

Элемент Reflection
Элемент изображения Reflection хранит информацию об отражениях, рас-
считанных на основе значений свойства Reflection материалов в сцене. По-
верхности без отражений, заданных в характеристиках материалов, не будут
содержать информацию на этапе визуализации и, следовательно, в данном
элементе будут представлены черным цветом (рис. 7.3.18).
732  Вывод изображения и композитинг

Рис. 7.3.18  Элемент Reflection, полученный после визуализации.


Объект фона не обладает отражениями,
в данном элементе он представлен черным цветом

В своей основе элемент отражений формируется приумножением элемента


Raw Reflection на элемент Reflection Filter. Таким образом, элемент Raw Reflec-
tion дает полное отражение объектов, находящихся в сцене, а элемент Reflec-
tion Filter в альфа-канале сохраняет вклад/долю отражений, которые должны
проявится в композитном изображении, а в каналах R, G и B (RGB) сохранена
информация о цвете отражений. Эти два элемента умножаются вместе, чтобы
создать элемент Reflection, который дает истинное представление отражений
в сцене.
На момент написания книги в V-Ray Render Elements была обнаружена ошиб-
ка – отсутствие записи в элемент Reflection Filter данных об отражениях и их
интенсивности в материалах на основе шейдера VRayFastSSS2. Однако данные об
отражениях будут записаны в элементах Reflections и Raw Reflections. Для моде-
лирования элемента Reflections с учетом свойств материала на основе шейдера
VRayFastSSS2 вы можете использовать отдельную визуализацию объекта с мате-
риалом VRayMtl с отражениями, вклад отражений которого может быть записан
с помощью элемента Reflection Filter. Иной способ – целиком реализовать эффект
на этапе композитинга и управлять вкладом с помощью маски, получаемой на ос-
нове элемента Material ID или Object ID, а также с помощью узла сплошного цвета
(например, Constant в NUKE), задающего цвет вклада.

Элемент Reflection полезен для изменения внешнего вида отражающих по-


верхностей после завершения визуализации. Ниже приведен общий алгоритм
получения элемента Reflection:

RawReflection × ReflectionFilter = Reflection.

Элемент Specular
Элемент Specular (зеркальных отражений) изолирует отраженный свет в сце-
не. Этот элемент представляет собой изображение, в котором хранится ин-
формация о зеркальном отражении (блике), рассчитанная на основе значе-
ния атрибута Reflection материала. Зеркальное отражение определяется как
V-Ray Render Elements и процесс композитинга  733

отражение света от поверхности в одном конкретном отражении, в отличие


от диффузного отражения, которое отражается под многими углами. Хочет-
ся заметить, что чем ярче область, тем больше бликов отражается от объекта
в процессе визуализации. Зеркальные блики будут окрашены, если определе-
но значение атрибуту Reflection Color.

Рис. 7.3.19  Сравнение визуального представления


элементов Reflection (A) и Specular (B)

В большинстве случаев элемент Specular будет представлен черным цве-


том с некоторым количеством серого или полностью залит черным. Только
материалы, в которых настроены свойства отражений и которые фактиче-
ски отражают источники света в виде глянцевых бликов, будут отображены
в данном элементе изображения. Оттенки серого (или оттенки цвета) в эле-
менте изобра­жения Specular редко достигают полного значения (в большин-
стве случаев это – белый). Белый или полноценный пиксель будет означать,
что в данной точке материал полностью отражает свет, что редко встречается
в реалистичных сценах. Поверхности без отражения, заданного в их материа-
ле (материалах), не будут содержать информацию в данном элементе, следо-
вательно, будут отображаться в виде черных областей.
В основном блики появляются на отражающих поверхностях с низким углом
падения по отношению к яркой поверхности или источнику света. Понижение
734  Вывод изображения и композитинг

вклада глянцевых отражений материала ниже значения 1.0 или увеличение


IOR может усилить данный эффект.

Рис. 7.3.20  Результат коррекции оттенка и яркости элемента Specular (A)


и комбинации элементов Reflection + Specular (B) с применением размытия
и последующего наложения поверх элемента Beauty

Элемент Specular полезен для изменения зеркальных бликов в конечном


изображении во время композитинга (рис. 7.3.20). Чаще всего элемент изо-
бражения Specular добавляется как часть элемента Beauty для формирования
окончательного изображения. Я же использую данный элемент для форми-
рования эффекта свечения и усиления бликов в совокупности с элементами
Reflection и Raw Reflection (рис. 7.3.20 B).
Рисунок 7.3.21 демонстрирует пример визуализации элементов изображе-
ния для отражений и зеркальных бликов. Вы можете видеть, как записаны дан-
ные об отражениях с различными свойствами отражений, как зеркальных, так
и глянцевых. Глянцевые отражения проявляются именно в элементе Specular
(F); если отражения зеркальные, без рассеивания света, объект с таким мате-
риалом не будет записан в элемент Specular, и вы сможете их корректировать
только с помощью элементов RAW Reflection и Reflection.
V-Ray Render Elements и процесс композитинга  735

Рис. 7.3.21  Пример визуализации элементов RAW Reflection (B),


RAW Reflection Filter (C), Reflection (D), Reflection Filter (E) и Specular (F)
с различными значениями глянцевитости материала

Элемент Refraction
Если элементы Reflection и Specular хранят информацию об отражениях объ-
ектов и бликах, элемент изображения Refraction хранит информацию о пре-
ломлениях на основе свойств материалов – таких как стекло или вода, – кото-
рые преломляют объекты позади них в поле зрения камеры. Это означает, что
яркость, цвет и т. д. для преломлений можно регулировать без необходимости
повторного отображения.
Любой материал в сцене, в котором атрибуту Refraction задано значение,
будет формировать информацию о преломлениях, которую можно увидеть
в этом элементе изображения. Поверхность без значений преломления, за-
данных в ее материале (материалах), не будет отображена в данном элементе
изображения и поэтому будет отображаться черным цветом.
Сам элемент изображения Refraction уже является композитным и состав-
лен на основе приумножения элемента Raw Refraction на элемент Refrac-
tion Filter. Когда на этапе композитинга требуется более точное управление
преломлениями, добавьте данных два дополнительных элемента к элемен-
ту визуализации Refraction. Объединение базовых элементов преломления
может быть выполнено согласно алгоритму RawRefraction × RefractionFilter =
Re­fraction.
736  Вывод изображения и композитинг

Рис. 7.3.22  Элемент изображения Refraction (вверху)


и пример коррекции оттенка преломления на этапе композитинга (внизу)

Элемент изображения Refraction полезен для изменения эффектов прелом-


ления в визуализированном изображении с помощью приложения для компо-
зитинга. На рис. 7.3.23 приведен граф, который использован для формирова-
ния изображения на рис. 7.3.22.
V-Ray Render Elements и процесс композитинга  737

Рис. 7.3.23  Граф NUKE, используемый для формирования изображения,


приведенного в нижней иллюстрации на рис. 7.2.22
738  Вывод изображения и композитинг

Элемент SSS
Элемент изображения SSS (Sub-Surface Scattering) сохраняет информацию
о подповерхностном рассеивании, формируемую материалом на основе шей-
дера VRay Fast SSS2. Затем этот элемент может использоваться для улучшения
или коррекции цвета только компоненты подповерхностного рассеяния изо-
бражения на этапе композитинга.

Рис. 7.3.24  Элемент SSS позволяет производить независимую коррек-


цию объектов с материалом на основе шейдера VRay Fast SSS2. Вверху –
элемент изображения SSS, внизу – результат коррекции элемента SSS
и воздействие на все изображение в целом

Ниже приведен общий алгоритм композитинга элемента SSS с элементом


Beauty: SSS + Beauty = Final Image.

Элемент Self Illumination


Когда в сцене используются объекты, которым назначен материал с самосто-
ятельным свечением, элемент изображения Self Illumination сохраняет ин-
формацию о них, а также о V-Ray Mesh Lights, объектах с VRayLightMtl и любых
объектах с активным свойством Self-Illumination. Этот элемент изображения
полезен для осветления или коррекции цвета светящихся материалов.
V-Ray Render Elements и процесс композитинга  739

К примеру, шейдер VRayMtl обладает атрибутом Self Illumination, и, если


ему задано значение, отличимое от черного цвета, этот элемент будет сохра-
нять информацию о нем.
На рис. 7.3.25 приведен пример визуализации элемента Self Illumination
и коррекции светящегося материала на этапе композитинга. Общий алгоритм
формирования изображения представлен формулой: SelfIllumination + Beauty =
Final Image.

Рис. 7.3.25  Визуализация элемента Self Illumination


и результат коррекции цвета и интенсивности светящихся объектов

Этот элемент содержит только объект со свечением, а не свет, излучаемый им.


Информация об освещении содержится в элементах изображения Lighting и Total
Light.

Элемент Shadow
Элемент изображения Shadow является цветным изображением, которое
формируется в качестве обратной маски для теней и может использоваться
для осветления, затемнения или изменения цвета теней. Внешний вид теней
можно изменить на этапе композитинга, добавив этот элемент к окончатель-
но скомпонованному изображению и применив к нему операцию приумноже-
ния или вычитания.
740  Вывод изображения и композитинг

В своей основе элемент изображения Shadow (рис. 7.3.26) является результа-


том умножения элементов Raw Shadow и Diffuse, что можно представить урав-
нением RawShadow × Diffuse = Shadow.

Рис. 7.3.26  Элемент изображения Shadow


и результат изменения свойств теней на этапе композитинга

Определенные объекты можно исключить из данного элемента изображения,


если для выбранных объектов отключить атрибут Generate Render Elements в узле
VRayObjectProperties.
Элемент Shadow может быть как добавлен, так и вычтен из элемента BEauty на
этапе композитинга без повторной визуализации. Цвет тени можно откорректи-
ровать с помощью элемента Shadow. При визуализации с помощью ядра V-Ray
GPU элемент Shadow несовместим с Adaptive Lights и может неправильно отобра­
жаться при их совместном использовании.
V-Ray Render Elements и процесс композитинга  741

Элемент Total Light


Элемент изображения Total Lighting представляет собой изображение, кото-
рое включает в себя эффекты как прямого, так и глобального освещения на
материалах объектов в сцене, включая компоненту диффузного цвета. Он яв-
ляется результатом добавления элементов изображения Lighting и GI или при-
умножения элементов изображения RawTotalLight и Diffuse. Данный алгоритм
можно представить следующей записью: RawTotalLight × Diffuse = TotalLight.

Рис. 7.3.27  Элемент изображения Total Light

Определенные объекты можно исключить из этого элемента, отключив атрибут


Generate Render Elements в узле VRayObjectProperties для выбранных объектов.

Элемент Unclamped Color


Элемент изображения Unclamped Color сохраняет исходные цвета, которые
были зафиксированы или скорректированы с помощью Color Mapping. Этот
элемент изображения полезен в процессе композитинга для усиления экстре-
мальных цветов (очень ярких или очень темных) или для затенения конечного
изображения неограниченными цветами.
Когда используется один из методов Color Mapping, значения, которые со-
храняются в изобаржении, зависят от того, была ли включена опция ограниче-
ния, а также от остальных параметров Color Mapping.
742  Вывод изображения и композитинг

Рис. 7.3.28  Результат визуализации элемента Unclamped Color


и результат изменения экспозиции в NUKE (внизу) с помощью узла Exposure
в режиме Lights со значением –35

Опорные элементы RAW


в композитинге базовых элементов
В подразделе о базовых элементах я описал несколько примеров применения
RAW-элементов для воссоздания на их оснвое Beauty-элементов. В данном
подразделе приведены основные алгоритмы сведения элементов для полу-
чения определенного Beauty-элемента. Помните, что каждый элемент может
быть изменен независимо. Таким образом, изображение можно изменить на
любом уровне и элементе, что позволяет достичь высокой гибкости в постоб­
работке изображений.
Элемент Raw Diffuse Filter аналогичен элементу Diffuse Filter, за исключе-
нием того, что на него не влияет спад на основе закона Френеля. В результа-
те чего получается сплошная маска, отображающая чистый диффузный цвет
в соответствии с настройками шейдера VRayMtl.
Элемент Raw Diffuse Filter не очень часто используется в композитинге. Но
он может быть полезен при его совместном применении с элементом Diffuse
Render, когда для определенной задачи композитинга необходимы чистые
значения черного и белого цветов.
V-Ray Render Elements и процесс композитинга  743

Элемент Raw GI сохраняет информацию о том, сколько глобального осве-


щения (отраженного диффузного света) принимается поверхностями в сце-
не. Этот RAW-элемент полезен для тонкой настройки глобального освещения
в процессе композитинга.
Элемент Raw GI не учитывает диффузные цвета в сцене и представляет со-
бой запись чистого вклада глобального освещения. Вы можете использовать
этот элемент для формирования элемента GI, опираясь на алгоритм RawGI ×
Diffuse = GI.
Когда в процессе композитинга необходим элемент Raw GI, убедитесь, что вы
также визуализируете элемент GI. Также следует помнить, что элемент Raw GI не
поддерживается ядром V-Ray GPU.

Элемент изображения Raw Lighting сохраняет эффект прямого освещения


на объектах сцены без диффузной компоненты или вклада от глобального ос-
вещения. Это полезно для коррекциии яркости прямого освещения на этапе
композитинга. Используя элемент Raw Lighting совместно с элементом Dif-
fuse, при перемножении будет получен элемент Lighting:

RawLight × Diffuse = Lighting.

Элемент Raw Reflection хранит информацию об отражениях в сцене, вы-


численную на основании значения, присвоенного отражениям в свойствах
материалов сцены. Поверхности без явно заданных свойств отражения не бу-
дут сохранены в данном элементе, это означает, что области без отражений
будут отображаться черным цветом. Элемент Raw Reflection сохраняет полное
отражение объектов, отражающихся в сцене, в то время как элемент Reflec-
tion Filter определяет, какая часть этого отражения должна проходить в ком-
позитинге. Другими словами, фильтр определяет силу отражений, в то время
как RAW-изображение определяет то, что отражается на изображении. Когда
эти два элемента приумножаются, истинный уровень отражения представлен
как элемент Reflection, рассмотренный выше. Используя эти раздельные эле-
менты отражений, вы можете точно настраивать отражения в конечном изо-
бражении. Когда Raw Reflection умножается на Raw Reflection Filter, создается
элемент Reflection:

Raw Reflection × Raw Reflection Filter = Reflection.

Элемент Raw Reflection Filter аналогичен элементу Reflection Filter, за ис-


ключением того, что на него не влияет спад Френеля. Результатом является
сплошная маска, показывающая области отражений. Он полезен тогда, ког-
да для отражающих объектов требуется точная маска. В отличие от элемента
Reflection Filter нет необходимости обрезать или перенастраивать значения,
когда для композитинга требуется чистый черный или белый цвет.
Аналогично элементам изображения Raw Reflection и Raw Reflection Filter
действуют элементы Raw Refraction и Raw Refraction Filter. Когда Raw Re-
fraction умножается на Raw Refraction Filter, создается элемент Reflection:

Raw Refraction × Raw Refraction Filter = Refraction.


744  Вывод изображения и композитинг

Чтобы правильно рассчитать информацию о преломлениях в элементах Raw


Refraction и Refraction Filter, элемент Refraction должен визуализироваться од-
новременно, даже если он не будет использоваться в процессе композитинга.
Это позволяет включить всю информацию о преломлении в расчеты процесса
визуализации.
Элементы изображения Raw Refraction и Raw Refraction Filter не поддерживается
при визуализации V-Ray GPU.

Элемент Raw Shadows сохраняет информацию об отбрасываемых тенях,


рассчитанную на основании освещения в сцене. Это «инвертированное»
изобра­жение в том смысле, что белые области обозначают тени, а черные об-
ласти – что теней нет.
Данный элемент полезен для изменения затененных областей после этапа
визуализации в процессе композитинга или редактировании изображения.
Приумножение элемента Raw Shadow на элемент Diffuse в результате дает эле-
мент Shadow:

RawShadow × Diffuse = Shadow.


С использованием элемента изображения Shadow тени можно как добавлять, так
и вычитать на этапе композитинга без повторной визуализации. Также тени мож-
но корректировать по цвету. Но помните, что этот элемент не поддерживается при
визуализации средствами V-Ray GPU.

Элемент изображения Raw Total Lighting представляет собой сумму всего


необработанного освещения (как прямого, так и непрямого) в сцене без ка-
ких-либо деталей диффузного затенения. Этот элемент полезен для измене-
ния внешнего вида освещения в сцене. Ниже приведено несколько алгоритмов
возможного объединения элементов:

vrayRE_Raw_Total_Light × vrayRE_Diffuse = vrayRE_Total_Light;


vrayRE_Raw_Light + vrayRE_Raw_GI = vrayRE_Raw_Total_Light.

Создание групп освещения с помощью элемента


Light Select
Элемент изображения Light Select представляет вклад в освещение от од-
ного или нескольких источников света, выбранных пользователем. Каждый
элемент Light Select для выбранных источников света может выводить raw-
данные, диффузный цвет или зеркальные отражения, формируемые освеще-
нием, или общий вклад (прямое освещение) света. Используя режим Full Light,
элемент записывает данные в виде данных типа Beauty, но только для вклю-
ченных в элемент источников света. Когда несколько источников света до-
бавлены в один элемент изображения Light Select, эффект освещения от этих
источников будет объединен в одном элементе. Для одной сцены может быть
создано несколько элементов Light Select, а источники света могут быть вклю-
чены в более чем один элемент Light Select.
V-Ray Render Elements и процесс композитинга  745

Рис. 7.3.29  Визуализация элементов Light Select с различными наборами


источников света. Слева – диффузное освещение, в центре – глобальное осве-
щение, справа – зеркальные отражения

По своей концепции данный элемент похож на элемент типа Lighting. Одна-


ко элемент Lighting сочетает в себе эффект всех источников света, присутству-
ющих в сцене, в то время как элемент Light Select позволяет выделить только
определенный источник света или набор источников света, тем самым сохра-
няя свои собственные индивидуальные эффекты освещения в сцене. Используя
полученные элементы, на этапе композитинга можно корректировать спец-
ифические для источников света свойства (цвет, температуру, яркость и т. д.).
Приведу пример: визуализировав элемент Light Select для всех источников
света сцены, расположенных сзади объектов, можно легко скорректировать
подсветку визуализируемой сцены в композиции, не влияя на остальное ос-
вещение в сцене.
Определенные объекты можно исключить из данного элемента изображения, от-
ключив атрибут Generate Render Elements в узле VRayObjectProperties для связан-
ных с ним объектов.

Основные атрибуты элемента Light Select


Так как элемент Light Select обладает уникальными для него возможностя-
ми и функциями, для их реализации был разработан специальный узел, до-
ступ к атрибутам которого можно получить с помощью редактора атрибутов
(рис. 7.3.30). В данном подразделе я опишу основные атрибуты, используемые
для настройки визуализации элементов.
Когда атрибут Enable активен, элемент изображения будет отображен
в V-Ray VFB и сохранен в файле изображения. Атрибут Deep output опреде-
ляет, будет ли элемент включен в изображение формата deep. Когда элемент
сохраняется в качестве отдельного файла, поле Filename suffix позволяет вве-
сти суффикс имени файла, добавляемый в конец имени файла с изображени-
746  Вывод изображения и композитинг

ем, например imagefilename.lightselect.exr. Атрибут Apply color mapping, как


и в случае с остальными элементами типа Beauty, позволяет применить дей-
ствие параметров сопоставления цветов, заданных в свитке Color Mapping во
вкладке VRay редактора Render Setup. Данный атрибут активен по умолчанию.
Если вы включите атрибут Consider for Anti-Aliasing, сглаживание будет ис-
пользовано там, где это возможно.

Рис. 7.3.30  Узел VRayRenderElementSet элемента Light Seelct


и атрибуты для настройки свойств

Раскрывающийся список Type задает, какой тип освещения будет сохранен


в элементе; вы можете выбрать один из следующих типов:
 Direct illumination – освещение содержит информацию о диффузном
цвете и зеркальных отражениях;
 Direct raw – элемент будет содержать raw-данные об освещении в сцене;
 Direct diffuse – элемент будет сохранять только диффузный цвет и не
будет содержать никакой информации о зеркальных отражениях;
 Direct specular – при выборе данного типа элемент будет сохранять
только зеркальные отражения, формируемые материалами в сцене;
 Full – свет от связанных с элементом источников света будет полностью
сохранен в элементе. В частности, будут записаны такие эффекты осве-
щения и затенения, как GI, SSS, отражение, преломление и т. д.;
 Indirect – при выборе данного типа будет сохранено только глобальное/
непрямое освещение в сцене;
 Indirect diffuse – при выборе данного типа в элементе будет сохранено
только глобальное освещение сцены, которое сформировано на основе
диффузного цвета;
V-Ray Render Elements и процесс композитинга  747

 Indirect specular – действует аналогично типу Indirect diffuse, но сохра-


няет данные о глобальном освещении, участвующем в отражениях.
Атрибут Denoise включает устранение шума в данном элементе. Но эффект
будет проявляться только тогда, когда присутствует элемент изображения De-
noiser.

Добавление источников света в связь с элементом


Light Select
Элемент Light Select действует как стандартный набор объектов Maya
(рис. 7.3.31). При создании элемент создает пустой набор объектов. Вы може-
те добавить любой источник света в сцене. Это можно сделать одним из двух
способов.
Способ первый. Добавьте элемент Light Select в список Added render ele-
ments во вкладке Render Elements. В редакторе Outliner это создаст набор
vrayRE_Light_Select. В редакторе Outliner выберите источник света и средней
кнопкой мыши перетащите его в набор vrayRE_Light_Select. Теперь он добавлен
к элементу Light Select.
Второй способ добавить источники света в элементы Light Select – это ре-
дактор Relationship Editor (меню Window ⇒ Relationship Editors ⇒ Sets). Выбе-
рите элемент Light Select, чтобы увидеть, какие источники света включены
в него, и включить или исключить любой из них.

Рис. 7.3.31  Редактор Outliner


с несколькими наборами источников света,
относящихся к трем отдельным элементам Light Select
748  Вывод изображения и композитинг

Общий процесс композитинга


В приведенной на рис. 7.3.32 диаграмме показан общий процесс и результат
композитинга, воссоздающий все освещение в сцене в его самой базовой фор-
ме с использованием элементов Light Select. Формирование финального ре-
зультата может произойти, только если для определенного режима каждый
источник света в сцене связан только с одним элементом Light Select. Если
какой-либо источник света используется более чем в одном элементе Light
Select, это уравнение дает более яркое освещение, чем предполагается, по-
скольку дублированные источники света в элементах Light Select сохраняют
освещение более одного раза.
Для корректной работы с элементом Light Select все активные источники
света должны быть добавлены в набор объектов данного элемента.
Когда элементу изображения Light Select задан тип Direct Illumination, сум-
ма всех элементов в данном режиме заменяет элементы Lighting и Specular
в процессе композитинга Back to Beauty, рассмотренного выше. Обратите вни-
мание, что комбинация типов Direct Diffuse и Direct Specular приводит к фор-
мированию Direct Illumination.
Когда элементу Light Select задан тип Direct Diffuse, в процессе композитин-
га Back to Beauty сумма всех элементов заменяет элемент Lighting. Обратите
внимание, что шейдер VRayAlSurface со значением sss_mix, отличным от значе-
ния, задаваемому по умолчанию (0), не соответствует этому уравнению.
При выборе типа Direct Raw или Direct Specular сумма всех элементов заме-
няет соответствующие им элементы изображения в процессе Back to Beauty.
Обратите внимание, что тип Direct Raw заменяет элемент изображения Raw
Lighting, если отключено GI и не используются купольные источники света.
Когда элементу задан тип Indirect, сумма всех элементов Light Select заме-
няет все глобальное освещение, отражение и преломление в процессе компо-
зитинга Back to Beauty. Обратите внимание, что композитинг элементов Indi-
rect Diffuse и Indirect Specular приводит к получению элемента типа Indirect.
Когда элементу Light Select определен тип Indirect Diffuse, сумма всех уз-
лов с данным типом сформирует элемент типа Global Illumination. Элементы
с заданным типом Indirect Specular в сумме формируют элемент Reflection.
И в завершение, когда элементам Light Select задан тип Full, при комозитинге
всех элементов будет получен элемент Beauty. Но помните, что в вычислении
элементов Light Select не учитывается эффект каустики.
При использовании элемента Light Select хорошей практикой является использо-
вание одного прохода Light Select для каждого источника света в сцене. Таким
образом, на их основе можно воссоздать элемент Lighting и настраивать по мере
необходимости на этапе композитинга без повторной визуализации.

Если элементу Light Select присвоено значение Direct Light, вклад зеркальных
отражений будет добавлен в визуализируемый элемент изображения. Несмотря
на то что это идеально подходит для простого наложения, лучшие практики за-
ключаются в том, чтобы каждый источник света выбирался для двух элементов
визуализации Light Select: один с типом Direct Diffuse, а другой с типом Direct
Specular. Таким образом, как зеркальные отражения, так и диффузное освещение
могут управляться независимо на уровне сложного композитинга.
V-Ray Render Elements и процесс композитинга  749

Рис. 7.3.32  Общий принцип композитинга изображения на основе


V-Ray Light Seelct Render Element, предоставляемый разработчиками
750  Вывод изображения и композитинг

Когда используется шейдер VRayFastSSS2 или шейдер Al Surface Material на этапе


композитинга, элементы изображения SSS должны быть добавлены с операцией
plus, примененной к элементам Light Select.

Чтобы использовать источники света V-Ray Mesh Light с элементами Light Select,
добавьте узел vrayLightMeshProperties_Link к узлу LightSelect.

Элементы для формирования и управления масками


В процессе композитинга важнейшим инструментом специалиста являются
маски. Маски позволяют выделить определенные области пикселей на изо-
бражении и произвести с ними манипуляции. Практически все приведенные
в данной главе примеры в той или иной степени используют маски. Маски
важны при объединении визуализируемых с помощью V-Ray изображений
и снятых в реальном мире фотографий или видео. В данном подразделе я по-
старался описать и привести примеры основных элементов, участвующих
в формировании масок на этапе композитинга. В V-Ray for Maya реализованы
следующие элементы записи масок: Cryptomatte, Material ID, Multi Matte, Multi
Matte ID, Object ID (RE), Object Select и Render ID. Элемент Cryptomatte вынесен
в отдельный подраздел, так как является наиболее функциональным и при-
знанным среди художников инструментом для маскирования объектов.

Элемент Material ID
Элемент изображения Material ID создает маски индивидуально для объек-
тов, материалам которых назначены дополнительные атрибуты Multimatte
ID и Material ID (рис. 7.3.33). Дополинтеьные атрибуты могут быть добавле-
ны с помощью редактора атрибутов и меню Attributes ⇒ VRay ⇒ Material ID.
В свитке Extra VRay Attributes можно задать значения атрибутам Material ID
и Multimatte ID.
Атрибут Material ID предоставляет возможность определить цвет иденти-
фикатора материала, а Multimatte ID задает определенный идентификатор
в виде числа. На их основе элемент изображения Material ID заливает выбран-
ным цветом области изображения, в которых расположены объекты с назна-
ченным материалом, содержащим атрибут Material ID (рис. 7.3.34). Данный
элемент применим для изоляции объектов сцены, которые могут быть улуч-
шены или скорректированы в приложении композитинга.
В NUKE или Fusion вы можете брать информацию об объектах не только на
уровне канала rgba, но также формировать маски, используя каналы r, g, b и a
для создания масок на основе областей, которые эти каналы охватывают. Так-
же вы можете поменять каналы цвета местами, что приведет к формированию
необычных масок и позволит охватить больше разнообразных областей изо-
бражения.
V-Ray Render Elements и процесс композитинга  751

Рис. 7.3.33  Дополнительные атрибуты Multimatte ID и Material ID,


определенные шейдеру V-Ray Material, и атрибуты элемента Material ID
в диалоговом Render Settings

Рис. 7.3.34  Результат визуализации сцены


с применением элемента Material ID

Элемент Multi Matte ID


Когда шейдеру материала заданы дополнительные атрибуты Material ID, по-
мимо элемента Material ID, вы можете использовать элемент Multi Matte ID.
Элемент Multi Matte ID записывает информацию для формирования индиви-
дуальных масок для объектов или материалов, опираясь на заданный с помо-
щью расширенных атрибутов идентификатор. Как результат, элемент будет
содержать только блоки цвета, которые соответствуют каждому Multi Matte ID.
752  Вывод изображения и композитинг

Элемент Material Select


Элемент изображения Material Select сохраняет только те объекты, которым
назначены совместимые с V-Ray материалы. Материал может быть как на
верхнем уровне, так и на подуровне шейдера VRayMtlBlend. Данный элемент
может быть настроен с помощью редактора атрибутов (рис. 7.3.35). Основные
атрибуты данного элемента не отличаются от набора атрибутов большинства
элементов, но он также позволяет выполнять связь с шейдерами материалов
в сцене с помощью ряда атрибутов.

Рис. 7.3.35  Атрибуты элемента Material Select

Атрибут Material создает связь с материалом, который будет выведен в эле-


менте изображения. Текстовое поле атрибута Explicit channel name позволяет
указать явное имя для канала изображения. Атрибут Materials создает связи
со списком шейдеров материалов V-Ray, которые будут сохранены в элементе
изображения в том случае, если в элементе должно быть больше материалов.
С помощью атрибута Denoise вы можете применить алгоритмы устранения
шума на основе элемента Denoiser.

Элемент изображения Material Select не поддерживается ядром V-Ray GPU.

Рисунок 7.3.36 демонстрирует пример визуализации элемента Material Se-


lect и редактор Relationship Editor со связанными с элементом материалами
сцены. Для того чтобы получить изображение, приведенное справа, три мате-
риала сцены были добавлены в набор элемента vray_mtllist_mtllist_mtlselect_
set1. В процессе визуализации элемент сохраняет данные только из данного
набора, а вся остальная область изображения заливается черным.
V-Ray Render Elements и процесс композитинга  753

Рис. 7.3.36  Редактор Relationship Editor со связанными с набором элемента


Material Selection шейдерами и пример визуализации элемента Material Select
на основе выбранных шейдеров

Элемент Multi Matte


Элемент изображения Multi Matte сохраняет информацию только в виде трех
цветов: красный, зеленый и синий. Для сравнения: другие элементы масок мо-
гут включать в себя множество цветов для представления каждого материала
или объекта в сцене другим цветом. В элементе Multi Matte один канал R, G или
B может использоваться непосредственно как маска, что исключает этап вы-
бора цвета в приложении для композитинга. Эта простота использования де-
лает элемент Multi Matte популярным среди специалистов по композитингу.

Рис. 7.3.37  Элемент Multi Matte в редакторе атрибутов


754  Вывод изображения и композитинг

Элемент Multi Matte визуализируется с использованием сглаживания (anti-


aliasing). Чтобы представить все объекты или материалы в сцене только крас-
ным, зеленым и синим цветом, для одного изображения можно визуализиро-
вать несколько элементов Multi Matte и каждый – с различными настройками
Material ID или Object ID.
Настройки функций элемента Multi Matte выполняются в редакторе атрибу-
тов (рис. 7.3.37). Элемент обладает как общими для всех элементов атрибута-
ми, так и специальными атрибутами для настройки данного элемента.
Атрибут Output red channel – формирует в изображении красный канал.
Атрибут Red object ID – задает идентификатор (ID), на основе которого будет
сформирован канал красного цвета. Атрибуты Output green channel и Output
blue channel, а также атрибуты Green object ID и Blue object ID выполняют
аналогичные функции, но только для объектов, выделяемых зеленым и синим
цветами.
Когда атрибут Use material ID отключен, элемент Multi Matte определяет
значения для идентификаторов красного, зеленого и синего объектов на ос-
нове идентификатора объекта и соответственно отображает каналы R, G и B.
Когда данный атрибут включен, эти значения берутся на основе идентифика-
тора материала.
Атрибут Affect Matte Objects определяет, включать ли объекты формирую-
щие маски (matte objects) в элемент изображения. Объект маски – это объект, ко-
торому был назначен шейдер VRayMtlWrapper с активным свойством Matte Surface.

Рис. 7.3.38  Элемент Multi Matte,


полученный в результате визуализации

Элемент Multi Matte полезен для выделения геометрии в сцене. В то вре-


мя как другие элементы маскирования выполняют аналогичные задачи, Multi
Matte зачастую быстрее использовать в программном обеспечении для ком-
позитинга, поскольку для представления объектов в сцене каналы данного
элемента содержат чисто красный, зеленый и синий цвета. Программное обе-
спечение для композитинга часто имеет функцию, позволяющую легко выби-
рать красный, зеленый или синий каналы в изображении для использования
в качестве масок.
V-Ray Render Elements и процесс композитинга  755

Элемент Object Select


Данный элемент изображения сохраняет области с объектами, идентификато-
ры которых определены в его атрибутах. Элемент поддерживает как иденти-
фикаторы объектов, так и идентификаторы материалов (рис. 7.3.39).

Рис. 7.3.39  Элемент Object Select


в редакторе атрибутов

Эффект данного элемента может быть реверсивен, когда исключаются конк­


ретные объекты или объекты в соответствии с идентификатором объекта или
материала. В процессе визуализации этого элемента V-Ray также будет вклю-
чать фильтр и отдельные альфа-каналы, чтобы упростить его использование
в процессе композитинга (7.3.40).
Атрибут Use material ID позволяет переключить элемент в режим работы
с Material ID, заданным напрямую шейдерам материалов в сцене. По умол-
чанию элемент использует данные на основе Object ID. Атрибут Affect Matte
Objects определяет, включать ли объекты маски в процессе визуализации эле-
мента. Если это возможно, при включении атрибута Consider for Anti-Alias-
ing в процессе визуализации элемента будет применено сглаживание. Для
инвертирования набора объектов поставьте флажок напротив атрибута Invert
Seelction. Текстовое поле Object IDs/Material IDs позволяет ввести иденти-
фикаторы объектов и материалов, на основании которых будет сформирован
элемент изображения. С помощью атрибута Denoise вы можете применить ал-
горитмы устранения шума на основе элемента Denoiser. Помните, что элемент
изображения Object Select не поддерживается V-Ray GPU.
756  Вывод изображения и композитинг

Рис. 7.3.40  Результат визуализации элемента Object Select (вверху)


и черно-белая маска на основе визуализируемых данных

Элемент Object ID
Как было описано выше, в Maya идентификаторы объектов (Object ID) могут
быть добавлены в качестве дополнительного атрибута V-Ray. Два и более объ-
екта могут иметь один и тот же идентификатор объекта.
Элемент изображения Object ID создает маски на основе идентификаторов
объектов, которые представляют объекты сплошным цветом (рис. 4.2.2). Эле-
мент изображения Object ID полезен для выделения объектов на этапе ком-
позитинга. Это означает, что элементы могут быть изолированы с помощью
маски, созданной на основе сплошных цветов.

Элемент Render ID
Элемент изображения Render ID создает маски на основе идентификаторов,
автоматически назначаемых V-Ray во время процесса визуализации всем объ-
ектам сцены. Каждому объекту присваивается уникальный целочисленный
номер, и каждый номер обладает собственным цветом. Использование канала
Render ID позволяет быстрее создавать маски для всех объектов в сцене без не-
обходимости установки отдельных элементов типа Multi Matte. Маски могут
быть разделены их целочисленными значениями или цветом, используемым
для их представления в приложениях для композитинга. Используется широ-
кий спектр цветов, поэтому два элемента не будут иметь одинаковый цвет.
V-Ray Render Elements и процесс композитинга  757

В элементе Render ID отсутствует сглаживание (anti-aliasing). Там, где край


одного объекта соприкасается с другим объектом, цвет пикселя в этом месте –
это цвет объекта, который больше всего влияет на значение пикселя. Элемент
изображения Coverage может быть приумножен на элемент Render ID на этапе
композитинга для добавления сглаживания к Render ID.

Рис. 7.3.41  Элемент изображения Render ID,


полученный в результате визуализации сцены

Значения Render ID’s не то же самое, что Object ID’s: render id автоматически


назначаются ядром V-Ray только во время визуализации, а object id назнача-
ются пользователем и могут быть изменены в любое время. Кроме того, не-
скольким объектам может быть назначен один и тот же object id, каждый render
id является уникальным для конкретного объекта сцены.
Напрямую элемент Render ID не записывается в файл в формате OpenEXR, для
корректной визуализации данного элемента я рекомендую использовать формат
V-Ray Image (*.vrimg) и с помощью утилиты vrimg2exr конвертировать в файлы
формата *.exr.

Такое количество элементов для формирования масок на основе опреде-


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

Создание масок с помощью элемента Cryptomatte


Набор инструментов и технология Cryptomatte была разработана специали-
стами студии Psyop1 для упрощения работы над созданием и работой с мас­
ками в визуализируемых CG-сценах. На SIGGRAPH 2015 были представлены

1 Исходный код Cryptomatte доступен в сети интернет по адресу https://github.com/


Psyop/Cryptomatte.
758  Вывод изображения и композитинг

возможности библиотеки и алгоритма действия. В данном подразделе я по-


стараюсь дать наиболее полное для понимания принципов работы элемента
Cryptomatte и его применения в процессе композитинга.
Разработчики представили полностью автоматический метод создания
и кодирования идентификаторов масок (ID mattes). По своей структуре трех-
мерные сцены состоят из организованной иерархии объектов и взаимосвя-
зей, и при визуализации двумерных изображений эта информация не со-
храняется. Идентификаторы масок пытаются сохранить организационную
информацию путем установления соответствия между элементами в трех-
мерной сцене и конкретными пикселями в плоскости изображения. Худож-
ники используют эту информацию в качестве масок для изменения объектов
в 2D-изображениях.
В разработку идентификаторов масок вложено много усилий. Метод, кото-
рый был предложен, производит полный набор идентификаторов автомати-
чески, без необходимости ввода значений вручную. В сравнении с использо-
вавшимися ранее методами, получившийся результат обеспечивает лучший
компромисс между компактностью и точностью. Рассматриваемый метод так-
же обеспечивает надежное двунаправленное отображение между подложками
идентификатора и соответствующими элементами в 3D-сцене, предоставляя
ряд преимуществ.
Как и существующие методы, представленные в виде RGBA-масок, метод
идентификаторов масок (ID matte) занимает исключительно один канал изо-
бражения RGBA. Количество изображений, необходимое для обеспечения ху-
дожникам адекватного покрытия, сильно варьируется и быстро увеличивает
количество изображений. Для 3D-художников также может потребоваться
много времени, чтобы настроить маски на основе ID, особенно если им нужно
определить, какие маски потребуются на этапе постобработки.
Другой подход заключается в использовании одной пары ID и Coverage. Они
кодируют несколько ID matte вместе, используя два канала – id и coverage. Канал
id кодирует идентификатор одного объекта на пиксель. Канал coverage кодиру-
ет, сколько значений вносит этот объект в пиксель. Этот метод не может об-
рабатывать случаи, когда важны несколько объектов на пиксель. Случаи, когда
несколько объектов совместно используют пиксели, очень распространен. Это
происходит из-за сглаживания или когда объекты размыты при движении, не
в фокусе или прозрачны. Можно угадать идентификатор второго объекта и ис-
пользовать инвертированный канал coverage, но это охватывает максимум два
объекта. Назначение идентификаторов также является проблемой, поскольку
внутренний идентификатор объекта ядра системы визуализации может не со-
впадать от плана к плану или даже от кадра к кадру.
Чтобы добавить поддержку нескольких объектов на пиксель, в своем под-
ходе разработчики из Psyop расширили методику формирования пар ID-Cov-
erage, используя n-ранжированные пары ID-Coverage. Они также предложили
использовать систему хеширования для преобразования организационных
имен из трехмерной сцены, таких как имена объектов, пространство имен
и материалов.
В парах ID-Coverage идентичность объектов или групп объектов долж-
на быть представлена одним значением данных. Это значение известно как
V-Ray Render Elements и процесс композитинга  759

код идентификатора или id. Канонический способ идентификации объектов


в 3D-сце­­не заключается в использовании удобочитаемых меток строк. Исполь-
зуя хеш-функ­цию, мы просто конвертируем уже существующие метки в коды
идентификаторов.
Метки строк по определению удобны для понимания художниками, по-
скольку они являются теми же метками, которые сами художники используют
для идентификации объектов в сцене. Они также могут использоваться в каче-
стве индексов для программного доступа к компонентам трехмерной сцены.
В большинстве производственных конвейеров метки строк не меняются от
плана к плану или от кадра к кадру. Будучи стабильными, читаемыми и ин-
дексируемыми, эти метки являются идеальными кандидатами для создания
полезных кодов идентификации.
В представленной реализации для формирования трех отдельных иден-
тификаторов используется три типа меток: namespace, object name и material
name. Объекты – это отдельные полигональные поверхности, кривые, поверх-
ности на основе кривых и т. д. Пространства имен различают иерархические
группы объектов, например экземпляры набора моделей, который был дубли-
рован несколько раз. Имена материалов берутся на основе имен шейдеров,
назначенных объектам.
В то время как маски идентификаторов объектов и маски идентификаторов
пространства имен обеспечивают доступ к иерархии сцен с различными уров-
нями детализации, маски идентификаторов материалов обеспечивают доступ
к объектам со сходными физическими свойствами, например ко всем пугови-
цам на рубашке.
Во время визуализации имена объектов и материалов обычно снабжаются
пространством имен в качестве префикса с использованием символа раздели-
теля. В рассматриваемом методе обрабатываются эти полные имена объектов
в пространстве имен и короткие имена объектов. Имена материалов обраба-
тываются аналогично.
Когда ядро системы визуализации выполняет выборку образцов изобра-
жении, три обработанных имени хешируются для создания кодов идентифи-
каторов. Идентификаторы хранятся на уровне выборки в виде трех Arbitrary
Output Variables (AOV).
Идентификаторы могут быть вычислены либо во время выборки, либо пред-
варительно вычислены и сохранены с объектами, с которыми они связаны.
В представленной реализации разработчики решили вычислять идентифика-
торы во время выборки. Это упрощает систему в целом. Также, чтобы учесть
это, разработчики выбрали очень маленький и быстрый алгоритм хеширова-
ния – DJB2.
Помимо хранения кодов идентификаторов на пиксель, также выполняется
сохранение обработанных имен в манифесте, что позволяет восстанавливать
полные имена строк из кодов идентификаторов с использованием реверсив-
ного обращения. Используя манифест, мы можем предоставить описательные
имена для идентификаторов и индексировать конкретные объекты в трехмер-
ной сцене.
Данные, содержащиеся в трех идентификаторах AOV, обрабатываются
фильтром выборки ранжирования. Этот алгоритм производит сопоставление
760  Вывод изображения и композитинг

значений ID с весами в пикселе. Для взвешивания используется ядро сменного


фильтра. Любое ядро фильтра, использованное для фильтрации изображения
канала beauty, может быть повторно использовано нашим фильтром ранжиро-
вания, что позволяет извлеченным областям масок соответствовать результа-
там канала beauty.
Чтобы обработать пиксель, алгоритм вычисляет таблицу весов для каждого
идентификатора, а затем ранжирует идентификаторы по весу. Он создает та-
блицу путем перебора всех образцов, которые вносят свой вклад в пиксель. Вес
каждой выборки вычисляется с использованием произвольного ядра фильтра,
такого как Gaussian или Blackman-Harris. Затем вес добавляется в строку та-
блицы, которая содержит соответствующее значение идентификатора. Если
совпадений не найдено, новый идентификатор добавляется в таблицу.
В том случае, если образец представляет собой частично прозрачный объ-
ект, образец будет содержать несколько подвыборок, каждая со значением ID
и непрозрачности. Вес каждой подвыборки является произведением его соб-
ственной непрозрачности, объединенной прозрачности подвыборок перед
ним и результата дейсвтия ядра фильтра. Комбинированная прозрачность
может быть вычислена как произведение одной минус непрозрачности на
множество подвыборок.
Алгоритм рассматривает фон сцены как нулевой идентификатор, обознача-
ющий пустые образцы. Он используется, когда образец не сталкивается с объ-
ектом или сталкивается только с прозрачными объектами.
Как только все выборки вычислены, идентификаторы ранжируются по аб-
солютному значению накопленных ими весов. Это гарантирует, что отбрасы-
ваются только идентификаторы с наименьшими весами, если количество пар
ID-Coverage меньше, чем количество идентификаторов в таблице.
В своем алгоритме разработчики использовали многоканальные файлы
OpenEXR для кодирования данных. Каждый из трех AOV хранится в отдель-
ном файле, который включает в себя произвольное количество пар ID-Cove­
rage и манифест. Каждая пара ID-Coverage представляет один ранг, и одно
изображение RGBA в четырех каналах может содержать два ранга. Манифест
представляет собой просто список обработанных имен, используемых для соз-
дания идентификаторов, и хранится в виде метаданных.
Значение глубины или количество сохраненных рангов может быть установ-
лено на то, что требуется. Каждый последующий уровень глубины ID-Coverage
имеет тенденцию содержать меньше объектов, чем предыдущий. В результате
каждый слой имеет тенденцию быть лучше сжатым, чем предыдущий, и уве-
личение глубины, чтобы приспособиться к локализованной сложности, незна-
чительно повышает расход.
В рассматриваемой реализации глубина может быть установлена художни-
ками в процессе настройки ядра системы визуализации. Значение по умолча-
нию – 6, что практически всегда достаточно на практике. Хотя это и не требу-
ется, метод хранит RGB-версию с традиционной фильтрацией, чтобы помочь
художникам визуализировать данные идентификаторов.
Извлечение маски является простой и недорогой в отношении вычислений
задачей. Учитывая значение идентификатора, итерируйте пары ID-Coverage.
Если id для пикселя соответствует данному значению, соответствующее зна-
V-Ray Render Elements и процесс композитинга  761

чение coverage является значением маски для этого пикселя, и дальнейшие


пары проверять не нужно.
Чтобы извлечь объединенные маски для нескольких указанных идентифи-
каторов, выполните итерации по парам ID-Coverage. Если идентификатор для
данного пикселя совпадает с любым из указанных идентификаторов, для это-
го пикселя добавьте соответствующее значение coverage к значению маски.
«Ключевое» RGB-изображение создается в программном обеспечении для
композитинга. Красный и зеленый каналы этого изображения являются от-
фильтрованными версиями данных об идентификаторах. Синий канал – это
канал id из первой (самой ранжированной) пары ID-Coverage. При выборке
цвета для этого «ключевого» изображения с использованием пипетки полу-
ченный синий канал используется в качестве идентификатора для извлечения.
Поскольку система включает в себя двунаправленное сопоставление между
значениями идентификаторов и именами объектов, инструменты могут легко
предоставлять художникам список выбранных имен объектов, а также при-
нимать списки имен в качестве входных данных. Художники могут создавать
списки имен в интерактивном режиме, используя пипетку для выбора и от-
мены выбора отдельных объектов.
Списки имен, сформированные в 2D, не только обеспечивают четкую связь
с художником, работающим в 3D-редакторе, но также могут использоваться
в качестве индекса для непосредственного применения изменений к трехмер-
ной сцене. Этот рабочий процесс может использоваться для более быстрой ви-
зуализации изменений в трехмерной сцене, чем обычный подход к настройке
параметров и предварительному просмотру визуализируемого изображения.
Изменения в сцене можно тестировать в движении или при переменном ос-
вещении без необходимости повторной визуализации последовательности
кадров для каждого раунда редактирования. Когда закончите, двумерные на-
стройки могут быть применены к материалам в сцене.

Установка Cryptomatte plug-in’s в NUKE и Fusion


Перед тем как мы познакомимся с функционалом Cryptomatte в V-Ray for
Maya, я сделаю небольшое введение в работу с данный набором инструментов.
Исходный код Cryptomatte для модулей расширения систем композитинга до-
ступен в соответствующем репозитории на GitHub1. Вы можете загрузить не-
обходимый вам модуль расширения и развернуть на своей рабочей станции.
Наиболее распространенными системами композитинга, активно использую-
щими возможности Cryptomatte, являются NUKE и Fusion. Установка расши-
рений достаточно проста. Загрузив архив репозитория Cryptomatte с GitHub
на свою рабочую станцию, пройдите в раздел NUKE или Fusion и выполните
следующие действия по установке расширений.
Для NUKE все сторонние модули расширения NUKE устанавливаются в ди-
ректорию .nuke, расположенную в пользовательской директории. После того как
архив с Cryptimatte будет распакован, пройдите в директорию nuke (рис. 7.3.42).

1 Исходный код Cryptomatte доступен в сети интернет по адресу https://github.com/


Psyop/Cryptomatte.
762  Вывод изображения и композитинг

Рис. 7.3.42  Директория .nuke в пользовательской директории


и выделенные после копирования файла модуля расширения Cryptomatte for NUKE

После чего скопируйте все файлы из директории ~/Cryptomatte/nuke в дирек-


торию .nuke, доступную по одному из следующих путей:
 Linux: /home/<user>/.nuke;
 MacOS: /users/<user>/.nuke;
 Windows: C:\Users\<user>\.nuke.
Если папка назначения уже содержит файл init.py и/или menu.py, откройте
эти файлы в текстовом редакторе и добавьте в них модуль Cryptomatte. После
чего запустите NUKE, и если расширение было установлено корректно, в пане-
ли инструментов появится новая кнопка со списком соответствующих узлов
(рис. 7.3.43).

Рис. 7.3.43  Набор инструментов (узлов) Cryptomatte


в панели инструментов NUKE

Набор инструментов Cryptomatte for NUKE содержит четыре узла: Crypto-


matte, Decryptomatte All, Decryptomatte Selection и Encryptomatte. Функциональ-
ность данного набора инструментов позволяет быстро выделать необходимые
области изображения на каждом из уровней кодирования.
V-Ray Render Elements и процесс композитинга  763

Для Fusion установка набора инструментов Cryptomatte выполняется ана-


логичным образом, но в соответствующие Fusion-директории. Распаковав ар-
хив, загруженный из репозитория GitHub, выполните описанные ниже дей-
ствия.
Скопируйте файл модуля fusion/Modules/Lua/cryptomatte_utilities.lua в стан-
дартную директорию Fusion Lua, определенную переменной LUA_PATH; путь мо-
жет быть представлен следующим образом:
 Linux: /usr/local/share/lua/5.1/;
 MacOS: /usr/local/share/lua/5.1/;
 Windows: C:\Program Files\Blackmagic Design\Fusion 9\lua\.
Скопируйте файл fusion/Fuses/Matte/cryptomatte.fuse в директорию с поль-
зовательскими настройками Fusion, находящуюся по одному из следующих
путей:
 Linux: /opt/BlackmagicDesign/Fusion9/Fuses/;
 Mac: /Applications/Blackmagic Fusion 9/Fusion.app/Contents/MacOS/Fuses/;
 Windows: C:\Program Files\Blackmagic Design\Fusion 9\Fuses\.
Также скопируйте файл fusion/Config/cryptomatte_shortcut.fu в директорию
пользовательских конфигураций, доступную по одному из следующих путей:
 Linux: /opt/BlackmagicDesign/Fusion9/Config/;
 MacOS: /Applications/Blackmagic Fusion 9/Fusion.app/Contents/MacOS/Config/;
 Windows: C:\Program Files\Blackmagic Design\Fusion 9\Config\.
После запуска Fusion набор инструментов Cryptomatte станет доступен в па-
нели инструментов и контекстном меню.

Элемент изображения Cryptomatte в V-Ray for Maya


Так как Cryptomatte является инструментом, который должен быть реализо-
ван не только в приложениях для композитинга, но и поддерживаться ядром
визуализации, система визуализации V-Ray for Maya поддержку Cryptomatte
получила в версии 3.X и предлагает полную поддержку всех заложенных в дан-
ную технологию решений.
Обычно V-Ray использует от трех до пяти автоматически формируемых ка-
налов изображения, хранящихся в многоканальном файле OpenEXR, что устра-
няет необходимость создавать десятки или сотни файлов с данными о масках.
Используя описанный выше набор инструментов Cryptomatte для NUKE или
Fusion, маски могут быть извлечены путем прямого выбора объектов или вво-
да имен объектов. Обратите внимание, что реализация метода Cryptomatte
в V-Ray в дополнение к многоканальным файлам формата OpenEXR также
поддерживает запись в одноканальные файлы формата OpenEXR, использу-
ющие сжатие DWA.
В сравнении с элементом изображения Multi Matte элемент изображения
Cryptomatte (рис. 7.3.44) не требует каких-либо дополнительных настроек сце-
ны, таких как определение Object ID, Material ID и т. д. Рассмотрим атрибуты,
доступные для настройки элемента Cryptomatte в V-Ray.
764  Вывод изображения и композитинг

Рис. 7.3.44  Интерфейс элемента Cryptomatte

Раскрывающийся список ID type указывает, на основе чего будут созданы


ID масок:
 Node name – в данном режиме маски будут созданы на основе имен
узлов;
 Material name – данный режим определяет, что маски будут созданы на
основе материалов сцены;
 Node name with hierarchy – этот режим определяет, что маски будут
созданы на основе имен узлов и их иерархии в виде связанных или
сгруппированных объектов;
 V-Ray user attribute – создает маски на основе данных, определенных
атрибутами V-Ray User Attributes, заданными в поле User Attribute
Name;
 Asset (reference scene) name – создает маски на основе объектов-ссы-
лок Maya References. Но помните, он не создает маски на основе объек-
тов Maya Assets, только файлы-ссылки;
 Sub object name – когда модель сохранена в формате V-Ray Proxy, в дан-
ном режиме будут созданы раздельные маски индивидуально для каж-
дого объекта в файле V-Ray Proxy. Этот режим действует, получая иден-
тификаторы из узла vrayProxy и создавая маску для каждого подобъекта
в прокси-модели (*.abc и *.vrmesh). Этот режим создает маски только для
объектов V-Ray Proxy – обычная геометрия не будет включена в исполь-
зующий данный режим канал Cryptomatte.
Если в сцене Maya вы создадите экземпляры объекта V-Ray Proxy, тип иден-
тификаторов имен подобъектов (sub-object name ID) не будет различаться меж-
ду ними. Для всех своих экземпляров он создаст одну и ту же маску для одного
V-Ray Render Elements и процесс композитинга  765

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


элемент визуализации Cryptomatte с типом идентификатора имени узла и ма-
скировать экземпляры при компоновке.
User attribute name – определяет пользовательский атрибут для создания
идентификаторов, когда в качестве типа идентификатора задан атрибут поль-
зователя V-Ray.
Num levels – определяет количество уровней, представленных в элементе
изображения. Уровни определяют количество объектов, которые могут быть
различимы на пиксель. Если несколько объектов пересекаются в одном пиксе-
ле, элементы более высокого порядка будут содержать ненулевые результаты.
Значение, выбранное по умолчанию, – 6, данного значения обычно достаточ-
но для большинства случаев визуализации.
Атрибут Sub object name mode определяет, какая информация об именах
подобъектов отправляется в манифест Cryptomatte:
 Sub object name only – в манифест будет добавлено только имя под­объ­
екта(-ов) (например, ObjectName);
 Add short root object name – при выборе данного режима путь к тегу
и имени подобъекта(-ов) (например, MeshName.abc/ObjectName) добавляет-
ся в манифест;
 Add full root object name – путь к файлу V-Ray Proxy, путь к тегам и име-
нам подобъектов (например, ~/Assets/MeshName.abc/ObjectName) добавля-
ются в манифест.
Рассмотрим небольшой пример работы элемента Cryptomatte в NUKE. На
рис. 7.3.45 приведен пример визуализации модели экстерьера с применением
элемента Cryptomatte. Визуализация выполнена с применением режима Mate-
rial Name.

Рис. 7.3.45  Элемент Cryptomatte в NUKE.


Области объектов выделены светлым цветом

Когда изображение с элементом Cryptomatte импортируется в NUKE, про-


грамма может его просто отобразить в виде канала EXR-изображения, но на-
бор инструментов Cryptomatte не только отображает данные о типе режима
визуализации элемента, но также включает и возможность выбора одного или
нескольких объектов. Когда с помощью инструмента Picker Add вы выбираете
766  Вывод изображения и композитинг

объекты в сцене, информация о них будет отображена в строке Keyer Expres-


sion и представлена следующей записью:
((cryptomatte00.red == -3.18114956166e+16 || cryptomatte00.red == 55780.8789062) ?
cryptomatte00.green : 0.0) + ((cryptomatte00.blue == -3.18114956166e+16 || cryptomatte00.
blue == 55780.8789062) ? cryptomatte00.alpha : 0.0) + ((cryptomatte01.red ==
-3.18114956166e+16 || cryptomatte01.red == 55780.8789062) ? cryptomatte01.green : 0.0)
+ ((cryptomatte01.blue == -3.18114956166e+16 || cryptomatte01.blue == 55780.8789062) ?
cryptomatte01.alpha : 0.0) + ((cryptomatte02.red == -3.18114956166e+16 || cryptomatte02.red
== 55780.8789062) ? cryptomatte02.green : 0.0) + ((cryptomatte02.blue == -3.18114956166e+16
|| cryptomatte02.blue == 55780.8789062) ? cryptomatte02.alpha : 0.0) + ((cryptomatte03.
red == -3.18114956166e+16 || cryptomatte03.red == 55780.8789062) ? cryptomatte03.green :
0.0) + ((cryptomatte03.blue == -3.18114956166e+16 || cryptomatte03.blue == 55780.8789062) ?
cryptomatte03.alpha : 0.0) + ((cryptomatte04.red == -3.18114956166e+16 || cryptomatte04.red
== 55780.8789062) ? cryptomatte04.green : 0.0) + ((cryptomatte04.blue == -3.18114956166e+16
|| cryptomatte04.blue == 55780.8789062) ? cryptomatte04.alpha : 0.0) + 0
Вам может показаться, что это несвязанные данные, но на самом деле все
достаточно просто. Данные в виде записи cryptomatte00.red == -3.18114956166e+16
|| cryptomatte00.red == 55780.8789062 определяют области выделения. Значения
55780.8789062 являются координатами по вертикали и горизонтали, а вот значе-
ние -3.18114956166e+16 уже представляет глубину в сцене, что позволяет опре-
делить, где находится выделенный элемент.

Рис. 7.3.46  Пример отображения информации об узле


в сцене после выделения

Рисунок 7.3.46 демонстрирует пример отображения информации об объек-


те, который был выделен в NUKE с помощью узла Cryptomatte. Так как файл
содержит информацию об именах объектов и материалах, она будет представ-
лена в поле Matte List.
Появление инструментария Cryptomatte было тепло встречено многими
художниками, я рекомендую использовать его в своей работе многим начи-
V-Ray Render Elements и процесс композитинга  767

нающим специалистам по визуализации. При этом Cryptomatte значительно


снижает время коррекции изображения на этапе композитинга.
Помимо работы с элементами для beauty workflow и создания масок, V-Ray
предоставляет возможность вывода дополнительной технической информа-
ции, которая может быть полезной для добавления специальных эффектов,
таких как глубина резкости и размытие движения на этапе композитинга.

Элементы изображения Z-Depth и Velocity


По своей природе такие эффекты как глубина резкости и размытие движения
очень требовательны ко времени визуализации и тем самым к вычислитель-
ным возможностям рабочей станции. Но в своей основе практически всегда
система визуализации сохраняет информацию о глубине (Z Depth). В разных
ядрах данная информация может формироваться как со скоростью 60 кадров
в секунду, так и в процессе программной визуализации, которая выполняется
средствами CPU и/или GPU.
В данном разделе я расскажу о двух специальных элементах – элементе глу-
бины Z-Depth и элементе скорости/ускорения Velocity. Каждый элемент со-
храняет определенный тип данных и позволяет моделировать необходимые
эффекты на этапе композитинга. Конечно, каждый из данных методов не ли-
шен недостатков, и их особенности стоит учитывать.
Элемент изображения Z-Depth сохраняет информацию о расстоянии каждо-
го объекта в сцене от камеры (рис. 7.3.47). Каждый пиксель, представляющий
объект, для определения расстояния оценивается индивидуально. Разные
пиксели для одного и того же объекта могут иметь разные значения, пред-
ставленные оттенками серого. В этом элементе объекты (или части объектов),
расположенные ближе всего к камере, отображаются черным, а наиболее уда-
ленные – белым. Объекты между самой дальней и ближайшей точками ото-
бражаются в оттенках серого. Чем темнее оттенок серого, тем ближе пиксель
объекта к камере.

Рис. 7.3.47  Элемент изображения Z-Depth,


полученный в процессе визуализации сцены
768  Вывод изображения и композитинг

Наиболее распространенное применение данного элемента – это контроль


глубины резкости на этапе композитинга (рис. 7.3.50). Глубина резкости может
быть сложной вычислительной задачей, если выполнять визуализацию сцены
напрямую в V-Ray for Maya. Это также потребует выполнения большого коли-
чества настроек и тестовых визуализаций. Использование элемента Z-Depth
в композитинге обычно позволяет намного проще и быстрее настраивать эф-
фект глубины резкости, в сравнении с тем же самым процессом, но в Maya.
Определенные объекты можно исключить из визуализации в элементе Z-Depth,
отключив атрибут Generate Render Elements в узле VRayObjectProperties.

Рис. 7.3.48  Атрибуты элемента Z-Depth


в редакторе атрибутов

Атрибуты элемента Z-Depth отображаются в редакторе атрибутов в свитке


Extra V-Ray Attributes. Помимо общих для всех элементов атрибутов, у Z-Depth
есть специальные атрибуты, отвечающие за формирование диапазона глуби-
ны сцены.
Атрибут Use depth from the camera указывает, следует ли использовать
плоскости усечения камеры (near и far clipping planes) в качестве минимально-
го и максимального расстояния Z-Depth. Включение этого атрибута отключает
атрибуты Depth Black и Depth White.
Атрибуты Depth Black и Depth White определяют расстояние объектов от
камеры и в сцене. Атрибут Black определяет объекты, расположенные ближе
к камере, а атрибут White – объекты, расположенные дальше от камеры. Дан-
ные атрибуты будут доступны только тогда, когда атрибут Use depth from the
camera будет отключен.
V-Ray Render Elements и процесс композитинга  769

Depth Clamp – ограничивает цвета элемента Z-Depth в пределах линейного


диапазона от 0 до 1.
Если для визуализации сцены используется прогрессивный алгоритм визуализа-
ции и даже если он отключен, фильтрация будет оказывать влияние на данный
элемент изображения.

Как было сказано выше, элемент Z-Depth полезен для добавления эффекта
глубины резкости к конечному изображению в процессе композитинга без по-
вторной визуализации. Его также можно использовать для создания эффек-
та тумана, объединяя его с изображением, применяя режим Add или режим
Screen с коррекцией цвета по мере необходимости.
В многоканальных файлах OpenEXR элемент Z-Depth всегда записывается как 32-
bit на канал. Даже если вывод остальных элементов выполняется в формате 16-bit
на канал, то канал Z-Depth все равно будет 32-bit.

Приведу небольшой пример создания эффекта глубины резкости в NUKE


с применением узла ZDefocus. Данный узел использует информацию из канала
Z-Depth для определения глубины пикселей и их размытия. На рис. 7.3.49 при-
веден пример графа композиции и интерфейс узла ZDefocus.

Рис. 7.3.49  Граф композиции с применением узла ZDefocus в NUKE и параметры,


использованные для формирования глубины резкости в изображении
770  Вывод изображения и композитинг

Узел ZDefocus предоставляет простой интерфейс для формирования эффек-


та глубины резкости. На рис. 7.3.50 приведен пример полученного на основе
приведенного на рис. 7.3.49 графа композиции. Обратите внимание на тексту-
ру фоновой плоскости – за счет определения расстояния и точки фокуса (ко-
ординаты определены атрибутами focal point x и y) все, что находится дальше
точки фокуса, размывается. В качестве типа фильтрации (атрибут filter type)
выбран режим bladed, который позволяет настроить форму размытия и эф-
фект, присущий объективам из реального мира. Если в сцене будет множество
небольших, но ярких эффектов, то эффект глубины резкости проявится более
отчетливо в виде небольших узоров в боке.

Рис. 7.3.50  Результат визуализации изображения


после применения узла ZDefocus в NUKE

Аналогично моделированию эффекта глубины резкости удается моделиро-


вать эффект размытия движения, но данный эффект может быть создан на
основе данных о движении, сохраняемых в элементе изображения Velocity.
Элемент изображения Velocity (рис. 7.3.51) в разных цветах, представляю-
щих разные скорости, сохраняет скорость поверхностей движущихся в сцене
объектов. Каждый движущийся объект отображается с равномерным цветом
или градиентом. Обычно используется для создания масок для добавления эф-
фекта размытия движения на этапе композитига.
Затенение в элементе Velocity определяется степенью движения для точки
положения каждого объекта. Движение объекта между текущим кадром и сле-
дующим кадром по осям X, Y и Z отображается на компоненты R, G и B с дви-
жением вдоль отрицательной оси как 0 и движением вдоль положительной оси
как максимальное значение.
Из-за взаимосвязи между движением по осям XYZ и цветами RGB элемент
Velocity может быть легко разделен на цветовые компоненты R, G и B в про-
цессе композитинга. Для того чтобы добавить эффект размытия движения,
каждое направление может обрабатываться как отдельно, так и совместно.
Аналогично другим элементам атрибуты элемента Velocity отображаются
в редакторе атрибутов в свитке Extra V-Ray Attributes. Помимо общих для всех
элементов атрибутов, у Velocity есть специальные атрибуты, отвечающие за
формирование диапазона глубины сцены.
V-Ray Render Elements и процесс композитинга  771

Рис. 7.3.51  Элемент изображения Velocity,


полученный в процессе визуализации сцены

Рис. 7.3.52  Элемент изображения Velocity


в редакторе атрибутов

Атрибут Clamp Velocity определяет предел максимальной скорости. Ког-


да он включен, для изображений с плавающей точкой максимальная скорость
ограничивается значением 1, для 8-bit изображений ограничивается значени-
ем 255, и для 16-bit изображений – 65 535. Атрибут Max Velocity используется
для масштабирования значений скорости, записанных в элементе изображе-
ния, чтобы они соответствовали диапазону, определенному атрибутом Clamp
Velocity. Помните, что применение атрибутов Clamp Velocity и Max Velocity
772  Вывод изображения и композитинг

будет уместным только при записи изображений в форматы 8-bit или 16-bit
изображений.
Атрибут Max Velocity in last frame отображает максимальное значение
скорости, которое было определено при визуализации последнего кадра. Этот
атрибут используется только для чтения, и его можно использовать в качестве
руководства для настройки атрибута Max Velocity.
Когда активен атрибут Ignore Z, движение вдоль оси Z не будет учтено.
Стандартным рабочим процессом применения этого элемента является по-
иск кадра в последовательности, которая имеет наибольшее движение, визу-
ализация кадра в Maya с активным элементом Velocity, а затем определение
значения Max Velocity в последнем кадре, которое представлено в атрибутах
этого элемента изображения. Наконец, введите это значение (или немного
большее значение) для параметра Max Velocity при визуализации всей после-
довательности. Для большей гибкости в процессе композитинга этот рабочий
процесс обеспечивает максимальный диапазон сохраняемых в элементе изо-
бражения Velocity цветов.
Рекомендуется отключить элемент изображения Velocity при визуализации с эф-
фектом Motion Blur. Этот элемент формируется, когда в V-Ray включен алгоритм
3D Motion Blur. Тем не менее данный элемент также будет размытым вместе
с остальной частью изображения. Это сделает элемент непригодным для компо-
новки.

Элемент Lighting Analisis. Анализ освещения в сцене


В некоторых случаях требуется проведение оценки освещенности в сцене. Для
архитекторов и при создании высококачественного графического материала
дизайнеры могут представить визуализацию яркости и интенсивности осве-
щения в сцене в виде фальшь-цветов. При настройке освещения в сцене с на-
значением источникам света и камере физически достоверных значений вы
можете получить максимально приближенный к реальности результат анали-
за освещения в сцене. Что является очень востребованным в области архитек-
турной и дизайн-визуализации.
В системе визуализации V-Ray for Maya предусмотрен специальный элемент
изображения – Lighting Analysis, вычисляющий и выводящий изображений
с данными об анализе освещения в сцене. Элемент отображает информацию
об освещенности и яркости в виде цветового градиента или сетки измеренных
значений на кадр.
Во время процесса визуализации создаются каналы освещения и яркости.
После визуализации параметры могут быть изменены, а анализ освещенности
может быть обновлен без необходимости повторной визуализации всего изо-
бражения.
Элемент изображения Lighting Analysis является элементом постобработки
и обновляется только после окончания процесса визуализации. Во изображе-
ние ложного цвета во время визуализации элемент анализа освещения может
отображать изображение с некоторой аппроксимацией, но это не должно быть
интерпретировано как конечный результат.
V-Ray Render Elements и процесс композитинга  773

Как и многие другие элементы, элемент анализа освещения обладает соб-


ственными атрибутами, доступ к которым можно получить через редактор
атрибутов Maya (рис. 7.3.53). Активация элемента производится с помощью
атрибута Enable. Когда флажок поставлен напротив него, элементы Lighting
Anaalysis, Illuminance и Luminance будут сохранены в файле изображения.

Рис. 7.3.53  Интерфейс элемента Lighting Analysis

Раскрывающийся список Quantity предоставляет возможность выбора ме-


тода анализа информации об освещенности:
 Illuminance (lx) – в данном режиме освещенность будет представлена
в люксах (Lux) (рис. 7.3.54 C);
 Luminance (cd) – данный режим представляет яркость в канделлах (Cd)
(рис. 7.3.54 D).
Рисунок 7.3.54 C демонстрирует результат визуализации анализа освещен-
ности с применением режима Illuminance (lx). Атрибутам Min. Value и Max.
Value были присвоены значения 6144.0 и 92160.0 соответственно. Иллюстра-
ция D в том же рисунке демонстрирует визуализацию изображения анализа
освещенности в режиме Luminance (cd).
Атрибут Min. Value указывает, какие значения отображаются как синий,
а атрибут Max. Value указывает, какие значения отображаются как красный.
Все промежуточные значения будут представлены в виде желтого, бирюзового
и зеленого цветов.
774  Вывод изображения и композитинг

С помощью раскрывающегося списка Scale определяется, как значения бу-


дут спроецированы в изображении:
 Linear – цвета будут проецироваться в линейном масштабе;
 Logarithmic – цвета будут проецироваться в логарифмическом масш­
табе.

Рис. 7.3.54  Визуализация элемента Lighting Analysis в различных режимах


и при различных значениях максимальной и минимальной яркостей

Раскрывающийся список Display позволяет определить, как будут представ-


лены данные анализа:
 False colors – в данном режиме кадр будет заполнен градиентом от си-
него (низкие значения) до красного (высокие значения). Для значений
вне диапазона используются соответственно черный и белый цвета
(рис. 7.3.54 A и B));
 Grid overlay – отображает значения в разных точках на пересечении
линий сетки по всему кадру. Они используют аналогичные цвета для
классификации освещения в сцене. Плотность сетки контролируется
с помощью атрибута Grid Horizontal/Vertical Spacing, который задает
расстояние между двумя значениями в пикселях (рис. 7.3.55).
Fade background image – этот атрибут активен только в том случае, если
отображение элемента выполняется в режиме Grid Overlay. Когда включен, он
заполняет визуализируемое изображение так, что значения сетки будут более
заметными.
С помощью атрибута Draw Legend в изображение, формируемое элемен-
том, будет добавлена легенда, отображающая шкалу диапазона минимальной
и максимальной освещенности.
V-Ray Render Elements и процесс композитинга  775

Рис. 7.3.55  Отображение значения об освещении


в сцене в режиме Grid Overlay

Кнопка Update выполняет процесс обновления изображения элемента


Lighting Analysis. Для отображения изменений используйте диалоговое окно
V-Ray Frame Buffer.

Элемент Denoiser. Удаление шума с изображения


В процессе использования алгоритма прогрессивной визуализации (Progres-
sive rendering) при низких значениях выборки изображение обладает силь-
ным шумом. Для его уменьшения необходимо увеличивать количество вы-
борок, а также время визуализации. Современные алгоритмы оптимизации
позволяют достигать определенного уровня детализации и применять мето-
дики устранения цифрового шума, формируемого областями изображения
с меньшим количеством выборок. Каждая система визуализации, использую-
щая метод прогрессивной визуализации, обладает собственным алгоритмом
устранения шума. Также разработчики применяют популярную библиотеку
устранения шума с изображений – NVIDIA AI Denoiser (NVIDIA OptiX Denoiser).
Эта библиотека использует возможности обучения на основе серии шаблонов
и выполняет устранение шума значительно лучше и быстрее в сравнении с ал-
горитмами на основе CPU и классическими методами.
В процессе визуализации элемента V-Ray Denoiser в редактор V-Ray Virtual
Frame Buffer автоматически добавляются несколько элементов изображения,
которые требуются алгоритму удаления шума. Некоторые из них являются
стандартными элементами изображения, такими как Diffuse и Reflection Filter.
Также формируется несколько специальных элементов изображения:
776  Вывод изображения и композитинг

 элемент изображения noiseLevel – сохраняет количество шума в каждом


пикселе, оцененное алгоритмом выборки изображения шума, и пред-
ставляет в значениях градаций серого (рис. 7.3.57);
 элемент изображения defocusAmount не будет визуализироваться чер-
ным только тогда, когда включены эффекты глубины резкости и размы-
тость движения в изображения, и содержит приблизительное размытие
пикселей в пространстве экрана.

Рис. 7.3.56  Интерфейс элемента изображения Denoiser


в редакторе атрибутов

Когда элемент V-Ray Denoiser визуализируется, он содержит окончательное


изображение, полученное в результате удаления шума. Будет ли этот элемент
визуализации сформирвоан – зависит от выбора режима с помощью атрибута
Mode.

Алгоритмы и методы устранения шума


Элемент V-Ray Denoiser предлагает выбор между стандартным методом уда-
ления шума в виде V-Ray Denoiser и прогрессивный метод с применением ал-
горитмов машинного обучения NVIDIA AI Denoiser. Каждый предлагает свой
алгоритм удаления шума, который имеет свои преимущества.
V-Ray Render Elements и процесс композитинга  777

Рис. 7.3.57  Изображение, полученное после визуализации в прогрессив-


ном режиме визуализации без удаления шума (A), элемент изображения noise-
Level отображающий области с наибольшим шумом

 Default V-Ray denoiser – для удаления шума данный метод может ис-
пользовать CPU или GPU (от AMD или NVIDIA). Удаление шума данным
методом согласовано, так как он применяет один и тот же оператор уда-
ления шума ко всем каналам/элементам изображения. Это означает, что
он рекомендуется для удаления шума в элементах изображения, кото-
рые будут использоваться для процесса Back to Beauty. Кроме того, он
поставляется с инструментом Denoiser Tool, который рекомендуется для
удаления шума в секвенции кадров анимации с использованием смеши-
вания кадров.
778  Вывод изображения и композитинг

 NVIDIA AI Denoiser – интеграция V-Ray с алгоритмом удаления шума на


базе искусственного интеллекта от NVIDIA. Для работы NVIDIA AI Denois-
er требуется графический процессор NVIDIA независимо от того, выпол-
нялась ли фактическая визуализация на CPU или GPU. Это означает, что
для визуализации на CPU по-прежнему потребуется графический процес-
сор NVIDIA для устранения шума с помощью метода NVIDIA AI Denoiser,
и он обладает некоторыми преимуществами и недостатками в сравнении
со стандартным методом V-Ray Denoiser. Например, NVIDIA AI Denoiser
выполняет удаление шума быстрее, но не согласован при удалении шума
из отдельных элементов изображения. Это означает, что между исход-
ным RGB-изображением с удалением шума с помощью NVIDIA AI Denois-
er и изображением, восстановленным из элементов изображения, будут
различия. Он также не поддерживает подавление шума между кадрами
и, вероятно, будет вызывать «мерцание» при использовании в анимации.
Метод NVIDIA AI Denoiser всегда используется в процессе визуализации в режиме
IPR. Также метод на основе NVIDIA AI Denoiser работает только на GPU NVIDIA
архитектуры Maxwell и новее.

Раскрывающийся список атрибута Mode позволяет выбрать, как будут со-


хранены результаты элемента изображения V-Ray Denoiser:
 Only generate render elements – все элементы изображения, необходи-
мые для удаления шума, формируются таким образом, чтобы удаление
шума можно было выполнить с помощью автономного приложения De-
noise Tool или плагина V-Ray Denoiser для NUKE. Рассчитанная в них ин-
формация не применяется к другим элементам изображения, а элемент
V-Ray Denoiser не формируется;
 Hide denoiser element – элемент V-Ray Denoiser не присутствует от-
дельно в буфере кадров. Элемент effectResult создается с очищенным
изображением;
 Show denoiser element – элемент изображения V-Ray Denoiser форми-
руется так, чтобы с использованием указанных настроек содержать вер-
сию элемента RGB Color с удаленным шумом. Исходные элементы изо-
бражения, включая RGB Color, не изменяются.
Атрибут Engine – позволяет выбирать между методом V-Ray Denoiser, кото-
рый используется по умолчанию, и методом NVIDIA AI Denoiser.
Preset – предлагает шаблоны для автоматической установки значений
атрибутов Strength и Radius:
 Default – применяет удаление шума среднего уровня силы (использует-
ся по умолчанию);
 Mild – применяет более тонкий уровень удаления, чем шаблон Default;
 Strong – применяет более сильный уровень удаления шума, чем шаблон
Default;
 Custom – позволяет атрибутам Strength и Radius задавать пользователь-
ские значения.
Атрибут Strength – определяет силу удаления шума. Это значение автома-
тически устанавливается при выборе одного из шаблонов, но может быть из-
менено, если в качестве шаблона выбран Custom. С помощью атрибута Radius
V-Ray Render Elements и процесс композитинга  779

Рис. 7.3.58  Пример очистки изображения с помощью V-Ray Denoiser


при различных настройках атрибута Strength. A – Strength = 0.5, Radius = 6.0,
B – Strength = 2.0, Radius = 6.0, C – Strength = 6.0, Radius = 6.0
780  Вывод изображения и композитинг

задается область вокруг каждого пикселя, который должен быть очищен от


шума. Меньший радиус влияет на меньший диапазон пикселей, в то время как
больший радиус влияет на больший диапазон, что увеличивает силу удаления
шума. Это значение также автоматически устанавливается при выборе одного
из шаблонов, но может быть изменено в пользовательском режиме.
Hardware acceleration – позволяет задействовать GPU для ускорения вычис-
лений удаления шума. В случае отсутствия совместимого GPU алгоритм уда-
ления шума автоматически переключается на использование CPU, даже если
этот атрибут включен. При использовании средства удаления шума NVIDIA AI
Denoiser этот атрибут недоступен.
Когда включен атрибут Generate Render Elements, метод удаления шума
добавляет только те элементы, которые необходимы для текущего процесса
очищения. Когда он отключен, метод добавляет только элементы изображе-
ния noiseLevel и defocusAmount. Остальные элементы должны быть добавлены
вручную.
Кнопка Update позволяет повторно применить операцию удаления шума,
когда требуемые элементы изображения уже присутствуют в V-Ray Frame Buf-
fer. Элементы также могут быть сформированы с помощью Maya Batch Render
или путем загрузки многоканального изображения в формате *.vrimg или *.exr
напрямую в V-Ray Frame Buffer. Используйте эту кнопку, чтобы снова приме-
нить выбранный и сконфигурированный с помощью атрибутов конфигурации
метод удаления шума.

Предлагаемые настройки визуализации


Хоть алгоритм удаления шума может быть достаточно эффективен, он не
идеален. Изображения с большим количеством шума могут привести к арте-
фактам и потере деталей в изображении. Для большинства сцен используйте
Progressive Image Sampler со значением атрибута Noise Threshold, равным 0.05
или ниже. Кроме того, алгоритм удаления шума работает лучше всего, когда
уровни шума на изображении одинаковы (когда канал noiseLevel максимально
приближен к однородному серому), поэтому использование очень низкой вы-
борки не рекомендуется.
При визуализации анимации отключение атрибута Animated Noise Pattern
в свитке DMC Sampler обычно улучшает результаты. А использование авто-
номного приложения Denoise Tool для визуализированных кадров анимации
может дополнительно улучшить качество анимации.
С помощью атрибута Post Effect Rate вы можете изменить частоту, с которой
обновляется процесс удаления шума во время прогрессивной визуализации.
Увеличьте значение в данном атрибуте, если вы хотите чаще видеть очищен-
ное изображение во время интерактивной визуализации с V-Ray и V-Ray GPU.
Но обратите внимание, что использование больших значений полезно только
в режиме IPR и не рекомендуется для окончательной визуализации.
V-Ray Render Elements и процесс композитинга  781

Рис. 7.3.59  Пример очистки изображения с помощью V-Ray Denoiser


при различных настройках атрибута Radius. A – Strength = 4.0, Radius = 1.0,
B – Strength = 4.0, Radius = 6.0, C – Strength = 4.0, Radius = 12.0
782  Вывод изображения и композитинг

Очистка отдельных элементов изображения


Чтобы удалить шум из отдельного элемента изображения, выберите его в ре-
дакторе Render Settings ⇒ вкладка Render Elements > список Added Render Elements
в редакторе атрибутов в свитке Extra Vray Attributes и установите флажок на-
против атрибута Denoise.
Как вы могли заметить, некоторые элементы изображения не обладают
атрибутом Denoise, так как они не сохраняют информацию о цвете. По этой
причине нет смысла их очищать от шума, так как это исказит данные. Напри-
мер, данные элементов ZDepth и Velocity не нуждаются в удалении шума, как
и элементы формирования масок Cryptomatte или Multi Matte.

Удаление шума в режиме IPR


При визуализации в режиме IPR рекомендуется использовать NVIDIA AI De-
noiser и атрибуту Post Effects Rate задать значение 100. Метод NVIDIA AI De-
noiser мгновенно формирует очищенное от шума изображение, а значение
атрибута Post Effects Rate, равное 100, гарантирует, что вы будете видеть чи-
стый результат настолько часто, как это возможно. Чтобы использовать очист-
ку изображения от шума в режиме IPR с VFB, выполните следующее:
 добавьте элемент изображения Denoiser и в качестве метода выберите
NVIDIA AI denoiser;
 атрибуту Post Effects Rate задайте значение 100;
 теперь вы можете начать выполнять визуализацию в режиме IPR в V-Ray
Frame Buffer.
Чтобы использовать очистку изображения с визуализацией IPR в видовом
окне проекции, выполните следующее:
 используя значок логотипа V-Ray на viwport panel, запустите процесс
V-Ray IPR в видовом окне проекции;
 включите удаление шума в видовом окне, щелкнув значок Denoiser, рас-
положенный рядом с логотипом V-Ray. Для удаления шума в режиме IPR
автоматически выбирается метод NVIDIA AI Denoiser, а атрибуту Post
Effects Rate будет задано значение 100.
Начиная с V-Ray Next, Update 2, метод NVIDIA AI Denoiser всегда используется
в процессе визуализции IPR.

В данной главе я постарался представить вам основной процесс вывода эле-


ментов изображения в V-Ray for Maya и их композитинга. В начале работы вам
может показаться сложным такой объем данных, но заранее спланированная
сцена и задачи, которые вы будете решать в процессе постобработки, позволят
грамотно планировать потоки данных между приложениями 3D-анимации
и композитинга.
На этом знакомство с основными возможностями V-Ray for Maya можно
считать завершенным. Комбинируя множество возможностей, вы можете по-
лучать самые разнообразные изображения и решать поставленные задачи.
В приложениях раскрыто несколько технических аспектов, которые помогут
вам в лучшем понимании работы системы визуализации V-Ray и его интегра-
ции с другими приложениям.
Приложение А
Установка
и развертывание V-Ray

Данный раздел посвящен началу работы с системой визуализации V-Ray


и в первую очередь ориентирован на технических специалистов, администра-
торов и профессиональных пользователей. В приложении А я постарался опи-
сать основной принцип установки и развертывания V-Ray for Maya на рабочих
станциях под управлением ОС семейства Linux (на основе дистрибутива Cen-
tOS 7.7-1908)1. Примеры установки для ОС семейства Windows и MacOS описа-
ны менее подробно, но принципы у всех систем будут идентичны.

А.1. Загрузка дистрибутива и подготовка


к установке
Установка V-Ray for Maya начинается с загрузки необходимого дистрибутива
программы. В последние годы дистрибуция большинства приложений осу-
ществляется через сеть интернет с официальных порталов загрузки самих раз-
работчиков. Дистрибутив системы визуализации V-Ray может быть загружен
с веб-сайта компании Chaos Group по адресу https://download.chaosgroup.com/
(рис. А1.1).
Для полноценной установки и при учете развертывания на серверах вам по-
требуется загрузить не только сам V-Ray for Maya, но также сервер лицензий –
Chaos Group License Server. Разработчики сопровождают три версии сервера
лицензий – для платформ Linux, MacOS и Windows. При этом следует помнить,
что до V-Ray Next были реализованы две модели лицензирования – на основе
аппаратного ключа (Dongle Key) и облачной лицензии, на основе модели под-
писки. Оба типа лицензирования поддерживаются доступной во время напи-
сания книги версией сервера лицензий.
Загрузить дистрибутив V-Ray for Maya и License Server можно, кликнув по
кнопке перехода в соответствующий раздел портала загрузок (рис. А1.1). За-
грузив License Server, вы можете перейти к загрузке V-Ray for Maya. Здесь стоит
сделать небольшую ремарку. Так как V-Ray – это системное решение, которое

1 За основу взят V-Ray Next for Maya Update 1.1, доступный для загрузки на официаль-
ном портале Chaos Group.
784  Установка и развертывание V-Ray

может быть развернуто как на локальной рабочей станции, так и на множе-


стве станций в сети и даже на вычислительном кластере, разработчики предо-
ставляют две версии дистрибутива – с программой установки и в ZIP-архиве
(рис. А1.2). Первый удобно использовать на локальных рабочих станциях,
а второй идеально подходит для развертывания на вычислительных кластерах
и фермах визуализации, при этом его можно интегрировать как полноценную
часть дистрибутива целой операционной системы. Принцип установки с по-
мощью копирования необходимых файлов вручную выходит за рамки данной
книги, но его ключевой особенностью является гибкость и отсутствие зависи-
мости от интерфейсов пользователя.

Рис. А1.1  Портал загрузки приложений Chaos Group

Установка флажка Show all versions позволяет отобразить все доступные для
выбранной версии Maya дистрибутивы V-Ray for Maya. Приведу пример: во
время работы над книгой я использовал Autodesk Maya 2018.6, для данной вер-
сии доступны V-Ray 3.6 for Maya (release 3.60.01–3.60.04), V-Ray Next for Maya
(release 4.04.01–4.04.02), V-Ray Next for Maya, Update 1 (release 4.12.01–4.12.02),
V-Ray Next for Maya, Update 2 (release 4.30.00–4.30.01).
Помимо этого, обладатели лицензий и постоянные клиенты компании, а так-
же участники бета-тестирования могут загружать ежедневные сборки V-Ray.
Это сделано специально для того, чтобы клиенты компании могли получать
последние исправления и новые возможности, реализуемые в функционале
системы визуализации. Если у вас приобретена лицензия, вы можете пройти
по ссылке https://nightlies.chaosgroup.com/ и, войдя под своей учетной записью,
получить доступ к последним ночным сборкам вашей версии V-Ray (рис. А1.3).
Загрузка дистрибутива и подготовка к установке  785

Рис. А1.2  Раздел загрузки V-Ray Next for Maya 2018.


Доступны две редакции: редакция с установщиком
и редакция в виде ZIP-архива

Рис. А1.3  Раздел Nightlies для загрузки ночных сборок


и быстрых обновлений системы визуализации V-Ray
786  Установка и развертывание V-Ray

Загрузив необходимые компоненты, можно приступить к установке систе-


мы визуализации V-Ray for Maya. Первое, на что хочется обратить ваше внима-
ние, – это то, что необходимо разрешить установку программ в системе. В Win-
dows это делается легко, за счет прав учетной записи пользователя Administrator
вы можете запустить приложение и выполнить его установку. Но на ОС семей-
ства Linux и MacOS у неопытных пользователей могут возникнуть сложности.
В системах семейства Linux исполняемые приложения могут не обладать раз-
решением на выполнение. То есть файлу не дано разрешение на исполнение,
это касается различных установщиков и приложений, влияющих на конфигура-
цию системы и добавляющих в нее службы. Таким приложением в первую оче-
редь является сервер лицензий. На рис. А1.4 приведен пример установки флаж-
ка Allow executing file as program напротив свойства Execute. Для его установки
просто щелкните ПКМ по файлу cgls_*.bin и, перейдя во вкладку Permissions,
установите данный флажок. В ряде дистрибутивов также может потребоваться
изменение прав доступа выбором типа Read and Write в свойствах файла.

Рис. А1.4  Флажок Allow executing file as program


позволяет выполнять стороннее приложение

В системах семейства macOS рекомендуется немного изменить глобальные


настройки безопасности системы. Для этого пройдите в System Preferences ⇒
Security & Privacy ⇒ вкладка General. В группе Allow apps downloaded from: вы-
берите пункт Anywere1.

1 Начиная с macOS Sierra, произведены изменения, и выбор глобальных конфигура-


ций представлен двумя пунктами; для запуска приложений рекомендуется выби-
рать пункт App Store and identified developers. Подробнее об изменениях и предостав-
лении прав для исполняемых приложений можно узнать из статьи, доступной по
адресу https://support.apple.com/en-us/HT202491.
Установка сервера лицензий Chaos Group  787

Предоставив необходимые привилегии пользователю, приступим к уста-


новке. Первое приложение, которое необходимо установить, – сервер ли­
цензий.

A.2. Установка сервера лицензий Chaos Group


Сервер лицензий устанавливается как на локальную рабочую станцию, так
и на отдельно выделенный сервер. Выделение отдельного сервера лицензий
выгодно использовать, когда у вас более десяти узлов, и каждый участвует
в вычислениях. Конечно, локально вы также можете развернуть сервер лицен-
зий и подключаться к нему, так как лицензия типа Workstation позволяет об-
ращаться к серверу лицензий и работать с V-Ray с любого другого компьютера
в локальной сети. Например, я использую как настольную рабочую станцию,
так и два ноутбука. Каждый из них обладает установкой V-Ray for Maya и V-Ray
Standalone. Для управления лицензиями в локальной сети развернут сервер
лицензий, к которому обращаются ноутбуки, и, если доступна лицензия, V-Ray
на них выполняет свою работу.

Рис. А2.1  Установка сервера лицензий Chaos Group

Сервер лицензий предоставляет возможность управления лицензиями не


только для V-Ray, но и для системы моделирования физических эффектов
Phoenix.
Сам процесс установки очень прост. Запустите процесс установки в диало-
говом окне Chaos License Server (страница License Terms), согласитесь, выбрав
I Agree, или отклоните, выбрав I Disagree, условия лицензионного соглашения.
В первом случае установка будет продолжена, во втором – программа установ-
ки сервера лицензий будет закрыта. При принятии соглашения установщик
переведет на вторую страницу – Current Installation Parameters, – в которой вы-
полняется конфигурация сервера лицензий. По умолчанию сервер лицензий
(версия 5 и выше) устанавливается по следующим путям:
 Linux: /usr/ChaosGroup/VRLService/OLS;
 macOS: /Applications/ChaosGroup/VRLService/OLS;
 Windows: C:\Program Files\Chaos Group\VRLService\OLS.
788  Установка и развертывание V-Ray

Кнопка Customize позволяет настроить установку сервера лицензий, пре-


доставляя несколько параметров (набор параметров может отличаться в за-
висимости от программной платформы).
License server directory – определяет каталог установки сервера лицензий,
отличимый от каталога по умолчанию.
Migrate data during installation – когда данный параметр активен, все ваши
настройки, сделанные с помощью более старых версий сервера лицензий, та-
кие как активная система электронных ключей (dongle keys), настройки прок-
си-сервера и т. д, будут перенесены в новый сервер лицензий. Отключение
этого параметра приведет к установке cервера лицензий со всеми настройка-
ми по умолчанию, и любые пользовательские настройки, определенные пре-
дыдущей установкой, будут утрачены.
Add firewall exception – включение этого параметра добавляет порт сер-
вера лицензий в список исключений брандмауэра. Если вы отключите его на
этом этапе, вам нужно будет вручную добавить исключения портов в бранд-
мауэр. По умолчанию сервер лицензий Chaos Group использует порт TCP 30304.
К примеру, в CentOS Linux добавить порт в список исключений общедоступ-
ной зоны брандмауэра очень просто, для этого в приложении Terminal введите
следующую команду:
# sudo firewall-cmd --zone=public --add-port=30304/tcp
После конфигурации сервера лицензий щелкните по кнопке Install Now,
и, если приложение установки не найдет ранее установленных версий серве-
ра лицензий и не произойдет ошибок, начнется процесс установки. Так как
сервер лицензий работает в качестве службы, убедитесь, что по завершении
установки и перезагрузки служб на рабочей станции он будет запущен. Это
можно сделать одним из следующих способов:
 Linux: используйте SystemV, Upstart или systemd;
 MacOS: используйте launchctl;
 Windows: используйте приложение Services.
По завершении процесса установки вам будет предложено ввести данные
своей учетной записи. На странице Activate введите свои User name и Pass-
word, созданные во время регистрации учетной записи на портале Chaos
Group.
Для доступа к серверу лицензий как с локальной системы используйте
веб-браузер (например, Mozilla Firefox) и введите в адресной строке http://
localhost:30304/#/, если вы подключаетесь удаленно, вместо локального адре-
са введите IP-адрес того сервера, к которому вы подключаетесь, например
http://192.168.1.115:30304/, после чего должна отобразиться страница, пред-
ставленная на рис. А2.2.
Установив и активировав сервер лицензий, можно перейти к непосред-
ственной установке V-Ray for Maya, процесс установки которого незначитель-
но отличается от установки сервера лицензий или любого другого продукта
компании Chaos Group.
Установка V-Ray for Maya с помощью инсталлятора  789

Рис. А2.2  Активный сервер лицензий


с отображением лицензий для V-Ray for 3ds Мax и V-Ray for Maya

A.3. Установка V-Ray for Maya


с помощью инсталлятора
Как было сказан выше, я привожу примеры на основе операционной систе-
мы семейства Linux. Для установки V-Ray for Maya в системе Linux выполните
несколько простых действий. Распакуйте загруженный ранее архив с дистри-
бутивом V-Ray в удобную для вас директорию. Далее откройте приложение
Terminal и перейдите с помощью команды cd в директорию с распакованным
дистрибутивом, например:
# cd ~/user/Downloads/v-ray_next_41_for_maya
Убедитесь, что дальнейшие действия вы будете выполнять от имени учет-
ной записи суперпользователя (sudo) или администратора системы (su). Это
важно, так как V-Ray устанавливается в директорию, куда установлена Maya.
Также убедитесь, что версия V-Ray соответствует версии, установленной на
вашей рабочей станции Maya. Так, версия vray_adv_41201 _maya2016.5_linux_
x64 относится к Autodesk Maya 2016.5 для операционных систем семейства
Linux.
Запуск установки можно сделать, введя несколько команд в Terminal. Стоит
отметить, что если у вас уже установлена ранняя версия V-Ray for Maya, уста-
новщик удалит и только после этого установит новую версию.
790  Установка и развертывание V-Ray

Рис. А3.1  Установка V-Ray for Maya, окно лицензионного соглашения

Обычно запуск установки выполняется следующими командами:


$ cd vray_distro_dir
$ sudo ./vray_adv_<version>_maya<version>_linux_x64
Принять условия лицензионного соглашения можно с помощью флажка
I accept и нажатия кнопки Next. Далее, следуя этапам установки, выполняется
конфигурация и установка системы визуализации (рис. А3.2). По умолчанию
V-Ray for Maya устанавливается в варианте – это полная версия системы визу-
ализации, в которой реализована интеграция с Maya и поставляются дополни-
тельные библиотеки для разработчиков расширений. Другая редакция – авто-
номная версия V-Ray (V-Ray Standalone). Автономная версия используется для
развертывания на фермах визуализации или для внутренних задач по разра-
ботке собственных решений.
Если необходимо выполнить конфигурацию параметров установки, просто
щелкните по кнопке Customize, в открывшемся разделе для настройки мож-
но согласиться или исключить участие в программе улучшения V-Ray – пункт
Help us improve V-Ray?. Определить, какой сервер лицензий использовать.
По умолчанию выбран локальный сервер лицензий – параметр Local V-Ray
license server on this machine. Но если вы хотите подключаться к серверу ли-
цензий с удаленной системы (например, на студии установлен сервер с сер-
вером лицензий), то стоит выбрать параметр Remote V-Ray license server on
Установка V-Ray for Maya с помощью инсталлятора  791

the network. При выборе удаленного сервера лицензий становятся доступны


параметры определения прокси-сервера и IP-адреса сервера лицензий с пор-
том. Также вы можете ввести онлайн-аккаунт сайта компании.

Рис. А3.2  Выбор редакции Full или Standalone


изменит набор настроек установки V-Ray

Рис. А3.3  Разделы конфигурации установки V-Ray for Maya

Параметр Root folder определяет путь к директории, куда установлен пакет


Autodesk Maya, по умолчанию это /usr/autodesk/maya<version>. Параметр V-Ray
plugins destination folder задает путь к модулям ядра и утилитам V-Ray for
Maya, По умолчанию данный путь выглядит так: /usr/autodesk/maya<version>/
vray. С помощью параметра V-Ray additional files определяется путь к до-
полнительным файлам установки V-Ray. Это вспомогательные библиотеки
и утилиты, используемые для реализации дополнительного функционала. По
умолчанию установка выполняется в следующую директорию: /usr/ChaosGroup/
V-Ray/Maya<version>-x64.
Выполнив конфигурацию, нажмите кнопку Install Now для выполнения
процесса установки.
По завершении установки щелкните по кнопке Finish, после чего работа
программы установки завершится.
792  Установка и развертывание V-Ray

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


интерфейс установки V-Ray for Maya может не запуститься. Вы можете выполнить
установку без запуска интерфейса, а напрямую в эмуляторе терминала. Для этого
просто введите $ sudo ./vray_adv_<version>_maya<version>_linux_x64 -gui=0 и сле-
дуйте инструкциям на экране.

Как видите, установка достаточно проста и не занимает много времени.


В операционных системах MacOS и Windows процесс аналогичен, за исключе-
нием небольших отличий в путях установки.
Пути установки в MacOS:
 Root folder: /Applications/autodesk/maya<version>;
 V-Ray plugins destination folder: /Applications/autodesk/maya<version>/
vray;
 V-Ray additional files: /Applications/ChaosGroup/V-Ray/Maya<version>.
Пути установки в Windows:
 Root folder: C:\Program Files\autodesk\maya<version>;
 V-Ray plugins destination folder: C:\Program Files\autodesk\maya<version>\
vray;
 V-Ray additional files: C:\Program Files\ChaosGroup\V-Ray\Maya<version>.

A.4. Установка V-Ray for Maya из ZIP-архива


В больших развертываниях, особенно корпоративного уровня, когда над про-
ектом работают десятки и даже сотни пользователей, системным администра-
торам приходится «играть в конструкторы» и создавать собственные дистри-
бутивы операционных систем со всем необходимым ПО. Эта отработанная
годами практика востребована при создании вычислительных кластеров,
ферм визуализации и виртуальных машин.
Поставка V-Ray for Maya подразумевает не только автоматизированную
установку, но также предоставляет возможность установки приложения из
архива простым копированием файлов в необходимые директории. Этот под-
ход сложнее, так как некоторые конфигурации придется выполнять вручную
и менять конфигурации операционной системы в виде Environment Variables.
Установка V-Ray for Maya из ZIP-архива дает несколько преимуществ в срав-
нении с установкой на основе программы установки.
Установка из ZIP-архива позволяет настраивать пользовательское окру-
жение при запуске каждого экземпляра Maya. В отличие от этого при обыч-
ной установке несколько раз перезаписываются значения переменных сред
V-Ray.
Установку из ZIP-архива можно использовать для запуска V-Ray for Maya
и V-Ray Standalone из произвольного места или даже с сетевого диска. Таким
образом, несколько пользователей может запускать Maya вместе с V-Ray for
Maya, используя только сценарий, который устанавливает переменные среды
без необходимости запуска установки на локальную систему.
Обновление установки на основе ZIP-архива также намного проще, так как
вам не нужно запускать установку на компьютере каждого пользователя.
Установка V-Ray for Maya из ZIP-архива  793

Установка из ZIP-архива позволяет быстро переключаться между различ-


ными версиями V-Ray без переустановки.
Для выполнения ручной установки рекомендуется следовать простым ре-
комендациям:
1) разархивируйте ZIP-архив с дистрибутивом V-Ray в директорию развер-
тывания;
2) задайте переменные среды (Environment Variables), необходимые для
V-Ray for Maya и V-Ray Standalone;
3) укажите сервер лицензий;
4) запустите Maya и проверьте работу V-Ray for Maya или запустите V-Ray
Standalone.
Простой способ произвести настройку окружающей среды и запустить Maya
или V-Ray Standalone определенной версии заключается в использовании спе-
циального сценария shell script (в Linux и MacOS) или файла *.bat (для ОС се-
мейства Windows), который изменяет/задает окружающую среду для запуска
экземпляра приложения определенной версии.
Настоятельно рекомендуется использовать V-Ray, устанавливаемый либо
только из ZIP-архива, либо с помощью обычной инсталляции, но никогда не
используйте их одновременно. Если вы планируете использовать установку
из ZIP-архива, обязательно удалите V-Ray, установленный автоматическим
инсталлятором.
Перед началом работы извлеките содержимое соответствующего файла
*.zip в подходящую директорию. После разархивирования должно быть три
директории: maya_root, maya_vray и vray. Приведу пошаговый пример установки
в среде операционной системы Linux.
Загрузите ZIP-архив V-Ray for Maya с сайта компании Chaos Group. Файл
должен иметь имя в виде vray_adv_<version>_maya<version>_linux_x64.zip. Заме-
чу, что, если вы используете сборку nightlies, имя архива будет немного иным
и будет представлено как vray_adv_<version>_maya<version>_linux_x64_<build>_ar-
chive.zip, в нем указана версия сборки.
Создайте новую директорию на вашей рабочей станции или на сетевом хра-
нилище и назовите ее vray_builds. Например, можно создать директорию для
нескольких версий V-Ray по пути /opt/vray_builds, и данная директория будет
хранить все необходимые версии. Такой подход удобен при работе с тестовы-
ми версиями или для перехода на новую версию, когда вы можете работать
с проектами, использующими разные версии, и разрабатываете расширения
для Maya и V-Ray.
В директории vray_builds создайте еще одну директорию, но отвечающую за
конкретную версию V-Ray, например vray_adv_<version>_maya<version>.
Распакуйте содержимое загруженного архива в директорию vray_adv_<ver­
sion>_maya<version>. После чего в созданной ранее директории появятся три но-
вых директории, а именно maya_root, maya_vray и vray (рис. А1.4).
В данном примере директория /opt приведена в качестве примера для ОС
семейства Linux. Вы же можете создавать копию в любой директории, удобной
для вас.
На данный момент структура директорий представлена следующим об-
разом:
794  Установка и развертывание V-Ray

/opt/vray_builds/
│─ ─ vray40401_maya2018/
││─ ─ maya_root/
││─ ─ maya_vray/
│└─ ─ vray/
Приведу пример для V-Ray Next (4.12.03) и V-Ray Next (4.30.01) для Autodesk
Maya 2018.6 – каждый может быть развернут со своим собственным shell script
и окружением:
/opt/vray_builds/
├─ ─ vray41203_maya2018_nightlies_b29867/
│├ ─ ─ maya_root/
│├ ─ ─ maya_vray/
│└ ─ ─ vray/
├ ─ ─ vray43001_maya2018_stable/
│├ ─ ─ maya_root/
│├ ─ ─ maya_vray/
│└ ─ ─ vray
Обратите внимание, что в данной иерархии директорий использована спе-
циальная ночная сборка и стабильная версия, при этом для проекта, исполь-
зующего как основу ветку V-Ray Next 4.1, удобно было продолжить его именно
на этой версии, но с периодическими обновлениями на основе ночных сборок.
А вот следующие проекты могут вестись на основе V-Ray Next 4.3 и выше.
После распаковки ZIP-архив необходимо настроить окружение для запуска
V-Ray for Maya и V-Ray Standalone или окружение для запуска и работы только
с V-Ray Standalone.
Есть некоторые определенные шаги для Maya, XGen for Maya и V-Ray Stand-
alone, которые необходимо выполнить. Установка лицензии является послед-
ним действием, так как V-Ray должен знать, где искать действующую лицен-
зию.
В V-Ray Next (версия 4.x) суффикс _x64 для переменных сред больше не исполь-
зуется. Однако использование суффикса _x64 все равно будет работать в качестве
запасного варианта, но выдаст предупреждение.
Следующие переменные среды должны быть определены при запуске Maya
с V-Ray.

В приведенных ниже примерах <version> определяет версию Maya, например


2018, 2017 и т. д. Например, переменная VRAY_FOR_MAYA2018_MAIN или VRAY_FOR_
MAYA2018_PLUGINS и т. д.

Для Autodesk Maya 2016.5 точка заменяется символом подчеркивания (_), таким
образом, переменная среда будет представлена как VRAY_FOR_MAYA2016_5_MAIN или
VRAY_FOR_MAYA_2016_5_PLUGINS и т. д.

В табл. А1 приведены примеры каталогов и имен версий V-Ray Next для Maya 2018
в Linux, где архив vray_adv_41203_maya2018_linux_x64.zip был распакован по пути
/opt/vray_builds/ vray41203_maya2018/.

Список переменных сред, их описание и примеры приведены в табл. А1,


а пример полной настройки будет приведен ниже.
Установка V-Ray for Maya из ZIP-архива  795

Таблица А4.1. Описание и конфигурация переменных сред V-Ray for Maya


Действие Переменная Местоположение Описание Пример
Set MAYA_RENDER_ <unpacked_zip_ Необходимо export MAYA_RENDER_DESC_
DESC_PATH location>/maya_root/ для запуска PATH=/opt/vray_builds/
bin/rendererDesc пакетной визуа- vray40401_maya2018/maya_
лизации в Maya root/bin/rendererDesc
Set VRAY_FOR_ <unpacked_zip_ Загружает export VRAY_FOR_
MAYA<version>_ location>/maya_vray модули MAYA2018_MAIN=/opt/
MAIN расширения vray_builds/vray40401_
V-Ray for Maya maya2018/maya_vray
Set VRAY_FOR_ <unpacked_zip_ Загружает export VRAY_FOR_
MAYA<version>_ location>/maya_vray/ модули MAYA2018_PLUGINS=/opt/
PLUGINS vrayplugins расширения vray_builds/vray40401_
V-Ray maya2018/maya_vray/vray-
plugins
Set VRAY_PLUGINS <unpacked_zip_ Директория, export VRAY_PLUGINS=/
location>/maya_vray/ необходимая opt/vray_builds/
vrayplugins для V-Ray vray40401_maya2018/maya_
Standalone vray/vrayplugins
Set VRAY_OSL_PATH_ <unpacked_zip_ Загружает export VRAY_OSL_
MAYA<version> location>/vray/ модули PATH_MAYA2018=/opt/
opensl расширения vray_builds/vray40401_
OSL для V-Ray maya2018/vray/opensl
Extend LD_LIBRARY_ <unpacked_zip_ Необходимо export LD_LIBRARY_PATH=/
PATH location>/maya_root/ для запуска opt/vray_builds/
lib самого V-Ray vray40401_maya2018/
maya_root/lib:$LD_LI-
BRARY_PATH
Extend MAYA_PLUG_IN_ <unpacked_zip_ Загружает export MAYA_PLUG_IN_
PATH location>/maya_vray/ основные PATH=/opt/vray_builds/
plug-ins модули vray40401_maya2018/maya_
расширения vray/plug-ins:$MAYA_
V-Ray for Maya PLUG_IN_PATH
Extend MAYA_SCRIPT_ <unpacked_zip_ Загружает export MAYA_SCRIPT_
PATH location>/maya_vray/ сценарии для PATH=/opt/vray_builds/
scripts V-Ray for Maya vray40401_maya2018/
maya_vray/scripts:$MAYA_
SCRIPT_PATH
Extend PYTHONPATH <unpacked_zip_ Загружает export PYTHONPATH=/opt/
location>/maya_vray/ Pyhon сценарии vray_builds/vray40401_
scripts V-Ray maya2018/maya_vray/
scripts:$PYTHONPATH
Extend XBMLANGPATH <unpacked_zip_ Выполняется export XBMLANGPATH=/opt/
location>/maya_vray/ загрузка иконок vray_builds/vray40401_
icons/%B V-Ray maya2018/maya_vray/
icons/%B:$XBMLANGPATH
Set VRAY_AUTH_ Произвольное Связывает export VRAY_AUTH_CLIENT_
CLIENT_FILE_ местоположение V-Ray с XML FILE_PATH=<folder_con-
PATH файлом taining_vrlclient.xml>
определения
лицензий
796  Установка и развертывание V-Ray

Сделаю несколько пояснений касательно приведенных в табл. А4.1 пере-


менных сред.
<version> – версия Autodesk Maya. Например, 2018, 2017 и т. д. В то время как
для Maya 2018 имя переменных будет представлено как VRAY_FOR_MAYA2018_MAIN,
или VRAY_FOR_MAYA2018_PLUGINS или VRAY_OSL_PATH_MAYA2018, обратите внимание,
что для Maya 2016.5 это будет VRAY_FOR_MAYA2016_5_MAIN и т. д. для остальных пе-
ременных, которые включают в себя определенную версию Maya.
Переменная VRAY_PLUGINS используется для запуска исполняемого файла
V-Ray Standalone, который входит в поставку V-Ray for Maya. Вам это может
понадобиться, если вы хотите визуализировать файлы в формате *.vrscene на-
прямую с помощью V-Ray Standalone. Другое использование этой переменной
при развертывании V-Ray for Maya с помощью ZIP-архива – это маловероят-
ный случай, когда вы захотите использовать IPR вне процесса. Альтернативой
настройкам VRAY_PLUGINS в качестве переменной среды является использова-
ние файла vrayconfig.xml, расположенного в директории vray_builds/my_version/
maya_vray/bin/vrayconfig.xml. Вам нужно будет отредактировать XML-файл с по-
мощью текстового редактора и определить для [PLUGINS]/vrayplugins путь vray_
builds/my_version/maya_vray/vrayplugins.
 Пример: найдите файл в формате XML в том месте, куда разархивирован
ZIP-архив, например /opt/vray_builds/vray41203_maya2018_nightlies_b29867/
maya_vray/bin/vrayconfig.xml.
 После редактирования строка, содержащая расположение vrayplugins,
должна выглядеть так: <PluginsPath>/opt/vray_builds/vray41203_maya2018_
nightlies_b29867/maya_vray/vrayplugins</PluginsPath>
<!--
Example contents of vrayconfig.xml as an alternative to settings the VRAY_PLUGINS
environment variable
In this example, the ZIP installation is for V-Ray Next for Maya 2018 for Linux and the
.zip file is extracted in /opt/vray_builds/.
In this case, the vrayconfig.xml file is located in /opt/vray_builds/vray40401_maya2018/
maya_vray/bin/vrayconfig.xml.
-->
<VRayStd>
<Configuration>
<PluginsPath>/opt/vray_builds/vray40401_maya2018/maya_vray/vrayplugins</
PluginsPath>
</Configuration>
</VRayStd>
Переменная VRAY_AUTH_CLIENT_FILE_PATH должна указывать на папку, содер-
жащую файл vrlclient.xml, в котором хранятся настройки сервера лицензий
V-Ray (IP-адрес и номер порта). Кроме того, использование приложения уста-
новки или изменения настроек лицензии создаст для вас файл vrlclient.xml
в местоположении по умолчанию, и вам не нужно будет явно определять его
местоположение в переменной VRAY_AUTH_CLIENT_FILE_PATH. Однако может быть
полезно использовать переменную для определения настроек лицензии для
каждого пользователя.
Установка V-Ray for Maya из ZIP-архива  797

Для случая, когда для вас использование переменной среды является луч-
шим вариантом и вам нужно создать файл vrlclient.xml вручную, в приведен-
ном ниже листинге показано, что он должен содержать:
<!--
Example contents of vrlclient.xml
In this example, the primary IP address to look for a valid license is 10.0.0.100 at the
default 30304 port.
Alternate servers (hosts) have not been set.
-->
<VRLClient>
<LicServer>
<Host>10.0.0.100</Host>
<Port>30304</Port>
<Host1></Host1>
<Port1>30304</Port1>
<Host2></Host2>
<Port2>30304</Port2>
<User></User>
<Pass></Pass>
</LicServer>
</VRLClient>
Теперь с помощью запуска Maya вы можете проверить, как установлен
и определен V-Ray в самой программе.
Приведу пример файла Maya.env для Autodesk Maya 2018 в Linux, где ZIP-
архив был извлечен в директорию /opt/vray_builds/vray41203_maya2018_nightli-
es_b29867. Поместите файл определения переменных сред и окружения Maya
в директорию /home/<username>/maya/2018 или объедините его содержимое с уже
существующим файлом Maya.env, который вы найдете, если файл определения
окружения был создан ранее.
MAYA_RENDER_DESC_PATH=/opt/vray_builds/vray41203_maya2018_nightlies_b29867/maya_root/bin/
rendererDesc
VRAY_FOR_MAYA2018_MAIN=/opt/vray_builds/vray41203_maya2018_nightlies_b29867/maya_vray
VRAY_FOR_MAYA2018_PLUGINS=/opt/vray_builds/vray41203_maya2018_nightlies_b29867/maya_vray/
vrayplugins
VRAY_AUTH_CLIENT_FILE_PATH=/opt/vray_builds
PATH=/opt/vray_builds/vray41203_maya2018_nightlies_b29867/maya_root/bin
MAYA_PLUG_IN_PATH=/opt/vray_builds/vray41203_maya2018_nightlies_b29867/maya_vray/plug-ins
MAYA_SCRIPT_PATH=/opt/vray_builds/vray41203_maya2018_nightlies_b29867/maya_vray/scripts
XBMLANGPATH=/opt/vray_builds/vray41203_maya2018_nightlies_b29867/maya_vray/icons
PYTHONPATH=/opt/vray_builds/vray41203_maya2018_nightlies_b29867/maya_vray/scripts
XGEN_CONFIG_PATH = /opt/vray_builds/vray41203_maya2018_nightlies_b29867
В случае с автономной версией V-Ray Standalone установка выполняется
также, но при этом ему требуется меньше переменных сред. Так, V-Ray Stand-
alone используется переменные среды VRAY_PLUGINS, VRAY_OSL_PATH, LD_LIBRARY_
PATH и VRAY_AUTH_CLIENT_FILE_PATH. Для сборок после 2019-03-12 переменной
среде LD_LIBRARY_PATH в V-Ray Standalone необходимо определять следующий
798  Установка и развертывание V-Ray

путь: export LD_LIBRARY_PATH=/opt/vray_builds/vray40401_maya2018/vray/lib:$LD_LI-


BRARY_PATH. Ранее запись выглядела так: export LD_LIBRARY_PATH=/opt/vray_builds/
vray40401_maya2018/vray/lib/linux_x64/clang-gcc-4.8:$LD_LIBRARY_PATH.
Установка V-Ray достаточно проста, с одной стороны, но в то же время требу-
ет определенного внимания ко множеству аспектов; поначалу вам может пока-
заться, что установка будет сложной, но при разумном подходе и определении
конфигураций у вас появляется гораздо больше возможностей и функций, ко-
торые вы можете использовать для гибкого развертывания. Подробнее об уста-
новке написано в официальной документации к V-Ray. Помимо Maya, V-Ray
аналогичным образом устанавливается ко многим другим 3D-редакторам
и системам анимации.
Приложение Б
Конфигурация V-Ray

Конфигурация V-Ray for Maya сводится к корректной загрузке модуля и всех


необходимых расширений для корректной работы системы визуализации. Не-
зависимо от операционной системы конфигурация V-Ray будет схожа.

Б.1. Загрузка модуля расширения V-Ray for Maya


В главе 3 мы рассматривали вопрос загрузки модуля расширения V-Ray for
Maya с помощью Maya Plug-in Manager. В процессе подготовки к работе убеди-
тесь, что активна библиотека vrayformaya.so.
Если вы не видите vrayformaya, вам нужно явно найти модуль расширения
V-Ray for Maya, представленный файлом vrayformaya.so, который по умолча-
нию расположен в директории /usr/autodesk/maya<version>/vray/plug-ins/. Мо-
дуль расширения попытается загрузить общую библиотеку libvray.so, которая
расположена в директории /usr/autodesk/maya<version>/lib и должна быть до-
ступна для загрузки Maya без изменения переменной LD_LIBRARY_PATH.
Не пытайтесь заставить V-Ray for Maya загрузить библиотеку libvray.so с тем же
именем, что и для автономной версии V-Ray, которая находится в директории /
usr/ChaosGroup/V-Ray/Standalone_for_Linux_x64/lib/linux_x64. Попытка загрузить
автономную библиотеку V-Ray в Maya приведет к незамедлительному прекраще-
нию работы программы.

Б.2. Запуск V-Ray Standalone


V-Ray Standalone устанавливается как компонента V-Ray for Maya. Его можно
выполнить с помощью bash-сценария vray, который обычно устанавливается
в директорию /usr/autodesk/maya<version>/vray/bin/, например
$ /usr/autodesk/maya<version>/vray/bin/vray -scenefile="[v-ray scene file]"
Используйте ключ -help, чтобы вывести список доступных параметров авто-
номной версии V-Ray.
800  Конфигурация V-Ray

Б.3. Запуск V-Ray Standalone Render Server


Вы можете использовать автономные серверы визуализации V-Ray для рас-
пределенной визуализации, где один кадр одновременно вычисляется на
многих серверах или компьютерах. Прежде чем вы сможете использовать рас-
пределенную визуализацию (рис. Б1.1), нужно запустить автономную версию
V-Ray в режиме сервера распределенной визуализации на каждом из серве-
ров, которые вы хотите использовать. Это делается с помощью команды vray-
slave, например:
$ /usr/autodesk/maya<version>/vray/bin/vrayslave

Рис. Б1.1  Конфигурация распределенной визуализации в V-Ray for Maya


Приложение В
Экосистема V-Ray

Любая современная система визуализации production ready поддерживает


несколько приложений и тесно интегрируется с их функционалом. Система
визуализации V-Ray является прекрасным примером интеграции со множе-
ством приложений, как для 3D-анимации, так и дизайна и даже композитинга.
На протяжении всей книги я многократно ссылался на интеграцию возмож-
ностей и функциональности V-Ray с другими приложениями и на поддержку
множества форматов данных, это позволяет решать обширный спектр задач,
связанных с подготовкой и передачей данных между приложениями, но при
этом визуализируя их с помощью V-Ray.

Рис. В1  Общая диаграмма поддерживаемых V-Ray приложений


и форматов данных
802  Экосистема V-Ray

Чтобы вам было проще представить поддержку V-Ray различными при-


ложениями, я создал простую диаграмму, в которой показал связи между
приложениями и ядром V-Ray (рис. В1). V-ray интегрирован во множество
DCC-приложений (группа 3D MODELLING & ANIMATION), практически все со-
временные и популярные приложения поддерживают интеграцию с V-Ray.
Так, вы можете создавать сцену окружения в 3ds Мax, анимировать циф-
рового персонажа в Maya, создавать эффекты в Houdini и далее с помощью
передачи данных в формате V-Ray Scene, Alembic и OpenVDB переводить их
в Katana для задач LookDevelopment. Все получаемые изображения и анима-
ция могут быть обработаны в NUKE, но при этом V-Ray также интегрирован
в NUKE и может быть использован как ядро высококачественной визуализа-
ции напрямую в NUKE.
С другой стороны, стоят приложения САПР и для дизайна. Так, V-Ray под-
держивается такими системами моделирования и дизайна, как Rhino, SketchUp
и даже Autodesk Revit. Его задача заключается в быстром достижении высоко-
качественного образа без дополнительных операций по конвертации данных
из одного приложения в другое, но при этом архитекторы и дизайнеры обла-
дают возможностями высококачественного инструментария в привычном для
них рабочем окружении. Конечно, данные из этих приложений также могут
быть переданы в другие приложения, поддерживающие интеграцию с V-Ray.
Все преимущество V-Ray заключается в возможности сохранения и переда-
чи данных в унифицированных форматах, не содержащих не поддерживаемых
другими приложениями данных. Так, вы можете передать геометрию с помо-
щью V-Ray Scene, V-Ray Mesh, Alembic, но в то же время, моделируя эффекты
огня и взрывов, вы можете экспортировать их в формате OpenVDB.
Замечу, что V-Ray и его интеграции очень схожи, т. е. вам не составит труда
перейти из одного приложения в другое, чтобы выполнить визуализацию сце-
ны, это особенно хорошо заметно по интеграции V-Ray в такие приложения,
как Autodesk Maya, Autodesk 3ds Мax и Houdini.
Наличие V-Ray App SDK позволяет разрабатывать собственные интеграции
V-Ray в сторонние приложения, а также расширять функциональность суще-
ствующих интеграций.
Список литературы

В данном разделе собраны основные источники информации и иллюстраций,


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

Глава 1
Печатные издания
1.1. Домасев М. В., Гнатюк С. П. Цвет, управление цветом, цветовые расчеты
и измерения. СПб.: Питер, 2009. 224 с.: ил. (Серия «Учебный курс»). ISBN
978-5-388-00341-6.
1.2. Сомов Е. Е. Клиническая анатомия органа зрения человека. 4-е изд. М.:
МЕДпресс-информ, 2016. 136 с.: ил. ISBN 978-5-00030-366-5.
1.3. Чехлов Д. А. Визуализация в Autodesk Maya: mental ray renderer. М.: ДМК
Пресс, 2016. 696 с.: ил. ISBN 978-5-97060-335-2. С. 640-652.
1.4. Alan C. Bovik. Handbook of Image and Video Processing. ELSEVIER Academic
Press, 2005. ISBN 0-12-119792-1.
1.5. H. R. Wu, K. R. Rao. Digital Video Image Quality and Perceptual Coding. CRC
Press, 2006. ISBN 10-0-8247-2777-0 (Hardcover).

Публикации в сети интернет


1.6. ACES Documentation // https://www.oscars.org/science-technology/aces/aces-
documentation.
1.7. Adobe Photoshop CC User Guide (English). Color Settings // https://helpx.ado-
be.com/photoshop/using/color-settings.html.
1.8. Autodesk Maya 2017 online help. Rendering => Color Management // http://
help.autodesk.com/view/MAYAUL/2017/ENU/?guid=GUID-5320733B-F9B6-
4429-BCAA-F7251D77A8E2.
1.9. CIE 1931 color space. From Wikipedia, the free encyclopedia // https://
en.wikipedia.org/wiki/CIE_1931_color_space.
1.10. CIELUV. From Wikipedia, the free encyclopedia // https://en.wikipedia.org/
wiki/CIELUV.
1.11. Human eye. From Wikipedia, the free encyclopedia // https://en.wikipedia.org/
wiki/Human_eye.
1.12. TB-2014-001: Academy Color Encoding System (ACES) Documentation Guide
// http://j.mp/TB-2014-001.
1.13. TB-2014-002: Academy Color Encoding System (ACES) Version 1.0 User Expe-
rience Guidelines // http://j.mp/TB-2014-002.
1.14. TB-2014-004: Informative Notes on SMPTE ST 2065-1 – Academy Color En-
coding Specification (ACES) // http://j.mp/TB-2014-004.
804  Список литературы

1.15. S-2014-003: ACEScc – A Logarithmic Encoding of ACES Data for use within
Color Grading Systems // http://j.mp/S-2014-003.
1.16. S-2014-004: ACEScg – A Working Space for CGI Render and Compositing //
http://j.mp/S-2014-004.

Иллюстрации
Рис. 1.1.2. File:Schematic diagram of human eye multilingual.svg. Источник:
https://commons.wikimedia.org/wiki/File:Schematic_diagram_of_human_eye_multilin-
gual.svg.
Описание:
1. Lens, 2. Zonule of Zinn or Ciliary zonule, 3. Posterior chamber and 4. Anterior
chamber with 5. Aqueous humour flow; 6. Pupil, 7. Corneosclera or Fibrous tunic
with 8. Cornea, 9. Trabecular meshwork and Schlemm’s canal. 10. Corneal limbus
and 11. Sclera; 12. Conjunctiva, 13. Uvea with 14. Iris, 15. Ciliary body (with a: pars
plicata and b: pars plana) and 16. Choroid); 17. Ora serrata, 18. Vitreous humor with
19. Hyaloid canal/(old artery), 20. Retina with 21. Macula or macula lutea, 22. Fovea
and 23 Optic disc → blind spot. 24. Optical axis of the eye. 25. Axis of eye. 26. Op-
tic nerve with 27. Dural sheath, 28. Tenon’s capsule or bulbar sheath, 29. Tendon.
30. Anterior segment, 31. Posterior segment. 32. Ophthalmic artery, 33. Artery and
central retinal vein → 36. Blood vessels of the retina; Ciliary arteries (34. Short pos-
terior ones, 35. Long posterior ones and 37. Anterior ones). 38. Lacrimal artery, 39.
Ophthalmic vein, 40. Vorticose vein. 41. Ethmoid bone, 42. Medial rectus muscle,
43. Lateral rectus muscle, 44. Sphenoid bone.

Глава 2
Печатные издания
2.1. Чехлов Д. А. Визуализация в Autodesk Maya: mental ray renderer. М.: ДМК
Пресс, 2016. 696 с.: ил. ISBN 978-5-97060-335-2. С. 41–88.

Глава 4
Печатные издания
4.1. Masaki Aono and Ryutarou Ohbuchi, November 25, 1996, Quasi-Monte Carlo
Rendering with Adaptive Sampling, IBM Tokyo Research Laboratory Technical
Report RT0167, p. 1–5 // http://www.kki.yamanashi.ac.jp/~ohbuchi/online_pubs/
eg96_html/eg96.htm. Describes an application of low discrepancy sequences
to area light sampling and the global illumination problem.
4.2. Fajardo M., August 13, 2001, Monte Carlo Raytracing in Action, in State of
the Art in Monte Carlo Ray Tracing for Realistic Image Synthesis, SIGGRAPH
2001 Course 21, p. 151–162 // http://cseweb.ucsd.edu/~viscomp/classes/cse274/
wi18/readings/course29sig01.pdf. Describes the ARNOLD renderer employing
randomized quasi-Monte Carlo sampling using low discrepancy sequences for
pixel sampling, global illumination, area light sampling, motion blur, depth of
field, etc.
Список литературы  805

4.3. Schlick C., 1991, An Adaptive Sampling Technique for Multidimensional In-
tegration by Ray Tracing, in: Second Eurographics Workshop on Rendering
(Spain), p. 48–56. Describes deterministic MC sampling for antialiasing, mo-
tion blur, depth of field, area light sampling and glossy reflections.
4.4. Szirmay-Kalos L., 1998, Importance Driven Quasi-Monte Carlo Walk Solution
of the Rendering Equation, Winter School of Computer Graphics Conf., 1998 //
http://www.fsz.bme.hu/~szirmay/imp1_link.html.
4.5. Veach E., December 1997, Robust Monte Carlo Methods for Light Transport
Simulation, Ph. D. dissertation for Stanford University, pp. 58-65 // http://
graphics.stanford.edu/papers/veach_thesis/. Includes a description of low dis-
crepancy sequences, quasi-Monte Carlo sampling and its application to solv-
ing the global illumination problem.

Публикации в сети интернет


4.6. Intel® Embree. High Performance Ray Tracing Kernels // https://www.embree.
org/. Intel® Embree is a collection of high-performance ray tracing kernels,
developed at Intel. The target users of Intel® Embree are graphics application
engineers who want to improve the performance of their photo-realistic ren-
dering application by leveraging Embree’s performance-optimized ray tracing
kernels. The kernels are optimized for the latest Intel® processors with sup-
port for SSE, AVX, AVX2, and AVX-512 instructions. Intel® Embree supports
runtime code selection to choose the traversal and build algorithms that best
matches the instruction set of your CPU. We recommend using Intel® Embree
through its API to get the highest benefit from future improvements. Intel®
Embree is released as Open Source under the Apache 2.0 license.

Иллюстрации
Рис. 4.16.7. Пример классической модели построения изображения с помощью
трассировки лучей и методов выборки. Истоник: Чехлов Д. А. Визуализация
в Autodesk Maya. mental ray renderer. М.: ДМК Пресс, 2016. 696 с.: ил. ISBN: 978-
5-97060-368-0. С. 103, рис. 3.2.1.
Рис. 4.16.8. Image Sampler diagram. Bucket Sampler illustrations. Источник:
https://docs.chaosgroup.com/display/VRAY4MAYA/Image+Sampler+%7C+Anti-Alia­
sing#ImageSampler|Anti-Aliasing-antialiasingFilters.

Глава 5
Печатные издания
5.1. Ландсберг Г. С. Оптика. М.: Наука, 1976. 928 с.: ил. С. 538–575.
5.2. A Practical Model for Subsurface Light Transport [Henrik Wann Jensen, Ste-
phen R. Marschner, Marc Levoy, Pat Hanrahan] Stanford University (c) 2003.
5.3. Apodaca A. A., Gritz L. Advanced RenderMan: Creating CGI for Motion Pic-
tures. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1999.
5.4. Benson D., Davis J. Octree textures. In: ACM SIGGRAPH 2002 (2002), p. 785–
790.
806  Список литературы

5.5. Christensen P. H., Batali D. An irradiance atlas for global illumination in com-
plex production scenes. In: Eurographics Symposium on Rendering 2004
(2004), p. 133–142.
5.6. Catmull E., Clark J. Recursively generated b-spline surfaces on arbitrary topo-
logical meshes. Computer-Aided Design 10, 6 (1978), 350–355.
5.7. Cook R. L., Carpenter L., Catmull E. The REYES image rendering architecture.
In: ACM SIGGRAPH 87 (1987), p. 95–102.
5.8. Debry D., Gibbs J., Petty D. D., Robins N. Painting and rendering textures on
unparameterized models. In: ACM SIGGRAPH 2002 (2002), p. 763–768.
5.9. Derose T., Kass M., Truong T. Subdivision surfaces in character animation. In:
ACM SIGGRAPH 1998 (1998), p. 85–94.
5.10. Desbrun M., Meyer M., Alliez P. Intrinsic parameterizations of surface meshes.
In: Eurographics 2002 (2002), p. 209–218.
5.11. Heckbert P. S. Fundamentals of Texture Mapping and Image Warping. Master’s
thesis, U. C. Berkeley, 1989.
5.12. Hormann K., Greiner G. MIPS: An efficient global parametrization method.
In Curve and Surface Design: Saint-5.12. Malo 1999, Laurent P. J., Sablon-
nière P., Schumaker L. L. (Eds.). Vanderbilt University Press, Nashville, TN,
2000, p. 153–162.
5.13. Lefebvre S., Dachsbacher C. Tiletrees. In: I3D ’07: Proceedings of the 2007 sym-
posium on Interactive 3D graphics and games (New York, NY, USA, 2007),
ACM, p. 25–31.
5.14. Lee A., Moreton H., Hoppe H. Displaced subdivision surfaces. In: ACM SIG-
GRAPH 2000 (2000), p. 85–94.
5.15. Lévy B., Petitjean S., Ray N., Maillot J. Least squares conformal maps for auto-
matic texture atlas generation. In ACM SIGGRAPH 2002 (2002), p. 362–371.
5.16. Mitchell D. P., Netravali A. N. Reconstruction filters in computer-graphics. In:
ACM SIGGRAPH 1988 (1988), p. 221–228.
5.17. Maillot J., Yahia H., Verroust A. Interactive texture mapping. In: ACM SIG-
GRAPH 1993 (1993), p. 27–34.
5.18. Piponi D., Borshukov G. Seamless texture mapping of subdivision surfaces by
model pelting and texture blending. In ACM SIGGRAPH 2000 (2000), p. 471–
478.
5.19. Purnomo B., Cohen J. D., Kumar S. Seamless texture atlases. In: Symposium on
Geometry processing 2004 (2004), p. 65–74.
5.20. Peachey D. Texture on demand. Tech. Rep. 217, Pixar, San Rafael, CA, USA,
1990.
5.21. Sheffer A., Hart J. C. Seamster: inconspicuous low-distortion texture seam lay-
out. In: IEEE Visualization 2002 (2002), p. 291–298.
5.22. Tarini M., Hormann K., Cignoni P., Montani C. Polycube-maps. In: ACM SIG-
GRAPH 2004 (2004), p. 853–860.
5.23. Williams L. Pyramidal parametrics. In: ACM SIGGRAPH 1983 (1983), p. 1–11.
5.24. Burley B., Lacewell D. Ptex: Per-Face Texture Mapping for Production Render-
ing. Eurographics Symposium on Rendering 2008, Volume 27 (2008), Num-
ber 4.
Список литературы  807

Публикации в сети интернет


Дисперсия Света. From Wikipedia, the free encyclopedia // https://ru.wikipedia.org/
wiki/%D0%94%D0%B8%D1%81%D0%BF%D0%B5%D1%80%D1%81%D0%B8%D1%8F
_%D1%81%D0%B2%D0%B5%D1%82%D0%B0.

Глава 6
Печатные издания
6.1. Чехлов Д. А. Визуализация в Autodesk Maya: mental ray renderer. М.: ДМК
Пресс, 2016. 696 с.: ил. ISBN 978-5-97060-335-2. С. 372–390, 492–507.
6.2. Шедевры русской живописи. М.: Белый город, 2006. 568 с.: ил. ISBN: 978-
5-7793-0936-1.

Публикации в сети интернет


6.3. Composition (visual arts). From Wikipedia, the free encyclopedia // https://
en.wikipedia.org/wiki/Composition_(visual_arts).
6.4. Art. From Wikipedia, the free encyclopedia // https://en.wikipedia.org/wiki/Art.
6.5. Rule of thirds. From Wikipedia, the free encyclopedia // https://en.wikipedia.
org/wiki/Rule_of_thirds.

Иллюстрации
Рис. 6.3.5. Lens. From Wikipedia, the free encyclopedia (Redirected from Lens (op-
tics)). Illustration author DrBob https://commons.wikimedia.org/wiki/File:Lens1.svg.
Рис. 6.3.6 на основе статьи Distortion (optics). From Wikipedia, the free ency-
clopedia. Illustration author WolfWings https://en.wikipedia.org/wiki/Distortion_(op-
tics).

Глава 7
Иллюстрации
Рис. 7.3.32. В основе лежит иллюстрация из документации к V-Ray for Maya,
раздел V-Ray Light Select Render Element. https://docs.chaosgroup.com/display/
VRAY4MAYA/LightSelect.
Книги издательства «ДМК ПРЕСС»
можно купить оптом и в розницу
в книготорговой компании «Галактика»
(представляет интересы издательств
«ДМК ПРЕСС», «СОЛОН ПРЕСС», «КТК Галактика»).
Адрес: г. Москва, пр. Андропова, 38;
тел.: (499) 782-38-89, электронная почта: books@alians-kniga.ru.
При оформлении заказа следует указать адрес (полностью),
по которому должны быть высланы книги;
фамилию, имя и отчество получателя.
Желательно также указать свой телефон и электронный адрес.
Эти книги вы можете заказать и в интернет-магазине: www.a-planeta.ru.

Дмитрий Анатольевич Чехлов

V-Ray для Autodesk Maya


Руководство по визуализации

Главный редактор Мовчан Д. А.


dmkpress@gmail.com
Корректор Абросимова Л. А.
Верстка Чаннова А. А.
Дизайн обложки Чехлов Д. А.

Формат 70 × 100 1/16.


Гарнитура PT Serif. Печать офсетная.
Усл. печ. л. 65,65. Тираж 200 экз.

Отпечатано в ПАО «Т8 Издательские Технологии»


109316, Москва, Волгоградский проспект, д. 42, корпус 5

Веб-сайт издательства: www.dmkpress.com

Вам также может понравиться