1. 回転:
- Unity の回転は eulerAngle で表されますが、内部的にはクォータニオンとして保存されます。
- オイラー角回転は、z、x、y の 3 つの軸の周りで 3 つの独立した回転を順番に実行します。
- オイラー角からクォータニオンに変換するには、関数Quaternion.Eulerを使用できます 。
- クォータニオンをオイラー角に変換するには、 Quaternion.eulerAngles 関数を使用できます。
2. TargetFrameRate、vSyncCount
Application.targetFrameRate と QualitySettings.vSyncCount は
targetFrameRate
どちらも 、ビューが 1 秒あたりにレンダリングするフレーム数を 制御するために使用されます。vSyncCount控制每帧之间刷新屏幕多少次。
- モバイル プラットフォームは、 QualitySettings.vSyncCountを無視します。フレーム レートの制御にはApplication.targetFrameRateのみを使用してください 。モバイル プラットフォームの最大フレーム レートは画面のリフレッシュ レートです
- VR プラットフォームは、 QualitySettings.vSyncCount と Application.targetFrameRateを無視します。VR SDK はフレーム レートを制御します。
- 他のプラットフォームでは、 set の場合は
vSyncCount,
無視されますtargetFrameRate,帧率通过平台默认帧率除以
vSyncCount
。例: デフォルトは 60 fps、vSyncCount
2 の場合、Unity は 1 秒あたり 30 回更新します。 - Screen.currentSolution には、現在の画面のアスペクト比と画面リフレッシュ レートが含まれます
3. 時間
Unity の Time は 2 つのセットに分かれており、Time.scale の影響を受ける実行ロジックは次のとおりです。
- Time.scale は 0 に設定されます。つまり、更新メソッドがまだ実行されている間、Time.time は増加しません。
- Time .unscaledTime は、 MonoBehaviour の FixedUpdate が呼び出されたときにTime.fixedUnscaledTimeを返します。同じフレームで呼び出された値は同じです。
- Time.realtimeSinceStartup では、同じフレーム内の値が異なりますが、フレームレートが不安定でタイミングが異なる可能性があるため、タイマーには使用しないでください。