アバター導入方法 Step.4a : SDK2版

この章ではVRCSDK2を使用したアバターのアップロードを行います。



【Twitterや検索からこの記事にたどり着いた方へ】

VRChatへのアバターアップロードは「必ず公式が指定するUnityのバージョンでアップロードする」必要があります。
「最新バージョン」だったり「公式指定と異なるバージョン」のUnityからセットアップしてもアバターアップロードができません(Unity上では成功してもVRChatのアバター欄で表示されないなどの事象が発生します)。

VRChatが指定するUnityのバージョンはこちらで確認できます。

現在の指定バージョンは Unity 2019.4.31f1
ですので、お間違いの無いようご注意ください。


この記事では「VRCSDK2」を使用してアップロードする古い記事です。
お使いのアバターがVRCSDK2までの対応であればこの記事の手順でアップロードしてください。

もし「VRCSDK3」対応アバターの場合はこちらではなく
アバター導入方法 Step.4b : SDK3版
の記事をご覧ください。


プロジェクト画面左のメニューから「プロジェクト」を選択し、右上にある青の「新しいプロジェクト」をクリックします。

新しいプロジェクトを作成する画面が表示されます。

必ずウィンドウのタイトルが「Unity 2019.4.31f1」で始まっていることを確認してください。

  • テンプレート:「3D」を選択します。
  • プロジェクト名:プロジェクトの名前になります。ここに入力された文字はフォルダ名になります。アバターの名前等ではありません。
  • 保存先:プロジェクトフォルダの保存先です。容量が多くなるため、外部ストレージなど余裕がある場所をオススメします。

全て入力し、問題なければ「作成」ボタンを押します。

Unityの画面が表示されました。新規プロジェクトの場合は必ずこの画面になります。

VRChatSDKのインポート

先程の画面をそのままに、ダウンロードした「VRCSDK」をインポートします。

「Assets>Import Package」の「Custom Package…」をクリックして、カスタムパッケージの選択画面を出します。

ダウンロードした「VRCSDK2」を選択し、「開く」ボタンを押します。

しばらくすると「Import Unity Package」というウィンドウが表示されます。
これがUnitypackageのインポート画面です。
チェックされている項目がインポート対象になります。
今回は全てインポートするのでそのまま右下の「Import」をクリックします。

インポートには時間がかかるため、プログレスバーが消えるまで待ちます。

インポートが終わり「Assets」に「VRCSDK」のフォルダが出来ていればインポート完了です。

起動時に「VRChat SDK」のウェルカムウィンドウが表示される場合があります。
特に理由がない限りは右下の「Show at startup」のチェックボックスを外して右上の「×」でウィンドウを閉じてしまって構いません。

Dynamic Boneについて

VRChat内では、揺れもの(髪の毛やスカートなど)の表現に「Dynamic Bone(ダイナミックボーン)」という有料アセットを使用できます。
基本20 USDで、セール等により14 USDくらいのときもあります。

このDynamic Boneは無くても問題ありませんが、表現の幅を広げるために購入するユーザーが多いです。
ただ、デスクトップモードでしかプレーしない方やQuestのみの場合は持ち腐れになるため注意が必要です。

ただし、これらのアセットは「後からImportしても適用されない」のでご注意下さい。
※設定済みPrefabにDynamic Boneの設定がされていても、Dynamic Boneがインポートされていない場合はMissingとなり不明なコンポーネント扱いになります。そのため後からDynamic Boneをインポートしても戻りません。
その際は新しくプロジェクトを作り直す必要があります。

今回は「初めてのモデルアップデート」ということで、Dynamic Boneのインポートは行わずに進めていきます。
Dyanmic Boneのインポートあり版についてはこちら。


モデルのインポート

Booth等で購入した、または無料配布されているモデルを用意して下さい。

今回解説で使用するモデルは無料配布されている「ユノン」ちゃんを使用します。

ユノン

価格¥ 0
ポリゴン数△ 19,215
シェーダーReflexShader

まずは、ダウンロードしたモデルのUnitypackageをUnityプロジェクトにインポートします。

ユノンちゃんの場合は「VRM」と記載が無い方のunitypackageを選択します。

VRCSDK同様「Import」でプロジェクトにインポートします。

アバターのインポートも時間がかかるため、気長に待ちましょう。
※Shader(シェーダー)が同梱されていると長くなる傾向があります。

