初心者でもできるVFX
初心者でもできるVFX
https://gyazo.com/b96ac19a7e580042b7978a1deaa192ea
はじめに
はじめまして,小栗研究室B4の竹中隼です.本記事は,3D制作初心者でも始めやすいBlenderを使ってVFXを完成させる流れをお伝えします. hr.icon
VFXとは
VFXとは「Aisual Effects」の略称で視覚効果という意味です.爆発や立体物などのCGを実際に撮影した映像に組み合わせて,違和感のないように合成するといった作業を行います.現在では,映画やドラマ,MVなどの映像作品によく使用されています.
VFXを制作するソフトとしてCINEMA 4DやMaya,3ds Maxなどがありますが,本記事では無料で利用可能なBlenderを使ってVFX制作を行います.
VFXの大まかな流れとして以下のような流れで作業を行います.
1.マッチムーブ
2.3Dシーンの作成
3.コンポジット
4.レンダリング
hr.icon
VFXをやってみよう
今回は以下のソフトと素材を使用します.
今回はスマホ画面から物体が飛び出してくる映像を作成します.
1.マッチムーブ
マッチムーブとは,実写の映像からモノの動きを推測し,CGにその動きを割り当てる技術です.
まずは実際に手順通り触ってみましょう.
Blenderを起動したらヘッダーの+ボタンからVFX→Motion Trackingを選択します.
https://gyazo.com/cf551e973bd054b6380acd0909d8e2a6
画面中央の開くから映像素材を読み込みます.
https://gyazo.com/f3c9544ceb137334167c9c5353394729
映像が読み込まれたら左側のパネルの「トラック→クリップ→シーンフレームを設定」をすることで,開始・終了フレームを映像素材に合わせて自動で設定してくれます.
https://gyazo.com/b420b8611019b0e4b7d25052dbc9082b
次に映像のプロキシ(画像を下げて軽くした代替映像)を作ります.
右側のパネルのフッテージから以下の項目を変更し,プロキシ/タイムコードを構築をクリックします.
https://gyazo.com/a533dbe86dd13658e04726dc873857bc
書き出し完了後,プロキシサイズで25%を選び,先ほど書き出したプロキシを表示します.
左側のパネルのトラックからプリフェッチを押すことで映像のキャッシュを作ります.(これにより再生が高速化)
プロキシの画質を下げれば再生が軽くなり作業がスムーズになりますが,解像度が低いと次の工程であるトラッキングの作業がしづらくなるため注意が必要です.
次に,トラッキングの作業に移ります.
映像内の特徴的な点にマーカーを打つことで映像の動きを取得します.
実際に映像にあるスマホ画面のマーカーを狙い,Ctrl+左クリックでマーカーをうちます.
マーカーの位置を移動したい場合は,マーカーの四角の中を左ドラッグすることで位置を変更できます.マーカーの右側の丸でマーカーの大きさを調整することができます.
右側のパネルからトラックを開くとマーカーの範囲を見ることができます.
マーカーを付けることができたら画面下部のタイムラインの上にある矢印のアイコンの「マーカーをトラック」を押すと,マーカーの動きがトラッキングされます.
https://gyazo.com/20b1d16257be03263a1014ebf6c7330b
もし途中からマーカーのトラッキングに失敗してしまったら,正常にトラッキングできているフレームまで戻り,マーカーのサイズを変えて再度「マーカーのトラック」を押してみましょう.
次の工程に進むために,すべてのフレームで画面上に8つ以上のマーカーが存在する必要があります.
画面左上のドープシートが黄色の範囲はマーカーが8つ以上あり,赤の範囲が8つ未満であることを示しています.すべての範囲が黄色になるようにマーカーを増やし,トラッキングしていきます.
https://gyazo.com/aff87369f6c8ca98490e2292a8a5818f
下の画像のように左上のドープシートのすべてのフレームが黄色になったら,トラッキングをひとまず終了です.https://gyazo.com/90224094ebb2eb12f22548ddaeb48247
ここまで作業したら,上記タブのファイルからファイルを保存しておきましょう.
左側の解析→解析から二つキーフレームを選択します.ここで選択するフレームは視差が大きくなるようなフレームを選択しましょう.(今回では20と160)フレームを選択したら絞り込みの焦点距離にチェックを入れてカメラモーションの解析をクリックします.
https://gyazo.com/11f7e283823c1e95ab08df0677c80b7e
カメラモーションの解析を行うと,映像のパネル上部に「解析エラー(Solve error):〇.〇〇px」と表示されます.この数値が低いほど高い精度でカメラの動きを推測できていることになります.目安では1.0以下, できれば0.3以下を目指します.
https://gyazo.com/9143571bf8294a9d12c2b34e0bf6d312
解析エラー(Solve error)が高い場合,左上のドープシートから,エラー値の高いマーカーを削除したり,新しくマーカーを追加して分析をし直すことでSolve errorを下げることができます.
2.3Dシーンの作成
トラッキングが終わったらヘッダーのLayoutを選択します.
画面右上のアウトライナーからCameraを選択します.Cameraを選択したら,画面右のプロパティパネルのカメラアイコンの下絵→アクティブクリップをチェックすることで,背景映像が正常に見えるはずです.
https://gyazo.com/1bf648f8cd7d7cbc085e9eab1374c676
画面右のオブジェクトコンストレイントプロパティからカメラソルバーを選択することでトラッキングマーカーが表示されます.
これから3Dシーンを作成するため,現在あるCubeオブジェクトを削除しましょう.Cubeをクリックで選択し,Xキーを押して削除をします.
カメラの位置と角度を変更します.
カメラを選択し,Rキーを押して角度,Gキーで移動することができます.RもしくはGキーを押した後にX,Y,Zキーを押すことで押した方向に移動や角度の変更ができます.細かい数値の変更がしたい場合,画面右のオブジェクトプロパティの位置や回転の数値を変えましょう.
スマホ部分のマーカーが平面になるようにカメラの位置,角度を変更しましょう
https://gyazo.com/0ecefbe8227285a0417b437b5e9f6a1e
ここからはスマホ画面の奥側に部屋を作ります.
スマホ部分のマーカーが平面になったら,Shift+Aでメッシュの平面を選択します.
平面を選択した状態でSキーを押して,平面のスケールを変更します.移動,回転と同様でにSキーを押した後にX,Y,Zキーを押すことで押した方向にスケールの変更ができます.
スマホ画面が隠れる大きさにスケールを変更します.
https://gyazo.com/31f8ed31aca826538cb550d43ff52da8
平面を選択した状態で,3Dビューポート左上のオブジェクトモードから編集モードに変更します.(TABキーを押すことで変更可能)モード変更の右横にあるアイコンから,オブジェクト選択モードの変更ができます.(左から頂点,辺,面)
編集モードに移ったら平面全部が選択された状態で,Eキーを押してZキーを押すことでZ方向に面の押し出しを行いましょう.その後,最初に選択していた面を選択してXキーを押して面を削除します.
https://gyazo.com/7838024683b032ee30946cea5c69d9f3
次にスマホ画面の奥の部屋の編集を行います.今は角がとがっているためスマホ画面からはみ出している部分があります.そのため角を丸めてスマホ画面に合うように調整します.編集モードから面が削除されている部分の頂点1つととその下にある頂点1つを選択して,Ctrl+Bを押すことでベベルをします.ベベルをした際に3Dビューポートの左下にあるパネルからベベルの幅とセグメント(頂点数)を調整します.(セグメントは3~5くらいでOK)これを全4箇所行います.
https://gyazo.com/654e25cc9bed864c654b5d10e2e82cb9
その後,面のない部分の頂点を全て選択して,Eキーを押して面を押し出し,Sキーを押してスケールを大きくします.
https://gyazo.com/e13a20444bc9cce89cd60a9751232e3d
今の状態ではオブジェクトによって映像が見えない状態になっています.オブジェクトを透過させることで映像が見えるようにしていきます.大きくした平面部分のみを選択して,Pキーを押して選択を押します.そうすることで,Z方向に面の押し出しをしたものと拡大した平面部分が分離して別々のオブジェクトになります.平面部分のオブジェクトを選択して右側のオブジェクトプロパティから可視性のホールドアウトを選択するとオブジェクトが透過されます.https://gyazo.com/4c46ba036718e32d456ba528a6b1ded9
https://gyazo.com/67fc14462fbd0a90c82b33da58af3456
Shift+Aでモンキーを生成します.モンキーを生成したら,先ほど作ったスマホ画面の部屋に入る大きさになるように大きさを変更します.(Shift+S)その後,モンキーを部屋の奥に移動させます.(Shift+G)
モンキーにアニメーションを付けていきます.画面下部にあるタイムラインからフレームを30フレームに移動します.その後モンキーを選択してオブジェクトプロパティから位置の右側の丸をクリックすることでキーフレームを打つことができます.キーフレームを打つことができたら,タイムラインからフレームを140フレームに移動します.モンキーを選択してZ軸方向上側に移動させて,先ほどのようにキーフレームを打ちます.そうすると,モンキーがスマホ画面から上に出てくるアニメーションを作ることができます.
https://gyazo.com/cc5d04efc3e7f5b78277ad24afd999a5
これでシーンの作成は終了しました.
ここからはお好みでテクスチャの変更を行います.オブジェクトを選択した状態で,画面右側のオブジェクトプロパティを選択して,新規マテリアルを作成します.ベースカラーで色の変更,スペキュラーで表面の反射,粗さで表面の粗さなどが調整できます.
https://gyazo.com/4cd538084a13a4c35886b99de82ef8d5
3.コンポジット
レンダリングをする前に映像の調整を行います.
ヘッダーからCompositingを選択します.
https://gyazo.com/8228c2b739826dbc863bce4c957b2050
Compositingが開けたら,左上のノードを使用にチェックを入れます.
Shift+Aでノードを生成することができます.下記のノードを生成して,下記画像のようにつなぎます.
入力の動画クリップ
出力のビューアー
カラーのアルファオーバー
フィルターのぼかし
https://gyazo.com/25595b1abc6f33efdb3d1ef27bf33d79
ノードをつなぐことができたらフィルターのぼかしをX,Y両方とも2にします.そうすることで,実写映像にCGが馴染むようになります.
他には,カラーバランスで色彩調整,グレアで光の調整をするといった補正をすることができます.
4.レンダリング
コンポジットが終わったらレンダリングを行います.
右側の出力プロパティからフレームレート,出力から出力する場所,ファイルフォーマットを下記写真のように変更します.
https://gyazo.com/213a494f0be1adda9e7bfcf8f54c06f4
変更することができたらレンダリングをしていきます.ヘッダーからレンダーのアニメーションレンダリングをすると動画がレンダリングされます.
https://gyazo.com/d2bae4e7abb968c1be72f34469d3ebbd
↓完成映像
https://scrapbox.io/files/657d81c403287100242bdf2d.mp4
hr.icon
まとめ
今回は初心者でも始められるVFXということで紹介させていただきました.リアリティのある3Dモデルの作り方やコンポジットの設定など紹介しきれていない部分がありますのでVFXに興味がある方は,詳しく調べていただいてクオリティの高い映像を目指していただけたら嬉しいです.
初めてで拙い文章でしたがご覧いただいてありがとうございました.