פרסומת
מאפיין מפתיע של כלכלת האינטרנט הוא עלייתם של משחקי אינדי. לאחר שהתחום הבלעדי של אולפני טריפל-א-אלף אלף מיליוני דולרים, פותחו מספר מערכות כלים אשר להביא משאבי פיתוח מודרניים לידיהם של אנשים או אוספים אד-הוק קטנים של מתכנתים ומעצבים. דנו בעבר בנושא משחקי אינדי הטובים ביותר 10 משחקי אינדי כל כך טובים, שתשכחו בכלל שהם אינדיעם זאת יתכנו מקרים בהם אתה רוצה משהו שונה מהמקובל באינדי. משחק העוקב אחר ערכי אינדי, ובכל זאת מיוצר באיכותו שמשחקי AAA מדף עליון ידועים בו. כותרות כמו ... קרא עוד , אז וודא שאתה בודק את ההשראה לאלה שאפשר להשיג בעזרת כלים כמו אחדות.
צוותי פיתוח משחקי האינדי הללו הראו זריזות וסובלנות לסיכונים, אשר במקרים רבים מאפשרים להם לדחוף לחדשנות במשחקים מהר יותר מאשר עמיתיהם הגדולים בתקציב. מספר כותרי אינדי מצליחים באופן מזעזע הוקרנו בבכורה בשנים האחרונות, כולל מיינקראפט, לימבו, ו ילד סופר בשר, וגם אם אינך צריך מיומנויות כדי ליצור משחקים כאלה, אתה יכול
ליצור משחק באמצעות Buildbox כיצד להכין משחק וידאו בשבוע באמצעותישנה תוכנית שמקלה על פיתוח משחקים בצורה קלה להפליא גם עבור אנשים שאין להם שום ניסיון בעיצוב משחקי וידאו. קוראים לזה Buildbox. הנה הסיבה שאתה צריך לנסות את זה. קרא עוד .בנוף המתפתח במהירות של פיתוח משחקי אינדי, אחדות התגלה כמשהו בסטנדרט דה-פקטו: עלותו הנמוכה, קלות השימוש ומערך התכונות הרחב הופכים אותו לאידיאלי לפיתוח מהיר של המשחק. אחדות היא כל כך גמישה, שאפשר אפילו הכינו בקרי משחק בהתאמה אישית איך להכין בקר משחק בהתאמה אישית עם ארדואינו ואחדותהאם רצית פעם לעצב בקר משחק משלך? זה קל משאתה חושב! קרא עוד עם קצת עשה זאת בעצמך!
אפילו אולפנים גדולים כמו CCP (מפתחים של חווה און ליין) השתמש בו לתפיסות משחק במהירות של אבות-טיפוס. אחדות מספקת "מנוע משחק בתיבה" - מנוע לפיזיקה ועיבוד עם ווים למספר שפות תסריטים, הניתנות להתאמה כמעט לכל ז'אנר של משחקי וידיאו.
למרות שאוניטי אכן מספקת עורך ויזואלי לתפעול סביבת המשחק, Unity אינה כלי ליצירת משחק 'אפס תכנות'. זה מחייב אותך לתכנת כדי לייצר תוצאות, אך גם נותן לך כלי הרבה יותר גמיש ועוצמתי מכל תוכנית 'יצרנית משחקים' שיכולה להיות.
אחדות לא תעשה עבורך את העבודה, אך היא מורידה את מחסום הכניסה באופן משמעותי. החל לחלוטין מאפס עם C ++ ו- OpenGL, זה יכול לקחת ימים עד שמגיע למצב שיש משהו על המסך. השימוש באחדות נמשך כעשר שניות. אחדות מכניסה את האלמנטים הבסיסיים של יצירת המשחק לידיהם של מתכנתים מתחילים בצורה אינטואיטיבית מהירה.
היום אני אדריך אותך בכל מה שאתה צריך לדעת כדי לעשות משחק ב- Unity, המחולק לעשרה פרקים עיקריים:
§1 - גרסאות אחדות
§2 - התקנת אחדות
§3 - מבוא קצר לפרדיגמה מונחת-עצמים
§ 4 - יסודות האחדות
§5 – דוגמא: אלמנטים בסיסיים של משחק
§6 - סקריפטים באחדות
§7 – דוגמא: סקריפט פונג
§8 - בחינת התיעוד / למידה נוספת
§9 - בניית המשחק / הידור ליישום עצמאי
§10-הערות סגירה
1. גרסאות אחדות
האחדות מגיעה בשני טעמים בסיסיים: גרסת המקצוענים וגרסת החינם. ישנם מספר ההבדלים, אך באופן כללי, גרסת המקצוען תומכת במספר שיפורים חזותיים (כמו צללים רכים בזמן אמת ו לאחר עיבוד), ומספר גדול של תכונות מינוריות יחסית שעוזרות מאוד למורכבות יותר משחקים.
עם זאת, עבור רוב המשחקים הפשוטים יחסית שאולי תרצו לבנות, הגרסה החינמית של יוניטי מספקת לחלוטין. נפרט את ההבדלים העיקריים להלן בפירוט רב יותר עבור המעוניינים.
1.1 תמחור
הגרסה החינמית של יוניטי היא כמובן בחינם. עם זאת, ישנן כמה מגבלות: לא ניתן לקבל רישיון לגרסה החינמית של יוניטי לחברה עם הכנסה שנתית של יותר מ $100,000. בעוד שארגונים כאלה אינם חריגים מהמדריך הזה, אם אתה חושד שאתה עלול להפוך לארגון כזה, סביר להניח שכדאי להגיע לגירסת ה- Pro.
גרסת ה- Pro של ה- Unity היא $75 חודש, או $1500 לקבלת רישיון קבוע, ואין לו מגבלות על מה אתה יכול לעשות עם המשחקים שנוצרו איתו. יש גם ניסיון חינם למשך 30 יום, בו אנו משתמשים במדריך זה, בכדי לתת לך סקירה כללית מלאה על התכונות הזמינות ככל האפשר. רישיון סטודנטים לשנה זמין גם דרך סטודיקה ל $129.
1.2 תכונות
קיימות תכונות רבות אשר נעדרות בגירסה החינמית של Unity. עם זאת, ההבדלים החשובים ביותר הם כדלקמן: הגרסה החינמית של Unity חסרה מספר אפשרויות עיבוד המאפשרות משחקי מראה טובים יותר, מהירים יותר (תמיכת LOD, עיבוד מרחב מסך אחר, צללים מתקדמים, צלליות רכות בזמן אמת ונדחים טיוח). זה גם חסר את המלא מערכת אנימציות מכניים, וכמה כלים AI.
באופן כללי, לפרויקטים מורכבים בקנה מידה גדול, או לפרויקטים שבהם חשוב לבצע ביצועים גרפיים, גרסת הפרו היא כדאית. אני משתמש בגרסת המקצוענים מכיוון שאני מפתח משחקי מציאות מדומה עבור קרע אוקולוס סקירת קרע Oculusמציאות מדומה אינה חדשה, אך היא סוף סוף במחיר סביר ובתחזיתנו. לאחר ארבע-טיפוס ושני אבות-טיפוס פיתוח, הגיעה המהדורה הצרכנית הסופית של Oculus Rift. קרא עוד , ותמיכה לאחר עיבוד חלל המסך נחוצה לצורך אינטראקציה נכונה עם האוזניות.
2. התקנת אחדות
אחדות היא פשוטה להתקנה. אתה יכול להוריד את ההפעלה מ- unity3d.com/get-unity/download.
לאחר ההורדה, הפעל אותו ואז עקוב אחר הוראות ההתקנה. לאחר סיום ההתקנה, יופיע חלון שכותרתו 'הפעל את רישיון האחדות שלך'. סמן את התיבה המסומנת 'הפעל תקופת ניסיון בחינם למשך 30 יום של Unity Pro' ואז 'אישור'.
מזל טוב! כעת יש לך ניסיון למשך 30 יום של Unity Pro. עם תום תקופת הניסיון, אם אינך רוצה לקנות את גרסת המקצוען, אתה יכול לעבור לגרסה החינמית ולשמור על התוכן הקיים שלך.
3. מבוא קצר לפרדיגמה מונחת-עצמים
לפני שתתחיל לעבוד עם אחדות, חשוב שנעבור מעט על היסודות. אחדות תומכת בשניהם C # ו JavaScript ל תכנות משחק 7 שפות פיתוח משחקי אחדות ללמוד: מה הכי טוב?רוצה להתחיל בפיתוח משחק ב- Unity? תזדקק להכרות עם אחת משפות אלה התואמות Unity. קרא עוד ; אנו עובדים עם C # ללימוד זה.
ראשית, אם מעולם לא תכנת קודם, הניח את המדריך הזה בצד והקדש כמה ימים לעבודה באמצעות מיקרוסופט C # פריימר שפה עד שתרגיש בנוח להשתמש בשפה למשימות פשוטות.
אם תרצה שמשהו קצת שונה ל- C # (אך לא בהכרח שפה שאתה יכול להשתמש בהם באחדות), עיין במדריך שלנו ל שש שפות תכנות הקלות ביותר למתחילים 6 שפות תכנות קלות ביותר ללימוד למתחיליםלמידה לתכנית היא מציאת השפה הנכונה באותה מידה שהיא נוגעת לתהליך ההקמה. להלן שש שפות התכנות הקלות ביותר למתחילים. קרא עוד .
אם תכננת בעבר בשפה ציונית או בכיוון מונחה עצמים כמו C או Java, רפרף על הפריימר והיכר את האופן שבו C # שונה משפות אחרות בהן השתמשת בעבר. כך או כך, אל תמשיך עם ההדרכה עד שתרגיש בנוח לפתור בעיות פשוטות עם C # (למשל, אם הייתי שואל שתכתוב תוכנית שתדפיס את מאה המספרים הראשונים, אתה אמור להיות מסוגל לכתוב את התוכנית בלי להתייעץ גוגל).
הרעיון החשוב ביותר להבין כאן הוא פרדיגמה מונחת עצמים מאיפה תיכנות "מונחות עצמים" קיבלה את שמה?מונחה עצמים אינו רק מילת באזז אקראית שאתה שומע במעגלי תכנות. יש סיבה מאחורי השם - אבל מה? הצטרף אלי כשאני חוקר כמה מהיסודות של מושגי תכנות ומסביר ... קרא עוד (מקוצר כ- OOP). בשפות המכוונות לאובייקט, התוכניות מחולקות ליחידות פונקציונליות הנקראות חפצים. לכל אובייקט יש משתנים ופונקציות פרטיים משלו. פונקציות ספציפיות לאובייקטים נקראות שיטות.
הרעיון כאן הוא מודולריות: על ידי בידוד של כל אובייקט, ואילוץ אובייקטים אחרים לתקשר איתו באמצעות השיטות שלה, אתה יכול להפחית את מספר האינטראקציות הבלתי מכוונות האפשריות - ובהרחבה, באגים. אתה יכול גם ליצור אובייקטים שתוכל להשתמש בהם מאוחר יותר ללא כל שינוי. באחדות, אתה תבנה את האובייקטים האלה ותצרף אותם אליהם ישויות משחק (שאת התנהגותם הם ישלטו).
אובייקטים מועברים מ שיעורים: כיתה היא רק קובץ שמפרט את ההגדרה של האובייקט שלך. אז אם אתה רוצה א מוק אובייקט שמטפל ב- AI עבור אויב במשחק שלך, אתה תכתוב חוג 'Mook' ואז צרף את הקובץ לכל ישות אויב. כשאתה מנהל את המשחק שלך, כל אויב יהיה מצויד בעותק של האובייקט 'Mook'.
צירוף סקריפט חדש לאובייקט נראה כך:
ראשון, בחר את האובייקט וללכת ל מפקח. הקלק על ה הוסף רכיב כפתור.
לך ל תסריט חדש, הזן את השם הרצוי ולחץ על ליצור ולהוסיף.
כעת יש לך סקריפט חדש שתוכל לערוך על ידי לחיצה כפולה עליו!
קובץ כיתתי נראה כך:
באמצעות UnityEngine; Mook בכיתה ציבורית: MonoBehaviour {בריאות ציפה פרטית; בטל התחלה () {בריאות = 100; } בטל עדכון () {if (בריאות> 0) {/ * חפש שחקן אם אתה נתקל בנגן בכביש, הרוג אותו אם אתה נורה, הסר כמות אקראית של בריאות * /}} }
בואו נשבר את זה:
- באמצעות UnityEngine: שורה זו אומרת ל- C # שאנחנו רוצים להשתמש בספריות של יוניטי, המאפשרות להתחבר למנוע המשחק של יוניטי.
- Mook בכיתה ציבורית: MonoBehaviour:שורה זו מצהירה על המעמד ועל שמו - מוק.
- בריאות ציפה פרטית: זה מצהיר משתנה מחלקה פרטי (שניתן לשנות רק מתוך הכיתה). המשתנה מקבל ערך ב- התחל.
- התחלה מוחלטת (): זה מצהיר שיטה שנקראת התחל. התחלה היא שיטה מיוחדת הפועלת רק פעם אחת, כאשר המשחק משיק בתחילה.
- עדכון בטל (): עדכון הוא שיטה מיוחדת נוספת, הפועלת על כל פריים. רוב היגיון המשחק שלך יעבור לכאן.
- // אם אתה נתקל בנגן בדרך, הרוג אותו: שורה זו היא תגובה (C # מתעלמת מכל שורה שמתחילה בנתוך כפול). הערות משמשות כדי להזכיר לעצמך מה פיסות קוד מסוימות עושות. במקרה זה, משתמשים בתגובה זו כדי לעמוד בבלוק קוד מורכב יותר שלמעשה עושה את מה שההערה מתארת.
ביחד עם התחל ו עדכון, אתה יכול לייצר שיטות משלך כמעט בכל שם. עם זאת, שיטות שאתה יוצר לא יפעלו אלא אם כן קוראים להן. בואו נכריז שיטה לשיעור היפותטי שנקרא addTwoNumbers שמוסיף שני מספרים יחד:
לצוף ציבורי addTwoNumbers (לצוף a, לצוף b) {להחזיר a + b; }
זה מכריז על שיטה ציבורית (נגישה לאובייקטים אחרים) שמחזירה ציפה, הנקראת addTwoNumbers, שלוקח שתי צפות כקלט (נקרא א ו ב). לאחר מכן הוא מחזיר את סכום שני הערכים כפלט שלו.
קוראים לשיטה זו מתוך אותה הכיתה (נניח מבפנים עדכון) נראה ככה:
תוצאת לצוף = addTwoNumbers (1, 2);
קריאה לשיטה מכיתה אחרת דומה:
מופע addTwoNumbers; תוצאת לצוף = instance.addTwoNumbers (1, 2);
שוב, זה פשוט יוצר מופע מהכיתה שלנו, ניגש לשיטה המתאימה ומזין לו את המספרים שאנחנו רוצים להוסיף ואז שומר את התוצאה תוצאה. פשוט.
אם הסקריפט שלך מחובר לאובייקט שיש לו תכונות מיוחדות (כמו פולט חלקיקים) שלא ניתן לגשת אליו תחת הסט הרגיל של פרמטרי GameObject, אתה יכול לבחור להתייחס אליו כאל סוג שונה של ישות משחק באמצעות ה GetComponent שיטה.
התחביר לזה נראה כך:
GetComponent(). משחק ();
אם כל זה לא מוכר לך, חזור ועבור דרך פריימר C #. זה יחסוך לך הרבה תסכול כשאנחנו ממשיכים.
4. יסודות האחדות
בחלק זה אנו הולכים לעבוד בדרך המכניקה הבסיסית של מנוע האחדות. זרימת העבודה ב- Unity הולכת ככה:
- צור ישות שתשרת תפקיד במשחק (ריק GameObjects יכול לשמש למשימות לוגיות מופשטות).
- כתוב או מצא קובץ כיתה, והוסף אותו לישות כתסריט (באמצעות הוסף רכיב כפתור בסמל מפקח נוף.
- רוץ > מבחן > לנפות > חזור עד שזה עובד ועובר לגורם הבא במשחק.
האחדות מגיעה עם מספר כרטיסיות תצוגה בסיסיות הניתנות לתיאור בדרכים שונות לטעמו של המשתמש. חמשת הגדולים הם:
- משחק: מציג מופע פועל של המשחק שאתה יכול ליצור איתו אינטראקציה ולבדוק.
- סצינה: מספק גרסה סטטית וניתנת לעריכה של משחק עולם.
- מפקח: מאפשר לך לשנות ישויות בודדות בעולם המשחק על ידי בחירתן בסמל עורך כרטיסייה.
- פרויקט: מאפשר לך לדפדף בקבצי הפרויקט ולגרור דגמים, חומרים ומשאבים אחרים אל התוכנה עורך בכדי למקם אותם בעולם המשחק.
- היררכיה: כרטיסייה זו מציגה את כל האובייקטים בעולם ומאפשרת למצוא חפצים מרוחקים בסצנה, וישויות הורים זה לזה על ידי לחיצה וגרירה.
עיין בתרשים למטה למיקומם של כל הדברים האלה:
4.1 ישויות אחדות
4.1.1 רשתות
רשת זו הדרך גיאומטריה תלת מימדית מיוצג באחדות. אתה יכול להשתמש במובנה של יוניטי פרימיטיבי חפצים (קוביות, כדורים, צילינדרים וכו '), או ייבא דגמי תלת מימד משלך מחבילת דוגמנות כמו בלנדר תחילת העבודה עם בלנדר: 7 הדרכות פנטסטיות למתחיליםדוגמנות תלת מימד הן דרך מצוינת להפעיל יצירתיות תוך שמירה על קשר לצד הטכני שלכם. להלן כמה הדרכות חינם מדהימות. קרא עוד או מאיה לימוד מאיה 2016: איפה להתחילמאיה הוא כלי המשמש להנפשת תלת מימד, אך הוא מגיע עם עקומת למידה תלולה להפליא. איזה חומר הוראה טוב יש? קרא עוד . Unity תומך במגוון פורמטים תלת ממדיים, כולל .fbx, ו .3ds.
הכלים הבסיסיים לתפעול רשתות הם כפתורי הגודל, הסיבוב והתרגום בפינה השמאלית העליונה של הממשק. כפתורים אלה מוסיפים סמלי שליטה לדגמים בתצוגת העורך, ואז ניתן להשתמש בהם כדי לתפעל אותם במרחב. כדי לשנות את מאפייני המרקם או הפיזיקה של אובייקט, בחר אותם והשתמש ב- מפקח להציג לניתוח חומר ו גוף קשיח אלמנטים.
4.1.2 רכיבי GUI
ניתן להציג שדות וטקסטים GUI מסורתיים באמצעות טקסט GUI וה מרקם GUI GameObjects בעורך. עם זאת, דרך חזקה ומציאותית יותר להתמודד עם אלמנטים של ממשק המשתמש היא להשתמש ב- טקסט תלת ממדי ו מרובע GameObjects (עם מרקמים שקופים וגרייר שקוף לא מואר) להציב אלמנטים של HUD לעולם המשחק כישויות.
בתוך ה היררכיה לצפייה, ניתן לגרור אלמנטים משחקיים אלה למצלמה הראשית כדי להפוך אותם לילדים, להבטיח שהם זזים וסובבים עם המצלמה.
אלמנטים של ממשק משתמש (טקסט ומרקמים) יכולים להתאים את גודלם לקנה המידה שלהם באמצעות השדות הרלוונטיים בלשונית המפקח.
4.1.3 חומרים
חומרים הם שילובי טקסטורות ו מוצללים הסבירו חמישה תנאים חשובים למשחקי מחשבאם אתה משחק משחק בקונסולה, הפרטים הטכניים מטופלים עבורך. יש שחקנים שמעדיפים זאת, אך גיימרים ממוחשבים נהנים לרוב משליטה רבה יותר שיש להם על העין של המשחק ... קרא עוד , וניתן לגרור אותם ישירות אל חפצי משחק מכרטיסיית הפרויקט. מספר גדול של צלליות מגיע עם Unity Pro ותוכל להתאים את המרקם המחובר אליהם באמצעות לשונית המפקח עבור אובייקט שהוא מוחל עליו.
כדי לייבא מרקם, המר אותו ל- a .jpg, .png, או .bmpוגרור אותו אל נכסים התיקיה תחת ספריית פרויקט Unity (שמופיעה ב- המסמכים שלי כברירת מחדל). לאחר מספר שניות, יופיע סרגל טעינה בעורך. כשתסיים, תוכל למצוא את התמונה כמרקם מתחת ל פרויקט כרטיסייה.
4.1.5 אורות
אורות הם GameObjects שמקרינים זוהר אל העולם. אם אין אורות בסצנה שלך, כל המצולעים נמשכים באותה רמת בהירות, ומעניקים לעולם מראה שטוף ושטוף.
ניתן למקם, לסובב אורות ולהכיל מספר מאפיינים פנימיים שתוכל להתאים אותם. ה עוצמה המחוון שולט על בהירות האור, ועל טווח שולט באיזו מהירות הוא נמוג.
ההנחיות בסעיף נוף להראות לך את טווח התאורה המרבי. שחק עם שתי ההגדרות כדי להשיג את האפקט הרצוי. אתה יכול גם להתאים את צבע האור, את התבנית (עוגייה המוצג על פני השטח אליו מכוון האור, ואיזה סוג התלקחות מופיע על המסך כשמסתכלים ישירות על האור. ניתן להשתמש בעוגיה בכדי לזייף דפוסי אור ריאליסטיים יותר, ליצור צלליות שווא דרמטיות ולדמות מקרנים.
שלושת מיני האור העיקריים הם נקודה, נקודה, ו כיוונית.
אורות ספוט יש מיקום בחלל תלת-ממדי ואור פרויקט רק בכיוון אחד בקונוס של זווית משתנה. אלה טובים לפנסים, פנסים, ובאופן כללי, מעניקים לך שליטה מדויקת יותר על התאורה. אורות ספוט יכולים להטיל צללים.
אורות נקודה יש מיקום בחלל תלת-ממד והטיל אור באופן שווה לכל הכיוונים. אורות נקודה אינם מטילים צללים.
אורות כיווןלבסוף, משמשים להדמיית אור השמש: הם מקרינים אור בכיוון כאילו מרחוק עד אין סוף. אורות כיוון משפיעים על כל עצם בסצינה ויכולים להפיק צללים.
4.1.6 מערכות חלקיקים
א מערכת חלקיקים הוא GameObject המייצר ושולט על מאות או אלפי חלקיקים בו זמנית. חלקיקים הם אובייקטים דו-ממדיים קטנים ומותאמים המוצגים במרחב תלת-ממדי. מערכות חלקיקים משתמשים בעיבוד ופיזיקה פשוטות, אך יכולות להציג אלפי ישויות בזמן אמת מבלי לגמגם, מה שהופך אותן לאידיאליות לעשן, אש, גשם, ניצוצות, אפקטים קסומים ועוד.
ישנם המון פרמטרים שתוכלו לצבוט בכדי להשיג את האפקטים הללו, ותוכלו לגשת אליהם באמצעות הפעלת מערכת חלקיקים תחת עורך רכיבים > בחירת מערכת החלקיקים > פתיחת לשונית המפקח. אתה יכול לשנות את הגודל, המהירות, הכיוון, הסיבוב, הצבע והמרקם של כל חלקיק, ולהגדיר את רוב הפרמטרים הללו גם יחד לאורך זמן.
תחת התנגשות תכונה, אם תאפשר זאת ותגדיר את מרחב הסימולציה עולם תקבל חלקיקים שיתנגשו עם חפצים בעולם, שיכולים לשמש למספר אפקטים של חלקיקים מציאותיים, כולל גשם, מים זזים וניצוצות.
5. דוגמה: אלמנטים בסיסיים של משחק
למדריך זה, אנו הולכים לעשות משחק פשוט פונג - משהו שסקרנו מספר פעמים ב- DIY לפני:
- ארדואינו פונג קלאסי כיצד ליצור מחדש את משחק הפונג הקלאסי בעזרת ארדואינופונג היה משחק הווידיאו הראשון אי פעם שהגיע לשוק ההמונים. לראשונה בהיסטוריה הוכנס לבית המשפחה הרעיון של "משחק וידאו", בזכות אטרי 2600 -... קרא עוד
- ארדואינו OLED פונג משחקי רטרו של ארדואינו עם תצוגת OLEDתהיתם פעם כמה עבודה נדרשת כדי לכתוב משחקי רטרו משלכם? כמה קל פונג לקוד עבור הארדואינו? קרא עוד
בחלק זה נעבור על סידור מרכיבי הליבה - הדרכת התסריט תגיע בהמשך.
ראשית, בואו נפרק את משחק הפונג לרכיבים הבסיסיים שלו. ראשית, אנו זקוקים לשני משוטים וכדור. הכדור עף מחוץ למסך, אז אנחנו נרצה שמנגנון יאפס אותו. אנו רוצים גם שטקסט יציג את התוצאה הנוכחית, ולצורך הצגת לך את כל מרכיבי הליבה של אחדות, נרצה אפקט חלקיקים מהודר כשאתה מכה בכדור. כל המשחק צריך להיות מואר באופן דרמטי.
זה מתפרק ל חפץ כדור (כדור), א מוליץ, שני אבזרי ההנעה עם פולטי חלקיקים צרף ישות בטקסט תלת-ממדי, ו אור ספוט. במדריך זה נשתמש בחומר הפיזי המוגדר כברירת מחדל להקפיץ, עם להקפיץ שילוב מכוון ל להכפיל. כך נראית ההתקנה בעשרה צילומי מסך:
ראשית, צור א אבזר קובייה עבור ההנעה.
קנה מידה כראוי, לשכפל את זה, ולשים א כדור בין המשוטים לכדור.
לאחר מכן, צור א אובייקט 3DText ו סולם ו עמדה זה נכון, משנה את גודל גופן כדי לקבל תמונה פחות פיקסל.
בשלב הבא, צור שניים מערכות חלקיקים, בחר את המאפיינים שאתה רוצה, ומחבר אותם למשוטים.
בשלב הבא, תרצה מקם וסובב את המצלמה כך שהוא ממסגר את הסצינה בצורה נכונה. בזמן שנבחרה המצלמה, תוכלו לראות תצוגה מקדימה קטנה של תצוגת המצלמה בפינה הימנית התחתונה.
לפני שנסיים, עלינו ליצור שתי קוביות נוספות כדי להיות פגושים, כדי למנוע מהכדור להקפיץ מחוץ לאזור המשחק. אנו יכולים להפוך אותם לבלתי נראים על ידי ביטול הסימון של מעבד רשת בתוך ה כרטיסיית המפקח.
אם פגעת במשחק, כעת תוכל לראות את האלמנטים הבסיסיים של המשחק שלנו. הם עדיין לא יעשו כלום, אבל נגיע לזה!
כעת, לאחר שהשגנו את ההגדרה הזו, אנו נדבר על מה הכרוך בתסריט אלמנטים אלה כדי ליצור משחק.
6. סקריפטים באחדות
ברגע שיש לך סקריפט מחובר לאובייקט, אתה יכול לשנות אותו על ידי לחיצה כפולה עליו ב- מפקח. זה נפתח MonoDevelop, סביבת הפיתוח המוגדרת כברירת מחדל עבור Unity. בעיקרו של דבר, Monodevelop הוא עורך טקסטים עם תכונות המותאמות במיוחד לתכנות.
מילות מפתח והערות מודגשות ב כחול ו ירוק, וערכים ומיתרים מספריים מופיעים ב אדום. אם השתמשת ליקוי חמה או של IDEים אחרים, MonoDevelop דומה מאוד. אתה יכול לבנות את הסקריפטים שלך מתוך העורך כדי לבדוק אם יש שגיאות תחביר, כך:
באופן כללי, כדי לגרום לסקריפט שלך לקיים אינטראקציה עם Unity, תצטרך להפנות אלמנטים שהאובייקט המחזיק בסקריפט מחזיק (אתה יכול לראות רשימה של אלמנטים אלה מתחת ל מפקח כאשר נבחר האובייקט הרלוונטי). לאחר מכן תוכל לקרוא לשיטות או להגדיר משתנים עבור כל אחד מהאלמנטים האלה כדי לבצע את השינויים שאתה רוצה.
אם אתה רוצה שסקריפט על אובייקט ישפיע על המאפיינים של אובייקט אחר, אתה יכול ליצור ריק GameObject משתנה בסקריפט שלך, והשתמש ב- מפקח להקצות אותו לאובייקט אחר בסצנה.
רשימה של האלמנטים שיש לאובייקט היא כדלקמן (נלקח מתצוגת המפקח של אחת המשוטות שלנו בדוגמה לעיל):
- שינוי צורה
- קוביה (מסנן רשת)
- קופדר קופסא
- נותן רשת
כל אחד מהיבטים אלה של האובייקט יכול להיות מושפע מתוך סקריפט. בשלב הבא, נראה כיצד בדיוק.
6.1 שינוי
פונקציות הטרנספורמציה של GameObject ב- Unity שולטות בפרמטרים הפיזיים של אותו אובייקט: שלו סולם, שלה עמדה, וזה נטייה. אתה יכול לגשת אליהם מתוך סקריפט כזה:
transform.position = newPositionVector3; transform.rotation = newRotationQuaternion; transform.localScale = newScaleVector3;
בדוגמאות לעיל, המשתנים שצוינו הם מהסוגים שצוינו בשמות. ישנם כמה פרטים עיקריים כאן: מיקום וסולם גודל, כצפוי, מאוחסנים כ Vector3s. אתה יכול לגשת אל איקס, י, ו ז רכיבים של כל אחד (לדוגמה, transform.position.y נותן לך את המרחק של אובייקט מעל מישור האפס).
עם זאת, כדי להימנע נעילת גימבל, סיבובים מטופלים כ לידה (וקטורים עם ארבעה מרכיבים). מכיוון שמניפולציות של מניעות ידניות אינן אינטואיטיביות, אתה יכול לתפעל סיבובים באמצעות זוויות אוילריאניות באמצעות קווטרניון. אוילר שיטה כזו:
transform.rotation = Quaternion. אוילר (pitch, yaw, roll);
אם ברצונך להעביר חפצים בצורה חלקה ממקום למקום, תמצא את זה סלרפ שיטה עבור quaternions ו vector3s מועיל. סלרפ מביא לשלושה טיעונים - המצב הנוכחי, המצב הסופי ומהירות השינוי, ומעבד ביניהם בצורה חלקה במהירות הנתונה. התחביר נראה כך:
transform.position = Vector3.Slerp (startPositionVector3, newDestinationVector3, 1);
6.2 נותן
פונקציות ה- renderer ב- Unity מאפשרים לך לשלוט בדרך בה ניתן להעביר את משטחי האביזרים על גבי המסך. ניתן להקצות מחדש את המרקם, לשנות את הצבע ולשנות את ההחלקה והנראות של האובייקט. התחביר נראה כך:
renderer.enabled = שקר; renderer.material.color = צבע חדש (0, 255, 0); renderer.material.mainTexture = myTexture; renderer.material.shader = newShader;
לרוב אלה פונקציות די ברורות. הדוגמה הראשונה הופכת את האובייקט המדובר לבלתי נראה: טריק שימושי במספר מצבים. הדוגמה השנייה מקצה חדש צבע RGB (כלומר, ירוק) לאובייקט המדובר. השלישית מקצה את המרקם המפוזר העיקרי למשתנה מרקם חדש. הדוגמה האחרונה משנה את ההחלדה של חומר האובייקט למשתנה שהוגדר לאחרונה.
6.3 פיזיקה
האחדות מגיעה עם מנוע משולב בפיזיקה - משהו זה משחקי ארגז חול לפיזיקה לרסק, לנהוג ולבנות: 3 סימולטורים של ארגזי חול לפיזיקה אדירים קרא עוד כל השימוש. זה מאפשר לך להקצות את המאפיינים הפיזיים של אובייקטים ולתת לטפל בפרטי ההדמיה שלהם. באופן כללי, במקום לנסות וליישם את הפיזיקה שלך באמצעות ספר לימוד ומערכת הטרנספורמציה, זה פשוט וחזק יותר להשתמש במנוע הפיזיקה של יוניטי במידה הגדולה ביותר.
כל אבזרי הפיזיקה דורשים רוכבים. עם זאת, הסימולציה עצמה מטופלת על ידי א גוף קשיח, שניתן להוסיף ב מפקח נוף. קשיחים יכולים להיות קינמטית או לא-קינמטיים.
אבזרי פיזיקה קינמטיים מתנגשים עם (ואפקט) אבזרי פיזיקה לא-קינמטיים סביבם, אך אינם מושפעים מההתנגשות עצמם. האביזרים הקינמטיים הסטטיים הם האובייקטים הניתנים להעלאה, ואובייקטים קינמטיים נעים הם האובייקטים כוח בלתי ניתן לעצירה פתגית (לנקודה, כאשר הם מתנגשים, הם פשוט עוברים דרך כל אחד אחר).
מעבר לכך, אתה יכול לכוונן את הגרירה הזוויתית של העצם (כמה אנרגיה נדרשת כדי לסובב אותו), לשנות את המסה שלו, להכתיב אם הוא מושפע מכוח הכבידה או לא, ולהפעיל עליו כוחות.
דוגמאות:
rigidbody.angularDrag = 0.1f; rigidbody.mass = 100; rigidbody.isKinematic = שקר; rigidbody.useGravity = נכון; גוף קשיח. AddForce (transform.forward * 100);
כל אלה די מסבירים את עצמם. הדבר היחיד שיש לציין כאן הוא השימוש ב- טרנספורמציה. ל- Vector3 כולם שלושה רכיבים (קדימה, .up, ו .ימין) הקשורים אליהם, שאפשר לגשת אליהם ולסובב אותם (קדימה הוא כיוון החץ הכחול בעורך). ה טרנספורמציה מילת המפתח היא פשוט הווקטור קדימה עבור האובייקט הנוכחי בעוצמה 1. ניתן להכפיל אותו לציפה ליצירת כוח רב יותר על העצם. אתה יכול גם להפנות transform.up ו טרנספורמציהולשלול אותם כדי לקבל את התהפוכות שלהם.
6.4 התנגשות
לעתים קרובות, בבניית משחק, תרצה שהתנגשות תביא לשינוי מצב כלשהו בקוד שלך, מעבר לסימולציה של פיזיקה בלבד. לשם כך תצטרך שיטת גילוי התנגשות.
יש צורך בכמות מסוימת של עבודות הכנה לאיתור התנגשויות באחדות. ראשית, לפחות אחד החפצים בהתנגשות זקוק לא אדם נוקשה שאינו קינמטי מחובר אליו. לשני האובייקטים חייבים להיות קולידרים נכונים, המוגדרים כלא מפעילים. המהירות הכוללת של שני העצמים חייבת להיות נמוכה מספיק כדי שהם יתנגשו בפועל, במקום פשוט לדלג זה על זה.
אם טיפלת בכל מה שטפלת, אתה יכול לבדוק התנגשות על ידי הצבת שיטה מיוחדת לזיהוי התנגשות בתסריט המצורף לאובייקט שאתה רוצה לבדוק איתו התנגשות. השיטה תיראה כך:
בטל OnCollisionEnter (התנגשות אחרת) {// עשה דברים כאן. }
שיטה זו תפעל אוטומטית במהלך המסגרת הראשונה שאובייקט אחר נוגע באובייקט שלך. ישות ההתנגשות אחר הוא הפניה לאובייקט שפגעת בו. אתה יכול, למשל, להפנות אליו משחק, גוף קשיח, ו שינוי צורה מאפיינים לתמרון זה בדרכים שונות. בזמן OnCollisionEnter זו כנראה הפונקציה הנפוצה ביותר בה תשתמש, אתה יכול גם להשתמש בה OnCollisionExit ו OnCollisionStay (עם תחביר ושימוש זהים אחרת), שמפעילים במהלך המסגרת הראשונה שאתה מפסיק להתנגש באובייקט ובכל מסגרת שאתה מתנגש עם אובייקט, בהתאמה.
לפעמים זה יכול להיות שימושי לעשות מה שנקרא קרני שידור. ברדיקאסט, קו דק עד אינסוף (א קרן) מועבר בעולם ממקור כלשהו, לאורך וקטור כלשהו, וכאשר הוא פוגע במשהו, המיקום והפרטים האחרים של ההתנגשות הראשונה מוחזרים. הקוד לרדיקאסט נראה כך:
להיט RaycastHit; אם (פיזיקה. Raycast (transform.position, -Vector3.up, hit out)) {float distanceToGround = hit.distance; }
זה מטיל קרן ממיקומו של האובייקט הנוכחי לאורך -Vector3.up (ישר למטה), וקושר את המשתנה מכה לאובייקט הראשון איתו הוא מתנגש. ברגע שהקרן שלך פגעה במשהו, אתה יכול לגשת אליו hit.distance לקבוע כמה הוא רחוק, או מכה. GameObject כדי לתפעל את האובייקט שפגעת בו.
ניתן להשתמש בהזרקות כדוגמת היורים כדי לקבוע על מה הצביע האקדח, או לבחור עצמים כשהמצלמה מסתכלת עליהם, או לסגנונות מסוימים של מכונאי תנועה.
6.5 תיקון זמן
גורם חשוב שכדאי לזכור כשאתה עושה שימוש בחפצים בדרך זו קשור מסגר. לא משנה עד כמה אתה מבצע אופטימיזציה, המסגרות תמיד ישתנו, ואינך רוצה שמהירות המשחק שלך תשתנה בהתאם. אם מישהו אחר מפעיל את המשחק שלך במחשב מהיר יותר מכפי שפיתחת אותו, אתה לא רוצה שהמשחק יפעל במהירות כפולה.
הדרך לתקן את זה היא על ידי הכפלת הערכים שבהם אתה משתמש בזמן שלקח כדי לעבד את המסגרת האחרונה. זה נעשה באמצעות זמן. זמן. זה משנה למעשה את המהירות של כל משתנה שממנו אתה מגדיל כל פריים שינוי למסגרת ל שינוי בשנייה, וכנראה שכדאי שתבצע שינוי זה בכל ערך שאתה מגדיל או מצמצם כל מסגרת.
6.6 מקורות שמע ומאזינים
כעת, לאחר שסקנו כיצד ליצור אובייקטים, לעבד ולשלוט בהם, בואו לדבר על התחושה האחרת שמשחקי מחשב יכולים לשמש: כלומר, נשמע. אחדות תומכת בשני סוגים של צלילים: 2D ו תלת מימד נשמע. צלילי תלת ממד משתנים את עוצמת הקול שלהם על פי המרחק ומעוותים תוך כדי תנועה יחסית למצלמה; צלילי 2D אינם.
צלילי הדו-מימד מתאימים לקולי-קול ומוזיקת רקע, וצלילי תלת-ממד חלים על צלילים שנוצרים על ידי אירועים בעולם. כדי לשנות אם צליל תלת ממדי או לא, בחר אותו בסמל פרויקט צפה, עבור אל מפקח להציג ובחר באפשרות המתאימה מהתפריט הנפתח, ולחץ על לייבא מחדש כפתור.
כדי להשמיע את הצליל בפועל, יהיה עליך לצרף מקור שמע לאביזר (האביזר ממנו ברצונך שהצליל מקורו, במקרה של צליל תלת ממדי). אז תצטרך לפתוח את ה- שמע ובחר את קובץ הקול שלך.
אתה יכול להשתמש myAudioSource. השהה () ו myAudioSource. הפעל () כדי לשלוט בקבצי הקול האלה. באפשרותך להתאים את התנהגויות הנפילה, עוצמת הקול והסטת הדופלר של הצלילים שמתחת ל מפקח לשונית המקור.
6.7 קלט
משחק שלא לוקח קלט מהמשתמש הוא לא הרבה משחק. ישנם המון סוגים שונים של קלט שאתה יכול לקרוא בהם, וכמעט כולם נגישים דרך ה- קלט ו סיסמה חפצים. להלן כמה מהצהרות הקלט לדוגמא (שיש להן ערכים המוערכים בכל מסגרת).
Vector3 mousePos = Input.mousePosition; bool isLeftClicking = קלט. GetMouseButton (0); bool isPressingSpace = קלט. GetKey (KeyCode. שטח);
תפקידי הקווים הללו ברובם מסבירים את עצמם. בעזרת שלושת סוגים של הפניה לקלט, באפשרותך לשחזר את ערכות הבקרה של משחקי המחשב התלת-ממדיים המודרניים ביותר.
6.8 ניפוי תסריט
נניח שתסריט לא עובד. כמו שאומר הרופא הטוב, בנג'פים והיתלות יכולים לקרות לך. אם יש שגיאות תחביר על הסף עם ה- C # שלך, המשחק בדרך כלל יסרב לפעול כשאתה פוגע בנגינה, והודעות שגיאה שימושיות למדי מסופקות אם אתה לבנות את התסריטים מתוך העורך. ראה למטה:
בדרך כלל באגים אלה אינם הקשים ביותר לתיקון. מה שיכול להיות בעייתי יותר הם שגיאות סמנטיות עדינות, בהן כתבת בהצלחה קובץ מלא C # תקף - פשוט לא אחת שעושה את מה שחשבת שהוא יעשה. אם יש לך אחת מהטעויות האלה ואתה מתקשה לעקוב אחריה, ישנם כמה דברים שתוכל לנסות לשפר את המצב.
הראשון הוא להשהות את ביצוע המשחק ולבדוק את המסוף. אתה יכול להשהות את המשחק על ידי לחיצה על הפסקה סמל בחלק האמצעי העליון של העורך, ואז בחר קונסולה מתחתית ה - חלון תפריט (או לחיצה על Ctrl > הסטה > ג). גם אם אין טעויות, אזהרות עדיין יכולות לעזור לתת כמה רמזים לגבי מה שעשוי להשתבש.
אם זה לא עובד, אתה יכול גם לנסות לקבל מושג לגבי מצב הסקריפט שלך על ידי הדפסת מצב המשתנים הפנימיים כדי לאמת שהתוכנית עושה את מה שאתה חושב שהיא עושה. אתה יכול להשתמש לנפות. יומן (מחרוזת) כדי להדפיס את תוכן המחרוזת לקונסולה כאשר ביצוע התוכנית פוגע בשורה זו. באופן כללי, אם אתה עובד אחורה ממה שאתה חושב שצריך לקרות דרך הדברים שצריכים להיות מה שהופך את זה לקרות, בסופו של דבר תגיע לנקודה בה הדפסי הבאג שלך לא עושים את מה שאתה מצפה מהם לעשות. כאן נמצאת השגיאה שלך.
7. דוגמא: סקריפט פונג
כדי לבנות את פונג, בואו ונפרק את המשחק ליסודות הליבה שלו: אנו זקוקים לכדור שמתקרש קדימה ואחורה בין המשוטים בהגדלתו. מהירות, אנו זקוקים ללוח תוצאות שיודע מתי הכדורים עברו את המשוטים, ואנחנו צריכים מנגנון להפעלת הכדור מחדש כאשר קורה. שלב ראשון טוב יהיה להוסיף כדור נוקשה שאינו קינמטי לכדור, שני נוקשות קינמטיות לכדור משוטים, השבת את כוח הכבידה לכולם והקצה חומר פיזי מתאים מהנכסים הסטנדרטיים (להקפיץ עם להקפיץ שילוב מכוון ל להכפיל).
להלן תוכלו לראות את תסריט הכדור עם הערות הסבר. הכדור צריך להשיג כמה מטרות בסיסיות: עליו להקפיץ בתבנית מסובכת, תמיד לשמור תנועה בשני הצירים, והיא צריכה להאיץ בקצב מאתגר אך לא בלתי אפשרי באופק כיוון.
BallHandler.cs
בשלב הבא עלינו לתסמן את ההנעה שלנו, שתוכלו לראות בהמשך. ההנעה צריכה לנוע למעלה ולמטה בתגובה ללחיצות מקשים (אך לא מחוץ לתחום מסוים). זה גם צריך להפעיל את מערכת החלקיקים כשהוא מתנגש במשהו.
PaddleHandler.cs
בשלב הבא, אנו זקוקים למכונית האויבים: דבר שיגרום להנעה של האויב לעקוב אחר הכדור בקצב קבוע. לשם כך אנו משתמשים ב- Vector3.Slerp לצורך פשטות מירבית. אנו רוצים גם את אותה התנהגות החלקיקים שאנו רואים בהנעה שלנו.
EnemyAI.cs
לבסוף, אנו זקוקים לתסריט כדי לעדכן את לוח התוצאות ולאפס את הכדור כאשר הוא יוצא מחוץ לתחום.
לוח התוצאותUpdater.cs
עם התסריטים האלה המצורפים וההפניות ממולאות, כאשר אנו מריצים את משחק הפונג שלנו, אנו חווים משחקיות!
אתה יכול הורד את הדגמת הפונג שלי, אם תרצה לראות את כל מה שפירטתי בפעולה. זה פועל במערכות Windows, Mac ו- Linux.
8. בחינת התיעוד / למידה נוספת
אחדות היא מנוע מורכב עם הרבה יותר תכונות ממה שניתן היה לכסות במדריך לסגנון זה, וזה לפני שתכלול את הרחבה הרחבה של הרחבות (בחינם ומסחרית) של יחידות הזמינות באתר מרשתת. מדריך זה יעניק לכם מקום התחלה חזק לפיתוח משחק, אך חינוך עצמי הוא מיומנות חשובה בכל מאמץ, ובאופן כפול כאן.
משאב מכריע כאן הוא התייחסות ל- Unity ScriptReference. ה- ScriptReference הוא מאגר נתונים שניתן לחפש בו, וזמין הן ל- C # והן ל- Javascript, הכולל רשימה של כל פקודה ותכונה של אחדות, עם תיאורים של פונקציותיהם ודוגמאות קצרות ל תחביר.
אם אתם מתקשים בעורך ובממשק של Unity, או סתם אוהבים הדרכות וידיאו כעדפה, יש רשימה ארוכה של איכות גבוהה הדרכות וידיאו לאחדות הדרכות התלת מימד הטובות ביותר לאחדות למתחיליםרוצה לפתח משחקים עם יוניטי, אבל לא יודע מאיפה להתחיל? נסה אחת מהמדריכי התלת מימד המדהימים האלה של Unity היום. קרא עוד זמין. נרחב יותר (אך פחות רחב) הדרכות טקסט לאחדות זמינים גם מ- CatLikeCoding.
לבסוף, אם יש לך שאלות שמעבר לתחום של תיעוד או הדרכות, תוכל לשאול שאלות ספציפיות בכתובת תשובות. Unity3d.com. זכור שהתשובות ניתנות על ידי מתנדבים, אז כבד את זמנן וחפש תחילה במסד הנתונים כדי לוודא ששאלתך לא נענתה כבר.
9. בניית המשחק / הידור ליישום עצמאי
כשאתה בונה משהו שאתה גאה בו (או שסיימת לשכפל את דוגמת הפונג המעט מעורפל שלנו לתרגול), הגיע הזמן ל העבירו את המשחק שלכם מהעורך והפכו אותו למשהו שתוכלו לפרסם באינטרנט ולכפות עליו את החברים והמשפחה לשחק. כדי לעשות זאת, תצטרך לבנות יישום עצמאי. החדשות הטובות הן שבאחדות זה קל מאוד מאוד. עם זאת, ישנם כמה שיעולים פוטנציאליים שתרצה להיזהר מהם.
בתור התחלה, דעו כי תוכלו לבנות רק פרויקט ללא שגיאות. לשם כך, וודא שהקונסולה פתוחה בזמן שאתה בונה: ישנם כמה תנאי שגיאה שהמשחק יתעלם מהם בעורך, אך עדיין יבטלו ניסיון לבנות. זה רק זורק הודעות שגיאה למסוף, ללא תוצאות גלויות על המסך, מה שעלול להיות מתסכל אם תשכח לבדוק. לאחר שתשלים את המשחק שלך ללא שגיאות, אתה יכול לבחור בנה הגדרות תחת קובץ בתפריט, או לחץ על Ctrl > הסטה
> ב. זה יביא דו שיח פשוט המאפשר לך לבנות את המשחק שלך למספר פלטפורמות.
התהליך משם מסביר את עצמך: בחר באפשרויות שלך והקש לבנות; המשחק יבקש ממך להתקין ספרייה, ויציב שם את מדריך ההפעלה וגם את ספריית הנתונים. ניתן לרוכסן את שני הקבצים האלה ולהפיץ אותם (רק וודא שאתה לא גובה תשלום עבור משחק שנבנה בהדגמת Unity, מכיוון שהדבר מפר את תנאי השירות).
10. הערות סגירה
כמו בכל כלי לפיתוח משחקים, המפתח להצלחה עם Unity הוא פיתוח איטרטיבי. עליכם לבנות במרווחים הניתנים לניהול - להיות שאפתניים, בכל דרך, אך להיות שאפתניים בגושים קטנים, ולסדר הנתחים האלה כאלה שאפילו אם לא תיפסק מהשאיפה האולטימטיבית שלך, לפחות תסתיים עם קוהרנטי מוצר.
קבל תחילה את האלמנטים החשובים ביותר: יש לך מושג בראשך מוצר מינימאלי אפשרי, הדבר הפשוט והעצם הכי פשוט שאתה יכול ליצור ועדיין להרגיש כאילו השגת משהו כדאי. גש לפרויקט מינימלי בר-קיימא לפני שתמשיך לשאיפות גדולות יותר.
מדריך זה נותן לך מקום התחלה חזק, אך הדרך הטובה ביותר ללמוד אחדות היא על ידי בניית משחק. התחל לבנות משחק, מלא פערים בידע שלך עם עלייתם, וזרימת הידע ההדרגתית תשחק את הדברים שאתה לא יודע באופן מפתיע במהירות.
אם קראת את כל זה וקצת המום מהקידוד הדרוש ל- Unity, הקפד לבדוק כיצד לבצע ללמוד פיתוח משחקים עם Unity Learn Unity Learning היא הדרך הקלה ביותר לשלוט בפיתוח משחקרוצה להתחיל לפתח משחקים משלך? Unity Learning היא הדרך הטובה והקלה ביותר ללמוד ולשלוט במה שאתה צריך לדעת. קרא עוד וגם לקרוא את המדריך שלנו בנושא כיצד להכין משחקי וידאו ללא כל תכנות - - כיצד להכין משחקי וידאו ללא כל תכנותרוצה להכין משחק וידאו אבל לא מצליח לקוד? ואז השתמש בערכת בניית משחקי וידאו המאפשרת לך לבנות משחקים ללא קידוד כלשהו! קרא עוד .
אחדות היא כלי רב עוצמה, ועם קצת חקר אתה יכול לבנות איתו פרויקטים מרשימים במהירות רבה יותר ממה שאתה יכול לצפות. תן לנו לדעת מה בנית בתגובות למטה - נשמח לראות!
אנדר מוביל להישאר פונקציונלי עד 50 מעלות צלזיוס, הוא סופר ועיתונאי שבסיסו בדרום מערב. הוא אטום למים בעומק של מטר וחצי.