インタフェース: SkinUtils
このインタフェースにより、3ds Max 6 以降で利用可能な、いくつかのスキン関連メソッドにアクセスできます。
メソッド:
<void>skinUtils.ExtractSkinData <node>node
指定したノードからスキン データを抽出します。
<void>skinUtils.ImportSkinData <node>targetNode <node>sourceNode
指定したソース ノードから指定したターゲット ノードにスキン データを転送します。
<matrix3 by value>skinUtils.GetBoneBindTM <node>skinNode <node>boneNode
指定したソース ノードから指定したターゲット ノードにスキン データを転送します。
<void>skinUtils.SetBoneBindTM <node>skinNode <node>boneNode <matrix3 by value>tm
指定したスキンとボーン ノードのボーン バインド変換を指定した matrix3 値に設定します。
<matrix3 by value>skinUtils.GetMeshBindTM <node>skinNode
指定したスキン ノードのメッシュ バインド変換を matrix3 値で返します。
<void>skinUtils.SetMeshBindTM <node>skinNode <matrix3 by value>tm
指定したスキン ノードのメッシュ バインド変換を指定した matrix3 値に設定します。
<matrix3 by value>skinUtils.GetBoneStretchTM <node>skinNode <node>boneNode
指定したスキンとボーン ノードのボーン バインド変換を matrix3 値で返します。
<void>skinUtils.SetBoneStretchTM <node>skinNode <node>boneNode <matrix3 by value>tm
指定したスキンとボーン ノードのボーン ストレッチ変換を指定した matrix3 値に設定します。
<void>skinUtils.GrowSelection <node>node
既存の選択を拡大します。
<void>skinUtils.ShrinkSelection <node>node
既存の選択を縮小します。
<void>skinUtils.LoopSelection <node>node
既存の選択に基づいてループを選択します。
<void>skinUtils.RingSelection <node>node
既存の選択に基づいてループを選択します。
次の macroScript は、上記のサポートされていない関数をアクション項目として実装します。これらのスクリプトを新しいスクリプトへコピーして、クアッドメニューを評価およびカスタマイズすれば、スキン選択の拡大、縮小、ループ、およびリングの関数に簡単にアクセスできます。
スクリプト:
|
macroScript GrowSkinSel category: "SkinUtils"
(
on isVisible return
selection.count == 1 and classof (modPanel.getCurrentObject()) == Skin
on execute do skinUtils.GrowSelection $
)
|
macroScript ShrinkSkinSel category:"SkinUtils"
(
on isVisible return
selection.count == 1 and classof (modPanel.getCurrentObject()) == Skin
on execute do skinUtils.ShrinkSelection $
)
|
macroScript LoopSkinSel category:"SkinUtils"
(
on isVisible return
selection.count == 1 and classof (modPanel.getCurrentObject()) == Skin
on execute do skinUtils.LoopSelection $
)
|
macroScript RingSkinSel category:"SkinUtils"
(
on isVisible return
selection.count == 1 and classof (modPanel.getCurrentObject()) == Skin
on execute do skinUtils.RingSelection $
)
|
<void>skinUtils.ImportSkinDataNoDialog <boolean>matchByName <boolean>removeTargetPrefix <boolean>removeTargetSuffix <boolean>removeSourcePrefix <boolean>removeSourceSuffix <float>threshold <integer>interpolationType
ダイアログ ボックスを表示せずにスキン データをインポートします。3ds Max 8 以降 で使用可能です。
UI のスキン ユーティリティ プラグインと同じように、ソース オブジェクトとターゲット オブジェクトを選択する必要があります。
matchByName パラメータを true に設定すると、ボーンは名前で突き合わされます(ダイアログ ボックスの[名前で一致](Match By Name)をクリックすることと同じ)。false
に設定すると、ボーンはインデックスで突き合わされます。
引数 2 から 5 は、ダイアログ ボックスの[接頭語を除外](Remove Prefix)チェックボックスと[接尾語を除外](Remove Suffix)チェックボックスの状態に対応します。
しきい値引数は、ダイアログ ボックスの[しきい値](Threshold)の値に対応します。これは最近隣しきい値です。
最後の引数は、[補間タイプ](Interpolation Type)ドロップ ダウン リストの選択内容に対応します。有効な値は次のとおりです。
0 - 頂点で一致
1 - 面で一致