LoginSignup
1
1

More than 3 years have passed since last update.

読み込んだVRMファイルがBlendShape.SurprisedやBlendShape.Extraを持っていたらtrueを返す関数を作ってみた

Last updated at Posted at 2020-07-18

VRoid Studioで作ったモデルは、BlendShape.SurprisedとBlendShape.Extraという表情を持っています。VRMはFun、Angry、Sorrow、Joyの4つの表情を基本で持つことになっていますが、それ以外の表情も持つことが出来るからです。

VRoid Studio製モデルが持つこの二つの表情は使い勝手が良いので、できれば使いたい。

そこで、VRMアプリを作るときに、特定の名前の表情(BlendShapeProxy)を持っていたらtrue、持っていなかったらfalseを返す関数を作ってみました。

特定のBlendshapeProxyを持っているかのチェック
using VRM;

// 中略

    public bool DoesItHave(string bsname, GameObject vrm)
    {
        var prx = vrm.GetComponent<VRMBlendShapeProxy>();
        var clips = prx.BlendShapeAvatar.Clips;
        foreach(var c in clips)
        {
            if(c.name == bsname)
            {
                return true;
            }
        }
        return false;
    }

DoesItHave("BlendShape.Surprised", VRM)のように書くと、VRMに入っているGameObjectがその"BlendShape.Surprised"という名前のを持っていればtureを返します。

(※もっと良いやり方があればぜひ教えてください)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1