יצירת אטלסי ספרייטים דו-ממדיים לביצועי משחק

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

היכולות שלנו

שירותי סטודיו אחרים

יישומי VR/AR/MR מותאמים אישית

טבלו לקוחות וצוותים בחוויות דיגיטליות חדשות

פיתוח משחקי Unity

מקונספט לשחרור — משחקים שאנשים זוכרים

מידול ואנימציה בתלת-ממד

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

סימולטורי ציוד VR תעשייתיים

אמנו מפעילים על ציוד בבטחה, ללא השבתה

הוראות AR לייצור

הנחיות שלב-אחר-שלב ישירות על הציוד — ללא נייר

סימולטורי VR לבטיחות

תרגול תגובה לשעת חירום ללא צורך בהגעה לשטח

תוכניות הכשרה ב-VR/AR

הכשרת עובדים בשירות, קליטה ומיומנויות רכות ב-VR

חידוני הכשרה לעובדים

בדיקת ידע באמצעות משחקים — בקלות וללא לחץ

הוראות וידאו ארגוניות

סרטונים ברורים להכשרת העובדים והלקוחות שלכם

גיימיפיקציה עסקית

הניעו צוותים עם מכניקת משחק ב-KPI ובמשאבי אנוש

יישומי קיוסק אינטראקטיביים

מסכים אינטראקטיביים לקמעונאות, תערוכות ומשרדים

מתקני VR/AR

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

תערוכות ומוזיאונים וירטואליים

התערוכות שלכם מגיעות לכל פינה בעולם, 24/7

מסעות אירועים ומשחקי מותג

משחקים בלתי נשכחים לכנסים ולאירועי לקוחות

שאלות נפוצות

העבודות האחרונות

  • פיתוח משחקים עבור Mortal Motors
    פיתוח משחקים עבור Mortal Motors
    1638
  • משחק אסטרטגיה מבוסס תורות המתרחש בעולם פנטזיה, With Fire and Sword
    משחק אסטרטגיה מבוסס תורות המתרחש בעולם פנטזיה, With Fire and Sword
    1122
  • פיתוח משחק עבור חברת Second term
    פיתוח משחק עבור חברת Second term
    751
  • אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    830

יצירת אטלסי ספרייטים דו-ממדיים לביצועי משחק

אנו יוצרים אטלסי ספרייטים למשחקי 2D, ומספקים הפחתה של פי 3–10 בקריאות ציור (draw calls) במכשירים ניידים. עשרה ספרייטים בודדים בתיקייה משמעותם עשר קישורי טקסטורה במהלך העיבוד. אותם עשרה ספרייטים באטלס אחד משמעותם קישור אחד בלבד. ההבדל בביצועים בנייד הוא עצום. הניסיון הרב שלנו בפיתוח משחקים עם למעלה מ-50 כותרים מותאמים מאשר שאטלס בנוי כראוי מקצר את זמני הטעינה ב-40% וחוסך עד 70% מקריאות הציור.

אבל אטלס הוא לא רק "לשים טקסטורות באחת גדולה." אטלס שהורכב בצורה לא נכונה יוצר חפצים (artifacts), מבזבז זיכרון, ולא מפחית קריאות ציור כמתוכנן. אנו מבטיחים אריזה איכותית וכיוונון ספציפי לפלטפורמה.

בסיס טכני: TexturePacker

TexturePacker הוא הכלי הסטנדרטי ליצירת אטלסי ספרייטים בפיתוח משחקים (מקור: wikipedia.org/wiki/Sprite_atlas). הוא תומך בכל המנועים המרכזיים: Unity, Godot, Cocos2d, Phaser. הגדרות מפתח קובעות את איכות האטלס:

אלגוריתם. MaxRects BestShortSideFit נותן את האריזה הטובה ביותר לרוב הפרויקטים (ניצול מקסימלי של שטח הטקסטורה). Basic מהיר יותר אבל אורז בצורה גרועה. לאטלסי production, השתמשו ב-MaxRects.

ריפוד (Padding). הפער בין ספרייטים באטלס. ללא ריפוד, מתרחשים חפצי דימום (bleeding): במהלך העיבוד, פיקסלים של ספרייטים שכנים נתפסים. סטנדרט: ריפוד של 2px. עם mipmaps, השתמשו ב-4–8px (mipmaps ממזגים פיקסלים שכנים ברמות נמוכות יותר).

רוטציה. אפשרו ל-TexturePacker לסובב ספרייטים ב-90° לאריזה טובה יותר. המנוע חייב לתמוך בכך (Unity Sprite Atlas תומך; חלק מהמנועים הישנים לא).

חזקת שתיים (Power of Two). מידות האטלס הסופיות חייבות להיות חזקות של שתיים: 512×512, 1024×1024, 2048×2048. GPUs מאחסנים טקסטורות בחזקת שתיים בצורה יעילה יותר. מידות לא סטנדרטיות (לדוגמה, 1000×800) בחלק מה-GPUs גורמות להגדלה אוטומטית לחזקת השתיים הקרובה, מה שמבזבז זיכרון.

כיצד לקבץ ספרייטים בצורה נכונה לאטלסים

ההחלטה החשובה ביותר: אילו ספרייטים לשלב באטלס אחד.

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

מגבלת גודל אטלס. 2048×2048 בטוח לנייד. 4096×4096 עובד ברוב מכשירי ה-Android/iOS המודרניים אבל יש יוצאים מן הכלל (Android תקציבי ישן). חריגה מגודל הטקסטורה המקסימלי של המכשיר גורמת לקריסה או ל-fallback מושפל.

