CGcompo

3D、コンポジット、マッチムーブ、カメラ、撮影について色々書きます。

Blender→After Effects へ位置情報、モーションを持っていく

3DとAfter Effectのやりとり第三弾!今回はBlenderです。
使用Blenderはスクリプトの関係で2.49bです。2.5では対応版が作られない限り現時点できません。
2010/8/182011/8/20 紹介しているうち一つのスクリプトは2.59対応。記事追記
>2.62以降標準で入っています。Addonを有効にするだけで使えます。
http://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/Import-Export/Adobe_After_Effects

2.61でのチュートリアル(埋め込み無効のためVimeoサイトでご覧ください)
http://vimeo.com/17685812

AEから3DソフトAfter Effects⇔3Dソフト カメラ、アニメーション等をやり取りする。
MaxからAE3dsMAX→After Effects へ位置情報、モーションを持っていく

以下内容はBlender2.49bでの内容です。

スクリプトの紹介、説明なので使用Blenderに対応したPythonが必ずインストールされている事を先に
確認してください。

制作約3時間(レンダリング時間を除く)AE、Blenderのみ使用。



BlenderからAEに書き出すスクリプトはいくつかあります。その中から今回はBlenderNation
(Blende.jp)で紹介されていた3つを紹介、解説します。

まず共通点として、スクリプトをダウンロードしたらスクリプトフォルダにスクリプトを入れます。
C:\Program Files\Blender Foundation\Blender\.blender\scripts 等です。
そしてBlenderを起動するとエクスポートメニューに入れたスクリプトが増えていると思います。
AEBle01.jpg

そして書き出し前にカメラ、フレーム数の設定を書き出す前にしておきましょう。
AE上で制作されるコンポジションの設定に影響します。
AEBle05.jpg

他のソフトの物でも同じだと思いますが、AEに持っていくとすべてのフレームにキーが打たれます。



では解説していきます。

その一
Maya Ascii camera export script これは.maのMaya Ascii形式で書き出されます。Shakeにも
対応しています。
このスクリプトは幾度となく更新されています。今回テストに使用しているものは更新日時が
2009/08/30/ 23:04 となっているものです。初期のものだとアニメーションがカメラしか書き出せ
なかったりするので注意してください。※スレッドの4ページ目にあるものが該当の物です。
AEBle02.jpg
使い方は簡単。書き出したいカメラ、オブジェクト等を選択した状態でエクポートするだけです。
すると.maのファイルが書き出されるのでドラッグ&ドロップ等でAEに読み込めばOKです。
書き出し時の名前で新しいコンポジションが制作されています。

AE上には、カメラ、オブジェクト等はNullとして読み込まれます。位置、回転、以外にスケールの
アニメーション情報も書き出せます。数値は×100でAE上にBlenderの数値が行きます。
それぞれのレイヤー名Blender上のオブジェクト名に対応しています。
使用上の注意点として、アニメーション情報が多いいと書き出し時に時間がかかります。
さて、×100倍言う事は!前回のAEから3Dに書き出すスクリプトを使うとなんと完全にAEとBlender
が行き来できてしまうのです!AEから書き出す時は、shift the comp center to 0,0,0 のチェック
を外してスケールを 1:0.01 で書きだせばOK!理由はしたの説明で。

その二
Blender to After Effects exporter AE Export。これはAE ExportとAE add objectと言う
2つのスクリプトが入っています。こちらからサンプルファイルもダウンロード出来ます。
基本はリンクのチュートリアルを見ればわかると思います。
>追記 2.532.59対応版対応版 ※まだBETA版なので動作保証はしません。(2010/6/29 8/18 2011/8/20)
AEBle03.jpg
この二つ何かと言うとAE Exportでカメラやオブジェクトの位置を書き出した後、AE add objectで
別のオブジェクトの位置を追加が可能と言うものです。これは場合によっては便利です。

使用時の注意点として、カメラの名前が標準の「Camera」であること。後は書き出したいカメラ、
オブジェクトを選んでAE Exportでエクスポートすると、.jsxのJavaScriptで書き出されるのでAEで、
ファイル>スクリプト>スクリプトファイルを実行。で開くとBlendCompと言うコンポジションが制作
され位置情報が来ています。同じ手順で別オブジェクトを選んでAE add objectでエクスポートして
読み込むと選んでいるコンポジションに位置情報を追加できます。
このスクリプトの追加機能は便利なのですが、レイヤー名がオブジェクト名に対応しない、動いて
いないオブジェクトもAE上でキーが打たれる。などの欠点もあります。

