Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

인텔리킴의 Unity Studying & Game Analysis

35. 메인 메뉴 제작 - 옵션 (1) 본문

게임 개발 일지/유니티 엔진 공부

35. 메인 메뉴 제작 - 옵션 (1)

인텔리킴 2024. 6. 13. 22:17

게임 타이틀 화면 제작

오류

*** TextMeshPro 사용할 때 Padding 크기 일정 이상으로 안하면 글자 주변에 박스가 나오게 됨 ***

 

버튼 인스펙터

버튼 인스펙터를 통해 버튼이 눌렸을때 스프라이트 변경, 애니메이션 재생 등 여러 작업이 가능

 

이미지 인스펙터

픽셀 이미지 사용할때는 꼭 Filter Mode에서 설정을

Point(no filter)로 해놓기

안그러면 이미지 뭉개짐

 

기본 폰트

기본 폰트 설정은

Edit - Project Settings - TextMesh Pro - Setting

에서 설정

 

사운드 설정

슬라이더 에셋
슬라이더

Fill에서 채우는 부분 UI 변경가능

BackGround : 채우지 않은 UI 부분

Handle : 유저가 마우스로 움직일 수 있는 부분

오디오 믹서

Window - Audio - Audio Mixer로 오디오 믹서 창 열음

믹서 추가

믹서를 하나 추가한 후 사운드 그룹별로 정렬

Expose

만든 오디오 그룹들 모두 Expose 'Volume'.... 설정

 

파라미터 별로 이름 변경

public AudioMixer audioMixer;

public Slider master_AudioSlider;
public Slider BGM_AudioSlider;
public Slider SE_AudioSlider;

퍼블릭 변수로 오디오 믹서 및 각 슬라이더 삽입

 

public void SEAudioControl()
{
    float volume = SE_AudioSlider.value;
    if (volume <= (-45))
        volume = (-80);
    audioMixer.SetFloat("SE", volume);
    Debug.Log(volume);
}

* slider.value : 슬라이더의 밸류를 변수에 적용

audioMixer.SetFloat("SE", volume) : 오디오 믹서의 SE 그룹에 volume 변수를 적용해서 소리 조절

 

슬라이더 인스펙터

Min Value 및 Max Value로 범위 지정

Value로 초기 벨류 설정

On value Changed 탭에 함수를 넣어서 어떤 변수를 조절할지 설정 가능함

 

적용 결과

 

화면 설정

에셋

드롭다운 에셋 생성

 

옵션

드롭다운에 초기값 및 옵션 삽입

옵션은 위부터 0, 1~순

FullScreenMode fullScreenMode;

FullScreenMode 변수를 이용해 전체화면 설정 가능

public void DisplayMode()
{
    //변수 위치에 있는 디스플레이 설정
    switch (displayModeDropdown.value) {
        case 0:
            fullScreenMode = FullScreenMode.FullScreenWindow;
            Debug.Log(displayModeDropdown.value);
            break;
        case 1:
            fullScreenMode = FullScreenMode.Windowed;
            Debug.Log(displayModeDropdown.value);
            break;
    }
    //스크린 모드 지정
    Screen.fullScreenMode = fullScreenMode;
}

dropdown.value : 드롭다운 값을 가져옴

.FullScreenWindow : 전체화면

.Windowed : 창모드

 

Switch 문으로 창모드 전체화면 여부 설정

창모드
전체화면

 

해상도 설정 또한 드롭다운 메뉴 작성 

 

드롭다운 메뉴

 

public void SetResolution()
{
    switch (resolutionDropdown.value)
    {
        case 0:
            Screen.SetResolution(640, 360, fullScreenMode);
            Debug.Log(displayModeDropdown.value);
            break;
        case 1:
            Screen.SetResolution(960, 540, fullScreenMode);
            Debug.Log(displayModeDropdown.value);
            break;
        case 2:
            Screen.SetResolution(1024, 576, fullScreenMode);
            Debug.Log(displayModeDropdown.value);
            break;
        case 3:
            Screen.SetResolution(1280, 720, fullScreenMode);
            Debug.Log(displayModeDropdown.value);
            break;
        case 4:
            Screen.SetResolution(1366, 768, fullScreenMode);
            Debug.Log(displayModeDropdown.value);
            break;
        case 5:
            Screen.SetResolution(1600, 900, fullScreenMode);
            Debug.Log(displayModeDropdown.value);
            break;
        case 6:
            Screen.SetResolution(1920,1080, fullScreenMode);
            Debug.Log(displayModeDropdown.value);
            break;
        case 7:
            Screen.SetResolution(2560, 1440, fullScreenMode);
            Debug.Log(displayModeDropdown.value);
            break;
    }
}

Screen.SetResolution : 해상도 설정

함수 작성 후 해상도 설정

 

창모드 + 해상도
창모드 + 해상도