unity實(shí)現(xiàn)弧形移動(dòng) 可角度自定
更新時(shí)間:2020年06月21日 11:19:58 作者:于子瀟
這篇文章主要為大家詳細(xì)介紹了unity實(shí)現(xiàn)弧形移動(dòng),可角度自定,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了unity實(shí)現(xiàn)弧形移動(dòng)的具體代碼,自定角度,供大家參考,具體內(nèi)容如下

兩點(diǎn)之間弧形移動(dòng)
using UnityEngine;
using System.Collections;
public class MoveTest : MonoBehaviour
{
public GameObject target; //要到達(dá)的目標(biāo)
public float speed = 10; //速度
public int rotationAngle = 60;
private float distanceToTarget; //兩者之間的距離
private bool move = true;
void Start()
{
//計(jì)算兩者之間的距離
distanceToTarget = Vector3.Distance(this.transform.position, target.transform.position);
StartCoroutine(Move());
}
IEnumerator Move()
{
while (move) //移動(dòng)到目標(biāo)點(diǎn)停止移動(dòng)
{
Vector3 targetPos = target.transform.position;
//讓始終它朝著目標(biāo)
this.transform.LookAt(targetPos);
//計(jì)算弧線中的夾角
float angle = Mathf.Min(1, Vector3.Distance(this.transform.position, targetPos) / distanceToTarget) * rotationAngle;
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 = false;
this.transform.Translate(Vector3.forward * Mathf.Min(speed * Time.deltaTime, currentDist));
yield return null;
}
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- Unity實(shí)現(xiàn)弧形移動(dòng)效果
- Unity3D實(shí)現(xiàn)控制攝像機(jī)移動(dòng)
- Unity鍵盤WASD實(shí)現(xiàn)物體移動(dòng)
- Unity3D實(shí)現(xiàn)虛擬按鈕控制人物移動(dòng)效果
- Unity3D實(shí)現(xiàn)物體旋轉(zhuǎn)縮放移動(dòng)效果
- Unity實(shí)現(xiàn)物體左右移動(dòng)效果
- Unity3D控件Easytouch控制主角移動(dòng)
- Unity3D實(shí)現(xiàn)人物轉(zhuǎn)向與移動(dòng)
- Unity調(diào)取移動(dòng)端的麥克風(fēng)進(jìn)行錄音并播放
- Unity3D實(shí)現(xiàn)人物移動(dòng)示例
相關(guān)文章
c# 實(shí)現(xiàn)子窗口關(guān)閉父窗口也關(guān)閉的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)硪黄猚# 實(shí)現(xiàn)子窗口關(guān)閉父窗口也關(guān)閉的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02
C#集合根據(jù)對(duì)象的某個(gè)屬性進(jìn)行去重的代碼示例
當(dāng)根據(jù)對(duì)象的Name屬性進(jìn)行去重時(shí),你可以使用以下三種方法:使用Distinct方法和自定義比較器、使用LINQ的GroupBy方法,以及使用HashSet,下面給大家介紹C#集合根據(jù)對(duì)象的某個(gè)屬性進(jìn)行去重的代碼示例,感興趣的朋友一起看看吧2024-03-03
使用C#寫了一個(gè)可以推算火車票身份證號(hào)碼的小程序
這篇文章主要介紹了使用C#寫了一個(gè)可以推算火車票身份證號(hào)碼的小程序 的相關(guān)資料,需要的朋友可以參考下2016-02-02
C#?操作Windows注冊(cè)表的實(shí)現(xiàn)方法
本文主要介紹了C#?操作Windows注冊(cè)表的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03

