Avatar Pack Toolで外部サイトに公開するアバターのパッケージを作る方法



![20230114212307_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/fb50b8ed-17d2-191e-fc9c-e0368cb2a9eb.jpeg)


## Avatar Pack Toolについて
Avatar Pack Toolは、アバターを配布用のデータ作成を支援するツールです。
ユーザーは1ボタンクリックするだけでアバターを取得でき、
自力での設定が難しいSimpleAvatarProtectionを取得時に自動的に付与させる機能や、
配布データ自体にSimpleAvatarProtectionを付与してneos内での保存や転送をさせない機能など
第三者に配布する際に便利な機能を備えています。

#### SimpleAvatarProtectionとは
設定したアイテムやアバターを第三者が保存したりできないようにするアセット保護機能です。

### 動画解説
簡単な解説ですが、実際操作する際のおおよその流れが掴めると思います。
因みに自分のアバターにプロテクトを付与したいだけなら、アバターを着てPackAvatarボタン、Createボタン、GetAvatarボタンを順番に押すだけです。
<iframe width="560" height="315" src="https://www.youtube.com/embed/R_aQsWf3JrU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>


### ツールの取得方法
以下をコピーしてneos(NeosVR)の「クリップボードからペースト」を押下。
```
neosrec:///U-e1ght3/R-6d0d2e28-b61d-4ac3-b1bb-75f3a77d9223
```

上記を使わずにインベントリの初期位置から辿っていく場合は、
```
Neos Essentials/Community Public Folders/JP Publics/個人 Indibidual/e1ght3_public/Tool/Avatar Pack Tool
```
より取得可能。

## 用意するもの
・プロテクトが付与されていない状態のアバター
・DevToolTip
・Avatar Pack Tool
・アバター製作者の許可(再配布、もしくは製作者の配布ファイルへの同梱をお願いする場合)
![20220908202539_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/169618e1-a024-da4f-f31e-837ab319cd05.jpeg)

## アバターのパック開始
#### パネル自体のプロテクト
「ProtectPanel」のチェックをONにすることで、配布データとして使うパネル自体にもSimpleAvatarProtectionが付与される。
7zbsonから読み込んだ後、パネルの保存や他ユーザーへの転送が出来なくなる。
有償で販売されているアバターや、再配布が制限されているアバターはONにしておくことが必須の項目。
逆にCC0や再配布自由を明言しているアバターについてはOFFでも問題ない。
![20220908202827_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/1b337ea3-b4bd-0d85-342c-0a553e6da297.jpeg)

##### (任意)ユーザーが安全にアバター導入出来る機能の有効化
<details><summary>クリックで展開</summary>

SaftySetup for UserのチェックをOnにすることで有効化出来ます。
![20230114212307_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/f79bf42d-487b-75b5-ecc6-82bb8bc1a48e.jpeg)


ONにすると、ユーザーが間違えてパブリックワールドや第三者がいるワールドでアバターを取得してしまわないようにプロテクトをかけます。
この機能が有効になると、プライベート設定のワールドでかつそのセッションないに一人しかいない場合のみアバターのパネルを取得可能となります。(よくわからない場合は、NeosVR起動直後にロードされるワールドと考えてください)
主に有償で販売されているアバター向けの機能となります。

そうでない場合下記のようなエラーメッセージが出てアバターの取得に失敗します。
![20230114212359_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/6c4f6bb7-63ff-eed0-e88c-fa2c2da648af.jpeg)

</details>

#### パネルの正面に立ってボタンを押す。
用意したアバターを着た状態でパネルの正面に立ち「Pack Avatar」ボタンを押下
![20220908203130_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/ba9587fa-10d7-9c15-1cad-bce5c85319c0.jpeg)

成功すれば押下後はこのような状況になる。
![20220908203229_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/edf5b95e-ab1c-b938-4041-aca07edd9a03.jpeg)

