Programing/UNITY

[Unity] 8. Others - 데이터 저장, 씬 전환, 오디오, 백그라운드 스크롤링

바오밥 하단 2020. 5. 18. 01:53

1. 데이터 저장하기

- Player Prefs: 유니티에서 제공하는 단순한 저장 방식. 키(Key)와 값(Value)으로 이루어 짐.

- 저장하기

  • PlayerPrefs.SetInt (Key, Value)
  • PlayerPrefs.SetFloat (Key, Value)
  • PlayerPrefs.SetString (Key, Value)

- 불러오기

  • PlayerPrefs.GetInt (Key, Value)
  • PlayerPrefs.GetFloat (Key, Value)
  • PlayerPrefs.GetString (Key, Value)

 

2. Scene Management

- 씬 세팅: Build Setting 선택(ctrl+shift+B) -> 사용할 씬 드래그&드롭

- 씬 번호: 0은 실행했을 때 가장 먼저 뜨는 씬.

- 씬 전환하기

  • Using UnityEngine.SceneManagement; 사용.
  • SceneManager.LoadScene(씬 번호): 해당 번호 씬을 로드
  • SceneManager.LoadScene(씬 이름): 해당 이름의 씬 로드

 

3. 오디오(Adiuo)

- 최적화가 중요

- Face To Mono: 오디오 단일 채널 여부. 모바일처럼 용량을 줄여야하는 경우 체크. 소리가 중요하면 No.

- Load Type: 게임 실행 중 오디오 애셋 로드 방식

  • Decompress On Load: 압축을 모두 풀어놓음. 성능적으로 좋으나 메모리 차지가 많아서 배경음악에는 부적합. 재생 빈도가 많고 크기가 작은 효과음에 적용.
  • Compressed In Memory: 재생 빈도가 적고 크기가 큰 배경음에 적합
  • Streaming: 재생하는 부분만 압축해서 넣음

- Compression Format: 게임 실행 중 오디오 애셋의 압축 형식

  • PCM: 압축을 거의 안함. 용량 큰 대신 퀄리티 좋음. 효과음
  • Vobits: 압축을 많이 함. 퀄리티 조절 가능. 배경음

- Audio Source 컴포넌트

  • Mute: 음소거
  • Bypass Reverb Zones: 소리에 동굴효과
  • Play on Awake: 처음에 자동으로 플레이
  • Loop: 반복 플레이 유무
  • GetComponent<AudioSource>().Play
  • GetComponent<AudioSource>().Stop
  • GetComponent<AudioSource>().Pause
  • GetComponent<AudioSource>().UnPause

- Audio Listener: 소리를 출력해주는 스피커의 역할. 메인 카메라에 자동 포함. 씬에 단 하나만 존재해야함.

  • 게임 캐릭터에 적용가능(ex. 캐릭터에 가까워지면 소리 커지고, 멀어지면 소리 작아지는 기능)
  • 메인 카메라에 있는 오디오 리스너를 지우고 캐릭터에 오디오 리스너를 넣음(캐릭터가 소리를 듣는 역할을 하게 됨)
  • Spatial Blend를 최대로 하고 3D Sound Settings에서 듣는 범위(Max Distance) 조절

 

4. UnityAds

- Simple Ads: 유저의 의도와 관계없이 출력. 스킵 가능. 수익성 낮음

- Reward Ads: 유저가 원해서 시청. 스킵 불가능. 수익성 높음.

- Window에서 Service 뷰를 키면 Ads를 On.

- 씬 세팅 창에서 Switch Platform 해줘야 함.

- if (Advertisement.IsReady()) Adverisement.Show();

 

5. 백그라운드 스크롤링

- 배경화면이 움직이는 효과

- Mesh Renderer 컴포넌트

  • z축을 뒤로 떨어지게 해줌(Alt+드래그하면 3D로 조절 가능) 
  • Back Ground 2D에서 Speed를 넣어주면 배경화면이 움직임