簡単なiPhone向け3Dゲームを作ろう
iPhone向けの3Dゲーム制作の練習シリーズです。
アンリアルエンジンでiPhone向けの3Dゲーム制作方法をまとめていきます。
細かな数値設定などの説明をしない場合もありますので、ご参考程度で確認ください。
※作業環境:UEバージョン5.5.1 Macbook Pro 2019年モデル iPhone11
私の使用したMacの性能だと、作業中の処理落ち、遅延が頻繁に発生しました。
もし同じような端末を使用する場合は、細目に保存することをお勧めします。
ジャンプアニメーション追加
今回はジャンプのアニメーションを追加していきます。
ジャンプモーションを追加する
「ABP_Player」を開きます。

前回の続きなので「Idle」画面になっていると思うので画面を切り替えます。

画面上の「New State Machine」をクリックします。

「New State Machine」画面を切り替わります。

「ldle」をドラッグして、適当な位置で離し、「Add State」をクリックします。

名前を「Jump」に変更します。

「Jump」をダブルクリックし、画面を切り替えます。

「Asset Browser」のジャンプアニメーションをドラッグ&ドロップします。

今回だと「Anim_2_rig」になります。
配置した「Anim_2_rig」と「Output Animation Pose」を繋げます。

「Compile」をクリックします。

クリックすると下の写真のように警告マークが出ますので、改善していきます。

ジャンプモーション移行条件を追加する
「New State Machine」画面に切り替えます。

「New State Machine」画面です。

「Idle」と「Jump」の間にあるシンボルマークをダブルクリックします。

どのような条件でアニメーションを切り替えるかを設定する画面になります。

「Result」に「WARNING!」のメッセージが出ていますので、ここを改善していきます。
「My Blueprint」の「VARIABLES」の横の「+」をクリックし、変数を追加します。

こんな感じに追加しました。

変数名「InAir」、変数型「Boolean」です。
作成した変数をドラック&ドロップします。

「Get InAir」にするか「Set InAir」にするか選択する画面が表示されるので、「Get InAir」を選択します。

ゲットノードが配置されます。

「In Air」ノードと「Result」ノードを繋ぎます。

これで「Compile」し直すと、正常なマークに変わります。

待機中のモーション移行条件を追加する
次にジャンプから待機中のアニメーションに切り替える条件を追加していきます。
「New State Machine」画面に切り替えます。

「Jump」ノードから線を引っ張って「Idle」ノードに繋げます。

「Jump」から「Idle」の間に新しいシンボルマークが出来るので、これをダブルクリックします。

この画面に切り替わります。

「VARIABLES」に「In Air」変数があるので、先ほどと同じようにノードを配置します。

こんな感じです。

「In Air」から「NOT Boolean」ノードを呼び出します。

こんな感じで配置できます。

「NOT Boolean」ノードと「Result」ノードを繋げます。

ここまでで、キャラクターが浮いている時はジャンプを、地面についている時は待機中アニメーションを実行する準備ができました。
浮いているかどうかの条件を追加する
まだキャラクターが浮いているかどうか判断する設定していないので、設定していきます。
画面上の「Event Graph」タブをクリックします。

この画面に切り替わります。

配置されている「Try Get Pawn Owner」ノードから「Get Movement Component」ノードを呼び出します。

「Get Movement Component」が配置できました。

「Get Movement Component」ノードから「Movement」の「Is Falling」ノードを呼び出します。

「Is Falling」ノードが配置できました。

「VARIABLES」内にある「In Air」変数をドラック&ドロップします。

今回は「Set InAir」を選択します。

「Is Falling」ノードと「In Air」ノードを繋げます。

「In Air」ノードと「Event BlueprintUpdateAnimation」ノードを繋げます。

「Compile」します。

「Compile」するとこんな感じになります。

ここではキャラクターの動きを取得して、空中にいるかどうかを判定しています。
これで設定完了です。
テストプレイで、ジャンプできるか確認します。
ジャンプのボタンは「スペース」キーです。
キーの割り当ては、こちらの記事を確認してください。

ジャンプアニメーション追加完了
今回はここまでです。
次回は「移動アニメーションを追加する」です。
前後記事
他の記事を探す
他の記事も気になる方は、以下の記事の目次を確認ください。