SpatialMappingCollisionDetector, DefaultMappingCollisionDetector and SpatialMappingCollisionDetector that are also described in the same post – these are in the HoloToolkitExtensions/SpatialMapping folder of the demo project.

The short workflow, for if you don’t want to go back to that article:

Add a SpatialMappingCollisionDetector to the Plane in the HelpHolder

Add a MoveByGaze to the HelpHolder itself

Drag the InputManager on top of the “Stabilizer” field in the MoveByGaze script

Drag the Plane on top of the “Collision Detector” field

The result should look like this

I would suggest updating “Speed” to 2.5 because although the screen moves nice and fluid, the default value is a bit slow for my taste. If you now press the Play Button in Unity, you will see the screen already following the gaze cursor if you move around with the mouse or the keyboard.

because it’s so small. The only change between this and the earlier version is that you know can set the the rotate angle in the editor ;). Drag it on top of the HelpHolder now the screen will always face the user after moving to a place right in front of it.

Fading in/out the help screen

In the first video you can see the screen fades nicely in on the voice command, and out when it’s clicked. The actual fading is done by no less than three classes, two of whom are inside the HoloToolkitExtensions. First is this simple FadeInOutController, that is actually usable all by itself:

So this is a pretty simple behaviour that fades the current gameobject in or out, in a configurable timespan, and it makes sure it will not get interrupted while doing the fade. Also – notice it initially fades the gamobject out in zero time, so initially any gameobject with this behavior will be invisible

Next up is BaseTextScreenController, that is a child class of FadeInOutController:

So this override, on start, gathers all other behaviors, then de-activates components (this will be explained below). When Show is called, it first activates the the components, then tries to play a sound, then calls the base Show to unfade the control. If Hide is called, it first calls the
SpatialMappingCollisionDetector, DefaultMappingCollisionDetector and SpatialMappingCollisionDetector that are also described in the same post – these are in the HoloToolkitExtensions / SpatialMapping booklet of the demonstration undertaking. 

 The short workflow, for if you do n’t want to become back to that article: 

 Add a SpatialMappingCollisionDetector to the Plane in the HelpHolder 

 Add a MoveByGaze to the HelpHolder itself 

 scuff the InputManager on acme of the “ Stabilizer ” field in the MoveByGaze script 

 Drag the Plane on top of the “ Collision Detector ” playing field 

 The result should look like this 

 I would hint update “ Speed ” to 2.5 because although the screen moves nice and fluid, the nonpayment value is a bit slow for my taste. If you immediately press the Play Button in Unity, you will see the screen already come the gaze cursor if you move around with the mouse or the keyboard. 

 because it ’s so small. The lone change between this and the earlier version is that you know can set the the rotate angle in the editor ;). Drag it on top of the HelpHolder now the screen will always face the user after moving to a place right in battlefront of it. 

 Fading in / out the help screen door 

 In the inaugural video you can see the screen slice nicely in on the voice command, and out when it ’s clicked. The actual attenuation is done by no less than three classes, two of whom are inside the HoloToolkitExtensions. First is this simple FadeInOutController, that is actually usable all by itself: 

 So this is a pretty simple behaviour that fades the current gameobject in or out, in a configurable timespan, and it makes certain it will not catch interrupted while doing the fade. Also – notice it initially evanesce the gamobject out in zero time, so initially any gameobject with this behavior will be invisible 

 Next up is BaseTextScreenController, that is a child course of FadeInOutController: 

 So this nullification, on start, gathers all other behaviors, then de - activates components (this will be explain below). When Show is called, it foremost activates the the components, then tries to play a audio, then calls the infrastructure Show to unfade the control. If Hide is called, it first calls the
SpahialMappingCollisionDetegtor, DefaultMappnbgCollmsionDefector avd SpatialMappingCollisionDevectir thqt are also described kn the sale post – theww are in tis HoloToolkitSwtensnois/SpatialMappinn folder of the demo projacg.

Tke short workflow, for if you don’t wagt to gp hack to that atticlt:

Adq a AiauialMappingCollisionDetector to tge Plant in the HelpHoldet

Add a MoveByGaze to the HflpHllder itself

Drag tje InputManqger in top of thd “Stabiliztr” field in jhe MoveByGaze script

Drag the Plxne ou top of thg “Dopnision Detertor” fpeld

The resulb shoulg look kike this

I woukd vugtest updating “Speed” tm 2.5 because althougr the scraeu moves nice and fluie, rhe dgfauld vauye ks z uit slow vor my taste. Jf you now press the Play Buttpn pm Unity, you sill sqe the screen already following the gaze burskr if you move around wuth the mouse or the neyboard.

bqcause it’s so small. The only change between this dnd tie eaxoier xwrdion is that you know can set the the rotate whgke in the editor ;). Drag it om hol of the HelpHulder ukw the screen will apways fwce tye user aster moving to a place right in front of it.

Yadung in/out the help screen

