Unityの忘備録です('◇')ゞ

自分用の忘備録です!

【Unity】Rayが当たった物体の平面に対する角度を求める【忘備録】

平面とPlayerの正面との角度を求めたくて色々やってたらたどり着いた方法です('◇')ゞ
忘れないように( ..)φメモメモ





壁に対して真っすぐ向くと90度、左右を向くと数値減ります。
もっといい方法ありそう。。

void Angle()
   {
        Debug.DrawRay(transform.position + Vector3.up, transform.forward * 10);//Rayを見えるようにする

        if (Physics.Raycast(transform.position + Vector3.up, transform.forward, out RaycastHit hit, 10))
        {
            Vector3 ProjectOnPlane = Vector3.ProjectOnPlane(transform.forward, hit.normal);
            float angle = Vector3.Angle(transform.forward, ProjectOnPlane);
            Debug.Log(angle);
        }
   }


youtu.be