понедельник, 25 мая 2020 г.

Анонс выхода новой книги «V-Ray для Autodesk Maya. Руководство по визуализации»

Уважаемые друзья, коллеги, художники и художницы, я с большим удовольствием рад представить вам свою новую книгу, посвященную Autodesk Maya и системе визуализации V-Ray for Maya - V-RAY ДЛЯ AUTODESK MAYA. РУКОВОДСТВО ПО ВИЗУАЛИЗАЦИИ. Без преувеличения можно сказать, что это первая книга на Русском языке целиком посвященная возможностям и применению системы визуализации V-Ray.
Обложка книги V-Ray для Autodesk Maya. Руководство по визуализации.
В последние годы V-Ray стал одним из ключевых инструментов для визуализации компьютерной графики, анимации и визуальных эффектов. Его возможности применяют художники в таких студиях, как DNEG, ILM, Framestore и многие другие. В России у V-Ray большое количество пользователей, с его помощью многие профессиональные художники выполняют визуализацию в таких областях как реклама, архитектура, дизайн, художественные произведения.
Ключевым преимуществом V-Ray и его функционала является поддержка нескольких систем САПР и создания контента. С помощью V-Ray вы можете передавать данные между различными 3D-пакетами и снизить риски по изменению внешнего вида модели при передаче в рамках единого конвейера визуализации.
Открытый формат данных и хорошо документированный SDK и доступ к API помогают разработчикам расширять функционал V-Ray и интегрировать его возможности в любое приложение. Превосходным примером служат интеграции V-Ray в Autodesk 3ds Max, Autodesk Revit, MAXON Cinema 4D, SideFX Houdini, Foundry NUKE, Foundry KATANA и многие другие.
Новая книга посвящена V-Ray for Maya 3.x и V-Ray for Maya 4.x, описаны и продемонстрированы практически все основные инструменты системы визуализации и их влияние на результат. Но данное издание ориентировано не только на пользователей Maya, но и любой другой системы трехмерного моделирования и анимации. Уникальность V-Ray заключается в унифицированной реализации инструментов и схожим набором параметров и поддержкой единых форматов данных.
Книга представлена семью главами и тремя приложениями. Приведу их краткое описание:
Глава 1. Свет и цвет в компьютерной графике. Первая глава посвящена теории и инструментам управления цветом в приложениях компьютерной графики и пост-обработки. В данной главе подробно рассмотрены такие вопросы, как цветовые модели и пространства, системы управления цветом в ведущих приложениях компьютерной графики, преобразованию цветовых пространств из одного в другое и вывода изображения на дисплей.
Глава 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 – от настройки базовых параметров системы визуализации до моделирования глобального освещения в сцене и вывода многоканальных изображений. Опираясь на представленный в книге материал, вы можете выстраивать свои собственные рабочие процессы, наиболее выгодные для вашего стиля работы и проектов.
Книга представлена черно-белым изданием в твердом переплете и полностью цветным цифровым изданием (ссылки на магазины будут добавлены позже). Всю подробную информацию о книге, познакомиться с содержанием, загрузить дополнительные материалы к книге, включая цветные иллюстрации, и оформить заказ, вы можете со страницы посвященной книге на сайте издательства «ДМК Пресс» по мере появления книги.

https://dmkpress.com

ДАТА ВЫХОДА: ИЮНЬ 2020
У издательства «ДМК Пресс» есть специальная акция — скидка 20%. Пока книги находятся в процессе подготовки и печати, вы можете их купить по предоплате со скидкой 20%! Как только книга выйдет из типографии, скидка перестаёт действовать.

Если вы нашли неточности, или хотите чтобы в следующем издании были добавлены новые возможности или раскрыты другие инструменты и методы работы с системой визуализации, вы можете смело написать мне по электронной почте: chekhlov.d@gmail.com.

среда, 29 января 2020 г.

ИНТЕРВЬЮ С ВЛАДИСЛАВОМ АХТЫРСКИМ

