ラベル Blender の投稿を表示しています。 すべての投稿を表示
ラベル Blender の投稿を表示しています。 すべての投稿を表示

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年5月22日金曜日

YT-Tools for Blender (X-Ray Lasso Selection)

YT-Tools for Blender v1.8.5をリリースいたしました。このバージョンでは、いくつかのバグ修正の他、以前からリクエストがあったX-Ray Lasso Selectionを追加しています。

X-Ray Lasso Selectionは、投げ縄選択で選択範囲内にある全ての頂点をシェーディングモードにかかわらず選択する機能です。BlednerのBox選択や投げ縄選択では、ビューポートがソリッドシェーディングだった場合は、前面のポリゴンに隠れている頂点は選択されません。シェーディングモードがX-Rayの場合のみ、選択内の頂点が表示されるため範囲内の全ての頂点が選択されます。これを解決するためにX-Ray Selection Toolというアドオンもリリースされています。



Modoの投げ縄選択も同じ仕様になっていますが、マウスの中ボタンを使った投げ縄選択では、選択範囲内の頂点が選択されるようになっています。YT-Toolsでこの中マウスボタンを使った投げ縄選択のワークフローを再現するために、新しく独自のLasso Selectionツールを追加しました。通常、マウスボタンには重要な機能がアサインされている場合が多いため、デフォルトでこの機能は無効にしてあります。また、デフォルトのマウスボタンはAltキー+右マウスボタンに設定しています。Modoのビューポートナビゲーション(Alt+左ますすボタン)を使用されている場合は、中マウスボタンにX-Ray Lasso Selectionをアサインして使うことも可能です。



投げ縄のスタイルはModoと同じように通常の投げ縄の他、矩形、円、楕円もサポートしています。また、Blenderの対称を参照していますので、メッシュのローカル座標系での対称選択もサポートしてます。


ただし、Blenderでは選択されている頂点や面はソリッドのシェーディングモードで前面にある面に隠されて表示されないため、ビューポートを回転して選択状態を確認する必要があります。Modoでは選択エレメントは通常のメッシュの表示と異なる描画レイヤーで表示されるため背面にあっても表示されます。この制限は他のBlenderのユーザーの方からも要望が登録されているようですので、将来のBlenderのアップデートに期待しましょう。

2026年4月21日火曜日

YT-Bridge for Blender and Modo (Curve)

カーブとサーフェイスポリゴンが混在するメッシュを出力すると、カーブだけが優先されてしまう問題を解決したYT-Bridge for Modo v1.0.1をリリースいたしました。

ModoとBlenderとではカーブの取り扱いが異なっています。Modoはさまざまなエレメントがポリゴンとして取り扱われていて同一のメッシュに異なるタイプのポリゴンを混在して存在することが許されています。Modoでは面ポリゴン、ポリライン、カーブ、サブディビジョンサーフェイス、テキストなども異なるタイプのポリゴンとして取り扱われます。これに対してBlenderでは、MESHオブジェクトには面ポリゴンのみが保存される仕様になっています。カーブやテキストは異なるタイプのオブジェクトとして保存する仕様です。Modoの仕様はユーザーの自由度が高い反面、開発者の立場からはメッシュに混在するさまざまな種類のポリゴンに対応できるようにツールを開発する必要があるのでちょっと大変です。

YT-Bridge for Modo v1.0.1では、Modoのメッシュの中に面ポリゴンとカーブが混在していた場合、MESHオブジェクトとCURVEオブジェクトに分けてそれぞれのデータを出力するように変更いたしました。

Blenderのカーブの種類がベジェ曲線、NURBS曲線であるのに対し、ModoはCatmull-Romスプライン、ベジェ曲線、Bスプライン曲線をサポートしています。カーブデータの交換は下記のような方法で行なっています。ModoではNURBS曲線をサポートしていませんので、Bスプラインに変換する際には、NURBS曲線のウェイトデータは失われます。

ModoからBlenderへ

  • ベジェ曲線: ベジェ曲線へ変換
  • Bスプライン曲線: NURBS曲線へ変換
  • Catmull-Romスプライン: ベジェ曲線へ変換
BlenderからModoへ

  • ベジェ曲線: ベジェ曲線へ変換
  • NURBS曲線: Bスプライン曲線へ変換(ウェイトを持たないユニフォームBスプライン)



