Skip to content

PhysicalProperties ​

概览 ​

字段值
KindData · 数据 Data
Realmcommon

PhysicalProperties 描述物理材质的密度、摩擦、弹性及其混合权重,用于配置物体碰撞和接触时的物理表现。

适用场景 ​

当需要让某个物体更重、更滑或更有弹性时,创建 PhysicalProperties 后赋给物理单位的 CustomPhysicalProperties 等材质属性。

使用要点 ​

按公开 Meta 使用 PhysicalProperties.New(properties) 创建实例,其中 properties 是包含 Density、Friction、Elasticity 的属性表;可按需添加 FrictionWeight 和 ElasticityWeight。

注意事项 ​

各数值的公开范围以 Meta 为准:Density 为 0.0001~100,Friction 为 0~100000,Elasticity 为 0~1,FrictionWeight 与 ElasticityWeight 为 0~100。

代码示例 ​

构造物理材质属性 ​

lua
-- @runtime client
local props = PhysicalProperties.New({ Density = 0.5, Friction = 0.3, Elasticity = 0.2, FrictionWeight = 1.0, ElasticityWeight = 1.0 })
if props ~= nil then
    print('密度:', props.Density)
    print('摩擦:', props.Friction)
    print('弹性:', props.Elasticity)
end

属性 (5) ​

Name类型默认值说明
DensityFloat1.0密度,单位为 kg/stud³;Meta 取值范围为 0.0001~100。
FrictionFloat0.3摩擦系数;Meta 取值范围为 0~100000。
ElasticityFloat0弹性或恢复系数;Meta 取值范围为 0~1。
FrictionWeightFloat1.0摩擦混合权重;Meta 取值范围为 0~100。
ElasticityWeightFloat1.0弹性混合权重;Meta 取值范围为 0~100。

函数 (1) ​

New ​

签名:New(values?: Table) -> PhysicalProperties

PhysicalProperties 的构造函数,用于创建一个新的物理材质属性实例。它接受一个可选的参数字表 values,可在创建时一次性传入物理材质的密度、摩擦、弹性、摩擦权重、弹性权重等属性取值,从而得到一个可直接使用的物理材质对象。

参数类型说明
values?Table创建参数: Density(密度), Friction(摩擦系数), Elasticity(弹性系数), FrictionWeight(摩擦混合权重), ElasticityWeight(弹性混合权重)

返回值 PhysicalProperties

示例代码

用属性表构造物理材质

lua
-- @runtime client
local props = PhysicalProperties.New({ Density = 0.5, Friction = 0.3, Elasticity = 0.2, FrictionWeight = 1.0, ElasticityWeight = 1.0 })
if props ~= nil then print('密度:', props.Density) end