게임개발

#1. 개념 1. UBlueprintAsyncActionBaseUBlueprintAsyncActionBase는 Unreal Engine에서 블루프린에서 사용할 수 있는 비동기 작업을 생성하기 위한 기본 클래스입니다. 먼저, UBlueprintAsyncActionBase는 메인 스레드를 차단하지 않고, 백그라운드에서 실행할 수 있도록 합니다. C++로 작성된 비동기 로직을 블루프린트로 가져 활용할 수 있으며, 특히 이벤트 기반 프로그래밍을 가능케 하여 작업 상황에 대한 이벤트 등을 활용할 수 있습니다.   #2. 코드 1. AttributeChange [GroupProject_AOW]#1. Attribute 수치 변화 이벤트 관련 인터페이스#1. 목표 GAS 프레임워크에서 Ability System Com..
#1. 개념 1. AActorActor는 레벨에 배치 가능한 오브젝트를 의미합니다. Actor는 이동, 회전, 스케일과 같은 3D 트랜스폼을 지원하는 범용 클래스입니다.  2. ACharacterCharacter는 걷기, 달리기, 점프 등의 능력을 가진 Pawn의 서브 클래스입니다. 사용자의 입력 처리, 이동 기능, 충돌 처리, 애니메이션 표현 등의 처리를 위한 컴포넌트들을 내장하고 있습니다.  #2. Actor vs Character 1. 이동ACharacter 유형의 객체는 Character Movement Component를 통해 이동 로직을 관리하며, 걷기, 달리기, 점프, 그리고 수영 등의 기본 이동 관련 행동 방식을 지원합니다. 하지만, Actor 클래스는 필요하다면 직접 구현해야 합니다. 2..
#1. 개념 1. 게임 개발의 '충돌' 게임 개발에서 '충돌'은 게임 객체 간의 상호작용을 결정하는 핵심 요소 중 하나입니다. 일반적으로, 사각형-사각형 충돌, 원-원 충돌, 그리고 원-사각형(생략) 충돌 감지 방법이 활용됩니다. 특히, '사각형' 간 충돌 감지에 활용되는 알고리즘으로 AABB(Aligned-Axis Bounding Box)와 OBB(Oriented Bounding Box) 방식을 활용합니다. #2. 사각형 충돌 1. AABB(Aligned Axis Bounding Box) 충돌 1. 개념 AABB는 축에 정렬된 경계 상자를 의미합니다. 이는 모든 면이 X,Y, 그리고 Z과 평행한 정육면 모양의 상자, 3D 공간에서 객체를 감싸는 데 사용되는 상자입니다. AABB는 고정되어 회전하지 않고..
#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 USubsystemSubsystems are auto instanced classes that share the lifetime of certain engine constructsdocs.unrealengine.com"Subsystems are automatically instanced classes with managed lifetimes", Unreal Engine의 Subsystem은 수명 주기가 관리되는 자동 인스턴스 클래스입니다. 사용자 정의 생명 주기에 따라서, Initialize()와 Deinitialize()가 호출됩니다. 주요 특징은 클래스의 인스턴스 생성을 위한 별도의 생성 코드 혹은 인프라를 빌드할 필요가 없습니다! 2. 장점효율성모듈성과 일관성AP..
#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..
Hardii2
'게임개발' 카테고리의 글 목록 (2 Page)