VRChatでMiniGolfワールドを作る1(デモを動かす編)
VRミニゴルフいいよね…
さて、VRChatでもMini Golfができるワールドがいくつかあります。
例えばPutt Putt Pondなどは人気のワールドです。
Junkyard Mini Golfも比較的最近できたMini Golfのワールドです。
このJunkyard Mini Golfで使われているシステムは、作者の方がオープンソースで公開しています。
OpenPuttと言います。
OpenPuttを使えばVRChatで自作のMini Golfワールドを作りまくれるというスンポーです。
やっていきましょう!
準備
基本的にOpenPutt公式GitHubページのDependencies,Installationの内容通り進めます。
前提
- VRChatでWorldを作成しUploadしたことがある状態
- VCC・Unityのインストールや、VRChatアカウント設定、トラストランク等の説明は省略
- 簡単なWorld作成の練習にはしぐにゃもブログさんのワールド作成記事がおすすめ
- バージョン
- VCC
- v2.1.1
- Unity
- 2019.4.31f1
- VCC
必要なAssetをDownload
OpenPuttで使う外部のAssetをあらかじめダウンロードしておく。
- VUdon-ArrayExtensions
- Udonの配列拡張用Plugin
- 0.3.0
-
https://github.com/Varneon/VUdon-ArrayExtensions/releases/tag/0.3.0
- 上記サイトからcom.varneon.vudon.array-extensions-0.3.0.unitypackageをDownload
- Udonの配列拡張用Plugin
VCCにPackageを登録する
VCCにはPackageを登録できます。登録しておくと自動で最新のアップデートに追従できます。
OpenPuttもその仕組が利用できますので、登録します。
Cyan Player Object PoolというPackageも使いますので、登録します。
以下サイトにある「VCCに追加ボタン」を押すとアプリのVCCに登録。
-
OpenPutt
- Mini Golf system 本体
- https://mikeee324.github.io/OpenPutt/
-
Cyan Player Object Pool
- OpenPuttで使う必須Package。プレイヤー同期周りを処理するらしい。
- https://cyanlaser.github.io/CyanPlayerObjectPool/
プロジェクトの作成
VCC経由でUnityプロジェクトを作成します。
VCCとPackage追加
- VCCを立ち上げCreateNewProject
- Select template から WorldProject with U#を選択
- Project NameとProject Locationは適当に入力(minigolf_test01とか)
- Create Projectボタンを押す
- プロジェクトが作成され、Manage Packagesが表示される
- ここではUdonSharp 1.1.8がすでに入っている状態です
- バージョンが1.1.8以上ならOK
- ここではUdonSharp 1.1.8がすでに入っている状態です
- 下の方にCyan Player Object Poolがあるので「+ボタン」を押して有効化
- 現段階ではOpenPuttは有効化しないでください!
- 先に追加するとエラーが出るので後で追加します
- プロジェクト一覧からOpen ProjectでUnityを起動
アセットの追加
Unity上での作業となります。
- VUdon-ArrayExtensionsをAssetに追加
- Unityのプロジェクトウィンドにドロップする
- Unityを立ち上げたままの状態でVCCを操作して、OpenPuttを追加する
- VCCので、先程作ったプロジェクトの右にあるManageProjectボタンを押す
- 下の方にOpenPuttがあるので、有効化する
- OpenPuttがうまく追加されると、Unity画面でOpen Putt Pluginのロードが始まる
- エラーが出なければOK
なんとかUnityに導入できました🤗
デモシーンを動かす
UnityのプロジェクトにOpenPuttが導入できました。
導入したPackageにはすぐに動かせるデモシーンが含まれています。
試しにシーンを動かしてみましょう。
- プロジェクトウィンドでpackages/OpenPutt/Runtimeを開く
- OpenPuttDemosceneファイルをダブルクリックでシーンを開く
- シーンが展開される
- メニューバーにあるVRChat SDKを立ち上げ、ログインする
- トラストランクが足りないとここでエラーとなります
- ビルドしてローカルでテストを行う
- VRChat SDKのBuilderタブを開き、Local TestingのBuild & Testボタンを押す
- ローカルのデスクトップモードでOpenPuttのデモワールドが動作します
- デスクトップモードの操作はBでボールを握る、Mでパターを呼び出す
- コースの開始位置にボールを持って近づくとボール置くビームが出る
- ボールを置いてある状態で、パターをふるとボールが転がる
ここまでで、自分の環境でMini Golfを動かすことができました😉
※デスクトップだと操作は非常に難しいので、動画ではVRモードで動かしています。
VRモードでのローカルテスト方法
Quest2+AirLinkを使ったVRモードでのローカルテストの簡単な方法
- Quest2でAirLink経由でSteamVRに入ります
- SteamVR起動しただけで、アプリはまだ起動しません
- UnityでLoaltestingでForce Non-VRのチェックを外しBuild & Testボタンを押す
- Quest2側でLocalのVRChatが起動する
VR上のOpenPuttの動作
- 右手を後ろに持っていくとパター、左手を後ろに持っていくとボールが取り出せる
- トリガーを引いた状態でパターをふる
次は?
プロジェクトの準備とMini Golfシステム動作確認はうまいこと行きました😉
とにかく1つでも動くものがあれば、より難しいステップへの挑戦ができるというもの。
次の記事では、0からワールドを作成して1つのホールを動かしてみます。
Discussion