프로젝트 로드:InputNode를 사용하여 .json, .atlas, .png 파일을 로드하세요.
프리셋 선택(Plus 모드): Plus 모드에서는 오른쪽 패널에서 내장 프리셋(예: "Basic Fallback") 중 하나를 선택하세요. 그러면 최적화 그래프가 자동으로 구성됩니다. Free 모드에서는 최소한의 수동 그래프를 구성하세요: InputNode → QuantizerNode → OutputNode.
그래프 실행: "그래프 실행" 버튼을 클릭하세요.
결과 비교: "보기" 탭으로 전환하여 원본과 최적화된 애니메이션을 시각적으로 비교하세요.
변경 사항 확인: "결과" 및 "통계" 탭에서 어떤 키가 수정되었거나 삭제되었는지에 대한 자세한 정보를 확인할 수 있습니다.
소켓 타입 & 데이터 흐름
소켓유형데이터연결
이 글은 노드 그래프의 소켓에서 사용되는 데이터 타입과, 어디에 무엇을 연결할 수 있는지 설명합니다.
간단한 규칙
대부분의 처리 노드는 Spine Payload를 대상으로 동작합니다. 아틀라스 관련 노드는 Atlas Project 또는 Sprites를 대상으로 동작합니다. 소켓이 무엇을 기대하는지 확실하지 않다면 ValidatorNode를 사용하세요.
소켓 타입
Spine Payload — 대부분의 처리 노드가 사용하는 Spine 프로젝트의 런타임 친화적 표현입니다.
Atlas Project — 아틀라스 노드에서 사용하는 아틀라스 메타데이터 + 페이지 이미지입니다.
Spine2D 실험 1: RDP 알고리즘으로 곡선 최적화 — Spine 2D 기본 최적화 데모: Ramer–Douglas–Peucker(RDP) 알고리즘이 중복 곡선/키 데이터를 제거해 JSON을 줄입니다. RDP는 중요한 키를 제거할 수 있으므로 항상 애니메이션을 확인하고 RDP 노드 전에 필터 노드로 민감한 본/슬롯을 제외하세요. YouTube에서 보기
Spine2D 실험 2: 양자화 알고리즘으로 곡선 최적화 — 양자화는 가장 안전한 곡선 최적화입니다. 값을 반올림(보통 소수 1자리)하면 즉시 용량이 줄어듭니다. 예: [0.115,14.5,0.222,-27.78] → [0.1,14.5,0.2,-27.8]. 최종 단계로 출력 노드 바로 전에 Quantizer 노드를 배치해 최적화를 고정하세요. 영상에서 거의 보이지 않는 시각적 변화의 전/후를 보여줍니다. YouTube에서 보기
Spine2D 실험 3: Spline과 Refit으로 곡선 재구성 — Spline은 직선 구간에 대해 무손실(중간의 중복 키 제거)이며, Refit은 손실형이지만 강력합니다. 복잡한 구간을 하나의 베지에 곡선으로 재구성합니다. 이 알고리즘은 물리 베이킹과 Schneider 노드로 정리한 뒤에 이상적입니다. 참고: Refit 반복이 100을 넘으면 최적 곡선을 찾는 데 몇 분이 걸릴 수 있습니다. 영상에서 두 방법과 최적화 비율을 보여줍니다. YouTube에서 보기
Spine2D 실험 4: 어태치먼트 가시성과 Cleanup 노드로 중복 데이터 제거 — 어태치먼트 가시성과 Cleanup 노드를 활용한 구조적 Spine 2D 최적화. 어태치먼트 가시성은 알파가 0이 되면 어태치먼트를 비활성화하고 페이드 인 시 복원하여 드로우콜과 중복 키를 줄입니다. Cleanup은 논리적 중복(미사용 색/알파 트랙, 제약에 의해 완전히 제어되는 IK 회전 키, 패스 제약 키)을 제거합니다. 영상에서 이런 로직 기반 최적화가 곡선 단순화와 어떻게 다른지 보여줍니다. YouTube에서 보기
Spine2D 실험 5: 비선형 파이프라인 구성(필터와 Merge) — 비선형 최적화: 필터(애니메이션/본/슬롯/파라미터/스킨)로 데이터 스트림을 분기하고, 병렬 브랜치에서 서로 다른 알고리즘을 실행(예: 몸 본은 강한 압축, 얼굴 애니메이션은 무손실 유지)한 뒤 Merge 노드로 하나의 스켈레톤으로 합칩니다. 단순한 입력 → 최적화 → 출력 파이프라인을 넘어 최적화가 필요한 부분만 타겟팅할 수 있습니다. YouTube에서 보기
Spine2D 실험 6: 텍스처 재패킹 및 선택적 스케일링 — 고급 텍스처 최적화 파이프라인. Atlas Unpacker/Repacker 노드로 아틀라스를 그래프 안에서 언팩, 리사이즈/압축, 리팩까지 수행해 기존 Spine 작업 흐름보다 빠릅니다. 비선형 파이프라인으로 자산을 분리하고 캐릭터 텍스처는 100% 유지, 다른 텍스처는 25%로 축소한 뒤 하나의 공유 아틀라스로 합칠 수 있습니다. Atlas/Asset Viewer 노드는 각 단계에서 시각적 검사와 필터링을 제공합니다. 리사이즈 목표 설정, 선택적 처리, 재사용 가능한 템플릿화가 쉬워집니다. YouTube에서 보기
Spine2D 실험 7: Scale 노드로 즉시 스켈레톤 조정 — 종단 간 Spine 2D 최적화 파이프라인과 스켈레톤 스케일링. Scale 노드는 번거로운 Spine 작업 흐름(내보내기/가져오기, 리팩/언팩, 경로 수정)을 하나의 그래프 단계로 대체합니다. 목표 크기를 설정하고 뷰포트에서 즉시 미리보기한 뒤 실시간으로 반복 조정할 수 있습니다. 영상은 곡선/키 최적화, 자산 처리, 스켈레톤 리사이징을 하나의 간결한 파이프라인으로 보여줍니다. YouTube에서 보기
Spine2D 실험 8: 공개 베타 노드 개요 — 공개 베타에서 제공되는 모든 노드와 re‑polish가 애니메이터와 개발자 요구를 어떻게 연결하는지에 대한 안내입니다. 중복 키 정리, 베지에→선형 단순화, 용량 절감을 위한 반올림, 보이지 않는 어태치먼트 제거, 미사용 속성 정리, 비영문 문자 감지, 아틀라스 언팩/필터/스케일/리팩을 포함합니다. 듀얼 뷰로 시각적 결과와 FPS를 나란히 비교 검증합니다. 공개 베타는 re-polish.com에서 이용 가능합니다. YouTube에서 보기
Spine2D 실험 9: 물리 제약을 키프레임으로 베이크 — 이 영상에서는 물리 제약을 표준 키프레임으로 베이크하는 최신 실험을 보여줍니다. 새로운 베이크 알고리즘은 다음을 보장합니다: 완벽한 루프(시작과 끝 프레임 사이의 지터/점프 없음), 최적화된 파일 크기(자동 커브 정리로 JSON 크기를 원본에 가깝게 유지), 하위 호환성(베이크된 키로 Spine 4.2 물리 애니메이션을 Spine 4.1 또는 4.0에서도 사용 가능). YouTube에서 보기
Nodes
Input
Spine 프로젝트 파일, JSON 전용 입력, 데모 에셋 및 ZIP 패키지를 그래프로 가져옵니다.
용도: 대부분의 워크플로에서 사용하는 기본 진입점입니다. JSON, atlas, 텍스처를 읽어 후속 노드가 처리할 수 있는 내부 데이터로 정규화합니다.
지원 모드:
1. 전체 프로젝트: JSON + atlas + 텍스처
2. JSON 전용: atlas 없이 skeleton/animation 데이터를 처리
3. ZIP 패키지: 완전한 프로젝트가 들어 있는 패키징된 zip
4. 데모 에셋: 빠른 테스트를 위한 내장 샘플 데이터
주요 출력:
- **payload_out**: 최적화 노드를 위한 정규화된 데이터
- **original_json_out**: 비교 또는 재구성을 위한 원본 JSON
- **atlas_project_out**: 텍스처가 제공될 때 파싱된 atlas 프로젝트
Picture Input
독립적인 PNG/JPEG 이미지를 뷰포트에 추가해 더 깔끔한 미리보기와 프레젠테이션 샷을 만들 수 있게 합니다.
용도: 이 노드를 사용하면 이미지를 프레젠테이션 레이어나 시각적 보조 요소로 뷰포트에 직접 배치할 수 있습니다. 장면을 꾸미고, 보조 그래픽을 추가하고, 동영상이나 데모를 녹화하기 전에 프로젝트 미리보기를 더 다듬어진 모습으로 만들고 싶을 때 유용합니다.
워크플로: 이미지 하나를 불러온 다음 뷰포트 도구로 크기를 조절하고, 이동하고, z-index를 조정해 구도 안에 올바르게 배치합니다. 이렇게 하면 주요 Spine 프로젝트 데이터를 건드리지 않고도 매력적인 쇼케이스 샷을 쉽게 만들 수 있습니다.
이 노드는 독립형이며 그래프 소켓을 노출하지 않습니다.
Output
최종 결과를 수집하고 최적화된 데이터를 개별 파일, 묶음 파일 세트 또는 아카이브로 다운로드할 수 있게 합니다.
용도: 최적화된 JSON, atlas 데이터, 텍스처, 스프라이트의 내보내기 허브 역할을 합니다. 단일 JSON/atlas/텍스처 세트, 여러 파일 세트, 또는 전체 Spine 프로젝트를 다시 빌드하지 않고 이미지 출력만 원할 때는 스프라이트만으로도 결과를 조합할 수 있습니다.
내보내기 옵션:
- 파일을 개별적으로 또는 하나의 아카이브로 다운로드
- 패킹된 결과 또는 언패킹된 파일이 포함된 아카이브 다운로드
- JSON을 압축 형식 또는 읽기 쉬운 pretty-print 형식으로 내보내기
- 전체 Spine 프로젝트 데이터 또는 스프라이트/이미지 결과만 내보내기
체이닝 워크플로: OutputNode가 그래프의 절대적인 끝일 필요는 없습니다. 출력을 다른 파이프라인 단계로 넘기고 같은 파일에 추가 최적화 패스를 실행할 수 있습니다. 실제로 key와 curve 최적화는 최대 3회 연속 반복까지 테스트되었습니다.
주요 출력:
- **reconstructed_json_out**: 재구성된 Spine JSON
- **original_json_passthrough_out**: 원본 JSON의 패스스루
- **payload_out**: 추가 체이닝을 위한 payload
- **changes**: 수집된 최적화 변경 사항
- **atlas_assets**: 내보내기 준비가 된 atlas 리소스
RDP
애니메이션 곡선을 단순화합니다(RDP).
목적: 직선 또는 거의 직선인 애니메이션 구간에서 두 점을 잇는 직선 위의 점을 제거해 키프레임 수를 줄입니다.
황금 규칙: 기본적으로 비활성화되어 있습니다. 형태가 큰 곡선(면적/곡률)이 직선화되는 것을 막아줍니다. 더 강한 압축이 꼭 필요할 때만 시각 검토 후 비활성화하세요.
소켓 키: payload_in, payload_out, changes
목적: 허용 오차 내에서 더 적은 곡선으로 맞춥니다。
소켓 키: payload_in, payload_out, changes
Quantizer
키프레임 및 곡선의 숫자 값 정밀도를 줄입니다.
목적: 지정된 소수 자릿수로 숫자를 반올림하여 파일 크기를 줄이는 간단하지만 효과적인 방법입니다.
사용법: 거의 모든 애니메이션 데이터에 적용할 수 있습니다. 키프레임 수가 많을수록 더 효과적입니다.
주의: 너무 공격적인 양자화(낮은 정밀도)는 애니메이션에서 떨림이나 시각적 아티팩트를 유발할 수 있습니다.
Cleanup
중복되거나 불필요한 애니메이션 데이터를 제거하기 위해 다양한 정리 작업을 수행합니다.
목적: 다른 최적화기가 놓칠 수 있는 특정 종류의 중복 데이터를 제거하기 위한 전문 도구입니다.
사용법: payload를 'payload_in'에 연결하고 결과를 'payload_out'에서 받으세요. 변경 사항별 보고서가 필요하다면 'changes'도 함께 사용하세요.
소켓 키:
- 입력: payload_in
- 출력: payload_out, changes
현재 지원하는 정리 작업:
1. **사용하지 않는 색상/알파 트랙 제거**: 애니메이션 동안 한 번도 보이지 않는 슬롯의 color/alpha 타임라인을 제거합니다.
2. **중복 IK 회전 제거**: IK 제약(믹스 100%)에 의해 완전히 제어되는 뼈에서 rotation 키프레임을 제거합니다.
3. **패스 제약 키 제거**: 패스 제약(믹스 값 100%)에 의해 완전히 제어되는 뼈에서 rotate/translate 키프레임을 제거합니다.
4. **비영어 문자 정리**: 다운스트림 도구에서의 문제를 피하기 위해 이름/식별자에 포함된 비영어 문자를 치환합니다.
Scale
지정된 계수로 애니메이션 키프레임의 모든 숫자 값을 스케일링합니다.
목적: 애니메이션 데이터를 균일하게 스케일링하여 스켈레톤 비례 크기 조정 또는 애니메이션 강도 조정에 유용합니다.
사용법: 페이로드에 연결하고 스케일 계수를 설정합니다. 1.0 이상의 값은 확대, 1.0 미만은 축소합니다.
매개변수:
- **Scale Factor**: 모든 위치 및 크기 값에 적용되는 승수.
- **Include Rotations**: 회전 값도 스케일링할지 여부(일반적으로 비활성화됨).
사용 사례:
- 가져온 애니메이션을 새 스켈레톤 크기에 맞게 조정
- 애니메이션의 과장되거나 미묘한 변형 생성
- 다른 캐릭터 크기를 위한 여러 애니메이션 일괄 스케일링
Schneider
슈나이더 곡선 피팅 알고리즘을 사용하여 애니메이션 키프레임에 부드러운 베지어 곡선을 맞춥니다.
목적: 밀집된 키프레임 시퀀스에서 자연스러운 모양의 베지어 곡선을 생성하는 고급 곡선 피팅.
사용 가능: **Plus 전용 노드**.
작동 방식: 슈나이더 알고리즘은 키프레임 위치와 접선을 분석하여 원래 모션과 밀접하게 일치하는 최적의 베지어 제어점을 생성합니다.
매개변수:
- **Error Tolerance**: 원래 키프레임에서 최대 허용 편차. 낮음 = 더 정확, 높음 = 더 부드러운 곡선.
- **Corner Angle**: 곡선을 세그먼트로 분할하는 임계 각도(도).
최적 대상:
- 많은 키프레임이 있는 손으로 그린 또는 가져온 애니메이션
- 선형 보간을 부드러운 베지어 곡선으로 변환
- 곡선 품질을 유지하면서 키프레임 수 줄이기
참고: RDP와 같은 간단한 알고리즘보다 계산 집약적이지만 우수한 곡선 품질을 생성합니다.
Physics Constraint Bake
Bake Physics Constraints to Keys: PhysicsConstraint 모션을 회전/이동 키프레임으로 변환하고 물리 타임라인을 제거합니다.
목적: 런타임 물리 시뮬레이션을 명시적 키프레임으로 변환하여 애니메이션을 결정적이고 PhysicsConstraints 없이 편집 가능하게 만듭니다. Bake 후 payload에서 PhysicsConstraints와 물리 타임라인이 제거됩니다.
사용 가능: **Plus 전용 노드**.
입력/출력:
- **payload_in** → **payload_out** (baked)
- **changes** (옵션 변경 목록)
컨트롤:
- **Sample FPS**: 시뮬레이션 샘플링 속도.
- **Bake Rotation**: 회전 키프레임 작성.
- **Bake Translation**: 이동 키프레임 작성.
- **Bake Translation (Children)**: 물리 모션에 의존하는 자식 본에 이동 bake 적용.
노트:
- 시뮬레이션 재구성을 위해 원본 Spine JSON이 필요합니다.
- PhysicsConstraints를 제거하면서 모션을 유지하려면 사용하세요.
Attachment Visibility
알파가 0일 때 슬롯의 어태치먼트를 null로 설정하여 렌더링을 최적화합니다.
목적: 게임 엔진이 보이지 않는 어태치먼트를 처리하거나 렌더링하는 것을 방지합니다.
사용법: 알파/색상 트랙을 분석하고 해당 'attachment' 트랙에서 키프레임을 자동으로 추가하거나 수정합니다.
매개변수:
- **Alpha Threshold**: 어태치먼트가 보이지 않는 것으로 간주되는 알파 값.
- **Auto Restore**: 활성화된 경우 알파 값이 임계값을 초과하면 노드가 자동으로 마지막으로 표시된 어태치먼트를 복원합니다.
Payload Merger
여러 처리된 애니메이션 페이로드를 단일 통합 페이로드로 다시 병합합니다.
목적: 다른 애니메이션 또는 뼈 그룹이 별도로 최적화되고 재결합이 필요한 병렬 처리 파이프라인에 필수적입니다.
병합 전략:
1. **기본 입력**: 스켈레톤 구조 제공(뼈, 슬롯, 스킨 등)
2. **오버라이드 입력**: 기본 트랙을 대체하는 처리된 트랙 제공
3. **마지막 쓰기 우선**: 여러 오버라이드가 동일한 트랙을 제공할 때 마지막이 우선
충돌 감지:
- 오버라이드 입력 간의 충돌이 감지되어 보고됩니다
- 기본 → 오버라이드 대체는 정상 동작(충돌 아님)
- 트랙 충돌 시 경고 토스트 표시
파이프라인 예:
```
Input → AnimFilter('run') → Cleanup ───────┐
→ AnimFilter('idle') → Quantizer ────┤
→ (base) ────────────────────────────→ Merger → Output
```
사용 사례:
- 다른 애니메이션용 다른 최적화 프로그램
- 재결합이 있는 별도의 뼈/슬롯 처리
- 다른 최적화 전략의 A/B 테스트
Animation Viewer
최적화 전후의 애니메이션 곡선을 검사하고 비교하기 위한 시각적 도구입니다.
목적: 선택한 트랙에 대한 키프레임 및 곡선의 그래픽 표현을 제공합니다.
사용법: 'payload_before' 및 'payload_after' 입력을 모두 연결하면 원본 및 최적화된 곡선이 겹쳐져 최적화의 영향을 시각화하기 쉽습니다.
Animation Filter
애니메이션 이름(예: 'run', 'idle')에 따라 애니메이션 트랙을 필터링합니다.
목적: 다른 애니메이션에 다른 최적화 전략을 적용하는 데 유용합니다.
사용법: 예를 들어, 배경 캐릭터 애니메이션에는 공격적인 손실 최적화(예: DCT)를 적용하고 주 캐릭터 액션에는 무손실 최적화(예: Spline)를 사용할 수 있습니다.
Asset Filter
아틀라스 에셋을 이름으로 필터링하며, 두 가지 모드로 작동: 언팩 전(아틀라스 텍스트 필터링) 또는 언팩 후(스프라이트 필터링).
목적: 워크플로에 포함되는 에셋 제어 - 아틀라스에서 언팩할 에셋 또는 재팩에 포함할 언팩된 스프라이트 제어.
모드:
1. 프리-언팩 모드 (AtlasUnpacker 이전):
- 입력: atlas_in (atlas_project)
- 출력: atlas_out (필터링된 atlas_project)
- 워크플로: InputNode → AssetFilter → AtlasUnpacker
- 사용 사례: 아틀라스에서 언팩할 에셋 필터링 (처리 시간 절약)
2. 포스트-언팩 모드 (AtlasUnpacker 이후):
- 입력: sprites_in (sprites)
- 출력: sprites_out (필터링된 sprites)
- 워크플로: AtlasUnpacker → AssetFilter → AtlasRepacker
- 사용 사례: 최종 아틀라스에 포함할 언팩된 스프라이트 필터링
UI 동작:
- 프리-언팩 모드에서: 아틀라스 텍스트를 파싱하여 에셋 이름 발견
- 포스트-언팩 모드에서: 스프라이트 배열에서 에셋 이름 발견
- '모두 허용' 토글: 체크하면 모든 에셋 통과 (목록은 표시되지만 비활성화)
- 체크박스: 포함할 특정 에셋 선택 ('모두 허용'이 체크 해제된 경우)
예시:
- 프리-언팩: 'char_*' 에셋만 선택하여 캐릭터 스프라이트만 언팩
- 포스트-언팩: 'background_*' 스프라이트를 최종 재팩 아틀라스에서 제외
- 'weapon_*' 패턴을 선택하여 무기 전용 아틀라스 생성
Bone Filter
뼈 이름에 따라 뼈 애니메이션 트랙을 필터링합니다.
목적: 최적화 프로세스에서 특정 뼈를 대상으로 하거나 제외할 수 있습니다.
사용법: 얼굴 표정에 사용되는 뼈와 같은 민감한 뼈를 공격적인 최적화에서 제외하여 모든 세부 사항을 보존하고 덜 중요한 뼈는 크게 최적화할 수 있습니다.
Skin Filter
스킨 이름을 기반으로 애니메이션 및 에셋 데이터를 필터링합니다.
목적: 멀티 스킨 Spine 프로젝트에서 특정 스킨만 처리합니다.
사용법: Spine 프로젝트에 여러 스킨(예: 'default', 'armor', 'casual')이 있는 경우 이 노드를 사용하여 처리에 포함할 스킨을 필터링할 수 있습니다.
매개변수:
- **Skins List**: 사용 가능한 각 스킨의 체크박스
- **Allow All**: 모든 스킨 포함 토글(기본값)
사용 사례:
- 스킨별 별도 아틀라스 생성
- 다른 스킨에 다른 최적화 적용
- 최적화된 빌드에서 거의 사용되지 않는 스킨 제외
참고: 스킨은 스켈레톤 구조를 공유하지만 다른 어태치먼트를 가질 수 있습니다.
Slot Filter
슬롯 이름에 따라 슬롯 애니메이션 트랙을 필터링합니다.
목적: 특별한 타이밍 또는 가시성 요구 사항이 있을 수 있는 특정 슬롯을 대상으로 하거나 제외하는 데 유용합니다.
사용법: 코드로 전환되는 무기 또는 효과 슬롯이 어태치먼트 가시성 최적화의 영향을 받지 않도록 제외하는 데 사용할 수 있습니다.
Parameter Filter
속성 유형(예: rotation, scale, color)에 따라 애니메이션 트랙을 필터링합니다.
목적: 특정 유형의 애니메이션 데이터에만 후속 최적화를 적용할 수 있습니다.
사용법: 범위를 제한하기 위해 이 노드를 최적화 프로그램 앞에 배치합니다. 예를 들어, 'translation' 및 'scale' 트랙에만 RDP 최적화를 적용할 수 있습니다.
Atlas Unpacker
Spine 텍스처 아틀라스에서 개별 스프라이트를 추출합니다.
목적: 아틀라스 파일을 구성 요소 스프라이트로 분해하여 개별 분석 또는 재포장을 가능하게 합니다.
사용법: InputNode의 'atlas_project' 출력을 이 노드의 'atlas_project_in' 입력에 연결합니다. 출력은 AssetViewer로 보내 검사하거나 AtlasRepacker로 보내 최적화할 수 있습니다.
⭐ 메시 자르기: InputNode의 'Original JSON' 출력을 'Skeleton JSON' 입력에 연결하면 스프라이트를 메시 경계로 자동 자르기(직사각형 경계 대신)할 수 있습니다. 이를 통해 메시 헐 외부의 투명 픽셀을 제거하여 메시 첨부 파일이 있는 스프라이트의 텍스처 메모리 사용량을 크게 줄일 수 있습니다.
출력:
- **sprites_out**: 표준화된 스프라이트 배열(viewer/repacker용)
- **sprites_data_out**: 추출된 스프라이트 이미지/메타데이터(구조화된 번들)
- **atlas_out**: Atlas project 패스스루
소켓 키: atlas_project, atlas_project_in, skeleton_json_in, sprites_out, sprites_data_out, atlas_out
Atlas Repacker
개별 스프라이트를 하나 이상의 새로운 최적화된 텍스처 아틀라스로 재포장합니다.
목적: 효율적인 스프라이트 시트를 생성하여 텍스처 메모리를 최적화하고 잠재적으로 드로우 콜을 줄입니다.
사용법: 'sprites_data'(일반적으로 AtlasUnpacker에서)를 받아들이고 새로운 아틀라스 레이아웃을 생성합니다.
매개변수:
- **Max Texture Size**: 출력 아틀라스 페이지의 최대 너비/높이.
- **Padding**: 각 스프라이트 사이의 픽셀 거리.
- **Scale**: 포장 전에 모든 스프라이트의 크기를 조정합니다.
- **Power of Two**: 출력 아틀라스 치수가 2의 거듭제곱(예: 1024, 2048)이 되도록 강제합니다. 일부 플랫폼에서 필요합니다.
- **Allow Rotation**: 더 나은 포장 효율성을 위해 스프라이트를 90도 회전할 수 있습니다.
Atlas Viewer
언팩 전에 아틀라스 구조를 점검하기 위한 경량 시각화 및 분석 도구.
목적: 무거운 언팩 작업 없이 아틀라스 페이지와 영역을 빠르게 미리 볼 수 있게 합니다. 아틀라스 구조를 검증하고 미사용 영역을 식별하는 데 도움됩니다.
사용법: InputNode의 'atlas_project' 출력을 'atlas' 입력에 연결하세요. 옵션으로 'original_json_out'을 'json' 입력에 연결해 영역 사용량을 분석할 수 있습니다.
기능:
- 영역 경계를 포함한 아틀라스 페이지 시각적 미리보기
- 영역 강조 표시: 녹색 = 사용됨, 빨간색 = 스켈레톤에서 미사용
- 페이지 탐색 컨트롤
- 전체/미사용 영역 수를 보여주는 통계
사용 사례:
- 최적화 전 빠른 아틀라스 검증
- 불필요한 리소스(미사용 영역) 식별
- 아틀라스 패킹 문제 디버깅
- 자산 구조 이해
소켓 키: atlas_project, atlas_in, atlas, json
Atlas Merger
여러 아틀라스 소스를 단일 통합 아틀라스로 결합합니다.
목적: 여러 아틀라스 프로젝트를 하나로 병합합니다.
입력:
- **atlas_inputs**: 아틀라스 프로젝트의 다중 입력 배열
출력:
- **atlas_out**: 병합된 아틀라스 프로젝트
- **merged_out**: 레거시 병합 출력
- **merged_atlas_out**: 레거시 병합 출력
사용 사례:
- 캐릭터 아틀라스와 무기 아틀라스 결합
- 기본 스프라이트와 DLC 콘텐츠 병합
- 병렬 아틀라스 처리 후 재결합
일반적인 파이프라인:
```
InputA → Unpacker → Repacker ─┐
├→ Atlas Merger → Unpacker → Repacker → Output
InputB → Unpacker → Repacker ─┘
```
Repacker 전의 데이터는 개별 스프라이트입니다. Repacker 후에는 아틀라스 프로젝트가 됩니다. Atlas Merger가 아틀라스 프로젝트를 결합하고, 최종 Unpacker → Repacker 과정에서 모든 것을 하나의 통합 아틀라스로 밀도 있게 패킹합니다.
Asset Viewer
압축 해제된 아틀라스의 개별 스프라이트를 표시합니다.
목적: 아틀라스 조작을 위한 시각적 디버깅 도구입니다.
사용법: Atlas Unpacker 노드의 'sprites_data'를 받아들이고 각 추출된 이미지를 시각화하고 속성(치수, 회전 등)을 검사하며 압축 해제 후 시각적 정확성을 확인할 수 있습니다.