Коротко
- V-Ray App SDK позволяет создавать сцену V-Ray или запускать рендер, загрузив файл .vrscene.
- Interactive подходит для быстрой предварительной визуализации и проверки настроек сцены, а Production — для получения итогового изображения.
- Рендер можно запустить в фоновом режиме с помощью start(); во время работы доступны промежуточные изображения.
- В документации не указаны конкретная версия ПО или стоимость лицензии для App SDK.
V-Ray App SDK предоставляет API для запуска и управления рендером с помощью движка V-Ray из приложения или отдельного процесса. Согласно официальной документации Chaos, сцену можно создать в памяти с помощью плагинов V-Ray или загрузить из файла .vrscene. В этом руководстве описан основной цикл рендера в App SDK и объясняется, какой режим подходит для разных этапов работы со сценой. Поскольку в документации не указана актуальная версия App SDK, материал основан на общем рабочем процессе, представленном в документации.
1. Подготовьте среду
Укажите расположение файлов App SDK. Для работы SDK, согласно документации, необходимо задать переменную среды
VRAY_SDK. Если используется привязка Python, папкуpythonнужно добавить в пути поиска модулей Python; в документации этот вариант показан с помощьюPYTHONPATH. Это необходимо, чтобы приложение могло найти компоненты SDK.Запустите подготовительный скрипт или рассмотрите альтернативный способ. В документации показано использование
setenv.batдля Windows иsource setenv.shдля Linux и macOS. Эти скрипты задают соответствующие переменные среды. Если бинарные файлы SDK находятся не в структуре папок/binпродукта, можно использовать переменнуюVRAY_APPSDK_BIN. Если переменные среды задать нельзя, путь поиска можно указать и через API.
На этом этапе следует проверить, соответствует ли структура папок на компьютере расположению, в котором приложение ищет библиотеку SDK. В документации не перечислены требования к установке для конкретной операционной системы или оборудования, поэтому при настройке следует ориентироваться на API-документацию используемой привязки.
2. Создайте или загрузите сцену
Запустите контроллер рендера. Класс
VRayRendererв App SDK запускает процесс рендера и управляет им. Сцену можно собрать в памяти, создавая объекты плагинов V-Ray и задавая их параметры; другой вариант — загрузить файл.vrscene, формат сцены V-Ray. Документация также допускает сочетание этих способов.
Способ создания сцены зависит от существующего производственного процесса. Например, приложение может преобразовать собственные данные сцены в плагины V-Ray или открыть заранее экспортированный файл .vrscene. App SDK не требует использовать конкретное ПО для моделирования, а предназначен для интеграции с движком рендера V-Ray.
Когда сцена готова, выберите режим рендера. В документации описаны два основных варианта:
| Режим рендера | Указанное в документации применение | Этап рабочего процесса |
|---|---|---|
| Interactive | Быстрый предварительный просмотр изображения и постепенное улучшение его качества | Получение обратной связи при проверке содержимого или настроек сцены |
| Production | Получение итогового изображения из тщательно настроенной сцены; завершение рендера может занять время | Создание финального изображения |
Оба режима поддерживают CPU и GPU. В документации указано, что CUDA и OptiX доступны только для NVIDIA, а Metal и MetalRT — только для Apple. Тип рендера выбирается свойством renderMode объекта VRayRenderer. Для класса по умолчанию, согласно документации, установлен режим Interactive (CPU), поэтому нужный режим следует выбирать явно с учетом задачи приложения и доступных в системе возможностей.
3. Запустите рендер и получите результат
Запустите рендер. Метод
start()запускает процесс рендера в отдельном потоке и сразу возвращает управление, не дожидаясь завершения. Благодаря этому приложение может выполнять другие задачи во время рендера или оставаться готовым к получению изображения прогресса. Пример на Python из документации загружает сцену, запускает рендер, ожидает его завершения и сохраняет полученное изображение в формате PNG:
import vray
with vray.VRayRenderer() as renderer:
renderer.load('./intro.vrscene')
renderer.start()
renderer.waitForRenderEnd(6000)
image = renderer.getImage()
image.save('intro.png')Значение 6000 в примере кода — аргумент, переданный вызову waitForRenderEnd в документации; оно не указано как рекомендуемое или обязательное время для каждой сцены. Поведение ожидания в производственном коде следует определять по документации используемой привязки API.
Оценивайте изображение и во время рендера, а по завершении освободите ресурсы. Согласно документации, текущие данные изображения можно получить до завершения рендера. Это может быть полезно, в частности, для отображения предварительного просмотра в интерфейсе приложения в режиме Interactive или для наблюдения за ходом процесса. В документации указано, что итоговое изображение готово, когда renderer переходит в состояние
IDLE_DONE. После завершения работы renderer следует закрыть; в примере на Python жизненным циклом управляет блокwith.
Кроме того, в документации описана возможность подписываться на события при изменении состояния рендера, создании сообщения V-Ray или передаче сведений о задаче и ходе выполнения. Эти уведомления помогают интеграции управлять поведением приложения на этапах загрузки, рендера и завершения. Однако функции обратного вызова выполняются в отдельном потоке; медленный пользовательский код может задержать выполнение других обратных вызовов.
Что меняется в архитектурном и archviz-процессе?
App SDK будет полезен командам, которые хотят встроить повторяющиеся этапы рендера в приложение или управлять сценой V-Ray из другого процесса. Архитектурные бюро и специалисты по archviz могут использовать Interactive для проверки сцены и ее содержимого, а Production — для получения итогового изображения. Благодаря этому можно переключаться между предварительным просмотром и финальным результатом в рамках одного renderer.
При этом в источниках нет таблицы совместимости с конкретными 3D-программами, требований к оборудованию, условий лицензирования или сведений о ценах. При выборе CPU или GPU можно учитывать только упомянутые в документации варианты рендеринга и ограничения платформ для соответствующих GPU-технологий; делать выводы о производительности нельзя. До интеграции приложения следует проверить API-документацию используемой языковой привязки и структуру папок, в которых будут размещены библиотеки SDK.
Частые ошибки
Запускать привязку SDK, не задав
VRAY_SDKили подходящий альтернативный путь, — библиотеки могут не обнаружиться.Неверно считать, что вызов
start()означает завершение рендера: в документации этот метод описан как асинхронный вызов, который сразу возвращает управление.Попытка изменить сцену или renderer во время рендера в состоянии
PREPARINGможет быть отклонена. В документации это предупреждение относится к случаю, когда используетсяstart(), а неstartSync().Медленные обратные вызовы, подписанные на события V-Ray, могут задерживать выполнение других обратных вызовов, поэтому следует проверять, какие операции выполняют обработчики событий.
Использовать аргумент ожидания из примера кода как неизменную настройку для любого проекта — значит выходить за рамки сведений, приведенных в документации.
В этой документации описаны основы загрузки сцен и управления рендером через App SDK, а не выбор конкретных параметров рендера в пользовательском интерфейсе. За подробностями о настройках внутри приложения следует обращаться к справочнику API используемой привязки.
Источники
Источников: 2Тексты источников не перепечатываются; короткие цитаты отмечены, остальное — наш пересказ и комментарий.
Для архитектурных бюро и студий визуализации в Турции практическая ценность App SDK заключается в том, что он позволяет встроить рендер V-Ray в существующее приложение или автоматизированный процесс. Возможность переключаться между режимами Interactive и Production в одном renderer позволяет работать с предварительным просмотром и финальным изображением, не разделяя эти этапы между разными инструментами.
При этом в документации нет сведений о ценах, условиях лицензирования, требованиях к оборудованию или совместимости с конкретными программами. Поэтому перед принятием решения о покупке стоит уточнить порядок установки SDK и возможности API используемой привязки. Самые распространенные операционные риски, судя по описанию, связаны с неверной настройкой переменных среды и предположением, что асинхронный рендер уже завершен.
Частые вопросы
Для чего нужен V-Ray App SDK?
Он позволяет запускать и управлять рендером с помощью движка V-Ray из приложения или отдельного процесса. Сцену можно создать в памяти с помощью плагинов или загрузить из файла `.vrscene`.
Чем режимы Interactive и Production в V-Ray App SDK отличаются друг от друга?
В документации режим Interactive описан как средство для быстрого предварительного просмотра и проверки настроек, а Production — как способ получить итоговое изображение из тщательно настроенной сцены.
Какие варианты GPU-рендера поддерживает V-Ray App SDK?
В документации указано, что CUDA и OptiX предназначены для NVIDIA, а Metal и MetalRT — для GPU Apple. Режим рендера можно выбрать для CPU или GPU.



