妹でもわかるUnrealEngine4

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

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

ブループリント

変数を空っぽにする方法

妹「アクターが入った変数ってあるでしょ、水色のやつ。あれを削除するっていうのは出来ないのかな?」「変数の削除というのは無いかも。配列だったらRemove出来るけど、あれは例外だし、それでも配列そのものを消すことは出来なくて長さ0の配列になる」妹「…

配列のInsertとSetArrayElemの違い

妹「配列のInsertとSetArrayElemって一体何が違うのかと思って、マニュアル見たけど全然わからなくて、色々やってみた結果、Insertだとそれより後ろやつが1つずつずれていって、SeArrayElemというのだと上書きすることがわかった」「うーん、それはマニュア…

ハシゴにぴったりフィットさせたい問題

妹「ハシゴを登るという仕組みを前に作ったわけだけど、なんか気に入らないというか、ハシゴの中心からかなり外れてても登れちゃうというか……」「頑張ってつかんで登ってるんじゃないの?」妹「そんな謎の握力はないよ! で、まあ色々考えたんだけど、ハシゴ…

アクター同士の二次元距離を調べる

妹「前々回の話でさらっと流されてたんだけど、アクターの距離を調べるマクロを作ってあるんだよ。何回も使うし、ブループリントがごちゃごちゃするからこうした方がいいかと思って」「あったよ。知ってる知ってる」妹「いや知ってるとかじゃなくて、これで…

インターフェースのinputピン・outputピンを活用する

「ブループリントの中身を見ていて気になったところがあるんだけど」 「Overlapの時に自機アクターを変数に入れてるみたいだけど、これはインターフェースのinputピンから渡した方がいいのでは?」妹「インターフェースのinputピン? 見たことはあるけど、別…

配列処理に失敗してたところを探した話

妹「ヒジョーに困ったことになってるんだけど、何が困ってるのかよくわからないので困っている。完璧な計画だったはずなんだけど……」「どういう計画だったの?」妹「基本的には近くに操作可能な物があるとわかるようになるという仕組み。隠れられる茂みとか…

ブループリントを実行するのにかかる時間を調べる

妹「イベントティックで、配列の中身をループさせてチェックするとかやっていいのかな?」「やってもいいと思うけど、なんで?」妹「茂みとかもそうだけど、アクションが起こせるアクターの近くに行った時に、それとわかるような演出を出したいんだよ。で、…

茂みをアニメーションをさせる方法を考える

「InterpToMovementでやるのはあんまり向いて無さそうということで、今日はそうじゃない方法を考えてみることに」妹「まず考えたのはマチネってやつなんだけど。よく知らないけど、たしか何を動かすみたいな話だったような気が」docs.unrealengine.com「動か…

InterpToMovementで正確な回数ループさせるのは難しい

imoue.hatenablog.com昨日の続き妹「それで次に困っているのが茂みに出入りする時に、ガサゴソ動いて茂みが揺れる演出があるんだけど」「あー、揺れてるとこはいまいち動画に写ってないかも。フレームレート落としてあるもんだから」妹「そうなの!? そこ大…

茂みに隠れるやつ

妹「まだ調整中だけど、こういうものができた。そのへんに茂みの中に隠れられるようになっている」「これはどういう時に使うの?」妹「敵が通る時とかによけられる。あと弾みたいなのも。この状態だと動けないけど無敵」妹「茂みのコリジョンと重なってる時…

入力したコメントが消えてしまう問題の調査・その2

2017/9/24 ①と③については最新版で修正済み 12/15 ②の1行目の入力でもバグることがあったので内容修正imoue.hatenablog.com妹「いろいろやってたらコメントが変になるやつ再現出来るようになったよ。どこがおかしいのかはともかく、3種類ぐらい気になる動作…

ウィジェットのイベントConstructが発生するタイミング・その2

前回の話imoue.hatenablog.com「……ということを書いていたところ、AddToViewportするまでConstructが働かないなら、むしろ最初にAddToViewportしちゃうという方法を教えてもらったよ」妹「最初からAddViewportするとウィジェットが一瞬見えちゃうんじゃない…

ウィジェットのイベントConstructが発生するタイミング

妹「ウィジェットのConstructイベントから、こういうブループリントに繋がってるんだけど、ここが呼び出されるのが表示の後だから、表示される前に配列の大きさを使えないんだよ。Constructって作成した時に呼び出されるもんだとばっかり思ってたんだけど」…

ブループリントにおけるオーバーライド関数とイベントの違い

妹「オーバーライド関数も使うと色々出来るのはわかったけど、これイベントと何が違うの? 全部イベントでいいんじゃない? 関数よりわかりやすいし」「色々眺めた感じだと、あんまり変わらないのかなって感じはする。例えばウィジェットのオーバーライド関…

OnMouseMoveで自作カーソルを動かす……のはあんまり良くない

imoue.hatenablog.com「前にウィジェットでマウスカーソル作った時にOnMouseMoveがないか探してたんだけど、オーバーライドのところで見つかったから、今日はこれを使って自作カーソルの移動処理を作ってみました」「Canvasでカーソル作ってslotを経由したり…

OnKeyDownとOnPreviewKeyDownの違い

