守望先锋:射线命中位置,相距距离,根据射线命中位置和相距距离找到对应实体在数组中的值

Neva ·
更新时间:2024-11-13
· 909 次阅读

守望先锋id:我需要治疗#51425 守望先锋地图工坊代码:FY1T8 案例:射线命中位置介绍使用

射线命中位置:字面意思,一条射线命中实体的位置,如果没命中任何实体则是射线终点的位置,此射线可以是玩家视线也可以是创建的光束效果,这里用的是玩家的视线,即准星
在这里插入图片描述
这里是玩家按下左键会在准星命中的实体上创建球体,开始位置是眼睛位置,结束位置是眼睛位置加面朝方向最远1000米,简单来说就是我们准星对着的方向,最远是1000米,如果这个射线命中了实体则就是命中在实体上的位置

案例:相距距离

相距距离:比较两个位置之间的距离,案例用的是比较玩家跟矢量的位置
在这里插入图片描述
我们先创建一个球体,然后用相距距离比较玩家是否进入球体,创建的球体半径是5,所以我们比较的时候也是比较矢量跟玩家之间的距离是否小于等于这个距离就行了

案例:用射线命中位置获取已经创建的球体的矢量

思路:用射线命中位置获取准星命中的位置矢量,然后用相距距离判断此值是否在球体范围内
先创建两个球体
在这里插入图片描述
贴上判断跟赋值代码
在这里插入图片描述
以过滤数组:复制一个数组,满足条件的留下,不满足条件的移除
动作的IF判断:判断我们准星命中位置是否在球体内。以过滤数组就是复制一个数组,后面的比较相距 距离用的是复制出来的数组里面的当前元素,这里比较会跟数组里面的所有元素进行比较
设置全局变量:跟IF的里面判断差不多,只需要用以过滤数组和事件玩家比较相距距离就行,不满足条件的会被移除,因为我们上面判断过了,所以不存在比较完数组里面没元素的情况


作者:TooToi



射线 实体 数组

需要 登录 后方可回复, 如果你还没有账号请 注册新账号