Unity C# | Time & time & deltaTime

更新 發佈閱讀 3 分鐘

前言

  這篇文章將會講述時間系統,以及 time 和 deltaTime 兩個時間類型。

Time | 時間系統

  時間在遊戲中是舉足輕重的核心變數,分別為遊戲完整的時間和每幀時間。

time | 時間

  這是一個唯獨浮點數,自遊戲啟動以來的秒數,在 Awake() 期間並不會被定義,如果遊戲暫停,這個時間並不會繼續計時,通常用於遊戲中關於整場遊戲計時的計算。

  它在遊戲暫停的時候,也會隨之暫停,所以很適合用於競速類遊戲的倒數計時計算,如果希望記錄遊戲完整時間(包含暫停),在後面我們最講到這部分。

deltaTime | 每幀時間

  這是一個唯獨浮點數,值為上一幀到當前幀的間隔(以秒為單位),因此它會記錄每幀所花費的秒數,使用 Time.time

運用它的特性,我們可以用來製作計時器和倒數裝置,也能很好的紀錄某些技能的時間變化,是相當常用的一個變數。

  在使用 OnGUI 的時候不要使用 deltaTime,因為 Unity 可能每幀會多次呼叫它,因此要做 deltaTime 的累加會變得不準確。

Time.time | 時間

  這是一個唯獨浮點數,可以記錄時間,並檢查時間是否超過某個時間,運用這個方式,能製作出「當遊戲經過幾分鐘,觸發事件。」這種事情。

遊戲遊玩時間

  遊戲在遊玩的過程中,Time 會持續累加,因此只要監測這個值的變化就可以了,也可以直接運用這個值去做數值運算,不過因為是唯獨的關係並不能直接修改這個值。

遊戲實際時間

  如果希望取得包含暫停時間在內的所有遊戲實際時間,可以考慮使用另外一個變數「realtimeSinceStartup」,它會記錄遊戲從開始後的所有時間,很適合記錄遊戲實際時間。

Time.deltaTime | 每幀時間

  每一幀的時間,可以用於累加,產生不同的效果。

每幀時間

  當電腦的效能不同,時間的累加就會產生不同的數值,因此去算每幀時間的累加會比時間的監測更好用,同時,每幀時間也能製作出程式動畫的效果,因為它是每幀的秒數,所以可以寫每秒動幾公尺的做法下去寫。

計時器

  關於計時器,我之前有寫一篇文章很適合,詳情可以參考。

《Unity C# | 每禎時間Time.deltaTime & 基礎計時器》

後記

  寫這篇文章意外的花不了多久的時間,可能是因為 deltaTime 本身就是相當常用的一個變數,所以只需要補齊相關的程式內容即可。

瓶裝雪

想了解我更多嗎?

參考資料

《Unity API | Time.time》

《Unity API | Time.realtimeSinceStartup》

《Unity API | Time.deltaTime》


