Help us understand the problem. What is going on with this article?

【UE4】SideScrollerテンプレートのSideScrollerCharacterに180度ターンを簡単に実装

More than 1 year has passed since last update.

久しぶりに記事を書きます。UE4初心者向けのかゆい所に手が届く内容です。
SideScrollerテンプレートのSideScrollerCharacterに、180度ターンを簡単に実装する記事です。

SideScroller ターン時の問題点

UnrealEngine4で3Dのサイドスクロールゲームを作成する時に、大多数の人がSideScrollerテンプレートを使うと思われます。
SideScrollerテンプレートはデフォルトで2Dのように移動、ジャンプが実装されているため、自分もサイドスクロールゲームを作成する時はよく使用します。

ただ、このSideScrollerテンプレート、絶妙に困る部分が一つあります。
それは逆を向く時です。

side.gif

こんな感じで、向いてる方向と逆に向きたい場合、このGIFのように正面を向いてターンをするようになっているので、ボタンを押したらすぐに逆を向いてほしい場合には適しません。

なので、これを解決するためにSideScrollerCharacterに、簡単な180度ターンを入れてしまいましょう。

UE4フォーラムの3D Sidescroller: How to make a character turn in instant 180° intervals?を元に実装しています。

今回はBluePrintで実装しています。

180度ターン(SideScroller限定)

さっそくサイドスクロール用の180度ターンを実装しましょう。

まず、SideScrollerCharacterを開きます。
位置がわからない人は、以下の画像を見てください。
フォルダ.png

修正を加えるのは、イベントグラフのMovement inputとコメントされている部分です。
MovementInput.png

Axis MoveRightインプットイベントの修正に入る前に一つ、180度ターンを処理を行う関数を作成しましょう。

関数作成

関数を作成します。関数の部分にある+のボタンをクリックして、関数を作成します。
以下は、関数名の例です。
関数.png

次にインプットにFloatの変数ピンを一つ追加します。
以下は名前の例です。
インプット.png

最後に関数を以下の画像のように実装します。
BP.png
SweepとTeleportのチェックを入れているのは、一応プレイヤーが壁等を通過してしまう可能性を考慮にいれたのと、直ぐに逆を向いてしまうのでテレポートさせて変な物理の粗ぶり等を防ぐためです。

Blueprintueにソースをコピペして貼り付けられるものを作成したので、使うようであればこちらからジャンジャン使ってください
SideScroller180Rotate

インプットイベント修正

次にAxis MoveRightインプットイベントに、先ほど作成した関数を呼び出すように、以下のように修正します。
EG.png

こちらもBlueprintueにソースをコピペして貼り付けられるものを作成したので、使うようであればこちらからジャンジャン使ってください
SideScroller180RotateInputEvent

実装結果

上記を実装すると、以下のようにすぐに逆を向くようになりました。やったね!
side2.gif

これで地味に物足りない部分が簡単に解決しました。
ゲームによってはすぐに逆を向いてほしいというのもあるので、ここに書かれているのを参考にサクッと180度ターンを実装してしまいましょう。

YuukiOgino
元ソシャゲーのおくりびと。 こちら知人のサイトです。SESに特化したエンド直高単価案件サイト: https://zob.zooa.co.jp/?utm_source=qiitao&utm_medium=social
http://oginoyuki.wp.xdomain.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away