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

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

PREV | PAGE-SELECT | NEXT

≫ EDIT

UE4 DateTimeからの取得いろいろ(Date Time、Time Span、Get Day Of Year、Get Hour12、Get Time Of Day)

Date Time 構造体から値を取得する方法のいろいろメモです。

Date Time についてはこちらを。

・Date Time
https://docs.unrealengine.com/latest/INT/BlueprintAPI/Math/DateTime/index.html

その日がその年から何日経過した日なのか取得する。
「Get Day Of Year」ノードを使うことで取得することができます。
時間系取得ノード000
上記のようにるしたものを表示するとこんな感じで表示されます。
時間系取得ノード001
2017/05/17は2017/01/01から137日目ということですね!

時間を12時間周期の値で取得する。
「Get Hour12」ノードを使うことで取得することができます。
時間系取得ノード002
上記のようにるしたものを表示するとこんな感じで表示されます。
時間系取得ノード003
18時なので12時間周期だと6時なので6と表示されます。
ここらへんは時計とかの表示する値を作るときに便利かもしれませんね。

その日の夜中から経過した時間を取得する。
「Get Time Of Day」ノードを使うことで取得することができます。
時間系取得ノード004
このノードだけ少し特殊で「Time Span」構造体を返します。
「Date Time」は日時を表すことに使い、「Time Span」は時間を表すことに使うようです。
経過時間であったりですね。

「Time Span」構造体についてはこちらを。

・Time Span
https://docs.unrealengine.com/latest/INT/BlueprintAPI/Math/Timespan/index.html

ちなみに「Date Time」や「Time Span」はこういう特性があるようです。

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

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

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

具体的には、こんな感じ

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


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

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

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


いろいろ特性がありそうですね。
スポンサーサイト

| UE4 | 11:55 | comments:0 | trackbacks:0 | TOP↑

COMMENT















非公開コメント

TRACKBACK URL

http://kagring.blog.fc2.com/tb.php/285-06b65399

TRACKBACK

PREV | PAGE-SELECT | NEXT