スクリプト ファイルをロードする
 
 
 

他の人がスクリプト エディタで作成したスクリプト ファイルを読んで編集することができます。このセクションでは、makeRoll プロシージャ用の完成したユーザ インタフェースを含むスクリプトを開きます。ただし、ユーザ インタフェースはレイアウトだけで、機能は含まれていません。

スクリプトを開く準備をするには

  1. スクリプト エディタで、コマンド > 行番号の表示(Command > Show line numbers)にチェックが入っていることを確認します。

    行番号の表示(Show Line Numbers)をオンにすると、スクリプト エディタでコマンドの横に行番号が表示されます。レッスン中に、スクリプトの修正箇所を伝えるために、行番号を参照することがあります。このレッスンで参照する行番号は、必ずオリジナル スクリプトの行番号を使用します。

  2. コマンド > 新規タブ(Command > New Tab)を選択して、スクリプト エディタに新しいタブを作成します。

    ポップアップウィンドウが表示され、このタブに入力するコマンドの言語を選択するよう求められます。

  3. ポップアップ ウィンドウの MEL ボタンをクリックします。

    スクリプト エディタに 2 つ目の MEL タブが作成されました。

  4. コマンド > タブ名の変更(Command > Rename Tab)を選択します。
  5. MEL2 と入力します。

    タブ名が変更されました。

次の手順では、ユーザ インタフェース スクリプトを両方の MEL タブにロードします。MEL タブにはオリジナルのスクリプトを入れ、MEL2 タブには 変更したユーザ インタフェース スクリプトを入れます。このようにしておくと、オリジナル スクリプトの行番号を参照して変更箇所を伝えることができます。

スクリプト エディタでスクリプト ファイルを開くには

  1. MEL タブを選択します。
  2. スクリプト エディタで、ファイル > スクリプトのロード(File > Load Script)を選択します。
  3. Mel_UI_Start.mel という名前の MEL スクリプトを選択します。

    このファイルは、Maya プロジェクトとして設定した GettingStarted ディレクトリの mel サブディレクトリ内にあります。

    MEL ファイルの内容がスクリプト エディタに表示されます。

  4. 上記手順を繰り返し、MEL スクリプトを MEL2 タブにロードします。
  5. MEL タブのスクリプト エディタ メニュー バーから編集 > すべてを選択(Edit > Select All)を選択して、スクリプトをハイライトします。
  6. Ctrl キーを押しながら Enter キーを押して、スクリプトを実行します。

    makeRoll プロシージャに対してユーザ インタフェースが作成されます。makeRoll プロシージャの各引数に対してユーザ インタフェースのコントロールがあります。

    (このウィンドウは後でテストに使用する予定なので、開いたままにしておきます)。

説明: スクリプトで何を行うか

  1. ユーザ インタフェースのコントロールは各種コマンドで作成されています。以下では、

スクリプトを複数のセクションに分割して、各種ユーザ インタフェース コントロールとそのフラグについて説明しています。レッスンの前半で使用したユーザ インタフェース コントロールとコマンドについては、以下で簡単に説明します。

条件文

if(`window -exists makeRoll_Window`==1) { 	deleteUI makeRoll_Window; }

これは指定した名前のウィンドウが存在するかどうかチェックする条件文です。ウィンドウが存在すれば、それを削除します。

ウィンドウ コマンド

window -resizeToFitChildren 1 makeRoll_Window;

window コマンドは、コントロールを含むユーザ インタフェース ウィンドウを作成します。詳細については、 ウィンドウを作成するを参照してください。

カラム レイアウト

columnLayout;

columnLayout コマンドは、コントロールを縦 1 列に配置するレイアウトを作成します。詳細については、 コントロールを参照するを参照してください。

テキスト フィールド コマンド

$obj_name_text = 	`textField 	-editable 0 	-width 400 	-text name_Of_Object`;

コマンド textField は、編集可能なテキスト フィールドを作成します。テキスト フィールド コマンドには複数のフラグがあります。テキスト フィールドの名前とパスは変数として格納されます。詳細については、 コントロール名を格納するを参照してください。

スライダ コマンド

$ground_int= `intSliderGrp 	-minValue -20 	-maxValue 20 	-value 0 	-fieldMinValue -20 	-fieldMaxValue 20 	-field 1 	-label "Ground Plane"`; $diameter_float= `floatSliderGrp 	-value 1.0 	-minValue 1.0 	-fieldMinValue 1.0 -field 1 	-label "Diameter"`;

コマンド intSliderGrp と floatSliderGrp はスライダを作成します。Grp で終わるコマンドは、リンクされたコントロールのグループを作成します。スライダ コマンドはラベル、値ボックス、スライダのコントロールを作成します。スライダ コマンドには複数のフラグがあります。スライダの名前とパスは変数として格納されます。詳細については、 コントロール名を格納するを参照してください。

セパレータ コマンド

separator -height 20 -width 120;

コマンド separator は水平ラインを作成します。これは、ウィンドウでコントロールを垂直方向に同間隔に配置する場合に使用します。separator コマンドには複数のフラグがあります。

チェック ボックス コマンド

$box_sim_checkbox = 	`checkBox 	-value 1 	-label "Box Simulation"`; $sphere_sim_checkbox = 	`checkBox 	-value 0 	-label "Sphere Simulation"`; separator -height 20 -width 120; $execution_button= 	`button 	-label "Execute!" 	-command "print (\"something\");"`;

コマンド checkBox はチェック ボックスを作成します。チェック ボックス コマンドには複数のフラグがあります。チェック ボックスの名前とパスは変数として格納されます。詳細については、 コントロール名を格納するを参照してください。

ShowWindow コマンド

showWindow;

最後に作成されたウィンドウを表示可能にするコマンドです。詳細については、 ウィンドウを作成するを参照してください。

注:上記スクリプトでは、変数を明示的に宣言していません。これは、ユーザ インタフェース作成コマンドの戻り値のデータ型は文字列と決まっており、その他のデータ型はありえないからです。戻り値のデータ型をまだ知らないため、レッスンの後半ではデータ型を宣言しないでおきましょう。