添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

表示3D向量和点,3个分量分别为 x,y,z

定义了常用的向量:

静态常量
back 0,0,-1
forward 0,0,1
left -1,0,0
right 1,0,0
up 0,1,0
down 0,-1,0
one 1,1,1
zero 0,0,0
negativeInfinity float.NegativeInfinity,float.NegativeInfinity,float.NegativeInfinity 负无穷大
positiveInfinity float.PositiveInfinity,float.PositiveInfinity,float.PositiveInfinity 正无穷大
属性 含义
magnitude 向量长度,只读
sqrMagnitude 长度的平方,只读
normalized 长度为1的单位向量,只读

向量的数学运算,大多数作为静态方法定义的

方法 功能
Angle float Angle ( Vector3 from , Vector3 to );
计算两个向量之间的角度
SignedAngle float SignedAngle ( Vector3 from , Vector3 to , Vector3 axis );
两个向量之间的有符号角度。值域为-180到180度。from-to顺时针为正,逆时针为负。3D向量的方向是任意的,所以需要指定旋转轴来确定角度符号,根据叉乘向量和旋转轴的角度确定符号,大于90度说明反了。计算方法:
Vector3 cross = Vector3.Cross(from,to);
float sign = Mathf.Sign(90 - Vector3.Angle(cross,axis));
ClampMagnitude Vector3 ClampMagnitude ( Vector3 vector , float maxLength );
返回限定最大长度的向量,如果超过maxLength,返回maxLength
Cross Vector3 Cross ( Vector3 lhs , Vector3 rhs );
向量叉乘,返回垂直于lhs和rhs的向量
Distance float Distance ( Vector3 a , Vector3 b );返回两个向量的距离
Dot float Dot ( Vector3 lhs , Vector3 rhs );
向量点乘。如果rhs是单位向量,则返回结果是lhs在rhs投影的向量的长度。
Lerp Vector3 Lerp ( Vector3 a , Vector3 b , float t );
2个点线性插值,t>1时,t=1
LerpUnclamped Vector3 LerpUnclamped ( Vector3 a , Vector3 b , float t );
2个向量线性插值。如果t>1,则继续向a->b的方向插值
Slerp Vector3 Slerp ( Vector3 a , Vector3 b , float t );
球面插值,可以处理方向插值
SlerpUnclamped Vector3 SlerpUnclamped ( Vector3 a , Vector3 b , float t );
球面插值,同上,只是允许t>1,且有效
Max public static Vector3 Max ( Vector3 lhs , Vector3 rhs );
返回2个向量中较大的那个
Min public static Vector3 Min ( Vector3 lhs , Vector3 rhs );
返回2个向量中较小的那个
MoveTowards Vector3 MoveTowards ( Vector3 current , Vector3 target , float maxDistanceDelta );
从current移动到target,每次调用,移动距离不超过maxDistanceDelta。
Normalize Vector3 Normalize ( Vector3 value );
向量单位化,并返回单位化后的向量
OrthoNormalize void OrthoNormalize (ref Vector3 normal , ref Vector3 tangent );
将2个向量单位化,并且正交(夹角90度)
Project Vector3 Project ( Vector3 vector , Vector3 onNormal );
求vector投影到onNormal的向量
ProjectOnPlane Vector3 ProjectOnPlane ( Vector3 vector , Vector3 planeNormal );
将向量投影到planeNormal作为面法线的平面上
Reflect Vector3 Reflect ( Vector3 inDirection , Vector3 inNormal );
根据入射向量和给定的法线,计算反射向量
RotateTowards Vector3 RotateTowards ( Vector3 current , Vector3 target , float maxRadiansDelta , float maxMagnitudeDelta );
基本功能同Slerp,但是插值过程中,角度变化和长度变化不会超过maxRadiansDelta和maxMagnituedDelta
Scale Vector3 Scale ( Vector3 a , Vector3 b );
向量分量分别相乘,也可以理解为用b对a 进行缩放
实现背包拖拽 1.添加接口:IDragHandler, IEndDragHandler, IBeginDragHandler, ICanvasRaycastFilter 分别为拖拽,结束拖拽,开始拖拽,射线检测 2.SetParent()设置父子关系 using System.Collections; using System.Collections.Generic; using Unity Engine; using Unity Engine.EventSystems;//事件 public class My //这两个意义未知 public const float kEpsilon = 1E-05F; public const float kEpsilonNormalSqrt = 1E-15F; public float x; 1. 零向量    [0,0,0]2. 负向量一个向量的负向量长度与这个向量的长度是相等的,负向量是这个向量的反向量     v + -v = -v + v = 0 3. 向量大小、长度、模      二维向量![height=”20” width= ![这里写图片描述](https://img-blog.csdn.net/20180613185425607?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW9rdW56aGFuZw... float x = vector 3.magnitude; 计算向量长度 Vector 3 aaa = vector 3.normalized; 将向量标准化 Vector 3 V1 = Vector 3.zero; Vector 3 V2 = Vector 3.up; Vector 3 V3 = Vector 3.forward; Vector 3 V4 = Vector 3.right; De... Representation of 3D vector s and points. 表示3D的向量和点。 This structure is used throughout Unity to pass 3D positions and directions 向量( Vector 3) 在虚拟的游戏世界中,3D数学决定了游戏,如何计算和模拟出开发者以及玩家看到的每一帧画面。学习基础的3D数学知识可以帮主用户对游戏引擎产生更深刻的了解。向量定义:既有大小又有方向的量叫做向量。在空间中,向量用一段有方向的线段来表示。应用十分广泛,可用于描述具有大小和方向两个属性的物理量,例如物体运动的速度、加速度、摄像机观察方向、刚体受到的力等都是向量。因此向量是物理、动...