Демоверсии
Блог
Arnold
11 Марта 2021

Создание, управление и передача ассетов с помощью Arnold Stand-ins, USD и MaterialX. Третья часть

Применение возможностей MtoA в едином производственном конвейере на основе USD и MaterialX.

 

Автор: Дмитрий Чехлов

Это заключительная часть обзорной статьи об инструментах для обмена данными между системами визуализации. В первой части мы рассказывали об истории и возможностях формата Universal Scene Description (USD). Вторая была посвящена стандарту MaterialX и процессу экспорта и импорта USD-моделей. Сегодня же очень подробно поговорим об основных операторах Arnold Operators.

Механизм Arnold Operators

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

Изначальные модели готовятся к экспорту с назначением соответствующих имен объектов и материалов с текстурами, а затем с помощью форматов USD и MaterialX создаются 2-4 дополнительных варианта образа.

В данном разделе представлены основные операторы Arnold Operators и их ключевые возможности. Помните, что многие операции выполняются на основе Arnold Stand-in’s и обращений к данным, сохраненным в файлах USD и MaterialX.

Ключевым аспектом работы с Arnold Operators является проработка имен объектов или групп объектов. Это можно сделать заранее, проработав ключевые имена для геометрии, материалов и дополнительных эффектов.

Выполнив экспорт модели в файлы сцены Arnold (*.ass), USD (*.usd) или Alembic (*.abc), их можно импортировать в другую сцену с помощью Arnold Stand-ins и создать варианты образов – Arnold Looks – с применением инструментария Arnold Operators.

Autodesk Arnold

Меню Arnold Operators добавляет операторы к выделенному в файле USD-объекту

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

Важным преимуществом использования Arnold Stand-in’s и Arnold Operators является оптимизация использования оперативной памяти и внесение изменений в режиме реального времени. Ранее для оценки изменений мог требоваться перезапуск процесса визуализации. Сейчас это стало возможным напрямую в процессе интерактивной визуализации с помощью новых инструментов и API.

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

Операторы позволяют опытным пользователям переписать любую часть сцены Arnold Renderer и изменять пространство сцены во время визуализации. Вероятно, одним из наиболее распространенных вариантов использования, является переопределение внутренних процедурных параметров (например, шейдеров) внутри файлов *.ass, USD или Alembic. Для этого вы должны знать содержимое узла и имена параметров, определенных внутри процедуры.

Узлы операторов выполняют назначение и переопределение параметров для каждого объекта (узла), включая связи и отложенные переопределения на процедурно сгенерированных узлах. Операторы также могут создавать узлы (MaterialX) и выполнять общие проверки и модификации в сцене.

