はじめに

動画プレイヤーを入れてシーンに置き、YouTube のリンクを友だちと一緒に再生し、プレイリストとロックを加えます。

更新日 2026-10-22

インストール

リスティングから Udonite Video を追加します。Udonite とネットワークも一緒に入ります。TextMeshPro を使いますが、VRChat のワールドプロジェクトにはもともと入っています。

シーンにプレイヤーを置く

Udonite > Video > Create Video Player で、シーンビューのカメラの前に一式が作られます。

  • AVPro プレイヤー。YouTube、Twitch、Vimeo、ライブ配信、動画ファイルの直リンクを再生します
  • 16:9 のスクリーン。読み込み中、エラー、「Nothing playing」を表示するステータス表示付き
  • スピーカー
  • スクリーンの下に操作パネルとキュー
  • 中身を入れるだけの空のプレイリスト
  • シーンにあって、まだ何にもつながっていない AudioLink への接続

どれも普通の GameObject です。パネルは人が立つ場所に移し、スクリーンは壁に合わせて拡大し、要らないものは消してください。プロジェクトに TextMeshPro の必須リソースがまだなければ、最初のプレイヤーを作るときに読み込まれます。

メニュー項目はこのひとつだけです。ほかはすべてプレイヤーのインスペクターの Add to it にあります。

試す

VRChat SDK パネルの Build & Test を押します。パネルの入力欄にリンクを貼って Enter を押してください。

https://www.youtube.com/watch?v=aqz-KE-bpKQ

Enter はリンクをキューに加え、何も再生していなければすぐ再生します。開始時刻を指定したリンクは、全員がその位置から始めます。YouTube の共有ボタンが付ける ?t=90、&t=1m30s、?start=90 のどれでも使えます。

Build & Test でクライアントを 2 つ起動すると、一緒に動くのが見られます。片方で一時停止すると、もう片方も同じフレームで止まります。

VRChat が信頼していないリンクには、各プレイヤーの設定で Allow Untrusted URLs を有効にする必要があり、それが原因で失敗したときはパネルがそう伝えます。アップロード済みのワールドでは YouTube、Twitch、Vimeo は信頼されています。ローカルのテストビルドでは YouTube も含めてすべてのドメインが信頼されていないとログに出ますが、その警告だけで再生が止まることはありません。

プレイリストを加える

キューがなくなると、プレイヤーはプレイリストを再生します。プレイヤーを選んで VideoPlaylist コンポーネントの urls を埋め、YouTube のリンクなら titles は空のままにしておきます。プレイリストの Fetch YouTube titles ボタンがひとつずつ調べて埋めてくれます。

VideoPlayer の autoplay を有効にするとインスタンスが開いたときにプレイリストが始まり、プレイリストの shuffle を有効にするとランダムな順で再生します。

エディタースクリプトからも同じことができます。

VideoPlaylist playlist = VideoSetup.AddPlaylist(player, autoplay: true);
VideoSetup.AddToPlaylist(playlist, "https://www.youtube.com/watch?v=aqz-KE-bpKQ");
VideoSetup.AddToPlaylist(playlist, "https://example.com/intro.mp4", "Welcome");
VideoSetup.FetchTitles(playlist);

スタッフだけにロックする

パネルのロックボタン、またはプレイヤーの startLocked で、操作はインスタンスオーナー、マスター、moderators に書いた表示名の人だけに残ります。それ以外の人も、自分の音量の変更と自分の映像の再読み込みはできます。

ロックされたプレイヤーは、ほかの人へのオーナーシップの譲渡も拒否するので、改造されたクライアントでも乗っ取れません。

プレイヤーのインスペクターの Another screen に好きなレンダラーをドロップすると、同じ映像がそれぞれのレターボックスで映ります。テレビのメッシュ、プロジェクターの壁、プレイヤーが手に持つスマートフォンが、すべてひとつのプレイヤーを映せます。

プレイヤーより後に AudioLink を入れたときは、プレイヤーのインスペクターに出る Connect AudioLink to this player でプレイヤーのスピーカーにつなげます。

問題が発生しました 再読み込み