##### (任意)上手く行かない場合の手動設定の方法
<details><summary>クリックで展開</summary>

NeoRoidなど、一部アバターは自動設定に対応していない為
ここまでの操作で上手く行かない場合、手動でアバターのRootSlotを指定する必要がある。
![20220908202827_2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/e9c9a207-e77b-e223-e078-489cfc83a8ac.jpeg)
もう一度パネルを出し直し、Manual(AvatarRoot)のチェックボックスをOnにする。
下に出てきた白い四角に、AvatarのRootSlotを掴んでドラッグする。
白い四角にテキストが表示されたらパネルの正面に立って「Pack Avatar」ボタンを押下
</details>


## パッケージ内容のカスタム（出現したパネルの設定方法）
#### パネルのサムネイルの設定
正方形の画像をドラッグすることで、パネルのサムネイルを変更できる。
![20220908203858_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/a03faa17-3804-f54a-e1a1-27b55060bd5b.jpeg)


画像がneos(NeosVR)内に存在しない場合はデスクトップからneosの画面に画像をドラッグし、出現したパネルの「画像/テクスチャ」を押下することで読み込める。
![20220908203346_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/6a86ac9b-1957-1e0d-2842-d1c07945f708.jpeg)


#### アバター名の設定
上記のテキストを編集することでパネルに表示するテキストを変更できる。
通常はアバター名を設定する。
(フォントやサイズ、改行設定については簡単に出来るよう機能拡張を検討中)
![20220908204024_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/9cb018b0-411d-dad5-5341-006aea264dd1.jpeg)


##### (任意)出現位置の調整
<details><summary>クリックで展開</summary>

右上パネルのAvatarDataをダブルクリックし、出現したギズモを掴んで移動させる(要DevToolTip)
選択
![20220908204140_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/fe4b5b0d-999f-391f-9d34-51d05e6f5ea4.jpeg)
移動(AvatarDataのSlotのActiveをONにしておくとわかりやすい)
![20220908204442_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/66d53d4a-2e6d-e023-13ff-76b6b4712e99.jpeg)

完了したら忘れずにAvatarDataのSlotのActiveをFalseに戻しておく。

</details>

##### (任意)武器など、アバター以外のアセットの追加
<details><summary>クリックで展開</summary>

上記「出現位置の調整」の項を参考に、AvatarDataのSlotのActiveをONにし、
追加したいアイテムをアバター取得時にスポーンさせたい位置に移動。
![20220908204816_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/40ea1b9f-e863-f966-da72-b417c634168f.jpeg)

次にアイテムのRootSlotをドラッグしてAvatarDataの子に設定する。
![20220908204941_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/68fd6210-711a-4e71-5138-a340dc08fe65.jpeg)
成功すると以下のようになる。
![20220908205017_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/864addd5-436f-2c9c-504c-179ec84af30a.jpeg)

必要に応じて、そのまま追加したアイテムの項目をドラッグして「Protect Slot」ボタン押下し、追加のプロテクトの対象に設定する。
![20220908205156_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/54d499a6-a987-5306-a567-e8176367666f.jpeg)

完了したら忘れずにAvatarDataのSlotのActiveをFalseに戻しておく。


</details>

##### (任意)追加のプロテクトを設定
<details><summary>クリックで展開</summary>

追加でプロテクトをしたいSlotをドラッグし、「AdditionalProtectSlot」にドラッグ。
![20220908205506_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/538d79c0-79f0-11e7-1f91-51e5611c1375.jpeg)


その真下にある「Protect Slot」ボタンを押下。
上の「ProtectedSlot」パネルの項目に、今追加プロテクトしたSlotの名前が追加されていれば成功。
![20220908205538_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/bbd3bd7e-b8f2-57a4-bb47-f661b77de8b9.jpeg)


</details>

##### (任意)アバター情報領域の設定
<details><summary>クリックで展開</summary>

