Skip to main content
Go to Editor

ויקי

מדריך זה יעזור לך להתחיל במהירות עם כלי האופטימיזציה JSON. טען פרויקט: השתמש ב- InputNode כדי לטעון את שלך .json , .atlas , ו .png קבצים. בחר הגדרה מראש (מצב פל

fpsuiאובדןאופטימיזציהביצועיםבקרותדוגמאותהַנפָּשָׁההַקלָטָההשמעהוִידֵאוֹזֵכֶרזרימת עבודהיְצוּאיוטיובלוּחַללא אובדןמִנוּימַדְרִיךמַקלִיטמַתחִילמדדיםמושגיםנְתוּנִיםסוגיםסטָטִיסטִיקָהפְּלוּספּרֶמיָהצוֹפֶהצינורותציר זמןקשריםשקעיםתוצאותתמחורתרשימים

תחילת העבודה: זרימת עבודה בסיסית

מַתחִילזרימת עבודהמַדְרִיך

מדריך זה יעזור לך להתחיל במהירות עם כלי האופטימיזציה JSON. טען פרויקט: השתמש ב- InputNode כדי לטעון את שלך .json , .atlas , ו .png קבצים. בחר הגדרה מראש (מצב פלוס): במצב פלוס, השתמש בחלונית הימנית כדי לבחור באחת מההגד...

Read article

סוגי שקעים וזרימת נתונים

שקעיםסוגיםנְתוּנִיםקשרים

מאמר זה מסביר את סוגי הנתונים בהם משתמשים שקעים בגרף הצומת ומה ניתן לחבר לאן. סוגי שקעים Spine מטען — ייצוג ידידותי לזמן ריצה של פרויקט Spine המשמש את רוב צמתי העיבוד. Atlas פרויקט — atlas מטא נתונים + תמונות עמוד בשי...

Read article

תוכניות מנוי ותכונות פרימיום

מִנוּיפּרֶמיָהפְּלוּסתמחור

re-polish מציע שתי שכבות מנוי כדי להתאים לצרכים שונים. תוכנית חינם ✓ בסיסי Node Graph ✓ JSON מציג • TimelineMixer • אופטימיזציות מוגבלות ✓ Spine גרסאות: 4.2, 4.1, 4.0, 3.8, 3.7 תוכנית פלוס (5 דולר לחודש) ✓ כל התכונות...

Read article

מושגי ליבה: Lossy לעומת Lossless

מושגיםאובדןללא אובדןמַתחִיל

כל שיטות האופטימיזציה מחולקות לשני סוגים: ללא אובדן: שיטות אלו מסירות רק נתונים מיותרים... דוגמאות: SplineOptimizationNode , CleanupNode . אובדן: שיטות אלה מפשטות עקומות אנימציה... דוגמאות: RDPOptimizationNode , Quant...

Read article

כיצד למדוד יעילות

מַדְרִיךמדדיםסטָטִיסטִיקָה

כדי להבין עד כמה יעיל האופטימיזציה שלך, שים לב למדדים הבאים: גודל קובץ: הגודל הסופי של .json הקובץ הוא המטרה העיקרית של אופטימיזציה. ספירת פריים מפתח: בלשונית "סטטיסטיקה" תמצאו טבלאות ותרשימים המראים כמה פריימים מפתח...

Read article

מציג: לוח הבקרה

צוֹפֶהבקרותui

ה צוֹפֶה שכבות-על של כרטיסיות א בקרות פאנל על גבי הבד. זה מחולק לשלוש קבוצות: בקרות אנימציה הַנפָּשָׁה — בוחר איזו הנפשה Spine מושמעת. עוֹר — בוחר איזה עור יוחל. מְהִירוּת - מכפיל מהירות השמעה (0.1× → 3.0×). הצג בקרות...

Read article

מציג: לוח ביצועים

ביצועיםfpsזֵכֶרui

ה ביצועים החלונית מציגה מדדי זמן ריצה בזמן אמת עבור השלד/ים שמשחקים כרגע. בזמן אמת FPS - פריימים לשנייה שנמדדו על ידי הצג. זמן מסגרת - זמן לכל מסגרת באלפיות שניות (נמוך יותר עדיף). תרשים FPS - 120 הדגימות האחרונות מוצ...

Read article

צופה: ציר זמן

צוֹפֶהציר זמןהַנפָּשָׁההשמעהמַדְרִיך

ה ציר זמן הלוח הוא רצף אנימציה הניתן לעגינה בתחתית ה-מציג. זה מאפשר לך לסדר קטעי אנימציה במספר רצועות, לשלוט בהפעלה ותצוגה מקדימה של מעברים. רצועות וקליפים עד 4 רצועות אנימציה — כל מסלול ממפה ל-Spine trackIndex שִׁכבָ...

Read article

צופה: מקליט

צוֹפֶהמַקלִיטהַקלָטָהיְצוּאוִידֵאוֹמַדְרִיך

ה מַקלִיט לוכד Spine אנימציות מהצופה כווידאו, תמונות מונפשות או רצפי תמונות. מצבי הקלטה ⚡ שיא מהיר - לכידה בזמן אמת באמצעות MediaRecorder + captureStream() . מפיקה פלט WebM בלבד. מהיר אך מוגבל לקצב פריימים בזמן אמת. �...

Read article

כרטיסיית תוצאות

תוצאותלוּחַאופטימיזציה

ה תוצאות הכרטיסייה מציגה פלט אופטימיזציה מפורט. טבלת תוצאות - תצוגת שורה לכל שינוי של תוצאות אופטימיזציה JSON (למשל, איזו אנימציה/עצם/נכס/פריים שונתה או הוסרה). השוואת ספרייט/Atlas - כאשר נעשה שימוש באופטימיזציה של מר...

Read article

כרטיסיית סטטיסטיקה

סטָטִיסטִיקָהתרשימיםמדדים

ה סטָטִיסטִיקָה הכרטיסייה מסכמת את תוצאות האופטימיזציה כתרשימים ומדדים מצטברים. טבלת אופטימיזציה — מציג את השפעת האופטימיזציה על מערך הנתונים (כאשר JSON אופטימיזציות יצרו שינויים). טבלת מדדים - מספרי מפתח כגון גדלים מ...

Read article

דוגמאות לצינור (וידאו)

וִידֵאוֹדוגמאותצינורותיוטיוב

להלן צינורות מלאים מהעולם האמיתי מרשימת ההשמעה הרשמית של YouTube. פתח את רשימת ההשמעה המלאה דוגמאות Spine2D ניסויים 1: אופטימיזציה של עקומה עם אלגוריתם RDP - הדגמת אופטימיזציה דו-ממדית של Spine בסיסית: אלגוריתם Ramer–...

Read article

Nodes

Input

מייבא לגרף קובצי פרויקט Spine, קלטי JSON בלבד, נכסי דמו וחבילות ZIP.

מטרה: זוהי נקודת הכניסה הראשית לרוב תהליכי העבודה. היא קוראת JSON, atlas ומרקמים ומנרמלת אותם לנתונים פנימיים שצמתים במורד הזרם יכולים לעבד.

מצבים נתמכים:
1. פרויקט מלא: JSON + atlas + textures
2. JSON בלבד: עיבוד נתוני skeleton/animation ללא atlas
3. חבילת ZIP: קובץ zip ארוז שמכיל פרויקט מלא
4. נכסי דמו: נתוני דוגמה מובנים לבדיקה מהירה

פלטים עיקריים:
- **payload_out**: נתונים מנורמלים לצמתי אופטימיזציה
- **original_json_out**: JSON המקור להשוואה או לשחזור
- **atlas_project_out**: פרויקט atlas מפוענח כאשר מסופקים textures

Video To Png Sequence

המר קטע וידאו לרצף פריימים של PNG עבור תהליכי עבודה של Spine.

זהו כלי קלט חינמי בתפריט Input, המיועד לעבודה בסביבת הפקה. הוא תומך ב-chroma key למסכים ירוקים ובניקוי matte בסגנון unpremultiply לרקעים שחורים. הפלטים נשלחים דרך payload_out ו-atlas_out.

Picture Input

מוסיף תמונות PNG/JPEG עצמאיות לחלון התצוגה כדי שתוכל לבנות תצוגות מקדימות וצילומי הצגה נקיים יותר.

מטרה: השתמש בצומת הזה כדי למקם תמונות ישירות בחלון התצוגה כשכבות הצגה או כעזר חזותי. הוא שימושי כשברצונך לקשט סצנה, להוסיף גרפיקה תומכת ולהפוך תצוגות מקדימות של הפרויקט למלוטשות יותר לפני הקלטת סרטונים או דמואים.

תהליך עבודה: טען תמונה אחת, ואז השתמש בכלי חלון התצוגה כדי לשנות את קנה המידה שלה, להזיז אותה ולהתאים את ה-z-index שלה כך שתשב נכון בתוך הקומפוזיציה. כך נוח לבנות צילומי showcase מושכים בלי לגעת בנתוני הפרויקט הראשיים של Spine.

צומת זה עצמאי ואינו חושף שקעים בגרף.

Version: פורמט גרסת Spine JSON לשלד ה-stub שנוצר.
Blending: מצב שילוב לצרופה שנוצרה (רגיל, חיבורי, כפל, מסך).

Psd To Skeletons

טוען קובצי PSD/PSB מרובי שכבות ומייצר שלדי Spine מקושרים ששומרים על פריסת הסצנה מ-Photoshop לתצוגות מקדימות מדויקות.

מטרה: השתמשו בנוד הזה כאשר הסצנה כבר סודרה ב-Photoshop ואתם רוצים להפוך את ערימת השכבות לסט של שלדי Spine מקושרים בתוך ה-viewer. כל שכבת PSD גלויה הופכת לשלד בסגנון תמונה שממוקם לפי קואורדינטות ה-PSD, וכך הרבה יותר קל לבנות preview מדויק ולמקם אובייקטים בצורה נכונה.

Workflow ב-viewer: אחרי היצירה עדיין אפשר לשנות את ה-draw order בתוך ה-viewer ולהציב שלדים אחרים בין שכבות ה-PSD שיובאו, כך שניתן לשלב דמויות או props נוספים של Spine בתוך קומפוזיציית Photoshop.

זמינות: נוד חינמי. הנוד הזה עצמאי ואינו חושף sockets של הגרף.

Version: פורמט גרסת Spine JSON שמשמש לשלדי השכבות המיוצרים.
Blending: מצב המיזוג שמשמש עבור ה-attachments המיוצרים.
Load PSD: פותח את בורר ה-PSD/PSB ומייצר שלדי שכבות מקושרים מהקובץ שנבחר.
File Info: סיכום לקריאה בלבד של קובץ ה-PSD/PSB שנטען כעת.
Layer Count: מונה לקריאה בלבד של השכבות הגלויות שיומרו לשלדים מקושרים.
Preflight: דוח לקריאה בלבד על בעיות בשמות שכבות שזוהו לפני היצירה.

Project Input

טוען תיקיית פרויקט או ארכיון של Spine לגרף וחושף ProjectPayload דרך ה-socket project_out עבור צמתים במורד הזרם שעובדים עם פרויקטים.

מטרה: נקודת הכניסה לתהליכי עבודה מבוססי פרויקטים. סורק תיקיית פרויקט או ארכיון של Spine, בונה ProjectPayload ושומר מטא-נתונים במטמון עבור צמתים במורד הזרם כמו Project Viewer, מסננים, Static Bake ו-Deduplicator.

פקדים:
- **Load Folder**: פותח את בורר התיקיות של המערכת דרך File System Access API, סורק את התיקייה שנבחרה, מעדכן את הסיכום, שומר מטא-נתונים במטמון ומפעיל מעקב קבצים כדי שאפשר יהיה לסרוק שוב שינויים בהמשך.
- **Browse (Fallback)**: משתמש בקלט **webkitdirectory** מוסתר בדפדפנים שאין בהם **showDirectoryPicker()**. הוא טוען את הפרויקט, אבל בלי handle מתמשך של תיקייה, ולכן מעקב חי ו-Rescan אמין אינם זמינים.
- **Load Archive**: טוען ארכיון **.zip** או **.spine** כעץ פרויקט וירטואלי. פרויקטים שמבוססים על ארכיון לא שומרים handle של תיקייה, ולכן **Rescan** לא זמין במכוון.
- **Rescan**: סורק מחדש את התיקייה שנטענה קודם כשיש handle של תיקייה. לפני הסריקה הוא בודק מחדש הרשאת קריאה. פרויקטים שנטענו דרך fallback browse או ממצב ארכיון ידווחו בדרך כלל שלא נטענה שום תיקייה.
- **Clear Project**: עוצר את מעקב הקבצים ומנקה את ה-payload הנוכחי, הסיכום, מטמון ההרצה ומטא-נתוני ה-payload ששמורים במטמון.
- **Reset to Defaults**: מאפס רק פקדי node כלליים. הוא **לא** פורק את הפרויקט הנוכחי ואינו תחליף ל-**Clear Project**.
- **Drop folder or .zip here**: נקודת כניסה בגרירה ושחרור שמקבלת תיקיות וארכיונים ומעבירה אותם דרך אותה pipeline של טעינה.

פלטים:
- **project_out**: ProjectPayload עם העץ שנסרק, רשימת קבצים שטוחה, סכומי גדלים ופירוט סוגים עבור צמתים במורד הזרם שמבינים פרויקטים.
- **stats**: פלט אבחוני לזמן DEV בלבד.

Output

אוסף את התוצאות הסופיות ומאפשר לך להוריד נתונים ממוטבים כקבצים נפרדים, כקבוצות קבצים מאוגדות או כארכיונים.

מטרה: משמש כמרכז הייצוא עבור JSON ממוטב, נתוני atlas, מרקמים ו-sprites. הוא יכול להרכיב תוצאות מתוך סט יחיד של JSON/atlas/textures, מתוך כמה סטים של קבצים, או מ-sprites בלבד כשאתה רוצה פלט תמונה בלי לבנות מחדש פרויקט Spine מלא.

אפשרויות ייצוא:
- הורדת קבצים בנפרד או כארכיון יחיד
- הורדת תוצאות ארוזות או ארכיון עם קבצים לא ארוזים
- ייצוא JSON בצורה קומפקטית או בצורה קריאה ומעוצבת
- ייצוא נתוני פרויקט Spine מלאים או רק תוצאות sprite/image

תהליך שרשור: OutputNode לא חייב להיות הסוף המוחלט של הגרף. אפשר להעביר את הפלטים שלו לשלב נוסף בצינור העיבוד ולהריץ את אותם הקבצים דרך סבבי אופטימיזציה נוספים. בפועל, אופטימיזציית key ו-curve נבדקה עד 3 איטרציות רצופות.

פלטים עיקריים:
- **reconstructed_json_out**: JSON של Spine שנבנה מחדש
- **original_json_passthrough_out**: העברה ישירה של ה-JSON המקורי
- **payload_out**: payload להמשך שרשור
- **changes**: שינויי אופטימיזציה שנאספו
- **atlas_assets**: משאבי atlas המוכנים לייצוא

RDP

מפשט עקומות אנימציה באמצעות האלגוריתם Ramer-Douglas-Peucker (RDP).

מטרה: צמצום מספר הפריימים המפתח בקטעי אנימציה ליניאריים או כמעט ליניאריים על ידי הסרת נקודות השוכנות על קו ישר בין שניים אחרים.

כלל הזהב: מושבת כברירת מחדל. הוא מגן על עקומות בעלות צורה משמעותית (שטח/עקמומיות) מפני שיטוח לליניארי. השבת אותו רק עבור דחיסה אגרסיבית יותר לאחר סקירה חזותית.

מפתחות שקע: payload_in, payload_out, שינויים

Epsilon: סטייה מקסימלית מהעקומה המקורית. ערכים גבוהים יותר מסירים יותר פריימים מפתח אך עלולים לאבד פרטי עקומה.
Steep: סף רגישות עקמומיות. מגן על עקומות מורכבות מפני השטחה לליניארית.
Round Mode: מצב עיגול לערכים מותאמים: ללא (שמור מקור), עשיריות (ספרה עשרונית אחת), מספרים שלמים.
Golden Rule: כאשר מופעל, מגן על עקומות עם צורה/שטח משמעותי מפני פישוט על ידי RDP.
S Run Length: מספר מינימלי של עקומות S סטנדרטיות רצופות של Spine שנדרש לפני שהשטחה מבוססת תבנית מופעלת. הגדירו 0 כדי להשבית את הפונקציה.
S Deviation: סטייה מנורמלת מותרת מתבנית עקומת ה-S הסטנדרטית של Spine, בפרומיל (0-300). ערכים נמוכים דורשים התאמה קרובה יותר; ערכים גבוהים משטחים יותר רצפים שקרובים לתבנית.

Spline

מתאים עקומות ספליין חלקות לפריימים מפתח של אנימציה, ומפחית נקודות ביניים מיותרות.

מטרה: התאמת עקומה חלקה תוך שמירה על איכות חזותית.

מפתחות שקע: payload_in, payload_out, שינויים

Max Error: שגיאת קירוב מקסימלית מותרת להתאמת ספליין. נמוך יותר = התאמה הדוקה יותר למקור.
Min Group Size: מספר מינימלי של פריימים מפתח ליניאריים רצופים הנדרשים ליצירת קבוצה ניתנת להסרה.

Refit

מתקרב לרצפי פריים מפתח צפופים עם פחות עקומות בזייר כדי להקטין את הגודל.

מטרה: מתאים פחות עקומות תוך שמירה על סובלנות.

מפתחות שקע: payload_in, payload_out, שינויים

Error Tolerance: סטייה מקסימלית מותרת בין העקומה המקורית לבזייה המותאמת. נמוך יותר = התאמה מדויקת יותר.
Max Iterations: מספר איטרציות אופטימיזציה להתאמת עקומה. יותר איטרציות = התאמה טובה יותר אך איטית יותר.

Quantizer

מפחית את הדיוק של ערכים מספריים במסגרות מפתח ובעקומות.

מטרה: דרך פשוטה אך יעילה להקטנת גודל הקובץ על ידי עיגול מספרים למספר מוגדר של מקומות עשרוניים.

שימוש: ניתן להחיל כמעט על כל נתוני אנימציה. הופך ליעיל יותר עם ספירת פריימים מפתח גבוהה יותר.

זהירות: קוונטיזציה אגרסיבית מדי (דיוק נמוך) עלולה לגרום לריצוד או לחפצים חזותיים בהנפשות.

מפתחות שקע: payload_in, payload_out, שינויים

Precision: מספר ספרות עשרוניות לערכי פריימים מפתח. פחות = קובץ קטן יותר אך דיוק נמוך יותר.

Cleanup

מבצע משימות ניקוי שונות כדי להסיר נתוני אנימציה מיותרים או מיותרים.

מטרה: כלי מיוחד להסרת סוגים ספציפיים של נתונים מיותרים שמבצעי אופטימיזציה אחרים עלולים לפספס.

שימוש: חבר את המטען שלך ל-'payload_in' וקח את התוצאה מ-'payload_out'. אם אתה רוצה דוח לכל שינוי, השתמש גם ב'שינויים'.

מפתחות שקע:
- כניסות: payload_in
- פלטים: payload_out, שינויים

ניקויים נתמכים כרגע:
1. **הסר רצועות צבע/אלפא שלא נעשה בהן שימוש**: הסרת קווי זמן של צבע/אלפא עבור משבצות שלעולם לא נראים במהלך האנימציה.
2. **הסר סיבובי IK מיותרים**: מסיר מסגרות מפתח סיבוביות מעצמות הנשלטות באופן מלא על ידי אילוץ IK עם 100% מיקס.
3. **הסר מפתחות אילוץ נתיב**: מסיר מסגרות מפתח לסובב/תרגום מעצמות הנשלטות במלואן על ידי אילוץ נתיב (ערכי ערבוב ב-100%).
4. **ניקוי תווים שאינם אנגלים**: מחליף תווים שאינם אנגלים בשמות/מזהים כדי למנוע בעיות בכלים במורד הזרם.

Remove Unused Color Tracks: הסר רכיבי צבע/אלפא שלא משתנים מעולם מערך ברירת המחדל.
Remove Redundant IKRotation: הסר פריימים מפתח של סיבוב עצם הנשלטים לחלוטין על ידי אילוצי IK.
Remove Redundant Path Constraint Keys: הסר פריימים מפתח של אילוצי נתיב המשכפלים ערכי הגדרה.
Sanitize Non English Characters: החלף תווים שאינם ASCII בשמות עצמות/חריצים בתחליפים בטוחים.

Scale

משנה את קנה המידה של כל הערכים המספריים במסגרות מפתח של אנימציה לפי גורם מוגדר.

מטרה: קנה מידה אחיד של נתוני אנימציה, שימושי לשינוי גודל שלד באופן פרופורציונלי או התאמת עוצמת האנימציה.

שימוש: חבר את **payload_in** וקח את התוצאה מ-**payload_out**.

מפתחות שקע: payload_in, payload_out

Scale Factor: מכפיל קנה מידה לשלד (למשל 0.5 = חצי גודל).
Scale Bones: שנה קנה מידה של מיקומי וגדלי עצמות.
Scale Attachments: שנה קנה מידה של מיקומי וגדלי צרופות.
Scale Animations: שנה קנה מידה של פריימים מפתח של אנימציה.
Scale Constraints: שנה קנה מידה של פרמטרי אילוצים.
Scale Path: שנה קנה מידה של נתוני נתיב.

Schneider

מתאים עקומות Bezier חלקות לפריימים מפתח אנימציה באמצעות אלגוריתם התאמת עקומת שניידר.

מטרה: התאמת עקומה מתקדמת המייצרת עקומות בזייר במראה טבעי מרצפי פריים צפופים.

זמינות: **צומת פלוס בלבד**.

איך זה עובד: אלגוריתם שניידר מנתח מיקומי מפתח ומשיקים כדי ליצור נקודות בקרה אופטימליות של Bezier התואמות היטב את התנועה המקורית.

פרמטרים:
- **סובלנות שגיאות**: סטייה מרבית המותרת מפריימים מפתח מקוריים. נמוך יותר = מדויק יותר, גבוה יותר = עקומות חלקות יותר.
- **זווית פינה**: זווית סף (מעלות) שבה ניתן לפצל את העקומה למקטעים.

הטוב ביותר עבור:
- אנימציות מצוירות ביד או מיובאות עם מסגרות מפתח רבות
- המרת אינטרפולציה ליניארית לעקומות בזייר חלקות
- הפחתת ספירת פריים מפתח תוך שמירה על איכות העקומה

הערה: אינטנסיבי יותר מבחינה חישובית מאלגוריתמים פשוטים יותר כמו RDP, אך מייצר איכות עקומה מעולה.

מפתחות שקע: payload_in, payload_out, שינויים

Error Tolerance: סטייה מקסימלית מותרת בין העקומה המקורית למותאמת.
Min Segment Size: מספר מינימלי של פריימים מפתח בסגמנט לעיבוד.

Physics Constraint Bake

אופה Spine פיסיקה מגביל תנועה לתוך עצם סובב/תרגם מסגרות מפתח ומסיר קווי זמן לפיזיקה.

מטרה: ממיר סימולציית פיזיקה של זמן ריצה לפריימים מפתח מפורשים כך שהאנימציות דטרמיניסטיות וניתנות לעריכה ללא אילוצי פיזיקה. לאחר האפייה, אילוצי פיזיקה וקווי זמן פיזיקה מוסרים מהמטען.

זמינות: **צומת פלוס בלבד**.

כניסות/יציאות:
- **מטען_כניסה** → **מטען_אאוט** (אפוי)
- **שינויים** (רשימת שינויים אופציונליים)

בקרות:
- **דוגמא FPS**: קצב דגימת סימולציה עבור האפייה.
- **סיבוב אפייה**: כתוב מפתחות סיבוב אפויים.
- **תרגום אפיית**: כתוב מפתחות תרגום אפויים.
- **תרגום אפייה (ילדים)**: החל תרגום אפייה על עצמות ילדים המסתמכות על תנועה בפיזיקה.

הערות:
- דורש Spine JSON המקורי כדי לבנות מחדש נתוני סימולציה.
- השתמש כאשר אתה רוצה להסיר אילוצי פיזיקה אבל לשמור על התנועה.

Sample fps: קצב דגימה לאפיית פיזיקה (פריימים לשנייה).
Bake rotation: אפה סיבוב מאילוצי פיזיקה.
Bake translation: אפה הזחה מאילוצי פיזיקה.
Bake translation descendants: אפה הזחה לעצמות צאצאים.

Attachment Visibility

מייעל את העיבוד על ידי הגדרת הקובץ המצורף של משבצת ל- null כאשר האלפא שלו הוא אפס.

מטרה: מונע ממנוע המשחק לעבד או לעבד קבצים מצורפים בלתי נראים.

שימוש: מעבד **payload_in**, פלט אופטימיזציה **payload_out**, ובאופן אופציונלי מדווח על **שינויים**.

מפתחות שקע: payload_in, payload_out, שינויים

Alpha Threshold: סף אלפא לזיהוי נראות צרופה.
Auto Restore: שחזר נראות אוטומטית לאחר עיבוד.

Payload Merger

ממזג בחזרה מטעני אנימציה מעובדים למטען אחד מאוחד.

מטרה: חיוני לצינורות עיבוד מקבילים שבהם אנימציות או קבוצות עצמות שונות עוברות אופטימיזציה בנפרד וצריך לשלב אותן מחדש.

כניסות:
- **בסיס**: מטען ראשי (מבנה שלד)
- **עקיפות**: מטען אחד או יותר שהמסלולים שלו מחליפים את מסילות הבסיס

פלט:
- **מיוחד_יוצא**: מטען ממוזג

מפתחות Socket: base, overrides, merged_out

Warn conflicts: הצג אזהרות בעת התנגשויות מיזוג מטען.

Animation Viewer

כלי חזותי לבדיקה והשוואה של עקומות אנימציה לפני ואחרי אופטימיזציה.

מטרה: מספק ייצוג גרפי של מסגרות מפתח ועקומות עבור הרצועה שנבחרה.

שימוש: חבר את **before_in** ו-**after_in** לכיסוי מקורי לעומת אופטימיזציה. אפשר לחבר **שינויים** ​​כדי להדגיש את הרצועות המושפעות.

מקשי שקע: before_in, after_in, שינויים

Show changed: הצג רק אנימציות שהשתנו.
Animation: בחירת אנימציה לצפייה.
Target: עצם/חריץ יעד לצפייה.
Property: מאפיין להצגה (סיבוב, הזחה וכו').

Project Viewer

Displays a Spine project from the project_in socket for inspection and preview without mutating the incoming data.

Deduplicator

Deduplicates atlas projects by consuming project_inputs and returning payloads, atlas_projects, original_jsons, and shared_atlas_out for canonicalized downstream workflows.

The Deduplicator node scans all atlas regions for visually identical or near-identical sprites. It merges duplicates by choosing a canonical representative and remapping references. Several thresholds control detection sensitivity for different sprite types (glow, solid, alpha). Optionally constrains the output canonical atlas dimensions. A verification pass ensures the deduplicated result is visually equivalent to the original within the specified RMSE tolerance.

Repack mode: מצב אריזה מחדש לאחר הסרת כפילויות.
Glow threshold: סף לזיהוי ספרייטים עם אפקט זוהר.
Solid threshold: סף לזיהוי ספרייטים אחידים.
Min sprite area: שטח מינימלי של ספרייט לניתוח (פיקסלים²).
Alpha hash threshold: סף גיבוב אלפא להשוואה.
Verification threshold: סף אימות כפילויות.
Color rmse threshold: סף RMSE צבע לזיהוי כפילויות.
Constrain canonical atlas size: הגבל גודל אטלס קנוני.
Max canonical atlas width: רוחב מקסימלי של אטלס קנוני.
Max canonical atlas height: גובה מקסימלי של אטלס קנוני.

Animation Filter

מסנן רצועות הנפשה על סמך שם האנימציה (למשל, 'ריצה', 'בטל').

מטרה: שימושי ליישום אסטרטגיות אופטימיזציה שונות על אנימציות שונות.

שימוש: מסנן את **payload_in** ל-**payload_out** וחושף את **רשימת_אנימציה** לבחירת ממשק משתמש.

מקשי שקע: payload_in, payload_out, animation_list

Asset Filter

מסנן נכסי atlas לפי שם, פועל בשני מצבים: לפני ביטול אריזה (מסנן טקסט atlas) או לאחר ביטול אריזה (מסנן ספרייטים).

מטרה: שולט אילו נכסים נכללים בזרימת העבודה - או אילו נכסים לפרוק מ-atlas, או אילו ספרייטים לא ארוזים לכלול באריזה מחדש.

כניסות/יציאות:
- מצב Atlas: **atlas_in** → **atlas_out**
- מצב ספרייטים: **sprites_in** → **sprites_out**

מפתחות שקע: atlas_in, atlas_out, sprites_in, sprites_out

Bone Filter

מסנן רצועות אנימציה של עצם על סמך שם עצם.

מטרה: מאפשר מיקוד או אי הכללה של עצמות ספציפיות מתהליך האופטימיזציה.

שימוש: מסנן את **payload_in** ל-**payload_out**.

מפתחות שקע: payload_in, payload_out

Skin Filter

מסנן נתוני אנימציה ונתוני נכסים על סמך שמות עור.

מטרה: עבד רק סקינים ספציפיים מפרויקט Spine מרובה עורות.

שימוש: מסנן את **payload_in** ל-**payload_out**.

מפתחות שקע: payload_in, payload_out

Slot Filter

מסנן רצועות אנימציה של משבצות על סמך שם המשבצת.

מטרה: שימושי למיקוד או אי הכללה של משבצות ספציפיות שעשויות להיות בהן דרישות תזמון או נראות מיוחדות.

שימוש: מסנן את **payload_in** ל-**payload_out**.

מפתחות שקע: payload_in, payload_out

Parameter Filter

מסנן רצועות אנימציה על סמך סוג המאפיין שלהם (לדוגמה, סיבוב, קנה מידה, צבע).

מטרה: מאפשר להחיל אופטימיזציות עוקבות רק על סוגים ספציפיים של נתוני אנימציה.

שימוש: מסנן את **payload_in** ל-**payload_out**.

מפתחות שקע: payload_in, payload_out

Rotation: כלול/החרג מסלולי סיבוב מהעיבוד.
Translation: כלול/החרג מסלולי הזחה מהעיבוד.
Scale: כלול/החרג מסלולי קנה מידה מהעיבוד.
Shear: כלול/החרג מסלולי גזירה מהעיבוד.
Color: כלול/החרג מסלולי צבע מהעיבוד.
Attachment: כלול/החרג מסלולי צרופות מהעיבוד.
Deform: כלול/החרג מסלולי עיוות (רשת) מהעיבוד.

Atlas Unpacker

מחלץ ספרייטים בודדים ממרקם Spine atlas.

מטרה: פירוק קובץ atlas ל-sprites המרכיבים שלו, מה שמאפשר ניתוח פרטני או אריזה מחדש.

שימוש: חבר את **atlas_project** מ-InputNode ל-**atlas_project** (או ל-**atlas_project_in**) מדור קודם בצומת זה. אופציונלי לחבר את **skeleton_json_in** (מ-InputNode של **original_json**) כדי לאפשר חיתוך מודע לרשת (קוצץ ספרייטים לרשת גבולות גוף במקום גבולות מלבניים, מה שיכול להפחית משמעותית את זיכרון הטקסטורה עבור חיבורי רשת).

פלטים:
- **sprites_out**: מערך ספרייטים סטנדרטי (לצופה/לארוז מחדש)
- **sprites_data_out**: תמונות/מטא נתונים של ספרייט שחולצו (חבילה מובנית)
- **atlas_out**: Atlas מעבר פרויקט

מפתחות שקע: atlas_project, atlas_project_in, skeleton_json_in, sprites_out, sprites_data_out, atlas_out

Atlas Repacker

אורז מחדש ספרייטים בודדים לאטלס מרקם חדש אחד או יותר.

מטרה: מייעל את זיכרון המרקם ומפחית פוטנציאל קריאות לצייר על ידי יצירת גיליונות ספרייט יעילים.

שימוש: מקבל ספרייטים באמצעות **sprites_data_in** (חבילת ספרייטים מובנים) או באמצעות **sprites_out** (מערך ספרייטים סטנדרטי). במידת הצורך לטיפול באלפא / אריזת מצולע, ספק את השלד המקורי באמצעות **original_json**. פלט atlas ארוז כ-**atlas_out**.

מפתחות שקע: sprites_data_in, sprites_out, original_json, atlas_out

Min Page Width: רוחב מינימלי של דף אטלס בפיקסלים.
Min Page Height: גובה מינימלי של דף אטלס בפיקסלים.
Max Page Width: רוחב מקסימלי של דף אטלס בפיקסלים.
Max Page Height: גובה מקסימלי של דף אטלס בפיקסלים.
Padding X: ריווח אופקי בין ספרייטים בפיקסלים.
Padding Y: ריווח אנכי בין ספרייטים בפיקסלים.
Edge Padding: ריווח מקצוות דף האטלס.
Duplicate Padding: שכפל פיקסלי קצה למניעת עיוותי סינון.
Alpha Mode: מצב אלפא: PMA (אלפא מוכפל מראש) או ישיר.
Alpha Threshold: סף אלפא לגזירת פיקסלים בלתי נראים.
Strip Whitespace X: חתוך פיקסלים ריקים אופקית.
Strip Whitespace Y: חתוך פיקסלים ריקים אנכית.
Color Bleed Radius: רדיוס דליפת צבע למניעת תפרים בעת סינון.
Scale: מקדם קנה מידה המוחל על כל הספרייטים לפני אריזה.
Power Of Two: עגל מידות דף לחזקת שתיים.
Divisible By4: עגל מידות דף לכפולות של 4 (לדחיסת טקסטורה).
Square: כפה דפים מרובעים.
Allow Rotation: אפשר סיבוב 90° של ספרייטים לאריזה טובה יותר.
Packer Type: אלגוריתם אריזה: MaxRects או Shelf.

Atlas Viewer

כלי להדמיה וניתוח קל משקל של atlas לבדיקת מבנה atlas לפני הפריקה.

מטרה: מספק דרך מהירה לתצוגה מקדימה של atlas דפים ואזורים מבלי לבצע את פעולת הפריקה הכבדה. עוזר לאמת מבנה atlas ולזהות אזורים שאינם בשימוש.

שימוש: חבר פרויקט atlas בודד ל-**atlas_project** (או מדור קודם **atlas_in** / **atlas**), או בדוק אצווה של atlas פרויקטים באמצעות **atlas_projects**. אפשר לחבר את השלד JSON ל-**json** לניתוח שימוש.

מפתחות שקע: atlas_project, atlas_projects, atlas_in, atlas, json

Page Info: מידות ומידע של דף אטלס.
Stats: סטטיסטיקות שימוש בשטח ומספר ספרייטים.

Atlas Merger

משלב מקורות atlas מרובים ל-atlas מאוחד אחד.

מטרה: מיזוג atlas פרויקטים מרובים לפרויקט אחד.

קלט:
- **atlas_inputs**: מערך קלט רב של atlas פרויקטים

פלטים:
- **atlas_out**: פרויקט atlas מוזג
- **מיוחד_יוצא**: פלט ממוזג מדור קודם
- **merged_atlas_out**: פלט ממוזג מדור קודם

מקשי שקע: כניסות אטלס, יציאות_אטלס, יציאה מרוכזת, יציאות_אטלס מרובות

צינור אופייני:
```
InputA → Unpacker → Repacker ─┐
                               ├→ Atlas Merger → Unpacker → Repacker → Output
InputB → Unpacker → Repacker ─┘
```
לפני Repacker הנתונים הם ספרייטים בודדים; לאחר Repacker זה הופך לפרויקט atlas. Atlas מיזוג משלב את הפרויקטים של atlas, ואז אישור סופי של Unpacker → Repacker אורז הכל מחדש היטב לatlas מאוחד אחד.

Asset Viewer

מציג ספרייטים בודדים מ-atlas לא ארוז.

מטרה: כלי ניפוי באגים חזותי למניפולציה של atlas.

שימוש: מקבל sprites באמצעות **sprites_out** (רגיל) או **sprites_in** / **sprites_data** מדור קודם.

מפתחות שקע: sprites_out, sprites_in, sprites_data

Asset select: בחירת נכס לצפייה.
Pixel stats: הצג סטטיסטיקות פיקסל לנכס.