妹でもわかるUnrealEngine4

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

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

ウィジェット

SpriteStudioデータを3Dウィジェットとして表示する実験

「SpriteStudioのデータをUE4で表示する場合、SsPlayerコンポーネントで表示する方法と、UMGのウィジェットとして表示する方法があるんだけど、ウィジェットに出来るなら3Dウィジェットにだって出来るのではないか? というのが今日の実験」「できた。アニメ…

3Dウィジェットと普通のウィジェットが重なった場合の追加実験

「昨日のウィジェットの重なりでちょっと気になることがあって試してたんだけど、設定がWorldだったら、操作判定のある普通のウィジェットに隠れてても、普通に押せるということがわかった。ボタンもカーソルのホバーに反応する」妹「Worldっていうのは、3D…

3Dウィジェットが物陰に隠れている場合の判定

「3Dウィジェットは3D空間にあるわけで、とうぜん隠れたりしてよく見えない場合がある。これの判定はどうなってるんだろうと思って調べた」「基本的にレイを飛ばして物体を探す仕組みと同じで、レイがウィジェットに届いたかどうかで、押せるかどうかが決ま…

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

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

3Dウィジェットをカメラに向ける

「3Dウィジェットは3D空間にあるから、向きによっては見えないこともある。平面ポリゴンにウィジェットを貼り付けたような感じ。違う角度からも見えるようにしたいので、今日はウィジェットを自動的に回転させる仕組みを作る」「FindLookAtRotationを使うと…

Widgetコンポーネントでウィジェットが表示されなくなる問題と解決法

「Widgetコンポーネントのパラメータを調整していたら、なぜかウィジェットが見えなくなって、しかも元に戻せなくなるというトラブルが発生した。DrawAtDesiredSizeという項目にチェックを入れると、なんかウィジェットが消えちゃう」妹「チェックを外せばい…

Widgetコンポーネントで、3D空間に文字を表示する

「メッセージウィンドウじゃなく、キャラクタに吹き出しを付けるみたいなやつを作ろうと思って色々試してみたところ、この3Dウィジェットという仕組みが良さそうだった」docs.unrealengine.com「Widgetコンポーネントというのを付けるだけで、画面の一番手前…

Set Input Mode UI Onlyを使うと操作不能になる問題

「昨日発生した、ウィジェットを表示した時に、その時進んでた方法に進み続けてしまう問題を調査した」「これがTPSテンプレートのデフォルトキャラ(グレーマン)のブループリント。このInputAxisのところに数字が入り続けて、このイベント自体も実行させる…

NPCとの会話のシステム(4) クリックして話を進める

「分割したセリフを、クリックして読み進めるようにした。これがだいたいの完成型。ちゃんとDialogueっぽくなったはず」妹「最初のへんがなんかおかしいんだけど」「なんでかわからないんだけど、ウィジェットだけ入力を受け付けるようにしてるのに、キャラ…

NPCとの会話のシステム(3) 複数のセリフを1つの文字列から切り出す方法

「前回のは1行ごとに分けたけど、あれだと複数行のセリフに対応できないので、もう少し工夫を加える」 「前回は改行で区切ったけど、今回は何も文字がない改行だけの行で、ひと区切りになるようにした。言い換えると改行が2回連続した場合だけど。これでセ…

NPCとの会話のシステム(1) とおりすがりの会話

「先日の会話の話で、あれもっと簡単に作れるんじゃないかと思ったんで、少しテストをしてみている」imoue.hatenablog.com 先日のやつ妹「これは……会話してるの?」「人間のまわりに透明コリジョンを置いておくと、通りすがりに声をかけられる感じになる。近…

メッセージウィンドウの表示方法

妹「OCTOPATH TRAVELERやっててふと思ったんだけど、これって街の人と会話できるよね? どうやって作ってるんだろ」「どうやってというと……」妹「いやこれUE4製なわけでしょ? 文字を表示するのはいいとして、テキストノードを死ぬほど作って、それをごにょ…

文字と画像を一緒に表示できる「HorizonUI Plugin」

「UE4のマーケットプレイスで8/1までサマーセール中ということで、とりあえず残ってたポイントで買えたのがこのプラグイン」https://www.unrealengine.com/marketplace/horizon-ui-pluginwww.youtube.com「UMGに新しいパーツを追加する。文字を表示するやつ…

UE4.16の新機能で、自作のハードウェアマウスカーソルを出す

