2026年7月9日木曜日

Auto Part By Distance

Auto Part By Distanceは、Modoを使ってアセットを製作するユーザーからのリクエストを受けて開発したツールです。複数のポリゴンパーツをグループ化し、同一グループのポリゴンにポリゴンPartタグをセットします。用途が少し特殊なので一般的なモデリングワークフローでは出番は少ないと思いますが、ゲーム開発のアセット作成での作業効率を上げるためにはこのようなツールが重宝するようです。ソースコードも公開していますので目的に応じてカスタマイズして使うこともできます。

基本的なアルゴリズムは連結されているポリゴンパーツもしくは選択されている連結ポリゴン単位のバウンディングボックスを計算し、指定されたSearch Distance以内にある近傍のポリゴンパーツをグループ化しています。各グループは青色のバウンディングボックスで表示され、Currentで指定したグループに含まれているポリゴンパートの数とポリゴン数が3Dビュー左上にテキストで表示されます。

同一グループのポリゴンには、グループのシーケンス番号がポリゴンのPartタグに文字列としてセットされます。Prefixで文字列を入力するとシーケンス番号の前にその文字列が付加されます。また、Senecaからの要望で、ランダムな文字列でユニークなPartタグを生成するRandom Part Nameオプションを追加しました。これを有効にすると0-9,a-z,A-Zの文字で構成する12文字の文字列がタグにセットされます。



2026年7月3日金曜日

Random Falloff

Random Falloffは、フォールオフウェイトの値をランダムに生成するサブツールです。このフォールオフは、頂点の座標値は使わずに連続するポリゴンのグループやエレメント単位にランダム値をウェイトとして設定します。

フォールウェイトを生成するソースとしては、メッシュのエレメント(頂点、エッジ、ポリゴン)、連続するエレメントのアイランド単位、もしくはポリゴンに設定されている同一Partタグ単位にランダムウェイト値を生成します。

フォールオフウェイトはメッシュの各頂点単位に参照されます。エッジもしくはポリゴン選択モードでソースをエレメントにした場合は、共有する頂点は連結されているいずれかのエッジもしくはポリゴンのウェイト値が設定されます。Random Falloffは、現在選択されているエレメントに対してウェイト値を設定しますので、孤立した選択したポリゴンなどに対してランダムウェイト値を設定したい場合などに使用します。

Selection Islandモードは、選択されている連続したメッシュエレメントをグループ化し、各グループに対してランダムウェイト値を設定します。なにも選択されていない場合は、連結されているポリゴンのグループ単位にウェイトを設定します。



Random Falloffは、ダイレクトモデリングツールのための汎用的なフォールオフサブツールですので、トランスフォームツールの他、フォールオフをサポートするベベルなどのモデリングツールなどとも使用することができます。