跳转至

1.9. 物理特性

一、物理简介

给物体赋予物理特性,可以增加动画表现的丰富性和场景的真实性。

用户可通过需要添加物理类型的组件到场景中,可添加的组件类型有角色控制器、布料、碰撞体、刚体、剖切、铰链关节和车辆。

二、物理属性及应用

(一)角色控制器

单击“组件>物理>角色控制器”,可为物体添加角色控制器;或者在细节面板的“组件”页签,单击添加组件进行添加。如图:

角色控制器的相关属性如图所示。

类型 说明
高度 对应角色的胶囊碰撞体的高度。
半径 对应角色的胶囊碰撞体的半径。
行走速度 对应角色的行走速度。
旋转速度 对应角色的旋转速度。
倍率 行走速度、旋转速度的倍率。
步高 对应角色的步高的高度。
跳高 对应角色的跳跃的高度。
延迟起跳 对应角色的延迟起跳时间。
不使用重力 开启后,对应角色将不受重力影响。
前进 前进按键
后退 后退按键
左转 左转按键
右转 右转按键
跳跃 跳跃按键
待机动画名称 填写待机动画名称
行走动画名称 填写行走动画名称
左转动画名称 填写左转动画名称
右转动画名称 填写右转动画名称
跳跃动画名称 填写跳跃动画名称
倒退动画名称 填写倒退动画名称
动画Actor名称 填写动画Actor名称。

(二)碰撞体

支持碰撞体物理仿真功能。单击“组件>物理>碰撞体”;或者在细节面板的“组件”页签,单击添加组件进行添加。如图:

添加碰撞体可为物体添加碰撞体的物理特性。可模拟模型遇到障碍物的情况,提高物理模拟的实时性。相关属性如图所示。

类型 说明
碰撞体类型 可选择碰撞体类型。类型包括网格碰撞体、盒子碰撞体、球形碰撞体、胶囊碰撞体。
启用 选择后启用碰撞体。
触发器 如果启用此属性,则该碰撞体将用于触发事件,并被物理引擎忽略。
中心 碰撞体在对象局部空间中的位置。
尺寸 碰撞体的尺寸。

(三)刚体

刚体模拟可用于模拟固定的运动。它会影响物体的位置和方向,并且不会使物体变形。

支持刚体物理仿真功能。单击“组件>物理>刚体”;或者在细节面板的“组件”页签,单击添加组件进行添加。如图:

添加刚体可为物体添加碰撞体的物理特性。可模拟模型遇到障碍物的情况,提高物理模拟的实时性。相关属性如图所示。

类型 说明
线性阻力 移动对象时影响对象的空气阻力大小。
角度阻力 旋转对象时影响对象的空气阻力大小。
使用重力 如果启用此属性,则对象将受重力影响。
碰撞检测 用于防止快速移动的对象穿过其他对象。
约束 对刚体运动的限制。
抓取 控制是否允许抓取。
质量 刚体的质量。

(四)剖切

单击“组件>物理>剖切”;或者在细节面板的“组件”页签,单击添加组件进行添加。如图:

添加后可使用剖切功能。如图所示。

(五)车辆

支持车辆物理仿真功能。单击“组件>物理>车辆”;或者在细节面板的“组件”页签,单击添加组件进行添加。如图:

添加后可为物体添加车辆的物理特性。可模拟汽车在运动过程中的形态。相关属性如图所示。

类型 说明
质量 车辆的质量。
牵引力 对车辆的牵引力。
刹车阻力 车辆的刹车阻力。
摩擦力 车辆对地面的摩擦力。
车身节点 需填写对应车身节点。
左前轮节点 需填写对应左前轮节点。
右前轮节点 需填写对应右前轮节点。
左后轮节点 需填写对应左后轮节点。
右后轮节点 需填写对应左后轮节点。
悬挂长度 轮胎与车身之间的悬挂距离。
转向幅度 转向时转向的角度。
转向速度 根据按下转向键的时间来算转向的程度,单位为 °/s。

三、物理应用实例

(一)车辆组件应用实例

以户外赛道模型为例,进行车辆组件使用示范。

1.导入“车辆组件教材案例”模型。

2.选择“Plane”平面模型,添加刚体组件。

3.在“Plane”平面模型细节栏的组件中更改刚体组件参数。

更改质量参数,参数数值为0时,模型不受重力影响,不管受多大的力都不会移动。

4.选择模型中“赛道>路肩”模型,添加碰撞体组件和刚体组件。

①添加碰撞体组件。

②更改碰撞体组件参数。

更改碰撞体类型,因为模型不规则,所以选择网格碰撞体。

③添加刚体组件。

④更改刚体组件参数。

更改质量参数,参数数值为0时,模型不仅不受重力影响,并且不管受多大的力都不会移动。

5.选择“小车”模型,添加车辆组件。

①调节车辆组件参数。

调节质量参数,参数数值越大,重量越大。可以根据实际要求添加质量,单位为kg。

调节刹车阻力参数,参数数值越大,按下刹车键(空格键)时车辆停的越快。

在车身节点、左前轮节点、右前轮节点、左后轮节点、右后轮节点处添加相对应的模型名称。

