妹でもわかるUnrealEngine4

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

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

ブループリント

rerouteノードの仕組み

妹「ノードをつなぐ線を曲げる時とかに、丸いポイントを付けてるけど、これって曲げるだけじゃなくて、その丸いやつから複数のノードにつなげるよね?」「つなげるよ」妹「でもドキュメントにはそれ書いてなかったような……あ、今見たら書いてあった」docs.un…

NavLinkProxyを置いただけではジャンプ出来ない

妹「ナビメッシュのところにNavLinkProxyを置くと、歩くだけじゃなくてジャンプも出来るって話だから置いてみたんだけど、やってみてもAIの敵はジャンプしてくれなかった……」docs.unrealengine.com妹「英語のページとか色々見てみたところ、ジャンプさせない…

マウスカーソルを表示するとマウスの移動量が取得出来ない問題

※4/20 UE4.11.2で修正が入ったので、追加記事を書きました UE4.11.2でマウスカーソル表示時の不具合が修正 - 妹でもわかるUnrealEngine4 妹「ちょっとマウスカーソルを表示しようとしてたんだけど、そしたら1度画面をクリックした後は、カメラが動かなくな…

ビヘイビアツリー研究② ブラックボードの使い方

妹「ブラックボード? というやつが、ビヘイビアツリーの変数なんだよね? これの設定の仕方もよくわからないんだけど。関係するノードはいくつか見つかったけど、どこにSETするのか決める方法が謎だったりとか」「とりあえずブラックボードにSETしたりGETし…

ビヘイビアツリー研究① サービスとデコレーターとタスクの違い

4/11 FinishExecuteについて少し追記妹「そろそろ花粉が収まってきたので、ぷちコンのゲームを作り始めようと思うんだけど」「今から?」妹「間に合うかどうかはあれだけど。とりあえずAIで思いついたのを作ってみたいんだけど、ビヘイビアツリーの、サービ…

スポーンアクタノードに初期値設定用のピンを追加する

妹「なんかスポーンする時のノードに、パラメータとか増やせるようになってる気がするんだけど」「それは前からそうなってるね。4.10かなあ」妹「知ってたなら教えてくれ」「まだ自分でもあんまり使ってない機能だったから……」「編集可能と、スポーンに公開…

拾った物をなげる

妹「手に持ってるアイテムを投げる仕組みが出来た。投げる角度はまだ調整前だけど。手に持ってるアイテムはただのスプライトで、投げる時は同じ場所に新しいアクターをスポーンしてProjectileMovementで飛ばしてる。持ってたアイテムは見えないようにすると…

UE4.11新機能 構造体のピンを省略出来る

「4.11の新機能で、構造体のピンの要らないやつ、詳細パネルから設定して省略出来るっていうのがあって、早速試してみてるんだけど……」妹「それはいいやつでは? 2DゲームだとVectorのY軸が要らないこととかあるから、それが省略できるとスッキリしそう」「……

サイコロを投げる前にRandomRotatorを使うといい感じになる

「理想的なサイコロの転がり方について調整してたけど、やっぱり投げる前のサイコロの向きを調整すると良さそう。どんな投げ方でも偏りは出るけど、それはどの目が出やすいっていうんじゃなく、その時に上になってる目が出やすいとか、その隣が出やすいとか…

レトロゲームプロジェクトの研究(7) サイコロころがし編(DiceGame)

forums.unrealengine.com「2Dのプロジェクトばかり紹介してきたけど、3Dのプロジェクトもある。ただゲームとして成立していない、あくまでテンプレートとして作られた物が多い。DiceGameもそうで、サイコロで何かゲームをするわけじゃなく、ただ2つのサイコ…

レトロゲームプロジェクトの研究⑤Asteroids編

forums.unrealengine.com「レトロゲーム研究を再開。今日はAsteroidsプロジェクト。これを何と説明したらいいのかわからないけど、マップはスクロールしていくタイプではなく、敵が次々に襲ってくるタイプのゲーム。そして自機は回転しながら全方向に迎え撃…

別の物体や崖っぷちに当たると反転する敵キャラ

imoue.hatenablog.com妹「前に言ってた、敵キャラのベロシティを調べて、0だったら反対を向くようにしたやつが出来たよ。でもなんかおかしいというか、途中でりんごっぴーと、なしっぴーが、並んで歩いちゃうんだよ。必ずこうなるわけじゃないんだけど……」「…

かさなってしまったアイテムが、ちゃんとバラけるようにする仕組み

妹「アイテムが画面上で重なってしまうと、そこに何個あるのかわからないし、拾う時にもわかりにくい。ということで重ならないように勝手に動く仕組みを考えた。」「何かが重なってることを検知した場合、重ならない方向に動かしていく感じなのかな。完全に…

ブループリントからコンポーネントを追加する時の内容設定

妹「昨日のやつ作っててちょっと謎だったのが、1列目のスプライトは何も設定しなくても表示されるけど、2列目のはSetSpriteで中身を指定しないと絵がでなかった。一体どういう違いがあるのか」「1列目用のPaperSpriteComponentを追加ノードには、ノードの詳…

コンストラクションで自動的に地面を広げる実験+縦方向

妹「縦方向の増築も出来るようになった。なんとなく仕組みがスマートじゃない気はするけど、思ってたような動き方になった」 妹「とりあえず最初に縦横の範囲を調べて、スプライト何枚分か計算して、その回数分だけループさせてスプライトを追加している。最…

