24.07.09 19:03 작성
·
82
0
Q. 마지막에 삽입한 IsTargetInRange(데코레이터) 에서 Target에 SelfActor를 참조하도록 되어있는데 TargetEnemy를 참조해야 하는 것 아닌가해서요
데코레이터 로직 안에서 Target의 오브젝트 이름을 출력해보니 Player가 아니라 Monster가 찍히더라구요(SelfActor에 값을 할당해준 적도 없는데 왜 들어간 건지는 모르겠지만...)
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
Q. 마지막에 삽입한 IsTargetInRange(데코레이터)에서 Target에 SelfActor를 참조하도록 되어있는데, 이 부분이 오류가 아닌지 활성산소님께서 의문을 제기하셨습니다. 데코레이터 로직 안에서 Target의 오브젝트 이름을 출력해보니 Player가 아닌 Monster가 찍힌다고 하셨습니다.
이 경우에는 데코레이터 안에서 Target을 설정할 때 잘못된 오브젝트를 참조하고 있는 것 같습니다. 대상(Target)이 되어야 하는 Enemy 대신, 자기 자신(SelfActor)을 참조하고 있다면, 그것은 분명 오류일 수 있습니다. Unreal 엔진에서 AI의 동작을 제어하려면, AI가 인식해야 하는 대상을 정확히 지정해주어야 합니다. 따라서, 마지막에 삽입한 IsTargetInRange 데코레이터의 Target 설정이 TargetEnemy로 되어야 올바른 동작을 기대할 수 있습니다.
데코레이터가 제대로 구성되지 않았거나, 특정 변수가 예상치 못하게 다른 값으로 할당되어 있는 경우 점검이 필요합니다. 설정을 다시 한 번 확인해보시고 필요하다면, Target을 정확히 TargetEnemy로 지정해주는 것이 중요합니다.
강의의 해당 부분을 다시 한 번 살펴보시거나, 강의 내용에 대한 확인이 필요하시면 해당 강의의 커뮤니티 질문&답변 게시판을 통해 질문을 남겨주시면 강사님이 확인하신 후 답변해 드릴 것입니다.