https://www.unrealengine.com/ja/blog/unreal-engine-4-16-released 「4.16のリリースノートの日本語版が出てたから見てたんだけど、その中にハードウェアのカーソルのカスタム化っていうのが書いてあって、さっそく試してみたのが上の写真」妹「このガブ太…

UMGのフォント輪郭線問題の追加調査

すごく太い かなり太い そこそこ太い「やっぱり半濁点がどうしても気になったから、さらにいろいろパラメータをいじってみてたんだけど、どうも一定の太さを超えると、完全に閉じた部分の表示がおかしくなるらしいことがわかった」妹「"ぽ"のクルってなって…

UMGの縁取りフォント機能を試す

「UMGの機能でフォントの縁取りが出来るようになってた気がするので、これも試してみた。ほとんど場合で縁取りした方が字が見やすくなる」妹「"ぽ"の、丸の部分が、なにか足りないような……」「とくに何かしたわけではなく、普通に幅だけ設定したはずなんだけ…

UMGのバインドとPreConstructイベントの併用

「タイミングを取れるように、じゃんけんぽんと掛け声を表示する必要があるんだけど、あいこの場合は文字が変わるから、そのへんをパラメータで切り替えられるようにしたい。でも変数へのバインドという形で作ると、これだと実行時には出てくるけど、編集中…

お互い手を出すだけのジャンケン

「ちょっと前に作ってたジャンケンの続き。CPU側の手が動くように、GameModeの中に処理を組み込んだ。これによってCPUも手を出せるようになった。今のところ手を出すだけで、特に何が起こるというわけではないんだけど」「今回はDelayを使って全体の流れを作…

UMGの新機能・PreConstructを使った場合 #UE4

t.co「このブログで紹介されてるのを見て知ったんだけど、UE4.16からUMGにPreConstructというイベントが追加されたらしい。これが丁度欲しかったやつだったので、早速プロジェクトを4.16用にバージョンアップして導入してみた」「これがいままでのやつ。本当…

クリックした時のエフェクトは大事 #UE4

「無事アニメーションの作り方も思い出したので、ボタンをクリックした時のエフェクトを入れた。これがないと押せたのか押せてないのかわからないから、ものすごくストレスがたまる」妹「ボタンウィジェットには最初から反応して絵が変わるやつなかったっけ?…

UMGのアニメーション復習 #UE4

「今日はちょっとボタンのアニメーションをやる。UMGのアニメーションは前にもやったんだけど復習しながら」docs.unrealengine.com(1) どのウィジェットの、どのパラメータを動かすか考える(RenderTransform欄を使うのが望ましい) (2) アニメーション欄に新…

自作マウスカーソルをウィジェットとして表示する・第2弾 #UE4

※現在はもっといい方法が見つかっています imoue.hatenablog.comimoue.hatenablog.com imoue.hatenablog.com「自作のイラストを使ったマウスカーソルを作る、というのは前にもやったんだけど」妹「やった気がする」「今日やるのもだいたい同じ、ウィジェット…

不思議なマウスカーソルの挙動 #UE4

「ウィジェットを使う時にどうしても考えないといけないのがマウスカーソルの問題」妹「それはなんか前に少し調べたような気がする。自分で作ったカーソルを表示する方法とか」「今回あらためて調査したんだけど、実際問題としてよくわからなかった。これは…

UMGの自作ウィジェットにクリックイベントを作る

「ウィジェットは入れ子構造になってて、作ったウィジェットを、別のウィジェットの中にはめこむということも出来る。今回は画像と透明ボタンをセットしたウィジェットを作ってる。この時にちょっと困るのが、自作ウィジェットにはOnClickとかのイベントがな…

UMGウィジェットだけでゲームを作る実験中

「UE4で2Dゲームというと、Paper2DやSpriteStudioを使って、3D空間に2Dキャラクターを表示するのが主流だけど、ウィジェットだけでもゲームは作れるはずなので、それをやるとどういう問題が起きるのか、というのを確認している」妹「じゃん……けん?」「海外…

ゲームパッド(とキーボード)で、UMGのウィジェットを操作する動画

www.youtube.com「たしか前にゲームパッドで、ウィジェットの操作が出来ないという問題があったと思うんだけど」妹「ウィジェットはわからないことだらけだから、全部覚えてないけど、マウス操作じゃないと困ったことはあった気がする」「それでゲームパッド…

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

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

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

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

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

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

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

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