PMXIO for Maya リリース

Maya用PMX,PMD読み書きスクリプトが完成しました。

ツール名は使用したライブラリMeshIOから取ってます。
MeshIOはpmxの他にmqo, vmd等にも対応しているのですが、このスクリプトはpmxにしか対応してないのでこの名前になりました。
読み方は分かりません。


現状ではMayaでまともに動くPMXエクスポータはほぼ無かったと思うので、Mayaから直接出力する唯一の選択肢になるかもしれません。

PMXIO インポート PMXIO エクスポート

▼ ダウンロード


▼ Ver0.11α 仕様
ファイルタイプ
インポートPMX / PMD両対応。
エクスポートはPMXのみ。
読み込めるファイルはMeshIOの仕様に準拠。
(ファイルによってはPMX/PMDであっても読み込めない事も。)
ポリゴン
頂点,法線,UV1の入出力。(UV2~4は非対応)
出力時、四角形以上のフェースは自動的に三角形に分割。
出力時、UVの境界、ハードエッジ部分で頂点を自動的に分離。
(MMDが頂点フェース情報を持てない為)
ボーン
入出力共に親子階層のみ保持。
スキンウェイト
入力時BDEF1~4対応。SDEFはBDEF2扱い,QDEFは非対応。
出力時はインフルエンス数に応じてBDEF1~4の何れかに変換。
インフルエンスが5つ以上だった時は小さい値を切り捨て再度正規化。
マテリアル
Blinnに変換。
テクスチャ
カラーマップのみサポート。
その他
複数選択メッシュを自動的に1つのファイルにマージ。
バインドされていないメッシュでも出力可能。
その場合、自動的にボーン0へバインドする。
全体の拡大率の指定可。
Mayaに読み込めないデータの一部を追加のアトリビュートとして記憶。
出力時に、追加のアトリビュートから優先的にデータを取得。

▼ 今後の予定
  • ボーンのローカル軸
  • ネームスペースへの対応
  • ハードエッジの分離ON/OFF
  • ノードのグループ化
  • テクスチャの自動配置
  • テクスチャの拡大縮小
  • テクスチャのファイル形式変換
  • エッジカラーを追加のアトリビュートに取得
  • 頂点単位のエッジ倍率を頂点カラーに取得,設定
  • ボーンの回転,移動付与をコンストレインとして取得
  • IKへの対応
  • 頂点モーフの出力
  • 頂点の差し替えモード
  • 表示枠をセットとして取得
  • プラグイン化
  • ドキュメントの整備
赤色は特に優先度の高い作業です。


▼ インストール
一般的なPythonスクリプトと同じく、起動時にロードして使用します。
  1. mayaスクリプトフォルダに「TrM_PMXIO.py」および「pymeshio」フォルダを丸ごとコピーします。
    mayaスクリプトフォルダの位置は環境によって異なります。
    例えばWindows7 + Maya2014日本語版であれば、
    .../Documents/maya/2014-x64/ja_JP/scripts フォルダになります。
  2. スクリプトフォルダにuserSetup.pyが無ければ新規に作成します。
    (userSetup.pyは空のテキストファイルでOKです。)
  3. userSetup.pyに以下の一文を書き加えます。
    import TrM_PMXIO
  4. Mayaを起動し、以下のコマンドをコマンドラインPythonモードで実行します。
    TrM_PMXIO.startup()

▼ 使い方
■ インポート
設定を入力後インポートを実行します。
倍率
モデルの拡大縮小率を指定します。
透明度マップの接続
シェーダーにカラーテクスチャのTransparencyを接続します。
■ エクスポート
メッシュを選択後エクスポートを実行します。
メッシュは複数選択することもできます。
メッシュがスケルトンにバインドされていた場合、自動的にボーンもエクスポートされます。
倍率
モデルの拡大縮小率を指定します。
PMXIO サンプル
公式 初音ミク ver2

▼ ヒストリ
2013/09/14: Ver0.11α with MeshIO Ver2.7.5 … ファーストリリース。

▼ 謝辞
最後になりますが、この場を借りて素晴らしいライブラリを作成してくださったousttrue様に感謝の言葉をお送り致します。
有難うございました。

MeshIO SOURCEFORGE
関連記事