1. 스플래시 이미지
1-1. 스플래시 이미지란?
- 앱을 처음 실행했을 때 잠시 표시되었다가 사라지는 이미지를 말합니다.
1-2. 스플래시 이미지 넣기
- Unity 무료 버전에서는 Unity 로고와 함께 스플래시 이미지가 노출됩니다.
(*Unity 6.0 이상부터는 무료 사용자도 커스터마이징이 가능합니다.)
- 준비한 스플래시 이미지용 이미지의 Mesh Type를 Full Rect로 바꾸어 적용합니다.
- Edit > Project settings > Player > Splash Image 경로로 진입합니다.
- 원하는 Animation 타입을 설정하고 Draw Mode를 All Sequential로 성정한 후, 스플래시 이미지를 추가합니다.
- Preview 버튼을 눌러 적용된 상태를 미리 확인할 수 있습니다.
2. 싱글턴 예외처리
- 배경 음악을 전체 씬에 걸쳐 끊김 없이 유지하고, 동시에 중복 생성되지 않는 방법이 필요했습니다.
- 이번 구현에서는 기존의 싱글턴에서 예외 처리를 추가 하여, 씬이 바뀌어도 오브젝트가 파괴되지 않도록 하고,
같은 씬이 다시 로드되어도 오직 하나의 인스턴스만 유지되도록 처리했습니다.
2-1. DontDestroyOnLoad(gameObject);
- 이 함수는 씬이 전환되더라도 해당 게임 오브젝트를 파괴하지 않도록 만들어 줍니다.
- 싱글턴과 함께 사용하면, 유일한 인스턴스를 유지하면서도 영속적인 오브젝트로 활용할 수 있습니다.
- 예시 코드: 오디오 매니저를 싱글턴으로 구현
public class AudioManager : MonoBehaviour
{
// 정적(static) 변수로, AudioManager의 유일한 인스턴스를 저장합니다.
// 외부에서 AudioManager.instance로 어디서든 접근할 수 있습니다.
public static AudioManager instance;
// 배경 사운드
AudioSource audioSource;
public AudioClip clip;
private void Awake()
{
// 처음 생성된 객체라면 이 오브젝트를 싱글턴 인스턴스로 지정하고
if (instance == null)
{
instance = this;
// DontDestroyOnLoad를 통해 씬 전환 시에도 파괴되지 않도록 만듭니다.
DontDestroyOnLoad(gameObject);
}
else
// instance가 존재하는 경우는 씬 로드로 인해 중복된 AudioManager가 생긴 상황입니다.
// 이때는 현재 생성된 객체를 즉시 파괴하여 인스턴스 중복을 방지합니다.
{
Destroy(gameObject);
}
}
void Start()
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = clip;
audioSource.Play(); // 한 번 실행하여 게임이 끝날때까지 bgm 나오게 하기
}
}
3. 안드로이드로 빌드하기
3-1. Android 빌드 환경 설정
- Edit > Preferences > External Tools 로 이동합니다.
- Android 빌드를 위해 JDK, NDK, SDK 설정이 필요합니다.
- Unity Hub 설치 시 함께 설정했다면 별도의 조치가 필요하지 않습니다.
- 누락된 경우 Unity Hub에서 모듈 추가(Add Module)를 통해 설치할 수 있습니다.
3-2. Player 설정 변경
- Edit > Project Settings > Player로 이동합니다.
- Company Name, Product Name, Version, Icon을 알맞게 설정합니다.
- 플랫폼을 Android로 설정한 후, Resolution and Presentation에서 Portrait, Portrait Upside Down 옵션을 활성화 하고,
Landscape Right, Landscape Left 옵션을 비활성화합니다. (세로형 게임이기 때문입니다.)
- Other Settings 항목에서는 Scripting Backend를 IL2CPP로 변경하고 ARM64를 활성화합니다.
(안드로이드 마켓에 배포하려면 64비트 지원이 필수입니다.)
- Publishing Settings에서 Keystore Manager를 생성하여 키스토어를 설정합니다.
3-3. 빌드 설정
- File > Build Settings을 클릭합니다.
- Scenes in Build에 사용할 씬을 추가합니다.
- 플랫폼을 Android로 설정한 후 Switch Platform을 클릭합니다. (전환에는 시간이 다소 소요됩니다.)
- 해상도 설정을 다시 확인하고 Build 버튼을 눌러 빌드합니다.
- 빌드가 완료되면 .apk 파일이 생성되며, 안드로이드 기기에서 설치 및 실행할 수 있습니다.
4. 광고 붙이기
- 광고를 적용하려면 먼저 빌드가 완료되어 있어야 합니다.
4-1. Unity Ads란?
- Unity에서 자체적으로 제공하는 광고 플랫폼입니다.
- 별도 외부 연동 없이 Unity 프로젝트 내에서 손쉽게 광고를 붙이고 수익을 정산받을 수 있습니다.
- Google Ads 등 외부 플랫폼도 있지만, Unity Ads는 설정이 간편하고 Unity와의 호환성이 뛰어납니다.
4-2. Unity Ads 활성화
- Window > General > Services를 클릭하여 Package Manager 창을 띄우고,
Services탭에서 Advertisement Legacy 모듈을 설치합니다.
- Configure 버튼을 눌러 Project Settings > Services 창을 클릭하여 Unity Project ID를 발급확인하고,
Dashboard 버튼을 눌러 Unity Cloud로 접속, 로그인합니다.
- Unity Cloud에서 Unity Ads Monetization 기능을 활성화하여, 애플과 안드로이드에서 사용할 키값을 발급받습니다.
4-3. Unity Ads 구현
- Unity Ads Monetization > Setup guide(설정 가이드) > Read integration guide(연동 가이드)로 이동하여,
Unity SDK 개발자 연동 가이드에 따라 SDK를 설치하고, Unity에서 SDK를 초기화 과정을 진행합니다.
Unity 개발자 연동 가이드 • Unity Grow
docs.unity.com
- 이후 기본형, 보상형, 배너형 광고 중 원하는 유형을 선택하여, 안내에 따라 프로젝트에 구현합니다.
5. 게임 구현
- 앞서 설명한 기능으로 구현한 게임입니다.
Unity 기초 프로젝트 #5 - 르탄이 카드 뒤집기 (광고 포함 버전)
1. 르탄이 카드 뒤집기 게임 소개 - 플랫폼: 모바일 - 장르: 2D 캐주얼 게임 - 목표: 30초 안에 같은 그림이 그려진 카드 2장을 찾아 모두 제거하기2. 게임 플레이 - 게임은 '시작하기' 버튼을 누르면
gyro-code-game.tistory.com
'Programming > Unity 정보, 기능' 카테고리의 다른 글
| Unity 생성 주기 - 인스펙터 값 반영 문제 (0) | 2025.07.02 |
|---|---|
| Unity 2D 기능 - 애니메이션 녹화 (0) | 2025.07.01 |
| Unity 기초 기능 #4 - Resources 에셋 로드, 씬 전환 (0) | 2025.06.17 |
| Unity 기초 기능 #3 - Canvas Render Mode, Rigidbody2D 타입 (0) | 2025.06.16 |
| Unity 기초 기능 #2 - 마우스 위치, 태그, PlayerPrefs, FSM, Time (0) | 2025.06.13 |
