こんにちは~♪
いつもアルカイックスマイルのケーキです!
日々VRChatをしていて思う事があります。。。
皆さん表情豊かすぎでは・・・!?
私もあんな顔やこんな顔してみたい!!
という訳で今回はVRChatでの必須スキル”アニメーションオーバーライド”を使って表情の変更をやっていきたいと思います。
目次
アニメーションオーバーライドとは
とても名前がかっこいいですよね・・・!!
オーバーライドってところがとくにね!
VR環境では、アバターにあらかじめ登録されている7種類のハンドサインがあります。
その割り当てられてるものに対して、自分で決めたアニメーションで上書きすることで表情やハンドサインなどを追加することができます。
それがアニメーションオーバーライドです!!
実際にやってみよう
ここからはUnity画面が続きますが、そんなに難しくないので、
手順に沿ってサクサクやっていきましょう!!
アニメーションの下準備~モデル複製~
前に記事でご紹介した「クレリック」ちゃんにて表情を変えていきます。
「hierarchy」内の表情をセットしたいキャラモデルを選択し「Ctrl+D」
これでキャラを複製します。
この複製したキャラを”アニメーションオーバーライド設定用”のキャラとします。
私は分かりやすく名前に「〇〇〇_AOR(アニメーションオーバーライド)」と付けております。
アニメーションの下準備~表情を決める~
モデルにはシェイプキーというモデリングソフトで設定した表情などの設定があります。
その設定を使うことでモデル上での表情を変えることができます。
では、実際に見てみましょう!
Hierarchy内、複製したモデル(以下AORモデル)の「Armature」→「体(またはBody)」を選択
右の「Inspector」タブ内、「Skinned Mesh Renderer」→「BlendShapes」をクリックし開くと顔の項目などが並んでいる。
この設定値をなにもいじっていない状態が通常の顔となっております。
ではここから私の好きなジト目で睨まれる表情を作ってみましょう。
「BlendShapes」内の「ジト目」、「不機嫌口」、「真面目眉」に100の数値を入れてみます。
すると…
あら可愛い!!
こんな感じでオーバーライドしたい表情を作ってみましょう。
表情が決まったら、数値を入れる場所と数値をどこかにメモをしておいて、一旦すべての数値を0に戻します。
では、次からはアニメーションの登録をしていきます。
アニメーションクリップの作成
さて、ここからは先ほど作っていた表情をアニメーションクリップ(ファイル形式)として作成していきます。
アニメーションクリップファイル作成
まずはアニメーションクリップを入れるためのフォルダを作っていきましょう。
「Assets」で右クリック「Create」→「Folder」で「Animation」フォルダを作っておきましょう。(自分で分かりやすい名前でも可)
次に作成したフォルダに入り、右クリック「Create」→「Animation」を選択。
新規アニメーションクリップが作成されます。
名前は自分がやりたいことなど分かりやすい名前にしておきましょう。
作成したアニメーションクリップをAORモデルにドラッグ&ドロップしてください。
次にツールバーから「Window」→「Animation」を選択しAnimationウィンドウを表示します。(表示したウィンドウ左上に先ほどドラッグ&ドロップしたファイル名が載っていることを確認)
表情設定
ここからは、先ほど作ったクリップファイルに表情を入れていきます。
まず、アニメーションウィンドウ左上のレコードボタンを押します。
次にAORモデル、「Armature」→「体」のBlendShapesから最初にメモしておいた表情の数値を入れていきましょう。
するとレコード中のアニメーションウィンドウにも表情と数値が反映され表示されます。
〇お約束点
上記の表情設定は時間軸0:00の場所に設定されております。
その内容をコピーし、0:01の場所に貼りつけをして0:00~0:01に同じ設定値を入れるようにしてください。
左上のレコードボタンからレコードOFFにしてアニメーションクリップが完成しました!
お疲れ様です!!あともうちょいです!
なおアニメーションウィンドウの裏でモデルがしゃがんでるんですけど・・・?
そう!アニメーションクリップを作成する際にモデルがこの姿勢をとってしまうので、最初にAORモデルとして複製をしておきました。
直し方は今は分からないので(汗)、もし分かったら追記しますね…
せっかくなのでもう一つくらい表情を作ってみましょう。
ここで注意点が1つ上の画像を見てもらうと分かりますが、
先程ジト目で設定していた「ジト目」、「不機嫌口」、「真面目眉」が0で入っています。
こうしておくことで今回作った表情とジト目の表情が被ったときに表情が崩れることを防止できます。
先程のジト目側にも新表情の項目を0値で追加(コピー&ペースト)しておきましょう。
ボタンと3Dモデルに割り当て
これで最後の設定となります。
ボタンへの割り当て
まず初めに、ボタンへ割り当てるためのファイルをとってきましょう。
左下Assetsから「VRCSDK」→「Examples」→「Sample Assets」→「Animation」内のCustomOverrideEmptyをCtrl+Dで複製し、自分で作成したAnimationフォルダへいれましょう。
では移動してきたCustomOverrideEmptyファイルをクリックして右のInspectorをみてみましょう。以下の項目が出ると思います。
分かりやすくするために今回アニメーションオーバーライドで使用する箇所を赤枠で囲っておきます。
この赤枠で囲った部分は各種VRのコントローラー、またはキーボードに対応しております。
私がViveしか持っていないため、今回はViveコントローラーとキーボードのみでご説明させていただきます。
Viveコントローラーの場合、対応ボタン(タッチパッドも含む)が7種類あります。
画像は右手側コントローラーの図(左手の場合は中央5種類のハンドサインが左右反転します。)
キーボードの場合は、Shift+F1~F8キーで対応オーバーライドを実行できます。
・Shift+F1 → 通常時(標準状態)
・Shift+F2 → FIST
・Shift+F3 → HANDOPEN
・Shift+F4 → FINGERPOINT
・Shift+F5 → VICTORY
・Shift+F6 → ROCKNROLL
・Shift+F7 → HANDGUN
・Shift+F8 → THUMBSUP
では今回は「HAND OPEN」と「THUMBSUP」の部分でオーバーライドするとしましょう。
CustomOverrideEmptyを開いた状態でアニメーションクリップをドラッグ&ドロップして反映させましょう。
これでボタンへの割り当てファイルの完成です。
3Dモデルへの割り当て
これで本当に最後です!
先程、オーバーライドファイルを設定しましたがこれだけでは動きません。
これを3Dモデルに入れる事で初めて動作するものになります。
で、そのいれる場所ですが、Hierarchy内にある最初に複製するための元になった方に入れていきます。
入れるモデルをクリック、右側のInspectorから「VRC_Avater_Descriptor」のCustom Standing Animationに先ほど作成したオーバーライドファイルをドラッグ&ドロップをする。
これにてオーバーライド反映モデルの完成です!
最後にアップロードをしてVRChat内で確認してみてください!!
販売モデルなどは既に設定済
今回は作り方等も含め、一から説明しましたが、BOOTH等で販売されているモデルには既に製作者様によりアニメーションクリップの作成・オーバーライドの設定まで済まされているものがあったりします。
クレリックちゃんも以下の画像のように既に用意されております。
(ジト目、既にありますねw)
こちらに追加する形で作成するのもありなので、皆さまのやりやすいように作ってみてください。
最後に
無事表情を入れる事ができました!
最初の設定はとても長いですが、テンプレができてしまえば二回目以降はもう少し短縮ができるようになってきます!
また、これが最善という訳でもなく、いろいろなやり方があると思われます。
こんなのもあるよというのがあれば教えていただけると嬉しく思います。
ではでは、今回はここまで
皆様もぜひ、いろいろなオーバーライドを試してみてくださいね!!
ありがとうございました~!!