2023年現在、 cluster はアバターアップロード制限を撤廃したので、下記の操作は不要になりました!
バーチャルイベントプラットフォーム、またはソーシャルSNSのcluster( https://cluster.mu/ )にアバターを持ち込むためのTips。
clusterのアバター制限とVRoid
clusterはVRM形式のカスタムアバターに対応しているが、イベントなどの大人数を一度に表示する利用用途を想定し、ある程度の容量に収まるよう制限がかけられている。
カスタムアバターの制限 – ヘルプセンター | cluster(クラスター)
また、アバター制作の手軽な手段としては pixiv社製のアバターモデリングソフトVRoid があるが、ある程度リッチにしていくとこのアバター制限に引っかかってしまう。
制限に引っかかったときの例(アバター管理画面)
これを回避するには、まともにやるとここから UnityやBlenderを持ち出して、地道に指定の制限に収まるように修正が必要となる。しかし、3Dモデリングの知識がなければこれは難しい。
そこで、VReducerを利用する。
VReducer とは
kanno2inf/VReducer: VRoidモデルをClusterアバター用に軽量化するスクリプト
VReducerは python 製のスクリプトで、まさに VRoid to cluster のために作られた。
このスクリプトを通すことでモデルのMaterial等をいい感じに結合してくれ、clusterの制限に通るくらいにしてくれるもの。元のモデルの作りによっては収まりきらない場合もあるので、VRoid側でも対応が必要なケースもある。
VReducer を使う
pythonインストール
python環境が必要なので、まずはその準備をします。
利用するのは python3系 なので注意。OSによって違うので、自分の環境に合わせて用意する。
Windowsは少しハードル高いかもしれない。。
- Macの場合
- Windowsの場合
- 【windows10】Python3.7をインストールしてpathを通して、pipでパッケージを入れる - なろう分析記録
- 今だとWindows Terminalとかが使えるのかな
使い方
pythonを入れたあとは、ほぼVReducerのGithubにあるREADME通りで引っかかるところはないはずなので、順番にやっていこう。
まずは以下の章にあるとおり、準備としてPillow のインストールを済ませておく。
https://github.com/usagi/VReducer#%E6%BA%96%E5%82%99
準備が出来たら、Terminalから下記のようにコマンドをたたくだけで、あとは自動で処理が走り、指定したファイルと同じ階層にresult
ディレクトリができて変換後のファイルが格納される。
python vreducer.py VRoid.vrm
いくつかオプションを渡せるが、特殊なものとしては下記がある。
2018/02/06時点でClusterの一部会場でモデルが暗くなる問題が出ているため、-eオプション付けることを推奨します。
この問題については cluster 側で対応されている状態で、現状指摘されている問題は発生していない(はず)。そのため現状では特に利用せずとも問題ない。
VRoid アバターの表情を編集する
さて、うまくいけばこれだけでVRoidモデルを cluster に持ち込めるけれども、少し引っかかるのが表情の問題。
VRMアバターはモデルの中に表情のパラメータを持っていて、扱うサービスによってこれを呼び出すことができる。
clusterではちょっと面白い方法を採用しており、アバターの両手の位置によって表情を出しわけることができる。
カスタムアバターの表情切替 – ヘルプセンター | cluster(クラスター)
「両手または片手を、顔より上に挙げる」→「JOY」で設定している表情になります
「両手または片手を、体より後ろに運ぶ」→「ANGRY」で設定している表情になります
「両手を、顔に近づける」→「SORROW」で設定している表情になります
「上記以外の動作中」→「NEUTRAL」で設定している表情になります
こちらの画像では「両手を、顔に近づける」という動作(の、はずだがこれも両手または片手を、なのかな?)に設定されている、「SORROW」の表情がでている。
?と思う方もいるとおり、表情が全然「SORROW(悲しみ)」じゃないと思う。
これはデフォルトで「SORROW」に設定されているパラメータを編集し、好きな表情を当てはめているものだ。
ちなみに「SORROW」の初期設定はこのような顔。基本の表情設定のままだと、アバターの印象にもあっていない場合が多く、またそもそも悲しい顔をさせたいケースが必ずしも多いわけではないため使いづらい。
その他の「ANGRY」なども同様で、VRで手を動かすと突然怒り顔が出てしまって困る、、というケースもある。
そのため、嬉しそうな顔や上記のようにウインクなどを代わりにいれている。
表情のパラメータを調整するには、vrm-c/UniVRMという、UnityでVRMを扱うプラグインを導入し、UnityにVRMファイルを読み込ませる。もちろんVReducerにかけた後のデータで問題ない。(Unity上で色々モデルを編集することもできる。意外と簡単にできることも多い)
手順は公式ヘルプの下記のドキュメントそのままでOK。
カスタムアバターの表情切替 – ヘルプセンター | cluster(クラスター)
まとめと、Cluster Wiki
- VReducer の最新状況と、使い方
- VRMアバターの表情を cluster 向けに修正
以上、細かい使い方の部分は丁寧なドキュメントがたくさんあるので、この記事からは概要と必要なポイントにとどめた。
Cluster Wiki
また、clusterにおけるアバター情報については、下記 Cluster Wiki に、アバター制作部 - Cluster Wiki というタグがあり、こちらにもいろいろまとまっている。
実際にアバターを運用してみて、「ここ、こうなったらいいのにな」という点が出たら探してみてほしい。