在一个肮脏的课程中,我刚刚参加了一次讲座,我们需要计算一些东西的质量。
我最终使用了CalculateMass
;但是,讲师使用了GetMass
。
unreal documention for CalculateMass显示它接受参数FName BoneName
;但是,我没有使用此参数,它仍然有效。该文档还讨论了CalculateMass
可能是实际质量的~0.1
公斤级;但是,这看起来微不足道。
这两个功能之间的重要区别是什么?什么时候应该使用另一个?
答案 0 :(得分:1)
float CalculateMass(FName BoneName)
返回指定骨骼/身体的质量。在物理资源中,可以为单个网格设置多个物理实体,并分别获取质量。因此,骨骼名称参数。如果已指定,它还会返回覆盖的质量。这是引擎假定的质量,与GetMass可能略有不同。而且似乎更快。
另一方面...
浮动GetMass()常量
调用 CalculateMass(NAME_None);
非常相似除了它返回由物理引擎计算的人体实例的真实质量。
要获取准确的值,它将导致物理引擎上的线程锁定读取该值。
所以这在执行时会慢一些。
除非精确质量必须精确,否则我将使用 CalculateMass 。
如果不经常更改 CalculatedMass ,也可以将其缓存在变量中。
您还可以深入研究引擎代码,以更好地了解这些值的来源;)