BlenderからAE上にどのような数値が行っているのか分からない?と言うか、Blender数値×182.8571倍
と言う数値は出てるけど換算値がよく分からない??取りあえず基点の位置がAEに最適化されています。
なのでAE上で新規3Dレイヤーを作った場合位置が合わせやすいです。
最適化と言うのはAE上で新規カメラを作ると分かりますが、AE上での0,0,0はコンポジションの左上で、
カメラの位置はコンポジットサイズの中心になっています。1280×720のコンポジションだとBlenderで
0,0,0のカメラの位置がAEでは640,360,00と言った感じです。
AEBle09.jpg
※その一でAEから書き出し時に、shift the comp center to 0,0,0のチェックを外したのは640,360,00
 のような位置にあるカメラを3D上で0,0,0にするものですがその一で読み込んだカメラはAE上でも
 0,0,0の位置にあるためチェックを入れると逆にずれてしまうからです。


その三
After Effects Exporter for Blender。これは。AE上にカメラと、平面、ライトをそのまま持っていけます。
サンプルファイルも一緒に入っています。
AEBle04.jpg
このスクリプトの良いところはもちろん平面がAE上の平面としていくこと意外に、ちょっとした工夫で
レンダリング画像も一緒に読み込んでくれるところです。
では使い方。このスクリプトでは書き出したいもののオブジェクト名を変更する必要があります。
その名前とは、オブジェクト名+「.MGX 」か「_MGX」のどちらかを付けます。Camera.MGX のような
感じです。オブジェクト名は何でも良いようです。

平面を制作するときの注意点。
スケール情報は行かないので、サイズを変えたりする場合Edit Modeで編集してください。
平面を分割すると平面としていきません。頂点数が4点で平面が保たれていれば良いようです。
またその時90度回転はかけないでくださいAEで平面を制作する時一辺が0になるためエラーが出ます。

そしてこのスクリプトはファイル管理が少し大切になります。まずメインのフォルダを作り、そこに
書き出したいBlenderファイルを保存。そしてシーンのレンダリングパスを設定します。
AEBle06.jpg
//フォルダ名\ファイル名_###.拡張子 と言う形でパスを指定するとアニメーションをレンダリング
したとき、Blenderファイルを保存しているフォルダ上に指定したフォルダが作られ、その中に指定した
ファイル名拡張子で書き出されます。フォーマットの拡張子を統一するのを忘れないように!
見ての通り、自動で読み込んでもらうには連番出力をしてください。通常のパス指定ではダメです。

以上の設定をしたらエクスポートします。保存先はメインのフォルダの必要はありません。
ファイル名も何でも大丈夫です。オブジェクト名にMGXを付けた物が書き出されるので書き出す物を
選択する必要がありません。
そして書き出された.jsxのファイルを上記同様読み込みます。するとBlenderファイルの名前でAE上に
コンポジションが作られます。アニメーション量が多かったり、フレーム数が長いと読み込みに時間
が少しかかります。

コンポジションを開くとMGXを付け加えた、カメラ、平面、ライト、とオブジェクトはNullとして
きているのが確認できると思います。名前もMGX以前のオブジェクト名がレーヤー名になっていると
思います。上記の通りにレンダリングパスを指定していればレンダリングしたシーケンスも一緒に
combined_renderと言う名前で読み込まれてコンポジットされていると思います。

平面のサイズはコンポジションに合わせて問題の無い適切なサイズで制作されているようです。
コンポジションを再生すると位置、回転、アニメーションが一致しているのがわかると思います。
AE上に来ている数値はその二と同じようです。なので基点も最適化されています。同じく動いていない
オブジェクトにもキーが打たれます。

ライトはBlender上のいずれを選んでも、スポットライトとしてAE上に制作されます。しかし、Blender
でスポットライトにしておかないと、ライトの方向が正しくきていませんでした。

なんとこのスクリプトはBlenderで要素を指定していれば自動でコンポジットしてくれます。しかし、
残念ながらBlenderが同時に要素をフォルダ指定して書き出せないので、読み込み時に自動では
読み込んでくれません。チェックした要素のフッテージがパス不明の状態で制作され、レイヤーが適切
なモードで乗せられコンポジットされているので、それぞれ書き出した要素素材のパスを指定するだけ
で後はそれぞれの色調補正が出来るようになっています。
AEBle08.jpg

自動でフッテージが制作されるのはcombined、color、AO、shadow、specularです。
AEBle07.jpg
一応ノードを使えば一括で書き出出せるので、後はフッテージの置き換えで読み込めばOKだと思います。

当たり前ですが書き出し後フォルダ移動等するとAEでパスが見つからなくなるので注意してください。


実は、上記の通りその二と同じ数値がきているのでその二で紹介しているAE add objectをこちらでも
使うことが出来るのです!Nullにはなりますが、オブジェクトの位置情報を追加できます。


以上3つのスクリプトの使い方でした。相互のやり取りはできませんが最後の物が平面そのまま書き
出せるので一番便利だと思います。平面が要らないなら最初のものが一番簡単に使えると思います。
使用スタイルに合わせて自分に合ったものを選んでみてください。


さて気づきましたか?MAXより便利がいいことに…

と言うことで3回に渡って3DとAfter Effectのやり取りについて書きました!
関連記事

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://cgcompo.blog134.fc2.com/tb.php/8-2d955d8e
この記事にトラックバックする(FC2ブログユーザー)
; //

//