3DCG屋さんの活動記録

PROFILE ★★こんな人です

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

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

2022年5月24日火曜日

VisualStudioCode で  Aftereffects用スクリプト作成(その1)


 https://terriblejunkshow.com/tutorial/howtomakescript01

このさいとを参考に、ExtendScript Debuggerをインストール。

↓のアイコン参考!Adobe提供!

(個人が提供してる、名前似たやつに注意)



ーーーー
コマうち
https://answers.hateblo.jp/entry/2018/09/02/005231

----
json
https://shadeco.video/efficiency/json-to-ae1/





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





2019年3月29日金曜日

Mocha2019 (@Aftereffects2019) でUberKeyボタンの表示させかた


備忘録

Mocha2019使ってて、

「あれ!?ウーバーキーがなくなってる!?
Uber Key が消えてる!表示されない!なんで!?」

ってなったので自分用メモ。

ツールバーで右クリックして Advanced をON!
UberKey(ウーバーキー)は修正するときの強い味方です。



●UberKeyとは
https://borisfx.com/support/documentation/mocha/6.0.0/




ちなみに、トラッキングデータからスタビライズしたいときに
私は結局 データに -1 をかけて 親子関係にしてます。


<NULL新規作成して、トラッキングデータをペースト。POSにエクスプレッションを入れます>

posKey  = [transform.position[0],transform.position[1]];
[posKey[0]*-1, posKey[1]*-1]



これで、スタビライズデータの出来上がり!

ソースの親をこのNULLにしたら、ソースは止まります!





てか、Mocha2019 まじで速くなってますね。
体感で3倍になってます。
自分のPCが3DCG用にグラボが GTX1080(ただしiではない)をのせてるからかも。


これは AEとの連携サイコーだし、手軽に使えるのは強いです。


2019年3月5日火曜日

AftereffectsにDPX読み込んだら明るくなるトラブル


まだAftereeffectsでコンポジットすること多々ありますが
困るのがDPX読み込んだら画が変わること。

ちなみにプロジェクト設定は
・16bit
・sRGB
・LinearizeWorkingSpace ←これ注目!


LinearizeWorkingSpaceをオフにすると大丈夫だけど
オンにすると画が明るくなる。。
ずっと困ってましたが何とか解決したので、メモ。


【原因】
ガンマが2重でかかってるっぽい!

【解決策】
逆ガンマかける → 0.454

【具体策】
 CineonConverterエフェクトで、 Gamma 0.454
あと、 Log to Linear をLog to Log に変更。



これでoK!!!!

ただ重いエフェクトかもしれないので
これからも模索してみます。


とりあえず解決してよかった~ふぅ





2018年6月5日火曜日

AEで下位層の時間を取得する方法


エクスプレッションで複雑にやろうとして
結構時間かかったけど

力技で解決!


備忘録メモ


Time Remap
を適用して得た値が=内部のタイムコード(フレーム)


なんと!!!
でそれを引っ張ってきて、fpsかけて、小数点切り捨てて
使えます。

例:
Math.floor(thisComp.layer("c02_t08_0508_EXP 2").timeRemap*29.97)


ちなみに、該当コンポ・レイヤーをインデックスで指定するなら
上記のエクスプレッションは


例2:
layerIndex = Math.floor(thisComp.layer("Null 1").effect("Slider Control")("Slider"));
Math.floor(thisComp.layer(layerIndex).timeRemap*29.97);

※Null1のスライダーにキー打って、インデックスを変化させてます


以上。



------------
下位層のコンポの時間取得失敗
・comp.layer(index).time で行けると思ったら、現コンポのtimeだった><;
・Timecodeエフェクト 手軽!だがエクスプレッションに時間を引き継げなかった><;
・MasterPropertyで内部のアトリを持っていく・・・のは無理やった

2017年7月18日火曜日

Skybox for AEで 360画像のデッドポイント修正


THETAで360写真撮ると
三脚写りますよね


