GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/e8209acf58d6fc4dfab15b163519a0bbdaa0c738
충돌 박스를 이용해서 피격 판정 체크를 진행.
공격 범위라는 건 공통적으로 들고있는니 Creature에 생성.
Sprite가 180도 뒤집힐 때, Box Collision도 같이 뒤집혀야하니 Spirte 산하에 붙여놨다.
충돌 박스안에 들어오는 오브젝트를 피격 범위로 인정한다.
GetOverlappingActors. 오버랩하고 있는 즉 영역에 겹쳐진 물체를 가져온다.
필터를 해서 모든 액터가 아니라 내가 원하는 클래스 혹은 그 클래스를 상속받은 애들만 가져올 수 있다. 현재 살아있는 생명체를 모두 creature 라는 애로 관리하고 있으니 creature로 지정.
여기선 충돌을 간단하게 테스트해보는 용도로 학습하지만, 충돌과 관련된 기능은 굉장히 다양하고 복잡하다.
왜냐하면 충돌이라는 게 딱 이렇게 몬스터 스킬 판별용으로도 활용하고 있지만, 카메라가 벽을 맞닥뜨리면 조금 더 앞에다 땡겨야 되는 지형 충돌의 경우도 있고, 허공을 클릭했을 때 유닛 선택하는 용도로 활용할 수도 있기 때문이다.
충돌은 활용하는 범위가 매우 넓기 때문에, 모든 물체를 대상으로 다 충돌하는 게 아니라 사진처럼 어떤 물체만을 대상으로 오버랩 등등을 할지 세부적인 선택을 해줄 수가 있다.
체력을 깎는 여러가지 방법이 있다.
공격을 한 물체에서 피격당한 물체의 정보를 꺼내 체력을 깎을지,
아니면 피격당한 물체쪽에 함수를 만들어 준 다음, 그 함수를 호출할지 선택할 수 있다.
근데 후자 방법이 훨씬 더 좋다. 결과적으로 피해를 받는 쪽에서 실행하는게 일반적이다.
Apply Damage라는 내장 충돌처리 함수가 있다.
위 함수를 사용하지 않고, 인용해서 직접 만들어보면 Attacker가 자기 자신(디스포인터)이라면 스킵하고, 데미지를 받는다.
'UE5 : Paper 2D (Blueprint) > 이동과 전투' 카테고리의 다른 글
[UE5 : Paper2D(BP) - 이동과 전투] Chapter 06. 체력 게이지 (0) | 2024.01.08 |
---|---|
[UE5 : Paper2D(BP) - 이동과 전투] Chapter 04. DataTable (1) | 2024.01.05 |
[UE5 : Paper2D(BP) - 이동과 전투] Chapter 03. 상속 구조 설계 (0) | 2024.01.05 |
[UE5 : Paper2D(BP) - 이동과 전투] Chapter 02. Character Movement (1) | 2024.01.04 |
[UE5 : Paper2D(BP) - 이동과 전투] Chapter 01. SetActorLocation (1) | 2024.01.04 |
댓글