본문 바로가기

::protected/언리얼4&548

폰(Pawn)과 플레이어 컨트롤러(PlayerController). 폰은 게임내에서 에이전트를 표현. 플레이어 컨트롤러는 ‘의지’ 또는 '뇌'를 대행. 폰은 인형이고 컨트롤러는 인형 술사 같은 느낌. 캐릭터를 만들때 컨트롤 입력에 대한 구현을 싱글 플레이일 경우엔 폰, 멀티 플레이일 경우에는 컨트롤러. 오버워치 같은 FPS 게임의 경우엔 컨트롤러에 구현할 것. 폰에 컨트롤러를 빙의(OnPossess) 시켜줘야 컨트롤 가능. NPC 나 Enemy 같은 경우엔 AIController 를 빙의 시켜서 사용. 2019. 12. 6.
액터(Actor)의 초기화 순서. PostLoad/PostActorCreated 액터의 생성을 위해 필요한 셋업 시 사용. PostLoad는 액터의 시리얼라이즈를 위해, PostActorCreated는 생성을 위해 사용. AActor::OnConstruction 액터의 생성, 이곳에서는 블루프린트의 액터가 그들의 컴포넌트를 생성하고, 변수를 초기화 시키는 곳. AActor::PreInitializeComponents 액터의 컴포넌트들에 대해 InitializeComponent가 호출되기 바로 전 실행되는 곳. UActorComponent::InitializeComponent 액터가 보유하고 있는 컴포넌트들의 배열이 순차적으로 초기화 호출이 되는 곳. (단, 컴포넌트의 bWantsInitializeComponent가 true 상태이어야 함.. 2019. 12. 6.
InterpTo InterpTo ;지정한 속력으로 목표 지점까지 진행, 도달하면 멈추는 기능. float > FInterpTo Vector > VInterpTo Rotator > RInterpTo /** Interpolate float from Current to Target. Scaled by distance to Target, so it has a strong start speed and ease out. */static CORE_API float FInterpTo( float Current, float Target, float DeltaTime, float InterpSpeed ); /** Interpolate vector from Current to Target. Scaled by distance to Targe.. 2019. 11. 20.
Player Controller & Pawn Player Controller ;폰을 조종하는 역할. 플레이어가 입장할 때 배정되며, 배정된 플레이어 컨트롤러는 변경할 수 없음. Pawn ;플레이어 컨트롤러에게 조종당하는 액터. 플레이어는 플레이어 컨트롤러를 통해 현재 폰을 버리고 다른 폰으로 옮길 수 있음. 플레이어 게임 입장(Login) 시 실행 순서. 1. 플레이어 컨트롤러의 생성 2. 플레이어 폰의 생성 3. 플레이어 컨트롤러가 플레이어 폰을 빙의(Possess) 4. 게임 시작 PlayerContorller::PostInitializeComponents() GameMode::PostLogin() Pawn::PostInitializeComponents() PlayerContorller::OnPossess() // Possess() Pawn::.. 2019. 11. 19.
액터(Actor)의 수명 주기. 로드 이미 레벨에 있는 액터에 대해서, LoadMap 이 발생했을 때나 (스트리밍 또는 서브 레벨에서) AddToWorld 가 호출되었을 때 발생 1. 패키지/레벨에 있는 액터가 디스크에서 로드됩니다. 2. PostLoad : 디스크에서의 로드 완료 후 serialize 된 액터에 의해 호출됩니다. 커스텀 버전이나 픽스 작업은 이 곳에 와야 합니다. PostLoad 는 PostActorCreated 와 상호 배제됩니다. 3. InitializeActorsForPlay 4. RouteActorInitialize 초기화되지 않은 액터에 대해 호출됩니다 (심리스 트래블 전환 처리) PreInitializeComponents - 액터의 컴포넌트에 InitializeComponent 를 호출하기 전 호출합니다. .. 2019. 11. 19.
UE_LOG UE_LOG(LogTemp, LogVerbosityLevels, LogMessage); LogTemp ;로그 카테고리. 커스텀하여 사용 가능. LogVerbosityLevels ;로그의 성격 옵션 -Log : 하얀색, 로그파일에 출력, 게임 내 콘솔 출력 X -Display : 하얀색, 로그파일과 콘솔 출력 -Warning : 노란색, 로그 파일과 콘솔 출력 -Error : 빨간색, 로그 파일과 콘솔 출력 -Fatal : 치명적인 로그, 콘솔과 로그 파일 출력, 프로그램 중단 -Verbose : 자세한 로그, 로그 파일에 출력 -VeryVerbose : 파일에만 상세한 메세지 출력 LogMessage ;로그 내용과 형태 결정. TEXT("")를 이용. UE_LOG(LogClass, Warning, TEX.. 2019. 11. 18.