Toon Host(トゥーン ホスト)

 
 
 

| ペイント | インク | 継ぎ目 | 透明度 | 反射 | Render Tree の使い方

カテゴリ: トゥーン

シェーダ ファミリ: サーフェイス マテリアル

出力: カラー

このシェーダはトゥーン レンダリングされた輪郭線のマテリアル ホストです。サーフェイス イルミネーションは計算されないため、単独ではほとんど役立ちません。ただし、レンズ シェーダの[トゥーン インク レンズ](Toon Ink Lens)と組み合わせて使用すると、このシェーダはマテリアル単位でグローバル インク プロパティを変更またはオーバーライドすることができます。このシェーダは 2 次レイの輪郭線(反射による、または透明なサーフェイスを通して現れる輪郭線)を適切にレンダリングするためにも必要となります。[Toon Ink Lens]シェーダのみを使用してトゥーン輪郭線をレンダリングすることも可能ですが、それらの属性をより細かく制御するためにはこのマテリアル ホストが必要となります。

このシェーダはサーフェイス イルミネーションの計算を行わないので、単独ではサーフェイスを一定のカラーで色付けすることしかできませんが、 Render Tree インタフェースまたはこのシェーダを使用して構成された現象を使用することで、任意のテクスチャリング手法またはイルミネーション モデルと組み合わせて通常自由にトゥーン輪郭線を作成できます。

このシェーダはシャドウ シェーダとしても機能し、シャドウ カラーは透明度をベースに計算されます。

名前(Name)

シェーダの名前。任意の名前を入力するか、デフォルト名を使用します。

ペイント

シェーダから返されるサーフェイス カラーです。これは通常[Toon_Paint]ノード出力に接続されます。

カラー(Color)

カラーを指定します。このパラメータは Render Tree シェーダ グラフで任意のマテリアル シェーディング ノードからの入力として使用します。輪郭線の下のサーフェイス カラーになります。

インク

インク オプションはマテリアルごとの輪郭線属性を制御します。

バイパス(Bypass)

現在のサーフェイスに対する輪郭線レンダリングをバイパスします。

Back Cull

裏向きのサーフェイス(すなわち、法線がカメラまたは入射する 2 次レイと反対の方向を向いているサーフェイス)上に検出された輪郭線をレンダリングしません。

バウンダリ(境界)

どのインクが表示されるかについてのローカル コントロールです。これにより、オブジェクトの周囲に輪郭線が検出されている部分ではインクを隠す(シルエット)ことも、オブジェクトのシェイプの内部にインクを引く(内側)こともできます。これらのコントロールは[Toon_Ink_Lens]のサンプリング コントロールと協調して働きます。

シルエット(Silhouette)

オブジェクトのシルエット(オブジェクトが環境または別のオブジェクトを背景にして見えている部分)の周囲にインクを引きます。

内側(Interior)

オブジェクトの内側にインクを引きます。

オーバーライド

グローバルな輪郭属性をオーバーライドします([トゥーン インク レンズ](Toon Ink Lens)シェーダを使用して設定)。

有効

このパラメータ グループを有効にします。

カラー(Color)

輪郭線のカラーです。[Toon_Ink_Lens]シェーダでインク用に設定されたカラーとアルファを上書きします。

合成(Compositing)

使用可能な変換モードから選択して、ハイライト カラーをその下のサーフェイス カラーと組み合わせるときの合成手法を指定します。この指定は、[Toon_Ink_Lens]シェーダの合成設定を上書きします。以下のモードが使用できます。

  • [ノーマル](Normal)。これはデフォルト値です。前景のみ使用します。

  • [加算](Add)。前景を背景に加えます。そのため、前景が黒の場合、前景は表示されません。この追加モードは、前景が発光して見えるようにコンポジットする場合に役立ちます。

  • [乗算]:前景を背景で掛け合わせます。結果は常に元の前景または背景よりも暗い色になります。2 枚の OHP シートを重ねて 1 つのプロジェクタで投影するのと同様です。

  • [スクリーン](Screen)。2 つのカラー値の補数が掛け合わせられます。結果として得られる前景は、元の前景または背景よりも高輝度になります。

  • [オーバーレイ](Overlay)。背景の値にもよりますが、乗算またはスクリーニングします。総体的な結果として、背景は前景で置き換わりません。ただし、背景は元の背景値でウェイト付けされているときは前景とミックスされます。

  • [比較(明)](Lighten)。前景と背景の値を比較して、2 つのうちから明度が高い方を選択します。総体的な結果として、背景を明るくできます。ただし、前景には何もできません。

  • [比較(暗)]:前景と背景の値を比較して、2つのうちから暗いほうを選択します。総体的な結果として、背景を暗くできることです。ただし、前景には何もできません。

  • [差](Difference)。前景を背景から引き、逆のカラー効果を生みます。

  • [色相](Hue)。背景の輝度と彩度、および前景の色相を使用します。

  • [彩度](Saturation)。背景の色相と輝度、および前景の彩度を使用します。

  • [値](Value)。背景の色相と彩度、および前景の輝度を使用します。

  • [ソフト ライト](Soft Light)。前景の値が 50% グレーより大きい/小さい場合、背景が前景によって明るく/暗くなります。これはイメージにディフューズ ライトを照らした場合に類似しています。

  • [ハード ライト](Hard Light)。前景の値が 50% グレーより大きい/小さい場合、背景が前景によってスクリーン/乗算の効果を得ます。これはイメージに強烈なライトを照らした場合に類似しています。

  • [除外](Exclusion)[差](Difference)モードと同じではありませんが類似しています。

