アルゴンUE4/UE5&アプリ開発日記

UE4/UE5の機能やプラグインを紹介します。初心者や中級者向けになってます!!

【UE4小ネタ】スローモーション実装方法について考える

様々なスローモーションを考える(*'▽')

今回は小ネタになりますが、

様々なスローモーションの実装についていろいろ紹介したいと思います。

UE4.27.2を使用しています。

間違いや誤字脱字等ありましたらコメント等いただけますと幸いです。

コマンドで行う方法

まずはコマンドで全体にスローモーションをかける方法になります。

コマンドの「Slomo 〇〇(数値)」というコマンドを入力すると、

1以上で早送りで0.5などを設定するとスローモーションが実行されます。

実行中に@キーを押すとコンソールコマンドを入力できます(デフォルトの場合)

コンソールコマンドで実行

コンソールコマンド入力のショートカットはエディタの環境設定で変更可能です。

スタートメニューのエディタの環境設定の場所

エディタのコンソールで検索するとショートカット設定が表示されます。

エディタの環境設定でのショートカットキー変更

BP上でコマンドを行う処理を動作させることで実行できたりします。

※コンストクタスクリプトでは動作しないので注意してください!

コマンドを実行するBP

・目次に戻る

用意されているBPで行う方法

BPの方で用意されているのは2つありまして、

ゲーム全体の流れるスピードを決めてるGlobalTimeDilationの数値を変更する方法と、

Actorごとの個別に設定するCustomTimDilationの数値を変更する方法があります。

※全体にスローモーションを設定する方法

 コンストクタスクリプトでは動作しないので注意してください!

SetGlobalTimeで変更する方法

全体のスローモーションを行う場合はSetGlobalTimeDilation関数を使います。

こちらはUGamePlayStaticsクラスで用意されています。

クラスを理解していると開発の幅が広がるかなと思うのでリンク張っておきます。

※Actor個別にスローモーションを設定する方法

CustomTimeDilationでActor個別のスローモーション

Actor個別のスローモーションを行う場合はActor側で用意されている、

CustomTimeDilation変数に数値をセットする形になります。

AActorClassの方に用意されている変数ですが各キャラクターのClassで、

AActorを継承しているため使用できています。

CharacterClassの各関数もこちらに記載があるのでよかったらどうぞ。

以上が用意されたBPを使用したスローモーションの実装になります。

・目次に戻る

キャラクターの動きを編集して行う方法

最後に紹介する方法はキャラクターのアニメーションや動作スピードなどを、

変更することでスローモーションにさせるというものです。

※端的に言えばただの力業です・・・

ただパラメーターを変更ことなので、
例えばキャラの一部分だけスローにしたいとか細かい部分の、

スローモーションを実装する時には少しは役に立つのかな???と思い書きました。

スローモーション用のCharacterパラメーター編集

実際に設定したパラメータはこんな感じです。

CharacterMovement内で解決するパラメータでできるので案外簡単です。

実際に動作させたものはこんな感じです。

以上がキャラクターの動きを編集して行う方法でした。

・目次に戻る

最後に

今回はスローモーションに特化した小ネタを書いてみました。

個人的な意見ですが各アクター個別に設定できる、CustomTimeDilationで設定して

力技がいるぐらい細かい設定をするときは自身で調整するのがいいのかなと思います。