NukeからAfter Effectsへカメラを持っていく-Cinema 4D Lite編

January 25, 2016
デスクトップのメモに走り書きしてたんですけど、これは忘れちゃいそうだと思ったので記事にしました。色々メモが溜まってきたので放出作業しないと。

私自身、最近急に必要に迫られた話なんですが、NukeのカメラをCinema 4D Lite経由でAfter Effectsに読み込ませたいという話。

今現在、NukeとAeだけで行う方法としてはFBXを使ってC4D Lite経由で持ち込むのがベストではないかと思われますが、ちょっとハマったのでメモしておきます。After EffectsとC4D両方習得されている人には当たり前のことだと思われますが、なにせ私はAeにバンドルされるまでCinema 4D見たこともなかったので...


NukeからFBX書き出し
NukeでCameraを含むシーンをWrite Geoで書き出します。C4D LiteはAlembic読み込みにも対応しているのですが、AlembicだとAeにうまくキーフレームが渡らなかった(C4D LiteでもキーフレームはAlembic参照になる)ので、今回はFBX。どうせジオメトリはAeには読み込めないし、そこは今回は重要じゃないと判断。試しにNukeのPoint Cloudも書き出してみた。

nkscreencamearexportfbx.png

AEでC4D Liteを起動してFBX読み込み
書き出したFBXファイルを読み込むために、Aeの新規レイヤーで「MAXON CINEMA 4D File...」を実行してCINEMA 4D Liteを起動。

aecinema4dliteasnewlayercineware.png

適当な名前でCINEMA 4Dのファイルを保存します。このファイルがAeと紐付けられてCINEWAREプラグイン経由で読み込まれます。編集結果がリアルタイムに反映されるんじゃなくて、ファイルに保存したときにAeに反映されるという仕組みらしい...ちょっと面倒くさいです。

C4D LiteでFBXファイルをインポート。C4D的にはインポートはFile ->「Merge...」らしい。FBXファイルを選んでオプションを諸々選択。今回は特に変更なしでインポート。

CINEMA 4Dにカメラ読み込まれたのを確認して、Camera -> Camera 1にチェックします。これで読み込んだカメラ視点に。C4Dの画面ではカメラとアニメーションが来てますが、なんかスケールがやけに小さいですが今は気にしない...とりあえずアニメーションとLocatorがちゃんと読み込まれているようなので、これを保存してAeに戻ります。

c4dlitefbximportlocatorscameraview.png
CINEWAREでC4D Liteからカメラを取り出す
Aeの画面でもC4D Liteと同じ画面が表示されています。このままではCINEWARE内のシーンなのでAEのカメラに変換するために、CINEWAREでExtractを実行してAEに変換します。

cinewareextractbuttoncameraimport.png

これでカメラがAEに読み込まれます。残念ながらPoint CloudのLocatorは来ませんでした(これは後日解決)が、タイムスライダを動かすとちゃんとカメラも動くのでカメラだけは無事に読み込めたと思ったのですが...

camerafromcinewareimportproblemview.png
なぜ30FPSになる...?!
タイムライン開いてよく見ると、カメラのキーフレムがずれてます。AEプロジェクトのアイテムを見てみるとどうやら30FPSで読み込まれている様子。

cineware24fpskeyframeproblemaetimeline.png

C4Dレイヤーは24FPSのコンポジションの中で作ったので、24FPSで作成されるとばかり思っていたんですが、デフォルトで30FPSになるみたいです。C4D LiteのProject Settingを24FPSに設定して再度Aeに読み込んでみたのですが、C4Dアイテムは30FPSのままで、AeにカメラをExtractしても30FPSのキーフレームです。

c4dliteprojectsetting24fpsproperty.png

AEでフッテージのFPSを強引に24に変更してみたりしたのですが、カメラを読み込むと30FPSでキーフレームが打たれてます。ダメデシタ...

ひょっとして30FPS以外ダメな仕様なの?と思ったりしましたが、まさか25FPSや24FPSがダメなんてあるわけないとマニュアル読んだり色々検索した結果、C4DのRedner Settingが関係しているらしいということがわかりました。

C4D LiteのRender -> Edit Render SettingsでFrame Rateを24の設定を作成(今回は「1080 24p」という名称)。Renderメニューから設定したプリセットを選択してc4dを保存すればAeも24FPSに切り替わります。

c4dliterendersetting24settngscreen.png
ついでにここのWidthとHeightを設定すれば、AeでのC4Dアイテムの解像度も変わります。作業上あんまり関係ないですけど、アイテムをダブルクリックしてフッテージビューにしたときの解像度が変えられます。

CINEWAREでExtractしてカメラのキーフレームがちゃんと24FPSで打たれているのを確認。

aecinewarecameraextract24fpscorrectly.png

まとめ
基本的に、読み込み時に問題になるのはCINEMA 4D Liteでの設定項目。デフォルトで30FPSになってるので、すべてNukeで書き出したFBXのFPSに合わせるってこと。個人的にはAEからしか起動できない連携専用のC4D Liteなら、AEのCINEWAREからコンポジションのFPSとかをC4D Liteに反映させてほしいなと思います。いや、そもそもなんでFBXやABC読めないかね、AE...

Point Cloudから変換したLocatorがAfter Effectsに変換されない。NukeでAxisを使っても同じLocatorとしてC4D Liteに読み込まれるのでダメ。カメラとの位置を参照するにはダミーでカメラを仕込んでおく必要あります。※この問題は解決しました。こちらの記事を参照ください:
NukeからAfter Effectsへカメラを持っていく-Cinema 4D Lite編(2)


普段、複数のアプリケーションにカメラを渡すようなマッチムーブではPFTrackを使用しているのですが、Nuke 9のCamera Trackerが割と優秀なのとトラッキングの過程で作成される各情報が後々の作業でも有用なので、最近はNukeで完結させるつもりならNukeのCamera Trackerを使うことが多いです。

...でNukeでカメラ作ったら、途中いきなりAEの作業にカメラデータ渡してくださいとなってしまい、こんな方法で対処しましたという報告でした。というか、私は当初FBXだけ渡せばよかったんですけど、なんか30FPS問題でいきなりAEのC4D Lite初挑戦となりました。すごい忙しい中ちょっと焦ったけどいい経験でした。


C4Dとの連携はこの人に...
余談ですが、以前紹介した「AFTER EFFECTS NEXT LEVEL」の著者の佐藤さんが、Inter Bee 2015で行った講演の模様がYouTubeのAdobe Creative Stationで公開されてます。本書での紹介されていたCINEMA 4Dとの連携の話を、実際のプロセスを見せながら説明してくれます。



[関連記事]
After Effects NEXT LEVEL
After Effectsでボリュームノイズっぽいものを作るチャレンジ