Component🔐🔐🔐 ?學(xué)習(xí)階段我會(huì)不斷的更新新的內(nèi)容,文章如有誤請指正,如果覺得對你有用,請點(diǎn)贊收藏關(guān)注一波,謝謝支持😘 Rigidbody??? 變量 公共函數(shù) 消息 公共函數(shù)/2D 靜態(tài)函數(shù)/2D 射線🐍🐍🐍 RaycastHit/2D Physics/2D Physics.Raycast/2D ? Physics.Linecast ? Physics.RaycastAll Ray/Ray2D1 Debug📡📡📡 Vector3📍📍📍 1、靜態(tài)變量 2、變量 3、構(gòu)造函數(shù) ? 4、靜態(tài)函數(shù) 5、運(yùn)算符 String (UI的處理) ? Text (TMP) UI ? SceneManager場景加載 1、靜態(tài)變量 2、靜態(tài)函數(shù) 3、Events 2.1 SceneManager.LoadScene靜態(tài)函數(shù) 以累加方式加載場景。 Cursor 1、靜態(tài)變量 1.1、lockState👉public static CursorLockMode lockState ; 2、靜態(tài)函數(shù) Quaternion
?學(xué)習(xí)階段我會(huì)不斷的更新新的內(nèi)容,文章如有誤請指正,如果覺得對你有用,請點(diǎn)贊收藏關(guān)注一波,謝謝支持😘
提示:以下是本篇文章正文內(nèi)容
Rigidbody???
通過物理模擬控制對象的位置。 向?qū)ο筇砑?Rigidbody 組件后,其運(yùn)動(dòng)將受到 Unity 物理引擎的控制。即使不添加任何代碼,Rigidbody 對象也受到向下的重力,并在與其他對象碰撞時(shí)作出反應(yīng)(如果也存在適當(dāng)?shù)?Collider 組件)。 Rigidbody 還有一個(gè)腳本 API,讓您能夠向?qū)ο笫┘恿?#xff0c;并以逼真的物理效果對其進(jìn)行控制。例如,可以根據(jù)車輪施加的力來指定汽車的行為。根據(jù)這些信息,物理引擎可以處理汽車運(yùn)動(dòng)的大多數(shù)其他方面,因此汽車可進(jìn)行逼真的加速并適當(dāng)?shù)仨憫?yīng)碰撞。 在腳本中,建議使用 FixedUpdate 函數(shù)來施加力和更改 Rigidbody 設(shè)置(而不是使用 Update,Update 用于大多數(shù)其他幀更新任務(wù))。這樣做的原因是物理更新在測量的時(shí)間步驟中執(zhí)行,而時(shí)間步驟與幀更新不一致。FixedUpdate 在每次進(jìn)行物理更新前調(diào)用,因此在該函數(shù)中做出的任何更改都將直接處理。
變量
變量 作用 isKinematic 控制物理是否影響剛體。 mass 剛體的質(zhì)量 position 剛體的位置。 rotation 剛體的旋轉(zhuǎn)。 velocity 剛體的速度矢量。它表示剛體位置的變化率。 2D simulated 指示物理系統(tǒng)是否應(yīng)模擬剛體。 sleepMode 剛體最初處于的睡眠狀態(tài)。 velocity 剛體的線性速度,采用單位/秒形式。
公共函數(shù)
公共函數(shù) 作用 AddExplosionForce 向模擬爆炸效果的剛體施加力。 AddForce/2D 向 Rigidbody 添加力。 AddRelativeForce/2D 向剛體添加力(相對于其坐標(biāo)系)。 MovePosition/2D 將運(yùn)動(dòng) Rigidbody 向 position 移動(dòng)。 MoveRotation/2D 將剛體旋轉(zhuǎn)到 /rotation/。 Sleep 強(qiáng)制剛體進(jìn)入睡眠狀態(tài)至少一幀。 SweepTest 測試如果剛體在場景中移動(dòng)時(shí),是否會(huì)與任何對象發(fā)生碰撞。 SweepTestAll 與 Rigidbody.SweepTest 類似,但返回所有命中對象。 WakeUp 強(qiáng)制喚醒剛體。 2D IsAwake 剛體是否處于“喚醒”狀態(tài)? IsSleeping 剛體是否處于“睡眠”狀態(tài)? IsTouching 檢查 collider 是否正在接觸附加到該剛體的任何碰撞體。 IsTouchingLayers ? 檢查附加到該剛體的任何碰撞體是否正在接觸指定 layerMask 上的任何碰撞體。 MovePosition 將剛體移動(dòng)到 /position/。 MoveRotation 將剛體旋轉(zhuǎn)到 /angle/(以度為單位)。 Sleep 使剛體進(jìn)入“睡眠”狀態(tài)。 WakeUp 禁用剛體的“睡眠”狀態(tài)。
消息
消息 作用 OnCollisionEnter 當(dāng)該碰撞體/剛體已開始接觸另一個(gè)剛體/碰撞體時(shí),調(diào)用 OnCollisionEnter。 OnCollisionExit 當(dāng)該碰撞體/剛體已停止接觸另一個(gè)剛體/碰撞體時(shí),調(diào)用 OnCollisionExit。 OnCollisionStay 對應(yīng)正在接觸剛體/碰撞體的每一個(gè)碰撞體/剛體,每幀調(diào)用一次 OnCollisionStay。
公共函數(shù)/2D
公共函數(shù) 作用 BroadcastMessage 調(diào)用此游戲?qū)ο蠡蚱淙魏巫禹?xiàng)中的每個(gè) MonoBehaviour 上名為 methodName 的方法。 GetComponent 如果游戲?qū)ο蟾郊恿祟愋蜑?type 的組件,則將其返回,否則返回 null。 GetComponentInChildren 使用深度首次搜索返回 GameObject 或其任何子項(xiàng)中類型為 type 的組件。 GetComponentInParent 返回 GameObject 或其任何父項(xiàng)中類型為 type 的組件。 GetComponents 返回 GameObject 中類型為 type 的所有組件。 GetComponentsInChildren 返回 GameObject 或其任何子項(xiàng)中類型為 type 的所有組件。 GetComponentsInParent 返回 GameObject 或其任何父項(xiàng)中類型為 type 的所有組件。 SendMessage 調(diào)用此游戲?qū)ο笾械拿總€(gè) MonoBehaviour 上名為 methodName 的方法。 SendMessageUpwards 調(diào)用此游戲?qū)ο笾械拿總€(gè) MonoBehaviour 上或此行為的每個(gè)父級上名為 methodName 的方法。 TryGetComponent 獲取指定類型的組件(如果存在)。 GetInstanceID 返回對象的實(shí)例 ID。 ToString 返回對象的名稱。
靜態(tài)函數(shù)/2D
靜態(tài)函數(shù) 作用 Destroy 移除 GameObject、組件或資源。 DestroyImmediate 立即銷毀對象 /obj/。強(qiáng)烈建議您改用 Destroy。 DontDestroyOnLoad 在加載新的 Scene 時(shí),請勿銷毀 Object。 FindObjectOfType 返回第一個(gè)類型為 type 的已加載的激活對象。 FindObjectsOfType 返回所有類型為 type 的已加載的激活對象的列表。 Instantiate 克隆 original 對象并返回克隆對象。
射線🐍🐍🐍
RaycastHit/2D
用于從射線投射獲取信息的結(jié)構(gòu)。
1、變量
變量 作用 collider 命中的 Collider。 distance 從射線原點(diǎn)到撞擊點(diǎn)的距離。 normal 射線命中的表面的法線。 point 世界空間中射線命中碰撞體的撞擊點(diǎn)。 rigidbody 命中的碰撞體的 Rigidbody。如果該碰撞體未附加到剛體,則值為 /null/。 transform 命中的剛體或碰撞體的 Transform。
簡單用法
Physics/2D
1、變量
變量 作用 AllLayers 用于選擇所有層的層遮罩常量。
2、靜態(tài)函數(shù)
屬性名 作用 CheckSphere 如果有任何碰撞體與世界坐標(biāo)系中由 position 和 radius 界定的球體重疊,則返回 true。 ? 簡單用法p1 - OverlapSphere 檢測球體上的一點(diǎn)返回?cái)?shù)組,可以拿到檢測到的G,T等等 ? 簡單用法p2 - OverlapBoxNonAlloc 查找與給定盒體接觸或位于盒體內(nèi)部的所有碰撞體,并將它們存儲(chǔ)到緩沖區(qū)中。 OverlapSphereNonAlloc 計(jì)算與球體接觸或位于球體內(nèi)部的碰撞體,并將它們存儲(chǔ)到提供的緩沖區(qū)中。 2D - OverlapCircle 檢查某碰撞體是否位于一個(gè)圓形區(qū)域內(nèi)。 ? 舉例 Physics2d.OverlapCircle(位子,距離,layerMask mask); OverlapPoint Collider2D 與該點(diǎn)重疊的碰撞體。 ? 舉例 Physics2D.OverlapPoint(cursorPos(鼠標(biāo)點(diǎn)檢測碰撞體)); OverlapCapsuleAll 獲取位于某膠囊體區(qū)域內(nèi)的所有碰撞體的列表。
用法:
//p1
//檢測周圍是否有友軍
bool TankCurrentPos(Vector3 pos)
{
三個(gè)參數(shù)說明:那個(gè)位置、距離、表示Layer層:這里表示除了第8層外其他的都做檢測return Physics.CheckSphere(pos, 50, ~(1 << 8));
}
//p2
兩個(gè)參數(shù)說明:起始位置、距離
var colliders = Physics.OverlapSphere(transform.position, distance);
Physics.Raycast/2D ?
1、參數(shù)
參數(shù) 作用 origin 射線在世界坐標(biāo)系中的起點(diǎn)。 direction 射線的方向。 maxDistance 射線應(yīng)檢查碰撞的最大距離。 layerMask 層遮罩,用于在投射射線時(shí)有選擇地忽略碰撞體。 queryTriggerInteraction 指定該查詢是否應(yīng)該命中觸發(fā)器。 2D - minDepth 僅包括 Z 坐標(biāo)(深度)大于或等于該值的對象。 maxDepth 僅包括 Z 坐標(biāo)(深度)小于或等于該值的對象。
用法:
1、RaycastHit2D hit = Physics2D.Raycast(起始點(diǎn), 方向, 距離, LayerMask.GetMask("NPC"));
Physics.Linecast ?
1、參數(shù)
參數(shù) 作用 start 起點(diǎn)。 end 終點(diǎn)。 layerMask 層遮罩,用于在投射射線時(shí)有選擇地忽略碰撞體。 queryTriggerInteraction 指定該查詢是否應(yīng)該命中觸發(fā)器。 hitInfo 如果返回 true,則 hitInfo 將包含有關(guān)碰撞體的撞擊位置的更多信息(另請參閱:RaycastHit)。
用法:
1.如果有任何碰撞體與 start 和 end 之間的線相交,則返回 true。
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{public Transform target;void Update(){if (Physics.Linecast(transform.position, target.position)){Debug.Log("blocked");}}
}
Physics.RaycastAll
1、參數(shù)
參數(shù) 作用 ray 光線的起點(diǎn)和方向。 maxDistance 從射線起點(diǎn)開始,允許射線命中的最大距離。 layerMask 層遮罩,用于在投射射線時(shí)有選擇地忽略碰撞體。 queryTriggerInteraction 指定該查詢是否應(yīng)該命中觸發(fā)器。
Ray/Ray2D1
1、參數(shù)
變量 作用 directi 射線的方向。 origin 射線的原點(diǎn)。
構(gòu)造函數(shù) 作用 Ray 沿著 direction 創(chuàng)建從 origin 開始的射線。
2、公共函數(shù)
公共函數(shù) 作用 GetPoint 返回射線上 distance 個(gè)單位處的點(diǎn)。 ToString 對 于此射線,返回整齊格式化的字符串。
射線小案例😀
說明:從攝像機(jī)的位置發(fā)射子彈向目標(biāo)點(diǎn)發(fā)射 Camera的相關(guān)轉(zhuǎn)化可以跳到我的博客Camera看說明
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
out :C#的返回值
if(Physics.Raycast(ray,out hit))
{
如果通過射線檢測到目標(biāo)就可以通過hit.找到目標(biāo)點(diǎn)上的各種組件畫線測試//通過Game見面可以看到你發(fā)出射線的顏色以便判斷三個(gè)參數(shù)表示 起始位、射線的末點(diǎn)(世界空間中射線命中碰撞體的撞擊點(diǎn))、顏色
Debug.DrawLine(transform.position, hit.point, Color.red);創(chuàng)建小球//基礎(chǔ)內(nèi)容不過多說明
GameObject a=Instantiate(attack, transform.position, Quaternion.identity);a.GetComponent<Rigidbody>().velocity = (hit.point - transform.position) * speed;
}
Debug📡📡📡
此類包含在開發(fā)游戲時(shí)可使調(diào)試變得更輕松的方法。
靜態(tài)函數(shù)
靜態(tài)函數(shù) 作用 DrawLine 在指定的起始點(diǎn)與結(jié)束點(diǎn)之間繪制一條直線。 ? DrawRay 在世界坐標(biāo)中繪制一條從 start 到 start + dir 的直線。 ? Log 將消息記錄到 Unity 控制臺(tái)。 ? ClearDeveloperConsole 將錯(cuò)誤從開發(fā)者控制臺(tái)中清除。
Vector3📍📍📍
用于表示 3D 向量和點(diǎn)。
Unity 內(nèi)部使用該結(jié)構(gòu)傳遞 3D 位置和方向。 此外,它還包含用于執(zhí)行常見向量操作的函數(shù)。
除了下面列出的函數(shù)以外,也可以使用其他類操作向量和點(diǎn)。 例如,對于旋轉(zhuǎn)或變換向量和點(diǎn)來說,Quaternion 和 Matrix4x4 類也很有用。
1、靜態(tài)變量
靜態(tài)變量 作用 forward 用于編寫 Vector3(0, 0, 1) 的簡便方法。 back 用于編寫 Vector3(0, 0, -1) 的簡便方法。 down 用于編寫 Vector3(0, -1, 0) 的簡便方法。 up 用于編寫 Vector3(0, 1, 0) 的簡便方法。 left 用于編寫 Vector3(-1, 0, 0) 的簡便方法。 right 用于編寫 Vector3(1, 0, 0) 的簡便方法。 one 用于編寫 Vector3(1, 1, 1) 的簡便方法。 zero 用于編寫 Vector3(0, 0, 0) 的簡便方法。 negativeInfinity 用于編寫 Vector3(float.NegativeInfinity, float.NegativeInfinity, float.NegativeInfinity) 的簡便方法。 positiveInfinity 用于編寫 Vector3(float.PositiveInfinity, float.PositiveInfinity, float.PositiveInfinity) 的簡便方法。
2、變量
變量 作用 magnitude 返回該向量的長度。(只讀) ? normalized 返回 magnitude 為 1 時(shí)的該向量。(只讀) ? sqrMagnitudeP1 返回該向量的平方長度。(只讀) ?
3、構(gòu)造函數(shù) ?
構(gòu)造函數(shù) 作用 Vector3P2 使用給定的 x、y、z 分量創(chuàng)建新向量。
代碼:
P1
getPlayerStartPoint =原點(diǎn)坐標(biāo)
if (Vector3.SqrMagnitude(getPlayerStartPoint - transform.position) <= nav.stoppingDistance)
{transform.rotation = Quaternion.Lerp(transform.rotation, quaternion, 0.01f);
}
P2
Vector3 pos=new Vector3(x,y,z);
4、靜態(tài)函數(shù)
靜態(tài)函數(shù)名 作用 Distance 返回 a 與 b 之間的距離。 ? Lerp 在兩個(gè)點(diǎn)之間進(jìn)行線性插值。 ? LerpUnclamped 在兩個(gè)向量之間進(jìn)行線性插值。 Normalize 使該向量的 膜 為 1。 ? Dot跳到這里的(二二、繞開敵人的攻擊點(diǎn),免傷害)簡單說明 兩個(gè)向量的點(diǎn)積。 ? RotateTowards 將向量 current 朝 target 旋轉(zhuǎn)。 Slerp 在兩個(gè)向量之間進(jìn)行球形插值。 SlerpUnclamped 在兩個(gè)向量之間進(jìn)行球形插值。 SmoothDamp 隨時(shí)間推移將一個(gè)向量逐漸改變?yōu)樗枘繕?biāo)。 MoveTowards 計(jì)算 current 指定的點(diǎn)與 target 指定的點(diǎn)之間的位置,移動(dòng)距離不超過 maxDistanceDelta 指定的距離。
5、運(yùn)算符
運(yùn)算符名 作用 operator - 將一個(gè)向量減去另一個(gè)向量。 operator != 如果向量不同,則返回 true。 operator * 將向量乘以一個(gè)數(shù)值。 operator / 將向量除以一個(gè)數(shù)值。 operator + 將兩個(gè)向量相加。 operator == 如果兩個(gè)向量大致相等,則返回 true。
String (UI的處理) ?
變量 Empty 表示空字符串。(只讀) Length 獲取此實(shí)例中的字符數(shù)(只讀)。
代碼:
using UnityEngine;
using System.Collections;public class ExampleClass : MonoBehaviour
{void Start(){string s = "hello";Debug.Log(s);s// prints helloss = string.Format("{0} {1}", s, "world");Debug.Log(s);// prints hello worlds = string.Concat("hello", "world");Debug.Log(s);// prints helloworlds = s.ToUpper();Debug.Log(s);// prints HELLOWORLDs = s.ToLower();Debug.Log(s);// prints helloworldDebug.Log(s[1]);// prints 'e'int i = 42;s = i.ToString();Debug.Log(s);// prints 42s = "-43";i = int.Parse(s);Debug.Log(i);// prints -43float f = 3.14159265359F;s = f.ToString();Debug.Log(s);// prints 3.141593 (an approximation)s = "-7.14159265358979";f = float.Parse(s);Debug.Log(f);// prints -7.141593 (an approximation)}
}
Text (TMP) UI ?
命名空間 using TMPro; 定義: private TMP_Text healchValue;
SceneManager場景加載
運(yùn)行時(shí)的場景管理。
1、靜態(tài)變量
變量名 作用 sceneCount ? 當(dāng)前加載的場景總數(shù)。 sceneCountInBuildSettings Build Settings 中的場景數(shù)量。
2、靜態(tài)函數(shù)
函數(shù)名 作用 CreateScene 在運(yùn)行時(shí)使用給定名稱創(chuàng)建一個(gè)新的空場景。 GetActiveScene ? 獲取當(dāng)前活動(dòng)的場景。 GetSceneAt ? 獲取 SceneManager 的已加載場景列表中索引處的場景。Scene scene = SceneManager.GetSceneAt(SceneManager.sceneCount - 1); GetSceneByBuildIndex 從構(gòu)建索引中獲取場景結(jié)構(gòu)。 GetSceneByName 搜索已加載的場景,查找包含給定名稱的場景。 GetSceneByPath 搜索所有已加載的場景,查找具有給定資源路徑的場景。 LoadScene ? 按照 Build Settings 中的名稱或索引加載場景。 LoadSceneAsync? 在后臺(tái)異步加載場景。 MergeScenes 這會(huì)將源場景合并到 destinationScene 中。 MoveGameObjectToScene 將游戲?qū)ο髲漠?dāng)前場景移至新場景。 SetActiveScene? 將場景設(shè)置為活動(dòng)狀態(tài)。 UnloadSceneAsync 簡單用法 銷毀所有與給定場景關(guān)聯(lián)的游戲?qū)ο?#xff0c;并將場景從 SceneManager 中移除。 Events activeSceneChanged 訂閱此事件可在活動(dòng)場景發(fā)生變化時(shí)收到通知。 sceneLoaded 向此事件添加委托,以在加載場景時(shí)收到通知。
3、Events
Events 作用 activeSceneChanged 訂閱此事件可在活動(dòng)場景發(fā)生變化時(shí)收到通知。 sceneLoaded 向此事件添加委托,以在加載場景時(shí)收到通知。 sceneUnloaded 向此事件添加委托以在卸載場景時(shí)收到通知。
2.1 SceneManager.LoadScene靜態(tài)函數(shù) 以累加方式加載場景。
命名空間 using UnityEngine;、using UnityEngine.SceneManagement; 在播放器中加載場景時(shí)使用。 通過 LoadSceneMode 選擇在使用 SceneManager.LoadScene 時(shí)加載哪種類型的場景。可用模式為單模式和附加模式。 單模式將加載一個(gè)標(biāo)準(zhǔn)的 Unity 場景,該場景將獨(dú)立顯示在 Hierarchy 窗口中。附加模式將加載一個(gè)顯示在 Hierarchy 窗口的場景,而窗口中同時(shí)還包含其他活動(dòng)場景。
變量名 作用 Single 關(guān)閉所有當(dāng)前加載的場景 并加載一個(gè)場景。 Additive 將場景添加到當(dāng)前加載的場景。
代碼演示 :
//異步加載場景搭配協(xié)程IEnumerator Transition(string name){if (SceneManager.GetActiveScene().name != name) {異步加載場景(跳轉(zhuǎn)場景使用)yield return SceneManager.LoadSceneAsync(name);創(chuàng)建playerInstantiate(plyerPrefab, getPonTransition(teleporterPos).transform.position, getPonTransition(teleporterPos).transform.rotation);yield break;}}
//單模式將加載一個(gè)標(biāo)準(zhǔn)的 Unity 場景,該場景將獨(dú)立顯示在 Hierarchy 窗口中。
Cursor
用于設(shè)置光標(biāo)(鼠標(biāo)指針)的光標(biāo) API。 支持 macOS、Windows 和 Linux 上的硬件光標(biāo)。在不支持的平臺(tái)上回退到軟件光標(biāo)。 Windows 應(yīng)用商店應(yīng)用程序:僅支持一個(gè)通過 PlayerSettings.defaultCursor 設(shè)置的硬件光標(biāo),在運(yùn)行時(shí)使用 Cursor.SetCursor 創(chuàng)建的光標(biāo)被視為軟件光標(biāo)。 用作光標(biāo)的紋理應(yīng)在其導(dǎo)入設(shè)置中作此標(biāo)記。
1、靜態(tài)變量
變量名 作用 lockState 簡單用法 確定硬件指針是否鎖定到視圖的中心、受限于窗口或者根本不受限制。 visible 確定硬件指針是否可見。
1.1、lockState👉public static CursorLockMode lockState ;
CursorLockMode枚舉類型
1、變量
變量名 作用 None 光標(biāo)行為未修改。 Locked 將光標(biāo)鎖定在該游戲窗口的中心。 Confined 將光標(biāo)限制在游戲窗口中。
2、靜態(tài)函數(shù)
函數(shù)名 作用 SetCursor 將鼠標(biāo)光標(biāo)設(shè)置為給定紋理。
代碼演示 :
//將光標(biāo)鎖定在該游戲窗口的中心。
Cursor.lockState = CursorLockMode.Locked;
Quaternion
四元數(shù)用于表示旋轉(zhuǎn)。 它們結(jié)構(gòu)緊湊,不受萬向鎖影響,可以輕松插值。 Unity 內(nèi)部使用四元數(shù)來表示所有旋轉(zhuǎn)。 它們基于復(fù)數(shù),不容易理解。 您幾乎不會(huì)有機(jī)會(huì)訪問或修改單個(gè)四元數(shù)分量(x、y、z、w); 大多數(shù)情況下,您只需要獲取現(xiàn)有旋轉(zhuǎn)(例如,來自 Transform),然后使用它們構(gòu)造新的旋轉(zhuǎn) (例如,在兩個(gè)旋轉(zhuǎn)之間平滑插值)。 您絕大多數(shù)時(shí)間使用的四元數(shù)函數(shù)為: Quaternion.LookRotation、Quaternion.Angle、Quaternion.Euler、Quaternion.Slerp、Quaternion.FromToRotation 和 Quaternion.identity。(其他函數(shù)僅用于一些十分奇特的用例。) 您可以使用 Quaternion.operator * 對旋轉(zhuǎn)進(jìn)行旋轉(zhuǎn),或?qū)ο蛄窟M(jìn)行旋轉(zhuǎn)。
注意,Unity 使用的是標(biāo)準(zhǔn)化的四元數(shù)。
變量名 作用 eulerAngles 返回或設(shè)置旋轉(zhuǎn)的歐拉角表示。 normalized 返回該四元數(shù),并且量值為 1(只讀)。
函數(shù)名 作用 SetFromToRotation 創(chuàng)建一個(gè)從 fromDirection 旋轉(zhuǎn)到 toDirection 的旋轉(zhuǎn)。 SetLookRotation 使用指定的 forward 和 upwards 方向創(chuàng)建旋轉(zhuǎn)。 ToAngleAxis 將旋轉(zhuǎn)轉(zhuǎn)換為“角-軸”表示形式(角度以度為單位)。 ToString 返回該四元數(shù)的整齊格式化的字符串。
函數(shù)名 作用 Angle 返回兩個(gè)旋轉(zhuǎn) a 和 b 之間的角度(以度為單位)。 AngleAxis 創(chuàng)建一個(gè)圍繞 axis 旋轉(zhuǎn) angle 度的旋轉(zhuǎn)。 Dot 兩個(gè)旋轉(zhuǎn)之間的點(diǎn)積。 Euler 返回一個(gè)旋轉(zhuǎn),它圍繞 z 軸旋轉(zhuǎn) z 度、圍繞 x 軸旋轉(zhuǎn) x 度、圍繞 y 軸旋轉(zhuǎn) y 度(按該順序應(yīng)用)。 FromToRotation 創(chuàng)建一個(gè)從 fromDirection 旋轉(zhuǎn)到 toDirection 的旋轉(zhuǎn)。 Inverse 返回 rotation 的反轉(zhuǎn)。 Lerp 在 a 和 b 之間插入 t,然后對結(jié)果進(jìn)行標(biāo)準(zhǔn)化處理。參數(shù) t 被限制在 [0, 1] 范圍內(nèi)。 LerpUnclamped 在 a 和 b 之間插入 t,然后對結(jié)果進(jìn)行標(biāo)準(zhǔn)化處理。參數(shù) t 不受限制。 LookRotation 使用指定的 forward 和 upwards 方向創(chuàng)建旋轉(zhuǎn)。 Normalize 將此四元數(shù)轉(zhuǎn)換為 1,方向相同,但量值為 1。 RotateTowards 將旋轉(zhuǎn) from 向 to 旋轉(zhuǎn)。 Slerp 在四元數(shù) a 與 b 之間按比率 t 進(jìn)行球形插值。參數(shù) t 限制在范圍 [0, 1] 內(nèi)。 SlerpUnclamped 在 a 和 b 之間以球形方式插入 t。參數(shù) t 不受限制。