Community이미지github.com

tb-hoidz: Blender 그라디언트 매핑

컨셉 이미지의 팔레트 기반 그라디언트 UV 매핑을 사용하여 기존 Blender 게임 모델에 질감을 입힙니다. 사용자가 명시적으로 /tb-hoidz, $tb-hoidz 또는 tb-hoidz를 호출할 때만 작동합니다.

tb-hoidz: Blender 그라디언트 매핑란 무엇인가요?

tb-hoidz는 Blender MCP를 통해 기존 3D 모델에 팔레트 기반 그라디언트 UV 매핑을 적용하는 AI 어시스턴트 스킬입니다. 사용자가 '/tb-hoidz'를 명시적으로 호출할 때만 활성화되어 다른 질감 작업과 충돌하지 않도록 설계되었습니다. 이 스킬은 컨셉 이미지를 분석하고, 재료와 영역을 식별하며, 각 영역에 하나의 스트립이 할당되고 U 좌표가 중앙에 수축되는 최소 2px 여백의 팔레트 기반 그라디언트 UV 매핑을 생성합니다. 주요 워크플로우는 준비, 계획, 영역 할당, 베이스 매핑, 비교 및 QA 단계로 구성되며, 사용자 승인을 위해 베이스 매핑 완료 후 일시 중지됩니다. 내부적으로는 Blender MCP와 `scripts/gm_core.py`(버전 8+)를 사용하며, 장면 로컬 데이터 캐싱, 효율적인 일괄 읽기, 상태 서명 검증을 통해 성능을 최적화합니다. 이 스킬은 세부 매핑 전에 베이스 승인을 요청하고, 지오메트리 추가 시 사용자에게 세부 방법과 삼각형 비용을 묻습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/minhdv-zz/team-skills/tree/HEAD/plugins/tb-hoidz/skills/tb-hoidz

Installed? Explore more 이미지 skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Blender 그라디언트 매핑

워크플로우 개정 15. 사용자 언어로 응답하세요. 연결된 Blender MCP와 관리되는 scripts/gm_core.py(버전 8 이상)를 사용하고, 매핑 알고리즘을 유지하세요.

현재 단계에 필요한 것만 읽기

베이스 매핑의 경우, 가용 컨텍스트당 한 번씩 references/base-api.md와 references/reference-quality.md를 읽으세요. API를 찾기 위해 헬퍼 소스나 전체 워크플로우를 로드하지 마세요. 문서화되지 않은 인수에 대해서는 대상 서명/독스트링을 검사하고, 필요한 경우에만 관련 소스 함수를 읽으세요.

references/workflow.md는 프리셋, 선택적 계획 키, QA 설명 및 과거 예제에 대한 확장 참조입니다: 필요 시 관련 섹션을 읽으세요. SKILL_DIR는 이 진입점의 폴더입니다. 베이스 승인 후에만 references/detail.md를 읽으세요. 압축된 후 변경되거나 누락되지 않는 한 이미 컨텍스트에 있는 문서를 재사용하세요.

범위 및 안전장치

  • /tb-hoidz는 준비, 계획, 영역, 베이스 매핑, 비교 및 QA를 승인합니다. 간결한 계획과 팔레트 할당 공지를 짧은 시작 업데이트에 결합한 후 중간 확인 없이 계속 진행하고, 아래 통신 규칙을 따르세요. 세부 매핑 전 사용자 승인을 위해 베이스 완료 후 중지하세요. 지오메트리 추가는 사용자의 세부 방법 선택, 절단 방법 및 삼각형 비용이 필요하며, 기존 승인은 유지됩니다.
  • 제공된 컨셉과 대상을 재사용하고, 대상이 명확하지 않은 경우 선택된 메시를 재사용하세요. 누락된 입력에 대해서만 질문하세요. 컨셉을 임의로 만들거나, 에셋을 교체하거나, 기본적으로 중복을 가져오지 마세요.
  • 실행 시작 시 bpy.data.filepath를 작업 저장 대상으로 기록하세요. 라이브 오브젝트를 편집하세요. 파일이 변경되면 새 컨텍스트가 시작되며, 저장되지 않은 파일은 사용자의 첫 번째 저장 위치가 필요합니다.
  • 모든 면은 영역에 속합니다. 영역당 하나의 스트립, U는 중앙에 수축, 최소 2px U/V 여백. 기본적으로 상단-광원 법선과 높이를 결합하고, 높이 단독으로 사용하지 마세요. 적절한 하드/스무스 법선과 재료 응답을 사용하세요. 베이스 매핑 중 지오메트리를 유지하세요.
  • 계획, 개인 멤버십/증거, 기준 삼각형, 서명, QA 및 예외를 장면 로컬에 저장하세요. 영구 JSON, 이미지 내보내기 및 벤치마크 보고서는 선택사항이며 기본 제공물이 아닙니다. save_plan은 기본적으로 스킬 폴더를 사용합니다: 대신 명시적인 쓰기 가능 저장소를 사용하세요.

