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

アイテムのアンロック

Unlock Items World Preview

PlayerDataを使用してアイテムを永続的にアンロックする方法について、ワールド内の簡単な実績機能を例に解説します。

実際に試してみたい方は、Unlock Items Example World にアクセスしてください!

note

この例における「アイテム」という用語は一般的な意味で使用しており、こちらで説明されているユーザー生成アイテムを指すものではありません。

サンプルの使用方法

  1. ワールドに入室します
  2. アクションを実行して実績を解除します - ワールドに滞在する(10秒、2分、5分) - 移動する(10ユニット、100ユニット、300ユニット) - リスポーンする - シークレットを見つける - 上記のすべてを実行する
  3. 解除された実績を表示するUIを確認します
  4. ワールドから退出して再度入室します。実績と統計(ワールド滞在時間、移動距離)が保持されているはずです

サンプルのインポート

以下の手順に従って、このサンプルを Unity プロジェクトに追加します。

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

技術的詳細

メインの UnlockItems スクリプトは、OnPlayerRestored メソッド内でプレイヤーのデータが最初に読み込まれた際に実績を確認し、アンロック済みのすべてのアイテムを復元します。

次に、UpdateStats メソッドを呼び出し、以下のメソッドを実行します。

すべてのメソッドが実行され実績が更新された後、このメソッドは UPDATE_STATS_TIME の待機時間を経て、自身を再度呼び出します。

UpdateStats のチェック中に実績がアンロックされるたびに UnlockAchievement メソッドが呼び出され、対象となる実績のスプライト、色、テキストが更新されます。

最終更新: