妹でもわかるUnrealEngine4

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

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

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

f:id:una_unagi:20170518025743p:plain

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

f:id:una_unagi:20170518024708p:plain

ウィジェットにディスパッチャーを追加すると、それが他のウィジェットに組み込んだ時のイベント欄に出て来る。ボタンを押した時にディスパッチャーの中身を実行するように作っておくと、普通のボタンと同じように自作ウィジェットを扱える」

妹「自動でやってくれないのかな」

「それだとボタンが複数あったりとか時が難しいし、必要ないイベント全部出て来るとじゃまになりそう」

妹「ボタンが複数するある場合はどうするの?」

「ボタンごとに別にクリック用ディスパッチャーを作るか、もしくはディスパッチャーのパラメータで何番ボタンかわかるようにするか、そのへんは自由に作れる」

f:id:una_unagi:20170518025114p:plain

f:id:una_unagi:20170518025121p:plain

「今回はボタンごとに設定したイベントをそのまま実行するだけの、単純な仕組み。押したボタンによって違う文字列が出て来る」

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

f:id:una_unagi:20170516231202p:plain

f:id:una_unagi:20170516231207p:plain

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

妹「じゃん……けん?」

「海外ドラマを見ていると、どうもアメリカでもじゃんけんをやってるらしくて、国際的な感じを醸し出そうかと。でも絵が3枚も必要だし、もっと簡単なやつがよかったかもしれない」

妹「これもう動くの?」

「いや見た目だけの、ただのハリボテ。これに相手の手をランダムで出したり、勝ち負けの判定が出来るようにすれば、原理的にはゲームが作れるはず。ただ表示物をウィジェットで思ったように作るのが結構大変」

妹「Paper2Dじゃダメなの?」

forums.unrealengine.com

「それは出来ればこの期待のプラグインが完成してからにしたい。今はUMGの利点とか限界とかを調べる。とりあえずマウス操作への反応を作るのが簡単なのはいい」

妹がRPGツクールに挫折した時の話

妹「RPGツクールに失敗した時の話も思い出した」

「プレステ版のやつだっけ?」

妹「それもちょっとやったけど、パソコン版のも使ったんだよ。なんだっけ、VX……なんとかという」

「VXAce。あー、そういえばセールだったから妹用のも買っといたような」

妹「で、それを使って、とりあえず主人公を作って、装備品を作るあたりで挫折した。なんというか、靴を4つ履かせたかったんだよ。ケンタウロス的な生物だから。でも装備品の欄が上手く変えられなくて」

「なるほど……」

妹「とりあえず鎧とか盾とか書いてある部分を、靴に変更して、見た目はそれっぽくなったんだけど、結局のところ鎧とか盾とか別ジャンルでしょ? そうすると元々鎧だった靴は、元々鎧だった靴の枠にしか装備出来なくて、これは思ったのと全然ちがうじゃないかと、だいたいそれで挫折した」

「VXAceなら、Rubyスクリプトを書くか、誰かが作ってるのを探してくると丁度いいのあったんだろうけど。例えばこれなんかだとキャラごとに装備欄の数変えられるから、ひとりだけ靴(アクセサリ)を4枠とかも出来そう」

heptanas.mamagoto.com

妹「それだとあんまり自分で作った気がしないというか、足りない部分が出た時に結局困りそうな予感がするというか。そういうゲームが作りたいというよりは、自分でそういう風な仕組みが作りたかったから。そのRuby? とかいうのでわたしが作れるならあれだけど」

RPGツクールRubyを覚えたという人もいるから、それもアリといえばアリだったかも。ただ他人が作ったプログラムの、どこをいじれば思ったように改造出来るかというのは、自作するのとは別のハードルはある。一般的なRubyの入門書とは違うルートになるし、ネット上にはいくつか情報あったと思うけど、それ専用の本とかは出てない」

妹「そんなこんなで、やっぱり自分で1から作らないとダメな気がして、いまUE4にたどりついてるんだけど」

「全部再現して+こだわりの部分とかだったら、やっぱり改造していくやり方がいいと思うけど、こだわりたい部分以外妥協していくやり方なら、1から作った方が早そうな場合はあるね」

妹「UE4でも便利なプラグインを見かけると、肝心なとこが調節出来なくて困りそうだなーと思ってしまう。全部ブループリントで作ってあって、わたしが中身を調べられそうなやつが望ましい」