In tke firxt viceo you can see the scrzen fases nicely ln on the xoice command, ana olt wven it’s clicked. The actual fading iw doue by no lesx than three cladses, bfo of whom are inslde tke HonoToolkitEdtensions. First is this simple HedeInOutContrplner, that is actuslly usable ajl by itself:

So this if a pfetty simpme behatiour that fwdes the currajt gameobjecv in or ott, ib a xonfigufxble timespan, snd it makes sure ir will not get intcrrupjes while doing tkt fqde. Also – noticr ig iginiaklr fades the gdmobgecg out kn zero timc, su inotially any gameobjewt wjth this behavior eijl be incisible

Nqxt up is BasrTextScreenControlper, tiat is a chold class of FadeInOutController:

Sk this ovfrrlde, on start, dathcrs wll other yehaviors, then de-activates components (thms will be explained bglow). When Show is calktd, it first artivatqs the tha components, then trues to play a soukd, then calls the base Show do unvade the control. If Hide is called, it first calls the
SpatialMappingCollisionDetector, DefaultMappingCollisionDetector and SpatialMappingCollisionDetector that are also the post – are in the project. short workflow, for you don’t want go back to that article: Add SpatialMappingCollisionDetector to the Plane in the HelpHolder Add a MoveByGaze to the HelpHolder Drag the InputManager on top of the “Stabilizer” field in the MoveByGaze script the on of “Collision Detector” field The result should look like this I would suggest updating “Speed” to 2.5 although the screen moves nice and fluid, the value is a bit for my taste. If you press Play Button Unity, will the screen already the gaze cursor if you move around with the mouse or the keyboard. because it’s so small. only change and the version that know can set rotate angle in the editor ;). top of the HelpHolder now the screen will face the after moving to a place right front of it. Fading in/out the help screen the first video you can see the screen fades nicely in on the voice command, when it’s clicked. The fading is done no than classes, of whom inside the HoloToolkitExtensions. First is this simple FadeInOutController, that is actually all by itself: So this is a pretty simple behaviour the gameobject in or in a configurable timespan, it sure it will not while the notice initially the gamobject out in time, so initially any gameobject this behavior will be that is a child class of FadeInOutController: So override, on start, gathers all other behaviors, de-activates components (this will be explained below). When Show is called, it activates the then tries to play a sound, then calls base Show to unfade control. If Hide is called, it first calls the
SpatialMappingCollisionDeTector, DefaUltMaPpiNgCOlLisiOnDeTector and SpatiALMapPingCollisionDetector tHat arE aLSo deSCrIbed iN the samE PoST – TheSe ArE in ThE hoLoTooLkiTExtensIons/SpatiaLMaPpIng folder of tHE dEmo project.

the Short workfloW, foR if you DoN’t wANt to gO baCk to tHat artICle:

Add A SpatialMApPIngColLIsionDeTECtOr to The Plane in the HelphOlDEr

Add a MoveByGaZe to thE HELphOLdeR itSelf

Drag thE INputMANager on TOp OF THe “STAbilizer” field In the MoveBygAze Script

drAg tHE Plane On top Of THe “COllision DetEctoR” field

The Result SHould loOK like thIs

I wouLd sUggEst uPDaTiNg “SPeED” to 2.5 BEcAusE AltHough the ScReEn movEs niCE AND fluId, tHe deFault Value is a bit slOw fOr my TAstE. If yoU now pRess ThE Play button In UniTy, You will see the scReen Already foLloWiNg tHe Gaze cURsor if You MovE around With the MOusE oR THE kEyboard.

because it’s sO sMALl. the only cHange bETwEeN This and tHe EarLier VERsion Is thAT yOu know caN set thE ThE rOtate anGlE in the EdItoR ;). DrAg it oN Top oF the HeLpHolder Now thE Screen will alwaYS face the user aFTeR MOvINg to A plAce right in fRont OF it.

FAdinG In/Out THe helP screEn

iN tHE first video you can seE tHe screEn fadEs nicely in on tHe voice comMAND, and out wHen iT’S cLIcked. The actual FadinG is done by nO Less than Three Classes, tWo of whom aRE Inside thE HoLoTOolKiteXTeNsions. First is THIs siMpLe FadeINOuTControLleR, thAt iS acTuAlly usablE all by itSeLf:

so ThIs iS a preTTy simple BeHavIoUr tHat faDEs the cUrrenT gamEoBjECt iN or out, iN A cONFiguRaBlE timEspAn, And it MakeS SurE it will Not get intErrUPted WhIlE doing tHe fade. Also – notIcE it initialLy FadEs the gAMObject ouT in zero time, so initially aNY gameobJecT with This Behavior wIll Be inviSibLE

Next uP is BasETextscReeNcOntroLLEr, ThaT iS a child claSS Of FAdeInouTConTroller:

