【Unity】オブジェクトの取得

 前提が必須ではないが「【Unity】Unityの取得がざっくりわかるはなし」も合わせて読んでおくことを推奨する。

 オブジェクトの取得にはいくつか手段があるが大きく分けると2つ。
①事前に手動で登録
②スクリプトで自動取得

 それぞれ場面に応じて使い分けが必要だが、特に事情がなければ①の方がとっつきやすい。

①事前に手動で登録

 方法は主に以下2パターン。宣言のときに一言つけるだけでInspector【インスペクター】ウィンドウにドラッグ&ドロップ用の枠が作られる。取得したオブジェクトで何をするかで最適な記述は変わってくる。よくわからないうちはpublicでよい。

//スクリプトで取得したオブジェクトのコンポーネントや値をいじりたいとき
public GameObject kaeru;

//スクリプトから変更を加えないとき
[SerializeField] GameObject kawaz;

②スクリプトで自動取得

 方法はいくつかあるが扱いやすいのは以下サンプル。シーン中のアクティブなオブジェクトをオブジェクト名で検索する。処理負荷が大きいため毎フレーム実行することのないように工夫が必要。Start【スタート】関数で最初に取得して使うのが一般的。

//オブジェクト名で検索
GameObject kaeru = GameObject.Find ("KaeruSan");

Leave a comment

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA