AddForce:给游戏物体施加一个力;
AddForce:给游戏物体施加一个力;
Rigidbody.rotation:控制游戏物体旋转;
持续操作使用:Rigidbody.Moverotation:控制游戏物体旋转;
Rigidbody.Position:控制游戏物体的移动
Rigidbody.MovePosition:让运动更加平滑;(持续调用)
静态方法
Lerp;插值,渐变效果
Slerp;插值,渐变效果
Unity中的API
36.关于三维向量Vector3
cube.eulerAngles=new Vector3(45,45,45);
将游戏物体的欧拉角设置为45度;
或用Euler将游戏物体的欧拉角转换成四元数;
cube.rotation=Quaternion.Euler(new Vector3(45,45,45));
将四元数转换成欧拉角:cube.rotation.eulerAngles;
cube.rotation=Quaternion.LookRotation();望向某个位置;
世界坐标
eulerAngles:欧拉角(Inspector面板中对应的x,y,z)
cube.eulerAngles=new Vector3(10,0,0);
Random.value:(生成一个从0到1之间的随机小数包括0和1)
Random.insideUnitCircle:在半径为1的圆内随机生成位置;
Random.insideUnitSphere:在半径为1球体内随机生成
三维向量
静态变量 比二维向量多
forword(0,0,1): 前方向;
back(0,0,-1):后方向;
Angle(a,b):a和b向量的夹角;
ClampMagnitude(a,x):把a向量的长度限定在x内;
Distance(a,b):计算两个向量之间的距离;
MoveTowards(a,b,Time.deltaTime)
使向量a向向量b做匀速运动;
二维向量中的静态方法;
Angle:取得两个向量的夹角;
ClampMagnitude:
Distance:取得长度,两个向量之间的距离;
Lerp:分别对两个坐标插值;
向量是结构体;
传递是值类型,要整体赋值;
Vector2
静态变量(类名调用)
down(0,-1);
up(0,1);
left(-1,0);
right(1,0);
zero(0,0);
one(1,1);
公有变量(对象名调用)
magnitude:向量的长度(x的平方加y的平方开根号);
sqrMagnitude:(未开根号的长度,x平方加y的平方);
normalized:单位化向量(将向量的长度设置为1);
游戏物体
isActiveAndEnabled:判断组件是否被禁用或激活;(true或false)
enabled:(true/false)设置组件禁用和激活;
tag:标签;
gameObject:获取组件所在的游戏物体;
transform:获取这个组件所在游戏物体的tarnsform组件;
name:获取游戏物体的名字;
GetComponent:得到游戏物体身上的组件,如果有多个得到第一个;
GetComponents:得到游戏物体身上的所有组件;
GetComponentInChildren;得到游戏物体身上的(包括它的孩子)组件,如果有多个得到第一个;
GetComponentsInChildren:得到游戏物体身上的(包括它的孩子)所有组件;
GetComponentInParent;得到游戏物体身上的(包括它的父亲)组件,如果有多个得到第一个;
GetComponentsInParent;得到游戏物体身上的(包括它的父亲)所有组件;
游戏物体GameObject的公有方法(函数)
通过对象名调用;
AddComponent():给游戏物体添加组件;
只要脚本上有方法名(“”)就可以调用;
BroadcastMessage(“”):广播消息,包括当前游戏物体和它的子物体
SendMessage(“”):只在某个游戏物体上发送消息不包括子物体;
endMessageUpwards:广播消息,包括当前游戏物体和它的父物体;(每个游戏物体只能有一个父物体)
GameObject独有的静态方法:
变量:
activeInHierarchy(游戏物体的状态:默认为true激活状态)(表示父物体)
SetActive(设置游戏物体的激活与禁用)
true为激活false为禁用;
layer:获取游戏所在的层;
scence:获取游戏所在的场景;
方法(静态方法)
CreatePrimitive:创建原始游戏物体;
Find: 根据名字查找游戏物体;(尽量不要再update中调用,少在start中调用)
FindWithTag:通过标签查找游戏物体,返回第一个;
FindGameObjectsWithTag:通过标签查找游戏物体,返回第所有,(可能是一个数组);
Object共有的静态方法(被游戏物体Gameobject和组件Component共同继承的)
Destory():即可以销毁游戏物体,也可以销毁组件
Destoryimmediate():立即销毁,容易导致空指针;
DontDestoryOnLoad(transform.gameObject)
场景切换时不销毁游戏物体(设置共享的游戏物体)
即是静态方法,也是成员方法
FindObjectOfType:根据组件类型去查找组件;
从全局搜索场景中符合条件的组件,找到第一个返回;
FindObjectsOfType: 查找场景中所有符合条件的组件返回;(数组)
游戏,场景,游戏物体,组件之间的关系
游戏——场景(Scence)——游戏物体(GameObject)——组件(Component)
游戏物体和组件共有的变量:name;
GameObject游戏物体
activeSelf 判断游戏物体自身是否处于激活状态(子物体)
activeInHierarchy 判断游戏物体是否处于激活状态(父物体)
SetActive(true或false)设置游戏物体的状态 (激活或者不激活)
tag (获取标签)