妹でもわかるUnrealEngine4

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

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

マテリアル

3Dウィジェットにはポストプロセスマテリアルが効くし、ライトもあてられる

「3Dウィジェットってポストプロセスって効くのかな……と思って試してみたら、特に何もしなくても普通に効いた」妹「普通のウィジェットは駄目だったよね。なんというか、一番手前の手前に来る感じだし」「そういうモードもあるよ」「Widgetコンポーネントの…

スタティックメッシュにくっつけた、マテリアルのテクスチャを傾ける方法

妹「マテリアルっていうのは、こう、傾かないもんなのかな?」「と、いいますと」妹「スタティックメッシュにマテリアルつけて、そしたらこう木目が思ってたのと違う方法だったんだよ」「スタティックメッシュごと回転させるというのが一番無難な方法だけど…

MODO修行編(3) マテリアルの設定方法?

「引き続き公式コラムのモデリングを真似してるんだけど、最後に適当にマテリアルを設定しましょうってあって、その方法がどこに書いてあるのかよくわからない……」妹「材質設定出来ないのはだめなのでは」「出来ないんじゃなくて、どこに書いてあるのかわか…

シェーダーコンパイルはコア数が多いCPUだと速い。たぶん速い

「新しいUE4プロジェクトを作ったらシェーダーコンパイルが始まったから、ちょっとリソースモニターで見てみたところ、16個のコアが全部使い切られてた。数字も結構素早く減ってるから、今までよりかなり速くなってるみたい」妹「どれぐらい速くなったの?」…

UMGウィジェットにポストプロセスは効かない

「ウィジェットを配置してて、ふと気になったので確認したんだけど、ウィジェットの表示にポストプロセスは効かないみたい。2値化を無視して元の色が出てくる」妹「それはポストプロセスマテリアルだけ? それともポストプロセスっぽいの全部?」「たぶん全…

ポストプロセスマテリアルによる簡易LUT

「ルックアップテーブル(LUT)による色変換で、色々情報をもらったんだけど、今のところ中間色が出ないようなLUTを使う方法は見つかってなくて、それでポストプロセスの標準機能ではなく、マテリアルでそういう処理を組めばいいのでは? と思ってやってみたの…

ポストプロセスマテリアルを使った2値化+輪郭線

「LUTによる2値化は上手く行かなかったので、ポストプロセスマテリアルで作ったみた」妹「白黒じゃないんだ」「原理的にはこれ何色でもいいから、今回は淡い色合いにして、それにプラスして先日作った輪郭線のマテリアルも入れた。どっちもタイミングの設定…

ポストプロセス LUTの弱点・階調化フィルタ

「昨日はピクセルの場所に関係ないフィルタならいけるって書いちゃったけど、厳密に言うとそれでも駄目なやつがある。例えば上のスクリーンショットは2値化フィルタを書けたLUTを使ってるんだけど」妹「2値になってないね。グレーがいっぱいある」「グレー部…

ポストプロセスのカラーグレーディング

「ポストプロセスは色々面白そうなので、引き続き調査中」妹「これは画面の色調を変えたの?」「いやこれは変えない設定にしたつもりなのに、何故か変わっちゃってる件の調査」docs.unrealengine.com「この中のルックアップテーブル(LUT)というやつを試して…

ポストプロセスマテリアル実行のタイミング

After Tonemapping Before Tonemapping Before Translucency Replacing the Tonemapper「これは昨日作ったポストプロセスマテリアルの、空の網目模様を消したバージョンなんだけど、同じマテリアルでも実行のタイミングで全然見た目が違う、というのが今日の…

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

「研究の結果、だいたい納得のいくマテリアルが出来た」妹「これは外側に線入ってるの?」「多分そうなってる……と思う。虫眼鏡でじっくり調べたわけじゃないけど、線を太くしても中のキャラクタの大きさ変わらなかったから上手くいってるはず」ポストプロセ…

マテリアルによるトゥーンアウトライン研究(8) 内側と外側のどちらに線を入れるか

妹「線を内側に出すのと外側に出すのって、そんなに違うものなの? お絵かきソフトとかでやる時はあんまり変わんなかったと思うんだけど」「内側と外側というのは、より手前にある物体の表面に線があるか、奥にある物体の表面に線があるかという違いなんだけ…

マテリアルによるトゥーンアウトライン研究(7) 先行事例の研究

qiita.com「UE4を使ったトゥーンレンダリング(ノンフォトリアル)の事例はいくつかあるんだけど、説明が日本語で、かつ導入が簡単なのがEpicのシモダさんが作った物。ポストプロセスマテリアルがすぐ使える状態で公開されてる」「これは線がみやすいように…

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

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

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

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

マテリアルによるトゥーンアウトライン研究(4) サンプルのマテリアルを別プロジェクトに入れてみる

「しばらく脱線してたけど、今日からはまたトゥーンアウトラインの方をやる予定」前回の記事 imoue.hatenablog.com「まずはStylizedRenderingのポストプロセスマテリアルを、テンプレートプロジェクトに移行する。これで線がどういう感じになるかの確認」「…

色んなポストプロセスマテリアルを見て回る

