אופטימיזציית LOD: תיקון פופ, הפחתת Draw Calls, שיפור FPS

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

היכולות שלנו

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

יישומי 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
    1123
  • פיתוח משחק עבור חברת Second term
    פיתוח משחק עבור חברת Second term
    751
  • אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    אנימציית תלת-ממד - טיזר למשחק Phoenix 2.
    830

אופטימיזציית LOD: תיקון פופ, הפחתת Draw Calls, שיפור FPS

אנחנו נתקלים בבעיות LOD כמעט בכל פרויקט שני. LOD Group שהוגדר לא נכון ב-Unity עושה את ההפך מהמטרה: LOD0 עובר ל-LOD1 מוקדם מדי, השחקן רואה פופ חד, וזה מרגיש כמו באג. או שהמעברים מוגדרים לפי Screen Relative Height בלי להתחשב במרחק האמיתי—במצלמות אורתוגרפיות, LOD פשוט לא עובד. המטרה שלנו היא להפוך את ה-LOD לבלתי נראה אך יעיל.

המהות היא ש-LOD הוא מערכת לניהול מורכבות הסצנה בהתבסס על נראות אובייקטים. היא עובדת נכון רק כשמתחשבים ב: סוג המצלמה, מהירות תנועת השחקן, תאורה (הטלת צל מ-LOD1 לרוב גרועה יותר מאשר מ-LOD0), ואיך המנוע מחשב מרחק.

איך נוצר פופ LOD ומה עושים איתו

פופ LOD הוא הבעיה הוויזואלית העיקרית. זה קורה כשהגיאומטריה ו/או הטקסטורות בין הרמות שונות יותר מדי. מקרה קלאסי: אמן יצר LOD1 עם 60% פחות פוליגונים, אבל פריסת ה-UV זזה, ומפת הנורמלים לא מפצה על אובדן הצורה. המעבר במרחק 10 מטרים נראה לעין בלתי מזוינת. הפתרון הוא יצירת LOD נכונה (אנחנו משתמשים ב-Simplygon או ב-Unity LOD Generator) תוך שמירה על תפרי UV ובדיקת הקרנת נורמלים.

צללים לא עוקבים אחרי מעברי LOD. ב-Unity, Shadow Caster Culling עובד באופן עצמאי מ-LOD Group. אם יש לך LOD2 כ-billboard שטוח עם 2 פוליגונים, אבל הצל עדיין מחושב מהמשקוף של LOD0 (בגלל Force Shadow Casting = On), אתה משלם על רינדור צללים מהגיאומטריה המלאה של אובייקט שלא נראה ויזואלית. קל לפספס את זה—Frame Debugger מראה Shadow Pass עם תקציב draw call מלא. אנחנו מבטיחים חיסול של עלויות נסתרות כאלה.

HLOD (Hierarchical LOD) לא מוגדר לסצנות גדולות. בפרויקטים של עולם פתוח, LOD Group רגיל נכשל מעבר ל-500 מטרים—אובייקטים נחתכים אבל הסצנה לא נפרקת. Unity HLOD (דרך חבילת HLOD Creator) ממזג אוטומטית אובייקטים מרוחקים למשקוף אחד. בלי זה, ייתכנו 3000 draw calls מעצים באופק. נבחן את הפרויקט שלך תוך 1–2 ימים.

למה מדיניות LOD חייבת להיות שונה לפי סוג אובייקט

אנחנו קובעים מדיניות LOD נפרדת לכל קטגוריה (דמויות, מבנים, אביזרים, צמחייה). דוגמה מ-RPG למובייל עם עולם פתוח של 2×2 ק"מ: עצים: LOD0 (500 פוליגונים) עד 15מ', LOD1 (80 פוליגונים) עד 50מ', LOD2 (billboard צולב) עד 150מ', חיתוך מעבר ל-150מ'. מבנים: LOD0 עד 30מ', LOD1 עד 80מ', LOD2 עד 200מ'. תצורה זו הפחיתה draw calls מ-680 ל-210 במרכז העיר.

עבור Unreal Engine, אנחנו משתמשים ב-Nanite היכן שזה רלוונטי—על משקופים סטטיים עם ספירת פוליגונים גבוהה. אבל Nanite לא מחליף LOD לאובייקטים נעים ולא עובד עם חומרים שקופים. אנחנו מגדירים HLOD ב-UE5 דרך World Partition HLOD Layer. לפי תיעוד Unreal Engine, השיטה המומלצת ל-Nanite דורשת השבתת LOD עבור משקופי Nanite.

