射线投射测试 | hyperPad Documentation
Logo
Documentation对象射线投射测试
对象

射线投射测试

Published 2023年5月2日

描述

Raycast Test 行为会从起点 (原点) 向目标点发射一条虚构的不可见射线,并检查射线路径上是否有物体相交。射线只会与非场景物体相交。

属性

事件触发时触发一次

射线检测类型
  • 最近的物体 - 只会将射线相交的第一个物体作为结果。
  • 所有物体 - 射线相交的每个物体都会包含在结果中。输出将是一个包含每个结果项的数组。
    选择此类型后,object、x_pos、y_pos、distance 和 normal 输出字段将为数组。
图层

射线只会与所选图层中的物体相交。你也可以取消限制,让射线检测所有图层。

相交对象

射线可以与任何非场景物体相交,也可以只与所选物体相交。你可以使用标签来确定射线可以与哪些组的物体相交。

起点

射线发出的世界坐标位置。

目标点
  • 位置 - 定义射线前进并停止的世界坐标位置。

  • 矢量目标 - 定义射线的方向和长度。

  • 偏移目标 - 定义射线停止的位置,即相对于起点的偏移位置。

输出

X

这是相交点在 X 轴上的具体位置。

Y

这是相交点在 Y 轴上的具体位置。

距离

此行为会输出从原点到相交点的距离,单位为米。

法线

此行为会输出相交点的法线角度。该角度表示与相交物体表面平行的直线的角度。

已相交

如果射线与任何物体相交,此行为将输出 1。如果射线没有与任何物体相交,则输出 0。

射线投射测试

示例

  • 你可以检查敌人前方是否有物体挡住它通往玩家的路径。
  • 你可以制作一束能够伤害玩家、但会被其他物理物体挡住的激光。
  • 你可以让敌人发现玩家后追逐玩家——这非常适合潜行游戏,玩家可以利用周围环境避免被发现。

查看演示项目

相关内容

HitPoint Test