日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Unity3D基础API之Vector3

發布時間:2025/7/14 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Unity3D基础API之Vector3 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Vector3

靜態方法

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)

  • 插值的向量的長度是均勻線性變化的
  • 插值的向量之間的角度是一樣大的

轉載于:https://www.cnblogs.com/yangwx/p/9051639.html

總結

以上是生活随笔為你收集整理的Unity3D基础API之Vector3的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。