主题
组件物理设置
组件物理页可以设置组件的物理表现,主要包括如下属性:
- 是否开启物理碰撞,不开启时组件可以被角色穿过;
- 碰撞层,用于决定组件与其他物体的碰撞关系;
- 是否受外力作用,开启后组件可以被推动、抓举等;
- 组件是否支持攀爬功能;
- 重心位置,会影响到运动表现;
- 组件是否支持屏幕交互,响应点击和拖动操作;
- 给组件添加互动功能,角色靠近后可以触发动作、密码锁等互动;
- 给组件添加运动器,以使组件在游戏运行时产生动态变化。
物理碰撞
关闭物理碰撞后:
- 物体能被其他受外力物体或玩家穿过;
- 可以降低组件占用值;
- 屏幕交互功能无法正常使用;
- 部分蛋码无法正常生效。
注意事项
依赖物理碰撞的特殊功能组件(如蹦床)不可关闭物理碰撞。
组件/生物/角色的物理碰撞可以使用蛋码<设置组件物理碰撞开启/关闭>动态开关,但是对初始化时关闭物理的组件无效。
部分组件存在简易物理和复杂物理两个版本的物理碰撞,后者的物理效果更贴合模型,前者占用值更低。
物理碰撞预览
在组件高级设置-物理页,点击占用值提示旁边的交互按钮,可以预览选中组件的物理碰撞范围。

如想预览当前场景内所有组件的物理碰撞,可以进入更多里的碰撞显示功能选择线框模式或实体模式。

碰撞规则
碰撞层能够控制物体与其他物体的碰撞关系。

你可以通过设置自定义碰撞层来构造一套符合地图玩法需求的碰撞规则。
例如希望一个组件只能阻拦角色不能阻拦生物,可以勾选角色而不勾选生物。
另外,碰撞关系是双向的,在碰撞层A取消了碰撞层B的勾选,碰撞B列也会同步到。

以下为官方默认的组件类型,这部分对象不支持添加自定义碰撞层:
| 类型 | 说明 |
|---|---|
| 角色 | 取消勾选后,玩家角色能穿透该碰撞层对象 |
| 生物 | 取消勾选后,生物能穿透该碰撞层对象 |
| 静态组件 | 取消勾选后,原本存在物理碰撞关系的对象(不包括运动组件)能够穿透开启物理碰撞、未添加运动器、打开了组件性能优化的静态组件,如受外力物体。 |
| 受力组件 | 取消勾选后,受外力组件能穿透该碰撞层对象,不会产生物理碰撞效果。 |
| 运动组件 | 取消勾选后,原本存在物理碰撞关系的对象(不包括运动组件和静态组件)能够穿透关闭了组件性能优化或添加了运动器的组件,如受外力物体。 |
| 触发区域 | 取消勾选后,触发区域无法检测到该碰撞层对象,无法触发进入/离开触发区域事件 |
| 载具 | 取消勾选后,载具能穿透该碰撞层对象 |
| 物品 | 取消勾选后,物品能穿透该碰撞层对象 |
| 自定义碰撞层 | 不勾选的情况下,对另一自定义碰撞层的组件不会产生物理碰撞 |
蛋码动态添加和移除自定义碰撞层里的组件
- <添加自定义碰撞层>
- <移除自定义碰撞层>
蛋码动态设置组件之间的碰撞关系
(仅支持在已经开启物理碰撞的组件上使用)
<设置物体与物体间是否能发生碰撞>能够设置两个指定单位之间的碰撞关系;
<设置物体与指定预设的物体间是否能发生碰撞>能够设置指定单位与指定预设下所有实体的碰撞关系。
射线检测
射线检测指的是从一个点朝一个方向发出一条看不见的线,检查这条线会撞到哪些物体,通常用于游戏运行时的物理碰撞检测。
射线检测获取指定的存在物理碰撞的单位
<获取射线检测内首个角色/生物/组件/触发区域>能够获取两点连线间的第一个单位。
<获取射线检测内多个角色/生物/组件/触发区域>能够获取两点连线上的所有单位列表。
高性能物理
规则设置-基础规则中可以开启地图的高性能物理模式。
高性能模式下,高速运动的物理组件不会穿透其他组件。

性能警告
由于该物理设置会对地图全局生效,不可避免产生较大的性能压力。
启用时,需要注意其他模块的性能负担情况,避免低端设备无法正常游玩。
受外力作用
打开开关后,物体可以受外力运动,组件可以被推动。

组件的受外力表现会受到质量和密度影响。
| 质量类型 | 描述 |
|---|---|
| 固定质量 | 不管物体怎么缩放,都维持同样质量,在这种情况下可以调整组件的重心。 质量越大,受外力作用时越难被推动,与其他受外力组件碰撞后速度变化小,在关节关系中拥有更高权重。 |
| 恒定密度 | 质量跟着物体的缩放而变化,且密度均匀,在这种情况下不可以调整组件的重心。 设置密度后,物理引擎会根据组件的碰撞体积重新计算质量,质量 = 密度 × 体积。组件缩放改变体积后质量也会产生变化。同密度下,体积越大质量越大。 |
注意
受外力组件不能再搭载运动器,原有的运动器数据会被清空。
打开可抓举开关后,组件能被角色举起。

