妹でもわかるUnrealEngine4

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

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

第7回UE4ぷちコンの結果が発表されてた

historia.co.jp

「結果が出てた。今回もなかなかレベルが高いというか、厳しい戦い」

妹「ゲームもだけど、動画として面白く作るってのも大変だよね。今回は結局ネタを思いつかなった」

「どんなテーマで作るにしても見る人にサプライズを与えたいわけだけど、サプライズ自体がテーマというのは難易度高い。あとは春先は花粉症でフラフラしてるからというのもあるかも。過去2回出せたのも秋だったし」

妹「そこにゼルダでトドメを刺された」

「何も出来てないところにあれ買った時点で提出はあきらめてた」

妹「応募総数は60件なんだ。前回もそれぐらいだったような?」

「過去最多だった前回と同じ。投稿してる人は違うと思うんだけど。テーマがむずかしかったというのを考えると結構多い方という感じが。賞の本数が6から8に増えてるから、受賞者数は増えてる」

妹「今からだったらもう少し何とかなるかもしれないけど。花粉もだいぶアレだし、ゼルダもクリアしたし」

「兄はまだクリアしてないから今言われても駄目かも」

(※昨日分の記事は多忙につき休載となりました)

マテリアルによるトゥーンアウトライン研究(6) 法線データの参照

「アウトラインを出す方法には、深度(奥行き)を使った方法の他に、法線を使った方法もあるらしい。法線が急に大きく変化してる場所は、ポリゴンの角度がきつい場所なんだから、そこに線を入れとけばいいという考え方」

妹「法線ってなんだっけ? 聞いたことはあるような気がするんだけど」

「ポリゴンが向いてる方向の、角度的なもの。そのままエミッシブカラーに接続すると、同じ方向を向いた面は同じ色になる」

f:id:una_unagi:20170404233649p:plain

f:id:una_unagi:20170404233724p:plain

f:id:una_unagi:20170404234845p:plain

「ただこの角度というのが、ワールド座標基準の法線になってる。カメラの角度が変わっても面の色が同じ」

妹「駄目なの?」

「駄目ではないけど、輪郭線を出そうと考える時、どういう仕組みにしても、どこが輪郭になるかはカメラの角度次第で変わるはずで、そうするとカメラ基準の法線が欲しい」

f:id:una_unagi:20170404234859p:plain

f:id:una_unagi:20170404234854p:plain

f:id:una_unagi:20170404234912p:plain

f:id:una_unagi:20170404235409p:plain

「カメラ基準の法線は、TransformVectorというノードを使えばいいことがわかった。こうするとカメラ基準の数字になるから、カメラを動かすと面の色も変わる。ちなみにこのノードは一覧だとTransformだけ書いてある」

妹「面の色がなんか黒くなったような」

「それは偶然というか、ワールド座標の方がたまたま見栄えのいい色になってたというか。マイナス部分の数字が多くなる角度になってるけど、マイナスでも計算には差し支えないから」

妹「カメラ基準のが要るなら、最初からそうしておいてくれればいいのに」

「多分ワールド座標の状態が一番計算が速いんだと思う。素の状態というか。単純に隣のピクセルとの角度の差を調べるならどういう基準でも問題ないし」

マテリアルによるトゥーンアウトライン研究(5) シンプルすぎるアウトライン表示

f:id:una_unagi:20170403231801p:plain
f:id:una_unagi:20170403231725p:plain

「まずはサンプルのマテリアルを調べようかと思ったけど、必要のなさそうな部分がかなりあってわかりにくいかったら、まずは細かいことを考えずに深度から単純に線を引くようなマテリアルを作ってみた」

妹「線でてないとこが結構あるね」

「深度差のとこを100000にしてるから、ゲーム内単位で1km離れてないと線が出ない。だから遠景との境目しか出ない」

妹「遠すぎでは」

f:id:una_unagi:20170403232106p:plain

「1000(10m)に設定すると線の方はだいぶよくなるんだけど、背景がぐちゃぐちゃになってしまった。この遠景は、テンプレートのBP_Sky_Sphereなんだけど、曲面になってる部分が変な反応してるのかも」

f:id:una_unagi:20170403232338p:plain

「さらに線を太くすると色々と粗いのがバレてしまう。深度差があるとこの左側に線を引くから、右側の線は物体の線にかぶさるし、線が曲がるとこもカクカクしてる。あと左右でしかチェックしてないから原理的に上下の線は出せない」

妹「でも上下の線もあるような」

「ちょっと斜めになってるんからだと思う。カメラに対して完全に水平にすれば出ないはず。と、色々問題はあるんだけど、状況を限定して使う分にはこれで済む場合もあるかもしれない。計算はシンプルだから処理速度の点では有利」

妹「他の方法だったらこういう問題は解決してるのかな?」

「処理速度と品質とどっちを優先してるかで、解決するのとしないのがあるけど、だいたいの場合でこれよりは良くなると思う」