修正

グローバルな輪郭属性([Toon_Ink_Lens]シェーダを使用して設定)を変更します。1 と設定すると、これらのパラメータはいずれも影響しません。

スプレッド(Spread)

現在のマテリアル ローカルにインク幅を修正します。これはグローバルなインク幅に適用される単なる倍率です(たとえば、値を 0.5 にすると、インク幅を元の値の半分にします)。

方向のしきい値(Direction Threshold)

輪郭の検出に使用される方向のしきい値を変更します。これは単なる倍率です(たとえば、値を 2 にすると、しきい値角が元の値の 2 倍になります)。

継ぎ目

通常の場合表示される(または表示されない)輪郭を隠す(ブレンドする)または隠さない(非ブレンドする)グルーピングをコントロールします。

ブレンド

通常は表示されるところのインク輪郭を隠す(ブレンドする)ためのグルーピングです。

閉塞距離(Occlusion Distance)

ブレンドはサーフェイス サンプル同士がこの距離(システム単位)以下の場合に限り行われます。これにより、たとえば 2 つのサーフェイスがつながっているところでは輪郭を隠すものの、2 つが互いにかみ合っているところでは隠さないようにできます。2 つのサンプルの閉塞距離のうち大きいほうが使用されます。

閉塞距離は現在のインク幅に比例して指定されます。そのため、たとえば閉塞距離が 0.1 単位の場合、幅が 2 なら 0.2 単位を意味します。このため、サーフェイスの隠れた縫い目はインク輪郭の幅が増加しても隠れたままになります。

さらに、[Toon_Ink_Lens]はしきい値の距離をレイの基点から当該サンプルまでの距離に対して「正規化」しようとします。

オブジェクトのブレンド(Blend Objects)

2 つのオブジェクトがあり、一方のオブジェクトが他方のオブジェクトのブレンド オブジェクト リストに含まれる場合、この 2 つのオブジェクトの間には輪郭が引かれません。

グループ(Group)

通常は間に輪郭が引かれるサーフェイス サンプル同士が同じブレンド グループ ID を共有する場合、輪郭が隠されます。設定が 0(ゼロ)の場合はこの機能は働きません。

非ブレンド

通常は表示されないところにインク輪郭を表示する(非ブレンドする)ためのグルーピングです。

グループ(Group)

通常は検出されないところに輪郭を書き入れます。これにより、通常の輪郭検知基準(不連続、かみ合い、異なるマテリアルなど)を満たさないサーフェイス上であっても任意に輪郭を引くことができます。

設定が 0(ゼロ)の場合はこの機能は働きません。このパラメータをテクスチャリングすることにより、輪郭をサーフェイス上にいわばテクスチャ マッピングすることができます。

透明度

これらのコントロールは、屈折する、または透明なサーフェイスのレンダリングをコントロールします。これにはそのようなサーフェイスを通して見えるインクも含まれます。これらのコントロールがインク輪郭に影響を与えるためには、[Toon_Ink_Lens]シェーダのトレース深度コントロール(サンプリング タブ)が 1 より大きい値に設定されている必要があります。

有効(Enable)

透明エフェクトおよび屈折エフェクトを有効にします。

モード(Mode)

2次レイエフェクトの合成に使用可能なモードは[スタンダードブレンド]および[色を保持]の2つがあります。

