이번에 구현해야 하는 건 버튼 A와 마우스 오른쪽 버튼을 함께 눌렀을 때 챔피언의 행동 양식이다. 이 상황에서는 일정 범위에 적이 있으면 그 적을 타켓팅해야 한다. 간단히 목록을 구성해 보자.

  • 이동 중 가장 가까운 적을 타겟팅한다.
  • 처음에는 지정한 포인트로 움직이다가 일정 범위 내에 적이 들어왔을 시 적을 타겟으로 삼는다.
  • 범위 내의 적을 죽였을 시 이어서 처음 지정한 포인트를 향해 움직인다.

대충 이 정도인가. 지금 생각하기로는 Collider의 is Trigger를 사용하면 쉽게 되지 않을까 싶은데. 어떨런지.

일단 대충 구상만 해놓자. 라는 심정으로 글을 쓴다.




13.09.26. 개발 중.

어제 생각했던 대로 Trigger 기능을 사용해서 개발을 하고 있다. 사용해보면서 알게된 아주 기초적인 사실. is Trigger가 활성화되어 있지 않으면 Collider는 충돌체 역할을 한다는 것. 물론 활성화가 되어 있으면 trigger영역으로만 활용이 된다. 정말 생각해보면 아주 당연한 건데 ㅠㅠ.. Collider잖..

is Trigger를 코드 상에서 켰다 컸다 하면서 트리거 인식을 시켰다 안 시켰다 할 요량이었지만 트리거가 꺼지면서 Collider가 물리적 영향을 행사하면서 문제가 생겼다. Collider를 트리거로 쓸 생각으로 크게 부풀려 놨는데 그게 바닥 위치까지 침범하면서 위치까지 이상해 지는게, 소스 상의 최적화 문제인 줄 알고 조금 헤멨다. 멍청 멍청..

아무튼 지금은 그냥 트리거 활성화 상태로 a 버튼을 누른 상태에서 오른쪽 마우스를 누르면 일정 범위 안에 적이 들어와 있는 상태(OnTriggerStay)면 적을 인식하고 그 곳으로 이동하게 만들어 두었다. 만약 그 적이 죽으면 처음 지정했던 위치로 이동하도록 설정해 두었으나, 공격해서 없애는 스크립트를 짜고 난 후에 확실히 확인해 보기로..(짜기만 하고 확인은 아직 하지 않았다는 말이다. ㅋㅋ)

Collider를 트리거로 사용함으로써 챔피언들끼리 겹치지 않게 되진 않을까 생각했는데 아마 NavMeshAgent끼리 인식을 하는건지 겹쳐지지 않는다..

아무튼 다음 문제로 이동. 문제가 생기면 돌아와서 수정하자;

[Unity] [일지] 소프트웨어 프로젝트, AOS 만들기 (1) - NavMesh

[Unity] [일지] 소프트웨어 프로젝트, AOS 만들기 (3) - HP 관리

[Unity] [일지] 소프트웨어 프로젝트, AOS 만들기 (4) - 문제들 봉착..

[Unity] [일지] 소프트웨어 프로젝트, AOS 만들기 (5) - Terrain으로 지형 만들기

[Unity] [완성] 소프트웨어 프로젝트, AOS 만들기