MarkerValue object
記述
new MarkerValue(comment, chapter, url, frameTarget, cuePointName, params)
概要
MarkerValue objectはレイヤーマーカーを表します。レイヤーマーカーはコメントおよびオプションでチャプターマーカー、ウェブリンク、Flashビデオのキューポイントをレイヤーの特定の位置に関連付けます。
コンストラクタを用いて作成します。commentを除くすべての引数がオプションになります。
すべての引数はparamsを除いて、返されるMarkerValue objectの対応するアトリビュートを設定するための文字列です。ここれらの引数はキーの値とペアになった配列で、getParameters()およびsetParameters() methodsを用いてアクセスすることができます。
レイヤーのマーカーを関連付けるには、そのレイヤーのMarker AE propertyでMarkerValue objectを設定します。
layerObject.property("Marker").setValueAtTime(time, markerValueObject);
コンポジションマーカーへのアクセス(CC2017(14.0)以降で対応)
コンポジションマーカーの作成・編集がcomp.markerPropertyアトリビュートによって可能になりました。コンポジションマーカーでのスクリプティングはレイヤーマーカーと同じ機能を有します。
以下のサンプルコードでは、プロジェクトとコンポジションを作成し、2つの異なるプロパティをもつマーカーを作成します。
// comp.markerProperty allows you add markers to a comp.
// It has the same functionality as layer.property("Marker")
{
var currentProj = app.newProject();
var comp = currentProj.items.addComp("mycomp", 1920, 1080, 1.0, 5, 29.97);
var solidLayer = comp.layers.addSolid([1, 1, 1], "mylayer", 1920, 1080, 1.0);
var compMarker = new MarkerValue("This is a comp marker!");
compMarker.duration = 1; compMarker.url = "http://www.adobe.com/aftereffects";
var compMarker2 = new MarkerValue("Another comp marker!");
compMarker2.duration = 1;
comp.markerProperty.setValueAtTime(1, compMarker)
comp.markerProperty.setValueAtTime(3, compMarker2)
}
CC2015.3(13.7)以前のAfter Effectsではコンポジションマーカーへのアクセスは提供されていません。コンポジションマーカーのあるコンポジションをプリコンポすることで、プリコンポ先のコンポジション内のレイヤーマーカーに変換することが可能なのでそれを用いてアトリビュートにアクセスすることは可能ですが、コンポジションマーカーを編集することはできません。
参考
Adobe After Effects / レイヤーマーカーとコンポジションマーカー(外部サイト)
サンプル
"Fade Up"というマーカーを2秒目に設定
var myMarker = new MarkerValue("Fade Up");
myLayer.property("Marker").setValueAtTime(2, myMarker);
特定のマーカーからコメントを取得する。
var commentOfFirstMarker = app.project.item(1).layer(1).property("Marker").keyValue(1).comment;
var commentOfMarkerAtTime4 =
app.project.item(1).layer(1).property("Marker").valueAtTime(4.0,true).comment
var markerProperty = app.project.item(1).layer(1).property("Marker");
var markerValueAtTimeClosestToTime4 = markerProperty.keyValue(markerProperty.nearestKeyIndex(4.0));
var commentOfMarkerClosestToTime4 = markerValueAtTimeClosestToTime4.comment;
ノート
After Effects GUIのレイヤーマーカーの設定画面