인사말 안녕하세요. 이번 포스트에서 GAS에서 Attribute Change를 통해서 체력과 마나를 변경해 보록 하겠습니다. WBP_Overlay WBP_Overlay에 만들어둔 WBP_HealthGrobe 와 WBP_ManaGlobe를 추가해 주도록 합니다. 그리고 그래프에서는 Event Widget Controller Set 을 실행시키도록 합니다. HealthGlobe 와 ManaGlobe 의 블루프린트 그래프는 아래와 같이 구현되여 있습니다. 구현부(SetWidgetController) void UAuraUserWidget::SetWidgetController(UObject* InWidgetController) { WidgetController = InWidgetController; WidgetC..
인사말 안녕하세요. 이번 포스트에서 언리얼엔진에서 MVC 패턴 중 Controller 에 해당하는 UObject 를 구성하는 것에 대해 작성하겠습니다. 초기화 순서 초기화는 캐릭터가 PossessedBy 될 때 InitAbilityActorInfo 를 통해 초기화를 합니다. 그리고 AuraHUD->InitOverlay 를 통해서 WidgetController를 생성 후 OverlayWidget 에 WidgetController 를 설정합니다. WidgetController 의 설정이 끝나면 AddToViewport 를 이용해서 만들어진 위젯을 뷰포트에 추가합니다. void AAuraCharacter::InitAbilityActorInfo() { AAuraPlayerState* AuraPlayerState..
인사말 안녕하세요. 이번 포스트에서는 언리얼엔진에서 MVC(Model-View-Controller) 를 어떻게 사용하면 좋을지에 대한 글을 작성하도록 하겠습니다. 서론 공부를 하다가 모바일이나 웹에서 사용하는 MVC 패턴을 언리얼엔진에서도 사용한다는 것을 알게 되었습니다. 그래서 영상의 내용과 Chat GPT를 이용해서 해당 내용을 요약해서 작성하도록 하겠습니다. MVC(Model-View-Controller) 이란? MVC(Model-View-Controller) 디자인 패턴을 적용하면 프로젝트의 유지보수성과 확장성을 크게 향상시킬 수 있습니다. MVC 패턴은 애플리케이션을 세 가지 주요 구성 요소로 분리하는 디자인 패턴입니다. 모델(Model), 뷰(View), 컨트롤러(Controller). 모델은..
인사말 안녕하세요. 이번 포스트에서는 GAS 에서 사용될 Effect Actor 클래스를 생성하고 사용해보도록 하겠습니다. Effect Actor(AActor) 우선 AActor 클래스를 상속받는 Effect Actor 클래스를 생성합니다. Effect Actor 는 오버랩 이벤트를 발생시키기 위한 SphereComponent와 보여질 StaticMeshComponent를 만들어 줍니다. // Copyright mane #pragma once #include "GameFramework/Actor.h" #include "AuraEffectActor.generated.h" class USphereComponent; UCLASS() class AURA_API AAuraEffectActor : public AA..
const_cast 사용하기 const_cast는 C++에서 매우 유용한 타입 캐스팅 연산자 중 하나입니다. 이 연산자는 객체의 상수성(constness)을 추가하거나 제거하는 데 사용됩니다. 이 글에서는 const_cast의 기본 사용법과 예제 코드를 통해 그 사용 방법을 살펴보겠습니다. const_cast의 기본 const_cast 연산자는 const 또는 volatile 속성을 제거하기 위해 사용됩니다. 주로 포인터나 참조에 대한 const 속성을 제거할 때 사용되며, 원본 데이터의 상수성을 변경하지 않고 해당 데이터를 가리키는 포인터나 참조의 상수성만 변경합니다. 사용법 const_cast의 기본 문법은 다음과 같습니다. const_cast(표현식) 여기서 새로운_타입은 상수성을 제거하려는 대상의..
인사말 안녕하세요, 이번 포스트에서는 Gameplay Ability System 을 통해서 캐릭터의 체력 및 마나를 관리하는 속성를 만들어보도록 하겠습니다. GAMEPLAYATTRIBUTE_REPNOTIFY GAMEPLAYATTRIBUTE_REPNOTIFY는 Unreal Engine의 Gameplay Ability System (GAS)에서 사용하는 기능 중 하나로, 게임 내에서 어트리뷰트(예: 체력, 마나, 공격력 등)의 변경 사항을 네트워크를 통해 다른 플레이어에게 동기화하고, 해당 변경 사항이 발생했을 때 특정 로직(예: UI 업데이트, 이펙트 발동 등)을 실행할 수 있도록 하는 데 사용됩니다. 이 기능은 주로 멀티플레이어 게임에서 플레이어 간의 어트리뷰트 동기화를 위해 중요하며, 효율적인 네트워크..