MODO 機能紹介・チップスサイト このサイトでは、MODOの基本機能やチップスをご紹介していきます。

Cutoff Tiny Weight

ダウンロード

バージョン

v1.0

概要

このスクリプトは指定した値よりも低い値を持つウェイトを選択したり、消去します。

注意

このスクリプトはキット形式となっています。フォルダを解凍したらmjg_cutoff_wgtというフォルダができますので、このフォルダごとユーザースクリプトフォルダの中にコピーしてください。ユーザースクリプトフォルダを開くには、MODOを起動し、システムメニューユーザースクリプトフォルダを開くを選択してください。

open_userscfolderMODOをいったん閉じ、ユーザースクリプトフォルダの中にmjg_cutoff_wgtフォルダをコピーしたら、MODOを再起動し、キーを割り当てます。システムメニューフォーム編集の左側にあるFのキーを押し、検索フィールドにmjgと入力したら本キットが表示されますので、Cutoff Weightを右クリックしコンテキストメニューからキーに割り付けで適切なショートカットキーを割り当ててください。

mjg_formこれでショートカットキーによる起動が可能になります。

解説

MODOではスケルトンをメッシュとバインドすると、自動的にウェイトが割り当てられ、さらにウェイトペイントツールなどでウェイトを自由に設定していくことが可能ですが、設定していくうちに微小な値を持つウェイト値が出てきてしまう場合があります。このスクリプトではそういったウェイト値を整理するため、指定した値よりも低い値を持つウェイト値を選択したり、消去することができます。

cutoff_weight今回のスクリプトの肝となるのは、マップの値を取る箇所頂点を選択状態にする箇所です。

マップの値を取る箇所は:

80:            # Get Weight Value of Each Vertex
81:            wgt_val = lx.eval( 'query layerservice vert.vmapValue ? %s' % pnt )

ここで返ってきたウェイト値wgt_valとしきい値を比較しています。

頂点を選択状態にする箇所は:

  86:          # Select Vertex
  87:          pnt_index = lx.eval( 'query layerservice vert.index ? %s' % pnt )
  88:          lx.eval( 'select.element %s vertex add %s' % ( fg_index, pnt_index ) )

頂点を選択するのに必要となるのは、レイヤーインデックスと頂点インデックスです。これが把握できれば、頂点を選択状態にすることが可能になります。

 

2015年4月2日