Origami – portefølje 1 i IoT

I denne portefølje opgave, var målet at vi skulle lave minimum 4 tilføjelser til et Unity projekt, efter at havde fulgt en tutorial. I dette oplæg beskriver jeg kort de 4 tilføjelser jeg har haft lavet:

  • Rescaling af alle objekter i scenen via stemme kommando
  • Lyd effekt når spheres bliver “dropped” – Indeholder lige nu en fejl, i at lyden spilder konstant indtil kuglen slippes.
  • Kuglerne kan nu placeres andre steder i scenen – kuglerne vil dog stadig falde ned efter at være blevet placeret.
  • Baggrunds musik

 

Screendump: 

Video:

 

Kode highlights:

 

Da baggrundmusikken ingen kode kræver, og placeringen af kuglerne er et noget-nært identisk script i forhold til et allerede eksisterende script, vil jeg kun gennemgå koden til rescaling af objekterne og drop lyden til kuglerne:

 

DropSound:

Funktionen er spredt over 3 scripts: GazeGestureManager, hvor at der i “start” bliver opsat en GestureRecognizer – hvilket gør at programmet kan reagere på gesture ved  at kalde funktionen “OnSelect” – SphereCommands, som kalder funktionen “DropSound” i sfxManager scriptet når funktion “OnSelect” bliver kaldt på en sphere. Med dette er funktionen “DropSound” blevet kaldet i sfxManager scriptet, som indsætter audioclippet gemt i variablen dropSound ind i audioSource component på objektet der holder scriptet. Audiosourcen bliver sat til ikke at loope, og derefter startes clippet.

 

Rescale:

På det første billede ses opsætning af den “ordbog”, der indeholder programmets list over stemme kommandoer den kan genkende. Næste billed viser hvordan at kommandoen “Rescale” bliver tilføjet til ordbogen, samt definering af hvad kommandoen skal gøre – kalder funktionen Rescale i et hvert objekt der indeholder et script med denne funktion.
Det sidste billed viser hvordan at “Rescale” funktionen forgår via en toggle effekt – hvis bool værdien scaledUp er false, ganges objekts transformens localScale med en variable sat i editoren, og scaledUp sættes til at være true. Hvis scaledUp er true når funktionen kaldes, divideres transformens localScale med den samme faktor som den før var blevet ganget med.

Leave a Reply