アバターのUnitypackageのインポートが終わると、「Assets」にいろいろなフォルダが出来ていると思います。

その中に「Prefab(プレハブ)」というフォルダと、Unityのマークをした「.unity」というアイテムが存在します。
それぞれを簡単に解説すると、

【.prefab】
調整済みアバター1体が入ったアイテム
【.unity】
調整済みアバターが1体以上入ったアイテム

となります。

Prefabは左のような青白い四角のアイコンです。

※サンプル画像ではアバターがマテリアルエラーになっていますが、今回は問題ありません。

Prefab、Unityどちらを使っても問題ありませんので、順番に解説します。


.prefabを使ったセットアップ

Boothで販売されているアバターの導入方法では最もポピュラーです。

「Prefab」フォルダにある「Yunon_Full.prefab」を「Hierarchy(ヒエラルキー)」にドラッグ・アンド・ドロップ(以下「D&D」)します。
※Hierarchy:Unity上でモデル類を扱うためのフォルダのようなもの。

すると、HierarchyにPrefabが読み込まれ、画面中央のSceneにモデルが表示されます。これでアバターが正常に読み込まれました。

※Projectタブ内でモデルがピンク色になっていますが、Hierarchyに配置すると正しい表示になります。
 もしHierarchyに配置してもピンク色のままの場合はエラーとなっている可能性があります。
 トラブルシューティングの「アバターがピンク色になる」をご確認ください。


.unityを使ったセットアップ

一部の販売アバターはPrefabではなく.unityにセットアップ済みモデルを用意しているパターンも存在します。

Prefabでの読み込みと同様に、UnityファイルをHierarchyにD&Dします。

すると、最初からあるデフォルトの「SampleScene」の下に、先程D&Dした「Yunon_Scene」が読み込まれているのが確認できると思います。

この状態ではSceneが2つ開いている状態になります。
「Yunon_Scene」にあるアバターを複製して「SampleScene」のSceneで作業しても良いですし、そのまま「Yunon_Scene」のアバターを弄っても構いません。

今回は複製して「Yunon_Scene」の中身を弄らない前提で進めます。
これは前述のPrefabと同じ状況にするためです。

「Yunon_Full」を選択した状態で「Ctrl+D」を押すと、そのPrefabが複製されます。

複製された「Yunon_Full (1)」のPrefabを「SampleScene」のSceneにD&Dし移動します。

その後、「Yunon_Scene」はHierarchy上に不要となるので「Yunon_Scene」フォルダの右端にある「▼≡」をクリックし、中から「Remove Scene」を選択します。

「Scene(s) Have Been Modified」のウィンドウが表示されます。
これは「.unityが変更されてるけど変更を保存する?」と聞かれています。
今回は特に変更を加えていないので「Don’t Save」を選択します。

これでHierarchy内に、「Yunon_Full (1)」のアバターが残ります。
状況を揃えるため、リネームして「Yunon_Full」にしておいて下さい。
※名前をダブルクリックするか、選択状態でF2を押すとリネーム出来ます。


DynamicBoneのコンポーネントを削除する

DynamicBoneのコンポーネント(Collider等)が設定されているアバターを、DynamicBoneをインポートする前にインポートするとそれらのコンポーネントがmissingとなり、アップロード時にエラーとなってしまいます。

そこで、missingとなっているコンポーネントを一括削除してくれる「Missing Remover」という無料のソフトを使用します。

ダウンロードした「Missing Remover」を開くとライセンスとUnityPackageが入っているので、UnityPackageをインポートします。

インポートが終わったら、メニューバーに「RiClothes」という項目が追加されていますので、その中の「MissingRemover」をクリックして開きます。

※プロジェクト内でエラーが発生している場合「RiClothes」および「MissingRemover」のメニューが表示されない場合がありますので、プロジェクト内のエラーを解消してからインストールしてください。
エラー解消のトラブルシューティングについてはこちらこちらをご確認ください。

このようなウィンドウが出てきたら、「アバター(Avatar)」の横にある「None (Game Object)」に、Hierarchyに設置してあるアバターをドラッグアンドドロップします。

その後、「実行(Run)」ボタンを押すとスクリプトが実行され「Missing」となっているコンポーネントが削除されます。

これでDynamicBoneのmissingが無くなりましたのでアップロードできる状態になりました。


