Osl 3ds max что это такое

Обновлено: 21.11.2024

Лоран Жибер, менеджер по продукту 3ds Max, представил новую версию 2019 года на GDC 2018.

В 3ds Max 2018 продукт получил Arnold и улучшенные рабочие процессы моделирования и анимации. В течение года было несколько небольших точечных релизов «Smaller drop», как их называла команда. Эти небольшие капли исправили около 550 проблем за последний год. В новом 3ds Max 2019 были добавлены новые карты OSL (ниже), новые логические инструменты параметрической формы сплайна, улучшенный перегонный куб и общие виды, позволяющие клиентам, не использующим 3ds Max, просматривать работу. 3ds Max также имеет интерактивную компоновку сцен в VR, плюс на момент выпуска будет более 150 плагинов, поддерживающих новую версию 3ds max 2019.

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

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

fxguide поддерживает и отчитывается об OSL с 2009 года, когда Sony Pictures Imageworks (SPI) выпустила свою первую версию OSL с открытым исходным кодом (начало 2010 года). Язык шейдинга был разработан в SPI для работы с внутренним модулем визуализации Arnold, и он всегда создавался таким образом, чтобы его можно было адаптировать к достижениям в технологии визуализации. SPI разработал или сыграл центральную роль во многих проектах и ​​продуктах с открытым исходным кодом, таких как Alembic, OSL, FLIX, Katana, OpenColorIO и многих других, которые теперь являются частью отрасли.

В 2017 году научно-технический комитет Академии наградил Ларри Гритца наградой за разработку, внедрение и распространение. Комментарий того времени: «OSL — это высокооптимизированная архитектура среды выполнения и язык для программируемого затенения и текстурирования, ставший де-факто отраслевым стандартом. Это позволяет художникам любого уровня технического мастерства создавать физически правдоподобные материалы для эффективного производственного рендеринга». OSL впервые была реализована для собственной версии Arnold от SPI. С тех пор он был включен в большое количество средств визуализации, включая V-Ray.

Вдали от шоу GDC fxguide поговорил с Ларри Грицем о его реакции. «Я видел пару превью, и, честно говоря, я поражен тем, насколько отточенной и хорошо интегрированной является их поддержка OSL», — прокомментировал Гриц. «Это кажется действительно первоклассным и всеобъемлющим, а не просто беглый шаг в воду. У них действительно приятный пользовательский интерфейс и организация, очень хорошо отполированные».

В 3ds Max OSL имеется огромное количество функций шейдеров, и Гритц считает, что команда предоставила хороший способ показать добавление или изменение собственного кода шейдера. «Он тесно интегрирован во весь интерфейс, и они могут видеть очень интерактивную обратную связь от рендерера, когда редактируют и модифицируют шейдеры».

Команда 3ds Max не только наладила работу OSL с Arnold, но и обеспечила его прозрачную работу со старым модулем визуализации Max. 'Zap (Håkan 'Zap' Андерссон, архитектор рендеринга в Autodesk) и его команда проделали действительно большую работу. релиз», — добавляет Гриц.

"Я очень рад видеть, что пользователи делают с этим и к чему это приводит. 3dsMax — это, конечно, большая горилла приложений DCC, возможно, самая большая установленная база любого подобного программного обеспечения». мы прокомментировали. Это означает, что даже если только часть установленной базы 3ds Max будет работать с OSL, это приведет к огромному увеличению числа пользователей OSL, и «это будет иметь серьезные последствия для будущего сообщества OSL и экосистемы инструментов», — заключает он.< /p>

В отличие от предыдущих языков шейдеров, OSL всегда предполагал систему рендеринга, которая может выполнять трассировку лучей и обеспечивает естественное глобальное освещение, поэтому OSL идеально подходит для мира физической точности. Последним продуктом для интеграции OSL является 3ds Max. Реализация 3ds max гладкая, отточенная и очень эффективная.

OSL 3ds Max очень эффективно работает с Arnold, который теперь входит в стандартную комплектацию (заменяет Mental Ray). Ранее OSL рассматривалась как любая другая сторонняя библиотека шейдеров. Новая версия 3ds Max поставляется с более чем сотней новых текстурных шейдеров OSL. Сама карта OSL внутри 3ds Max позволяет пользователям просто загружать и импортировать шейдеры OSL из огромного количества бесплатных шейдеров OSL в сети.

Теперь в 3ds Max 2019 OSL отображается как новая карта под названием OSL map, новая категория карт с улучшенными функциями, такими как обработка метаданных

