본문 바로가기

Paper2D28

[UE5 : Paper2D(BP) - 구조와 설계] Chapter 03. Component GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/7d8ab14d95aa0fee34610ee34d6f6fc68d886698 Component · developeSHG/UE5-Paper2D@7d8ab14 hokyung.song committed Jan 25, 2024 github.com 리스폰에 대한 기능을 만들면서 Component도 알아보자. 여태 여러가지 구조 방식에 대해 익혔다. 데이터를 일반적으로 게임 모드에서 들고 있어도 되고, 아니면 레벨 블루프린트에서 들고 있어도 되고, 그 다음 게임 인스턴스에 이 모든 레벨 별로 종속적인 것이 아닌, 레벨을 넘어가더러도 살아있는 데이터는 게임 인스턴스에다 넣는 것을 고려할 수 있다. 그 다음 알아보고 .. 2024. 1. 25.
[UE5 : Paper2D(BP) - 구조와 설계] Chapter 02. UI와 HUD GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/ee11789d10b51076d1e354de4eee0a554fd45e49 UI와 HUD · developeSHG/UE5-Paper2D@ee11789 hokyung.song committed Jan 25, 2024 github.com 2024. 1. 25.
[UE5 : Paper2D(BP) - 구조와 설계] Chapter 01. 매니저 GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/9e998598205aea1f4546f8c5e128486f9f3b227c 매니저 · developeSHG/UE5-Paper2D@9e99859 hokyung.song committed Jan 25, 2024 github.com 여태까지는 그냥 필요에 의해서 코드를 이리저리 붙였다. 특히나 만드는 게임 구조상 어쨌든 맵이 굉장히 중요한 역할을 하고 있고, 충돌을 담당하고 또 충돌을 하기 위해선 맵에 대한 정보뿐만 아니라 플레이어나 몬스터의 정보를 알아야하기 때문에, 타일맵 클래스에다 온갖 정보를 끼워넣었다. 개인 포폴급까지 이렇게 관리해도 상관없겠지만, 진지한 규모의 게임을 만든다고 하면 부담이 된다. .. 2024. 1. 25.
[UE5 : Paper2D(BP) - 게임 컨텐츠] Chapter 04. 몬스터 디스폰 GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/8fb2aeec78b5ed4871d3a99888c0b509545cc9d3 몬스터 디스폰 · developeSHG/UE5-Paper2D@8fb2aee hokyung.song committed Jan 24, 2024 github.com 게임을 완성도있게 만들기 위해서 몬스터 디스폰하는 기능을 구현해볼 것이다. 몬스터의 HP가 0%가 되면 소멸시키면 되겠지만, 몬스터를 그냥 삭제만 하면 되는 것이 아니고 지금까지 관리하던 방법에 의하면 Tile Map 클래스에서 몬스터의 스폰을 담당했었다. 그래서 디스폰도 타일맵에서 관리한다. Despawn Creature On Dead 2024. 1. 16.
[UE5 : Paper2D(BP) - 게임 컨텐츠] Chapter 03. 몬스터 AI GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/4077e879c90e9f626c2ee4dac1ba9ce5660d7939 몬스터 AI · developeSHG/UE5-Paper2D@4077e87 hokyung.song committed Jan 24, 2024 github.com 현재 몬스터들이 플레이어를 안따라가고 멍하니 있는 이유는, 몬스터 클래스의 Pawn을 보면 Auto Process AI가 Placed in World로 되어있다. 이 속성은 월드에 사용자가 툴을 이용해서 드래그앤드롭으로 배치한 애들만 AI에 의해 컨트롤이 된다. 이것을 맨 마지막 옵션이 Spawned으로 변경하면, 배치한 것 뿐만 아니라 코드로 스폰한 몬스터도 인공지능 즉 .. 2024. 1. 16.
[UE5 : Paper2D(BP) - 게임 컨텐츠] Chapter 02. 유닛 충돌 GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/1ec0877b6ac1a52f60d45735419e34f116540437 유닛 충돌 · developeSHG/UE5-Paper2D@1ec0877 hokyung.song committed Jan 23, 2024 github.com 플레이어와 몬스터 사이에 충돌이 없어서 뚫고 지나가는 현상을 수정해 볼 것이다. 겸사겸사 공격할 때, 피격을 받는 것도 충돌 범위를 이용해서 하는 것이 아닌, 무조건 다음 칸에 있는 대상이 몬스터면 픽업하는 식으로 수정해 볼 것이다. 즉, Collision 박스를 없애는 것. 타일에 몬스터가 있는지 체크하기 위해선, 몬스터를 저장할 목록을 Creatures 배열로 관리. 객체.. 2024. 1. 16.
[UE5 : Paper2D(BP) - 게임 컨텐츠] Chapter 01. 몬스터 스폰 GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/c38c9528e354c09469abd3af2902c64dd595333b 몬스터 스폰 · developeSHG/UE5-Paper2D@c38c952 hokyung.song committed Jan 22, 2024 github.com 랜덤하게 몬스터들을 스폰하는 기능을 만들것인데, 이 기능을 종합적으로 어디에서 관리하고 만들까가 고민이다.유닛끼리도 충돌이 일어나야 된다고 하면 이전에 만들어본 Tile Map의 클래스에서 관리하는 게 좋다. Can Go라는 함수를 통해 갈수있는 타일인지 벽인지 확인하는 것처럼 몬스터의 충돌 여부도 같이 판단하는 걸 고려할 수 있다. 우선 벽이 아닌 비어있는 타일을 찾는 일.. 2024. 1. 16.
[UE5 : Paper2D(BP) - 타일맵] Chapter 05. 타일 단위 이동 GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/a93be1324f8a1cb7d501bd0ed235797ac780b0b3 바람의 나라처럼 타일을 한 칸씩 일정 시간에 거쳐서 스르륵 이동하는 것을 구현해볼 것. 구현하는 방법이 여러가지 있을 수 있는데, 플레이어가 현재 위치가 어디 있는지를 Actor Location 이라는 디테일이 있는 정보로 알 수 있지만, 현재 긔드 기준으로 몇 번 좌표에 위치해있는지를 따로 관리하는 방법이 있다. 그래서 몇 번 좌표로 이동해야한다고 하면 우선 그리드 좌표는 바로 이동을 하되, 실질적으로 월드 기준으로 하는 좌표는 조금 뒤따라가서 스르륵 이동하게끔 만들면 쉽다. 그리드 포지션 같은 경우는 내가 어떤 특정 좌표에 .. 2024. 1. 15.
[UE5 : Paper2D(BP) - 타일맵] Chapter 04. 타일 좌표 구하기 GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/23ad85131e8168a25718fd10e7c6bd902704bc85 타일 좌표 구하기 · developeSHG/UE5-Paper2D@23ad851 hokyung.song committed Jan 15, 2024 github.com 현재는 플레이어가 미세하게 움직일 수 있는데, 이것을 고전 로그라이크 게임처럼 타일 한 칸 단위로 움직일 수 있게끔 만들어 볼 것이다. 그리드에 x, y의 좌표를 건네주면 갈 수 있는지 여부를 불리언으로 뱉어주는 Can go라는 함수. Map Grid라는 배열을 기준으로 한 인덱스를 구해준 것이다. 사실상 동일한 데이터를 지금 x, y라는 좌표로도 관리하고 있지만, 1.. 2024. 1. 15.
[UE5 : Paper2D(BP) - 타일맵] Chapter 03. 타일맵 정보 추출 GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/7460d3fa9cd3d0fa92f511b877ab8b9cdf1b4adc 타일맵 정보 추출 · developeSHG/UE5-Paper2D@7460d3f hokyung.song committed Jan 15, 2024 github.com 맵 정보를 추출해서, 어느 구역은 갈 수 있는지 없는지 등등을 추출해서 관리할 것이다. 타입 맵에 대한 정보를 어떻게 추출할까. 여태 했던 것을 응용하면 알 수 있다. Tile Map을 게임에 배치하면 아웃라이너 쪽에 Type이 PaperTileMapActor로 알 수 있다. 몬스터나 플레이어의 경우 항상 상속 구조를 통해 해당 클래스에 기능을 추가하거나 기능을 추출해.. 2024. 1. 15.