AvatarSettings・MyAvatarsSettingsの使い方【Vket Cloudのワールド設定機能一覧】

:::note info
本記事は、Vket Cloud Settings を使ってワールド設定を変更する【Vket Cloudのワールド設定機能一覧】の記事の一部です。

本記事に掲載されている情報はVketCloudSDK12.3.4のものです。
バージョンにより見た目や表示情報が変化する場合がございます。

VR法人HIKKYのorganization下のQiita/Zenn両方に投稿しております。
:::

# はじめに
Vket Cloud Settingsの子オブジェクトにある、**AvatarSettings**、**MyAvatarsSettings**を編集することで、ワールドでのプリセットアバターやマイアバターに関連する設定を行うことが可能です。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763860/6f0e7be5-3853-9e32-2d6e-528159e64c48.png)



::: note info
**表示されない場合**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763860/c7775a17-a085-cb0a-2be8-aee55211c8f4.png)


AvatarSetting、MyAvatarsSettingsはAdvanced設定となります。
表示されない場合はVket Cloud Settingコンポーネントの設定モードを**Advanced**にすることで表示されます。
:::

## AvatarSettings
AvatarSettingsオブジェクトの中にはAvatar Settingコンポーネントが入っています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763860/f1ebfff6-d1b4-f7d1-e848-f8b7b0e4e180.png)

AvatarSettingでは、ワールド内で使用できるプリセットアバターの設定を変更することが可能です。

また、多人数表示時や表示できないマイアバターを選択していた際に表示されるダミーアバターの設定を行うことも可能です。

### アバターアイコン表示
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763860/dad0bc1c-c214-fa3d-812e-74d01e30f28a.png)

名前の横にアバターアイコンを表示します。

初期設定では有効になっています。

### ダミーアバター

ダミーアバターを設定します。リスト右下の「+」「-」ボタンでリストの増減を行うことができます。
設定可能なファイル形式は.heoで、ダミーアバターを複数個設定した場合、プリセットアバターの番号と連動します。

:::note warn
ダミーアバターに設定した.heoファイルは、Export Fieldなどで書き出しを行う前の状態の**Transformコンポーネント設定値を無視します**。
したがって、複数のオブジェクトのPositionを調整したり、Rotationで向きを変更したり、Scaleで大きさを変更した場合、通常のHEOObjectコンポーネントで実装する方法では正しく表示されますが、ダミーアバターに設定した際は正しくない、といった状態になります。

オリジナルのモデルをダミーアバターに設定する場合、fbxファイルの中身を調整し、Position(0,0,0)、Rotation(0,0,0)、Scale(1,1,1)のとき適切な見た目となるようにしてください。
:::

### アバターファイル
使用するアバターファイルを設定します。
アバターファイルの各項目については「アバターファイルについて」で説明します。
リスト右下の「+」「-」ボタンでリストの増減を行うことができます。

### 新規アバターファイル作成

新規アバターファイルを作成します。拡張子は.assetです。
ボタン押下時に保存先選択画面が表示されるので、アバターを管理しているフォルダに保存することを推奨します。

## アバターファイルについて
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763860/3a5599e7-35ce-68f2-9d97-cd2a8f1f5f82.png)

プリセットアバター設定は、アバターファイルを使用して行います。
アバター、モーション、エモーション、オブジェクトの4つのタブを持っており、それぞれのタブの内容を編集することで、プリセットアバターの見た目やアニメーション、持ち物を変更することが可能です。

### サムネイル
アバターファイル上部に表示されているサムネイルは全タブ共通で表示されます。
アバターサムネイルはプリセットアバター一覧画面や、ネームプレート横に表示されるアイコン画像に使用されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763860/1b827625-39bd-2357-f594-9bc551968c71.png)

| 名称 | 説明 |
|:-:|:--|
| サムネイル(日本語) | ブラウザ設定言語が日本語の時の<BR>アバターサムネイル画像です。 |
| サムネイル(英語) | ブラウザ設定言語が日本語以外の時の<BR>アバターサムネイル画像です。 |

日本語と英語でサムネイルの画像を変更することが可能です。
上記プリセットアバター一覧画面のスクショのように、アバター画像の下に入れるテキストを変更する、といった使い方が可能です。

### アバタータブ

アバタータブでは実際に使用するアバターのVRMファイルの登録を行うことが可能です。

