UPrimitiveComponent 的 GetMass 和 CalculateMass 之间有什么不同?
What is the different between UPrimitiveComponent's GetMass and CalculateMass?
在 udemy 课程中,我刚刚完成了一个讲座,其中我们需要计算一些东西的质量。
我最终使用了 CalculateMass
;但是,讲师使用了 GetMass
.
unreal documention for CalculateMass说明它接受一个参数FName BoneName
;但是,我没有使用这个参数,它仍然有效。该文档还谈到 CalculateMass
可能与实际质量相差 ~0.1
千克;但是,这看起来微不足道。
这两个函数之间的重要区别是什么?什么时候应该用一个代替另一个?
float CalculateMass(FName BoneName)
Returns 指定骨骼的质量/body。在物理资产中,您可以为单个网格设置多个物理体并分别获取质量。因此骨骼名称参数。如果已指定,它也会 returns 覆盖质量。这是引擎假定的质量,与 GetMass 相比可能略有不同。而且好像更快了。
另一方面...
float GetMass() const
与调用 CalculateMass(NAME_None);
非常相似
除此之外returns由物理引擎计算的body实例的真实质量。
为了获得准确的值,它会导致物理引擎上的线程锁读取该值。
所以执行的时候有点慢
除非精确质量必须精确,否则我会使用 CalculateMass。
如果 CalculatedMass 不经常更改,也会将其缓存在变量中。
您还可以深入研究引擎代码,以更好地了解这些值的来源;)
在 udemy 课程中,我刚刚完成了一个讲座,其中我们需要计算一些东西的质量。
我最终使用了 CalculateMass
;但是,讲师使用了 GetMass
.
unreal documention for CalculateMass说明它接受一个参数FName BoneName
;但是,我没有使用这个参数,它仍然有效。该文档还谈到 CalculateMass
可能与实际质量相差 ~0.1
千克;但是,这看起来微不足道。
这两个函数之间的重要区别是什么?什么时候应该用一个代替另一个?
float CalculateMass(FName BoneName)
Returns 指定骨骼的质量/body。在物理资产中,您可以为单个网格设置多个物理体并分别获取质量。因此骨骼名称参数。如果已指定,它也会 returns 覆盖质量。这是引擎假定的质量,与 GetMass 相比可能略有不同。而且好像更快了。
另一方面...
float GetMass() const
与调用 CalculateMass(NAME_None);
非常相似除此之外returns由物理引擎计算的body实例的真实质量。
为了获得准确的值,它会导致物理引擎上的线程锁读取该值。
所以执行的时候有点慢
除非精确质量必须精确,否则我会使用 CalculateMass。
如果 CalculatedMass 不经常更改,也会将其缓存在变量中。
您还可以深入研究引擎代码,以更好地了解这些值的来源;)