2026年4月17日金曜日

YT-Bridge for Blender and Modo

YT-Bridge for Blender and ModoGumroadオンラインストアでリリースいたしました。このツールは、BlenderとModoの間でシーンデータを双方向に交換するためのブリッジツールです。

YT-Toolsには、External Clipboardという機能があり、BlenderとModoやLightWaveの間でメッシュデータをコピペすることができます。これはもともとYT-ToolsでBlenderの中だけでModoライクなコピペを行うためのクリップボードを拡張したもので、設計上ポリゴンやメッシュ属性以外への拡張には無理がありました。YT-ToolsのExternal Clipboardをリリースしてから、カメラやライトなどの他のシーンデータも転送して欲しいとのリクエストに対応するため、ブリッジツールを一から設計し直したのがYT-Bridgeです。

下記がYT-BridgeとYT-ToolsのExternal Clipboardでできることの違いです。


YT-Bridgeは、YT-Toolsと同様に外部ファイルを経由して、データを転送しまします。プッシュ操作で指定したアイテムの情報を外部ファイルに出力し、読み込みを行うアプリ側でプル操作を実行して外部ファイルに出力されてデータを読み込みます。YT-Bridgeでは手動のプッシュ・プル操作でデータの転送を行うフローにしています。IPCなどのアプリケーション間通信を使った自動転送も検討しまいしたが、セットアップの煩雑さや通信トラブルが想定されることから、シンプルに手動でプッシュ・プルするやり方にいたしました。


また、YT-Tools External Clipboardでは、転送速度の向上を期待してOSのクリップボードを経由する方法も選択できるようにしていましたが、転送速度が逆に遅くなったり転送サイズに上限があったりなどメリットが少ないためこれは廃止しました。そのかわり内部データをmsgpackを使ってバイナリーでシリアライズするオプションを用意いたしました。JSONのテキスト形式よりも外部ファイルのサイズが小さくなるためバイナリ形式の方が転送が高速になる場合があります。

想定している主なワークフローは、Blender上のシーンをマスターとしてメッシュデータなどをModoに転送し、モデリングの修正などを行い、修正データをBlenderにプッシュして書き戻すというフローです。Blenderから修正データをプル操作でシーン上の同名のオブジェクトに上書きする際に、念の為シーン上の上書き前のオブジェクトのバックアップと取っておきたい場合があると思います。Duplicate and Replace Objectsを有効にしておくと上書きするオブジェクトの複製を作成したのち、上書きを実行します。

データ変換の詳細に関しては、YT-Bridgeのドキュメントを参照していただきたいと思いますが、YT-BridgeではModoのインスタンスアイテムをBlenderのリンク複製に変換しています。ModoのインスタンスとBlenderのリンク複製はほぼ同じ目的を実現する機能なのですが、Modoのインスタンスアイテムが実体を持つアイテムをソースとして参照しているのに対し、Blenderのリンク複製は共通の(MESHなどの)データを複数のオブジェクトが同等レベルで共有しているという違いがあります。この辺りはアプリケーションのデザインの違いからかくるもので大変興味深いです。

ModoのMesh Paintで作成したインスタンスアイテムをBlenderのリンク複製に変換

アニメーションに関しては、基本的なアイテムのトランスフォームのアニメーションを転送することができます。Bake Keyframesを有効にすると各フレームにキーを追加してキーフレームを追加します。キーの値はチャンネル単位ではなくXYZの座標値単位で出力しています。Modoはチャンネル単位にマテリアルの属性なども時系列のアニメーションを作成することができますが。YT-Bridgeではサポートしていません。またスケルトンのボーンのアニメーションもサポートしてません。

Modoのスケルトンは、BlenderのArmatureのボーンに変換しています。Modoのスケルトンは、ロケータアイテムをJointとして使用しているのに対し、BlenderはArmatureオブジェクトのボーンデータとして管理しているため、100%スケルトンの構成を移行することはできません。Blenderの各ボーンはHeadとTailの2つの座標値を個別に管理しているのに対し、Modoのスケルトンはロケータの親子関係だけでボーンのリンクを構成しています。したがって親子関係の分岐が複雑な構成の場合は、ボーンの構造が異なってしまう場合があります。



