スキン: モディファイヤ

Skin - superclass: modifier; super-superclass:MAXWrapper - 91:0 - classID: #(9815843, 87654) 

コンストラクタ

Skin ... 

プロパティ

<Skin>.enableDQ     BooleanClass    default: true   --  boolean

[デュアル クォータニオン](Dual Quaternion) > [DQ スキニングを切り替え](DQ Skinning Toggle)チェックボックスの状態を取得/設定します。

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

<Skin>.Effect Float default: 0.0 

選択した頂点の絶対ウェイト。

<Skin>.filter_vertices Boolean default: false 

頂点選択のオンとオフを切り替えます。

<Skin>.filter_cross_sections Boolean default: true 

断面選択のオンとオフを切り替えます。

<Skin>.filter_envelopes Boolean default: true 

エンベロープ選択のオンとオフを切り替えます。

<Skin>.draw_all_envelopes Boolean default: false 

オンにすると、すべてのエンベロープが表示されます。オフにすると、選択したエンベロープだけが表示されます。

<Skin>.draw_vertices Boolean default: true 

ウェイト付きの頂点の表示のオンとオフを切り替えます。

<Skin>.ref_frame Integer default: 0 

ボーンとメッシュが参照位置にあるフレームを設定します。

<Skin>.paint_radius Float default: 24.0 

ブラシの半径を設定します。

<Skin>.paint_feather Float default: 0.7 

ブラシのフォールオフを設定します。

<Skin>.cross_radius Float default: 10.0 

選択したエンベロープの断面をスケールします。

<Skin>.always_deform Boolean default: true 

ボーンが移動するときは常に、スキンは変形します。ボーンを移動してスキンを変形するために、[アニメート] (Animate)ボタンをオンにする必要はありません。

<Skin>.paint_str Float default: 0.1 

ブラシの強度を設定します。

<Skin>.localSquash Array default: #() -- float array 

各ボーンに適用する押し潰しの量。

<Skin>.initialSquash Array default: #() -- float array 

ボーンの初期の押し潰し値を含む配列。

<Skin>.initialStaticEnvelope Boolean default: false 

オンにすると、ボーンが追加されるときに、初期の静的エンベロープのサイズが使用されます。オフにすると、初期のエンベロープ サイズは、オブジェクト バウンディング ボックスによって決められます。

<Skin>.initialInnerEnvelopePercent Float default: 0.75 

initialStaticEnvelopefalse の場合に、内部断面サイズの検索に使われるマルチプライヤ。

<Skin>.initialOuterEnvelopePercent Float default: 3.5 

initialStaticEnvelopefalse の場合に、外部断面サイズの検索に使われるマルチプライヤ。

<Skin>.initialEnvelopeInner Float default: 10.0 

initialStaticEnvelopetrue の場合の内部断面サイズ。

<Skin>.initialEnvelopeOuter Float default: 50.0 

initialStaticEnvelopetrue の場合の外部断面サイズ。

<Skin>.draw_all_gizmos Boolean default: true 

すべてのギズモの表示のオンとオフを切り替えます。

<Skin>.draw_all_vertices Boolean default: false 

すべての頂点を小さなドットで表示する機能のオンとオフを切り替えます。

<Skin>.shadeweights Boolean default: true 

頂点カラーを使用した、ウェイト付き頂点表示のオンとオフを切り替えます。

<Skin>.envelopesAlwaysOnTop Boolean default: true 

メッシュ最上部のエンベロープ表示のオンとオフを切り替えます。

<Skin>.crossSectionsAlwaysOnTop Boolean default: true 

メッシュ最上部の断面表示のオンとオフを切り替えます。

<Skin>.rigid_vertices Boolean default: false 

オンにすると、1 つの頂点は 1 つのボーンの影響だけを受けます。

<Skin>.rigid_handles Boolean default: false 

オンにすると、すべてのハンドルが、そのハンドルを保持する結び目と同じウェイトを持ちます。

<Skin>.fast_update Boolean default: false 

オンにすると、システムは、リジッド頂点だけを使用してビューポートを表示します。

<Skin>.gizmos Array default: #() -- max object array 

スキンに割り当てられるすべてのギズモを含む配列。

3ds Max 5 では、スキン モディファイヤに次のプロパティが追加されました。

<Skin>.backTransform Boolean default: true -- boolean; Back_Transform_Verts 

[拡張パラメータ](Advanced Parameters)ロールアウトの[移動した頂点を戻す](Back Transform Vertices)チェックボックスの状態を取得/設定します。

<Skin>.bone_Limit Integer default: 20 -- integer 

[拡張パラメータ](Advanced Parameters)ロールアウトの[リンクするボーン数の制限](Bone Affect Limit)コントロールの値を取得/設定します。

<Skin>.debugMode Boolean default: true -- boolean 

モディファイヤのデバッグ モードを取得/設定します。

UI には公開されず、内部で使用するためのプロパティです。

有効になっている場合、データは[リスナー] (Listener)ウインドウに出力されます。このウィンドウはバグを追跡するときに使用します。

<Skin>.shortenBoneNames Boolean default: true -- boolean; Shorten_Bone_Names 

[ボーン名を短縮](Shorten Bone Names)モードの状態を取得/設定します。

true に設定すると、ボーン リストの幅より長いボーン名は短縮され、名前の中間に「...」が追加され、開始文字列と終了文字列だけが表示されます。

<Skin>.showNoEnvelopes Boolean default: false -- boolean; Shade_Weights 

[表示] (Display)ロールアウトの[エンベロープを表示しない](Show No Envelopes)チェックボックスの状態を取得/設定します。

<Skin>.updateOnMouseUp Boolean default: false -- boolean; Update_On_Mouse_Up 

[拡張パラメータ](Advanced Parameters)ロールアウトの[マウス リリース時に更新](Update on mouse up)チェックボックスの状態を取得/設定します。

<Skin>.wt_activeVertexSet Integer default: 0 -- integer; Active_Vertex_Set 

