Study/UnrealEngine
UE5.0 CPP 03~04
리쥬쥬
2023. 3. 15. 12:46
- 로깅 환경
UE_LOG(카테고리, 로깅 수준, 형식 문자열, 인자...)
Editor : 창 - 로그 - 출력 로그 / File : Saved - Logs - .log
FString : 문자열을 관리하는 기본 클래스, 문자열 정보를 받아오려면 * 연산자 지정 필요 - Assertions
엔진 설치 시 옵션에 디버깅을 위한 편집기 기호 추가
check - 조건 실패 시 크래시 > 에디터 종료 후 재 실행 필요
ensure - 조건 실패 시 콜스택 생성
https://docs.unrealengine.com/5.1/ko/asserts-in-unreal-engine/ - Actor - Event Functions
PostInitializeComponents : 액터에 할당된 컴포넌트가 세팅 완료 후
BeginPlay : 게임에 들어갈 때
Tick : 매 프레임마다
EndPlay : 게임에서 나올 때 - Transform, Scale : FVector
- Rotation : FRotator - 순서대로 Pitch(Y), Yaw(Z), Roll(X)
- World
시간을 관리하는 주체, TimerManager, 단위 second
> GetWorld()->GetTimeSeconds() : 게임 시작으로부터 현재까지의 경과 시간
> GetWorld()->GetUnpausedTimeSeconds() : 게임 중지 시간을 제외한 경과 시간 - Movement Components
- FloatingPawnMovement : 중력 영향X
- RotatingMovement : 지정 속도로 회전
- InterpMovement : 지정 위치로 이동
- ProjectileMovement : 중력 + 포물선 움직임 ex) 발사체(총, 미사일....) - ActorComponent : 기능만 제공하는 컴포넌트
- SceneComponent : 트랜스폼 정보를 필요로 하는 컴포넌트
SceneComponent --|> ActorComponent, + Transform
- GamePlay Framework
- Core Components
> GameMode - 게임 규칙 관리
> PlayerController - 폰을 조종
> Pawn - 플레이어가 조종하는 액터
- Core Components
- GameMode Setting
Setting - WorldSetting - GameMode - GameModeOverride - GameModeBase(Class) - GamePlay Flow
- PostLogin() : PlayerController 생성 > Player Pawn 생성 > (PlayerController->Pawn Possess) > Game Start
- Possess(APawn* aPawn)
> UE4.22 부터 AController::Possess(APawn* aPawn) final 로 override 불가
> OnPossess(APawn* aPawn) 로 사용