将使用RayCast的脚本附加到一个空的游戏对象上,现在它不起作用了,为什么?

时间:2018-10-17 07:07:47

标签: c# unity3d raycasting

我想从敌人枪支的尖端射出射线,看它是否击中了玩家。为此,我创建了一个空游戏对象,将其放置在层次结构中的枪支内部,并移动了我称为TipOfGun的空游戏对象,而不是使用rayCast将脚本附加到名为TipOfGun的{​​{1}}上,但是就我而言,它什么也没做,在完成所有测试之后。我不知道为什么raycast没打过任何东西。下面是我的代码,我还发布了我的层次结构图。

Gun

enter image description here

2 个答案:

答案 0 :(得分:1)

您使用的不是Physics.Spherecast,而是您要找的东西。 根据您的描述,我认为您应该使用Physics.Raycast

尝试类似这样的方法,而不是Spherecast:

if (Physics.Raycast(transform.position, transform.forward, out hit))

尝试一下。

答案 1 :(得分:0)

在几天之间的几个小时内摔断了头之后,我决定看看是否可以看到实际的Raycast,以确定为什么它没有击中我的播放器。对于那些遇到类似问题的人,我总是应该想到这种方式,然后才能始终绘制实际的射线并在场景中查看它,与此类似。

readarray