Files
MagnetismHeroes/docs/asset-register.md
T

9.9 KiB

첫 퍼즐 자산 등록

기록일: 2026-10-05. 이 표는 첫 퍼즐 범위이며 최종 캐릭터·세 배경 테마·효과음·음악 완성을 뜻하지 않습니다.

자산 실제 경로 제작·출처와 조건 상태와 검증
자석 구·대표 얼굴·숫자 Assets/MagnetismHeroes/UnityRuntime/Presentation/Prefabs/{MagnetFriend,GroupBadge}.prefab Unity 기본 구·쿼드·선과 직접 작성한 Editor 빌더. 원작 캐릭터를 사용하지 않음. 구 크기 1, 얼굴을 위한 별도 구 없음. 첫 퍼즐용 임시 외형. 실제 Editor API로 생성, 실제 프리팹 PlayMode 검사.
입체 놀이터·소품 Presentation/Prefabs/GameApp.prefab 내부 Playground 직접 작성한 기본 도형 배치. 첫 퍼즐용 임시 배경. Blender 제작·세 테마는 후속 작업.
한글 글꼴 Presentation/Fonts/NotoSansCJKkr-Regular.otf 및 NotoSansCJKkr-FirstSlice.asset Noto CJK 공식 저장소, SIL OFL 1.1. 내려받은 커밋은 SourceAssets/Fonts/noto-revision.txt, 원문 조건은 NotoSansCJK-LICENSE.txt. 해당 UI·안내 글리프를 1024 정적 atlas에 bake. 원본 및 빌드 글리프 검사. 자동 크기 조정 끔.
TMP Essential Resources Assets/TextMesh Pro/ 설치한 Unity uGUI 2.6의 기본 리소스. Liberation Sans의 OFL은 Assets/TextMesh Pro/Fonts/LiberationSans - OFL.txt. Examples/Extras를 가져오지 않음. 실제 Editor import. 우리 화면은 정적 한국어 폰트 참조.
한국어 음성 Presentation/Audio/Voice/ 로컬 Qwen3-TTS 1.7B CustomVoice, Sohee, 고정 revision·말투·seed 기록. 상세 제작 등록, SourceAssets/Audio/Voice/의 원본·manifest·편집 선택 해시. 모델 코드/카드 Apache-2.0 표시를 기록하며 출력 독점권을 주장하지 않음. 실제 GPU 생성·파형/해시 검사 및 Unity 재생. 첫 퍼즐 필수 count_01·guide_collect·guide_count는 2026-10-05 KST 사용자 청취 승인. 나머지는 미검수 초안. count_05 이상 출력 제외.
Voice/SFX/Music Mixer Presentation/Audio/GameAudio.mixer 직접 작성한 Editor 빌더에서 Master의 하위 그룹 생성. 음성은 2D Voice로 연결. 성공 자유 전환에서 숫자 큐 유지.
효과음·음악 없음 2026-10-06 사용자 결정으로 첫 버전에서 제외. 결정과 이전 요청표 audio-requests.md. 채택·청취 대상 없음. 대체 음원을 제작하지 않음.

Presentation/ 축약 경로의 앞부분은 Assets/MagnetismHeroes/UnityRuntime/입니다. AI 2D 자산·Blender 원본·최종 마스크/에너지 망토·변신/세 테마는 이 등록에서 완료로 표시하지 않습니다.

사용자는 세 파일을 직접 확인하고 “세 파일 모두 괜찮습니다”라고 답했습니다. 검수자: 사용자, 검수일: 2026-10-05 KST. 실제 runtime WAV와 대조한 승인 SHA-256은 다음과 같습니다. 다른 파일 승인으로 확대하지 않습니다.

ID 청취 승인 SHA-256
count_01 13A882CE1620140D447635E14F2D4758045D5E348960C17386DF1C720050C100
guide_collect 62E15C9E38C36F4094A6C7E9C5148510141290B5F41DB5AAD9DC1D8F1A158594
guide_count DEBE29B89F3E2856F2BF4C5E01707A5F0A0657E5768C03BE385EC88FA2328B40

