シーン情報を格納する
 
 
 

測定情報の値を変数として格納します。変数は、メモリ上の特定の場所を参照するために便宜的に使用する名前です。データはメモリ内のこの場所に格納されます。

変数には 4 つの主な特徴、名前、型、値、範囲があります。名前、型、範囲は作成時に定義します。変数の名前と型を定義することを、変数の宣言と呼びます。MEL では、変数名の先頭に必ず「$」記号を付け、後続文字が変数名であることをスクリプト言語に示します。

変数の範囲は、その変数にどこからアクセスできるかを定義します。たとえば変数をコードのブロック内で宣言すると、そのブロック以外からはアクセスできません。

名前とタイプは作成後に変更できません。変数の値は変更できますが、値は前に定義した型であることが必要です。

注:MEL の変数は必ず明示的にデータ型を定義しておくことをお勧めします。明示的に宣言しておかないと、スクリプト言語は最初にその変数が出現したときの内容から変数のデータ型を推量しようとします。この場合、スクリプトエラーが発生してスクリプトの実行速度が遅くなってしまう可能性があります。変数を明示的に宣言するように習慣付けておくと良いでしょう。

シーン情報を変数として格納するには

  1. スクリプト エディタ(Script Editor)で次のように入力して、Enter キーを押します。
    float $diameter_barrel;

    このコマンドは、データ型が float の変数を、diameter_barrel という名前で宣言しています。浮動小数点数は、小数点を含む数値です。

  2. 変数に値を代入するには、次のように入力します。
    $diameter_barrel = 4.2;

    樽の直径は 4.2 単位です。シーンのこの値が変数に代入されます。変数に値を代入するには、代入演算子(=)を使用します。

他のデータ型を格納する

また、MEL は他の大多数のプログラム言語で共通な、その他のデータ型もサポートしています。

文字列変数を宣言するには

  1. スクリプト エディタで次のように入力します。
    string $testString = "this is a test";
    print $testString;

    スクリプト エディタに次の行が出力されます。

    this is a test

    文字列データ型は複数の文字を格納する場合に使用します。print コマンドはスクリプト エディタに変数の値を出力します。

    注:変数は同じステートメントで宣言と値の代入を行えます。

int 変数を宣言するには

  1. スクリプト エディタで次のように入力します。
    int $testInt = 5;
    print ($testInt/2);

    スクリプト エディタに次の行が出力されます。

    2

    int データ型は整数値を格納する場合に使用します。整数(integer)は正の整数と負の整数を含みます。プログラムでは、整数を別の整数で割ると結果は整数になるため、この場合は出力値は 2.5 にはなりません(2.5 は整数ではありません)。

    print コマンドの引数はカッコで囲みます。print コマンドの引数は 1 つだけです。カッコは Maya にコマンドを実行する前にカッコの内容を評価するよう伝えるために使用します。カッコはネストすることも可能で、数式と同じ法則でステートメントの評価順を決めます。

次の手順では、樽を均等間隔に並べて樽の列を作成します。樽をちょうど接するように並べて、リジッド ボディ シミュレーションの間に交差することがないようにします。

次のセクションでは、保存しておいた直径の値をコマンドの Z 値の引数として使用し、複製した樽を move コマンドで配置します。