【发布时间】:2015-10-15 18:12:22
【问题描述】:
[见下面我的回答!感谢 cmets]
在不使用“eulerAngles”的情况下减少/增加角度的最佳方法是什么?
根据我的“Y 轴”,我需要在 30 和 325 之间转换我的变换。
如果小于零,则减小“Z轴”的值,如果增加“Z轴”的值,则更大。
我已经试过了:
if ( airPlanePlayerRigidbody2D.velocity.y < 0 ) {
var rotationVector = airPlanePlayerTransform.rotation;
rotationVector.z -= 2f;
Vector3 vec = new Vector3(rotationVector.x,rotationVector.y,rotationVector.z);
airPlanePlayerTransform.rotation = Quaternion.Euler(vec);
}
还有:
public void Rotate(float angle)
{
airPlanePlayerTransform.Rotate(0, 0, angle); // this rotate forever
}
提前谢谢你。
更新
事实上,我已经有一个代码可以满足我的需要,但是它太长了。我正在寻找一些更简单的。我想要的结果是这样的:
更平滑的动画:Smooth animation down
到目前为止,我可以使用此处发布的 cmets 做些什么:Without animation
【问题讨论】:
标签: c# unity3d transform euler-angles