В начале декабря представители ведущих студий, специалисты по компьютерной графике и анимации, собрались на очередной международной конференции CG EVENT. Перед самим CG EVENT со мной вышла на связь пресс-аташе компании Foundry (разработчик MODO, NUKE, KATANA и т.д.) и предложила подготовить интервью с Владом. -"Превосходно!" - сказал я, и набросал несколько вопросов, на основе которых была записана наша беседа.
Сейчас Влад работает в студии Scanline VFX | Vancouver, расположенной в Канаде. Он занимает должность Compositing Supervisor и занимается разработкой и оптимизацией рабочих процессов.

понедельник, 27 января 2020 г.

Обновление ПО для CG. Как устроен мой процесс обновления приложений

Приветствую вас мои золотые читатели. Как вы знаете, я активно работаю над новой книгой, сам процесс написания книги перемежается с другими проектами, но основой для всех проектов, является единая платформа, которая обновляется раз в два года. У меня цикл отмечен четными версиями, на данный момент я использую Maya 2018.6 и выполняю миграцию на Maya 2020. Однако в производство, будет включена версия 2020.1, со всеми обновлениями, включенными в нее с момента выхода мажорной версии.
В данном посте я расскажу о своем процессе управления версиями и обновления ПО от Autodesk. Так как цикл обновления мажорных версий заключен в двухлетний период, раз в 6 месяцев я делаю минорные обновления, так могут быть обновлены драйверы, программные компоненты и просто выпущены обновления приложений. Отмечу, что при работе над заказом, я не обновляю программы вообще, использую определенную версию ПО, чтобы не нарушить целостность данных проекта и не разбивать по зависимостям от версии.
В качестве основной ОС у меня выступает операционная система на основе дистрибутива Linux — CentOS 7.X, в частности, сейчас, на момент написания данных строк, я использую CentOS 7.7-1908. Все основные инструменты разработчика, основаны на рекомендациях VFX Reference Platform (http://vfxplatform.com/) за рядом собственных изменений и отличий, так как не все возможности платформы используются в моем производственном конвейере.
Общая схема процесса тестирования и обновления приложений.(1)

Как автор книг, посвященных продуктам Autodesk и её партнеров, а также как участник программ Autodesk Developer Network и Expert Elite, я являюсь активным участником программы beta-тестирования ряда продуктов компании, в частности — Autodesk Maya.
На приведенной выше диаграмме, охватывающей период 1,5 лет, вы можете видеть, что в процессе работы я провожу тесты будущей версии, так, во время применения Maya 2018, я уже тестировал Maya 2019 и Maya 2020, в то же время, обновление я выполнил, только на Maya 2020, миновав развертывание Maya 2019. Обычно, сборку новой версии я тестирую в период 1 — 2 месяца, в зависимости от внедряемых и интересных мне инструментов. Так как моя основная деятельность заключается в области визуализации и специализированных технологий, то тестировать всю систему нет необходимости.
Другое дело — стабильные релизы. Здесь все проще. Обычно, все доступные релизы доступны в центре управления учетной записью Autodesk.
Центр управления загрузками и обновлениями в учетной записи Autodesk.

Как раз мажорные production версии с определенными обновлениями я использую в работе над книгами и проектами. Сейчас, у меня используется Maya 2018.6, моя новая книга финализирована именно под эту версию Maya и V-Ray Next 4.1.
В период перехода и оптимизации ранее использованных инструментов для Maya 2020, все коммерческие проекты ведутся на основе версии 2018.6, и только с момента выхода релиза 2020.1 каждый новый проект будет вестись именно на основе новейшей текущей версии, которая будет использоваться на протяжении ближайших двух лет.
Главной особенностью обновления ПО является наличие необходимых инструментов, многие сценарии, модули расширений и другие компоненты, используемые в работе должны быть адаптированы под новую версию. Для этого приходится немного подождать, пока обновления не будут выпущены, это также является причиной перехода на одну из минорных версий Maya.
Обычно, обновление занимает от 1 до 2 месяцев, пока завершатся проекты и пока будет выполнена оптимизация инструментов.
Подробнее о моей новой книге, вы можете узнать из официального анонса:
http://d3d-publishing.blogspot.com/p/v-ray-renderer.html

(1) -  Иллюстрация не является демонстрацией цикла выпуска конкретных версий ПО. Цикл выпуска конкретных версий, определен компанией-разработчиком.

понедельник, 11 ноября 2019 г.

Интервью с участниками ЧМ WorldSkills 2019


В рамках Autodesk University Russia 2019, совместно с моими коллегами из Expert Elite, я пообщался и записал интервью с участниками ЧМ WorldSkills 2019 в Казани. Ребята, за три дня, создали рабочий прототип коляски для малоподвижных граждан (инвалидное кресло).


воскресенье, 22 сентября 2019 г.

Конфигурация Sublime Text для работы с Maya и OSL

Система компьютерной графики, анимации и визуализации Autodesk Maya является одним из лидирующих решений, используемым тысячами художников, дизайнеров, аниматоров и технических специалистов, создающих высококачественную компьютерную графику. Одним из ключевых преимуществ Maya является её открытый формат данных и многофункциональный язык сценариев MEL, и поддержка Python.
В своей работе я часто обращаюсь к созданию и редактированию файлов сцен и сценариев MEL или Python. Но стандартного функционала Script Editor недостаточно, когда приходится работать с большим количеством файлов сценариев, внесением правок и вообще, при работе с GitHub и другими сервисами коллективной разработки.
В свое время, мой старый друг порекомендовал мне попробовать редактор Sublime Text. Тогда это была вторая версия данного редактора. Он условно бесплатный, но его ограничение в виде предложения купить лицензию после каждого 20-го сохранения, по своей сути ничтожна, да и цена в $80 тоже достаточно низкая, а вот обширнейшая база расширений и различных функций, позволяет решать большое количество задач. Sublime Text превосходно зарекомендовал себя среди разработчиков в индустрии анимации и визуальных эффектов.
Отправка выделенного блока текста в Maya напрямую из Sublime Text с помощью SublimeMaya
Что позволило создать свою аудиторию среди профессионалов в индустрии CG. В данной небольшой статье я расскажу как можно настроить Sublime Text 3 и Maya для совместной работы посредством командных портов. Вы узнаете о том, как установить расширения для Sublime Text и сконфигурировать их. Порядок действий выстроен следующим образом:
  • Установка Package Control
  • Установка и конфигурация MayaSublime
  • Установка и конфигурация Sublime OSL
Мы осуществим установку и базовую конфигурацию пакетов в Sublime Text и создадим небольшой сценарий в Maya, а также определим глобальные настройки программы.

Установка Package Control

Менеджер пакетов Package Control для Sublime Text очень прост для осуществления поиска, установки и обновления пакетов. Менеджер может быть установлен с помощью специального набора команд, доступных на официальном сайте https://packagecontrol.io/ для получения блока команд, пройдите в раздел Installation и выберите версию Sublime Text 3. Скопируйте блок и введите скопированный блок в консоль Sublime Text ([Ctrl] + [`] или View => Show Console).

Редактор Sublime Text 3 с введенным в консоль блоком команд для установки Package Control.
После того, как менеджер пакетов будет установлен, перезапустите ST3. Когда ST3 будет запущен вновь, доступ к возможностям Package Control можно осуществить с помощью клавиатурной комбинации [Ctrl] + [Shift] + [P], после выполнения которой будет открыта командная строка с возможностью поиска и выполнения команды.
Все установленные пакеты доступны в специальной директории, находящейся в директории пользователя, от имени которого выполняется запуск ST3:
Linux: /home/USER_NAME/.config/sublime-text-3
macOS: /Users/
USER_NAME/Library/Application Support/Sublime Text 3/Packages
Windows: SUBLIME_INSTALL_DIR/Data/Packages

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

Установка и конфигурация MayaSublime

За счет своей гибкой расширяемости и удобной модели лицензирования Sublime Text получил хорошее распространение среди технических специалистов в области CG, занимающихся разработкой расширений, сценариев, шейдеров и в процессе работы с сопутствующими данными. Пакет MayaSublime был разработан специально для упрощения работы с текстовыми данными, формируемыми в процессе работы с Maya.
Основные возможности MayaSublime:
  • Дополнительный поток всех данных выводимых редактором Script Editor обратно в консоль Sublime
  • Поддержки команды Undo в Maya
  • Включает подсветку синтаксиса языка MEL в редакторе Sublime
  • Простая отправка сценария или блока выделенного кода с помощью ПКМ и функции Send to Maya
Для установки MayaSublime используйте командную строку Sublime, вызываемую с помощью клавиш [Ctrl] + [Shift] + [P], далее введите команду package control и в списке выберите Package Control: Install Package.
Выбор команды Package Control в списке команд Sublime Text
После того, как будет открыт раздел поиска пакетов, введите команду MayaSublime, или просто Maya. После щелчка по клавише ввода, будет установлен пакет MayaSublime.

Ввод команды MayaSublime для установки одноименного пакета из Package Control
В строке статуса (в нижней области окна Sublime Text 3) в процессе установки будет отображён символ подключения и загрузки пакета. После установки необходимо перезапустить ST3 и сконфигурировать MayaSublime и Maya. Конфигурацию MayaSublime можно выполнить с помощью глобальных настроек пакета, доступ которым вы можете получить с помощью меню Preferences => Package Settings => MayaSublime => Settings — Default.

Вкладка с открытым файлом настроек MayaSublime
Давайте рассмотрим основные параметры пакета MayaSublime. Благо их не много и пакет может быть сконфигурирован достаточно быстро.
Параметр "maya_hostname": "127.0.0.1", определяет имя хост-системы или адрес, по умолчанию это IP-адрес — 127.0.0.1.
Командный порт (commandPort) является очень важным элементом любого профессионального приложения. С его помощью вы можете передавать данные между приложениями, что существенно облегчает удаленную работу или предоставляет возможность использовать дополнительные функции, не реализованные в одном приложении.
Если вы планируете использовать Python, то настройте параметр "python_command_port" : 7002,. Если же вы используете MEL, то введите желаемый порт в параметр "mel_command_port" : 7001,.
При отправке выделенного в ST3 кода в Maya будут исключены комментарии в одну строку, чтобы уменьшить объем отправляемых данных, что в итоге оставит больше места для отправки большего количества кода, используйте параметр "strip_sending_comments": true,. Где true — параметр активен, а falsh — параметр отключен. Причина отключения этой функции заключается в том, что вы полагаетесь на точные номера строк из ошибок в своем коде, сообщаемых редактором сценариев. При отправке целых файлов (ничего не выбрано) комментарии никогда не удаляются.
Параметр "no_collisions": true, позволяет выполнить обертывание кода Python в собственное пространство имен, чтобы избежать конфликтов с основной средой Maya. (Это безопаснее, но если вы объединяете этот модуль с кодом из редактора сценариев, установите для параметра значение false.)
Если параметру "create_undo": присвоено значение false, пакет создает возможность отмены вокруг всего кода, который будет отправлен и выполнен в Maya.
Если параметру "receive_maya_output": присвоено значение true, MayaSublime автоматически подключит редактор Script Editor, чтобы также выводить информацию в консоли Sublime. После изменения этого значения может потребоваться перезапуск Sublime Text. Независимо от этого параметра, вывод из Maya можно включать и выключать с помощью доступных команд в палитре команд. По умолчанию, данному атрибуту присвоено значение false (отключен).
Выполнить конфигурацию commandPort в Maya можно с помощью глобальных параметров программы. Для этого, перейдите в диалоговое окно Preferences (Window => Settings/Preferences => Preferences => Applications).

Диалоговое окно Preferences в Maya. В разделе Applications может быть задан командный порт
Активируйте атрибут Default command port, а в текстовом поле Name, введите номер порта, который вы указали для связи приложений.
Также вы можете воспользоваться командами на языке MEL. Например, если вы хотите открыть commandPort на порт 7002 для Python (порт по умолчанию в конфигурации), вы можете сделать следующее:
# если он уже был открыт под другой конфигурацией
cmds.commandPort(name=":7002", close=True)
# теперь откройте новый порт
cmds.commandPort(name=":7002", sourceType="python")
# или для MEL откройте какой-нибудь случайный порт (убедитесь, что вы также изменили этот порт в файле конфигураций пакета MayaSublime)
cmds.commandPort(name=":10000", sourceType="mel")

Я обычно использую стандартный порт 7001.
Перезапустите Maya, а затем запустите Sublime Text 3 и откройте сценарий. При щелчке ПКМ в области сценария вы можете воспользоваться командой Send to Maya. В Maya должен быть выполнен сценарий, если этого не произойдет, в Command Line отобразится предупреждение о том, что сценарий на выполнен и причина.

Установка и конфигурация Sublime OSL

Язык разработки шейдеров Open Shading Language создан для специалистов Look Development и визуализации. Он позволяет разрабатывать шейдеры материалов, процедурных текстурных карт, освещения и другие. Пакет Sublime OSL можно найти как в Package Control, так и на GitHub. Здесь я сделаю некоторое замечание, просто так, через Pacakge Control, пакет Subline OSL для ST3 не установить. Напрямую через Package Control он недоступен, доступна версия только для ST2. Но пройдя по ссылке на GitHub, перейдите в ветку (Brunch) с именем SublimeText3.

Выбор ветки SublimeText3 для Sublime OSL
Пройдя к ветке для ST3, просто загрузите архив ветки. Для этого в правой области списка файлов  щелкните зеленую кнопку Clone or Download и выберите Download ZIP.

Выбор функции загрузки ZIP-архива в GitHub
Загруженный архив вы можете распаковать в директорию расположения пакетов ST3, описанную выше в разделе Установка Package Control.
Когда вы распакуете архив в директорию пакетов, при запуске ST3 у вас появится ряд новых возможностей. В меню Tools => Build System будут добавлены пункты которые позволяют выполнять сборку и отладку шейдеров OSL.
Добавленные в меню Tools конфигурации для компиляции и сборки шейдеров OSL
Если по какой-то причине, приложение выдает ошибку о том, что сборка шейдера или его проверка не удались, проверьте наличие в переменной среде $PATH пути к директории с компилятором OSL. Обычно, данный путь определен к установленной вами системе визуализации.
Например путь к файлу компилятора OSL (./oslc) реализованного в 3delight, я использовал путь:
/usr/3delight-1.2.8/Linux-x86_64/bin
Также может быть задан путь для Arnold for Maya (MtoA)
/opt/solidangle/mtoa/2018/bin
Компилятор будет выполнять код написанный на языке OSL и сохранять его в файле в формате *.oso, который впоследствии будет импортирован для визуализации в Maya или любой другой редактор и систему визуализации, поддерживающую Open Shading Language.
Процесс компиляции вы можете отслеживать в консоли Sublime Text, а при отладке, сообщения об ошибках и места с ошибками в коде будут отмечены красным выделением.
Пример вывода сообщения об ошибке и информация о ходе компиляции шейдера в консоли Sublime Text 3
Применение сторонних редакторов, но напрямую использующих концепцию командных портов для связи с другими приложениями, позволяет выделить процесс написания программного кода в отдельный процесс, что существенно минимизирует привязку к конкретному приложению. Помимо этого, Sublime Text позволяет организовать проект, применить соответствующий формат файла для каждого из выбранных языков программирования и данных.
Если же Maya преждевременно останавливает свою работу и с ошибкой завершается, то Sublime Text как текстовый редактор может сохранить данные проекта и файлов и быстро их восстановить при перезапуске.

Прямые ссылки на пакеты:

Пакет MayaSublime https://packagecontrol.io/packages/MayaSublime
Пакет Sublime OSL для ST3 https://github.com/roesti77/Sublime-Open-Shading-Language/tree/SublimeText3