Previous Post

【配布】VRMの表情をTimelineで制御するスクリプト

Next Post
【配布】VRMの表情をTimelineで制御するスクリプト
1 / 4
DESCRIPTION

こんにちは🌟八ツ橋まろんですっ‼


【概要】====================================

Unityでは、ダンスモーションはキャラクターが違っても使いまわせますが、口パクや表情のモーションは使いまわしができません。VRM Blend Shape Overrideを使って口パクや表情モーションを作れば別のVRMキャラクターでも使いまわせるようになります。

========================================


配布スクリプト

Googleドライブでの配布はこちら

https://drive.google.com/drive/folders/125HpfIqsStiaSD71i8FY_ZlrERCYqPNS?usp=share_link


GitHubでの配布はこちら

https://github.com/MaronVtuber/VRMBlendShapeOverride


【まえがき】(読みとばしてもいいよ)

2018年に『VRM』という規格が作られて、これがアバターの統一規格のひとつとして使いやすく、様々なアプリ制作で使われていますね。


UnityではHumanoid構造な3Dモデルは既存のダンスモーション(Humanoidアニメーション)なんかを共通で使いまわすことができます。VRMモデルは全てHumanoid構造なので、どんなVRMモデルをダウンロードしてきても既存のHumanoidアニメーションがそのまま使えます


[画像:Humanoid構造なら同じ動きをしてくれる]



一方で、Unityでキャラクターの表情や口パクなどのブレンドシェイプを動かすアニメーションはHumanoid構造から外れて名前参照のGenericアニメーションになるため、他のアバターと共有はできません。(3Dモデル毎にパラメータの名前が違うため)


[画像:表情アニメーションは共有できない]

VRMモデルには、これを解消すべく「A,I,U,E,O,Fun,Blink」などの表情が定義されていて、これはVRMアバター共通で動かすことができます

[画像:VRMモデルは同じ命令で同じ表情を作れる]


VRMの表情操作は便利ですが、VRMのアバターに付いている『VRM Blend Shape Proxyコンポーネント』にスクリプトで命令して操作しないといけないので、プログラミングの知識が必須で、難易度が高いです。


この敷居を下げて、いろんな人が表情操作できるようになると良いなと思い、

『TimelineでVRMの表情を操作できるようになるTimeline拡張スクリプト』

を作成しました。

※Timelineって何?という人は八ツ橋まろんのYouTube動画を見てね


<<ここまでの簡易まとめ>>

・UnityではHumanoid構造のダンスモーションは使いまわせる

・Unityでは表情&口パクアニメーションは名前参照なので使いまわせない

・VRMを使えばアバター共通で表情&口パクデータを使いまわせるかも

・VRMの表情&口パクは映像制作で使うTimelineに対応していない

・VRMの表情&口パクをTimelineで操作できる拡張スクリプトを作った


例えば、一般に配布されているダンスモーションを使って動画を作りたい時、やはり表情や口パクも添えたいものですが、そう簡単ではありません。


しかしVRMとこのスクリプトを使えば、UnityのTimelineを使ってダンスに合わせて表情づけや口パクが簡単にできます。


このTimeline拡張のスクリプトはMIT Licenseで配布しています。

(≒営利非営利問わず自由に使っていいよ、MIT Licenseのルールにだけ従ってね)


実際にダンスモーションと組み合わせたセットはこちらで配布しています。

(ダンスモーションはMIT Licenseではないことに注意)


そのため、『ダンスモーション + Timeline拡張スクリプト + 表情・口パクモーション』というセットで販売・配布が可能です。


わたしも、表情を含めたモーションの販売やっていきたいと思っています。


【使い方】

使い方の動画をYouTubeにアップしていますので、詳しくは動画を見てください。

https://youtu.be/JP2CstQHIvk



<<使い方の概要>>

・UniVRMのインポート(バージョンは0.xxxです、1.xxxでは動きません)


・VrmBlendShapeOverrideのインポート(今回の配布スクリプト)


・UnityのTimelineでVRM Blend Shape Override Trackが追加できるようになる


・Timeline内で右クリック→Add ClipでClipを置き、Inspectorでどの表情かを指定する


・VRMの仕様上、表情の確認はシーン再生中でのみ有効


・VRM Blend Shape Override Trackを2つ使うことで表情と口パクを組み合わせることが可能。その際の分け方は以下の通り

『A,I,U,E,O,Unknown』は口パク用(Unknownが『閉じた口』の代わり)

『Netural, Angry, Fun, Joy, Sorrow, Blink, Blink_L, Blink_R』は表情用

(Neturalが『デフォルト表情』の代わり)


<<使い方概要ここまで>>


もし表情・口パクデータを含めたアニメーション販売をしたい場合、VRM Blend Shape Overrideのスクリプトと、これを使って作ったTimelineのデータ(○○.playable)も一緒に同梱するといいです。


以上、使い方でした。


【おわりに】

VRMの表情操作のTimeline拡張を作りました。従来のダンスモーションの販売から、ダンス+口パクとか、口パクのみの販売など、私個人としても、試してみたいことがたくさんあります。よければ使ってみてください。


それでは🌟




Maron_Vtuber PIXIV FANBOX 8 favs
VIEWS1
FILES4 files
POSTEDDec 10, 2022
ARCHIVEDJun 10, 2026