전체 글 115

[UE4] UPROPERTY

UPROPERTY 변수는 변수 지정자 및 선언 위에 사용하는데, 메타데이터와 같은 추가 설명자와 함께 표준 C++ 구문을 사용하여 선언됩니다. 속성(property)을 선언함으로써 엔진 및 에디터의 다양한 측면에서 작동하는 방식을 제어할 수 있습니다. UPROPERTY([specifier, specifier, ...], [meta=(key=value, key=value, ...)]) Type VariableName; Garbage Collection GC는 오브젝트 계층구조를 designated된 UPROPERTY들을 통해 여행합니다. root objects부터 시작하게 되는데 AddToRoot, RemoveFromRoot 메서드를 통해 handle되는 root object들을 말하는 것입니다. 이 여행..

UE4 2022.11.12
[UE4] Unrecognized type Error 해결법

때로는 내가 생각해서 뭔가를 제작하는 것보다 그대로 따라하는 것이 더 어려울 때가 있다. 모방이 반복되다보면 제대로 이해하지 못한 채 따라만 하게 되고, 오류가 생겼을 때 (스펠링 틀리거나, 매우 사소한 오류) 해결하기가 더 어려워지는 것 같다. 이번 오류는 반년간 언리얼을 공부했지만 처음 겪는 오류였고 구글링해도 정보가 거의 나오지 않거나 도움이 되지 않았다. 이말인 즉슨 다른 사람들도 거의 하지 않을만한 어이없는 오류라는 소리였고(경험상) 최대한 마음을 비우고 삽질을 시작했다. # 사실 언리얼에 무슨 오류가 났을 때 대부분은 다음과 같은 방법으로 해결된다. 1. 기다린다. (언리얼은 가끔 업데이트가 느려 오류가 생길 때가 있다, 그렇다고 1분이상 기다리진 말것..) 2. 헤더파일을 추가한다. (언리얼..

UE4 2022.11.12
[UE4] 캐릭터 스텟 컴포넌트 만들기

캐릭터 스텟 컴포넌트를 만들어 이를 캐릭터에 부착해 캐릭터 스텟에 대한 관리를 액터 컴포넌트가 일임하도록 기능을 구현해보자. 먼저 Actor Component를 부모로 하는 새로운 클래스를 하나 생성해준다. 그리고 MyCharacter클래스에 해당 컴포넌트를 멤버 변수로 선언한다. UPROPERTY(VisibleAnywhere, Category = Stat) class UMyCharacterStatComponent* CharacterStat; 선언한 변수에 새롭게 Object를 생성해 대입해준다. CharacterStat = CreateDefaultSubobject(TEXT("CHARACTERSTAT")); 액터의 PostInitializeComponents에 대응하는 컴포넌트의 함수는 Initializ..

UE4 2022.11.12
[UE4] CSV 데이터 불러오기

엑셀에 저장돼 있는 캐릭터의 스탯 데이터 테이블을 언리얼 엔진에 불러들여보자. 캐릭터 스탯 데이터는 게임의 기반을 이루는 변하지 않는 데이터이므로 보통 게임 앱이 초기화될 때 불러들인다. 언리얼 엔진은 게임 앱을 관리하기 위한 용도로 GameInstance라는 언리얼 오브젝트를 제공한다. 이 인스턴스가 캐릭터의 스탯을 관리하도록 설계하면 게임 앱이 초기화될 때 캐릭터 스탯 데이터를 불러들이고, 앱이 종료할 때까지 스탯 데이터는 보존된다. GameInstance 클래스를 부모로 하는 클래스를 제작 후 프로젝트 세팅의 맵&모드로 들어가서 GameInstance항목을 우리가 만든 것으로 바꿔주면 게임 앱을 관리할 수 있다. 다음으로 원하는 캐릭터 스탯 데이터를 엑셀에 작성 후 CSV파일 형식으로 저장해준다. ..

UE4 2022.11.11
[졸작] 기능구현리포트_3회차

1. 아이템박스 제작 : 캐릭터와 overlap시 캐릭터에 무기 장착(소켓 활용), 이팩트 재생 후 Destroy. 무기클래스 제작 2. CSV파일 불러오기 : 캐릭터 스탯정보 엑셀에 저장 후 그에 맞게 구조체 선언, DataTable이용해 불러오기. 3. 캐릭터 스탯 제작 : 캐릭터에 부착해 레벨에 따라 자동으로 스탯이 상승하도록 하기. 4. UI와 스탯 연동하여 HP바 제작.