[ウェイト テーブル](Weight Table)ダイアログ ボックスの[アクティブな頂点セット](Active Vertex Set)ドロップダウン リストのインデックスを取得/設定します。

0 - すべての頂点

1 - 選択された頂点

2 - 選択ボーン

<Skin>.wt_affectSelected Boolean default: false -- boolean; Affect_Selected 

ウェイト テーブルの[選択に影響](Affect Selected)モードを取得/設定します。

true に設定すると、[ウェイト テーブル](Weight Table)ダイアログ ボックスのドロップダウン リストで[選択に影響](Affect Selected)オプションが選択されます。

false に設定すると、[すべての頂点に影響](Affect All Verts)が選択されます。

ドロップダウン リストを表示するには、[オプション] (Options) > [グローバルを表示](Show Global)にチェックが付いている必要があります。

<Skin>.wt_attribLabelHeight Integer default: 1 -- integer; Attrib_Label_Height 

アトリビュート ラベルのウェイト テーブルの高さを取得/設定します。

<Skin>.wt_dragLeftRightMode Boolean default: true -- boolean; Drag_Left_Right_Mode 

ウェイト テーブルのドラッグ方向モードを取得/設定します。

true に設定すると、マウスを左右にドラッグすることで値が増減します。

false に設定すると、上下にドラッグすることで値が変わります。

<Skin>.wt_flipUI Boolean default: false -- boolean; Flip_UI 

ウェイト テーブルの UI の反転 モードを取得/設定します。

true に設定すると、ボーン名が左側に表示されます。

false に設定すると、ボーン名は最上部に表示されます。

<Skin>.wt_fontSize Integer default: 14 -- integer; FontSize 

ウェイト テーブルのフォント サイズを取得/設定します。

<Skin>.wt_markerColor Color default: (color 255 0 255) -- Marker_Color 

ウェイト テーブルのマーカー カラーを取得/設定します。

<Skin>.wt_markerType Integer default: 6 -- integer; Marker_Type 

ウェイト テーブルのマーカー タイプの取得/設定します。

<Skin>.wt_precision Float default: 0.01 -- float; Precision 

フィールドをドラッグするときのウェイト テーブルの精度を取得/設定します。

<Skin>.wt_shortenLabels Boolean default: true -- boolean; Shortern_Labels 

true に設定すると、ウェイト テーブルのラベルが短縮されます。

<Skin>.wt_showAffectedBones Boolean default: false -- boolean; Show_Affected_Bones 

[影響されるボーンを表示](Show Affected Bones)モードの状態を取得/設定します。

有効になっていると、現在表示されている頂点上で影響が発生しないボーンは除外されます。

<Skin>.wt_showAttributes Boolean default: true -- boolean; Show_Attributes 

[アトリビュートを表示](Show Attributes)モードの状態を取得/設定します。

ウェイト テーブルの[オプション] (Options)メニューの項目に相当します。

true に設定すると頂点アトリビュートがウィンドウに表示され、false に設定すると頂点アトリビュートがウィンドウから削除されます。

<Skin>.wt_showCopyPasteUI Boolean default: true -- boolean; Show_Copy_and_Paste_UI 

ウェイト テーブルの UI にある[コピー] (Copy)ボタンと[貼り付け] (Paste)ボタンの可視性をコントロールします。

<Skin>.wt_showExclusions Boolean default: false -- boolean; Show_Exclusions 

除外を切り替えるボックスの可視性を取得/設定します。

ウェイト テーブルの[オプション] (Options)メニューの項目に相当します。

<Skin>.wt_showGlobal Boolean default: false -- boolean; Show_Global 

[グローバルを表示](Show Global)モードの状態を取得/設定します。

ウェイト テーブルの[オプション] (Options)メニューの項目に相当します。

true に設定すると、グローバル フィールドが表示されます。

false に設定すると、グローバル フィールドが非表示になります。

<Skin>.wt_showLocks Boolean default: false -- boolean; Show_Locks 

[ロック] (Locks)切り替えボックスの可視性を取得/設定します。

ウェイト テーブルの[オプション] (Options)メニューの項目に相当します。

<Skin>.wt_showMarker Boolean default: true -- boolean; Show_Weight_Table_Marker 

ウェイト テーブルで選択した頂点について、ビューポート内でのマーカーの可視性をコントロールします。

<Skin>.wt_showMenu Boolean default: true -- boolean; Show_Menu 

メニューの可視性をコントロールします。ウェイト テーブルを再度開いた後で、有効になります。

<Skin>.wt_showOptionsUI Boolean default: false -- boolean; Show_Options_UI 

[ウェイト テーブル](Weight Table)ダイアログ ボックスの[オプション] (Options)パネルの可視性をコントロールします。

これは、標準 UI には公開されません。

<Skin>.wt_showSetUI Boolean default: false -- boolean; Show_Set_Sets_UI 

[ウェイト テーブル](Weight Table)ダイアログ ボックスの頂点選択の設定パネルの可視性をコントロールします。

<Skin>.wt_tableY Integer default: 10 -- integer; Top_Border 

ウェイト テーブルの最上部の Y 位置をコントロールします。

つまり、[ウェイト テーブル](Weight Table)ダイアログ ボックスの最上部に追加されるオプション パネルの高さを定義します。

<Skin>.wt_updateOnMouseUp Boolean default: false -- boolean; Update_On_Mouse_Up 

ウェイト テーブルの[オプション] (Options)メニューにある[マウス リリース時に更新](Update On Mouse Up)チェックボックスの状態をコントロールします。

true に設定すると、マウスが離れているときにだけ、ビューポートとスタックが更新されます。

<Skin>.wt_winHeight Integer default: 500 -- integer; Height 

ウェイト テーブルのウィンドウの高さを取得/設定します。

設定は、ウェイト テーブルを再度開いた後で、有効になります。

<Skin>.wt_winWidth Integer default: 800 -- integer; Width 

ウェイト テーブルのウィンドウの幅を取得/設定します。設定は、ウェイト テーブルを再度開いた後で、有効になります。

<Skin>.wt_winXPos Integer default: 0 -- integer; Xpos 

