VMC_MaterialChange
バーチャルモーションキャプチャーでもビートセイバーと同じようにシェーダーを変更したい!を叶えるためのMODです。
ビートセイバーでアバター配信を行う際、「バーチャルモーションキャプチャー」+「VMCAvatar」の組み合わせを使う人が大半になり、「VMCAvatarMaterialChange」の付加機能の[シェーダーをMToon以外にする]というのも使ってくれる人が増えてきた中、【ビートセイバーの画面+バーチャルモーションキャプチャーの画像】を用いて配信を行うと、シェーダーが違うため表現が変わってしまう。という問題が出てきました。
そのため、「バーチャルモーションキャプチャー」の作者sh_akiraさんに相談し、バーチャルモーションキャプチャー本体をMOD対応化して頂くことになりました。
MODの作成コンセプトとしては「ビートセイバーと同じ表現をバーチャルモーションキャプチャーでも出来るようにする」を掲げて作成を始め、ビートセイバー用に実装した機能はすべて、こちらのMODでも出来るように対応しています。
[専用ファイルを共通化]
どちらのアプリケーションでもAssetBundleで出力したものを専用ファイルとして扱い、読み込みをさせています。ですが、ビートセイバーはUnity2019.4.28fで、バーチャルモーションキャプチャーはUnity2019.4.8fで作成されています。
そのため、専用ファイルをUnity2019.4.8fより上のバージョンで作成してしまうとビートセイバーで読み込めるけど、バーチャルモーションキャプチャーでは読み込めないという問題が発生しました。
現在は、ユーザーにUnity2019.4.8fで作成してもらうことで、両方で読み込んでも現状問題ない作りにはなっていますが、Unityに詳しい人に聞くと、「バージョン違いで作成したものがちゃんと動作している保証は無い」とのことなので、ココについては今後の課題になっていきそうです。
[アバターお着替え機能]
こちらの機能については、Animationを追加することで行うことは共通ですが、実はキャリブレーション前の状態にTポーズアニメーションを仕込んでおかないと脱力モーションを基本にキャリブレーションが実行されてしまい、正常に動作しなくなるという問題が有りました。また、状態推移のパラメータを共通化していないことから、共通操作による同期のみで行っているため、今後のアップデートで同期処理を考えなければいけないとは思っています。