diff --git a/docs/CREDITS.md b/docs/CREDITS.md index ac125cd..4def656 100644 --- a/docs/CREDITS.md +++ b/docs/CREDITS.md @@ -15,7 +15,8 @@ | 자산 | 작가 | 출처 | 라이선스 | 사용 위치 | | --- | --- | --- | --- | --- | -| 절차 생성 SFX/BGM | 프로젝트 내부 제작 | `AudioDirector.cs` | 프로젝트 라이선스 | 시전 성공/실패, 목표 완료, 층 완료, 노트, NPC, hazard, 타이틀/클라이맥스 BGM | +| 절차 생성 SFX/BGM | 프로젝트 내부 제작 | `AudioDirector.cs` | 프로젝트 라이선스 | 시전 성공/실패, 목표 완료, 층 완료, 노트, NPC, hazard, 클라이맥스 BGM | +| Loopable Dungeon Ambience (`ambient_tower.ogg`) | JaggedStone | | CC0 | 1~4층 탑 ambient BGM (`Resources/Bgm/ambient_tower.ogg`) | ## 폰트 diff --git a/docs/FINAL_COMPLETION_PLAN.md b/docs/FINAL_COMPLETION_PLAN.md index 75ad30d..2a9269c 100644 --- a/docs/FINAL_COMPLETION_PLAN.md +++ b/docs/FINAL_COMPLETION_PLAN.md @@ -61,7 +61,7 @@ - [x] 룬·시전 선·seal이 발광 연출을 가진다 (URP 불요 — additive halo로 충분, G-1). - [x] 플레이어가 4방향 이동 + idle/cast 애니메이션을 가진다 (외부 팩 허용, G-2 — 절차 생성 프레임 기본, PNG 드롭 시 자동 교체). -- [ ] BGM 최소 1트랙(`ambient_tower`)이 실제 음원이고 라이선스가 문서화돼 있다 (G-3 — 파일 우선 로더 준비됨, 음원 소싱만 남음). +- [x] BGM 최소 1트랙(`ambient_tower`)이 실제 음원이고 라이선스가 문서화돼 있다 (G-3 — CC0 'Loopable Dungeon Ambience' 적용, `docs/asset-licenses/audio.md` 참조, 2026-06-12). - [x] 1회차 완주에서 탑의 서사 암시가 최소 3곳(층 진입 노트·멘토 대사·엔딩 한 줄)에서 보인다 (G-4). - [x] 필수 목표 외 숨은 발견 5개 이상이 codex에 기록된다 (G-5 — 속성 반응 10종이 첫 발생 시 관찰문으로 기록, 발견 탭에 n/10 진행도). @@ -335,10 +335,10 @@ ART_OVERHAUL Phase 2-2의 축소 실행판. 자체 제작하지 않고 외부 SFX는 절차 생성을 유지한다. BGM만 실음원으로 바꾼다 — "데모 느낌"의 최대 지분. -1. [ ] `ambient_tower` 대체: CC0 다크 판타지 ambient 루프 1트랙 소싱 (OpenGameArt CC0 / freesound CC0 / Kenney Music). 후보 2~3개를 팀 청취로 결정. +1. [x] `ambient_tower` 대체: CC0 'Loopable Dungeon Ambience'(JaggedStone, OpenGameArt) 적용 (2026-06-12). 대안 후보 2종은 `docs/asset-licenses/audio.md`에 기록 — 팀 청취 후 교체 가능. 2. [x] `AudioDirector`에 파일 우선 로더 추가 — BGM(`Resources/Bgm/`)과 SFX 12종(`Resources/Sfx/`) 모두 파일 존재 시 우선, 없으면 절차 생성 폴백. -3. [ ] `climax_seal`은 절차 생성 유지 가능. 단 실음원 트랙에 톤을 맞춰 키·템포 재조정. (절차 BGM 자체는 주파수 양자화로 루프 클릭 제거 + 2코드 패드로 개선됨) -4. [ ] 라이선스 → `docs/asset-licenses/audio.md`, CREDITS 갱신 (음원 소싱 시). +3. [ ] `climax_seal`은 절차 생성 유지 가능. 단 실음원 트랙에 톤을 맞춰 키·템포 재조정. (절차 BGM 자체는 주파수 양자화로 루프 클릭 제거 + 2코드 패드로 개선됨) — 실음원 적용 후 청취 확인 필요. +4. [x] 라이선스 → `docs/asset-licenses/audio.md`, CREDITS 갱신 (2026-06-12). 완료 조건: 타이틀~3층에서 실음원 ambient가 루프 이음매 없이 재생. 볼륨 옵션 연동 유지. diff --git a/docs/asset-licenses/audio.md b/docs/asset-licenses/audio.md index 553e2d2..df948b8 100644 --- a/docs/asset-licenses/audio.md +++ b/docs/asset-licenses/audio.md @@ -1,8 +1,20 @@ # Audio Asset Notes -작성 기준일: 2026-06-10 +작성 기준일: 2026-06-10 (외부 BGM 추가: 2026-06-12) -현재 `Magic Exam Hall`의 최종화 브랜치는 외부 오디오 파일을 포함하지 않는다. 런타임 사운드는 [AudioDirector.cs](../../unity/MagicExamHall/Assets/MagicExamHall/Scripts/Runtime/AudioDirector.cs)에서 절차적으로 생성된다. +런타임 SFX와 `climax_seal` BGM은 [AudioDirector.cs](../../unity/MagicExamHall/Assets/MagicExamHall/Scripts/Runtime/AudioDirector.cs)에서 절차적으로 생성된다. `ambient_tower` BGM은 외부 CC0 음원을 사용한다 (아래 참조). + +## External BGM + +| 파일 | 원제 | 작가 | 출처 | 라이선스 | +| --- | --- | --- | --- | --- | +| `Assets/MagicExamHall/Resources/Bgm/ambient_tower.ogg` | Loopable Dungeon Ambience (`dungeon_ambient_1.ogg`) | JaggedStone | | CC0 (Public Domain) | + +- 선정 사유: 저주파 바람 + 물방울 소리의 끊김 없는 루프. 탑 내부 ambient에 부합하고 CC0라 표기 의무가 없다. +- 로더: `AudioDirector.ExternalBgm`이 `Resources/Bgm/ambient_tower`를 우선 로드하고, 없으면 절차 생성 패드로 fallback. +- 청취 후 교체용 대안 후보 (미사용, 저장소에 미포함): + - Dungeon Ambience (`dungeon002.ogg`) — yd, CC0, (로컬 보관: `outputs/bgm-candidates/`) + - Dark Ambient Loop 13 — Lucas Calvo (MundoSound), CC-BY 3.0 (표기 의무 발생), ## Procedural Cues diff --git a/unity/MagicExamHall/Assets/MagicExamHall/Resources/Bgm.meta b/unity/MagicExamHall/Assets/MagicExamHall/Resources/Bgm.meta new file mode 100644 index 0000000..f393001 --- /dev/null +++ b/unity/MagicExamHall/Assets/MagicExamHall/Resources/Bgm.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 672333afca13dd04694585751ad631e4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/unity/MagicExamHall/Assets/MagicExamHall/Resources/Bgm/ambient_tower.ogg b/unity/MagicExamHall/Assets/MagicExamHall/Resources/Bgm/ambient_tower.ogg new file mode 100644 index 0000000..8b8d14f Binary files /dev/null and b/unity/MagicExamHall/Assets/MagicExamHall/Resources/Bgm/ambient_tower.ogg differ diff --git a/unity/MagicExamHall/Assets/MagicExamHall/Resources/Bgm/ambient_tower.ogg.meta b/unity/MagicExamHall/Assets/MagicExamHall/Resources/Bgm/ambient_tower.ogg.meta new file mode 100644 index 0000000..ad63fcd --- /dev/null +++ b/unity/MagicExamHall/Assets/MagicExamHall/Resources/Bgm/ambient_tower.ogg.meta @@ -0,0 +1,23 @@ +fileFormatVersion: 2 +guid: a03a26348214a6b449410caa06be56cf +AudioImporter: + externalObjects: {} + serializedVersion: 8 + defaultSettings: + serializedVersion: 2 + loadType: 0 + sampleRateSetting: 0 + sampleRateOverride: 44100 + compressionFormat: 1 + quality: 1 + conversionMode: 0 + preloadAudioData: 0 + platformSettingOverrides: {} + forceToMono: 0 + normalize: 1 + loadInBackground: 0 + ambisonic: 0 + 3D: 1 + userData: + assetBundleName: + assetBundleVariant: