徳島ゲーム開発ごっこ 技術ブログ

ゲームを作るために役に立ったり立たなかったりする技術を学んでいきます!

【UE4】ぷちコンに参加したくて #03 この人どうやって動いているの?

 前回バージョン管理の設定も終わったので、今回からがっつりUnrealを触ってゲームを作っていきましょう。
 ただ、何からやっていけばいいのでしょうか。

 う、うーむ。

 とりあえず、ThirdPersonテンプレートをいじれるだけいじっていきましょう。


この記事にはUnrealEngine4.15.0を使用しています。

 Unrealのドキュメントを開きながらいろいろ触っていきましょうか。

docs.unrealengine.com

 とりあえず、このThirdPersonテンプレートを実行したらどうなるのかを見ておきましょう。

f:id:urahimono:20170225171218p:plain
f:id:urahimono:20170225171240g:plain

 おお、私のキーボードとマウス入力に合わせてキャラクターが良い感じに動いていますね。

 ただこのキャラクター、どうやって動いているのだろうか。
 普段ならコードから制御方法を調べていくところだけど、Unrealの場合、噂のアレを使って制御してるんだよね、多分。
 調べていきましょうか。

 えーと、とりあえずこのレベル内にあるオブジェクト……、じゃないやアクタでしたっけ、の一覧が出したいですね。

docs.unrealengine.com

 ドキュメントを見る限り、ワールドアウトライナーを見ればいいみたいですね。

docs.unrealengine.com

f:id:urahimono:20170225171424p:plain

 えーと、この中でキャラクターはどれかな。
 恐らくThirdPersonCharacterではないかと思われますが。

f:id:urahimono:20170225171433p:plain

 当たりですね。
 選択したら、ビューポート内のキャラクターが表示状態になったので、間違いないでしょう。

docs.unrealengine.com

 で、どうすればいいんだ。
 とりあえずマウス右クリックだ。

f:id:urahimono:20170225171501p:plain

 そして、この中で一番編集するであろうメニュー、Edit ThirdPersonCharacterを選んでみますよ。

f:id:urahimono:20170225171514p:plain

 出ましたよ。
 噂のアレことブループリントですよー。右下にそう書かれているので間違いないでしょう。

 わーい、楽しそー。

 いろいろこのブループリントを眺めていたのですが、処理の流れはわかってもこれがどうしてキャラクターの移動制御になるかがわかんない!
 わからんのは、入力と結果ですよ。座標を動かしている気がしないのですが。

 まず動作の開始部分である、入力から見ていきましょう。
 入力関連と思われるノードがInput○○という名前でちらほら見受けられます。

f:id:urahimono:20170225171533p:plain

 このノードのDetailsメニューを見てみましょう。
 おそらく、「Spaceキー」やら「マウス左ボタン」やら入力の種類を決める項目があるはずです。

f:id:urahimono:20170225171540p:plain

 うん、無いね。
 とてもすっきりしたパラメータ群だね。

 じゃあ、このノードの入力の種類はどこでどうやって決めているというんだ……。

 …。
 ……。
 ………。

 我々スタッフが一生懸命、一生懸命捜しました。
 入力見つかりましたよ。

f:id:urahimono:20170225171603p:plain
f:id:urahimono:20170225171609p:plain

 ProjectSettingsだったか。

 ありますね。
 ProjectSettingsInputの項目に、ノードと同じ名前の入力名が!

 ということは、ここに新たに追加すれば新しいノードクラスが生まれるのでしょうか。

f:id:urahimono:20170225171626p:plain
f:id:urahimono:20170225171638p:plain
f:id:urahimono:20170225171646p:plain

 出来ました出来ました。
 実際にチームで作業する際に、こんな意味不明な入力名があったら鉄拳制裁ものですが、少なくとも先ほどInputの項目に追加すれば新しい入力方法を追加できるみたいですね。

 さて、次はこの受けてつけた入力情報をどのように使うのかを調べていきます。