unity3d - 滚球动画无法正常工作 - Unity 游戏
问题描述
对于我的游戏,我试图基于手指运动来实现类似这样的滚球动画。
目前,我通过右矢量旋转成功地在向前方向滚动球,所以看起来我们正在向前方向移动。
现在基于手指拖动,我想根据所需的度量来左右旋转球,所以我打开了正向矢量旋转,但无法在左右拖动中生成平滑的旋转。
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;
}
}
根据上面的代码,前向动画运行正常,但左右拖动滚动动画无法正常运行,所以我希望对此进行一些改进。
解决方案
推荐阅读
- r - 将数据转换为季度回报
- excel - MS 项目 VBA - 在 Excel 中设置格式
- java - 将本地 Maven 项目发布到本地 Gradle 存储库
- ms-access - ms访问无效IDA错误7879的解决方法
- python - 乳胶的熊猫样式选项
- reactjs - 我有两组用于两种不同形式的输入字段。如何将它们动态地用于任何形式?
- ios - Swift:UICollectionView - 固定单元格之间的空间
- random - 根据加权概率选择变量
- javascript - 我的代码框上带有 react & parcel 的“目标容器不是 DOM 元素”错误
- angular - ngx-restangular 中的 getList() 问题