この短いチュートリアルでは、カメラに対する面の向きに応じてオブジェクトの面を透明にし、今画面に表示しているレンダリングのような効果を作成する方法を見ていきます。



動画の書き起こし

皆さんこんにちは! この短いチュートリアルでは、カメラに対する面の向きに応じてオブジェクトの面を透明にし、今画面に表示しているレンダリングのような効果を作成する方法を見ていきます。

つまりこれは、オブジェクトのシルエットだけを強調しつつ、その形状をうっすら見せながら、内部にある別のオブジェクトも表示できるエフェクトです。

これは基本的なチュートリアルで、Blender 3.6、特にCyclesレンダリングエンジンを使用して作成しました。ただし、使用するノードは以前の複数のバージョンでも利用可能であり、おそらく今後も利用できるはずです。

この例で使用しているシーンには、コンテナの内部に2つのオブジェクトが配置されており、オブジェクトの背景として機能しています。

また、カメラとBezier Circleもあり、これはオブジェクトの周囲をカメラが回転する動きを付けるために使用しています。

ライティングはすべてWorld Backgroundによって提供されています。

この例で使用している2つのオブジェクトは足とその骨で、骨は1つのオブジェクトとしてまとめられています。

骨には非常にシンプルなマテリアルを設定しており、赤色のPrincipledノードのみで構成されています。Emission Strengthは1に設定し、Emission Colorには非常に暗い赤色を使用しています。

もちろん、このチュートリアルの中心となるのは、骨を包み込んでいる足のマテリアルです。

ここでもまずはシンプルなPrincipledノードから始め、シルエットに使用したい色を設定します。例えば純白です。

透明部分を作成するためには、当然Transparentノードが必要なので、こちらも純白の状態で追加します。

ミックスを行うためにMix Shaderノードを追加し、TransparentノードをMix Shaderノードの最初のShader入力に接続していることを確認してください。

次に、PrincipledをMix Shaderノードの2番目のShader入力に接続します。

これにより、Factorに使用される値が0の場合はTransparentが使用され、逆にその値が1の場合はPrincipledが使用されます。

この値を目的の形で提供できるノード、つまり面がカメラを向いているときに0を出力し、それ以外の向きでは別の値を出力するノードが、InputのLayer Weightノードです。これをノード構成に追加します。特に使用するのはFacing出力で、これをMix ShaderノードのFactor入力に接続します。

接続後、Layer WeightノードのBlendパラメータを調整できます。この値は出力値をわずかに変化させるため、0.1のような低い値を使用するのがおすすめです。ただし、このままでは各面の間の遷移が滑らかすぎるため、3D Viewportでレンダープレビューを見ると分かるように、少しぼやけた印象になります。

問題と解決策をより分かりやすく確認するために、緑色のEmission Shaderノードを追加し、Layer WeightノードのFacing出力をその入力へ接続します。そして出力を直接Material OutputのSurface入力へ接続します。

私たちが欲しいのは、緑と黒の領域の間に、もっとはっきりした境界を持つ、滑らかすぎない分離です。

このような処理はコントラスト調整で行えるため、Layer WeightノードとEmissionノードの間にColorのBright Contrastノードを追加し、Contrastの値を好みに応じて調整して、満足のいく結果になるまで設定します。

良い結果が得られたら、Emissionノードを削除し、Bright ContrastノードのColor出力をMix ShaderノードのFactor入力へ接続します。

最後に、Mix ShaderノードのShader出力をMaterial OutputのSurface入力へ接続し、必要に応じて他の調整を行ったら、レンダリングを実行します!

この短いチュートリアルがお役に立てば嬉しいです! それではまた!

このサイトは、私の制作物の一部を紹介することのみを目的としており、宣伝目的ではありません。現在、カスタム制作、コンサルティング、その他いかなる業務上の協力に関するご依頼も受け付けておらず、対応いたしませんので、あらかじめご了承ください。


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