http://blog.csdn.net/gyaping/article/details/7735667
沒想到插入圖片這麼麻煩,我都是直接插入在word文檔中的,如果一個一個這麼插入,累不死也得煩死了。因爲還在不停地修改,等基本成形之後,再共享word文檔好了。下面很多有圖片的地方沒顯示出來。
說明:
本系列內容全部原創,包括課程整體架構,也跟其他所有教程不同。
如需轉載請註明:轉載自葛亞平
1、 組件及組件的創建
組件(Component)是用來綁定到遊戲對象(Game Object)上的一組相關屬性。本質上每個組件是一個類的實例。常見的組件有:MeshFilter、MeshCollider、Renderer、Animation等等。
其實不同的遊戲對象,都可以看成是一個空的遊戲對象,只是綁定了不同的組件。比如:Camera對象,就是一個空對象,加上Camera、GUILayer、FlareLayer、AudioListener等組件。其他對象綁定的組件,可自行觀察。
到底有哪些組件呢?可以說有無數種組件,只是有一些特別常用的,被Unity3d預先弄好了。可以通過Component菜單來查看,比如:
此處只列出兩個子菜單中的組件,還有其他預設組件,可以自行查看。
2、 組件的使用
組件的目的是爲了控制遊戲對象,通過改變遊戲對象的屬性,以便同用戶或玩家進行交互。不同的遊戲對象可能需要不同的組件,甚至有些需要自定義的組件才能實現。
a) 組件的添加
i. 手工添加
ii. 代碼添加
b) 組件的刪除
i. 手工刪除
ii. 代碼刪除
3、 自定義組件
有時我們想要的功能,Unity3d沒有預設,這就需要我們在腳本中實現了。爲了更好的模塊化,一般是寫在不同的類中,也就是以自定義組件的形式出現。
如果想自定義自己的組件的話,非常簡單,只需要在項目中創建一個類即可。在項目中創建的類會默認繼承自Monobehavior類。繼承這個類的方法都可以綁定到遊戲對象上。如果想給這個類,也就是我們創建的組件添加一些屬性的話,只需要在類中聲明公開的字段即可。
示例1:實現一個旋轉組件。並綁定到遊戲對象上。
創建一個RotateSelf類,在其Update中寫上旋轉語句
transform.Rotate(Vector3.right* Time.deltaTime);
保存後,把該腳本拖拽到一個cube上,然後運行。
我們創建的類,會自動在Component->Scripts子菜單中出現,默認顯示的是文件名。請自行查看和試驗,比如現在創建一個類,然後在Component->Scripts中查看。
如果覺得這樣顯示不方便的話,可以在自行創建的組件類中,添加一個AddComponentMenu的特性,比如添加一個相機處理的組件:
[AddComponentMenu("Camera-Control/3dsMaxCamera Style")]
顯示如下: