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

妹でもわかるUnrealEngine4

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

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

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

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

UE4のエディタ便利操作5選……の動画紹介

www.youtube.com「海外の掲示版で紹介されてた動画なんだけど、小技の紹介動画的なもの。ブループリントとかマテリアルとかじゃなくて、エディタ操作に関するものみたい」妹「どんなのがあるの?」(5位) アクターを選択した状態でEndキーを押すと、地面にく…

UMGのテキストボックスに日本語を入力するテスト

「UE4って日本語の表示は出来てるけど、入力はどうだったかな……とちょっと気になったので、今日はそのテストをした。普通にウィジェット出して、入力したら別の用意してあるテキストエリアに表示する」「一応出来てるみたい。Windows以外ではどうなるかわか…

ポストプロセスマテリアルによる簡易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) とりあえず眺めてみる

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

UMGのImageウィジェットで、タイリング表示から別の表示に切り替えた時に起こるバグ

妹「……」「まだウィジェットで悩んでるの?」妹「Marginはわかったんだけど、なんだか不思議なことが」 Box表示 Image表示 + Tiling=Both に変更(タイリング表示) Box表示に戻す妹「こういう順番で操作すると、なんか……なんかおかしなことになるんだよ。タ…

UMGで画像の枠線部分に設定するMarginの値

historia.co.jp妹「前に一回見たんだけど、どこだったかわからなくなってた記事があって、長年探してたんだけど、ついに発見することが出来た」「ウィンドウみたいな画像の、枠線の大きさを変えずに拡大するやつ?」妹「それで早速やってみたんだけど、なん…

ブループリント製のマッチ箱脳(2)

「昨日の分に学習の仕組みと、あと現在のマッチ棒状況の表示機能を加えた。コレでニューラルネットワーク的なアレになったはず。今回はマッチ箱Aを整数型、マッチ箱B・C・Dを構造体として作った。ただ構造体は一部だけ書き換えるのが面倒くさいので、2つの整…

ブループリント製のマッチ箱脳(1)

問題とマッチ本数の初期設定 解答表示部分 アウトプットウィンドウに出てきた解答https://www.1101.com/morikawa/2001-03-12.html https://www.1101.com/morikawa/2001-04-02.html 「"マッチ箱の脳"の、初歩的なモデルをブループリント化してみた。といって…

アクターじゃないクラスを生成する方法

「AIの仕組みをUE4のブループリントで実装してみようと思ったんだけど、その前段階としてちょっと困ったことがあったんで、今日はそれのやり方を調査してた」妹「困ったこと?」「なんというか、アクターをスポーンさせるのは普通に出来るし、やり方も色んな…

UnrealEnginePythonをちょっとだけ試す

github.com「UnrealEngineでPythonが使えるプラグインがあると聞いたので、ちょっと試してみてた」妹「パイソン? ストⅡに出てくる?」「その人はパイソンでなくバイソンですね……Pythonというのは、プログラミング言語の一種なんだけど、海外ではとても人気…

2つのIntegerを組み合わせて、より大きな整数を作る(表示編)

「疑似巨大整数システムは一応データ的にはそれっぽくなってたけど、それっぽく表示も出来るようにしてみた。9999万9999までの数字を2つつなげた仕様。+5000万1 と -1000 を計算させて、正常に変化してるのを確認した。3000億超えの数字だから、通常の32bitI…

2つのIntegerを組み合わせて、より大きな整数を作る(改良版)

「昨日のやつを色々試していたら、問題が起きる場合があったので修正した」妹「今日のは後半がブランチになってるね」「上の桁と下の桁の数字を比較して判定してたんだけど、先に上の桁を変えると、下の桁を計算する時には判定結果が変わっちゃってるんだよ…

2つのIntegerを組み合わせて、より大きな整数を作る

「2つのIntegerをくっつけて、より大きな変数を作り出す実験をしてみた。ただし1つの変数が0~9しかないから、数としてはあんまり増えてない。理屈の確認用」妹「-100から始まって、次が-9-9?」「これは仮の表示だから、上の桁が0以外の時は下の桁の符号を…

UE4のIntegerの上限と下限

「ちょっと気になることがあったんで、王様のスコアを1億点ずつにしてみた」妹「マイナス……になってる?」「スコアはInteger型で管理してるけど、これが上限を超えるとマイナスになってる。これはコンピューターの仕組み的な物で、32ビットの場合2147483647 …

OpenAssetOrgのアセットで2Dゲームを作る(29) 意味はないけど得点するようになった

↓ここに最新版をアップロード http://unaunagi.github.io/apps/game2d/「今日はあんまり進んでないけど、とりあえず敵を倒すと点が入るようにしたバージョンを遊べるようにした。ただ……なんか動作が遅い気がする。敵と矢が多すぎたかも」妹「多すぎると駄目…

