在編輯器中操作預製體常用的類是prefabutility,裡面提供了不同的方法去對預製體進行操作。當想要判斷物件是例項,預製體還是單純乙個物件時,可以使用裡面提供的函式。
prefabutility裡面不同版本變化很多,常用的函式在2019都過期了,但是2019以下的版本都能用。所以用哪個的話,可以根據自己專案版本來決定。
prefabutility官網資訊:在2019版本中,判斷物件是根據能否從assets裡載入資源。(prefabutility變得好雞肋啊)
這樣的話,預製體可以直接判斷能夠獲取路徑。
assetpath = assetdatabase.
getassetpath
(gameobject);if
(!string.
isnullorempty
(assetpath)
)return true;
測試函式
prefabutility.
getprefabobject()
//2019-過時
prefabutility.
findprefabroot()
//2019-過時
prefabutility.
getprefabparent()
//2019-過時
}
如果是2019以下的版本,直接使用prefabuitily提供的就可以了。
2019的版本的話,還是老實根據資源路徑進行判斷吧。
測試版本:2017.4.3f1
預製體層級管理外掛程式
很多時候想調整預製體的層級,但是層級關係太複雜 手動處理太麻煩,寫指令碼來處理又太懶 這裡為大家提供乙個小外掛程式 要是有好的意見 也歡迎提出來 變化量 canvasnum if guilayout.button 調整 增減 if guilayout.button 初始化 if guilayout....
查詢丟失元件的預製體
在製作遊戲的過程中,我們經常會遇到預製體丟失元件的情況,如下圖所示。預製體丟失元件,一般情況下如果我們不去獲取該元件,就不會報錯或影響遊戲的執行。但是在遊戲載入該預製體時,會報警告,看到console中有警告的話也是非常難受的。考慮到遊戲中使用了上百的預製體,每個預製體又由數個甚至數十個子物體組成,...
Unity小功能分享 預製體庫
在平時開發的時候經常會用到預製體,還會結合resources在執行時載入預製體,不過使用resources的方式會把所有放在resources目錄下的東西都打包到build的程式包中,這樣就會把測試的內容也打包進去,而且resources資料夾可以在assets的任意子目錄中不方便管理,這並不是我們...