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; } } }
以上就是本文的全部內(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)閉的簡單實(shí)例
下面小編就為大家?guī)硪黄猚# 實(shí)現(xiàn)子窗口關(guān)閉父窗口也關(guān)閉的簡單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02C#集合根據(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-02C#?操作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