Slerp 比较适合做旋转
player.rotation=Quaternion.Slerp(当前旋转,目标旋转,比例)
Vector dir=enemy.position-player.position;
dir.y=0;
Quaternion target=Quaternion.LookRotion(dir);
player.rotation=Quaternion.Slerp(player.rotation,target,Time.deltaTime);
Slerp 比较适合做旋转
player.rotation=Quaternion.Slerp(当前旋转,目标旋转,比例)
Vector dir=enemy.position-player.position;
dir.y=0;
Quaternion target=Quaternion.LookRotion(dir);
player.rotation=Quaternion.Slerp(player.rotation,target,Time.deltaTime);
实现角度设置
cube.rotation=Quaternion.Euler(new Vector());
cube.eulerAngles=new Vector();
望向敌人
Vector3 dir=enemy.position-player.position
dir.y=0;
player.rotation=Quaternion.LookRotation(dir);
ss
MoveTowards( , , ) //匀速移动
yield retuen new WaitForSeconds() //暂停几秒往下继续运行
unityobject是所有object的基类
创建一个新的游戏物体,new object
Instantiate可以根据游戏物体或者其他物体复制。
Vector3 pos=transform.position;
pos.x=10;
transform.position=pos;
改变位置
Mathf.Lerp()插值运算,越来越慢
Mathf.MoveTowards()匀速
Mathf.PingPong()往返
Unity为什么是浮点数,因为整型相除可能会得到0,导致后续运算全部错误,2/5整型运算得0余数为2,而作为浮点数会得到0.2,后续运算仍然正确。
gameObject.BroadcastMessage("method name",)
tag 标签 用于区分物体(分类)
产生物体方法
GameObject.Instantiate() 预设或者游戏物体
GameObject.CreatPrimitive(PrimitiveType) 简单物体(如:Cube,Plane)
Random.range(4,10);
随机生成不包括最大值10的证书;
1\
StartCoroutine ("Fade");
StopCoroutine ("Fade");
2\
IEnumerator iE = Fade() ;
StartCoroutine(iE);
StopCoroutine(iE);
禁用脚本实际上是禁用的该脚本的Update方法,如果该脚本里没有Update方法,那就没有禁用的选项了,就是在InSpector里引用该脚本那一项没有对勾的选项了
协程执行那个说错了,yield返回之后才会执行主逻辑
scenemanager类(在命名空间scenemanagement下才能使用)
切换,加载场景
properties
loadscene(num,single/active)或者
loadscene(“name”)
其中默认single关闭当前场景加载num场景
active不关闭当前场景叠加num场景
其他static veriable和static method
详细可以见application的API