2025年9月24日水曜日

YT-Tools for Blender (Snapping)

v1.4を公開いたしました。このバージョンでは以前から要望があったツールハンドルのスナップに対応しています。Blenderのスナップ処理は外部には公開されていないので、アドオンはスナップパネルで設定されているスナップの設定項目を参照し、アドオンで独自に実装しました。YT-Toolsでは下記のようなスナップ設定項目をサポートしています。

Snap Target

Increment, Grid, Vertex, Edge, Face, Edge Center, Edge Perpendicularに対応しています。Vertexではメッシュの頂点およびカーブの制御点にスナップします。

Target Selection

Include Activeがオフの時にはアクティブオブジェクトのエレメントにはスナップしません。

Affect

Move, Rotate, Scaleに対応しています。

Rotation Increment

標準のインクリメンタル角度を参照します。


2025年9月15日月曜日

YT-Tools for Blender (Smooth Brush)

v1.3をリリースいたしました。このバージョンではSmooth Brushというオペレータを追加しています。メッシュの頂点をスカルプティングのようなブラシ操作で平滑化する機能です。LMBを押しながらメッシュ上をドラッグするとマゼンダ色の円の中にある頂点の座標位置が平滑化されていきます。ブラシのサイズはRMBで調整、平滑化の強さはSmooth Strengthで調整することができます。

また、このSmooth Brushの機能はSoft Drag使用時に使う事ができます。Shiftキーを押しながらLMBでドラッグするとソフトドラッグの代わりに頂点の平滑化を行う事ができます。

YT-ToolsはPythonで実装されているためパフォーマンスの問題は今後の課題です。

v1.3では、その他下記のような変更を行なっています。

  • SelectionSetsにReplaceボタンを追加
  • WorkplaneにSet to 3D Cursor and Rotationを追加
  • Display Infoで新しいシーンを読んだ後に選択情報が更新されないバグを修正
  • MergeとLoopSliceにもシンメトリーの初期値を追加
  • AddLoopとPolygonSlice終了後にAdjustLastOperationパネル(左下のプロパティパネル)が表示されるように修正
  • Randomize Transformが動かなくなってしまう問題を解決
Set to 3D Cursor and Rotationは、作業平面で選択エレメントから計算した位置情報と回転マトリクスをTransform Pivot PositionOrientationのCursorが参照するLocationとRotationに設定する機能です。v1.2ではカスタムOrientationに設定するSet to Transform Orientationsを追加しましたが、今回はこれを3D Cursorに追加するコマンドを用意いたしました。



2025年9月3日水曜日

YT-Tools for Blender (Radial Weight)

Radial Weightは、Linear Weightと同様にフォールオフを利用して頂点のウェイト値を設定するツールです。基本的なウェイト設定の操作性はLinear Weightと同じで、ギズモのハンドル操作はRadial Transformと同じです。



v1.2では、Linear WeightRadial Weightの遅延適用モードを改善し、インタラクティブなドラッグ操作を高速化しています。YT-Toolsの主なインタラクティブのツールは、Alt(Option)を押しながらLMBで行う操作は、Altキーを押している間は処理の適用が保留されます。画面上のメッシュには実行結果が反映されませんが、その間はハンドルの移動などを比較的思いメッシュでも軽快に行う事ができます。ウェイト設定ツールでは、ウェイトの表示はVertex Group WeightsというMesh Edit Mode OverlaysというBlenderの表示機能を使って表示しています。これはEdit Modeでのみ機能する表示なのですが、ウェイトの設定は内部的にはObjectモードで行う必要があります。つまりウェイトをドラッグしながら設定する場合は、内部的にObjectモードとEditモードを頻繁に切り替えながら行なっていますので、重たいメッシュですと速度が極端に遅くなります。v1.2では、Alt(Option)キーを押しながらドラッグしている間は、ウェイトの計算だけを行いツールが簡易的にウェイトを既存のメッシュに重ねて表示するように変更いたしました。簡易的な表示ですがウェイトの設定量を確認しながら高速にウェイトを設定する事ができます。


追記)DiscordのPixel FondueのBlenderチャンネルでDisplay Infoが原因での不具合や速度低下する事例が報告されています。現在調査中ですが、YT-Toolsを有効にした後で問題が発生がした場合はDisplay Infoを無効にして試してみてください。

2025年9月2日火曜日

YT-Tools for Blender (Soft Drag)

YT-Tools for Blenderv1.2を公開いたしました。今回のバージョンでは、2つの新機能の他、アクションセンターおよび作業平面の機能改善を行なっています。リリースの詳細はリリースノートもしくはオンラインマニュアルをご覧ください。

Soft Dragは、スクリーンスペース上の円の中にある頂点の座標値を円の中心からの減衰率をもとにスムースに移動するツールです。Modoではスクリーンフォールオフ+トランスフォームツールとして実装されていました。Modoのエレメント移動やBlenderのTweakツールがクリックしたエレメントを基準に周辺の頂点を移動するのに対して、Soft Dragはスクリーン上の円の中にある頂点が対象となります。対称を考慮しながらメッシュの膨らみを直感的に調整していくときに便利なツールです。Shift+LMBでスクリーン上をドラッグするとフォールオフのサイズを変更する事ができます。



