Unity常用API整理


Vector

doc

Constructor

1
Vector3 vector = new Vector3(0f, 0f, 0f);

長度

1
float length = vectorA.magnitude;

Normalized

1
Vector3 v = vectorA.normalized;

距離

1
float distance = Vector3.Distance(Vector3 vectorA, Vector3 vectorB);

向量間夾角

1
float angle = Vector3.Angle(Vector3 vectorFrom, Vector3 vectorTo);

內積

1
float res = Vector3.Dot(Vector3 vectorA, Vector3 vectorB);

外積

1
Vector3 res = Vector3.Cross(Vector3 vectorA, Vector3 vectorB).normalized;

Quaternion

doc

Constructor

1
2
3
Quaternion q = new Quaternion();
Quaternion q = Quaternion.identity;
Quaternion q = Quaternion.Euler(0, 0, 0);

EulerAngle

1
Vector3 rotations = quaternion.eulerAngles;

兩向量間的旋轉

1
quaternion.SetFromToRotation(Vector3 vectorFrom, Vector3 vectorTo);

看向某向量

1
quaternion.SetLookRotation(Vector3 vectorView, Vector3 vectorUp=Vector3.up);

旋轉向量

1
Vector3 direction = Quaternion.Euler(0, 90, 0) * vectorA;

Mathf

Constant

1
2
3
4
float pi = Mathf.PI;
float epsilon = Mathf.Epsilon;
float rad = deg * Mathf.Deg2Rad;
float inf = Mathf.Infinity;

Clamp

1
float clamp = Mathf.Clamp(float value, float min, float max);

Abs

1
float abs = Mathf.Abs(float value);

Min, Max

1
2
float max = Mathf.Max(float valueA, float valueB);
float min = Mathf.Min(float valueA, float valueB);

Sign

1
float sign = Mathf.Sign(float value);

Random

doc

Random

1
float rnd = Random.Range(float min, float max);