定义以个值类型时,我们使用“struct”关键字,这些值类型主要在“UnityEngine”中。
u3d中常用的值类型
一、 vector2、vector3 、vector4
其中vector3中 点乘 和 叉乘 ; 点乘 a*b=|a|*|b|cos<a,b>,|a|和|b|是向量的模;通过计算两个向量的点乘积,可以粗略判断当前物体是否朝向另一个物体,只需要极端当前物体的
transform.forward 向量 (target.transform.position - transform.position)的点乘积即可,大于零则面对另一个物体,否则背对;
//点乘积返回数值
float c= Vector3.Dot(a,b);
//ab向量的夹角,得到的事弧度值,将其转换为角度。
float angle=Mathf.Acos(Vector3.Dot(a.normalized,b.normalized))*Mathf.Rad2Deg;
//叉乘返回垂直于该面的向量,大小是两者模和sin的乘积
float angle=Mathf.Asin(Vector3.Distance(Vector.zero,Vector3.Cross(a.normalized,b.normalized)))*Mathf.Rad2Deg;
二、
Color :RGBA颜色,rgba的值都在0-1之间;
Color32:使用32位来表示RGBA颜色,由于使用32位表示方式,rgba值在0-255之间;
Ray:表示射线。
Touch
RaycastHit:用来存储从光线投射碰撞返回的数据。常见的使用场景是在使用Physics.Raycast、Physics.Linecat 、Physic。RaycastAll这些方法
Bounds:边界框结构
Rect:
Plane