1~3번 작업 완료

2026-09-20 · v0.6.2 · 실제 CC0 게임 캐릭터로 검증

결론

셋 다 고쳤습니다. 그런데 고치는 도중 훨씬 큰 문제가 나왔습니다. 진짜 게임 캐릭터를 넣으면 캐릭터가 통째로 공으로 바뀌어 나오고 있었습니다. 숫자만 보면 "부피 보존 1.00"이라 완벽해 보였습니다. 렌더해서 눈으로 보고서야 알았습니다.

1. 가장 중요한 발견 — 숫자는 거짓말을 했다

캐릭터 파일에는 눈에 안 보이는 껍데기 공(면 80개짜리)이 같이 들어 있었습니다. 우리 도구는 파일 안 모든 메시를 말없이 하나로 합칩니다. 그래서 공이 캐릭터를 삼켰습니다.

교훈은 분명합니다. 숫자 검증만으로는 부족합니다. 앞으로 실제 그림을 같이 봐야 합니다.

2. 고친 것

  1. 파일 안 부품을 보여 주고 고를 수 있게
    이제 import_model 이 부품 목록을 돌려줍니다. "면이 80개뿐인데 제일 크다"처럼 수상한 부품은 경고합니다. parts=["Adventurer", "Backpack"] 처럼 원하는 것만 고를 수 있습니다.
  2. 뼈대에 묶인 메시를 제대로 굽기
    뼈대(스킨)가 붙은 메시는 모디파이어를 먼저 구워야 지금 자세가 남습니다. 부모를 떼는 순서도 거꾸로였습니다. 예전 순서로는 부품 크기가 100배 어긋나 0.01m로 찌그러졌습니다.
  3. 깨진 메시 수리 강화
    겹친 면 걷어내기, 면이 3장 이상 붙은 모서리에서 여분 걷어내기, 구멍 메우기 2차 시도를 넣었습니다. 캐릭터가 구멍 256개·비다양체 10개 → 완전히 닫힘이 됐습니다.
  4. 정리 단계가 오히려 망칠 때 되돌리기
    겹친 덩어리를 하나로 합치는 단계가 이 캐릭터에서는 비다양체 모서리를 10개에서 8,390개로 늘렸습니다. 이제 결과가 더 나빠지면 버리고, 대신 조각낼 때 느리지만 정확한 계산으로 넘어갑니다.
  5. 볼록한 정도 계산 교정 (2번 항목)
    닫히지 않은 메시는 부피 자체가 헛값이라 계산하지 않습니다. 수리해서 닫은 뒤에 잽니다.
  6. 무게 안내 (3번 항목)
    속이 빈 껍데기를 통짜로 계산한다는 점과, 낮출 density 값을 같이 알려 줍니다.
  7. 작은 물건 반올림 버그
    5cm짜리 물건이 보존율 1.25로 뜨던 문제를 잡았습니다. 부피를 소수점 4자리에서 자르고 있었습니다.

3. 고치기 전과 후

항목고치기 전고친 뒤
가져온 모양공 (면 80개)캐릭터 (면 10,198개)
부피3.66㎥ (사람의 36배)0.14㎥
크기1.9 × 2.0 × 2.0m0.66 × 0.79 × 2.0m
부피 보존1.00 (공이라서)1.00 (진짜 캐릭터)
조각 수60/60 (공)47/50
볼록한 정도1.0 (완전한 공)0.307
무게8,781kg297kg + 낮추는 방법 안내

진짜 캐릭터만 넣었을 때 처음에는 보존율이 0.405였습니다. 부품끼리 서로 관통해서입니다. 느리지만 정확한 계산으로 넘기니 1.00이 됐습니다. 50조각에 약 100초 걸립니다.

4. 기존 것들은 그대로

결함 GLB 7종과 데모 건물 모두 조각 수와 부피 보존 1.00을 유지합니다. 자동 테스트는 36개에서 37개로 늘었고 전부 통과합니다. 새 테스트는 이 컴퓨터에 있는 실제 캐릭터를 씁니다(파일이 없으면 건너뜁니다).

깃허브 main 에 v0.6.2로 올렸습니다.

5. 남은 것