통신 및 미리보기

기본적으로 최소한의 채팅 내레이션을 유지하세요: 승인된 작업과 내부 검사를 수행한 다음 완료된 결과를 보고하세요. 계획, 의도된 팔레트 할당 및 알려진 대체 방안을 하나의 짧은 시작 업데이트에 결합하세요. 작업 중에는 일상적인 마일스톤 메시지, 색상 테이블, QA 덤프 및 반복적인 미리보기 설명을 피하세요. 더 높은 우선순위의 런타임 명령에 필요한 간략한 진행 업데이트만 제공하거나, 차단기, 필요한 사용자 결정 또는 재료 범위 변경을 신속하게 보고하세요.

전체 증거, 후보 및 보고서를 장면 로컬로 유지하고, 결정을 위해 간결한 도구 요약을 반환하세요. 도구가 명시적으로 지원하는 경우 내부 시각적 검사를 선호하세요. 도구가 채팅에 이미지를 자동으로 표시하는 경우 해당 제한을 수용하고, 필요한 캡처만 사용하며 해당 이미지를 설명이나 최종 응답에 다시 포함시키지 마세요. 숨겨진 미리보기 모드를 만들거나 채팅을 조용히 유지하기 위해 필요한 시각적 QA를 건너뛰지 마세요. 기본적으로 하나의 매핑된 개요를 사용하고, 추가 캡처는 불확실성을 해결하거나 의미 있는 수정을 확인하는 경우에만 필요합니다.

저장된 파일 및 더티 상태, QA 결과, 재료 제한 사항 및 보류 중인 세부 사항을 포함한 하나의 간결한 보고서로 마무리하세요. 기존 체크포인트에서 베이스 승인을 요청하세요. 저장 또는 필수 검사가 실패하면 실제 불완전한 상태를 보고하세요. 최소한의 내레이션만으로 속도 또는 토큰 절약이 입증되지는 않습니다.

베이스 매핑

  1. 연결 및 준비. get_addon_status를 한 번 호출하고 간결한 장면 사실을 가져오세요: 작업 경로, 메시, 세계 경계, 면/삼각형 개수 및 재료. 독립적인 읽기를 일괄 처리하세요. 이 스킬의 절대 스크립트 디렉토리에서 각 Blender 호출 시 헬퍼를 가져와 사용하세요. 첫 번째 가져오기 시 해당 디렉토리를 sys.path의 첫 번째에 넣고, 다른 경로의 gm 모듈을 제거하고 gm_core를 다시 로드하고, 확인된 경로/버전을 한 번 출력하세요(base-api.md). 이후 호출은 다시 로드하지 않고 가져옵니다. ensure_palette를 실행하세요. 지금 사용자 결정이 필요하지 않은 한 대체, 재연결 또는 재료 생성을 최종 보고서에 포함하세요. 다른 팀 팔레트의 스킬 복사본을 업데이트하기 전에 질문하세요. 시작 업데이트는 prepare_model(..., assign_material=True) 전에 팔레트 할당을 다루며, 별도의 루틴 공지를 피하세요.
  2. 매핑 전 재료 식별. 실용적인 경우 하나의 초기 발견 배치에서 대상 객체의 부품, 경계, 원본 UV 그룹 및 세계 공간 법선 요약을 수집하세요. 멤버십과 증거를 비공개로 저장하고, 결정 관련 부분만 요약하세요. 모호하거나 혼합된 부품 및 대표 패밀리에 대해 더 깊은 PCA/깊이/인접성 검사에 집중하고, 확인된 증거를 재사용하세요. 해결되지 않은 경계에 대해서는 추가 발견이 허용됩니다. 기하학적 단서를 컨셉 위치와 결합하세요. 발견은 의미 할당보다 먼저 이루어집니다. 할당하기 전에 불확실한 주요 부품을 감사하세요. 얇은 경계 상자는 넓은 시트 또는 대각선 로프를 설명할 수 있습니다: 주요 치수와 표면 범위 및 의미 위치를 검사하세요. 모양 힌트는 증거이며 재료 레이블이 아닙니다. 혼합 셸에 UV를 덮어쓰기 전에 surface_groups(..., uv_seams=True)를 캡처하세요. 규칙을 반복에 재사용하기 전에 하나의 대표 및 일치하는 구조를 확인하세요. 베이스 중 판/림, 캐비티/표면 및 랩/마스트 경계를 해결하세요. 모든 부품 또는 구조적으로 확인된 패밀리에 대해 reference-quality.md의 작은 부품 재료 게이트를 완료하세요. 작은 크기가 부품을 면제하지는 않습니다. 불확실한 할당은 매핑 전에 집중적인 발견이 필요합니다.
  3. 계획 및 할당. 측정되거나 명시적으로 추정된 컨셉 색상, 재료 및 값 계층 구조에 대해 reference-quality.md를 사용하세요. suggest_zone_colors로 전체 안전-V 검색을 일괄 처리하고, 2-3개의 후보와 선택된 색상을 비공개로 유지하며, 간결한 도구 요약과 결정이 필요한 문제만 내보내세요. 확인된 재료 감사 결과에서 영역을 할당하고, 매핑 전에 할당되지 않은 면과 불확실한 경계를 확인하세요. 적용 범위를 통과시키기 위해 포괄적인 기본 재료를 사용하지 마세요. 임시 할당은 확인될 때까지 명시적으로 불확실한 상태로 유지됩니다. 확인된 멤버십을 유지하세요. 누락된 엠블럼/판자는 향후 세부 사항으로 나열하세요.
  4. 매핑 및 비교. 계획을 적용한 다음 show_texture(light="FLAT")를 실행하세요. 색상을 검사하기 전에 팔레트와 미리보기 재료의 유효성을 검사하세요. 초기 전체-분홍색 스크린샷은 피하세요. 사전 매핑 이미지는 특정 지오메트리 질문에 답해야 합니다: 확인된 단순 단색 또는 임시 영역 색상을 사용하세요. 매핑 후 512-640px 개요 하나를 검사하세요. 감사된 패밀리의 의미적 경계 검토를 완료하세요. 개요에서 숨겨지거나 읽을 수 없는 소형 부속품 및 인터페이스를 포함합니다. 필요한 경우에만 대상 뷰를 사용하세요. 영향을 받는 객체/영역만 수정하고 이웃을 확인하세요. 선택적 실제 조명 피팅은 구체적인 해결되지 않은 불일치를 위한 것이며, 기본 전체 에셋 패스가 아닙니다. 또 다른 캡처는 문제를 해결하거나 의미 있는 수정을 확인해야 합니다.
  5. 최종 QA 및 저장. 최종 QA 전에 계획된 색상 및 경계 수정을 완료하세요. 매핑 중에는 전체 에셋 최종 QA 대신 간결한 적용 범위, 경계 및 영향 영역 검사를 사용하세요. 마지막 변경 후 모든 대상에 대해 qa와 qa_faces를 한 번씩 실행하세요. QA로 인한 수리는 영향 결과를 무효화합니다: 영향을 받은 대상에 대해 전체 객체 헬퍼를 다시 실행하고, 공유 종속성 변경의 경우 모든 사용자로 확장하세요. 오래된 QA로 저장하지 마세요. 실패를 수정하고, 의도적인 경고/예외를 문서화하세요. 적용 범위, 여백, 활성/렌더 UV, 실제 팔레트 셰이더 링크, 법선/조명 및 변경되지 않은 베이스 토폴로지를 확인하세요. 참조 비교와 재료 게이트 결과를 별도로 기록하세요: 데이터 QA가 올바른 재료 할당 또는 시각적 유사성을 증명하지는 않습니다. 불확실한 할당이 남아 있는 동안 베이스를 완전히 검증된 것으로 표시하지 마세요. 진정한 참조/토폴로지 제한 사항을 명시적으로 기록하세요. 임시 미리보기를 최종화하고, 팔레트를 패킹하고, 텍스처를 보이게 유지하고 base-api.md의 보호된 저장을 실행하세요. 저장된 경로/더티 상태, 보류 중인 세부 사항을 보고하고 베이스 승인을 요청하세요.

