この短い基本チュートリアルでは、1つの実践的な例を使って2つの異なるトピックを扱います。Blender 4.1 のシーン内でオブジェクトを2つ以上の異なる View Layer に配置する方法と、Compositing で Z-Combine ノードを使ってそれらを合成し、最終レンダリングで各 View Layer から仮想カメラに最も近いピクセルを取得する方法を見ていきます。



動画の書き起こし

皆さんこんにちは! この短い基本チュートリアルでは、1つの実践的な例を使って2つの異なるトピックを扱います。Blender 4.1 のシーン内でオブジェクトを2つ以上の異なる View Layer に配置する方法と、Compositing で Z-Combine ノードを使ってそれらを合成し、最終レンダリングで各 View Layer から仮想カメラに最も近いピクセルを取得する方法を見ていきます。

View Layers を使うと、シーン内のオブジェクトを個別にレンダリングできます。また、どの View Layer をレンダリングし、どれをレンダリングしないかを選択することも可能です。これにより、特に非常に大規模なシーンや要素数の多いシーンで、リソースやレンダリング時間を最適化できます。

Z-Combine ノードを使うと、2つ以上の View Layers、あるいは Z チャンネルや距離マップを持つ異なる画像からオブジェクトを並べ替え、仮想カメラからの距離に基づいて要素が表示される単一のレンダリングを作成できます。

これは基本チュートリアルなので、シーンの View Layers とは何か、オブジェクトの Collections を各 View Layer に関連付ける方法、どの View Layers をレンダリングするかを決定する方法、そして Compositing で Z-Combine ノードを使ってそれらを合成する方法を、順を追って見ていきます。

このチュートリアルで使用しているシーンには、2つのメッシュオブジェクトがあります。フェンスと草地です。特に、草地の草はフェンスの両側に存在しているため、一部は草によって隠れ、逆に草の一部もフェンスに隠れています。

最初は、これら2つのオブジェクトと仮想カメラは、1つの Collection の中にあります。

メニューバーを見ると、Scene が1つ、View Layer も1つだけ存在していることが分かります。特に View Layers は、シーン内でどの要素を表示し、どれを表示しないかを決定するためのもので、シーン内に要素グループを作成できます。表示とレンダリングに関しては Collections に似ています。

デフォルトでは、現在の Collection は基本の View Layer に含まれているため、常に表示されます。これは、Collection 名の横にある Checkbox を見ることで確認できます。この Checkbox のツールチップには、対応する Collection を View Layer から除外できることが表示されています。

では、草地とフェンスを2つの異なる View Layers に配置し、それらを個別にレンダリングしてから、Compositing で1枚の画像に合成する方法を見ていきましょう。

最初に行うことは、デフォルトの View Layer の名前を、より分かりやすい名前に変更することです。例えば “Grass” にしましょう。

同様に、デフォルトの Collection も Grass に変更します。

次に、“Add View Layer” アイコンをクリックし、“Blank” オプションを選択して新しい View Layer を追加します。これにより、最初はすべての Collections が無効になった新しい View Layer を作成できます。

この操作によって、重要なことが分かります。各 View Layer における要素の表示は、それらが所属している Collections によって決まるということです。

現在、Grass Collection は新しい View Layer に含まれておらず、その中にどの要素が入っているかも確認できません。

新しい View Layer の名前を Fence に変更し、その後 Grass View Layer に戻ります。

Fence オブジェクトを選択し、M キーを押して “Move to Collection” メニューを開きます。次に “New Collection” を選択し、Fence という新しい Collection を作成します。

Outliner ウィンドウを見ると、新しい Collection が Grass と同じように、Scene Collection を Root として作成されていることが分かります。

この View Layer ではフェンスを表示したくないので、Fence の Checkbox をオフにします。

次に Fence View Layer に移動し、逆の操作を行います。つまり、Grass を除外して、Fence Collection のみをレンダリングに含めます。

このようにして、オブジェクトは2つの異なる Collections に分離され、それぞれが別々の View Layers でレンダリングされます。

