UPrimitiveComponent的GetMass和CalculateMass有什么区别?

时间:2018-11-20 01:30:03

标签: unreal-engine4

在一个肮脏的课程中,我刚刚参加了一次讲座,我们需要计算一些东西的质量。

我最终使用了CalculateMass;但是,讲师使用了GetMass

unreal documention for CalculateMass显示它接受参数FName BoneName;但是,我没有使用此参数,它仍然有效。该文档还讨论了CalculateMass可能是实际质量的~0.1公斤级;但是,这看起来微不足道。

这两个功能之间的重要区别是什么?什么时候应该使用另一个?

1 个答案:

答案 0 :(得分:1)

float CalculateMass(FName BoneName)

返回指定骨骼/身体的质量。在物理资源中,可以为单个网格设置多个物理实体,并分别获取质量。因此,骨骼名称参数。如果已指定,它还会返回覆盖的质量。这是引擎假定的质量,与GetMass可能略有不同。而且似乎更快。

另一方面...

浮动GetMass()常量

调用 CalculateMass(NAME_None);

非常相似

除了它返回由物理引擎计算的人体实例的真实质量。

要获取准确的值,它将导致物理引擎上的线程锁定读取该值。

所以这在执行时会慢一些。

除非精确质量必须精确,否则我将使用 CalculateMass

如果不经常更改 CalculatedMass ,也可以将其缓存在变量中。

您还可以深入研究引擎代码,以更好地了解这些值的来源;)