본론에 앞서, 칸나의 헤일로가 딱 붙어있기보다는 자연스럽게 캐릭터를 따라가게 했으면 좋겠다는 의견이 있었다.
원래는 칸나의 머리에 소켓(Halo_Socket)을 만들어 헤일로를 그대로 넣었었는데, 이제 헤일로를 별도의 액터로 만들고 칸나 블루프린트에서는 헤일로를 삭제했다.
헤일로가 칸나의 머리로 천천히 따라가게 하는 것은 다음 포럼의 글을 참고했다.
https://forums.unrealengine.com/t/how-to-make-objects-follow-the-player/468227/4
해당 글에 나온 블루프린트는 따라가는 목적지를 캐릭터의 정면 벡터에 -150을 곱한 것으로 하였다.
헤일로의 경우 목적지는 여전히 칸나의 헤일로 소켓이어야 한다. 또한 각도도 칸나의 방향에 계속해서 맞춰주어야한다.
이러한 점을 감안하여 블루프린트 노드를 짰다.,
적용 결과는 포스팅 후반부 영상에서 확인할 수 있다.
적이 쏘는 총알은 날아오는 것을 볼 수 있도록 투사체로 만들기로 결정한 바가 있다.
따라서 투사체의 블루프린트 BP_Projectile을 만들었다.
총알은 Sphere 기본 메시를 적절히 찌그러뜨린 타원형이다.
언리얼 엔진의 액터 블루프린트에는 해당 액터를 투사체로 쓸 수 있도록 해주는 Projectile Movement 컴포넌트가 이미 내장되어있다.
Projectile Movement를 가져왔다면, 디테일 패널에서 여러 정보를 설정할 수 있다.
총알로 사용할 것이라면 설정할 것은 많지않다. 어차피 사물에 부딪히는 순간 사라지게 할 것이기에, Projectile 탭의 Initial Speed, Max Speed, Projectile Gravity Scale만 잘 설정해주면 된다.
위의 이미지에서는 6000, 6000, 0으로 각각 설정해둔 것을 볼 수 있다.
총알이 아닌 유탄의 경우에는 스피드를 줄이고, 중력 스케일은 늘려야 할 것이다. 이렇게 상황에 맞게 잘 설정해주면 된다.
총알은 콜리전 설정을 확실히 해주어야 하기 때문에, 별도의 콜리전 타입을 만들었다.
Project Setting의 Collision 탭에 들어가서,
Projectile 오브젝트 채널, Projectile 프리셋을 만들어주었다.
Projectile Preset은 기본적으로 모든 요소를 Block하도록 했다.
단, 총알이 칸나의 캡슐 컴포넌트와 충돌을 감지하길 원하지는 않는다.
따라서 캡슐은 총알을 무시하도록 하였다.
테스트를 위해 적이 2초 간격으로 이동 후 총을 발사하도록 하였다. (정정: 1초)
그리고 총알이 부딪힌 액터가 칸나일 경우 메시지를 출력하게 했다.
테스트 영상:
이제 비헤이비어 트리를 사용하여 본격적으로 적 AI를 제작할 것이다.
'언리얼 엔진 5 > 개발 일지' 카테고리의 다른 글
[UE5] 블루아카이브 TPS게임 개발일지 (21) - 비헤이비어 트리를 이용한 적 AI 제작 2 (0) | 2023.12.30 |
---|---|
[UE5] 블루아카이브 TPS게임 개발일지 (20) - 비헤이비어 트리를 이용한 적 AI 제작 1 (+AI Controller) (0) | 2023.12.30 |
[UE5] 블루아카이브 TPS게임 개발일지 (18) - 적 이동 애니메이션 (0) | 2023.12.27 |
[UE5] 블루아카이브 TPS게임 개발일지 (17) - 적 무기 모델링 임포트 (0) | 2023.12.26 |
[UE5] 블루아카이브 TPS게임 개발일지 (16) - 적 사망 연출 2 (0) | 2023.12.25 |