2025年11月6日开发者更新
今天推荐的世界是 +Vera+ 创作的"Cozy Coast"。
公告
巫师内容
STRASZ THE PURPLE 已经施了魔法让你不得不观看这个视频:

当然,11月我们有很多新内容!发泡魔法药剂(The Flask of Effervescence)!表情符号魔法书套装(The Emoji Grimoire Pack)!传送符印(The Sigil of Teleportation)!符文之门(The RUNIC GATEWAY)!当然还有巫师贴纸套装(Wizard Sticker Pack)!还有……一支强光笔(Penlight)?好吧。
你还有太平洋标准时间12月4日下午1点时间以购买所有这些商品,速速把它们买回家吧。
Euoooooaaaaaahm… Oooooooaooooahm
VRC+订阅者还能获取另一个特别内容。这不是魔法,但你的朋友会讨厌你。
:)
活动和群组共享
你即将能够通过共享系统分享群组(Groups)和活动(Events)!群组和活动都可以通过祭坛(Pedestals)共享,也可以直接分享给其他玩家。
共享群组和活动不需要VRC+,尽情分享你感兴趣的所有酷炫内容给朋友们吧!
公共群组(Public Groups)和公共活动(Public Events)的共享流程与我们的共享系统基本一致。如果已经熟悉该系统请直接查看目标群组或活动,点击各自信息页面上的“共享”按钮即可。
(注:活动页面的共享按钮过去会直接打开网页浏览器。该功能现已转移到新的“在网站上查看(View on Website)”按钮!)
你可以在场景中放置共享祭坛...
...也可以直接与其他玩家共享!
目前私有群组(Private Groups)无法共享。
需要特别注意的是,这种共享并非群组或活动的邀请链接,而是用于快速引导他人访问相应内容的信息页面。
用户可以自行查看共享内容详情后选择加入群组或注册关注。
这也意味着,即使某些公共群组设置为“邀请制”,其信息仍可共享,但并不能保证通过共享链接查看详情的用户会自动加入群组。
以俱乐部所有者为例,共享演出运营群组和相关信息时,并不意味着每个看到详情的用户都会成为成员!
目前群组专属活动(Group-only events)只能通过祭坛共享。只有举办该活动的群组成员才能看到这些共享祭坛。如果活动设定了角色权限,相关共享祭坛只会对拥有该角色的群组成员可见。
更多Steam Audio幕后更新
针对现实感玩家语音系统的进一步优化!我们通过获取人类语音特性数据集(Leishman 等,详见链接)
...并计算最佳适配参数!
在此过程中我们发现了两个关键规律 - 人类语音在中高频段会因脖子/头骨的吸音特性略微向上倾斜。
第二点,虽然Steam Audio使用原始振幅(并依此可视化),但大多数文献会用分贝值(decibels)进行可视化。调整Steam Audio的可视化逻辑后,可以更直观地观察数据!
我们的研究结果:效果十分细微,但内部测试反馈显示在密闭场所的大规模人群场景中堪称变革。你甚至不需要使用耳塞!


图中的蓝色段频(Steam Audio的高频频段,>8khz)在论文中没有可视化呈现,因为高频主要影响语音中如sss音等音节表现。
请注意,这种算法更适用于大型开放场景(音乐会、演唱会、户外用地等),对密闭室内效果较弱,但这仍然比完全平坦的频率曲线更优!
即将推出的开发者修复
“需要缩略图图像”虚拟形象上传失败修复
在SDK 3.9.0中,虚拟形象项目可能出现一种状态:即使已选择缩略图,上传总是失败并提示“虚拟形象创建需要缩略图图像”。
该问题源于SDK 3.9.0的新更新机制 - 即虚拟形象ID由服务器远程生成而非本地生成(详见2025年8月14日开发者更新)。
如果新虚拟形象上传中断,可能会残留部分上传的虚拟形象,导致SDK再次上传时行为异常。
未来SDK版本将修复此类部分虚拟形象的问题。
SDK构建页面自动重写虚拟形象默认值问题
在SDK 3.8.2中,我们为虚拟形象引入了新的验证机制 - 确保虚拟形象的骨骼系统(armature)是其Animator组件的直接父对象。
为了正确实现姿态同步功能,必须确保本地看到的自我行为与他人看到的一致。作为验证的一部分,SDK会调用虚拟形象的Rebind()方法。
令人困扰的是,重新绑定Animator时会重写其默认值,导致每次验证都会将虚拟形象参数重置为默认状态。这个问题造成了一定的影响,诚恳道歉!
未来SDK版本将更新为非默认值重写绑定方式。
VRCMirrorReflection可能修改内置材质问题
SDK包含一个名为VRCMirrorReflection的组件,其主要功能是让附加对象的材质变成镜面材质以实现镜像效果。

该组件与SDK内置的VRCMirror预制件(prefab)搭配使用。如果你直接将其添加到Unity的立方体或四边形等基础立体上,则会导致问题,因为在Unity中这些内置材质是引擎内建的不应被修改的组件。
使用该组件后,镜面着色器(shader)会覆盖标准着色器。这种更改将被同场景中所有使用相同材质的标准立体继承!
未来SDK将更新此组件,确保仅对可编辑材质进行着色器替换(即检查hideFlags不包含`NotEditable时才操作)。
若材质不可编辑,组件将生成一个使用镜面着色器的拷贝材质,以避免影响原始资源。
OSC /avatar/change端点未触发修复
OSC端点/avatar/change允许通过传入虚拟形象ID来自动切换虚拟形象。该功能设想用于以下场景:
- 在你的收藏夹中
- 最近使用过的虚拟形象
- 购买过的虚拟形象
- 上传的虚拟形象
一个影响该功能的问题导致仅有第一种情况有效。此问题将在下个客户端版本中修复!
数据字典结构键问题
数据字典(Data Dictionary)可用于映射键值对,类似于常规C#字典。此前存在一个错误:若使用结构体(struct)作为键,将无法正确获取值。
例如以下代码:
DataDictionary dict = new DataDictionary();
dict[new DataToken(new Vector3Int(2, 4, 6)] = new DataToken("test");
// 之后...
if (dict.TryGetValue(new DataToken(new Vector3Int(2, 4, 6), out DataToken value)) {
Debug.Log($"UDON: Success! {value}");
} else {
Debug.Log($"UDON: Failed!");");
}
尽管字典中包含该键值,但脚本会记录"Failed!"。
过去DataToken的比较逻辑使用==运算符导致按引用地址比较,而非对结构体值进行比较。
未来修复版本将改为使用Equals()方法对结构体引用进行比较,确保数据字典在键值一致时能正确获取数据。
字符串和图像加载请求无内容类型头问题
你可通过UDON的字符串加载(string loading)和图像加载(image loading)功能,直接从互联网获取字符串和图像并在你的世界中展示。
下一个客户端版本将为此类请求添加Accept头:
- 字符串请求的
Accept头设置为*/*
- 图像请求的
Accept头设置为image/*
此举的目的是让服务器能清楚客户端需求的内容类型(字符串或图像)。在部分世界中,这一改进可优化内容请求流程并减少所需VRCUrls数量 - 通过同一URL处理多种内容请求。
明天没有直播!
哇,你居然能看到这里?如果真的看了,我们仅提醒你:明天没有直播,我们下周再见!
结论
就是这样!我们的下一次开发者更新将在11月20日发布。