[Blender] Unlitの表現

BlenderでのUnlit表現について覚え書きです。
Blender 3.1.2を使用しました。

以下のようなフォトグラメトリとして読み込んだ3Dモデルを表示しています。
Eeveeでの表示です。

フォトグラメトリの場合はシェーディングせずに、DiffuseColorテクスチャをそのまま表示したいところです。

以下の2つの方法を試しました。

  • ビューポートでDiffuseColorのみの表示に切り替え
  • マテリアルのShaderを調整 (Viewerノードを経由させる)

ビューポート全体をDiffuseColorにする

Viport Shadingの設定を開き、「Render Pass」を「Combined」から「Diffuse Color」に変更します。

以下のようになりました。

ただ、マテリアルごとにUnlitにするかどうか指定したいところです。

マテリアルのShaderを調整

特定のマテリアルをDiffuseColorだけで表示するShaderを指定することで、Unlit表現を行います。
そのために「Node Wrangler」というAddOnを追加します。
このAddOnはBlenderに標準で含まれており、デフォルトでは無効になっています。

Node WranglerのAddOnを入れる

メインメニューの「Edit」-「Preferences」を選択します。
Preferencesダイアログボックスで「Add ons」から「Node Wrangler」を探してオンにしました。

このアドオンを使用することにより、Shader Editorでいくつか機能が使えるようになります。

Shader EditorでUnlitにする

Shader Editorに切り替えます。

「Principled BSDF」ノードを選択して[Del]キーを押して削除します。

[Ctrl]+[Shift]を押してDiffuseColorとして採用するテクスチャ(ここでは「texture0.jpg」)を左クリックします。

「Viewer」というノードが追加され、DiffuseColorテクスチャからSurfaceに直接つながりました。

3DViewportに切り替えると、対象マテリアルがUnlitとなっているのを確認できます。