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 的 Friction 和 FrictionWeight,但當確定 Elasticity 時,公式以相同方式使用。通常,當 A 的重量遠大於 B 時,實際值會更接近 A。如果重量相似,實際值將接近它們各自值的中點。
概要
建構子
- new(material : Enum.Material)
返回具有給定材料的預設屬性的 PhysicalProperties 。
返回具有指定密度、摩擦,以及彈性的 PhysicalProperties 。
創建一個具有指定密度、摩擦、彈性、摩擦重量和彈性重量的 PhysicalProperties 容器。
屬性
一個介於 0 和 1 之間的值,表示材料對 AudioEmitters 的吸收能力。
每單位體積的質量。
當與另一個零件摩擦時的減速率。
與另一個零件碰撞時保留的能量。
計算與碰撞零件的摩擦時,該零件的 Friction 屬性的權重。
計算與碰撞零件的彈性時,該零件的 Elasticity 屬性的權重。
建構子
屬性
AcousticAbsorption
一個介於 0 和 1 之間的值,表示材料對 AudioEmitters 的吸收能力。使用聲音模擬時,具有較高吸收性的表面將比吸收性較低的表面產生更少的混響。
請注意,這不會影響音頻如何 穿透 表面;關於這一點,請參見 Density。
Density
密度定義為每單位體積的質量。零件的密度越高,加速所需的力量越大。可接受的範圍是 0.0001 到 100.0 ,超出此範圍的值將被限制。
使用聲音模擬時,密度較高的零件會更好地阻擋被遮擋的 AudioEmitters。
Friction
摩擦被定義為兩個接觸的固體表面之間,相對側向運動的阻力。零件上的摩擦越大,與另一個帶有摩擦的零件摩擦時減速越快。可接受範圍是 0.0 到 2.0 ,超出此範圍的值將被限制。
FrictionWeight
兩個零件之間的摩擦重量創造了一個比率,用於計算兩個零件之間的實際摩擦。零件的 FrictionWeight 越高,其 Friction 被使用的越多。可接受的範圍是 0.0 到 100.0 ,超出此範圍的值將被限制。
ElasticityWeight
兩個碰撞零件的彈性權重創造了一個比率,用於計算兩個零件之間的實際彈性。零件的 ElasticityWeight 越高,其 Elasticity 被使用的越多。可接受的範圍是 0.0 到 100.0 ,超出此範圍的值將被限制。