主题
PhysicalProperties
概览
| 字段 | 值 |
|---|---|
| Kind | Data · 数据 Data |
| Realm | common |
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 | 类型 | 默认值 | 说明 |
|---|---|---|---|
Density | Float | 1.0 | 密度,单位为 kg/stud³;Meta 取值范围为 0.0001~100。 |
Friction | Float | 0.3 | 摩擦系数;Meta 取值范围为 0~100000。 |
Elasticity | Float | 0 | 弹性或恢复系数;Meta 取值范围为 0~1。 |
FrictionWeight | Float | 1.0 | 摩擦混合权重;Meta 取值范围为 0~100。 |
ElasticityWeight | Float | 1.0 | 弹性混合权重;Meta 取值范围为 0~100。 |
函数 (1)
New
签名:New(values?: Table) -> PhysicalProperties
PhysicalProperties 的构造函数,用于创建一个新的物理材质属性实例。它接受一个可选的参数字表 values,可在创建时一次性传入物理材质的密度、摩擦、弹性、摩擦权重、弹性权重等属性取值,从而得到一个可直接使用的物理材质对象。
| 参数 | 类型 | 说明 |
|---|---|---|
values? | Table | 创建参数: Density(密度), Friction(摩擦系数), Elasticity(弹性系数), FrictionWeight(摩擦混合权重), ElasticityWeight(弹性混合权重) |
示例代码
用属性表构造物理材质
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