UnrealEngine 57

[UE4] 문자열 다루기 - FName, FText, String

FName 정적이며 가장 가벼운 문자열 클래스 비교시 대소문자 구분하지 않음 한 번만 저장하며 변경 및 조작 불가능 찾기나 키로 FName에 접근하는 속도 빠름 문자열 비교 FName Name1 = FName(TEXT("TestFName")); FName Name2 = FName(TEXT("TESTFNAME")); FName Name3 = FName(TEXT("TestFName3")); bool bCompare1 = (Name1 == Name2); // true, 대소문자 구분을 하지 않는다 bool bCompare2 = (Name1 == Name3); // false UE_LOG(TestProject, Warning, TEXT("bCompare1=%d bCompare2=%d"), bCompare1, b..

[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 구현 - 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..

[UE4] Custom Asset Type 구현 - Plugin 모듈 만들기

Runtime 모듈과 Editor 모듈을 분리해서 만들 것입니다. 모듈을 분리하지 않아도 정상 동작 하지만 관례에 따라 언리얼 엔진 개발시에 Runtime 모듈과 Editor 모듈을 분리하여 개발합니다. 이렇게 하는 이유는 배포시에 용량이나 동작의 효율성 때문입니다. Runtime 모듈 만들기 먼저 Plugins > New Plugin 에서 빈 플러그으로 작성합니다. Runtime 모듈로 TestPlugin을 생성합니다. 수동으로 Editor 모듈 추가하기 C++ Moulde Generator를 사용하여 좀 더 편리하게 Editor 모듈을 추가 할 수 있으며 다음 글을 참고해 주세요. [게임 개발/Unreal Engine] - [UE4] C++ Module Generator 소개 아래 설명은 C++ Mo..

[UE4] Project Setting 카테고리 설정 (UDeveloperSettings)

Project Setting원하는 카테고리 이름을 새로 만들고 섹션을 설정 할 수 있습니다. UCLASS(config = TheFunniest, Defaultconfig, meta = (DisplayName = "The Funniest Thing")) class THEFUNNIEST_API UMyDeveloperSettings : public UDeveloperSettings { GENERATED_BODY() public: virtual FName GetCategoryName() const override; #if WITH_EDITOR virtual FText GetSectionText() const override; virtual FText GetSectionDescription() const over..

이득우의 언리얼 C++ 게임 개발의 정석

Unreal Engine C++ 개발을 전문적으로 다루는 책이 없었습니다. 프로그래머들은 C++로 개발하기 위해 여기 저기 흩어져 있는 자료들을 찾고 이 기능이 원하는 기능인지 코딩하여 확인을 하는데 이러한 수고들을 줄여 줄 수 있다는 측면에서 이 책은 매우 유용합니다. 책에서 의도한 대로 C++로 불가능한 영역을 제외한 대부분의 기능들을 C++로 예제들을 작성하였습니다. 간단한 게임이지만 RPG 액션 게임으로서 갖추어야할 기본적인 기능들을 모두 맞볼 수 있는 예제로 재미있게 책을 읽어 나갈 수 있었습니다. Unreal Engine 4를 처음 접하시는 분은 다음의 책을 먼저 읽고 전체의 기능을 좀 더 쉽게 접근 하는 것을 추천합니다. [독서 리뷰] - 실전 게임 제작으로 배우는 언리얼 엔진 4 실전 게임..

독서 리뷰 2021.12.19

실전 게임 제작으로 배우는 언리얼 엔진 4

이 책은 게임 개발에 대한 기본적인 지식이 있다면 기획, 아트, 테크에 상관 없이 쉽게 이해 할 수 있도록 잘 설명이 되어 있다. 게임 개발 마인드, 개발 전반적인 절차 및 역할들 또한 상세하게 설명하고 있어서 Unreal Engine 4 사용 방법을 익히는 그 이상의 책이다. 페이퍼 닌자 게임의 스테이지 1을 만드는 과정을 하나씩 하나씩 디테일하게 설명하며 UE4 엔진의 기능과 개념들을 익힐 수 있었다. 예전에 UE4를 익힐때는 프로그래머 이고 역할이 명확했기 때문에 프로그래머들이 알아야할 기능들 위주로 편식을 했었는데 이 책을 읽으면서 다른 포지션의 작업들에 대한 이해도를 넓힐 수 있어서 좋았다. 특정 하나의 부분을 심도 있게 설명하는 책하는 책이 아니라 게임 개발의 A-Z까지 폭넓게 설명하는 책이다..

독서 리뷰 2021.12.02