>   >  はじめよう!踏み出そう!VFX!:第3回:BlenderとResolve Fusionで飛び出せVFX!【ステイホームVFX連動企画】
第3回:BlenderとResolve Fusionで飛び出せVFX!【ステイホームVFX連動企画】

第3回:BlenderとResolve Fusionで飛び出せVFX!【ステイホームVFX連動企画】

03:「マルチレイヤー」CGデータを作ろう!

Blenderを使い、実写とCGを合成する上でとても便利な「マルチレイヤー」のCGデータを作成してみます。


【実践】よくわからなくてもOK!まずは手順通り触ってみよう!

〈Step 0〉スケールを合わせる

この記事では、3DCGモデルの作り方については触れません。すでにBlenderで作成したシーンを読み込み、VFXに向けたセットアップをしてみます。

  • 【1】左上の[ファイル→アペンド]をクリックします

アペンドは、他のBlenderプロジェクトを現在のプロジェクトにコピーして読み込む機能です。Blenderデータを使い回す際に非常に便利です。

ちなみに、他のBlenderプロジェクトを別ウィンドウで起ち上げている場合、オブジェクトを選択後[Ctrl+C]、他のプロジェクト上で[Ctrl+P]することで、コピー&ペーストの感覚でアペンドすることもできます。

【2】アペンドをクリックしたら、配布フォルダの[38912VFX_SampleScene.blend]を選択し[Object]内の全てのオブジェクトを[A]で選択し、画面右下から[アペンド]します。