OpenAssetOrgのアセットで2Dゲームを作る(28) BuildStringによる文字の結合

「フォントはOTFフォントなら問題なさそうということがわかったので、スコア表示も入れる。加点の仕組みがないからずっと0点のままだけど」妹「BuildStringというのは?」「文字の結合はAppendノードを使ってもいいんだけど、BuildStringを使う方がノードの…

OpenAssetOrgのアセットで2Dゲームを作る(27) 敵の種類と数を増やす

妹「そういえば盾もった王様って、最初しか出てこないんだけど。バグなのでは?」「そういうわけじゃないんだけど。ランダム生成は普通の王様だけだから、初期配置の3人だけ盾もってる」「いっぱい出るようにした」妹「多い……」「こっちは矢が大量に撃てる…

OpenAssetOrgのアセットで2Dゲームを作る(26) マウス押しっぱなしでの弾発射

「とりあえずUE4ぷちコン用のサプライズなネタも思いつかないことだし、とりあえず作ってたゲームの改良をしている」妹「矢の量を増やしたの?」「矢を増やしたというか、マウスクリックじゃなくて、マウスドラッグで発射するように変更した。押しっぱなしで…

HTML5パッケージ化のオプションを色々変えてみる実験

「HTML5のやつが容量もう少し小さくならないものかと思って試してみた。4.15での確認。結果としてはどれをやっても容量は誤差レベルでしか変わらなかったんだけど……」 無効にしてはいけないプラグイン Online Platform -> Online Subsystem (ゲームが動かな…

UE4.15正式版がリリース

「4.15の正式版が出てた。だいたいPreview4と同じだと思うけど、やっぱり正式版にならないと使いにくいから。しばらくは4.15.0と4.13.2と併用する形で、4.14はアンインストールしようかと」妹「4.13はまだ要るの?」「一応4.13の方がHTML5化が上手くいってる…

UE4でHTML5出力したミニゲームの公開

Game2D「2Dゲームの方はHTML5でとりあえず問題なさそうなので、どういう感じになるのかちょっと公開してみた。まだゲームとして成立してないけど、マウスクリックで矢を撃って、当たると敵にダメージという仕組みは問題なく動作してるみたい」妹「これゲーム…

UE4 -> HTML5出力実験メモ

3DゲームのHTML5化(妹が前回のUE4ぷちコンに出したやつ) UE4.13で動いていたものが4.14や4.15だと動かない タイトル画面も出ない 4.13だと動いてるように見える でもWindows版よりかなり遅い ゲーム開始10秒ぐらいで必ずゲームが止まる ※止まった後もBGMは…

今日も失敗するHTML5化

「フォントの問題が解決したし、水のマテリアルも代替品を作れそうだから、妹のゲームまたHTML5対応にしようとしてたんだけど、なんかエラーが出て起動しない……」妹「あれ? 字はちっちゃくなるけど、一応動いてたよね?」「そのはずだったんだけど、何かの…

UMGウィジェットの表示がHTML5だと変わってしまう件(4) TTFフォントをOTF形式に変換してからアセット化

「とりあえずOTF形式のフォントを使えば大丈夫、ということが昨日わかったわけだけど、TTFしかないフォントもたくさんある。妹が使ってたやつもそう」妹「別のフォント探さないと駄目かな」「探してもいいんだけど、TTFからOTFに変換するという方法もある」j…

UMGウィジェットの表示がHTML5だと変わってしまう件(3) フォントがOTF形式なら正しく表示された

「バグ報告をしようと思って、最小限のデータだけの確認用プロジェクトを作ってたんだけど、そうすると何故か普通に表示できちゃったんだよ。どうやらフォントがデフォルトのRobotoのままだったからみたいで、昨日のプロジェクトもRobotoにすると問題なくな…

UMGウィジェットの表示がHTML5だと変わってしまう件(2) 何かがおかしいということはわかった

「どうも表示がおかしいのはフォント部分みたいなので、HTML5のフォント表示について、いくつかの設定を試してみたけど、同じだったり、そもそもブラウザでエラーになったり、どれも上手くいかない。それで新機能も試してみた」「4.14だったか15だったかから…

UMGウィジェットの表示がHTML5だと変わってしまう件(1) 状況確認

「シューティングゲームに得点表示を付けたいんだけど、ウィジェットに関しては以前妹が作ったゲームでちょっとした問題が起きてるのが未解決。また同じ問題が起きたら嫌だから、これを解決してから取り掛かりたい」妹「ちょっとじゃないよ! 大問題だよ!」…