組件
Inspector
組件(Component)是最終繼承自MonoBehaviour的類的總稱。組件實例必須附加在一個GameObject上才能發揮作用。在將腳本從Project面板中拖動到GameObject的Inspector面板中時,我們就將這個組件的一個實例附加到了GameObject上。在此之前我們已經成功將幾個組件附加到GameObject上了。
注:一個cs文件中不一定只有一個類,如果同一個文件中存在多個繼承自MonoBehaviour的類,將這個文件拖動到Inspector面板後,附加的將是類名和文件名相同的類。如果cs文件中沒有一個類的類名和文件名相同,則不能使用拖動的方法把腳本附加到GameObject上。
除了拖動的方法外,還可以點擊Inspector面板中的AddComponent按鈕來添加組件。可以在下拉菜單中搜索和尋找想要的官方組件或自定義組件,同時也可以在Scripts子菜單中找到你自定義的所有組件。
一個GameObject可以附加多個組件,也可以重複附加同一個組件(雖然這麼做很蠢)。無論通過何種方式創造的GameObject,都一定存在Transform組件,你也沒有任何方法刪除Transform組件。
在Inspector中點擊組件右上角的齒輪按鈕可以打開組件工具菜單。你還可以自定義對組件的操作,關於自定義編譯器的內容將在未來詳解。
Reset:重置這個組件爲默認值,默認值可能是在腳本中賦的初值,如果爲該組件製作過Preset的話,就會重置爲Preset中的值。
Move to Front、Move to Back:調整組件在Inspector面板中的位置。
Remove Component:從這個GameObject上刪除這個組件。
Move Up、Move Down:調整組件在Inspector面板中的位置。
Copy Component:複製這個組件,存入剪貼板。
Paste Component As New:如果你複製了一個組件,再選定你的目標GameObject,通過任意一個組件打開組件工具菜單,使用Paste Component As New可以將複製的組件黏貼到該物體上。
Paste Component Values:如果你複製了一個組件,再選定你的目標GameObject,通過一個同類的組件打開組件工具菜單,使用Paste Component Values可以將複製的組件黏貼並覆蓋選定的組件。
小技巧:在試玩模式下對組件進行的修改是不會被保存的,退出試玩模式後就會丟失。如果您在試玩模式下修改了組件的配置,又想讓配置在離開試玩模式時保存,可以在試玩模式下複製修改後的組件,然後在退出試玩模式後使用Paste Component Values將組件的配置更新。
Find References In Scene:查看引用情況。對材質、腳本或shader使用這個命令,搜索命令會顯示到Hierarchy面板的搜索框裏,Scene中顯示爲黑白的爲不使用這個腳本的物體,顯示爲彩色的爲附加了這個腳本的物體,Hierarchy窗口中將只顯示使用此項目的物體的名稱。如果想恢復原貌,清空搜索框中的內容即可。
Edit Script:使用Visual Studio打開這個腳本。
Preset
Preset可以將一個組件的信息序列化的保存起來,並用於快速的分配保存好的組件。
下圖中的按鍵就是Preset按鍵。
點擊Preset圖標後彈出一個Select Preset的窗口,我們可以點擊Save current to按鈕將選中的組件保存爲Preset,也可以在窗口內雙擊選擇使用已經保存過的Preset。
我們還可以從Project面板中拖動設置好的Preset到GameObject上,以此將Preset的組件附加到目標GameObject上,如果目標GameObject上已有同名組件,則Preset會覆蓋它。
在Project面板中選中Preset,可以在Inspector面板中修改它的屬性。
通過設置默認Preset,我們可以預設新附加的同類組件(在引擎內附加的或通過腳本動態附加的)的屬性。
選中Preset文件,在Inspector面板中點擊"Set as [組件類型] Default"即可將其設置爲默認,如下圖中的Camera Preset。將另一個同類組件的Preset設置爲默認會覆蓋原來的默認設置。如果想取消默認可以點擊Preset中的"Remove from [組件類型] Default"按鈕就可以了。
注:Preset和Prefab不同,以Prefab爲模板創造的GameObject會在Prefab被修改時同步,而以Preset爲模板創造的Component則不會在Preset被修改時同步。
還可以通過菜單欄"Edit"->“Project Settings”->"Preset Manager"打開Preset管理器,管理所有類型的Preset。