인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

공격 #2

RayCasting 관련 질문

작성

·

262

0

안녕하세요

UnityChan이 몬스터를 클릭했을 때 제대로 attack이라는 판정이 안들어가는 것 같아서 확인해봤는데 raycasting이 몬스터에 가까워질수록 하늘을 주시하더라구요 무슨 문제인가요?

답변 4

0

현재 위치와 hit.point사이의 거리 값인 distance가 1.0 초과일 때 이동을 하고 1.0 이하일 때 공격을 하게 됩니다.

 

해당 버그는 distance가 1.0초과일 때

사이에 콜라이더와의 충돌이 있을 경우

이동을 하지 않기 때문에 발생합니다. 

 

hit.point는 콜라이더와 충돌한 정확한 위치를 주기 때문에

매 클릭마다 위치가 바뀌는 hit.point가 아닌 콜라이더의 transform을 _destPos로 초기화했습니다.

 

테스트 결과 해당 버그는 재발하지 않았습니다

 

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

raycasting이 몬스터에 가까워질수록 하늘을 주시하더라구요 무슨 문제인가요?

->
이 부분에 대해서, 플레이어/몬스터의
좌표값이 달라서 Ray 방향이 다른 것으로 '추측'해본겁니다.

코드 없이 무엇인가 안된다고 질문을 주시면,
사실 저도 정확한 이유를 알 수 없습니다.
조금 고민해보시고 해결이 안된다면,
전체 프로젝트 압축해서 rookiss@naver.com 로 보내주시면 원인을 살펴보겠습니다!

0

기준위치가 어떤건가요?  attack이 capusle Collider의 범위에 따라서 판정이 들어가는데 기준 위치는 또 다른 개념인가요?

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

몬스터/플레이어 기준 위치가 달라서 그런 것 같은데
Raycasting을 쏠 때 시작/끝 위치를 로그로 찍어보시고
높이 차이를 강제로 0으로 밀어보세요.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기