スクリプト エディタ(Script Editor)のメニューとホットキー

ファイル(File)

スクリプトのロード(Load script)

テキスト ファイルの内容をスクリプト エディタ(Script Editor)にロードします。

スクリプトのソース(Source script)

テキスト ファイルの内容を実行します。

ローカルにスコープされたプロシージャの定義はコールする前に現わさなければいけません。(MEL でローカルにスコープされたプロシージャを前方に参照することは許可されていません。)例えば、noForwardRef.mel というファイルでは、ローカル プロシージャが参照される前に定義します。

proc myLocalProc() 
{ 
    print "In myLocalProc()\n" ; 
}
proc anotherLocalProc()
{
    print "In anotherLocalProc()\n";
    myLocalProc;
}
global proc noForwardRef() 
{ 
    print "Calling anotherLocalProc()\n";
    anotherLocalProc;
}

スクリプトをソースした後に変更した場合、その変更内容はMayaによって自動的には反映されません。ファイル > スクリプトのソース(File > Source Script)を使用してスクリプトを再実行する必要があります。

スクリプトの保存(Save script)

選択されたテキストをテキスト ファイルに保存します。

スクリプトをシェルフに保存(Save script to shelf)

現在のシェルフに選択されたテキストを実行するボタンを追加します。

編集(Edit)

編集(Edit)メニューには、元に戻す(Undo)やり直し(Redo)カット(Cut)コピー(Copy)ペースト(Paste)すべてを選択(Select All)などの標準滝な編集コマンドとそれに関連するホットキー、および以下のコマンドが含まれています。

指定行に進む(Go to line)

指定された行番号に移動します。

検索して置き換え(Search and replace)

文字列を検索し、検索した文字列を別の文字列と置き換えることができる検索ダイアログを開きます。検索方向を選択し、検索で大文字/小文字を区別するかを選択できます。

選択項目のインデント(Indent Selection)/選択項目のインデント解除(Unindent Selection)

選択したテキストをインデントまたはインデント解除することができます。

ヒストリのクリア(Clear History)

ヒストリ ペインをクリアします。

入力のクリア(Clear Input)

入力ペインをクリアします。

すべてクリア(Clear All)

ヒストリ ペインと入力ペインを両方ともクリアします。

ヒストリ(History)

バッチ レンダーのメッセージ(Batch render messages)

スクリプト エディタ(Script Editor)にバッチ レンダリング メッセージを表示します。

すべてのコマンドのエコー(Echo all commands)

この項目をオンにすると、Maya が実行するすべての MEL コマンドがスクリプト エディタの上部ペインに表示されます。

たとえば、作成 > ポリゴン プリミティブ(Create > Polygon Primitives) > 球(Sphere)を選択すると、Maya が実行する対応する MEL コマンド(polySphere)が上部ペインに出力されます。

エラーの行番号(Line numbers in errors)

エラーがある行番号を表示します。

スタック トレースの表示(Show stack trace)

外部スクリプト ファイル内のエラーとその行番号をリスト表示する別のウィンドウを開きます。これは、外部ファイルのスクリプトをデバッグするのに非常に便利です。

コマンド結果を表示しない(Suppress command results)

オンにすると、スクリプト エディタにコマンドの結果は表示されません。結果メッセージは// 結果:(// Result:)で始まります。

情報メッセージを表示しない(Suppress info messages)

