강의

멘토링

커뮤니티

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

시에라웨이브님의 프로필 이미지
시에라웨이브

작성한 질문수

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

몬스터 AI #2

질문드립니다.

해결된 질문

작성

·

213

0

테스트 해보면서 버그를 발견했는데

마우스를 꾹 누르고 이동할때 몬스터의 콜라이더가 Raycast에 hit되어서, destPos가 몬스터의 콜라이더가 되어버려 몬스터의 콜라이더를 타고 올라가는 것 처럼 보이는 현상이 발생해서 코드를 수정해봤습니다.

아래와 같이 처리하는게 좋은 방법일까요?

- 수정 전 -

case Define.MouseEvent.Press:

{

    if (_lockTarget == null && raycastHit)

    _destPos = hit.point;

}

    break;

- 수정 후 -

case Define.MouseEvent.Press:

if (_lockTarget == null && raycastHit)

{

    if (hit.collider.gameObject.layer == (int)Define.Layer.Monster)

        _destPos = hit.collider.transform.position;

    else

        _destPos = hit.point;

}

    break;

답변 1

4

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

괜찮은 해결 방법 같습니다.
오래 돼서 기억이 가물가물한데,
해당 버그는 맨 마지막 강의에서
y 좌표를 변경하지 않게 세팅해서 처리했던 것 같네요.

시에라웨이브님의 프로필 이미지
시에라웨이브

작성한 질문수

질문하기