Composition 시제품 추가

Stage06/10/14 ScriptableObject와 GameApp의 대표 선택·나누기·취소 버튼은 CompositionAssets.Build가 Editor API로 생성/연결한다. GroupBadge에 묶음당 리본 망토 하나, BallView에 접촉 대상·선택 구의 색 표시를 연결했다. 구의 크기/경계와 기존 얼굴·숫자 시제품을 유지한다. 정적 한글 글꼴에 새 안내/버튼의 글자를 추가했다. 전체 AI 외형·최종 표정은 후속 단계다. 새 음성 3개는 아래 Qwen 등록 문서의 초안이며 기존 승인 파일은 그대로 유지한다.

Content 추가: 실제 Blender 세 테마

2026-10-05 T6에서 아래 실제 소스와 공유 프리팹을 제작했다. 앞의 첫 퍼즐 임시 배경/후속 상태는 해당 시점의 이력이며, 현재 30개 스테이지는 이 고정 배경 자산을 사용한다.

자산 실제 경로 사용·출처·조건
13개 배경 소품 Blender 원본 SourceAssets/Models/PlaygroundProps.blend 직접 제작. Blender 5.2.2 LTS. 외부 모델·텍스처·상표 캐릭터 없음. 프로젝트 내 사용.
재현 제작/FBX 내보내기 tools/models/build_playgrounds.py, SourceAssets/Models/provenance.json 실행 설정, 도구 버전, 소스·13 FBX 경로/크기/SHA-256 기록. 미터 단위, base pivot, FBX Y-up.
공유 Island/BlockArch/ToySteps/Pebbles Assets/MagnetismHeroes/UnityRuntime/Presentation/Models/{이름}.fbx 및 Presentation/Prefabs/Scenery/{이름}.prefab 원본과 일치하는 nonconvex MeshCollider. BlockArch는 기둥 두 개와 가로대의 실제 빈틈을 유지하며 BoxCollider로 막지 않는다.
정원 1..10 Presentation/Models/{GardenFlower,GardenMushroom,GardenLeaf}.fbx, 동명 Scenery 프리팹 직접 제작 꽃·버섯·잎. 산호색 URP Lit. 고정 Stage SO가 테마·프리팹 참조·배치를 소유.
구름 11..20 Presentation/Models/{CloudPuff,CloudRainbow,CloudMoon}.fbx, 동명 Scenery 프리팹 직접 제작 구름·무지개·달. 연한 하늘색 URP Lit.
별 작업실 21..30 Presentation/Models/{WorkshopStar,WorkshopGear,WorkshopCrystals}.fbx, 동명 Scenery 프리팹 직접 제작 별·장난감 톱니·결정. 금색 URP Lit. 새로운 임무/생활 장치 규칙 없음.
실제 30 정의 Assets/MagnetismHeroes/UnityRuntime/StageAssets/Stage01.asset .. Stage30.asset Unity Editor API로 작성. R07 번호/초기/목표/종류는 고정이며 테마는 미술 데이터. 런타임 원본 수정 없음.

수집 자석 55개(1..5,16..20)의 시점 탐색·실제 Collider pick·직접 drag/수집을 PlayMode에서 확인하고 artifacts/verification/Content/editor-play/counting-discovery.txt에 stage/ID/yaw/pitch 기록을 남긴다. 세 테마의 Free 0..10 공급, 전체 묶음 반납, 원래 stage 테마 복원도 검사한다. 시범 실루엣은 UI Image만 사용하며 실제 구 ID/Collider가 없다. T6 당시 T7 외형·음향은 후속 작업이었다. 현재 얼굴·UI·VFX 채택 상태는 아래 T7 등록을 따르고, SFX/BGM은 2026-10-06 결정으로 첫 버전에서 제외한다.

T7 현재 채택: 얼굴·표현·음성 (2026-10-05)