GumroadのオンラインストアでYT-Bridge購入時にご利用いただけるクーポンコード(20 % オフ)を用意いたしました(2026年4月30日まで有効)。ご購入の際は是非ご利用ください。🙇

Coupon Code: FICI02T


2026年3月7日土曜日

YT-Tools for Blender (Undo / Redo)

YT-Tools for Blender v1.8.2を公開いたしました。このバージョンでは、v1.8リリース後に頂いたユーザーの方々からのフィードバックに基づいた幾つかのマイナーチェンジを行なっています。

Undo/Redo

基本的にBlenderのオペレータでできるUndoは、変更後の状態をオペレータ実行前の状態に戻すことだけです。したがってモーダル中に動作した操作を一つ前に戻したりするツール実行中のUndo/Redoは、アドオンが自分で面倒を見る必要があります。ModoではツールシステムのレベルでUndo/Redoをサポートしていたので、考える必要がありませんでした。v1.8.2では、下記のトランスフォームツールとウェイトツールでUndo/Redoが使えるように変更を加えています。Edge Sliceなどのトポロジーを変更するツールは、もう少し工夫が必要なので要望に応じて今後またトライしてみたいと思います。

  • Linear Transform
  • Radial Transform
  • Bend Transform
  • Linear Weight
  • Radial Weight

ループスライスの改善

Modoのループスライスでは、複数のエッジを選択して別々のループを同時にスライスすることができましたが、Blenderのループスライスではこれができていませんでした。v1.8.2では、エッジを複数選択して同時に複数のループをスライスすることができます。

選択セットの改善

小さな変更ですが、選択セットで保存した選択を選択状態にするとき、今までは現在の選択状態に追加するように選択セットの情報を選択していました。現在の選択を選択セットの情報と置き換えたい場合は、画面をワンクリックして現在の選択を解除する必要がありました。この一手間を省略できるようにv1.8.2では、選択(置換)というボタンを追加しています。

YT-Tools for Blenderに関する、バグ報告やリクエストはこちらのフォームからお受けしております。皆様のフィードバックをお待ちしております。🙇

2026年2月16日月曜日

Attribute Manager for Blender (Expression)

Attribute Manager for Blender v1.3をリリースいたしました。このバージョンでは、BlenderのAttributeタブにあるAttribute Listと同等のリストを組み込み込んだのとApply to All Rowsを算術演算をベースに値の編集ができるように拡張いたしました。

Attribute List

Attribute Listは、BlenderのDataタブにあるAttributeを表示するリストと同様の機能を持つリストで、エッジクリースやベベルウェイトなどの基本的なアトリビュートに加え、ユーザーが定義したアトリビュートも表示されます。編集したいアトリビュートを選択して、Set Attributeボタンを押すと、そのアトリビュートが編集テーブルに読み込まれます。Blender APIの制限からサポートしているデータタイプは、Int, Float, Float Vector, Bool, Stringに限定されます。

Attribute Listの右側にある+ボタン、ーボタンは任意のアトリビュートを追加したり、削除したりするために使用します。

Vertex、Edge、Face、Face Cornerの各モードには、Otherという名称のチェックボタンが追加されています。これを有効にすると各モードで編集可能なその他のアトリビュートの一覧が表示されます。Attribute Listを使用しなくてもこちらから任意のアトリビュートを選択して、編集することも可能です。


Expression

Expressionは、Apply to All Rowsでできることを拡張して、算術式を使って編集テーブルのセルの値を編集する機能です。v1.2までは、アクティブなセルの値を他の全ての行の指定した項目の値をコピーするだけでしたが、Expressionを使用するとより自由度の高い編集を行うことができます。例えばセルの値に1.0という値を加算したい場合は、フィールドに"+1.0"を入力してApply to All Rowsボタンを押せば、全ての行のセルに一律に+1.0が加算されます。数値演算が基本の機能ですので、実数値(Float)のみがExpressionの対象データタイプです。下記のような変数も用意していますので、これらを算術式に組み込んだ編集が可能です。

  • $active : 現在選択されている行の指定した項目(セル)の値
  • $value : 計算対象となる行の指定した項目(セル)の値
  • $min_value : 全ての行の指定した項目(セル)の最小値
  • $max_value : 全ての行の指定した項目(セル)の最大値

