본문 바로가기

분류 전체보기539

[UE5 : 3D(BP) - 캐릭터] Chapter 01. 캐릭터 생성 GitHub : https://github.com/developeSHG/UE5-3D_BP/commit/58c67ffe8ae15494877e1943139084fcc8fa85c5 캐릭터 생성 · developeSHG/UE5-3D_BP@58c67ffhokyung.song committed Feb 15, 2024github.com     Skeletal Mesh가 관건이다.이전에 실습했던 것은 Static Mesh라는 걸 살펴본 적이 있다. Static은 정적이다. 바뀌지 않는다.근데 스켈레털 메쉬의 경우는 메쉬는 메쉬며 삼각형으로 이루어진 것은 맞지만, 스켈레털 즉 어떤 스켈레톤을 기반으로 되어 있다.  만약 걸어다니는 모션을 하고 싶다면 어떻게 해야할까? 2D처럼 캡쳐해서 걸어다니는 것처럼 보이게 해야할까?.. 2024. 2. 15.
[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.