[スタンダードブレンド]はサーフェイスカラーと透過されるカラーを組み合わせる通常の手法です(2つのカラーは透明度に従ってミックスされます)。

[色を保持]を選択すると、透過されるカラーは、間のサーフェイスの不透明度に従ってサーフェイス上に合成されます。これは、何も透過されない部分ではサーフェイスのカラーを変化させないままにするので、状況によっては役立つエフェクトです。

カラー(Color)

赤、緑、青に対する透明度の指定です。このカラーはフィルタのように透過されるカラーを変化させます。たとえば、赤に設定すると、サーフェイスを通して見えるオブジェクトが赤みを帯びます(つまり、オブジェクトの赤コンポーネントのみが透過されます)。

屈折率(Index of Refraction)

このマテリアルの屈折率です(より正確に言えば、このシェーダが割り当てられたサーフェイスの両面での媒体の屈折率の比です)。

検出しきい値(Detection Threshold)

あるところから上ではサーフェイスを透明と見なす(そしてそこより下では不透明と見なす)しきい値を調整できます。最大の透明度 RGB チャンネルがこのしきい値と比較され、しきい値より上であればサーフェイスは透明と見なされます。

サーフェイス インクの修正

サーフェイスの透明度によってサーフェイス上にレンダリングされるインクのカラーを変化させることができます。

有効(Enable)

サーフェイス インクのカラー/アルファを変更するには、これらのパラメータを有効にします。

カラー/アルファ(Color/Alpha)

インク カラー/アルファが影響される度合いです。0 に設定すると、インク カラー/アルファは変更されずにそのままになります。1 に設定すると 100% のウェイトで透明度カラーが割り当てられます。

合成(Compositing)

透明度カラーとインク カラーを組み合わせる方法。使用可能な変換モードから選択します。

モードは、このプロパティ エディタの[インク]タブで[オーバーライド](Override)オプションの[合成](Compositing)パラメータに説明されているモードと同じです。

屈折インクの修正

サーフェイスの透明度によってサーフェイスを通して見たインクのカラーを変化させることができます。パラメータは、上記の[サーフェイス インクの修正](Modify Surface Ink)と同じです。

反射

これらのコントロールは、反射するサーフェイスのレンダリングをコントロールします。これにはそのようなサーフェイスに反射して見えるインクも含まれます。これらのコントロールがインク輪郭に影響を与えるためには、[Toon_Ink_Lens]シェーダのトレース深度コントロール(サンプリング タブ)が 1 より大きい値に設定されている必要があります。

有効(Enable)

反射エフェクトを有効にします。

モード

2次レイエフェクトの合成に使用可能なモードは[スタンダードブレンド]および[色を保持]の2つがあります。

[スタンダードブレンド]はサーフェイスカラーと反射されるカラーを組み合わせる通常の手法です(2つのカラーは反射率に従ってミックスされます)。

[色を保持]を選択すると、反射されるカラーは、反射するサーフェイスの不透明度に従ってサーフェイス上に合成されます。これは、何も反射されない部分ではサーフェイスのカラーを変化させないままにするので、状況によっては役立つエフェクトです。

カラー(Color)

赤、緑、青に対する反射率の指定です。このカラーは反射されるカラーを変化させます。たとえば、青に設定すると、反射されて見えるオブジェクトが青みを帯びます(つまり、オブジェクトの青コンポーネントのみが反射されます)。

サーフェイス インクの修正

サーフェイスの反射率によってサーフェイス上にレンダリングされるインクのカラーを変化させることができます。

有効(Enable)

サーフェイス インクのカラー/アルファを変更するには、これらのパラメータを有効にします。

カラー/アルファ(Color/Alpha)

インク カラー/アルファが影響される度合いです。0 に設定すると、インク カラー/アルファは変更されずにそのままになります。1 に設定すると 100% のウェイトで反射カラーが割り当てられます。

合成

反射カラーとインク カラーを組み合わせる方法。使用可能な変換モードから選択します。

モードは、このプロパティ エディタの[インク]タブで[オーバーライド](Override)オプションの[合成](Compositing)パラメータに説明されているモードと同じです。

反射インクの修正

サーフェイスの反射率によってサーフェイスに反射するインクのカラーを変化させることができます。パラメータは、上記の[サーフェイス インクの修正](Modify Surface Ink)パラメータと同じです。

Render Tree の使い方

必ず Toon_Ink_Lens、その組となるレンズ シェーダとともに使用します、通常は Toon_Paint シェーダも使用します。