2026年6月23日火曜日

YT-Tools for Blender (Selection Island)

YT-Tools for Blender v1.8.7を公開いたしました。このバージョンはマイナーチェンジで、リニアトランスフォームにSelection Islandというオプションを追加しています。

通常リニアトランスフォームは、リニアフォールオフギズモに対する各頂点の座標値を基準にして減衰率を計算しています。リニアフォールオフギズモがZ軸に沿って置かれている場合、座標値のZ値の大きさに基づいてフォールオフウェイトが拡大縮小します。

Selection Islandは、Faceが連続して選択されている塊をアイランドとしてグループ化し、そのアイランドに所属する頂点は各頂点の座標値の代わりに、アイランドの中心位置で減衰率が計算されます。これによりアイランドに所属する頂点は各頂点は同じフォールオフウェイトを持つことになります。なにも選択がされてない場合は、Faceのトポロジー情報から連結されているFaceのグループがアイランドになります。

例えば下記のように複数の直方体を直方体単位に徐々にスケールをかけたい場合などに便利です。



2026年6月18日木曜日

Select Edges By Polygon Angle

Select Edges By Polygon Angleは、凸エッジ、凹エッジ、平面上エッジをインタラクティブに選択するためのModoの選択ツールです。平面上エッジ(Coplanar)は、Statisticsパネルで選択可能ですが、角度を指定して凸エッジ、凹エッジを選択する機能はありませんでした。条件を変更しながらこれらのエッジの選択を用意にするためにツールとして実装しています。

ConvexConcaveはそれぞれ凸エッジ、凹エッジの選択を有効にするオプションで、AngleとOperatorで指定した条件を満たすエッジを選択します。例えばConvexを有効にし、Angleに5.0°、Operatorを指定すると、共有する2つのポリゴンの法線ベクトルの角度が5.0°を超えるエッジが選択されます。

Angleに0.0°、Operator=を指定すれば、平面上エッジ(Coplanar)を選択することができますが、このツールではCoplanarという平面上エッジ(Coplanar)を選択するオプションを明示的に用意しています。このツールのCoplanarの選択はModoのStatisticsで使用している平面率を指定した平面上エッジ(Coplanar)の選択と同じアルゴリズムを使用しています。



2026年6月16日火曜日

Select Colinear Vertices

Select Colinear Verticesを公開いたしました。しばらくはBlenderのアドオンの開発をお休みしてリクエストを頂いているModoのプラグインを開発していく予定です。FoundryでModoの開発をしている最中は、担当するキーフューチャーをメインに実装していたため、ユーザーからの比較的小さな機能リクエストは開発のプライオリティが低くなっていました。Foundryから離れてようやく自由に作りたいものが作れるようになった気がします🙂

Select Colinear Verticesは、同一直線上にある頂点を選択するツールです。これは比較的簡単なツールで、同じような機能のスクリプトなどはありますが、頂点に連結されている2つのエッジの許容角度を指定してインタラクティブに操作したいというリクエストがありましたので、ツール版のSelect Colinear Verticesを作りました。

同一直線上の頂点とは、2つのエッジが連結されている頂点で連結する3つの頂点の座標値が同一直線上にある頂点です。面ポリゴンのエッジの他、ポリラインの頂点も選択対象になります。



2026年6月11日木曜日

Curve To Polyline

Curve To Polylineを公開しました。これはModoのカーブをポリラインに変換するModoのキットで、macOSとWindowsのModo 16.1, Modo 17.1で動作します。

この機能もModoのユーザーの方からのリクエストに基づいて開発したもので、Modoのカーブをゲームのアセットとして使いやすいように最適化されたポリラインに変換するのが目的です。通常Modoでカーブをポリラインに変換する場合は、Freezeコマンドを使用します。Curve Refinement Angleを指定すれば曲率を考慮した変換を行うことができますが、Curve To Polylineではもう少し変換の方法を細かく指定することができます。

Uniform Lengthは、Countで指定した数でカーブのセグメントを同じ長さになるように変換します。これはCatmull-Romカーブだけでなく、ポリラインに対しても動作しますので、カーブのリサンプリングを行う目的にも使うことができます。



Maximum Angleは、カーブの接線の傾きが指定した値を超えた場合にポイントを追加するアルゴリズムです。曲率が大きい場所ではより細かく分割され、なだらかな場所では平坦になります。



Minumum Edge Lengthは、微細なエッジが作られるのを防止するための値で、出力されるエッジの長さがこの値よりも小さくなってしまう場合は、角度が大きくても長さを優先して分割を行います。

Angle Adjustmentは、より繊細なコントロールを行うためのオプションで、最も長い分割エッジの長さを基準に判定する角度を調整する機能です。Minumum Edge Lengthが短いエッジをクランプしてしまうのに対し、Angle Adjustmentは分割エッジの長さに応じて求めたウェイトで判定角度を調整しています。