前回の話の通り、VRoid Studioから出力したVRMファイルをBlenderに持っていき、そこでメッシュの追加やマテリアルの調整などを行うことでボステリ店長のモデル自体は出来ました。…が、そのモデルをBlenderから再度VRMファイルで出力し、Recotte Studioに持っていこうとすると、クラッシュが発生して読み込めないという状況にブチ当たりました。
他のツールでは読み込めているVRMである事、VRoid Studioの公式サンプルAちゃんでも一度Blenderを経由すると同様の現象が起きる事、でも公式サイトには全てのVRMの読み込みを保証するものではない、とある事などから、これは仕様なのか不具合なのかの判断も難しいな、という事でこの点については折角サポートIDもあるので、サポートの方に問い合わせてみました。
で、質問は投げておいて、とりあえず現状どうするか色々検討。やはりUnity環境へ読み込んで再度UnityのVRMでエクスポートするのが可能性あるのかなーと。
Unityに読み込んでみる
Unityの環境自体は以前、OpenCVとか触ってみた時に構築したのがあったので、さっそくテスト読み込み用のプロジェクトを用意して環境自体はすぐ準備出来ました。で、VRMを読み込むのに必要な情報を「UniVRMをインストールする」や「vrm-c/UniVRM」を参考に自分の環境にもインポーターやエクスポータ等を含むUniVRMをインストールしました。
これだけ出来てしまえば後は単純で、BlenderからのVRMをシーンにドラッグドロップし(UniVRMで読み込まれる)、アセットに登録されているモデルを再度UniVRMでエクスポートします。
Recotte Studioで動いた!
Unityからエクスポートしたボステリ店長のVRMファイルを恐る恐るRecotte Studioの話者設定に指定すると・・・今度は読み込めました!どこかちょっとフォーマットが違うんでしょうかねぇ…。
折角読み込めたので、早速軽いサンプル動画を作成してみました。
パピフォンの声はCeVIO AI、ボステリ店長の声はVOICEPEAKを割り当てています。2つの合成音声ソフトを同時に使用していますが、割と違和感無く行けましたね。なお、ボステリ店長、もう少しおっさん声で良かったんですけど、VOICEPEAKはイケメン声しか無くて…(汗
何はともあれ、これで自分のアバターを登場させる、対話動画を作る、という目標は一応達成出来ました。
AHSのサポートさんから返答がありました
実はそんなこんなしてるうちにあっという間にRecotte StudioのサポートをしているAHSさんから返事のメールが届いておりました。全文を公開するようなことはしませんが、要点だけ記載しておきますと、
- 現在、VRMの読み込みに関してはVRoid Studioで検証しており、Blenderを含めそれ以外のツールから出力されたVRMに関しては検証確認は出来ていない
- 現状ではVRoid Studio以外のツールで出力したVRMファイルに関しては非対応という仕様
という事でした。まぁ、概ね、デスヨネーという所ではありますが、回答して頂いた事でモヤモヤせずに済みますね^^;。 そもそもRecotte Studioの3D話者モデルってMMDの方がベースだと思うので、VRMと両対応している時点で色々大変というのは想像に難しくなく…となれば正式なサポート範囲もそんなに広げられないでしょうし。
ただ、最後に一文ありまして、VRMファイルの提供が出来るなら開発元に要望として転送しますよ、と言って頂けました。なんという神対応…。ここはご厚意に甘えてVRMファイルを提出させて頂きました。この場合は僕の変なデータよりはより一般的なデータの方が良いだろうと思って、VRoid Hubに上がっている公式サンプルAちゃんをBlender通したものを同じ現象が起きるのを確認してから提出させて頂きました。
まぁ、あくまでも1ユーザーの要望なので(*1)まったく実装される確約はありませんが、いつかそのまま読めるようになったらUnity通す必要も無くなってスマートで良いなぁと楽しみにしておこうと思います。
と、いい感じに収まった所で、今回はここまでとしたいと思います。次は何しようかな…。
(*1)…とはいえVRoid HubなんかにもBlender等で編集済みのモデルは多いので同じ要望持ってる人は割といそうな気もしたり…。
※2022/06/21追記 Ver 1.6.0.0で修正された模様です!
Recotte Studioが1.6.0.0にアップデートされました。アップデート項目の中に、
【修正】
・一部VRMファイルを読み込んだ際にクラッシュする不具合を修正
という記述!これは試すしかないと思い、恐る恐る今までクラッシュしていたVRMファイルを投入してみたところ…問題無く読み込めました!ありがとうございます!
折角なのでクラッシュしていたデータ達で一本(^^;