본문 바로가기

언리얼5/공부기록

UE C++ 매쉬 만들기 매쉬 설정 static ConstructorHelpers::FObjectFinder CharacterMeshRef(TEXT("/Script/Engine.SkeletalMesh'/Game/DownloadAssets/Primitive_Characters_Pack/Mesh/Primitive_01/Mesh_UE4/Full/SK_Primitive_Charater_01_01.SK_Primitive_Charater_01_01'")); if (CharacterMeshRef.Object) { GetMesh()->SetSkeletalMesh(CharacterMeshRef.Object); } 콜라이더 설정 GetCapsuleComponent()->InitCapsuleSize(42.f, 96.0f); //GetCapsuleC.. 더보기
UE 어빌리티 시스템 1_2 (정리) GS 입력시스템, AbilityTask 1. 입력 정보를 게임플레이 어빌리티 시스템으로 구현방법 플레이어 캐릭터의 ASC 설정시 주의사항 분수대 액터와 같이 플레이어 캐릭터에 설정하는 것이 가능 하지만 네트웍 멀티플레이를 감안했을 때 서버에서 클라이언트로 배포되는 액터가 보다 적합. 이때 많이 사용하는 액터가 주기적으로 플레이어 정보를 배포하는 PlayerState 액터임 따라서 Owner를 PlayerState로 설정하고 Avatar를 Character로 설정하는 것이 일반적인 방법 언리얼에서 플레이어란 PlayerController 클래스 Pawn을 조정하는 구조로 제작되어있다. 두개의 정보를 가지고있고 GAS도 이러한 두개의 객체와 상호작용을 할수있는 구조로 작성되어야한다. 이미 GAS는 이러한 문제의 대응점을 가지고있다 이전 시간에 A.. 더보기
UE 어빌리티 시스템 1_1 (정리) ASC , GA TAG GAS란? 언리얼 게임 어빌리티 시스템은 전투스탯, 스킬 , 피격 이벤트 발생 시 처리 등을 개발자가 가독성을 가지고 개발에 임할 수 있도록 언리얼에서 지원하는 플러그인을 의미한다. https://dev.epicgames.com/documentation/ko-kr/unreal-engine/gameplay-ability-system-for-unreal-engine?application_version=5.2 언리얼 엔진의 게임플레이 어빌리티 시스템 게임플레이 어빌리티 시스템 개요 dev.epicgames.com GAS 프레임워크의 기능과 사용시 장단점 액터가 소유하고 발동할 수 있는 어빌리티 및 액터 간의 인터랙션 기능을 제공하는 프레임워크이다. RPG, 액션 어드벤처, MOBA 장르의 제작을 쉽게하기 위한.. 더보기
UE 콜리전 사용법 정리 Collision Profile 충돌 대상에 따른 이벤트 타입 처리를 편집하고 저장할수있다. 해당 셋팅은 DefaultEngine.ini에 저장되고 쓰기 가능상태이다 Object Chennelss 프로파일을 생성할경우 프로파일 적용 대상의 오브젝트를 지정해야만 한다. 해당 오브젝트 타입의 충돌처리를 분리해야하는 경우 오브젝트 체널에서 추가로 제어할수있다. 커스텀 체널은 최대 18개까지 가능하다(17개 쓸일도 없겠지만) 사용중인 오브젝트 타입을 삭제하는 경우 월드 스태틱으로 돌아간다. Trace Chennelss 트레이스 개요 언리얼 엔진 4 의 트레이스 시스템 개요입니다. docs.unrealengine.com 오브젝트와 다르게 눈에 보이지않으며 통과가 가능한 충돌체 객체를 생성할때 사용한다. 주의사항 .. 더보기
UE 액터와 컴포넌트 이해 언리얼 Actor란? 월드에 속한 컨텐츠의 기본 단위를 의미합니다. 액터가 서비스하는 기능 액터는 월드에 배치되기에 기본적으로 모두 Transform(좌표)값을 가지고 월드로부터 Tick ,시간 서비스를 제공받습니다. 액터의 역할과 컴포넌트 액터는 단순히 위 3가지를 서비스받는 논리적 개념이며 실질 컨텐츠의 게임로직 기능은 Component가 서비스합니다. 따라서 액터란 다수의 Componenet를 warpper와 같은 존재합니다. 루트 컴포넌트란? Component는 다수의 컨포넌트는 액터가 가지고있는 계층구조로 디자인 됩니다. 이렇게 만들어진 계층의 최상위 계층 컨포넌트를 Root Componenet라고 합니다. 액터는 루트컴포넌트를 가지고있어야 하고 루트 컴포넌트의 트랜스폼이 액터의 트랜스폼을 의미.. 더보기
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(&.. 더보기