1. GetVelocity获得速度的vector
2. 使用RotationFromXVector和速度的vector得到世界坐标系里速度向量和世界坐标系X轴的夹角
虽然,RotationFromXVector返回的是一个rotation,但实际上只有Yaw值有效,因为Yaw(围绕Z轴的偏转角)
即为速度vector和X轴的夹角。
3. GetActorRotation或者GetWorldRotation获得世界坐标系里,角色的pitch,yaw,roll的角度值,
实际我们只关心yaw。
4. 将上面获得的角度值使用InvertRotator反转一下,也就是如果上面的yaw是90度,反转后为-90度。
5. 将RotationFromXVector和InvertRotator得到的rotatotion使用CombineRotators组合后即可得到角色坐标系里
速度vector和X轴的夹角即yaw的度数。
总结:
实际就是如果GetActorRotation获得的是90度夹角,那么RotationFromXVector就得减去90度,这样就能获得
角色坐标系里的夹角了。这也就是InvertRotator的作用。也就是说,使用速度到世界坐标X轴夹角的角度加上
角色坐标系X轴和世界坐标系X轴的夹角乘上负一,就可以得到速度在角色坐标的X轴夹角。因为速度到世界
坐标X轴夹角的角度实际上是速度在角色坐标系X轴的角度和角色坐标系X轴与世界坐标X轴角度的和。