开发者更新 - 2022年7月28日

大家好!欢迎来到最新的 VRChat 开发者更新。在这里,我们将谈论我们正在进行的工作以及目前的进展
2022年7月28日
生产、设计和任务会议
在过去几天里,生产和设计团队全力以赴搜集社区反馈,并将其转化为可行的变更或功能添加。社区团队直接联系了几个社区和社区领导者(例如 Helping Hands 等等),以收集反馈意见。现在已经有了一个包含所有反馈和信息的大型数据库。
所有生产、设计和工程人员参加了一个小时半的全员会议,讨论了相关事项。任务根据优先级进行了排序(主要考虑对可访问性的影响),以及每个项目距离可交付的时间有多近。重点放在速度上,明白这可能会导致最初的结果比较粗糙,需要稍后进行打磨,或者需要重新做一些工作。
团队查看了任务列表中的优先级最高的项目,并将它们分配给了工程师。通常情况下,有更多的流程,其中项目有任务,然后任务分配给工程师,但为了节省时间并利用人们对特定任务的兴趣,我们允许他们选择超出正常范围的任务,只要他们对它感兴趣。
任务向全团队开放以获得任何额外的意见和见解。从历史上看,这样做效果非常好,因为大多数在 VRChat 上工作的人也会经常玩 VRChat,因此许多人有时会有一些意见。
大约两周的开发时间已经排定。在此列表之后还有更多功能,但是随着开发完成,任务将迅速分配。在第一批变更完成后,将构建第二批,并重新评估任务,以便暂停的项目可以继续。不管怎样,生产和设计收集的每个功能和变更至少都在考虑之中(在绝大多数情况下,也正在实施)。
关于这周可能发布一个版本,可能是一个兼容网络的Open Beta版本。可能会有一些功能已经足够完成,可以让人们尝试一些东西。普遍的共识是“让我们看看会发生什么。”
功能、修复和更多内容
以下是今天更新的一部分内容。由于今天的所有内容都更新了,所以会比较长。没有特定的顺序。
Horizon 调整
这个功能允许你改变“地平线”,以便你可以在床上或躺下时完全使用 VRChat。这与可移动菜单不同。下面是一个展示其他人视角的快速视频:

这是最近的一个内部功能竞赛的一部分,现在几乎完成。目前的想法是在周末之前发布一个兼容网络的Open Beta版,但这取决于几个因素。目前的 UI 暂时被放入快速菜单。
麦克风灵敏度/噪声门控
这已经是最近一次竞赛的一部分了!这是一个相当简单的添加。
我们正在考虑添加一个简单的 UI 元素,让你调整麦克风何时开始“热化”并发送音频。
这个任务被分配给了参加竞赛的那个人。
噪声消除
这也是最近一个竞赛的一部分。它可以从你的麦克风中消除背景噪音。
市面上有很多噪声消除库。我们正在考虑使用 RNNoise。它快速、可靠、经过验证。我们还在研究一个适用于 Android 的实现。
这个任务被分配给了参加竞赛的那个人。
视觉设置
如前天所述,视觉设置是一组功能,包括一组可设置的色盲过滤器,以及调整这些过滤器强度的滑块。此外,还有一个选项,可以影响 VRChat 的用户界面,或者 VRChat 的用户界面和你所在的世界。
值得注意的是,由于图形限制的原因,我们在原型中使用的调整颜色的方法在 Quest 上不起作用。我们将通过进一步的迭代更新和调整来解决这个问题。
该功能还将包括关闭 Bloom 的功能,以及伽马/亮度和对比度滑块。
实现视觉变化的代码已经完成,现在正在进行 UI 部分,并很快就会进入质量保证阶段。
滑块捕捉
这是在我们的菜单中为滑块添加捕捉功能的努力。这是一个非常常见的请求,因为在音量滑块上准确地调整到 100% 是很困难的!
这是一个相当简单的添加。任务已经被分配。它将有一个在整个用户界面上开启和关闭的切换。最简单的实现方式是默认以 5% 为捕捉点。
“独立音频”按钮
就像音频混音器上的“独立声音”按钮一样,点击某人的“独立声音”按钮将使实例中的其他人都被静音,只有该人的声音可听到。
这里有一些复杂性,但这对于因音频而感到压倒性的用户会有很大帮助。我们已经在名牌上有了“静音”指示,所以告诉其他用户他们被你静音了是可以做到的,无需额外的工作。
这里有一些关于该设置会困扰人们的担忧。已经开始设计工作,看如何解决这些问题,因为这个功能似乎可以解决因为周围有太多人而导致的音频问题。
本地语音衰减滑块
这将允许用户调整他们自己的本地语音衰减。
这可能会对自定义的 Udon 音频管理脚本造成重大干扰。这也可能会对我们的 Steam Audio 整合造成严重干扰。Steam Audio 的整合开发已经进行了很长时间,但是最近取得了一些重大进展。
对于这个功能的需求可能会让我们更加关注 Steam Audio,因为我们认为它可以解决很多问题。ONSP(我们当前的空间化音频引擎)非常严格。
“对话圆顶”
在开发上面的两个相当相似的功能(独立音频和本地语音)时,我们也在考虑一个“对话圆顶”的想法。这是一个围绕你的球形/圆顶,大小可以自定义。在圆顶之外的人的声音几乎完全被关闭,让你可以“集中注意力”于你附近的对话。
这似乎是一个更优雅、直观的解决方案,所以我们可能会转而尝试这个。
(别担心,无论如何,我们仍然希望有 Steam Audio。)
Steam Audio
说到魔鬼-- Steam Audio 是由 Valve 开发的完整音频系统。它不仅适用于 Steam,而且几乎可以在任何平台上运行。恰巧 Valve 制作并免费提供了这个系统。
我们很久以来就想要它,因为 ONSP(我们当前的空间化音频引擎)在我们的用途上被发现有缺陷。你可以用 Steam Audio 做一些非常有趣的事情,比如烘烤遮挡和音频材质。
然而,Steam Audio 的语音调整一开始就比 ONSP 好得多。这是我们开始关注的主要问题,因为在 VRChat 中听到一堆声音同时出现是非常令人迷惑的。
我们正在加快努力并与 Valve 取得更多联系,因为我们认为这可能解决很多问题。我们认为 Steam Audio 很接近了。现在我们正在等待 Valve 就一些崩溃问题答复我们。
Avatar距离隐藏
隐藏距离大于 X 米的Avatar。这个任务已经被分配,并且正在进行 UI 设计!
所提议的实现不会完全隐藏角色,而是用一个超低多边形灰色菱形替代它们,并在下方的地面上有一个圆圈。没有 IK(逆向运动学)。我们不希望人们完全看不见,因为在过去会遇到一些问题。
这个任务目前正在开发中。这是我们认为低多边形菱形可能会是什么样子的:

