VRChatワールドで動画を埋め込み再生する方法を調べたメモ。VRC Unity Video Playerや複数の動画を再生したり

Unity
※記事内に広告が含まれています。

バーチャル3Dクリエイター神部まゆみです(*^-^*)

この記事はVRChatワールドで動画を埋め込み再生する方法を調べたメモです。

動作確認した最新の環境はunity2022.3.22、VRChat SDK 3.8.2です。

●PRスペース●

〇まゆみマート|BOOTH

BOOTHでVRoidテクスチャやVRChat向けオブジェクトなどを販売しています。いいねしてくれると励みになります(*^-^*)

やりたいこと ワールドに動画を埋め込んで自動再生させる

以前作ったノートPCの画面に動画を埋め込んだりして、操作してるかのように見せたいですね。

でもこれ検索しても、VRChatワールド内でyoutubeとかが見れる動画プレーヤーの話ばかり出ますね(-_-;)

unityにはVideo Playerコンポーネントがあるが…

unityにはVideo Playerコンポーネントがあるけど、これだとBuild & Testでは表示されたけどワールドをアップしたら再生されなかった。

Video Player コンポーネント - Unity マニュアル
Video Player コンポーネント を使って ビデオファイル を ゲームオブジェクト にアタッチし、ランタイムにビデオファイルをゲームオブジェクトの テクスチャ 上で再生できます。

動画はワールドのアップロードに含まれないのかな?

VRChat公式ドキュメントを見てみる

VRChatの公式ドキュメントによると、

Video Players | VRChat Creation
You can add video players to your VRChat world with the SDK's VRCAVProVideoPlayer or VRCUnityVideoPlayer.
  • VRC AVPro Video Player
  • VRC Unity Video Player

のどちらかを使えば良いっぽい。

VRChat AVPro Unity Video Player

二つの違いは、AVPro のほうはYoutubeやTwitchなどの生放送とかをサポートしてるっぽい?

VRChat AVPro Unity Video Player

なぜどちらかを選ぶのですか?AVProは、YouTube Live、Twitchなどの複数のプラットフォームでのライブストリームをサポートしています。これを機能させるには、ビデオプレーヤーでPlayURLを呼び出すグラフを作成する必要があります。Unity ビデオプレーヤーは、これらのライブストリームをサポートしていません。

なんかAVProのほうが設定がめんどくさそうな感じかな?

