我正在尝试用Marhf旋转一个对象。乒乓球,但有时太快,有时太慢。
`
private void Hit(InputAction.CallbackContext context)
{
if (context.started)
{
StartCoroutine(RotatingSword());
}
}
IEnumerator RotatingSword()
{
do
{
t = Mathf.PingPong(Time.Time * rotationSpeed, 1);
Debug.Log(t);
transform.rotation = Quaternion.Slerp(Quaternion.Euler(0, 0,defaultRot),
Quaternion.Euler(0, 0,defaultRot - rotateAngle),t);
yield return new WaitForEndOfFrame();
}
while (t > 0.1f);
}
`
我先试了一下旋转速度,但它只停留在1。然后我试了一下时间。固定时间,但它仍然不工作。
1条答案
按热度按时间vql8enpb1#
帧可能需要不均匀的时间来渲染,以补偿,倍增您的步长时间。deltaTime