この「自分から見た移動や回転」は、キャラクタなどを直感的に移動させるのに向いているのですが、逆に「シーンのこの地点に移動」というように、シーン全体の絶対座標を指定した移動には不向きです。
では、シーン上の位置を指定して位置を移動するような場合はどうすればいいのでしょうか。これは、
位置を示すプロパティを直接書き換えることで行えます。
ゲームオブジェクトでは、インスペクターの
Transformにある
Position/Rotation/Scaleといった設定を書き換えることで位置や向きなどを設定できました。これらはそのまま
Transformオブジェクトにプロパティとして用意されています。
position――位置の情報を保管するプロパティです。
rotation――向きの情報を管理するプロパティです
これらのプロパティには、更にx, y, zといったプロパティが用意されており、それらで各軸の値を取り出すこともできます。例えば、こんな具合です。
var x = toransform.position.x;
これで、X軸の位置の値が取り出せます。同様に、y, zの値も取り出すことができます。しかし、不思議ですね。
positionや
rotationはプロパティなのに、更にその中にプロパティがあるなんて。
その理由は、
potisionや
rotationといったプロパティの値が「オブジェクト」だからです。これらには、「
Vector3」「
Quaternion」といったオブジェクトが設定されているのです。