본문 바로가기

UE5 : Paper 2D (Blueprint)29

[UE5 : Paper2D(BP) - 애니메이션 관리] Chapter 05. State 패턴 GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/119b69edc1a2274f2dbab805fe09bfbcb87ed0a6 State 패턴 · developeSHG/UE5-Paper2D@119b69e hokyung.song committed Jan 4, 2024 github.com 여태까지 동작 상태인 Attack이나 Key Pressed를 Boolean을 통해 공격을 하겠다던지, 이동을 한다던지 각각 표현해왔다. 근데 이렇게 상태마다 Boolean을 계속 늘리게 되면, 점프나 벽을 타고 있는 상태 등 수도 없이 늘어날 것이다. 또 다른 문제는 공격중인 상태일 땐 당연히 이동을 안하고 있는 경우가 대부분이기 때문에, Boolean끼리 서로 독립적인 .. 2023. 12. 26.
[UE5 : Paper2D(BP) - 애니메이션 관리] Chapter 04. 공격 애니메이션 GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/20bd9bf8ad567dbc5bfdf59b03bf24d993bfa63f 공격 애니메이션 · developeSHG/UE5-Paper2D@20bd9bf hokyung.song committed Dec 21, 2023 github.com 위 코드가 딱히 문제있는 것은 아니지만, 매 프레임마다 Keyboard Pressed 변수를 세팅하고 있고, 아래 InputAxis MoveUp 같은 것도 매 프레임마다 호출이 되어 direction을 세팅하고 있다. 결국 모든 것들이 키보드 입력과 관련되어서 변수를 세팅하는 부분인데, 이것들을 묶어서 하나의 함수로 관리를 하는 것이 편리하기 때문에 리팩토링. 스페이스바.. 2023. 12. 19.
[UE5 : Paper2D(BP) - 애니메이션 관리] Chapter 03. 애니메이션 갱신 GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/5f3cb40a93a070aa2e723bf6d8f43f4e23da75c2 애니메이션 갱신 · developeSHG/UE5-Paper2D@5f3cb40 hokyung.song committed Dec 8, 2023 github.com 저번까진 단순 키에 대한 처리만 했고, 애니메이션 갱신을 위해 이동하는 방향을 저장. 현재 Idle 상태만 저장하는 플립북만 있는데, 이동하고 있는 상태의 플립북도 필요하다. 기존에서 더 변수를 추가해 늘리면 관리가 힘드니 기능적으로 쪼개서 기능별로 묶어두는게 관리하기 편하다. 뒷 부분은 보여지는 애니메ㅣ션을 설정하는 부분이고, 중간 부분은 입력 방향에 따라 코드가 세팅이.. 2023. 12. 15.
[UE5 : Paper2D(BP) - 애니메이션 관리] Chapter 02. 매크로 GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/3795f328d6afc44dcf76ac8196f6079419d65b01 매크로 · developeSHG/UE5-Paper2D@3795f32 hokyung.song committed Dec 8, 2023 github.com 저번 시간에 float 라는 것을 이용해서 양수 음수에 따라 브랜치를 실행할 수 있는 코드를 만들어놨는데, 이것보다 우월한 방법이 있다. Compare Float는알아서 필터링을 해준다. 잘보면 Compare Float 왼쪽에 M이 붙어있다. 이 매크로라는 것이 무엇이냐? 사실 함수랑 굉장히 비슷하지만 내부 동작이 조금 다르다. 함수랑 유사한 것처럼 입력이랑 출력을 늘릴 수 있다... 2023. 12. 15.
[UE5 : Paper2D(BP) - 애니메이션 관리] Chapter 01. 입력 매핑 GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/eeae44a6cf83e357266a383e88f7354854b5fd26 입력 매핑 · developeSHG/UE5-Paper2D@eeae44a hokyung.song committed Dec 8, 2023 github.com 간단하게 움직이는 방향에 따른 애니메이션 변화를 이런 식으로 구현할 수 있다. 아쉬운 부분은 w s a d를 누를 때만 동작한다는 게 아쉽다. (PC 플랫폼에서만 동작하는 코드) 언리얼 엔진에서 권장하는 방법은 Edit -> Project Settings에 Engine - Input에 Action Mappings, Axis Mappings를 이용할 수 있다. 입력할 때, 바로 .. 2023. 12. 15.
[UE5 : Paper2D(BP) - 기초] Chapter 03. PaperCharacter GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/0249b0e9d4aff5c7bb5157aaf027418da5265d49 PaperCharacter · developeSHG/UE5-Paper2D@0249b0e hokyung.song committed Dec 8, 2023 github.com 카메라를 붙일 때, 자주 사용하는 방법이 셀카봉. SpringArm이 셀카봉이고, 배치 한 다음 Camera 설치. 정방향이 아니기 때문에 Rotate을 임의로 회전시키고, Target Arm Length를 통해 거리조정. 하지만 실제로 게임을 실행해보면, 딱히 카메라가 지금 찍고있는 화면이 나타나지 않고, 여전히 자유롭게 돌아다니는 화면이 게임상에 찍히는 걸 .. 2023. 12. 14.
[UE5 : Paper2D(BP) - 기초] Chapter 02. Flipbook GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/30cb87ed41825282bbdc5dddea41b65112a0ac21 Flipbook · developeSHG/UE5-Paper2D@30cb87e hokyung.song committed Dec 7, 2023 github.com 애니메이션을 만들기 위해 사용하는 방식이 Flipbook. Flip, 넘기다. Book, 책. 플릿북 결과물을 PaperFlipbookActor로 사용하는 것이 아니라, 이 액터도 결국 이런 저런 코드 기능을 넣어야 할 것이다. 코드 기능이란 건 예를 들면, 어떤 특정 키를 눌렀을 때, 방향이 바뀐다거나 리소스를 바꿔치기 하는 등의 기능. 만약 유니티 엔진이었다라고 하면,.. 2023. 12. 12.
[UE5 : Paper2D(BP) - 기초] Chapter 01. Sprite vs Texture GitHub : https://github.com/developeSHG/UE5-Paper2D/commit/9069a84feec4226c8f0df0b41038aeddcb3e54ce Sprite · developeSHG/UE5-Paper2D@9069a84 hokyung.song committed Dec 7, 2023 github.com 언리얼 엔진은 자유로운 유니티 엔진과 다르게 상속 구조가 굉장히 중요하다. 스프라이트를 월드에 드래그 드롭해서 생성하게 되면 뭔가 스프라이트를 만든 것처럼 보이지만, 실질적으로 Outliner에는 PaperSpriteActor라 해서, 액터는 액터인데 스프라이트를 출력하는 용도의 액터가 자동적으로 만들어져있다. Object -> Actor -> PaperSpriteActor .. 2023. 12. 12.
UE5 블루프린트 기초 언리얼에서는 맵을 레벨이라고 부른다. 새로운 스테이지라는 개념으로 보면 된다. 유니티에선 Scene이라고 불렸다. 레벨을 만들때마다 레벨 블루프린트가 생성이 된다. 레벨 블루프린트에 기본적으로 게임이 구동될 때, 실행되는 코드들을 편리하게 넣을 수 있다. 레벨 블루프린트는 하나만 만들면 모든 레벨이 적용되는 것이 아니고, 말 그대로 레벨 당 하나씩 짝을 맞춰서 만들어지기 때문에 새로운 레벨을 만들면 다시 코드를 작성해줘야한다. 빨간색 모양으로 된 이벤트라는 개념이 등장한다. 이벤트라는 것은 일종의 트리거. 어떤 상황에서 이벤트가 호출이 될 것이라는 일종의 약속을 한다. BeginPlay는 게임이 실행되고 최초 딱 한 번만 실행되는 이벤트고, EventTick은 게임을 실행하는 도중에 매 프레임마다 실행된.. 2023. 9. 7.