一年中こたつ出てる

こたつは最高

【VRChat】複数のアニメーションファイル間で操作するBlendShapeの対象を統一する君を作った

UnityのEditor拡張シリーズ第三段です。

複数のアニメーションファイル間で操作するBlendShapeの対象を統一する君を作りました。

アバターの表情をいじっているときに、表情アニメーション間で操作するBlendShapeが一致していないと、前の表情が残り続け、遷移後の表情と合体して表示されてしまうことがあります。

こんな感じに。

アニメーション間で操作するBlendShapeを統一することで、これを防ぎます。

コードはこちら

複数のアニメーションファイル間で足りないBlendShape操作を補完し、表情が破綻しないように修正できるEditor拡張 · GitHub

動作イメージ

こんな感じで動作します。

さらに、単に0埋めではなく、特定のSkinnedMeshのBlendShapeの値をセットできるので、表情リセット用アニメーションの生成にも使えます。

インストールおよび使い方

作ったものはkb10uyさんの「雑ーる」にいい感じに統合してもらったので、使用したい場合は雑ーるをインストールしてください。
インストール方法や具体的な使用方法はドキュメントを参照ください。

zatools.kb10uy.dev

自分も細々した拡張が増えてきたのでVPMリポジトリが欲しくなってきました…。

余談

今回はほぼ全てをChatGPTに任せ、自分は何一つコーディングせずに完成しました。
このような雑な指示で最初から動くものが出てきました…。

出力されたコードを手元で動かして、あーでもないこーでもないとやり取りして何回も直させていくうちに、欲しい機能が形になりました。形になってきたタイミングで問題点がないか自分自身でテストさせたり、リファクタリングさせたりすることで、かなり良いコードが出てきましたね。

UnityのGUIに関して全く知識がない状態でも、たった半日で欲しいものが完成したのでびっくりしました。 今後も生成AIをうまく使って、欲しいものをどんどん作っていきたいなーと思う一方、ここまでやられちゃうと「仕事がなくなる~~~」とも感じました。

しばらくは生成AIと並走しながら開発していけると思いますが、もし今後、生成AIが最初から完璧なものを出してくるようになったら…その時はどうなるのかな…と少し考えさせられます。