在我的游戏中,我试图实现基于手指运动的滚动球动画。
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;
}
}