凛(kagring)のUE4とUnityとQt勉強中ブログ

2016 年から UE4 を触り始めました。勉強したもののメモ用のブログです。C++ での Qt、Unity も少しあります。

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE4 ワールドの時間速度(ゲームスピード)を早くしたり遅く(スローモーション)したりする(Set Global Time Dilation、Custom Time Dilation、Execute Console Command の slomo コマンド)

ワールドの時間速度(ゲームスピード)を変更するための方法です。
全体的に早送りをしたり、スローモーションなどを実装するときに使えそうです。

こちらを参考にさせていただきました。

・UE4小ネタ : 制限時間の実装方法を色々と
http://pafuhana1213.hatenablog.com/entry/2015/11/21/014427

ゲームスピード制御は以下の三つのノードを使うことでできるようです。
「Set Global Time Dilation」
「Custom Time Dilation」
「Execute Console Command の slomo コマンド」


「Set Global Time Dilation」ノードはそのまま係数を指定します。
スローと早送り000
「Time Dilation」には係数を指定します。
1.0で等倍、2.0で倍速みたいになります。0.1などを指定するとスローモーションですね。

「Custom Time Dilation」に対してセットするノードもそのまま係数を指定します。
スローと早送り001
こちらも1.0で等倍、2.0で倍速みたいになります。0.1などを指定するとスローモーションですね。
ただ、自分のところで実行してみたらうまく動きませんでした。
ちょっと謎です…。

「Execute Console Command」で「slomo」コマンドを実行する方法です。
スローと早送り002
「Execute Console Command」で「slomo 速度係数」を実行します。
こちらも「Set Global Time Dilation」と変わらずに係数を指定します。
1.0で等倍、2.0で倍速みたいになります。0.1などを指定するとスローモーションですね。

ちなみにこれらの速度変更したものに対して、以下のようなことがあるようです。

スローモーションや早送りを実装する際、
「Set Global Time Dilation」ノード、「Set Custom Time Dilation」ノード、
または、「slomo」コマンドによる処理速度の変化を使用すると思います。

実は、これらを使用すると、
先ほどまで紹介してきた計測手法の一部では
処理速度の変化の影響を受けてしまい、正確な時間を測れなくなります。

具体的には、こんな感じ

影響を受ける
Delta Sceonds
Delay
影響を受けない
Set Timer
TimespanとDatetime


じゃあ【Set Timer】と【Timespan、Datetime】だけ使えばいいのか、
というと、そうではない時もあります。

例えば、「スローモーション中は残り時間の減り方もスローに」
という演出をしたい場合は、影響を受けない手法だと色々と面倒です。

つまり、用途に応じて使い分ける必要があるということです。


ここらへんを理解して使えるとよさそうですね。
早送りはともかく、スローは結構演出で使うと思います!

スポンサーサイト

| UE4 | 12:17 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/286-77e88074

TRACKBACK

PREV | PAGE-SELECT | NEXT