妹「結局のところOnPreviewKeyDownのプレビューというのはなんだったの? べつにOnKeyDownでも良かったの?」「OnKeyDownはそのウィジェットにフォーカスがある時だけ動くんだけど、OnPreviewKeyDownだとそれが子ウィジェットにフォーカスがあっても動く、と…

イベントでHandledを返して標準操作を無効化する

imoue.hatenablog.com「昨日の、フォーカス移動を自前のキー処理でやってても、カーソルキーとかでも動かせちゃう問題だけど、こういう風にすると対応出来る」「昨日のブループリントだと、A・S・Dの3つのキーのどれでもないキーが押された時、最後のブラン…

OnPreviewKeyDownイベントでウィジェットのフォーカスを制御する

妹「EventReply関係の話を探していたら、なんかウィジェットをキーボードを動かそうとしてる話を見つけたんだけど、その人がやってた方法はこうやってOnPreviewKeyDownイベントをオーバーライドしてたんだよ」「同じやり方を新しいウィジェット用に試したん…

Event Reply(イベント応答)を設定する

LogBlueprint:Warning: [compiler メニュー] 警告 Event Reply Return Value should not be empty. Return a reply such as Handled or Unhandled. LogBlueprint:Warning: [compiler メニュー] 警告 [0074.05] メニュー のコンパイルに成功しましたが、1 個…

二次元配列の作り方・その2

関連記事imoue.hatenablog.com妹「昨日言ってた、横幅を足したり引いたりして上下に動かす案なんだけどさ、あれだと横にいきすぎた時のループ処理とか出来なくない? 現在位置がどうなってるかわからないから、普通に1足すと次の段にカーソルがいっちゃうよ…

キーボードだけでウィジェットを操作する・2

妹「昨日のやつにカーソルの上下移動を付け加えてみたよ。そして一番端からさらに端の方に動かそうとすると、反対側にワープするようにした」妹「だいたい昨日のと同じだけど、縦横に動くわけだから、兄がモニョモニョ言ってた二次元配列の作り方を参考にし…

キーボードだけでウィジェットを操作する

妹「アクションゲームだとマウス使わないのに、ウィジェットのだけとこだけマウスで押さないと駄目なのは困るから、自分で操作できるようなボタンを作った」妹「本当はボタンを押した時と押してない時の、へこんだような絵とかにしたかったんだけど、上手く…

ボンヂャーラビット強制射出事件(解決編)

妹「アイテムを持つところは、なんかおかしいから、一から書き直したいとは思ってたんだよ。捨てる時もうまくいってないし、だいぶ前に書いたとこだから自分でも何でこうしたのかよくわからないし」「とりあえず吹っ飛びを抑止するだけなら、今の仕組みのま…

ボンヂャーラビット強制射出事件(容疑者確保編)

「次はアイテムを拾うところを調べてみる」「持つのと捨てるので線が絡まってるけど、単にGETノードを共有してるだけだから、内容的には別かな」妹「たしか、えび天側で、主人公キャラとoverlapすると、主人公のアタッチターゲット変数にselfを入れる仕組み…

ボンヂャーラビット強制射出事件(捜査編)

「まず昨日気になった、端っこ以外の場所でターンしてるところから調べてみようと思ったんだけど……」「"この辺はどうにかしたい"って、どういうこと?」妹「どういうことだと言われても、どうにかしたいなあと思ったんだよ」「イベントティックからOnCompone…

ボンヂャーラビット強制射出事件(発生編)

妹「説明してもわからなそうというか、なんて説明したらいいのかわからないからやって見せるけど……」妹「これエビ天を拾ったり離したりを繰り返してるんだけど、エビ天を拾った時に、下にいるボンヂャーラビットが飛んでいっちゃうことがあるんだよ。なんで…

ポーズ中でも入力イベントを発生させる方法

妹「ポーズしてる時でも、ボタンを押せば反応させる方法がわかったから、忘れないうちに書いといて」妹「ポーズ中にもう1回ポーズボタンを押すと、ポーズが解除できるようにしたかったけど、ポーズしてるとボタンにも反応なかったから、反応するような設定…

UE4.10の整列機能

妹「4.10出てたけど、やっぱりまだダウンロードが混んでるのかな?」「どうだろ。ピークは過ぎてると思うけど」妹「アップデートした方がよさそうなことあった?」「今回も妹向けの機能とかはなかったけど、クラッシュするバグを直したっていうのが20件ぐら…

自作マウスカーソルをウィジェットとして表示する

※現在はもっといい方法が見つかっています imoue.hatenablog.com妹「カーソルの方もだいたいわかった。GetMousePositionScaledByDPIというのを使うと、DPIを計算した後の場所が出てくる。ような気がする」「あとカーソルの位置もかな。標準だと動かす側のCan…

ウィジェットを任意の場所に動かす方法・その2

「それでウィジェットの表示位置を指定する方法なんですけど……」妹「もう出来たよ」「そ、そうなんだ」妹「昨日までは動くかどうかわからなかったからあれだけど、動くとわかるとだいぶやる気が出てきた。そしたらなんか出来た」「ちなみにどういう方法で?…