1교시의 도착점
효과를 많이 넣는 법보다, 어떤 정보가 누구에게 왜 전달되어야 하는지를 먼저 설명할 수 있게 합니다.
- 01
게임 사건과 내부 상태를 플레이어가 인지할 수 있는 신호로 번역하는 과정을 설명합니다.
- 02
AudioClip·AudioSource·Audio Mixer의 역할과 짧은 효과음의 재생 원칙을 구분합니다.
- 03
UI의 목표·현재 상태·다음 행동을 정보 위계로 정리합니다.
- 04
색이나 소리 하나에만 의존하지 않는 중복 표현과 접근성을 통과 기준으로 사용합니다.
60분의 설명 흐름
7주차의 작동하는 UI·Audio와 10주차의 정리된 에셋을 회수한 뒤, 13주차의 판단 기준인 ‘전달되었는가’로 이동합니다.
사건을 읽고 들을 수 있게 만들기
Lecture / professor-led
- 이전 결과 회수
수집·피해·성공 사건의 Script는 같지만 피드백이 없거나 어긋난 두 영상을 비교하고, 플레이어가 무엇을 놓치는지 묻습니다.
- 피드백 사슬
입력과 사건, 상태 변화, 시각·청각 신호, 플레이어 해석의 순서를 하나의 사슬로 정리합니다.
- 사운드의 기능
AudioClip·AudioSource·Mixer의 책임, PlayOneShot, 음량 균형, 중복 재생과 clipping을 설명합니다.
- UI 정보 위계
목표, 현재 상태, 다음 행동, 결과와 회복 수단을 화면의 위치·크기·문자·형태로 정리합니다.
- 두 감각의 합주
소리 없이도 피해와 성공을 알 수 있고, 색을 구분하지 못해도 형태와 문자가 남는 중복 표현을 확인합니다.
- 회수 질문
화면을 덮고 사건 하나의 피드백 계약과 실패 징후를 자신의 말로 복원합니다.
작동에서 표현으로, 표현에서 이해로
13주차는 새 시스템을 많이 더하는 주차가 아닙니다. 이미 작동하는 시스템이 다른 사람에게 같은 의미로 전달되는지 검증하는 전환점입니다.
- WEEK 07 / FUNCTION상태가 작동합니다
점수·시간·성공·실패·재시작과 AudioSource가 한 루프로 연결되었습니다.
- WEEK 10 / ASSET표현이 정리됩니다
Sprite와 UI 에셋의 크기·경계·스타일·기능을 실제 게임 화면에서 검증했습니다.
- WEEK 13 / MEANING의미가 전달됩니다
다른 플레이어가 설명 없이 목표와 상태 변화를 알아차리는지 관찰합니다.
효과를 만들기 전에 다섯 항목을 잠급니다
피드백 계약은 “멋있게”라는 말 대신 무엇이 일어났고, 어떤 신호가 언제 나타나며, 한 신호가 사라져도 무엇이 남는지를 적는 표입니다.
- 사건
- 수집·피해·목표 도착·시간 종료처럼 한 순간에 판정 가능한 변화
- 사실
- 점수 +1, 체력 -1, Playing → Won처럼 코드가 바꾼 값
- 중요도
- 진행을 막는 핵심 정보인지 분위기를 더하는 보조 정보인지 구분
- 대상
- 아이콘·숫자·문자·색·크기·움직임 중 사건과 가장 가까운 신호
- 위치
- 월드 안 효과와 HUD 중 플레이어 시선이 있는 곳
- 지속
- 너무 짧아 놓치거나 너무 길어 다음 상태를 가리지 않도록 제한
- 역할
- 확인·경고·완료·환경 중 하나로 분류
- 재생
- 한 사건에 한 번, 시작 지연과 불필요한 무음 없이 재생
- 균형
- 배경음보다 핵심 효과음이 읽히되 clipping이나 놀랄 만큼 큰 음량은 피함
- 음소거
- 소리가 없어도 숫자·문자·형태 변화로 결과를 이해
- 색상
- 빨강·초록만이 아니라 아이콘·윤곽·문자로 상태를 구분
- 반복
- 같은 사건은 같은 신호, 다른 사건은 충분히 다른 신호 사용
| 사건 | 상태 사실 | 시각 신호 | 청각 신호 | 한 감각이 없을 때 |
|---|---|---|---|---|
| Collect | 수집 수 +1 | 대상 소멸, 수치 증가, 짧은 강조 | 짧고 밝은 확인음 1회 | 숫자와 대상 소멸만으로도 수집이 확인됨 |
| Damage / Fail | 체력 감소 또는 Lost | 체력 감소, 명확한 경고 형태와 결과 문구 | 수집음과 구분되는 낮고 짧은 경고음 | 색을 빼도 아이콘·문자·형태가 다름 |
| Goal / Win | Playing → Won | 결과 패널, 목표 완료, 재시작 수단 | 끝맺음이 느껴지는 완료음 1회 | 음소거에서도 성공과 다음 행동이 명확함 |
소리 파일, 재생 장치와 전체 규칙을 구분합니다
효과음 문제를 모두 파일 탓으로 돌리지 않습니다. 원본, 재생 Component, 그룹 정책과 호출 시점을 나누면 수정 지점을 빠르게 찾을 수 있습니다.
하나의 clip을 이어 재생
AudioSource.Play()는 Source에 지정된 clip을 재생합니다. 배경음처럼 한 clip의 시작·정지와 반복을 관리할 때 이해하기 쉽습니다.
짧은 사건을 겹쳐 재생
PlayOneShot(clip, volumeScale)은 지정한 clip을 한 번 재생하며 이미 재생 중인 OneShot을 자동으로 취소하지 않습니다. 같은 사건이 매 frame 호출되지 않도록 조건을 먼저 확인합니다.
- S01 / START시작이 즉시 읽힙니다
앞부분의 긴 무음을 trim하여 사건과 소리 사이의 지연을 줄입니다.
- S02 / SHAPE끝이 정리됩니다
갑자기 잘린 꼬리와 click noise를 피하도록 짧은 fade를 확인합니다.
- S03 / ROLE서로 구분됩니다
수집·피해·성공을 음높이 하나가 아니라 길이·질감·윤곽까지 다르게 설계합니다.
- S04 / LEVEL균형이 유지됩니다
한 소리만 과도하게 크거나 여러 번 겹쳐 찢어지는지 실제 게임 루프에서 듣습니다.
- S05 / CALL사건당 한 번입니다
Console과 재생 횟수로 중복 호출을 확인하고, 효과음 자체보다 조건을 먼저 고칩니다.
생성 도구는 후보를 만들고, 게임 안 검사가 완성합니다
Unity의 Sound Generator는 자연어 설명과 선택적 참조로 효과음·환경음 후보를 만들고 WAV로 프로젝트에 가져오는 프로토타이핑 도구입니다. 현재 음악 생성 도구로 가정하지 않습니다.
- 01
역할과 길이를 먼저 적습니다
“숲 게임의 작은 수집물을 획득할 때 나는 짧고 밝은 확인음, 시작 지연 없음, 사람 목소리와 멜로디 없음”처럼 사건·질감·길이·제외 조건을 씁니다.
통과 프롬프트만 읽어도 수집·피해·성공 중 어느 역할인지 구분됩니다.
- 02
소수 후보를 비교합니다
생성 횟수보다 실제 게임의 다른 소리와 구분되는지를 봅니다. 가장 화려한 결과가 아니라 가장 빠르게 의미가 읽히는 결과를 선택합니다.
통과 후보 선택 이유를 길이·시작·질감·다른 사건과의 차이로 설명합니다.
- 03
Trim과 envelope를 확인합니다
시작과 끝의 무음, 갑작스러운 절단, 불필요한 잔향을 정리하고 원본과 수정본을 구분합니다.
통과 사건 직후 소리가 시작되고 끝부분에 click이나 잘린 느낌이 없습니다.
- 04
출처와 사용 여부를 기록합니다
도구·모델 또는 서비스, prompt, reference 권리, 사람의 수정과 최종 채택 여부를 제작 로그에 남깁니다.
통과 생성 기능을 사용할 수 없어도 허용된 기존 효과음이나 수업용 placeholder로 같은 피드백 계약을 검증할 수 있습니다.
플레이어가 묻는 순서대로 화면을 정리합니다
UI는 정보를 많이 보여 주는 판이 아닙니다. 지금 필요한 질문에 먼저 답하고, 상태가 바뀌면 그 답도 함께 갱신되는 인터페이스입니다.
- 01 / GOAL무엇을 해야 하나
이번 판의 목표를 처음 10초 안에 찾을 수 있습니다.
- 02 / CURRENT지금 어떤 상태인가
수집 수, 남은 시간, 체력처럼 행동의 결과를 확인합니다.
- 03 / NEXT다음에 무엇을 하나
목표까지 부족한 조건이나 진행 방향을 과도한 설명 없이 제시합니다.
- 04 / RESULT무엇이 끝났나
성공·실패를 같은 화면처럼 보이지 않게 구분합니다.
- 05 / RECOVER어떻게 다시 하나
재시작 또는 다음 단계의 조작을 결과와 가까운 곳에서 찾습니다.
- 기준
- 프로젝트의 Reference Resolution을 하나로 고정
- 변형
- 16:9와 4:3 Game View에서 잘림·겹침·과도한 축소 확인
- Anchor
- 화면 모서리 또는 중심 등 의미 있는 기준에 연결
- 문자
- 배경과 충분히 구분되고 실제 플레이 거리에서 읽힘
- 색
- 색만으로 성공·실패·선택 상태를 구분하지 않음
- 형태
- 아이콘에는 문자·윤곽·위치 등 두 번째 단서 제공
- 동기화
- 게임 데이터가 바뀐 직후 UI가 같은 값을 보여 줌
- 결과
- 게임 종료 중 플레이 입력과 결과 버튼의 역할이 충돌하지 않음
- 음소거
- Sound Mixer 또는 설정에서 SFX를 줄여도 핵심 상태는 보임
- 구조 우선
- 기본 Image·Text·Button으로 기능과 위계를 먼저 완성
- 교체
- 생성 Sprite·Texture2D는 기존 구조를 다시 만들지 않고 교체
- 기록
- AI metadata·출처·권리와 사람의 수정 여부 확인
같은 정보를 두 번 말하되, 혼란은 두 배로 만들지 않습니다
중복 표현은 효과를 겹치는 일이 아니라 서로 다른 감각이 같은 의미를 보완하게 만드는 설계입니다.
두 신호가 같은 사건을 가리킵니다
피해 순간 체력 숫자와 아이콘이 변하고 구분되는 경고음이 한 번 납니다. 소리를 끄거나 색을 빼도 피해 사실은 남습니다.
여러 효과가 서로 다른 말을 합니다
수집 순간 화면 전체가 붉어지고 실패음과 비슷한 소리가 반복되면 정보량은 늘지만 의미는 흐려집니다.
핵심 조작과 상태 설명을 소리, 색, 위치 또는 모양 하나에만 맡기지 않습니다. 작은 게임의 최소 기준은 음소거 상태와 회색조 화면에서도 목표·피해·성공·재시작을 구분할 수 있는 것입니다.
효과를 더하기 전에 원인을 분리합니다
아래 증상은 3교시에서 자주 만나는 문제입니다. 먼저 사건·호출·원본·재생·표시 중 어느 층의 문제인지 구분합니다.
한 번 수집했는데 효과음이 여러 번 납니다
clip을 다시 만들기 전에 사건 호출 횟수를 봅니다. Update()나 Trigger 체류 중 매 frame 호출되는지, 수집물 비활성화와 상태 변경이 한 번만 일어나는지 확인합니다.
효과음이 늦게 들립니다
원본 앞부분의 무음, 호출 시점, 로딩과 AudioSource 설정을 분리합니다. 파형의 실제 시작을 먼저 trim한 뒤 같은 사건으로 다시 비교합니다.
UI는 예쁘지만 목표를 찾기 어렵습니다
장식을 추가하기보다 목표·현재·다음의 순서를 다시 정합니다. 10초 검사에서 회수되지 않은 정보는 위치, 크기, 문자와 대비부터 고칩니다.
성공과 실패가 색으로만 구분됩니다
서로 다른 제목, 아이콘 실루엣, 화면 구조와 행동 버튼을 추가합니다. 색은 보조 단서로 유지하되 유일한 단서로 사용하지 않습니다.
생성된 UI를 넣자 Button이 작동하지 않습니다
Canvas와 Button을 새로 만들지 말고 기존 Image의 Source Image 또는 Texture 참조만 교체했는지 확인합니다. Raycast Target, Button On Click과 hierarchy를 baseline과 비교합니다.
배경음 때문에 핵심 효과음이 묻힙니다
SFX 파일만 키우기 전에 Music과 SFX를 Mixer group으로 나누고 상대 음량을 비교합니다. 여러 소리가 겹치는 실제 플레이 순간에 다시 듣습니다.
설명 없이 다섯 문장으로 회수합니다
정답을 바로 보여 주지 않습니다. 학생이 먼저 말한 뒤 피드백 사슬과 계약표를 다시 열어 빠진 항목만 보완합니다.
피드백 사슬
게임 사건부터 플레이어 해석까지의 순서를 말해 보세요.
오디오 구조
AudioClip, AudioSource와 Audio Mixer는 각각 무엇을 책임지나요?
한 번 재생
PlayOneShot을 사용해도 소리가 중복될 수 있는 이유는 무엇인가요?
UI 위계
목표·현재·다음·결과·회복을 어떤 순서로 보여 주어야 하나요?
중복 표현
음소거와 회색조에서 반드시 남아야 하는 정보 세 가지를 말해 보세요.
수업 전 다시 확인할 공식 자료
Unity AI 기능과 메뉴는 beta에서 바뀔 수 있습니다. 개강 전 설치된 Unity 6.6과 공식 문서의 현재 명칭을 확인합니다.
- Unity Learn · Sound Generator ↗효과음·환경음 생성, WAV, trim과 envelope, 음악 생성의 현재 범위
- Unity 6.6 · Audio Source 설정 ↗AudioClip import, AudioSource 생성과 audio generator 연결
- Unity 6.6 · PlayOneShot API ↗clip과 volumeScale, 겹쳐 재생되는 동작
- Unity AI · UI Generator workflow ↗기본 uGUI 구조, Sprite·Texture2D placeholder와 생성 metadata
- W3C · WCAG 2.2 ↗색만 사용하지 않기, 문자·비문자 대비와 오디오 제어 원칙