2026年4月27日月曜日

YT-Bridge for Blender and Modo (Setup)

YT-Bridgeでモーフデフォーマを設定したシーンをBlenderに出力した際に、シェイプキーのBaseが正しく出力されないとの質問をいただきましたので、解決方法をこのブログに記載しておきます。ModoとLightWaveはモーフ、Mayaはブレンドシェイプ、Blenderはシェイプキー。この機能の呼び方はアプリケーションで異なるので混乱してしまいますよね。誰か統一して欲しいものです。

Modoでモーフデフォーマやメッシュオペレータが設定されたメッシュはツール側からは書き込み不可の背景メッシュとして取り扱われます。通常、このメッシュオペレータが追加されたメッシュはオペレータが適用された後の形状が参照され、アニメーションされている場合は現在のフレームで異なる形状が参照されることになります。これは背景メッシュをツールからスナッピングやレイキャストなどで参照するために必要な仕様です。

ただし、YT-Bridgeでこのタイプのメッシュを取り扱う場合、モーフのベースメッシュがデフォーマ適用後のメッシュになってしまうため、他のモーフデータと整合性が取れなくなる場合があります。モーフ以外にもボーンデフォーメーションのセットアップ形状も同じ問題が生じます。

解決方法はとてもシンプルでModoのSetupモードを有効にするボタンを有効にした状態でYT-Bridgeからプッシュ操作をするだけです。YT-Bridgeで独自のオプションを用意することもできますが、仕組みを理解した上で自分でSetupモードで出力するかしないかを決める方がシンプルで簡単な方法だと考えます。デフォーメーション適用後のみたままの形状をそのままBlenderに転送したいケースも多いと思いますので、どちらをデフォルトにするかは目的に依存すると考えます。





YT-BridgeはYT-Toolsの外部クリップボードに満足していない少数の方が利用するとてもニッチな製品ですが、運用を始めるといろいろ問題点や改善点が出てきそうです。バグなどがありましたらフィードバックフォームからお願いいたします。

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