שימוש ב- IL2CPP כדי לבצע הידור מראש של משחק עבור Windows

עודכן דף :
תאריך יצירת דף :

סביבת אימות

חלונות
  • חלונות 10
  • חלונות 11
עורך Unity
  • 2020.3.25F1

אודות IL2CPP

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

למידע נוסף, אנא עיינו באתר הרשמי של יוניטי.

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

התקנה מודולרית של IL2CPP (Windows)

IL2CPP דורש מודולים נוספים.

הפעל את Unity Hub ובחר התקן מהתפריט בצד שמאל. לחץ על סמל גלגל השיניים עבור הגרסה שבה ברצונך להתקין את IL2CPP ובחר הוסף מודול.

סמן את "תמיכת Windows Build (IL2CPP)" בקבוצת הפלטפורמות כדי להתקין אותה.

המתן להשלמת ההתקנה.

בנייה ופלט עם IL2CPP

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

פתח את הפרויקט שבו ברצונך להפיק את המשחק.

בחר File > Build Settings מהתפריט.

כאשר מופיעה תיבת הדו-שיח Build Settings, לחץ על הלחצן "Player Settings" בפינה השמאלית התחתונה. אגב, תיבת הדו-שיח המוצגת על ידי כפתור זה זהה "הגדרות הפרויקט".

"שחקן" נבחר בתפריט בצד שמאל, אז להרחיב "הגדרות אחרות" מ "PC, Mac & Linux עצמאי הגדרות" בתחתית.

אם תגלול למטה, תמצא את הפריט "Scripting Backend" בקטגוריה "הגדרות", לכן בחר "IL2CPP".

לאחר מכן, לבנות כרגיל ופלט את תוכנית המשחק.

זה שונה במקצת מהפלט של מבנה הקובץ בעת בנייה עם מונו.

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

באפשרותך להפעיל את המשחק ללא הפעולות הבאות:

קבצים ותיקיותתיאור
xxxx_BackUpThisFolder_ButDontShipItWithYourGame שים לב שאין להפיץ תיקיה זו. מכיל את הקוד המהווה את הבסיס ליצירת התוכנית.
UnityCrashHandler64.exe זהו קובץ ההפעלה של המטפל בקריסה. זה ריאלי גם אם אין לך את זה, אבל אתה יכול לשים את זה.

אם תסיר את אלה שאינך צריך, גודל הקובץ IL2CPP יהיה קטן יותר.

זהו משחק דו-ממדי פשוט, כך שאין הרבה הבדל, אבל משחקי IL2CPP צורכים פחות זיכרון.

אם גירסת ה- build נכשלת

אם התקנת את Visual Studio 2019 שמגיע עם Unity, לא אמורה להיות בעיה. אם אתה בונה בלעדיו, הודעת השגיאה הבאה עשויה להיות מוצגת. (דוגמה)

Exception: C++ code builder is unable to build C++ code. In order to build C++ code for Windows Desktop, you must have one of these installed:
        Visual Studio 2015 with C++ compilers and Windows 10 SDK (it cannot build C++ code because it is not installed or missing C++ workload component)
        Visual Studio 2015 installation is found by looking at "SOFTWARE\Microsoft\VisualStudio\14.0_Config\InstallDir" in the registry
        Windows 10 SDK is found by looking at "SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\InstallationFolder" in the registry

        Visual Studio 2017 (or newer) with C++ compilers and Windows 10 SDK (it cannot build C++ code because it is not installed or missing C++ workload component)
        Visual Studio 2017 (or newer) installation is found using Microsoft.VisualStudio.Setup.Configuration COM APIs
        Windows 10 SDK is found by looking at "SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0\InstallationFolder" in the registry

הסיבה לכך היא רכיב חסר הנדרש לבנייה עם IL2CPP.

להלן רשימה של רכיבים שיותקנו בעת התקנת Visual Studio 2019 עם Unity. אם עורך קבצי ה- Script הוא Visual Studio, התקן רכיבים נוספים מהרשימה שלהלן. ככל שהאחד גבוה יותר, כך גדל הסיכוי שהוא יזדקק לו, וזה למטה הוא כנראה זה שאתה יכול להכניס או לא.

  • תכונות ליבה של C++ (אולי נדרש?) )
  • MSVC v142 - VS2019 C++ x64/x86 כלי בנייה (העדכניים ביותר) (נדרש. גרסאות עוקבות כגון v143 ו- VS2022 הן בסדר)
  • Windows 10 SDK (10.0.16299.0) (ייתכן שיידרש.) האם הגרסה יכולה להיות 16299 ואילך? )
  • MSBuild
  • עדכון חבילה להפצה חוזרת C++ 2019
  • כלים של Visual Studio עבור Unity
  • מהדרי Poslyn של C# ו- Visual Basic
  • כלי פיתוח של .NET Framework 3.5
  • C# ו- Visual Basic
  • חבילת פילוח של .NET Framework 4.7.1
  • מנהל החבילות NuGet
  • המרת תבנית טקסט

להלן הליך ההתקנה.

בדוק והתקן את מה שאתה צריך מכאן.