Unity3d 我的光线投射击中了对撞机后面的物体

Unity3d 我的光线投射击中了对撞机后面的物体,unity3d,Unity3d,所以我正在制作一个关于Unity的FPS游戏。我有一个有长方体对撞机和刚体的敌方物体,我打开长方体对撞机上的isTrigger。然而,我不知道为什么,但我不能射击敌人。光线投射命中总是击中敌人身后的物体。但是,当我关闭敌方盒子对撞机上的isTrigger时,我可以击中目标,但是移动太奇怪了。有人能帮我怎么让光线投射击中触发盒对撞机吗?多谢各位 光线投射代码 void BulletFired() { RaycastHit hit; print("shoot");

所以我正在制作一个关于Unity的FPS游戏。我有一个有长方体对撞机和刚体的敌方物体,我打开长方体对撞机上的isTrigger。然而,我不知道为什么,但我不能射击敌人。光线投射命中总是击中敌人身后的物体。但是,当我关闭敌方盒子对撞机上的isTrigger时,我可以击中目标,但是移动太奇怪了。有人能帮我怎么让光线投射击中触发盒对撞机吗?多谢各位

光线投射代码

void BulletFired() {
        RaycastHit hit;
        print("shoot");
        if (Physics.Raycast(mainCam.transform.position, mainCam.transform.forward, out hit)) {
            print(hit.transform.gameObject.name);
            if (hit.transform.tag == Tags.ENEMY_TAG) {
                print(hit.transform.tag);
                hit.transform.GetComponent<HealthScript>().ApplyDamage(damage);
            }
        }
    }
void BulletFired(){
雷卡斯特击中;
打印(“拍摄”);
if(Physics.Raycast(mainCam.transform.position,mainCam.transform.forward,out-hit)){
打印(hit.transform.gameObject.name);
if(hit.transform.tag==Tags.token_tag){
打印(hit.transform.tag);
hit.transform.GetComponent().ApplyDamage(损坏);
}
}
}

通常
Raycast
点击
isTrigger
对象即可。如果它在isTrigger时确实忽略了目标,可能您正在使用
Physical.queriesHitTriggers
queryTriggerInteraction
此处解释:


如果您提供您的
Raycast
代码行,将会有所帮助

感谢所有帮助我找到此解决方案的人。这对我来说意义重大。
事实证明,我需要取消选中重用冲突回调的物理设置,以使其正常工作。谢谢大家:D

你们的
BoxCollider
如何影响移动?@Savaria当我关闭BoxCollider isTrigger时,当敌人靠近我并试图击中我时,敌人会从我的玩家身上弹起,攻击不会到达我的玩家。“但是我可以用光线投射打击敌人。”尼古拉斯:你的对撞机还有什么改进吗?当只有一个光线投射指向前方时,你确定光线投射会击中敌人吗?通常人们需要一个视角。在你的光线投射中添加一条调试线来检查它是否击中敌人<代码>调试。拉线可能很有用。感谢您的回复,我已经添加了我的RayCast片段。事实上,我只能在isTrigger启动时从respawn的第一个位置击中敌人。但是当敌人开始移动时,光线投射总是经过敌人并击中后面的物体it@Nicholas可能你的对撞机没有跟踪你的敌人?@knh190我试图在观看场景的同时玩游戏,而对撞机正在跟踪我的敌人