Как создать маску на теле или создать собственный (сложный) чертеж на этом теле для Adobe After Effects только с помощью сценариев - PullRequest
0 голосов
/ 11 марта 2019

Я делаю сценарий After Effects, который генерирует простые формы и анимацию для детей, и я стараюсь не импортировать векторные фигуры из Illustrator в After Effects для их анимации. И это прекрасно работает с простыми формами, такими как квадраты и круги.

Существует ли какое-либо решение для создания сложных фигур внутри набора инструментов Extendscript, чистого кода без импорта или поиска какого-либо файла .txt, просто путем задания вершин, положения и цвета формы и применения его к новому телу в виде маскировать, запустив скрипт внутри After Effects?

Если я захочу сделать это вручную, я добавлю новое тело, скопирую первый путь из Illustrator и вернусь к последующим эффектам, чтобы вставить его в это тело, затем я добавлю другое тело, обратно в иллюстратор, скопировать другой путь, обратно в эффект, вставьте его на твердое тело 2, и я буду повторять процесс до тех пор, пока не появится окончательный результат.

Я хочу завершить это переключение между программным обеспечением 1 и 2 и сохранить чертеж в виде массива [вершин], [касательных] и [касательных] и вызывать его всякий раз, когда захочу!

Запуск скрипта Результат

Спасибо!

Ответы [ 2 ]

1 голос
/ 11 марта 2019

Я сделал это так, это может быть использовано для импорта любого вида видеоряда

var path = "File Path";

 var input = new ImportOptinputns(File(path));
 if (input.canImportAs(ImportAsType.FOOTAGE));
     input.importAs = ImportAsType.FOOTAGE;

Или, если вы хотите импортировать последовательность изображений, вы можете сделать это следующим образом

// or if your footage is an image sequence             
     input.sequence = true;
     input.forceAlphabetical = true;

     imageSequence = app.project.importFile(input);    
     imageSequence.name = 'My automatically imported foorage";

     theComp = app.project.activeItem;  //import in to currently selected composition
     theComp.layers.add(imageSequence); 
0 голосов
/ 12 марта 2019

Я знаю, как создавать простые векторные объекты с помощью скрипта, но я не уверен, работает ли он для вас так, как вы этого хотите.Пример прямоугольника из двух групп

var shapeLayer = newComp.layers.addShape(); // adding shape layer    
        shapeLayer.name = "bannerLayer"; // name the shape layer
var shapeGroup1 = shapeLayer.property("Contents").addProperty("ADBE Vector Group"); / creating a group1
        shapeGroup1.name = "Banner"; //name the group1
        myRect= shapeGroup1.property("Contents").addProperty("ADBE Vector Shape - Rect"); // adding rectangle to the group1

Еще один пример более сложной фигуры, добавление треугольника к существующему слою фигуры, вы можете использовать этот код в качестве основы и создавать более сложные фигуры.

var shapeLayer = newComp.layers.addShape(); // adding shape layer    
shapeLayer.name = "bannerLayer"; // name the shape layer
var shapeGroup1 = shapeLayer.property("Contents").addProperty("ADBE Vector Group"); // creating a group1
shapeGroup1.name = "Banner"; //name the group1
myRect = shapeGroup1.property("Contents").addProperty("ADBE Vector Shape - Rect"); // adding rectangle to the group1

// construct a Shape object that forms a triangle
var myTriShape = new Shape();
myTriShape.vertices = [[-50,50], [50,50], [0,100]];
myTriShape.closed = true;

// add a Path group to our existing shape layer
myTriGroup = shapeLayer.property("Contents").addProperty("ADBE Vector Group"); // adding rectangle to the group1
myTriGroup.name = "Triangle";
myTri = myTriGroup.property("Contents").addProperty("ADBE Vector Shape - Group");

// set the Path property in the group to our triangle shape
myTri.property("Path").setValue(myTriShape);

Вы можете найти больше информации на этой странице.Я сам гуглил.

Проверить эту ссылку https://forums.creativecow.net/docs/forums/post.php?forumid=2&postid=1119306&univpostid=1119306&pview=t

...