Unity中各種查詢物體方法的區別

2021-09-03 02:20:22 字數 825 閱讀 2904

通過名字或者路徑查詢遊戲物件

使用規範:

1、無法查詢隱藏物件

隱藏物件包括查詢路徑的任何乙個父節點隱藏

2、如果查詢不再最上層,建議合理使用路徑查詢,路徑查詢是把雙刃劍

優點1:解決查詢中可能出現的重名問題。

優點2:如果有完全的路徑,減少查詢範圍,減少查詢時間

缺點:路徑或者結構調整後,很容易影響到程式中的查詢,需要重新定位查詢路徑。

3、如果路徑查詢中的任何乙個父節點active=false,這個物件都找不到

4、使用方便但是效率低下

此方法相當於遞迴遍歷查詢,雖然使用方便但是效率低下,建議在start()函式中查詢物件並儲存引用,切記在update()中動態查詢。

transform.find

1、可以查詢隱藏物件

2、支援路徑查詢

3、查詢隱藏物件的前提是transform所在的根節點必須可見,即active=true

實際開發中可以將功能預製體放到乙個可見的gameobject目錄下,將這個gameobject目錄作為查詢根節點,下面的所有物件(隱藏、非隱藏)都可以找到

Unity 查詢遊戲物體各種方法

findobjectoftype 查詢相應型別的遊戲物體,查詢到第乙個就返回 不查詢未啟用的物體,如果物體未啟用,返回值為null light light findobjectoftype 查詢光 findobjectsoftype查詢相應型別的遊戲物體,查詢全部,返回陣列 不查詢未啟用的物體 tr...

unity裡面查詢所有物體

測試的時候發現乙個很詭異的bug,在prefab裡面的物體的屬性居然不斷的在變化,最後一步步除錯才發現,區別是查詢物體的api,特此記錄下 兩種api canvas canvasarray canvas object.findobjectsoftype typeof canvas 僅查詢當前場景中的...

Unity中的物體移動

1 直接改變物體的位置。例子 transform.position transform.position 某一三維向量 vector3 2 public void translate vector3 translation 物體在對應的座標系中,向引數的方向移動,每一幀移動引數大小 引數 trans...