我们还在考虑这可能会对性能产生什么影响,如果这些形状彼此堆叠可能会导致透明问题。因此,我们可能不会让它们在一开始就是透明的。
但这会引起其他问题--现在你的视野可能会被一堆菱形阻挡住,潜在地影响你对舞台的观看。因此,我们正在考虑进一步的迭代,使它们只在地面上的圆圈上进一步减少。
文本输入到语音输出
这个奇怪的标题名字很重要。我们看到了很多不同的系统请求。为了任何给定用户的声音提供文本到语音,为其他人的声音提供语音到文本,为所有音频提供语音到文本,为了一种形式的声音匿名化提供文本到语音到文本……
这个特定的项目涉及输入文本到 VRChat 并从你的Avatar中输出声音。
PC 上的实现相对简单,而且已经有一些可购买的资产可用于我们的内部 API。这些将使用内置的 Windows TTS API,因此你可以安装任何你喜欢的声音。
Quest 上可能会更困难,因为没有本地的 TTS API。我们可以使用基于云的生成 API,但这些会很昂贵!我们正在寻找其他解决方案。
有可能首先推出 PC 版,然后再考虑 Quest 版。
Invite+ 修复
安全实例有一个我们没有注意到的 bug,导致 Invite+ 无法按照描述工作,因为我们对安全实例进行了更改。
我们已经修复了这个问题。这个问题已经解决了,不需要等待客户端更新。
请求进入传送门
常见的请求是有一个设置,当启用时,需要与传送门进行交互才能进入。在 VR 或使用控制器时,这是一个扳机操作。在桌面上,只需左键点击。

近端剪裁滑块
这个滑块调整用户相机的近端剪裁。
这对于非常小的角色很有用,但是调整得太低可能会对世界造成问题。
这个任务已经被分配,但是有一些问题需要解决,所以正在进行设计工作来尝试解决这些问题。
家园世界实例类型
一些用户希望加载到不同于 Invite 的实例类型中。
现在你可以将你的家园世界设置为任何实例类型-Invite、Invite+、Friends、Friends+,甚至是Public!

粒子限制
这是一个非常简单的改变。粒子限制从 2018 年就已经在 VRChat 中,但是一直隐藏在配置文件中-主要是因为它会导致非常华丽的动画崩溃。
我们将在 UI 中添加一个快速复选框,让你在无需重新启动 VRChat 的情况下打开或关闭它。
出于 Quest 的考虑,该选项将处于灰色状态,因为它在默认情况下是开启的,而且我们认为不让用户关闭它不会有太大的好处,最好是让 Quest 上的头像创建者在限制内工作。
我们希望重新调整限制,但是这将会让任务变得复杂,所以暂时搁置了。
粘贴按钮
我们希望添加一个粘贴按钮,让你可以很容易地将东西粘贴到 VRChat 中的文本字段中。这对于粘贴视频链接非常有用。
新的 UI 变化可能会导致这里的工作重复,所以新的 UI 团队正在协调,以确保额外的工作最小化。
目前,这个任务处于设计阶段。上面的问题让它变得复杂。不过实现起来并不会花费太多时间。
更好的传送门放置
我们很久以来都希望在全息传送界面的末尾放置传送门的位置。这是一个经常被要求的功能,所以我们已经分配了任务。
界面和方法需要进行一些设计,所以目前正在进行设计阶段。
触觉反馈
这个功能会在你触摸各种 Avatar 动态系统时触发控制器的触觉反馈,强度各异。
这个任务已经被分配。Avatar 动态开发团队正在与指定的开发人员合作,确保检查不会影响为 PhysBones 和 Avatar 动态进行的非常高性能优化。
增加收藏夹
这个功能在外表上看起来相当简单,但是有避免我们在旧的 UI 上遇到的页面问题的担忧。新的 UI 可以很好地处理,但是当前的主菜单有很多琐碎的东西,阻止可靠的页面工作,导致任何给定的组中的项目不能超过 100 个。
后端团队正在与我们的 Unity 工程师合作,找到最好的解决办法。
个人镜子
这是一个只能在本地召唤的镜子,可以用于很多用途。
几周前我们在夏季竞赛中制作了一个原型,所以我们继续使用那个!它应该很快就会出现。它还需要一些美术(主要是图标),所以还在继续。

关于全身校准镜还需要做一些额外的工作,所以正在进行相关工作。
全身跟踪校准可视化
有一些关于如何更好地显示你的全身与你的 Avatar“接近程度”的请求。我们的全身跟踪和 IK 工程师正在寻找最佳的表示方法。
这个任务正在设计中,所以可能需要一些时间才能到达原型阶段。目前负责这项工作的工程师正在处理列表上的另一个任务。
相机变更
截图延迟
在拍摄截图时会有一点延迟,这是一个长期存在的 bug。这是一个普遍的需求。应该很容易解决!任务已被分配。
纵向模式
当你在手机上侧面拍照时,图像会保存在适当的方向。我们也应该这样做。任务已被分配。
增加截图分辨率
我们希望(有效地)解除相机可选择的分辨率设置的限制。这方面有一些担忧,因为一旦超过 8k,你必须使用瓦片方式来捕捉完整的分辨率,这可能会导致世界中的后期处理出现问题。任务已被分配。
我们正在研究解决这个问题的方法,但如果不是一个简单的修复,8k 可能会是你目前可以设置的最大分辨率。
我们还在考虑添加一种在应用中设置分辨率的方法,但可能在 Main Menu 制作完成之前我们暂时没有空间。
用户备注
这个功能允许你在个别用户上做笔记。你可以在每个备注中存储多达 256 个字符,并在多达 2000 个人上做备注。
实际上,这个功能在一个内部的功能开发周中进行了试验!看起来我们将尝试首先在网页上实现它,然后在即将发布的版本中实现客户端的编辑和显示功能。可能要等到 Main Menu 2.0 完成后才能实现,我们将拭目以待。
按 ID 隐藏 Avatar
这个功能可以让你阻止特定的 Avatar ID,以便无论谁穿戴它,它都会被屏蔽。
一些设计方面的考虑正在讨论中,主要是与安全系统的重叠和“显示 Avatar”功能的工作方式有关。决定这个系统将覆盖 Safety,但会在点击某人的“显示 Avatar”时被覆盖。
这个任务正在开发中,很快就会有一个原型。
我们在考虑“按作者隐藏 Avatar”是否是一个好主意。我们决定,目前来说,它涉及很多社交影响,我们还没有准备好应对。它可能对公共 Avatar 制作者的网络产生奇怪的“冷却效应”,我们还没有准备好立即解决。也许以后会考虑。
安全性和保护
有关安全性和保护方面正在讨论更多的事项,主要是关于如何处理 Avatar 崩溃问题。众所周知,随着 EAC 的发布,Avatar 崩溃问题很快会变得更加普遍。我们一直在努力对抗 Avatar 崩溃问题,但这是非常大的工作,需要更多时间。这不会是一个快速的变化,但幸运的是,其中几个已经在进行中的工作已经进行了很长时间,所以也许我们很快就会有一些进展。
我们希望向社区提供更多细节,但是展示我们的手牌是困难的,因为这会使恶意行为者提前预知他们需要考虑的内容。对不起!在这里,你必须相信我们正在努力解决这个问题。这是我们非常关注的一个重要问题。
信任和安全性已经增加了对制作和使用恶意 Avatar 的制裁力度。
Proton 中的 SteamVR
事实证明,EAC 打破了 Proton 中的 SteamVR。 Valve 很快发现了这个问题,并且 Proton 实验版[最新版本]已经通过更新来修复。