Unity全面入門筆記9-瞭解組件

組件

Inspector

  • Component和GameObject

組件(Component)是最終繼承自MonoBehaviour的類的總稱。組件實例必須附加在一個GameObject上才能發揮作用。在將腳本從Project面板中拖動到GameObject的Inspector面板中時,我們就將這個組件的一個實例附加到了GameObject上。在此之前我們已經成功將幾個組件附加到GameObject上了。

注:一個cs文件中不一定只有一個類,如果同一個文件中存在多個繼承自MonoBehaviour的類,將這個文件拖動到Inspector面板後,附加的將是類名和文件名相同的類。如果cs文件中沒有一個類的類名和文件名相同,則不能使用拖動的方法把腳本附加到GameObject上。

除了拖動的方法外,還可以點擊Inspector面板中的AddComponent按鈕來添加組件。可以在下拉菜單中搜索和尋找想要的官方組件或自定義組件,同時也可以在Scripts子菜單中找到你自定義的所有組件。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-yHAldG4J-1569681936596)(C:\Users\UPiracy\AppData\Roaming\Typora\typora-user-images\1568447952100.png)]

一個GameObject可以附加多個組件,也可以重複附加同一個組件(雖然這麼做很蠢)。無論通過何種方式創造的GameObject,都一定存在Transform組件,你也沒有任何方法刪除Transform組件。

  • 對組件的操作

在Inspector中點擊組件右上角的齒輪按鈕可以打開組件工具菜單。你還可以自定義對組件的操作,關於自定義編譯器的內容將在未來詳解。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-17Jmnzon-1569681936598)(C:\Users\UPiracy\AppData\Roaming\Typora\typora-user-images\1568449108839.png)]

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按鍵。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vEbo9fHP-1569681936598)(C:\Users\UPiracy\AppData\Roaming\Typora\typora-user-images\1568472547710.png)]

點擊Preset圖標後彈出一個Select Preset的窗口,我們可以點擊Save current to按鈕將選中的組件保存爲Preset,也可以在窗口內雙擊選擇使用已經保存過的Preset。

我們還可以從Project面板中拖動設置好的Preset到GameObject上,以此將Preset的組件附加到目標GameObject上,如果目標GameObject上已有同名組件,則Preset會覆蓋它。

在Project面板中選中Preset,可以在Inspector面板中修改它的屬性。

  • 設置默認Preset

通過設置默認Preset,我們可以預設新附加的同類組件(在引擎內附加的或通過腳本動態附加的)的屬性。

選中Preset文件,在Inspector面板中點擊"Set as [組件類型] Default"即可將其設置爲默認,如下圖中的Camera Preset。將另一個同類組件的Preset設置爲默認會覆蓋原來的默認設置。如果想取消默認可以點擊Preset中的"Remove from [組件類型] Default"按鈕就可以了。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-L3MUstRy-1569681936599)(C:\Users\UPiracy\AppData\Roaming\Typora\typora-user-images\1568473199908.png)]

注:Preset和Prefab不同,以Prefab爲模板創造的GameObject會在Prefab被修改時同步,而以Preset爲模板創造的Component則不會在Preset被修改時同步。

還可以通過菜單欄"Edit"->“Project Settings”->"Preset Manager"打開Preset管理器,管理所有類型的Preset。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-3Zlnvpn0-1569681936600)(C:\Users\UPiracy\AppData\Roaming\Typora\typora-user-images\1568473546116.png)]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章