チュートリアル / 宋さんの3ds Max キッチンスタジアム
第24回:Max Creation Graphを使おう!(その7)
- 3ds Max
- Max Creation Graph
- コラム
- チュートリアル
MCG7回目です。
今回は作成したカスタムツールのユーザーインターフェイスに関する編集を行っていきましょう。
先ずは前回作成した、コンストレイントツールのUIを日本語化してみましょう。

<なんか味気なくて、さみしい~!>
MCGコラムの3回目で、内部データの流れについて説明しましたが、作成したグラフの評価を行う際に、必ずMAXScriptのラッパーを作成すると書きましたが、[.maxtool]を保存し評価すると同じディレクト上にMAXScriptファイルも保存しますよね。
実は画面に表示されるユーザーインターフェイスに関してはその情報が このMAXScriptにも記述されます。
ただし、ユーザー インターフェイスの内容に関しては保存されたMAXScriptファイルを編集するのではなく、必ずMCGエディタ内で編集しなければなりません!注意してくださいね。
では編集元となる情報はMAXScriptファイルに記載されているので、まずは表示させてみましょう。MCGエディタのメインメニューから 「 ビルド > MAXScriptを表示(M) 」を選ぶと、MAXScriptエディタが現れ、作成したグラフの情報がScriptで表示されます。

このMAXScriptのコードの中に、ユーザーインターフェイスに関する記述があるわけですが、MAXScriptをほとんど使ったことがない方だと難しく感じるかもしれませんね。MAXScriptを理解されている方であればすぐにわかると思います。上図の中の赤枠の「rollout・・・・」記述が、ユーザーインターフェイスに関する記述です。

先ずはこのUIに関する記述をすべて選択して、クリップボードにコピーしておいて下さいね(Ctrl + C)。
次に、MCGエディタの 編集メニューから「グラフのプロパティを編集…」を実行します。

すると「グラフのプロパティ」ダイアログウインドウが表示されます。
このプロパティウインドウでは作成しているMCGツールの作成者や会社名、ツールのカテゴリ、さらには注意事項などを入力することが出来ます。

今回はユーザーインターフェイスに関する編集を行うので、「カスタムUI」のタブを開きます。

なんか巨大な空欄が出てきますが、この空欄にマウスカーソルを配置してクリップボードにコピーしたMAXScriptを貼り付けてみましょう(Ctrl +V)。

こんな感じなっていれば、OKですよ。
さて、この記述を編集していくわけですが、まずは「” ”」(ダブル クォーテーション)に囲まれた箇所がUI上の文字列になるので、ここを以下の様に書き換えてみましょう!

この状態で、「グラフのプロパティ」ダイアログウインドウを「OK」ボタンを押して閉じます。
閉じましたら 上書き保存>評価を実行します。(Ctrl+E で直接評価でも大丈夫ですよ!)
さあ、このカスタムツールを実行してみると、、、

どうでしょう!
UIが日本語になってますね、成功です!
MCGエディタでは日本語は使えないと最初にコラムで書きましたが、UIに関する表記だけはMAXScriptの情報を元に編集すれば日本語版を作ることが出来ます。
また様々なMAXScriptのUIに関する要素を追加させていくことも出来ますよ、
ちなみに以下の様に編集すると


という方に各パラメータをグループ化させることも出来ます。
また、スピナー表記の箇所を以下の様に編集すれば


こうすれば、コンストレイントの比率をスライダーとしてコントロールすることが出来ますね。
もちろんクレジットの表記なども埋め込むことも出来ますので、より理解しやすく そして使いやすいカスタムツールを作ることが出来ますよ!
注意する点としては、パラメータの名前。MAXScriptに慣れていない方だと間違えやすいのですが、例えば上記の 「spinner amount "比率" range:[0, 1, 0.5] type:#float」という記述のの中でspinnerの次に書かれている「amount」が重要なのです。この記述がグラフ上で命名したオリジナルの「amount」と異なると、エラーを起こして旨く動作しません。先程も書きましたが「””」に囲まれたamountという記述は単なる表示用の文字列ですので、何を書いてもプログラム的には問題はありません。ただし、MCGグラフで各パラメータ ノードのパラメータ名として記述した名称はとても重要なのでUIの編集を行う場合は十分に注意してください。
あと、日本語UIを使う場合の注意として、「””」や「()」などをMAXScriptで記述する際に、全角文字で書いてしまうとエラーになります。これは犯し易いミス なので注意しましょうね、
なお、MAXScriptに関する各種UIの情報に関しては以下のサイトで詳しく書かれていますので参考にして下さい。
http://help.autodesk.com/view/3DSMAX/2016/JPN/?guid=__files_GUID_3835162F_3EC5_485B_8453_E7960AF34837_htm
また どうしてもMAXScriptでの編集はよくわからん!! という方は、3ds MAXのユーティリティパネル内にある(その他の中です)、[ビジュアルMAXScript]という機能を利用することもできますよ。
DTPソフトのように、グラフィカルにUIをレイアウトし、それをMAXScriptファイル(.ms)形式で書き出せば、どういった記述をしているかが一発でわかるので、初心者の方などにはお勧めですよ!

既に多くのMCGツールがインターネットからダウンロードできますが、これらのMCGツールのUIをご自身でカスタマイズして使いやすくすると面白いかもしれませんね
是非 色々トライしてみて下さい!!
今回はこの辺で終了です。
ではでは、