Preview
- 여러 개의 이미지 반복해서 교체하는 애니메이션 만들기
- 스플래시 이미지
- AudioSource
- 특정 조건에서 사운드 한번 재생하기
-- PlayOneShot()
- BGM 재생하기
-- Play()
여러 개의 이미지 반복해서 교체하는 애니메이션 만들기
1. 반복할 이미지 오브젝트 생성(Create - UI - Image)
2. 애니메이션 만들고 오브젝트에 붙이기
3. 애니메이션 창에 반복할 이미지 전체를 한번에 끌어오기(ex) img01~img07
4. 오른쪽의 파란 바를 끌어서 적당한 시간으로 맞추기
* 바를 오른쪽으로 끌어 시간 간격이 넓을수록 이미지 느리게 변경
* Keyframe(다이아몬드) 모두 선택하여 한번에 범위 조절하기

스플래시 이미지
- 스플래시 이미지 : 앱을 켰을 때 가장 처음 화면에 떴다가 사라지는 이미지
* 메뉴: Edit > Project Settings > Player > Splash Image
| 설정 | 설명 | |
| Splash Screen | 스플래시 화면을 표시하기 위한 설정 | |
| Show Splash Screen | 기본으로 활성화. 애플리케이션 시작 시 스플래시 화면을 표시하지 않으려면 이 설정을 비활성화 (Unity 개인 플랜은 비활성화 불가) | |
| Preview | 게임 뷰에서 스플래시 화면 미리보기. 미리보기는 게임 뷰와 같은 해상도와 종횡비로 표시. | |
| Animation | 스플래시 화면이 화면에 나타나고 사라지는 방식에 대한 설정. | |
| Static | 애니메이션을 미적용. | |
| Dolly | 로고와 배경을 확대/축소하여 비주얼 돌리 효과 생성. (기본 설정) | |
| Logos | 스플래시 화면의 로고를 커스터마이즈하기 위한 설정. | |
| Show Unity Logo | 기본으로 활성화. 스플래시 화면에 Unity 로고를 표시하지 않으려면 이 옵션을 비활성화. (Unity 개인 플랜은 비활성화 불가) | |
| Draw Mode | 스플래시 화면에 로고가 나타나는 순서를 선택하는 모드. | |
| Unity Logo Below | 로고 리스트의 모든 로고 아래에 Unity 로고를 표시. | |
| All Sequential | 로고 리스트의 모든 로고와 함께 Unity 로고를 순차적으로 표시. | |
| Logos | 스플래시 화면에 포함할 로고. 각 로고는 스프라이트 에셋이어야 함. 전체 스프라이트를 로고로 사용하려면 스프라이트 모드를 Single로 설정. 로고의 종횡비를 변경하고 싶으면 스프라이트 모드를 Multiple로 설정한 후 스프라이트 에디터로 크기를 편집. 더하기(+) 버튼과 빼기(-) 버튼을 사용하여 로고를 추가하거나 제거 로고의 순서를 변경하려면 리스트에서 로고를 드래그. 로고 표시 간격을 늘리려면 로고 리스트에 스프라이트 에셋이 할당되지 않은 엔트리를 추가. |
|
| Logo Duration | 각 스프라이트 에셋이 화면에 표시되는 시간을 설정. 2–10초 범위의 값을 사용. | |
참고 : https://docs.unity3d.com/kr/2022.3/Manual/class-PlayerSettingsSplashScreen.html
AudioSource
- Scene에서 AudioClip을 재생하는 컴포넌트
- Play On Awake : 옵션을 활성화하면 씬이 실행되는 시점에 사운드 재생 시작. 비활성화하면 스크립팅에서 Play()명령을 사용하여 사운드 재생 시작.
참고 : https://docs.unity3d.com/kr/2022.3/Manual/class-AudioSource.html
특정 조건에서 사운드 한번 재생하기
1. 사운드가 재생될 조건 로직이 어느 스크립트에 있는지 확인
2. 스크립트가 붙어있는 오브젝트에 AudioSource 컴포넌트 붙이기
3. 스크립트에 코드 추가
public AudioClip clip; // 재생한 클립 가져올 수 있도록 필드 열기
AudioSource audioSource;
void Start()
{
// 오디오소스 컴포넌트 가져오기
audioSource = GetComponent<AudioSource>();
}
...
// 소리가 재생되어야할 순간에 코드 작성
audioSource.PlayOneShot(clip);
4. Editor에서 clip 필드에 재생할 AudioClip Drag & Drop
PlayOneShot()
public void PlayOneShot(AudioClip clip, float volumeScale = 1.0F);
- 인자로 받은 AudioClip을 한번 재생
- 다른 AudioClip이 실행중이더라도 중첩하여 재생 가능
BGM 재생하기
1. Hierarchy에 빈 오브젝트 AudioManager 생성
2. Scripts 폴더에 AudioManager.cs 생성
3. AudioManager 오브젝트에 AudioManager 스크립트 붙이기
4. 스크립트 작성
public static AudioManager Instance; // 싱글톤화
AudioSource audioSource;
public AudioClip clip; // 사용할 BGM 클립 받기
private void Awake()
{
// 인스턴스 없으면 생성하고 파괴되지 않도록 설정
if(Instance == null)
{
Instance = this;
DontDestroyOnLoad(gameObject);
}
// 이미 인스턴스 있으면 생성한 인스턴스 파괴
else
{
Destroy(gameObject);
}
}
void Start()
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = this.clip;
audioSource.Play(); // 계속 재생
}
5. Editor에서 clip 필드에 재생할 AudioClip Drag & Drop
6. BGM 재생하고 싶은 모든 Scene에 같은 작업
* AudioManager 인스턴스는 다른 Scene으로 넘어가더라도 파괴되지 않고 유지
Play()
public void Play(ulong delay = 0);
- 인자로 받은 오디오 클립 재생
- 다른 AudioClip과 중첩하여 재생 불가
'내일배움캠프 > TIL' 카테고리의 다른 글
| [내배캠][Unity6기][TIL] 카드 뒤집기 설명회와 금주 회고 (0) | 2024.09.13 |
|---|---|
| [내배캠][Unity6기][TIL] 5. Unity 주변 기능 학습(4~5) (0) | 2024.09.12 |
| [내배캠][Unity6기][TIL] 4. 카드 뒤집기(5~7) (0) | 2024.09.10 |
| [내배캠][Unity6기][TIL] 4. 카드 뒤집기(1~4) (0) | 2024.09.09 |
| [내배캠][Unity6기][TIL] 3. 고양이 밥주기(5~9) (0) | 2024.09.07 |