Render.ru

Particle Flow Scripting

IrakliSpain

Активный участник
Рейтинг
5
#1
Всем привет.
У меня не легкая задача на работе: Должен создать скрипт, которое даже не знаю если можно сделать.

Макроскрипт должен прочитать из "*тхт" файла координаты (X,Y) и направления (Z), а потом создать партиклы в этих местах и направить в указанное направления. Для каждого партикла будут разные координаты и разные направления, а количество партиклов заранее неизвестно. Но это не все, макроскрипт должен повторить все для второго кадра, для третьего и т.д...
Количество кадров тоже неизвестно. И этот "*тхт" файл должен контролировать всю анимацию.

Можно это написать?
Спасибо
 

IrakliSpain

Активный участник
Рейтинг
5
#2
А текст приблизительно будет такой:


FRAME1:
Particle1.position[X:0.0 Y:0.0] Particle1.rotation[Z:90]
Particle2.position[X:2.5 Y:0.0] Particle2.rotation[Z:90]
Particle3.position[X:5.0 Y:0.0] Particle3.rotation[Z:90]
Particle4.position....

FRAME2:
Particle1.position[X:0.0 Y:2.0] Particle1.rotation[Z:95]
Particle2.position[X:2.5 Y:2.0] Particle2.rotation[Z:95]
Particle3.position[X:5.0 Y:2.0] Particle3.rotation[Z:95]
Particle4.position....

FRAME3:
Particle1.position[X:0.0 Y:4.0] Particle1.rotation[Z:100]
Particle2.position[X:2.5 Y:4.0] Particle2.rotation[Z:100]
Particle3.position[X:5.0 Y:4.0] Particle3.rotation[Z:100]
Particle4.position....

FRAME4:
Particle1.position[X:0.0 Y:6.0] Particle1.rotation[Z:105]
Particle2.position[X:2.5 Y:6.0] Particle2.rotation[Z:105]
Particle3.position[X:5.0 Y:6.0] Particle3.rotation[Z:105]
Particle4.position....

FRAME5:
Particle1.position.....
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#3
Можно использовать оператор Cache Disk который входит в PF Tool BOX #3 и посути он это и делает,
но нужно будет разобраться с его форматом и загонять данные в нем.

Также стоит глянуть KRAKATOA судя по описанию у него тоже есть очень хорошие средства совместимые с PF для работы с внешними файлами большого объема,
есть поддержка .CSV - это значит можно будет легко загнать данные в текстовом виде.

KRAKATOA: Управление частицами включает в себя возможность генерировать миллионы частиц с использованием уникального метода Particle Partitioning, не требовательном к системным ресурсам; поддержка ввода и вывода в открытый, компактный и гибкий формат данных частиц .PRT от Frantic Films, форматы RealFlow 3,4 и .CSV, который может быть использован для взаимодействия любых приложений, работающих с текстовыми файлами. Файлы частиц могут быть сохранены из Krakatoa и загружены в 3ds Max с помощью объектов Krakatoa Particle Loader или в Particle Flow с помощью специализированных операторов Krakatoa File Birth и Krakatoa File Position, что обеспечивает полный цикл обмена данными: сохранение, перезагрузка и многократная обработка с различными настройками частиц.
Можно и на скрипте сделать все для этого есть
Просто делаеш в PF Script Operator (BirthScript если число партиклов меняется) и читаешь на каждом кадре файл.
Задаешь для каждой частицы позицию и ориентацию.
Да делаем проверку на локальное время и читаем файл только для текущего кадра иначе будет каждый раз обрабатывать все кадры до текущего фрейма.
Там все просто, если что смотри примеры в хелпе.

Формат файла: позиция-xyz и ориентация(вектор)-xyz в каждой строке, 6 цифр разделенных пробелами без буквенных префиксов.
но при больших объемах частиц, будет не быстро.
 
Сверху