Script Graph

使用指南

物理系统 / 拾取节点

物理系统 / 拾取 节点手册,包含 2 个节点的用途、引脚、使用场景和注意事项。

16

学习目标

执行射线、形状和屏幕点查询,获取物理世界中的碰撞结果。

覆盖范围

  • 节点数量:2
  • 分类路径:物理系统 / 拾取

典型使用场景

  • 点击屏幕选择 3D 对象
  • 检测攻击范围或视线遮挡
  • 根据射线结果决定移动、拾取或交互

通用注意事项

  • 物理查询依赖场景中的碰撞体配置。
  • 全部拾取类节点可能返回多个结果,后续通常要遍历或筛选。

节点索引

节点节点 ID输入/输出执行方式
屏幕点 3D 全部拾取physicsPickScreenPointAll7 / 4立即继续
屏幕点 3D 最近拾取physicsPickScreenPointClosest7 / 4立即继续

屏幕点 3D 全部拾取

屏幕点 3D 全部拾取:把屏幕点击位置换成 3D 检测,并返回这条方向上碰到的所有物体。 适合做穿透查询、想自己筛选多个候选目标,或需要知道“这一点后面还压着哪些物体”时使用。

节点信息

字段
节点 IDphysicsPickScreenPointAll
分类物理系统
二级分类拾取
分组-
是否需要等待结果
是否需要先选择目标

输入引脚

引脚 ID名称连接方式值类型用途默认或选择连接要求
exe-执行流执行流执行入口
到达这里时,立即执行这次设置或查询。
-可选
cameraComponent相机数据cc.Component / Camera用于观察场景的相机
这个节点会用它把“你点击的屏幕位置”换算成场景里的检测方向。通常接当前主相机。
-必填
x屏幕 X数据number屏幕 X
填写你点击或触摸到的屏幕坐标。通常来自鼠标位置或触摸位置。
输入框
默认值:0
必填
y屏幕 Y数据number屏幕 Y
填写你点击或触摸到的屏幕坐标。通常来自鼠标位置或触摸位置。
输入框
默认值:0
必填
mask碰撞掩码数据number筛选范围
用来限制“只检查哪些碰撞体”。默认 0xffffffff 表示全部都检查;不确定时保持默认即可。
输入框
默认值:4294967295
可选
maxDistance最大距离数据number最多检测多远
默认 10000000,通常足够大。只有你想明确限制检测距离时才需要修改。
输入框
默认值:10000000
可选
queryTrigger检测触发器数据boolean是否把触发区域算进去
开启后,只负责触发事件的区域也会被算作命中。大多数情况下保持默认即可。
可编辑控件
默认值:true
可选

输出引脚

引脚 ID名称连接方式值类型用途默认或选择连接要求
out-执行流执行流继续执行
当前操作完成后,从这里继续后续流程。
-可选
ray射线数据reference / geometry.Ray生成出的世界射线
方便你在拾取后继续复用这条射线做别的检测。
-可选
hit是否命中数据boolean是否找到目标
如果至少检测到一个碰撞体,这里就是 true;否则为 false。
-可选
results命中结果数组数据reference / array / physics.PhysicsRayResult全部检测结果
返回这次检测找到的所有结果。若你只关心最近的一个目标,可改用“最近命中”类节点。
-可选

使用场景

  • 点击屏幕选择 3D 对象
  • 检测攻击范围或视线遮挡
  • 根据射线结果决定移动、拾取或交互

注意事项

  • 适合的工作流类型:component、library、method、function、class。
  • 物理查询依赖场景中的碰撞体配置。
  • 全部拾取类节点可能返回多个结果,后续通常要遍历或筛选。

屏幕点 3D 最近拾取

屏幕点 3D 最近拾取:把“你点到的屏幕位置”直接换成 3D 场景里的检测,并返回最先点中的那个物体。 这是做 3D 点击选中、点地面移动、点敌人交互时最常用的节点之一。

节点信息

字段
节点 IDphysicsPickScreenPointClosest
分类物理系统
二级分类拾取
分组-
是否需要等待结果
是否需要先选择目标

输入引脚

引脚 ID名称连接方式值类型用途默认或选择连接要求
exe-执行流执行流执行入口
到达这里时,立即执行这次设置或查询。
-可选
cameraComponent相机数据cc.Component / Camera用于观察场景的相机
这个节点会用它把“你点击的屏幕位置”换算成场景里的检测方向。通常接当前主相机。
-必填
x屏幕 X数据number屏幕 X
填写你点击或触摸到的屏幕坐标。通常来自鼠标位置或触摸位置。
输入框
默认值:0
必填
y屏幕 Y数据number屏幕 Y
填写你点击或触摸到的屏幕坐标。通常来自鼠标位置或触摸位置。
输入框
默认值:0
必填
mask碰撞掩码数据number筛选范围
用来限制“只检查哪些碰撞体”。默认 0xffffffff 表示全部都检查;不确定时保持默认即可。
输入框
默认值:4294967295
可选
maxDistance最大距离数据number最多检测多远
默认 10000000,通常足够大。只有你想明确限制检测距离时才需要修改。
输入框
默认值:10000000
可选
queryTrigger检测触发器数据boolean是否把触发区域算进去
开启后,只负责触发事件的区域也会被算作命中。大多数情况下保持默认即可。
可编辑控件
默认值:true
可选

输出引脚

引脚 ID名称连接方式值类型用途默认或选择连接要求
out-执行流执行流继续执行
当前操作完成后,从这里继续后续流程。
-可选
ray射线数据reference / geometry.Ray生成出的世界射线
方便你在拾取后继续复用这条射线做别的检测。
-可选
hit是否命中数据boolean是否找到目标
如果至少检测到一个碰撞体,这里就是 true;否则为 false。
-可选
result最近命中结果数据reference / physics.PhysicsRayResult单个检测结果
返回这次查询得到的一个结果。3D 结果可继续从这个引脚拖线选择属性节点;2D 结构体结果可继续拆解成员。
-可选

使用场景

  • 点击屏幕选择 3D 对象
  • 检测攻击范围或视线遮挡
  • 根据射线结果决定移动、拾取或交互

注意事项

  • 适合的工作流类型:component、library、method、function、class。
  • 物理查询依赖场景中的碰撞体配置。
  • 全部拾取类节点可能返回多个结果,后续通常要遍历或筛选。