Stap 4: Het creëren van VR UI
Nu in onze belangrijkste scène, voegen de OVRCamerRig aan de FPSPreFab als we voorheen. We moeten nu voeg toe dat een UI voor de Oculus omdat de oculus niet HUD gebruiken beeldschermen dezelfde manier die regelmatige eenheid camera's kan. Dus om dit te doen het Canvas object kopiëren en onder de OVRCameraRig te plakken en wijzigen van de Canvas-OVRCanvas.
AFBEELDING 1 HIERBOVEN
AFBEELDING 2 HIERBOVEN
We moeten dit doek een beetje bewerken voordat het werkt.
1) moeten we deze UI te zijn in de wereld de ruimte. We doen dit door het selecteren van de OVRCanvas en vervolgens de eenheid onder Canvas > RenderMode en in het pull-down selecteren wereld de ruimte.
BOVENSTAANDE AFBEELDING 3
AFBEELDING 4 BOVEN
2) de instructies-tekst wijzigen
AFBEELDING 5
AFBEELDING 6
3) uitschakelen van de knoppen-knoppen zal niet nodig zijn omdat we gebruik van de Kinect maakt.
4) wijzigt u de animatie in de GameController van toepassing op de nieuwe OVRCanvas-doen dit door toevoeging van deze lijnen aan de Systeembesturing wakker methode:
GameObject ovrcanvas = GameObject.Find("OVRCanvas");
startAnim = ovrcanvas.GetComponent();
5) en de huidige startAnim regel uitgecommentarieerd.
//startAnim = canvas.GetComponent();
We zijn nog niet klaar. We moeten ook passen het eindspel UI maar kunnen wij dit de zelfde manier wij deed het met de StartUI.
Selecteer de UI van Start in de hiërarchie en selecteer de 2D knop op het tabblad scène. In het algemeen is het gemakkelijker om te werken met UI in de 2D-modus van eenheid.
BOVENSTAANDE AFBEELDING 7
BOVENSTAANDE AFBEELDING 8
We zie niet echt iets in de scene. Dat is omdat het enige in het doek dat we willen zien aan het begin van het spel de instructies. Wij zien echter een rechthoek met blauwe cirkels op de hoeken het doek rond. Die rechthoek geeft aan de ruimte waar de einde-Gebruikersinterface wordt weergegeven. Nu in Oculus is de zoeker een beperkt beetje aangezien wij het canvas in de wereld de ruimte hebben. Daarom moeten we de inhoud van de UI te verplaatsen om het weergavegebied van de visie van de gebruikers; Wat gebeurt als het vak instructies.
Het die we nodig om ervoor te zorgen dat het anker verkeer gereedschap is geselecteerd en niet het regelmatige overgang gereedschap verplaatsen.
AFBEELDING 9
AFBEELDING 10
Vervolgens kunnen we de inhoud naar het midden van het scherm verplaatsen. Door op te klikken en te slepen. Als je bepaalde delen van de hiërarchie geselecteerd zal hun overeenkomende posities in de scène de blauwe cornered rechthoek om hen heen hebt.
Startknop UI
In van de GameController bijwerkmethode moeten we het toevoegen van een voorwaardelijke krijgen zodat naamconflicten worden van het spel is niet begonnen en de animatie wordt niet geladen. Conisidentaly die we dit al hebben. In de Booleaanse variabele gamestarted.
Voeg dit toe aan het begin van de Update.
if (!gamestarted){ if (Input.GetKey(KeyCode.KeypadEnter)) { StartGame(); }}
De Update moet nu als volgt uitzien:
void Update (){ if (!gamestarted) { if (Input.GetKey(KeyCode.KeypadEnter)) { StartGame(); } } if (loading) { Debug.Log("Anime should start"); // ... tell the animator the game is over. startAnim.SetTrigger("StartGame"); // .. increment a timer to count up to restarting. beginningTimer += Time.deltaTime; // .. if it reaches the restart delay... if (beginningTimer >= beginningDelay) { Debug.Log("TriggeringStart"); loading = false; StartGame(); } } // Set the displayed text to be the word "Score" followed by the score value. scoreText.text = "Score: " + score; finalScoreText.text = "Score:" + score; if (playerHealth.currentHealth <= 0 && !gameended) InitializeEndGame(); if (gameended) { restartTimer += Time.deltaTime; // .. if it reaches the restart delay... if (restartTimer >= restartDelay) { // .. then reload the currently loaded level. Application.LoadLevel(Application.loadedLevel); } }}
De volgende stap die we moeten voltooien is het wijzigen van de Game Controller, zodat het kan beëindigen en opnieuw starten van het spel met onze nieuwe ingangen. We zullen ook moeten vernietigen de platforms van de scène, anders blokkeert het naar onze mening spelers zoals in de onderstaande afbeelding.
AFBEELDING 11
Aan de linkerkant is wat de spelers bekijken moet zien, maar in plaats daarvan zien zij nog steeds de platforms.