Skip to the content.

YT-Bridge for Blender

概要

YT-Bridge for Blender は BlenderとModoとの間でシーンデータを相互交換するためのツールです。メッシュデータだけでなく、ライトやカメラなどの情報も変換することができます。シーンデータを新しいバージョンのBlenderから古いバージョンのBlenderに変換する目的でも使用することができます。

Blenderのバージョンとインストール方法

Blenderアドオンのインストール

Modoのバージョンとインストール方法

Modoキットのインストール

YT-Tools外部クリップボードとの違い

YT-Bridgeは、YT-Toolsの外部クリップボードの上位バージョンです。YT-Toolsの外部クリップボードがメッシュのポリゴンデータやその他の属性データを一時ファイル経由で変換するのに対し、YT-BridgeはBlenderのオブジェクト(Modoのアイテム)単位でデータを交換します。

  YT-Tools YT-Bridge
データ交換フォーマット JSONテキスト JSONテキスト・msgpackバイナリー
データ交換方法 一時ファイル・OSクリップボード 一時ファイル
名前を付けて保存・読み込み _
オブジェクト座標値
Meshデータ
Curveデータ ○(*1)
Cameraデータ _
Lightデータ _
EMPTYデータ _
Armatureデータ _
StaticMeshデータ _ ○ (*2)
リンクオブジェクト _
Transformアニメーション _
読み込み選択オプション _
マテリアル上書きの可否
読み込み方法の指定 ○(*3)
LightWaveとのデータ交換 _

(1) Blender間でのコピー&ペーストでのみ対応
(
2) ModoのStaticMeshをMeshオブジェクトに変換して出力
(*3) New Object from Clipboardとして新規オブジェクトにペースト

データ交換方法

YT-Tools外部クリップボードでは、中間データを交換する形式としてJSONテキストを使用しています。このJSONテキストデータの交換方法としては、一時ファイルおよびOSが提供するクリップボードをサポートしています。YT-Bridgeでは、中間データ形式をJSONテキストに加えて、よりファイルサイズがコンパクトなバイナリー形式をサポートしています。バイナリーデータは、Pythonのmsgpackを使って内部データをシリアライズしています。バイナリー形式のファイル入出力は一般的にテキスト形式よりも高速ですが、実際の入出力速度は使用する環境に依存します。YT-Bridgeでは、OS提供のクリップボードはサポートしていません。

保存形式はパネルのフォーマットオプションで指定します。

オブジェクトデータのプッシュ(書き出し)

YT-Bridgeのプッシュ操作は、YT-Toolsのコピーに相当し、指定した方法でオブジェクトデータを中間ファイルに保存します。中間ファイルのデータは読み込み先のアプリケーションから手動でプル操作を行う必要があります。YT-Bridgeではアプリケーション間通信を使用した自動読み込み機能は提供していません。

オブジェクトデータのプル(読み込み)

YT-Bridgeのプル操作は、YT-Toolsのペーストに相当し、中間ファイルに保存されているオブジェクトデータを指定した方法でシーンに読み込みます。

名前付きファイルへの保存・読み込み(Export/Import)

YT-Bridgeでは、中間ファイルを一時ファイルとしてOSが提供するフォルダに作成し、アプリケーション間でデータの交換を行っています。Export/Importではこのデータファイルをユーザーが指定したファイル名称で任意のフォルダに保存したり、読み込む機能を提供しています。

データ変換詳細

オブジェクト座標データ

BlenderのオブジェクトとModoのアイテム座標データは、位置座標値、回転座標値、スケール値、回転順序がそれぞれのローカル座標系で出力されれます。Blenderの座標系は右手座標系のZ-Up、Modoの座標系は右手座標系のY-Upです。座標値は中間データファイルから読み込む際に変換されます。また、オブジェクトのペアレンティングの情報も中間ファイルに保存されます。

リンクオブジェクト(インスタンスアイテム)

Modoのインスタンスアイテムは、Blenderのリンクオブジェクトに相互に変換されます。Blenderのリンクオブジェクトは、シーン上で最初のリンクオブジェクトが実オブジェクトとして中間ファイルに保存され、それ以降のリンクオブジェクトがインスタンスとして出力されます。

Mesh Paintで作成したModoのインスタンスアイテムをBlenderのLink Objectに変換

Meshデータ

