ユニティちゃんをVRMにしてBlenderに読み込む
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

ユニティちゃんをVRMにしてBlenderに読み込む

2019-05-14 01:06
    概要
    ユニティちゃんをBlenderで読み込むのは顔周りのメッシュが問題となり、結構面倒だったりします。既に色々な方法が模索され、公開されていますが、ここであえてVRM経由でBlenderに読み込む方法をご紹介したいと思います。

    準備
    使用ツールとバージョンです。
    Unity(2018.4.0f1)
    UniVRM(0.51)
    Blender(2.79)
    VRM importer(0.5)

    手順
    ①Unityでユニティちゃんのunitypackageをインポート
    ②展開されたfbxからUniVRMでVRMをエクスポート
    ③BlenderにVRM importerでVRMをインポート

    問題
    前述の手順でインポートすると以下のようになります。
    ちなみにテクスチャは、3Dビューのシェーディングをマテリアルにすると表示されます。
    以下はMToonの場合です。

    現象としては「顔周りのメッシュのズレ」と「ボーン構造の不具合」です。
    以下にこの問題の対策を記載します。

    対策
    ①Character1_Head以下のSkinned Mesh Rendererを持つオブジェクトのTransformのPositionを0,0,0に設定(ダミーの親オブジェクトでオフセット)

    具体的な手順は以下を参考にしてください。
    ①ー1対象オブジェクトを複製
    ①ー2複製したオブジェクトの(1)を削除(同名の方が都合が良いです※)
    ①ー3複製したオブジェクトが持つSkinned Mesh Rendererを削除
    ①ー4対象オブジェクトを複製したオブジェクトの子にする
    ※Blenderで読み込んだ際にウェイトペイントが適用された状態になります。
    これで「顔周りのメッシュのズレ」の対策とします。


    ②mesh_root以下のSkinned Mesh RendererのRoot BoneをCharacter1_Referenceに変更

    これで「ボーン構造の不具合」の対策とします。

    結果

    顔周りのメッシュが正しい位置に表示され、ボーン構造も正常であることが確認できます。
    確認のためポーズモードで腕と首を曲げています。

    備考
    BlenderからFBXでエクスポートすればUnityでも表示できることを確認しています。

    ただし、問題と対策はUniVRMとVRM importerのバージョンに深く依存すると思われるため、バージョンが異なればこの通りにはならないことが予想されます。ご注意ください。

    この記事の方法で生成したVRMは以下からDLできます。
    https://1drv.ms/u/s!Ass7Jg1DXnrDgeZidF7tlFIwUHbvzg

    参考
    © Unity Technologies Japan/UCL
    https://icyp.github.io/

    https://www.cg-method.com/entry/blender-import-vrm/
    http://bluebirdofoz.hatenablog.com/entry/2019/04/25/091709
    広告
    コメントを書く
    コメントをするには、
    ログインして下さい。