シェーダーツリー

Modoでは、サーフェシングに独自のグローバルシェーディングモデルを採用しているため、シーン内の任意の数のレイヤーまたはアイテムに、またはシーン全体にでも非常に簡単に属性を適用できます。サーフェスのシェーディングの基本は、ポリゴンタグを適用することから始まります(「 シェーダーの定義)。これにより、レンダリング時にサーフェス属性が適用される場所が決まります。これらのタグが適用されると、実際のシェーディング自体は、 Shader Tree

これらのレイヤーは、表面が光沢があるか鈍いか、赤か緑か、透明か不透明か、または適用したい表面属性の組み合わせを決定します。で見つかりましたShadingビューポート、 Shader Treeには、2つの異なる操作モードがあります。のMaterialモードは、サーフェスの割り当てとサーフェシングの適用を簡素化し、より高度なShader Treeモードは、シーンのシェーディングとレンダリングを完全に制御します。あなたが働いたことがない場合Modo以前は、 シェーダーツリービューポートトピック。

シェーダーツリービュー

を使用する方法を説明する前にShader Tree、最初に、2つのビューモードがShadingビューポートが異なります。パネルの左上に、 Viewオプション;ボタンをクリックすると、2つの選択肢があります。 MaterialsそしてShader Tree。それらは多くの点で似ていますが、それらの違いにより、特定のワークフローの表面化タスクが容易になります。

マテリアルビュー

shader tree viewport

Materialツリーの表示は、 Materialタグ選択したアイテムレイヤーの。選択したアイテムのタグのみを表示することにより、いつでも表示できるレイヤーの数が減り、ワークフローがより合理化されます。また、このモードではタグがアルファベット順に表示されるため、特定のレイヤーを見つけやすくなります。

Materialビューでは、個々のタグはレイヤーとして機能し、階層を使用して表面の適用方法を定義します。前の矢印を切り替える矢、関連するマテリアルアイテムを表示します。これは同じアイテムですShader Treeモードであり、最終的にレンダリングされたサーフェスの複数の側面を表します。

最初にサーフェスを選択することにより、任意のターゲットジオメトリに新しいタグを適用できます。 Polygons選択モードで、 Assign Materialビューポートのボタン、またはMキーボードショートカット。これによりダイアログが開き、タグ名をカスタマイズできます。クリックOK次に、結果のタグをレイヤーとしてツリーに追加します。個々のタグに追加のレイヤーを追加して、 Add Layerボタンをクリックし、多数のオプションから選択します。

注意:  マテリアルの操作の詳細については、 素材

の簡素化されたワークフローを提供するにはMaterialsモードでは、特定のレイヤーがツリーに表示されません。環境を直接編集したり、シェーディングやレンダリング出力の編集を行ったりすることはできません。これらは、 Shader Tree見る。

シェーダーツリービュー

Materials Panel

Shader Treeビューは、レンダリングのために評価されたツリー全体を表示します。の中にShader Tree、タグは直接表示されませんが、代わりに材料グループマスクレイヤー。ここでも階層が役割を果たします。この場合、サーフェスシェーディングは、マテリアルグループによって定義されたマスクによって制約されます。

注意:  選択されていない背景要素を非表示にするには、[選択された項目のみを表示]をクリックします。 横のボタンAdd Layer

シェーダーツリーについて

Shader Tree概念的にはレンダーアイテムがあるツリーに似ているため、 トランクと見なすことができ、個々のマテリアルグループ項目ごとにマテリアルグループアイコン枝として。各ブランチには、異なるレイヤー効果のために内部にネストされた他のマテリアルグループを含めることができます。最終的に、これらのすべてのレイヤー(ネストされているかどうかに関係なく)がレンダーアイテムにフィードされます。この情報は、レンダリング出力に送られます、いずれかのレンダリングコマンドをアクティブにすると、最終的なレンダリングイメージが生成されます。

