Како створити своју прву ХолоЛенс апликацију са Унити

Мицрософтов ХолоЛенс је прилично чудан. Упознао сам га током праксе овог лета и развио сам се за то.

ХолоЛенс апликације се креирају користећи ДирецтКс са Ц ++ или Унити са Ц #. Открио сам да је генерално брже и лакше покренути апликацију и покренути је са Унити.

У овом чланку поставићемо Унити за развој ХолоЛенс-а, креираћемо интерактивну коцку и окрећемо ХолоЛенс емулатор да бисте могли да видите своју креацију. Овај чланак је намењен тоталним почетницима Унити-а, па ако имате искуства са уређивачем, препоручио бих да прођете кроз Мицрософтове водиче.

Предуслови

  1. Рачунар са оперативним системом Виндовс 10 са ажурирањем из априла 2018
  2. ХолоЛенс Емулатор који можете преузети овде
  3. Висуал Студио 2017 - издање заједнице је у реду
  4. Унити - Обавезно додајте Виндовс .НЕТ скрипт скрипту компоненту током инсталације
  5. ХолоТоолКит

Пун изворни код можете пронаћи овде.

Подесити

Отвори јединство. Ако први пут користите уређивач, од вас ће се затражити да се пријавите или пријавите. Препоручио бих Унити Персонал осим ако не планирате да уновчите своју апликацију.

Након што се пријавите, креирајте нови пројекат и унесите име. Овај екран би вас требао поздравити након што пројекат заврши почетно подешавање.

Кликните десним тастером миша на фасциклу „Имовина“ у доњем левом углу. Идите на Увоз пакета -> Прилагођени пакет и отворите ХолоТоолКит јединствену датотеку коју смо раније преузели. Појавиће се искачући прозор Унити, кликните Алл и увези средства.

Следеће ћемо створити нашу сцену. Изаберите Датотека -> Нова сцена и сачувајте је као Главну.

Јединству је потребна посебна конфигурација да би направила пројекат за ХолоЛенс. Срећом, ХолоТоолКит има помоћне скрипте које раде ову конфигурацију за нас. На горњој траци са алаткама одаберите Микед Реалити Тоолкит -> Цонфигуре -> Аппли Микед Реалити Пројецт Сеттингс. Користите подразумеване вредности. По завршетку конфигурације примените поставке Сцене мешовите стварности. Избришите Дирецтионал Лигхт ГамеОбјецт.

Авесоме! До сада смо увезли ХолоТоолКит и поставили Унити за развој ХолоЛенс-а. У следећем одељку упознаћу вас са основама Унити-а, а након тога добићемо коцку за приказ на екрану.

Упознавање са уредником

Тако би уредник у овом тренутку требало да изгледа. Обратите пажњу на три укрцана подручја:

Црвено подручје лево је панел хијерархије сцене. Овде можемо додати нове ГамеОбјецтс и добити преглед тренутне апликације на високом нивоу.ГамеОбјецт је основна класа за све Унити ентитете. Могу бити физички објект попут коцке или колекција скрипти попут Инпут Манагер-а у сцени.

Доње плаво подручје садржи мени средстава и конзолу. Мени „Средства“ је управо оно што звучи - садржи Ц # скрипте, материјале, монтажне елементе и мреже потребне за покретање ваше апликације.

Десна зелена површина је мени инспектора. Овде можете додати и изменити компоненте својих ГамеОбјецтс. Компоненте су оно што чини понашање ваших ГамеОбјецтс. Они одређују изглед, интерактивност и физику родитеља.

Стварање коцке

Сада ћемо добити први ГамеОбјецт који ће се приказати на екрану. На табли хијерархије сцене кликните десним тастером миша и изаберите 3Д објект -> Коцка. У уређивачу би требало да се појави коцка.

Двапут кликните на Коцка у оквиру хијерархије, а на десном контролном панелу промените положај на (0,0,2). Подесите скалу на (.25, .25, .25). Ваш инспекцијски панел би требао изгледати овако:

Леп! Прођимо кроз кораке прављења да бисмо могли видети нашу коцку у емулатору ХолоЛенс.