但是,组件的抓取范围存在限制,组件尺寸过大的情况下会无法触发抓举。
组件被抓取后可以放下,支持配置角色放下组件时的投掷角度和投掷力,来实现投掷效果。
| 参数 | 说明 |
|---|---|
| 自定义投掷角度 | 投掷角度决定将物品投掷的出手角度,水平方向为0°,竖直方向为90°。 |
| 自定义投掷力 | 投掷力度决定炫物品投掷的远近 会受到组件的质量影响,质量越大,投掷距离越近。 |
滑动/滚动摩擦系数
受外力组件与其他组件接触时,会受到接触组件的滑动摩擦系数和滚动摩擦系数影响。
滑动摩擦系数越大,受外力组件在组件表面滑动时会越快减速停住;
滚动摩擦系数越大,受外力组件(球形、圆柱形)在组件表面滚动时会越快减速停住。
线速度/角速度阻尼
受外力组件被推动/击飞/施加外力后,速度会随时间逐渐衰减直到停下——阻尼越大,滑行越短、停得越快。
受外力组件被撞/受外力产生旋转后,自转逐渐停止——阻尼越大,转得越少、停转越快。
阻尼对关节组件的影响
组件的阻尼值还会影响到组件在滑动导轨关节上的运动表现,当滑动导轨为速度驱动时,目标组件会一直移动直到收到阻力或驱动停止,目标组件阻尼越大则越快停止移动。
受重力作用
开启时,组件受重力作用,从高处放下会坠落、落地,被抛起/击飞后会受重力回落。
关闭时,组件将不受重力下坠,保持悬浮失重状态(悬浮状态可能被外力打破)。
组件攀爬功能
打开组件攀爬功能后,组件将允许所有开启了攀爬功能的角色攀爬。

攀爬状态下,角色不受重力作用,移动速度将被设置为默认攀爬速度,玩家通过摇杆控制角色在墙面移动,角色会播放攀爬动画。
攀爬期间,角色可以触发的交互会受到限制。
攀爬效果落地还依赖于角色预设是否开启攀爬功能,能否攀爬会受到以下参数影响:

| 参数 | 说明 |
|---|---|
| 攀爬开始最低角度 | 判定角色能否进入攀爬状态,角色朝向与墙面的水平夹角小于该角度时才能触发攀爬。角度越大越容易攀爬,角度越小越难触发斜坡攀爬只能垂直攀爬。 |
| 攀爬结束最低角度 | 判定角色何时退出攀爬状态,恢复正常移动。攀爬过程中,当墙面/坡面的坡度降低到该角度以下(几乎接近水平地面)时,角色结束攀爬。角度越大则坡面越陡时结束攀爬,角度越小则越晚结束攀爬(要爬到几乎水平才退出) |
| 攀爬判定宽度 | 角色会根据这个宽度检测该距离内是否存在可攀爬的组件。攀爬对象过窄时将会无法进入攀爬。宽度越宽越容易“吸附”到组件上,进入攀爬状态。 |
以下行为将会结束攀爬状态
- 角色移动到不可攀爬的组件面上时
- 角色接触到地面
- 墙面坡度降到"攀爬结束最低角度"以下
- 正在攀爬的目标被销毁或变为不可攀爬状态
- 角色被击败
- 角色被击飞
- 角色触发跳跃
- 角色触发前扑
- 角色进入水体
- 角色上载具
攀爬相关蛋码
| 蛋码 | 说明 |
|---|---|
| 指定角色进入/结束攀爬 | 角色进入/结束攀爬状态时触发该事件 |
| 设置组件可攀爬 | 开启/关闭组件的攀爬功能,仅对非静态物理组件生效 |
| 设置角色是否开启攀爬 | 动态开关角色的攀爬功能,角色在攀爬中关闭攀爬功能不会强行打断攀爬 |
| 设置角色攀爬速度 | 动态调整角色的攀爬速度,会对攀爬中的角色立刻生效 |
| 设置角色攀爬起始/结束角度 | 动态调整角色的攀爬起始/结束角度,会对攀爬中的角色立刻生效 |
沙盒模式攀爬功能无效
试玩为沙盒模式时,组件的攀爬功能将会失效。
如要测试攀爬功能,建议切换到普通试玩模式再尝试。
重心编辑
重心是运动组件“运动的中心点”和受外力物体“受力作用的质心点”。
如:调整门的重心到边缘,门将绕着边缘旋转。

这里调整的X、Y、Z轴的偏移,调整的是重心相对组件的位置偏移;

