clusterではVRM 0.x、VRM1.0の規格に沿って制作されたアバターをアップロードして利用できます。
アップロードに必須のボーンや使用できるシェーダーなどは下記を参照してください。なお、VRM のバージョン(VRM 0.x、1.0)によって異なる制限・仕様があるのでご注意ください。
VRM 0.x、1.0 共通仕様
| VRMファイルサイズの制限 | 100MB |
| テクスチャの画像形式 | PNG, JPEG |
| ユーザーアイコンの参照(特殊仕様) | テクスチャ名を _cluster_user_icon にすると、 cluster上ではユーザーのアイコン画像に自動的に差し替わります。 |
自動リダクション(最適化)について
[設定 > グラフィック設定] において、描画負荷の調整のためにアバターの表示数や表示品質を調整できます。このうち「アバターの表示クオリティ」の項目では、設定値に応じてシステム側で自動リダクション(最適化)済みのモデルを表示します。
VRM0.x, VRM1.0それぞれで自動リダクションの仕様が一部異なるため、詳細は下記の各バージョンにおける「アプリ内での表示仕様」の項目をご確認ください。
※従来行っていた「距離によるアバター表示品質の自動切り替え」は廃止されています。
VRM 1.0
ボーン
Humanoidとして割り当てられた以下の必須ボーンが欠けている場合、アップロードできません。
- hips
- spine
- head
- leftUpperArm
- leftLowerArm
- leftHand
- rightUpperArm
- rightLowerArm
- rightHand
- leftUpperLeg
- leftLowerLeg
- leftFoot
- rightUpperLeg
- rightLowerLeg
- rightFoot
マテリアル(シェーダー)
マテリアルで使用可能なシェーダーは以下の通りです。
- VRM10/MToon10
- UniGLTF/UniUnlit
- Standard(※cluster上ではUniUnlitに変換されて表示されます)
アップロード時の制限値
制限値はVRMデータのアップロード時に評価され、制限値を超える状態ではアップロードできません。
| 制限項目 | 値 |
| 全メッシュのポリゴン数の合計 | 72,000 |
| マテリアル数 | 25 |
| サブメッシュ数 | 25 |
| ノード数(GameObject数) | 1,000 |
| スプリングボーン数 | 200 |
| スプリングボーンコライダー数 | 500 |
| コンストレイントの数 | 50 |
| 単体テクスチャの縦 or 横のサイズ | 8,192 |
(補足)
- ノード数:Unityにおける「GameObject」の数のこと
- スプリングボーンの数:UniVRMの「VRM10SpringBoneJoint」の数のこと
- スプリングボーンコライダーの数:UniVRMの「VRM10SpringBoneCollider」の数のこと
アプリ内での表示仕様
動作の安定性を確保するため、アプリ内のグラフィック設定によって、自動リダクションされた各 品質のモデルを切り替えて表示します。VRM1.0では、品質によってテクスチャのみ圧縮・リサイズが発生します。
なお、VRM0.xと違い、メッシュの削減・マテリアルの統合は自動リダクションの対象ではないため、制限の範囲内であれば制作者が設定したモ デルの形状(ポリゴン数)が維持されて表示されます。
| 項目 | 最高 | 高 | 中 |
低 |
| ポリゴン数(上限) | 72,000 | |||
|
テクスチャ合計ピクセル数 ※M = 1000 * 1000 |
12M |
4M |
4M |
2M |
| マテリアル数 | 25 | |||
| アウトライン | あり | |||
| 揺れもの (SpringBone) | あり | |||
| コンストレイント | あり | |||
テクスチャの圧縮・リサイズ
VRM 1.0ではメッシュの自動削減は行われませんが、テクスチャの合計ピクセル数が上記仕様の「テクスチャ合計ピクセル数」を 超える場合、合計ピクセル数がそれ以下になるよう各テクスチャに圧縮・リサイズが発生します。
例えば、VRM内に以下のテクスチャがあったとします。
- 512*512のテクスチャが3枚
- 1,024*1,024のテクスチャが2枚
- 2,048*2,048のテクスチャが1枚
このVRMに含まれるテクスチャの合計ピクセル数の計算は以下となります。
- (512*512 * 3) + (1,024*1,024 * 2) + (2,048*2,048 * 1) = 7,077,888
例えば品質を「最高」に設定している場合、「テクスチャ合計ピクセル数」は 12M であり、このアバターの 7,077,888 は 12M を下回っているため、各テクスチャは圧縮されません。
VRM 0.x
推奨バージョン: UniVRM v0.61.1を推奨します。v0.47以前で作成されたファイルはサポート外と なります。
ボーン
以下の必須ボーンが欠けている場合アップロードできません。
VRM 1.0と異なり、chestとneckが必須である点にご注意ください。
- hips
- spine
- chest
- neck
- head
- leftUpperArm
- leftLowerArm
- leftHand
- rightUpperArm
- rightLowerArm
- rightHand
- leftUpperLeg
- leftLowerLeg
- leftFoot
- rightUpperLeg
- rightLowerLeg
- rightFoot
マテリアル(シェーダー)
- Standard
- VRM/MToon
- UniGLTF/UniUnlit
- ※Standard系シェーダーはcluster上ではUniUnlitに変換されて表示されます。
アップロード時の制限値
VRM0.xでは、自動リダクション時にメッシュの削減やマテリアルの統合などを行う仕様を前提に、常識的な利用範囲を促す内部制限はありますが、基本的には制限を気にすることなくアバターのアップロードを行うことができます。(内部制限は変更の可能性があります。)
アプリ内での表示仕様
動作の安定性を確保するため、アプリ内のグラフィック設定によって、自動リダクションされた各 品質のモデルを切り替えて表示します。VRM0.xでは、システム側でメッシュの削減、マテリアルの統合、テクスチャのリサイズが自動的に行われる他、一部の品質では揺れもの(SpringBone)が動作しません。
なお、VRM 0.x形式は、アップロードしたモデルのポリゴン数が各品質の制限値を上回っている場合、削減処理により形状の変化や関節部の隙間(ポリゴン割れ)が生じることがあります。
| 項目 | 最高 | 高 | 中 | 低 |
| ポリゴン数(上限) | 80,000 | 64,000 | 32,000 | 32,000 |
| テクスチャ合計ピクセル数 | 12M |
4M |
4M |
2M |
| マテリアル数 | 100以下 |
100以下 |
100以下 |
100以下 |
| アウトライン | あり※1 | あり※2 | あり※3 | あり※3 |
| 揺れもの (SpringBone) | あり |
あり |
なし |
なし |
- ※1:80,000ポリゴン以下のアバターのみ有効
- ※2:64,000ポリゴン以下のアバターのみ有効
- ※3:32,000ポリゴン以下のアバターのみ有効
- コンストレイント: VRM 0.x系では仕様上サポートされていません。
※上記の各制限はアップデート等により変更となる可能性があります。
参考: Unity上でのRigのインポート設定
アップロード時の制限項目ではありませんが、アバターを正しくアニメーションさせるためには以 下の要件に沿っている必要があります。
- MecanimのAnimation TypeがHumanoidになっていること
- アバターの正面がZ+を向いていること
- アバターのボーンが正常にTポーズをとっていること
Humanoidについての詳細はUnity - マニュアル: アバターの設定で確認できます。
▼インポートに問題が起きている状態
▼正しくインポートされている状態