リアルタイム系の3DCG制作に関するノウハウや実践的なTipsを共有するWiki形式のWEBサイトです。


ポリゴン反転によるアウトライン描画

セルルック表現におけるアウトライン描画で、ポリゴン反転式のものがあります。
その時にこういう先端のズレた輪郭線が出てぐぬぬとなったことはないでしょうか。


このズレは頂点法線のイメージと実際に算出された方向のズレによるものです。
もちろん1頂点ずつ法線調整してもいいのですがこれくらいであればアトリビュートの見直しで回避できます。

法線算出メソッド

メッシュのアトリビュートにある
Vertex Normal Method(頂点法線のメソッド)
を変更します。


デフォルトはAngle and Area Weighted(角度と範囲のウェイト設定)ですが、これを
Angle Weighted(角度のウェイト設定)に変更します。

比較してみるとこんな感じです。

左がAngle and Area Weighted(角度と範囲のウェイト設定)
右がAngle Weighted(角度のウェイト設定)
となります。

ちなみにMoveツールでNormal方向に移動する際はどちらの設定でもAngle Weightedの方向に移動します。

アウトライン描画してみた

Unityでアウトライン用のシェーダーを作って法線方向に押し出してみました。

上がAngle and Area Weighted(角度と範囲のウェイト設定)
下がAngle Weighted(角度のウェイト設定)
です。
↑で見た緑の線と同じ方向に膨らんでいるのが分かりますね。
こうすることで髪の毛先など尖った部分のズレをなくすことができます。

実際に運用しているやり方

この設定をすると当然ながらシェーディングの入り方に影響が出ます。
ですので私は
  • 本体はAngle and Area Weighted+適宜ハードエッジ設定する(つまり特に意識しない作り方)
  • アウトラインモデルはAngle Weighted+全てソフトエッジ
にすることにしています。
専用メッシュを持てない場合もありますが……。

設定

新規で作られるメッシュ全ての設定をAngle Weightedにしたい場合は
Windows-Setteings/Preferences->Preferences の
Settings->Modeling->Polygons->Vertex Normal Method
で変更できます。

これを採用するかはプロジェクトの方針に合わせましょう。

関連

法線の表示方法がわからない方はこちら
法線を表示したい

下記はAngle Weighted方向に膨らませるスクリプトです。
数値入力で法線方向に膨らませる

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

※現在 ユーザーID保持者 のみがコメント投稿可能な設定になっています。

Wiki内検索

メニュー

Maya

管理人


管理者:kmj
Twitter:@kmj3dcg
ゲームグラフィックに携わり十数年、現在フリーランスのモデラーとして活動しています。
専門分野:モデリング、テクスチャ、ウェイト(キャラモデルがメインのゲームグラフィッカーです)
お問い合わせはこちらまでお願いいたします。

Amazonアソシエイト

皆様のご協力感謝しておりますm(_ _)m























管理人/副管理人のみ編集できます