Unity C# | Quaternion & EulerAngles

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

前言

  這篇文章將會講述在Unity中跟角度有關的兩項變數有什麼樣的地位和運作方式,我們只要撰寫跟角色角度有關的程式碼,就絕對不會繞開這兩個變數。

Quaternion | 四位數

  四位數可用於表示 GameObject的方向或旋轉,內部包含四個數字,分別代表 x, y, z, w,但這些數字不表示角度或軸,因此通常不需要接訪問他們,因此只需要知道四元數表示 3D空間中的旋轉,不需要直接修改這些值。

  更為直白的說法,四位數是角度的語言,我們使用歐拉角然後請系統翻譯成角度看得懂的格式就可以了。

Quaternion.LookRotation

  接下來會用到簡單的數學原理,我們需要找到標示目標向量的位置,這項函數可以讓物件轉面向目標位置。

Vector3 Direction  = target.position - this.transform.position;
Quaternion rotation = Quaternion.LookRotation(Direction);
this.transform.rotation = rotation;

Quaternion.Euler

  這是其中一個我們不需要了解 Quaternion的例子,因為我們只需要使用這個函式,並輸入我們容易理解的歐拉角即可。

Quaternion rotation = Quaternion.Euler(0, 30, 0);


EulerAngles | 歐拉角

  更加值觀的表現方式,是我們在 Unity 看到的Rotation,具體的旋轉使用歐拉角是更加方便的一種方式。

public Vector3 eulerAngles;
public Vector3 localEulerAngles;

使用方式

   Quaternion 是值得儲存方式,Euler 是值的呈現方式,所以在程式運用中會更常使用Quaternion去做值的換算,而非使用 Euler ,因為Quaternion本身就包含 Euler 相關的函式。

後記

  當初在學習到這方面的知識時,是跟著一步一步做出來,然後才去慢慢理解內容物有那些東西,在一次次修改程式碼的過程中,也對這些數值和運算流程更加清楚,也更能搞懂自己在學什麼。

參考資料

Unity API | Quaternion

Unity API | Euler



raw-image


留言
avatar-img
留言分享你的想法!
avatar-img
瓶裝雪的沙龍
108會員
247內容數
對設計師如何成長為設計師好奇嗎? 2020年九月,我進入大學學習當一位設計師,從開始到沉寂,再到重燃熱忱,我將在方格子紀錄我的成長歷程、理念、心情,分享我在這段旅程中所經歷的故事。
瓶裝雪的沙龍的其他內容
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/09/22
魔火術師是第三人稱動作射擊遊戲,屬於專題畢業製作,在畢業組成新的團隊後優化並上架。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2024/01/26
這篇文章將會講述虛擬(virtual)與覆蓋(override)的簡易使用方式。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
2023/12/29
講述遊戲設計從新手到專業的發展方向。
Thumbnail
看更多
你可能也想看
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
這一節談的是向量的定義,以及如何運用向量來建立模擬物體運動時,關於位置和速度間的關係式。
Thumbnail
這一節談的是向量的定義,以及如何運用向量來建立模擬物體運動時,關於位置和速度間的關係式。
Thumbnail
直觀理解 導數:考慮的是單一變數的函數,描述的是函數在某點的斜率或變化率。 偏導數:考慮的是多變數函數,描述的是函數在某個變數變化時的變化率,其他變數保持不變。  (針對各維度的調整 或者稱變化 你要調多少) 應用 導數:在物理學中應用廣泛,例如描述速度和加速度。 偏導數:在多變量分析、優
Thumbnail
直觀理解 導數:考慮的是單一變數的函數,描述的是函數在某點的斜率或變化率。 偏導數:考慮的是多變數函數,描述的是函數在某個變數變化時的變化率,其他變數保持不變。  (針對各維度的調整 或者稱變化 你要調多少) 應用 導數:在物理學中應用廣泛,例如描述速度和加速度。 偏導數:在多變量分析、優
Thumbnail
這篇文章將會講述平滑的旋轉與單次旋轉的差異,並介紹旋轉的兩種體系與其使用效果,並提供參考的示範影片。
Thumbnail
這篇文章將會講述平滑的旋轉與單次旋轉的差異,並介紹旋轉的兩種體系與其使用效果,並提供參考的示範影片。
Thumbnail
這篇文章將會講述常見的座標(Transform)旋轉方式,適合初學者到進階程式員複習。
Thumbnail
這篇文章將會講述常見的座標(Transform)旋轉方式,適合初學者到進階程式員複習。
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 變數 宣告變數不能使用數字開頭,或是除了_之外的符號。 ·整數 int ·浮點數 float、double float 精度低、佔的資源較少,double
Thumbnail
前言 這是紀錄本人學習Unity C#時的筆記,希望讓自己能夠整理思緒,方便記憶。 因為是新手自學的關係,也很有可能有誤解或錯誤的地方,請見諒… 變數 宣告變數不能使用數字開頭,或是除了_之外的符號。 ·整數 int ·浮點數 float、double float 精度低、佔的資源較少,double
Thumbnail
歐幾里得:幾何公設 從一點向另一點可以引一條直線。 任意線段能無限延伸成一條直線。 給定任意線段,可以以其一個端點作為圓心,該線段作為半徑作一個圓。 所有直角都相等。 若兩條直線都與第三條直線相交,並且在同一邊的內角之和小於雨個直角,則這兩條直線在這一邊必定相交。 古人畫正三角形 古人畫正方形 橢圓
Thumbnail
歐幾里得:幾何公設 從一點向另一點可以引一條直線。 任意線段能無限延伸成一條直線。 給定任意線段,可以以其一個端點作為圓心,該線段作為半徑作一個圓。 所有直角都相等。 若兩條直線都與第三條直線相交,並且在同一邊的內角之和小於雨個直角,則這兩條直線在這一邊必定相交。 古人畫正三角形 古人畫正方形 橢圓
Thumbnail
這篇文章將會講述在Unity中跟角度有關的兩項變數有什麼樣的地位和運作方式,我們只要撰寫跟角色角度有關的程式碼,就絕對不會繞開這兩個變數。
Thumbnail
這篇文章將會講述在Unity中跟角度有關的兩項變數有什麼樣的地位和運作方式,我們只要撰寫跟角色角度有關的程式碼,就絕對不會繞開這兩個變數。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News