本文主要為了方便查閱
1. MonoBehaviour 生命周期
- Awake 對象創建的時候調用,類似構造函數
- Start 在
Awake
之后執行,區別在於,如果組件不可用(在Inspector
沒有勾選該組件),是不會執行Start
的 - Update 主函數循環每幀調用
- FixedUpdate 每次固定幀調用,在物理計算的時候,應該使用該方法,而不是
Update
- OnDestroy 對象銷毀時調用
2. MonoBehaviour 常見回調函數
- OnMouseEnter 鼠標移入GUI控件或者碰撞體時調用
- OnMouseOver 鼠標停留在GUI控件或者碰撞體時調用
- OnMouseExit 鼠標移出GUI控件或者碰撞體時調用
- OnMouseDown 鼠標在GUI控件或者碰撞體上按下時調用
- OnMouseUp 鼠標在GUI控件或者碰撞體上釋放時調用
- OnTriggerEnter 當其他碰撞體進入觸發器時調用
- OnTriggerExit 當其他碰撞體離開觸發器時調用
- OnCollisionEnter 當碰撞體或者剛體與其他碰撞體或剛體接觸時調用
- OnCollisionEnter2D 其它2D函數類似
- OnCollisionExit 當碰撞體或者剛體與其他碰撞體或剛體停止接觸時調用
- OnCollisionStay 當碰撞體或者剛體與其他碰撞體或剛體保持接觸時調用
- OnContollerColliderHit 當控制器移動時與碰撞體發生碰撞時調用
- OnBecameVisible 對於任意一個相機可見時調用
- OnBecameInVisible 對於任意一個相機不可見時調用
- OnEnable 對象啟用或者激活時調用
- OnDisable 對象禁用或者取消激活時調用
- OnDestroy 腳本銷毀時調用
- OnGUI 渲染GUI和處理GUI消息時調用
3. 訪問游戲對象
- GameObject.Find 多個時返回第一個
- GameObject.FindWithTag 多個時返回第一個
- GameObject.FindGameObjectsWithTag 返回數組
以上函數比較耗時,盡量避免在update函數中使用。
4. 訪問組件
4.1. 常見組件
- Transform 位置、旋轉、縮放
- Rigidbody 剛體
- Renderer 渲染物體模型
- Light 燈光屬性
- Camera 相機屬性
- Collider 碰撞體
- Animation 動畫
- Audio 聲音
- Mesh
- Mesh Filter 網格過濾器
- Text Mesh 文本
- Mesh Renderer 網格渲染器
- Skinned Mesh Renderer 蒙皮渲染器,用於骨骼動畫
- Particle Sysyem 粒子系統
- Physics 物理
- Image Effects
- Scripts 自定義組件
4.2. 獲取組件
- GetComponent<>() 獲取組件
- GetComponents<>()
- GetComponentInChildren<>() 得到對象或者對象子物體上的組件
- GetComponentsInChildren<>()
以上函數比較耗時,盡量避免在update函數中使用。
4.3. Transform 組件
4.3.1. 成員變量
- position 世界坐標系
- localPosition 相對坐標系(父對象)
- eulerAngles 世界坐標系中以歐拉角表示的旋轉
- localEulerAngles 相對旋轉
- right 右方向
- up 上方向
- forward 前方向
- rotation 旋轉四元數
- localRotation 相對旋轉四元數
- localScale 相對縮放比例
- parent 父對象的Transform組件
- worldToLocalMatrix 世界坐標系到局部坐標系的變換矩陣(只讀)
- localToWorldMatrix 局部坐標系到世界坐標系的變換矩陣(只讀)
- root 根對象的Transform組件
- childCount 子孫對象的數量
- lossyScale 全局縮放比例(只讀)
4.3.2. 成員函數
- Translate 按指定方向和距離平移
- Rotate 按指定的歐拉角旋轉
- RotateAround 按給定旋轉軸和旋轉角度進行旋轉
- LookAt 旋轉使得自身的前方向指向目標的位置
- TransformDirection 將一個方向從局部坐標系變換到世界坐標系
- InverseTansformDirection 將一個方向從世界坐標系變化到局部坐標系
- DetachChildren 與所有子物體接觸父子關系
- Find 按名稱查找子對象
- IsChildOf 判斷是否是指定對象的子對象
5. Time 時間類
5.1. 成員變量
- time 游戲從開始到現在經歷的時間(秒)(只讀)
- timeSinceLevelLoad 此幀開始時間(秒)(只讀),從關卡加載完成開始計算
- dateTime 上一幀耗費的時間(秒)(只讀)
- fixedTime 最近FixedUpdate的時間。該時間從游戲開始計算
- fixedDateTime 物理引擎和FixedUpdate的更新時間間隔
- maximunDateTime 一幀的最大耗時時間
- smoothDeltaTime Time.deltaTime的平滑淡出
- timeScale 時間流逝速度的比例。可以制作慢動作特效
- frameCount 已渲染的幀的總數(只讀)
- realtimeSinceStartup 游戲從開始到現在的真實時間(秒),該事件不受timeScale影響
- captureFramerate 固定幀率設置
6. Random 隨機數類
6.1. 成員變量
- seed 隨機數生成器種子
- value 0~1隨機數,包含0和1
- insideUnitSphere 半徑為1的球體內的一個隨機點
- insideUnitCircle 半徑為1的圓內的一個隨機點
- onUnitSphere 半徑為1的球面上的一個隨機點
- rotation 隨機旋轉
- rotationUnitform 均勻分布的隨機旋轉
6.2. 成員函數
- Range 返回(min,max)直接的隨機浮點數,包含min和max
7. Mathf 數學類
7.1. 成員變量
- PI
- Infinity 正無窮大
- NegativeInfinity 負無窮大
- Deg2Rad 度到弧度的轉換系數
- Rad2Deg 弧度到度的轉換系數
- Epsilon 一個很小的浮點數
7.2. 成員函數
- Sin 弧度
- Cos 弧度
- Tan 弧度
- Asin 角度
- ACos 角度
- Atan 角度
- Sqrt 計算平方根
- Abs 絕對值
- Min
- Max
- Pow Pow(f,p) f的p次方
- Exp Exp(p) e的p次方
- Log 計算對數
- Log10 計算基為10的對數
- Ceil 向上取整
- Floor 向下取整
- Round 四舍五入
- Clamp 將數值限制在min和max之間
- Clamp01 將數值限制在0和1之間
8. Coroutine 協同程序函數
- StartCoroutine 啟動一個協同程序
- StopCoroutine 終止一個協同程序
- StopAllCoroutines 終止所有協同程序
- WaitForSeconds 等到若干秒
- WaitForFixedUpdates 等待直到下一次FiexedUpdate調用