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容器,具有指定的密度、摩擦力、弹性、摩擦力重量和弹性重量。
属性
零件的每单位体积质量。
当与另一部分摩擦时,零件的减速。
与另一部分碰撞时保留的能量量。
当计算碰撞部件的摩擦时,零件的 Friction 属性的重要性。
当计算碰撞部件的弹性时,零件的 Elasticity 属性的重要性。
构造工具
属性
FrictionWeight
两个部件相互摩擦的摩擦重量创建了用于计算两个部件之间实际摩擦的比率。零件的 FrictionWeight 越高,使用的 Friction 就越多。接受范围为 0.0 到 100.0,超出此范围的值将被夹住。
ElasticityWeight
两个部件碰撞时的弹性重量创建了用于计算两个部件之间实际弹性的比率。零件的 ElasticityWeight 越高,使用的 Elasticity 就越多。接受范围为 0.0 到 100.0,超出此范围的值将被夹住。