読者です 読者をやめる 読者になる 読者になる

妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

マテリアルによるトゥーンアウトライン研究(9) 外側にアウトライン生成するポストプロセスマテリアル

f:id:una_unagi:20170409224754p:plain

「研究の結果、だいたい納得のいくマテリアルが出来た」

妹「これは外側に線入ってるの?」

「多分そうなってる……と思う。虫眼鏡でじっくり調べたわけじゃないけど、線を太くしても中のキャラクタの大きさ変わらなかったから上手くいってるはず」

ポストプロセスマテリアルの中身
f:id:una_unagi:20170409225401p:plain

ポストプロセスの設定(深度によるぼかし、光の調節)
f:id:una_unagi:20170409224808p:plain

「ポストプロセスマテリアルの設計としては、左上と右下のピクセルとの深度差を調べて、どちらかが一定以上手前にある場合に線を生成する。ただ左下と右下の深度が真逆だった場合、斜めの面にあると判断して線の表示をとりやめるようにした。標準設定のままだと線が見えにくいからポストプロセスのパラメータもいじってある」

妹「空が網目模様になってるのは?」

「それは結局よくわからないままで、普通にやってるつもりなんだけどなぜかああなる。空のブループリントの構造を調べてみたらとわかるかもしれないけど。とりあえずあんまり遠くだと線を出さないとかで回避は出来る。遠くかどうか調べるのも外側仕様だとちょっとやっかいそうだけど」

f:id:una_unagi:20170409230217p:plain

「あとはまあ、左上と右下しか調べてない関係で、左下とか右上には線が出ない。丸いアイコンもそうだし、階段の線もカドのとこ切れてる。けどそれはOKとする」

妹「OKなんだ」

「サンプルの点を増やせば解決出来るけど、深度差がどれだけあれば線が出来るかっていうのも、完璧に仕上げるのは無理だろうし。ある程度あいまいにしといた方が良さそうな気がする。これはこれでカリグラフィっぽい感じもするし」

f:id:una_unagi:20170409230041p:plain

f:id:una_unagi:20170409230052p:plain

「いつものSunTempleにも同じやつを入れてみた。やっぱり空に網目がついちゃう」

妹「網目もだけど、部屋の中は線がちょっと見づらいね」

「線自体はちゃんと出てるんだけどね。色合いを明るめにするとか、影を簡略化するセルシェーディングを併用するとか。場面によって線の色を変えるという手もある」

f:id:una_unagi:20170409231136p:plain