Hierarchy 창 우클릭 - UI - Raw Image 를 생성한다.
Image가 아닌 Raw Image를 생성해야 함에 주의하자!
Project 창 우클릭 - Create - Render Texture 생성
Render Texture의 Size를 적절하게 조절한다.
다른 개발 블로그에서는 UI의 Raw Image의 사이즈와 동일하게 설정하라고 했는데 나는 동일하게 설정했더니 조금 잘려서 적절히 조절해줬다.
2번에서 만든 Texture를 1번에서 만든 Raw Image의 Texture에 넣어준다.
Hierarchy 창 우클릭 - Camera로 미니 맵을 찍을 카메라를 생성한다.
Projection을 Orthographic으로 설정하고 Size 값으로 적절히 거리 조절을 해준다.
카메라의 Output Texture에 2번에서 만든 Texture를 넣어준다.
그럼 이렇게 미니 맵이 완성된다!
이렇게 완성된 최종 미니 맵의 모습
빨간색 원은 플레이어이다.
우리는 게임에서 종종 Scene을 전환할 때 로딩 씬을 본 적이 있다.
로딩 씬을 통해서 게임의 부가적인 스토리나 팁 등을 알려주기도 하고, 씬을 전환할 때 렉이 걸리는 듯한 모습 대신 로딩 화면을 보여주면서 사용자 경험을 향상시키기도 한다.
비동기 방식으로 로딩 씬 구현하기
IEnumerator LoadSceneProcess()
{
AsyncOperation op = SceneManagerEx.Instance.LoadSceneAsync(_nextSceneType);
op.allowSceneActivation = false;
float timer = 0f;
while (!op.isDone)
{
timer += Time.unscaledDeltaTime;
_progressBarImage.fillAmount = timer / 3f;
if (timer > 3f)
{
op.allowSceneActivation = true;
}
yield return null;
}
}
처음에는 AsyncOperation.progress의 값을 이용하여 로딩 바 이미지의 fillAmount 값을 설정해줬는데,
생각보다 너무 빠르게 넘어가서 처음의 방식 대신 3초가 지난 뒤에 넘어가는 방식으로 변경했다.
그리하여 완성된 로딩 씬 두둥
만들어보고 싶었던 기능들을 만들 수 있어서 재밌게 개발했다!
끗~!