Vector矢量 是一个基本的数学概念,它允许你描述方向和大小。在游戏和应用中,矢量通常用于描述一些基本属性,如角色的位置、物体移动的速度或两个物体之间的距离。
矢量算术是计算机编程很多方面(如图形、物理和动画)的基础,深入了解这一主题对于充分发挥 Unity 的功能很有帮助。
矢量可以在多个维度上表示,Unity 提供 Vector2、Vector3 和 Vector4 类来处理 2D、3D 和 4D 矢量。
这三个类型的矢量类都共享许多相同的功能,例如大小,因此除非另有说明,否则本页上的大部分信息都适用于所有三个类型的矢量。
矢量算术
1. 加法 :
当两个矢量相加时,结果相当于将原始矢量依次作为“步骤”。请注意,两个参数的顺序无关紧要,因为两种方式的结果都相同
如果将第一个矢量视为空间中的一个点,那么第二个矢量可以解释为从该位置的偏移或“跳跃”。
例如,为了找到地面上某个位置上方 5 个单位的点,可使用以下计算:
var pointInAir = pointOnGround + new Vector2(0, 5);```
如果矢量代表力,那么从力的方向和大小来考虑它们将会更直观。两个力矢量相加会产生一个等于力的组合的新矢量。施加的力同时有若干单独分量起作用时(例如,向前推进的火箭还可能受到侧风影响),此概念通常很有用。
尽管此处的示例显示的是 2D 矢量,但相同的概念也适用于 3D 和 4D 矢量。
2. 减法
矢量减法通常用于获取从一个对象到另一个对象的方向和距离。请注意,两个参数的顺序对于减法很重要:
// 矢量 d 的大小与 c 相同,但指向相反的方向。
var c = b - a;
var