UE5 : Paper 2D (Blueprint)/게임 컨텐츠
[UE5 : Paper2D(BP) - 게임 컨텐츠] Chapter 01. 몬스터 스폰
song.ift
2024. 1. 16. 20:53
GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/c38c9528e354c09469abd3af2902c64dd595333b
랜덤하게 몬스터들을 스폰하는 기능을 만들것인데, 이 기능을 종합적으로 어디에서 관리하고 만들까가 고민이다.유닛끼리도 충돌이 일어나야 된다고 하면 이전에 만들어본 Tile Map의 클래스에서 관리하는 게 좋다.
Can Go라는 함수를 통해 갈수있는 타일인지 벽인지 확인하는 것처럼 몬스터의 충돌 여부도 같이 판단하는 걸 고려할 수 있다.
우선 벽이 아닌 비어있는 타일을 찾는 일종의 랜덤 함수가 필요하다.
1000번의 Loop를 돌면서 Random Position을 선택하고, Can Go 함수를 통해 갈 수 있는 영역인지 판단해서 문제없으면 brek 후, Completed로 빠져나와 최종적으로 Random Postion을 정해준다.
몬스터를 스폰하는 기능
Random Pos를 정해서, 좌표 Valid 체크를 하고, Spawn Actor를 통해 새로운 Creeature 객체를 만들고, Set Destination을 통해 Grid 좌표로 바로 이동한다.