預製體 判斷物體物件是否預製體

2021-09-30 18:42:04 字數 1872 閱讀 6228

在編輯器中操作預製體常用的類是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的任意子目錄中不方便管理,這並不是我們...