他の.ms(MAXScript)を読み込む方法
概要
メインのmaxscriptで他のmaxscript内に書いてある関数を利用したい!
等といった際にどうすればいいのか。
他の言語では include import とか言ったりするやつです。
(厳密に同じわけではないです。)
include と fileIn の2つがある
maxscriptでは上の2つのコマンドが読み込むコマンドとして準備されている。
include : スクリプト内へのスクリプトの組み込み
ヘルプから引用
MAXScript には、コンパイル時ソースファイル組み込み機能があり、大きいスクリプトを小さいファイルに分割して、スクリプトの任意の位置に組み込むことができます。
include <file>
構文を使って、その位置にファイルの内容を効果的に挿入できます。
fileIn : スクリプトの実行
ヘルプから引用
次のようにリスナーから、または他のスクリプト内から fileIn() メソッドを使用してスクリプトを実行することもできます。
何を言っているかは3dsMaxを立ち上げてMAXScript Listenerで実際に走らせてみると分かりやすい。
include では...
書いてあるスクリプトの文章が書き出されて最後に OK と出てくる。
fileIn では...
スクリプトが実行されて処理が行われる。
結局 includeとfileInは何が違う?
公式サイトの双方の説明、特にincludeの方を見たことをま大雑把にまとめる。
fileIn
- スクリプトの内容がグローバル スコープ コンテキスト内にコンパイルされる
include
- 名前付きファイルの内容に効果的に置換
- MAXScript スコープは組み込まれたファイル内に保持
- include は、名前、リテラル、句読点などの新しいトークンが必要とされる位置であれば、どこにでも入れることができる
まとめ
- スコープの違い
- 実行か、読み込みか
これを覚えておけばとりあえず問題なさそう。
エラーが起きる場合の検証は機会と時間があればやってみます。
Author And Source
この問題について(他の.ms(MAXScript)を読み込む方法), 我々は、より多くの情報をここで見つけました https://qiita.com/Kanata/items/6d4d2daa394ac71eedfb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .