Обзор

Свойства визуализатора

Методы визуализатора

Глобальные функции

Функции V-Ray VFB

 

Обращение к другим объектам V-Ray из MaxScript

 

 

 

Обзор

В 3ds Max, при условии, что текущим рендерером является V-Ray, вы можете ссылаться на него из MaxScript, используя структуру renderers:

 

vr=renderers.current

V_Ray_Adv_2_00_03:V_Ray_Adv_2_00_03

Свойства визуализатора

При условии что переменная vr содержит экземпляр объекта V-Ray renderer, вы можете работать с настройками рендерера также, как с любым другим объектом MaxScript:

 

showproperties vr

.imageSampler_type : integer

.fixedRate_subdivs : integer

.fixedRate_rand : boolean

...............

...............

...............

.options_maxDepth : integer

.options_maps : boolean

.options_filterMaps : boolean

.output_on : boolean

.output_width : integer

.output_height : integer

.output_fileOnly : boolean

.output_saveFile : boolean

.output_fileName : string

.output_saveRawFile : boolean

.output_rawFileName : string

false

 

 

Доступ к параметрам достаточно прост. Например:

 

vr.gi_on=true
true

 

Методы визуализатора

Вы можете также использовать следующие методы для сохранения/загрузки карт отсвещенности и фотонных карт (предполагаем, что переменная vr содержит экземпляр рендерера V-Ray):

 

Метод визуализатора Описание

vr.saveCausticsPhotonMap <filename>

сохраняет текущую фотонную карту каустики в указанном файле
vr.saveGlobalPhotonMap <filename> сохраняет текущую глобальную фотонную карту в указанном файле
vr.saveIrradianceMap <filename> сохраняет текущую карту освещенности в указанном файле
vr.saveLightCache <filename> сохраняет текущий световой кэш в указанном файле
vr.loadIrradianceMap <filename> загружает карту освещенности из указанного файла
vr.clearIrradianceMap() очищает карту освещенности, находящуюся в данный момент в памяти
vr.clearLightCache() очищает световой кэш, находящийся в данный момент в памяти
vr.showLastVFB() показывает окно V-Ray VFB с последним визуализированным изображением

 

Глобальные функции

В дополнение к этому, глобально доступны в MaxScript следующие функции:

 

Глобальная функция Описание
doVRayObjectProperties() вызывает диалог V-Ray Object Properties
doVRayMeshExport() вызывает диалог V-Ray Mesh Export
vrayMeshExport
[meshFile:"<mesh file>"]
[autoCreateProxies:true|false]
[exportMultiple:true|false]
[animation:on|off]
[animationRange:#scene|#explicit]
[animationStart:<integer>]
[animationEnd:<integer>]
[animationRedrawViews:true|false]
[maxPreviewFaces:<integer>]
[nodes:<object/array of objects/ objectset>]

производит экспорт в файл .vrmesh без показа окна диалога.

Возвращает массив созданных объектов VRayProxy, если таковые имеются.

vrayMeshImport
[proxy: <proxy mesh object(s)>]
[explicitNormals: true|false]
[weldVertices: true|false]
импортирует геометрию из указанных объектов VRayProxy как редактируемый меш (editable mesh).
registerVRayMenus() Регистрирует (добавляет) в стандартных меню 3ds Max пункты, специфичные для V-Ray.
unregisterVRayMenus() Удаляет из стандартных меню 3ds Max пункты, специфичные для V-Ray.
updateVRayMenus() Обновляет в стандартных меню 3ds Max все пункты, специфичные для V-Ray.
setVRaySilentMode()

запрещает любые диалоги V-Ray, которые могут появляться при загрузке сцены (например уведомление о различиях с более ранними версиями и т.п.)

 

Прим. перев.: для более ранних версий V-Ray было сделано нижеследующее примечание. Поведение V-Ray 2.0 в данной ситуации НЕ ПРОВЕРЯЛОСЬ.

 

Обнаружилась не совсем корректная работа V-Ray: в файле сцены то ли не сохраняются установки совместимости (VRay::Global switches: Legacy sun/sky/camera models и Use 3ds Max photometric scale), то ли эти настройки переустанавливаются при загрузке сцены в зависимости от ответа на вопрос об использовании новых моделей просчета VRaySun, VRaySky, VRayPhysicalCamera и VRayLight: при утвердительном ответе настройки будут установлены в

  • Legacy sun/sky/camera models = off
  • Use 3ds Max photometric scale = on

при отрицательном ответе -

  • Legacy sun/sky/camera models = on
  • Use 3ds Max photometric scale = off

Другие комбинации состояний этих опций после загрузки файла получить невозможно.

При использовании функции setVRaySilentMode() диалоги подавляются, но настройки совместимости устанавливаются в состояния, как при отрицательном ответе (т.е. VRay будет использовать старые модели расчета). Для использования новых моделей расчета необходимо установить эти параметры вручную. (прим. переводчика)

vrayEditDRSettings() Открывает окно настройки параметров распределённой визуализации V-Ray DR.

 

 

Функции V-Ray VFB

Следующие глобальные функции MaxScript реализуют доступ к виртуальному буферу кадра V-Ray (V-Ray VFB).

 

Глобальная функция VFB Описание
vrayVFBGetRegionEnabled() Функция возвращает true, если в V-Ray VFB включен режим визуализации области (render region), иначе false.
vrayVFBGetRegion() Функция возвращает массив из четырёх целых чисел, представляющих координаты (в пикселях) области визуализации VFB (границы: левая, верхняя, правая, нижняя). Левая и верхняя координаты включаются в область, а правая и нижняя - нет.

vrayVFBSetRegionEnabled true|false

Функция включает или выключает режим визуализации области VFB.

vrayVFBSetRegion left top right bottom Функция устанавливает указанные координаты области визуализации VFB.
vrayVFBGetNumChannels() Функция возвращает количество каналов (элементов визуализации - render elements) в V-Ray VFB. Функция возвращает 0, если VFB не инициализирован или не содержит данных.
vrayVFBGetChannelName i Функция возвращает имя i-того Канала. Нумерация индексов начинается с 1.
vrayVFBGetChannelType i Функция возвращает тип данных, хранящихся в i-том канале. Индексы начинаются с 1. Возвращаемое значение указывает тип данных для каждого пикселя в данном канале:
0 - неправильный индекс или VFB не содержит изображения;
1 - одно число в формате с плавающей точкой (используется, например, для канала z-depth);
2 - три числа с плавающей точкой (используется для обычных цветовых каналов);
3 - два числа с плавающей точкой;
4 - одно целое число (используется, например, для каналов render ID и material ID);
5 - три числа с плавающей точкой со знаком (используется, например, для каналов нормалей и мировых координат).
vrayVFBGetChannelAlias i Функция возвращает альтернативное имя для i-того канала. Индексы начинаются с 1. См. перечисление (enum) RegionChannelAlias в файле "pixelbuffer.h" из V-Ray SDK.
vrayVFBGetChannelBitmap i Функция возвращает содержимое указанного канала как растровое изображение (bitmap) 3ds Max. Индексы начинаются с 1. Функция возвращает undefined, если указан неправильный индекс или VFB не содержит данных.

 


Хостинг от uCoz