Files
Dansori_Characters/HANDOFF.md
T
2026-07-04 10:34:46 +09:00

7.8 KiB
Raw Blame History

⚠️ 아카이브 (소스 자산 생성 시기 기록, 이동된 소스 폴더 참조 포함). 현재 베이스 = INTERACTIVE_RIG_HANDOFF.md + *_Profile/ + README.md.

HANDOFF — Dansori 캐릭터 자산 & Character Builder (세션 인수인계)

작성: 2026-07-02 (같은 날 저녁 갱신). 다른 세션에서 이어서 진행하기 위한 요약. 최신: NewImage 88장을 각 Images/이동 완료 · Characters/Characters.Old 삭제 예정 · 이미지 생성 계속 후 내일(2026-07-03) 이어서. 이 문서 = 캐릭터 자산 시스템(Characters_Build_Docs) + 조합 앱(Character_Builder) 진행/계획. DansoriEQ 본체 앱 UI 작업(메인화면 캐릭터 배치·전 창 네온·부유 동기화 등)은 ../docs/HANDOFF.md §8 참조.


0. 한 줄 요약

Dansori 브랜드 마스코트(이소리·이단·듀오)를 페이퍼돌 조립 방식으로 관리하는 자산 체계와, 이를 직접 보고 조합/저장(.md) 하는 WPF 앱을 구축했다. 이미지 대량 생성은 진행 중이며, 빌더 테스트는 이미지가 충분히 생성된 뒤 진행 예정.

1. 자산 시스템 구조 (Characters_Build_Docs/)

