1.UnityLifeCycle
????初始阶段(Awake OnEnable Start) ?? ?物理阶段(FixedUpdate) ?? ?输入阶段(OnMouseEnter OnMouseExit OnMouseOver OnMouseDown OnMouseUp) ?? ?逻辑阶段(Update LateUpdate) ?? ?场景渲染阶段(OnBecameVisible OnBecameInvisible) ?? ?结束阶段(OnDisable OnDestroy OnApplicationQuit)
2.UnityClasses
? ? ? ?***Object ? ? ? ? **GameObject(组合了Component和自身) ? ? ? ? **Component ? ? ? ? ? ? *Tranform ? ? ? ? ? ? *Renderer ?? ??? ??? ??? ?MeshRenderer ?? ??? ??? ??? ?ParticleRenderer ? ? ? ? ? ? *Behaviour ?? ??? ??? ??? ?Animation ?? ??? ??? ??? ?Camera ?? ??? ??? ??? ?Light ?? ??? ??? ??? ?Monobehaviour ? ? ? ? ? ? *Collider ? ? ? ? ? ? *Rigidbody ? ? ? ? ? ? *MeshFilter ? ? ? ? ? ? *Joint ? ? ? ? **Material ? ? ? ? **Mesh ? ? ? ? **Texture ? ? ? ? **Shader GameObject ?? ?属性 ?? ??? ?activeInHierarchy(bool)--物体在Hierarchy面板的激活状态 ?? ??? ?activeSelf(bool)--物体在Inspector面板的激活状态 ?? ?方法 ?? ??? ?SetActive(设置activeSelf) ?? ??? ?Find--根据名称 ?? ??? ?FindGameObjectsWithTag--根据标签获取所有 ?? ??? ?FindWithTag--根据标签获取一个 ?? ??? ?FindObjectsOfType--根据类型获取所有 ?? ??? ?Destroy--销毁 ?? ??? ?Instantiate--克隆?? ? Component ?? ?方法 ?? ??? ?GetComponents--获取自身所有组件 ?? ??? ?GetComponentsInChildren--获取后代所有组件 ?? ??? ?GetComponentsInParent--获取先辈所有组件 Transform ?? ?属性 ?? ??? ?position(Vector3)--世界坐标 ?? ??? ?localPosition(Vector3)--相对父亲 ?? ??? ?eulerAngles(Vector3)--欧拉角 ?? ??? ?rotation(Quaternion)--旋转 ?? ??? ?localScale(Vector3)--缩放(相对于父亲) ?? ?方法 ?? ??? ?Rotate--旋转 ?? ??? ?Translate--移动 ?? ??? ?LookAt--看向 ?? ??? ?SetParent--设置父亲 ?? ??? ?DetachChildren--解除父子关系(孩子调用) ?? ??? ?Find--根据名称获取子物体变换组件 ?? ??? ?GetChild()--根据索引获取子物体变换组件 Animation ?? ?方法 ?? ??? ?Play--不管动画A是否播放完成,立即播放下一个动画B ?? ??? ?PlayQueued--动画A播放完成,再播放动画B ?? ??? ?CrossFade--动画A与动画B之间有过渡
3.Time
Time--游戏开始到现在的时间 deltaTime--距离上一次渲染所用的时间,常用于移动和旋转 timeScale--时间流逝的快慢,影响deltaTime和FixedUpdate,不影响unscaledDeltaTime和Update与时间相关的技巧--下次执行时间,累积时间间隔,间隔固定时间重复调用
4.Input
鼠标 ?? ??? ?GetMouseButton ?? ??? ?GetMouseButtonDown ?? ??? ?GetMouseButtonUp ?? ??? ?GetAxis ?? ??? ?GetAxisRaw
键盘 ?? ??? ?GetKey ?? ??? ?GetKeyDown ?? ??? ?GetKeyUp
5.三维数学
Degree--角度 Radius--弧度 Vector3--三维向量 ?? ?magnitude--模长 ?? ?normalized--单位向量 ?? ?+ -- 加法 ?? ?* -- 数乘 ?? ?Dot--点乘 ?? ?Cross--叉乘 ?? ?MoveTowards--匀速 ?? ?Lerp--变速(无限接近,但不相等) ?? ?Project--投影 ?? ?ProjectOnPlane--投影到平面 ?? ?Reflect--反射 Quternion--四元数 ?? ?* -- 重载了乘号(两个四元数相加) ?? ?Rotate--效果与乘号相同 ?? ?LookRotation--瞬间 ?? ?RotateTowards--匀速 ?? ?Lerp--变速(无限接近,但不相等) Space ?? ?世界坐标 ?? ?局部坐标 ?? ?屏幕坐标 ?? ?视口坐标 ?? ?局部坐标转世界坐标 ?? ??? ?TransformPoint(受旋转、移动、缩放影响) ?? ??? ?TransformDirection(受旋转影响) ?? ??? ?TransformVector(受旋转、缩放影响) ?? ?世界坐标转局部坐标 ?? ??? ?InverseTansformPoint ?? ??? ?InverseTransformDirection ?? ??? ?InverseTransformVector ?? ?世界坐标转屏幕坐标 ?? ??? ?Camera.main.WorldToScreenPoint ?? ?屏幕坐标转世界坐标 ?? ??? ?Camera.main.ScreenToWorldPoint ?? ?世界坐标转视口坐标 ?? ??? ?Camera.main.WorldToViewportPoint ?? ?视口坐标转世界坐标 ?? ??? ?Camera.main.ViewportToWorldPoint
6.碰撞检测
Collider--有碰撞效果 ?? ?条件一:两个物体都有碰撞体 ?? ?条件二:运动的物体有刚体--受物理引擎检测 ?? ?方法 ?? ??? ?OnCollisionEnter ?? ??? ?OnCollisionStay ?? ??? ?OnCollisionExit Trigger--没有碰撞效果 ?? ?条件一:两个物体都有碰撞体 ?? ?条件二:其中之一有刚体 ?? ?条件三:其中之一选择isTrigger ?? ?方法 ?? ??? ?OnTriggerEnter ?? ??? ?OnTriggerStay ?? ??? ?OnTriggerExit Raycast--射线检测,适用于高速运动的物体
|