CGcompo

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

After Effects⇔3Dソフト カメラ、アニメーション等をやり取りする。

何かとうわさのC4D。カメラなどの情報のやりとりが、After Effectsとやりやすい言らしいですが、
今回C4D同様とは言えないと思いますが、他の3DソフトでもAEとやり取りしてみようじゃないか!
と言う少しマニアックな記事です。※MAXとBlenderについては別記事にて…
今回はAfter Effectsから3Dソフトへの方法から。

今回対象となるのはAfter Effects+3Dソフト(3dsMAX、Blender、(MAYA、C4D、Lightwave))を
使われる方です。
先に言っておきますが、現状座標やスケール等の関係で、お互いを行ったり来たりは難しそうです。
まだまだ検証中の部分もありますが、実際はAE→3D、3D→AEとなると思います。

↓非常に手抜きです。はい


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



まず何でやり取りする必要があるのか?
After Effects(以下AEとします)には3Dレイヤー機能があります。これを使って簡単な3D空間を、
構築できますが、カメラや平面にアニメーションをつけようと思うと決して操作性が良いとは
言えません。そこで3Dソフトでつけたアニメーション情報を持ってこれたら便利ではないですか?
また、フル3Dのアニメーションを作ったけどそこに映ってるテレビにAEで画面を合成したいとか、
3Dでロケット作ったけど煙はTrapcode Particularで簡単に付けたいなど思ったことはないですか?
また変更の多い文字類はAE上で合成することも多いいと思います。
しかしそれらはカメラや合成したい3Dがアニメーションしていると合成は厳しいです。
もちろん場合によっては2Dトラッキングで合成出来るかもしれませんでもそれは効率が悪いです。
せっかく3D上でアニメーションを付けているんだからその情報を持ってきましょう!

じゃあAEから3Dに書き出す理由は?
モーショングラフィック等する場合文字のアニメーションに3Dを合わせてりすると思います。
普通3Dでの作業が先ですが、これにより文字のアニメーションをAEで先につけ3Dの作業ができます。
さらに今回この記事を書くきっかけにも成っていますがvideocopilotの3D Ledgeというチュートリアル
です。これはドリーの映像を2Dトラッキングしてその動きをAE上でカメラ適応しその動きに3Dを、
合わせると言うものです。これと同じようなことが出来るのが2Dアニメのコンポジットでは無いのか
と思います。アニメの場合タイムシートに合わせて動きが決まっているので2Dのタイミングに3Dを
合わせる方が理想だと思います。そこでこの作業をすればあらかじめAE上でつけた動きに3Dの背景
を合わせるなどの作業が可能になるかもしれません!


もともとMAYAと、C4DはAEにカメラ等を持っていけるのはご存知の方もいると思います。
C4Dは、なんと学生無料との事なので、手に入れ次第いかに効率がいいのか検証したいです。
MAYAからは.ma形式のファイルをAEに直接読み込めます。詳しくはこちらをご覧ください。

と言う事は、前回の話のVoodooで.maで書き出したらAEに読み込めるんじゃ?と思う方がいると
思います。もちろん読み込んでくれます。しかし、スケールが合わない、カメラしか読み込めない、
カメラの水平が出ていない。と言う事で実用性としては無いと思います。

さて、話がそれましたが本題です。
まずAEから3Dソフトへのやり取りはVideoCopilotで紹介されていたスクリプトを使います。
あくまでフリースクリプトなので理解した上でご使用ください。
スクリプトはAE3D EXPORTです。リンクの3ページ目のバージョン1.16が最新版?のようです。6ページ目にCS5(CCでも動作確認済み)があります。(Maya,MAX,Blender)2014/02
C4DもVideoCopilotの方で別スクリプトへのリンクが有ります。
これのスクリプトではMAYA、Max、Lightwaveに対してAE上のカメラ、平面、ライト等の位置を書き出す
事ができます。これにはリンク先にもありますがBlender対応バージョンがあります。
ただし、ダウンロードするにはsharecgへの簡単な登録が必要です。


リンクが切れていたのでこちらからhttp://aeclub.net/forums/index.php?showtopic=10553
MAXやLightwave等で書きでしてインポートするのも手かもしれません 2012/01/11