Occlusion Testを有効にすると円の中にある頂点が他のポリゴンの後ろに隠れていないかどうかをテストし、頂点が隠れている場合は頂点座標値の移動を行いません。このオプションを有効にすると実行速度が低下しますので、必要な場合にのみ有効にして使用されることをお勧めいたします。


2025年8月27日水曜日

YT-Tools for Blender (Display Info)

YT-Tools for Blender v1.1.1を公開いたしました。このバージョンではLinear WeightツールやBendツールのバグがいくつか修正されています。また、PreferencesパネルにView Navigationという項目が追加されています。これはビューナビゲーションをModo風に変更するものではなく、Alt-LMBなどModoのビューナビゲーションを使用していることをYT-Toolsに認識させるためのオプションです。YT-Toolsのインタラクティブツールは、MMBのイベントをビューナビゲーションとして認識していて、このイベントがあった場合は、マウスオペレーションの制御をBlenderに渡していました。このためビューナビゲーションにMMB以外のキーマップが指定されていた場合、ツールが正しく動作できない問題があったため、暫定的にこのオプションを追加いたしました。将来的にもう少し賢い方法でこの問題の解決を行うかもしれません。

Display Infoは、Blenderの標準でスクリーンに表示される情報を補うための追加情報を表示します。Blenderは、BOXセレクションなど選択操作も全てオペレータで実装されてるため、常に何かしらのツールがアクティブになっています。画面の左下のDisplay Infoは現在アクティブになっているネイティブなツールを表示しています。また、Editモードでは現在選択されているEdgeの合計の長さや、Faceの合計面積も表示しています。

Display Infoは、スクリーンの左下に表示されるためBlenderのツールバーに隠れてしまう場合があります。Preferencesにテキストを表示するスクリーンの位置やテキストの大きさを調整するオプションがありますので、ご使用環境に合わせて調整してみてください。



2025年8月24日日曜日

YT-Tools for Blender (Selection Set)

Selection Setは、頂点、エッジ、ポリゴンの選択状態を名前をつけて保存し、必要に応じて呼び出す機能です。操作は簡単でエレメントが選択されている状態でAddボタンを押し、表示されるダイアログに適当な名前をつけてOKボタンを押せば、現在の選択状態がシーンに保存されます。Selection SetのNameから呼び出したいセレクションセットの名称を選択し、Selectボタンをおせば、保存した選択状態を復元する事ができます。


Selection Setの情報は、内部的にはメッシュの各エレメントに設定できるカスタムレイヤーに保存されます。頂点やエッジなどにユーザー固有のデータを保存することができます。これはシーンファイルに保存されますので、あとからそのシーンファイルを読み込んでも再現する事ができますので便利ですね。ただし、このカスタムレイヤーを増やし過ぎるとメモリー消費の増大やパフォーマンスの低下を招く原因になりますので、必要のないセレクションセットはこまめに削除していただくことをお勧めします。

Push/Pop/Clearは、選択状態を一時的に保存しておくための簡易的なSelection Setです。名前をつけて選択状態を保存しておくほどではないけれど、一時的に現在の選択状態をどこかに退避しておきたいときに使用します。Modoでは頂点、エッジ、ポリゴンの選択状態は個別に保存されいますので、選択モードを切り替えても元の選択状態を得る事ができます。Blenderでは例えばFaceからVertに選択モードを切り替えると選択されていたFaceを構成するVertが選択に変換されてしまうので、以前のVertの選択状態は変更されてしまいます。選択モードを切り替える時など維持的に現在の選択状態を退避しておきたいときに使用する事ができます。



2025年8月21日木曜日

YT-Tools for Blender (Set Positions)

YT-Toolsのバージョン1.1では、ベンドツールの他に選択した頂点の座標値の成分を指定した値にセットしたり、全体をセンタリングするオペレータを追加いたしました。

選択した頂点のX/Y/Z座標値をしてした値に揃える操作は、サイドバーのItemにあるTransformで値を揃える事ができると思ったのですが、値を入力すると相対的に選択した頂点の成分値がシフトしてしまい、値を揃える事ができませんでした。おそらくBlender流の標準的な良い方法があるのだと思うのですが、見つけられなかったので実装してしまいました。

Set Positionsは、頂点を選択した状態で起動すると実行パネルが表示され、変更を行うX/Y/Zのトグルボタンと入力値を表示します。このデフォルト値は、最後にクリックしたアクティブエレメントの頂点座標値が設定されます。投げ縄などで一括して選択した場合は、選択されている頂点の平均値が設定されます。たとえば、Y軸の値だけをある頂点の位置に揃えたい場合は、そろえたい頂点を先に投げ縄などで選択してから、SHIFTキーを押して基準となる頂点を最後に選択するとその頂点の値がデフォルト値になります。選択した頂点の平均値に値を揃えたい場合は、投げ縄などで一括選択すると選択された頂点の座標値の平均値がデフォルト値に設定されます。ちょっとした事ですが、覚えておくと設定値を手動で入力する一手間を減らす事ができます。



Center Positionsは、選択した頂点のバウンディングボックスを計算し、トグルボタンで指定したX/Y/Zの軸方向に限定して、バウンディングボックスの中心位置が原点に来るように移動します。Set PositionsCenter PositionsもこのX/Y/Zのトグルボタンが縦並びになっていて、ちょっとダサいのです。横並びにする方法が見つかったら将来のバージョンで変更しておきます。