今までと同じようにアクティブなセルの値をコピーしたい場合は、$activeをフィールドにセットし、Apply to All Rowsボタンを押せばOKです。Pythonのmathモジュールもサポートしていますので、四則演算に加えて様々な数値演算の関数が利用可能です。

使用例1:全ての行の各値を現在選択されているセルの値に設定する

$active

使用例2:全ての行の各値に一律に2.0を加える(現在の値に四則演算する場合は、最初の$valueを省略することができます。)

$value + 2.0 もしくは + 2.0

使用例3:全ての行の各値を全ての行の中の最小値に設定する

$min_value

使用例4:全ての行の各値を全ての行の中の最小値と最大値の中間値に設定する

($min_value + $max_value) / 2.0

使用例5:行の値を指定した範囲内(0.0 ~ 1.0)に制限する

clamp($value, 0.0, 1.0)

使用例6:全ての行の各値の平方根を設定する

math.sqrt($value)

使用例7:全ての行の各値に10.0°をラジアンに変換して加える

+ math.radians(10.0)

X座標値の最小値と最大値の中間値を計算し、全ての行のX座標値にセットする。

編集テーブル内のオブジェクトのZ座標値に+0.5を一律に加算する


2026年2月9日月曜日

Attribute Manager for Blender 紹介ビデオ

YT-Tools for Blenderの紹介ビデオを作ってくださった平八郎屋さんがAttribute Manager for Blenderの紹介ビデオを作ってくれました。🙇

このビデオでは、Attribute Manager for Blenderの頂点や面の属性を編集テーブルで操作する方法やオブジェクトのトランスフォーム情報を編集する操作方法がわかりやすく解説されています。ありがとうございました。😊


 Attribute Manager for Blenderには、まだ機能拡張する潜在的なアイディアがありそうです。ご要望などがございましたらこちらのフォームからお願いいたします。🙇

2026年2月6日金曜日

Attribute Manager for Blender (Modifier)

Attribute Manager for Blender v1.2をリリースいたしました。このバージョンではObjectモードのサブモードとしてモディファイアの編集を行うことができます。シーン内の各オブジェクトに追加されているモディファイアの一覧を編集テーブルで表示し、RenderやViewportなどの各表示属性をまとめて変更することができます。

表示の順番はオブジェクトに追加されているモディファイアを順番に表示するモードに加えて、各モディファイアタイプでソートして、そのタイプのモディファイアを追加しているオブジェクトの一覧を順番に表示するモードがあります。

また、Auto Expandを有効にし、編集テーブルの行を選択すると、BlenderのModifierタブにある該当するモディファイアだけが展開して表示されます。シーンないのモディファイアのプロパティを順番に確認したい時にも便利に使うことができます。



Apply to All Rowsを項目にPropertiesを選択して実行すると現在選択されている行のモディファイアの全てのプロパティをそのモディファイアと同じタイプの他のモディファイアにコピーすることができます。例えばSubdivide Modiferの分割レベルやタイプを一括して変更したいときなどに役に立ちます。


v1.2では、その他にもちょっとした改良を行なっています。オブジェクトモードで行を選択すると選択したオブジェクトがシーン上で選択状態になります。また、編集テーブルのセルの値を変更するとそのセルの項目がApply to All Rowsに適用する項目に設定されます。Attribute Manager for Blenderは、作業効率を向上させるためのツールですので、これからも1つでも手間を減らすことができそうな細かな改良を行なっていこうと思います。

Attribute Manager for Blenderには、まだ機能拡張する潜在的なアイディアがありそうです。ご要望などがございましたらこちらのフォームからお願いいたします。🙇

2026年1月31日土曜日

Attribute Manager for Blender (Face Corner)

Attribute Manager for Blenderのバージョン1.1をリリースいたしました。最初のリリース後にいただいたアイディアを盛り込んでみました。さまざまな有益なご指摘ありがとうございました。v1.1のリリースの詳細はこちらからご覧ください。

面コーナーデータの編集

BlenderのUV値Color Attribute (CORNER)は、面の各コーナーの頂点に属しているデータです。例えば四角形が4つあれば、4x4 = 16のデータが独立して保存されています。Modoでは、UVなどはDiscontinuous Vertex Mapとして保存されていています。似たような形式ですが、まず頂点の値としてContinuous値が保存され、その値と異なるUV値は頂点ー面に関連付けれらたDiscontinuous値として保存されます。これによりコンパクトにUV値を保存することが可能です。それ以外は同じように取り扱うことができます。

UV値などの面コーナーに付随する値を編集テーブルで少しでも直感的に編集しやすくするために下記の点を考慮いたしました。

編集テーブルでの表示順を、各面を構成する頂点を順番に表示するFace - Vertexモードと、頂点にフォーカスし、頂点にリンクされている面に付随する値を順番に表示するVertex - Faceモードを用意したしました。

Shared Vertexモードは、1つの頂点で同じ値を持つ面コーナーの値を同時に編集するためのモードです。同一頂点で同じ値を持つ面コーナーの値は一つだけ表示されます。UVマップ上のトポロジーを変更せずに編集を行いたい場合は、このオプションを有効にする必要があります。ModoのTear Offのように面コーナーの値を切り離したい場合は、このオプションをオフにすると面コーナーの値を独立して編集することができます。Blenderでは、Sticky Selection Modeという設定がUVエディタにあって、これをShared Vertexにすることによって同時編集を可能にしています。


また、Color Attribute編集で便利なように、Show Colorsボタンをつけました。これを有効にすると3Dビュー上のモデルが現在選択されているColor Attributeの頂点カラーで表示されます。これはObject Mode の「Viewport Shading」にあるObject ColorをアドオンからAttributeに設定しているだけですので、3D Viewを変更した場合は再設定する必要があります。



2026年1月24日土曜日

Attribute Manager for Blender

Attribute Manager for Blenderの販売をGumroadオンラインストアで開始いたしました。Attribute Managerは、メッシュの頂点、エッジ、ポリゴンの座標値や様々な属性をスプレッドシートインターフェイス上で編集するためのBlenderのアドオンです。頂点座標値やウェイト値などを正確に設定したり、同じ値をその他のエレメントに一括して編集することができます。また、メッシュのエレメントだけでなく、オブジェクトのトランスフォームや可視性などの属性やカメラやライトなどの固有の属性も編集することができます。

このツールの構想と開発は昨年から進めていたのですが、今回ようやくリリースすることができました。

発売記念セールとしてAttribute Manager for Blenderを$5オフの$15で購入できるクーポンをご用意させていただきました。下記のクーポンコードを会計時に入力していただくか、クーポンコード適応済みのリンクから$15で購入していただけます。クーポンの有効期限は2月28日までです。よろしくお願いいたします。🙇

Coupon code: CTRX7JT

使い方はシンプルでサイドバーからAttribute Managerのタブを選択し、頂点やエッジを選択してから、Correct Selectedボタンを押すと編集テーブルに選択したエレメントが読み込まれます。編集したい属性のトグルボタンをオンにすると項目がテーブルの横軸に追加されますので、あとは各セルのデータを変更すればリアルタイムでシーン上の値が更新されます。

指定したセルと同じ値を他の行の要素の値に設定するには、元となるセルの行を選択し(青色で表示されます)、パネル左下のプルダウンからコピーしたい項目を選択してから、Apply to All Rowsボタンを押せば、セルの値が他の行の指定した項目にコピーされます。

頂点モードでは、頂点やShape Keysの座標値をローカルもしくはグローバルで表示・編集できます。たとえばYT-Tools for BlenderのWorkplaneと組み合わせて、作業平面上のXYZ座標値で頂点の値を同じ値に揃える使い方などができます。


エッジモードでは、クリースやスムースに加えて、エッジの長さを変更することも可能です。


オブジェクトモードでは、位置、スケール、回転などのトランスフォームや可視性などのオブジェクトに共通の属性に加え、カメラやライト固有の属性も編集することができます。また、オブジェクトモードではオブジェクトの名称も一括して編集することも可能で、Apply to All Rowsを使って他のオブジェクトに同じ名称を設定した場合、Blenderが自動的に同じ名称のオブジェクトに対して連番を付加します。


