분류 전체보기 294

[UE4] CDO (Class Default Object)

CDO(Class Default Object) [게임 개발/Unreal Engine 기본] - [UE4] 언리얼 오브젝트(UObject) 언리얼 오브젝트 글에서 기존 C++이 제공하지 못하는 추가 기능을 제공하기 위해 메타 정보가 자동으로 생성되는 것을 언급하였습니다. 메타 정보는 UClass라는 특별한 클래스를 통해 보관됩니다. UClass에는 언리얼 오브젝트에 대한 클래스 구조, 멤버 변수, 멤버 함수에 대한 정보들을 기록합니다. 단순히 검색하는 것에서 더 나아가, 런타임에 특정 클래스를 검색해 타입을 알아내 인스턴스의 멤버 변수 값을 변경하거나 특정 인스턴스의 멤버 함수를 호출하는 것이 가능합니다. Java나 C#에서는 이와 유사한 기능을 리플렉션이라는 이름으로 제공합합니다. 모든 언리얼 오브젝트 ..

[UE4] 언리얼 오브젝트(UObject)

언리얼 오브젝트(UObject) 언리얼 오브젝트는 언리얼 엔진의 관리를 받는 특수한 객체입니다. 그렇다고 모든 클래서가 UObject가 되어야 하는 것은 아니며 필요에 따라서 네이티브 클래스를 사용할 수 있습니다. 언리얼 엔진에서는 클래스를 구분하기 위해 접두사를 사용하고 있습니다. 일반 C++ 오브젝트 : F로 시작 언리얼 오브젝트(UObject) : U로 시작 Actor 오브젝트 : A로 시작 언리얼 오브젝트는 언리얼 엔진 내에서 객체를 쉽고 효율적으로 관리하기 위해 고안되었습니다. 일반 C++ 객체가 언리얼 오브젝트로 될 경우 다음의 기능들이 자동으로 향상됩니다. 1. CDO(Class Default Object) : 객체의 초기 값을 자체적으로 관리합니다. 2. Reflection : 객체 정보를..

Visual Studio 2019 컬러 색상을 Visual Assist 색상으로 변경하기

Visual Assist 기본 색상은 다음과 같으며 오랜 동안 사용하신 분은 익숙 하실 것입니다. 16진수 10진수 FFD700 (GOLD) 255, 215, 000 BDB76B (DarkKhaki) 189, 183, 107 BD63C5 189, 99, 197 B9771E 185, 119, 30 FF8000 255, 128, 0 B8D7A3 184, 215, 163 로컬 변수는 맴버 변수와 다음의 파일을 옵션 설정에서 Fonts and Colors 부분을 Export한 파일입니다. 2 Tools > Export and Import Settings...에서 다운로드 받은 파일을 Import를 진행하여 적용하면 됩니다. 다음은 최종 적용된 모습니다. 아쉬운 점이 있다면 제어문의 경우 cpp 키워드에 해당하여..

visual studio 소스(cpp), 헤더(h) 파일 전환 단축키

Visual Assist, Reshaper C++ 등과 같은 툴들을 이용하다 이러한 툴들이 없은 상황에 답답함을 느꼈던 것이 cpp파일과 h파일 사이를 왔다 갔다할 일이 많은데 파일 전환의 불편함입니다. 소스(cpp) 헤더(h) 전환 단축키 ctrl + k + o 이 밖에 유용한 단축키들은 MS에서 제공하는 단축키 모음 페이지를 참고하면 좋습니다. https://docs.microsoft.com/ko-kr/visualstudio/ide/default-keyboard-shortcuts-in-visual-studio?view=vs-2019 바로 가기 키 - Visual Studio (Windows) 다양한 명령과 창에 액세스할 수 있는 Visual Studio 기본 바로 가기 키에 대해 알아봅니다. docs..

[UE4] C++ Module Generator 소개

C++ Module Generator 설치 Epic games launcher 마켓에서 C++ Module Generator를 검색하여 설치합니다. 설치 후 C++ Module Generator를 Enable 시키고 에디터를 다시 실행합니다. 빈 Plugin 모듈 생성 먼저 MyPlugin이라는 이름으로 Runtime Plugin 모듈을 생성합니다. Editor 모듈 추가 Moudle Generator를 사용하여 MyPlugin에 Editor Moudle을 추가하자. Windows > Moudle Generator를 실행하여 MyPlugin에 Editor 모듈을 생성합니다. 솔루션 파일을 다시 만듭니다. 정상적으로 MyPlugin에 Runtime 모듈과 Editor 모듈이 추가 되어 있는 것을 볼 수 있..

[UE4] Custom Asset Type 구현 - Import 하기

다음의 두 글을 먼저 살펴보야 겠습니다. [게임 개발/Unreal Engine] - [UE4] Custom Asset Type 구현 - Plugin 모듈 만들기 [게임 개발/Unreal Engine] - [UE4] Custom Asset Type 구현 - Asset 구현 & 등록 MyCustomAssetFactory.h에 FactoryCreateText 선언을 추가 합니다.MyCustomAssetFactory.cpp에 FactoryCreateText 함수 재정의 코드를 추가합니다. UObject* UMyCustomAssetFactory::FactoryCreateText( UClass* InClass, UObject* InParent, FName InName, EObjectFlags Flags, UObje..

[UE4] Custom Asset Type 구현 - Asset 구현 & 등록

이 글이전에 Plugin 모듈을 먼저 만들어야 하며 다음 글을 참고해 주세요. [게임 개발/Unreal Engine] - [UE4] Asset Type추가 - Plugin 모듈 만들기 커스텀 어셋 만들기 먼저 UObject를 상속받아 자신의 커스텀 어셋을 만듭니다. #pragma once #include "CoreMinimal.h" #include "UObject/NoExportTypes.h" #include "MyCustomAsset.generated.h" UCLASS() class TESTPLUGIN_API UMyCustomAsset : public UObject { GENERATED_UCLASS_BODY() UPROPERTY(EditAnywhere) int32 Value; UPROPERTY(Edit..