滚球动画无法正常工作-Unity游戏

时间:2018-10-24 09:41:31

标签: unity3d

在我的游戏中,我试图基于手指运动来实现类似这样的滚球动画。

Catch Up (Ketchapp)

目前,通过正确的矢量旋转,我已经成功地将球朝着前进方向滚动,因此看起来我们正在朝前进方向移动。

现在,基于手指的拖动,我想根据所需的度量将球向左和向右旋转,因此我启用了正向矢量旋转,但无法在向左和向右拖动中生成平滑的旋转。

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;
}
}

按照上面的代码,前进动画运行正常,但左右拖动动画无法正常运行,因此我希望对此进行一些改进。

0 个答案:

没有答案