Image 2 Sculpt (이미지 투 스컬프트)
하나의 이미지를 넣으면 증명 가능한 조각이 나옵니다: 이미지가 보여주는 모든 표면은 해당 이미지 자체의 노멀, 외곽선, 깊이에 맞춰지고, 숨겨진 모든 표면은 서로 먼저 일치해야 하는 생성된 뷰에서 비롯되며, 빌드의 모든 단계는 Blender에 기록되고 재생됩니다.
입력 라우팅
모든 입력은 동일한 케이스 레이아웃(i2s.py new CASE --input ...)으로 끝납니다. 자세한 내용은 references/inputs.md를 참조하세요.
| 입력 | 수행할 작업 | 참고사항 |
|---|---|---|
| 캐릭터/생명체/객체 렌더링 또는 AI 이미지 | new → run | 주요 경로 |
| 실제 객체 사진(피규어, 장난감, 제품, 조각상) | new --kind photo → run | MoGe가 실제 초점 거리와 깊이를 제공 |
| 투명 배경이 있는 컷아웃 PNG | new → run | 알파 채널이 마스크 역할, 별도 마스크 호출 불필요 |
| 여러 물체가 있는 복잡한 이미지 | prep --select "the red dragon" | SAM-3가 주제를 선택 |
| 드로잉, 스케치 또는 평면 일러스트 | prep --restyle | nano banana가 자세를 유지하면서 먼저 3D 렌더링으로 변환 |
| 같은 객체의 여러 사진 | views --import DIR | 사진이 생성된 뷰를 대체, 각도는 등록으로 찾음 |
| 아이디어만 있음 | imagine OUT.png "idea" → new | 시작할 깔끔한 전신 렌더링 |
| API 키 없음 | 컷아웃 PNG (+ 자신의 뷰) | 전면만으로도 작동: 실루엣이 팽창되고 뒤쪽 깊이는 추측 |
워크플로우
모든 체크포인트(checks/sheet_*.png, 뷰 시트, 턴테이블 프레임)에 라벨이 붙은 시각 자료를 게시합니다: 이미지 우선, 숫자는 그 다음. 수정 라운드는 단계를 추가할 뿐, 기록된 것은 절대 편집되지 않습니다.
- 스캐폴드.
i2s.py new CASE --input IMG --subject "짧은 명사구". 이미지를 보고 직접 주제 구문을 작성하세요("땅딸막한 만화 트롤", "세라믹 올빼미 장식품"): 이 구문은 모든 뷰 프롬프트에 사용됩니다. 입력은 sha256과 함께 복사되고 가장 가까운 생성기 종횡비로 패딩되어 모든 뷰가 하나의 렌즈를 공유합니다. - 전면 맵.
i2s.py prep CASE(마스크, MoGe-3 깊이 + 초점 길이, Marigold 노멀; 단위는 주제에 맞게 정규화). 계속 진행하기 전에ref/front_mask.png와ref/front_normals.png를 확인하세요. 잘못된 주제 선택 →--select. 드로잉 →--restyle. - 뷰.
i2s.py views CASE(9개 뷰 + 1개 홀드아웃, 약 $2 예상;--set minimal은 5개). 생성된 모든 이미지를 살펴보세요: 자세 변경, 추가 팔다리, 잘린 주제는 잘못된 뷰입니다. 등록은 다른 뷰의 헐과 IoU < 0.80인 뷰를 거부하지만, 본인이 본 것을 말하세요. 어떤 뷰도 보지 못하는 영역은 더 많은 스무딩(references/views.md)이 아닌, 해당 영역을 들여다볼 각도의 새 뷰가 필요합니다(--angles "-30:25"). - 헐.
i2s.py hull CASE: 모든 뷰의 등록(요청된 각도는 사전 정보일 뿐: 좌우 반전은 찾아내고, 앞/뒤는 유지), 재중심 정렬, 스크리닝, 기록된 조각, 대칭 감지.case.json에서 등록된 각도를 읽으세요;i2s.py symmetry CASE on|off는 감지된 대칭 평면을 재정의합니다. - 피팅.
i2s.py fit CASE --stage all(형태 → 표면 → 디테일, 38회 기록된 패스), 그런 다음cut(사진에 보이는 손가락, 다리, 팔과 몸 사이의 틈을 엶),smooth(웹과 잡티 제거),fit --stage polish.i2s.py run CASE는 이 기본 계획으로 2-8단계를 순서대로 실행합니다(references/fitting.md). - 확인 및 반복.
i2s.py check CASE는 뷰별 시트(참조, 참조 노멀, 조각, 노멀 오류, 실루엣 차이)를 작성합니다. 덩어리, 웹, 누락된 틈, 납작해진 특징을 찾으세요.parts CASE --prompt "hands"로 타겟팅한 후fit --stage focus --region hands,cut --region hands,smooth --region box:...를 실행하세요(references/checking.md). 수정 전/후 시트 없이 수정을 주장하지 마세요. - 마무리, Blender, 필름.
finish(페이셋 스무딩, OBJ/STL),blender(모든 단계가 사진의 카메라에서 재생, 360° 턴테이블, 각 뷰,sculpt.blend, GLB),film(360° 회전으로 끝나는 2패널 타임랩스, 턴테이블, 뷰 시트, 히어로 이미지) (references/blender-and-delivery.md). - 보고서 및 중지.
report는out/REPORT.md,out/index.html및 단계별 차트를 작성합니다. 타임랩스, 뷰 시트 및 측정된 테이블을 제시하고, 약한 부분을 말한 후 중지하세요. 사용자가 다음 단계를 결정합니다.
엄격한 규칙
- 사진은 보이는 것을 지배합니다. 생성된 뷰는 사진이 보지 못하는 부분만 채웁니다; 생성된 뷰의 깊이는 절대 사용되지 않습니다(뷰 간에 센티미터 단위로 불일치). 생성된 뷰의 노멀을 사진의 노멀 위에 절대 평균화하지 마세요.
- 모든 뷰를 등록하고, 요청된 각도를 절대 신뢰하지 마세요. 생성된 뷰는 트롤의 경우 20-155°까지 벗어났으며, 주로 좌우 반전이었습니다. 검색은 이를 허용하지만 전면 뷰는 앞쪽에, 후면 뷰는 뒤쪽에 유지합니다(대칭 주제의 뒷면은 앞면과 외곽선이 비슷함).
case.json에서 등록된 각도를 읽으세요. - 조각하기 전에 스크리닝하세요. 다른 뷰와 일치하지 않는 뷰는 다른 주제나 자세입니다: 조각을 자르기보다는 거부하고(그렇게 말하세요).
- 하나의 뷰를 홀드아웃하세요. 이 뷰는 표면을 절대 움직이지 않으며, 피팅 전에 카메라가 고정됩니다. 피팅에 사용된 뷰와 별도로 보고하세요. 생성된 뷰이므로 일관성을 측정할 뿐, 진실을 측정하는 것은 아닙니다.
- 눈으로만 평가하지 말고 측정하세요. IoU, 외곽선 거리, 노멀 각도, 참조의 거칠기와 비교한 거칠기, 사진의 깊이. 단일 숫자는 '품질'을 대표하지 않습니다: 나란히 보고하세요.
- 거리 필드는 정확하게 유지하세요. 모든 연산은 그리드를 재-거리화합니다(밴드 내 정확한 삼각형 거리, 그 외에는 EDT). 부정확한 필드를 오프셋하거나, 필드 자체를 미러링하거나, 노멀 타겟을 블러링하면 이 케이스가 구축된 기준으로 계단 현상, 모아레 링, 납작해진 코가 발생했습니다(
references/lessons.md). - 모든 것을 기록하세요. 모든 조각, 패스, 컷, 스무딩은
build/steps/및build/log.jsonl의 단계이며, Blender에서 재생되고 타임랩스에 표시됩니다. 기록된 단계를 절대 편집하지 말고 새 단계를 추가하세요. - 유료 호출: 모든 Fal 호출은 케이스 예산(
settings.budget_usd)을 거치며, 요청 ID는 대기 전에case.json에 저장되고, 맹목적으로 재전송되지 않습니다.FAL_KEY는 절대 출력되거나 기록되지 않습니다. - 모든 체크포인트에서 시각적 피드백, 그리고 모든 필름의 프레임 0은 완성된 썸네일입니다.
- 무엇이 생성되었는지 말하세요. 전면에서만 본 주제의 뒷면은 생성기의 추측입니다.
참고 자료
| 파일 | 읽어야 할 때 |
|---|---|
references/inputs.md | 특이한 입력 라우팅; 마스크, 리스타일, 선택, 가져온 사진, 아이디어 전용 |
references/views.md | 뷰 생성, 판단, 등록, 스크리닝 및 추가 |
references/fitting.md | 패스의 기능, 단계, 매개변수, 컷/스무딩/포커스, 기본 계획 |
references/checking.md | 맵 시트 및 메트릭 읽기, 홀드아웃 뷰, 다음 수정할 사항 |
references/blender-and-delivery.md | Blender 재생, 필름, 내보내기, 보고서, 리뷰 페이지 |
references/conventions.md | 월드 프레임, 카메라, 단위, 파일 형식(새 도구 작성용) |
references/lessons.md | 첫 번째 케이스에서 잘못된 점과 위 규칙이 존재하는 이유 |
템플릿: templates/CONTRACT.md (모든 케이스에 복사됨), templates/acceptance.json (타겟).