妹でもわかるUnrealEngine4

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

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

UE4.10

マテリアル属性:ユーザーインターフェース

imoue.hatenablog.com「昨日発見した、マテリアル属性をユーザーインターフェースに設定する方法だけど、追加調査でだいたいの仕様がわかってきた。まず4.10の時点でこの設定自体はあった。あとライトが当たったら色はどうなるんだろ? という疑問については…

レトロゲームプロジェクトの研究(9) インベーダーゲームっぽいの編(AlienInvaders)

「毎度おなじみのレトロゲーム風プロジェクトの研究。昨日のデバッグ作業は実はこれの話だったという」妹「インベーダーゲームというのも、聞いたことしかないなあ。写真だけで動いてる見てないかも」「敵が左右に動いて、端までいったら前進して……と、全体…

ブループリントでエラーが起きた時にすぐ止める設定について

「とあるプロジェクトデータの中身を確認してたんだけど、どうもゲームが終わった後にこういうエラーが出てきて、同じようにクリアしてるのに、エラーの数が多かったり、全然なかったりする、という事態が起きた。このままだとデバッグするのは難しい」妹「…

レトロゲームプロジェクトの研究(8) 2Dレーシングゲーム編(2dRacing)

Learning Templates [Blueprint Power]「しばらくやってなかったけど、レトロゲーム風プロジェクトの研究の続き。今日のテーマは2Dレーシングゲームのプロジェクト」妹「レーシングゲームってもっとこう、立体的なものなんじゃないの? F-ZEROみたいな」「あ…

DoN AI Navigation Pluginのインストール方法

www.drunkonnectar.com「昨日紹介したプラグインのインストール方法は、英語ページというのが若干わかりにくいだけで、内容としてはシンプル」「ZIP形式のファイルをダウンロードしてくる。ただちょっと問題なのが、このプラグインは今のところUE4.10にしか…

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

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

拾った物をなげる

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

3Dアセットのサムネイルの角度を変える

妹「Thumbnail……ってサムネイルだよね? クラス設定のとこにあるから、適当に数字変えてみたんだけど、何にも反応なかったんだけど。なんだか角度っぽい名前のような」「それは3Dデータを含むアクター用の設定みたい」「こういうスタティックメッシュを含ん…

ブランチノードにある変なマークと多言語エディタ

妹「多分4.10からだったと思うんだけど、ブランチノードの偽の方になんか変なチェックボックスみたいのがついてて、あれってどういう意味なの?」「あれは多分誤訳というか誤植だと思う。"偽"の前に余分な字がくっついてる状態。4.10の時に結構訳が増量され…

物理演算は全く同じパラメータでも毎回違う結果になる

「昨日のサイコロのやつがどうにも気になって仕方がないので、改造してた」妹「サイコロ投げるようにしたの?」「サイコロにProjectileMovementを追加して、サイコロをスポーンして弾みたいに発射してる。サイコロは大きく表示したかったから、升的なものを…

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

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

関数名やマクロ名を全角から半角に変えても反映されない場合がある

妹「半角文字と全角文字っていうのかな、同じ数字でも違う大きさの字ってあるよね?」「ある」妹「最初にマクロに名前を付けてて、数字のとこが全角だったからちょっと気持ち悪いなと思って、あとから半角で入れ直したんだけど、マクロの名前が変わらないん…

レトロゲームプロジェクトの研究(6) ブロック崩し編[UnrealBrickBreaker32]

forums.unrealengine.com「レトロゲームプロジェクトの中にはブロック崩しもあった。これも定番。左右のカーソルキーでパドルを動かして、弾を下に落とさないようにしつつ、ブロックに当てて、壊せるブロックを全部壊せたら勝ち。下に弾を落としてしまうとラ…

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

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

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

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

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

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

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

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

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

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

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

妹「地面が自動的に広がるシステムの開発に成功した。やってることは公式のチュートリアル動画の、壁を自動的に増やすみたいなやつと同じなんだけど、Paper2Dでも同じことが出来た」「ちゃんと繰り返しても大丈夫な絵になったんだね」妹「一応上下左右に積み…

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

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

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

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

CanWalkOffLedgeで崖から落ちない、崖の上で折り返す

妹「さらに調査した結果、CanWalkOffLedgeをFalseにすると、床からはみ出しても落ちないというか、そもそもはみ出さないようになることがわかった」「アクションだと落ちるのが普通だけど、アクション要素の無いRPGだと落ちないのが普通だからね。街中なら柵…

カプセルコリジョンを使った時に崖からいい感じに落ちるようにする

妹「カプセルコリジョンは底がまるくなってるから、普通にやると崖っぷちの判定もまるくちゃっちゃうけど、UseFlatBaseForFloorChecksにチェックを入れることでそれは解決できた。でも別の問題があって、この設定だと平面にはなるけど、落ちるかどうかの判定…

レトロゲームプロジェクトの研究④Sokoban編

「今日調べるのは、倉庫番っぽいゲームプロジェクトのSokoban」 内容 タイルベースのフィールド上に置かれた箱を、全て目的地に移動させることを目的にしたパズルゲーム。 上下左右のカーソルキーで移動。 箱を押すことは出来ても引っ張ることは出来ない。 …

レトロゲームプロジェクトの研究③Snake編

imoue.hatenablog.com「今日は妹が特に困ってないので、先日のレトロゲームプロジェクトの研究の続きを」妹「いや非常に困ってはいるんだけどね。複数コリジョンのやつとか……」 ゲーム内容 赤いブロックを上下左右に動かして、星型のアイコン(食料)にぶつ…

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

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

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

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