在我的游戏中,我试图基于手指运动来实现类似这样的滚球动画。
目前,通过正确的矢量旋转,我已经成功地将球朝着前进方向滚动,因此看起来我们正在朝前进方向移动。
现在,基于手指的拖动,我想根据所需的度量将球向左和向右旋转,因此我启用了正向矢量旋转,但无法在向左和向右拖动中生成平滑的旋转。
public class BallMeshRolling : MonoBehaviour
{
private Vector3 ballLastPosition;
void Start ()
{
ballLastPosition = transform.parent.position;
}
void Update ()
{
// ball moving forward animation
float rollingSpeed = Vector3.Distance (transform.parent.position, ballLastPosition) * 30f;
transform.RotateAround (transform.position, Vector3.right, rollingSpeed);
// ball moving left & right animation
float dragDifference = (transform.position.x - ballLastPosition.x) * 30f;
transform.RotateAround (transform.position, Vector3.forward, dragDifference);
ballLastPosition = transform.parent.position;
}
}
按照上面的代码,前进动画运行正常,但左右拖动动画无法正常运行,因此我希望对此进行一些改进。