背面法で輪郭線を出したーい!!!!!!!【Blender2.8】

おはようございます。モデリング担当のe-penguinsです。みなさん、輪郭線出してますかーーーーーーー???????

僕は最近初めて出しました。なんでそのことについて書きたいと思います。

3DCGでセルシェーディングとか、そうでなくとも輪郭線を出したいなーって時あると思うんですけど、、、まあ実際あるのでこういうすごいページがあります。

https://dskjal.com/blender/edge-detection.html

で、なんですが、僕はここで紹介されてる方法の内の1つである背面法を使って輪郭線を出してみました。実際にこんな感じになります。

輪郭線なし
輪郭線あり

そんでやってるうちになんとなく原理がわかってすげーってなったのでその説明と実際にBlenderでどう実装すればいいのかっていう話をします。

注意!

今回は背面法のみを扱うので他の方法も知りたい人は先に張ったリンクが参考になると思います

こっから説明なので実装だけしたい人はちょっと飛ばして下さい

原理とかのやつ

多分3DCG全般の話だと思うんですけど(少なくともBlenderでは)すべての面に対して表と裏が設定されています。で、表に対して法線が生えています。

赤が裏、青が表、水色の線が法線

そして裏面非表示というものがあります。これは表面側から見たときのみ描画して裏面側から見たときは表面ごと透明にするというものです。これを用いるとさっきの図はこんな感じになります

赤が見えなくなると青も見えなくなり、奥の法線が見えるようになっている

なんだかマジックミラーみたいですね。

で、ここからが面白いんですが立体の表面の法線をすべて内向きにすることを考えます。つまり裏面を外向き、表面を内向きにするということです。

この状態はいうなれば逆マジックミラー号ですね。外側からは中が見えるけど中からは外が見れない。したがって、この立体(Aとする)の内側に物(Bとする)を置くとまずBが見え、Aの内側がその後ろに見えます。その図にするとこんな感じです。

Aが立方体、Bが猿

つまりAは中身の描画は邪魔しないけど自身の描画も忘れないということですね。じゃあ自身よりも一回り大きい立体を用意してその法線をすべて内向きにすれば、、、????????

!!!!!!!!!!!!!

こうした法線がすべて内向きの立体の性質を利用して輪郭線を抽出するのが背面法です。

実際にBlenderで作っていく。

これ見てください

2/21日追記

ソリッド化モディファイアのマテリアルの項目をいじれば複製する必要ありませんでした…申し訳ないです…

これについては後日記事かなんか書くと思います…

終わり

終わりでーす

じゃ!

参考文献

https://dskjal.com/blender/edge-detection.html

↑このサイトは本当にたくさんの情報が載っていて最高なんでこんなブログ読んでないでさっさとこのリンクから飛んでいってください

ほら早く

飛んでよ 

 

ねえ

 

おい

 

 

 

飛べ

 

 

 

飛ぶなら

 

 

 

 

飛ぶとき

 

  

 

 

飛ぼう!

この記事を書いた人:e-penguins

e-penguins