У Унити изаберите Филе-> Буилд Сеттингс. Треба да се појави скочни прозор за изградњу, па притисните дугме за изградњу. У искачућем фолдеру креирајте нови директоријум под називом Апп и одаберите га као одредиште израде.

По завршетку израде, отворите решење Висуал Студио у директоријуму Апп. Промените опције отклањања грешака у Релеасе, к86 и циљајте ХолоЛенс емулатор. Трака опција би требала изгледати овако:

Покрените решење и након покретања емулатора и учитавања апликације, требали бисте видети своју коцку на екрану.

Израда коцке интерактивном

Сад кад смо схватили како да унесемо коцку у нашу апликацију, учинимо да коцка заиста нешто учини. Када погледамо коцку, она ће се ротирати, а када кликнемо на коцку, повећаће се у величини.

Вратите се натраг у Унити и креирајте нову скрипту на табли средстава која се зове ИнтерацтивеЦубе. Да бисте креирали нову скрипту, кликните десним тастером миша на плочу са материјалима и изаберите Креирај -> Ц # скрипта.

Да бисте скрипту додали на коцку, уверите се да је коцка изабрана и превуците и испустите скрипту на контролну таблу. То би требало изгледати овако:

Двапут кликните на скрипту на картици средства и требало би да се појави инстанца Висуал Студио.

Увезите ХолоТоолкит.Унити.ИнпутМодуле на врх наше скрипте и учините да ИнтерацтивеЦубе прошири ИФоцусабле и ИИнпутЦлицкХандлер. Наш код би требао изгледати овако:

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

Проширивањем интерфејса ИФоцуабле и ИИнпутЦлицкХандлер, наша компонента скрипте омогућава родитељу ГамеОбјецт да се претплати на догађаје фокуса и клика.

Учинимо да се коцка окреће када је наш поглед упрт у њу. Интерфејс ИФоцусабле захтева од нас да применимо две јавне воид методе: ОнФоцусЕнтер и ОнФоцусЕкит. Направите приватно логичко поље и назовите га Ротатинг. Када фокусирамо коцку, поставите је на труе, а када наш фокус изађе, поставите је на фалсе. Наш код би требало да изгледа овако:

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

Стварну ротацију ћемо извршити у програму Упдате (). Упдате () је посебна Унити метода која се назива сваки кадар. Да бисте контролисали брзину ротације, додајте јавно плутајуће поље под називом РотатионСпеед. Било које јавно поље у компоненти може се прилагодити и иницијализовати у уређивачу Унити.

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

У Унити-у, трансформација се користи за контролу физичких атрибута као што су величина, ротација и положај ГамеОбјецт-а. Ротирамо матични ГамеОбјецт око и осе за један степен у секунди помножен са брзином.

Да би коцка одговорила на догађаје клика, додајте методу ОнИнпутЦлицкед коју захтева ИИнпутЦлицкХандлер. Направите јавну Вецтор3 променљиву под називом СцалеЦханге. У методи ОнИнпутЦлицкед повећаћемо скалу коцке за СцалеЦханге.

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

Сад кад смо завршили са скриптом, вратите се натраг у Унити. Обавезно одаберите објект Цубе и подесите променљиве Спеед и СцалеЦханге на 50 и (.025, .025, .025). Слободно експериментишите са различитим вредностима! Наша скрипта би требало да изгледа овако:

Авесоме! Завршили смо скрипту ИнтерацтивеЦубе. Направите своју апликацију из уређивача Унити и покрените решење из Висуал Студија.

Резиме

У овом упутству сте научили како да подесите Унити за развој ХолоЛенс-а, направите интерактивни ГамеОбјецт и покренете своју апликацију у емулатору.

Ако уживате у развоју ХолоЛенс-а, подстичем вас да прођете кроз водиче за Мицрософт Ацадеми. Они детаљно прелазе разне кључне концепте ХолоЛенс-а и воде вас кроз стварање неких прилично кул апликација.

Ако вам се свидео чланак или имате повратне информације, оставите коментар испод!