- Home /
 
               Question by 
               MiniFish · Aug 17, 2015 at 09:03 AM · 
                transformdirection  
              
 
              transform.up returns a bad angle

 Vector3 dir = PlayerScript.instance.transform.position - transform.position;
         dir.z = 0f;
 
         float angleDir = (Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg) - 90f;
         transform.rotation = Quaternion.AngleAxis(angleDir, Vector3.forward);
         mBeamStartDir = transform.rotation * Quaternion.AngleAxis(mBeamSweepAngle * 0.5f, Vector3.forward);
 
         transform.rotation = mBeamStartDir;
 
         mBeamTargetPos = transform.up * mBeamDistance;
         Debug.DrawLine(transform.position, mBeamTargetPos, Color.white, 20.0f);
well for some reason the system decides that transform.up should point elsewhere instead of local up.
basically what i have is a beam that starts from one side then sweeps over to the other side. interestingly the transform.up is always offset towards the center of the starting and ending rotation angles.
anyone's got any ideas?
 
                 
                oddangle.jpg 
                (18.1 kB) 
               
 
              
               Comment
              
 
               
               
               Best Answer 
              
 
              Answer by MiniFish · Aug 17, 2015 at 09:20 AM
nevermind, got it figured out. apparently i missed a step to convert from localspace to worldspace, namely
 mBeamTargetPos = transform.position - (-transform.up * mBeamDistance);
bummer.
Your answer
 
 
              koobas.hobune.stream
koobas.hobune.stream 
                       
                
                       
			     
			 
                