- Home /
layers not ignored by raycast
Hey,
I'm doing 4 raycasts from my character; up, down, forward, backward, so he won't be able to move when he hits something. I want to ignore a certain few objects that the character should be able to move through. I've made a new layer and selected it on my objects.
I've made a new layermask variable and selected the new layer in it. Then when I do a raycast, it doesn't ignore the layer, because my character still stops when it hits the object. The objects have colliders set as triggers so that shouldn't be the problem.
Here's the code:
         bool rayboolforward = Physics.Raycast (transform.position, transform.forward, 3f, layersToIgnore );
         bool rayboolbackward = Physics.Raycast (transform.position, -transform.forward, 3f, layersToIgnore);
 
         if(!rayboolforward && !rayboolbackward)
         {
             //do something
         }
layerstoignore is the public variable.
I've also tried to use
         int layermask = 1 << 10;
         bool rayboolforward = Physics.Raycast (transform.position, transform.forward, 3f, layermask );
         bool rayboolbackward = Physics.Raycast (transform.position, -transform.forward,  3f, layermask);
But this doesn't help either.
I tried to get some more info:
         RaycastHit hit;
         int layermask = 1 << 10;
         bool rayboolforward = Physics.Raycast (transform.position, transform.forward, out hit, 3f, layermask );
         bool rayboolbackward = Physics.Raycast (transform.position, -transform.forward, out hit, 3f, layermask);
but anything I try to do with 'hit' results in a nullreferenceexception.
Not sure what I'm doing wrong. Any one who can help me with this?
Answer by AeonIxion · Apr 30, 2015 at 01:16 PM
Found the answer myself. I forgot to invert the bitmask. Added the following code to the start function and it worked:
     layersToIgnore = ~layersToIgnore;
Your answer
 
 
             Follow this Question
Related Questions
How to create User layer that acts like the "Ignore Raycast" layer? 1 Answer
Raycast not ignoring layer 0 Answers
raycast ignore layer by default not using layermask. 1 Answer
Is it possible to allow a raycast to pass through a collider to hit things behind it? 6 Answers
RaycastHit returns object without collider, in wrong layer 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                