polywright-generate은(는) 무엇을 하나요?
두 가지 엔진이 상상된 모델을 만듭니다: 코드(정확하고, 수정 가능하며, 날카롭고, 치수가 있음)와 생성기(유기적이고, 빠르며, 근사적이고, 지저분한 토폴로지). 객체에 따라 선택하되 습관적으로 선택하지 마십시오. 허브로 돌아가기: ../polywright/SKILL.md. 라이선스와 VRAM이 포함된 모델 표: references/generators.md. 코드 패턴: references/code-modeling.md.
1단계: 코드 또는 생성기?
| 객체 | 엔진 |
|---|---|
| 치수가 있고, 다른 것과 맞물리며, 대부분 평면과 원통으로 구성됨(브래킷, 케이스, 선반, 건물, 표지판, 상자) | 코드: build123d, CadQuery 또는 OpenSCAD(출력 및 CAD 부품용); bpy(게임 키트 및 건물용) |
| 하나의 사물에 대한 많은 변형(울타리, 집, 바위, 숲) | 절차적 코드(bpy, Geometry Nodes) - 소수의 히어로 에셋 기반 |
| 유기적이거나 조각적인 일회성(조각상, 생물, 캐릭터, 나무 줄기, 음식) | 생성기 - 참조 이미지 또는 다중 뷰 세트 기반 |
| 애니메이션을 적용할 캐릭터 | 생성기로 형태 생성 후 리토폴로지와 리깅(polywright-finish) |
| 사진이 있는 실제 객체 | 먼저 polywright-capture 시도; 생성기는 숨겨진 면을 추측함 |
디퓨전은 날카로운 모서리를 둥글게 만들고 치수를 임의로 생성합니다. 코드는 사자 얼굴을 조각할 수 없습니다. 많은 좋은 모델은 두 가지를 모두 사용합니다: 코드로 만든 받침대에 생성된 사자 머리 주둥이가 불린 결합된 형태.
2단계: 생성기
- 먼저 참조 준비(polywright-references): 흰 배경에 깨끗한 이미지 하나, 평평한 조명, 투시가 거의 없음, 1024px; 캐릭터의 경우 A-포즈; 더 나은 뒷면을 위해 동일한 스케일의 앞/왼쪽/뒤/오른쪽 세트.
python ../polywright/scripts/pw.py doctor는 ComfyUI 호스트와 해당 3D 체크포인트를 보여줍니다.- 하나를 실행하세요:
- 내장 Hunyuan3D-2(형태만, 16GB 카드에서 약 100초, 30스텝, octree 256):
pw.py gen --image refs/front.png [--left L --back B --right R] --out work/raw.glb [--seed N] - 다른 ComfyUI 워크플로우(API 형식 또는 편집기에서 저장된 형식; 템플릿 파일은 그대로 작동하며, pw.py가 호스트의 노드 정의로 변환):
pw.py gen --image refs/front.png --workflow <file> --out work/raw.glb. PBR 텍스처가 있는 TRELLIS.2 및 Pixal3D: ComfyUI의 템플릿3d_pixal3d_trellis2_image_to_model.json(ComfyUI 설치 폴더의comfyui_workflow_templates_json/templates에 있음); 기본적으로 Pixal3D를 선택하므로 TRELLIS.2를 원하면--set 316.value=true를 추가하세요. 16GB 카드(GPU 시간): TRELLIS.2 377초(콜드 스타트), 73~190초(웜 스타트), 직립, 최고 디테일; Pixal3D 329초, 카메라 프레임 내(기울어짐:pw.py convert IN OUT --level); 둘 다 약 70만 개의 삼각형과 4096px PBR 텍스처; Hunyuan3D-2 99초, 형태만.--set NODE.input=VALUE로 모든 입력을 변경할 수 있습니다. - 호스팅 API(Meshy가 가장 명확한 공개 가격표 보유; Tripo, Rodin, Hunyuan 3.x): 자체 API 또는 MCP, 또는 ComfyUI의 파트너 노드를 통해 사용. 비용을 지출하기 전에 비용을 알리십시오.
- 내장 Hunyuan3D-2(형태만, 16GB 카드에서 약 100초, 30스텝, octree 256):
- 모든 실행은
<out>.gen.json파일을 기록합니다(호스트, 모델, 시드, 스텝). 모델과 라이선스를 기록하세요:pw.py manifest <dir> --add-tool "<model>" --tool-version <v>. - 검사:
pw.py inspect work/raw.glb후pw.py render work/raw.glb --out renders/raw. 시트를 참조와 비교하세요: 뒷면과 아래쪽은 추측이며, 추가 팔다리, 녹아내린 얇은 부분, 융합된 틈이 흔합니다. 수동 수정 전에 다른 시드나 더 나은 뷰로 재생성하세요. 칠해진 글자와 숫자는 번져서 얼룩이 지고 색상이 변합니다:pw.py mark가 표시를 지우고 다시 그리며 색상을 사진의 색상으로 이동시킵니다(L-003; 비디오용 그림).
원시 출력물은 스케일이 없고, 밀도가 높으며(수십만 개의 삼각형), 종종 비다양체이고, UV가 없으며, Y-up입니다. 그 자체로 게임 준비가 되지 않았으며 인쇄 준비도 되지 않았습니다: 스케일과 마감 작업을 수행하세요(polywright-finish, polywright-print).
3단계: 코드
명명된 부품으로 실제 치수를 사용하여 객체를 빌드하는 스크립트를 작성하고, 실행하고, 살펴보고, 수정하세요:
- bpy:
pw.py bpy build.py -- --out work/model.blend(Blender 버전에 따른 트랩: polywright-blender). - 솔리드용 build123d, CadQuery(Python) 또는 OpenSCAD(
openscad -o out.stl model.scad, Manifold 백엔드): 구조상 수밀(Watertight), CAD용 STEP 및 인쇄용 STL 또는 3MF 내보내기.
스크립트에 검사 항목(전체 크기, 부품 간격, 벽 두께, 부품 수)을 넣고 출력하세요; 에이전트는 트레이스백으로 인한 충돌은 잘 수정하지만, 형상 오류는 측정과 렌더링을 통해서만 수정할 수 있습니다. 트레이스백 발생 시 두 번 재시도 후 다시 구상하세요.
4단계: 생성되거나 코딩된 메시의 텍스처
TRELLIS.2와 Pixal3D는 워크플로우에서 PBR 텍스처를 구워냅니다. 텍스처가 없는 메시의 경우: TRELLIS.2의 형상 조건부 텍스처 단계, StableGen(ComfyUI 백엔드의 Blender 애드온, GPLv3)이 카메라에서 SDXL, Flux 또는 Qwen Image 2.1을 투영함(0.4.0은 마스크 영역 재텍스처링과 SkinTokens 자동 리깅 추가; Qwen Image 2.1 및 FIBO 2.0 Edit는 비상업적, MOSS Image는 Apache-2.0), 또는 CC0 라이브러리의 일반 재료(polywright-references). Hunyuan 2.1 페인트는 약 21GB가 필요합니다.
라이선스 (실행 시마다 기록)
TRELLIS.2, Pixal3D, TripoSG, PartCrafter: MIT. Hunyuan3D 오픈 가중치: Tencent 커뮤니티 라이선스(EU, 영국 또는 한국에서 라이선스되지 않음; 100만 MAU 제한; 출력물로 다른 모델을 훈련시킬 수 없음). SF3D 및 SPAR3D: Stability 커뮤니티 라이선스(매출 100만 달러 미만까지 무료). 호스팅: 요금제 약관. 연구 전용 가중치(PartPacker, Lyra, CHORD)는 출시되는 모든 것에서 제외됩니다. 스토어는 AI 공개를 요구합니다(polywright routes reference).
유지보수
Evergreen 유닛, 티어 fast(모델과 라이선스는 매월 변경됨). 동반 파일: RESEARCH.md, CHANGELOG.md, LEARNINGS.md, TESTS.md(evals/evals.json 포함), MAINTENANCE.md, 상태는 evergreen.json에 저장. 각 사용 시 evergreen.json을 읽고, 갱신 시점이 되면 새로고침하세요.