1. 旋转:
- Unity 中的旋转用eulerAngle 表示,但在内部是以quaternion存储。
- 欧拉角旋转围绕三个轴进行三次独立旋转,依次是z、x、y。
- To convert from Euler angles to quaternions, you can use the Quaternion.Euler function.
- To convert a quaternion to Euler angles, you can use the Quaternion.eulerAngles function.
2. TargetFrameRate、 vSyncCount
Application.targetFrameRate and QualitySettings.vSyncCount 都是用来控制帧的
targetFrameRate
控制每秒视图渲染多少帧,vSyncCount控制每帧之间刷新屏幕多少次。
- 移动平台忽视 QualitySettings.vSyncCount。仅使用 Application.targetFrameRate 控制帧率。移动平台的最大帧率就是屏幕的刷新率
- VR平台忽视 QualitySettings.vSyncCount 和 Application.targetFrameRate。VR SDK 控制帧率。
- 其它平台,如果设置了
vSyncCount,
就忽视targetFrameRate,帧率通过平台默认帧率除以
vSyncCount
. 比如:默认是60 fps,vSyncCount
is 2,Unity则每秒刷新30次. - Screen.currentSolution 包含当前屏幕的宽高比和屏幕刷新率
3. Time
unity中的time 分为两套,下面是执行逻辑,受Time.scale的影响
- Time.scale 设置为0,即Time.time 不再增加,当update方法还是执行的
- Time.unscaledTime 在 MonoBehaviour's FixedUpdate调用时,返回Time.fixedUnscaledTime,在同一帧中调用的值是一样
- Time.realtimeSinceStartup,在同一帧的值是不一样的,定时器不要用这个,因为可能由于帧率的不稳定导致计时不一样