Render.ru

Запуск скрипта во множестве сцен

kuirp

Активный участник
Рейтинг
16
#1
Привет всем!
Собственно, имеется один скрипт и много сцен, на которые надо этот скрипт применить.

Есть автоматика какая для таких целей?
Или только вручную?
 

igorznag

Мастер
Рейтинг
103
#3
Объясните подробнее.
Что делает этот скрипт? Скрипт имеет своё окно или нет?
Можно редактировать этот скрипт или он зашифрован?
Вы можете нам предоставить этот скрипт?
После применения скрипта нужно сохранить сцену?
 

kuirp

Активный участник
Рейтинг
16
#4
Объясните подробнее.
Что делает этот скрипт? Скрипт имеет своё окно или нет?
Можно редактировать этот скрипт или он зашифрован?
Вы можете нам предоставить этот скрипт?
После применения скрипта нужно сохранить сцену?
Скрипт простейший, сделал macro recorder'ом.
Добавляет в сцену камеру в нужном мне ракурсе
переключается на вид из камеры
сохраняет сцену
Всё.

Окон не имеет.

Таким образом при File\Open выделяю файл сцены - вижу что внутри.
Дополнительное удобство, так сказать.

Не понимаю каким образом эта информация поможет решить вопрос, который я задал.:Confused:
 

maiden666

Мастер
Рейтинг
112
#5
в Кустомайзе создай New Toolbar и перетащи текст скрипта на него, вродё всё
 

igorznag

Мастер
Рейтинг
103
#6
Не понимаю каким образом эта информация поможет решить вопрос, который я задал.
Чем больше информации, тем лучше.
Все файлы max находятся в одной общей папке или в разных папках?

Допустим что все файлы max находятся в одной общей папке.
Пример. Создаем новую папку и несколько файлов max в ней.
Открываем программу 3ds max. Запускаем скрипт.
В новом окне нажимаем кнопку и выбираем папку с файлами max.
Скрипт последовательно открывает каждый файл max.
Создает камеру, переключается на вид из камеры и сохраняет сцену.
Код:
try destroydialog test catch()
rollout test "Test" width:120 height:35
(
    button btn_select_max_folder "Select max folder" pos:[5,5] width:110 height:25
    on btn_select_max_folder pressed do
    (
        f=getSavePath caption: "Select folder with max files"
        if f!=undefined do
        (  
            resetMaxFile #noPrompt; files = getFiles (f+"/*.max")
            for f in files do
            (
                loadMaxFile f quiet:true
                c=freeCamera(); c.transform=matrix3 [0.707,-0.707,0] [0.353,0.353,0.866] [-0.612,-0.612,0.5] [-88.775,-106.938,93.634]
                viewport.setCamera c; completeredraw(); max file save   
            )--for f in files do
            resetMaxFile #noPrompt
        )--if f!=undefined   
    )--on btn_select_max_folder do
); createdialog test
 

kuirp

Активный участник
Рейтинг
16
#7
Чем больше информации, тем лучше.
Все файлы max находятся в одной общей папке или в разных папках?

Допустим что все файлы max находятся в одной общей папке.
Пример. Создаем новую папку и несколько файлов max в ней.
Открываем программу 3ds max. Запускаем скрипт.
В новом окне нажимаем кнопку и выбираем папку с файлами max.
Скрипт последовательно открывает каждый файл max.
Создает камеру, переключается на вид из камеры и сохраняет сцену.
Сегодня затестил - всё работает шикарно!:)
Весьма полезная штука вышла)) Спасибо
Одна мелочь - какой из параметров влияет на позицию\ориентацию камеры в пространстве?
Очевидно, какой-то из этой строки:
c.transform=matrix3 [0.707,-0.707,0] [0.353,0.353,0.866] [-0.612,-0.612,0.5] [-88.775,-106.938,93.634]
Но за конкретику лишний плюс в карму)
 
Последнее редактирование:

kuirp

Активный участник
Рейтинг
16
#8
Вдогонку мысль: настаивать не буду, однако, для полного счастья скрипту не хватает кнопочки выбора объекта(или списка объектов) из текущей сцены собственно вместо той камеры, которая создаётся автоматом.

В таком случае всё дополнительно в разы упрощается:
1. Запускаем скрипт
2. Выбираем объект\список объектов
3. Указываем папку с файлами max
4. Скрипт добавляет объект\список объектов в текущей позиции\ориентации в каждый файл сцены из папки

Правда, тут переключение на вид из камеры уже не особо нужно
 
Последнее редактирование:
Сверху