게임 개발/Unreal C++

#1. 개념 1. AActorActor는 레벨에 배치 가능한 오브젝트를 의미합니다. Actor는 이동, 회전, 스케일과 같은 3D 트랜스폼을 지원하는 범용 클래스입니다.  2. ACharacterCharacter는 걷기, 달리기, 점프 등의 능력을 가진 Pawn의 서브 클래스입니다. 사용자의 입력 처리, 이동 기능, 충돌 처리, 애니메이션 표현 등의 처리를 위한 컴포넌트들을 내장하고 있습니다.  #2. Actor vs Character 1. 이동ACharacter 유형의 객체는 Character Movement Component를 통해 이동 로직을 관리하며, 걷기, 달리기, 점프, 그리고 수영 등의 기본 이동 관련 행동 방식을 지원합니다. 하지만, Actor 클래스는 필요하다면 직접 구현해야 합니다. 2..
#1. 문제 Input Component 혹은 Character Movement Component에 대한 별도의 사용자 정의 함수 및 변수들을 추가하기 위해 이들을 상속하는 하위 클래스를 선언할 수 있습니다. 하지만, 미리 정의된 액터 컴포넌트들을 두고 캐릭터 객체에 이들의 하위 컴포넌트들을 추가적으로 붙이기 애매한 상황. #2. 해결 1. 생성자 변경 UCLASS() class AGEOFWOLVES_API APlayerCharacter : public ACharacterBase { public: // Sets default values for this character's properties APlayerCharacter(const FObjectInitializer& ObjectInitializer);..
#1. 문제 Unreal Engine에서 제공하는 "UE_LOG" 매크로는 코드 작성 시 특정 이벤트/오류 발생 원인을 파악하기 위해 활용됩니다. 이때, 로그에 출력될 내용을 한글로 작성하게 될 경우, 알 수 없는 외계어로 로그가 출력되는 문제가 발생합니다. #2. 해결 1. save wtih encoding 헤더 파일 혹은 cpp 파일 열기 Visual Studio 오른쪽 상단의 'File" 드롭다운 메뉴 선택 현재 열려있는 파일에 대한 "~ save as" 선택 "Save" 버튼 옆 드롭 다운 메뉴 열기, 그리고 "Save with Encoding" 선택 2. Unicode (UTF-8 without signature) "Encoding" 드롭다운 메뉴 선택 "Unicode (UTF-8 without..
#0. 개념 1. Subsystem USubsystem Subsystems are auto instanced classes that share the lifetime of certain engine constructs docs.unrealengine.com "Subsystems are automatically instanced classes with managed lifetimes", Unreal Engine의 Subsystem은 수명 주기가 관리되는 자동 인스턴스 클래스입니다. 사용자 정의 생명 주기에 따라서, Initialize()와 Deinitialize()가 호출됩니다. 주요 특징은 클래스의 인스턴스 생성을 위한 별도의 생성 코드 혹은 인프라를 빌드할 필요가 없습니다! 2. 장점 효율성 모듈성과 ..
#1. 개념 1. Enhanced Input Enhanced Input An overview of the Enhanced Input Plugin. docs.unrealengine.com Enhanced Input 시스템은 Unreal의 전통적인 입력 시스템으로부터 확장하여 더욱 유연하고, 세밀한 입력 관련 처리를 가능케 하는 입력 시스템입니다. Enhanced Input을 통해 Unreal 사용자는 입력 관련 원본 수치에 대하여 radial dead zones, chorded actions, contextual input, and prioritization 등의 복잡한 작업들을 "Asset-Based Environment"에서 수행하며, 이는 기존 코드에 대한 변경, 혹은 추가적인 하드 코딩 작업 없이도..
#1. 개념 1. 정의 'Game Ability System'은 액터가 수행할 수 있는 다양한 Ability들을 관리하고 제어하는 프레임워크입니다. 2. Gameplay Attribute(UAttributeSet) [정의] : GAS에서 'Gameplay Attribute'는 게임 플레이와 관련된 수치 값들을 저장/계산/수정하기 위해 사용됩니다. 이러한 수치 값들은 Gameplay Attribute 소유자의 현재 HP 수치 등을 나타내며, GAS에서 액터들은 Gameplay Attribute 수치 값들을 Attribute Set(UAttributeSet) 내부에 저장합니다. Attribute Set은 Gameplay Attribute와 다른 시스템 간의 상호작용을 관리하며, 해당 Gameplay Attr..
[Unreal]#25_Collision Data Unreal Engine의 Collision Data에 대해 알아보겠습니다. Overview 개요 Collision Setting Collision Query FCollisionResponseParams 예제 #1. 개요 1. Unreal Engine의 Collision Setting Details 위 영상을 참조해 Unreal Engine의 Collision Setting에 대해 알아보고, 이를 관리하는 방법에 대해 리뷰합니다. #2. 콜리전 세팅 1. Collision Data Details Unreal Engine에서 Collision Data(충돌 정보)는 Collision Geometry와 객체의 충돌 속성 등을 의미합니다. 이러한 Collisio..
[Unreal]#24_Deactivate와 DeactivateImmediate Unreal 개발 중 Niagara Component 클래스의 Deactivate 관련 함수에 대해 알아보겠습니다. Overview 개요 코드 정리 #0. 개요 1. 마법 발사체의 이펙트 Proejctile 클래스를 상속하는 Projectile_Magic(마법 발사체) 유형의 객체는 기본적으로 세 가지 이펙트를 컴포넌트로 갖습니다-Muzzle Effect(발사 효과), Projectile Effect(발사체 효과), Hit Effect(충돌 효과). 이때, 각 이펙트는 Niagara Component 클래스를 상속하여 Niagara Component 클래스의 함수들을 활용하는데, 활성화 시점과 비 활성화 시점에 각각 Activ..
[Unreal]#23_FString, FText, FName 변환 Unreal 개발 중 "FString, FText, FName"에 대해 알아보겠습니다. Overview 문자열 자료형 종류 변환 방법 요약 문자열 자료형 [Unreal]#15_FText, FString, FName [Unreal]#15_FText, FString, FName Unreal 개발 중 "FText, FString, FName"에 대해 알아보겠습니다. FName 재사용 시에도 데이터 테이블에 한 번만 저장되어 초경량 시스템을 제공합니다. 대 소문자 구분이 없고, webddevys.tistory.com 변환 방법 1. FName FString // 1. FName to FString FString String = Name..
[Unreal]#22_TTuple Unreal 개발 중 "TTuple" 자료형에 대해 알아보겠습니다. Overview 개념 코드 #0 개념 1. TTuple? 논리적으로 관련 있는 두 자료형을 하나로 묶기 위해 사용합니다. TTuple은 UObject 클래스가 아니라 TTupleBase 템플릿 구조체를 상속하므로 UPROPERTY 등 리플렉션과 함께 선언할 수 없습니다. TTuple은 한 번에 두 개의 값을 반환하고자 하는 함수 등에 활용됩니다. #1 코드 // 1. Init TTuple TestTuple = TTuple("Apple", 1); TTuple TestTuple2 = MakeTuple("Oragne", 2); // 2. Get FString String1 = TestTuple.Get(); u..
Hardii2
'게임 개발/Unreal C++' 카테고리의 글 목록