首页 > 解决方案 > 滚球动画无法正常工作 - Unity 游戏

问题描述

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

赶上(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;
}
}

根据上面的代码,前向动画运行正常,但左右拖动滚动动画无法正常运行,所以我希望对此进行一些改进。

标签: unity3d

解决方案


推荐阅读