Unity实现弧形移动效果实现弧形移动效果
主要为大家详细介绍了Unity实现弧形移动效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣
的小伙伴们可以参考一下
本文实例为大家分享了Unity实现弧形移动效果的具体代码,供大家参考,具体内容如下
一、实现效果一、实现效果
二、第一种实现方法二、第一种实现方法——弧形插值弧形插值
using UnityEngine;
public class ArcMove : MonoBehaviour
{
public GameObject curGo;//当前物体
public GameObject targetGo;//目标物体
public float value;
private void Update()
{
//计算中心点
Vector3 center = (curGo.transform.position + targetGo.transform.position) / 2;
center -= new Vector3(0, value, 0);
Vector3 start = curGo.transform.position - center;
Vector3 end = targetGo.transform.position - center;
//弧形插值
curGo.transform.position = Vector3.Slerp(start, end, Time.time / 200);
curGo.transform.position += center;
//判定是否到达目标点
float dis = Vector3.Distance(curGo.transform.position, targetGo.transform.position);
if (dis <= 1)
{
Debug.Log("到达目标点");
}
}
}
三、第二种实现方法三、第二种实现方法——计算弧线中的夹角计算弧线中的夹角
using UnityEngine;
评论0