de Max Huddleston

Cum să creați prima aplicație HoloLens cu Unity

Cum sa creati prima aplicatie HoloLens cu Unity
Microsoft HoloLens. Credit de imagine https://www.flickr.com/photos/jiff01/15867880743

HoloLens de la Microsoft este destul de ciudat minunat. Am fost prezentat la stagiul meu în această vară și am avut o explozie în curs de dezvoltare.

Aplicațiile HoloLens sunt create folosind fie DirectX cu C ++, fie Unity cu C #. Am constatat că, în general, este mai rapid și mai ușor să pornești o aplicație cu Unity.

În acest articol, vom configura Unity pentru dezvoltarea HoloLens, vom crea un cub interactiv și vom roti emulatorul HoloLens, astfel încât să puteți vedea creația dvs. Acest articol este destinat începătorilor la Unity, așa că, dacă aveți experiență cu editorul, vă recomand să treceți prin Tutoriale Microsoft.

Condiții prealabile

  1. Un PC Windows 10 cu actualizarea din aprilie 2018
  2. Emulatorul HoloLens pe care îl puteți descărca Aici
  3. Visual Studio 2017 – Ediția comunitară este în regulă
  4. Unitate – Asigurați-vă că adăugați componenta backend de scriptare Windows .NET în timpul instalării
  5. HoloToolKit

Puteți găsi codul sursă complet Aici.

Înființat

Deschide Unity. Dacă este prima dată când utilizați editorul, vi se va solicita să vă conectați sau să vă înscrieți. Aș recomanda Unity Personal, cu excepția cazului în care intenționați să generați bani din aplicația dvs.

După ce vă conectați, creați un proiect nou și introduceți un nume. Ar trebui să fiți întâmpinat cu acest ecran după ce proiectul finalizează configurarea inițială.

Cum sa creati prima aplicatie HoloLens cu Unity
Editor Unity la prima pornire

Faceți clic dreapta pe folderul Active din colțul din stânga jos. Navigați la Import pachet -> Pachet personalizat și deschideți fișierul de unitate HoloToolKit pe care l-am descărcat mai devreme. Va apărea un popup Unity, faceți clic pe Toate și importați activele.

Apoi ne vom crea scena. Selectați Fișier -> Scenă nouă și salvați-o ca principală.

Unity are nevoie de o configurație specială pentru a construi un proiect pentru HoloLens. Din fericire, HoloToolKit are scripturi utilitare care fac această configurație pentru noi. În bara de instrumente de sus, selectați Mixed Reality Toolkit -> Configure -> Apply Mixed Reality Project Settings. Folosiți valorile implicite. După ce configurația este terminată, aplicați Setările scenei de realitate mixtă. Ștergeți direcționalul GameObject Light.

Minunat! Până acum am importat HoloToolKit și am configurat Unity pentru dezvoltarea HoloLens. În secțiunea următoare vă voi prezenta elementele de bază ale Unity și, după aceea, vom obține un cub pe care să îl redați pe ecran.

Familiarizați-vă cu editorul

Așa ar trebui să arate editorul în acest moment. Observați cele trei zone încorporate:

1612131008 915 Cum sa creati prima aplicatie HoloLens cu Unity

Zona roșie din stânga este panoul ierarhiei scenei. Aici putem adăuga noi GameObjectsși obțineți o imagine de ansamblu la nivel înalt a aplicației curente. A GameObject este o clasă de bază pentru toate entitățile Unity. Ele pot fi un obiect fizic precum un cub sau o colecție de scripturi precum Managerul de intrări în scenă.

Zona albastră de jos conține meniul de active și consola. Meniul de active este exact cum sună – conține scripturi C #, materiale, prefabricate și ochiuri necesare pentru a rula aplicația.

Zona verde potrivită este meniul inspectorului. Aici puteți adăuga și modifica fișierul Componente din GameObjects. Componente sunt cele care alcătuiesc comportamentul GameObjects. Ele determină aspectul, interactivitatea și fizica părintelui lor.

Crearea unui cub

Acum vom primi primul nostru GameObject de redat pe ecran. În panoul ierarhiei scenei, faceți clic dreapta și selectați Obiect 3D -> Cub. Ar trebui să apară un cub în editor.

Faceți dublu clic pe Cub în panoul din ierarhie, iar în panoul de inspecție din dreapta schimbați poziția în (0,0,2). Setați scala să fie (.25, .25, .25). Panoul dvs. de inspector ar trebui să arate astfel:

