とりあえず今作ろうと思ってるものの報告
今のところMMD Transporterを作っています.はい.
MMD TransporterはなるべくMMDのモデルをMayaに再現しよう,というところでスタートしています.主な機能として下のものがあるのですが,
- メッシュの読み込み
- Human IKの設定
- 読み込んだMMD専用のBlendShapeエディタ
早くも読み込んだMMDのモデルをMayaに特化させようみたいな感じになってます()
IK辺りもIKボーンがイレギュラーなので読み捨てて,HumanIKで全部やって貰う感じになってます.もっと背骨があったり,足の指までボーンが仕込んであったり,中手骨辺りもあったりすれば完璧なのですが.
つま先が足首の先にないので,つま先を曲げるという動作が困難で,とてももにょってます.HumanIK標準でMMDモデルを構築・提案できたらいいのかなぁと思うのですが.
BlendShapeは機能の記事にも書きましたが,デフォルトだと使いづらいので専用のエディタを作りました.最初からドックできるので,メチャクチャ便利です.キーフレームとかはメニューから選択できるようにして,UIを崩さないようにしたいなと思ってます.
で,これから作ろうとしてることは,まずは剛体をなんとかしたいなと.一昨日に剛体を頑張ってMaya Bulletへ移植してみたのですが,MMDの剛体は剛体同士が接触するように作られているので,何もしない状態だと爆発します.位置合わせなんて便利なものがBulletに存在するかどうかわからないので困ってます.
それと,Kinematicな剛体が親ボーンに追従するように作りたいんですけど,ParentConstraintかけると小ボーンが置き去りになってしまって困った…….たぶん,親ボーンの子供に剛体を仕込めば追従すると思うんですが.
剛体自体の優先順位は低いので,場合によってはRagdollを自動的に構築する方法でも悪くないかなって思ってます.
それとUVモーフも実装しなきゃなと思ってます.UVモーフの構造化はpymeshioだとやってないみたいなので,自作してPullRequestでも投げようかなと.材質モーフは十中八九Mayaではできないので対策を考えないとなと.
だいたいloadmmdコマンドで実装しなきゃならないことがこれかなって思います.予定としてはsavemmdコマンドも実装したいです.savemmdではPMXの書き出しとかを考えてます.ただ,書きだすのはいいけれども,トポロジどうするかって問題もあるので悩む.
Mayaは基本的に後戻りの難しい操作はヒストリに蓄積されるので,ヒストリを消さないとオブジェクト本体に反映されない.これを知らない人が誤操作して変換どころか作業が戻ってしまう,というパターンがあったので困った.例えば,SkinBindした後に頂点を編集したりするとTweakに蓄積されたような.もちろんベベルをかけたらヒストリに残るので大変なことになる.
そんなわけで,MMD用のオブジェクトを構築するための支援ツールを用意しないとまずいなと内心思ってる.なんかこう,ツールっぽいツールって言うよりも,チュートリアル風のツールじゃないとアカンかもしれない.順番にやってください,後戻りしたら作業が無駄になりますよ,的な.
やっぱり,Maya触ってるのが一番楽しいなぁ.