• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Player가 Monster를 타고 올라가는 이유는?

23.10.18 02:59 작성 조회수 209

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을, ...) 복붙하거나 옮겨오면서
동일하게 동작하는지 보면서 범인을 좁혀보는 것이 아주 유용합니다.

저~어어어엉말 10시간 헤딩해도 못찾으시거든 그 때 다시 알려주세요.
하지만 이런 부분은 괴롭더라도 스스로 이겨내는 연습을 해야
추후 수월한 개발이 가능합니다.
쥬신 등 오프라인 학원에서도 문제 발생 시
다른 학우들이 절대 답을 알려주지 않는 것이 원칙입니다.

prokimssam님의 프로필

prokimssam

질문자

2023.10.18

Rookiss님 코드 보고 진짜 이것 저것 다 비교해보고 찾았습니다!!

 

Unity 설정의 문제일 줄 알았는데, 코드 한 줄이 빠졌네요.
PlayerController에서

image

 

화면에서 RayCast를 쏠때

바닥은 y가 0이니까~ 올라가지 않는데,

Monster는 y가 Monster의 키만큼 올라갈 수 있었어요.

그런데 저 빨간색 코드 한 줄이 lockTarget이 잡혔을 때 다시 _destPos 를 잡아줘서 y가 0이 되는 거였네요~~ ㅎㅎ

 

진짜 코드 한 줄 빠진걸 정말 Unity설정의 문제인가 해서 이리 저리 정말 많이 찾았습니다.

10시간 비교해 보려고 했는데, 마음만 먹으니 생각보다 빨리 찾아졌어요!

 

댓글이 많은 용기를 주셨어요!

정말 감사합니다!!