인텔리킴의 Unity Studying & Game Analysis
35. 메인 메뉴 제작 - 옵션 (1) 본문
게임 타이틀 화면 제작
*** TextMeshPro 사용할 때 Padding 크기 일정 이상으로 안하면 글자 주변에 박스가 나오게 됨 ***
버튼 인스펙터를 통해 버튼이 눌렸을때 스프라이트 변경, 애니메이션 재생 등 여러 작업이 가능
픽셀 이미지 사용할때는 꼭 Filter Mode에서 설정을
Point(no filter)로 해놓기
안그러면 이미지 뭉개짐
기본 폰트 설정은
Edit - Project Settings - TextMesh Pro - Setting
에서 설정
사운드 설정
Fill에서 채우는 부분 UI 변경가능
BackGround : 채우지 않은 UI 부분
Handle : 유저가 마우스로 움직일 수 있는 부분
Window - Audio - Audio Mixer로 오디오 믹서 창 열음
믹서를 하나 추가한 후 사운드 그룹별로 정렬
만든 오디오 그룹들 모두 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 : 해상도 설정
함수 작성 후 해상도 설정
'게임 개발 일지 > 유니티 엔진 공부' 카테고리의 다른 글
38. 3D 쿼터뷰 게임 제작 - 플레이어 점프 회피 (0) | 2024.06.20 |
---|---|
37. 3D 쿼터뷰 게임 제작 - 플레이어 이동 (1) | 2024.06.18 |
34. 유니티 2D 종스크롤 슈팅 - 보스 구현 (1) | 2024.06.11 |
33. 유니티 2D 종스크롤 슈팅 - 따라다니는 보조무기 만들기 (1) | 2024.06.09 |
32. 유니티 2D 종스크롤 슈팅 - 텍스트 파일로 적 배치하기 (1) | 2024.06.05 |