1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Select and Link. Автоматизация.

Тема в разделе "3ds max", создана пользователем flibustier912, 29 июл 2014.

  1. flibustier912

    flibustier912 Пользователь сайта

    С нами с:
    29.07.2014
    Сообщения:
    7
    Симпатии:
    1
    Баллы:
    4
    Здравствуйте! Задача следующая: автоматизировать рендер предметов. Предметы разные, но располагаются в одних и тех же местах, поэтому было придумано следующее: создать "пустышку", сделать для нее сценарий (чтобы по кадрам потом осуществить рендер),затем к этой пустышке с помощью Select and Link привязать предмет.
    Проблема в следующем, автоматизация выполняется путем банальных кликов по кнопкам, но для того, чтобы связать предмет с пустышкой их нужно выделять курсором. Можно ли сделать это по другому? к примеру связать их, зная только имена этих объектов, или может есть другое решение...
    Заранее, Спасибо!
     
  2. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    Пример. В новой сцене создаем 3 чайника-Teapot и выделяем их.
    Запускаем скрипт. Делаем визуализацию с кадра 1 до кадра 3.
    Код:
    for i=1 to selection.count do (obj=selection[i]
    if getVisController obj ==undefined do obj.visibility = bezier_float() 
    vis=obj.visibility.controller; deleteKeys vis;
    addnewkey vis (i-1);addnewkey vis i;addnewkey vis (i+1)
    vis.keys[1].value=0;vis.keys[2].value=1;vis.keys[3].value=0)
    Чтобы запустить скрипт нужно:
    1. Создаем текстовый файл (NotePad) и копируем код (текст) скрипта.
    2. Сохраняем текстовый файл с названием "test.ms"
    3. В главное меню MaxScript выбираем пункт Run Script. Выбираем файл "test.ms"
     
  3. flibustier912

    flibustier912 Пользователь сайта

    С нами с:
    29.07.2014
    Сообщения:
    7
    Симпатии:
    1
    Баллы:
    4
    Проблема в том, что предметов будет очень и очень много, и делать визуализацию каждого предмета по кадрам нельзя, потому что придется тогда для того нанимать человека и платить ему зарплату))) Поэтому было решено сделать "пустышку" (некий прозрачный объект), для которого визуализированы 11 кадров, к этой пустышке нужно привязать предмет, но к сожалению привязка осуществляется выделением предметов мышью, что автоматизировать невозможно.
     
  4. flibustier912

    flibustier912 Пользователь сайта

    С нами с:
    29.07.2014
    Сообщения:
    7
    Симпатии:
    1
    Баллы:
    4
    Грубо говоря нужно выделить 2 объекта для "связки" не используя мышь
     
  5. flibustier912

    flibustier912 Пользователь сайта

    С нами с:
    29.07.2014
    Сообщения:
    7
    Симпатии:
    1
    Баллы:
    4
    Проблема решена, через "select by name" можно выделить предметы
     
  6. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    Вы выполнили мой пример? В чем конкретно состоит проблема визуализировать много предметов?
    Почему именно 11 кадров, а не 12 кадров? В сцене есть анимация?
    Вы называете это решением проблемы автоматизации рендера предметов?
    Хотя, если вы не знали раньше про "select by name", тогда это действительно автоматизация.
     
  7. flibustier912

    flibustier912 Пользователь сайта

    С нами с:
    29.07.2014
    Сообщения:
    7
    Симпатии:
    1
    Баллы:
    4

    Возможно я не правильно объяснил, что мне нужно, и да с 3Dmaxом я знаком 3-ий день, мне нужно было автоматизировать связку предметов, для автоматизация использую autoit, манипуляции мышью в нем выполнять не очень удобно, проще просто нажимать по кнопкам.

    Суть в следующем, с помощью автоита загружаю сцену, затем на нее загружаю предмет, предмет двигается по определенному сценарию, т.е. есть 11 кадров, в каждом из которых предмет(любой) занимает определенное место на сцене (места на сцене для всех предметов постоянны). Поэтому, чтобы не делать кадры с каждым предметом, его просто привязываем к "пустыщке" и запускаем рендер, таких сцен штук 16 + очень много предметов, поэтому весь этот процесс и приходится автоматизировать.
     
  8. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    Теперь стало понятнее.
    То есть, вы выполняете команду Open?
    Каждая сцена находится в отдельном файле "*.max"?
    Все файлы "*.max" с сценами находятся в одной общей папке?
    То есть, вы выполняете команду Merge?
    Каждый предмет находится в отдельном файле "*.max"?
    Каждый предмет находится в центре сцены?
    Все файлы "*.max" с предметами находятся в одной общей папке?
    Все предметы находятся в одном общем файле "*.max"?
    "Пустышка" находится в центре сцены?
    В сцене есть только одна "пустышка"?
    Какое название имеет "пустышка"?
    Какое название будет иметь файл(-ы) с результатом рендеринга?
    В каком месте будут сохранятся файл(-ы) с результатом рендеринга?
    После рендера одного предмета, нужно удалить его, чтобы загрузить новый предмет?
    Я понял, что это пока только полуавтоматизация.
     
  9. flibustier912

    flibustier912 Пользователь сайта

    С нами с:
    29.07.2014
    Сообщения:
    7
    Симпатии:
    1
    Баллы:
    4
    Да
    Да
    Да

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

    "Пустышка" уже имеет свой сценарий(т.е. положение на сцене в зависимости от кадра)
    Пока да, но будет несколько, т.к. предметы разных размеров
    "pustuska"

    ИмяПредмета + номер кадра
    Каждый предмет в отдельной папке(с помощью autoit это не проблема)
    Скорей всего сначала один предмет будет рендериться по всем сценам(хотя это еще не точно), но суть от этого не меняется, можно и так и так.
     
    igorznag нравится это.
  10. flibustier912

    flibustier912 Пользователь сайта

    С нами с:
    29.07.2014
    Сообщения:
    7
    Симпатии:
    1
    Баллы:
    4
    В итоге все должно будет работать следующим образом: закащик запускает программу, указывает папку с предметами (.max), а дальше все программа делает сама.
     

Поделиться этой страницей