이미지 투 로우 폴리
사진 한 장을 입력하면, 삼각형 예산별로 편집 가능한 로우 폴리 메시 하나가 출력됩니다. 각 메시는 동일한 고정 카메라를 통해 사진과 비교되며, 네 가지 독립적인 방식으로 평가됩니다. 근사는 로우 폴리 지오메트리 자체가 수행합니다. 텍스처, 빌보드, 투사된 사진 또는 계산되지 않은 지오메트리는 형상을 대신하지 않습니다.
입력: 참조 이미지(절대 변경되지 않음), 피사체, 예산. 작업 예시: 저장소의 examples/cat/ (주황색 얼룩 고양이 한 마리, 예산 100 / 200 / 500 / 1000).
시작하기 전에
| 상황 | 수행할 작업 |
|---|---|
| 사진 한 장, 피사체 전체가 보이고, 배경이 단순함 | 기본 경로 |
| 네 발 달린 동물 | 제공된 프록시 템플릿(fit_camera_proxy.py, build_proxy.py)은 네 발 달린 고양이입니다; 사전 설정을 조정하세요 |
| 다른 모든 피사체 | 먼저 해당 피사체에 대한 프록시 템플릿을 작성하세요(부품별 일반화된 원통, catlib/skeleton.py 형식); 나머지 도구는 피사체에 독립적입니다 |
| 여러 장의 사진, 비디오, 스캔 | 범위 외: 단일 뷰, 단일 카메라 |
| 사용자가 색상이나 텍스처를 원함 | 평면별 단색만 가능합니다; 시작하기 전에 이 점을 알리세요 |
| Blender 없음 | 지원되지 않음: 계산, 조립 및 모든 공식 숫자에는 Blender 5.2+가 필요합니다 |
시작하기 전에 사진에 표시되지 않은 모든 것은 추론된 것이며 검증된 것이 아님을 알리세요.
워크플로우
아래 S는 skills/image-to-lowpoly/scripts를 의미합니다. 모든 스크립트는 --case CASE(또는 LOWPOLY_CASE)를 사용합니다. 각 체크포인트에 레이블이 지정된 이미지(오버레이, 클레이, 와이어, 8개 뷰)를 게시하세요: 이미지 먼저, 숫자는 나중에.
- 사례 및 참조.
CASE/reference/reference.png(사용자 이미지의 바이트 단위 동일 복사본)와 SHA-256이 포함된 출처 파일을 만드세요. 절대 다시 생성하거나, 크기를 조정하거나, 편집하지 마세요. - 고정 대상. 확대된 크롭을 보고 랜드마크와 이미지 윈도우에 주석을 달고(고양이의 경우 12개의 선명한 지점: 귀 끝, 눈, 코, 네 발 접촉점, 꼬리 밑동/중간/끝; 피사체에 맞게 목록을 조정),
python3 $S/preflight_reference.py --case CASE를 실행하세요.mask_overlay.png와landmarks_overlay.png를 확인하세요. 마스크는 바닥 그림자와 수염을 제외합니다. - 카메라 및 프록시.
fit_camera_proxy.py --case CASE(CPU, 수십 분 소요)를 실행한 다음,build_proxy.py,build_proxy.py --lock,build_proxy.py --report를 실행하세요. 8개 뷰 모두에서 프록시를 확인하세요: 숨겨진 모든 것에 대한 답입니다. 그런 다음 고정: 참조, 마스크, 랜드마크, 영역, 카메라, 씬, 프록시 및 평가 코드의 해시를 예산이 평가되기 전에contract/FROZEN.json에 기록하세요(references/contract.md). - 컨트롤. 모든 예산에 대해
make_decimation_baseline.py --case CASE --budget N을 실행하세요: 프록시를 정확히 N개로 디시메이트한 결과, 그리고 공유 리파이너를 거친 후의 동일한 결과. 이들은 깨야 할 숫자입니다. - 할당 및 구축, 예산별. 각 예산에 자체 워커와 디렉토리
variants/<N>/를 할당하세요(references/budget-worker.md). 할당 테이블(영역, 삼각형, 링 x 면, 이유)을 작성하고, 재료적으로 다른 할당을 최소 두 개 이상 구축하고, 각각 동일한 짧은 리파인먼트를 적용하고, 비교하고, 선택하세요.variants/<N>/build.py는 정확히 N개의 삼각형(어설트), 영역, 재료 및 랜드마크 부착물이 있는catmesh-1mesh.json을 작성합니다. 하나의 닫힌 표면: 팔다리, 꼬리, 귀를 몸체에 융접하세요. - 초기 체크포인트.
evaluate.py --case CASE --mesh variants/<N>/checkpoints/v0_initial/mesh.json --views를 실행하세요. 이것이 "초기" 행입니다. - 리파인, 측정, 확인, 편집, 반복.
refine_vertices.py(--flips,--freeze-verts(얼굴 및 동결된 키트용)),evaluate.py, 그런 다음ref_overlay.png,ref_clay.png,ref_wire.png및 8개 뷰를 확인하세요. 오버레이가 예산이 잘못 할당되었음을 보여주는 곳에 대상 지오메트리 편집을 수행하세요. 검증된 최상의 체크포인트를 유지하세요; 최신 버전이 반드시 더 나은 것은 아닙니다. - 블라인드 리뷰.
make_critic_packet.py --case CASE --round K는 사진과 중립적인 이름의 클레이, 와이어 및 윤곽선 렌더를 패키징합니다. 해당 폴더만 볼 수 있는 새로운 하위 에이전트를 시작하세요; 그 결과를 예산 중립적인 지오메트리 편집으로 전환하세요. 텍스처, 카드 또는 계산되지 않은 지오메트리에 대한 제안은 모두 거부하세요. - 마무리 및 집계.
finalize_variant.py --case CASE --budget N --checkpoint TAG --reason "..."는 체크포인트를 복사하고 재평가합니다;aggregate_metrics.py는 예산 간 테이블을 구축하고 해시 또는 개수가 일치하지 않으면 거부합니다;make_comparison.py는 시트를 만듭니다. - 보고 및 중지. 네 가지 카운트가 포함된 클레이/와이어 시트, 예산별 초기, 최종 및 두 컨트롤 테이블, 할당 테이블, 리뷰어 판정 및 잘못된 점을 제시하세요. 설계된 메시가 컨트롤을 능가하지 못하는 경우를 명시하세요. 사용자가 다음 단계를 결정합니다.
- 타임랩스 (선택 사항). 구성 단계(
--stages-dirin your build script) 및 최적화 프로그램 스냅샷(refine_vertices.py --snapshot-dir DIR --snapshot-every K)을 기록한 다음timelapse/timelapse.py --case CASE를 실행하세요: 고정 카메라를 통해 사진 위에 그려진 메시.
엄격한 규칙
- 카운트는 평가되고 내보내진 지오메트리입니다. 네 가지 카운트(메시 파일, 모든 객체에 대해 평가된
.blend, 재가져온 GLB, 파싱된 GLB)가 일치해야 하며 최대 N개여야 합니다; 정확히 N개를 목표로 하세요. Blender의 폴리곤 카운트는 절대 사용하지 마세요(references/counting.md). - 어떤 것도 삼각형이나 형태를 숨기지 않습니다. 삼각형만, 단일 객체, 수정자 없음, 세분화, 곡선, 헤어, 인스턴스, 알파 카드, 중복 또는 변형 패딩, 빌보드 또는 평평한 실루엣 돌출 없음.
- 대상은 절대 움직이지 않습니다. 참조, 마스크, 랜드마크, 윈도우 및 카메라는 한 번 만들어지고 해시됩니다. 진정한 수정 사항은 공개되고 모든 예산이 재평가됩니다.
- 단일 숫자로 결정하지 않습니다. IoU, 경계 거리, 랜드마크 및 다리 간격이 서로 모순되어서는 안 되며, 클레이 및 8개 뷰가 더 좋아 보여야 합니다. 더 나은 점수이지만 형태가 더 나쁜 경우는 회귀입니다.
- 융접하고, 관통하지 마세요. 묻힌 삼각형은 예산 낭비이며 연결 부위가 드러납니다.
- 최적화 프로그램은 공유됩니다; 할당이 실험입니다. 동일한 리파이너, 모든 예산 및 컨트롤에 사용 가능한 동일한 설정.
- 랜드마크는 지오메트리와 함께 움직입니다. 랜드마크는 이름이 지정된 특징에 부착됩니다; 숫자를 개선하기 위해 부착 지점을 절대 미끄러뜨리지 마세요.
- 한 번에 하나의 렌더만.
render_variant.py만 렌더링하며, 자체적으로 락을 획득합니다. - 재료는 절대 형태로 간주되지 않습니다. 해부학적 의미를 지닌 평면별 단색; 클레이 및 실루엣으로만 지오메트리를 순위를 매기세요.
- 무엇이 아닌지 말하세요. 추론된 숨겨진 면; 컨트롤과 동률인 결과는 동률입니다; 머리와 얇은 부분은 이러한 메시가 가장 약한 부분입니다.
참고 자료
| 파일 | 읽어야 할 때 |
|---|---|
references/contract.md | 사례 설정: 레이아웃, 단위, 카메라, 메시 형식, 메트릭, 렌더, 프록시, 랜드마크, 헤드 키트 |
references/budget-worker.md | 하나의 예산 위임 또는 수행: 절차, 우선순위, 확인해야 할 사항 |
references/counting.md | 네 가지 방법의 카운트, 하드 실패, 공개되는 사항 |
references/lessons.md | 고양이 실행에서 잘못된 점과 각 실패가 만들어진 규칙 |