#### 身長

アバターの高さ設定です。現状特に意味はありません。

#### ファイルモード

アバターのファイル形式を.vrmあるいは.hrmで選択することができます。
.hrmはスマホなどの端末での表示向けに最適化された、Vket Cloud専用規格です。
.hrm選択時、入力欄が3つに増えます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763860/ed0caa31-56e9-a7db-e7ea-e5dcd046da93.png)

#### アバター
VRMファイルを指定します。

#### Hrm Png
png形式圧縮が施された.hrmファイルを指定します。

#### Hrm Astc
Astc形式圧縮が施された.hrmファイルを指定します。

#### Hrm Etc 2
Etc2形式圧縮が施された.hrmファイルを指定します。

### モーションタブ

モーションタブではアバターのエモート以外の動作を指定します。
リストになっており、最下部右にある「+」「-」ボタンで増減が可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763860/bd1e6a79-9adf-f84f-227b-728302f89842.png)

#### モーション名

モーションの名称です。アクションで指定する際に使用します。

#### .hem

モーションのHEMファイルを指定します。

#### ループする？

モーションアニメーションをループするか否かの設定です。
チェックを入れていない場合、モーションアニメーションの最後まで再生された後別のアニメーション(エモート含む)が再生されるまでは最後のポーズを維持します。

#### アクションを使用する？
モーション再生時にアクションを発生させるか否かの設定です。
チェックを入れた場合、設定ボタンがアクティブ状態になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763860/8dc88325-b393-e0e9-655f-757abb121e3b.png)

設定ボタンを押下することで、アクション設定ダイアログが立ち上がり、アクションが設定できます。
こちらでは、「オブジェクト表示」のようなオブジェクトを対象としたアクションを設定することができ、実行時にアバターの持ち物を表示したり再生したりすることが可能です。

::: note info
Vket Cloudでは「オブジェクト」はアバターの持ち物のことを指します。
:::

#### 丸影の描画

モーション再生時にアバターの足元に丸影を表示するか否かの設定です。
チェックを外した場合、モーション再生中にアバターの足元に丸影が表示されなくなります。

#### 衝突の検知

モーション再生時、当たり判定を検知するか否かの設定です。
チェックを外した場合、モーション再生中に当たり判定を検知しなくなるため、
空中にいた場合落下しなくなり、壁に向かって移動した場合壁を抜けて移動できます。

移動を伴うモーションではチェックを入れ、着席モーションのような当たり判定にめり込んだ位置で再生したいモーションではチェックを外す、といった使い分けを行いましょう。

### エモーションタブ

エモーションタブではアバターのエモートを指定します。
リストになっており、最下部右にある「+」「-」ボタンで増減が可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763860/47935fe7-ddb8-49d4-65a3-ec7b2fd9d3a5.png)


#### .hem

エモートのHEMファイルを指定します。

#### ループする？

エモートアニメーションをループするか否かの設定です。
チェックを入れていない場合、アニメーションの最後まで再生された後、Idleモーションの再生に移行します。

#### アクションを使用する？

エモート再生時アクションを発生させるか否かの設定です。
チェックを入れた場合、設定ボタンがアクティブ状態になります。

### オブジェクトタブ

オブジェクトタブではアバターの持ち物を指定します。
リストになっており、最下部右にある「+」「-」ボタンで増減が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763860/e737f487-e60a-daec-7475-16b0095d4e13.png)

#### オブジェクト名

オブジェクトの名称です。アクションで指定する際に使用します。

#### 種類

Heo(3Dモデル)、Hep(パーティクル)、Audio(効果音)から選択することができます。

#### ファイル

種類に対応したファイルを入れます。
Heoのときは.heoファイル、Hepのときは.hepファイル、Audioの時は.mp3ファイルを入れます。

#### 位置

ターゲットからの相対座標です。
TransformコンポーネントのPosition同様、単位はUnityScaleです。

#### 回転

ターゲットからの相対回転です。
TransformコンポーネントのRotation同様、単位は度数(°)です。

#### ターゲット

持ち物の原点となるボーンの名称を指定します。
名称はVRMヒューマノイドのフォーマットに由来しており、記載する際はスネークケースにします。
(例：head, leftLowerLeg, leftThumbProximal...)

