2025年10月18日土曜日

YT-Tools for Blender (Clipboard)

YT-Tools for Blender v1.5を公開したしました。今回のアップデートではソフトドラッグを改良し、UVエディタ上のUVマップを編集できるようにしたのと、メッシュエレメントのコピー&ペーストを行うためのクリップボードの実装です。

Modoではツールの設計思想に"Generalize"という概念があって、一つのツールが異なる編集対象に対して、同一の操作性を提供できるように実装されていました。トランスフォームツールやペイントツール、スカルプとツールなど多くのツールはメッシュ、UV、アイテムに対して動作するように作られています。

今回はYT-Toolsで実装したソフトドラッグがUVマップの編集で動作するように改良いたしました。ツールを切り替えることなく、クリックしたビューが3Dビューの場合はメッシュの頂点の編集、UVビューをクリックした場合はUVマップの編集を行います。UVビューでの対称は、U方向をX軸、V方向をY軸に設定して動作するようにしています。UVの対称軸はクリックしたUVの正規化空間(UDIM)によって決定しています。クリックした箇所が(0,0)-(1,1)の空間であれば対称軸が0.5になります。クリックした箇所が(1,0)-(2,1)で対称がU方向の場合は1.5が対称軸になります。


コピー&ペーストを行うためのアドオンは他にも公開されているようですが、YT-Toolsで実装して欲しいとの要望がありましたので、v1.5で実装いたしました。YT-ToolsのクリップボードはモデリングワークフローのサブツールとしてEdit Modeでのみ動作し、メッシュのポリゴン、エッジ、頂点のコピー&ペーストに特化しています。ポリゴンを選択しCopyボタンを押すと選択したポリゴンがクリップボードの内部メッシュにコピーされます。Pasteボタンを押すとコピーされたポリゴンがアクティブメッシュに貼り付けられます。アクティブメッシュはコピー元のメッシュでも別のメッシュでも構いません。クリップボードのデータは次回またコピーを行うまで保存されます。クリップボードにはポリゴンの基本データの他に下記のような属性もコピーされます。
  • マテリアル
  • UVマップ、頂点カラー、シェイプキー
  • エッジクリース、スムース、シーム、Freestyle
  • 頂点ウェイト(頂点グループ)
"クリップボードから新規メッシュ作成"というボタンは、澤田さんからいただいたアイディアで、新しいメッシュオブジェクトを作成した後に、そこにクリップボードのデータを貼り付けます。macOSのプレビューといアプリにある"クリップボードから新規作成"というメニューと同じ感覚で使うことができます。作業中のメッシュの一部分を別のメッシュオブジェクトに分離したい時の手間暇が少し改善されると思います。







2025年10月7日火曜日

YT-Tools for Blender (日本語UI)

YT-Tools for Blenderv1.4.1を公開いたしました。今回のバージョンではUIの日本語化を行っています。Blenderのプリファレンスのインターフェイスタブで言語を日本語に設定するとYT-ToolsのUIが日本語に変わります。



Blenderには、内部に翻訳辞書というものがあり、言語を日本語などに設定するとアドオンなどのメニューもこの翻訳辞書に存在する用語は自動的に翻訳されたテキストが表示されます。従って多言語化を考えずにアドオンを作ると部分的にローカライズされたUIが表示されてしまいます。翻訳テキストはグローバルな辞書にも登録できますし、アドオンの独自のカテゴリでのみ使用するローカルな辞書として登録する方法もあります。なぜかマウスカーソルを重ねた時に表示される文字列はグローバル辞書でないと翻訳文字列が表示されなかったりなど、まだ謎の仕様があります。ベターなアドオン翻訳のためにもう少し調査が必要なようです。



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にテキストを表示するスクリーンの位置やテキストの大きさを調整するオプションがありますので、ご使用環境に合わせて調整してみてください。