重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

Unity如何实现物体弧线运动到规定的坐标?-创新互联

不懂Unity如何实现物体弧线运动到规定的坐标??其实想解决这个问题也不难,下面让小编带着大家一起学习怎么去解决,希望大家阅读完这篇文章后大所收获。

成都创新互联是一家专业提供丰台企业网站建设,专注与成都网站设计、网站制作、H5高端网站建设、小程序制作等业务。10年已为丰台众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

1、u3d场景的设置

Unity如何实现物体弧线运动到规定的坐标?

2、 Run 脚本

using UnityEngine;
using System.Collections;
 
public class Run : MonoBehaviour
{
 public GameObject target;  //要到达的目标
 public float speed = 10;  //速度
 private float distanceToTarget;  //两者之间的距离
 private bool move = true;  
 
 void Start()
 {
 //计算两者之间的距离
 distanceToTarget = Vector3.Distance(this.transform.position, target.transform.position); 
 StartCoroutine(StartShoot());
 }
 
 IEnumerator StartShoot()
 {
 
 while (move)
 {
  Vector3 targetPos = target.transform.position;
 
  //让始终它朝着目标
  this.transform.LookAt(targetPos);
 
  //计算弧线中的夹角
  float angle = Mathf.Min(1, Vector3.Distance(this.transform.position, targetPos) / distanceToTarget) * 45;
  this.transform.rotation = this.transform.rotation * Quaternion.Euler(Mathf.Clamp(-angle, -42, 42), 0, 0);
  float currentDist = Vector3.Distance(this.transform.position, target.transform.position);
  if (currentDist < 0.5f)
  move = true;
  this.transform.Translate(Vector3.forward * Mathf.Min(speed * Time.deltaTime, currentDist));
  yield return null;
 }
 }
 
 
}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前标题:Unity如何实现物体弧线运动到规定的坐标?-创新互联
文章起源:http://cqcxhl.com/article/dojseo.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP