组件
两种组件:Runtime类型组件(正常组件,控制 游戏物体)
Editor组件(对unity编译器进行拓展)
Runtime类型组件脚本继承关系:MonoBehaviour:Behaviour:Component:Object
Vector 3结构体(x,y,z)
除了可以表示向量,也可以表示一个物体的位置,旋转,缩放
Vector 3=new Vector 3(1,1,1);创建一个结构体,向量为(1,1,1)
//得到v的单位向量
Debug.Log(v.normalized);
//得到v的模
Debug.Log(v.magnitude);
//得到v的模的平方(用来做向量的比较)
Debug.Log(v.sqrMagnitude);
Debug.Log(Vector3.zero);相当于创建(0,0,0)
(Vector3.forward) ( 0,0,1)
(Vector3.up) (0,1,0)
(Vector3.right) (1,0,0)
//向量点乘(计算两个向量的夹角)
Debug.Log(Vector3.Angle(Vector3.up,Vector3.forward);
//计算两点距离
Debug.Log(Vector3.Distance(Vector3.zero,Vector3.forward*10);
//插值:0.1f
// 0-10 1
// 10-20 11 最大值减去最小值再加上最小值
transform.position=Vector3.Lerp(transform.position,Vector3.forward*10,0.1f);
//画线
Void Update()
{
Debug.DrawLine(transform.position,Vector3.up*10,color.red);
//画射线
Debug.DrawRay(tansform.position,Vector3.up*10,color.blue);
}
//四元数
Quaternion q=Quaternion.Euler(0,0,90);
//空旋转
q=Quaternion.identity;
//朝向一个向量
Public Transform CubeTrans;
//拿出面向cube的向量
Vector3 dir =Cubetrans.position-transform.position;
q=Quanternion.LookRotation(dir);
Transform.rotation=q;
//四元素插值
Transform.rotation=Quatenion.Lerp(transform.rotation,Quaternion.Euler(0,transform.eulerAngles.y+90,0),0.1f);