Unity에서 방사형/원형 진행률 표시줄 만들기

이 튜토리얼에서는 Unity에서 원형/방사형 진행률 표시줄(HP 표시줄 등으로도 사용할 수 있음)을 만드는 방법을 보여 드리겠습니다.

Sharp Coder 비디오 플레이어

그럼 시작해보자!

단계

배경이 투명한 원형 이미지가 필요합니다.

  • 이미지를 프로젝트로 가져오고 텍스처 유형을 다음으로 변경합니다. "Sprite (2D and UI)"

  • 새 캔버스를 만듭니다(GameObject -> UI -> Canvas).
  • Canvas 개체 -> UI -> 이미지를 마우스 오른쪽 버튼으로 클릭합니다.
  • 소스 이미지에 원 스프라이트를 할당하고 색상을 빨간색으로 변경합니다.
  • 이미지 유형을 "Filled"으로 변경하고 채우기 방법을 "Radial 360"로 변경합니다(이렇게 하면 원을 따라 표시되는 이미지의 양을 제어하는 ​​채우기 양이라는 또 다른 변수가 표시됩니다).

  • 이미지를 복제하고 색상을 흰색으로 변경하고 이미지 유형을 다음으로 변경합니다. "Simple"
  • 복제된 이미지를 첫 번째 이미지 내부로 이동합니다.
  • 첫 번째 이미지 크기(채워진 이미지 유형의 이미지)를 더 큰 크기(예: 너비: 135 높이: 135)로 변경하세요.

  • 새 텍스트 만들기(캔버스를 마우스 오른쪽 버튼으로 클릭 -> UI -> 텍스트)
  • 정렬을 가운데 가운데로 변경합니다.

  • 로딩 텍스트에 맞도록 텍스트 높이를 60으로 변경하십시오.

마지막으로 진행률 값을 이미지에 적용하는 스크립트를 만듭니다.

  • 새 스크립트를 만들고 "SC_CircularLoading"이라고 부르고 그 안에 아래 코드를 붙여넣습니다.

SC_CircularLoading.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class SC_CircularLoading : MonoBehaviour
{
    public Image loadingImage;
    public Text loadingText;
    [Range(0, 1)]
    public float loadingProgress = 0;

    // Update is called once per frame
    void Update()
    {
        loadingImage.fillAmount = loadingProgress;
        if(loadingProgress < 1)
        {
            loadingText.text = Mathf.RoundToInt(loadingProgress * 100) + "%\nLoading...";
        }
        else
        {
            loadingText.text = "Done.";
        }
    }
}

  • Play를 누르고 로딩 진행률 슬라이더를 이동합니다. 로딩 이미지가 점차 채워지는 것을 관찰하세요.

추천 기사
Unity의 UI 시스템 작업
Unity에서 로딩 화면 만들기
HP/진행률/스태미나 바 UI - Unity 에셋 스토어 패키지 검토
Unity에서 간단한 잔디 셰이더 만들기
Unity에서 승자 화면 UI 만들기
Unity에서 일시 정지 메뉴 만들기
Unity에서 비행 시뮬레이터 만들기