VRChatワールドUDONギミック「ImageDownloaderSafe」
- Digital0 JPY

「ImageDownloaderSafe」について ・概要 「ImageDownloaderSafe」は「VRChat SDK - Worlds 3.1.11」にて追加された「ImageDownloader」機能を用いて入力したURLの画像をVRChat上で表示するUdonプログラムアセットです。Udonのノードで作成してあるのでUdon#が苦手な方でも改変しやすい仕様となっております。 ワールドにおいてそのまま使えるサンプル付きです。 ・サンプルワールド https://vrchat.com/home/world/wrld_dd502870-c5c4-4dab-95f9-0d92cfe85190 ・動作要件 Unityのバージョン:2019.4.31f1 VRChat SDK - Worldsのバージョン: 3.1.11(VCC必須) 2023/3/12現在 ※Udon#は不要です ・使い方 ①新規Materialを作成します。「ImageDownloaderSafe」1つに対して1つのMaterialが必要です。 ②ImageDownloaderSafe/Prefab/ImageDownloaderSafe のprefabをシーンに追加します。これ自体に見た目はないのでどこにおいても問題ありません。 ③作成したMaterialを「Material」にアタッチします。 ④「VRCURL」に初回読み込みURLを入力します。 この時点で、作成したMaterialをPlaneなどのmeshに設定すれば読み込んだ画像を表示することができます。 その他URL入力などの実装は ImageDownloaderSafe/Sample/ImageSharePanel/ImageSharePanel を参照してください。 ・QuestBugFix_3_1_11のチェックボックスについて VRChat SDK - Worldsバージョン3.1.11にて、Questで読み込んだ画像のyスケールが反転する挙動を確認しております。 対策でQuest2であることを判定してyスケールを反転させる処理を適用しており、今後のVRChat SDK - Worldsのアップデートにて修正された場合はこのチェックボックスを非有効にしていただくことで反転挙動を無効にできます。 ・利用可能なイベント Reload・・・VRCURLに設定されているURLでリロードします。 LoadFromInputField・・・InputFieldに入力された内容をVRCURLに上書きしてグローバルに同期します。 ・提供している機能 ・あらかじめセットしておいたURLの画像をワールドに入ったとき(scene上でアクティブになったとき)に読み込む ・読み込んでいる画像をリロードする ・読み込んだ画像に合わせたサイズで画像を表示する ・VRChat上でプレイヤーが入力したURLを、グローバルに同期して全員に表示させる また、再読み込み時に公式リファレンスの説明に則ったメモリーリーク防止のための仕組みが実装されています。 ・サンプルについて ImageDownloaderSafe/Sample の中にサンプルが入っています。ポスターと画像をシェアするパネルの2種類です。 <Poster> ・A2Poster・・・あらかじめセットしたURLの画像をA2サイズに拡縮して表示します。 ・B2Poster・・・あらかじめセットしたURLの画像をB2サイズに拡縮して表示します。 ・A2Poster_Reload・・・あらかじめセットしたURLの画像をA2サイズに拡縮して表示します。カレンダー再読み込みなどに便利なリロードボタン付きです。 ・B2Poster_Reload・・・あらかじめセットしたURLの画像をB2サイズに拡縮して表示します。カレンダー再読み込みなどに便利なリロードボタン付きです。 ・FreeSizePoster・・・あらかじめセットしたURLの画像をそのままの比率で表示します。RowImageMaxWidthで最大横幅指定ができます。 ・FreeSizePoster_Reload・・・あらかじめセットしたURLの画像をそのままの比率で表示します。RowImageMaxWidthで最大横幅指定ができます。カレンダー再読み込みなどに便利なリロードボタン付きです。 <ImageSharePanel> ・ImageSharePanel・・・あらかじめセットしたURLで初回読み込み後、URL入力領域にURLを入れて「画像をロード」を押すと画像が読み込まれます。画像に比率も反映されます。 ・ImageSharePanel_Pickup・・・あらかじめセットしたURLで初回読み込み後、URL入力領域にURLを入れて「画像をロード」を押すと画像が読み込まれます。画像に比率も反映されます。持って運ぶことができ、ほかのプレイヤーと位置も共有されます。 サンプルシーンを付けていますので、挙動は実際に見てご確認ください。 ・ライセンス等について 特別なライセンスは設けておりません。 作成者は「©草遊工房/WAROSTUDIOGAMES」ですが、このアセットはクレジット表記なしで自由に改変できますし、無断での二次配布を含めて再配布も許可します。有料販売アセットに組み込んで売っても構いません。ただし、このアセットを使ったり再配布したことによるいかなる損害も一切責任は持ちませんので自己責任でお願いいたします。 ・クレジット表記をしたい方 ©草遊工房/WAROSTUDIOGAMES でお願いします。