Render.ru

Автоматизация создания V-ray Proxy?

Андрей Павлов

Пользователь сайта
Рейтинг
2
#1
Всем привет, я только начал осваивать maxskript. И для начала решил попробовать автоматизировать рутинный процесс конвертации большого количества объектов в VrayProxy. Последовательность действий такая:
1. замерджить объект в новую сцену (в сценах всегда один объект)
2. скопировать его и сдвинуть в сторону (просто что бы оригинал и прокси не совпадал)
3. конвертировать объект в прокси (первоначальный объект)
4. сделать Asset Tracking (Make Path Absolute для всех карт)
5. пересохранить сцену (из которой мерджил первоначальный объект)
и т.д. со всеми файлами в указанной папке. Естественно предварительно нужно указать папку с файлами .max и куда сохранять прокси.
Вот такая была задача.
На данный момент смог реализовать пункты 1,2,5 ))
Главная проблема не понятно как заставить сохранять прок с именем объекта! Сейчас при выполнении скрипта он поочередно переписывает прокси файлы и по итогу остается только один безымянный файл .vrmesh
Вообщем, буду благодарен за любую помощь!)

Код:
arr = getFiles "C:\\Users\\Andru\\Desktop\\testSkript\\*.max"
for f in arr do (mergeMAXFile f;
        (max select all
            s=$
            xp=s.max.x
            m=xp*3
            s2=copy s --kopiruet objekt
            s2.pos.x=m
            );
                vrayMeshExport autoCreateProxies:true meshFile:("C:\Users\Andru\Desktop\testSkript\TestProxy\\.vrmesh");
                       
                        (saveMaxFile f
                            );
                                (print objects);   
                                resetMaxFile(#noPrompt)
)
 

igorznag

Знаток
Рейтинг
71
#2
Главная проблема не понятно как заставить сохранять прок с именем объекта! Сейчас при выполнении скрипта он поочередно переписывает прокси файлы и по итогу остается только один безымянный файл .vrmesh
Код:
arr = getFiles @"D:\test\vray_proxy_script\scene\*.max"
for f in arr do
(
    mergeMAXFile f; max select all; s=$; xp=s.max.x; m=xp*3; s2=copy s; s2.pos.x=m
    vrayMeshExport autoCreateProxies:true meshFile:(@"D:\test\vray_proxy_script\scene\"+s.name+".vrmesh");
    saveMaxFile f; print objects
    resetMaxFile #noPrompt
)--for f in arr do
 
Сверху