Posted at

[Unity]オブジェクトの座標の取得と変更

More than 1 year has passed since last update.

座標取得しようとしたら、うまくいかなかったのでその方法をメモ


環境

・Unity 5.4.0f3


コード


間違ってるコード

GameObject.Find("hogehoge").transform.position.x += 100;


こんな感じで、シーンからhogehogeオブジェクトを探して、そのx座標に100を加算したかった。

でも、これだとエラーが出たのでNG


正解のコード

Vector3 tmp = GameObject.Find("hogehoge").transform.position;

GameObject.Find("hogehoge").transform.position = new Vector3(tmp.x + 100, tmp.y, tmp.z);

うーん面倒臭い。

一度座標を取り出してから、再度代入という形にしないといけないみたい。

個別の座標を取るには、

float x = tmp.x;

float y = tmp.y;
float z = tmp.z;

でできる。