De interactieve omgevingen prototyping in virtuele werkelijkheid met Google karton, eenheid en Hotline Bling (TfCD) (8 / 9 stap)

Stap 8: Interactie en geluiden


De kartonnen besturingselementen + pakket, een paar stappen geleden, vermeld biedt een makkelijke manier van interfacing met de headset, en is een goede gelegenheid om te duiken in de code en maken sommige interactiviteit.

We maken een zwarte bol die, als je kijkt, verandert van grootte, begint deeltjes uitstoten en verandert de kleur van het licht afkomstig van de achterwand. Voor deze stap zal ook gebruiken we twee klanken tegelijk speelt, een gesampled uit een vrij lage rommelend geluid (de verdwijnt werden verwijderd) en een lus van de steekproef van de instrumentale versie van Hotline Bling.

Het toevoegen van de bol

  • Een nieuw materiaal maken en toepassen op de achterwand ('Plane(4)' in de kamer prefab) en bepalen welke emissie sterkte u vindt werkt goed (Neem elke heldere kleur). Dit zal er niet toe veel later, als de waarde zal via programmacode worden ingesteld. Stel de emissie-intensiteit met een grey met 0.70 intensiteit.
  • Verdopen Plane(4) voor 'achterwand' (deze exacte naam zal worden gebruikt in de code).
  • Plaats een bol (GameObject > 3D-Object > bol) in het midden van de achterste muur duurzaame 2,2,2.
  • Geef het een nieuw materiaal met 0 gladheid en een zwarte Albedo.


Geluiden toevoegen

  • Maak een map 'Geluiden' in de bibliotheekweergave
  • Importeren van de gedownloade / geselecteerde geluiden in deze map (hotline.ogg is bijgevoegd hieronder)
  • Selecteer het gat van het plafond van de trap
  • In het Inspector-venster, klikt u op 'onderdeel toevoegen' en typ Audio bron.
  • Stel de eigenschap AudioClip op het ingevoerde geluid
  • Selectievakje 'Loop' en 'Spelen op wakker'
  • 'Ruimtelijke Blend' ingesteld op 1, om er een geluid met 3-dimensionale bron, het plafond-gat.
  • Ergens rond 13 'Max afstand' instellen.
  • Stel de volumecurve zoals geïllustreerd.
  • Selecteer het zwarte gebied nu, en een audio-bron met de rumble-ruis als clip toepassen.
  • Uncheck 'Loop' en 'Spelen op Awake' (we willen niet continu of willekeurige rumbles, het zal worden geactiveerd in de code)
  • Laat de ruimtelijke mix op 0.

Particle systeem toevoegen

  • Een nieuw materiaal maken
  • In de inspecteur, wijzigt u de eigenschap van de Shader (op de top) van standaard aan deeltjes > additief (zacht). Dit is een optisch effect dat helderder elementen eronder alleen als het is lichter dan die elementen (vergelijkbaar met overvloeimodi van Photoshop).
  • Selecteer het zwarte gebied en 'Particle systeem' een onderdeel toevoegen.
  • Draai de bol een zodanig dat de emitter is gericht op de kamer.
  • In het Particle systeem component Shape instellen > hoek tot en met 41, inzonderheid de Renderer sectie set
    • Rendermodus: gaas
    • Mesh: bol
    • Materiaal: [Selecteer uw deeltje materiaal]
    • Werpen schaduw: uit
    • Ontvangen van schaduwen: uit


Code

Nu is het tijd om wat nieuwe code toevoegen. De 'Player' object selecteren en dubbelklik op het 'Object' script. Het zal openen in MonoDevelop, een code-editor voor de eenheid die is geïntegreerd. Voor het kopiëren van code, adviseer ik om te kopiëren van het uiteindelijke bestand op Github, omdat Instructables wat moeite met de opmaak heeft.

Voeg de volgende vóór de start functie ('ongeldig Start() {...}'), na "privé CapsuleCollider playerCollider;"

 private GameObject backWall;private GameObject sphere;private AudioSource sphereSound;private Color desiredColor; 

Toevoegen van het volgende binnen de start-functie:

 cardboard.gaze.OnChange += CardboardFocusChanges; // Execute when focus changesbackWall = GameObject.Find ("backwall"); // define the back wall object sphere = GameObject.Find ("Sphere"); // define the black sphere sphereSound = sphere.GetComponent (); // define the sound player of the sphere desiredColor = new Color (0f, 0f, 0f); // define the starting color of the backWall (black) 