しかし、レンダリングを開始して Compositing に進む前に、Fence View Layer の Z チャンネルを有効にする必要があります。これにより、Compositing 中に Render Layer 内で Depth 情報を使用できるようになります。これは Fence View Layer に切り替え、Properties editor の View Layers タブを開き、Z Checkbox を選択することで行います。

この Checkbox は、新規プロジェクトの基本 View Layer ではデフォルトで有効になっているため、通常は有効化を意識する必要はありません。しかし、新しい View Layers では無効になっています。すべての Render Passes と同様に、レンダリング前に有効化する必要があります。そうしないと、その情報は Compositing で利用できません。

この操作を行った後、レンダリングを開始できます。

お気付きかもしれませんが、Blender は各 View Layer ごとにレンダリングを実行します。

現在のシーンを Compositing に進める前に、1つお伝えしておきます。View Layers はレンダリングから除外することが可能です。これにより、変更を加えている View Layers のみをレンダリングし、他をレンダリングする時間を節約できます。

View Layer をレンダリングするかどうかを決定するには、その View Layer を選択し、Properties editor の View Layers タブを開いて、Use for Rendering をオンまたはオフにします。

ただし、このケースでは両方の View Layers のレンダリングが必要なので、Compositing ウィンドウに移動してチュートリアルを続けます。

Render Layers ノードを見ると、下部に View Layers セレクターが存在していることが分かります。そこで、デフォルトノードを複製し、新しいノードでプロジェクトの2番目の View Layer を選択します。

カメラからの距離に基づいて2つの View Layers を合成するには、エディターに Z-Combine ノードを追加し、各 Render Layer の Image と Depth 情報を、Z-Combine ノードの Image 入力と Z 入力に接続するだけです。

2つの元画像をノードの2つの Image 入力へ接続する順番は重要です。なぜなら、2つのピクセルが同じ Z 値を持つ場合、2番目の入力に接続されたピクセルが表示されるからです。そのため、最初の入力は Background、2番目は Foreground と呼ばれます。

“Use Alpha” オプションが存在していることにも気付いたかもしれません。

Z-Combine ノードの Image 入力は、Render Layers から渡される Alpha 情報も取得します。合成は Z 値に基づいて行われますが、“Use Alpha” オプションが有効で、2番目の Image 入力である Foreground のピクセルが半透明の場合、最初の Image 入力である Background の対応ピクセルも、Foreground ピクセルの不透明度に応じて半透明で表示されます。

これで、2つの Render Layers から来る情報をノードで個別に編集しながら、Z-Combine ノードによって正しく合成された最終 Compositing を確認できるようになります。

2つの画像の Image 入力と Z 入力が分かれているという事実は、Render Layer の Z 情報を使って Textures や他の画像を合成し、その Z 情報をブレンドマスクとして利用できる可能性を示しています。

ノードに全体用の Z 出力が存在するという事実は、複数の Z-Combine ノードを連続して接続することで、複数の Render Layers や画像を順番に合成できることを示しています。

このチュートリアルを終える前に、異なる Collections や View Layers に属するオブジェクト同士でも、親子関係を設定できることをお伝えしておきます。

この操作は、私が近いうちに公開予定のチュートリアルの基礎となるもので、今そのプレビューをお見せしています……

……ですが、先ほど言った通り、それについてはまた別の機会にお話ししましょう! 今回のチュートリアルは以上です! またお会いしましょう!

チュートリアルを検索

フレーズ、または複数のキーワードをカンマで区切って入力してください。

Francesco Milaneseによる3Dモデル、チュートリアル、コンピューターグラフィックス関連の資料を掲載しています。3Dモデルの使用ライセンスは、各モデルのページに掲載されているリンク先の外部ストアで購入できます。ご利用には、適用されるライセンス条件が適用されます。 Francesco Milanese — イタリアVAT番号:06321250877。お問い合わせ:info@francescomilanese.com


プライバシー及びクッキーの使用に関する拡張情報の通知