PmxIO for Maya ver0.50b

投稿者: | 2017/05/11

Maya用スクリプト、PmxIO for Mayaを配布します。
PmxIOはMMD(MikuMikuDance)用モデルデータ、PMXファイルをMayaで読み書きする為のスクリプトです。

スクリーンショット

ダウンロード

PmxIO_for_Maya_v0.50b.zip (100.5 KB)

インストール方法

  1. ダウンロードしたZipを解凍してください。

  2. 解凍した中に入っているpmxioフォルダを任意のフォルダに移動します。
    移動先のフォルダは何処でも良いのですが、Pythonパスを通す必要があります。
    一般的にはMayaのスクリプトフォルダ等がよく使われます。
    ../Documents/maya/2017/ja_JP/scripts

  3. コピー先のフォルダ(pmxioの一つ上のフォルダ)にPythonパスを通します。
    Pythonパスの通し方はネットで調べれば色々とやり方がヒットしますが、ここでWindows7での設定方法を紹介しています。

  4. Pythonパスの設定が終わったら、OKを押して設定画面を全て閉じ、Mayaを起動します。

  5. Mayaのコマンドシェルフに以下のPythonコードを登録します。

import pmxio
pmxio.run()

シェルフボタンをクリックして、無事PmxIOが起動すれば完了です。

仕様

以下は主にver0.11aでの仕様になります。
最新版のver0.50bの仕様については追々追加していきます。

また、動作はMaya2017日本語版にて確認しています。

インポーター

区分 説明
ファイルタイプ PMX / PMD
一部の特殊なデータ(グループモーフ等)を持ったファイルは、
読み込めない事があります。その場合、該当するデータを
PMX Editor等で削除することで読み込めるようになります。
メッシュ 頂点座標、法線、UV1の読み込み(UV2~4は非対応)
ボーン 全て通常ボーンとして読み込み
スキンウェイト BDEF1~4対応
SDEFはBDEF2扱い
QDEFは非対応
マテリアル Blinnとして読み込み
テクスチャ カラーマップのみサポート
「アルファを接続」にチェックを入れた場合、
アルファを持ったテクスチャをマテリアルのtransparencyに接続する
その他 PMX内で使用される名前及びコメントを追加のアトリビュートとして取得

エクスポーター

区分 説明
ファイルタイプ PMXのみ
メッシュ 頂点座標、法線、カレントUVの出力(UV1)
四角形以上のフェースは三角形に分割
頂点フェースを自動的に個々の頂点として分離(MMDが頂点フェースに対応してない為)
現時点では常にWorld座標として出力
ボーン 選択メッシュにバインドされたボーンを自動的に出力
スキンウェイト ウェイト数に応じてBDEF1~4として出力
ウェイト数が5以上だった場合、値の小さい方から切り捨てて正規化
マテリアル BlinnまたはLambertに対応
テクスチャ カラーマップのみサポート
モーフ ベースメッシュ名をプリフィックスに持つ名前のメッシュをモーフとして扱う
例) ベース: Face モーフ: FaceSmile1
ベースとモーフメッシュの頂点数は一致している必要がある
その他 各ノードの追加のアトリビュートに設定された名前及びコメントを出力
Jp Name: 日本語名
En Name: 英語名
Notes: コメント

謝辞

最後に、PmxIOはPythonライブラリPyMeshIOを使用して作成しています。
また、配布するパッケージ内にPyMeshIOのソースコードを同梱しています。
素晴らしいライブラリを作成してくださった作者様にこの場を借りてお礼申し上げます。
MeshIOプロジェクト

PmxIO for Maya ver0.50b」への12件のフィードバック

  1. リッツ

    ツイッターで連絡させていただきましたリッツです。

    こちらのツールについて、更新楽しみにしておりました。
    誠にありがとうございます。
    MMDをmayaと互換性を持たせることで3DCGに興味のある。専門学生や大学生などの3Dアニメーターが直面するモデル不足に対しての解決や、
    ハードルをグッと下げて頂けると、僕自身感じており、とても感謝しております。

    ありがとうございました。

    返信
    1. Yomogi 投稿作成者

      こちらこそ、使って頂いてありがとうございます!
      要望とかも可能な範囲で受け付けますので、何かあったらご連絡ください。

      返信
  2. 専門学校CG科学生です。
    おかげさまで私の作品と他人の作品と比べて学んでいます。
    ありがとうございます。

    返信
    1. Yomogi 投稿作成者

      コメント有り難うございます!
      そう言って貰えると作って良かったと思えます。
      ありがとうございます!

      返信
  3. はらん

    MMDモデルをMayaで開く方法を調べていて、いまいち理解できず困っていたところ知恵袋からこちらのブログに飛んできました!
    Pythonパスというものを設定しないといけなかったんですね(;´・ω・)
    あなた様のおかげでまた一つ賢くなれました(`・ω・´)b
    掲載ありがとうございました。

    返信
    1. Yomogi 投稿作成者

      コメント有り難うございます!
      知恵袋・・・でしょうか。どんな質問だったか気になります。
      何はともあれ、お役に立てて幸いです!

      返信
  4. MMDer

    アップデートありがとうございます!!
    モーフ対応待ち望んでいました。
    とても助かります。

    本当にありがとうございました。

    返信
    1. Yomogi 投稿作成者

      コメント有り難うございます!
      ちゃんと動いていれば良いのですが・・・
      動いてなかったら教えてください!

      返信
  5. 弐等兵

    ああ、2ヵ月遅れでしたがようやく更新に気づくことができました、ありがとうございます!
    あなたの作ったツールのお陰でmayaでモデルを作り、MMDに送り出すことができました、感謝してもしきれません。

    返信
    1. Yomogi 投稿作成者

      コメント有り難うございます!
      こちらも、スクリプトを使って貰えて嬉しいです。
      使っていて、何かバグなどありましたら教えてください。

      返信
  6. 匿名

    import pmxio
    pmxio.run()
    # pymel.internal.factories : MFnDagNode.model is deprecated
    # pymel.core : Updating pymel with pre-loaded plugins: Fur, modelingToolkit, OpenEXRLoader, DirectConnect, AbcImport, mayaHIK, ikSpringSolver, tiffFloatReader, AbcExport, VectorRender, ArubaTessellator, quatNodes, mayaCharacterization, gpuCache, rotateHelper, Substance, MayaMuscle, AutodeskPacketFile, autoLoader, retargeterNodes, fbxmaya, matrixNodes, sceneAssembly, ik2Bsolver
    # 警告: pymel.internal.factories : could not create a PyNode for manipulator type nexManip #
    # エラー: AttributeError: file C:\Users\(アカウント名)\Documents\maya\2014-x64\ja_JP\scripts\pmxio\gui.py line 173: ‘CheckBox’ object has no attribute ‘setChangeCommand’ #

    フォルダの配置や「http://trtools.jp/windows/windows7-pythonpath/」を参照しても、上記のエラーしか出ず、起動出来ません。maya 2014(学生版)、Win8.1といった環境で、このスクリプトは使用できないのですか?

    返信
    1. 匿名

      maya 2015(学生版)、Win8.1で無事開くことができました。maya2014以前には対応してなかったみたいですね…。
      ありがとうございます。

      返信

コメントを残す

メールアドレスが公開されることはありません。