偏移量为1,表示偏移距离是1个组件自身尺寸;
如:组件在X轴方向的宽度为3, X轴偏移量填写1,重心实际位置为从组件位置往X轴正方向偏移3;X轴偏移量填写0.5或-0.5,重心就会位于组件的X轴边缘线上。
屏幕交互
开启屏幕交互功能后,组件能够响应玩家的触控行为,支持点击和拖动交互。
只有开启了物理碰撞的组件可以使用该功能。
被拖动的组件在拖动时会变成无物理状态,不可被其他玩家同时交互。
| 参数 | 说明 |
|---|---|
| 点击 | 组件可以被点击和触发点击事件 |
| 拖动 | 组件可以被拖动产生视觉上的位移,但不会实际移动 |
| 检测所属玩家 | 开启后,组件只能响应所属玩家的触控行为 |
| 穿透点击 | 开启后,玩家的点击能够穿透其他组件对该组件生效;当多个可交互组件重叠时,只有最上方的组件会响应。 |
屏幕交互蛋码
组件被拖动时并不会真正移动,如果需要组件被拖动后改变位置,需要在蛋码中使用<组件被松开>事件,再设置组件坐标为松开位置。

蛋码<设置组件拖动平面>能够限制可拖动组件的移动范围,选中的组件只能在指定平面上进行移动(仅支持世界坐标系)。

其他屏幕交互相关的蛋码:
| 蛋码 | 说明 |
|---|---|
| 指定组件/生物被点击 | 组件/生物被点击时触发该事件,能够返回点击玩家和点击位置参数 |
| 设置组件/生物可点击 | 开启/关闭组件/生物的点击功能,仅对开启了物理的组件生效 |
| 组件/角色生物是否可点击 | 作为条件积木判断组件是否可以响应点击操作 |
| 指定组件/生物被松开 | 组件被拖动松开时触发;由于组件被点击也会被判断为点击+松开,所以组件被点击时也会触发该事件 |
| 设置组件/生物是否可拖动 | 开启/关闭组件/生物的拖动功能,仅对开启了物理的组件生效 |
| 组件/角色生物是否可拖动 | 作为条件积木判断组件是否可以响应拖动操作 |
界面与组件交互的遮挡优先级设置
打开【规则设置】里的【界面遮挡场景交互】开关。自定义界面会阻碍组件的交互。

组件互动
开启互动功能后,即可在生物、组件和触发区域上配置互动功能,当角色接近时弹出互动按钮,并且可以通过点击互动按钮触发交互行为。

互动功能适用于 NPC 的逻辑、场景交互等情况。
- 开启互动
- 针对互动的几项属性进行编辑,用来改变互动的实际表现
| 属性 | 描述 |
|---|---|
| 中心偏移 | 可以改变互动判断范围时的中心位置与目标实体的偏移。 |
| 触发距离 | 互动的范围是按照触发距离为半径的一个球形。 |
| 跟随缩放比率 | 范围在 0~2,是互动范围跟随目标实体缩放改变时一起改变的比例;0 为不跟随改变,1 为按实体缩放比例等比改变。 |
| 互动界面类型 | 互动的按钮有两种:列表(2D 界面)和浮窗(漂浮的 3D 控件)。 |
| 合并多个互动 | 仅在列表类型下有效;勾选后,当该实体与其他有互动的实体距离重合时,多个实体的互动按钮会合并到一起显示。 |
- 调整完毕后可以点击图示位置预览互动的范围

按钮列表
调整完基本属性后,可以点击“添加互动”按钮来增加实际内容 进入互动按钮的具体设置后,可以选择互动类型;配置按钮名称、图标、显示内容等信息;

互动类型
| 互动类型 | 描述 |
|---|---|
| 官方互动 | 部分官方组件自带了互动逻辑,这里用于删除不需要的官方互动 |
| 剧情对话 | 需关联【更多】-【剧情对话】里的剧情项。互动后将进入剧情对话 |
| 物品商店 | 需关联【更多】-【物品系统】里的【商店】。互动后将打开商店界面。 |
| 家具互动 | 可以将组件与角色形象进行挂接,制作如坐下、躺下等互动效果。 互动后角色将在指定组件挂点播放指定动画。 |
| 运动器 | 需关联组件上已有的运动器。 触发后组件的指定运动器会生效。 |
| 表现器 | 需关联组件上已有的表现器。触发后组件的指定表现器会生效。 |
| 自定义 | 互动后可触发自定义事件(全局发送)。 |
| 任务接取 | 可关联更多-任务系统中指定的任务。触发后会弹出指定任务接取界面。 |
| 密码锁 | 可给组件添加密码锁功能。触发后弹出密码输入键盘,作者可设置密码输入正确和失败事件。 |
注意事项
生物组件上只能配置剧情、商店、任务、自定义几种类型的互动。
组件互动相关蛋码
事件积木
- <指定组件/角色/生物/触发区域互动按钮被按下>
- <指定组件的家具互动成功触发>
动作积木
- <启用/禁用互动功能>
- <启用/禁用指定的单个互动按钮>
- <启用/禁用指定序号所有互动按钮>
- <设置互动按钮名称/图标>
- <命令使用/退出家具互动>
- <设置互动对指定玩家可见>
- <设置互动按钮对指定玩家可见>
