Edge Detect(エッジ検出)画像効果はシーンの物体を考慮したうえでエッジの周りに輪郭線を作成します。エッジはカラーの差ではなく表面法線や隣接するピクセルのカメラからの距離により判定されます(法線マップは「矢印」であり,特定のピクセルの位置において表面が向いている方向を示します)。一般に,2つの隣接するピクセルが明白に異なるほう線やカメラからの距離である場合,シーンにエッジが描画されます。
その他の image effects 同様,この効果は Unity Pro 専用です。 必ず,Pro Standard Assets をインストールしてください。
このエフェクトはImageEffectOpaqueプロパティを使用し,画像効果が透過レンダリングパスより先に実行しています。デフォルトでは,画像効果は不透明および透明パスが完全にレンダリングされた後に実行されます。
プロパティ: | 特徴: |
---|---|
Mode | フィルタの種類を選択(以下を参照) |
Depth Sensitivity | 隣接するピクセル間の距離の差でエッジが描画される最低距離 |
Normals Sensitivity | 隣接するピクセル間の法線の差でエッジが描画される最低距離 |
Sampling Distance | より大きなサンプリング距離(デフォルトは1.0)により厚いエッジが作成されるが,Halo(ハロー)による画像の乱れが発生します。 |
Edges exponent | Sobel(ソーベル)フィルタに使用される指数。小さい値であるほど,デプス差が小さい場合もエッジ検出します。 |
Background options | |
Edges only | 固定の色で背景をブレンド |
Background | Edges only > 0の際に使用される色 |
新しいSobelDepthThinフィルタによりエッジ検出が他のデプスベースの画像効果(Depth of Field,Fog,あるいはMotion Blur)とともに機能します。理由はエッジがオブジェクトのシルエットを超えないためです。
エッジがフォーカスされてない背景に漏れておらず,同時に背景のブラーは作成されたエッジを取り除きません。
Depthのみがエッジ検出に用いられていることに留意し,このフィルタはシルエットの中のエッジは無視します。
SobelDepthは同様に機能するが,オブジェクトのシルエットの外のエッジを無視しません。このため,エッジ検出はより精緻であるが他のデプスベースエフェクトとともにうまく機能しません。
DepthとNormalの両方からピクセルがエッジであるか判断するにも関わらずTriangleDepthNormalsはほとんどの場合に最も安いフィルタです。すなわち,オブジェクトのシルエット以外にも検出します。しかしながら,大量の法線マップの詳細があると,フィルタが機能しない場合があります。
RobertsCrossDepthNormalsは_Triangle_フィルタと同じプロパティを共有しますが,エッジ検出のためにより多くのサンプリングを行います。自然な副産物として,結果的にエッジが厚くなりがちです。
This effect requires a graphics card that supports Shader Model 2 and Depth Textures. See the Graphics Hardware Capabilities and Emulation page for further details and a list of compliant hardware.