캐릭터가 바닥에 있는지 확인하려고 raycast를 쓰려 하는데 도무지 기능하지를 않아서
Debug.DrawLine이랑 racyastall로 부딪힌 오브젝트 싹 긁어보니까
transform.up이 해당 오브젝트의 local space의 (0, 1, 0)이 아니라 world space의 (0, 1, 0)을 반환하고 있더라구요...
그래서 Debug.DrawLine으로 그려보면 ray가 캐릭터에서 시작해서 하늘 끝까지 솟구치고 있습니다 ...ㅠㅠ
검색해보니까 transform.up은 local 좌표 기준으로 (0, 1, 0)을 world 좌표 기준으로 반환해 주는 걸로 알고 있는데
왜 저는 world 좌표 (0, 1, 0)만 반환하는 걸까요..
혹시 몰라서 Vector3.up, Vector3.down 다 써봤는데 마찬가지로 world 좌표 기준 (0, 1, 0)만 뱉어줍니다...
제가 뭔가 설정을 잘못 건드려서 이런 걸까요 ㅠㅠㅠㅠ
RaycastAll 부분에 transform.position을 transform.localposition으로 변경해봄이 어떠신지요 - dc App
이상하게도 transform.position은 또 잘 작동합니다.. ㅠㅠ
아니... 5시간 동안 이거 때문에 골머리 싸맸는데 좆같다 하고 침대에 누웠다가 다시 오니까 되네요 이게 뭐지 진짜............ ㅠㅠㅠㅠ
코드 한줄도 안 고치고 그대로 실행시킨 건데 왜 결과가 다르냐고 ㅠㅠㅠㅠㅠ
충돌 객체에 콜라이더는 다셨습니까 그리고 방향을 로컬 기준으로 하는건 안좋은 것 같습니다 회전각도에 따라 레이 방향도 달라지니
절대값으로 넣으십시요 new Vector3(0, -1, 0)