본문 바로가기
Unreal

간단한 미니맵 만들기

by ji-han 2025. 4. 11.

콘텐츠 브라우저에서 텍스처 -> 렌더 타깃 생성

*미니맵으로 보여질 화면을 세팅

 

씬 캡처 2D라는 카메라 액터를 생성 후

텍스처 타깃을 방금 생성한 렌더 타깃으로 설정

카메라에서 보여지는 화면을 렌더 타깃에 적용

 

카메라 타입을 변경      *미니맵은 3D보다는 2D로 사용하기에 변경

직교 너비                    *카메라가 촬영할 수 있는 월드 넓이로 가로길이라고 생각

 

 

위젯 블루프린트 생성 -> 이미지 배치

이미지에 렌더 타깃으로 설정

앵커를 중앙으로 설정

 

미니맵에서 플레이어들을 아이콘으로 띄우기 위해

아이콘 생성 후

 

씬 캡처 카메라를 Cast로 가져오기

-> 카메라의 좌표를 이미지와 동기화

 

캐릭터의 좌표와 카메라의 좌표의 차이를 이용

-> 미니맵의 아이콘이 이동

*월드와 미니맵의 거리 차이가 있기에 계산 식 필요

 

메인 UI에서 스케일 박스를 생성하고 자식으로 미니맵 블루프린트 배치

* 스케일 박스를 사용하여 비율을 유지할 수 있으며 아이콘의 이동 비율을 유지할 수 있음

 

2025.04.18 ---------------------------------------------------

 

위 처럼 할 경우 미니맵은 카메라 액터로 촬영하는 장면이 나타나는 것으로

움직이고 있는 캐릭터 이펙트 등 모든 것이 미니맵에 나타나게 되는데

미니맵에서는 이러한 것들이 불필요하여 나타나지 않게 하기 위해

씬 컴포넌트 내에 있는 Hidden Actors라는 배열을 이용

 

AActor* PlayerActor = UGameplayStatics::GetPlayerPawn(GetWorld(), 0);

if (PlayerActor && MiniMapCaptureComponent)
{
    MiniMapCaptureComponent->HiddenActors.Add(PlayerActor);
}

 

이런 식으로 Hidden Actors 배열에 추가 하는 것으로 미니맵에서 숨겨져 나타남

 

다시 나타나게 하고 싶을 때는 

HiddenActors.Remove(PlayerActor); 를 사용

* 렌더 타깃과 씬 컴포넌트를 사용하고 있을 경우에만 해당

 

원리는 씬 컴포넌트 카메라가 렌더링 후 렌더 타깃에 이미지를 보내게 되는 것인데

렌더링을 할 때 HiddenActors 배열에 있는 액터들을 렌더링에서 제외시키기 때문에

렌더 타깃의 이미지는 배열에 있는 액터들이 없는 것 처럼 나타나게 됨

'Unreal' 카테고리의 다른 글

쿼터뷰  (0) 2025.04.28
FIFA 매칭 시스템  (0) 2025.04.25
FPS / V-Sync  (0) 2025.04.02
Replication / RPC  (0) 2025.03.17
언리얼 네트워크와 객체 통신  (0) 2025.03.12