PF2 Hololens og Blender

Skrevet af Thor Heie og Sonny Zastrow
  1. Beskriv ideen med applikationen

Her uskiftede vi planet med en tønde i origami. Tønden er en ”opsamler” til kuglerne som man klikker på, også ryger de ned i tønden hvor der bliver afspillet en lyd. Tønden blev konstrueret i Blender og fik lagt en træ samt metal tekstur udenpå. Låget fra tønden blev fjernet så boldene kunne komme helt ned i, uden at have en kollision før de nåede bunden. Der er fejl med at teksturen ikke bliver lagt indvendigt i tønden så man kan se igennem den, hvis man vinkler skærmen rigtigt, dog kan man hele tiden se forsiden og overkanten af tønden.

Meningen med denne var at give Origami opgaven et gamefeel, så der var en mening med at trykke på boldene og hvor man bliver belønnet med en sjov lyd. Spillet har samme egenskaber som det originale origami og kan stadig flyttes rundt i rummet og placeres hvor man har lyst.

  1. Screendump fra den kørende applikation

  1. Kort video af den kørende applikation ca. 30-60 sekunder.
  1. Udvalgte og forklarede kode-highlights af særlige højdepunkter.

Samme kode som tidligere PF – opgave med Origami, det eneste der er ændret er importering af 3D-asset fra blender. (Billede af kode og tønde)

 

 

 

 

 

 

For at bevæge tønden frem og tilbage har vi en float speed som er hastigheden tønden bevæger sig med, samtidig skal vi have 2 transforms til at indeholde lokationerne til hvor tønden skal “vende om”. Samtidig har vi Text som er scoren i spillets view (Der hvor scoren bliver skrevet, og teksten der bliver skrevet), samt scoren som der bliver lagt 1 til hver gang en kugle rammer planet i bunden af tønden (Her for texten en værdi som bliver skrevet på førnævnte position), UpdateScore(); sørger for at scoren bliver opdateret. I starten bliver moveTotarget sat = true, og det får tønden til at bevæger sig imod den ene side hvor der i enden er et mesh der udgør et vendepunkt. I float step bliver den aktuelle hastighed sat til speed * Time.deltatime så tønden bevæger sig et antal steps per tidsenhed.

Til at starte med køre tønden den ene vej indtil den når enten transform.position == pos1.position, her bliver moveToTarget sat = false, og tønden vil køre den anden vej indtil den når pos2.position, her bliver moveToTarget sat = true og tønden kører den modsatte vej igen.

De 2 positioner er lavet med 2 meshes der er lavet som planes, ligesom det der ligger i bunden af tønden, og når det plane overlapper en af de 2 positioner, begynder den at bevæge sig den anden vej.

Leave a Reply