- Home /
Unity raycast only sometimes works
I have a raycast script for the axe to hit the tree, it was working absolutely fine 2 days ago. But since yesterday, it only works about 1/10 of the time and i've done nothing to the code.
 #pragma strict
 
 var rayLength = 100;
 
 private var treeScript : TreeController;
 
 private var playerAnim : PlayerControl;
 
 function Update()
 {
     var hit : RaycastHit;
     var fwd = transform.TransformDirection(Vector3.forward);
     
     if(Physics.Raycast(transform.position, fwd, hit, rayLength))
     {
         if(hit.collider.gameObject.tag == "Tree")
         {
             treeScript = GameObject.Find(hit.collider.gameObject.name).GetComponent(TreeController);
             playerAnim = GameObject.Find("FPSArms_Axe@Idle").GetComponent(PlayerControl);
             
             if(Input.GetButtonDown("Fire1") && playerAnim.canSwing == true)
             {
                 Debug.Log("Hit!");
                 treeScript.treeHealth -= 1;
             }
         }
     }
 }
               Comment
              
 
               
              Try adding Debug.Log(hit.transform.gameObject); to your raycast to see what it's hitting. It's happened to me before that my Raycast was actually hitting the player's Collider without me realising. 
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                