自身のGameObjectを参照
GameObject obj = this.gameObject;
transformからGameObjectを参照
GameObject obj = transform.gameObject;
親を参照
GameObject obj = transform.parent.gameObject;
子の参照(for)
for文 + GetChild で取得する場合。
for(int i = 0; i < transform.childCount; i++){
GameObject obj = transform.GetChild (i).gameObject;
}
子の参照(foreach)
foreach文 で取得する場合。
foreach(Transform t in transform){
GameObject obj = t.gameObject;
}
Findで探す
Hierarchy上に配置されているオブジェクトをFindで探す。
GameObject obj = GameObject.Find("Environments") as GameObject;
パスを書けば階層も辿れる。
GameObject obj = GameObject.Find("Environments/Directional Light") as GameObject;
FindWithTagで探す
InspectorでTagをつけるのを忘れない事。最後にTagをつけたオブジェクトが参照できる。
GameObject obj = GameObject.FindWithTag("Actor") as GameObject;
FindGameObjectsWithTagで探す
複数ある場合はこっち。配列の中身はInspectorでTagをつけた順になってる。
GameObject[] objs = GameObject.FindGameObjectsWithTag("Actor");
foreach(GameObject obj in objs)
{
print ("FindGameObjectsWithTag: " + obj);
}
FindObjectOfTypeで探す
Dammy dammy = FindObjectOfType(typeof(Dammy)) as Dammy;
FindObjectsOfTypeで探す
複数ある場合はこっち。
Dammy[] dammys = FindObjectsOfType(typeof(Dammy)) as Dammy[];
foreach(Dammy dammy in dammys)
{
print ("dammy: " + dammy);
}
GetComponentで参照
Dammy dammy = gameObject.GetComponent<Dammy> () as Dammy;
GetComponentInChildrenで参照
Dammy dammy = gameObject.GetComponentInChildren<Dammy> () as Dammy;