unity3d - RayCast works only sometimes -


i using ray cast make collision. player can move in directions ( north , east , south , west)one step @ time if obstacle way not move. more clearance refer crossy road.

detection of obstacles if sometimes dont collision , obstacle.

i have rigidbody & collider attached player , colliders on obstacles.

properties of player

code:-

         if(input.getkeyup(keycode.w))          {             playerscale = 1;             this.transform.localscale = new vector3 (1,playerscale,1);              if((physics.raycast(midray , vector3.forward,out hit,2f)) ||(physics.raycast(leftray , vector3.forward,out hit,2f))||(physics.raycast(rightray , vector3.forward,out hit,2f)) )             {                 if(hit.collider.tag == "obs")                 {                     debug.log("cantmove");                 }                 else                 {                     score +=1;                     targetpos = new vector3(this.transform.position.x,this.transform.position.y,this.transform.position.z+movedist);                  }             }         } 

in if statement got 3 or(||) means if 1 of 3 starting left returns true there no need check rest because whole statement true , lets assume (physics.raycast(midray , vector3.forward,out hit,2f)) true , hit.collider.tag isn't obs wont check others , if answer in leftray never checked


Comments