ウェイト テーブルのウィンドウの水平位置を、Windows のデスクトップの左上隅に対する相対位置として、ピクセル単位で取得/設定します。設定は、ウェイト テーブルを再度開いた後で、有効になります。

<Skin>.wt_winYPos Integer default: 0 -- integer; YPos 

ウェイト テーブルのウィンドウの垂直位置を、Windows のデスクトップの左上隅に対する相対位置として、ピクセル単位で取得/設定します。設定は、ウェイト テーブルを再度開いた後で、有効になります。

3ds Max 6 では、スキン モディファイヤに次のプロパティが追加されました。

<Skin>.mirrorPlane Integer default: 0 -- integer; Mirror_Plane 

ミラー平面の軸を取得/設定します。有効な値は次のとおりです。

0 - X (既定値)

1 - Y

2 - Z

<Skin>.mirrorOffset Float default: 0.0 -- float; Mirror_Offset 

ミラーのオフセット値を取得/設定します。

<Skin>.mirrorUseInitialTM BooleanClass default: true -- boolean; Use_Initial_TM 

true に設定した場合、ミラーは最初の変換行列を使用します。

<Skin>.mirrorEnabled BooleanClass default: false -- boolean; Mirror_Enabled 

true に設定した場合、ミラー モードが有効になります。スキン モディファイヤの UI にある[ミラー モード](Mirror Mode)チェックボタンに対応します。

<Skin>.mirrorThreshold Float default: 0.5 -- float; Mirror_Threshold 

ミラーのしきい値を取得/設定します。

<Skin>.mirrorProjection Integer default: 0 -- integer; Mirror_Projection 

ミラーの投影モードを取得/設定します。有効な値は次のとおりです。

0 - 既定値の表示

1 - 正の方向

2 - 負の方向

3 - なし

<Skin>.manualUpdate BooleanClass default: false -- boolean; Manual_Update 

スキン モディファイヤの UI の[ミラー パラメータ](Mirror Parameters)ロールアウトにある[手動更新](Manual Update)チェックボックスの状態をコントロールします。

<Skin>.mirrorFast BooleanClass default: true -- boolean; Fast_Engine 

false に設定した場合、高速ミラー モードを無効にします。

<Skin>.ignoreBoneScale BooleanClass default: false -- boolean; Ignore_Bone_Scale 

スキン モディファイヤの UI の[拡張パラメータ](Advanced Parameters)ロールアウトにある[ボーン スケールを無視](Ignore Bone Scale)チェックボックスの状態をコントロールします。

<Skin>.rightJustifyBoneText BooleanClass default: true -- boolean; Right_Justify_Bone_Names 

true (既定値)に設定した場合、[ウェイト テーブル](Weight Table)ダイアログ ボックス内のボーン テキストが右揃えされます。

次のプロパティが 3ds Max 6 に追加されていますが、公式にはサポートされていません

注意して使用してください。

<Skin>.paintBlendMode BooleanClass default:false 

True に設定した場合、ブレンド モードでスキン ウェイトをペイントします。

3ds Max 8 では、スキン モディファイヤに次のプロパティが追加されました。

<Skin>.selectElement BooleanClass default: false -- boolean; Select_Element 

[パラメータ] (Parameters)ロールアウトの[選択] (Select)コントロール領域にある[要素を選択](Select Element)チェックボックスの状態を取得/設定します。

<Skin>.backFaceCull BooleanClass default: true -- boolean; Backface_Cull 

[パラメータ] (Parameters)ロールアウトの[選択] (Select)コントロール領域にある[背面頂点の非表示](Backface Cull Vertices)チェックボックスの状態を取得/設定します。

<Skin>.colorAllWeights BooleanClass default: false -- boolean; Shade_Weights 

[表示] (Display)ロールアウトの[すべてのウェイトにカラー](Color All Weights)チェックボックスの状態を取得/設定します。

<Skin>.showHiddenVertices BooleanClass default: false -- boolean; Show_Hidden_Vertices 

[表示] (Display)ロールアウトの[非表示頂点を表示](Show Hidden vertices)チェックボックスの状態を取得/設定します。

<Skin>.animatableEnvelopes BooleanClass default: false -- boolean; Animatable_Envelopes 

[拡張パラメータ](Advanced Parameters)ロールアウトの[アニメート可能なエンベローブ](Animatable Envelopes)チェックボックスの状態を取得/設定します。

<Skin>.weightAllVertices BooleanClass default: true -- boolean; Weight_All_Vertices 

[拡張パラメータ](Advanced Parameters)ロールアウトの[すべての頂点にウェイト設定](Weight All vertices)チェックボックスの状態を取得/設定します。

<Skin>.clearZeroLimit Float default: 0.0 -- float; Clear_Zero_Weights_Limit 

[拡張パラメータ](Advanced Parameters)ロールアウトの[ゼロ ウェイト削除の上限](Remove Zero Limit)の値を取得/設定します。

<Skin>.weightColors ArrayParameter default: #([0.9,0,0], [0,0.9,0], [0,0,0.9], [0.9,0.9,0], [0,0.9,0.9], [0.9,0,0.9], [0.49,0,0], [0,0.49,0], [0,0,0.49], [0.49,0.49,0], [0,0.49,0.49], [0.9,0.49,0], [0,0.49,0.9], [0.49,0.9,0], [0,0.9,0.49], [0.49,0,0.49], [0.9,0,0.49], [0.49,0,0.9], [0.49,0.49,0.9], [0.9,0.49,0.49], [0.9,0.49,0.9], ...) -- point3 array; Weight_Colors 

ウェイトを表示するために使用するカラーを取得/設定します。

<Skin>.weightTool_scale Float default: 0.95 -- float; Scale 

ウェイト ツールのスケール値を取得/設定します。

<Skin>.weightTool_tolerance Float default: 0.1 -- float; Tolerance 

ウェイト ツールの許容値を取得/設定します。

<Skin>.weightTool_weight Float default: 0.5 -- float; Weight 

ウェイト ツールのウェイト値を取得/設定します。

