작성
·
312
1
이전 질문을 검색하다 보니 hit.point가 몬스터를 클릭할 때 Y값이 1 이상으로 되면서 Player가 쓰러진다는 내용을 보고 코드를 아래와 같이 수정했더니 Playe가 쓰러지지 않았습니다.
플레이어는 Use Gravity Off/ isTrigger On으로 된 상태입니다.
그런데 강사님이 공유해주신 코드를 비교해보면 y값을 잡아주지 않은 상태에서
몬스터 클릭시 hit.point의 y값이 1 이상이 되어도 Player가 몬스터를 타고 올라가지 않고, 넘어지지도 않습니다.
_destPos의 Y값이 1 이상인데, Player가 움직일때 Y값을 0을 유지하는 설정, 코드가 있는 걸까요?
답변 1
0
그런건 없지만, Collider 범위의 미세한 차이 때문에
그렇게 차이가 나지 않을까 예상합니다.
이런 부분은 저도 정확히 어떻게 코드를 작성하셨는지, 혹은 prefab 설정을 어떻게 하셨는지
알 수 없기 때문에 질문하셔도 정확히 답변 드리기 힘듭니다.
책을 보면서도 종종 다르게 동작할 때는
부분적으로 (코드부터, 그 다음 prefab을, ...) 복붙하거나 옮겨오면서
동일하게 동작하는지 보면서 범인을 좁혀보는 것이 아주 유용합니다.
Rookiss님 코드 보고 진짜 이것 저것 다 비교해보고 찾았습니다!!
Unity 설정의 문제일 줄 알았는데, 코드 한 줄이 빠졌네요.
PlayerController에서
화면에서 RayCast를 쏠때
바닥은 y가 0이니까~ 올라가지 않는데,
Monster는 y가 Monster의 키만큼 올라갈 수 있었어요.
그런데 저 빨간색 코드 한 줄이 lockTarget이 잡혔을 때 다시 _destPos 를 잡아줘서 y가 0이 되는 거였네요~~ ㅎㅎ
진짜 코드 한 줄 빠진걸 정말 Unity설정의 문제인가 해서 이리 저리 정말 많이 찾았습니다.
10시간 비교해 보려고 했는데, 마음만 먹으니 생각보다 빨리 찾아졌어요!
댓글이 많은 용기를 주셨어요!
정말 감사합니다!!
저~어어어엉말 10시간 헤딩해도 못찾으시거든 그 때 다시 알려주세요.
하지만 이런 부분은 괴롭더라도 스스로 이겨내는 연습을 해야
추후 수월한 개발이 가능합니다.
쥬신 등 오프라인 학원에서도 문제 발생 시
다른 학우들이 절대 답을 알려주지 않는 것이 원칙입니다.