欢迎来到2026年8月13日的开发者更新!

今日精选世界:忘郷,作者 enoki_noko。
公告
大事件预告:Moonchaser!
8月28日,我们将举办自己的音乐活动:Moonchaser!这个月似乎是"日食月",所以我们来庆祝一下。
更多消息即将公布,请关注我们的社交媒体。
2026.3.1 版本已发布!
这是个重磅版本:本次更新改版了用户档案、名牌,并新增了档案装饰功能。
完整更新说明请在此查看。
或者直接看我唠嗑:
我们知道大家有反馈——我们正在尽可能多地处理!想明确说明的是,我们打算持续迭代这个设计。
实际上我们有一个更新会很快推出。可能在这篇帖子发出去的时候就已经出了……所以,如果已经出了,太好了。如果还没,快了?
(strasz 更新:已经出了。耶!后续可能还有更多。)
SDK 更新!
公告板(Billboard)效果——但更高性能
作为世界创作者,你可能曾需要让某个对象始终面向本地玩家,这通常被称为"公告板"(Billboarding)。用变换来实现这需要在 Udon 中使用更新循环,开销很大。我们正在为此添加原生支持,使其更易用且更高效!
将提供三个新方法!
(注意:在正式发布前一切均可能变动!)
VRCBillboard.Register(Transform target); // 直立,仅跟踪偏航角(左右)
VRCBillboard.Register(Transform target, bool allowTilt); // 同时允许俯仰角变化(上下)
VRCBillboard.Unregister(Transform target); // 自动清理,也可手动触发
更轻松的虚拟形象骨骼追踪(Easier Avatar Bone Tracking)
目前,如果你想把一个对象挂载到某人形化虚拟形象的某根骨骼上,你必须每帧手动移动和旋转对象来跟随骨骼,像这样:
void Update()
{
Vector3 pos = Networking.LocalPlayer.GetBonePosition(HumanBodyBones.Head);
Quaternion rot = Networking.LocalPlayer.GetBoneRotation(HumanBodyBones.Head);
transform.SetPositionAndRotation(pos, rot);
}
这能用,但不太方便,因为同样地,这种更新循环在 Udon 中开销较大。
我们计划也为此添加原生支持,这样你就可以通过类似以下的方式来将一个变换挂载到用户虚拟形象的骨骼上:
Networking.LocalPlayer.AttachTransformToBone(transform, HumanBodyBones.Head);
你只需调用一次——变换挂载后,VRChat 会自动为你处理骨骼追踪。如果之后需要移除,可以这样做:
Networking.LocalPlayer.DetachTransformFromBone(transform);
高级接触接近度参数(Advanced Contact Proximity Parameters)
当一个接触接收器被带有至少一个匹配标签的接触发送器触发时,它可以生成一个"接近度"参数,用于虚拟形象动画控制器,指示发送器距接收器中心有多近(如果接收器是盒体,也可以选择距某个面的距离)。
在即将到来的 SDK 更新中,我们计划引入更多参数来提供关于接触的额外信息,包括:
"发送器类型"参数:标识接触发送器所属的内容类型。
接触发送器中点相对于接触接收器的本地位置。
接触发送器相对于接触接收器的速度和速率。
接近度值的变化速率。
最多十六个布尔参数,每个对应接收器使用的一个标签,用于指示发送器与该接收器共同拥有哪些标签。
如果多个发送器同时接触接收器,上述值将代表接近度最高的那个发送器。
这些参数的推出是回应社区反馈——社区表达了对这些信息的需求,以及通过消除用复杂变通手段推导这些信息的做法来提升现有虚拟形象性能的潜力。感谢所有提供反馈的人!
以下是检视面板的快速预览。一如既往,此功能仍在开发中,可能有所变动!

Soba!
抱歉,只是想用这个标题吓你一跳。
我们仍在朝着封闭测试的方向推进。语言本身状态良好。我们已经实现了非行为类、结构体、接口、静态变量、嵌套类型、自定义接口,以及包含用户代码完整堆栈跟踪的异常日志。
其中最重要的是不继承自行为的类。在 Udon 中,每段代码都必须存在于 UdonBehaviour 上,因此你的系统架构受制于 GameObject 层级结构——无论这是否与你解决的问题有关。
在 Soba 中,你可以编写普通类来持有数据以及操作这些数据的逻辑,在 SobaBehaviour 之间传递它们,并仅在你的代码真正需要时才触碰场景。
剩下的是不太好演示的部分。我们快速搭建了大量 Soba 功能,现在正在逐一检查每个功能,确认已实现的内容确实能在真实客户端中工作,并有完整的测试覆盖。
这个过程中确实发现了一些遗漏——这正是检查的目的所在——目前我们大部分时间都花在这上面。
与这项工作同时进行的还有:编辑器工具、验证、错误消息和文档。
封闭测试只有在参与者能够真正用它构建东西时才有意义,所以我们宁可先完成这些。Soba 的设计是与 Udon 并存,而非取代它。我们不会在这里给出封闭测试的日期。三月份我们说过正在全力准备,结果又多花了五个月。
我们宁愿保守承诺也不愿再来一次,但我们仍然想提供某种更新。
修复饰品 Bug
我们一直在处理饰品的许多小 Bug 和改进,其中值得一提的是新增了一个下拉列表,用于选择你想将饰品挂载到哪根骨骼!
这个列表还使我们能够支持非人形骨骼,这在更复杂的虚拟形象上很常见,比如四足动物和其他具有有趣机制的模型。
如果你想在下拉列表打开时更改虚拟形象预览中显示的骨骼,可以切换眼睛按钮,在以下模式间切换:
Humanoid(仅人形骨骼)
Rig(挂载到人形骨骼下的非人形骨骼)
Extra(未挂载到人形骨骼下的非人形骨骼)
网站性能等级一致性
我们对 vrchat.com/home 进行了更新,使网站上显示的虚拟形象性能等级与 VRChat 客户端中看到的更加一致。
你应该会减少遇到意外的"安全检查中"结果,因为之前网站有时会选择错误版本的虚拟形象来显示性能等级。现在它使用与 VRChat 客户端完全相同的逻辑!
关于蹦床的一点说明
我们收到了一些关于蹦床的问题,所以想在此回应:
嘿,蹦床是 VRC+ 独享的,而且不止八月才有,怎么回事?
你说得对!今年我们的一些道具将是 VRC+ 独享,而非我们一直在做的月度掉落。
有什么区别?
VRC+ 独享道具:只要你拥有 VRC+ 订阅,这些道具就会一直留在你的库存中,类似于 VRC+ 独享的传送特效和传送隧道加载画面。不用着急,只要你有有效的 VRC+ 订阅,它们随时可用。
VRC+ 掉落:仅在特定时间段内对 VRC+ 订阅者可用的道具。这是到目前为止大部分 VRC+ 内容的形式。
换句话说,我们计划每月为 VRC+ 提供一个新的独享道具或一次掉落。
为什么选这种而不是那种?我们还在研究中。
结语
这次就到这里。两周后见!