【UE4】Part21 湖を泳げるようにする

Part20では湖を配置しましたが、実際はハリボテで、湖の上を歩けるものでした。

今回は、湖を泳げるようにしていきたいと思います。

目次

初めての方に

アンリアルエンジンの記事では、初心者がアンリアルエンジンの勉強をのんびりしていき、最終的にはゲームを完成させる目的で、記事をあげていっています。紹介する手法が必ずしも最適な方法とは限りませんので、ご了承ください。

また、ゲーム完成まで温かく見守っていただけると幸いです。

湖の上を歩けないようにする

まず、湖を当たり判定を消して、湖の上を歩けないようにしてみます。

湖を選択して、WaterSurface(継承)を選択します。

コリジョンプリセットがBlockAllDynamicになっているので、No Collisionを選択します。

なぜか、Customに変わったので、無視するにチェックします。

とりあえず、これで水の中には入れるようになりました。

水中の設定を入れる

とりあえず水の中に入ることができましたが、見た目上の話だけであって、中では普通に歩けますし、ジャンプもできます。

今回目指すところは、水の中に入ったら、泳ぐようにしたいです。

なので、まず水中にいるという判定を追加する必要があります。

アクタを配置のボリュームの中から、物理ボリュームを選択して、ドラッグして入れます。

立方体の箱ができました。

詳細の画面のキャラクター移動の項目のWater Volumeにチェックを入れます。

これにより、この立方体の中は、水の中と認識されます。

ブラシセッティングの項目のX Y Z を変更して、湖と同じサイズにします。

こんな感じにしました。

あとは、Zの位置を調整して、上手く水面と一致するように配置します。

これで、水の中を歩くと少し遅くなってるのがわかるかと思います。

ただ、泳ぐモーションを準備していないので、わかりづらいですね。

泳ぐモーションを設定する

問題は、泳ぐモーションの設定です。

色々調べたのですが、アニメーションがマーケットプレイスで有料で売られてるくらいで、あまり情報がありません。

しかしながら、Youtubeで解説動画があったので、紹介させて頂きたいと思います。

やり方も全部説明されているのですが、全部英語なので、簡単にまとめさせていただきます。

Youtube説明欄のリンクから、泳ぎモーション・待機モーションのFBXをダウンロードする

コンテンツブラウザにインポートする

インポート時には、スケルトンを設定すること。

コンテンツブラウザを右クリックして、ブレンドスペース1Dを作成する

ここでもスケルトンを間違えないように注意

作成されたファイルをダブルクリックする。

以下の図のようにドラッグして配置する。(Idleが左側、fwdが右側)

名前とMaximum Axis Valueを変更します。

移動速度がMaximum Axis Value以上になったとき、完全にfwdのアニメーションとなり、0~299の間はブレンドして徐々にアニメーションが変わるようです。

コンテンツブラウザからMannequin > Animations > ThirdPersion_AnimBPを開く

右下に先ほど作成したブレンドスペース1Dのファイルがあるので、ドラッグして入れる。

上記のようにブループリントを作成する

IsSwimmingはBool型の変数を作成。

IsSwimmingがTrueかFalseによって、使うアニメーションを切り替える設定のようです。

イベントグラフを開き、以下のブループリントを追加する

後ほど使用するGetCharactor関数を作成するようです。

一番右側のセットは、As Charactorから線を引っ張って、「変数へ昇格」で作成

赤枠の部分を追加する(Get Charactor)

右下の部分に以下のように追加する

右から2つ目のは、イコールです。

これで、水中にいる場合は、泳ぐアニメーションに変りました。

まとめ

今回は、水中に入り、泳げるように設定しました。

意外と泳ぐ情報がなく、調べるのに苦労しました。

Youtubeで探しても、日本語の解説動画より英語の解説動画の方が圧倒的に多く、欲しい情報を探すのに苦労します。

これからも役立ちそうな情報があれば、紹介していきたいと思います。

目次