構文定義の中で <operand>
として表されるオペランドは、演算子を囲む値を参照し、関数にパラメータとして渡されます。主な例に、リテラル定数や変数名があります。オペランドは、係数と アクセサという 2 つのグループに分けられます。
係数は、構文定義の中で <factor>
として表され、値を参照し、その値全体に作用します。係数は、リテラル定数、予約済みグローバル変数、変数名、または式の場合があります。
単項マイナスは、次のように算術無効演算子をそのオペランドに適用します。
-<operand> -- unary minus
単項マイナスは、数に評価される係数だけに適用できます。
例:
-0.75 sin (-a*pi)
「アクセサ」とは、複合値のコンポーネント(配列や 3 次元 ポイントなど)へのアクセスを可能にする構文のことです。MAXScript の 2 種類の合成値に対応するアクセサには、次の 2 つがあります。
コンポーネント値は、配列や文字列のようにインデックスできる順序に整列されます。
複合値は、3 次元ポイントや時間間隔のように名前付きコンポーネントの固定セットを含みます。
ボックス、球、ベンド モディファイヤ、ビットマップ テクスチャといったすべての 3ds Max オブジェクトは、このシーン内の複合値として処理されます。高さや角度、マップ ファイル名などのオブジェクトのパラメータはすべて、名前付きコンポーネントとしてアクセスされます。MAXScript では、これらの名前付きコンポーネントのことをプロパティといいます。
アクセサには 2 つの形式があります。1 つは <array_index>
:
<operand> [ <expr> ] -- an indexed element
もう 1 つは <property>
: です。
<operand>.<var_name> -- a named property
例:
maps[i] selection[n+1] position.x bend.angle