De eerste regel van het vorige blok noemen de functie 'CardboardFocusChanges', maar die nog niet is gedefinieerd. Eerst laten we op die. Plaats het volgende onder de functie Start (dus na de afsluitende '}', voordat de FixedUpdate-functie)

 private void CardboardFocusChanges(object sender){ CardboardControlGaze gaze = sender as CardboardControlGaze; //Cardboard camera gaze if (gaze.IsHeld() && gaze.Object() == sphere) { float redOrBlue = Random.value; //random value for color desiredColor= new Color(redOrBlue, Random.value, 1 - redOrBlue); // set desired color }} 

Dus nu, vier dingen moeten gebeuren:

  1. Animeren de kleur en de uitstoot van de achterste muur op de gewenste kleur
  2. Vergroten van de omvang van de bol, wanneer het wordt gekeken naar
  3. Activeren / deactiveren van geluiden
  4. Activeren / deactiveren van het particle systeem

Aangezien deze dingen moeten dynamisch gebeuren, de eerste drie geanimeerde zelfs, zijn ze in een standaardfunctie die elk frame wordt genoemd: de updatefunctie. In dit geval is het als volgt:

 void Update(){ if (backWall.GetComponent<Renderer>().material.color != desiredColor) { backWall.GetComponent<Renderer>().material.color = Color.Lerp(backWall.GetComponent<Renderer> ().material.color, desiredColor, Time.deltaTime); // Animate wall color DynamicGI.SetEmissive (backWall.GetComponent<renderer>(), backWall.GetComponent ().material.color * 1.5f); // Animate wall emission}if (cardboard.gaze.IsHeld () && cardboard.gaze.Object () == sphere) {sphere.transform.localScale = Vector3.Lerp (sphere.transform.localScale, new Vector3 (4, 4, 4), Time.deltaTime); // animate sphere scalesphere.GetComponent<ParticleSystem>().startColor = desiredColor; // set particle colorsphere.GetComponent<ParticleSystem>().enableEmission = true; // enable emission sphereSound.volume = Mathf.Lerp (sphereSound.volume, 1f, Time.deltaTime); // fade sound on if(!sphereSound.isPlaying){sphereSound.time = 0; // reset playback of soundsphereSound.Play(); // play sound }} else { sphere.transform.localScale = Vector3.Lerp (sphere.transform.localScale, new Vector3(2,2,2), Time.deltaTime); // animate scale back upon lost gaze sphere.GetComponent<ParticleSystem>().enableEmission = false; // disable particles sphereSound.volume = Mathf.Lerp (sphereSound.volume, 0f, Time.deltaTime); // fadeout}} 

Gerelateerde Artikelen

Virtuele realiteit Minecraft 1.8 met Google karton

Virtuele realiteit Minecraft 1.8 met Google karton

Welkom bij mijn eerste instructable. Ik ben al lid van deze site voor een zeer lange tijd nu en heb willen beginnen met posten voor een wile maar wist nooit waar ik moet beginnen. Na het kijken van mijn terugkerende e-mail vanaf hier ik zag de minecr
Virtual Reality Teleconferencing apparaat met Google karton

Virtual Reality Teleconferencing apparaat met Google karton

Virtual Reality Teleconferencing apparaat met Google kartonGemaakt door John Choi | 2015Dit project is een apparaat van de videoconferenties met twee webcams voor stereoscopisch zicht geplaatst op de top van een 3-as gemotoriseerde platform, bestuurd
DIY Virtual Reality Skateboard ervaring met Arduino en Google karton

DIY Virtual Reality Skateboard ervaring met Arduino en Google karton

Dit is een echt leuk en makkelijk project dat kan gedaan worden in ongeveer een uur. Op de bodem van de skateboard is een versnellingsmeter/gyro met een Arduino board die verzendt de hoekige motie van de Raad van bestuur via bluetooth naar een virtue
Arduino en virtuele kamer met behulp van MPU-9150 MARG

Arduino en virtuele kamer met behulp van MPU-9150 MARG

Dit is makkelijk te volgen Arduino tutorial Arduino tutorial om een virtuele ruimte met behulp van MARG MPU-9150 oriëntatie sensor te maken.Andere Arduino gebaseerde tutorials beschikbaar hier en hier.Stap 1: Download alles hieronder en volg de instr
Lasergesneden uw eigen Google-karton met Ponoko

Lasergesneden uw eigen Google-karton met Ponoko

Google karton is een eenvoudige en kosteneffectieve headset waarmee iedereen met een smartphone om te genieten van enkele echt cool virtuele realiteit.Dit instructable wordt beschreven hoe de service te gebruiken online laser snijden Ponoko maken en
Augmented Reality met Google advertenties Box 2 met behulp van Youcam 5 - Hoe maak je de coolste spullen

Augmented Reality met Google advertenties Box 2 met behulp van Youcam 5 - Hoe maak je de coolste spullen

volgen mijn youtube-kanaal: http://www.youtube.com/user/educatetowin?feature=mheeWebsite: http://www.educatetube.comGastheer: SipskiMet behulp van vergrote werkelijkheid van Youcam 5 software en te combineren met Google advertenties vak, kun je een e
Kunst met Google Sketchup papier

Kunst met Google Sketchup papier

heb je ooit wilde om je eigen kunst papier te maken en wist niet hoe? Of vond het proces te moeilijk van de get gaan. Goed met de Sketchup ontvouwen Plugin ontwikkeld door Jim Foltz het proces van het ontwerpen van die uw eigen kunst papier gemakkeli
Hoe webformulieren maken en hen inbedden in uw Website of Blog met Google Docs

Hoe webformulieren maken en hen inbedden in uw Website of Blog met Google Docs

dit is een video tutorial over het maken van een contact ons web formulier en insluiten als een pagina in uw blogger-blog met google docs. Google docs kunt u aangepaste website om formulieren te maken voor gratis. U kunt een willekeurig aantal vormen
Hotline bling glitch met Arduino

Hotline bling glitch met Arduino

Hey guys, dus zoals de titel zegt, dit is gonna be een instructie aan een glitch projectie kun je dansen op de hotline bling! En het beste deel is de kleurveranderingen. Het is gemakkelijk en leuk om te gebruiken. Dit moet gebeuren in het donker. Het
Opzetten van een Website met Google Page Creator

Opzetten van een Website met Google Page Creator

het instellen van een website met Google Labs de nieuwe Schepper van de pagina. (Hoe maak je een eenvoudige 100mb website kostenloos en heb het in een middag.) Met inbegrip van hoe, koppelen formulier pagina, link naar andere pagina's koppelen aan ge
Hoe Plan uw Route met Google Maps

Hoe Plan uw Route met Google Maps

heb je ooit afvragen hoe om naar een bestemming via openbaar vervoer rijden/wandelen/nemen?  Ooit wonder als de plaats die u onder zijn leiding is het veilig?  Wist u dat Google Maps richtingen geeft en u "straatmening" beelden van de meeste ove
GEBRUIK UW GARMIN GPS VOOR DE LEGENDE VAN DE E-TREX MET GOOGLE EARTH.

GEBRUIK UW GARMIN GPS VOOR DE LEGENDE VAN DE E-TREX MET GOOGLE EARTH.

Een nieuwe en verbeterde manier om uw GARMIN E-TREX gebruiken met GOOGLE EARTH, met een LAPTOP, G.P.S. en SOFTWARE in uw staat dat een echt FANCY SETUP. DIT ZAL ER NATUURLIJK VOOR HET GEWETEN VAN DE PRIJS. ALS U VRAGEN GELIEVE TE VOELEN VRIJ HEBT OM
De digitale leven - Type Anywhere met Google Docs

De digitale leven - Type Anywhere met Google Docs

Thumb drives zijn perfect voor het op de Ga student, zo klein u kunt hen aansluit op de achterkant van de computer van uw school en ze vergeten en dus pocketable niet opvalt wanneer je hen door het wassen.  Voordat als u aan een project op school én
Hoe een sleutelhanger met Google SketchUp voor afdrukken in 3D model

Hoe een sleutelhanger met Google SketchUp voor afdrukken in 3D model

/ * stijldefinities * / tabel. MsoNormalTable {mso-stijl-naam: "Tabel normaal"; mso-tstyle-rowband-grootte: 0; mso-tstyle-colband-grootte: 0; mso-stijl-noshow:yes; mso-stijl-ouder: "";" mso-padding-alt: 0 in 5.4pt 0 in 5.4pt; mso-