【VRChatワールド用】QRコード生成パネル
- Digital0 JPY





VRChatワールド用のQRコード生成パネルです。ワールド内で入力した文字列をQRコードに変換し、自分のQRを5件保存して呼び出せます。 Unityで自分のワールドに配置して使う、UdonSharp製のギミックです。初期URLの固定表示、登録済みの内容からの選択、来場者の自由入力に対応します。ショップやSNSの案内、イベント会場のリンク掲示などにご利用ください。 無料配布・v1.0.0 ■ できること ・URL、日本語、絵文字、改行をQRに変換。最大256 UTF-8バイトまで。 ・利用者ごとに5件の個人保存。保存・呼び出し・削除と、上書き/削除の確認機能。 ・入力欄を選択中、歩行・走行・横移動・ジャンプを一時的に抑制。入力終了時に復帰します。 ・設置者が許可した場合、生成済みのQRを「全員に共有」で同じインスタンスへ表示する機能。 ・外部のQR生成サービスは不要。QRの生成だけで、入力URLへのアクセスやブラウザ起動は行いません。 初期URLとリセット先は https://studio-marny.booth.pm/ です。設置者がInspectorで変更できます。 ■ 個人保存と共有の違い 個人保存は、同じVRChatアカウント・同じワールドIDで使う設計です。同じワールドの再訪や別インスタンスでの利用を想定しています。別ワールドに置いた同じPrefabには引き継ぎません。 入室時は設置者の初期QRを表示します。保存内容は利用者が「呼び出す」で選びます。個人保存を呼び出しただけでは、そのQR表示は他の人に切り替わりません。 他の人にも見せる場合は、設置者が「インスタンス共有を許可」をONにし、利用者が「全員に共有」を押します。共有は既定OFFです。共有を許可したパネルは誰でも共有ボタンを押せます。管理者専用機能ではありません。 複数パネルは「個人保存のID」が同じなら、その人の保存5枠を共用します。別々に使う場合は異なるIDを設定してください。 PlayerDataはVRChatのサーバーに保存され、インスタンス内にも同期されます。他のUdonから参照可能なため、個人保存は秘密情報やパスワードの保管には使わないでください。 ■ 導入 1. VCCで管理するWorldsプロジェクトを用意します。 2. TextMesh Pro Essentialsが未導入なら、先にImport TMP Essential Resourcesを実行します。 3. UnityPackageを取り込み、UniversalQRPanel.prefabをシーンに配置します。 4. Inspectorで初期URL・登録済みの内容・自由入力・保存・共有の許可を設定します。 5. プレビューを反映し、EventSystemがシーンに1つあることを確認して、ご自身のワールドで操作を確認します。 アバター用ではありません。World DescriptorやEventSystemを既存ワールドへ追加するPrefabではありません。サンプルシーンは別に同梱しています。 ■ 同梱内容 ・UniversalQRPanel_v1.0.0.unitypackage ・QRパネルPrefab、UdonSharp C#ソース、Editor設定画面、サンプルシーン ・日本語/絵文字用フォントと第三者ライセンス表示 ・日本語README、仕様、検証範囲、利用条件、AI利用・制作元表示 Unity、VRChat SDK、TMP Essentials、開発用プロジェクト全体は含みません。Pythonや外部QRサービスへの登録は利用者に不要です。 ■ 環境・仕様 確認環境:Windows / Unity 2022.3.22f1 / VRCSDK Worlds 3.10.4 / UdonSharp / ClientSim 初期サイズ:幅1.32 m × 高さ1.248 m。一様拡縮可能。 文字数:最大256 UTF-8バイト。日本語・絵文字は英数字より多くのバイトを使用します。 描画:World Space Canvas / Unity UI / TextMesh Pro。日本語・絵文字用の動的フォントアトラスを使用します。 Tri/元面数:パネルPrefabに固定3Dメッシュはありません。Canvasや文字の実行時三角形数は内容により変わり、未計測です。全体0 Triを意味する表記ではありません。 Collider:操作用BoxCollider 1。固定メッシュ用LODなし。 サンプル床:Unity標準CubeメッシュとFloor.mat。パネルPrefab本体の仕様には含めません。 ■ 検証範囲と注意事項 Unityへの取り込み、Udonコンパイル、ClientSimでの文字入力・生成・保存・復元・削除、入力中の速度抑制と復帰を確認しました。QR画像はプログラムで復号して元の文字列との一致を確認しています。保存は別々のUnity Editorプロセスをまたいで復元確認しています。 実VRChatでの操作、クラウド保存のインスタンス跨ぎ、別ユーザーへのネットワーク共有、物理VR入力、スマートフォン実機での読み取り、Quest/Androidは未検証です。ClientSimのローカル保存での確認と、実VRChatのクラウド保存での確認は異なります。導入先での検証をお願いします。 入力中の抑制は視点やVRの頭・手の動き、姿勢変更を止める機能ではありません。独自の移動制御があるワールドでは競合をご確認ください。 QRの白い余白を保ち、縦横を別々に伸ばさないでください。表示距離や文字量に応じて読み取りやすい大きさへ調整してください。 個人保存を使う場合は入室時からPrefabのルートを有効にし、表示を隠すときはCanvas側を非表示にしてください。 ■ 利用条件 個人・法人の商用利用、改変、完成作品やVRChatワールドの公開、制作委託に必要なデータの受け渡し、AI/機械学習での利用が可能です。クレジットは任意です。 商品データを素材として再配布・再販売することは、元データ・改変データともにできません。制作委託の受け渡しは例外です。 QRエンコーダーのMITライセンス対象部分、およびフォントのOFL対象部分は、それぞれのライセンスが優先します。詳細は同梱LICENSE.mdをご確認ください。 ■ 制作元・AI利用 コード、UI構成、検証コード、説明書、商品紹介レイアウトの制作・修正にOpenAI Codexを使用しています。QRエンコーダーはUdonQR(MIT)を基に修正し、Noto Sans JP / Noto Emoji(OFL)を同梱しています。画像生成AIやTripoの生成素材は使用していません。商品画像は実装したパネルのプレビュー/ClientSim画面です。 ■ お問い合わせ Studio MarnyのBOOTHショップメッセージへ、利用環境と問題の内容をお知らせください。ファイル不足や重大な導入不具合を可能な範囲で確認します。個別ワールドの改変代行や将来の全SDKバージョンへの対応を保証するものではありません。 ■ 公式仕様・出典 VRChat Persistence: https://creators.vrchat.com/worlds/udon/persistence/ PlayerData: https://creators.vrchat.com/worlds/udon/persistence/player-data/ UdonQR: https://github.com/scarletcafe/vrchat-udon-qr 更新履歴:2026-09-16 v1.0.0 初回配布





