(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!

    

ゲームの経過時間を取得する GetSimulationElapsedTime【UEFN】【Verse】


このエントリーをはてなブックマークに追加



この記事でのバージョン
Unreal Editor for Fortnite(UEFN) 27.11


はじめに

今回はUEFNのVerseでゲームの経過時間を取得する方法の紹介です!



GetSimulationElapsedTime

さっそくですが、Verseでゲームの経過時間を取得するにはGetSimulationElapsedTimeを使います。



GetSimulationElapsedTimeはゲーム(マップ?)が始まってからの秒数を取得するのメソッドなので、

任意の経過時間を知りたい場合は始まりと終わりで秒数を取得し、その差を計算します。

#起動時にループ開始
OnBegin<override>()<suspends>:void=
    spawn:
        Loop()

#1フレーム間隔でずっとループ
Loop()<suspends> : void=
    #開始時の秒数取得
    beforeTime := GetSimulationElapsedTime()

    #1フレームだけ待つ
    Sleep(0.0)

    #終了時の秒数取得し、経過時間(差)を計算
    afterTime := GetSimulationElapsedTime()
    Print("経過時間 : {afterTime - beforeTime} ({afterTime} - {beforeTime})")

    #次のループ処理へ
    Loop()


ちなみに上記の通りSleep(0.0)を使って1フレーム間隔で処理しようとしても、

約0.0333 = 30FPSでしか処理出来ません。