Некоторые операторы предоставляют параметр выбора (выделения), который с помощью выражения с подстановочными знаками определяет, какие узлы обрабатываются оператором. Ниже будет приведен пример подобного выражения. Если оператор вычисляется в отношении процедуры, он связан с выражением выбора, как предполагается, относящимся к пространству имен процедуры (procedural's namespace).

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

Selection Expressions

Оператор может использовать поиск и выбор, чтобы определить, какие узлы будут выбраны (выделены) для обработки оператором во время визуализации. Выборка – это выражение, которое может состоять из нескольких выборок, объединенных оператором:

  • or (union);
  • and (intersection);
  • not (negation);
  • and not (exclusion);
  • () для вложенной области видимости.

Каждое выделение узлов использует глобальные шаблоны и регулярные выражения. Узел будет обрабатываться оператором, если выражение соответствует его имени. По умолчанию используется соответствие glob, если только выделение не заключено в кавычки регулярного выражения, то есть r '<my_regex>'.

Например:

(/group0/sphere* and not (/group0/sphere1 or /group0/sphere0)) or /group1/sphere3

not r'p(ickle|ringle)[0-9]+'

r'c(ar1|ar2)' or r'car[34]'

Доступные Arnold Operators

Оператор

Описание

Collection

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

Disable

Включает / Выключает узлы. Поддерживаемые типы – это поверхности, источники света, шейдеры и операторы.

Include Graph

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

Look Switch

Данный оператор позволяет переключаться между различными вариантами внешнего вида.

MaterialX

Применяет образы MaterialX. Оператор поддерживает собственные шейдеры Arnold и стандартную библиотеку MaterialX.

Merge

Объединяет соединения вышестоящих узлов оператора.

Set Parameter

Устанавливает / Переопределяет параметры узла с помощью присвоенных выражений.

Set Transform

Устанавливает / Переопределяет матрицу преобразования для поверхностей, камер и источников света.

String Replace

Заменяет все неперекрывающиеся вводы шаблонов соответствия во всех параметрах string для выбранных узлов. Соответствие / Замена могут быть нацелены на конкретную ОС.

Switch Operator

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

 

Каждый оператор может быть связан с другими операторами и объектами в сцене с помощью Node Editor, что позволит визуализировать граф операторов и вносить в него изменения.

Каждый образ может быть создан в редакторе атрибутов при выделении узла Arnold Stand-ins. В свитке File Contents можно отобразить список всех объектов в импортируемом файле, создать образы (Looks) и связать с каждым из объектов определенные операторы и переопределения для атрибутов объектов, шейдеров, источников света и объемных эффектов.

Autodesk Arnold

Пример двух образов (looks) созданных с помощью Arnold Operators и MaterialX

Возможности и инструменты Arnold Stand-in

Вы можете экспортировать любой объект в файл формата *.ass, *.abc и *.usd. Процедурные элементы (также называемые замещающими или прокси) ссылаются на сохраненный на диске файл. Они позволяют сделать вашу рабочую сцену легкой и работоспособной, откладывая загрузку геометрических данных до процесса визуализации.

Autodesk Arnold

Arnold Stand-in в редакторе атрибутов Maya

Во время экспорта будут использоваться текущие настройки ядра визуализации Arnold. Таким образом, вам следует выполнить конфигурацию ядра визуализации перед экспортом Stand-ins. Например, вы должны выбрать, хотите ли вы экспортировать модель с активным Motion Blur или нет.

ПРИМЕЧАНИЕ. Шейдеры utility в режиме Object не работают с процедурными (заменяющими) объектами. Это известное ограничение. Например, цвет сфер меняется, когда utility shader находится в режиме Object. Тем не менее, цвет замещающего объекта остается прежним.

Совместное использование Arnold Procedurals между модулями.

Некоторые пользователи могут находиться в студийной среде, в которой может использоваться комбинация приложений Maya, 3ds Max, Houdini и Cinema 4D. Если система визуализации может найти и подключаемый модуль, и шейдеры, вполне возможно экспортировать Arnold Procedurals (*.ass) и повторно использовать их в других редакциях Arnold (и наоборот). Для этого необходимо убедиться, что переменная среда определения пути шейдеров Arnold ARNOLD_PLUGIN_PATH настроена на выбор наборов шейдеров обоих типов.

Рабочий процесс со Stand-ins выглядит следующим образом. Прежде чем вы сможете использовать Stand-ins, вам нужно сначала экспортировать модель, которая будет использоваться позже. Чтобы экспортировать модель, вы должны:

  • выбрать объект, который желаете экспортировать;
  • в меню выбрать Arnold => Scene Export => Export All/Selection to .ASS. То же самое можно выбрать для Alembic и USD;
  • выбрать и ввести имя архива.

Ключевые атрибуты узла Arnold Stand-ins

Кроме того, вы можете экспортировать модель в качестве stand-ins с помощью меню File => Export All. Архив сохраняется в формате Arnold Scene Source (*.ass).

Экспортировать можно как отдельные объекты, так и целую иерархию, состоящую из нескольких объектов. Также можно экспортировать один или секвенцию кадров. В этом случае значение диапазона кадров в параметрах визуализации будет использоваться в именах файлов архивов. Чтобы использовать stand-ins, вам нужно создать примитив Arnold Stand-ins. Для этого используйте меню File => Import, File => Create Reference, или Arnold => StandIn (в зависимости от того, что вам удобнее), и выберите необходимый файл архива.

Это создаст узел Arnold Stand-in, который вы можете использовать вместо обычной геометрии. Рассмотрим ключевые атрибуты узла Stand-in. Этот узел обладает семью свитками, которые содержат следующие ключевые параметры:

Свиток File / Frame

Свиток File / Frame позволяет управлять файлом с описанием сцены и данными, которые будут импортированы в сцену в процессе визуализации.

Path – задает путь к файлу архива (*.ass, *.abc, *.usd). В данном случае есть автоматическое распознавание последовательности.

Шаблоны последовательности имеют следующие формы заполнения:

  • name.#.ext – т.е. name.1.ext, name.2.ext, name.3.ext, ... , name.10.ext, ... , name.100.ext, ...
  • name.##.ext – т.е. name.01.ext, name.02.ext, name.03.ext, ... , name.10.ext, ... , name.100.ext, ...
  • name.###.ext – т.е. name.001.ext, name.002.ext, name.003.ext, ... , name.010.ext, ... , name.100.ext, ...
  • name####.###.ext – обозначает четырехзначное заполнение для номеров кадров и трехзначное заполнение для номера подкадра (subframe).

ПРИМЕР. Если мы укажем на файл с именем scene_001.ass, он будет распознан как шаблон последовательности в виде scene _ ###.ass. Если вы хотите отменить автоматическое распознавание последовательности, можно вручную изменить строку пути и удалить шаблон заполнения с соответствующим именем файла.

Для процедур, переключатель для включения или отключения абсолютных / относительных путей (абсолютные по умолчанию) можно найти на вкладке System, в настройках ядра визуализации, в диалоговом окне Render Settings.

Viewport Override. Предоставляет возможность выбора визуализации данных из Stand-ins в видовом окне проекции.

  • Use Global Settings – использует настройку Standin Draw в настройках системы визуализации, чтобы определить, как отображать Stand-ins.
  • Use Local Settings – использует локальные настройки.
  • Bounding Box – отображение stand-ins в качестве bounding box.
  • Disable Draw – отключает отображение дублера.

Viewport Draw Mode – позволяет задать режим отображения данных процедур в  stand-ins. Поддерживаются режимы: bounding box, per object bounding box, polywire, wireframe, point cloud, shaded polywire, shaded.

Use File Sequence – когда включено, данный атрибут распознает требуемый формат последовательности кадров и автоматически открывает ее.

Frame – читаемый кадр, который заменит кадр, который определен атрибутом Use Frame Extension. Вам нужно поместить Maya Expression ('frameNumber = frame'), чтобы получить последовательность stand-ins, которая будет загружена в разные кадры секвенции.

Frame Offset – определяет смещение к текущему кадру. Это позволяет использовать одну и ту же последовательность анимации при создании различных процедур.

Override Nodes – узлы внутри процедуры могут быть заменены другими узлами с этим атрибутом. К примеру, это может быть использовано для замены шейдеров в существующем файле stand-ins. Когда параметр включен, узлы в непосредственной родительской области процедуры заменяют узлы с одинаковыми именами внутри процедуры.

Namespace – с помощью этого атрибута процедуры могут объявлять настраиваемое пространство имен. Это пространство можно использовать вместо имени процедуры для ссылки на содержимое через абсолютные или относительные пути. Несколько процедур могут использовать одно и то же пространство имен, используя одно и то же персонализированное имя. Кроме того, они могут объявить пустое имя и будут использовать глобальное пространство имен.

Параметр Force Shader Assignments (необходимый для этого процесса) появляется в пользовательском интерфейсе параметров экспорта только тогда, когда параметр Export Shaders отключен.

Чтобы экспортировать stand-ins и шейдеры отдельно, сделайте следующее:

  • Экспортируйте модель, используя только формы с включенным атрибутом Force Shader Assignment.
  • Снова экспортируйте модель, используя только шейдеры.
  • Создайте два Stand-ins и загрузите каждый из них.
  • Задайте одинаковое имя в строку пространства имен для обоих Stand-ins.

User Options – это атрибут общего назначения, состоящий из строки (string). Это поле может быть установлено для отмены любого параметра основного узла в сцене Arnold. Это позволяет вам получить доступ и установить основные параметры Arnold, которые в настоящее время не отображаются в пользовательском интерфейсе. Свойство можно применить к полигональным моделям, волосам и источникам света.

Ignore Group Nodes – данный атрибут можно использовать для прокси-геометрии, расположенной ниже иерархии групп, которая затем пропускается при визуализации. Поэтому любая геометрия, источники света и т. д., когда вы активируете этот параметр, относящиеся к stand-ins объекты, не будут отображаться при визуализации.

Object Path – путь в Alembic для отображения узла в иерархии.

Arnold Procedural Settings

Auto Instancing – позволяет для каждого stand-in определить использование этой функции. Если этот атрибут включен, многократное использование одного и того же имени файла будет прозрачно преобразовано в экземпляры. Этот обходной путь иногда бывает полезен при переопределении процедурных параметров с помощью операторов.

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

СОВЕТ. Я рекомендую отключать данный атрибут, если вы планируете создавать дубликаты Stand-ins с заранее выполненным настройками образов. Это позволит избежать связей между объектами и содержимым внутри файлов.

Alembic Settings

Экспорт модели в формат Alembic можно выполнить с помощью меню Arnold => Scene Export. Arnold alembic export также экспортирует данные подразделения поверхностей и пользовательские атрибуты, заданные в формате имен Arnold, например:

aiSubdivType = subdiv_type

aiSubdivIterations = subdiv_iterations

FPS – задает частоту кадров, определенную в кадрах в секунду.

Layers – добавляет дополнительные файлы, которые можно использовать для переопределения свойств в файле Alembic.

Name Prefix – задает необязательный префикс имени для добавления ко всем созданным узлам процедур.

Make Instance – используйте создание экземпляров для узлов полигональной геометрии, имеющих одинаковую форму. По умолчанию это действие отключено. Если этот атрибут включен, процедура будет пытаться идентифицировать идентичные примитивы (используя хеш-ключи свойств массива Alembic) и создавать соответствующие узлы ginstance. Два примитива считаются эквивалентными, если ключи их соответствующих выборок положения точки совпадают вместе с любыми заданными значениями подразделения. Это работает с несколькими архивами или вызовами процедур.

Use Instance Cache – этот атрибут можно использовать для отключения внутреннего кэша архива, который распределяет данные Alembic между узлами, это помогает при использовании операторов для переопределения содержимого Alembic когда активен атрибут Make Instance.

Pull User Params – если вы хотите передать параметры создаваемым объектами, объявите пользовательские данные с тем же типом, что и параметр с префиксом имени объекта и двоеточием (:). Например, используйте <shape>:<parameter>. Таким образом, следующие декларации гарантируют, что для каждого созданного объекта атрибуту Step Size будет задано значение 0.1.

pull_user_params on

declare polymesh:step_size constant FLOAT

polymesh:step_size 0.1

Ignore Visibility Attributes – не выполняет размытие движения типа velocity, даже если данный тип размытия движения активен.

Radius Attribute Name – имя атрибута, который ищется для определения радиуса точек и кривых. По умолчанию он пустой, поэтому используются значения ширины, определенные по умолчанию для формата Alembic.

Radius Default – задает радиус по умолчанию для кривых и точек, если не указан иной в атрибутах Alembic.

Radius Scale – масштабирует разрешенный атрибут радиуса.

Velocity Ignore – отключает размытие движения на основе velocity, даже если атрибут velocity задан явно.

Velocity Scale – масштабирует действие атрибута velocity, используемого для моделирования размытия движения.

File Contents

Данный свиток показывает содержимое импортируемого в сцене файла stand-in в редакторе атрибутов и позволяет применять переопределения к выбранным в нем элементам.

С помощью группы инструментов Look выполняется создание, редактирование или удаление вариантов внешнего вида. При создании нового образа автоматически добавляется узел оператора aiLookSwitch, который представляет собой комбинацию операторов switch_operator и merge, который связан с корнем графа процедур. При первоначальном образе текущие операторы перемещаются в первый список входов на узле переключения вариантов. Ярлыки в aiLookSwitch используются для заполнения списка из aiStandIn. Этот модуль может быть установлен / отменен инструментами настройки визуализации для добавления различных видов на слой / проход. Имя / внешний вид / проход будут переведены к номеру индекса для визуализации.

Add Assignment – список параметров, которые можно присвоить объектам внутри него. Его можно использовать для добавления атрибутов и определения параметров объектов, расположенных ниже в узле. Он создает узел Set Parameter для каждого выбора и помещает их в список Operators. Верхний – это первый оператор, а нижний – последний оператор в дереве иерархии.

Local Overrides – назначения, которые находятся связаны с узлом в иерархии.

Inherited Assignments – переопределения, которые влияют на объект ниже или соответствуют выбранному выражению (string expression).

Add Operator – добавляет универсальный оператор в точку в графе. Строка выбора должна ссылаться на узлы внутри файла *.ass, *.usd или *.abc.

Show Graph – отображает автономный граф объекта и всех связанных с ним операторов.

Render Stats

Свиток Render Stats позволяет включать или отключать различные параметры визуализации для выбранного stand-in.

StandIn Overrides

Override Standin Light Linking – если этот атрибут включен, связи узла aiStandin с источниками света применяется ко всем объектам в Stand-in.

Override Standin Shaders – если этот атрибут включен, шейдеры, примененные к узлу aiStandin, переопределяют шейдеры для всех объектов в Stand-in.

Переопределение шейдеров не переопределяет карты смещения. Смещение обрабатывается Arnold отдельно: когда сцена транслируется в Arnold с помощью MtoA, смещение геометрия не является частью шейдера (shader), применяемого к объекту.

Extra Attributes

Есть некоторые дополнительные атрибуты, которые скрыты от пользователя, такие как overridePrimaryVisibility, overrideOpaque и т. д. Они расположены в нижней части дополнительных атрибутов в редакторе атрибутов для Stand-ins. Если вы используете элементы управления StandIn Overrides, MtoA автоматически обновит соответствующие флажки в разделе Extra Attributes. Например, чтобы переопределить основную видимость, необходимо также включить дополнительный атрибут overridePrimaryVisibility.

Arnold Procedural – вы можете использовать прокси-геометрию, чтобы представить stand-ins с помощью транслятора процедур Arnold для геометрии. Эта функция использует информацию об Bounding Box из Maya. Если stand-in ограничен, вы можете отключить отложенную загрузку процедур или использовать параметры пользователя для установки минимального и максимального процедурных значений (например, min -1 -1 -1 max 1 1 1).

Создание нескольких образов с Arnold Operators

Важным преимуществом Arnold Renderer является его модульность. По своей природе Arnold – это своего рода конструктор, состоящий из множества блоков (API), которые могут быть объединены для получения желаемого образа. Arnold Operators также являются API, который взаимодействует с данными о геометрии, хранимой в форматах Arnold, Alembic, USD и MaterialX.

Для начала работы с Arnold Operators, используйте свиток Operators в диалоговом окне Render Settings и свиток File Contents в Arnold Stand-ins.

Autodesk Arnold

Пример отображения иерархии сцены в Stand-ins в USD (A, B) и в Arnold .ass форматах (С)

В данном примере я показываю вариант с применением Arnold Operators вместе с Arnold Stand-in. Благодаря тому, что Stand-in читает данные, сохраненные в *.ass, *.usd, *.abc, каждый объект, материал, текстура будут отображены в списке объектов. Также будет отображена иерархия объектов. Это является важным плюсом, так как вы можете заранее проработать структуру объектов и связать операторы с ними в последующем.

Формат USD, как и родной формат сцен Arnold Renderer, предоставляет информацию об объектах, шейдерах, текстурах, камерах и источниках света.

Autodesk Arnold

Создание Arnold Look с помощью функции Create New Look в Stand-ins

Для создания нового образа используйте кнопку Create New Look в свитке File Contents. В диалоговом окне New Look введите имя нового образа, или поставьте флажок напротив параметра Duplicate Current Look, если просто желаете скопировать текущий настроенный образ.

Когда создается Arnold Look, в сцену Maya добавляется узел aiLookSwitch, выполняющий переключение образа в Stand-ins. Переключение между образами, выполняется с помощью раскрывающегося списка look.

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

Autodesk Arnold

Граф узлов Arnold Operators, связанных с узлом aiLookSwitch и Arnold Stand-in

Для удобства разработки образов на основе Arnold Operators я рекомендую создавать образ без прямой связи со Stand-ins. В диалоговом окне Render Settings, во вкладке Arnold Renderer в свитке Operators создайте или свяжите с атрибутом Target Operator оператор aiMerge, который впоследствии может быть объединен с любым оператором aiLookSwitch.

Autodesk Arnold

Диалоговое окно Render Settings и свиток Opertators

Все связанные с aiMerge операторы и введенные в них выражения будут взаимодействовать с геометрией в Stand-ins. По своей сути, во время процесса визуализации, Arnold загружает данные из Stand-ins в ОЗУ, и в режиме реального времени обращается к ним в процессе создания графа операторов.

Это удобно, если вы создаете вначале только геометрию, а варианты образов разрабатываете отдельно, на этапе Look Development, в Stand-ins можно загружать только модель, без проработки материалов, а последующие образы будут загружаться на основе графов MaterialX, что упрощает подготовку к финальной визуализации и выбора соответствующего образа.

Рассмотрим граф, приведенный на пару рисунков выше. Данный граф демонстрирует связи между Arnold Operators для четырех образов. С помощью оператора aiSetParameter выполняется поиск необходимых узлов в сцене и присвоенных им новых атрибутов и свойств.

Autodesk Arnold

Узел оператора aiSetParameter. Слева приведен пример с переопределениями атрибутов шейдеров материала, справа приведен пример переопределения атрибутов геометрии

Каждый атрибут может быть определен типом данных (например, float, int, string, rgba и т. д.), именем (например, имя атрибутов в Maya), оператором (равенство, умножение, деление и т. д.), значением и выражением. Для ряда атрибутов, которые определены в интерфейсе Maya, будут автоматически добавлены соответствующие элементы интерфейса (флажок, раскрывающийся список, текстовое поле и т. д.).

Когда граф операторов будет создан, его можно подключить к созданному в Stand-ins оператору aiLookSwitch с созданным ранее образом.

В процессе интерактивной визуализации, вы можете выполнять изменение образов с помощью раскрывающегося списка looks и видеть изменения в Arnold Render View.

Autodesk Arnold

Пример визуализации трех вариантов модели в одной сцене с применением Arnold Operators

Экспорт готовых графов выполняется с помощью функции Export looks в узле Arnold Stand-ins. Экспорт может быть выполнен в форматы Arnold (*.ass), MaterialX (*.mtlx) и USD (*.usd). При экспорте в формат MaterialX, вам также будет предоставлена возможность настройки имен свойств объектов, пути к узлам и разделителя, аналогично функционалу диалогового окна Export to MaterialX…

Autodesk Arnold

Настройка экспорта созданного образа в формат MaterialX

Выполнив экспорт графа в отдельный файл, при следующем импорте модели в Maya создайте узел aiMaterialX (Рис. 18) и новый Look для Stand-ins и просто загрузите его, выбрав необходимый образ в списке.

Autodesk Arnold

Узел aiMaterialX позволяет загрузить и применить к Stand-ins заранее подготовленные образы

Атрибут Mtlx Filename определяет путь и файл с конфигурациями образов. Раскрывающийся список Assign Type позволяет выбрать, какой элемент применять, look или material. При выборе режима material в списке Look будет отображен список всех сохраненных в MaterialX материалов.

Флажки Assign Materials, Assign Properties, Assign Visibilities позволяют выбрать глобально, какие данные необходимо назначить объектам Stand-ins из выбранного в списке образа.

Заключение

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

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

Приложения Autodesk также получили поддержку USD, есть модуль расширения Autodesk USD plug-in для Autodesk Maya и ведется разработка аналогичного модуля для Autodesk 3ds Max. Компания Autodesk активно ведет три Open Source проекта, на которых основаны рассмотренные в данной статье инструменты:

Первый проект посвящен реализации поддержки формата USD в Maya, второй – реализации USD в Arnold, а третий проект – специальный универсальный шейдер Autodesk Standard Surface. Он доступен в Autodesk 3ds Max и Autodesk Maya при выборе Arnold Renderer в качестве текущего средства визуализации. А его блоки (диффузный цвет, отражения, рельефность, подповерхностное рассеивание и т. д.) реализованы на уровне параметров MaterialX и базовых определений свойств поверхности, реализованных в стандарте. Настройка отражений в Standard Surface будет представлена также в файле MaterialX и интерпретирована другой системой визуализации или тем же Arnold Renderer.

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

Механизм Arnold Operators можно использовать во всех приложениях, поддерживаемых Arnold. Наиболее оптимальным считается процесс с применением MtoA, MAXtoA и HtoA, где механизм операторов реализован полностью.

На официальном форуме Autodesk, создана тема Обсуждение PIXAR USD в Maya, Arnold и 3ds Max, в которой вы можете задать свои вопросы о поддержке форматов USD, MaterialX и их реализации в целевых приложениях. Там же вы можете предложить свои идеи, которые впоследствии могут быть переданы разработчикам компании Autodesk.

Если у вас возникли вопросы, касающиеся Arnold Renderer, поддержки USD и MaterialX в Maya и других приложениях, напишите специалистам компании «ПОИНТ». Вам обязательно помогут. И до скорых новых встреч!

поделиться
Для сбора статистики по работе PointCGI, мы cобираем данные о пользователях. Используя PointCGI, вы соглашаетесь с нашей политикой обработки персональных данных, включая технологию cookie.