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

Udonワールド内のアイテム

ワールド内のユーザーは、体験を向上させるツールや玩具、ガジェットであるアイテムをスポーンさせることができます。アイテムが存在することを前提として、ワールドを準備しておくことが重要です。

note

アイテムは新しい機能であり、一部のワールドでは予期しない影響が生じる可能性があります。機能に不具合が出る場合は、現時点では無効にすることも可能です。

すべてのクリエイターがアイテムを利用できるよう、アイテムとワールドに関連する問題の修正に取り組んでいます!

ワールド内のアイテムを無効にする

ワールド内でアイテムが問題を引き起こしている場合、以下の手順で無効にすることができます。

  1. My Worlds ページにアクセスし、必要に応じてログインします。
  2. ワールドのサムネイルを押して「Edit」ページを開きます(タイトルを押すとワールドの詳細ページに移動するため、そこから「Edit」ボタンを押してこのページに遷移することも可能です)。
  3. 「Default Content Settings」リストにある「Items Enabled」を探します。これはデフォルトで有効になっており、ユーザーがワールド内でアイテムをスポーンできるようになっています。

World Details page with Items Enabled

  1. ボタンを押してアイテムを無効にし、その下のテキストボックスを使用して、アイテムを無効にする理由を入力します。

World Details page with Items Disabled

  1. ページの一番上までスクロールし、「Save」を押します。

ワールドの鏡にアイテムを表示する

アイテムは「Item」レイヤー上にスポーンします(以前のSDKバージョンでは「reserved3」という名称でした)。最新版の VRCMirror prefab は、レイヤー設定が変更されていなければ、アイテムを正しく反射します。

ただし、古いSDKや古いミラープレハブを使用している場合、あるいは VRCMirror prefab のレイヤー設定を変更している場合、鏡にアイテムが映らないことがあります。これは、ミラーの設定で(以前は使用されていなかった)「reserved3」レイヤーが反射対象に含まれていないことが原因です。

鏡に映らない手に持ったアイテム

ワールドの鏡にアイテムが表示されない場合は、そのミラーの「Reflect Layers」ドロップダウンメニューに「Item」レイヤーを追加してください。(古いSDKの場合は「reserved3」を選択しても同様に機能します。)

鏡でのアイテム反射を有効にする

物理演算メソッドでアイテムを回避する

ワールド内のUdonプログラムはアイテムを参照できません。スクリプトがアイテムを検出すると、それは null オブジェクトとして扱われます。UdonBehaviourがアイテムを処理しようとすると例外が発生して自身が無効化されてしまうため、アイテムの取り扱いには注意が必要です。

物理演算メソッド内でアイテムを回避し、Udonのロジックを正常に動作させるためのヒントを2つ紹介します。

  1. 可能な限り LayerMask を使用し、「Item」レイヤー(以前の「reserved3」)の使用を避けてください。
  2. 物理演算の呼び出しによって返されたオブジェクトに対して Utilities.IsValid を呼び出し、true という結果が返ってこないかを確認することで、「保護」されたオブジェクトに対して誤って処理を行うのを防ぎます。これを行うべきメソッドの一覧については、Physics and Layers を参照してください。

最終更新: