Skip to main content
Go to Editor

ויקי

Learn how to optimize your Spine 2D animations, reduce file size, and improve performance

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

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

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

מדריך זה יעזור לך להתחיל במהירות עם כלי האופטימיזציה JSON.

  1. טען פרויקט:השתמש ב-InputNodeכדי לטעון את שלך.json, .atlas, ו.pngקבצים.
  2. בחר הגדרה מראש (מצב פלוס):במצב פלוס, השתמש בחלונית הימנית כדי לבחור באחת מההגדרות המובנות המובנות מראש (למשל, "Fallback בסיסי"). זה יוצר עבורך באופן אוטומטי גרף אופטימיזציה. במצב חופשי, בנה גרף ידני מינימלי:InputNodeQuantizerNodeOutputNode.
  3. הפעל את הגרף:לחץ על הלחצן "הפעל Graph".
  4. השוו תוצאות:עבור לכרטיסייה "צופה" כדי להשוות חזותית בין האנימציות המקוריות והמוטבות.
  5. בדוק שינויים:בלשוניות "תוצאות" ו"סטטיסטיקה" תמצאו מידע מפורט לגבי המפתחות ששונו או נמחקו.

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

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

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

כלל מהיר

רוֹבעיבודצמתים פועלים על אSpine מטען. צמתים הקשורים ל-Atlas פועלים עלAtlas פרויקטאוֹספרייטים. לְהִשְׁתַמֵשׁValidatorNodeכשאתה לא בטוח למה מצפה שקע.

סוגי שקעים

  • Spine מטען— ייצוג ידידותי לזמן ריצה של פרויקט Spine המשמש את רוב צמתי העיבוד.
  • Atlas פרויקט— atlas מטא נתונים + תמונות עמוד בשימוש על ידי צמתי atlas.
  • ספרייטים— תמונות/אזורי ספרייט לא ארוזות (Atlas Unpacker → Asset מציג / Atlas Repacker).
  • JSON- מקורי או משוחזר Spine JSON לאבחון/אימות/הבדל.
  • שינויים- רשימה/זרם של הבדלים המיוצרים על ידי כמה ממירי אופטימיזציה ומשמשים את צמתי הצופה/דיווח.

מקש → הקלד → התחבר אל

מפתח שקע (דוגמאות)סוג נתוניםהופק על ידיהתחבר ל
payload, payload_in, payload_outSpine מטעןInputNode, רוב צמתי העיבודמעבד צמתים (RDP/Spline/Refit/Quantizer/Cleanup/etc.), ואזOutputNode.payload
original_jsonJSONInputNodeDiagnosticNode, JSONDiffNode.json_before, OutputNode.original_json, כמה צמתים atlas (למשל מצב אלפא מחדש של מארז)
reconstructed_json_outJSONOutputNodeJSONDiffNode.json_after, מאמתים/ניפוי באגים
changesרשימת שינוייםכמה צמתי עיבוד +OutputNodeAnimationViewerNode(אופציונלי), דוחות/ניפוי באגים
atlas_projectAtlas פרויקטInputNode/ atlas מציגAtlasUnpackerNode.atlas_project, OutputNode.atlas_project, atlas מסננים
atlas_in, atlas_outAtlas פרויקט (או זרם הקשור ל-atlas)Atlas צמתים / מסנניםAtlas צמתים,AtlasViewerNode, AtlasMergerNode(באמצעות ריבוי כניסות שלו)
sprites_out, sprites_in, sprites_data_inספרייטיםAtlasUnpackerNode, מסנניםAssetViewerNode.sprites_in, AtlasRepackerNode.sprites_data_in
atlas_inputsAtlas פרויקטים מרוביםמספר מקורותAtlasMergerNode.atlas_inputs(חבר כמה אטלסים)

צינורות מעשיים

  • אופטימיזציה בסיסית של JSON: InputNode→ (אופציונלי:DiagnosticNode/ מסננים) → כלי אופטימיזציה (RDPNode, SplineNode, QuantizerNode, …) → OutputNode.
  • אריזה מחדש של Atlas: InputNode.atlas_projectAtlasUnpackerNode→ (אופציונלי:AssetViewerNode) → AtlasRepackerNodeOutputNode.atlas_project/atlas_assets.

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

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

re-polish מציע שתי שכבות מנוי כדי להתאים לצרכים שונים.

