PhysicalProperties 数据类型描述了一个BasePart 、Density 、和Elasticity 的几个物理属性:Friction 。它被用于类似名称的 BasePart.CustomPhysicalProperties 属性。
重量计算行为
PhysicalProperties 还提供了权重属性,ElasticityWeight 和 FrictionWeight 。当两个部件相互作用时,通过以下双倍权重平均函数,它们之间的摩擦力和弹性力被确定相同的方式:
local function getActualFriction(partA, partB)
return (partA.Friction * partA.FrictionWeight + partB.Friction * partB.FrictionWeight) / (partA.FrictionWeight + partB.FrictionWeight)
end
虽然上面的公式指的是两个部分的 和 ,但在确定 A 和 B 时,公式仍然使用相同的方式。一般来说,当 A 的重量大于 B 的重量时,实际值将更接近于 A 。如果重量相似,实际值将接近其各自值之间的中点。
概要
构造工具
- new(material : Enum.Material)
返回一个 PhysicalProperties 与给定材料的默认属性。
返回具有指定密度、摩擦和弹性的 PhysicalProperties 。
创建一个PhysicalProperties容器,具有指定的密度、摩擦力、弹性、摩擦力重量和弹性重量。
属性
一个值在 0 和 1 之间,用来表示材料吸收到 AudioEmitters 的程度。
零件的每单位体积质量。
当与另一部分摩擦时,零件的减速。
与另一部分碰撞时保留的能量量。
当计算碰撞部件的摩擦时,零件的 Friction 属性的重要性。
当计算碰撞部件的弹性时,零件的 Elasticity 属性的重要性。
构造工具
属性
AcousticAbsorption
一个值在 0 和 1 之间,用来表示材料吸收到 AudioEmitters 的程度。使用声学模拟时,吸收率更高的表面会产生较少的回声,而吸收率更低的表面会产生更多的回声。
请注意,这不会影响音频通过 通过 表面传输的程度;有关此内容,请参阅Density。
Density
密度被定义为每单位体积的质量。零件越密集,加速它所需的力就越大。接受范围为 0.01 到 100.0 ,范围外的值将被卡住。
使用声学模拟时,密度更高的零件会淹没更多AudioEmitters。
FrictionWeight
两个部件相互摩擦的摩擦重量创建了用于计算两个部件之间实际摩擦的比率。零件的 FrictionWeight 越高,使用的 Friction 就越多。接受范围是 0.0 到 100.0 ,范围外的值将被抑制。
ElasticityWeight
两个部件碰撞时的弹性重量创建了用于计算两个部件之间实际弹性的比率。零件的 ElasticityWeight 越高,使用的 Elasticity 就越多。接受范围是 0.0 到 100.0 ,范围外的值将被抑制。