开发者更新 - 2022年8月2日

大家好!欢迎来到最新的VRChat开发者更新。在这里,我们将讨论我们正在进行的工作,以及我们在一些任务中的进展。
你可以在此处阅读上篇专栏:

2022年8月2日
Live Beta版
目前有一个Live Beta版(与Live一同工作的Open Beta版,大家可以一起使用)。其中有很多功能。请查看上次更新的专栏,了解其中包含了哪些内容。
我们正在努力修复这些错误,增加一些改进,并继续在其他任务和项目上工作。
新的Live Beta版预计在本周的某个时间发布,或者可能会修复一些错误并将其添加到Live版本中(然后将新的工作移入另一个Live Beta版)。我们在根据情况进行调整。
可移动主菜单
在Live Beta中发现了一个意外出现的移动手柄的错误,并已修复!
我们还发现了另一个错误,即移动主菜单也会将加载场景隐形地旋转和移动到您身后。这也已经修复了。
我们更改了第一次启用此功能的方式,以帮助向用户解释其工作原理。当新用户第一次遇到此功能时,抓取框将始终处于打开状态,并且不透明度为100%。将光标悬停在抓取框上将在框下方显示文本:“抓取以重新定位菜单”。
当用户第一次成功使用抓取以进行旋转后,抓取按钮将逐渐消失。在激活光标悬停在其上时,抓取按钮将以50%的不透明度重新显示。
我们还更新了QM设置切换的显示内容:
禁用响应式菜单,单击始终在您的视线范围内生成主菜单
在悬停和禁用时,并显示:
启用响应式菜单,单击将保持主菜单的默认位置
在悬停和启用时。
此任务目前正在进行QA测试。
地平线调整
在这方面没有太多可说的!我们在Live Beta中发布了这个功能,而且人们喜欢它。有一些设计上的问题,人们会反过来并且感到困扰,但似乎在新鲜感消失后,大部分问题都得到了缓解。
在实施过程中没有出现重大错误,但有关于启用该功能的UI的讨论,因为警告信息在某种程度上也是一个按钮。
个人镜子
在我们放出Open Beta版的内容中,这是得到最多反馈的功能!今天,我们在内部版本中加入了许多更改。
所有镜子设置现在会在不同游戏会话中保存
可移动镜子不再会反射到其他镜子中
跟踪模式已转换为一个切换(固定在世界上)
跟踪模式现在位于菜单的顶层
设置子菜单不再会将您踢出
修正了跟踪球反射图层
将“透明度”改名为“不透明度”
此外,还添加了一个“面部镜子”原型,它可以显示您自己的脸部,并附加在您的HUD层上!这使得您可以轻松地实时监控手势或操作菜单设置对您脸部的影响。
该任务目前正在进行迭代,并等待设计审查。
根据距离隐藏Avatar/根据距离隐藏Avatar的最大数量
上次我们提到这个功能时,该功能可以根据与您的距离隐藏Avatar,因此您可以设置“只显示距离我5米以内的Avatar”。超过这个半径的所有Avatar都会变成占位符角色。

此后,我们又添加了一种根据距离限制渲染角色数量的能力!这意味着您可以设置“只显示最近的5个Avatar”。其他所有Avatar都将变成占位符角色。
还新增了两个新选项:“始终显示好友Avatar”和“允许使用‘显示Avatar’进行覆盖”。
第一个选项“始终显示好友Avatar”,启用时,意味着您的好友永远不会受到距离或最大Avatar数量滑块的影响。
第二个选项“允许使用‘显示Avatar’进行覆盖”,启用时,意味着您在“显示Avatar”上单击的任何人都不受距离或数量隐藏效果的影响。
此系统不会在显示或隐藏Avatar时加载/卸载角色,切换是即时的。

此任务正在进行进一步开发。特别是,我们正在考虑在移动滑块时使用一种效果来显示渲染范围。我们还需要对其进行性能分析和基准测试,以确保实施此系统不会损失性能,并进行一些用户界面的改进。
文本转文本,文本转语音和语音转文本
工程师、设计师和制片人之间对这个任务进行了同步。
内部讨论实际上涵盖了几个独立的系统,因此我们必须将它们分开作为各自的任务,以避免混淆。
文本转文本
这是我们上次提到的“聊天气泡”。这个功能没有额外的成本,因为我们将其直接集成到应用程序中。
对于第一次迭代,我们的工作大部分已经完成,原型很快就会提供。
文本转语音
这是根据输入文本生成语音的功能。如果我们使用像亚马逊Polly或微软Azure语音合成这样的工具,这样的功能可能相对便宜。
目前为止,我们还没有在这方面做出额外的努力,只是进行了初步的探索。
语音转文本
这是将口语转换成文字的功能。如果在云端进行这样的处理,可能会相对昂贵。本地解决方案并不一致,并且根据操作系统有所不同。
目前,我们的工作重点将放在实现MVP(最小可行产品)TTT(文本转文本)上,然后再添加TTS。一旦实施了TTS并收集了反馈意见,我们将研究STT。由于TTT已经存在,STT可能不会那么有用 - 特别是因为如果需要的话,您可以通过操作系统级别的语音输入将文本输入到TTT输入框中。
相机近裁剪调整
在今天的迭代中进一步改进了这个功能。
关于此功能在Quest上的问题,有一些担忧。Quest有一个“较低”的深度缓冲区(我相当确定这里是指“较低精度”),这意味着调整该功能可能会导致问题加剧。
在实施这个功能的过程中,我们发现参考相机有时会出现正确设置为主相机的问题,因此我们正在考虑在实施之前或同时修复此问题。
我们还确定,可以通过脚本直接设置小于1厘米的近裁剪。这可能会导致世界中出现严重的问题,但用户希望将近裁剪设置为1毫米(0.001米/0.1厘米)。我们正在寻找一种方式,向用户说明将近裁剪调得太低会导致问题,但同时允许用户这样做。
我们担心,因为极低的近裁剪会破坏世界,一些世界作者会因为一堆无效的问题报告而受到影响。这主要适用于具有大范围远裁剪的世界。
这个任务正在继续开发中。
噪声门限和去除背景噪声
这是一个涵盖了两个功能的任务!基本上,它允许您调整麦克风灵敏度,并选择去除背景噪声的选项。
我们正在实现rnnoise的跨平台版本,因此它将在所有平台上运行。
这个任务正在进行审查。
传送门放置
这个功能将允许您使用控制器放置一个门户,而不是猜测您站的位置。



