Udonワールド内のItems
ワールド内のユーザーは、体験を向上させるツールや玩具、ガジェットなどのitemsをスポーンさせることができます。ワールド側でアイテムの存在を考慮した準備をしておくことが重要です。
アイテムは新しい機能であり、一部のワールドで意図しない影響が出る可能性があります。もし機能に不具合が生じる場合は、今のところ無効化することができます。
すべてのクリエイターがアイテムを有効にできるよう、アイテムとワールドに関する問題を修正していく予定です!
ワールドでのアイテムの無効化
アイテムがワールドで問題を引き起こしている場合は、以下の手順に従って無効化してください:
- My Worldsページにアクセスし、必要に応じてログインしてください。
- ワールドのサムネイルをクリックして「Edit」ページを開きます(タイトルをクリックするとワールドの詳細ページに移動しますが、そこにある「Edit」ボタンからもこのページにアクセスできます)。
- 「Default Content Settings」リストにある「Items Enabled」を探してください。これはデフォルトで有効になっており、ユーザーがワールド内でアイテムをスポーンできるようになっています。

ボタンを押してアイテムを無効にし、その下のテキストボックスを使用してアイテムを無効にする理由を説明してください。

ページの一番上までスクロールし、「Save」を押してください。
ワールドミラーでのItems表示
アイテムは「Item」レイヤーにスポーンします。古いSDKバージョンでは、このレイヤーは「reserved3」という名称でした。最新バージョンのVRCMirror prefabは、レイヤー設定が変更されていなければ、アイテムを正しく反射します。
ただし、古いSDKや古いミラーprefabを使用している場合、あるいはVRCMirror prefabのレイヤー設定を変更した場合は、ミラーにアイテムが反射されない可能性があります。これは、ミラーが(以前は使用されていなかった)「reserved3」レイヤーを反射するように設定されていないためです。

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

物理演算メソッドでitemsを回避する
ワールド内のUdonプログラムからitemsを参照することはできません。スクリプトがitemsを見つけた場合、それはnullオブジェクトとして扱われます。UdonBehaviourがitemsを処理しようとすると例外が発生して自身の動作が停止してしまうため、itemsの使用は避けるのが賢明です。
物理演算メソッドでitemsを回避し、Udonのロジックを正常に動作させるためのヒントを2つ紹介します。
- 可能な限りLayerMaskを使用し、「Item」レイヤー(以前の「reserved3」)の使用は避けてください。
- Physicsの呼び出しによって返されたオブジェクトに対しては、
Utilities.IsValidを呼び出して結果がtrueになることを確認し、「保護」されているオブジェクトに対して処理を行わないようにしてください。これを行うべきメソッドの一覧については、Physics and Layersを参照してください。
最終更新: