MayaでMikuMikuDanceするためのPythonプラグインです。
- Windows7 64bit(推奨)
- Maya2016(x64)以降
- そこそこのスペックのPC
※ Windows10だとinstall.batが動作しないことを確認しています. Windows10ではinstall.batを読んで手動でインストールして下さい.
- loadmmd
- PMD/PMXファイルの読み込み
- メッシュの構築
- マテリアルの構築/適用
- ボーン/スキニングの設定/適用
- BlendShapeの設定/適用
- Human IKのテンプレートの同梱
- Maya Bulletの適用
- mmdbswindow
- BlendShapeの一覧化
- BlendShape名の日本語表示
- 対象BlendShapeのキーフレームの追加/削除
install.batを実行して下さい. MeCabのインストールが始まりますが,辞書の文字エンコードはUTF-8を指定してください.
MMD Transporterでは,MeCabで日本語文字列を英語に仮変換します.
install.batを管理者権限で実行するとMeCabのインストールが始まります. 使用する辞書は,UTF-8を指定してください.
インストールが終了したら,環境変数MECAB_PATH
を追加します.
MECAB_PATH
には,MeCabのインストールフォルダを指定してください.
[Window]-[Settings/Preferences]-[Plug-in Manager]でプラグイン・マネージャを開いてください. その中に,mayaHIK.mllがあります. mayaHIK.mllのloadedとauto loadにチェックを入れてHuman IKプラグインを読み込んでください.
次に,MMD HumanIK.xmlを次のフォルダへコピーしてください.
%USERPROFILE%\AppData\Roaming\Autodesk\HIKCharacterizationTool4\template
[Window]-[Settings/Preferences]-[Plug-in Manager]でPlug-in Managerを開いてください。その中に、bullet.mllという項目がありますので、LoadedとAuto loadの両方をチェックしてください。
たまに起動時にBulletのプラグインがIndex Out of Range(値が範囲外です)で落ちることがあります。Bulletを扱う上ではそこまで問題にならないと思うのですが、気になる場合は読み直してみてください。
Plugin ManagerでMMD Transporterを登録するか、以下のコマンド(Python)を実行してプラグインとして登録してください。
import maya.cmds
maya.cmds.loadPlugin("mmd-transporterのパス/mmd-transporter.py")
mmd-transporterのパスは,(円マーク,バックスラッシュ)ではなく,/(スラッシュ)に置換してください. また,パスに日本語が含まれていると動作しません. mmd-transporterのフォルダを,英数字のみのフォルダへ移動してください.
Plugin Managerでは、LoadのほかにAuto Loadにもチェックを入れると、プラグインを読み込む操作が省けて便利です。
モデルデータの読み込みは以下のコマンド(MEL/Python)で実行できます。
maya.cmds.loadmmd()
ダイアログが開くのでPMX/PMDを指定します。今のところPMXの読み込みのみ対応しています。UVモーフ、ボーンモーフが設定されているモデルは未対応です。
Human IKとは、Mayaのプラグインの一つです。利点は色々あるのですが、その中でもボーンの共通規格からFull Body IK(FBIK)とリグを自動的に構築できるという点です。FBIKとは、体全体を引っ張るように操作できるIKのことです。
Human IKは[Skeleton]-[Human IK]でペインが生成されます。Character ControlsのDefineからCreateを押すと、Human IKのキャラクターが生成されます。
まず、Human IKで最初にやることは、Defineで各種コントローラの部位とボーンを対応付けることです。MMD Transporterでは、テンプレートを事前に用意してあるため、このテンプレートを読み込むと、自動的に登録が完了します。
読み込んだモデルデータのルートボーンを選択し、Select Hierarchyで全てのボーンを選択してある状態にしてください。
その次にペイン上部のアイコン(Load Skeleton Definition)を押し、TemplateからMMD HumanIKを選んでください。ラジオボタンが二つありますが、そのうち下にあるMatch only selected bonesを選択してください。これでOKボタンを押すと自動的にHuman IKが適用されます。
ただし、MMDではAスタンスが基本となっているため、Human IKの設定は完全に適用されません。腕を水平にすればスケルトンの定義をロックできるようになるので、肩や鎖骨等を弄って全部緑になるように、ボーンの回転角を調整してください。腕を水平にするのは肩の構造上あまりよろしくないため不具合が残る可能性があります。
MMD Transporterでは、日本語を一度ローマ字にしています。これは、Mayaがオブジェクトの名前に英語しか扱えない制約があるためです。そのため、Maya付属のBlend Shape Editorでは、Blend Shape名が全てローマ字になってしまい、たいへん使いづらいです。
そこで、BlendShape用の専用のエディタを作成しました。使い方はBlend Shape Editorとだいたい同じです。MMD Transporterで変換したモデル(transform)を選択し、以下のコマンドを実行することでエディタを呼び出します。
Maya 2016では,デフォルトの設定で透明なオブジェクトを簡易的に表示しています. Maya 2016以前では,カメラの[Shading]-[Polygon Transparency Sorting]で正しく描画することができます. Maya 2016からViewport 2.0が導入されてオプションの位置が変わりました.
カメラの[Renderer]-[Viewport 2.0]のオプションから[Hardware Renderer 2.0 Settings]を開きます. [Performance]パネルから,[Transparency Algorithm]-[Depth Peeling]を選択し,[Transparency Quality]を1.0に設定します. これで,透明なオブジェクトも正常にレンダリングされるようになります.
- MeCab
- 京都大学情報学研究科−日本電信電話株式会社コミュニケーション科学基礎研究所 共同研究ユニットプロジェクト
- BSDライセンス
- pymeshio
- ousttrue
- zlib/png 1.0
- zenhan-py
- ENDOH takanao
GNU GENERAL PUBLIC LICENSE Version 2
本プロジェクトは独立行政法人情報処理推進機構(IPA)の未踏IT人材発掘・育成事業の支援を受けて開発されています。
Eiichi Takebuchi(GRGSIBERIA)