Cross-fading במקום פופ חד. Unity LOD Group תומך במצב Cross Fade—מעבר דית'רינג בין רמות. זה עובד דרך מילת המפתח Dither Fade shader. במובייל, דית'רינג זול יותר ממה שחושבים—Adreno מבצע אותו במקביליות טובה. אנחנו מפעילים אותו לאובייקטים גדולים בחזית, ושומרים על מעבר מיידי לאביזרים קטנים ומרוחקים.

צמחייה היא סיפור נפרד. SpeedTree LOD משתלב ב-Unity דרך pipeline נפרד. המלכוד העיקרי: SpeedTree billboard LOD מרונדר דרך BatchRendererGroup נפרד, וחייבים לפרופיל אותו בנפרד ממונה ה-draw call הראשי. ראינו פרויקטים שבהם 40% מזמן ה-GPU הלך ל-2000 עצי billboard שנראו "כבר אופטימליים". אנחנו מאמנים צוותים על ניואנסים כאלה כחלק מהתמיכה.

איך להגדיר LOD ב-5 שלבים

  1. פרופיל GPU: פתח את Profiler → GPU Usage ו-Frame Debugger מסונן לפי draw calls. זהה כמה אובייקטים מרונדרים עם פירוט יתר.
  2. ניתוח Overdraw: במצב Scene View, הפעל מצב Overdraw—מצא אובייקטים עם overdraw גבוה ללא LOD.
  3. מיון: חלק אובייקטים לקטגוריות וקבע מספרי רמות ומרחקי סף לפי הטבלה למטה.
  4. יצירת LOD: השתמש ב-Simplygon או בגנרטור המובנה. עבור משקופים קריטיים, עידון ידני.
  5. בדיקה על פלטפורמת היעד: בדוק היעדר פופ ושיפור FPS.
קטגוריה רמות ספים (מ') צללים
דמויות LOD0, LOD1, LOD2 0–10, 10–25, 25–50 פועל עד LOD1
מבנים LOD0, LOD1, LOD2 0–30, 30–80, 80–200 פועל עד LOD0
אביזרים (קטנים) LOD0, LOD1 + חיתוך 0–5, 5–15 כבוי ב-LOD1
צמחייה (עצים) LOD0, LOD1, Billboard, חיתוך 0–15, 15–50, 50–150 כבוי ב-LOD2

התהליך שלנו לעבודת LOD

הביקורת מתחילה עם Profiler → GPU Usage ו-Frame Debugger. אנחנו סופרים כמה אובייקטים מרונדרים מעבר לפירוט הנראה. אחרי הביקורת, אנחנו מכינים מפרט LOD: טבלה עם קטגוריות אובייקטים, מספרי רמות, מרחקי סף ומדיניות צללים לכל רמה. מסמך זה מאושר עם צוות האמנות.

יישום: או הגדרת LOD Groups קיימים, יצירת נכסי LOD (אם חסרים), או יצירה אוטומטית עם תיקונים ידניים לאובייקטים קריטיים.

—

אחרי ביקורת, מצאנו 450 אובייקטים ללא LOD. יצרנו נכסי LOD עם 2–3 רמות, החלנו cross-fade למבנים ומיידי לאביזרים. תוצאה: FPS עלה מ-28 ל-55 על Samsung Galaxy S10. חיסכון ב-draw calls: 40%.

מה כלול בעבודה

תוצר תיאור
מפרט LOD מסמך עם ספים, רמות והגדרות צללים לפי קטגוריה
LOD Groups מוגדרים כל הנכסים עם הגדרה נכונה
משקופים אופטימליים עותקי LOD שנוצרו או עודנו ידנית
המלצות להכנת נכסים הוראות לאמנים להכנת נכסי מקור
תמיכה ביישום ייעוץ במהלך אינטגרציה ובדיקות (חודש)
היקף משימה לוח זמנים משוער
ביקורת הגדרות LOD + דוח 1–3 ימים
הגדרת LOD לסצנה אחת (עד 200 סוגי אובייקטים) 1–2 שבועות
עיצוב מדיניות LOD + יישום לעולם פתוח 3–6 שבועות
אינטגרציית HLOD/Nanite לפרויקט קיים 2–4 שבועות

צרו קשר לייעוץ—נכין הצעה לפרויקט שלכם. למהנדסים שלנו יש ניסיון בהגדרת LOD לפרויקטי AAA ולמשחקי מובייל. כתבו לנו, נבחן את המשימה שלכם תוך 1–2 ימים ללא התחייבות.