「AvatarInfo」をONにすることで、パネルにアバターに関する追加情報を設定できます

![20221016113406_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/6ed46e71-a5e1-0bc9-53e9-d8c07b064aed.jpeg)


<details><summary>アバター製作者名</summary>
アバターを制作した方の名前を記入してください。
</details>

<details><summary>アバター製作者リンク</summary>
アバターを制作した方の連絡先のリンクを記入してください。
</details>

<details><summary>アバター変換元</summary>
ストア(Booth)などで公開されたアバターを変換した場合は、その公開ページを記入してください。
</details>

<details><summary>アバター利用規約Link</summary>
アバターの利用規約が設定されている場合は、それが確認できるページを記入してください。
</details>


<details><summary>アバターのコンテキストメニュー拡張(アバター情報の表示)</summary>

「UseAvatarInfoContextMenu」をONにすることで、アバターのコンテキストメニューからアバターの情報を確認できるようになります。
![20221016113406_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/6ed46e71-a5e1-0bc9-53e9-d8c07b064aed.jpeg)

追加されるメニュー
![スクリーンショット 2022-10-16 122005.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/da93be61-68ed-183f-8114-31f61cd3b9f9.jpeg)


選択をすると、目線の先にアバター情報が表示される。
![スクリーンショット 2022-10-16 122123.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/134b0347-ccfc-70bf-74fc-ac72bc28fa9a.jpeg)


</details>

</details>

<details><summary>サムネイル画像の設定</summary>

「Use as Thumbnail」をONにすることで、パネルに設定した画像をインベントリで表示するサムネイルに設定できます。
![20221016113428_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/c51ad2b7-1fee-c07d-d51f-ca1b1b29ce05.jpeg)

左がOFF、右がONにした場合のインベントリ内での表示
![スクリーンショット 2022-10-16 145310.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/0fde3245-cf2a-3ceb-248d-292cb5f80650.jpeg)



</details>

## 設定後作業
#### 作業状況を保存
最初に「Pack Avatar」を押下した後に出現するパネルはそのままグラブしてインベントリに保存できる。
作業を中断したいときや、後から装飾品などを追加する場合この保存したパネルに対して編集することで手間を省くことが出来る。
＊保存時のイメージ
![スクリーンショット 2022-09-08 210238.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/9e4efb56-1f07-152b-d92b-035dbd6fd242.jpeg)


#### パネルを生成・動作確認
Createボタンを押下すると、配布用のパネルが出現。
![20220908210418_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/24e8883f-abc1-2ecc-c21f-ca7e1ca105e1.jpeg)


何回でも生成できるので、実際に「GetAvatar」ボタンを押下して想定通りに動いていることを確認する。
上手く行かなかった場合は、上の手順に戻って編集し直し完成したら再びCreateボタンを押下。
以下完成するまでこれを繰り返す。
![20220908210443_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2308792/d6b27795-e21f-507e-d916-171a26f17cdf.jpeg)




## 配布のための作業
#### 7zbsonの取得
以下のサイトを参考に、7zbsonを取得。
サイト内にある通り、配布用データをインベントリに保存した後それを削除してはいけないため
絶対に削除しない専用フォルダを作成しておくのがお勧めです。
https://qiita.com/rhenium_vrc/private/14c301bb0c7b61948177

#### 配布
あとは外部サイトで7zbsonファイルを公開(または公開してもらう)すれば完了です。

## ユーザーがアバターを取得する方法
とても簡単です。
neos(NeosVR)を起動し、7zbsonファイルをそのまま画面上にドラッグ。
出てきたパネルの「Get Avatar」ボタンを押す。
以上。

導入後のアバターの保存も含めた図解は、以下からご確認いただけます。
https://qiita.com/e1ght3/items/eb5c9e52276e100a4009


本ツール経由の場合、UnityとにらめっこしたりBlenderと戦う必要は一切なくとても簡単です。