とりあえずVRC Unity Video Playerのほうでいいか(;^_^A

VRC Unity Video Playerを使ったらいけた

作業してるっぽい動画を探したら、以前MakeHumanをいじったblenderの動画があったので埋めこんでみましたw

blenderをいじって作業しているように見えるΣ(゚Д゚)

↓私のブログにアップした動画を指定したけど普通に再生されました。

VRChat AVPro Unity Video Player

でも後述するけど、私のブログのドメイン knb-mayumi.com はVRChatの許可ドメインリストに入っていないので、見る人の設定次第で読み込みされないみたいです。

こんな個人ブログのドメインが入っているわけないけど(^_^;)

YoutubeやVimeoとかの許可リストに入っている動画プラットフォームにアップしたほうが良いかもしれない。

Allow Untrusted URLs をオンにしていないユーザーには、youtubeなどの動画しか再生されないっぽい

VRChat運営が設定した許可リストドメインに上げた動画以外は、見るユーザーの設定次第で再生されないっぽい。

次のサービスがビデオプレーヤーの許可リストに含まれています。

このリストにないサービスは、設定で「信頼できないURLを許可する」(Allow Untrusted URLs)にチェックを入れない限り再生されません。

許可リストに登録されたサービス
以下にリストされているサービスは本質的に信頼されており、デフォルトのURL許可リストで許可されています。アクセスするリソース (ビデオ プレーヤーで入力または使用する URL) は、サービス名の横に一覧表示されているサービス ドメインに存在する必要があります。これは、ショートリンクが機能しない可能性があることを意味します。

以下のリストは、パートナーシップまたは承認を構成するものではなく、予告なしにいつでも変更される場合があります。

引用元:Video Players | VRChat Creation

Allow Untrusted URLsっていうのは↓ここの Comfort&Safety で設定できるやつです。

まぁつまりは動画を埋め込むなら、youtubeなど許可リストに入っている動画プラットフォームに上げておけってことですね。

デフォルトで再生が許可されているドメインリスト

2025/09/13現在で許可されているドメインはこれ。

Akamai CDNvod-progressive.akamaized.net
Facebook Video*.facebook.com,*.fbcdn.net
Google Video*.googlevideo.com
Hyperbeam*.hyperbeam.com,*.hyperbeam.dev
Mixcloud*.mixcloud.com
NicoNico*.nicovideo.jp
Soundcloudsoundcloud.com,*.sndcdn.com
Topaz Chat*.topaz.chat
Twitch.TV*.twitch.tv,*.ttvnw.net,*.twitchcdn.net
VRCDN*.vrcdn.live,*.vrcdn.video,*.vrcdn.cloud
Vimeo*.vimeo.com
Youku*.youku.com
YouTube*.youtube.com,youtu.be

しかし予告なしに変更される場合があるようなので、一応↓VRChat公式の動画についてのページをチェックしたほうが良いでしょう。

Video Player Allowlist | VRChat Creation
The following services are on the video player allowlist.

このリストはちょくちょく更新されてるっぽいです。

まぁこの中ではYoutubeが一番知名度がって経営基盤が盤石そうだし、許可リストから消えることは多分ないと思うから、Youtubeに上げておくのが無難かな?

限定公開でもブログとかに埋め込みすれば他の人は見れるので良いかも。ちゃんとVRChatワールドでも表示されました。

unaslide vrchat プレゼン

レンダーテクスチャを作ったり設定する

アセットフォルダ内で右クリック、作成⇒レンダーテクスチャ で作れる。

これに動画を表示する感じ?

レンダーテクスチャ

マテリアルを作って、アルベドのところにレンダーテクスチャを設定する。

今回はStandardシェーダーだけど、Unlit/Texture も明るくて良いかも?

レンダーテクスチャ

表示したいオブジェクトのマテリアルに↑を設定する。

レンダーテクスチャ

VRC Unity Video Playerの「ターゲットマテリアルレンダラー」に↑のメッシュレンダラーを指定する。

あとレンダーモードを「Material Override」にする。これやらないと表示されなかった。

VRChat AVPro Unity Video Player

これでできると思う。

二つ以上動画を埋め込んで自動再生させると一つしか再生されないっぽい?

二つ以上動画を埋め込んで自動再生してみたけど、一度に一つしかされなかったり、両方再生されなかったりした。

ChatGPTに聞いたら「制限や制約が存在する可能性がある」とかなんとか?

VRChat AVPro Unity Video Player

まぁインスタンスにいるユーザーに通信を強いることになるわけだから、ワールド開始と同時に実行される自動再生は制限されてるとかかな?

でももしかしたらファイルサイズを軽くすればいけるとか、スクリプトで再生させれば行けるかもしれない。

複数の動画が自動再生されてるワールドはいくつか見たので多分できるとは思う。

公式ドキュメントには「二つ以上動画プレイヤーを置くと悪いことが起こる」と書かれているが…

World Creation, Optimization, and Community Labs Tips | VRChat Creation

部屋に2つ以上のビデオプレーヤーを置くと、悪いことが起こります。通常、パフォーマンスに悪影響を及ぼします。

パフォーマンスが低下する感じっぽい。

私はQuest版でやることが多いけど、動画プレーヤーが二つあるワールドだと「Low Memory」とか表示されたりしますね…。

しかし画質の粗いGIFアニメみたいなのが複数埋め込まれたワールドも見たことがあるのでやり方次第かな…?

まぁ少なくとも動画プレーヤーは原則一つだけにしといたほうが無難かな。

youtubeの動画を読み込んでみたけどダメっぽい

youtubeは許可リストに載ってた大丈夫かと思ったけど、一つしか自動再生されなかった。

読み込み先がどこかは関係ないっぽいですね(;^_^A

インタラクトで手動で再生したらいけた

手動で再生する場合は普通に行けるみたいです。

↓画面には映ってませんが、別の場所で一つ動画を自動再生させてます。

たぶんUdonスクリプトで自動再生させるなら行けるのかな?

とりあえず今回は手動でやってみるけど、後で自動再生させるスクリプトも作ってみるかも。

やり方:インタラクトしたら、VRC Unity Video Playerが付いたオブジェクトをインスペクターオンにする

シンプルにSetActiveでインスペクターオンオフを切り替えるこれが一番ラクかな?

ノードはこんな感じ。

VRChat AVPro Unity Video Player

インタラクトでインスペクターオンオフするやり方は↓こちらの記事で詳しく書いてます。

オブジェクトとかコンポーネントとか

インタラクトするにはコライダーが必要っぽいのでボックスコライダーを追加しておく。

あとUdon Behaviorも。

VRChat インタラクト

Udon BehaviorのUdonノードはこんな感じ。VideoオブジェクトをUdonグラフにD&Dして、そこからノードを伸ばしていく。

VRC Unity Video Player

Branchで条件分岐させたSetActiveで、オンだったらオフに、オフだったらオンにする。

空のオブジェクト video を作ってノートPCオブジェクトの子にしておき、インスペクターオフにしておく。

VRChat インタラクト

videoのコンポーネントはこんな感じ。オンになったら再生される。

一応Audio Sourceでタッチ音を鳴らすようにしてある。

VRC Unity Video Player

動画を表示するDisplayはメッシュレンダラーがあるだけです。

レンダーテクスチャ unity

ワールドに動画プレイヤーも埋め込んでみる

せっかくだからyoutubeとか見れる動画プレイヤーもこの機会に設置してみますw

これは最低限の機能のやつはVRChatのサンプルシーンにもある。

VRChat AVPro Unity Video Player
Packages/com.vrchat.worlds/Samples/UdonExampleScene/Prefabs/VideoPlayers/UdonSyncPlayer (Unity).prefab

しかしこれは一時停止とかの機能がないので垂れ流しって感じですね。

まぁシンプルで割り切って使うなら十分ではあるかもしれない。

優秀な先輩たちが作ってくれたやつを使う

検索するといくつか出てくるので、頭の良い優秀な先輩が作ってくれたやつを使うのが便利かもしれない。

これは色々なワールドに設置してあるのを見る気がする。

【VRC向け】iwaSync3 メディアプレイヤー - Hoshino Labs. - BOOTH
Unity2022環境に完全対応したVRChat向けイワシ製メディアプレイヤーです。 v3.0から全て最初から作り直しを行いました。 要望のあった全ての機能を実装済みです。 以下のようなことを特徴としています。 ⭐Youtubeなどの動画の...
[VRChat] KineL式(りら式)VideoPlayer - にりらぼ(KineL) - BOOTH
KineL式(りら式)VideoPlayer v2.5.3

iwaSyncプレイヤーをつかってみる

iwaSyncプレイヤーを使ってみました。

プレハブをシーンにD&Dするだけで使える。

VRChat AVPro Unity Video Player
Assets/HoshinoLabs/iwaSync3/iwaSync3.prefab

渋谷スクランブル交差点のライブカメラも見れる!

ちなみに↓これです。

この動画プレイヤーはこれまでに色々なワールドで使った記憶があるし、有料版を買っておきます。

VRChat AVPro Unity Video Player

ワールドのクレジットにも記載しておこうかな。

ちなみにiwaSyncは自動更新やアップデート機能などはないっぽいので、新しいバージョンが出たらBOOTHでダウンロードし直す必要があるみたい?です。

おわりに

案外簡単にできて良かった。

でも通信が重くなる可能性があるから、あんまり重い動画を多用するのは控えておいた方が良いかな?

まぁもう少しいじってみます(*^-^*)

タイトルとURLをコピーしました