🤩

Vket Cloudで、Mixamoからダウンロードしたモーションをアバターに実装する➂【新規プリセットファイル作成 - アニメーション】

2024/07/01に公開

はじめに

Vket Cloudで使用できるアバターには、モーションや持ち物を設定することが可能です。

剣を振り回すVketちゃん1号.gif
本記事では、上記の剣を振り回すVketちゃん1号を作成する方法について紹介します。

手順

実装までの手順は、

  1. Mixamoからアニメーションをダウンロードする
  2. アニメーションをUnityに取り込み、Vket Cloudで使える形にする
  3. 新規プリセットアバターの設定を立ち上げ、モーションの追加を行う
  4. 追加モーションを再生できるようにする
  5. 剣オブジェクトを作成し、アバターの持ち物として設定する
  6. アニメーション再生中のみ剣が表示されるようにする

となります。
本ページでは、5,6を紹介します。

剣オブジェクトを作成し、アバターの持ち物として設定する

Cubeを使って剣の形をしたオブジェクトを作成します。

image.png

このとき、持ち手が原点座標(0,0,0)の位置にあるようにします。
また、空のオブジェクトを作成し、Position、Rotationを(0,0,0)、Scaleを(1,1,1)にし、
Cube群をその子オブジェクトにします。
空のオブジェクトはSwordという名称にしておきます。

このオブジェクトを選択し、フィールドのエクスポートを選択します。

image.png

↑フィールドのエクスポートはVketCloudSDKタブの中にあります。

新しいフォルダーを作成し、その中にお好きな名前(半角英数アンダーバー)で保存します。
image.png
↑保存時に複数ファイルが自動生成されるため、空のフォルダに保存するのが好ましいです。

3で追加したプリセットアバター設定のObjectタブに新規オブジェクトを追加します。
名前をSwordにしたうえで、下記の画像のように設定していきます。

image.png

オブジェクトの部分には先程作成したオブジェクトを当てはめます。
TargetはrightHandにします。

この状態でビルドすることで、Vketちゃんの近くに剣が表示されました。
しかし、手の位置と比較し、向きがおかしいです。

image.png
↑手の甲から生えているような感じになる。

向きの修正にはPosition、Rotationを使用しますが、こちらはTargetで指定した関節位置からの相対座標、相対確度となります。
したがって、適切な位置や向きになるように、Position・Rotationの数値調整↔ビルドをくり返します。

今回の場合、下記画像の設定で適切な見た目となります。
image.png

image.png
↑自然に持った感じになる。

これで、剣を持った状態で剣を振り回すアニメーションが可能になります。

アニメーション再生中のみ剣が表示されるようにする

特定のアニメーションを行っている時のみ、剣オブジェクトが表示されるようにするためには、オブジェクト非表示 / オブジェクト表示アクションを使用します。

本アクションはアバターのエモート / モーションのアクション設定限定で使用できるアクションとなります。

1. 特定アニメーション再生中以外、剣を消す

振り回すアニメーション再生時以外は不要なので消します。
振り回すアニメーションから派生可能なすべてのアニメーションにオブジェクト非表示を付けることで、振り回すアニメーション再生時以外の再生中に剣が表示されないようにします。

したがって、振り回しを行うモーション以外のすべてのモーション / エモートにオブジェクト非表示を付け、Swordを指定します。

2. 特定アニメーション再生中は剣を表示する

振り回すアニメーション再生中は剣が表示されてほしいので、剣を振り回すモーションにはオブジェクト表示を付け、Swordを指定します。

これで、剣を振る時だけ剣が表示されます。

おまけ:任意のタイミングから任意のタイミングまでの間、持ち物を表示するためには?

例えば、「ワールド内で剣立てを調べて剣を拾ったタイミングから再度剣立てを調べて剣を置くタイミングまで剣を持つ」という動作を作る場合、下記のような設定を順に行います。

1.Idleに変数が値に等しい場合とオブジェクト非表示アクションを追加
image.png

※「変数が値に等しい場合」はOperationタブの中にあります。
※「変数が値に等しい場合」は、条件を満たしている時、それ以降のアクションの実行を行わない、という効果のあるアクションです。

2.剣を拾うモーションを追加、値の設定とオブジェクト表示アクションを追加
image.png

※「値の設定」はOperationタブの中にあります。

3.剣を置くモーションを追加、値の設定とオブジェクト非表示アクションを追加
image.png

この設定を行うことで、ワールド入室時点を開始としない、任意のタイミングから任意のタイミングまでの間、どんなモーションやエモートを行っても持ち物を表示し続けることが可能です。

まとめ

アバターの持ち物機能や追加モーションを使いこなすことで、ワールド内でのアバター表現を大きく拡げることができます。
ぜひ、ワールドに取り入れてみてください。

Vket Cloudについて

ブラウザからアクセスできる“Webメタバース”を作成するサービスです。 Vket Cloudで制作された空間は、アプリレスでWebブラウザから簡単にアクセスできるため、プラットフォームの制限の中で限られたユーザーにだけでなく、インターネットに存在するすべてのユーザーに対してオープンなコンテンツ・サービスを届けることが可能です。

https://cloud.vket.com/

前: Vket Cloudで、Mixamoからダウンロードしたモーションをアバターに実装する②

株式会社HIKKY

Discussion