Unity Lerp 實作講解

更新於 發佈於 閱讀時間約 5 分鐘


這篇文章主要講的是如何利用 Lerp(換成 Slerp 也能運行) 來實現移動。其實有另一個更快捷的方式直接用一些 Tween 插件,例如:LeanTween,DoTween⋯⋯。

利用 Lerp 實現移動可以分成兩大種 Update 和 IEnumerator 方案。

Update()

void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
moving = true;
}

if (moving)
{
transform.position = Vector3.Slerp(transform.position, position, speed * Time.deltaTime);

if (Vector3.Distance(transform.position, position) < 0.001)
{
moving = false;
}
}
}

IEnumerator

public IEnumerator move()
{
float currentSpeed = speed;
while (Vector3.Distance(transform.position, position) > 0.1)
{
transform.position = Vector3.Slerp(transform.position, position, currentSpeed * Time.deltaTime);
currentSpeed += acceleration;

yield return new WaitForSeconds(Time.deltaTime);
}
}

設定速度和加速度

raw-image

IEnumerator MovementWithSpeed()
{
float currentSpeed = speed;
while (Vector3.Distance(transform.position, position) > 0.1)
{
transform.position = Vector3.Lerp(transform.position, position, currentSpeed * Time.deltaTime);
currentSpeed += acceleration;

yield return new WaitForSeconds(Time.deltaTime);
}
}

設定移動時間

raw-image

IEnumerator MovementWithTime()
{
float currentT = Vector3.Distance(transform.position, position) / time * Time.deltaTime;
while (Vector3.Distance(transform.position, position) > 0.1)
{
transform.position = Vector3.Lerp(transform.position, position, currentT);

yield return new WaitForSeconds(Time.deltaTime);
}
}

延伸閱讀

Slerp vs Lerp: https://www.faustofonseca.com/tutorial/unity-vector3-lerp-vs-vector3-slerp

avatar-img
0會員
7內容數
這裏分享我遊戲開發的記錄,亦會分享開發的小技巧。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
夏葉 的其他內容
緣由 生成一個格子是一件十分之簡單的事,但我不知道為甚麼每一次重新寫的時候,都會忘記如何寫。所以我在這裏記錄一下。 代碼 public float num; public GameObject currentGameObject; void Update() { if(Input.G
緣由 生成一個格子是一件十分之簡單的事,但我不知道為甚麼每一次重新寫的時候,都會忘記如何寫。所以我在這裏記錄一下。 代碼 public float num; public GameObject currentGameObject; void Update() { if(Input.G
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本篇文章詳細介紹了 Unity 的安裝流程,從下載 Unity Hub 到編輯器的選擇,涵蓋每一步所需的設置說明。無論你是 Unity 新手還是有經驗的開發者,這篇教學都能幫助你快速上手,順利開始你的遊戲開發之旅。透過清晰的圖文解說,讓你輕鬆完成安裝,為未來的創作奠定基礎。
Thumbnail
這篇文章介紹了網站的整體架構以及開發時所使用的工具和套件,包括 Next.js、Tailwind CSS 和 socket.io 等。文章回顧了程式碼的重構與優化,幫助開發者提高工作效率,適合希望深入瞭解前端開發和網站架構的讀者。
Thumbnail
這篇內容,將會講解什麼是表達式(Expression),什麼是陳述式(Statement)。有了這些概念,各位會更容易理解,要如何設計程式碼。
Thumbnail
這篇內容,將會講解什麼是方法,以及與方法相關的知識。包括定義Method、Method Variable 方法變數、跨區使用Method、使用函式時要注意括號。
Thumbnail
這篇內容,將會用一個簡單的範例,來解釋物件(Object)和實體(Instance)的差別。包括Instance的簡介、ID、物件改變會影響實體。
Thumbnail
最近ChatGPT-4o的發布引起了我的注意,又在Youtube看上見有人教學如何用ChatGPT設計屬於自己的家教,被他的能力震撼到的我一頭熱就訂閱了plus版然後馬上設計了一個自己的家教。最一開始的時候我只有把它用來學習語言的輔助,但用著用著忽然想到:「如果我把它用來引導我學習我沒有學過的領域呢
Thumbnail
遊戲引擎開發商 Unity 一直是我感覺很有發展潛力的企業,《原神》、《王者榮耀》等明星遊戲都是透過其引擎所建構,在手遊開發領域,擁有絕對統治力。然而,營運實績與線圖走勢卻不是如此,近 8 季毛利成長率有 4 季為負,1Q24 營運收入是近 8 季來最低值,-$375M…
Thumbnail
Unity (美股代號:U)是一家以渲染實時3D為核心業務的公司。上次評價是 2023Q1財報,已經過了9-10個月,這次回頭來檢視2023Q4和全年的結果。簡單講結論的話就是:美好開年,掙扎結尾。公司大刀闊斧準備再度出發,但是否有效果還需要再觀察一陣子。
Thumbnail
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本篇文章詳細介紹了 Unity 的安裝流程,從下載 Unity Hub 到編輯器的選擇,涵蓋每一步所需的設置說明。無論你是 Unity 新手還是有經驗的開發者,這篇教學都能幫助你快速上手,順利開始你的遊戲開發之旅。透過清晰的圖文解說,讓你輕鬆完成安裝,為未來的創作奠定基礎。
Thumbnail
這篇文章介紹了網站的整體架構以及開發時所使用的工具和套件,包括 Next.js、Tailwind CSS 和 socket.io 等。文章回顧了程式碼的重構與優化,幫助開發者提高工作效率,適合希望深入瞭解前端開發和網站架構的讀者。
Thumbnail
這篇內容,將會講解什麼是表達式(Expression),什麼是陳述式(Statement)。有了這些概念,各位會更容易理解,要如何設計程式碼。
Thumbnail
這篇內容,將會講解什麼是方法,以及與方法相關的知識。包括定義Method、Method Variable 方法變數、跨區使用Method、使用函式時要注意括號。
Thumbnail
這篇內容,將會用一個簡單的範例,來解釋物件(Object)和實體(Instance)的差別。包括Instance的簡介、ID、物件改變會影響實體。
Thumbnail
最近ChatGPT-4o的發布引起了我的注意,又在Youtube看上見有人教學如何用ChatGPT設計屬於自己的家教,被他的能力震撼到的我一頭熱就訂閱了plus版然後馬上設計了一個自己的家教。最一開始的時候我只有把它用來學習語言的輔助,但用著用著忽然想到:「如果我把它用來引導我學習我沒有學過的領域呢
Thumbnail
遊戲引擎開發商 Unity 一直是我感覺很有發展潛力的企業,《原神》、《王者榮耀》等明星遊戲都是透過其引擎所建構,在手遊開發領域,擁有絕對統治力。然而,營運實績與線圖走勢卻不是如此,近 8 季毛利成長率有 4 季為負,1Q24 營運收入是近 8 季來最低值,-$375M…
Thumbnail
Unity (美股代號:U)是一家以渲染實時3D為核心業務的公司。上次評價是 2023Q1財報,已經過了9-10個月,這次回頭來檢視2023Q4和全年的結果。簡單講結論的話就是:美好開年,掙扎結尾。公司大刀闊斧準備再度出發,但是否有效果還需要再觀察一陣子。
Thumbnail
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。