ブループリントではゼロ除算エラーは起きない

※3/20 割る数と割られる数を逆にして実験してしまっていて、説明と図に間違いがあったので修正妹「今コンストラクションで色々やる仕組みを作ってるんだけど、割り算の時にゼロって使っても良かったんだっけ? パラメータによってはそんな事になる可能性があ…

SpriteStudioのユーザーデータに変数を埋め込んでUE4で取り出す

imoue.hatenablog.com「この前の無限ループになってたやつ、やりたいこととしてはSpriteStudioのアニメに合わせてコリジョンをオン・オフしたかったんだよね?」妹「そーだよ」「だったらSpriteStudioのユーザーデータを使うといいのでは?」妹「ユーザーデ…

InRange - 数値が特定の範囲ならTrueを返すノード

docs.unrealengine.com妹「数字がある一定の範囲内の時だけっていう分岐を作ろうとしてたんだけど、InRangeっていう使えそうなノードを発見した」「たしかにこれだとノードが少なくて済みそう。なぜFloat版しかないのかは気になるけど」妹「……あれ? Floatし…

全然無限じゃないのに無限ループと言われる問題

妹「パンチのボタンを押した時に、アニメーション中の特定のタイミングでだけ当たり判定を出したいんだけど、なんか無限ループだと言われるんだよ。タイミング的に1秒もないだろうし、全然無限じゃないよね?」「なるほど、これは見事な無限ループですな妹「…

サンプルプロジェクト紹介 ラジアルインパクト(RadialImpact)

「タッピーチキンさん達がラーニングから居なくなったけど、代わりになんか見たことのないのがあったから紹介」「ゲーム内容としては単純、画面上のランダムな位置に二重丸が出てきて、片方の丸が拡大縮小するから、2つの丸が重なったタイミングでクリック…

ProjectileMovementが別の物に当たるとそこから動かなくなる問題の解決法

妹「前にProjectileに設定したやつに、1度あたるともう落ちてこない問題ってあったじゃん? ブログに書いてたかどうかは思い出せないけど」imoue.hatenablog.com「あったねそんなこと。半年ぐらい前のに書いてあった」妹「その問題がついに解決したんじゃよ…

ブループリントからSpriteStudioで設定したデータを調べる

「ちょっとパーツの名前を確認したいから、妹が作ったSpriteStudioのデータが欲しいんだけど」妹「別にいいけど、名前だけならUE4からでもわかるよ」妹「SsProjectって書いてあるアセットをダブルクリックすると、こういうアニメーションの確認が出来る画面…

InputAxisの呼び出しタイミング

妹「インプットAxisのノードには、フレームごとに呼び出されるって書いてあるけど、よく考えるとこれってティックとは違うんだよね?」「ティックのと一緒だと思うけど」妹「でもティックは、色々忙しい時にフレーム飛ばしてることもあるんでしょ? そしたら…

継承したブループリントの関数から、親クラスの関数を呼び出す

「ブループリント関数のオーバーライドをやった時に、親の関数呼び出す方法がないのは変だなと思ってたんだけど、その方法が見つかったよ」前のやつ imoue.hatenablog.com「関数やイベントのブループリントで、最初に出てくる入り口用のノードを右クリックす…

論理演算ノードについて

妹「両方ともTrueだったら、Trueが出てくるのがANDノードだよね? これ逆に両方ともFalseだとTrueが出てくるノードはないのかな?」「ANDとかORとか全部ひっくるめて論理演算っていうんだけど……」妹「それ。自分で調べてみてたんだけど、何やら数学めいた言…

ゲームパッドの振動とスマートフォンの振動は同じノード

「UnrealMatch3で遊んでると、なぜかXBOX360コントローラーがブルブルいってて、なぜこんな不思議仕様になってるかと調べてみたら、振動に使うノードが同じだった。ClientPlayForceFeedbackノードで、ゲームパッドがあればそれを、スマホで動かしてればスマ…

英語の名前を付けるときの区切り方

妹「名前に日本語が使えないのはしょうがない……いやしょうがなくはないんだけど、とりあえず単語の区切り方はどうしたらいいんだろう。スペースはまずいんだよね? あと出来ればSHIFTキー使わない方法で」「なんでSHIFTキー?」妹「押しにくいじゃん」「うー…

多重スクロール実践編

「えー、今日はUE4で多重スクロールをやってみます」妹「背景を遠くの方に置けばいいのかな?」「今は遠近感ゼロの、2D仕様のカメラ使ってるから、それだと多重にならない」妹「カメラの設定を変える……と見え方も変わるのか」「そういう前提で調整するんだっ…

下からジャンプで通り抜けられる足場・その3(実践編)

妹「というわけで、昨日兄に言われた方法で雲を作ってみた。でもこれ上から降りてきた時はいいんだけど、下からいった時に頭ゴンゴンして上手くいかないんじゃよ。足場の上に頭が出た瞬間に、落下防止判定に引っかかるわけだから、通り過ぎる前にBlockになっ…

DestroyActorした後もデータは残ってる問題

imoue.hatenablog.com「一昨日書いた変数を空っぽにする方法なんだけど、妹の要望が変数を空にするだけだったから、Nullを入れとけばいいという話をしたんだけど、アクタそのものを削除したいという場合はちょっと話が違ってくる」妹「アクタそのものを削除…