캐릭터
[Unreal] 미니맵 및 캐릭터 위치 표시
화살표 스프라이트 세팅 우선 화살표 스프라이트를 준비해준다, 구글에서 대충 이미지를 다운로드 받아 폴더에 드래그 앤 드롭해주면 Texture 형태로 로딩될텐데 그 후 우클릭 > Paper2D > Sprite 눌러서 생성해준 후 아래 부분을 세팅한다. 세 가지의 컴포넌트가 필요하다 SpringArmComponent PaperSpriteComponent USceneCaptureComponent2D C++로 추가해줬다 .h 파일에 추가 UPROPERTY(EditAnywhere, Category = Minimap) USpringArmComponent* SpringArm; UPROPERTY(EditAnywhere, Category = Minimap) USceneCaptureComponent2D* SceneCapt..
[Unreal] 캐릭터가 바라보는 방향으로 회전 및 이동하기
아래와 같이 바인딩해준다 / Edit > Project Settings > Input 아래 옵션은 메쉬가 컨트롤러 회전값에 따라 회전하지 않도록 설정함으로 끄는게 중요하다 bUseControllerRotationYaw = bUseControllerRotationPitch = bUseControllerRotationRoll = false; // 아래는 이동을 담당하는 컴포넌트 조작 방법 auto characterMovement = GetCharacterMovement(); characterMovement->bOrientRotationToMovement = true; // 바라보는 방향으로 회전하고자 하는 속도 characterMovement->RotationRate = FRotator(0.f, 400.f,..
[Unreal] UI(위젯)에서 메인 캐릭터 가져오기
UUserWidget 클래스 내에 연관된 플레이어 캐릭터를 가져오는 함수가 존재한다. T같은 경우엔 미리 캐스팅해서 반환해준다는 점이 다르다. FLocalPlayerContext 구조체 변수에 의해 가져오게 된다. // 템플릿 함수 캐스팅해서 반환한다 template T* GetOwningPlayerPawn() const { return Cast(GetOwningPlayerPawn()); } // 플레이어 폰을 가져오는 함수 APawn* UUserWidget::GetOwningPlayerPawn() const { if (APlayerController* PC = GetOwningPlayer()) { return PC->GetPawn(); } return nullptr; } // 플레..
[Unreal] 캐릭터 이동 관련 컴포넌트 (UCharacter / UPawn MovementComponent*)
캐릭터의 이동 관한 행동을 담당하며 대표적인 기능들은 아래와 같다. 캐릭터 최대치 변경 수영 속도 하중 힘 걸음 속도 숙인 채 걷는 속도 캐릭터가 특정 행동 진행 중일 시 숙이는 중 낙하하는 중 날아다니는 중 지상에 다니는 중 (걷기, 운전 등) 수영 하는 중 걸을 수 있는 상태 또는 걷는 중 캐릭터가 숙이는 함수와 숙인 상태에서 일어서는 함수 플레이어가 수영하는 함수 플레이어가 점프하는 함수 플레이어가 엎드리는 함수는 따로 구현할 필요가 있다. 관련 도튜먼트 : https://docs.unrealengine.com/5.0/enUS/API/Runtime/Engine/GameFramework/UCharacterMovementComponent/