VRChat 非公式日本語ドキュメント

Simple RPG

RPGワールドのプレビュー

このシーンには、レベルアップやクラス変更、敵の撃破が可能なシンプルなRPG体験の例が含まれています。

サンプルの使用方法

persistence-betaブランチを使用して、シーンを開くか、VRChatでサンプルワールドにアクセスしてください。

  1. Assets/Examples/RPGフォルダにあるRPGExampleシーンを開きます。
  2. シーンを再生します。
  3. 対応する台座の上を歩いて、クラスを選択します。
  4. 敵を倒して十分な経験値を得ると、レベルアップします。頭上のダイヤモンドの数でレベルを確認できます。
  5. ワールドに再入室します。
  6. ワールドにロードされると、以前の場所にテレポートされ、最後に選択したクラス、レベル、経験値が保持されているはずです。

サンプルのインポート

以下の手順に従って、このサンプルをUnityプロジェクトに追加してください:

  1. Unityエディタメニューの「VRChat SDK > 🏠 Example Central」から、Example Centralウィンドウを開きます。
  2. リストの中からこのプレハブを探すか、このページのタイトルと同じ名前で検索してください。
  3. 「Import」ボタンを押して、Unitypackageをプロジェクトにインポートします。

技術的詳細

RPGPlayerはPlayerObjectスクリプトを持つGameObjectにアタッチされたスクリプトであり、プレイヤーごとに1つずつRPGPlayerスクリプトがインスタンス化されます。 RPGPlayerは、プレイヤーの頭上にクラスとレベルを示すダイヤモンドを表示したり、他プレイヤーの武器を表示したりする制御を行っています。

また、歩いて近づくことでトリガーされ、自身のRPGPlayerインスタンスにクラス変更を指示する3種類の台座があります。

クラス、最終位置、経験値、レベルはすべてUdonSyncedであり、VRCPlayerObject上にあるため永続化されます。PlayerObjectの一部であるGameObject上のスクリプトに含まれるUdonSynced変数は、自動的に永続化されます。

戦闘はパーティクル衝突を使用して行われるため、各クラスには攻撃として異なるタイプのパーティクルエフェクトがあり、それにはコライダーが設定されています。 敵を倒すと1 expが得られ、レベルアップには4 expが必要です。 敵は倒されてから10〜15秒後にリスポーンします。


更新履歴

  • 0.0.3: Instructions Canvasを追加
  • 0.0.2: スクリプトの微調整: RPGの例でプレイヤーオブジェクト上の VRCEnablePersistence コンポーネントを使用するようにし、再び永続化されるようにしました

最終更新: