【Unity】Vector2 & Vector3 向量学习
在Unity中向量是struct
定义的值类型
- Vector2:就是二维向量
- Vector2Int:就是使用整数表示点的二维向量
- Vector3:就是三维向量
- Vector3Int:就是使用整数表示点的三维向量
- Vector4:就是四维向量
向量的构造函数
- new Vector2(x,y);
- new Vector3(x,y,z);
- new Vector4(x,y,z,w);
向量静态变量
静态变量 | Vector2简码 | Vector3简码 |
---|---|---|
up | (0,1) | (0,1,0) |
down | (0,-1) | (0,-1,0) |
right | (1,0) | (1,0,0) |
left | (-1,0) | (-1,0,0) |
forward | (0,0,1) | |
back | (0,0,-1) | |
one | (1,1) | (1,1,1) |
zero | (0,0) | (0,0,0) |
向量的变量
- x/y/z/w : 向量轴的值
- magnitude :向量的模长( x * x + y * y + z * z + w * w)
- normalized:向量归一化 向量方向不变,单位改为1
- sqrMagnitude向量的模长的平方
- this[int] :使用[0] [1] …表示 x,y,z,w
向量的公共方法
- Set 设置向量的值,不可单独设置某一个轴上的值
- ToString 将向量格式化为字符串
- Equals 比较两个向量是否相似
向量的静态方法
- Angle 返回两个向量的角度,相对偏小的绝对值
- ClampMagnitude 钳制方法 判断在不在0到最大值之间,如果不在小于0返回0,大于最大值,返回最大值
- Distance 返回a到b的距离 Vector3.Distance(a,b)与 相同(a-b).magnitude
- Dot 点积方法
- Cross 叉积
- Lerp 线性插值 t的范围为0-1
- LerpUnclamped 线性插值,t不舍限制
- Max 返回最大值
- Min 返回最小值
- Normalize 将向量归一化
- OrthoNormalize 使向量归一化并相互正交
- MoveTowards 使用
MoveTowards
current
成员将位于该位置的对象移向该target
位置。通过使用此函数计算出的位置每帧更新对象的位置,您可以将其平稳地移向目标。 - Project 投影 将向量投影到指定方向
- ProjectOnPlane 投影到地面(向量在平面上的位置)
- Reflect 反射,矢量
inNormal
定义了一个平面 。矢量inDirection
被视为进入平面的方向箭头。返回值是一个向量,其大小与 相同,inDirection
但其方向被反射。 - RotateTowards 以固定速度将A向量向B向量方向旋转
- Scale 将两个向量按位相乘
- SignedAngle 返回从a向量到b向量的角度,带符号位 逆时针为正值,顺时针为负值
- Slerp 球形插值 这与线性插值(又名“lerp”)之间的区别在于矢量被视为方向而不是空间中的点。返回向量的方向由角度进行插值,该参数被限制在 [0, 1] 范围内
- SlerpUnclamped 球型插值 t不限制
- SmoothDamp 平滑阻尼
本文来自博客园,作者:星空探险家,转载请注明原文链接:https://www.cnblogs.com/PuppetLazy/p/17840927.html
分类:
Unity / API
标签:
Unity
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了