【3】シーンをアペンドしたら、右上のアウトライナー(オブジェクトのリスト)の一番上にある[#TestPlane]と、先ほどfSpyで作成したカメラを[Ctrl]で複数選択します。選択後、[Shift+H]を押してその他のオブジェクトをいったん非表示にします

Blenderでは[H]で選択中のオブジェクトを一時的に非表示に、[Shift+H]で選択していないオブジェクトを一時的に非表示に、[Alt+H]で再度表示することができます。オブジェクトの数が多いときに便利です。

【4】他のオブジェクトを非表示にすると、原点付近に小さな長方形(#TestPlane)がこのように小さく表示されています。この長方形はCG内の大きさで実写素材のグリッドと同じ19cm×27cmに設定してあります

つまりカメラがかなり大きいサイズで設定されてしまっているということです。fSpyによってパース(遠近感)は一致していても、スケール感は一致していない状況です。

......ちょっと何言ってるかわからないですよね。実際にやってみましょう。

  • 【5】画面上のこのアイコンから、移動スケールの中心を[3Dカーソル]に合わせます

  • 【6】右上のアウトライナー(オブジェクトのリスト)からカメラを選択します

【7】3Dビュー上で[S]キーを押しスケールを変更、クリックで決定できます 。何度かスケールを変えて、図のようにグリッドの端が3Dの長方形と重なるところを探してみてください。ぴったり合わない場合は横の長さが合っていればひとまずOKです

これは、四角いプレートが大きくなっているように見えて、実際にはカメラが原点(グリッドの左下の丸)を中心に小さくなっています。カメラを小さくすることで、CGと実写のスケールが一致しました。

【8】[Alt+H]で全オブジェクトを表示します。最後に[#TestPlane]は右上のアウトライナーから選択して[X]で削除します。ビューがおおよそこのような構図になっていたら成功です


〈Step 1〉レンダー設定

  • 【9】画面右側のプロパティエディタから、カメラアイコン[レンダープロパティ→レンダーエンジン]を[Cycles]にします

GPUが使えるPCをお持ちの方は、画面左上の[編集→プリファレンス→システム→Cyclesレンダーデバイス]からお使いのGPUを選択したあと、上記の[レンダープロパティ→デバイス]を[GPU演算]にするとレンダリングを高速化できます。

  • 【10】同じく[レンダープロパティ→フィルム→透過]のチェックボックスをONにします

透過にチェックを入れることで、ワールドの背景が透過された状態でCGがレンダリングされます。

  • 【11】地球儀アイコン[ワールドプロパティ→サーフェス→カラー]を黒色(#000000)にします

  • 【12】画面右上のアウトライナー(オブジェクトのリスト)から[Wall_Shadow]を選び、四角いアイコン[オブジェクトプロパティ→可視性→シャドウキャッチャー]のチェックボックスをONにします

オブジェクトを「シャドウキャッチャー」に設定することで、そのオブジェクトに落ちる影のみをレンダリングすることができます。実写の舞台上に落ちる影を透過で書き出せるので、実写合成においてとても便利な機能です。


〈Step 2〉コレクションを作る

コレクションとはBlenderのデータをフォルダのように管理できるとても便利な機能です。

【13】作業しやすくするために、右上の「アウトライナー」上にマウスカーソルを置いた状態で、[Ctrl+Space]で全画面表示にします

  • 【14】アウトライナーの何もないところで[右クリック→新規コレクション]から、コレクション(フォルダ)を作成します

  • 【15】新しくできたコレクションをダブルクリックして「Environment」と名前を変更します

  • 【16】「Environment」から始まるオブジェクト4つを選択し、作成した[Environment]コレクションにドラッグ&ドロップで移動します

  • 【17】このように、[Environment]コレクションに「Environment」からはじまるオブジェクト4つを入れることができました

  • 【18】コレクションはドラッグすることで自由に移動したり階層を作ったりすることができます。少し大変ですが、この図と同じようにコレクションを作成し、全てのオブジェクトを分類してください

「PointLight」コレクションは、「Light」コレクションの下の階層にあることに注意してください。コレクションを他のコレクションの上にドラッグ&ドロップすると下の階層に入れることができます。

もう一度[Ctrl+Space]でビューを元に戻すことができます。

  • 【19】コレクション名の横の三角をクリックすることで、コレクションを畳んでコンパクトに表示できます

  • 【20】画面右上のアウトライナーの上の、ろうとアイコン[Filter]をクリックし、[制限の切り替え→間接的のみ(矢印アイコン)]をONにします

このようにBlenderにおける「コレクション」はフォルダのようにデータをわかりやすく分類して管理できるほか、コレクションごとに細かくレンダリングの設定をすることもできたりします。

次のステップからは、この「コレクション」を利用して様々な素材を作っていきます。


〈Step 3〉メインレイヤーを作成する

まずは、メインとなる機械のみのレイヤーを作成します。

【21】画面右上の[ビューレイヤー]の名前を「MainLayer」に書き換えます

  • 【22】右上のアウトライナー上でこのような設定にしてください。それぞれアイコンをクリックするとON/OFFを切り替えることができます

アウトライナーのチェックボックスアイコンをOFFにするとそのコレクション(フォルダ)は完全にレンダリングされなくなります。横の矢印アイコン[間接的のみ]をONにすると、同じくコレクション自身はレンダリングされないようになりますが、周りに影や反射などの「間接的」な影響はレンダリングされます。

今回は、[Environment](背景のモデル)と[Wall_Shadow](壁のモデル)と[Hand](手のラフモデル)を[間接的のみ]にすることで、周りの背景や手がメインの機械に映り込んだり影を落としつつ、それ自体はレンダリングされないようにしています。

[MachineEmission]や[Wall_Reflections]や[Wall_Mask]は今は使わないのでチェックを外してレンダリングしないようにしました。

  • 【23】写真アイコン[ビューレイヤープロパティ→パス→データ→Z]をOFFにします

Zパスは奥行きの情報です。VFXでは霧の表現やカメラから特定の距離離れた場所を指定する際などに重宝しますが、今回は使用しないのでOFFにしておきます。

【24】画面左上の[レンダー→画像をレンダリング]でレンダリングしてみます。このような画像が出力されていれば成功です

メインの機械のみがレンダリングされ、周りは透過していることがわかります。


〈Step 4〉影レイヤーを作成する

【25】画面右上のレイヤー名の右横[ビューレイヤーを追加]アイコンをクリックし、[新規]を選択します

ビューレイヤーは複数追加でき、レイヤー名左のドロップダウンリストからいつでも他のビューレイヤーに変更できます。このビューレイヤーの機能を使って、いくつかの素材を作っていきます。

  • 【26】今度は「ShadowLayer」と名前をつけ、画像のように設定してください

[Machine](メインの機械モデル)は[間接的のみ]に設定し、先ほど「シャドウキャッチャー」に設定した[Wall_Shadow](壁のモデル)のみレンダリングすることで、影のみをレンダリングすることができます。壁の反射用に配置しているPointLightは無効化しています。

  • 【27】先ほど同様、写真アイコン[ビューレイヤープロパティ→パス→データ→Z]をOFFにします

【28】画面左上の[レンダー→画像をレンダリング]でレンダリングしてみると、先ほどの機械のレイヤーの後に影のレイヤーが順にレンダリングされます。レンダリング完了後、レンダー画面の右上のレイヤー選択リストで[ShadowLayer]を選択してみます

【29】影のみの画像が表示されるはずです

この調子でレイヤーを全部で4つ作ります。あと2つです!


〈Step 5〉反射レイヤーを作成する

  • 【30】先ほど同様、レイヤー名の右横[ビューレイヤーを追加]アイコンからビューレイヤーを新規作成し、「ReflectionsLayer」と名前を付けます。画像のように設定してください

このレイヤーは反射のみをレンダリングしたいので、[Environment](背景のモデル)と[Machine](メインの機械モデル)と[Hand](手のラフモデル)は[間接的のみ]に設定し、[Wall_Reflections](壁のモデル)をONにしています。

  • 【31】写真アイコン[ビューレイヤープロパティ→パス→データ→Z]をOFFにします

【32】[レンダー→画像をレンダリング]でレンダリング後、レンダー画面の右上のレイヤー選択リストで[ReflectionsLayer]を選択すると、このように反射素材がレンダリングされます

影は「シャドウキャッチャー」で影のみのレンダリングをすることができましたが、反射についてはそれができません。今回、メインの機械が壁に反射している部分(CGパーツが実写パーツに影響している部分)以外の壁は実写をそのまま使用したいところです。次のステップでメインの機械の反射のみを抜き取るためのマスクレイヤーを作ってみましょう。


〈Step 6〉反射マスクレイヤーを作成する

  • 【33】最後のレイヤーを作ります。[ビューレイヤーを追加]アイコンからビューレイヤーを新規作成し、「ReflectionsMask」と名前を付けます。画像のように設定してください

  • 【34】写真アイコン[ビューレイヤープロパティ→パス→データ→Z]をOFFにします

【35】レンダリング後、右上のリストから[ReflectionsMask]を選択すると、このようにメインの機械の反射部分のみが白で表示された白黒の画像が表示されます

ここでは反射マテリアルと明るさ1で発光するマテリアルを使用して、反射用のマスク素材を作っています。明るさ0(黒)は透明に、明るさ1(白)は不透明になります。

[Ctrl+S]でプロジェクトを保存するのをお忘れなく!


〈Step 7〉レンダリング

  • 【36】今回[サンプリング]は512で[適応サンプリング]をONにしています。マシンスペックやCGの条件によって最適な値は変わるので、この値はあくまで参考程度に試行錯誤してみてください。ただ、後の工程でややこしくなるので今回は[デノイズ]はデフォルトのOFF状態にしておくことをオススメします

  • 【37】プリンタアイコン[出力プロパティ→出力]の①ファイルパスで画像の保存先と名前を指定します。今回は「38912_SampleCGC_linsrgb_」としました。②ファイルフォーマットは[OpenEXR マルチレイヤー]に、③色深度は[Float (Half)]を選択します

書き出し先に大量の画像の連番が書き出されるので、新しく「Render」等の名前をつけたフォルダを作成し、その中に書き出すことをオススメします。

【38】画面下のタイムラインの右端にレンダリング範囲を指定する場所があります。[終了]を「60」フレームにしてください

【39】画面左上[レンダー→アニメーションをレンダリング]をクリックすると、アニメーションのレンダリングが開始されます。アニメーションのレンダリングは[Esc]キーでいつでも停止できるほか、連番画像なのでタイムラインからレンダリング範囲を指定すれば途中からレンダリングを再開することもできます

このレンダリングはそこそこ時間がかかりますので、いったん休憩してのんびり待ちましょう! 今すぐ次に進みたい方は、配布素材に完成したCG素材「38912_SampleCGC_linsrgb」を用意してありますのでそちらを使用して次のステップに進んでください。


【理論】なぜこうするの?

この章では光(MainLayer)・影(ShadowLayer)・反射(ReflectionsLayerとReflectionsMask)の素材をビューレイヤーで作成しました。それぞれの素材を作っておくことで、この後のコンポジット(合成)で要素(光・影・反射)ごとに分解して調整することができます。作戦立てで必要な要素をリストアップしたら、ビューレイヤーの箱を要素ごとに用意し、コレクションやパス等を使ってそれぞれレンダリングするものを決めていくのがオススメです。

書き出し形式として選択した「OpenEXR マルチレイヤー」は、ビューレイヤーで作成した複数レイヤーのデータを1つの画像データとして保存することができるフォーマットです。DaVinci Resolve Fusionをはじめとして、他の多くのコンポジットソフトでも同様に扱えるのでとても便利です。

次ページ:
04:「色空間」の設定をしよう!

その他の連載