2016-07-12 4 views
0

After Effects 2015 용 스크립트 작성. 포인트 식 컨트롤러에서 좌표 데이터를 레이어의 위치 데이터로 복사하려고합니다. Expression Controller 값을 가리키는 방법을 찾지 못하는 것 같습니다.After Effects Script - Expression Controller 좌표

for (i = 1; i <= app.project.activeItem.selectedLayers[0].property("Effects").numProperties; i++) { 
    app.project.items[2].layer(i).property("position").setValue(app.project.activeItem.selectedLayers[0].property("Effects").property(i).value);       
} 

나는 또한이 시도했습니다

for (i = 1; i <= app.project.activeItem.selectedLayers[0].property("Effects").numProperties; i++) { 
    app.project.items[2].layer(i).property("position").setValue(app.project.activeItem.selectedLayers[0].property("Effects").property(i).property("Point").value);       
} 

어떤 도움을 주시면 감사하겠습니다. 나는 오타를 만들지 않았 으면 좋겠다. ...

답변

1

이것은 당신을 가게 될 것이다. 표현 포인트 컨트롤러가있는 레이어가 필요하므로 선택해야합니다. 나는 여기에 효과의 성냥 이름을 사용하고있다. 인터페이스의 이름도 사용할 수 있습니다. 나는 rd_GimmePropPath script from redefinery.com을 얻는 것이 좋습니다. 매번 도움이됩니다.

function main() { 
    app.beginUndoGroup("XXX"); 
    var curComp = app.project.activeItem; // get the current comp 
    if (!curComp || !(curComp instanceof CompItem)) { 
    // doulble check 
    alert("noComp"); 
    return; 
    }; 
    var layerwithpointcontroller = curComp.selectedLayers[0]; // the first selected layer 
    // get the value of the expression controler 
    var pointvalue = layerwithpointcontroller.property("ADBE Effect Parade") 
    .property("ADBE Point Control") 
    .property("ADBE Point Control-0001") 
    .value; 

    $.writeln(pointvalue); // take a look at it 
    var nullobject = curComp.layers.addNull();// add a null 
    nullobject.position.setValue(pointvalue);// set its position 
    app.endUndoGroup(); 
} 
main(); 
+0

고마워요! 이것은 큰 도움이되었습니다! – user2337615

+0

다시 한번 감사드립니다. 나는 그것을 받아 들였다라고 생각한다. .. 아직도 SE에 익숙해있다 – user2337615