別のオブジェクトに割当たっているスクリプトの変数の値を取ってくる

もくじ
https://tera1707.com/entry/2022/02/06/144447

やりたいこと

衝突した相手のオブジェクトをとる、であれば、OnCollisionEnter()の引数で取ることができるが、衝突もしてない、離れたオブジェクトについての情報を取りたい。

やりかた

GameObject.Find()を使う。

まず、取りたいオブジェクトに、名前を付ける。

インスペクタのここを編集すると、名前を付けることができる。

例えば「Player」という名前のオブジェクトを取りたい場合は、

var player = GameObject.Find("Player");

と書く。

さらに、そのオブジェクトが持っているコンポーネントを取るために

var pc = player ..GetComponent<PlayerController>();

と書く。

上記の「PlayerController」のところには、取りたいコンポーネントの型を書く。

この場合の「PlayerController」は、スクリプトのクラスなので、 そいつがもつpublicの変数をgetsetできたりする。

BoxColliderを指定すると、コライダの大きさを.size()で取れたりする。