תוכנית חינם

  • ✓ בסיסי Node Graph
  • ✓ JSON מציג
  • • TimelineMixer
  • • אופטימיזציות מוגבלות
  • ✓ Spine גרסאות: 4.2, 4.1, 4.0, 3.8, 3.7

תוכנית פלוס (5 דולר לחודש)

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

מקבל פלוס

לחץ עלשדרוגלחצן בניווט העליון, ולאחר מכן:

  • לִבחוֹרקבל פלוס
  • אתה תופנה אל Patreon - השלם את המנוי
  • חזור לעורך הצומת בזמן שאתה מחובר לאותו חשבון Patreon כדי שהשירות יוכל לאמת את הקישור ולהפעיל את פלוס
  • (אופציונלי) הזן קוד הפעלה (למבצעים מיוחדים)

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

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

כל שיטות האופטימיזציה מחולקות לשני סוגים:

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

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

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

כדי להבין עד כמה יעיל האופטימיזציה שלך, שים לב למדדים הבאים:

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

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

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

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

בקרות אנימציה

  • הַנפָּשָׁה— בוחר איזו הנפשה Spine מושמעת.
  • עוֹר— בוחר איזה עור יוחל.
  • מְהִירוּת- מכפיל מהירות השמעה (0.1× → 3.0×).

הצג בקרות

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

איתור באגים בקרות

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

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

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

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

בזמן אמת

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

מדדי שלד

  • חריצים גלויים- כמה משבצות נראו במדגם האחרון.
  • ממוצע נִרְאֶה- ממוצע מתגלגל של חריצים גלויים (יציב יותר ממסגרת בודדת).
  • קודקודים- ספירת הקודקוד הנוכחית המשמשת לעיבוד.
  • גבולות (px)- השלד הנוכחי מגביל רוחב × גובה בפיקסלים.
  • ממוצע גבולות- גבולות ממוצעים מתגלגלים.
  • המרקם הגדול ביותר- דף atlas הגדול ביותר (לפי מידות) שזוהה עבור השלד.
  • זיכרון מרקם- זיכרון טקסטורה משוער עבור דפי atlas שנטענו. כאשר זמין, החלונית מציגה גם פירוט לכל עמוד (שם קובץ, מידות וגודל משוער).

שיפורים (כאשר אופטימיזציה זמינה)

  • שיפור חריץ- משווהממוצע נִרְאֶהבין מקורי מול אופטימיזציה.
  • שינוי זיכרון- משווהזיכרון מרקםבין מקורי מול אופטימיזציה.

צופה: ציר זמן

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

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

רצועות וקליפים

  • עד 4 רצועות אנימציה— כל מסלול ממפה ל-SpinetrackIndexשִׁכבָה. רצועות גבוהות יותר משתלבות על גבי רצועות נמוכות יותר.
  • הוסף אנימציה- לחץ על+כפתור בכל רצועה כדי לפתוח את בורר האנימציה (עם מסנן חיפוש).
  • גרור ושנה גודל קליפים- גרור את גוף הקליפ כדי להזיז אותו לאורך המסלול; גרור את הקצוות שמאלה/ימינה כדי לשנות את שעת ההתחלה או משך הזמן.
  • מחק קליפים— בחר קליפ ולחץ עלDeleteאוֹBackspace.
  • זיהוי חפיפה- קליפים חופפים באותו רצועה מסומנים באדום.

בקרות תחבורה

  • הפעל / השהה / עצור- בקרות השמעה סטנדרטיות.
  • הקודם / הבא— קפוץ לתחילת הקליפ הקודם או הבא.
  • מהירות אנימציה— מחוון מ-0.1× ל-3.0×.
  • עצירה אוטומטית— ההשמעה נעצרת אוטומטית בסוף ציר הזמן.

ערבוב מעבר

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

חיפוש וקרצוף

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

השמעה מודעת לפיזיקה

  • החלף בין פיזיקהלְעַדְכֵּן(אילוצים פעילים) ואַף לֹא אֶחָד(נָכֶה).
  • במהלך החיפוש, זמן השלד מתקדם כדי ליישב כראוי את אילוצי הפיזיקה.

תמיכה בריבוי שלדים

  • בורר זוג יעד- כל מסלול יכול למקד לכל הזוגות (🌐 כל הזוגות) או לשלד ספציפי.
  • מיקום וקנה מידה לכל שלד- היסט X/Y וקלט קנה מידה עבור שלדים בודדים.
  • צייר סדר- קלט מספרי לשליטה בעדיפות שכבת העיבוד.

