1 月:VehicleWater、平滑网络同步!
VehicleWater、平滑网络同步、CEF 更新、Assets.toml 生成器及更多!

来看看 6 月最新更新的汇总吧!
新类:VehicleWater
我们很自豪地介绍我们的新类:VehicleWater!这仍然是一个最低限度的概念类,但主要功能可用:在水上驾驶,具有所有常规载具功能!
这个新的 VehicleWater 类的工作方式类似于 Vehicle 类,支持添加自定义门、调整其功率,以及让角色进入门并附着到每个门的特定位置。所有角色进入/离开的载具事件也正常工作!
它会程序化生成在水面上正确漂浮所需的物理浮筒!
我仍然想继续改进这个新类,并为角色添加新动画。我还做了一些集成虚幻引擎水泡沫的测试,但它需要很多不可扩展的 hacky 解决方案,这是我将继续努力的事情,以尽可能带来最佳的视觉效果!
请向我们提供反馈和建议,以便我们不断改进并为这个新类添加新功能!
Wast3d,享受吧 🙏
重命名载具类
随着新的 VehicleWater 类的加入,我们将旧的 Vehicle 类重命名为 VehicleWheeled,这样我们将为拥有多种类型的载具打开大门(未来也能够拥有空中、飞机、直升机载具类型)。
使用 Vehicle 的脚本在使用旧的 Vehicle 名称时只会收到警告。
ADK Assets.toml 生成器
随着上个月的资产元数据更新,我们现在能够为资产包中的每个资产包含自定义数据。
因此我们改进了 ADK 的 Assets.toml 生成器,也可以选择包含所有静态网格体的边界信息:

[assets.static_meshes]
SM_Cube = { path = "Meshes/SM_Cube", bounds = { origin = "Vector(0.000, 0.000, 0.000)", box_extent = "Vector(50.000, 50.000, 50.000)", sphere_radius = 86.602539 } }
这可以通过脚本访问,如下所示(在服务器端!!):
for _, asset in pairs(Assets.GetStaticMeshes("nanos-world")) do
local bounds = asset.bounds
Console.Log(bounds.origin) -- Vector(0.000, 0.000, 0.000)
Console.Log(bounds.box_extent) -- Vector(50.000, 50.000, 50.000)
Console.Log(bounds.sphere_radius) -- 86.602539
end
默认资产类别
我们的默认资产包也进行了分类!大多数内置资产都添加了一个新的元数据 category,可以这样获取:
for _, asset in pairs(Assets.GetStaticMeshes("nanos-world")) do
Console.Log(asset.category) -- 例如 "furniture"
end
这取代了沙盒以前对资产进行分类的方式,之前有一个硬编码的 Lua 文件,其中所有资产都在一个指向类别的表中,现在它支持你创建自定义资产包并向其中添加类别元数据,以与沙盒约定集成!
附加网格体边界
我们对附加网格体方法做了一些更改,现在它们允许定义在附加时是否使用父级边界。它们有了一个新的最后一个参数:
character:AddStaticMeshAttached("hair", "nanos-world::SM_Hair_Long", "hair_male", true)
character:AddSkeletalMeshAttached("tie", "nanos-world::SK_Tie", false)
这修复了当附加网格体附加到具有较小/微小基础网格体的实体时不断闪烁的一些情况。
更平滑的网络同步
我们在与动态 Actor 的位置/旋转快照同步相关的网络代码方面取得了巨大改进。
你可以注意到,当其他玩家驾驶或与道具、可拾取物和载具进行物理交互时,它们现在流畅得多!
更新的 CEF
我们终于成功地将 CEF 版本更新到了最新的 CEF 构建(114),我们之前无法这样做,因为由于某些未知原因它在 Linux 构建上无法工作,但终于在近 1 年没有更新之后,最新的 CEF 版本再次对 Linux 用户生效了。我们现在已经更新到最新的优化和安全构建!
大量漏洞修复
但除了新闻之外,我们还进行了 10 多个重要的漏洞修复和小改进。
仅举几例:
- 服务器端可拾取物在被处理时未返回真实位置。
- 服务器端崩溃。
- 由于高负载导致服务器随机高 tick。
- JSON 解析器未正确转换键
- CEF JSON 解析器未正确转换为 Lua 数组。
- 多次玩家生成事件。
- 角色物理动画未重置。
- 以及更多……
在我们 Discord 的更新日志频道查看完整列表!
结语
这是一个比平常更短的新闻博客,因为上个月我搬到了新公寓,导致专注的时间更少,但现在事情又恢复正常了! 😎
这个 VehicleWater 更新是我已经以缓慢的速度工作了一段时间的事情,几个月前我重构了所有内部与载具和角色交互相关的系统,以允许更多的载具子类型,并让“角色”实体与所有“载具”的交互更加通用,这使我们能够以模块化的方式创建一个仅用于水上的新载具类!
此外,我将尝试投入一些时间将我们的虚幻引擎版本升级到最新的 UE 5.2,现在 Epic 发布了第一个热修复,我们可能更稳定地进行此操作!
感谢你又一个月的陪伴,你的支持一如既往地极其重要!