אטלסי אנימציה. גיליון ספרייטים (כל פריימי האנימציה באטלס אחד) הוא סטנדרט לאנימציות פריים-אחר-פריים. Sprite Sheet Export של TexturePacker יוצר אטלס בתוספת קובץ JSON/XML עם קואורדינטות לכל פריים. Sprite Editor של Unity קורא את ה-JSON הזה דרך Custom Physics Shape או חיתוך אוטומטי.

לפורמט הדחיסה יש חשיבות למשחקים ניידים

פורמט אחסון הטקסטורה באטלס הוא קריטי לביצועים:

פלטפורמה פורמט הערות
iOS ASTC (4×4 או 6×6) האיכות/גודל הטובים ביותר ל-iOS A8+
Android (מודרני) ETC2 (RGB) / ETC2 RGBA GLES 3.0+, נתמך על ידי 95%+ מהמכשירים
Android (מיושן) ETC1 + ערוץ אלפא נפרד למכשירים ישנים מאוד
PC/WebGL DXT1 / DXT5 סטנדרט לשולחן העבודה
אוניברסלי RGBA32 לא דחוס, איכות מקסימלית, גודל מקסימלי

שימוש ב-RGBA32 לבניית production סופית הוא טעות. טקסטורת RGBA32 בגודל 2048×2048 משתמשת ב-16 MB של זיכרון וידאו. אותה טקסטורה ב-ASTC 4×4 משתמשת ב-2 MB — כלומר יעילות זיכרון טובה פי 8. הכפילו זאת במספר האטלסים במשחק שלכם, ותקבלו בעיית זיכרון בנייד.

ב-Unity, עקיפות ספציפיות לפלטפורמה ב-Texture Importer מאפשרות הגדרת פורמטים שונים ל-iOS ו-Android מבלי לשכפל נכסים.

Sprite Atlas ב-Unity

ה-Sprite Atlas של Unity (שהוצג עם תכונת Sprite Atlas) הוא כלי מקורי שאינו דורש תוספים חיצוניים. צרו נכס SpriteAtlas בפרויקט → Create → 2D → Sprite Atlas. הוסיפו תיקיות או ספרייטים בודדים ל-Objects for Packing. Unity אורזת את האטלס אוטומטית במהלך הבנייה.

ניואנס חשוב: ספרייטים חייבים להיות עם Packing Tag מוגדר או להוסיף ישירות ל-Sprite Atlas—אחרת הם נשארים טקסטורות נפרדות. ערבוב של ספרייטים באטלס ומחוץ לאטלס באותו Canvas של ממשק שובר את קריאת הציור.

Late Binding (גרסאות Unity מודרניות): האטלס נטען רק כשספרייט שבתוכו נמצא בשימוש ראשון, לא בתחילת הסצנה. זה קריטי למשחקים גדולים עם אטלסים רבים—זה מפחית את זמן טעינת הסצנה הראשונית.

חפצים אופייניים והגורמים שלהם

  • דימום (פיקסולציה בקצוות): ריפוד = 0, או mipmaps ללא ריפוד מוגדל.
  • שטח ריק באטלס (>20%): אלגוריתם אריזה לא אופטימלי או גדלי ספרייטים לא תואמים.
  • קריאות ציור לא מופחתות: ספרייטים מאטלסים שונים באותו Canvas או אצוות עיבוד.
  • חפצי רוטציה: המנוע לא תומך ברוטציה, אבל TexturePacker הפעיל אותה.

תוצרים

  • תיעוד: מדריך הגדרת אטלס מפורט, כולל קבצי תצורה של TexturePacker והערות ייבוא ל-Unity/Godot.
  • גישה: פרויקטי אטלס מקוריים (JSON, .psd, .tps) לשינויים עתידיים.
  • הדרכה: עד שעתיים של הדרכה מרחוק על תחזוקה ואופטימיזציה של אטלסים.
  • תמיכה: חודש של תמיכה בדוא"ל לבעיות אינטגרציה.

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

שלבים ליצירת אטלס

  1. ביקורת נכסים קיימים: רשימת כל הספרייטים, הגדלים, הפורמטים.
  2. קיבוץ ספרייטים לפי כלל קריאת הציור (אותו Canvas, אותה אנימציה, אותה ביומה).
  3. אריזה עם TexturePacker באמצעות MaxRects, ריפוד 2px, חזקת שתיים.
  4. הגדרת דחיסה לפי פלטפורמה (ASTC ל-iOS, ETC2 ל-Android, DXT ל-PC).
  5. בדיקה עם Unity Frame Debugger לאימות הפחתת קריאות ציור.

טיפ מקצועי: בשימוש ב-mipmaps, הגדירו ריפוד ל-4–8 פיקסלים כדי למנוע דימום ברמות mip נמוכות יותר.

מומחיות החברה

עם ניסיון של למעלה מעשור בפיתוח משחקים ו-50+ כותרים מותאמים ששוחררו, אנו מספקים תוצאות מוכחות. הצוות שלנו תרם לפרויקטים ב-Steam, App Store ו-Google Play, והשיג הפחתה של עד 90% בקריאות ציור בהשוואה לטקסטורות בודדות וקיצור זמני טעינה ב-40%.

לוחות זמנים

היקף משך
ביקורת וארגון מחדש של אטלסי פרויקט קיים 2–5 ימים
יצירת סט אטלסים מלא לפרויקט חדש (עד 500 ספרייטים) 1–2 שבועות
אופטימיזציה + הגדרת פורמטים לפלטפורמות + תיעוד 2–4 שבועות

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