メソッド

以前のバージョンでは、これらのメソッドの一部でターゲット オブジェクトを選択し、[修正] (Modify)パネルで[スキン] (Skin)モディファイヤをアクティブにする必要がありました。3ds Max 2019.2 Update 以降で使用可能です。これらのメソッドがオプションの node:<node> または name:<string> 引数を取り、該当するノードまたは指定したノードに適用されるようになりました。これらの引数には単一のノードまたは名前、あるいはノードまたは名前の配列を指定できます。ノードが指定されていない場合、このメソッドを使用するには、[修正] (Modify)パネルがアクティブになっていて、この[修正] (Modify)パネルに[スキン] (Skin)モディファイヤが表示されている必要があります。

以前のバージョンでは、これらのメソッドを使用する場合は常に、ターゲット オブジェクトが選択されていて、[修正] (Modify)パネルがアクティブになっていて、この[修正] (Modify)パネルに[スキン] (Skin)モディファイヤが表示されている必要がありました。

[追加...] (Add...)

skinOps.addbone <Skin> <Bone_node> <Update_integer>  [(node:<node> | name:<string>)]

現在のシステムにボーンを追加します。

Update_integer が -1 の場合は強制的に完全な更新と描画を行い、0 の場合はシステムを更新しません。

これにより、システムに数多くのボーンを追加して、最後に一度更新することができます。

skinOps.addBoneFromViewEnd <Skin> 

addBoneFromViewStart コマンド モードを終了します。

skinOps.addBoneFromViewStart <Skin> 

コマンド モードに入ります。コマンド モードでは、ボーンをビューポートでクリックして選択できます。

addBoneFromViewEnd を右クリックするか呼び出して、このモードを終了できます。

skinOps.addCrossSection <Skin> <BoneID_integer> <U_float> <InnerRadius_float> <OuterRadius_float> \
    [node:<node>] 

インデックスが BoneID_integer.U_float と一致するボーンに断面を追加します。範囲は 0.0 ~ 1.0 で、断面を追加するボーンに沿った位置を定義します。

skinOps.addCrossSection <Skin> <U_float> 

現在選択されているボーンに断面を追加します。

内部半径と外部半径は、隣接する断面 .U_float に基づいて計算されます。範囲は 0.0 ~ 1.0 で、断面を追加するボーンに沿った位置を定義します。

skinOps.addCrossSection <Skin> <U_float> <InnerRadius_float> <OuterRadius_float> 

現在選択されているボーン .U_float に断面を追加します。範囲は 0.0 ~ 1.0 で、断面を追加するボーンに沿った位置を定義します。

頂点選択

skinOps.growSelection <Skin> 

指定した[スキン] (Skin)モディファイヤの現在の頂点選択を拡大します。

モディファイヤの UI の[パラメータ] (Parameters)ロールアウト > [選択] (Select)コントロール領域で[グロー] (Grow)ボタンをクリックする操作と同等です。

skinOps.shrinkSelection <Skin> 

指定した[スキン] (Skin)モディファイヤの現在の頂点選択を縮小します。

モディファイヤの UI の[パラメータ] (Parameters)ロールアウト > [選択] (Select)コントロール領域で[シュリンク] (Shrink)ボタンをクリックする操作と同等です。

skinOps.loopSelection <Skin> 

指定した[スキン] (Skin)モディファイヤの現在の頂点選択をベースに使用して、[ループ選択](Loop Selection)を実行します。

モディファイヤの UI の[パラメータ] (Parameters)ロールアウト > [選択] (Select)コントロール領域で[ループ] (Loop)ボタンをクリックする操作と同等です。

skinOps.ringSelection <Skin> 

指定した[スキン] (Skin)モディファイヤの現在の頂点選択をベースに使用して、[リング選択](Ring Selection)を実行します。

モディファイヤの UI の[パラメータ] (Parameters)ロールアウト > [選択] (Select)コントロール領域で[リング] (Ring)ボタンをクリックする操作と同等です。

skinOps.bakeSelectedVerts <Skin> 

選択した頂点をベイク処理します。

skinOps.blendSelected <Skin> 

選択した頂点をブレンドします。

skinOps.getSelectedVertices <Skin> [(node:<node> | name:<string>)]

選択した頂点の配列を取得します。

ボタン コマンド

skinOps.buttonAdd <Skin> 

[ボーンを追加](add bone)ボタンをクリックします。

skinOps.buttonAddCrossSection <Skin> 

[断面を追加](add cross section)ボタンをクリックします。

skinOps.buttonAddGizmo <Skin> 

ギズモ ロールアウトで、[ギズモを追加](add gizmo)ボタンをクリックします。

skinOps.buttonCopyGizmo <Skin> 

ギズモ ロールアウトの[ギズモをコピー](copy gizmo)ボタンをクリックします。

skinOps.buttonExclude <Skin> 

[頂点を除外](exclude vertices)ボタンをクリックします。

skinOps.buttonInclude <Skin> 

[頂点を含む](include vertices)ボタンをクリックします。

skinOps.buttonPaint <Skin> 

[ペイント] (paint)ボタンをクリックします。

skinOps.buttonPasteGizmo <Skin> 

ギズモ ロールアウトの[ギズモを貼り付け](paste gizmo)ボタンをクリックします。

skinOps.buttonRemove <Skin> 

[ボーンを削除](remove bone)ボタンをクリックします。

skinOps.buttonRemoveGizmo <Skin> 

ギズモ ロールアウトにある[ギズモを削除](remove gizmo)ボタンをクリックします。

skinOps.buttonSelectExcluded <Skin> 

[除外された頂点を選択](select excluded vertices)ボタンをクリックします。

skinOps.paintOptionsButton <Skin> 

[ペイント オプション](Paint Options)ボタンをクリックし、[ペイント オプション](Paint Options)ダイアログ ボックスを開きます。

   skinOps.paintOptionsButton $.skin
skinOps.paintWeightsButton <Skin> 

[ウェイト] (Weights)ボタンをクリックし、[ペイント ウェイト](Paint Weights)モードを開始します。