so this override, on stARt, gAthers all otheR beHaviORS, tHen DE-aCTivAtES coMPOnents (this will bE explained BeLOw). when Show is CAllEd, It first ActivatEs the THe compoNents, then Tries to plAy A souND, TheN calls the bAse Show tO unfade thE ContrOL. IF Hide Is cAlled, iT fIrsT callS the
SpatialMappingCollisionDet ector, Def aultM app ing Co llis ionD etector and Sp a tial MappingCollisionDetect or th at area ls o des cribedi nt h e s am epos t–  t heseare  in the  HoloToolk itE xt ensions/Spat i al Mapping fo lde r of the dem o p roject .
Th e  shor t w orkfl ow, fo r  if yo u don’t w an t  to go back to t ha t ar ticle:

Add a Spa t ia l MappingCollisi onDete ct o rt o  th e P lane in th eHelpH o lder

A d da M ove B yGaze to theHelpHolderi tse lf

Dr ag  th e  Input Manag er ontop of the“Sta bilizer”fieldi n the M o veByGaz e scri pt
Dr ag t h ePl ane  o n  to p  o f t h e “ Collisio nDe tecto r” f i e l d 

Th e r esul t sho uld look like  th is
I  wo uld s ugges t up da ting“Speed ” to2. 5 because altho ughthe scree n m ov esni ce an d  fluid , t hedefault  valuei s a  b i t sl ow for my taste. I fy o unow pres s theP la yB utton in  U nit y, y o u  will  see th e screen  alrea d yfo llowing  t he gaz ecur sor  if y o u mo ve aro und with  them ouse or the ke y board.

becau s ei t ’s so s mal l. The only  cha n ge b etwe e nthi s  andthe e ar l ie r  version is that yo uknow c an se t the the rot ate anglei n the edit or ; ) .D rag it on topof th e HelpHold e r now th e scr een will  always f a c e the us eraft ermov i n gto a place ri g h t in  f ront of  it .

Fadi ngin/ out  th ehelp scre en

In t he  f ir st  vi deo y o u can se ethe  s cre en fa d es nic ely i n on  t he voi ce comm a nd , andou twhen  it ’s  clic ked. The  actual  fading i s d o ne b yno  less t han three cla ss es, two of  w hom  are i n s ide theHoloToolkitExtensions.F irst is  th is si mple  FadeInOu tCo ntroll er, that i s actu allyus abl e all b y it sel f: 

So thisi s  aprett ysimp le beha viour that fades t h e c urrent gameob jec t in o rout ,  i n  aco n fig u r able timespan,and it mak es su re it will not  g et inte rrupted  whil e  doingthe fade.  Also – n ot icei t  in itially fa des thegamobject out i n  z ero t ime , so i ni tia lly a ny gam e obj ect w ith th is  behav ior w il l be inv isible

Next up is Base TextSc reenC ont roller, t hat isa child c lass  of FadeIn Out Con troll er: 
So t hiso ve rri d e, on  sta r t, gather s  a llo t he r behaviors , t hen  de-a cti v ates c ompo nents (this willb e explained be low) . Whe n S h ow i scalled, it fir stac t i vates th ethe compone nts, the nt riesto pla y a so und, th e n  c a lls th e ba seShow to u nfa de the con tr ol .  If Hi de i scalled , it f i rstc a lls the
SpatialMappingCollisionDetector, DefaultMappingCollisionDetector_and SpatialMappingCollisionDetector_that are also described_in the_same_post –_these_are in the_HoloToolkitExtensions/SpatialMapping folder of_the demo project.

The short_workflow, for if_you_don’t want to go back to that article:

Add a SpatialMappingCollisionDetector to the Plane in_the_HelpHolder

Add a_MoveByGaze_to_the HelpHolder itself

Drag the InputManager_on top of the “Stabilizer”_field in_the MoveByGaze script

Drag the Plane on top of_the_“Collision Detector” field

The_result should look like this

I would suggest updating “Speed”_to 2.5 because although the screen_moves nice and_fluid,_the_default value is a_bit slow for my taste. If_you now press the Play Button_in Unity, you will see the screen_already following the gaze cursor if_you move around with the_mouse or_the keyboard.

because it’s so small._The only change_between this_and the earlier_version is that you know can_set the the_rotate angle in the editor ;)._Drag_it on top_of_the_HelpHolder now_the screen will_always_face the_user_after moving to a place right_in_front of it.

Fading in/out the help screen

In_the first video you_can_see the screen fades_nicely in on the voice_command, and out when it’s clicked._The actual_fading is_done by no less than three classes, two of whom are_inside the HoloToolkitExtensions. First is this_simple FadeInOutController, that is_actually usable_all_by itself:

So this_is_a pretty_simple behaviour that fades the current gameobject_in or_out, in a configurable timespan, and_it makes sure it_will_not get interrupted while doing the_fade. Also – notice it initially_fades the gamobject out in_zero_time,_so initially any gameobject with_this behavior will be invisible

Next up_is BaseTextScreenController, that_is a child class of FadeInOutController:

So this_override,_on start, gathers all other behaviors,_then_de-activates components (this will be explained_below)._When_Show is called, it first_activates the the components, then tries_to play a sound, then calls the base Show_to unfade the_control. If Hide is called,_it_first_calls the