איתור באגים

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

בחירת עור

תיבות סימון מרובות עבור כל העורות המוגדרים בשלד הנטען.

הצג הגדרות

  • מרווח X / Y- פער בין זוגות שלד.
  • היסט X / Y- שינוי נקודת מבט גלובלי.
  • החלפת PMA— מצב אלפא מוכפל מראש (Spine 3.x) או atlas מצב אלפא (Spine 4.x: auto / pma / bleed / none).
  • תוויות שלד— החלף את שכבת העל של התווית.

צופה: מקליט

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

המַקלִיטלוכד Spine אנימציות מהצופה כווידאו, תמונות מונפשות או רצפי תמונות.

מצבי הקלטה

  • ⚡ שיא מהיר- לכידה בזמן אמת באמצעותMediaRecorder + captureStream(). מפיקה פלט WebM בלבד. מהיר אך מוגבל לקצב פריימים בזמן אמת.
  • 🎬 ייצוא מטה- עיבוד לא מקוון של מסגרת אחר מסגרת באמצעות WebCodecsVideoEncoder + readPixels(). תומך בכל הפורמטים ומפיק פלט מושלם לפיקסלים.

פורמטי פלט

  • וִידֵאוֹ: WebM, MP4, AVI, MOV
  • תמונה מונפשת: GIF, מונפש PNG (APNG)
  • רצף תמונות: PNG רצף, רצף WebP

קודקים (HQ Export)

VP8, VP9, ​​H.264 (AVC), AV1, ProRes - קודקים זמינים מזוהים אוטומטית על סמך תמיכה בדפדפן.

אֵיכוּת

  • הגדרות קבועות מראש: נמוך (~1 Mbps), בינוני (~3 Mbps), גבוה (~5 Mbps), ללא אובדן (~20 Mbps).
  • קצב סיביות מותאם אישית- ציין ב-kbps עבור שליטה עדינה.

תִזמוּן

  • FPS: 24, 30, 60 או מותאם אישית (1-120 פריימים לשנייה).
  • חימום- שניות ליישוב פיזיקה/אילוצים לפני תחילת ההקלטה.
  • הפסקה-אחרי- החזק את הפריים האחרון למשך זמן מוגדר.
  • כלול את המסגרת האחרונה- להחליף.

Viewport & Crop

  • הפעל/השבת חיתוך- החלפת אזור חיתוך.
  • חיתוך מלבן— X, Y, Width, Height בקואורדינטות עולם Spine.
  • הצמד לזוג- התאמה אוטומטית של יבול לזוג שלד עם ריפוד שניתן להגדרה.
  • שכבת חיתוך אינטראקטיבית- גרור פינות/קצוות ישירות בשדה התצוגה.

הַחְלָטָה

  • מצב קנה מידה- מחוון אחוז (10%–400%).
  • מצב קבוע- ממדי פיקסלים מפורשים (עד 4096 פיקסלים).
  • רזולוציית פלט מחושבת מוצגת בשידור חי.

אפשרויות עיבוד

  • עיבוד עצמות- כלול שכבת עצם לניפוי באגים.
  • עיבוד תמונות- כלול תמונות מצורפות.
  • מעבד אחרים- תיבות תוחמות, שבילים.
  • MSAA— None / 2× / 4× נגד כוויות.
  • הַחלָקָה- רמות 0-8 עם בחירת אלגוריתם (Bicubic / Bilinear).

רֶקַע

  • שָׁקוּף- מושבת אוטומטית עבור פורמטים חסרי אלפא (למשל, GIF, JPEG).
  • צבע אחיד- בוחר צבעים מותאם אישית.
  • לוּחַ שַׁחְמָט- מחוון שקיפות חזותית.
  • תמיכה בערוצי אלפא: VP9+WebM, AV1+MP4, PNG Sequence, APNG, WebP Sequence.

שכבת HUD

  • החלף: מידע מסלול, זמן, מספר מסגרת, FPS, תוויות שלד.
  • טקסט מותאם אישית- מחרוזת סימן מים.
  • מַצָב- 4 פינות (שמאל למעלה, ימין למעלה, שמאל למטה, ימין למטה).
  • גודל גופן- 8–64 פיקסלים, בתוספת בורר צבעי טקסט.

Repeat & Multi-Skeleton

  • חזור על הספירה- 1-100 איטרציות לולאה.
  • זוג יעד- להקליט שלד ספציפי או הכל.
  • מצב שלדים- משולב (קובץ בודד) / קבצים נפרדים (קובץ אחד לכל שלד).

תבנית שם קובץ

מחרוזת תבנית עם משתנים:{project}, {animation}, {W}, {H}, {fps}. תצוגה מקדימה חיה של שם הקובץ שנפתר מוצגת.

שילוב ציר זמן

טווח ההקלטה מופיע כקליפ מקווקו אדום/כתום על ציר הזמן. גרור קצוות כדי לשנות את גודל הטווח, גרור את הגוף למיקום מחדש, או השתמש בלחצן ההגדרות (⚙️) כדי לפתוח את הגדרות ההקלטה המלאות.

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

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

התוצאותהכרטיסייה מציגה פלט אופטימיזציה מפורט.

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

טיפ: השתמש בתצוגת התוצאות כדי לענות:מה בדיוק השתנה

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

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

הסטָטִיסטִיקָההכרטיסייה מסכמת את תוצאות האופטימיזציה כתרשימים ומדדים מצטברים.

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

השתמש בכרטיסייה זו כדי לענות:כמה השתפרנו בסך הכל?

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

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

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

פתח את רשימת ההשמעה המלאה

דוגמאות

Spine2D ניסויים 1: אופטימיזציה של עקומה עם אלגוריתם RDP- הדגמת אופטימיזציה דו-ממדית של Spine בסיסית: אלגוריתם Ramer–Douglas–Peucker (RDP) מסיר נתוני עקומה/מפתח מיותרים כדי לכווץ את JSON. RDP יכול להסיר מפתחות חשובים, אז תמיד סקור אנימציות והסר עצמות/חריצים רגישים עם צמתי סינון לפני הצומת RDP.צפו ביוטיוב

Spine2D ניסויים 2: אופטימיזציה של עקומה עם אלגוריתם קוונטיזציה— קוונטיזציה היא Spine הבטוח ביותר למיטוב עקומת דו-ממד: עיגול ערכים (לעיתים קרובות ל-1 עשרוני) נותן זכיות בגודל מיידי. דוגמה: [0.115,14.5,0.222,-27.78] → [0.1,14.5,0.2,-27.8]. השתמש בצומת הקוונטיזציה כשלב האחרון לפני צומת הפלט כדי לנעול אופטימיזציה; הסרטון מציג לפני/אחרי עם שינוי חזותי כמעט בלתי מורגש.צפו ביוטיוב

Spine2D ניסויים 3: בנייה מחדש של עקומות עם אלגוריתמי Spline & Refit- Spline הוא ללא הפסדים עבור מקטעים ישרים (מסיר מפתחות אמצעים מיותרים), בעוד Refit הוא אובדן אך רב עוצמה: הוא בונה מחדש מקטעים מורכבים כעקומת Bézier אחת. אלגוריתמים אלה הם אידיאליים לאחר אפייה בפיזיקה וניקוי באמצעות צומת שניידר. הערה: חזרות של חזרות מעל 100 יכולות לקחת דקות כדי למצוא את העקומה הטובה ביותר. הסרטון מראה כיצד שתי השיטות עובדות ואת אחוז האופטימיזציה שהושגה.צפו ביוטיוב

Spine2D ניסויים 4: הסרת נתונים מיותרים עם צמתים של נראות וצמתי ניקוי— אופטימיזציה דו-ממדית מבנית של Spine באמצעות צמתים של נראות מצורף וניקוי. נראות של קבצים מצורפים משביתים קבצים מצורפים כאשר אלפא דוהה ל-0 ומשחזרת אותם ב-fade-in, מצמצמת שיחות משיכה והסרת מקשים מיותרים. ניקוי מסיר יתירות לוגיות: רצועות צבע/אלפא שאינן בשימוש, מקשי סיבוב IK הנשלטים במלואם על ידי אילוצים ומקשי אילוצי נתיב. הסרטון מראה כיצד האופטימיזציות מבוססות ההיגיון הללו שונות מפישוט עקומה.צפו ביוטיוב

