跳转至

模型点击通用控制

模型点击通用控制用于给模型增加“可选中、可点击、可按部件触发事件”的交互能力。它的核心价值不是移动模型,而是让模型在不同交互状态下显示对应特效,并把“选中了哪个模型/哪个部件”“点击了哪个模型/哪个部件”传给逻辑元。

它适合用在物品检查、装备部件识别、模型提示、点击答题、步骤确认等不需要抓取移动的交互场景。

资源文件

项目 内容
分类 交互控制
最新资源 模型点击通用控制-v1.0.xobj
原始说明 模型点击通用控制-文档.txt
更新日志 模型点击通用控制-更新日志.txt
来源目录 00 通用/交互控制/模型点击通用控制

使用前提

  • 课程中已经有需要交互的模型实体。
  • 在属性栏中把模型配置到“可交互的物体”。
  • 如果只需要整体点击,监听实体级事件即可。
  • 如果要点击具体部件,需要模型部件有可匹配的名称,逻辑元会通过名称匹配判断点击的是哪个部件。

属性栏配置

在资源属性栏中选择交互物体,并配置模型在不同状态下的交互效果。

模型点击通用控制属性栏

参数说明

参数 作用 推荐配置 注意事项
可交互的物体 指定哪个模型可以被选中和点击。 选择需要被学员操作或识别的模型,例如“装甲车_02”。 一个资源通常服务一个主要交互模型,避免把无关装饰模型加入交互对象。
禁用时效果 模型或部件被关闭交互后的表现。 不希望有提示时选择“无效果”。 禁用只表示不能被选中/点击,不等于隐藏模型。
可交互时效果 模型处于可点击状态、但还未被选中时的提示效果。 可使用“边缘发光”等轻量提示。 考核模式可降低提示强度,避免直接暴露答案。
选中时效果 指针、视线或输入焦点落到模型/部件上时的效果。 可使用“边缘描边”。 选中表示当前聚焦,不代表已经点击确认。
点击时效果 点击按下或点击触发时的即时反馈。 可使用“内部和边缘发光”。 点击按下和点击松开是两个事件,按课程逻辑选择监听其中一个。

逻辑元监听事件

在逻辑元中,可以从“模型点击通用控制 v1.0”的实体事件里选择要监听的事件。整体模型事件适合判断“是否点到这个模型”;部件事件适合判断“点到了模型里的哪个位置”。

模型点击通用控制事件选择

监听事件

事件 触发条件 典型用途
选中实体 任意一个部位被选中。 显示提示、播放聚焦反馈。
取消选中实体 任意一个部位取消选中。 收起提示、恢复默认表现。
实体点击按下 任意一个部位被点击按下。 开始一次操作、播放按下反馈。
实体点击松开 任意一个部位被点击松开。 确认点击完成、触发剧情。
选中部位* 名称匹配到的指定部件被选中。 对不同部件展示不同提示。
取消选中部位* 名称匹配到的指定部件取消选中。 恢复该部件表现。
部位*点击按下 名称匹配到的指定部件被点击按下。 判断学员点击了哪个具体位置。
部位*点击松开 名称匹配到的指定部件被点击松开。 在松开时确认部件点击结果。

部件事件中的星号代表要匹配的部件名称。编排时应使用模型部件的真实名称,名称不一致时,事件不会按预期触发。

可执行行为

逻辑元也可以主动执行模型点击通用控制提供的行为,用来开启或关闭整个模型、指定部件的点击交互。下图展示了执行行为的选择入口。

模型点击通用控制执行行为

行为 效果 常见调用时机
关闭实体交互 让整个模型无法被选中和点击。 当前步骤不允许操作、进入禁用阶段、答案确认后防止重复点击。
打开实体交互 恢复整个模型的选中和点击能力。 教学引导开始、允许学员操作。
关闭部位*交互 让名称匹配到的指定部件无法被选中和点击。 某个部件已完成操作、某些位置不允许作为答案。
打开部位*交互 恢复名称匹配到的指定部件交互。 分步骤解锁模型部件,或重新允许点击。

部件级行为同样依赖名称匹配。需要让某些位置不能被选中时,使用“关闭部位*交互”;需要让整个模型都无法点击时,使用“关闭实体交互”。

使用步骤

  1. 将资源导入课程工程。
  2. 在属性栏中选择“可交互的物体”。
  3. 配置禁用时、可交互时、选中时、点击时的效果。
  4. 在逻辑元中监听实体事件,判断模型整体是否被选中或点击。
  5. 如果要判断具体点击位置,监听部件事件,并用部件名称进行匹配。
  6. 需要限制可点击范围时,执行“关闭部位*交互”或“关闭实体交互”。

示例流程

需要学员点击装甲车的指定部件:

  1. 在属性栏中把“可交互的物体”设置为“装甲车_02”。
  2. 将“可交互时效果”设为边缘发光,让学员知道模型可操作。
  3. 将“选中时效果”设为边缘描边,提示当前指向的模型或部件。
  4. 在逻辑元中监听“部位*点击松开”,星号位置填写目标部件名称。
  5. 如果某些部件不应被点击,执行“关闭部位*交互”。
  6. 学员完成点击后,执行“关闭实体交互”,避免重复触发。

常见问题

问题 建议
点击事件没有触发。 先确认实体已配置到“可交互的物体”,再确认交互没有被关闭。
部位事件不生效。 检查事件名中的星号是否已替换为真实部件名称,并确认模型部件名称能被匹配。
选中有效果,但点击后逻辑没走。 确认逻辑元监听的是“点击按下”还是“点击松开”,两者触发时机不同。
某个位置不应该被选中。 对该部件执行“关闭部位*交互”。
整个模型都不应该被点击。 执行“关闭实体交互”。
学员能重复点击同一目标。 点击完成后调用“关闭实体交互”或“关闭部位*交互”。