ウェイト テーブルおよびツール

skinOps.buttonWeightTable <Skin> 

指定したモディファイヤのスキン ウェイト テーブルを表示します。

skinOps.isWeightTableOpen <Skin> 

指定したモディファイヤに対してスキン ウェイト テーブルが開いている場合は 1 を返します。スキン ウェイト テーブルが閉じている場合は 0 を返します。

skinOps.closeWeightTable <Skin> 

指定したモディファイヤのスキン ウェイト テーブルを閉じます。

skinOps.WeightTool <Skin> 

指定の[スキン] (Skin)モディファイヤのウェイト ツールを開きます。

skinOps.isWeightToolOpen <Skin> 

指定の[スキン] (Skin)モディファイヤのウェイト ツールが開いたら 1 を、閉じたら 0 を返します。

skinOps.closeWeightTool <Skin> 

指定の[スキン] (Skin)モディファイヤのウェイト ツールが開いている場合には、閉じます。

ボーンを除去

skinOps.removebone <Skin> 

現在選択されているボーンをボーン システムから削除します。

skinOps.removebone <Skin> <BoneID_integer> [(node:<node> | name:<string>)]

BoneID をボーン システムから削除します。

skinOps.multiRemove <Skin> 

一度に 1 つではなく、複数のボーンを削除できるリスト ボックスを表示します。

skinOps.replaceBone <Skin> <BoneID_integer> [(node:<node> | name:<string>)] vertices:<list>

指定したボーンを頂点リストで定義されたボーンで置き換えます。

skinOps.removeUnusedBones <Skin> threshold:<float> [(node:<node> | name:<string>)]

指定したしきい値よりもウェイトが小さいボーンを削除します。

コピーと貼り付け

skinOps.copySelectedBone <Skin <Skin> 

現在選択されているボーン プロパティをコピー バッファにコピーします。

skinOps.pasteAllBones <SkinModifier> <boolean> 

このメソッドによって、ミラー平面全体のすべてのボーンが Bool パラメータで定義された方向に貼り付けられます。true の場合、青から緑に向けて貼り付け、そうでない場合は緑から青に向けて貼り付けます。

skinOps.pasteToAllBones <Skin> 

すべてのボーンにコピー バッファを貼り付けます。

skinOps.pasteToBone <Skin> <BoneID_int> 

指定した BoneID にコピー バッファを貼り付けます。

skinOps.pasteToSelectedBone <Skin> 

現在選択されているボーンにコピー バッファを貼り付けます。

skinOps.copyWeights <Skin> 

指定したスキンのウェイト テーブルをコピー バッファにコピーします。

skinOps.pasteWeights <Skin> 

コピー バッファにコピーされたウェイト テーブルを、指定したスキンに貼り付けます。

skinOps.pasteWeightsByPos <Skin> 

現在コピー バッファにあるウェイト値を、選択した頂点に割り当てます。割り当ては、UI の[貼付け位置許容度](Paste-Pos Tolerance)値で決定された頂点とコピーされた頂点間の距離に基づいて行われます。1 つのボーンを共有する 2 つの合成スキン メッシュ間のウェイトを一致させる必要がある場合に、これは便利です。

skinOps.pasteAllVerts <SkinModifier> <boolean> 

このメソッドによって、ミラー平面全体のすべての頂点が Bool パラメータで定義された方向に貼り付けられます。Bool パラメータが true の場合は、青から緑に向けて貼り付けられ、それ以外の場合は緑から青に向けて貼り付けられます。

デュアル クォータニオン

skinOps.enableDQOverrideWeighting <SkinModifier> <boolean>

指定した SkinModifier のデュアル クォータニオン オーバーライド ウェイトを有効にするかどうかを指定します。2 番目の引数が true の場合は、デュアル クォータニオン オーバーライド ウェイトが有効になります。

skinOps.getVertexDQWeight <SkinModifier> <integer>

2 番目の引数で示したインデックスの頂点に対して指定された SkinModifier のデュアル クォータニオン ウェイトを返します。

skinOps.setVertexDQWeight <SkinModifier> <integer> <float>

2 番目の引数で示したインデックスの頂点に対して指定された SkinModifier のデュアル クォータニオン ウェイトを、3 番目の引数で指定された値に設定します。

例:

skinOps.setVertexDQWeight $.modifiers[1] 1 0.5

ボーンのプロパティ

skinOps.GetSelectedBone <Skin> 

ボーン リストで現在選択されているボーンのインデックスを返します。

skinOps.GetNumberBones <Skin> 

システム内のボーン数を返します。

skinOps.GetBoneName <Skin> <bone_index> <nameflag_index> 

ID で指定されたボーンのボーン名またはノード名を返します。

bone_index は、ボーンのボーン システム ID です。

nameflag_index に使用できる値は 0 または 1 です。

ボーン システムがスキンボーンに対して使用される場合、ボーンへの変換はそのボーンの親に保持されます。

skinOps.GetBoneIDByListID <Skin> <ListID_integer>

ListID インデックス値を指定した BoneID インデックスを返します。

ListID インデックスは、名前でソートされたボーン リストボックスに対するインデックスです。

BoneID インデックスは、ソートされていないインデックスで、ボーン インデックスを必要とする別のメソッドによって使用されるインデックスです。

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

skinOps.GetListIDByBoneID <Skin> <BoneID_integer>

BoneID インデックス値が指定された場合、ListID インデックスを返します。

ListID インデックスは、名前でソートされたボーン リストボックスに対するインデックスです。

BoneID インデックスは、ソートされていないインデックスで、ボーン インデックスを必要とする別のメソッドによって使用されるインデックスです。

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

skinOps.GetBoneNodes <Skin>

[スキン] (Skin)モディファイヤに存在するのと同じ順序でボーン ノードの配列を返します。

skinOps.GetBoneNode <Skin> <BoneIndex_integer>

インデックスで指定されたボーン ノードを返します。

skinOps.getBonePropFalloff <Skin> <BoneID_integer> 

