快速上手
安装视频播放器并放进场景,和朋友一起播放 YouTube 链接,再加上播放列表和锁定。
安装
从列表中添加 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 启动两个客户端,就能看到它们保持同步:在一个上暂停,另一个会停在同一帧。
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 里写的显示名称。其他人仍然可以调自己的音量、重新加载自己的画面。
锁定的播放器还会拒绝把所有权交给其他人,所以即使是改过的客户端也夺不走它。
更多屏幕与 AudioLink
把任意渲染器拖到播放器检查器的 Another screen 上:它会显示同一个视频,并按自己的形状加黑边。电视模型、投影墙、玩家手里的手机,都可以显示同一个播放器。
如果 AudioLink 是在播放器之后加入的,播放器检查器上会出现 Connect AudioLink to this player,把它接到播放器的扬声器上。