1612131009 34 Cum sa creati prima aplicatie HoloLens cu Unity
Panou inspector cub

Grozav! Să parcurgem pașii de construcție, astfel încât să putem vedea cubul nostru în emulatorul HoloLens.

În Unity, selectați File-> Build Settings. Ar trebui să apară fereastra popup de construire, așa că apăsați pe butonul de construire. În fereastra pop-up de folder, creați un folder nou numit App și alegeți-l ca destinație de construire.

După finalizarea construcției, deschideți soluția Visual Studio în folderul App. Schimbați opțiunile de depanare la Release, x86 și vizați emulatorul HoloLens. Bara de opțiuni ar trebui să arate astfel:

1612131009 978 Cum sa creati prima aplicatie HoloLens cu Unity
Opțiuni de depanare pentru emulatorul HoloLens

Rulați soluția și, după pornirea emulatorului și încărcarea aplicației, ar trebui să vedeți cubul pe ecran.

1612131009 580 Cum sa creati prima aplicatie HoloLens cu Unity
Cub în emulator

Realizarea cubului interactiv

Acum, că ne-am dat seama cum să introducem un cub în aplicația noastră, să facem cubul să facă ceva. Când privim cubul, acesta se va roti, iar când facem clic pe cub, acesta va crește în dimensiune.

Navigați înapoi la Unity și creați un nou script în panoul de active numit InteractiveCube. Pentru a crea un script nou, faceți clic dreapta pe panoul de active și selectați Creare -> Script C #.

Pentru a adăuga scriptul în cub, asigurați-vă că este selectat cubul și trageți și plasați scriptul pe panoul inspectorului. Ar trebui să arate astfel:

1612131010 81 Cum sa creati prima aplicatie HoloLens cu Unity

Faceți dublu clic pe scriptul din fila active și ar trebui să apară o instanță Visual Studio.

Importați HoloToolkit.Unity.InputModule în partea de sus a scriptului și faceți ca InteractiveCube să extindă IFocusable și IInputClickHandler. Codul nostru ar trebui să arate astfel:

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

Prin extinderea interfețelor IFocuable și IInputClickHandler, componenta noastră script permite părintelui GameObject să se aboneze pentru a focaliza și a face clic pe evenimente.

Să facem cubul să se rotească atunci când ne uităm la el. Interfața IFocusable ne cere să implementăm două metode de vid public: OnFocusEnter și OnFocusExit. Creați un câmp boolean privat și denumiți-l Rotativ. Când focalizăm cubul, setați-l la adevărat, iar când focalizarea noastră iese, setați-l la fals. Codul nostru ar trebui să arate astfel:

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

Vom face rotația efectivă în Update (). Update () este o metodă specială Unity care se numește fiecare cadru. Pentru a controla viteza de rotație, adăugați un câmp public plutitor numit RotationSpeed. Orice câmp public dintr-o componentă poate fi ajustat și inițializat în editorul Unity.

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

În Unity, transformarea este utilizată pentru a controla atributele fizice, cum ar fi dimensiunea, rotația și poziția unui GameObject. Rotim GameObject-ul părinte în jurul axei y la un grad pe secundă înmulțit cu viteza.

Pentru a face cubul să răspundă la evenimentele de clic, adăugați metoda OnInputClicked cerută de IInputClickHandler. Creați o variabilă Vector3 publică numită ScaleChange. În metoda OnInputClicked, vom mări scara cubului cu ScaleChange.

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

Acum că am terminat cu scriptul, navigați înapoi la Unity. Asigurați-vă că este selectat obiectul Cub și setați variabilele Speed ​​și ScaleChange la 50 și respectiv (.025, .025, .025). Simțiți-vă liber să experimentați cu diferite valori! Scriptul nostru ar trebui să arate astfel:

1612131010 229 Cum sa creati prima aplicatie HoloLens cu Unity

Minunat! Am terminat scriptul InteractiveCube. Construiți-vă aplicația din editorul Unity și rulați soluția din Visual Studio.

rezumat

În această prezentare generală, ați învățat cum să configurați Unity pentru dezvoltarea HoloLens, să creați un GameObject interactiv și să rulați aplicația în emulator.

Dacă vă place dezvoltarea HoloLens, vă încurajez să treceți prin Microsoft Academy tutoriale. Trec în detaliu diferitele concepte cheie HoloLens și vă ghidează prin crearea unor aplicații destul de interesante.

Dacă ți-a plăcut articolul sau ai feedback, lasă un comentariu mai jos!