Подключаемый модуль Arnold для 3ds Max был запущен на Siggraph 2016, а с момента выпуска Arnold 5.0 в 2017 году MAXtoA входит в стандартную комплектацию 3ds Max 2018, предоставляя мост к средству визуализации Arnold из стандартного интерфейса 3ds Max. Начиная с версии 5.0 средство визуализации Arnold обычно поставляется с шейдерами, которые можно писать как на C++, так и на OSL.Шейдеры OSL в пути поиска шейдеров автоматически регистрируются как узлы шейдера Arnold, а их параметры преобразуются в параметры Arnold. После загрузки эти шейдеры OSL можно проверять, создавать экземпляры и связывать точно так же, как шейдеры C++. На сегодняшний день OSL теперь интегрирован в 3ds Max новым элегантным и мощным способом.

С начала 2016 года появилась версия окна Arnold Render View для Maya. Эта утилита интерактивного рендеринга (IPR) была выпущена для предоставления обратной связи в режиме реального времени о любых изменениях, внесенных в сцену, при этом устраняя некоторые ограничения родного представления рендеринга Maya. Arnold 5 в прошлом году также означал использование средства визуализации Arnold непосредственно в 3ds Max, включая версию 3ds Max с быстрой опцией Arnold Active Shade.

По умолчанию OSL работает с любым средством визуализации, поддерживающим классический API шейдеров 3ds Max (Scanline, vRay, Corona и т. д.). Он работает вне средств визуализации, везде в 3ds Max, где запрашивается обычная карта, например, в модификаторе Displacement и т. д. В этом случае для средств визуализации, изначально поддерживающих OSL, таких как Arnold, среда выполнения внутри карты OSL не вместо этого используется исходный код OSL, значения параметров и привязки шейдеров отправляются средству визуализации, которое выполняет сам код OSL.

Одной из наиболее впечатляющих функций является возможность редактирования шейдеров, эта среда разработки очень интерактивна. Код шейдера можно открыть в редакторе, и компилятор шейдера запустится, даже когда 3ds Max все еще обновляет изображение с помощью параметра Arnold Active Shade (IPR). С инструментами разработки связано мощное расширение шейдера метаданных для подсказок инструментов или текста справки, ссылок или «логотипов» шейдера.

Также: интеграция с Unity

Команда также показала совместную работу 3ds Max и Unity. Команда упростила перенос ресурсов из 3ds Max или Maya в Unity. Впервые это улучшенное взаимодействие было представлено на конференции Unite в Остине 2017 года в октябре 2017 года. Это была та самая конференция Unite, на которой Нил Бломкамп и OATS Studios представили ADAM: The Mirror. . Unity был первым механизмом создания, который имел полный доступ к исходному коду Autodesk FBX SDK. Это приводит к экспортеру Unity fbx, который сегодня предоставляет чистую модель и анимацию (Alembic) туда и обратно. Например, для тестирования игрового процесса в Unity команда показала, как инструменты FBX maya IK возвращаются, а данные GameObject сохраняются в ходе двусторонних быстрых сцен серого ящика.

Материал VRayOSLMtl можно использовать для загрузки файлов кода шейдера OSL (.osl) или файлов объектного кода OSL (.oso) и рендеринга их непосредственно с помощью V-Ray. .

Подключаемый модуль VRayOSLMtl можно использовать с шейдерами, использующими выходные параметры замыкания. См. страницу поддержки OSL для получения более подробных описаний и примеров написания шейдера OSL в V-Ray.

Используйте область Quick Shader для редактирования кода шейдера вручную.

Координаты и шум

Свитки «Координаты» и «Шум» — это стандартные свитки текстуры 3ds Max.

Общие

Свиток General содержит параметры, управляющие общими характеристиками шейдера.

Файл шейдера — указывает файл .osl или .oso, содержащий код шейдера (объекта). Эта кнопка также поддерживает контекстное меню со следующими параметрами:

Очистить – выгружает текущий шейдер и восстанавливает подключаемый модуль, как если бы шейдеры не загружались.
Сброс – перезагружает шейдер и сбрасывает его параметры до значений по умолчанию.
Перезагрузить – перезагружает шейдер. но сохраняет текущие значения параметров.
Открыть содержащую папку — показывает расположение шейдера в Проводнике.
Открыть во внешнем редакторе — открывает шейдер в соответствующем текстовом редакторе.
Открыть в Quick Shader — открывает код загруженного файла в текстовом редакторе Quick Shader.
Копировать путь к файлу — помещает полный путь к текущему загруженному файлу в буфер обмена.
Копировать путь к папке — копирует родительский каталог загруженного в данный момент файла файл в буфер обмена.
Недавние файлы: содержит список недавно загруженных шейдеров и возможность очистить список.