最終結果を生成するために、レイヤーは下から上へと処理されます。したがって、Photoshopのレイヤーのパレットに精通している人なら誰でも、 ModoShader Tree機能します-他の不透明なレイヤーは常に下にあるレイヤーに取って代わり、隠れてしまいます。これらの下にあるレイヤーは、上部レイヤーの透明度を変更するか、描画モードを変更するか、レイヤーにマスクを適用することによってのみ表示できます。

シェーダーツリーアイテムレイヤーの追加と変更

ながらShader Treeシーンのシェーディングとレンダリングを制御します。ツリー自体の主な機能は、多くの追加、削除、整理、その他の管理ですShader Treeアイテムレイヤー。新しいアイテムをツリーに追加するとき、さまざまなアイテムレイヤーを追加するには、 Add Layerフルビューポートウィンドウのオプションとコンテキストメニューからの項目の選択。新しいアイテムは常に、リストの一番上に追加されますShader Tree直下Base Shader項目。マテリアルグループアイテムの場合マテリアルグループアイコンを選択すると、新しいレイヤーがそのサブグループ内のグループアイテム自体のすぐ下に追加されます。追加できるレイヤーの種類については、 シェーダーツリーアイテムレイヤー

アイテムレイヤーに関連する編集可能なプロパティは、 プロパティパネルレイヤーがShader Tree。選択されたレイヤーは、レイヤー名を強調表示する暗いバーで示されます。連続していない複数のレイヤーは、 Ctrlキーボードのキーを押し、リスト内の後続のレイヤーをクリックします。連続したレイヤーは、 Shiftキーボードのキーを押し、新しいレイヤーをクリックします。現在の選択とアクティブな選択の間のレイヤーも選択されます。同一のアイテムタイプを複数のレイヤーで選択すると、プロパティ値を一括編集できるため、アイテムのプロパティを個別に調整する必要がありません。

組織化の目的で、レイヤーの名前を変更することができます。これは、ターゲットレイヤーを選択し、メニューバーコマンドを選択することで実行できます。 Item > Rename。これにより、新しい名前を入力できるダイアログが開きます。

ヒント:  複数のアイテムが選択されている場合は、 Item List、選択したすべてのアイテムに新しい名前が付けられます。

これが起こらないようにするには、 Renameレイヤー名自体を右クリックしたときのコンテキストメニューのオプション。

最後に、レイヤーの名前をインラインで変更することもできます。レイヤー名を直接ダブルクリックして、新しい名前をインラインで入力し、 Enter完了したら、変更を受け入れるためのキー。

内の任意のレイヤーShader Treeレイヤーをクリックしてドラッグし、新しい位置に移動することで、位置を変更できます。ドラッグしたときに表示されるオレンジ色の線は、マウスボタンを離したときのアイテムの位置を示します。マテリアルグループ内でレイヤーをネストする場合、レイヤーは、マテリアルグループアイテムで指定されたマスクがあればそれを継承します。レイヤーの位置は、 Shader Treeレンダリング時にアイテムが評価される順序を制御するため。ツリーの上位層は下位層よりも優先されます。

レイヤーは、ターゲットレイヤーを選択することで簡単に削除できますShader Treeメニューコマンドを選択するTexture > Delete Shader Tree Layer。また、レイヤーを右クリックして選択Deleteコンテキストメニューから、またはdeleteキーボードのキーを使用して、レイヤーを削除することもできます。

ヒント:  レイヤーの順序を割り当てるときは、ツリーが下から上に機能することに注意してください。レイヤー設定時EffectLayer Mask、それはその真上のテクスチャレイヤーのみをマスクします。また、他のレイヤーを使用するグラデーションInput Parametersグラデーション自体の下にある必要があるため、グラデーションにフィードするために、レイヤーが最初に計算されます。レイヤーの効果が別のレイヤーに依存していて機能しない場合は、レイヤーの順序を変更すると問題が解決することがあります。

シェーダーツリーへの環境プリセットの追加

から環境プリセットをすばやく選択できますプリセットブラウザにドラッグしますEnvironment上のフォルダシェーダーツリー。コンテキストメニューが表示され、選択した環境プリセットを置換または追加できます。これは、さまざまな色、グラデーション、イメージマップを使用してさまざまな背景を実験する場合に役立ちます。

