【发布时间】:2018-05-29 12:09:38
【问题描述】:
我正在制作一个飞机游戏,我需要改变飞机的偏航角。
我正在尝试保存前一帧的 transform.eulerAngles 并将它们推回转换的本地空间,以便我可以捕获更改。我正在尝试transform.InverseTransformXXXXX,但它似乎不起作用。
private float _GetChangeInYawAngle()
{
float yaw = transform.InverseTransformDirection(m_lastForwardParented).y;
yaw = yaw > 180 ? yaw - 360 : yaw;
m_lastForward = transform.parent.eulerAngles;
return yaw;
}
【问题讨论】:
-
您需要澄清您的意思 - 飞机的偏航通常是机头指向左侧或右侧相对于飞机框架的速度(即您使用相同数量的方向舵纠正给定的偏航,而不管滚动或俯仰),您的代码中都没有提到。我们不知道变换或前进是平面到世界还是速度到世界或平面到速度。
标签: unity3d math vector quaternions euler-angles