外部参照オブジェクト 値は 3ds Max の外部参照オブジェクトを表します。 XRefObject 値は、*xrefs.addNewXRefObject()*
関数が呼び出されたときに返されます。3ds Max で外部参照オブジェクトに関連付けられるオブジェクトには、非プロキシ オブジェクトとプロキシ オブジェクトの 2 種類があります。プロキシ オブジェクトは、多くの場合解像度の低いオブジェクトで、ビューポート上の非プロキシ オブジェクトのスタンドインとして使用されます。
XRefObject
と objXrefMgr
メソッドの両方を使用するスクリプトは正常に動作しない場合があります。コンストラクタ:
xrefs.addNewXRefObject <filename> {<objectname> | <objectname_array>} [#proxy] \
modifiers:{#xref | #merge | #drop} manipulators: { #xref | #merge } \
dupMtlNameAction: {#prompt | #useXRefed | #useScene | #autoRename} \
reparentAction: {#promptReparent|#alwaysReparent|#neverReparent}
指定したシーン ファイルから指定したノード オブジェクトを外部参照オブジェクトとしてロードします。*objectname_string*
は、大文字と小文字を含めてシーン ファイル内のオブジェクトの名前と一致していなければなりません。
オブジェクト名の配列が指定されていると、戻り値は外部参照オブジェクトの配列になります。マニピュレータの名前が配列に指定されており、マニピュレータ:*#merge*
が指定されている場合は、マージされたマニピュレータは外部参照オブジェクトではないため結果配列には含まれません。
*#proxy*
が指定された場合、ノード オブジェクトがプロキシ オブジェクトとしてロードされます。それ以外の場合、非プロキシ オブジェクトとしてロードされます。
外部参照オブジェクトは常にワールド座標にロードされます。
単一操作として表示された外部参照オブジェクト間の参照は保持され、マニピュレータがコントロールするオブジェクト パラメータがあり、オブジェクトとマニピュレータの両方を外部参照する場合にマニピュレータがオブジェクトのパラメータをコントロールできるようになります。
モディファイヤ:
マニピュレータ:
#xref - 外部参照としてマニピュレータが表示されます。
#merge - マニピュレータをマニピュレータとして表示します。
dupMtlNameAction: (3ds Max 2010 以降で使用可能です)
#prompt - マテリアル名が重複した場合のアクションをユーザに定義させる(既定値)
#useXRefed - 外部参照からマテリアルを使用
#useScene - シーン マテリアルを使用
#autoRename - マテリアル名を変更して重複を回避
reparentAction: (3ds Max 2019.1 Update 以降で使用可能)
3ds Max 6 以降では、*xrefs.addNewXRefObject*
は、拡張子が DRF であるファイルが引数に指定されている場合は undefined を返します。
プロパティ
<XRefObject>.proxyFileName String default: varies
プロキシ オブジェクトのファイル名です。
<XRefObject>.fileName String default: varies
非プロキシ オブジェクトのファイル名です。
<XRefObject>.currentFileName String default: varies
*useProxy*
プロパティが *false*
の場合は非プロキシ オブジェクトのファイル名、*useProxy*
プロパティが *true*
の場合はプロキシ オブジェクトのファイル名です。
<XRefObject>.objectName String default: varies
非プロキシ オブジェクトの名前です。
<XRefObject>.proxyObjectName String default: varies
プロキシ オブジェクトの名前です。
<XRefObject>.currentObjectName String default: varies
*useProxy*
プロパティが *false*
の場合は非プロキシ オブジェクトの名前、*useProxy*
プロパティが *true*
の場合はプロキシ オブジェクトの名前です。
<XRefObject>.useProxy Boolean default: varies
*true*
の場合は、プロキシ オブジェクトがビューポートに表示されます。それ以外の場合は、非プロキシ オブジェクトが表示されます。
*xrefs.addNewXRefObject()*
メソッドを使用して外部参照オブジェクトがシーンに追加された場合、このパラメータの既定値は *true*
(*#proxy*
が指定されている場合)、または *false*
(それ以外の場合)になります。
<XRefObject>.renderProxy Boolean default: false
*true*
の場合はプロキシ オブジェクトがレンダリングされ、それ以外の場合は非プロキシ オブジェクトがレンダリングされます。
<XRefObject>.updateMaterial Boolean default: false
*true*
の場合、[マテリアルを更新](Update Material)オプションをオンに設定します。
<XRefObject>.ignoreAnimation Boolean default: false
*true*
の場合、[アニメーションを無視](Ignore Animation)オプションをオンに設定します。
<XRefObject>.actualBaseObject -- read-only
外部参照オブジェクトの基本オブジェクトではなく、参照されたオブジェクトの実際の基本オブジェクトを返します。
外部参照オブジェクトの[プロキシを使用](Use Proxy)がオンの場合、プロキシ オブジェクトが定義されていればプロキシの基本オブジェクトが返され、それ以外の場合は「undefined」が値として返されます。
3ds Max 8 以降 で使用可能です。
メソッド
updateXRef <XRefObject>
外部参照オブジェクトを再ロードします。
次の外部参照オブジェクトインタフェースは、3ds Max 8 以降で使用可能です。
Interface:IXRefItem
プロパティ:
.srcFileName : filename : Read
ソース ファイル名が含まれます。
読み込み専用です。
.srcItemName : string : Read
ソース項目の名前が含まれます。
読み込み専用です。
.xrefRecord : Interface : Read
外部参照レコード インタフェースが含まれます。
読み込み専用です。
.unresolved : boolean : Read
外部参照が未解決である場合は true、未解決でない場合は false が含まれます。
読み込み専用です。
.nested : boolean : Read
外部参照がネストされている場合は true、ネストされていない場合は false が含まれます。
読み取り専用です。
メソッド:
<maxObject>GetSrcItem resolveNested:<boolean>
resolveNested default value: false
外部参照オブジェクトのソース項目オブジェクトを返します。
オブジェクトがネストされたファイルから参照されており(言い換えると、オブジェクトが実際のオブジェクトからではなく、そのオブジェクトへの他のファイルからの外部参照を含む Max ファイルから参照されており)、resolveNested
が true に設定されていれば、ネストされた外部参照ファイルは解決されます。
<integer>GetParentItems <&maxObject array>parentItems
parentItems is Out parameter
参照出力パラメータ内の親項目の配列を返します。
<integer>GetRootItems <&maxObject array>rootItems
rootItems is Out parameter
参照出力パラメータ内のルート項目の配列を返します。
<integer>GetChildItems <&maxObject array>childItems
childItems is Out parameter
参照出力パラメータ内の子項目の配列を返します。
<void>GetNodes <&node array>xrefNodes
xrefNodes is Out parameter
参照出力パラメータ内の外部参照ノードの配列を返します。
Interface:IXRefProxy
プロパティ:
.proxyFileName : filename : Read
プロキシ ファイル名が含まれます。読み込み専用。
.proxyItemName : string : Read
プロキシの項目名が含まれます。読み込み専用。
.proxyRecord : Interface : Read
プロキシ レコード インタフェースが含まれます。読み込み専用。
.displayProxy : boolean : Read|Write
true に設定すると、ビューポート内でプロキシが使用されます。
.renderProxy : boolean : Read|Write
ture に設定すると、プロキシがプロダクション レンダラーによって使用されます。
.useLocal : boolean : Read|Write
[プロキシ オブジェクト](Proxy Object)ロールアウトの[有効化/ローカル使用](Enable/Use Local)プロパティの状態を取得/設定します。
false (既定値)に設定すると、プロキシ オブジェクトは使用されなくなり、代わりに外部参照コンテンツがロードされます。
true に設定すると、ローカル プロキシ オブジェクトがロードされます。
3ds Max 2016 以降で使用可能です。
Interface:IXRefObject
プロパティ:
.activeFileName : filename : Read
アクティブなファイル名が含まれます。読み込み専用。
.activeObjName : string : Read
アクティブなオブジェクト名が含まれます。読み込み専用。
.activeRecord : Interface : Read
アクティブなレコード インタフェースが含まれます。読み込み専用。
メソッド:
<maxObject>GetSourceObject <boolean>resolveNestedXRef modifiers:<&maxObject array>
modifiers default value: #()
modifiers is Out parameter
ソース オブジェクトを返します。オプションのモディファイヤ: 参照パラメータは、ソース オブジェクトに適用されたモディファイヤの配列を返します。