[maxscript] executeを使用する際の注意

2016/02/11

3dsmax Maxscript

t f B! P L

exectue function in 3dsmax

 文字列をスクリプトとして実行するメソッド「execute」を使用する際には、スコープに注意しなければいけない。

以下ヘルプより抜粋、


execute <string>
文字列の内容を MAXScript 式としてコンパイルおよび評価し、評価結果を返します。

評価された文字列で使用された変数のスコープはグローバルで、
execute()メソッドが実行されるときに適用されるスコープではありません。
そのため、関数、スクリプト ユーティリティ、またはスコープが
グローバルではない任意の位置でexecute()を呼び出す場合は、
実行する文字列で使用される変数のスコープを明示的に指定する必要があります。


 

基本的に変数のスコープ(globalかlocalか)は、きちんと定義しておくべきだが、
executeの文字列内で呼び出される変数はグローバルでないとundefinedになってしまうため、特に注意が必要。

ブログ内検索:Search

Translate

ラベル

Blogリンクタグ

QooQ