環境プリセットを適用するには:

1.   を使用してメッシュをロードしますModelレイアウトしてクリックRender > Open Preview
2.   クリックシェーダーツリーボタンを押してシーンをレンダリングします。

3.   ツールバー上部の左側のパネルで、 Preset

Preset Browserウィンドウで開きます。

4.   左側のパネルで、展開しますAssets > Environments

5.   サブカテゴリのいずれかを展開します。
6.   右側のパネルで、 Shading表示するタブShader Tree
7.   横の矢印をクリックしますEnvironmentsその後Environmentリスト内のアイテムを展開します。

デフォルトEnvironment Materialアイテムがリストに表示されます。

8.   の中にPreset BrowserCtrl/Cmd +いずれかの環境をクリックしてドラッグし、 Environmentsコンテキストメニューが表示されるまでアイテムを押し続けます。

ヒント:  複数の環境アイテムがある場合、選択した環境プリセットをリスト内の任意の場所に配置できます。 Environmentsそれを所定の位置にドラッグします。

9.   次のいずれかを選択します。

オプション

説明文

ショートカットキー

環境を置き換える

選択した環境プリセットで設定された既存の環境を置き換えます。

なし

環境を追加

現在の環境設定を維持し、新しい環境を追加しますEnvironment(#)親の下のアイテムEnvironments項目。これにより、新しい環境項目を選択して、 Properties表示する光線のタイプを決定し、他のプロパティを適用します。

注意:  もしビューポートのプレビューその時点で開いている場合、ビューポートで環境が更新されます。

Ctrl

ビューポートを移動

選択した環境プリセットで設定された既存の環境を置き換えます。

Shift

ドロップをキャンセル

アクションをキャンセルします。

なし

階層

階層は非常に重要ですShader Treeこれは、マテリアルグループへの関連付けが行われる方法であり、サーフェスをジオメトリの個々のセクションに制限するために必要なマスクを生成します。マテリアルグループの子であるアイテムは、グループアイテムのマスク設定を継承します。階層は、後続のアイテムレイヤーで小さなインデントによって示されます。子レイヤーを含むマテリアルグループアイテムの前には小さな矢印が表示されます矢印アイコン 。矢印をクリックすると、ネストされたレイヤーの非表示/表示アクションが切り替わります。連続してネストされたマテリアルグループアイテムはさらにインデントされ、親アイテムへの関連付けを示します。親/子の関連付けは、レイヤーを別の閉じたグループにドロップするか、開いたグループの2つのレイヤーの間にドロップすることで作成されます。新しいレイヤーを追加する場合、新しいアイテムレイヤータイプを選択する前に親のマテリアルグループアイテムを選択すると、グループ内に新しいレイヤーがネストされます。

最後に、テクスチャレイヤーまたはプロシージャ(画像ベースなど)が別のテクスチャレイヤーにドロップされると、ドロップされたレイヤーは自動的に親のレイヤーマスクになります。マスクされたレイヤーの前に小さな+アイコン。アイコンをクリックすると、アイテムのマスクの表示が切り替わります。これにより、親アイテムとの関係を示すためにインデントされます。

ヒント:  スムーズなワークフローの鍵となるのは、 Shader Tree。放置すると、資料やグループがすぐに重なり、操作が難しい長い扱いにくいリストが残ります。複数のマテリアルグループは、複数のレイヤーを複数選択して、 ShiftまたはCtrl修飾キー。選択したら、 Ctrl+Gキーボードで、ハイライトされたレイヤーを別のグループに移動します。この方法で使用すると、グループのプロパティは次のように設定されます(all). このように設定すると、グループは単に複数のマテリアルグループを編成する手段を提供します。

結果としてGroup Itemタイトルを右クリックして選択すると、名前を変更できますRenameコンテキストメニューから、またはインライン編集のためにダブルクリックします。アイテムレイヤーをグループ化すると、 Shader Treeリスト、ナビゲートがはるかに簡単になります。を押すと、階層内のすべてのネストされたレイヤーをすばやく展開および折りたたむことができます。 Shift矢印を切り替えるときにキー矢アイコン。

レイヤー効果の指定

デフォルトでは、新しいテクスチャレイヤーがShader Treeを変調しますDiffuse Colorチャンネル、つまりレイヤーが表面の見かけ上の色に影響を与えることを意味します。バンプやディスプレイスメントマップとしてレイヤーを指定するなど、サーフェスに別の方法で影響を与える場合は、これをEffectの列Shader Tree。レイヤーは、エフェクト列でエフェクト名自体を右クリックし、ポップアップコンテキストメニューから新しいエフェクトタイプを選択することにより、特定のエフェクトを変調するように設定できます。

などのテクスチャレイヤーが作成されるときはいつでもImage Mapまたは手続き型テクスチャ手続き型アイテムアイコン、関連Texture Locatorにも追加されますアイテム一覧。テクスチャロケータは、テクスチャレイヤ固有の位置と投影の設定を保持し、サーフェスへの適用方法を定義すると同時に、ロケータ自体にキーフレームを適用して、基本的な変換を使用してテクスチャをアニメーション化する手段も提供します。

アイテムリストビューのフィルタリング

の上部にShadingビューポート、下Viewオプションは、 Filterコントロール。これにより、ビューポート内でのレイヤーの表示方法が決まります。のFilterコントロールは常にデフォルトで(none)値。これは、 Shader Tree。メニューで使用できる代替オプションは、バーの右側にある小さな三角形のウィジェットをクリックして選択できます。他のオプションのいずれかを選択すると、それらを削除したり無効にしたりせずに、リスト内のアイテムの表示を一時的に切り替え、特定のレイヤーを見つけやすくしたり、複数のアイテムをまとめて編集するための選択を簡単にしたりできます。

Filterオプション、に加えて(none)、含める:

Material -表示のみMaterial Items木の中。

Texture -表示のみTexture Itemsアイコン木の中。

Group -表示のみMaterial GroupItems木の中。

Shader -表示のみShader Items木の中。

Render Output -表示のみRender Output Items 木の中。

Fur Materials -表示のみFur Material Items木の中。

Filter on Selection -このオプションが有効な場合、フィルタリングは表示のみShader Tree現在選択されているアイテムに適用されるレイヤー。

レイヤーの検索

のそばにAssign Materialボタンは検索です開くボタンFind名前でレイヤーを検索できる機能。ボタンをクリックすると、検索バーが開きます。入力フィールドにテキストを入力すると、 Shader Tree同じ文字列を含むレイヤー。には2つのモードがあります。 Search 矢印ドロップダウンから指定された関数: Simple SearchそしてPattern Matching

Simple Search正確な入力(スペースを含む)の一致に基づいてレイヤーを検索します。したがって、「1 2」と入力すると、「Apple1 2」と「1 2Banana」は検索されますが、「Apple12」または「2Banana」は検索されません。

Pattern Matchより堅牢なタイプの検索が可能になり、記号文字が可能になります。詳細については、 シェーダーツリーUI。の有効化Match Caseオプションは、アルファベット文字の大文字と小文字の大文字にも一致するように検索をさらに制限します。のFlatオプションは、パネル内のレイヤーのインデントを切り替え、特定のレイヤーを見つけやすくします。

ライブラリの使用

Shader TreeがありますLibraryツリーの別の場所にあるマテリアルグループアイテムに適用できるサーフェス定義を保存する機能。ときLibraryマテリアルが更新され、変更がツリー内のすべての参照に反映されます。これは、必要なレイヤーの総数を減らすのに役立ちます。 Shader Treeまた、同じ材料を異なるサーフェスに複数回使用するワークフローを簡素化します。

の使用Libraryは簡単だ;プリセットマテリアルをLibraryのセクションShadingビューポート(1つのマテリアルグループアイテムの下に存在する限り、カスタムマテリアルも作成できます)。ライブラリアイテムのいずれかをサーフェスに適用するには、 Library、これをドラッグアンドドロップして、 Shader Tree 、おそらく別のマテリアルグループ内でマスキングしています。名前付きの参照アイテムを削除しますライブラリアイテムのシェーディングを表すグループに。のマテリアルグループに加えられた更新または追加Libraryすべての関連する参照に伝播されますShader Tree。標準のようにShader Treeレイヤー、ツリー内のレイヤーの配置によってシェーディングが決まりますが、ライブラリ参照を直接マスクしたり変更したりすることはできません。ライブラリ参照を標準に変換するにはShader Treeレイヤーを右クリックして適用しますDe-Referenceコマンド。

ヒント:  作成するときLibrary材料、 Shader Treeマテリアルグループレイヤー(およびその階層)も、ドラッグアンドドロップしてLibraryただし、マテリアルグループ自体によって生成されたマスクはライブラリアイテムに保持されるため、作成する前に無効にする必要があります。そうしないと、結果のサーフェスが適切に評価されません。

レイヤーの切り替え

リストから項目を削除せずに、レイヤーがシーンに与える影響を切り替えることが必要になる場合があります。これは目のアイコンをクリックして実行できます目のアイコンビューポートの左側にある表示列内。レイヤーを切り替えると、シーンのシェーディングへの影響が無効/有効になりますが、アイテム自体はすべての設定を保持し、 Shader Treeシーンが保存またはクローズされたときのリスト。レイヤーを切り替える機能は、レンダーパスを作成するときに有効または無効にするさまざまなシェーディングパスを作成する、概念的な製品の静止画をレンダリングするときにさまざまなテクスチャオプションを適用する、別のシェーディングを試すなど、さまざまなシナリオで非常に役立ちます。探索中のオプションはシーンを探します。

コンテキストメニュー

アイテムレイヤーを操作するための追加オプションは、アイテムレイヤー名を右クリックして、ポップアップコンテキストメニューのオプションを選択することで利用できます。

コンテキストメニューでは、次のオプションを使用できます。

Rename -指定したレイヤーに新しい名前を割り当てることができます。

Editor Color -12のカラーオプションは、 Shader Treeレイヤー自体。視覚的な組織デバイスとして使用することを意図しています。提供されたメニューから色を選択すると、選択した色がレイヤーの背景として適用されます。

Properties -を開きますProperties選択したレイヤーに対応する属性設定を含むビューポート。

Select Polygons -選択した現在のマスクに関連するシーン内のすべてのポリゴンを作成し、 ModoへのインターフェースPolygonsまだアクティブでない場合は選択モード。

Duplicate -同じ設定でレイヤーのコピーを作成します。元のアイテムの変更は複製レイヤーに反映されず、複製への変更は元のレイヤーに反映されません。

Create Instance -元のソースを参照するレイヤーのクローンを作成します。1つのレイヤーへの変更は、すべてのインスタンスに自動的に伝達されます。インスタンス化されたレイヤーは、イタリック体の名前でShader Tree。これは、同じプロパティを持つ個別のサーフェスが異なるマスク内にある場合に特に便利です。インスタンスが使用されている場合、1つのアイテムの属性を変更すると、インスタンスの変更が自動的に複製されます。インスタンス自体への変更はローカルオーバーライドとして機能し、属性を直接変更しますが、変更はインスタンスのソースに適用されません。ソースへのさらなる変更は、チャネルごとに各インスタンスで個別に行われた変更を除いて、伝播されます。

References -参照を操作するためのコントロールにアクセスできるメニューを開きます。

LockPreset/Unlock Preset -ときLock Presetコマンドはすべてに適用されますLibraryマテリアル。これにより、偶発的な変更がマテリアルグループに適用されるのを防ぎます。さらに編集するには、ターゲットレイヤーのロックを解除する必要があります。のLock Preset/Unlock Presetコマンドは標準には影響しませんShader Treeレイヤー。

Select Instances -レイヤーにそのインスタンスがある場合Shader TreeSelect Instancesコマンドは、ターゲットのすべての関連インスタンスを自動的に選択します。

Select Source of Instance -任意のインスタンスの親ソースアイテムを選択します。インスタンスは、イタリック体の名前で示されますShader Tree

Copy/Paste/Delete -レイヤー全体、および個々のレイヤー自体の設定は、これらのコマンドを使用してコピー、貼り付け、削除できます。あるレイヤーから別のレイヤーに値を貼り付ける場合、レイヤーは同じタイプである必要があります(たとえば、マテリアルアイテム間)。

Preset Browsers Palette -を開きますPreset Browserパレット。

Save Preset -a Preset設定を保存して後で適用できるようにします。素材の場合、プリセットストアShader Tree関連するアイコンが付いたレイヤーPreset Browser。素材Preset単一のレイヤーのように単純にすることも、複雑なブレンドを使用して任意の数のレイヤーを含めることもできます。多層用Presets、これらはすべて単一の材料グループに含まれている必要があります項目。ターゲットレイヤーを右クリックして、 Save Presetコンテキストメニューのオプションでは、OSダイアログが表示され、保存先を指定できます。 Preset自体。

Save Preset with Thumbnail -と同じように機能しますSave Preset上記のコマンドを使用しますが、プリセットを保存すると2番目のダイアログが開き、保存した画像を指定して、ブラウザのアイコンとして使用できます。

Save Selected as Assembly -選択したレイヤーをアセンブリプリセットとして保存します。

Change Type -イメージマップなどのあるタイプのレイヤーを、手続き型などの別のタイプに変換する機能を提供します。関連Texture Locators該当する場合は設定を保持しますが、レイヤー自体は設定を失います。

Bake to Texture -レイヤーのテクスチャマップイメージを生成する機能を提供します。内側からテクスチャを焼くShader Treeシングルを焼くのに便利ですEffect、色や拡散などの画像に、 Bakeコマンド(からRenderメニュー)すべてのライトとテクスチャのコントリビュータを最終的なシェーディングイメージに焼き付けます。考えることは合理的ですShader Tree-Photoshopの「平坦化」レイヤーと同様のベイクレベル。

同じのレイヤーのみEffect設定は、ベイクをトリガーするテクスチャレイヤーの下で、ベイクされたレイヤーに寄与します。「焼き付け」られると、このテクスチャはShader Treeすべてのコントリビューターの事前計算結果として。レンダリング時間を節約し、効果をリアルタイムで表示します。のBake to Textureコマンドには、ベイク処理されたサーフェス上のUVマップと、ベイク先の空白のイメージマップが必要です。テクスチャのベイクの詳細については、 ベーキングトピック。

Bake to File -機能的にはBake to Texture上記のコマンドを使用しますが、結果のテクスチャをファイルとしてディスクに、指定した場所に書き込みます。16ビット以上のフォーマットで保存する場合、 Floating Pointオプションを有効にする必要があります。

Bake From Object to Texture -ポリゴン数の少ないモデルのUVマップを使用して、ポリゴン数の多いモデルからテクスチャマップをベイクする機能を提供します。マップは、拡散色、ディスプレイスメント、法線など、さまざまな効果に使用できます。お気に入りBake to Texture、UVマップとベイク先の空白のイメージマップが必要です。両方のサーフェスには異なるマテリアル名を付ける必要があり、同じUVマップを共有することはできません。変位マップを計算するとき、 distance settingダイアログからは、 Displacement Distance適用時の材料ダイアログボックスでの設定。テクスチャのベイクの詳細については、 ベーキングトピック。

Reload Image -ディスクに保存された画像を再読み込みします。これは、外部アプリで行われた編集がトリガーされない場合に役立ちますModo自動的に再読み込みする場合、または一連の内部編集を一度にすべて元に戻したい場合。

Replace Image -既存の設定を維持しながら、選択した画像を置き換える代替ビットマップ画像を選択できるダイアログを開きます。

Open Image Folder -システムのデフォルトのファイルマネージャを使用して、内蔵ハードディスクに保存されているファイルのフォルダの場所を開きます。