トゥーンシェーダーでジオメトリオブジェクトの鋭角なエッジにも線を描画する設定手順を紹介します。
概要
こちらの記事ではトゥーンシェーダーを利用したレンダリング手順を紹介しました。
Contourフィルタを適用してエッジを描画する場合デフォルトの設定では、オブジェクトの外形にエッジの線が描画され、
内部の鋭角なエッジは線が描画されません。
この記事では、ジオメトリオブジェクト内の鋭角なエッジにも線を描画する設定を紹介します。
手順
こちらの記事の手順で、トゥーンシェーダーを準備しジオメトリオブジェクトに適用します。
今回はジオメトリオブジェクトは下図の図形を用意しました。ボックスで上部が窪んでいる図形です。
レンダリングすると下図の結果になります。ジオメトリオブジェクトの外形のエッジは黒い線が描画されますが、
ジオメトリ内部のエッジには線が描画されないことがわかります。
今回は内部のエッジで角度が急な部分にも線を描画します。
スレートマテリアルエディタを開きます。
[View]のエリアの[Toon]のマップの項目をクリックして選択します。下図の状態になります。
右側のエリアの[マップ]のパネルの[Edge Detection]ロールアウトの[Angle Threshold]の値を変更します。デフォルトの状態では "180" が設定されています。
![](https://resources.ipentec.com/document/image/3ds-max-material-toon-shader-insert-edge-of-geometry-object-sharp-edges-04)
[Angle Threshold]の値を90に変更します。エッジの角度が90度以下の場合に線が表示される動作になります。
レンダリングします。ジオメトリオブジェクト内部の鋭角なエッジにも黒い線が描画されました。
ただし、オレンジ色で囲まれた部分には線が描画されません。これは、奥の面と手前の面が平行な面のため、角度がついていないと判定されているためだと考えられます。
オレンジ部分に線を描画するには、スレートマテリアルエディタの Toon のマップの項目を選択し右側の[Edge Detection]ロールアウトを開きます。
[Edge Detection]ロールアウトの[Uv Threshold]の値を "0" から "0.1" に変更します。
レンダリングすると、線が描画されていなかった部分に線が描画されます。
補足
[Uv Threshold]の値は大きくすればよいというわけではなく、最大値の"1"に近い値の "0.9" を設定すると線は描画されない状態になります。
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
最終更新日: 2022-10-28
作成日: 2022-10-27