调节悬挂长度参数,参数数值越大,轮胎与车身悬挂距离越大,单位为m。

调节转向速度参数,参数数值相当于转向时转向的角度,根据按下转向键的时间来算转向的程度,单位为 °/s。

②车辆组件调节完成。

6.通过播放页面调节车辆在赛道上驾驶。

(二)刚体、碰撞体组件应用实例

以一组保龄球模型为例,进行刚体、碰撞体组件使用示范。

1.导入“物理系统教材案例”模型。

2.选择“底板”模型,添加碰撞体组件。

①在“底板”模型细节栏的组件中更改碰撞体组件参数。

更改碰撞体类型为“网格碰撞体”,网格碰撞体一般作为承载平面模型的碰撞体类型。

3.选择“底板”模型,添加刚体组件。

①在“底板”模型细节栏的组件中更改刚体组件参数。

更改质量参数,参数数值为0时,模型不受重力影响,不管受多大的力都不会移动。

4.选择“球台”模型,添加碰撞体、刚体组件。

①添加碰撞体组件后,在“底板”模型细节栏的组件中更改碰撞体组件参数。

模型显示为盒子状,因此碰撞体模式选择“盒子碰撞体”。

②添加刚体组件,在“底板”模型细节栏的组件中更改刚体组件参数。

更改质量参数,参数数值为0时,模型不受重力影响,不管受多大的力都不会移动。

5.选择“左侧挡板”模型,添加碰撞体、刚体组件。

①添加碰撞体组件后,在“左侧挡板”模型细节栏的组件中更改碰撞体组件参数。

模型显示为盒子状,因此碰撞体模式选择“盒子碰撞体”。

②添加刚体组件,在“左侧挡板”模型细节栏的组件中更改刚体组件参数。

更改质量参数,参数数值为0时,模型不受重力影响,不管受多大的力都不会移动。

6.选择“右侧挡板”模型,添加碰撞体、刚体组件。

①添加碰撞体组件后,在“右侧挡板”模型细节栏的组件中更改碰撞体组件参数。

模型显示为盒子状,因此碰撞体模式选择“盒子碰撞体”。

②添加刚体组件,在“右侧挡板”模型细节栏的组件中更改刚体组件参数。

更改质量参数,参数数值为0时,模型不受重力影响,不管受多大的力都不会移动。

7.选择“保龄球”模型,添加碰撞体、刚体组件。

①添加碰撞体组件后,在“保龄球”模型细节栏的组件中更改碰撞体组件参数。

模型显示为球状,因此碰撞体模式选择“球形碰撞体”。

②添加刚体组件,勾选抓取,这样保龄球才能被抓取。

8.选择“球瓶”模型,添加碰撞体、刚体组件。

①添加碰撞体组件后,在“球瓶”模型细节栏的组件中更改碰撞体组件参数。

模型显示为不规则状,因此碰撞体模式选择“网格碰撞体”。

②添加刚体组件。

9.将所有“球瓶”模型都添加碰撞体和刚体组件。

10.通过播放页面,按住ctrl键鼠标抓取保龄球模型,向球瓶模型扔去。

(三)角色控制器组件应用实例

以一个自带行走动画、跳跃动画、待机动画的人物模型为例,进行角色控制器组件使用示例。

1.导入“角色控制器教材案例”模型。

2.选择“角色”可以看到自带3种动画。

3.在父节点“角色控制器教材案例”中添加子节点“空物体”,并更改名字为“角色控制器”。

4.将子节点“角色”拖入子节点“角色控制器”中。

5.选择子节点“角色控制器”在属性中调节位置参数。

此处调节位置参数是因为要调节坐标轴的位置。坐标轴一般处于人物模型高度的一半,估算此人物模型高度为1.5m,因此坐标轴向上移动0.75m。

6.选择子节点“角色”在属性中调节位置和旋转参数。

此处调节位置参数是因为要调节人物模型的位置。人物模型向上移动了0.75m,为了让人物在地面上行走,因此将位置参数改为-0.75m。

此处调节旋转参数是因为人物模型现在是面对着视口区域,只有背对着视口区域才能让人物模型前进及转向操作正确。因此将旋转参数改为180°。

7.选择“角色控制器”,添加角色控制器组件功能。

①选择“角色控制器”,更改角色控制器的参数。

调节高度参数和半径参数,这两个数值是根据人物模型实际的来,整体呈现的是一个胶囊形状。半径数值是人物模型环周的半径,高度数值+2倍的半径数值≈人物模型估算高度。此处我们预估半径数值为0.35m,高度数值为0.75m。

调节步高参数,根据实际人物模型来估算每一步抬起来的高度,此处我们预估步高为0.2m。

调节延迟起跳参数,根据实际动作来估算延迟时间。

在待机动画名称处添加待机动画“idle”。

在行走动画名称处添加行走动画“Walking”。

在左转动画名称处添加左转动画“Walking”。

在右转动画名称处添加右转动画“Walking”。

在跳跃动画名称处添加跳跃动画“Jump”。

在倒退动画名称处添加倒退动画“Walking”。

在动画Actor名称处添加“角色控制器”中人物模型的名称。

②角色控制器组件完成。

8.通过播放页面调节人物在地面上行走、跳跃、爬楼梯等动作。