Spine2D ניסויים 5: בניית צינורות לא לינאריים (מסננים ומיזוג Node)— אופטימיזציה דו-ממדית לא ליניארית של Spine: פצל את זרם הנתונים עם מסננים (אנימציה, עצם, חריץ, פרמטר או עור), הפעל אלגוריתמים שונים על ענפים מקבילים (לדוגמה, דחיסה אגרסיבית של עצמות הגוף תוך שמירה על הנפשה של פנים ללא הפסדים), ואז שלבו ענפים עם צומת המיזוג לשלד אחד. זרימת עבודה זו חורגת מעבר לקלט פשוט ← אופטימיזציה ← צינור פלט ומאפשרת לך למקד רק למה שצריך לבצע אופטימיזציה.צפו ביוטיוב

Spine2D ניסויים 6: אריזה מחדש של מרקם ושינוי קנה מידה סלקטיבי עם צמתים מותאמים אישית— צינורות מתקדמים לאופטימיזציה של טקסטורה: צמתי ה-Atlas Unpacker/Repacker מאפשרים לך לפרוק, לשנות גודל/דחיסה ולארוז מחדש אטלסים בתוך גרף אחד, מהר יותר מאשר זרימות עבודה סטנדרטיות של Spine. באמצעות הצינור הלא-ליניארי, אתה יכול לפצל נכסים, לשמור על טקסטורות תווים ב-100% תוך כדי קנה המידה של אחרים ל-25%, ואז למזג הכל בחזרה לatlas משותף אחד. Atlas/הצמתים של ה-Asset מציג מספקים בדיקה ויזואלית וסינון של נכסים ואטלסים בכל שלב. זה מקל על הגדרת שינוי גודל של יעדים, עיבוד סלקטיבי ושילוב מחדש של תוצאות כתבנית לשימוש חוזר.צפו ביוטיוב

Spine2D ניסויים 7: שינוי גודל שלד מיידי עם סולם Node— מקצה לקצה Spine צינור אופטימיזציה דו-ממדית בתוספת קנה מידה שלד. צומת ה-Scale מחליף זרימת עבודה מייגעת של Spine (ייצוא/ייבוא, אריזה מחדש/פירוק, תיקון נתיבים) בצעד גרף אחד: הגדר את גודל היעד, תצוגה מקדימה מיידית בתצוגה וחזרה בזמן אמת. הסרטון קושר יחד אופטימיזציה של עקומה/מפתח, עיבוד נכסים ושינוי גודל שלד בצינור אחד יעיל.צפו ביוטיוב

Spine2D ניסויים 8: בטא ציבורי Node סקירה כללית- הדרכה על כל צומת זמין בגרסת הבטא הציבורית וכיצד ליטוש מחדש את הצרכים של אנימטור ומפתח. מכסה ניקוי מפתח מיותר, פישוט Bézier-to-linear, עיגול לגודל, הסרת קבצים מצורפים בלתי נראים, ניקוי נכסים שאינם בשימוש, זיהוי תווים שאינם באנגלית וatlas unpack/filter/scale/repack. ה-Dual מציג מאמת תוצאות עם השוואה ויזואלית זו לצד זו וFPS. Public Beta פעיל ב-re-polish.com. צפו ביוטיוב

Spine2D ניסויים 9: אילוצי פיזיקה של אפייה לפריימים מפתח- בסרטון זה, אני מדגים את הניסויים האחרונים שלי עם אילוצי פיסיקה באפייה במסגרות מפתח סטנדרטיות. אלגוריתם האפייה החדש מבטיח: לולאות מושלמות (אפס ריצוד או קפיצות בין מסגרות התחלה וסוף), גודל קובץ אופטימלי (ניקוי עקומה אוטומטי שומר על גודל JSON קרוב למקור), ותאימות לאחור (מפתחות אפויים מאפשרים לך להשתמש ב-Spinetoken="1"> ב-token animations 4.2 ב-נתונים של -token. 4.1 או אפילו 4.0).צפו ביוטיוב

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

Picture Input

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

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

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

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

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, שינויים

Spline

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

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

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

Refit

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

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

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

Quantizer

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

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

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

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

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

Cleanup

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

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

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

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

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

Scale

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

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

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

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

Schneider

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

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

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

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

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

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

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

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

Physics Constraint Bake

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

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

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

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

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

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

Attachment Visibility

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

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

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

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

Payload Merger

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

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

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

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

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

Animation Viewer

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

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

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

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

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

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

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

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