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

String Loading

String Loadingを使うと、インターネット上のテキストファイルをダウンロードしてVRChatワールド内で利用できます。SDKに含まれるDownloadStringスクリプトを使用するか、新しいVRCStringDownloader.LoadUrl関数を使って独自のスクリプトを作成することができます。

  • テキストファイルは、.txt.jsonなど、どのような形式でも構いません。
  • 5秒ごとに1つの文字列をダウンロードできます。 この制限を超えた場合、文字列のダウンロードはキューに入れられ、ランダムな順序でダウンロードされます。
  • 1つの文字列は最大100MBまでです
  • キューに入れられる要素は最大1000個までです

Trusted URLs

サイトがリストに含まれていない場合、ユーザー設定で「Allow Untrusted URLs(信頼できないURLを許可)」が有効になっていない限り、ダウンロードは行われません。

以下のURLが利用可能です:

  • Disbridge (*.disbridge.com)
  • GitHub (*.github.io)
  • Github Gist (gist.githubusercontent.com)
  • Pastebin (pastebin.com)
  • VRCDN (*.vrcdn.cloud)

Guides

ワールドでString Loadingを使用するには複数の方法があります。

DownloadStringDownloadString スクリプトを使用して文字列をダウンロードする

SDKには、簡単に文字列をダウンロードするためのスクリプトが含まれています:

  1. シーンに新しいGameObjectを作成します。
  2. UdonBehaviour コンポーネントを追加します。
  3. DownloadString をプログラムソースとして選択します。
  4. URLを入力し、ダウンロードしたテキストを表示したいテキストコンポーネントを選択します。

LoadUrl用に独自のスクリプトを作成する

関数 VRCStringDownloader.LoadUrl を使用して、以下の手順で独自のスクリプト内に文字列をダウンロードすることができます:

  1. URLとUdonBehaviourを指定して VRCStringDownloader.LoadUrl を実行します。
    • VRCStringDownloaderVRC.SDK3.StringLoading 名前空間にあります。
  2. 指定したUdonBehaviourで OnStringLoadSuccess または OnStringLoadError イベントが呼び出されるのを待ちます。
  3. イベントの IVRCStringDownload を使用して、文字列ダウンロードの Result を取得します。

新しいイベント

OnStringLoadSuccess

IVRCStringDownload を返します。関数 LoadUrl がインターネットから文字列のダウンロードに成功したときに呼び出されます。

OnStringLoadError

戻り値はIVRCStringDownloadです。関数LoadUrlが文字列のダウンロードに失敗したときに呼び出されます。

新しい型

VRCStringDownloader

この静的クラスを使用して、Webから文字列をダウンロードします。

VRCStringDownloader.LoadUrl

  • Url: インターネットから読み込むURL。
  • UdonBehaviour: イベントの送信先となるUdonBehaviour。
    • Udon Graphでは、これが現在のUdonBehaviourにデフォルト設定されます
    • Udon Sharpでは、以下を使用できます:(IUdonEventReceiver)this

IVRCStringDownload

文字列読み込みイベントの結果。

  • Get Error (string): OnStringLoadErrorのエラーメッセージ。
  • Get ErrorCode (int): OnStringLoadErrorのHTTPエラーコード。
  • Get ResultBytes (byte[]): バイト配列としてダウンロードされた生データ。これに対してSystem.Text.Encodingを使用すると、カスタム形式で文字列をデコードできます。このプロパティにアクセスすると、データのコピーが返されます。
  • Get Result (string): UTF8標準でデコードされた、ダウンロードされた文字列。
  • Get UdonBehaviour (UdonBehaviour): イベントの送信先となるUdonBehaviour。
  • Get Url (VRCUrl): ダウンロードを試みたURLを取得します。

サンプルコード

文字列ダウンロードのサンプル(カスタムテキストエンコーディング)
using System.Text;
using UdonSharp;
using UnityEngine;
using VRC.SDK3.StringLoading;
using VRC.SDKBase;
using VRC.Udon.Common.Interfaces;

public class ResultBytesExample : UdonSharpBehaviour
{
[SerializeField]
private VRCUrl url;

void Start()
{
VRCStringDownloader.LoadUrl(url, (IUdonEventReceiver)this);
}

public override void OnStringLoadSuccess(IVRCStringDownload result)
{
string resultAsUTF8 = result.Result;
byte[] resultAsBytes = result.ResultBytes;
string resultAsASCII = Encoding.ASCII.GetString(resultAsBytes);
Debug.Log($"UTF8: {resultAsUTF8}");
Debug.Log($"ASCII: {resultAsASCII}");
}

public override void OnStringLoadError(IVRCStringDownload result)
{
Debug.LogError($"Error loading string: {result.ErrorCode} - {result.Error}");
}
}

最終更新: