[ノード]リアルタイムで輪郭線を表示する方法[blender]

blender2.82a
blenderで輪郭線を表示する方法は色々あります。代表的なのはfreestyleですね。コンポジットで表示する方法もあります。しかし両方ともレンダリングしないと輪郭線が確認できないという欠点があります。
今回紹介する方法はレンダリングしなくてもリアルタイムに輪郭線を表示できる方法です。



表と裏で別々のマテリアルを割り当てる方法の応用
このやり方は[ノード]表面と裏面で別のマテリアルを割り当てる方法[blender]の応用になります。

  1. やり方は前回の要領で裏面を透過に、表を黒にします。
  2. そして法線を反転させて裏面を表側にします。
  3. 影や明るさに影響を与えないようにレイの可視性のカメラ以外のチェックを外します。
  4. 3Dビュー上では裏面を非表示の設定にしておきましょう。



  1. そして中に何らかのオブジェクトを配置します。
  2. そして輪郭線オブジェクトのマテリアルのビューポート表示を黒にしましょう。
  3. これで3Dビュー上でもレンダリングでも同じく輪郭線が表示できます。


複雑なオブジェクトの場合
Cubeや球体くらいならこの方法で良いでしょうけど、もっと複雑なオブジェクトではこうはいかないですよね?
輪郭線を使う場面は漫画やアニメなど背景やキャラクターが多いでしょう。スケールで対応できなかったり、アーマチュアを設定したキャラに輪郭線オブジェクトを設定するの至難の技です。
でもこういう時に使える機能があります。
ソリッド化モディファイアです。
これを使えば位置合わせの必要もありませんし、アーマチュアなどにも対応できます。

















ではやってみましょう。
先ほどと同じようにオブジェクトの可視性の霊の可視性を設定しましょう。必然的にオブジェクトの落ち影が表示されないので必要なら影用のダミーオブジェクトも配置します。影は別レンダリングで合成します。

マテリアルは本体の色と輪郭線用のマテリアルの二つを用意します。
その後、ソリッド化モディファイアを追加し必要な厚みを設定します。
そして法線を反転にチェックを入れます。
マテリアルに輪郭線を設定します。マテリアルスロットの一番上が0です。2番目なら1と設定します。
これで完成です。


ソリッド化モディファイアを使う利点:頂点グループのウェイトで線の厚みを変えられる
ソリッドモディファイアには頂点グループで厚みを変えられる機能があります。これを利用して頂点グループで輪郭線の太さをコントロール出来ます。