留言
avatar-img
留言分享你的想法!
avatar-img
瓶裝雪的沙龍
114會員
247內容數
你好,我是瓶裝雪!我是一名遊戲設計師!
瓶裝雪的沙龍的其他內容
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
看更多
你可能也想看
Thumbnail
蝦皮分潤計畫讓我在分享旅遊文章時,也能透過推薦好物累積被動收入,貼補旅行基金。這篇文章,除了介紹計畫的操作亮點與心得,也分享我最常應用的案例:「旅行必備小物 TOP5」,包含行李鎖、免洗內衣褲、分裝瓶、折疊衣架與真空壓縮袋,幫助出國打包更輕鬆。想同時記錄旅行、分享好物又創造額外收入的你,千萬別錯過!
Thumbnail
蝦皮分潤計畫讓我在分享旅遊文章時,也能透過推薦好物累積被動收入,貼補旅行基金。這篇文章,除了介紹計畫的操作亮點與心得,也分享我最常應用的案例:「旅行必備小物 TOP5」,包含行李鎖、免洗內衣褲、分裝瓶、折疊衣架與真空壓縮袋,幫助出國打包更輕鬆。想同時記錄旅行、分享好物又創造額外收入的你,千萬別錯過!
Thumbnail
想增加被動收入?加入蝦皮分潤計畫是輕鬆上手的好方法!本文提供完整教學,包含申請流程、賺取分潤技巧,以及實際使用心得分享,助你輕鬆獲得額外收入。
Thumbnail
想增加被動收入?加入蝦皮分潤計畫是輕鬆上手的好方法!本文提供完整教學,包含申請流程、賺取分潤技巧,以及實際使用心得分享,助你輕鬆獲得額外收入。
Thumbnail
這篇文章將會講述 Unity 中電影序列工具「時間軸(Time line)」的常見用途與介面配置。
Thumbnail
這篇文章將會講述 Unity 中電影序列工具「時間軸(Time line)」的常見用途與介面配置。
Thumbnail
這篇文章將會講述 Unity 中協程(Coroutine)的基本介紹,分享一些關於協程的應用方向,最後並總結簡單撰寫協程的步驟。
Thumbnail
這篇文章將會講述 Unity 中協程(Coroutine)的基本介紹,分享一些關於協程的應用方向,最後並總結簡單撰寫協程的步驟。
Thumbnail
這篇文章將會分析時間,從時間的觀點再到時間的意義,最後介紹時間的各種操控,分享在遊戲設計中對時間的操作。
Thumbnail
這篇文章將會分析時間,從時間的觀點再到時間的意義,最後介紹時間的各種操控,分享在遊戲設計中對時間的操作。
Thumbnail
這篇文章將會講述子彈時間、暫停時間相關的時間規模。
Thumbnail
這篇文章將會講述子彈時間、暫停時間相關的時間規模。
Thumbnail
這篇文章將會講述時間系統,以及 time 和 deltaTime 兩個時間類型。
Thumbnail
這篇文章將會講述時間系統,以及 time 和 deltaTime 兩個時間類型。
Thumbnail
我一直在找尋測量時間的真正方法,在我走進國小的教學中,我在教導孩子自然課的歷程,我一直很認真的思考一個問題:時間長度的正確演算法。 為何我會想知道這個答案呢?我想是人都會在某個瞬間意識到時間的存在,可其實我們真的會一直注意到時間的流逝嗎?想著想著我打算用文學的力量重新詮釋我所認為時間長度的演算方法。
Thumbnail
我一直在找尋測量時間的真正方法,在我走進國小的教學中,我在教導孩子自然課的歷程,我一直很認真的思考一個問題:時間長度的正確演算法。 為何我會想知道這個答案呢?我想是人都會在某個瞬間意識到時間的存在,可其實我們真的會一直注意到時間的流逝嗎?想著想著我打算用文學的力量重新詮釋我所認為時間長度的演算方法。
Thumbnail
這篇文章將會講述場景 (Scene) 轉換的程式,將會介紹載入場景的兩種主要方法,並且詳細介紹同步載入的程式與範例。
Thumbnail
這篇文章將會講述場景 (Scene) 轉換的程式,將會介紹載入場景的兩種主要方法,並且詳細介紹同步載入的程式與範例。
Thumbnail
這篇文章我將會講述關於 Update 相關的函式,並介紹他們在遊戲設計中所代表的地位,當未來需要使用時可以回來參考這篇文章。
Thumbnail
這篇文章我將會講述關於 Update 相關的函式,並介紹他們在遊戲設計中所代表的地位,當未來需要使用時可以回來參考這篇文章。
Thumbnail
本文章將介紹Unity產品生命週期的一部分,並提供使用範例程式碼。
Thumbnail
本文章將介紹Unity產品生命週期的一部分,並提供使用範例程式碼。
Thumbnail
這篇文章會介紹一個靜態浮點數Time.deltaTime,並教導你製作計時器,以及計時器的相關知識與使用建議。
Thumbnail
這篇文章會介紹一個靜態浮點數Time.deltaTime,並教導你製作計時器,以及計時器的相關知識與使用建議。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News