當我單擊播放按鈕時,我開始注意到旋轉速度比游戲物件的正常游戲視窗快得多。在最大化視圖中玩家跳躍也更強。游戲:3d 我感謝你的幫助。這是代碼:
{
transform.Rotate(0, 0.07f, 0);
}
uj5u.com熱心網友回復:
因為您的代碼完全取決于幀速率!這意味著如果你以每秒 60 幀的速度運行,你會得到大約4.2每秒的度數..但是如果由于某種原因你突然以每秒 120 幀的速度運行,你的旋轉速度會快兩倍!
這不僅會發生在編輯器本身中,而且特別是在構建的應用程式中,該應用程式很可能會在稍后在不同強度的設備上運行。
您總是想使用Time.deltaTime- 自上一幀以來經過的時間 - 以確保您的值不在value per frame而是value per second
transform.Rotate(0, 5f * Time.deltaTime, 0);
您將希望根據您的需要調整該值,當然5現在實際上意味著5 degrees per second無論幀速率如何。
(Time.deltaTime仍然依賴于Time.timeScale,因此在某些用例中您甚至需要Time.unscaledDeltaTime它顧名思義忽略時間刻度并使用實際秒數)
在您的特定情況下發生的情況很可能是在最大化的 GameView 中,您可以每秒渲染更多幀,因為性能完全集中在 GameView 上并跳過所有檢查器、SceneView(可能是最強的影響)、HierarchyView 等重繪開銷。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/393334.html
標籤:统一3d