README.md                 # 브랜드 자산 규칙 + "새 캐릭터 추가 Playbook"(STEP 1~7)  ← 단일 진실원
HANDOFF.md                # (이 문서)
LeeSori/                  # 이소리(민트/여)
  LeeSori.md              #   토대(정체성·조립규칙·네이밍·§8 새 베리에이션 절차·23 표준 바디 목록)
  USAGE_FOR_DEV.md        #   앱 통합 가이드(캐릭터 공통) — 조립/앵커/포터블 규칙
  Reference/sori_sheet.png
  Base/Base.md (+Images/)             # 트랙슈트 헤드리스 바디: 파츠5 + 제스처18 = 23블록
  Hair/Hair.md (+Images/)            # 4모양(short/long/waveS/waveL) 개별블록 88 (머리+표정20+hairmask ×4)
  Hair/Hair_{Long,Short,WaveS,WaveL}Neat.md  # 단정·윤기 추가본 각 22 → 헤어 토큰 총 8종(원본4 + neat4)
  Accessories/Accessories.md (+Images/)  # 오버레이 11(착용7+소품4)
  Variations/{DressShort,DressLong,Jeans,Tshirt,CeoPantsuit}/*.md (+Images/)  # 각 23블록
LeeDan/                   # 이단(시안/남) — LeeSori와 동일 구조
  LeeDan.md · Reference/dan_sheet.png
  Base/Base.md(23) · Hair/Hair.md(88: short/buzz/messy/slick ×22) · Accessories(3: headphones/smartwatch/cap)
  Variations/{Suit,Casual,Club}/*.md(각 23)
LeeSori_and_LeeDan/       # 듀오(베이크드 장면, 리그 아님)
  Duo.md · Reference/{combined_master_sheet,sori_sheet,dan_sheet}.png
  Scenes/Scenes.md(+Images/)  # 7장: backtoback·sidebyside·fistbump·present·wave·success·earbud_share
Character_Builder/        # WPF 조합 앱 (아래 §4)
  • 구버전 레이어식 요청서는 ../docs/IMAGE_GEN_*(및 *.old)에 보존(다른 세션 작업중, 건드리지 않음). 이 폴더는 그 내용을 캐릭터 중심으로 재정리한 독립본.

2. 페이퍼돌 조립 규칙 (모든 캐릭터 공통) — 상세 README.md

  • 완성 캐릭터 = 헤드리스 바디(복장) + 머리(헤어모양) + 표정 프레임 + 악세서리(오버레이) + 색상(코드 틴트).
  • 정합 앵커: 목(바디↔머리)·어깨·정수리/귀·목선·손목·발.
  • 동작은 코드(끄덕/갸웃/호흡/blink/talk = 트랜스폼+프레임 교체) — 이미지 아님.
  • 색상은 코드(hairmask로 hue-shift) — 색 변형 이미지 생성 안 함.
  • 생성용 md = 영어 프롬프트 위주, Reference/<char>_sheet.png 첨부 명시, 결과는 **각 md 옆 Images/**에 저장.

3. 이미지 생성 현황 (갱신 2026-07-02 저녁)

  • 목표 총량 ≈ 516장(md 이미지 블록 기준): 이소리 ~326 · 이단 183 · 듀오 7.
  • 완료·배치됨: 88장(이소리)Characters/NewImage에서 각 Images/이동 완료(미일치 0):
    • LeeSori/Base/Images 23(트랙 바디 전부) · LeeSori/Accessories/Images 11(전부) · LeeSori/Hair/Images 54(short·long 완성 + waveS/waveL 일부)
  • Characters/NewImage 잔여 0.
  • 미생성 ≈430: 이소리 헤어 나머지(waveS/waveL 잔여 + neat 4종 88) + 복장변형 116 · 이단 183 전부 · 듀오 7.
  • 앞으로: 생성물은 임시폴더 말고 각 md 옆 Images/에 바로 저장(분류 불필요). 순서 = 각 캐릭터 _RUN_ORDER.md.

4. Character Builder (WPF 앱) — Character_Builder/

  • 상태: 빌드 성공(오류0). Character_Builder/bin/Debug/net8.0-windows/Character_Builder.exe.
    • 빌드: dotnet build Characters_Build_Docs/Character_Builder/Character_Builder.csproj (외부 패키지 없음, 오프라인 OK).
  • 기능: 캐릭터 리스트(시트 썸네일) → 선택 → 파츠 조합(바디/헤어모양/표정/헤어색/악세서리) → 미리보기 합성.md 저장(파일명 지정)/불러오기제스처 미리보기(포즈순환+깜빡임+부유).
  • 자동 정렬: AlphaTools.cs 가 알파(불투명) 분석으로 목 위치 검출 → 머리를 바디 목에 스냅 + 비율 스케일. 캐릭터/바디/헤어 변경 시 자동, [🎯 머리 자동 정렬] 버튼으로 재실행, 슬라이더로 미세조정.
  • .md(빌드파일) = Dansori 앱 개발용: 좌표 규약(stage 520×680, 각 레이어 Height=680 Uniform·중심·center scale·(x,y)px)을 .md 헤더에 명시. 앱은 트랜스폼 직접 사용 또는 동일 정렬 알고리즘 재사용(AlphaTools 재활용).
  • 테스트 보류: 사용자가 이미지가 충분히 생성된 뒤 테스트 예정(내일).
    • 현재 LeeSori/{Base,Accessories,Hair}/Images에 88장 배치됨 → 이소리 + short/long 헤어 + 트랙 바디 + 악세서리 조합은 지금도 미리보기 가능.

5. DansoriEQ 본체 앱 (요약 — 상세 ../docs/HANDOFF.md §8)

  • 메인화면 EQ 그래프 좌측 배경에 이소리(단독) 크게 배치, 그래프 좌측이동/축소, 창 1600×980.
  • 배경 이소리 부유/말하기를 아바타와 동기(MainWindow.SetBgMascotTalking).
  • 전 팝업 창 모던 타이틀(FluentWindow+ui:TitleBar) + 파란 네온 프레임, MainWindow 네온.
  • 다음 코드작업: 배경 이소리 통짜→헤드리스 리그 교체(파츠 합성+표정프레임+고개회전+hairmask 틴트+악세 오버레이).

6. 앞으로 할 일 (우선순위)

  1. 이미지 생성 계속 (사용자, 외부 이미지 AI): 각 _RUN_ORDER.md 순서로 이소리 나머지 → 이단 전체 → 듀오. 결과는 각 md 옆 Images/에 바로 저장(분류 불필요).
  2. NewImage → 각 Images/ 분류 완료 (88장 이동, 미일치 0).
  3. 구 자료 삭제(사용자 직접, 예정): ../Characters, ../Characters.Old.
    • 안전성 확인됨: 앱은 자체 src/DansoriEQ.App/Assets/Characters(13장) 사용, 시트는 Build_Docs에 백업.
    • 유일본 손실 주의: Characters.Old의 구 파츠·흰배경 백업·추가포즈(새 파이프라인이 대체 예정).
  4. Character Builder 테스트(이미지 후) → 자동정렬 정확도 튜닝(머리 스케일 비율 현재 0.32, 목밴드 6%), 필요 시 드래그 이동·색상 커스텀 추가.
  5. 앱 통합: LeeSori/USAGE_FOR_DEV.md 규칙대로 DansoriEQ(및 향후 Dansori 앱)에 리그 통합.
  6. 폴더 이동: Characters_Build_Docs를 Dansori 브랜드 루트로 이동(포터블 규칙 — 절대경로 없음, 통째 이동 가능).

7. 유지할 결정/제약

  • 색상=코드(이미지X) · 절대경로 하드코딩 금지 · 헤드리스 바디+목 앵커 · 듀오=베이크드 장면 · 생성 md=영어 프롬프트+시트 첨부 · 빌드 .md=앱 개발용(좌표규약 명시) · 모든 신규 이소리 베리에이션은 기본 리깅 상속.