Meshデータは、BlenderのMeshオブジェクトのMeshデータとModoのMeshアイテムのサーフェイスタイプ(Face,SubD,PSub)のポリゴンデータを交換します。それ以外ポリゴンタイプ(TextやPolyline)は、Meshデータとして交換されません。カーブデータはCurveオブジェクトとして交換されます。
頂点座標値の座標系(Blenderの座標系は右手座標系のZ-Up、Modoの座標系は右手座標系のY-Up)は、中間ファイルからの読み込み時に変換されます。
ModoのStaticMeshは、Meshデータに変更して出力します。

基本的な頂点、ポリゴン情報の他、下記の情報がMeshデータとして交換されます。

Curveデータ

Curveデータは、BlenderのCurveオブジェクトのCurveデータとModoのMeshアイテム内にあるCurve、Bezier Curve、B-Spline Curveが交換されます。ModoのCatmull-Romカーブは、Bezierカーブに変換されて出力されます。BlenderのNURBSは、ModoのB-Splineカーブに変換されて出力されます。ウェイト値は交換されません。

Cameraデータ

Cameraデータは、カメラの画角情報、レンズタイプ(パースペクティブ、並行)、焦点長、DOFの焦点距離が中間ファイルに出力されます。

Lightデータ

Lightデータは、ライトの種類(点、スポット、エリア、指向性)の情報が出力されます。Modoの指向性ライト(Directional Light)は、BlenderのSunライトに変換されます。その他、ライトのカラーおよび強度が出力されます。ModoのIntensityとBlenderのenergyは単位が異なりますが、それぞれのスケールレンジの比率に基づいて係数(40.0)が乗算されます。(Blender energy range (0-200), Modo intensity range (0-5))

Emptyデータ

Emptyデータは、Modoのロケータアイテムとして出力され、BlenderのEMPTYオブジェクトと交換されます。オブジェクト(アイテム)の座標データのみが出力されます。

Armatureデータ

Armatureデータは、Modoのスケルトンとして使用されているロケータアイテムのデータが、BlenderのArmatureオブジェクトのデータに変換されます。Modoのスケルトンを構成するJointアイテムとBlenderのArmatureオブジェクトのBoneはデータ構造が異なるため、複数の分岐がある親子関係の階層構造は完全には変換されません。Modoのスケルトンの先端に位置するアンカーアイテムは出力されず、BoneのTail座標値として出力されます。
ModoのスケルトンはロケータアイテムをJointアイテムとして使用しているため、どのロケータがJointとして使用されているかを判断することが困難な場合があります。YT-Bridgeでは、下記のようなチェックでJointか汎用的なLocatorかを区別しています。

ModoのスケルトンをBlenderのボーンに変換

アニメーションデータ

アニメーションデータは、基本的なオブジェクト(アイテム)の位置、回転、スケールの値がFCurve(Channel)単位もしくは、XYZ座標値単位で交換されます。BlenderのQuaternioの回転データは、Modoではオイラー角度(XYZ)に変換されます。Bake Keyframesが有効の場合は、各フレームで評価されたXYZの座標値が書き出されます。オブジェクト(アイテム)のトランスフォーム以外のアニメーションデータは、サポートされていません。また、スケルトンのボーンのアニメーションデータもサポートされていません。

マテリアルデータ

マテリアルは、基本的なディフューズカラーとラフネスの値が出力されます。テクスチャはディフューズカラー、ノーマルマップおよびラフネスの画像テクスチャが出力されます。それ以外の画像テクスチャも出力されますが、対応するエフェクトが存在しない場合は、シーンに反映されません。基本的にマテリアルはマスターとなる側のアプリケーションで設定されているマテリアルを優先して使用することを前提にしています。Replace Materialsオプションを有効にした時のみ、読み込んだマテリアルで既存のマテリアルを上書きします。
テクスチャのカラースペースは、sRGBとNone-Colorのみが明示的に変換されます。それ以外は各アプリケーションの初期値が設定されます。

モディファイア(デフォーマー)の設定

Setup Armature Modifiers (Setup Skeleton Deformers)を有効にすると、ボーンとVertex Groups(頂点ウェイトマップ)をマッピングするモディファイア(デフォーマー)を中間データ読み込み時にセットしてます。BlenderではArmatureモディファイアが、ModoではGeneral Influenceデフォーマーが設定されます。

変更履歴

v1.0 新規リリース

License

This Blender add-on is licensed under the GNU General Public License v3.0 or later.

You are free to use, modify, and redistribute it under the terms of the GPL license. For details, please see the included LICENSE.txt.