使用指南
物理系统 / 2D查询节点
物理系统 / 2D查询 节点手册,包含 3 个节点的用途、引脚、使用场景和注意事项。
16
学习目标
执行射线、形状和屏幕点查询,获取物理世界中的碰撞结果。
覆盖范围
- 节点数量:3
- 分类路径:物理系统 / 2D查询
典型使用场景
- 点击屏幕选择 3D 对象
- 检测攻击范围或视线遮挡
- 根据射线结果决定移动、拾取或交互
通用注意事项
- 物理查询依赖场景中的碰撞体配置。
- 全部拾取类节点可能返回多个结果,后续通常要遍历或筛选。
节点索引
| 节点 | 节点 ID | 输入/输出 | 执行方式 |
|---|---|---|---|
| 2D 点检测 | physicsSystem2DTestPoint | 2 / 3 | 立即继续 |
| 2D 矩形检测 | physicsSystem2DTestAABB | 2 / 3 | 立即继续 |
| 2D 射线检测 | physicsSystem2DRaycast | 5 / 3 | 立即继续 |
2D 点检测
2D 点检测:检查一个点是否落在某些碰撞体里面。 适合做“鼠标点到了哪个按钮区域”“角色脚底这个点是否踩在地面上”这类判断。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | physicsSystem2DTestPoint |
| 分类 | 物理系统 |
| 二级分类 | 2D查询 |
| 分组 | - |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
exe | - | 执行流 | 执行流 | 执行入口 到达这里时,立即执行这次设置或查询。 | - | 可选 |
point | 世界点 | 数据 | vector2 | 世界点 填写一个 2D 坐标。通常用来表示起点、终点或要检查的位置。 | 可编辑控件 默认值:{“x”:0,“y”:0} | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
out | - | 执行流 | 执行流 | 继续执行 当前操作完成后,从这里继续后续流程。 | - | 可选 |
hit | 是否命中 | 数据 | boolean | 是否找到目标 如果至少检测到一个碰撞体,这里就是 true;否则为 false。 | - | 可选 |
colliders | 碰撞体数组 | 数据 | cc.Component / array / Collider2D | 找到的碰撞体 返回包含这个点的所有 2D 碰撞体。可继续拿它们去判断所属节点或执行后续逻辑。 | - | 可选 |
使用场景
- 点击屏幕选择 3D 对象
- 检测攻击范围或视线遮挡
- 根据射线结果决定移动、拾取或交互
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 物理查询依赖场景中的碰撞体配置。
- 全部拾取类节点可能返回多个结果,后续通常要遍历或筛选。
2D 矩形检测
2D 矩形检测:检查一个矩形范围里有哪些碰撞体。 适合做范围攻击、拾取区域、敌人警戒区或箱子占位检测。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | physicsSystem2DTestAABB |
| 分类 | 物理系统 |
| 二级分类 | 2D查询 |
| 分组 | - |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
exe | - | 执行流 | 执行流 | 执行入口 到达这里时,立即执行这次设置或查询。 | - | 可选 |
rect | 世界矩形 | 数据 | rect | 要检查的矩形范围 填写矩形的位置和大小,用来检查这块区域里有哪些碰撞体。 | 可编辑控件 默认值:{“x”:0,“y”:0,“width”:100,“height”:100} | 必填 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
out | - | 执行流 | 执行流 | 继续执行 当前操作完成后,从这里继续后续流程。 | - | 可选 |
hit | 是否命中 | 数据 | boolean | 是否找到目标 如果至少检测到一个碰撞体,这里就是 true;否则为 false。 | - | 可选 |
colliders | 碰撞体数组 | 数据 | cc.Component / array / Collider2D | 范围内的碰撞体 返回和这个矩形范围相交的所有 2D 碰撞体。 | - | 可选 |
使用场景
- 点击屏幕选择 3D 对象
- 检测攻击范围或视线遮挡
- 根据射线结果决定移动、拾取或交互
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 物理查询依赖场景中的碰撞体配置。
- 全部拾取类节点可能返回多个结果,后续通常要遍历或筛选。
2D 射线检测
2D 射线检测:在 2D 世界里沿一条直线往前找,看看会碰到哪些碰撞体。 适合做平台跳跃里的视线检查、子弹命中、角色脚下或前方探测。
节点信息
| 字段 | 值 |
|---|---|
| 节点 ID | physicsSystem2DRaycast |
| 分类 | 物理系统 |
| 二级分类 | 2D查询 |
| 分组 | - |
| 是否需要等待结果 | 否 |
| 是否需要先选择目标 | 否 |
输入引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
exe | - | 执行流 | 执行流 | 执行入口 到达这里时,立即执行这次设置或查询。 | - | 可选 |
p1 | 起点 | 数据 | vector2 | 起点 填写一个 2D 坐标。通常用来表示起点、终点或要检查的位置。 | 可编辑控件 默认值:{“x”:0,“y”:0} | 必填 |
p2 | 终点 | 数据 | vector2 | 终点 填写一个 2D 坐标。通常用来表示起点、终点或要检查的位置。 | 可编辑控件 默认值:{“x”:100,“y”:0} | 必填 |
type | 检测类型 | 数据 | enum / ERaycast2DType | 检测方式 最近命中(=0):只返回最近的结果 任意命中(=1):碰到第一个就停止 每个物体最近命中(=2):每个碰撞体只保留最近的结果 全部命中(=3):返回路径上的所有结果 | 下拉选择 默认值:0 | 可选 |
mask | 碰撞掩码 | 数据 | number | 筛选范围 用来限制“只检查哪些碰撞体”。默认 0xffffffff 表示全部都检查;不确定时保持默认即可。 | 输入框 默认值:4294967295 | 可选 |
输出引脚
| 引脚 ID | 名称 | 连接方式 | 值类型 | 用途 | 默认或选择 | 连接要求 |
|---|---|---|---|---|---|---|
out | - | 执行流 | 执行流 | 继续执行 当前操作完成后,从这里继续后续流程。 | - | 可选 |
hit | 是否命中 | 数据 | boolean | 是否找到目标 如果至少检测到一个碰撞体,这里就是 true;否则为 false。 | - | 可选 |
results | 命中结果数组 | 数据 | reference / array / RaycastResult2D | 全部检测结果 返回这次检测找到的所有结果。若你只关心最近的一个目标,可改用“最近命中”类节点。 | - | 可选 |
使用场景
- 点击屏幕选择 3D 对象
- 检测攻击范围或视线遮挡
- 根据射线结果决定移动、拾取或交互
注意事项
- 适合的工作流类型:component、library、method、function、class。
- 物理查询依赖场景中的碰撞体配置。
- 全部拾取类节点可能返回多个结果,后续通常要遍历或筛选。