旋转3d对象时遇到问题。它是一个锁定火箭,应该始终朝向目标,但也应围绕其x轴旋转。
我正在使用以下代码来顺利查看目标:
void SmoothLookAt (Vector3 target)
{
Vector3 difference = target - transform.position;
float rotationZ = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg;
var targetRotation = Quaternion.Euler(0, 0, rotationZ);
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, 5 * Time.deltaTime);
}
我怎样才能让它围绕x轴旋转?
我试图添加
transform.Rotate(Vector3.right * Time.deltaTime * speed);
但没有运气。我的火箭完全拒绝旋转(面向前方的工作)
提前致谢!
答案 0 :(得分:1)
由于您有两种竞争类型的旋转,使它们堆叠的唯一方法是将每个旋转分配给变换层次结构中的变换。做"旋转"部分是"孩子的目标"部分。场景层次结构的变换矩阵将为您完成其余的工作。