יצירת דמויות תלת-ממד יעילות למשחקי מובייל
אתם מפתחים משחק תפקידים למובייל. הדמות הראשית נראית מצוין ב-Blender, אבל ב-Samsung Galaxy A32 אתם מקבלים 20 FPS. איזון בין ויזואליה לביצועים הוא האתגר המרכזי בגרפיקת תלת-ממד למובייל. מודל low-poly אינו עניין של איכות ירודה—זה עניין של חלוקת משאבים חכמה. הניסיון שלנו כולל מעל 50 דמויות ל-15 משחקים בז'אנרים שונים. אנחנו יודעים איך להימנע מבעיות כאלה.
למה תקציב הפוליגונים חשוב
כל משולש נוסף מגביר את עומס עיבוד הקודקודים ואת השימוש ברוחב פס הזיכרון. במכשירים ניידים עם מרווח תרמי מוגבל, חריגה מהתקציב גורמת ל-throttling ולירידות FPS. אנחנו מבטיחים שהמודל יתאים למגבלות הנתונות מבלי לאבד איכות ויזואלית. תקציבי יעד לז'אנרים שונים:
| סוג המשחק | דמות ראשית | NPC / אויבים | רקע |
|---|---|---|---|
| היפר-קז'ואל תלת-ממד | 500–1500 tri | 200–800 tri | 100–400 tri |
| קז'ואל תלת-ממד | 1500–4000 tri | 800–2000 tri | 300–1000 tri |
| מידקור | 3000–8000 tri | 1000–4000 tri | 500–2000 tri |
אלה משולשים (tris), לא פוליגונים. ב-Unity וב-Godot, המונים מציגים tris. Blender כברירת מחדל מציג faces—כפלו ב-~2 לרשתות משולשות.
LOD (רמת פירוט) הוא חובה לדמויות שיכולות להיות רחוקות מהמצלמה. LOD0 (מלא), LOD1 (50–60% מכמות הפוליגונים), LOD2 (25%). רכיב LODGroup של Unity עובר אוטומטית לפי מרחק. החיסכון ב-draw calls משמעותי בסצנות עם 10+ דמויות.
איך אנחנו יוצרים דמויות תלת-ממד למשחקי מובייל
התהליך מתחיל בניתוח דרישות הפרויקט. אנחנו קובעים את הסגנון, הז'אנר ומכשירי היעד. לאחר מכן אנחנו מפתחים מפרט טכני שמקבע את תקציב הפוליגונים, פורמט הטקסטורה והגדרות ה-rig. זה קריטי לאופטימיזציה בהמשך. לדוגמה, למשחקי היפר-קז'ואל, הדמות הראשית יכולה להיות עם 500–1500 משולשים בלבד, בעוד שלמשחקי מידקור RPG, עד 8000. בחירה לא נכונה בהתחלה מובילה לעבודה חוזרת ולעלויות נוספות. המהנדסים שלנו קובעים את הפרמטרים הנכונים מראש, וחוסכים בתקציב הפרויקט שלכם.
Rig ו-Skinning
Rig הומנואידי. אנחנו משתמשים ב-Unity Animator עם Avatar לדמויות הומנואידיות. זה מאפשר שימוש ב-motion capture ובמעברי Mecanim. מספר העצמות הוא 20–40 לדמות מובייל. יותר מכך פירושו עומס CPU גבוה יותר ל-skinning.
Rig גנרי. ליצורים, כלי רכב, צורות לא סטנדרטיות. פחות אילוצים על היררכיית העצמות. BlendTree ב-Animator מבטיח מעברים חלקים.
איכות Skinning. בהגדרות האיכות של Unity > Skin Weights למובייל, אנחנו משתמשים ב-2 Bones במקום 4 Bones. ההבדל בעיוות הוא מינימלי, והחיסכון ב-CPU מורגש עם 20+ דמויות על המסך.
Blend shapes (יעדי מורף) להבעות פנים. כל blend shape הוא מעבר קודקוד נוסף. במובייל, אנחנו מגבילים ל-5–10 הבעות מפתח לדמות הראשית.
איך לבחור בין Rig הומנואידי לגנרי
אם הדמות היא הומנואידית ואתם צריכים אנימציות מוכנות, בחרו הומנואידי. ליצורים ייחודיים (דרקונים, רובוטים), גנרי נותן יותר שליטה על השלד. ברוב פרויקטי המובייל, הומנואידי יעיל יותר בשל שימוש חוזר באנימציה ועלות פיתוח נמוכה יותר.
טקסטורות וחומרים
צפיפות טקסל—צפיפות פיקסלים ליחידת שטח פנים—חייבת להיות עקבית בכל הדמויות בסצנה. דמות עם טקסטורת 4K ליד NPC ב-256px נראית לא מקצועית.
טקסטורות PBR סטנדרטיות: Albedo (צבע בסיס), Metallic/Roughness (או Specular), Normal Map, Emission (אופציונלי). במובייל, Normal Map נשארת לעיתים קרובות רק לדמות הראשית.
איחוד טקסטורות. מספר דמויות על אטלס אחד = חומר אחד = Draw Call אחד. חשוב במיוחד בסצנות קרב עם אויבים זהים. ב-Unity, GPU Instancing + חומר משותף מאפשרים לצייר 100 אויבים זהים ב-draw call אחד.
דחיסה: ASTC 6x6 ל-iOS, ETC2 לאנדרואיד. ל-Albedo — ASTC 6x6 (מאבד איכות אבל מקובל). Normal Map — ASTC 4x4 (צריך דיוק לתאורה).
מניסיון: משחק מידקור RPG על Unity URP. סצנה עם 15 אויבים נתנה 200+ draw calls, 25 FPS ב-iPhone 11. אחרי יישום GPU Instancing + חומר משותף + LOD1 לאויבים מעבר ל-10 מטרים — draw calls ירדו ל-45, 60 FPS יציב. רק הגדרות ה-pipeline השתנו, המודלים לא נגעו. זה מראה איך אופטימיזציה נכונה של טקסטורות וחומרים חוסכת משאבים ותקציב.
פרטי אופטימיזציה טכניים
- אנחנו משתמשים ב-Unity URP עם נתיב עיבוד Forward. - GPU Instancing למודלים חוזרים. - איחוד טקסטורות להפחתת draw calls. - אופטימיזציית Shader דרך Shader Graph.השוואה בין URP ל-Built-in
| קריטריון | URP | Built-in |
|---|---|---|
| ביצועים במובייל | גבוהים יותר (Shader Lit מהיר יותר) | נמוכים יותר (Shader Standard כבד יותר) |
| Shader Graph | כן (ללא HLSL) | לא |
| תכונות Renderer | כן (קו מתאר, פוסט-עיבוד) | לא |
| תמיכה ב-Forward/Deferred | Forward בלבד | Forward ו-Deferred |
| Shaders מותאמים אישית | דרך Shader Graph או HLSL | HLSL |
URP הוא הסטנדרט לפרויקטי מובייל חדשים. הוא מהיר עד פי 2 מ-Built-in במכשירים ניידים בשל עיבוד מותאם. Shaders מסוגננים (cel shading, toon) פופולריים במשחקי מובייל ומיושמים דרך Shader Graph ללא קוד: Ramp Texture לתאורה + Fresnel לתאורת קצה = מראה קריקטורי.
תהליך יצירת הדמות
- בלוקינג — צורות בסיס מפרימיטיבים.
- פירוט — חידוד אנטומיה.
- רטופולוגיה — טופולוגיה נקייה לאנימציה. ידנית לאזורים מתעוותים (מפרקים, פנים).
- פריסת UV — ניצול אופטימלי של שטח הטקסטורה.
- אפיית Normal — העברת פרטים מה-high-poly ל-low-poly.
- טקסטורינג ב-Substance Painter (Albedo, Normal, Metallic/Roughness).
- Rig ו-skinning — rig הומנואידי או גנרי, צביעת משקלים.
- בדיקה במנוע — בדיקת אנימציה ו-shader במכשיר היעד.
- אופטימיזציה — פרופיילינג, כוונון LOD ו-draw calls.
מה כלול בעבודה
- מידול תלת-ממד עם עמידה בתקציב הפוליגונים
- פריסת UV עם ניצול אופטימלי של שטח הטקסטורה
- אפיית פרטים מ-high-poly ל-low-poly
- טקסטורינג (Albedo, Normal, Metallic/Roughness)
- Rig ו-skinning ל-rig הומנואידי או גנרי
- LOD0 + LOD1 + LOD2
- ייצוא ל-FBX/glTF עם הגדרות ל-Unity / Godot
- בדיקה במנוע עם אימות אנימציה ו-shader
לוחות זמנים ותקציב
יצירת דמות אחת ברמת קז'ואל (1500–4000 tri, סט טקסטורות בסיסי, rig הומנואידי) אורכת 2–4 שבועות. גיבור מידקור עם מפת טקסטורה מלאה, blend shapes ו-LOD אורך 4–8 שבועות. ייצור סדרתי של NPCs דומים מהיר יותר בשל שימוש חוזר ברשת הבסיס. העלות נעה בדרך כלל בין $500 לדמות היפר-קז'ואל ל-$3000 לגיבור מידקור. אופטימיזציה נכונה יכולה להפחית את הוצאות הייצור הכוללות בעד 40%. למשחק היפר-קז'ואל, מיקור חוץ של דמות ראשית עולה בסביבות $500, בעוד שגיבור מידקור עשוי לעלות $3000. צרו קשר כדי לדון בפרויקט שלכם. נעריך את המשימה ונציע את הפתרון האופטימלי שמתאים לתקציב וללוח הזמנים שלכם. המשחק שלכם יקבל גיבור שלא יאכזב אתכם תחת עומס. בקשו ייעוץ על אופטימיזציית דמויות.