캐시 및 출력 규율

  • 종속 배치당 state_signature + compare_state를 한 번 실행한 후 캐시를 재사용하세요. 누락된 서명은 확인되지 않은 것입니다. 지오메트리 변경은 멤버십을 무효화하고, UV 변경은 원본 UV 증거를 무효화합니다. 공유 법선/팔레트/재료/변환/조명 변경은 범위를 확장합니다. 승인된 편집 후 서명을 새로 고치세요. 변경되지 않은 배치 내 독립적인 읽기 사이에 서명을 반복하지 마세요.
  • 전체 부품, 면 멤버십, 팔레트 데이터, 후보 및 QA를 장면에 유지하세요. 기본적으로 집계 개수와 최대 12개의 결정 관련 부품 행을 반환하고, 명명된 해결되지 않은 영역 또는 사용자 요청에 대해서만 확장하세요. 전체 팔레트 맵/스트립 카탈로그, 후보 목록, 면/정점 카탈로그 또는 장면 캐시를 인쇄하지 마세요. 빈 apply_plan 영역을 필터링하고, 원시 헬퍼 보고서가 아닌 매핑된 면 총계와 변경된 스트립을 반환하세요. 최종 QA 출력은 실패/문제 개수와 실행 가능한 경고와 함께 모든 대상을 다루고, 상세한 통과 보고서는 비공개로 유지하세요.
  • 하나의 MCP 결과 표현을 내보내세요: 가능한 경우 structuredContent, 그렇지 않으면 텍스트 콘텐츠. 이미지 블록은 별도로 전달하세요. 두 중복 표현 또는 이미지 데이터를 문자열화하지 마세요.
  • 독립적인 읽기와 호환 가능한 객체 작업을 일괄 처리하고, 종속 검사/편집은 순차적으로 유지하세요. 변경되지 않은 스크린샷, 장면 덤프 및 연결 폴링을 피하세요. 비교 가능한 측정 없이 토큰/시간 절약 주장을 하지 마세요.

실행 효율성

  • 실행 배치당 한 번 팔레트 맵을 로드하세요. 확인된 면 멤버십별로 part_evidence를 캐시하고, 중심과 크기에 대해 PCA를 별도로 다시 계산하지 마세요. 호환 가능한 읽기와 수정을 일걄 처리하면서 결정을 검토 가능하게 유지하세요. 관리되는 매핑 알고리즘을 유지하세요.
  • 캡처 전에 이미지/셰이더 유효성, 음영, 조명 및 프레이밍을 함께 설정하세요. 개요에서 구체적인 불일치를 수집하고 확인 전에 독립적인 수정을 일괄 처리하세요. 로컬 편집의 경우, 범위 밖의 UV/영역 데이터를 보존 및 확인하고 이웃 경계를 확인하며, 공유 종속성에 대해 범위를 확장하세요.
  • 가벼운 런타임 메트릭을 장면 로컬에 저장하세요: 대상/기준 정체성, 단계 초, 실제 도구 호출/캡처 횟수 및 최종 QA 상태. 기존 발견, 매핑/수정 및 QA/저장 작업 주변에 time.perf_counter()를 사용하세요. 실제 도구 호출을 오케스트레이션에서 계산하세요. 측정을 위해서만 호출을 추가하지 마세요. 사용할 수 없는 메트릭을 표시하고 Blender 실행 시간과 종단 간 경과 시간을 구분하세요. 동일한 컨셉/모델/초기 상태에서 요청된 경우에만 벤치마크를 수행하고, 품질과 시간을 모두 비교하세요. 출력 바이트를 토큰 절약과 동일시하지 마세요.

저장 및 복구

색상/UV 편집에는 세션 실행 취소와 Blender의 기존 백업 정책을 사용하고, 별도의 복구 파일은 없습니다. 작업 파일 업데이트는 승인되었지만 파일 시스템 경계는 여전히 적용됩니다. 허용된 저장 경로를 한 번 결정하고 재사용하세요. 허용되는 경우 연결된 Blender 도구를 선호하세요. 권한 상승이 필요한 경우, QA 후 구체적인 보호 저장에 대해서만 요청하세요. 실행마다 서버 소스를 재발견하거나 원시 TCP를 구현하지 마세요. 승인된 대체 방법은 설정된 라이브 호스트/포트를 사용해야 하며, 추측된 포트나 거부를 우회하는 경로를 사용하지 마세요.

지오메트리 편집 전에 copy=True를 사용하여 형제 _backup/<작업_파일명>_gm_recovery.blend에 복구 사본 하나를 저장하세요. 이 스킬 소유 슬롯만 재사용하세요. 해당 복구 저장에 대해서만 preferences.filepaths.save_version을 기록하고, 임시로 0으로 설정한 후 finally에서 복원하세요. 환경 설정을 유지하거나, 작업 저장 정책을 변경하거나, 사용자 백업을 제거하지 마세요. 절단 전에 권한 부여와 성공적인 복구 저장을 확인하고, 실패하면 지오메트리 작업을 중지하세요.

direct bpy 편집은 is_dirty=False를 남길 수 있습니다: 성공적인 명시적 저장 연산자, 일치하는 결과 파일 경로 및 저장 후 더티 검사가 필요합니다. 실패 시 롤백 상태를 유지하세요. 시각적 캡처를 사용할 수 없는 경우 데이터 QA를 완료하고, 시각적 충실도가 확인되지 않았음을 표시하고 라이브 검토를 위한 영역을 식별하세요.

관련 스킬