自动禁用克隆
在Live Beta中,对于这个功能有一些混淆,并且我们收到了一些建议。
我们希望将此选项简单地用于在正常VRChat主菜单设置页面中禁用克隆,每当启用此选项并且发生世界更改时。任何时候都可以克隆将由预先存在的设置决定。
在“自动禁用克隆”选项启用时,使用不带克隆的头像进入新实例将保持不变。使用带有克隆的头像进入新实例将取消克隆。
这个功能在今天进行了迭代,经过审查,并通过QA测试。它将在下一个版本或Live Beta版本中发布,以先到者为准。
AMD FSR
警告:下面是一些技术内容!
上次我们提到AMD FSR时,收到了一些反馈,主要是“为什么不是2.0版本?”和“DLSS/DLAA或XeSS怎么样?”
我们不认为我们将获得FSR 2.0、DLSS或Intel的XeSS的良好效果,因为它们都依赖于生成准确的运动矢量。它们都是时域上采样算法,将多帧像素结合起来生成更高分辨率的图像 - 但是需要运动矢量以便在帧之间计算像素运动。
在BIRP中,我们可以访问运动矢量,但由于自定义着色器,不能保证它们足够准确,无法用于上述任何解决方案...并且如果没有正确的运动矢量,将会产生各种视觉伪影,类似于SteamVR的动态平滑功能,许多人会因为这种伪影关闭该功能。
对于VRChat来说,这是一个特别的问题,因为我们允许自定义着色器,并且以前从未要求运动矢量。因此,许多着色器不支持运动矢量,导致了不正确的行为。即使在SRP(统一渲染管线)中也是如此,URP(通用渲染管线)直到Unity的2021 LTS版本才刚刚添加了运动矢量支持,用户可以轻松地制作需要针对运动矢量进行特殊处理的着色器,但没有意识到这一点,并最终导致产生伪影。此外,运动矢量对于处理透明度不是很好,因此DLSS需要被集成到管线的中间部分,以便仅应用于不透明的网格,但这可能在BIRP中不可行。
我们希望这提供了一些更深入的了解。我们仍在继续实现AMD FSR 1.0的工作,因为它不需要运动矢量。有关详细信息,请查看我们以前的开发者更新。
分配AMD Ryzen处理器的CPU亲和力 我们正在调查为VRChat添加启动标志的性能优势,以为AMD Ryzen处理器设置CCX亲和力。
这可能会导致性能提升。但是,也有可能导致不稳定,所以在推出之前,我们希望确保不会出现这种情况。
关于FPS的一点说明
在启用EAC后,一些用户报告在VRChat中出现了明显的FPS下降。虽然我们一直在尽力查找这些问题,但我们无法在自己的端上复现这些问题。
我们非常关注这个问题。我们知道性能对我们的社区非常重要。然而,在收集了大约一周的数据后,我们没有看到用户的平均帧率下降 - 实际上,所有平台的平均帧率都相对稳定。我们对数据进行了非常仔细的研究,因为用户关于性能下降的报告非常多,但我们没有看到任何下降趋势。
当然,这并不意味着有些用户没有遇到这些问题。这完全有可能!我们建议用户首先进行这些故障排除步骤,并查看他们的问题是否有所改善。
完全有可能出现性能问题,但可能是局部性的,可能与某些硬件、驱动程序或其他我们无法通过少量数据解决的因素有关。
总之,我们并未发现任何证据表明EAC显著降低性能。如果您遇到问题,请进行错误报告!
毕业日
除了所有这些工作之外,事实证明我们在社区实验室系统中有一个错误,导致世界无法适当地毕业。
我们已经修复了这个错误!并对修复措施进行了追溯应用。所以,您可能会注意到在新的一行中从社区实验室毕业的世界有很多(大约500个?)。去探索吧!