【发布时间】:2019-06-26 03:27:29
【问题描述】:
我的游戏中有一个对象被标记为“敌人”,它也在一个名为“敌人”的层中。它有一个BoxCollider 和一个Rigidbody 附加到它。选项IsTrigger 被激活。当我向它射击时,无法识别命中。命中直接穿过它。
我用这种方法拍摄:
void DisparaBala()
{
RaycastHit hit;
if(Physics.Raycast(maiCam.transform.position, maiCam.transform.forward, out hit))
{
print("We hit: " + hit.transform.gameObject.tag);
if (hit.transform.tag == Tags.ENEMY_TAG)
{
hit.transform.GetComponent<ScriptVida>().DanoAplicado(damage);
}
}
}
枪是相机的孩子,相机是玩家的孩子。播放器位于名为“播放器”的层中。
有趣的是,如果我将任何其他带有“敌人”标签的对象放入,则可以正常识别命中。
我不知道该怎么办。
【问题讨论】:
-
好吧,你标记为敌人并工作的对象和不工作的对象有什么不同?必须有一个。
-
Raycast 需要撞到一个对撞机,你的物体有吗?
-
@Jichael 在图片上当前选择的对象有一个,但敌人是针对下面的对象写的 - 有点难以分辨
-
是的,它附有盒子对撞机。可以用的是默认层,但是我也试着把敌人放在这个层,但是没有用
-
那个叫“Indio”的人是敌人。它与屏幕上显示的预制件相同。