2017-01-19 21 views
1

Я пытаюсь разделить слой в After Effects с помощью extendscript. Прежде всего, я хочу получить значение времени маркера. Затем я хочу установить курсор временной шкалы на нужную точку на временной шкале. И, наконец, я разберусь на куски.Как разделить слой в After Effects с помощью маркера маркеров и javascript, extendscript?

Как это произошло в javascript? Маби, ты знаешь, как получить параметр времени от маркера, а затем использовать это значение, чтобы сдвинуть курсор временной шкалы из необходимой позиции?

Или вы знаете, как это сделать?

+0

Я нашел это: alert (myLayer.property («Маркер»). KeyTime (индексы маркеров)) –

+0

Поиск в google с термином «split layer at marker» дает мне хотя бы эти два сценария, которые делают именно то, что вы просят. http://aescripts.com/pt_layermarkers/ http://www.motion-graphics-exchange.com/after-effects/Split-At-Markers/4c44af203df8b Вы можете взглянуть на вторую, как они это сделали (первый - закрытый источник). – fabianmoronzirfas

ответ

1

Самый простой способ будет дублировать слой:

var newLayer = myLayer.duplicate(); 

Затем установить inPoint этого слоя на время маркера:

newLayer.Inpoint = myLayer.property("Marker").keyTime(<index of marker>) 

И в минуса оригинального слоя:

myLayer.Outpoint = myLayer.property("Marker").keyTime(<index of marker>); 

Тогда, если вам нужно установить время компаса на время маркера, просто используйте свойство time comp objec т (я предполагаю, что здесь есть переменная называется myComp, который устанавливается на объект оценочного, например var myComp = app.project.activeItem):

myComp.time = myLayer.property("Marker").keyTime(<index of marker>); 

Прежде чем тратить слишком много больше времени, пытаясь Nut это, это стоит загрузив After Effects Scripting Guide (Я понимаю, что это говорит о CS6, это самая современная версия с 2017 года), и если вы хотите получить удовольствие от GUI, также получите Javascript Tools Guide

1

Нет необходимости в маркерах для spling слоя. должны дублировать слои и использовать интуицию и время автономной работы и устанавливать их соответственно. Для разделения между слоями исходный текст будет разделен на три слоя или частей. Поэтому я дал:

var portions =3; 

Вы можете использовать inPoints и Outpoints отметить интервал для слоя для расщепления:

var sliceTime = 15.0; //give the end time for the part of layer) 
var origOutPoint = layer.outPoint; 
comp.time = sliceTime; 
while (portions > 1) { 
    var d = layer.outPoint - sliceTime; 
    dupeLayer = layer.duplicate(); 
    layer.outPoint = dupeLayer.inPoint = sliceTime; 

    sliceTime = 20.0; 
    portions--; 
    layer = dupeLayer; 
} 

Надеется, что это может помочь вам.