< /tr>
Сочетание клавишCommand
CОчистить
RСбросить
EПерезагрузить
OОткрыть содержащую папку
XОткрыть во внешнем редакторе
QОткрыть в Quick Shader
FКопировать путь к файлу
PКопировать путь к папке
TПоследние файлы
1-0 Первым 10 элементам подменю «Последние файлы» присвоены ярлыки от 1 до 0

Если вы отредактируете свой шейдер OSL, новая версия будет загружена только после того, как будет выбран параметр «Очистить», «Сбросить» или «Перезагрузить».

Вывод замыкания — указывает источник цвета замыкания для вывода материалов. По умолчанию выбран встроенный параметр цвета замыкания вывода Ci.

Максимальная глубина луча — определяет максимальную глубину отражения/преломления для шейдера.

Показать предварительный просмотр — определяет, отображать ли предварительный просмотр шейдера в редакторе материалов 3ds Max.

Зафиксировать результат шейдера. Определяет, следует ли принудительно помещать результат в диапазон [0, предел ограничения].

Clamping limit — определяет верхний предел ограничения, если включен результат шейдера ограничения.

Цвет области просмотра — определяет диффузный компонент материала, используемый при затенении области просмотра.

Переносить координаты текстуры — автоматически переносит координаты текстуры для шейдера OSL, передавая только значения в диапазоне [0,0, 1,0].

Отразить текстуры: все присоединенные текстуры переворачиваются по вертикали для совместимости с 3ds Max OSL Map.

Экспортировать имя шейдера в OSO — шейдер сохраняется как файл *.oso.

— кнопка справки, которая открывает URL-адрес, предоставленный шейдером.

Автор:

Существует два основных рабочих процесса использования OSL в 3ds Max: один для использования предварительно созданной карты из категории OSL, а другой — для использования самой карты OSL.

Использование карты из категории OSL

  • Редактор материалов > Браузер материалов/карт > Карты > OSL
  1. Откройте редактор материалов Slate.
  2. В браузере материалов/карт разверните категорию OSL.
  3. Выберите карту и поместите ее в редактор материалов Slate.
  4. При необходимости измените параметры карты.
  5. Визуализировать или использовать ActiveShade в поддерживаемом средстве визуализации.

Все карты OSL, найденные в категории OSL, взяты из папки подключаемого модуля 3ds Max. Сюда входят примерно 100 шейдеров OSL; однако вы также можете добавить больше.

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

Использование карты OSL

  • Редактор материалов > Браузер материалов/карт > Карты > Общие > Карта OSL

Карта OSL – это пустая незаселенная карта с функциями редактирования. Как и в случае с другими картами, вам просто нужно поместить ее в редактор материалов Slate. Тем не менее, редактирование параметров — вот где эта карта становится интересной.

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

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

Нажмите «Изменить», чтобы открыть редактор исходного кода OSL. Это простой подключаемый текстовый редактор с подсветкой синтаксиса, в котором код OSL можно редактировать в реальном времени. Нажмите «Скомпилировать шейдер» или используйте сочетание клавиш F7, чтобы обновить шейдер до последней версии кода даже во время рендеринга в ActiveShade.

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

Отредактированные файлы можно сохранить с помощью команды «Сохранить файл OSL» или сочетания клавиш Ctrl+S. Однако, поскольку код находится внутри карты OSL, их также можно хранить в сценах или перетаскивать в библиотеки материалов. Никаких внешних зависимостей для каких-либо файлов не существует; он полностью автономен. Сцена, отправленная на ферму рендеринга по всему миру, никогда не будет лишена шейдера — они находятся в самой сцене.

Если вы сохраните файл OSL в одной из папок Plugins/OSL, шейдер автоматически появится в браузере материалов/карт.

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

Карты категорий OSL и карта OSL одинаковы

Карты OSL, на которых выполняются шейдеры, предварительно загруженные в браузер карт, и карта OSL, найденная в разделе «Общие», — это одно и то же. По сути, перетаскивание чего-либо из раздела OSL отличается только одним аспектом: Карта OSL по умолчанию приходит в связанном режиме, и ее файл предварительно загружается в соответствующий файл OSL.

Состояние значков цепочки указывает на "связанный" режим.

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

Когда он выключен, код шейдера хранится внутри самой карты OSL.

Самое лучшее, что вы можете переключаться.

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

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

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

Используйте кнопку меню для поиска и фильтрации по категориям >>>

Читайте также: