版本 3.7.1
总结
此更新向 Udon 公开了一些请求量很大的函数,添加了高质量的 DPID mipmapping 支持(选择加入测试版),并优化了 PhysBone 小工具。
新功能
- 向 Udon 公开了以下 C# 功能:
Array.Sort()
允许 Udon 以各种方式对数组进行排序,这对于管理 Udon 世界中的玩家非常有用。解决这个 Canny 帖子。System.Random
允许 Udon 创建确定性的随机种子,以及随机字节和双精度,从而扩展了 Udon 世界中随机性的可能性,超出了所能做到的。我们公开了 4 个新功能,解决了这篇 Canny 帖子。UnityEngine.Random
System.Text.StringBuilder
允许 Udon 构建和重新格式化字符串,其性能优于现有的字符串函数。我们公开了 18 个新的函数和属性,以解决这篇 Canny 帖子。System.Text.RegularExpressions
- RegEx 是一个强大的系统,用于搜索、匹配和替换文本字符串中的模式。我们公开了 14 个新的函数和属性,以解决这篇 Canny 帖子。System.Type
允许 Udon 与数据类型交互,并且对于想要在运行时验证对象类型的高级创建者非常有用。我们公开了 67 个新的函数和属性,解决了这篇 Canny 帖子
- SDK 现在支持“保留细节图像缩小”(DPID) mipmap,这大大提高了世界/头像纹理的清晰度。
- ⚠️ 我们仍在努力解决这个问题!它目前是一项 BETA 版功能,需要通过 SDK 控制面板中的“设置”面板明确选择加入。
- DPID 会将所有纹理上的 mipmapping 算法替换为所选的“Kaiser”筛选算法。“Box” 筛选不受影响。
- SDK 构建面板已鼓励您启用“Kaiser”筛选,这反过来又会启用 DPID。
- 与原始算法不同,VRChat 的 DPID 版本支持透明度。启用 Alpha is Transparency 可避免过滤透明纹理边缘上的伪影。
- 最初的算法实现是在 BSD 3-Clause(类似于 MIT 的宽容许可证)下发布的。为了“传递”,我们在同一许可证下发布了我们的计算着色器版本!您可以在 SDK 中找到它: 。
com.vrchat.base\Editor\VRCSDK\Dependencies\VRChat\Resources\PerceptualMipmapping\PerceptualPostProcessor.compute
- PhysBone Gizmo 渲染已得到优化。
- 现在,使用非 0 半径设置的 PhysBones 编辑器 Gizmo 的渲染速度提高了 2-3 倍。
- 现在,所选对象层次结构中多个 PhysBone 组件的编辑器 Gizmo 的渲染速度提高了 1.5-2 倍。
- 解决这个 Canny 帖子。
修复和更改
- SDK 现在会阻止包含粒子系统或轨迹渲染器的虚拟形象,这些虚拟形象设置为在完成时销毁自身。也不允许 avatar 根上的粒子系统在完成时禁用自身。
- 修复了 Expression Parameters Inspector 中将已用内存显示为字节而不是位的拼写错误。
- 修复了 SDK 控制面板设置脚本定义每次 IMGUI 重绘(略微提高性能)。
- 改进了 Lightprobe Hack 在具有大量环境光照的情况下的行为。
- 修复了如何使用默认参数填充空表达式参数列表。表达式参数列表可以再次为空。
- 删除了在打开项目或重新编译脚本时有时出现的与 PhysBone 和 Constraint Burst 作业相关的内部警告消息。
修复和更改 DPID 3.7.1-beta.2
- 修复了过分强调不正确的细节。
alphaIsTransparent
- 修复了非 sRGB 纹理(例如法线贴图)在较高 mip 级别发散的问题。
- 现在,这应该与 sRGB 行为一致。
- 修复了当其他像素都相同颜色时,单个完全透明像素会被计数的边缘情况。
- 修复了首次导入 SDK 3.7.1 时,日志中出现 null 引用异常的问题。
- DPID 现在可以正确应用于以前使用 Kaiser 的所有 mipmap。
- 简化和精简了计算着色器。
- 减少了与 DPID 相关的日志垃圾邮件。
最终版本中对DPID的修复和更改
- 将 DPID 标记为“BETA”并切换到选择加入。
- 将 “conservative mode” 设置为默认值,因为它似乎总体上会提供更好的结果。
- 修复了法线贴图(再次)。
- 修复了对光照贴图的支持。
- 在 HDR 和 Float 格式纹理上支持 DPID mipmap。
已知问题
- 首次打开场景并在具有 U# 行为的预制件中选择游戏对象时,该 U# 行为正下方的组件的 GUI 不会显示其 GUI。取消选择并重新选择预制件可解决此问题。
- 缓冲区粒子无法像在 Unity 2019 中那样工作,社区成员 hfcRed 在此处提供了一种解决方法来修复它们。
- Unity 2022 有时会导致 Rider 的调试器因 Unity IMGUI 中未处理的异常而停止。
- 有关更多信息,请参阅此解决方法和 Jetbrains 的错误跟踪器。
No Comments