Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 忽略光线投射中的其他层碰撞器_C#_Unity3d_Unity5_Raycasting - Fatal编程技术网

C# 忽略光线投射中的其他层碰撞器

C# 忽略光线投射中的其他层碰撞器,c#,unity3d,unity5,raycasting,C#,Unity3d,Unity5,Raycasting,我愿意对特定图层进行光线投射,而忽略其他图层,无论其坐标系位于我的navPoint图层对象上方 int specificLayerMask = LayerMask.GetMask("NavPoint");//raycast only this layer ignore others if (Physics.Raycast(raycastObject.transform.position, fwd, out objectHit, specificLayerMask))//50

我愿意对特定图层进行光线投射,而忽略其他图层,无论其坐标系位于我的navPoint图层对象上方

 int specificLayerMask = LayerMask.GetMask("NavPoint");//raycast only this layer ignore others

        if (Physics.Raycast(raycastObject.transform.position, fwd, out objectHit, specificLayerMask))//50
        {}

上面的代码光线投射到navpoint层,但无法绕过其他层碰撞器。是否有任何方法可以忽略所有其他碰撞器和光线投射到所需层,而不管碰撞器在任何其他碰撞器后面

这是一个关于光线投射和掩蔽的非常全面的答案:奇怪的是,我的问题重复了,而建议的问题在一小时前就已经提出了@这很好,但不好。我问了这个问题,所以必须给我答案,但程序员在1小时前问了这个问题,并自己回答。这不是获得声誉的正确方法。你的问题已经很难回答了。我一直都看到并回答过类似的问题,我决定如果我提供一种方法来包含、排除对象,这将减少人们反复问这个问题的机会。我修改了重复链接以包含第一个问题。仅供参考,如果一个问题的答案比另一个答案更详细,您可以将该问题标记为另一个新/旧(无所谓)问题的重复。这就是这里发生的事情。