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となっているのを確認できます。