本文主要為了方便查閱

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呼叫