Unity3D基础API之Vector3
Vector3
静态⽅法
()--两个向量之间的夹⾓
publicstaticfloatAngle(Vector3from,Vector3to)
单位:度;
范围0-180度(返回两个向量之间较⼩的⾓度);
通常⽤于物体的转向操作
3ClampMagnitude()--钳制求模
publicstaticVector3ClampMagnitude(Vector3vector,floatmaxLength)
返回⼀个向量的模,最⼤长度不超过maxLength;
3Cross()--叉积
publicstaticVector3Cross(Vector3lhs,Vector3rhs);
返回垂直于a,b,两个向量所在平⾯的另⼀个向量;
()--点积
publicstaticfloatDot(Vector3lhs,Vector3rhs);
ce()--两点距离
publicstaticfloatDistance(Vector3a,Vector3b);
返回两点之间的⼀个长度值,相当于(a-b).magnitude
()--差值
publicstaticVector3Lerp(Vector3a,Vector3b,floatt);
由向量a渐变到向量b.
使⽤:⼀般⽤于平滑处理,⽐如摄像机的缓慢移动、导弹的追踪等
m_on=(m_on,newPos,ime)
clamped()--钳制差值
publicstaticVector3LerpUnclamped(Vector3a,Vector3b,floatt)
改插值t在⼩于0或⼤于1时的返回值不会被限制
按公式(b-a)*t来计算其返回值.
wards()--移动到⽬标位置
publicstaticVector3MoveTowards(Vector3current,Vector3target,floatmaxDistanceDelta);
这个函数的返回值是⼀个点,以maxdistancedelta为单位速度沿着当前的和⽬标之间的线接近⽬标点
移动不会超过⽬标。maxdistancedelta为负值时,可以⽤来从⽬标推开该向量
ize()--向量单位化
publicstaticVector3Normalize(Vector3value);
单位化⼀个向量,会改变这个向量本⾝,如果这个向量⼩于1,那么就将其置为0
使⽤静态变量ized可以避免改变这个向量本⾝
t()-投影于线
publicstaticVector3Project(Vector3vector,Vector3onNormal)
求⼀个向量在另⼀个向量⽅向上的投影
tOnPlane()-投影于⾯
publicstaticVector3ProjectOnPlane(Vector3vector,Vector3planeNormal)
求⼀个向量在⼀个平⾯上的投影
planeNormal:指的是该平⾯的法向量
t()-反射向量
publicstaticVector3Reflect(Vector3inDirection,Vector3inNormal)
以⼀个平⾯的法向量为法线,求inDirection的反射向量
inNormal:指的是平⾯的法向量;inDirection:指的是⼊射光线
()-球形差值
publicstaticVector3Slerp(Vector3a,Vector3b,floatt)
插值的向量的长度是均匀线性变化的
插值的向量之间的⾓度是⼀样⼤的
本文发布于:2022-12-03 10:38:56,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/43895.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |