Animator 动画状态机
Avatar 替身
Blend Tree 融合动画
Layer 分层动画实现多个部分不影响
IK逆向定位可以绑定其他物体
项目代码的调试:Console控制台,GUI,GUILayout,Debug.DrawLine()或OnDrawGizmos,MonoDevelop测试工具,Log File日志,UnityTestTool单元测试插件
ctrl s 保存
ctrl 滚轮 方法缩小代码
ctrl f,f12 搜索
Alt 上下 移动代码上下行
ctrl alt end/home 缩进
StartCoroutine(方法)
将复杂的工作分为几帧过多次来执行
IEnumerator go(){ yield return null;//停止一帧 yield return new WaitForSeconds(2f);//等待两秒再往下 yield return new WaitForFixedUpdate();//等待所有物理Update完成后 } //调用和停止方法 StartCoroutine(go()); StartCoroutine("go"); StopAllCoroutine(); StopCoroutine("go");
Invoke(string method,float time);//延迟执行程序 InvokeRepeating(method,time,repeatRate);//time为延迟多少时间执行,repeatRate多少秒重复 IsInvoke(method);//判断是否在运行 CancleInvoke(method);
以游戏时间为准,受时间缩放的影响
Component.SendMessage(string methodName,~);
SendMessageUpward 向自己和所有父对象搜索方法调用
BroadCastMessage 向物体和其所有子物体搜索方法调用
性能不好,用的反射
Component.CompareTag("tag")
比较本组件的标签是否与tag相同,这个方法比用双=好比较更有效率
Instantiate(prefab,位置,旋转); //Quaternion.identity表示不旋转初始值
无论实例化的是prefab的组件还是GameObject,都是这个GameObject
声明方法,只能指定根目录下的物体
DontDestroyOnLoad(); //GameObject在加载下一个场景的时保留下来,不销毁,不可以是子物体,可以是组件(它的物体将保存)
Destroy();//删除GameObject,Script,组件等,第二个参数为秒,n秒后删除销毁 DestroyImmediate();//第二个参数可以指定true将资源删除,直接销毁
Destroy()标志删除,下一帧或则几秒后才是真的删除。
World,Screen,Viewport
世界坐标 三维
屏幕和视图z轴都为0,视图为(0,0)~(1,1)
互相转换使用Camera类