このツールはさまざまな用途に対応しながらバージョンアップを続けていこうと考えています。「こんなことができればこんな用途で使えそう」などのアイディアがありましたらこちらのフィードバックフォームからご意見を頂ければ嬉しいです。


2026年1月14日水曜日

YT-Tools for Blenderを使ったショート動画

YT-Tools for Blenderの紹介ビデオを作ってくれた平八郎屋さんがnoteYT-Tools for Blenderを使って制作したビデオを紹介してくれています。同じお題をModoを使って作った場合とBlenderを使って作った場合の両方のビデオをアップしてしてくれています。ModoユーザーがBlenderを使う場合、作業手順などの違いを比較するのに参考になります。YT-Toolsの開発のヒントにもなりそうです。


Modoでのスプーンモデリング

「YT-Tools for Blender」を使ったBlenderでのスプーンモデリング

2026年1月3日土曜日

YT-Tools for Blender (External Clipboard その4)

明けましておめでとうございます。

YT-Tools for Blender v1.7.1で外部クリップボードの機能を少し改善し、下記のようなオプションを追加いたしました。

  • Replace Mesh
  • Replace Material
  • Import Transform 
Replace Meshは、ペースト先のメッシュオブジェクトにメッシュが存在する場合、それを削除してからクリップボードからメッシュをペーストします。基本的には手動で転送先を削除してからペーストするのと同じことを行っています。Blender上のメッシュを修正するためにModoに送ったメッシュを再度Blenderに戻すワークフローの場合はこれを有効にしておくと間違いがないです。

Replace Materialは、ペースト先にあるマテリアルをクリップボード上のマテリアルで上書きしたい場合のみ、有効にします。それ以外は同名のマテリアルがすでに存在していた場合、それを優先し、書き換えは行いません。マテリアル設定をBlenderで行うか、Modoで行うかによって設定が変わります。

Import Transformは、BlenderのオブジェクトもしくはModoのアイテムのトランスフォーム情報をNew Object from Clipboardで新しく作成するオブジェクトのトランスフォームデータに設定します。Modoの座標系はY-Up右手座標系、Blenderの座標系はZ-Up右手座標系ですので、座標系の変換を行っています。また、複数のオブジェクトを同時に転送する場合、オブジェクトの親子関係も同時に設定します。各メッシュオブジェクトの親子階層の間にEMPTYオブジェクト(ロケータアイテム)があった場合は、EMPTYオブジェクト(ロケータアイテム)を追加して対応しています。




また、メッシュのアトリビュート情報として、Hard Edge Markをサポートいたしました。ModoにはHARDEDGE頂点マップがありますので、BlenderのHard Edge Markは、このHARDEDGE頂点マップに変換されます。

2025年12月26日金曜日

YT-Tools for Blender (External Clipboard その3)

YT-Tools for Blender v1.7では、外部クリップボードも更新しています。以前は一つのアクティブメッシュのポリゴンだけがクリップボードにコピーされていましたが、v1.7では全ての選択されているメッシュオブジェクト(アイテム)が同時にすべてコピーされるように改良いたしました。クリップボードには、オブジェクトごとにメッシュ情報が保存されています。Pasteを実行すると現在アクティブになっているメッシュオブジェクトにクリップボードに保存されている全てのオブジェクトのメッシュが貼り付けられます。New Object from Clipboardを実行した場合は、クリップボードに保存されているオブジェクトごとに新しいメッシュオブジェクトが新しく作られ、個別にメッシュが読み込まれます。

また、せっかく汎用的な外部クリップボードの仕組みを作りましたので、LightWave Modelerで動作する外部クリップボードを作ってみました。20年ぶりにLightWaveのプラグインを作ってみましたが、なんとか動作するものを作ることができたみたいです\(^^)/。今回はPythonを使ってCommandSequenceクラスのプラグインを作ってみましたが、Modelerに関してはGlobal Service関数の使い方はそれほど変わっていないので安心しました。ただし、サーフェイスの扱いがノードベースになっていたので従来のLWTextureFuncsからUVマップやテクスチャ画像の情報を取り出すことができませんでした。また、使用できる環境がLightWave 2024だったので、サポートされているPythonのバージョンは2.7です。LightWave 2025では、Python 3.13になったようなので、新しいバージョンで動作するかどうかはまだ確認していません。

