CGcompo

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

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

※この記事の内容は古いです。MAX 2013以降標準で書き出し対応しています。
2013からの連帯機能





今回は前回の話の続きですが、MAX使いの方限定記事です。
と言う事で3dsMAXからAfter Effectsへカメラや、オブジェクトの位置情報を持って行きましょう!


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

ミサイルのみ3D。カメラと、煙のモーションを持ってきてTrapcode Particular、Horizonで煙、
と背景制作。制作は試行錯誤しながら約2時間。


※紹介しているプラグインのAfter3dsMaxのサイトがつながらなくなっているので代用品を紹介しておきます。
ただし現状未検証です。特に検索でこられた方はこちらを参考にどうぞ。
その一 AE POSITION EXPORTER TO 3DS MAX
その二 maxFX scene
その他に同様の良いプラグインをご存知の方がいましたら教えてください。
※以上2010/10/06追記↑


↑↓After3dsMaxのサイトが復活していたようです。2012/06/13

さて、MAXは一応RLA/RPFフォーマットでレンダリングすればカメラの位置情報は持ってこれます。
手順はまずレンダリング時にRLA/RPFで範囲、Z 深度、アルファチャンネルを有効にしてシーケンス
で16bit以上で書き出し、AEに読み込んで(※日本語パスに注意!)アニメーション>キーフレーム補助
>RPFカメラ読み込み。です。確かにRPF等を使うとその他のオブジェクトIDなどの情報が出せて便利
です。しかしこれで取り出せるのはカメラアニメーションだけです。平面等の位置合わせは難しいです。
ではどうするか?MAX2AE と言うプラグインも販売されていますが、今回はフリーのAfter3dsMax
と言うプラグインを使います。カメラ、平面、オブジェクト、ライトの位置情報が持ってこれます。
ダウンロードすると中にはサンプルデータと、AEのプラグインAfter3dsMax.aexとAfter3dsMax-v0.9.mse
のMAXスクリプトが入っていると思います。After3dsMax.aexは、
C:\Program Files\Adobe\Adobe After Effects CS○\Support Files\Plug-insフォルダ等に入れます。
次に、MAXでAfter3dsMax-v0.9.mseをスクリプトを起動かドラッグ&ドロップで実行します。すると
以下のような画面が出ます。
Amax.jpg
後は書いてある通りにPick Cameraで書き出したいカメラを選択。フリー、ターゲットカメラどちらも
対応しています。カメラの情報を変えたい場合変更SceneのScaleの部分で書き出すスケールを設定。
AEに行く数値はシステム単位設定の数値です。
PlaneはMAX上の平面がAE上で平面レイヤーになります。ObjectはAE上でNullに変換されます。
LightはAE上でもライトレイヤーとして持ってこれますがライト位置と強度のみです。
以上位置情報を持って行きたい3D上のオブジェクトを選択したら、EXPORTで書きだします。
すると.a3dsと言う拡張子の物が出来ています。これをAEで読み込みます。
プラグインを入れたら再起動でAEを立ち上げたら、ファイル>の一番上にAfter3dsMax-Importと言う
項目が増えています。これを選んで先ほど書き出したファイルを読み込みます。
Script Alertと出たりする場合がありますがOKで問題はありません。また読み込み後、続けて読み
込もうとする事がありますがキャンセルで閉じます。持ってくる位置情報が多いいと読み込みに時間
がかかりますが大抵の場合しばらく待っていれば読み込まれます。このあたりが問題点。
これでMAXからアニメーション付きのカメラやオブジェクトの位置情報を持ってこれました!


さてここまではスクリプトの使い方でした。ここからは使用上のポイントを書いていきます。
まず単位設定!
AEmax04.jpg
前回は確認だけだったのでディスプレイの表示の設定だけでしたが、実際にAEに行く数値はシステムの
単位設定で設定された数値なので、そちらを確認してください!※ここ重要!
そこで、前回紹介したスクリプトからAEに返す場合インチ設定にして、スケールを1.0で書き出すと、
座標の問題が残りますが、AE→MAX→AE と言う操作でも位置関係の数値だけは保持できます。ただし、
繰り返すたびに90度座標がずれてしまいます… 実用性は乏しいですね。
このスクリプトはAEに平面がそのまま持って行けますが、AE上でのサイズも単位設定の設定値で作られ
るので、実際はスケール10位で書き出さないと、AE上で作られる平面が非常に小さくなる事があります。
必要に合わせて変更してください。

このスクリプトはスケール設定まで持っていけません。そこでMAXを使ってる人で問題になるのが、
学生だと特にローカル数値を気にしない点です。編集モード以外でスケールを調整してもローカルの
数値が変わるだけで、実際のオブジェクトの持っている数値自体は変わっていません。
結局何が言いたいかと言うと、平面を制作した場合修正パネルで数値指定してサイズを変えないと
スケールツールで変形しても見た目だけで実際の平面のサイズは変わってないと言う事です。
※AE上で平面のスケールを変えた場合、始め制作した時の数値は変わっていないのと同じです。
案外MAXを使う方はこれを気にせずスケールや回転をしてないでしょうか?気を付けましょう。

話がそれましたが、MAXでAEに持っていく平面を制作するときは、AEと同じく制作時にきちんと数値で
サイズを指定してくださいと言う事です。

もしBiped等の動きとかを持って行きたい場合平面やペルパー等をリンクさせ、ることで対応出来ます。
うまくモーションが持っていけない場合や位置がズレる場合もこれで対応可能です。
もちろん冒頭動画のように、パスコンストレイントさせているような物もそのまま持っていけます。

これでレンダリング画像にAE上で+αのエフェクト処理が可能に!3Dでのレンダリング時間の節約も
出来るかもしれません。また、マッチムーブとの相性は抜群!!使い方はアイデア次第です。


と言うことで、うまく行けたでしょうか?
ざっくりとした説明ですが、以上。今回もスクリプトの紹介&ポイントでした。

コメント

コメントの投稿


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

トラックバック

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

FC2Ad

//