初步了解了下unity,unity的使用,以及場景的布局,UI,以及用C#做一些簡單的邏輯。好記性不如爛筆頭,一些關鍵幀還是記起來比較好,哈哈,不然可能轉瞬即逝了。
一:MonoBehaviour類的初始化
1, Instantiate()創建GameObject
2, 通過Awake()和Start()來做初始化
3, Update、LateUpdate,和FixedUpdate來更新邏輯
4, 用OnGUI繪制UI
5, OnCollisonEnter等進行物理運算
6, OnPreCall等來控制渲染
二:導航網格的設置
1. 設置導航網格
2. 設置Nav Mesh Agent
3. 調用Nav Mesh Agent的方法路徑
三:如何更新邏輯
1. 場景啟動時調用所有腳本的Awake()
2. 調用所有腳本的start()
3. 調用Update(每一幀調用一次Update())
4. 調用LateUpdate(所有的update調用完之后再調用LateUpdate)
5. 調用FixedUpdate
PS:update跟當前平臺的幀數有關,而FixedUpdate是真實時間,所以處理物理邏輯的時候要把代碼放在FixedUpdate而不是Update。
Update是在每次渲染新的一幀的時候才會調用,ixedUpdate是在固定的時間間隔執行,不受游戲幀率的影響。
FixedUpdate的時間間隔可以在項目設置中更改,點擊 Edit - Project Setting - time找到 Fixed timestep,就可以修改了。
四:腳本間的通訊
1. GetComponment可以找到同一個物體上面掛著的其他的腳本。
2. GameObject.Find來找到其他物體。
3. SendMessage來
4,有一個串口通信類 SerialPortReciever。
腳本之間的通信有幾種:
1.利用在腳本A中定義對外接口函數,然后在腳本B中找到A所在的對象,再找到腳本A,進而調用里面的對外接口函數,這個方法在我的《unity3D NGUI中button響應事件實現》這篇文章中有仔細說明,可以參考。
2.還有一個是利用SendMessage的方法來實現腳本互相通信。
也是,首先在A腳本中編寫對外接口函數,如下所示:
using UnityEngine;
using System.Collections;
public class A : MonoBehaviour {
public void Show_nunber(int n)
{
print("num: " + n );
}
}
然后在腳本B中利用SendMessage機制調用腳本A里面的Show_number函數。
如下:
using UnityEngine;
using System.Collections;
public class B : MonoBehaviour {
public GameObject Obj;//A腳本綁定在一個物體上的時候,再把腳本B拖拽到這個GameObject
void Start ()
{
Obj.SendMessage("Show_number","10");//相當于調用腳本B里面的函數,第一個參數是函數名,第二個傳遞的整型參數
}
}
五:部分方法筆記
1,Desotry來銷毀一個GameObject
2,Collider碰撞
3,Rigidbod控制物體移動
4,Resume()運行
5,profabs 模板
更多關于“unity培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。