Unity——Vector3

原文鏈接:https://www.cnblogs.com/yangwx/p/9051639.html

靜態方法

1.Vector3.Angle()--兩個向量之間的夾角

public static float Angle(Vector3 from, Vector3 to)

  • 單位:度;
  • 範圍0-180度(返回兩個向量之間較小的角度);
  • 通常用於物體的轉向操作

2.Vector3 ClampMagnitude()--鉗制求模

public static Vector3 ClampMagnitude(Vector3 vector, float maxLength)

  • 返回一個向量的模,最大長度不超過maxLength;

3.Vector3 Cross()--叉積

public static Vector3 Cross(Vector3 lhs, Vector3 rhs);

  • 返回垂直於a,b,兩個向量所在平面的另一個向量;
  • 模長|c|=|a||b|sin<a,b>

4.Vector3.Dot()--點積

public static float Dot(Vector3 lhs, Vector3 rhs);

  • a·b=|a|·|b|cos<a,b>

5.Vector3.Distance()--兩點距離

public static float Distance(Vector3 a, Vector3 b);

  • 返回兩點之間的一個長度值,相當於(a-b).magnitude

6.Vector3.Lerp() --差值

public static Vector3 Lerp(Vector3 a, Vector3 b, float t);

  • 由向量a漸變到向量b.
  • 使用:一般用於平滑處理,比如攝像機的緩慢移動、導彈的追蹤等

    m_Transform.position = Vector3.Lerp(m_Transform.position, newPos, Time.deltaTime)

7.Vector3.LerpUnclamped() --鉗制差值

public static Vector3 LerpUnclamped(Vector3 a, Vector3 b, float t)

  • 改插值t在小於0或大於1時的返回值不會被限制
  • 按公式(b-a)*t來計算其返回值.

8.Vector3.MoveTowards()--移動到目標位置

public static Vector3 MoveTowards(Vector3 current, Vector3 target, float maxDistanceDelta);

  • 這個函數的返回值是一個點,以maxdistancedelta爲單位速度沿着當前的和目標之間的線接近目標點
  • 移動不會超過目標。maxdistancedelta爲負值時,可以用來從目標推開該向量

9.Vector3.Normalize()--向量單位化

public static Vector3 Normalize(Vector3 value);

  • 單位化一個向量,會改變這個向量本身,如果這個向量小於1,那麼就將其置爲0
  • 使用靜態變量Vector3.Normalized可以避免改變這個向量本身

10.Vector3.Project()-投影於線

public static Vector3 Project(Vector3 vector, Vector3 onNormal)

  • 求一個向量在另一個向量方向上的投影

11.Vector3.ProjectOnPlane()-投影於面

public static Vector3 ProjectOnPlane(Vector3 vector, Vector3 planeNormal)

  • 求一個向量在一個平面上的投影
  • planeNormal:指的是該平面的法向量

12.Vector3.Reflect()-反射向量

public static Vector3 Reflect(Vector3 inDirection, Vector3 inNormal)

  • 以一個平面的法向量爲法線,求inDirection的反射向量
  • inNormal:指的是平面的法向量;inDirection:指的是入射光線

13.Vector3.Slerp()-球形差值

public static Vector3 Slerp(Vector3 a, Vector3 b, float t)

  • 插值的向量的長度是均勻線性變化的
  • 插值的向量之間的角度是一樣大的
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章