동일 기본 구 하나의 표면에 6표정(기본/관심/집중/웃음/격려/축하) 눈·입·얇은 파란 마스크 Sprite를 붙인다. 구 몸체·추가 머리·숫자 캐릭터 그림으로 대체하지 않는다. 수와 한국어는 TMP 동적 텍스트이며 얼굴/숫자/얇은 빛 리본은 안정 묶음당 하나다. 장식 Collider/raycast target이 없다. 선택 황색 테두리와 접촉 녹색 작은 고리는 독립적이며 확정 접촉 고리와 실제 접촉 위치에서의 짧은 거리별 빛 전파는 표현만 바꾼다. 기존 Core/저장 배열/구 기본 크기는 유지한다.

자산 경로 출처·채택·사용 조건
6표정 투명 PNG 원본/시안 SourceAssets/Art/Faces/face-expressions-v{1,2}.png, provenance.json built-in image_gen 생성/편집, 정확 prompt/생성일/경로/SHA/모델명 미노출 사실 보존. 외부 그림·캐릭터·글자·구 몸체 없음. V2 RGBA SHA 0E3C115619C4AE68CF8859CCBC6D4BFB3A26A1A247B3DDB41327C46829540C98; 원본 alpha 유지.
runtime atlas / Unity Sprite 6개 Presentation/Textures/FaceExpressions.png, Presentation/Sprites/Face0.asset..Face5.asset Unity API Sprite.Create, 셀 rect/pivot만 metadata. 외부 경로 참조 없음. 실제 구 표면 RT 검수에서 사각 배경 없음. 최종 검수 원문은 T7 artifacts.
얼굴·빛·반응형 가로 UI Editor/PresentationAssets.cs, 기존 GameApp/GroupBadge/MagnetFriend prefab 실제 Unity API 생성. 기존 GameApp GUID 유지. 숫자 배지는 같은 묶음 위의 가까운 공간을 찾는다. 카메라 FOV62/고정 상향 pivot .65는 미술 프레이밍이며 저장 CameraState 형식은 동일. 새 자유놀이 공급 row spacing1.8만 적용하며 저장된 배열/drag 위치는 재배치하지 않는다.
runtime 44 한국어 음성 SourceAssets/Audio/Voice/active-adoption.json 현재 runtime→edited→generated 정확 SHA/대본/출처/승인 기록 연결. 기존 3 승인 + 새 여덟. 승인 + 나머지40 승인. 이전 거절된8 이력과 과거 manifests는 유지. 모든44 사용자 청취 승인; 추론 도구/모델/SourceAssets는 APK 제외.
Qwen/Noto notices Assets/StreamingAssets/Notices/ Apache-2.0 원문/모델 카드와 Noto OFL 원문을 빌드 포함 위치에 staging. 소스 검사와 실제 APK ZIP/byte 검사는 증거 범위를 구분한다.
SFX/BGM 연결 Presentation/GameSound.cs 기존 Mixer Voice/SFX/Music 직접 연결과 lifecycle hooks 유지. 사용자 결정으로 첫 버전 SFX/BGM 제외. GameApp의 효과음 10개·음악 4개 clip 참조는 null이며 대체 음원 없음. 실제 음원 청취·음악 3회 반복은 제외 항목이며 통과로 표시하지 않음.

Editor RT 캡처는 Camera.Render와 임시 ScreenSpaceCamera Canvas/안전영역 시뮬레이션 후 복원한 결과이며 Android 기기 화면과 구별한다. JSON은 raw CameraState, 실제 transform/FOV/pivot, 화면·Canvas·viewport 및 측정 범위를 기록한다. editorUnityStatsDrawCalls는 UnityEditor.UnityStats.drawCalls의 해당 Editor frame 관찰값이다. GameView/SceneView 귀속을 이 API만으로 확정할 수 없어 RT GPU draw/overdraw나 제품 draw call 합격으로 취급하지 않는다. Camera.Render wall time은 Editor 비용이며 AVD/실기기 프레임 합격 증거가 아니다. 0/미측정 값을 합격으로 취급하지 않는다.