כיצד ליצור את אפליקציית HoloLens הראשונה שלך עם Unity

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

יישומי HoloLens נוצרים באמצעות DirectX עם C ++ או Unity עם C #. גיליתי שבדרך כלל מהיר וקל יותר להפעיל אפליקציה עם Unity.

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

תנאים מוקדמים

  1. מחשב Windows 10 עם העדכון באפריל 2018
  2. אמולטור HoloLens אותו תוכלו להוריד כאן
  3. Visual Studio 2017 - המהדורה הקהילתית זה בסדר
  4. אחדות - הקפד להוסיף את רכיב ה- backend של סקריפטים של Windows .NET במהלך ההתקנה
  5. ה- HoloToolKit

תוכל למצוא את קוד המקור המלא כאן.

להכין

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

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

לחץ לחיצה ימנית על תיקיית הנכסים בפינה השמאלית התחתונה. נווט לחבילת ייבוא ​​-> חבילה מותאמת אישית, ופתח את קובץ האחדות HoloToolKit שהורדנו קודם. יופיע חלון קופץ של Unity, לחץ על הכל וייבא את הנכסים.

לאחר מכן ניצור את הסצנה שלנו. בחר קובץ -> סצנה חדשה ושמור אותה כראשי.

אחדות זקוקה לתצורה מיוחדת על מנת לבנות פרויקט עבור HoloLens. למרבה המזל, ל- HoloToolKit יש סקריפטים של שירותים שעושים את התצורה הזו בשבילנו. בסרגל הכלים העליון בחר בחר ערכת כלים מעורב מציאות -> הגדר -> החל הגדרות פרויקט מציאות מעורבת. השתמש בערכי ברירת המחדל. לאחר סיום התצורה, החל את הגדרות סצנת המציאות המעורבת. מחק את GameObject Light Directional Light.

מדהים! עד כה ייבאנו את HoloToolKit והקמנו את Unity לפיתוח HoloLens. בחלק הבא אציג בפניכם את היסודות של אחדות, ואחריו נקבל קובייה לעיבוד על המסך.

היכרות עם העורך

כך צריך להיראות העורך בשלב זה. שימו לב לשלושת האזורים המוקפצים:

האזור האדום משמאל הוא לוח היררכיית הסצנה. כאן אנו יכולים להוסיף GameObjects חדשים ולקבל סקירה ברמה גבוהה של היישום הנוכחי.GameObject הוא מעמד בסיס לכל גופי האחדות. הם יכולים להיות אובייקט פיזי כמו קוביה, או אוסף של סקריפטים כמו מנהל הקלט בסצנה.

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

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

יצירת קוביה

עכשיו נקבל את GameObject הראשון שיוצג על המסך. בחלונית ההיררכיה של הסצנה, לחץ לחיצה ימנית ובחר אובייקט תלת ממדי -> קוביה. קוביה אמורה להופיע בעורך.

לחץ פעמיים על Cube בחלונית ההיררכיה, ובחלונית הפקח הימנית שנה את המיקום ל- (0,0,2). הגדר את קנה המידה להיות (.25, .25, .25). לוח הפקחים שלך צריך להיראות כך:

נֶחְמָד! בואו נעבור את שלבי הבנייה כדי שנוכל לראות את הקוביה שלנו באמולטור HoloLens.

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

לאחר השלמת הבנייה, פתח את פתרון Visual Studio בתיקיית האפליקציה. שנה את אפשרויות הבאגים לשחרור, x86, וכוון לאמולטור HoloLens. סרגל האפשרויות שלך צריך להיראות כך:

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

הפיכת הקוביה לאינטראקטיבית

עכשיו, אחרי שהבנו איך להכניס קובייה ליישום שלנו, בואו נגרום לקוביה לעשות משהו. כאשר נביט בקוביה היא תסתובב, וכשאנחנו נלחץ על הקוביה היא תגדל.

נווט חזרה לאחדות וצור סקריפט חדש בחלונית הנכסים בשם InteractiveCube. ליצירת סקריפט חדש, לחץ לחיצה ימנית על חלונית הנכסים ובחר צור -> סקריפט C #.

כדי להוסיף את התסריט לקוביה, ודא שהקוביה נבחרה, וגרור ושחרר את התסריט לחלונית הפקח. זה צריך להיראות כך:

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

ייבא את HoloToolkit.Unity.InputModule בראש התסריט שלנו, והפוך את InteractiveCube להרחיב את IFocusable ו- IInputClickHandler. הקוד שלנו צריך להיראות כך:

using HoloToolkit.Unity.InputModule;
public class InteractiveCube : MonoBehaviour, IFocusable, IInputClickHandler {...} 

על ידי הרחבת ממשקי IFocuable ו- IInputClickHandler, רכיב הסקריפט שלנו מאפשר ל- GameObject ההורה להירשם כמנוי לאירועי מיקוד ולחיצה.

בואו נגרום לקוביה להסתובב כשמבטנו עליה. הממשק IFocusable דורש מאיתנו ליישם שתי שיטות חלל ציבוריות: OnFocusEnter ו- OnFocusExit. צור שדה בוליאני פרטי וקרא לו סיבוב. כאשר אנו ממקדים את הקוביה, מגדירים אותה לאמיתית וכאשר המיקוד שלנו יוצא, מגדירים אותה כ- false. הקוד שלנו צריך להיראות כך:

public bool Rotating;
public void OnFocusEnter(){ Rotating = true;}
public void OnFocusExit(){ Rotating = false;}

אנו נעשה את הסיבוב בפועל בעדכון (). עדכון () היא שיטת Unity מיוחדת הנקראת כל פריים. כדי לשלוט על מהירות הסיבוב, הוסף שדה צף ציבורי בשם RotationSpeed. ניתן להתאים אתחול של כל שדה ציבורי ברכיב בעורך Unity.

public float RotationSpeed;
void Update() { if (Rotating) transform.Rotate(Vector3.Up * Time.deltaTime * RotationSpeed);}

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

כדי לגרום לקוביה להגיב לאירועי קליק, הוסף את השיטה OnInputClicked הנדרשת על ידי IInputClickHandler. צור משתנה Vector3 ציבורי בשם ScaleChange. בשיטת OnInputClicked, נגדיל את קנה המידה של הקוביה על ידי ScaleChange.

public Vector3 ScaleChange;
public void OnInputClicked(InputClickedEventData eventData) { transform.localScale += ScaleChange;}

עכשיו כשסיימנו עם התסריט, נווט חזרה לאחדות. ודא שנבחר אובייקט הקוביה, והגדר את המשתנים Speed ​​ו- ScaleChange ל 50 ו- (.025, .025, .025) בהתאמה. אתם מוזמנים להתנסות בערכים שונים! התסריט שלנו צריך להיראות כך:

מדהים! סיימנו את סקריפט InteractiveCube. בנה את האפליקציה שלך מעורך Unity והפעל את הפתרון מ- Visual Studio.

סיכום

בהדרכה זו למדת כיצד להגדיר Unity לפיתוח HoloLens, ליצור GameObject אינטראקטיבי ולהפעיל את היישום שלך באמולטור.

אם אתה נהנה מפיתוח HoloLens, אני ממליץ לך לעבור להדרכות האקדמיה של Microsoft. הם עוברים בפירוט על מושגי המפתח השונים של HoloLens ומעבירים אותך ביצירת כמה אפליקציות די מגניבות.

אם אהבת את המאמר או שיש לך משוב, השאיר תגובה למטה!