mybox = box()
ボックスの基本プロパティの作成 および 修正方法については既に説明しました。 次に、標準変換 (移動、スケール、回転) を適用する方法を説明します。ボックスを作成するときに、位置、サイズ、方向を指定できます。 ただし、3ds Max で行う場合と同様、オブジェクトの作成後にこれらの操作を行うこともできます。
MAXScript では、オブジェクトの移動は簡単に行うことができます。
ただし、name_obj は移動させるオブジェクトの名前を、<x,y,z>は移動させる量を表します。
オブジェクトを <x,y,z>に移動させるのではなく、<x,y,z>の量だけ移動させるという点に注意してください。
つまり、move 関数を複数回適用すると、オブジェクトはそのたびに移動します。スケールおよび回転変換の場合も同様です。
これは、オブジェクトのプロパティを設定する場合とは対照的です。オブジェクトの位置、スケール、回転プロパティを複数回設定しても、毎回同じ値を割り当てた場合、オブジェクトは変化しません。
2 番目および 3 番目の行を実行しても、ボックスの絶対位置に影響はありません。
上記のコマンドを実行した場合、 [元に戻す](Undo)を 3 回クリックすると、ボックスは元の位置に戻ります。
ただし、name_obj はオブジェクトの名前を、<x,y,z>は X 軸、Y 軸、Z 軸に沿ってオブジェクトをスケーリングする量に対応するそれぞれの 3D 座標を表します。
この場合も、スケール変換は、スケール オブジェクトのプロパティと異なることに注意してください。オブジェクトのスケール プロパティ(name_obj.scale= …)を同じ値で繰り返し設定すると、最初はオブジェクトをスケーリングするだけですが、スケール変換を繰り返し適用することで、オブジェクトをスケーリングし続けます。
回転変換は、移動およびスケール変換より複雑です。MAXScript でオブジェクトの回転には、次の 3 つの方法があります。
[オイラー角度](Euler Angles), [Quaternions ] and [Angleaxis ].
ここでは、オイラー角度について説明します。これらの変換の詳細については、『MAXScript リファレンス』を参照してください。
MAXScript で回転変換を適用するには、回転を「回転オブジェクト」として定義してから、回転するオブジェクトに回転オブジェクトを適用します。回転オブジェクトは、次の方法で定義します。
ただし、rot_obj は任意の名前に設定でき、x、y、z は X、Y、Z の各軸の周りのオブジェクトの回転量 (度) を表します。
任意のオブジェクトにこの回転を適用するには、上記の行を記述し、mybox を回転するオブジェクトの名前に置き換えます。
上記のコマンドを実行した場合、 [元に戻す](Undo)をクリックすると、ボックスは元の位置に戻ります。
この回転は、X 軸方向、Y 軸方向、Z 軸方向の順に適用されます。
既定値では、オブジェクトの移動、スケール、および回転と、変換に関連するプロパティの設定は、ワールド座標系で行われます。これらの変換を別の座標系で実行する方法については「coordsys」を参照してください。