ゲームオブジェクトを移動しよう! (3/5)
作成:2014-04-19 11:37
更新:2014-04-19 11:37
更新:2014-04-19 11:37
■絶対座標によるプロパティ
この「自分から見た移動や回転」は、キャラクタなどを直感的に移動させるのに向いているのですが、逆に「シーンのこの地点に移動」というように、シーン全体の絶対座標を指定した移動には不向きです。
では、シーン上の位置を指定して位置を移動するような場合はどうすればいいのでしょうか。これは、位置を示すプロパティを直接書き換えることで行えます。
ゲームオブジェクトでは、インスペクターのTransformにあるPosition/Rotation/Scaleといった設定を書き換えることで位置や向きなどを設定できました。これらはそのままTransformオブジェクトにプロパティとして用意されています。
position――位置の情報を保管するプロパティです。
rotation――向きの情報を管理するプロパティです
これらのプロパティには、更にx, y, zといったプロパティが用意されており、それらで各軸の値を取り出すこともできます。例えば、こんな具合です。
その理由は、potisionやrotationといったプロパティの値が「オブジェクト」だからです。これらには、「Vector3」「Quaternion」といったオブジェクトが設定されているのです。
では、シーン上の位置を指定して位置を移動するような場合はどうすればいいのでしょうか。これは、位置を示すプロパティを直接書き換えることで行えます。
ゲームオブジェクトでは、インスペクターのTransformにあるPosition/Rotation/Scaleといった設定を書き換えることで位置や向きなどを設定できました。これらはそのままTransformオブジェクトにプロパティとして用意されています。
position――位置の情報を保管するプロパティです。
rotation――向きの情報を管理するプロパティです
これらのプロパティには、更にx, y, zといったプロパティが用意されており、それらで各軸の値を取り出すこともできます。例えば、こんな具合です。
var x = toransform.position.x;これで、X軸の位置の値が取り出せます。同様に、y, zの値も取り出すことができます。しかし、不思議ですね。positionやrotationはプロパティなのに、更にその中にプロパティがあるなんて。
その理由は、potisionやrotationといったプロパティの値が「オブジェクト」だからです。これらには、「Vector3」「Quaternion」といったオブジェクトが設定されているのです。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ
「JavaScriptではじめるUnityプログラミング入門」に戻る