【发布时间】:2016-08-17 07:21:40
【问题描述】:
我正在尝试根据用户输入(例如键盘左/右箭头)旋转对象(在一个轴上)。我正在使用 Rigidbody 和方法 MoveRotation。
所以在FixedUpdate 中,我正在使用Mathf.Lerp 创建与帧无关的角运动。
rotation = Mathf.Lerp(rotation, rotation + input, Time.deltaTime * speed)
但这是线性的,我想平滑这个旋转(例如Sine.easeIn),所以它开始慢慢旋转,过了一会儿它就完全旋转了。
在 Unity 中,将补间与用户输入和帧独立性相结合的最佳方式是什么。 (我想我不能使用像 DOTween 或 iTween 这样的库,因为不知道补间的时间。
【问题讨论】:
-
您想在某个点限制旋转还是继续加速?您还必须使用补间还是考虑物理引擎?
-
假设我想在某个时候设置它的上限(也可以使用
tweening),但是这个可调整的上限不是我主要关心的问题。我想使用纯数学(但知道两种解决方案都会很好) -
你检查我提供的答案了吗?