物理对象
阅读本文预计 5 分钟
**本文概述了编辑器中普通模型如何变成物理对象,进行物理模拟的相关定义及使用方法。
什么是物理对象
模型开启物理模拟后,将自身的形状、质量、摩擦力、弹力等属性通过物理引擎的计算,在游戏中模拟真实的物理运动,以获得尽可能接近于我们在现实世界中观察到的结果。在物理模拟中,完全由物理世界控制对象的移动,逻辑层只控制各种物理参数的设置与力的操作。
如何使用物理对象
在编辑时启用物理模拟的方法
在场景中创建一个模型,在属性面板中找到物理模拟属性,勾选后开始物理模拟。
属性
属性名称 | 类型 | 默认值 | 取值范围 | 属性说明 |
---|---|---|---|---|
物理模拟 | boolean | false | true/false | 开启/关闭物体是否接受物理模拟计算 |
使用质量 | boolean | false | true/false | 开启/关闭自定义物体质量参数,在关闭自定义物体质量时,使用默认质量(KG) |
质量 | number | 100 | 0.001~9999999999 | 设置质量参数,质量越大的物体越难推动 |
弹力 | number | 0.3 | 0~1 | 设置弹力系数,会让物理产生碰撞后的反弹力。注意:当同一时间内计算的弹力运动过多时,会影响CPU性能。 |
摩擦力 | number | 0.3 | 0~1 | 设置摩擦力系数,会让物体之间会产生相对的阻力,影响物体的滑动效果。 |
重力影响 | boolean | true | true/false | 开启/关闭物体在进行物理模拟时,是否受世界重力影响 |
线性阻尼 | number | 0.001 | 0~100 | 设置物体进行线性物理模拟运动时,在运动中受到的阻尼力,是一种为减弱线性移动而附加的"拖拽"力 |
角阻尼 | number | 0.001 | 0~100 | 设置物体进行角物理模拟运动时,在运动中受到的阻尼力,是一种为减弱角运动而附加的"拖拽"力 |
约束位置X | boolean | false | true/false | 物体在进行物理模拟运动时,保持X轴向的位置不移动 |
约束位置Y | boolean | false | true/false | 物体在进行物理模拟运动时,保持Y轴向的位置不移动 |
约束位置Z | boolean | false | true/false | 物体在进行物理模拟运动时,保持Z轴向的位置不移动 |
约束旋转X | boolean | false | true/false | 物体在进行物理模拟运动时,保持X轴向的位置不旋转 |
约束旋转Y | boolean | false | true/false | 物体在进行物理模拟运动时,保持Y轴向的位置不旋转 |
约束旋转Z | boolean | false | true/false | 物体在进行物理模拟运动时,保持Z轴向的位置不旋转 |
以供参考
在世界设置现实重力下(-980cm/s^2),模拟开始时,在初始引力作用下,线速度阻尼值50即可减缓单个物体掉落速度。多个物理物体相互作用时(通过使用物理约束或若发生碰撞),则阻止物理物体所需阻尼量将增大。
在无角阻尼的情况下,物体将持续旋转,直到受到外力影响,当角阻尼值为100, 则几乎可以立即使外部源造成的角运动停止。