オンにすると、スクリプト エディタ(Script Editor)に情報メッセージは表示されません。情報メッセージにはさまざまなタイプがありますが、(「//」以外に)設定プリフィックスは付いていません。

警告メッセージを表示しない(Suppress warning messages)

オンにすると、スクリプト エディタ(Script Editor)に警告メッセージは表示されません。警告メッセージ は//警告:(// Warning:)で始まります。

エラー メッセージを表示しない(Suppress error messages)

オンにすると、スクリプト エディタ(Script Editor)にエラー メッセージは表示されません。エラー メッ セージは//エラー:(// Error:)で始まります。

注:

スクリプト エディタ(Script Editor)にメッセージが表示されなくても、ヘルプ ライン(Help Line)には表示されます。

重複した変数メッセージを表示しない(Suppress Duplicate Variable Messages)

このオプションを無効化すると、MEL 変数が同じ名前の別の変数と同じスコープ内で宣言されたときに、警告が生成されます。一般に、警告はスクリプト内のエラーを示します。このオプションの既定の状態は、オンです。

警告は、スクリプトの実行時でなく、source ステートメントの対象になったときに生成されます。

MEL のスコープには、{ } のペアの間にあるすべてのコードが含まれます(ただし { } が別の { } のペアでネストされていないこと)。

スコープの例については、以下を参照してください:

proc testo(int $arg1)
{
    <scope A>

    if ($arg1 > 3)
    {
        <scope B>
    }

    else
    {
        <scope C>
    }

    <scope A>
}

プロシージャのパラメータは、プロシージャの最上位スコープ内で宣言された変数であるとみなされます。上の例では、$arg1 はスコープ A 内で宣言された変数とみなされます。そのため、その後にスコープ A の任意の場所で変数を $arg1 として宣言すると、警告が発生します。

すべてのプロシージャの外側にあるコードは、グローバル スコープであるとみなされ、警告メッセージは生成されません。

このメニュー項目に加え、警告の生成をコントロールするために、melOptions コマンドの duplicateVariableWarnings フラグも使用できます。このフラグが有効になっている場合、警告が生成されます。

メニュー項目の設定とコマンド フラグの設定の設定は反転の関係にあります。いずれかの状態を変更すると、もう一方の状態も更新されます。メニュー項目を有効にすると、コマンド フラグが無効になり、コマンド フラグを有効にすると、メニュー項目が無効になります。

Maya の起動時に、melOptions -duplicateVariableWarnings フラグは optionVar melDuplicateVariableWarnings に保存された値に従って設定されます。この optionVar が存在しない場合、このフラグは 0 に設定されます。重複した変数メッセージを表示しない(Suppress Duplicate Variable Messages)チェックボックスが有効または無効になるたびに、またはプリファレンスが保存されるたびに、optionVar が更新されます。すなわち、melOptions -duplicateVariableWarnings を使用してフラグの状態を変更した場合、optionVar が更新されるのはプリファレンスが保存されるときだけです。これはつまり、melOptions コマンドを使用して変更されない限り、optionVar は一般にフラグの状態を反映すること、そしてその場合は、プリファレンスが次回保存されるまで optionVar の更新が待機されることを意味します。

コマンド ラインでmelOptions -q -duplicateVariableWarnings を実行することにより、duplicateVariableWarnings フラグの値を照会することができます。照会してもフラグの値は変更されません。

スタック ウィンドウを表示しない(Suppress stack window)

オンにすると、スクリプト エディタにスタック ウィンドウは表示されません。スタックのトレースを有効にした場合、結果は分離したスタック ウィンドウではなく出力ウィンドウに返されます。

スクリプト エディタのメニュー項目は、scriptEditorInfo コマンド(-sr/suppressResults-si/suppressInfo-sw/suppressWarnings-se/suppressErrors-ssw/suppressStackWindow)を介してコントロールすることもできます。

コマンド(Command)

以下のコマンドを使用すると、スクリプト エディタ(Script Editor)の入力エリアで新規タブの作成、タブの削除、タブの名前変更をすることができます。

行番号の表示(Show line numbers)

スクリプト エディタ(Script editor)に行番号を表示します。

インデントにタブを使用(Use tabs for indent)

このオプションを選択すると、[Tab]キーをクリックしてインデントを設定するとき、スペースの集まりではなく 1 つのタブが作成されます。

ブレースを自動で閉じる(Auto-close braces)

中カッコを使用するブロックを自動で閉じます。

コマンド補完(Command Completion)

コマンド名の入力を自動補完します。ツール ヒント ヘルプの表示(Show Tooltip Help)がオンの場合、入力時にコマンド名が自動的に表示されます。ツール ヒント ヘルプの表示(Show Tooltip Help)がオフの場合は、[Ctrl]+スペース バーを押して表示します。

オブジェクト パス補完(Object Path Completion)

オブジェクト パス名の入力を自動補完します。ツール ヒント ヘルプの表示(Show Tooltip Help)がオンの場合、入力時にコマンド名が自動的に表示されます。ツール ヒント ヘルプの表示(Show Tooltip Help)がオフの場合は、[Ctrl]+スペース バーを押して表示します。

ツール ヒント ヘルプの表示(Show Tooltip Help)

入力時に自動補完されたコマンドとオブジェクト パスが表示されます。

クイック ヘルプの表示(Show Quick Help)

クイック ヘルプ(Quick Help)パネルを表示します。コマンドを検索でき、パネルにそのコマンドのすべての有効なフラグが表示されます。

実行(Execute)

スクリプト エディタ(Script Editor)の下部ペインで MEL スクリプトを実行します。テンキーの[Enter]を押すこともできます。

タブ(Tabs)

注:

以前は、これらのオプションはコマンド(Command)メニューから使用できました。

新規タブ(New Tab)

新規タブを作成します。ソース タイプのウィンドウが開き、実行ファイルのソース言語として MEL または Python を選択できます。MEL タブか Python タブかを選択する必要があります。または、下部ペインで をクリックするか、[Ctrl]+[T]ホットキーを使用します。

タブ名の変更(Rename Tab)

現在のタブの名前を変更します。

前のタブに移動(Go to Previous Tab)
前のタブに移動するには、このオプションを選択するか、[Ctrl]+[Shift]+[Tab]ホットキーを使用します。
次のタブに移動(Go to Next Tab)
次のタブに移動するには、このオプションを選択するか、[Ctrl]+[Tab]ホットキーを使用します。
タブの削除(Delete Tab)

現在のタブを削除するには、このオプションを選択するか、[Ctrl]+[W]ホットキーを使用します。

その他すべてのタブを削除(Delete All Other Tabs)

現在のタブを除くすべてのタブを削除します。

注:
タブを右クリックし、目的のオプションを選択して、タブを作成、名前変更、削除することもできます。[タブの削除](Delete Tab)を選択すると、右クリックしたタブが削除され、[その他すべてのタブを削除](Delete All Other Tabs)を選択すると、右クリックしたタブを除くすべてのタブが削除されます。

コマンドのハイライト

MEL と Python のすべてのコマンドは、スクリプト エディタのそれぞれのタブに入力するときにハイライト表示されます。

保存された MEL スクリプト(Saved MEL Scripts)

MEL スクリプトは、Maya が終了すると自動的に保存され、Maya が再起動されるとスクリプト エディタ(Script Editor)に復元されます。

Maya が予期せずシャット ダウンしたときに、バックアップ シーン ファイルを書き出せる場合は各タブの現在の内容をテキスト ファイルに書き出し、シーン ファイルと同じディレクトリに保存します。このファイル名は、バックアップ シーン ファイルの名前に接尾辞 -ScriptEditor- を付けたものになります。

その他の注意事項

Python が標準入力を介した入力を要求する場合(たとえば、Python の raw_input コマンド)、入力内容を入力できるダイアログ ボックスが表示されます。