본문 바로가기

Unreal5

UE Fade 기능 만들기 Fade란 fade (【동사】바래지다, 점점 희미해지다, 사라지다, 바래다 ) 뜻, 용법, 그리고 예문 | Engoo Words. 게임뿐만 아니라 영화 애니메이션에서도 사용되는 시각연출을 의미한다 언리얼에서 기능을 구현하기위해 검색을 해봤지만 쉬운 기능임에도 생각보다 순수 코드로 완성된 참고자료가 없어 직접 C++ ,Blueprint로 페이드 기능을 만드는 방법에 대해 글을 써보려한다. 기능 로직 설명 주어진 입력값은 지속시간 위젯의 이미지 오퍼시티 시작값,도착값이 주어진다 함수가 실행되면 지속 시작동안 이미지의 오퍼시티를 시작값에서에서 도착값까지 도달하게 하면 페이드가 완성된다. 지속시간(duration) 지속시간은 페이드가 시작값에서 도착값까지 도달하는데 걸리는 시간을 말한다 예시로 시간의 기준을 초.. 더보기
UE 액터와 컴포넌트 이해 언리얼 Actor란? 월드에 속한 컨텐츠의 기본 단위를 의미합니다. 액터가 서비스하는 기능 액터는 월드에 배치되기에 기본적으로 모두 Transform(좌표)값을 가지고 월드로부터 Tick ,시간 서비스를 제공받습니다. 액터의 역할과 컴포넌트 액터는 단순히 위 3가지를 서비스받는 논리적 개념이며 실질 컨텐츠의 게임로직 기능은 Component가 서비스합니다. 따라서 액터란 다수의 Componenet를 warpper와 같은 존재합니다. 루트 컴포넌트란? Component는 다수의 컨포넌트는 액터가 가지고있는 계층구조로 디자인 됩니다. 이렇게 만들어진 계층의 최상위 계층 컨포넌트를 Root Componenet라고 합니다. 액터는 루트컴포넌트를 가지고있어야 하고 루트 컴포넌트의 트랜스폼이 액터의 트랜스폼을 의미.. 더보기
UE 헤드업 디스플레이 (공부 정리) 헤더 디스플레이 (HUD) 플레이어 컨트롤러에 의해 제작되고 관리되는 UI를 의미한다. 위젯을 생성하고 이를 플레이어 뷰포트에 띄우는 과정으로 생성된다. 이렇게 만들어진 위젯은 자신을 소유한 플레이어 컨트롤러에 접근할 수 있다. 주요 기능 1. CreateWidget() HUD위젯을 생성한다 생성 클래스는 플레이어 컨트롤러 클래스이다. 2. GetOwningPlayer() 플레이어 정보를 가져온다 HUD에서 컨트롤러에게서 가져온다 기존 위젯클래스와는 달리 직접 함수로 데이터를 가져오는 위젯을 만들것이기에 BaseWidget을 사용하지않고 UserWidget을 상속받는 새 클래스 HUD를 만들어준다 플레이어 컨트롤러 디자인 구현을 위해서 HUD 클래스와 오브젝트 레퍼런스 2개가 모두 필요하다 // HUD .. 더보기
UE Ai Task Unreal C++에서 구현방법 BTTaskNode 클래스를 상속받는 PatrolClass 생성 및 초기화 BTTaskNode를 C++프로젝트에서 사용하기위해서는 3가지 모듈을 Build.cs에서 추가해야한다. "NavigationSystem", "AIModule", "GameplayTasks" PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "EnhancedInput", "UMG", "NavigationSystem", "AIModule", "GameplayTasks" }); 블랙보드에서 정의한 키값의 접근을 가독성을 위해서 전처리기로 정의하는편이 좋다. #define BBKEY_HOMEPOS TEXT("Hom.. 더보기
UE Ai Behavior Tree 기본용어 (공부 정리) Composit 셀렉터 - 여러 행동중 하나의 행동을 지정 (제어문) 시퀀스 - 여러 행동을 모두 수행 (순차 처리) 패러랠 - 여러 행동을 함께 수행 (? 동시수행) 컴포짓 하위에 존재하는 행동(Action)의 처리과정에서 결과타입을 4가지로 받아올수있다. 행동 결과 타입 성공 실패 중지 - 외부 요인으로 인한 행동의 실패 진행중 커포짓 노드 마다 다른 결과 처리 셀렉터 - 성공이 나오면 종료된다 시퀀스 - 실패가 나올때까지 진행한다 성공이 나오면 다음 행동을 처리한다. 부가기능 데코레이터 컴포짓 노드가 실행되는 조건을 지정 (제어문) 서비스 컴포짓 노트가 활성화될 때 주기적으로 실행하는 부가 명령 관찰자 중단(abort) 데코레이터 조건에 부합되면 컴포짓 내 활동을 모두 중단 객체 Ai 적용 구조 A.. 더보기
UE 게임 데이터 관리 엑셀 데이터 임포트 DataAsset과 유사하게 FTableRowBase를 상속받은 구조체를 선언 엑셀의 Name 칼럼을 제외한 칼럼과 동일하게 UPROPERTY 속성을 선언 엑셀 데이터를 csv로 익스포트한 후 언리얼 엔진에 임포트 USTRUCT(BlueprintType) struct FABCharacterStat : public FTableRowBase { GENERATED_BODY() } 스탯 합산 기능 FABCharacterStat operator+(const FABCharacterStat& Other) const { const float* const ThisPtr = reinterpret_cast(this); const float* const OtherPtr = reinterpret_cast(&.. 더보기
UE 아이템 시스템 (공부 정리) 트리거 박스 구현 루트에 트리거 추가 - 하위 스태틱 매시 - 하위 이펙트 트리거 박스 클래스 생성 1. 엑터 ->ItemBox 생성 2. ItemBox 비긴 틱 제거 3. 위 추가할 3가지 객체를 멤버변수 선언 - UBoxComponent ,UStaticMeshComponent , UParticleSystemCompoent 4. 생성자 오버로딩 ItemBox 초기화 4-1. 멤버변수 데이터 초기화 - CreateDefaultSuboject 함수 사용 매개변수는 생성할 기본서브오브젝트의 이름이다. 4-2. 트리거 매쉬컴포넌트 셋업 - Trigger->SetCollisionProfileName("내가 생성한 프로파일 트리거") ; - Mesh->SetStaticMesh(아이템 메쉬 레퍼런스) 4-3. 이펙.. 더보기
UE5 향상된 입력 Unreal C++ 에서 사용방법 UE Input System 구조 https://docs.unrealengine.com/4.27/ko/InteractiveExperiences/Input/ 입력 Input 오브젝트는 플레이어로부터의 입력을 액터가 이해하고 활용할 수 있는 형태의 데이터로 변환하는 작업을 담당합니다. docs.unrealengine.com 입력 언리얼의 입력 구조에 대해 이해하고 현제 언리얼5에서 입력 이벤트 처리에 사용되는 향상된 입력 기능을 활용하여 컨텐츠 구현 알아보겠습니다. 글을 통해 알수있는것들 언리얼 입력 시스템의 처리 플로우 향상된 입력 사용법 Input 오브젝트 Input 오브젝트는 플레이어로부터의 입력을 액터가 이해하고 활용할 수 있는 형태의 데이터로 변환하는 작업을 담당합니다. PlayerInput Pla.. 더보기