3DCG屋さんの活動記録

PROFILE ★★こんな人です

3DCGを活用した映像や没入体験コンテンツの制作をしています。テクノロジーの社会実装に興味があり。テクニカルディレクター。面白いこと新しいことにワクワクする気持ちに『素直』でいつづける。

ラベル javascript の投稿を表示しています。 すべての投稿を表示
ラベル javascript の投稿を表示しています。 すべての投稿を表示

2019年4月17日水曜日

Aftereeffects のエクスプレッションのseedRandom固定させる Script


エクスプレッションで

Random
Wiggle

などランダムな数を使用するとき
レイヤーの順番変えたら動き変わって困るときは
seedRandom()をつかってseed固定します。



まぁ、エクスプレッションの先頭に1行入れるだけですが
今回挿入するプロパティが多かったので自動化Script作りました。



使い方は
プロパティ選択して、Script実行するだけ。
自動でエクスプレッションの先頭に、1文が挿入されます。








参考サイト!!

https://www.cg-method.com/entry/expression-to-script/
http://aejsx.hiroshisaito.net/layer-object/attributes/index

2019年4月3日水曜日

末端のフォルダ名だけ抽出取得 AE Script メモ


Aftereffects  Script  Javascript

フォルダ選択ダイアログで、末端のフォルダ名だけ抽出して取得する


//フォルダ選択ダイアログ

var prjPath = "S:/19001MB_CaptainTusbasa/06_afx/footage/zz_CH_Material/sp011"

var defaltDir = new Folder(prjPath);
dirObj = defaltDir.selectDlg("フォルダを選択してください");

dirPath = dirObj.fsName; // フォルダのパス名取得
fileList = dirObj.getFiles(); // フォルダ内のファイルリスト化

alert (dirPath);
dirName = dirPath.split("\\").slice(-1)[0]; //末尾のフォルダ名だけ取得
alert (dirName);


------------------
参考
http://nakatoji.lolipop.jp/index.php/extendscript/fileaccess/fileaccess-list/374-2014-06-04-20-42-9

http://aejsx.hiroshisaito.net/propertygroup-object/methods/property


https://sites.google.com/site/annamillersclub/script-menu/gyakubikiscript/%E3%82%A2%E3%82%A4%E3%83%86%E3%83%A0%E3%81%AE%E7%A8%AE%E9%A1%9E%E3%82%92%E5%88%A4%E5%88%A5%E3%81%99%E3%82%8B

http://xirasaya.com/?m=detail&hid=176


文字列入力ボックス
http://www.openspc2.org/book/AfterEffectsCS6/easy/dialog/003/index.html


バックスラッシュを文字列に使うときは2回連続で(\\とか)
https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions



配列の末尾を抽出する方法  .slice(-1)[0]
https://qiita.com/kerupani129/items/64ce1e80eb8efb4c2b21

2019年4月1日月曜日

AEで時短Scriptいろいろ検証


■複数のフッテージ名をクリップボードにコピー

//★フッテージ名をリストで取得したいとき★
//Projectパネルで複数選択してScript実行
//あとはエクセルに貼り付け、データ/テキストから列へ/カンマONでOK/コピーして形式を選択して貼り付け/列と行の入れ替え。

var myItems = app.project.selection;
var myItemName = new Array(app.project.selection.length);

for (var i=0; i <myItems.length; i++){
    myItemName[i] = myItems[i].name;
}

//alert(myItemName);
prompt("test",myItemName);

----
参考
http://www.openspc2.org/reibun/AfterEffects6.0/JavaScript/ref/Global/prompt/index.html
https://aruo.net/arbk/blog/article/change_comma_separated_data_into_cells_on_spreadsheets



■コンポジションの複製


■レイヤーの置き換え


■ その他 雑メモ

//選択したアイテムをリスト化(名前取得) ★
var selItem = app.project.selection; //選択しているコンポジションをリスト化 
var selName = [] ; //それの名前を入れるリスト
var newCompList = []; //複製したコンポのリスト

//基礎勉強の部分
//alert(selItem); //選択したアイテムタイプ名の表示
//alert(selItem[0].name); //最初に選択したアイテム名表示
//alert("選択したコンポジションの数     "+selItem.length); //コンポジションの数

for(i=0;i<selItem.length;i++){
    selName.push(selItem[i].name); //選択アイテム名をリストに追加
}


//Lv1コンポ(親)の複製
//コンポジション複製:
newComp = selItem[0].duplicate(); //選択したコンポを複製
newComp.name = selName[0]+"_dupCmp";  //複製したコンポの名前変更
newCompList.push(newComp);

//Lv2コンポの複製
//コンポジション複製:
newComp = selItem[1].duplicate(); //選択したコンポを複製
newComp.name = selName[1]+"_dupCmp";  //複製したコンポの名前変更
newCompList.push(newComp);
//コンポ内のレイヤー置き換え
newCompList[0].layer(3).replaceSource(newCompList[1],false);

alert(selName); //コンポジションのリスト名取得と表示
alert(newCompList);


 newComp.duration = shotComp[i].duration; //複製したコンポの尺変更(秒で)
 newComp.parentFolder = selItem[2];
 newMSKComp.push(newComp);



■フォルダ選択ダイアログ
http://nakatoji.lolipop.jp/index.php/extendscript/fileaccess/fileaccess-list/374-2014-06-04-20-42-9