アバターを表示した状態で画面上部のメニューバーにある「VRChat SDK」をクリックします。

上から二段目にある「Show Control Panel」をクリックします。

すると、VRChat SDKが立ち上がります。
「Username」と「Password」にVRChatのアカウント情報を入力して「Sign In」をクリックします。

初回のみ、このようなウェルカム画面が立ち上がります。
読み飛ばして構いませんので「OK」をクリックします。


トラストレベル不足について

アバターアップロードが可能になるのはトラストレベルが「New User」から、ワールドアップロードが可能になるのは「User」からになります。

トラストレベルがNew User/Userに届いてない場合は、「Account」欄にそれぞれ「Not yet allowed(まだ許可されていません)」と表示されます。

トラストレベルが届いていない場合は「Himiko Avatar World」などで公開されているパブリックアバターを使うなどしてトラストレベルが上がるまで遊びましょう!


トラストレベルが問題ない場合は「Allowed to publish xxx」と表示されます。

SDK上部のメニュー欄「Builder」をクリックすると、アバターのビルド画面に切り替わります。

ここではアバターに関する様々な情報が表示されます。
アバターパフォーマンスはこの画面で確認できます。

一番上に「Overall Performance」と表示されていますが、これがアバターのパフォーマンスで、このアバターは「Medium」評価になります。

もし「This avatar has mipmapped textures without ‘Streaming Mip Maps’ enabled.」というエラーが出ていた場合は「Auto Fix」を押しましょう。


アップロード画面に表示されるアイコンの種類について

エラーアイコン
このアイコンがあるとアップロードできません。
最初「Streaming Mip Map」の対応のために表示されている場合があります。
Dynamic BoneなどがMissingになっている場合などが考えられます。
注意アイコン
UTS2などを使用している場合に出ることがあります。
またアバターが小さすぎる場合にも表示されることがあります。
アップロードには支障ありません。
パフォーマンスアイコン

ここに表示されているアイコンはエラーではありませんので、どのアイコンが出ていてもアップロードは可能です。

その項目が Performance Rank : Very Poor に該当する項目です。
その項目が Performance Rank : Poor に該当する項目です。
その項目が Performance Rank : Medium に該当する項目です。
その項目が Performance Rank : Good に該当する項目です。
その項目が Performance Rank : Excellent に該当する項目です。

何もエラーが出ていなければ、一番下にある「Build & Publish」ボタンを押すと、プロジェクトをビルドしてくれます。

ビルドが完了すると画面のようになり、問題が無い場合は後ろの「Game」画面にアップロード画面が表示されます。

基本的には赤の部分のみで問題ありませんが、全ての項目を解説します。

  • Avatar Name:アバター名です。自分がアップロードしたアバターを選択する画面で表示されます。
  • Description:アバターの説明欄です。未入力で問題ありません。備忘録やメモとして使用してもOK。
  • Content Warnings:アバターが下記の4項目に該当する場合はチェックを入れますが、基本は入れなくて大丈夫です。
名称説明
Nudity/Sexuality裸・服を着ていない状態
Blood/Gore流血表現・グロテスク
Realistic Violence暴力表現
Other NSFWその他NSFWに該当する場合
  • Sharing:アバターをPrivateにするかPublicにするかの選択。
    基本的にはPrivateにすることを推奨します
    著作権が自己にあり他の人へクローンを許可する場合のみPublicにします。
    Booth等で販売されているアバターの殆どはこのクローニングを明確に禁止していますので注意して下さい(例外:リュージュ・コスモクロエなど)。

最後の「The above information is accurate and I have the rights to upload this content to VRChat.(上記の情報は正確であり、このコンテンツをVRChatにアップロードする権利を持っています。)」にチェックを入れ、「Upload」ボタンを押すとアップロードされます。

軽いアバターであれば2~30秒ほどで終わります。

「Update Complete!」と表示されればアップロードが完了しました!
これ以外のウィンドウが表示された場合はアップロードに失敗している可能性がありますので、トラブルシューティングのページを参考にしてみて下さい。


お疲れさまでした。これでアバターがアップロードされました。
あとはVRChatにログインして確認しましょう。

「AVATAR」タブの「My Creations」欄にアップロードしたアバターが表示されます。
アバターを選択し「Change」を押すとそのアバターに着替えることが出来ます。

これでアップロード方法は以上になります。お疲れさまでした。