LoginSignup
4
2

More than 5 years have passed since last update.

他の.ms(MAXScript)を読み込む方法

Last updated at Posted at 2015-04-26

概要

メインの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 は、名前、リテラル、句読点などの新しいトークンが必要とされる位置であれば、どこにでも入れることができる

まとめ

  • スコープの違い
  • 実行か、読み込みか

これを覚えておけばとりあえず問題なさそう。
エラーが起きる場合の検証は機会と時間があればやってみます。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2