これの修正方法
AE起動、上の写真読み込みコンポ作成。
※ここで32bitデータの場合は、フッテージ設定で32bitにしておく。
 当然プロジェクトも32bitに。

Window/SkyboxCompSetting?

2D

作成したコンポ選択して、実行。


カメラを動かして、修正したい部分を表示


OpenLayerしたあと、ペイントエフェクトで修正(スタンプ?)

あとはOutput(Edit?)コンポでかくにん。

HDR形式の出力できないので
TIFFで色深度floating(32bit)にして出力!


以上、めちゃ簡単!

2017年7月6日木曜日

AEでリアルタイムVR制作 Skybox for AE with Oculus


360°映像にCGを合成したい。

Aftereffectsのプラグイン Skybox を使います。
これ、Oculusを使ってリアルタイムにプレビューできる
しかもElement3Dつかえるのでめちゃ潜在能力高そう
(インタラクティブより、映像作品向けですが)

ということで、
いまだOculus DK2 をつかっている人も多いと思うので、
パソコンでOculusを認識するところから。


まず、ここからOculusのインストーラをダウンロード。
昔はRuntimeっていうのをインストールしてましたが、
それではもうダメみたいです、、、0.6.0.0と0.8.0.0を試しましたが
AEでプレビューするときにOculusを認識してくれない。。。

というわけで、Oculusを必ずインストールしてください。
UEでいうEpicGamesみたいな立ち位置?


ここで注意したいのは、インストーラは40MBくらいですが
本体は1.7GBあるってこと、しかもインストーラからしかDLできない。
ネット環境が弱い私のPCでは本体インストールに30分くらいかかって大変でした。


で、すすめていきます
もし昔のOculus Runtimeが入っていたら、ここでエラーが出ます。
Runtimeをアンインストールしてから出直しましょう。


これはよくわからないので0000を入れて次に行きましょう


DK2の場合、ここではずっとDisconnectionでした。
Skipで!

そして、このあともSkip系で進めたらOK。

以上でOculusのインストール終わり。

と、ここでOculusの設定。
アプリのGeneralでUnknownSourceを許可!
(これしないとAEで使えない)




さて、SKYBOXのインストールは別途ソフトをDLしてください。
AE用プラグインのインストーラと、AE用のプレーヤーインストーラの2つを
exeファイルで実行してインストールしてください(即おわる)


AEを起動。




AEのEdit/Preference/VideoPreview から
 EnableMercuryTransmitをON


SkyBox VR Player のチェックが入っていることを確認して  Setup...を押す。




OculusDK2が認識されていることを確認し
DisplayModeを360 Modeに!


以上です、これで使えるようになりました。

あとは、チュートリアルで試しまくる!

=====================

※ Oculusのセットアップエラーが起きたら

次の画面エラーが出てしまって、何時間も困ってしまったのでメモ。。
インストールしてるのに!?って人いませんか。

(Windowsで KB2670838  KB3033929 をアップデートしてください!て内容) 



そんなときはコマンドプロンプトで以下のようにすると、うまくいきます。

まず、ウインドウズメニューで 「cmd」と打ち実行⇒コマンドプロンプト起動

次に、OculusSetup.exeのあるフォルダまで移動。
(方法はここで割愛します)

そして、以下を実行
OculusSetup.exe /bypassHotfixCheck

このサイト見つけるまで試行錯誤した自分がアホでした。
やっぱりインターネットは偉大だ。














2017年5月26日金曜日

EXRマルチチャンネル!ProEXRが無償化


AftereffectsやPhotoshopでマルチチャンネルEXRを使えるようになるプラグインProEXRが無償化したようです。

以下記事

時間あるとき試す!!

ProEXR
http://www.exr-io.com/features/


修正:
Aftereffects用のプラグインは前から無料だったようです。
というか私も使っていました><
今回の記事は、Photoshop用プラグインが無償化したとのことでした。