今回はなんとなくノリで作ってしまいましたが、LightWave版の外部クリップボードに対する需要があるかどうかノーアイディアです。もし需要があるようでしたら、Layout版の開発なども考えてみたいと思います。リクエストなどフィードバックはこちらのフォームからお願いいたします。



久しぶりにLightWave 3Dを触っていてVertex PaintのAboutメニューをクリックしたら、いまだに "Vertex Paint v3.5.6 ((c) 1998-2005 D-STORM, Inc. by Yoshiaki Tazaki"という表記がでてきてびっくりしました🤭。BandSawやEPSF Loaderなど昔作ったツールがまだ残っているんですね。懐かしい。





2025年12月20日土曜日

YT-Tools for Blender (External Clipboard その2)

YT-Tools for Blenderのv1.6.2とModo Clipboardのv1.0.2を公開いたしました。外部クリップボードの機能を公開した後でユーザーの方から頂いたフィードバックを元にバグ修正と機能追加を行いました。下記のような改善を行っています。

  • 転送速度を改善するためできるだけ無駄なエッジ情報をできるだけ出力しないように変更
  • 選択セットのサポート
  • 頂点カラーのサポート
  • UVシームマークのサポート
選択セットは、Modoの頂点、エッジ、ポリゴンの選択セットをYT-Tools for Blenderに実装したSelection Setと双方向に変換しています。頂点カラーはModoのRGB、RGBAをBlenderのColor Attributesと双方向に変換しています。BlenderのColor Attributesは、PointとFace Cornerのドメインの両方をコピーしていますが、Modoからの出力は全てFace CornerのRGBAデータに変換されます。UVのエッジシームは、"_Seam"という名称のUV Seamマップに変換しています。



Modo ClipboardYT-Tools for Blenderに関するバグやご要望がありましたらこちらのフォームからお願いいたします。




2025年12月11日木曜日

YT-Tools for Blender (External Clipboard)


YT-Tools for Blender v1.6
を公開いたしました。このバージョンでは、v1.5で実装したクリップボードを拡張した外部クリップボードという機能を実装しています。この外部クリップボードを利用することでBlenderとModoの間でメッシュデータの交換が可能になります。Modo側にはこの外部クリップボードに対応したModoClipboardキットを用意しました。


ModoでモデリングしたメッシュポリゴンをこのModoClipboardのCopyコマンドからコピーし、BlenderのYT-ToolsのクリップボードにあるUse External Clipboardを有効にした状態でPasteボタンを押すと、クリップボードに保存されているメッシュデータがBlenderのMeshオブジェクトに貼り付けられます。もちろんBlenderからModoへも同様の操作で転送が可能です。通常のコピペ作業と同じように選択したポリゴンだけでもメッシュの全てのポリゴンでもクリップボードに転送することができます。

転送されるデータは面ポリゴンおよび頂点データの他、下記のような属性データも転送することができます。

  • UVマップデータ(UV Sets)
  • 頂点ウェイトマップ(Vertex Groups)
  • サブディビジョンエッジウェイト(Crease Edge)
  • モーフマップ(Shapekeys)
  • マテリアルデータおよび画像テクスチャ
  • RGB, RGBAマップ(Color Attribute)
  • HardEdgeマップ(Hard Edge Marks)
  • アイテムトランスフォームおよびペアレンティング

マテリアルに関しては基本的なDiffuseColorをBlenderのBasis Colorのみを変換しています。また、BlenderのFreestyle Edgeのマーク情報は、"_Freestyle"という名称でModoのエッジ選択セットに変換しています。

外部クリップボードに転送するデータはメッシュデータをJSON形式のテキストデータに変換して保存しています。クリップボードのタイプをOS Clipboardに変更することで変換したJSONテキストをテキストエディタなどに貼り付けて変換データを閲覧することができます。ただし、OS Clipboardには転送するデータのサイズや転送速度に制限がありますので、通常は一時ファイル経由で使用することをお勧めします。

ModoClipboardキットは、GumroadのほかGithubにも公開していますのでModoのキット形式(.lpk)のパッケージファイルに加えて、Pythonのソースコードも入手することができます。




ModoClipboardもしくはYT-Tools for Blenderに関するリクエストやバグ報告はこちらのフォームからお願いいたします。

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