ボーンのフォールオフ パラメータを返します。

1- 線形

2 - くぼみ

3 - 高速

4 - 低速

skinOps.setBonePropFalloff <Skin> <BoneID_integer> <Falloff_integer> 

ボーンのフォールオフ パラメータを設定します。

Faloff_integer の場合、ボーンのフォールオフは次のとおりです。

1- 線形

2 - くぼみ

3 - 高速

4 - 低速

skinOps.getBonePropRelative <Skin> <BoneID_integer> 

ボーンの相対プロパティを取得します。相対の場合は 1、絶対の場合は 0 を返します。

skinOps.setBonePropRelative <Skin> <BoneID_integer> <Relative_integer> 

インデックスが BoneID_integer と一致するボーンの相対プロパティを設定します。

Relative_integer の場合、0 は絶対で 1 は相対です。

skinOps.getBonePropEnvelopeVisible <Skin> <BoneID_integer> 

ボーンのボーン可視性パラメータを返します。0 は不可視、1 は可視です。

skinOps.setBonePropEnvelopeVisible <Skin> <BoneID_integer> <Visible_integer> 

インデックスが BoneID_integer と一致するボーンのボーン可視性パラメータを設定します。

Visible_integer の場合、選択されていないとき 0 は可視、1 は不可視です。

skinOps.getSelectedBonePropEnvelopeVisible <Skin> 

現在選択されているボーンのボーン可視性パラメータを返します。0 は不可視、1 は可視です。

skinOps.setSelectedBonePropEnvelopeVisible <Skin> <Visible_integer> 

現在選択されているボーンのボーン可視性パラメータを設定します。

Visible_integer の場合、選択されていないとき 0 は可視、1 は不可視です。

skinOps.GetStartPoint <Skin> <BoneID_integer> 

ボーンの始点である point3 を返します。

skinOps.SetStartPoint <Skin> <BoneID_integer> <EndPointPos_point3> 

指定したボーンの始点を設定します。

skinOps.GetEndPoint <Skin> <BoneID_integer> 

ボーンの終点である point3 を返します。

skinOps.SetEndPoint <Skin> <BoneID_integer> <EndPointPos_point3> 

指定したボーンの終点を設定します。

skinOps.GetInnerRadius <Skin> <bone_integer> <CrossSectionID_integer> 

指定されたボーンと断面の内部断面半径を返します。

skinOps.SetInnerRadius <Skin> \ <bone_integer> <CrossSectionID_integer> <Radius_float> 

指定されたボーンと断面の内部断面半径を設定します。

skinOps.GetOuterRadius <Skin> <bone_integer> <CrossSectionID_integer> 

指定されたボーンと断面の外部断面半径を返します。

skinOps.SetOuterRadius <Skin> \ <bone_integer> <CrossSectionID_integer> <Radius_float> 

指定されたボーンと断面の外部断面半径を設定します。

skinOps.GetCrossSectionU <Skin> <BoneID_integer> <CrossSectionID_integer> 

指定したボーンと断面から U 値を取得します。

skinOps.SetCrossSectionU <Skin> <BoneID_integer> <CrossSectionID_integer> <U_float> 

指定したボーンと断面からの U 値を設定します。

skinOps.enableGizmo <Skin> <GizmoID_integer> <Enable_bool> 

インデックスが GizmoID_integer に等しいギズモ タイプを有効または無効にします。

skinOps.getNumberOfGizmos <Skin> 

ギズモの数を返します。

skinOps.getNumberOfGizmoTypes <Skin> 

ギズモ タイプの数を返します。

skinOps.getSelectedBonePropFalloff <Skin> 

現在選択されているボーンのフォールオフ パラメータを返します。

1- 線形

2 - くぼみ

3 - 高速

4 - 低速

skinOps.setSelectedBonePropFalloff <Skin> <Falloff_integer> 

現在選択されているボーンのフォールオフ パラメータを設定します。

falloff_integer は、ボーンのフォールオフを設定します。

1- 線形

2 - くぼみ

3 - 高速

4 - 低速

skinOps.getSelectedBonePropRelative <Skin> 

現在選択されているボーンの相対プロパティを取得します。相対の場合は 1、絶対の場合は 0 を返します。

skinOps.getNumberCrossSections <Skin> <bone_integer> 

指定されたボーンの断面の数を返します。

skinOps.getSelectedCrossSectionIndex <Skin> 

現在選択されている断面のインデックスを返します。

skinOps.getSelectedCrossSectionIsInner <Skin> 

選択した断面が内部断面である場合は、1 を返します。

skinOps.getSelectedGizmo <Skin> 

現在選択されているギズモを返します。

skinOps.getSelectedGizmoType <Skin> 

指定された SkinModifier の現在のギズモ タイプを返します。

skinOps.GetNumberVertices <Skin> 

[スキン] (Skin)モディファイヤが適用されているオブジェクトの頂点の数を返します。

skinOps.RemoveCrossSection$ <Skin> 

現在選択されている断面を、現在選択されているボーンから削除します。

skinOps.RemoveCrossSection <Skin> <BoneID_integer> <CrossSectionID_integer> 

特定の断面を特定のボーンから削除します。

skinOps.setSelectedBonePropRelative <Skin> <Relative_integer> 

現在選択されているボーンの相対プロパティを設定します。

relative_integer の場合、0 は相対モード、1 は絶対モードです。

重み付け

skinOps.addWeight <SkinModifier> <float>

2 番目のパラメータで示されたウェイトを、指定された SkinModifier の現在の頂点選択に追加します。最終的なウェイト値は[0.0,1.0]にクランプされることに注意してください。

skinOps.SetWeight <Skin> <weight_float> 

指定した[スキン] (Skin)モディファイヤの選択された頂点のウェイトを、指定の浮動小数のウェイト値に設定します。

注:

遅延プラグイン ロードが有効な場合、[スキン] (Skin)モディファイヤのインスタンスはこれらのメソッドが可視になる以前に作成されている必要があります。

これは、これらのメソッドが[スキン] (Skin)モディファイヤ プラグイン内で定義されているためです。

