がんばルンバ
インディゾーンさんでのインターンシップに2ヶ月間参加させていただきました。
前半の1ヶ月間はNukeを学習し、後半の1ヶ月間に作品を制作しました。
このブログでは、制作した作品やブレイクダウンを紹介します。
私は、インターンシップに参加させていただく前からNukeを使用していましたが、使ったことのないノードや技術が多くありました。
今回のインターンシップでは、そういった部分を多く学ぶことができ、作品の制作に新たに学んだ技術を使用しました。
それでは、ブレイクダウンと作品をご覧ください。
ブレイクダウン
作品
作品の制作過程を画像を使用してご説明します。
動画の撮影時に、魚眼レンズを使用してシャッター速度を変えながら静止画を撮影し、PhotoshopでHDR画像を作成しました。
ミラーボールを使用したほうが精度の高いHDR画像を作成出来ますが、道路でシルバーボールを使用した撮影はできないので魚眼レンズを使用しました。
室内のカットはプロジェクションマップで制作しました。
投影する画像には360°のパノラマ画像を使用し、6個のカメラを使用して全方向に投影しました。
こうすることで、1つのカメラで投影するよりも大幅にカメラワークの自由度が上がります。
ルンバはNukeで作成したプロジェクションマップの背景に合成するので、アニメーションはNuke内でルンバの代わりにCubeにつけて、アニメーションをFBXで書き出しました。
室内のカットのルンバは、3ds maxでFBXを読み込んでアニメーションを付け、HDR画像を使用してライティングし、OpenEXRをリニアで書き出しました。
今回は制作時間を短縮するために、OpenEXRに含める個別の要素はシャドウとアンビエントオクルージョンのみにしました。
3ds maxから書き出したOpenEXRを背景に合成し、シャドウとアンビエントオクルージョンも合成して微調整しました。
ルンバを背景になじませるためにエッジをぼかしました。
背景にプロジェクションマップを使用しているカットは、背景のパノラマ画像が少し伸びてぼけてしまっていたので、なじませるためにルンバ全体にブラーをかけました。
砂漠を車やルンバが走っているカットの背景もプロジェクションマップを使用して制作しました。
今回は車をモデリングしている時間はなかったので、車のような形のかんたんなモデルをModelBuilderノードで作って、そのモデルに車の静止画をプロジェクションマップで投影しました。
背景の砂漠と前景の車は別々のプロジェクションマップですが、合成した時に合うようにないといけないので、1つのカメラで撮影しました。(左右のカメラが投影しているカメラで、中央のカメラで撮影しています。)
プロジェクションマップの背景にプロジェクションマップの前景を合成しているので、どちらも破綻しないようにするのが難しかったです。
車が走るアニメーションは、モデルと一緒に投影しているカメラも動かしました。
ModelBuilderノードで作ったモデルに投影している車の画像は、実際に撮影した場所の反射があると不自然になると考えたので、偏光フィルターを使用して車の反射を最小限にしました。
偏光フィルターを使用しても1回の撮影で反射をすべてなくすことはできなかったので、反射の違う2枚を合成して反射を少なくしました。
プロジェクションマップで投影するのは静止画なので、タイヤのマスクを作成してDirBlurWrapperノードでモーションブラーを再現しました。
車をマスクで切って投影ましたが、背景に合成したときにフロントガラスが透けていないと不自然なので、
透けないといけない部分をマスクで切った後に、ガラスにわずかに色が付いているので、切ったマスクを使って薄い水色にしました。
前輪が歪んだりしているのを修正しました。
画像右側の前輪はRotoPaintノードなどで修正しました。
左側は投影している静止画に写っていなかったので、右側をコピーするなどして追加しました。
コピーしたタイヤのサイズや位置を車の動きに合わせないといけないので、Reconcile3Dノードで2D上での3Dモデルの位置を抽出して合わせました。
背景に馴染ませるために車の陰を追加しました。
車はプロジェクションマップで作成したのでライトで影を作ることが出来ませんでした。
そこで、車の画像を投影しているモデルと、撮影しているカメラをFBXで書きだして、3ds maxに読み込んで影を作成しました。
このとき、車に砂漠の反射を加えるためにパノラマ画像を使用して反射も作成しました。
しかし、反射は車に合成してみると不自然になって、無いほうが自然に見えたので使用しませんでした。
映像を撮影したカットで、カメラワークのあるカットはマッチムーブを行いました。
グリッドの静止画を別に撮影し、そのグリッドを解析してレンズ補正をしたあとにCameraTrackerノードでトラッキングしました。
合成したルンバにも影が落ちないと不自然なので、マスクを切って影を再現しました。
ルンバがあまり目立ないカットがあったので、
Rotoノードで一部を暗くしてルンバを目立たせました。
最後に、ルンバにノイズを加えました。
ノイズはR、G、Bそれぞれを背景に合わせました。
最後に、ここまで御閲覧頂きありがとうございました。
長文失礼いたしました。
この作品を制作した学生は、現在就職活動中です。
ご興味持たれた会社様又は話をお聞きになりたい
ご担当者様が、いらっしゃいましたら下記まで、メールを
頂ければ幸いです。
大阪情報コンピュータ専門学校
谷本 成周 宛
メールアドレス:
tanimoto(AT)oic.ac.jp
(AT)のところは(@)に変えてご送信下さい。