厳密にはでっかくしたり小さくしたアバターをアップロードする方法です。
なんかプロジェクト作成から書き始めたら導入がくどくなったわりにゼロからの初心者に優しくないという。あとで細々調整したい。
巨大化するときの諸注意
まずはじめに、巨大化してワイワイするのはいいけど、周りのひとに迷惑がかからないようにやってね!
VRChatのたいていのワールドには音声の距離減衰が存在します。離れると声が小さくなって、次第に聞こえなくなるアレです。
一定以上巨大化すると自分の耳や口の位置が地上からとても離れた位置になってしまうため、普通サイズの人たちの声はおろか、一緒に巨大化した人たちの声すら聞こえません。
もしも足元で明らかに嫌がられてたり、邪魔だとか罵声を浴びせられていても気がつくことができないので、そのあたり留意してTPOをわきまえて巨大化してください。
用意するもの
- 現行バージョンのVRChatに対応しているUnity
- 最新版のVRChat SDK
- 巨大化、または小さくしたいアバターのデータ
「現行バージョンのVRChatに対応しているUnityなんてわからないから最新バージョンのUnityでいいや……」という考えで最新バージョンをダウンロードすると間違いなく爆死します。ちゃんと確認してください。
この記事を書いた時点ではUnity 2017.4.15f1が対応しているバージョンなので、記事が古くなっていなければこのバージョンで行けるかも。
今回、巨大化させたり小さくするのはドラコちゃんです。
VRChat想定モデル 「ドラコちゃん」配布します。https://t.co/2zHzXK5dPX
Boothでも販売しています。こちらは投げ銭としてどうぞ。https://t.co/aiWi8VhopE#VRChat pic.twitter.com/mE16EvVX2u— ひばフレ (@Hibax_FRE) 2018年7月15日
ドラコちゃんの大きさを変える場合、以下の二つも追加で用意します。
- Unity-Chan Toon Shader2.0(UTS2.0)
- DynamicBone(有料、なくてもよい)
UTS2.0はこちらからダウンロードできます。
ユニティちゃんトゥーンシェーダー
ダイナミックボーンはアセットストアで販売されているので購入してください。
手順
プロジェクト作成から説明していくので、わかるところは各自飛ばしてください。
プロジェクト作成~インポートまで
まず現行バージョンのVRChatに対応しているUnityを開き、上にあるNewボタンから新規プロジェクトを作ります。
今回、Project nameはわかりやすく「VRChat_Draco」にします。このプロジェクト名は任意ですので好きなものにしてください。
名前をつけたらCreate projectを押します
次に、以下の順番でインポートをおこないます。
- 最新のVRChat SDK
- UTS2.0
- DynamicBone(購入している場合のみ)
- ダウンロードしたドラコちゃんフォルダの中にあるDraco.unitypackage
正確に順番を守る必要はありませんが、必ずドラコちゃんのunitypackageが一番最後になるようにしてください。
モデル読み込み~大きさ変更まで
次にモデルデータの読み込みです。
Assets>どらこ内にあるdraco.unityファイルをHierarchyにドラッグ&ドロップします。
どらこのモデルを選択した状態で、Inspectorタブの下の方がこんな感じになっていればうまくいっていると思います。
ただし、DynamicBoneを導入していない場合は、緑のラインがいっぱい表示されてるやつは表示されません。
次に、いよいよアバターの大きさを変更します。
どらこを選択した状態で、Inspectorタブの上のほうにあるTransformのScaleの値を変更します。
通常は1が並んでいます。このScaleの数値をすべて変更することで大きいアバターを作ったり小さいアバターを作ったりできます。
今回は xを16、yを16、zを16に変更し、16倍サイズに変更します。
次に忘れてはいけないのがview positionの変更です。
この変更を忘れると、アバターとして使用したときの視点が足元になってしまいます。
はじめはこの数値になっているので、Scaleと同じようにそれぞれ16倍します。
xは16倍しても0なのでそのまま、yは24.32、zは0.88にします。
計算機で計算してもいいのですが、Unityは入力部分に計算式を入れると数値計算をしてくれるので、後ろに「*16」とつけると16倍の数値にしてくれます。
「1.52*16」と入力すると勝手に24.32に変わる感じになります。便利なので使いましょう。
アップロード~動作確認まで
上部メニューのVRChat SDK>Settingから自分のVRChatアカウントでログインします。
その後、同じく上部メニューのVRChat SDK>Show Build Control Panelから、コントロールパネルを開きます。
いろいろ英語が表示されますがそのまま「Build & Publish」をクリック。
しばらくするとビルドが済み、アップロード画面に移行します。
任意のアバター名を入力、SharingをPrivateのほうにチェックし、その下の英文にもチェックを入れます。僕は巨大化させる場合はわかりやすいようにアバター名に倍率を入れてます。
ちなみに下の英文は「私にはこのアバターをVRChatにアップロードする権利があります」というような意味です。
で、このままUploadボタンを押してもいいのですが、巨大化させるとUpload Imageがただの背景になってしまうので、少し調整を入れます。見栄えの問題なのでこれはしてもしなくてもいいです。
ヒエラルキーのVRCCamを選択し、InspectorタブがVRCCamのものに切り替わることを確認します。
Transformの数値をこんな感じにいじります。僕もよくわからないので結構適当です。
16倍だからだいたいyとzを16に近くすればいいかなって感じ。カンです。
Upload Imageの設定が済んだら、Uploadボタンを押してアップロードします。
このポップアップが表示されたらアップロード完了です。回線が遅いと結構時間がかかります。
いえーい。16倍のどらこちゃんの自撮りです。
撮影場所はNoneCollisionCityというワールド。巨大アバターに最適化された素敵なワールドです。音声の距離減衰もないので、巨大化してはしゃぐには適しています。
冒頭にも書きましたが、巨大アバターを使うときは他の人に迷惑がかからないようにしてください。NoneCollisionCityであればそういう人が集まりやすいので、ここででっかくなるのが無難かなと思います。
最後に重要なお話
巨大化したはいいけど元に戻れない!?
現在、VRモードだと巨大アバターではメニューの一部が操作できません。(16倍くらいなら連打すれば操作が効くかも)
そのため、メニューからは1倍サイズのアバターに着替えることができません。
打開策として、初期アバターに戻すショートカットキーを使います。
Ctrl+\を同時押しすると初期アバターになることができますので、その間に1倍サイズのアバターに変更するとよいです。
参考ツイート
https://twitter.com/LiSansyo/status/1115535959460683777
いろんな大きさの差分をコピペして作るとき
Unityプロジェクトのヒエラルキーにあるアバターを選択し、Ctrl+Dを押すことでアバターをコピーすることができます。
じゃあ今度は小さいアバター作って下から他の人やワールドを見上げてみよう! というそんなとき。アバターをコピーして同じようにScaleとview positionを下げれば簡単にできます。
ちなみにVRChatではアバターは20cm以下にできないので、小さくするときはScaleを0.2( 5分の1 サイズ)くらいにするのがおすすめです。
ただ一つ気をつけなければならないことがあって、アップロードしたアバターにはそれぞれ「Blueprint ID」というものが割り振られます。仮に今回同じどらこちゃんをダウンロードしてきて同じような手順を踏んだ人同士であっても、絶対に他のアバターとはかぶらない特別なIDです。
しかしUnity上でコピーしたアバターは、 絶対被らないはずのIDがコピー元と同じになってしまいます。
つまり、同じアバターを小さくして使いたいと考えて、コピーしてScaleとview positionを変更し、アバターを用意するまではいいのですが、その後Blueprint IDを必ずResetしてください。
IDがかぶったものをアップロードすると、コピー元のアバターに上書きされてしまいます。
IDのリセットは、
- コピーして増えたアバターを選択
- InspectorのPipreline ManagerのDetachクリック
この手順でおこなえます。
50倍とか100倍とか1億倍とか同じアバターで作りたいひとはこれを忘れないように気をつけてください。