액터들의 충돌처리를 해줍니다.
BP_Bullet을 열고 Box Collision을 추가하고 root로 해줍니다. Shape Extent를 조정해 박스를 싸줍니다.
BP_Enemy를 열고 역시 BoxCollisoin을 추가하고 루트로 만들고 사이즈롤 설정합니다.
BP_Ship을 열고 같은 작업을 해줍니다.
Project Setting의 Engine>Collision 카타고리에서 ObjectChannels의 NewObjectChannel을 3개 만듭니다.
BP_Bullet열고 Box컴포넌트를 선택후 Collision Presets를 Custom ObjectType을 Bullet, Responses를 Enemy만 Overlap으로하고 나머지는 Ignore로 합니다. QueryOnly로도 문제 없지만 나중을 위해 CollisionEnable로 해둡니다.
BP_Ship을 열고 custom, Object Type을 Player Responses는 Enemy는 Overlap 나머지는 Ignore로 합니다.
BP_Enemy를 열고 Custom, Object Type을 Enemy, responses는 Player, Bullset을 Overlap나머지를 Ignore로 합니다.
모든 블루프린트를 컴파일 및 저장합니다.
BP_Bullet을 열고 EventActorBeginOverlap Node뒤에 Enemy를 체크하고 파괴합니다. 약간의 딜레이후 자신도 파괴합니다.
적을 제거하고난후 파티클효과를 추가해줍니다.
BP_Enemy에도 Player와 충돌할수 있게 노드를 추가합니다.
플레이 해보면 플레이어와 충돌후 에러가 나는데 사라진 플레이어(Ship)의 정보를 얻어어려고 하기 때문입니다.
GetActorofClass에서 얻은 ReturnValue를 IsValid를 이용해 검사해서 에러를 피합니다.
'게임프로젝트 > 슈팅게임' 카테고리의 다른 글
알파 버전 스태틱메시 교체 (0) | 2025.03.10 |
---|---|
배경 만들기 (0) | 2025.03.10 |
Enemy, Factory 제작하기 (0) | 2025.03.10 |
슈팅게임 - 총알발사 (0) | 2025.03.10 |
Enhancement Input Blueprint, Pawn 이동 (1) | 2025.03.10 |