kidstoon — 완료 이력 (archive)
완료된 항목의 원문을 그대로 옮겨 둔다. 현재 상태는
handoff.md, 규칙은rules.md, 작업 절차는playbook.md.
2026-08-22 — 기획 확정부터 TRELLIS 착수까지
- 2026-08-22(토) 조사·기획 완료 — devplan 등록 [코디]. 페페 발의 = "유니티 같은 3D 게임 프로그램으로 영상제작 기반을 만들자. 캐릭터는 imagegen, 텍스처는 카툰렌더링 유력. 우리 자원과 더 최적화된 프로세스 조사·정리해 devplan 등록, 예시 사진·파이프라인 구상까지."
- 산출물 =
devplan/kidstoon.html(허브 카드kidstoon, AI·자동화, 개발후보) + 예시 이미지 5장devplan/assets/kidstoon/*.png(생성기_gen.py). - 결론 = 3D 엔진 채택 맞다 / 엔진은 유니티 / 최대 최적화는 「전 캐릭터 이족 설계」. 근거·비교표·비용·리스크 전부 devplan 페이지에.
-
⏳페페 결정 7건 대기 — 아래 「미결」. 1번(발행 빈도)이 나머지를 지배한다 — 월 2편 이하면 3D 공장은 손해라 경로 재검토가 맞다.
-
2026-08-22(토) 저녁 — GPU 확보 후 계획 재검토 [코디].
gpubox개통으로 집PC(RTX 4070 Ti SUPER 16GB · Ryzen 9 9900X · 31GB · 디스크 3TB)를 온디맨드 사용 가능해졌다. 뒤집힌 결정 없음(D1·D2·D3 유지) — 다만 D2(유니티)의 근거가 「하드웨어 제약」에서 「자동 조립 API」로 교체됐다. 상세 =design.mdD8. 실제로 열린 것 = 로컬 3D 생성(재생성 공짜)·턴어라운드 무제한·AI 인서트 상업제약 해제·한국어 강제정렬 립싱크·로컬 TTS. 새 제약 = Unity-batchmodeGPU 렌더의 Session 0 미검증(P0 게이트 추가) · 집PC 비상시가동 · 작업 본거지 결정 필요. ⚠집PC엔 Unity·Blender·Python 전무(신규 설치 3건). -
2026-08-22(토) 저녁 — P0 착수: 집PC 환경구축 + 🔑게이트⑤ 통과 [코디]. 설치 완료 = Blender 5.1.2 · Unity Hub 3.18.0 · Unity Editor 6000.3.22f1(design 의 19f1 은 현재 미배포, 같은 6000.3 계열) · 프로젝트
D:\kidstoon생성. ✅게이트⑤ = PASS — Unity-batchmode가 SSH(Session 0)에서 실제 4070 으로 D3D12 렌더한다(schtasks /IT우회 불필요). 실측device=NVIDIA GeForce RTX 4070 Ti SUPER · vram=16063MB · distinctColors=175, 큐브+구+방향광 PNG 육안 확인. 검증기 =GateCheck.cs(리포 신설 때Assets/Editor/로 이관). 🔴단-force-device-index 1필수 — 없으면 내장 GPU 로 조용히 렌더한다(rules.md). 중간 벽 3개 = Unity Personal 수동활성화 폐지 → 페페가 집PC 앞에서 Hub 로그인 1회 · 집PC Win11 Home 이라 RDP 원천 불가(설정 원복 완료) · winget Unity Hub 매니페스트 URL 404. ⏳다음 = 리포 신설 + 관통 스파이크. -
2026-08-22(토) 밤 — P0 캐릭터 시트 확정 + TRELLIS 착수 [코디]. 캐릭터 = 페페냥 2족 치비(deskpet 4족 마스터 → 재설계). 의상 = 올리브 작업 점프수트 + 주황 어깨 요크 + 앞 열림(흰 가슴·배) + 주황 고무장화. 확정 시트 =
kidstoon/reference/turnaround/turnaround-sheet.png(4컷 통합) + 컷별v2-{front,side-cheese,side-tabby,rear}-3head.png. 전 컷 3.00등신 정규화. 🔑얼굴 무늬 방향 = 페페 확정(2026-08-22, 재논의 없음) — 기준은 실사 고양이가 아니라master-front.png마스터 그림이다. 전면은 마스터 그대로(화면좌 태비·화면우 치즈), 태비 측면과 후면은 좌우반전한 것이 정본. 기하학적으로 전면과 나머지가 어긋나 보이지만 이 판단이 확정이므로 다시 따지지 않는다. ⚠남은 확인 = 두 측면이 같은 방향(화면 왼쪽)을 향한다 — 페페가 시트를 보고 판단할 사항. 3D 입력으로 넣기 전에 육안 확인 필요. 도구 3종(전부 리포tools/) =gen_turnaround.py(컷별 생성, 생성 후 등신보정 자동 호출) ·fix_ratio.py(등신 양방향 정규화, 턱 자동검출) ·make_sheet.py(컷 → 통합 시트). 함정 전량 =rules.md. ⏳TRELLIS 진행 중 = 집PC Python 3.11.9 설치 완료 · GPU 16376MiB 확인. 다음 = PyTorch CUDA → TRELLIS 본체 → 시트 투입 →compare_master.py게이트(≥0.80). 🔜같은 스택에 SDXL+ControlNet 도 얹으면 등신 비율 문제가 근본 해결된다(rules.md).
2026-08-23 낮 — TRELLIS 첫 통과, 그리고 검은 텍스처의 반나절
-
2026-08-23(일) — TRELLIS 설치 완료 + 첫 3D 캐릭터 게이트 통과(0.8441) [코디] ✅. 모델 선택 = TRELLIS v1. TRELLIS.2(4B·PBR)는 화질이 위지만 입력이 단일 이미지뿐이고 공식 요구가 24GB(우리 16GB)라, 좌우 얼굴이 다른 페페냥엔 다중뷰가 화질보다 우선이라 배제했다 — 단일 이미지는 Tripo 가 뭉갠 실패로 직행이다. 시드 확정(「전부 로컬 TRELLIS」)과 같은 결론이라 새 결정 사안 아님. 설치 =
IgorAherne/trellis-stable-projectorz→D:\trellis(venv). 리포whl/의 cp311·cu128 프리빌트 휠 6개로 CUDA 툴킷·컴파일 없이 끝났다. torch 2.7.0+cu128 고정(휠 ABI). 검증 =INSTALL_OK· torch 2.7.0+cu128 ·cuda True· 4070 Ti SUPER · kaolin 0.17.0. 생성 =run_multi_image에 확정 시트 4컷(front·치즈면·태비면·rear). 생성 5.7초 · peak VRAM 4.76GB(half) / 6.30GB(full) → 16GB 에 여유가 크다. 산출 =D:\kidstoon\out\trellis\final\{model.glb, orbit.mp4, view_000~330.png}· GLB 6,616 verts / 10,330 faces / 1024² 텍스처. 🔑핵심 성과 = 비대칭 얼굴이 살아남았다 — 정면 렌더가 화면좌 태비·화면우 치즈로 마스터와 같고, 게이트asym_ok=True(방향 일치 + 강도 40% 이상)가 네 판 전부에서 나왔다. Tripo 가 대칭으로 뭉갰던 그 지점이다. 🔑게이트를 가른 유일한 변수 = 알베도 밝기. TRELLIS 출력이 원화보다 균일하게 어둡다(명도 중앙값 0.41 vs 0.53). 노출만 맞추자 0.7086 FAIL → 0.8441 PASS(class_sim 0.49~0.64 → 0.88~0.95). 정밀도·샘플러 모드·스텝은 지렛대가 아니었다(full/multidiffusion/25스텝 전부 0.66~0.71). 그래서 알베도 정규화를 생성기 공정에 넣었다 — GLB 텍스처 medV 실측 0.533. 언리티 툰셰이딩이 알베도에 조명을 또 곱하므로 게이트 점수용이 아니라 파이프라인상 필요한 공정이다. 도구 3종 신설(리포tools/) =trellis_install.bat(집PC 설치) ·trellis_gen.py(시트→GLB+턴테이블, 알베도 정규화 포함) ·gate_master.py(deskpet 게이트 재사용 래퍼). 스윕용trellis_sweep.bat. 🔴게이트 결함 2개를 고쳤다 — ①마스터 파일명에left/right토큰이 없어 치즈면 볼을 반대쪽에서 재고 있었다(master_l=0.0) ②deskpet 의both_present(양 볼 모두 주황 ≥1%)가 2족 재설계에선 구조적으로 항상 False 라 볼 비대칭 검사가 죽어 있었다 — 즉 가장 잡아야 할 「AI 가 얼굴을 좌우대칭으로 뭉갬」을 판별 못 하는 상태였다. 자체검사(마스터를 렌더 자리에 투입) 0.9175 → 1.0000. ✅해소 = handoff 의 ⏳「두 측면이 같은 방향(화면 왼쪽)을 향한다」는 사실이 아니다 — 실제로는 치즈면이 화면 왼쪽, 태비면이 화면 오른쪽으로 서로 반대다(육안 확인). 페페 확인 불필요.rules.md의 반대 기술도 정정했다. ⏳남은 결함(자산) = ①열린 앞섶 안쪽이 검은 공동이다(마스터는 흰 가슴·배) ②앞발이 흰색이 아니라 검다 ③꼬리가 정면 뷰에서 짧게 뭉친다. 게이트는 통과했지만 셋 다 육안으로 보인다. 다음 판에서 손볼 지점. ⏳페페 =out/trellis/final/orbit.mp4육안 1회 — 이 메시로 리깅(Mixamo Humanoid)까지 갈지, 앞섶·앞발부터 고치고 갈지 결정. -
2026-08-23(일) — 품질 결함 원인 규명 + 작업 매뉴얼 확정 [코디]. 페페 지시 = 「앞섶 검은 공동·앞발부터 고쳐 재생성. 품질이 충분하지 않다(이마 검은 부분·눈동자 탁함·색상 변형). 먼저 웹조사로 원화와 완벽 동일하게 생성하는 방법을 찾아라. 다른 방식이 더 나은지도 확인」 → 이어서 「추론하지 말고 실제 통하는 방법을 찾아라. GPT 웹·제미나이 웹에 소스 주고 상의, 웹조사 추가」 → 이어서 「처음 하는 작업을 추론으로 하지 마라. 전체 계획을 작성하고 웹조사·GPT 상의로 작업 매뉴얼을 먼저 만들어라」. 🔑검은 결함의 원인 규명 = 모델 탓이 아니라 입력 탓이었다.
preprocess_image가rembg u2net알파로rgb*alpha프리멀티플라이를 하는데, 우리 시트는 밝은 회색 배경 + 흰 가슴·흰 앞발이라 u2net 이 그 흰 부위를 배경으로 오려낸다(알파 마스크에 가슴 중앙·양 앞발·이마가 구멍 — 덤프로 육안 확인). 그 자리가 새까맣게 되어 모델에 들어가고 3D 에 그대로 재현됐다. 🔴그런데 알파를 고치면 형태가 판때기로 붕괴한다. 폭비율(min/max 실루엣폭) 실측 = 원본 0.701 · rembg 알파 그대로 0.701 · rembg + 스케일 정규화 0.828(최고) · 구멍메움 0.035 · 직접 컷아웃 0.030 · 배경교체 0.026. seed 1/2/3·multidiffusion·3컷 전부 붕괴 = 100% 재현. → 모델 입력 실루엣은 손대면 안 되고, 스케일 정규화는 오히려 이득이다. 외부 검증 3종 = ①Codex CLI 신설(npm i -g @openai/codex, ChatGPT 계정 로그인 이미 돼 있었다 — 로컬 소스를 직접 읽는다) ②제미나이 웹(CDP 9334, 신설C:\dev\tools\geminichat\geminichat.py) ③웹조사. Codex 결론이 내 실측과 일치 = 「형상 조건과 원화 색상 조건을 분리해야 한다. 형상은 rembg 경로 고정, 색은 생성 뒤 원화 4컷을bake_texture로 직접 굽는 것이 코드상 유일한 길」. ⚠제미나이는 「RGBA 로 직접 주면 해결」이라 답했는데 그게 정확히 붕괴하는 경우라 채택 안 함. 구현 = 원화 직접 리텍스처 경로(--sheet-dir).mode='opt'(⚠fast는 모든 뷰에서masks[0]만 참조하는 버그) ·lambda_tv=0.0· 카메라는 fov×상하반전을 실루엣 IoU 로 자동 탐색(채택 fov=6.0·r=11.1·IoU 0.816). ⏳미완 = 그 텍스처가 검게 나온다. 정합·최적화(loss 0.507→0.14)는 정상인데 반환 텍스처 비검정 0.000. Codex 가 짚은 방향 = loss 는 카메라 투영만 검증하고 마지막 UV 아틀라스 점유 마스크는 검증하지 않는다 → 그 마스크가 비면cv2.inpaint가 전 영역을 지운다. 다음 세션 1순위 =simplify=0.95·texture_size=1024(기본 경로 값)로 되돌려 재현 여부부터 + UV 점유율 3종 계측. ✅산출 = 작업 매뉴얼playbook.md신설·등록(kidstoon-playbook). 절차·검증기준(수치)·절대금지·파라미터표·증상별 대처·한계까지. 앞으로 이 작업은 매뉴얼대로 한다. 신설 도구 =cutout_alpha.py(입력 4모드+스케일 정규화) ·trellis_diag_preprocess.py(TRELLIS 가 실제로 보는 입력 덤프 — 진단 1순위) ·trellis_{shape,alpha,scale}_sweep.bat·tools/geminichat.trellis_gen.py에 평면붕괴 검출·알베도 정규화·원화 리텍스처 추가. 📎대안 경로(조사 확정) = 형상 품질을 더 올리려면tencent/Hunyuan3D-2mv(멀티뷰 전용 finetune·canonical front/left/back API)를 shape only 로(16GB. 텍스처까지 켜면 29GB 필요), 색은 이 매뉴얼의 원화 bake 를 쓴다. TRELLIS.2 는 후보 아님(24GB·Linux·다중이미지 미병합 PR).