angle 获得夹角
ClampMagnitude 限制长度
Distance
Dot 两个向量进行点乘
angle 获得夹角
ClampMagnitude 限制长度
Distance
Dot 两个向量进行点乘
anykeyDown 任意键按下
mousePostion 获得鼠标位置
Mathf.ClosestPwerOfTwo 求2的n次方
Mathf.Floor 向下取整 Cell 向上取整
Lerp 差值运算 Pow 求一个数的N次方
Mathf.Clamp HP用法
message 的主体是传递的GameObject,而不是脚本主体对象。
我们通常将运动相关的放在fixedupdate()
cube.Translate(Vector3.forward);
随机数:Random
yield return new WaitForSeconds(3); 在协程里等待3秒再执行下一条代码。
GetComponent<MeshRenderer>().material.color=new Color(0,0,0,0);
插值。
for(;;){}是死循环,用break退出循环。
coroutine(协程)的规则如下:
1.返回值是IEnumerator
2.返回参数的时候使用yield return null/0;
协程方法的调用:StartCoroutine(method());
平
1.StartCoroutine
协程方法开启后,会继续运行下面的代码,不会等协程方法运行结束才继续执行
public Coroutine StartCoroutine(IEnumerator routine);
public Coroutine StartCoroutine(string methodName, object value = null);
2.StopCoroutine
停止名为methodName的第一个协同程序,或者在此behaviour上运行的例程中存储的协同程序。
public void StopCoroutine(string methodName);
public void StopCoroutine(IEnumerator routine);
public void StopCoroutine(Coroutine routine);
#Unity注意事项 不要混合三个参数
如果在StartCoroutine中将字符串用作参数,请在StopCoroutine中使用字符串。
同理,IEnumerator在StartCoroutine和StopCoroutine中使用它。
最后,Coroutine在StartCoroutine和StopCoroutine中使用它。
示例:
//在一个协程调用另一个协程使用。
Coroutine b = StartCoroutine(coroutineB());
StopCoroutine(b);
-----------------------------------
//单纯的协程调用和暂停
private IEnumerator coroutine;
StartCoroutine(coroutine);
StopCoroutine(coroutine);
3.StopAllCoroutines
停止运行此behaviour的所有协同程序。
public void StopAllCoroutines();
Unity API方法变更3-场景切换相关API变更
Unity API方法变更2-粒子系统变更
MainModule 、ParticleSystem
Unity API方法变更1
Animator简介
Material材质类
Mesh的设置
Mesh Renderer紫色显示是material丢失
sharedMesh利用本身的mesh
Mesh是复制出一个mesh
角色控制器CharacterController的使用
CharacterController自身拥有碰撞器
cc.SimpleMove(new Vector3()速度)
cc.isGrounded判断是否在地面上
cc。Move(位移)//不会掉落地面
OnControllerColliderHit碰撞时调用,调用多次
使用Camera把屏幕坐标转换成射线
ScreenpointToRay(Input.mousePosition)
Debug.DrawLine(ray.origin,ray.origin+ray.direction*100);
bool isCollider = Physics.Raycast(ray, out hit);