unity之Vector3类常用方法

构造与静态常量

Vector3 v = new Vector3(1, 2, 3); // 构造

Vector3.zero;                      // (0,0,0) 

Vector3.one;                        // (1,1,1) 

Vector3.forward;                    // (0,0,1) 

Vector3.right;                      // (1,0,0) 

距离与标准化

loat dist = Vector3.Distance(a, b); // 两点距离

Vector3 norm = a.normalized;          // 单位向量(方向相同,长度为1)

插值与平滑移动

Vector3.Lerp(start, end, t); // 线性插值(t∈[0,1]) 

 Vector3.Slerp(start, end, t); // 球面插值(保持弧度) 

 Vector3.MoveTowards(current, target, maxDelta); // 限制速度的移动

投影与反射

Vector3.Project(vector, onNormal); // 向量投影 

 Vector3.Reflect(inDirection, inNormal); // 反射向量

Vector3.ClosestPointOnLine(lineStart, lineEnd, point); // 点到线段最近点 

 Vector3.AngleBetween(a, b); // 两向量夹角(0~180°)

物体移动

transform.position += Vector3.forward * speed * Time.deltaTime;

朝向目标

Vector3 dir = (target.position  - transform.position).normalized;  transform.rotation  = Quaternion.LookRotation(dir); 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容