外部参照オブジェクト マネージャのインタフェース。3ds Max 8 以降 で使用可能です。 これは、MAXScript で外部参照オブジェクトを追加および処理するのに適したインタフェースです。
外部参照オブジェクト用の公開インタフェースの機能。
外部参照オブジェクト ノード。3ds Max 8 以降で新しいプロパティやインタフェースが追加され機能が拡張されました。
外部参照環境効果のラップ。3ds Max 8 以降 で使用可能です。
外部参照マテリアル。3ds Max 8 以降 で使用可能です。
3ds Max 8ではスクリプトや式コントローラの設計が更新され、下記の問題が解決されました。ParamBlock2 内に保存されているノード参照を正常に解決できるようになったからです。
外部参照されているファイルで、スクリプト コントローラのスクリプトに外部参照ファイルのオブジェクトへの明示的な参照($sphere01 など)がある場合、問題が生じる可能性があります。問題は外部参照ファイル内のオブジェクトが MAXScript では認識できないことで、結果としてスクリプトが失敗します。これは実際には外部参照に関して一般的に見られる問題で、ファイル内には、明示的なシーン オブジェクト参照に依存するどんなスクリプト(スクリプト コントローラ、パラメータの関連付け、コールバック スクリプトなど)も含めることはできません。
バージョン 8 より前の 3ds Max で実行可能な対応は、存続グローバル変数を使用した方法のみです。一般的に、2 つの対応方法があります。1) コントローラ スクリプトを外部参照経由で含め、その外部参照をパス名検索やその他のシーン関連参照のアンカーとして使用する場合、そのシーン所有コンテキストをコントローラ スクリプトなどと関連付けます。2) GetValue() 呼び出しの一部としてコントローラの「評価コンテキスト」が送信されるようにします。これにより、現在の GetValue() 呼び出しがどのオブジェクトのパラメータに対して行われているかがわかるので、スクリプト内での明示的なパス名の使用回数を減らすことができます。
MAXScript では外部参照ファイルと合成ファイルのすべての存続グローバルを完全に読み込みますが、それらのファイルを現在のシーンで存続させることはありません。この利用方法の設定例として、外部参照される球が 3 つあるファイルを想定します。 コントローラ スクリプトで参照されるすべてのシーン オブジェクトについて存続グローバルを次のように設定する必要があります。persistent global s1 = $sphere01, s2 = $sphere02, s3 = $sphere03 存続グローバルは、外部参照されるシーンを現在開いている間に実行される必要があります。コントローラ スクリプトでは、次のように指定します。
globals1, s2 dependsOn s1 s2 (s1.pos + s2.pos) / 2
この例では、「存続グローバル」ではなく「グローバル」を使用します。外部参照を参照する「ホスト」シーンでは、変数を存続グローバルにする必要はありません。