본문 바로가기

Unity

Unity 체력바 만들기 #Slider

 

학원에서 실습했던 게임 예제를 복습하던 중

종종 찾게 될 것 같아서 체력바 만드는 방법을 정리해 보았다.

 

 


시작! 🍙

 

 

 

1. Slider 만들기

1. 하이어라키창 우클릭 > UI > Slider

  • 자동으로 캔버스 하위에 슬라이더가 생성된다.

2. Handle Slide Area는 사용하지 않을 거라 삭제!

 

 

2. 크기 조절

원하는 크기로 설정한다.

나는 Width: 150, Height: 40으로 설정

 

3. 색상 설정 

Background: 어두운 회색

Fill: 연두색

 

 

4. 체력바 꽉 채우기 

슬라이더의 값을 1로 올려도 슬라이더가 꽉 채워지지 않고 빈 공간이 남는다.

값이 0일 때는 오히려 체력이 남아있는 것처럼 보이는데 

Fill Area의 Rect Transform이 Background보다 작기 때문이다.

 

1. 먼저 슬라이더의 value를 0으로 맞춘 뒤 Fill Area의 크기를 변경

  • Left: 0, Right: 0

 

2. Fill의 Width값도 0으로 변경 

 

 

5. 스크립트 작성 

public class UIHealthBar : MonoBehaviour
{
    // 체력바 슬라이더 
    public Slider _healthBar;

    public void UpdateUI(float curHealth, float maxHealth)
    {
    	// value = 남은체력/최대체력
        _healthBar.value = curHealth / maxHealth;
    }

}

 

 

6. 컴포넌트 추가

슬라이더에 방금 만든 스크립트를 추가하고 

_healthBar에 슬라이더를 할당하면 끝! 

 

 

참고: 내가 설정한 캔버스의 Render Mode 

Screen Spce - Overlay: 캔버스가 화면 가장 위에 렌더링된다. 카메라와는 상관없이 항상 모든 것 위에 나타남