❹Unityからアバターをアップロードする準備をする
==========================================
(手順:Ⅰ~Ⅵまで存在)
Ⅰ:"VRCHAT SDK"と、 "UniVRM + VRM Converter for VRChat"をインストールする
ここでUnityの起動!といきたいところですが、その前にダウンロードしておきたいものが2つあります。
1つめが、VRChat SDKです。こちらは、Unity上でVRChatのデータを扱えるようにするソフトウェア開発キットにあたります。
ダウンロードは以下のページにアクセスし、
Avatars 2.0 で作成したい方は、Download SDK2の青いボタンをクリック。
Avatars 3.0 で作成したい方は、Download SDK3-Avatarsの青いボタンをクリック。
(筆者はまだこの先の手順を、Avatars 2.0でしか試したことがないため、本記事ではDownload SDK2を選択した場合で書かせていただきますが、仕様上はおそらくAvatars 3.0を選択しても問題ないかと思います。)
⇒3.0版で記事を書き直す(近い将来、2.0が使えなくなることを想定して)
(Avatars 3.0は2020年夏に追加された機能で、Avatars 2.0に比べてできることがいろいろ増えています。(詳しく知りたい人はこちらびまとめを見てみるといいかも:VRChat Avatar 3.0 まとめ) 本記事ではセシル変身アプリで作成したアバターをVRChatにとりあえず持っていくことをメインにしているため扱いませんが、Unityで詳細設定をいじって、アバターのギミックを増やしたり、ポーズや表情の変化をたくさん用意したい方は3.0を選択してみてもいいかもです。)
このようなファイルがダウンロードできれば1つめは終了です。
2つめが、UniVRMと、VRM Converter for VRChatです。UniVRMは、Unity上でVRMファイルを扱えるようにするツールで、VRM Converter for VRChatは、VRMファイルをVRChatで扱えるデータに変換するツールにあたります。この2点はセットでダウンロードできます。
ダウンロードは以下のページにアクセスし、
最新版が一番上、もしくは一番上から2番目になっていると思うので、そちらをダウンロードします。(この記事を作成時はv24.0.3)
(有料のは開発者への支援になっているものなので、無料のでも問題はない)
すると、zipファイルがダウンロードされると思うのでこれを展開し、
新しくできたフォルダに、"VRM Converter for VRChat-バージョン名 + UniVRM-バージョン名.unitypackage" が入っていれば完了です。
Ⅱ:新規プロジェクトを作成する
ということで、ここからUnityを起動していきます。
まず最初に、新規作成(右上の青いボタン)をクリック。
(複数のバージョンのUnityがインストールされている場合は、▼(新規作成の右隣)をクリックし、2018.4.20f1を選択)
すると以下の画面が表示されるので、テンプレートは3Dを選択し、プロジェクト名と保存先を入力し、作成をクリックします。
(プロジェクトファイルはこれからどんどん増えていくと思うので、後で見たときにすぐ何か分かる名前にしておくといいかも)
こんな画面が出れば、起動完了です!
(ちょっと補足)
デフォルトのレイアウト(画面表示)だと後々不便なところが出てくるので、先にレイアウトの変更を行っちゃいます。
右上の"Defalut ▾"となっているところをクリックし、一覧の中から"2 by 3"を選択します。
こんな感じになれば正解
(編集画面内の各項目のざっくりとした説明)
Scene&Game:その場に何があるか表示するやつ (映像編集ソフトでいう映像の画面に相当)
Hierarchy:その場に何のオブジェクトが置いてあるかの一覧 (映像編集ソフトでいうタイムラインに相当)
Project:素材置き場 (映像編集ソフトでいうビンに相当)
Inspector:選択した項目の詳細を表示&編集できるやつ
Ⅲ:"VRCHAT SDK"と、 "UniVRM + VRM Converter for VRChat"の機能を追加する
❺Ⅰでダウンロードした、
この2つのファイルを、SDK→UniVRM+VRM Converterの順で1つずつ、下の赤丸で囲った場所(ProjectのAssets)にドラッグ&ドロップします。
1つドロップする毎に、以下のような画面が表示されると思うので、右下のImportを押し、
下のような表示が完了してから、次の手順に移ってください。
完了すると、Projectの画面がこんな風に変わるはずです。
Ⅳ:VRMファイルをインポートする
❸で作成したVRMファイルを、先ほどと同じ場所にドラッグ&ドロップします。
読み込みが完了するまでしばらく待つと、人型のアバターがAssets内に作成されるので、
今度はこれをHierarchyにドラッグ&ドロップします。
すると、左画面に作成したアバターが表示されるはずです。
今度は、このSceneを使っていろいろと操作してもらいたいので、簡単な操作説明を先にしちゃいます。
マウスのホイール:拡大・縮小
ホイールを押しながらマウスを動かす:見る方向は固定で見ている場所を移動
右をクリックしながらマウスを動かす:見ている場所は固定で見る方向を変更
Scene右上の十字(所々赤くなってたり緑になってたり青くなってたりするやつ、空間内のx軸y軸z軸に対応)
こちらはクリックすると、それぞれ選択した側から見ているように見ている方向を変更する。
十字の下の文字(Front, Right, Left, Back, Persp, Isoなどが書かれてるはず)
こちらは消失点が奥に存在するように(立体的に)見るか、消失点がないように(平面的に)見るかの変更ができる。
(こちらは後で実際に操作するので、まだ触れないで欲しいのですが、)
アバターから出てる3方向の赤・緑・青の矢印:空間内のx軸y軸z軸に対応し、それをスライドすると軸に沿った方向に移動
ちなみにアバター本体の座標・角度・大きさは、
Hierarchy内のアバターを選択した際に、一番右のInspector内のTransformに表示される、
Position, Rotation, Scaleに対応しています
Ⅴ:First Person Offset(=視点=そのアバター使用者の目が来る位置)を変更する
セシル変身アプリ製(ちなみにVRoid Studio製も)のアバターは、実はこのままアップロードすると、アバター使用者の目の位置が首の中に存在するため、足元は胸で見えないし、近距離で相手といちゃいちゃしようにも目線の位置が合わない...といった問題が発生します。
(アバターの首元に埋っている、First Person Offsetがアバター使用者の目の位置に対応)
座標位置的に考えると、このFirst Person Offsetを、
x軸(アバターの左右)上の位置はそのままで、
y軸(アバターの上下)上の位置を上へ、
z軸(アバターの前後)上の位置を前へ移動してあげればよいので、
yz平面を表示して、緑と青の矢印をスライドし、目の位置に来るように移動します。
だいたいこの位置に来れば大丈夫。
微調整をしたいという方は、
Hierarchy内のアバターを選択時、Inspectorの下の方にある、
VRM First Person内のFirst Person Offsetの数値が対応しているので、そちらを変更してみて下さい。
First Person Offsetの調整が終わったら、Inspectorの上部にある、"Overrides ▾"をクリックし、
Apply Allを選択します。
(筆者も詳しいことが分かってないのだけれど、おそらく今の目線位置の変更を保存する操作っぽい)
Ⅵ:VRChat用のデータに変換する
今までUnity上で操作してきたアバターは、VRChat用の形式にはなっておらず、変換をする必要があります。
アバターを選択した状態で、Unity上部のメニューバーにある、VRM→Duplicate and Convert for VRChatをクリックします。
すると、このような画面が表示されるはずです。
今回はQuest対応を含めてまとめてやってしまいたいので、
まず、"For PC"の"揺れ物"の"Convert Vrm Spring Bones Only"を、"Remove Swaying Objects"に変更します。
(※Dynamic Boneを導入できる場合、"Convert Vrm Spring Bones Only"のままでいいかもしれない...?(筆者未検証、かつQuest対応の設定とも絡んできそうなので、後日その辺検証してまとめます...(一応参考先:VRChat 初心者向けUnity備忘録のp.74)))
つづいて、"For Quest"の"For Quest"に☑します。
(このような警告が出ると思いますが、無視してもらって大丈夫です。)
そしたら、右下の"複製して変換"をクリックし、
このような画面が表示されると思うので、保存を押します。
(PC向けとQuest向けで細かく設定を分けてやりたい場合(中級者以降向け)には、この段階で名前を区別できるように保存しますが、今回は飛ばします。)
完了すると、このような画面になると思うのでOKをクリックします。
(先ほどと同様、こちらの警告も無視してもらって構いません。警告内容の意味は、Quest向けにはやや負担のかかるアバターなので、ある操作(show avatar)をしてもらえないと、デフォルトではロボットのアバターとして見えるよっていうことです。VRMファイルを負担のかからない状態でアップロードするには、初心者にはかなりハードルが高いこと、また、ある程度親しく交流する人同士ではshow avatarを既にしていることが多いと思うので、無視した次第です。)
するとHierarchy、Project内のAssetsにVRChat用のデータに変換されたアバターが登場します。
PC向けアバターのアップロードの準備自体はこれで終了になります。