VRChatでMiniGolfワールドを作る1(デモを動かす編)

2023/07/02に公開

VRミニゴルフいいよね…

さて、VRChatでもMini Golfができるワールドがいくつかあります。
例えばPutt Putt Pondなどは人気のワールドです。
Junkyard Mini Golfも比較的最近できたMini Golfのワールドです。

https://www.vrcw.net/world/detail/wrld_d62918a1-9172-40cd-93a9-5d8546dad6cf

このJunkyard Mini Golfで使われているシステムは、作者の方がオープンソースで公開しています。
OpenPuttと言います。
https://github.com/mikeee324/OpenPutt

OpenPuttを使えばVRChatで自作のMini Golfワールドを作りまくれるというスンポーです。
やっていきましょう!

準備

基本的にOpenPutt公式GitHubページのDependencies,Installationの内容通り進めます。

前提

  • VRChatでWorldを作成しUploadしたことがある状態
  • バージョン
    • VCC
      • v2.1.1
    • Unity
      • 2019.4.31f1

必要なAssetをDownload

OpenPuttで使う外部のAssetをあらかじめダウンロードしておく。

VCCにPackageを登録する

VCCにはPackageを登録できます。登録しておくと自動で最新のアップデートに追従できます。
OpenPuttもその仕組が利用できますので、登録します。
Cyan Player Object PoolというPackageも使いますので、登録します。

以下サイトにある「VCCに追加ボタン」を押すとアプリのVCCに登録。

プロジェクトの作成

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
  • 下の方に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でパターを呼び出す
    • コースの開始位置にボールを持って近づくとボール置くビームが出る
    • ボールを置いてある状態で、パターをふるとボールが転がる

https://youtu.be/CN29A4lA3zo

ここまでで、自分の環境で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つのホールを動かしてみます。
https://zenn.dev/tyaahan/articles/82b6ad151c699f

Discussion