Lightwaveの部分がBlenderに置き換わっている以外同じ物です。
使用方法はScriptsフォルダに入れるとファイル>スクリプト>AE3DExport.jsxと表示されます。
(C:\Program Files\Adobe\Adobe After Effects CS○\Support Files\Scripts等)
又はファイル>スクリプト>スクリプトファイルを実行から開く。

実行前に編集>環境設定>一般設定>スクリプトによるファイルの書き込みとネットワークへのアクセス
を許可。にチェックが入っているか確認してください。チェックを入れないと書き出しの時にエラーが
出ます。
AE01.jpg

書き出し前にもう一つ必要な操作としてレイヤー名を変える必要があります。3D側でエラーが出る
ので日本語名から英字表記に変えてください。
AE04.jpg
※MAXではPlane、Cameraだけの名前だと読み込み時エラーが出ましたが、Camera01などにすると
問題なく行けました。プログラムが分かればもう少し詳しく解説出来るのでしょうが…

後はスクリプトを実行すればOKです。
AE02.jpg AE03.jpg
書き出したい3Dソフトを選び、Browseで保存先を指定。Optionsでスケール指定ができます。
スケールはソフトによって変更してください。MAXは1:1が良いようです。
shift the comp center to 0,0,0 はAE上のアンカーポイントを自動で3D上で適切な状態に変化して
くれるので基本的にはチェックを入れた状態でいいと思います。
後は書き出したいレイヤーを選択した状態でExportを押します。

読み込みは
MAX >MAX Script>スクリプトを起動。書き出した.msファイルを選ぶ又は直接ドラッグ&ドロップ。
MAYA >ファイル>シーンを開く。書き出した.maファイルを選ぶ又は直接ドラッグ&ドロップ。
Blender >Text Editor>Text>Openで書き出した.pyのパイソンファイルを開く。
Text>Run Python Scriptでスクリプトの実行。です。

今回自分はMAYAはあまり触ってないので検証はパスさせていただきます。と言う事でMAXと
Blenderでのポイントを書いていきます。LightwaveについてはCG★ソフトなんでも覚書さんの所で
レビューされていたのでそちらを御覧下さい。

さて、MAXで読み込むと、カメラが下を向いて座標軸が… このあたりが始めに言った難しい問題。
Amax02.jpg

読み込まれているのはカメラ。平面とライトはヘルパーに変換されているますが位置は来てます。
もちろんカメラや平面に付けたアニメーションはきちんと来ています。
MAXの単位設定を米国標準>小数インチ に変えるとAEと同じ数値が来ている事が分かります。
AEmax05.jpg



Blenderは1:1で書き出すとAEの数値がそのままBlender単位になるのでスケールが非常に大きく
なってしまいます。なのでスケールは1:0.01程度で書きだすのが妥当だと思います。
カメラ、ライト以外はエンプティとして位置情報が来ています。
何故か座標がMAXと同じZupなのにBlenderではきちんとした座標な上にライトもライトとして来てる。
Able01.jpg



本当はAEから平面レーヤーなどがそのまま来てくれると嬉しいのですがこのスクリプトではこのあたり
が限界のようです。
このスクリプトの欠点の一つに、書き出し後AEのプロジェクトを見ると書き出したレイヤー数だけNullが
新しくできています。消去すればいいだけなのですが面倒ですよね。
また、3Dソフトに持っていくと、モーションがついているものは、全フレームにキーが打たれているので、
もしモーションを付け直そうとする時面倒です。
もしNullなどに親子関係をしてモーションを付けている場合もきちんとモーションが来てくれます。

さて、なかなかどのように使おうかと悩みますが取りあえずスクリプトの使い方でした。

では続いてより実用的な、3DソフトからAEへ!といきたいのですが今回はここまで。
先に言った通り、MAX、BlenderからAEについては後日それぞれ別の記事にしたいと思います。

MaxからAE3dsMAX→After Effects へ位置情報、モーションを持っていく
BlenderからAEBlender→After Effects へ位置情報、モーションを持っていく
関連記事

コメント

コメントの投稿


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

トラックバック

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

//