我正在Unity中创建一个无限的跑步游戏,为了避免浮点精度,播放器停留在一个地方--,而所有其他环境对象在玩家输入东西时都会移动。它的工作原理很棒,但它是一个移动游戏,我想尽可能地保存性能。
目前,我有一个脚本,接受玩家的输入,并将其转化为力向量,然后应用于游戏对象。但是由于我可以有很多视觉元素来完成这个任务,会更好地从每个游戏对象中删除脚本,在场景中有它的一个副本,然后让脚本将力向量应用到所有的视觉游戏对象上吗?我就是这样看的。
(一旦->应用于物体,计算物理)>(计算物理40次)
我对统一性并不熟悉,所以我不知道这是否会改变我的表现,但在我的头脑中,一次计算物理要比100次要好得多。
提前感谢!
发布于 2022-06-12 14:15:42
是否最好将脚本从每个游戏对象中删除,在场景中有一个副本,然后让脚本将力向量应用于所有可视游戏对象?
是的,在大多数情况下会更好。
来自10000更新()调用 Unity的文章:
统一性超越所有的行为(脚本)来更新它们。特殊迭代器类SafeIterator确保如果某人决定删除列表中的下一项,则不会中断任何操作。只需迭代所有已注册的行为(脚本)就需要15%。
发布于 2022-06-12 14:30:25
是否最好将脚本从每个游戏对象中删除,在场景中有一个副本,然后让脚本将力向量应用于所有可视游戏对象?
这通常更好,但在优化方面,这都是关于测试的。
我建议你了解一下联合的内置分析器,看看物理对性能有多大的影响,然后将这些结果与其他方法进行比较,然后选择你认为更好的方法。
请记住,每个设备都会有不同的性能,即使在同一个设备上也是如此。
https://stackoverflow.com/questions/72592819
复制相似问题