::: note info
Targetに設定できるボーンについては[こちら](<https://qiita.com/vket_chan/private/8148a47273cfdc130c62>)をご覧ください。
:::

## MyAvatarsSettings

MyAvatarsSettingsの中にはMy Avatars Settingコンポーネントが入っています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3763860/0f0b05c9-352e-2032-27e1-97b2d9b9561d.png)

My Avatars Settingでは、ワールドで使用するマイアバターのモーション、エモート、持ち物の設定が可能です。
また、マイアバターを使用できるか否か、使用できるようにした場合の使用条件について設定することも可能です。

基本的な設定はAvatarFileと共通の部分も多いです。


### My Avatarを有効化

マイアバターをワールドで使用できるようにするか否かの設定です。
チェックを入れなかった場合、そのワールド内ではマイアバターが使用できません。
プリセットアバターしか使ってほしくない場合はチェックを外しましょう。

初期値では有効になっています。

### フィルター 

#### NSFW
NSFWは**Not safe for work**(職場で見るのに適していないコンテンツ)の略です。
センシティブなアバターの使用を許可するか否かの設定です。
チェックを入れた場合、NSFW設定を行っているアバターも表示可能になります。

#### Polygon

アバター1体あたりのポリゴン数(三角形数)の制限です。これを上回ると、表示がダミーアバターになります。
初期値では50000に設定されています。
リッチなアバターを表示できるようにする場合は数字を大きく、処理軽減のために軽量アバターのみを表示にする場合は数字を小さくしましょう。

### モーションタブ

マイアバターが使用するモーションを設定します。
マイアバターは全アバター共通アニメーションとなります。どんなアバターで使用しても違和感の出ない汎用的なものを選びましょう。

#### モーション名

モーションの名称です。

#### .hem

モーションのHEMファイルです。

#### ループする？

モーションをループするか否かの設定です。

#### アクションを使用する？

モーション再生時に実行するアクションを設定するか否かの設定です。
チェックを入れた場合、選択よりアクションの設定が可能です。

#### 丸影の描画

モーション再生時、アバターの足元に丸影を描画するか否かの設定です。

#### 衝突の検知

モーション再生時、当たり判定を検知するか否かの設定です。

#### + - ボタン

モーションを増やしたり減らしたりすることが可能です。

### エモーションタブ

マイアバターが使用するエモートを設定します。
マイアバターは全アバター共通アニメーションとなります。どんなアバターで使用しても違和感の出ない汎用的なものを選びましょう。

#### .hem

エモートのHEMファイルです。

#### ループする？

エモートをループするか否かの設定です。

#### アクションを使用する？

エモート再生時に実行するアクションを設定するか否かの設定です。
チェックを入れた場合、Selectよりアクションの設定が可能です。

#### + - ボタン

エモートを増やしたり減らしたりすることが可能です。


### オブジェクトタブ

マイアバターの持ち物を設定します。
プリセットアバターとマイアバターで設定が変わるのは好ましくないため、プリセットアバターで設定した場合は、こちらもきちんと設定するのを忘れないようにしましょう。

#### オブジェクト名

持ち物の名称です。アクションで使用します。

#### 種類

持ち物の種別です。
**Heo** : 3Dモデルです。
**Hep** : パーティクルです。
**Audio** : 効果音などの音声です。

#### 位置

持ち物の位置です。
ターゲット(後述)からの相対位置になります。
TransformコンポーネントのPosition同様、単位はUnityScaleです。

#### 回転

持ち物の回転です。
ターゲット(後述)からの相対回転になります。
TransformコンポーネントのRotation同様、単位は度数(°)です。

#### ターゲット

持ち物の原点となるボーンの名称を指定します。
名称はVRMヒューマノイドのフォーマットに由来しており、記載する際はスネークケースにします。

::: note info
Targetに設定できるボーンについては[こちら](<https://qiita.com/vket_chan/private/8148a47273cfdc130c62>)をご覧ください。
:::

## まとめ

アバター設定は、ワールド内で使用できるアバターやアバターが使用できるモーションなどを決めることができます。各設定項目を理解することで、ワールド内でのアバター表現を向上させることができます。より良いワールド制作に是非役立ててください。

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

https://cloud.vket.com/

**前：** [CameraSettingsの使い方](<>)
**次：** [Vket Cloudでアバターの持ち物設定に使用可能なターゲット一覧](<https://qiita.com/vket_chan/private/8148a47273cfdc130c62>)