「ラジアルブラーのポストプロセスマテリアルは上手くいったけど、他にももっと色々良いのあるんじゃないかと思って調べてみた」docs.unrealengine.com unrealengine.hatenablog.com「まずマテリアルを使わなくても、標準のポストプロセスで出来ること、とい…

ポストプロセスマテリアルで中心以外をぼかす(8) マテリアルブループリント版のラジアルブラー

「妹がラジアルブラーのやつでもう少し綺麗にぼかしたやつが欲しいというので、マテリアルブループリントに移植したやつを作った。なかなか大変だった」妹「いいじゃんいいじゃん、こういう感じ」「今回は見栄えをよくするために、サンプルのSunTempleプロジ…

マテリアル用デバッグ命令

「マテリアルを編集してると、この計算合ってるのかな? と不安になることがあるんだけど、そういう時に便利なのがDebugなんとかという命令。例えばDebugFloat2Valueノードと使うと、Vector2の数字が画面に表示できる。ウィンドウが小さいと上手く表示されな…

ポストプロセスマテリアルで中心以外をぼかす(7) ラジアルブラーでぼかす

「海外フォーラムでラジアルブラーという、中心から広がるようなボカシ方の、カスタムマテリアルを見つけたから、今日はそれを試してみた。中心からだんだんボケていくというのは、こっちのイメージが近いんじゃないかと思って」妹「それはいいと思うけど、…

ポストプロセスマテリアルで中心以外をぼかす(6) Customノードでぼかしをかける

妹「こりゃ妹にはわかりませんな……」「やってることはマテリアルブループリントで作ってたのと同じで、周囲81ピクセルの色を均等に混ぜるやり方。昨日までのはプログラムといっても1行だけだったけど、ループをさせるとなるとなかなかそうもいかなくて。ブ…

ポストプロセスマテリアルで中心以外をぼかす(5) CustomノードからSceneTexture:PostProcessInput0を取得する

「とりあえずCustomノードから、PostProcessInput0の数字を調べることに成功した。そのままだとちゃんと計算出来てるのか、それともマテリアルが無効になってるのかわからなかったから、とりあえず✕3して、明るくなるようにした」SceneTextureLookup(uv, 14,…

ポストプロセスマテリアルで中心以外をぼかす(4) Customノードのテスト

「Customノードというのは、マテリアルの中身をプログラムとして書けるノードのこと。普通のブループリントでいう数学式(MathExpression)ノードのような働きをする。といっても数学式ノードも使ったことなかった気がするんだけど」妹「使ったことないね」「…

ポストプロセスマテリアルで中心以外をぼかす(3) もっと真面目に画面をぼかす

「昨日は4つのピクセルの色を平均する、というやり方でぼかしてたけど、今日はなんと9x9で81ピクセルの平均を取るやり方にした。とはいえ81回分もノードを組み合わせるのはやってられないので、マテリアル関数を使って整理した」 全体図 指定された近辺9ピ…

ポストプロセスマテリアルで中心以外をぼかす(2) 画面をぼかす

「グラデーションのかかった円の処理は出来たから、次は画面をぼかす仕組みを作る。円を描くノードがなかったのと同じで、ぼかすというノードもないので、またどうにかして計算式を作る」・現在表示中のピクセルから1つ上のピクセルの色を取得 ・現在表示中…

ポストプロセスマテリアルで中心以外をぼかす(1) マテリアルによる円の表示

妹「ポストプロセスのやつなんだけど、ひょっとしてこれ使うと画面の中心以外をぼかすっていうのが出来たりしない?」「できると思うけど、何に使うの?」妹「ロックオンしてる時とかに、そこ以外あんまり見えない感じの演出をやりたいと思ったことがあるん…

マテリアルによるトゥーンアウトライン研究(3) SceneTextureノードの色々

SceneTexture:SceneDepth(を6000で割った物)「ポストプロセスマテリアルの中では、色以外の情報も色々操作できる。だいたいSceneTextureというノード経由で、各ピクセルごとの情報を調べることが出来る。あんまり使わなそうなのもあるけど、上の画像は、そ…

マテリアルによるトゥーンアウトライン研究(2) ポストプロセスマテリアルとは何か

「StylizedRenderingサンプルは全体的にイラスト風の表示になってるけど、おおまかにわけると3つの処理に分かれてる」・色の塗り方をアニメ風に(セルシェーディング)→普通のマテリアル ・画用紙っぽい質感→ポストプロセスマテリアル ・黒の輪郭線→ポスト…

マテリアルによるトゥーンアウトライン研究(1) とりあえず眺めてみる

「マテリアルを使い方もだいぶわかってきたから、今度はちょっとトゥーンレンダリングというやつをやってみようと思う」妹「ゼルダみたいな?」「ゼルダのは色の塗り方というか、光のあたり方を調節してるやつだと思うんだけど、どちらかというと輪郭線の方…

Paper2D用のマテリアルを作る(5) SpriteTextureSamplerをコピーした後は名前を戻す

「今回マテリアルで色々遊んでいて発生したトラブルなんだけど、コピーして作ったSpriteTextureSamplerノードに、色々ピンをつないでも正常に表示されない。名前のところが SpriteTexture_1 と、この_1が付いてることによって、正常に表示されなくなる」妹「…