Unity オブジェクト・コンポーネント取得
昨年からプログラミングをC言語から学び始めて、4月からUnityを触り始めました。
以前から作りたかった簡単な照明のシミュレーターを作りながら思ったことを書いてみた。
・GameObject.Find(string Name)
Nameに一致するオブジェクト名のオブジェクトを1つ取得。
戻り値 GameObject。
Nameに '/'を入れることで親オブジェクトから階層みたいにほることも可能。
例 GameObject 変数 = GameObject.Find("/親オブジェクト/子オブジェクト");
・ GameObject.Transform.Find(string Name)
Nameに一致する子オブジェクトを親オブジェクトのTransformから探し1つ取得。
戻り値 Transform(失敗時は null)。
例 Transform 変数 = 親オブジェクト.Transform.Find("子オブジェクト");
・GameObject.FindGameObjectWithTag(string Name)
Nameに一致するタグを持つオブジェクトを1つ取得。
戻り値 GameObject(失敗時は null)。
例 GameObject 変数 = GameObject.FindGameObjectWithTag("タグ名");
・FindObjectOfType<class>()
指定したクラス(GameObject)を1つ取得。
戻り値 (指定したクラス)(失敗時は null)。
あんまり使い道ないかも・・・。
・GetComponent<class>()
指定したクラス(Component:Transform等)を1つ取得。
戻り値 (指定したクラス)(失敗時は null)。
GameObject.Find("オブジェクト").GetComponent<Component>();みたいに一気に探すことも可能。
例Component 変数 = GameObject.GetComponent<Component>();
※他にあれば追記してこうかな