位置を扱うとき、よく目にすることになるのが「
Vector3」というクラスです。これは「
ベクトル」データを扱うためのものです。
ベクトルというのは、その昔、学校で習った記憶がぼんやりとあるんじゃないでしょうか。ベクトルは、空間における大きさと方向をもった量を示すものです。要するに、「こっちの方向にこれだけの力」とかを表すのに用いるものですね。移動や回転などを行わせる際、このベクトルデータである
Vector3のインスタンスを用意して利用することができるようになっているのです。
この
Vector3クラスは、以下のようにしてインスタンスを作成します。引数はそれぞれfloat値になります。
変数 = new Vector3( X値 , Y値 , Z値 );
X, Y, Zのそれぞれの軸の量を示す値を指定することで、3次元空間における方向と量(力や距離など)を表す
Vector3インスタンスが作成できます。
この
Vector3クラスには、そのまま「x」「y」「z」というプロパティが用意されており、それらの値をy特設変更することで値を操作することができます。
■positionプロパティ
この
Vector3が値として利用されているものの代表は、
Transformクラスの「
potision」プロパティでしょう。この
positionは、
GameObjectの位置を示すものです。この値を変更することで、表示位置を操作することが可能になります。
簡単な利用例を下に挙げておきました。
Updateメソッドを書き換えてください。シーンを実行すると、Z軸方向にゆっくりとCubeが遠ざかっていきます。ここでは
transform.positionの
Vector3インスタンスを取り出し、そのzの値を書き換えて再び値を設定しています。
this.transform.position.z += 0.01f;でも良さそうに思いますが、
this.transform.positionプロパティ内の
Vector3インスタンスをそのまま書き換えることはできないようで、一度変数に取り出してから再設定する、という形で利用するのが基本となります。