Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/mamagoto/tmamagoto.com/public_html/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
こんにちは、てすらです。
最近3Dモデリングに挑戦し、VRCHATへ自作アバターをアップロードして楽しんでいます。
今回も新しくモデルを作り、Unityでの作業を進めていたところ、
blenderで作ったはずのシェイプキーがない!!
いろいろ調べてみたものの「シェイプキーが見当たらないときは」みたいな情報がイマイチ発見できず、困り果てたわたしはTwitterで助けを求めました。
今回はその結果得られた、「作ったはずのシェイプキーがないときの確認事項」をまとめます。
初心者のため間違っている情報や曖昧な情報も取り扱っている場合がありますが、その際はご指摘いただけると助かります。
そもそもシェイプキーってなんや?という方はこちらをどうぞ。
目次
「シェイプキーがない」とは
まず、今回起こったことを明確にしておきましょう。
blender側ではシェイプキー(人物では表情差分などに使う設定のようなもの)を確かに作成しているのに、
UnityでVRC用のリップシンクを設定しようとすると
-none-
いやいやnoneじゃないんだよあるはずだよ!!
ということで、ここが今回のつまずきポイントです。
確認事項
このような状況に陥ったとき確認するべきことの情報が、ありがたいことにいくつか集まりましたのでシェアします。
ミラーモディファイアは適用されているか
まずはこれです。
モデルを形作るときに、左右対称に形を作っていけるミラーモディファイアを使用する方が多いと思います。
こちらはUV展開をするくらいの段階で「適用」をして左側のメッシュを実体化させます。
この「適用」もれがあると、シェイプキーがエクスポートされなくなってしまうようです。
シェイプキーを設定したオブジェクトも、していないオブジェクトもすべて適用されているかを確認しましょう。
ひとつでもミラーが残っているとエクスポートされません。
ツールオプションの「Xミラー」のチェックを外す
こちらもミラーです。
が、これはモディファイアではなくツールオプションの方です。
これはメッシュがミラー化されてるのではなく、「左右対称にメッシュを操作する」ためのオプションです。
こちらもチェックがついているとシェイプキーに悪さをするようです。
外しましょう。
シェイプキー作成時にメッシュを動かしていない
そもそもシェイプキーに不具合があるパターンです。
特にVRCHAT用のアバターを作成する際、「sil(真顔)だけが無いんだけど!?」となったりしませんか?
わたしはなりました。
シェイプキーは「ベースからまったくメッシュが動いていないものをエクスポートしない」のだそうです。
つまり真顔だからといってどこも動かしていなかったりすると、そのシェイプキーはエクスポートされません。
ちょっとだけでいいのでどこかを動かしておいて、シェイプキーを作成しましょう。
エクスポート時の設定
FBXファイルとして書き出す時に、画面左下のこの部分に注目してください。
この「モディファイアーを適用」にチェックがついていると、シェイプキーがエクスポートされないようです。
他の部分をどうひっくり返して見ても改善しない!!というときはこちらも見てみてください。
Unityのインポート時の設定
Unity側にも、「シェイプキーをインポートするかどうか」という設定があります。
inspectorのこちらにご注目。
この「Import BlendShapes」にチェックが入っていないと、シェイプキーをインポートしません。
チェックが入っているか確認しましょう。
いやこの画面どこ?って方はここを押してみてくださいね。
まだ解決しないときは
VRCHATでの使用でお悩みの場合は、VRChat JPのdiscordへ参加してみるのもいいかもしれません。
こちらのwikiから参加申請をすることで入れてもらえます。
モデリングやアバターの設定でわからないことは、こちらで質問してみると解決するかもしれません。
ただ、やさしい方が親切で答えてくださっているという前提はお忘れないよう、感謝の気持ちで利用したいですね。
また、blenderでの質問はTwitterのハッシュタグ「#blender質問室」なども活用してみましょう。
それではよき3Dライフを!