MaxScript |
Обращение к другим объектам V-Ray из MaxScript
Обзор
Заметим, что поддержка MaxScript доступна в версии 3dsmax 5.x и более поздних. Хотя V-Ray экспортирует все свои параметры в MaxScript в версиях 3dsmax 3.x и 3dsmax 4.x, в этих версиях нет доступа через MaxScript к параметрам текущего визуализатора (рендерера).
В версиях 3dsmax 5.x и более поздних, при условии, что текущим рендерером является V-Ray, вы можете ссылаться на него из MaxScript, используя структуру renderers:
vr=renderers.current
VRay_Adv_1_09_03g:VRay_Adv_1_09_03g
Свойства визуализатора
При условии что переменная 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 будет использовать старые модели расчета). Для использования новых моделей расчета необходимо установить эти параметры вручную. (прим. переводчика)
Перевод © Black Sphinx, 2008-2011. All rights reserved.