最近性懲りもなくOculus Quest2を買ってしまった。VRChatのWorldはUnityで作れるらしいと知ったのでサクッと試してみました。
環境準備
外部SDKを使う場合、公式が推奨するUnityバージョンじゃないと動かなかったりするので、しっかり環境を整えていきます。
公式の環境設定情報をみながらやります。
https://docs.vrchat.com/docs/setting-up-the-sdk
ちょっとSDKバージョン古いかもですが、日本語訳もある。
Googleで検索すると、Unity 2018.4.20f1
を使えという情報が多いけど、VRChat SDK3では2019.4.31f1
が推奨なのでこっちを使いましょう。
https://docs.vrchat.com/docs/current-unity-version
指定バージョンのUnityをインストールします(Unity Hubはインストールされている前提)。下記URLから2019.4.31を探してUnity Hub
ボタンを押したらUnity Hub経由でインストールされます。
https://unity3d.com/get-unity/download/archive
続いて下記URLからVRChatのSDK3をダウンロードしておきます。
https://vrchat.com/home/download
Unityがインストール出来たら3Dで新規プロジェクトを作成します。
Unityのいつもの開発画面が開くのでSDKをインポートします。Assets > Import Package > Custom Package
を選択して、インポート。
インポートが終わると謎のダイアログが出てきてGet Started with Udon
なるボタンがある。Udonと一緒に学べるらしい。誰やUdon。開いてみたら単にチュートリアルへリンクしてくれるだけだった。
続いて、VRChatにログインしておきます。Worldをアップロードするために必要になります。VRChat SDK > Show Control Panel > Authentication
でログインする。
ここまで出来たら開発準備完了。
Worldを作る
今のところなんにも置いていないのでこの状態でWorldに入ると無限落下するだけの謎Worldになってしまいます。とりあえず着地出来るようにしておきましょう。
公式情報。あんまり親切ではない。
https://docs.vrchat.com/docs/creating-your-first-world
まずはただの地面を置く。Hierarchi > 3D Object > Plane
で設置して、X,Y,Zともにゼロにしておく。
どうやら、VRC_SceneDescriptor
というものの設置が必要らしい。ちょっとよくわからんかったので、公式に書いてある方法として、とりあえずPrefab
からVRCWorld
を置いちゃいます。
ここがWorldに入ったときのスポーン地点になるようなので、X,Y,Zをゼロにしておきます。
謎の地面の上にいるだけだと面白みがないと思ったので、座れる椅子と鏡を設置しておきます。こちらもPrefab
の中にあるVRCMirror
とVRCChair
をドラッグ&ドロップします(座標は適当で)。
とりあえず最低限これでOKだろう。
ビルドする
VRChat SDK > Show Control Panel > Builder > Setup Layers for VRChat
を選択。スクショ取りそこねた。
続いてSet Collision Matrix
を選択。
これでOK。Build & Publish for Windows
を押して公開だ!!!
と思ったらなんかダイアログが出る。
Welcome the VRChat SDK! Before you can upload avatars or worlds to VRChat, you'll need to spend more time enjoying the app. We do this for security reasons, and so you can learn more about us. When you get the ability to upload, we will notify you via email and in VRChat. For now, you can learn and test on your own device. To get started, check out the resources below. Thank you for your patience, we can't wait to see what you'll build!
要するに、もっとVRChatで遊んでくれないとWorldを公開する権限あげられないよ!セキュリティが理由だからね!ってこと。
いったいどのくらい遊んだらアップロード出来るようになるのか気になったので調べてみた。明確な基準は公開されていないけどプレイ人数やフレンドの数とかで判断されてると考えるのがよさそう。
https://koshishirai.com/unity-vrchat-avatar-upload-solution/
仕方ないのでローカルで実行して意図した通りになっているか確認だけしておく。
VRChat SDK > Show Control Panel > Settings > VRChat Client > Installed Client Path
をVRChatアプリのパスに変更しておく必要がある。
手元の環境ではWindowsでSteamでインストールしているのでC:\Program Files (x86)\Steam\steamapps\common\VRChat
というパスになった。
VRChat SDK > Show Control Panel > Builder > Build & Test
から実行してみる。
できたああああああああ!!
椅子にも座れるぞ!!