式コントローラとスクリプト コントローラにおけるノードの簡潔なリファレンス

3ds Max 8 以降で使用可能です。

NodeTransformMonitor クラスと RefTargMonitorRefMaker クラスという 2 つの新しいクラスが実装されました。NodeTransformMonitorReferenceTarget から派生し、ReferenceMaker から派生する RefTargMonitorRefMaker のポインタを維持します。

RefTargMonitorRefMaker はノードへの参照を維持し、コールバック メソッドで通知メッセージを NodeTransformMonitor に渡します。NodeTransformMonitor は REFMSG_CHANGE/PART_TM メッセージを検索し、メッセージがまだ渡されていない場合、従属に渡します。これにより、再帰の可能性がなくなります。NodeTransformMonitor はノードを参照として維持しないので、循環参照階層になりません。オブジェクト A に NodeTransformMonitor があってノード B を示している場合、オブジェクト A を保存すると、ノード B も保存されます。マージ オブジェクトと外部参照オブジェクトでも、オブジェクト A をロードすると、ノード B がロードされます。NodeTransformMonitor を使用する場合、ノードのベース オブジェクトで所有ノードを示し、TM 変更メッセージを取得することもできます。

ノードを示す式コントローラの変数は、nodeTransformMonitor クラスを使用してノードの参照を維持するようになりました。これにより、ノード変数を含む式コントローラが使用されているシーンが高速になります。REFMSG_CHANGE/PART_TM メッセージのみが送信され、式コントローラとその従属が無効になるためです。これまでは、REFMSG_CHANGE/PART_TM だけではなく、ノードからのすべてのメッセージにより、式コントローラとその従属が無効になっていました。

NodeTransformMonitor : ReferenceTarget

NodeTransformMonitor - superclass: ReferenceTarget; super-superclass:MAXWrapper - 2:2 - classID: #(418912514, 419643346)

NodeTransformMonitor インタフェース:

Interface:INodeTransformMonitor
.node: node : Read|Write

監視するノードを取得/設定します。

.forwardTransformChangeMsgs: bool : Read|Write

既定値の true に設定すると、監視中ノードからのノード変換メッセージにより、NodeTransformMonitor インスタンスの従属が無効になります。false に設定すると、監視中ノードの削除のみにより、NodeTransformMonitor インスタンスの従属が無効になります。

関連事項