读一读

声明方法,只能指定根目录下的物体

DontDestroyOnLoad();
//GameObject在加载下一个场景的时保留下来,不销毁,不可以是子物体,可以是组件(它的物体将保存)

Destroy();//删除GameObject,Script,组件等,第二个参数为秒,n秒后删除销毁
DestroyImmediate();//第二个参数可以指定true将资源删除,直接销毁


Destroy()标志删除,下一帧或则几秒后才是真的删除。


World,Screen,Viewport

  1. 世界坐标  三维

  2. 屏幕和视图z轴都为0,视图为(0,0)~(1,1)

互相转换使用Camera类


Physics.Raycast(Vector3 origin,Vector3 direction,RaycastHit hitInfo,float distance,int LayerMask)

//前两个参数可以用一个Ray代替,等同于↓
Ray r = mCamera.ScreenPointToRay(Input.mousePosition);
Physics.Raycast(Ray r,RaycastHit hitInfo,float distance,int LayerMask);

将鼠标点击屏幕,由Camera向鼠标点击方向作为一条射线,然后用RayCatch获取RayCastHit


LayerMask指定不检查的层次,可以通过方法将层的名字转换而成:

LayerMask Mask = LayerMask.NameToLayer("Entity");
Ray r = mCamera.ScreenPointToRay(Input.mousePosition);
Physics.Raycast(Ray r,RaycastHit hitInfo,float distance,1<<Mask.value);

LayerMask的每一位都代表一个层,第6层Layer表示在第7位,如果为1跳过这层。


前提:要有碰撞体,相机有射线检测,声明在脚本组件中

void OnMouseEnter(){}//鼠标进出调用
void OnMouseOver(){}//鼠标停留时调用
void OnMouseExit(){}//鼠标退出时调用
void OnMouseDown(){}//鼠标点击时调用
void OnMouseUp(){}//鼠标抬起时调用
void OnMouseDrag(){}//鼠标拖动时调用
void OnMouseUpAsButton(){}//在同一碰撞体下按下松开才调用

GetKey("up");//直接的按键类型KeyCode
GetButton(bt);//InputManager的按钮
GetButtonDown(bt);GetButtonUp(bt);//按住执行一次
GetButton(bt); //按住一直执行
GetAxis("Horizontal");//范围 (-1,1)
GetAxisRaw(axisName);//摇杆

Descriptive Name   +导出后的描述

Descriptive Negative Name -导出后的描述

Negative Button -的按键名称

Position Button +的按键名称

Alt.... 备用按键

Gravity,Sensitivity  控制增长回落的速度

Dead  小于此值就为0

Snap 是否突然反向,按反向变0


Angle(Vector3 from,to); //返回夹角
ClampMagnitude(Vector3 v,float limit); //限制向量长度
Distance(v1,v2);//两点的距离
Lerp(a,b,t);//根据t插值计算a到b的点
MoveTowards(cur,tar,speed);//根据速度朝目标移动
RotateTowards(cur,tar,speed);//根据速度朝目标旋转移动
//Slerp,Max,Min
Scale(v1,v2);//返回v1向量以v2向量放大缩小的向量
Project(v,o);//v向量投影到o上
ProjectOnPlane(v,plane);//投影到平面上
Reflect(v1,normal);//通过一条指定轴反射向量

magnitude //距离原点0,0,0的长度
sqrmagnitude //上面值的平方
normalized //求此向量的单位向量,只读
cc = Vector3.Normalize(v) //不改变v

back (0,0,-1)   forward   (0,0,1)

down  (0,-1,0)   up(0,1,0)

left (-1,0,0)   right  (1,0,0)

one  (1,1,1)   zero  (0,0,0)