skinOps.scaleWeight <SkinModifier> <float>

指定された SkinModifier で現在選択されている頂点のウェイトを、2 番目の引数の値でスケールします。最終的なウェイト値は[0.0,1.0]にクランプされることに注意してください。

skinOps.GetVertexWeight <Skin> <vertex_integer> <vertex_bone_integer> 

指定された頂点に与えられる N 番目のボーンの影響を返します。

skinOps.SetVertexWeights <Skin> <vertex_integer> \ ( <vertex_bone_integer> | <vertex_bone_array> ) \
 ( <weight_float> | <weight_array> )  [(node:<node> | name:<string>)]

指定されたボーンの影響を、指定された頂点に設定します。

指定されていないボーンの影響のウェイトはそのまま保持されます。

ボーンとウェイトが配列として指定される場合、その配列は同じサイズでなければなりません。

skinOps.GetVertexWeightBoneID <Skin> <vertex_integer> <vertex_bone_integer> 

指定された頂点に影響する N 番目のボーンのシステム ボーン インデックスを返します。

skinOps.GetVertexWeightCount <Skin> <vertex_integer> 

指定された頂点に影響するボーン数を返します。

skinOps.ReplaceVertexWeights <Skin> <vertex_integer> \ ( <vertex_bone_integer> | <vertex_bone_array> ) \
 ( <weight_float> | <weight_array> )  [(node:<node> | name:<string>)]

指定されたボーンの影響を、指定された頂点に設定します。

指定されていないボーンの影響のウェイトは削除されます。

ボーンとウェイトが配列として指定される場合、その配列は同じサイズでなければなりません。

skinOps.RemoveZeroWeights <Skin>

3ds Max 2017 以降で使用可能: 頂点のウェイトがモディファイヤの .clearZeroLimit プロパティで指定されたしきい値よりも小さいボーンの影響を除去します。

モディファイヤの UI の[拡張パラメータ](Advanced Parameters)ロールアウトの[ゼロ ウェイトを除去](Remove Zero Weights)ボタンをクリックする操作と同等です。

skinOps.voxelWeighting <Skin> <mode_integer> <falloff_float> <max_influence_integer> \
  <max_res_integer> <winding_bool> <envelope_off_bool>  [(node:<node> | name:<string>)]

3ds Max 2017 以降で使用可能: 指定した[スキン] (Skin)モディファイヤのボクセルのウェイト付けを実行します。

<mode_integer> 引数は、使用するウェイト ソルバを定義します。0 はボクセル、1 はヒート マップです。

<falloff_float> 引数は、フォールオフを定義します。UI の既定値は 0.2 です。

<max_influence_integer> 引数は、頂点に影響を与える可能性のあるボーンの最大数を定義します。UI の既定値は、無制限を意味する 0 です。

<max_res_integer> 引数は、ボクセル グリッドの最大解像度を定義します。UI の既定値は 256 です。ボクセル モード専用ですが、ヒート マップの重み付けを実行する場合でも指定する必要があります。

<winding_bool> 引数は、UI 内の[回転数を使用](Use Winding Numbers)チェックボックス(既定でオフ)に対応しています。ボクセル モード専用ですが、ヒート マップの重み付けを実行する場合でも指定する必要があります。

<envelope_off_bool> 引数は、UI 内の[エンベロープ ギズモをオフ](Turn Off Envelope Gizmos)チェックボックス(既定でオフ)に対応しています。

skinOps.SetBoneWeights <Skin> <boneIds> <weights> [(node:<node> | name:<string>)]

指定したボーンに対するすべての頂点の影響のウェイトを設定し、このボーンに対する以前のすべてのウェイトを消去します。3ds Max 2019.2 Update 以降で使用可能です。

<boneIds> 引数にはボーン ID、またはボーン ID の配列を指定できます。

<weights> 引数には、単一のボーン ID の場合は浮動小数点の配列を、<boneId> 引数が配列の場合は浮動小数点の配列からなる配列を指定できます。頂点ごとに浮動小数点のウェイトが 1 つ必要です。

skinOps.Hammer <Skin> <vertices> [(node:<node> | name:<string>)]

指定した頂点に、頂点ウェイトの「ハンマー」処理を実行します。3ds Max 2019.2 Update 以降で使用可能です。これにより、ボーンの頂点のウェイトが、隣接するすべての頂点の平均値にリセットされます。

<vertices> 引数には単一頂点の番号、頂点の配列、または bitarray を指定できます。

... であるかどうかのテスト

skinOps.isBoneSelected <Skin> <BoneID_integer>  [(node:<node> | name:<string>)]

ボーンが選択されている場合は 1、選択されていない場合は 0 を返します。

skinOps.isRigidHandle <Skin> <handle_integer>  [(node:<node> | name:<string>)]

ハンドルがリジッドの場合は true を返し、それ以外の場合は false を返します。

skinOps.isRigidVertex <Skin> <vertex_integer>  [(node:<node> | name:<string>)]

頂点がリジッドの場合は true を返し、それ以外の場合は false を返します。

リジッドな頂点は特定のボーンにだけウェイト付けされます。

skinOps.IsVertexModified <Skin> <vertex_integer> 

頂点が修正された場合は 1、修正されていない場合は 0 を返します。

修正された頂点は手作業または描画によってウェイトが付けられ、修正されていない頂点のウェイトはエンベロープだけに依存します。

skinOps.IsVertexSelected <Skin> <vertex_integer> [(node:<node> | name:<string>)]

頂点が選択されている場合は 1、選択されていない場合は 0 を返します。

頂点の平均化

skinOps.isUnNormalizeVertex <Skin> <vertex_integer>  [(node:<node> | name:<string>)]

頂点が平均化されていない場合は true を返し、平均化されている場合は false を返します。

平均化された頂点のウェイトの合計は、最大で 1 になります。

skinOps.unNormalizeVertex <Skin> <vertex_integer> <boolean>  [(node:<node> | name:<string>)]

指定した頂点を非平均化します。平均化された頂点のウェイトの合計は、最大で 1 になります。

