타지않는 놀이터

[고도4] Part.1 - 9 적 캐릭터의 추적 구현 본문

강좌/Godot 4 - Part.1

[고도4] Part.1 - 9 적 캐릭터의 추적 구현

김메가 2024. 2. 17. 13:13

지난 시간에 적 캐릭터를 구현하면서 이동 애니메이션도 함께 제작했는데, 정작 사용되지는 않았다. 오늘은 적 캐릭터가 주인공 캐릭터를 따라가는 기능을 구현하면서 이동 애니메이션도 적용시켜보자.

 

우선 적 캐릭터가 주인공 캐릭터를 감지하는 영역을 구현하자.

 

enemy씬을 열고 Sprite의 하위에 Area2D노드를 생성해준다. Area2D노드는 특정 영역 내에 물리 노드가 들어왔는지/나갔는지를 체크할 때 사용하는 노드이다.

 

생성한 Area2D의 이름을 PlayerDetection으로 수정하자.

 

그리고 인스펙터에서 스크린샷과 같이 LayerMask를 설정한다.

 

이제 인식 범위를 설정해야 한다. PlayerDetection노드의 하위에 CollisionShape2D를 생성해주자.

 

인스펙터에서 CollisionShape2Dshape속성을 RectangleShape2D로 넣어주고 크기와 위치를 적당히 조절해서 PlayerDetection의 인식 범위를 마음대로 정해주면 된다. 그리고 스크린샷에서 강조된 것처럼 CollisionShape2D에는 debug_color라는 속성이 있는데 이 속성을 통하여 각 CollisionShape의 색상을 지정할 수 있다. 필자는 다른 CollisionShape와 헷갈리지 않도록 노란색으로 설정해놓았다.

 

CollisionShape의 설정을 마쳤다면 enemy.gd스크립트를 열고 스크린샷의 강조된 부분들을 추가로 코딩해주자.

 

또한 _process함수를 스크린샷과 같이 수정하자.

 

이렇게 추적기능의 구현을 완료했다. 게임을 실행하고 PlayerDetection의 인식범위내로 들어가면 적 캐릭터가 주인공을 따라오는 모습을 볼 수 있다.