エンベロープのロードと保存

skinOps.loadEnvelope <Skin> [<filename_string>] 

オプションの filename_string が指定されている場合、指定されたファイルからエンベロープをロードします。

指定されていない場合は、[エンベロープをロード](Load Envelopes)ダイアログ ボックスを開きます。

skinOps.saveEnvelope <Skin> [<filename_string>] 

オプションの filename_string が指定されていない場合は、[エンベロープを保存](Save Envelopes)ダイアログ ボックスを開きます。オプションの filename_string が指定されている場合は、指定されたファイルにエンベロープを保存します。

skinOps.loadEnvelopeAsASCII <Skin> 

指定したファイルにエンベロープをロードします。

skinOps.saveEnvelopeAsASCII <Skin> [<filename_string>] 

オプションの filename_string が指定されていない場合は、[エンベロープを保存](Save Envelopes)ダイアログ ボックスを開きます。

オプションの filename_string が指定されている場合、エンベロープをASCII テキスト ファイルとして指定されたファイルに保存します。

クロス セクション

skinOps.SetSelectedCrossSection <SkinModifier> <float>

指定された SkinModifier に対して選択された断面の半径を設定します。

skinOps.buttonRemoveCrossSection <Skin> 

[クロス セクションを除去](Remove Cross Section)ボタンをクリックします。

リセット

skinOps.resetAllBones <Skin> 

すべてのボーンをリセットします。

skinOps.resetSelectedBone <Skin> 

現在選択されているボーンをリセットします。

skinOps.resetSelectedVerts <Skin> 

現在選択されている頂点をリセットします。

リジッド

skinOps.rigidHandle <Skin> <handle_integer>  [(node:<node> | name:<string>)]

指定したハンドルをリジッドとして設定します。リジッド ハンドル頂点のウェイトは、それが所有する結び目と同じになります。

skinOps.rigidVertex <Skin> <vertex_integer>  [(node:<node> | name:<string>)]

指定された頂点をリジッドとして設定します。リジッドな頂点は特定のボーンにだけウェイト付けされます。

選択

skinOps.SelectBone <Skin> <bone_integer> [(node:<node> | name:<string>)]

ボーン リストで指定されたボーンを選択します。

skinOps.selectBoneByNode <SkinModifier> <INode>

指定された SkinModifier で指定されたノードに対応するボーンを選択します。

skinOps.selectNextBone <Skin> 

ボーン リスト内の次のボーンを選択します。

skinOps.selectPreviousBone <Skin> 

ボーン リスト内の前のボーンを選択します。

skinOps.selectParent 

ボーン リスト内の親ボーンを選択します。

skinOps.selectChild 

ボーン リスト内の子ボーンを選択します。

skinOps.selectPreviousSibling 

リスト内の前の兄弟ボーンを選択します。

skinOps.selectNextSibling 

リスト内の次の兄弟ボーンを選択します。

skinOps.selectMirrorBones <SkinModifier> (<integer> | <arrayOfIntegers>)

指定された SkinModifier で指定されたインデックスまたはインデックスの配列に基づいてミラー ボーンを選択します。

例:

skinOps.selectMirrorBones $.modifiers[1] 5
indices = #(1,2,5,6,9,10)
skinOps.selectCrossSection <Skin> <CrossSectionID_integer> <Inner_Outer_integer> 

現在選択されているボーンの断面を選択します。

Inner_Outer_integer の場合、0 は内部エンベロープ、1 は外部エンベロープです。

skinOps.selectStartPoint <Skin> 

現在選択されているボーンのエンベロープの終点を選択します。

skinOps.selectEndPoint <Skin> 

現在選択されているボーンのエンベロープの始点を選択します。

skinOps.selectGizmo <Skin> <gizmoID_int> 

インデックスが gizmoID_int と等しいギズモを選択します。

skinOps.selectGizmoType <Skin> <gizmoTypeID_int> 

インデックスが gizmoTypeID_int と等しいギズモ タイプを選択します。

skinOps.SelectVertices <Skin> \ ( <vertex_integer> | <vertex_array > | <<vertex_bitarray> ) 

指定された頂点を選択します。

skinOps.selectVerticesByBone <bone_index>

指定されたボーン インデックスに関連付けられている頂点を選択します。

ミラー

skinOps.setMirrorTM  <SkinModifier> <Matrix3>

ミラー モードが有効な場合、このメソッドはミラー データの初期 TM を指定された Matrix3 に設定します。

skinOps.updateMirror <SkinModifier>

ミラー データが有効になっている場合は、ミラー ボーン接続を構築し、頂点ミラー データを設定します。

skinOps.mirrorPaste  <SkinModifier>

ミラー モードが有効になっている場合は、現在の選択を使用して、指定された SKinModifier のミラー データのミラー貼り付けを実行します。

例:

skinOps.mirrorPaste $.modifiers[1]
skinOps.mirrorPasteBone <SkinModifier> <source_bone_integer> <dest_bone_integer>

現在のミラー プレーン TM を使用して、ソース ボーンから宛先のボーンにミラー データを貼り付けます。

ズーム

skinOps.ZoomToBone <Skin> <All_boolean> 

アクティブなビューまたはすべてのビューを、選択したボーンまで拡大します。All_booleantrue の場合、すべてのビューが拡大されます。

skinOps.ZoomToGizmo <Skin> <All_boolean> 

アクティブなビューまたはすべてのビューを、選択したギズモまで拡大します。All_booleantrue の場合、すべてのビューが拡大されます。

その他のメソッド

skinOps.gizmoResetRotationPlane <SkinModifier>

現在のボーンの方向を使用して現在選択されているギズモの回転プレーンをリセットし、プレーンを定義します。

skinOps.Invalidate <Skin> <integer> 

スキンの内部キャッシュを無効にして、すべてのデータを強制的に再計算します。

整数パラメータは使われませんが、メソッドを呼び出すときに渡す必要があります。

関連インタフェース

インタフェース: SkinPose

インタフェース: SkinUtils