Unity VRMentoring 2019
Diane Hanke, Toni Wirth, Sönke Schmidt & Thushan SatkunanathanFreie Universität Berlin
24. Mai 2019
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 2
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 3
Programm
1. Blockkurs
Boa, alles voll 3D hier!Der Weg zum ersten eigenen VR-Spiel!É Einführung und MotivationÉ Unity installierenÉ Unity-EngineÉ Asset-StoreÉ Das Game
,
FU Berlin, Unity VR, 24. Mai 2019 4
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 5
Was ist eigentlich Unity VR?
Unity: Multiplattform-Engine für 3D und 2D
Virtual Reality beschreibt eine Technologie, bei der die Welt vollständigvirtuell ist und mit der auf eine realistische Art und Weise interagiertwerden kann.
,
FU Berlin, Unity VR, 24. Mai 2019 6
Einführung und Motivation
Was ist mit Unity VR möglich?https://unity3d.com/de/unity/features/multiplatform/vr-arhttps://unity.com/de/madewith/coco-vrhttps://unity.com/de/madewith/rick-and-morty-virtual-rick-ality
,
FU Berlin, Unity VR, 24. Mai 2019 7
https://unity3d.com/de/unity/features/multiplatform/vr-arhttps://unity.com/de/madewith/coco-vrhttps://unity.com/de/madewith/rick-and-morty-virtual-rick-ality
Was brauche ich für Unity VR?
É Virtual-Reality-Brille + Hardware zur VerwendungÉ Computer/Laptop mit Unity-InstallationÉ Eine coole Spielidee!
,
FU Berlin, Unity VR, 24. Mai 2019 8
Was wir mit euch vorhaben
,
FU Berlin, Unity VR, 24. Mai 2019 9
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 10
Unity installieren
É online über: https://unity3d.com
Hinweis: Wir arbeiten mit der Version 2019.1.2f1 und empfehlen euch,ebenfalls mit dieser Version zu arbeiten, wenn ihr das Projekt nachbaut. Soschließen wir mögliche Fehlerquellen durch Versionsunterschiede aus.
,
FU Berlin, Unity VR, 24. Mai 2019 11
https://unity3d.com
Unity einrichten
1. SchrittÉ Website öffnenÉ Unity-ID anlegen
,
FU Berlin, Unity VR, 24. Mai 2019 12
Unity einrichten
2. SchrittÉ Personal
downloaden
,
FU Berlin, Unity VR, 24. Mai 2019 13
Unity einrichten
3. SchrittÉ Download
Installer anklicken
,
FU Berlin, Unity VR, 24. Mai 2019 14
Unity einrichten
4. SchrittÉ folgende
Komponentenbrauchen wir
,
FU Berlin, Unity VR, 24. Mai 2019 15
Java Development Kit
JDK wird benötigt, um Java-Anwendungen zu entwickeln. Android basiert zueinem großen Teil auf Java.
É Gehe auf https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html
É Gehe zum Kasten Java SE Development Kit 12 . . .É Klicke auf Accept License AgreementÉ Lade die für dein System passende Version herunter
,
FU Berlin, Unity VR, 24. Mai 2019 16
https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.htmlhttps://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html
Android Software Development Kit
Wir benötigen das Android SDK mit den Platform Tools und dem GoogleUSB Treiber, um Anwendungen für Android zu entwickeln.
É Gehe auf https://developer.android.com/studio/index.htmlÉ Klicke auf Download Android StudioÉ Starte den Android Studio-InstallerÉ Starte Android StudioÉ Wähle als Installationstyp Standard ausÉ Beende die Einrichtung durch Klicken auf Finish
Hinweis: Merke dir den Installationspfad von dem Android SDK, falls duihn änderst!
,
FU Berlin, Unity VR, 24. Mai 2019 17
https://developer.android.com/studio/index.html
Android SDK
SDK ManagerÉ Klicke auf
ConfigureÉ Klicke auf SDK
Manager
,
FU Berlin, Unity VR, 24. Mai 2019 18
Android SDK
,
FU Berlin, Unity VR, 24. Mai 2019 19
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 20
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 21
Login
É Wir starten Unity
É Registrierung:
É E-Mail:[email protected]
É Passwort: Fugast123
,
FU Berlin, Unity VR, 24. Mai 2019 22
mailto:[email protected]
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 23
Aufbau der Engine
,
FU Berlin, Unity VR, 24. Mai 2019 24
Aufbau der Engine
1. Project-View: Projektansicht, in der alle Dateien angezeigt werden2. Hierarchy: Anzeige der GameObjects der aktuellen Szene; per Drag
and Drop editierbar
3. Scene-View: Vorschau der aktuellen SzeneGame-View: Vorschau des „echten“ fertigen SpielsAsset Store: integrierter Store zum Download von Assets (Modelle,Sounds, Plug-ins, . . . )
4. Toolbar: Werkzeug-Bereich5. Inspector: dynamischer Bereich, hauptsächlich zum Modifizieren der
GameObjects über diverse Einstellungsfenster und das Hinzufügen vonKomponenten
Hinweis: Das Layout der Fenster ist frei wählbar. Einfach per Drag andDrop die Fenster nach Belieben verschieben und über den Reiter Windowweitere Fenster anzeigen lassen.
,
FU Berlin, Unity VR, 24. Mai 2019 25
Dimension in Unity
Dreidimensionaler Vektor, mit (x,y,z), für Richtungen, Skalierungen undRotationen.
Hinweis: Unity arbeitet mit Unity-Einheiten, wobei eine Unity-Einheit imWelt-Koordinatensystem einem Meter entspricht.
,
FU Berlin, Unity VR, 24. Mai 2019 26
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 27
Asset Store
https://assetstore.unity.com/
,
FU Berlin, Unity VR, 24. Mai 2019 28
https://assetstore.unity.com/
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 29
Projekt anlegen
Projekt erstellen
É Klicke auf New
É Titel des Projekts
É Speicherort wählen (in Z:\)
É 3D Projekt erstellen
,
FU Berlin, Unity VR, 24. Mai 2019 30
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 31
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 32
Spielfeld erstellen
GameObject > 3D Object > Plane
É setze im Inspector folgende WerteÉ Position: 0, 0, 0É Scale: 1, 1, 1
,
FU Berlin, Unity VR, 24. Mai 2019 33
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 34
Camera
É Default Main Camera löschenÉ Main Camera Prefab reinziehenÉ Inspector Background-Einstellungen:
É Clear Flags > Skybox
,
FU Berlin, Unity VR, 24. Mai 2019 35
Player
É GameObject > Create EmptyÉ umbenennen zu PlayerÉ Prefab Main Camera zum Child
von Player machen
,
FU Berlin, Unity VR, 24. Mai 2019 36
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 37
Player
Player konfigurieren
É setze im Inspector folgendeWerteÉ Position: 0, 1.6, 0
É Add Component > CapsuleCollider
É Add Component > RigidbodyÉ Haken raus bei Use Gravity
,
FU Berlin, Unity VR, 24. Mai 2019 38
Player Health
1 using System.Collections;2 using System.Collections.Generic;3 using UnityEngine;4 //um eine neue szene zu laden5 using UnityEngine.SceneManagement;
7 public class PlayerHealth : MonoBehaviour8 {9 public float Health;
11 // Start is called before the first frame update12 void Start()13 {14 Health = 100f;15 }
17 // Update is called once per frame18 void Update()19 {20 if(Health == 0)21 {22 //Load-Scene: Einfügen von Code für Lose-Bildschirm23 }24 }
,
FU Berlin, Unity VR, 24. Mai 2019 39
Player Health
1 void OnTriggerEnter(Collider collision)2 {3 if (true)4 {5 Health −= 10f;6 }7 }8 }
,
FU Berlin, Unity VR, 24. Mai 2019 40
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 41
GvrEditorEmulator
Virtuelle Steuerung der Google Daydream mit Tastatur und Maus,auch ohne Brille und Controller physisch zu nutzen.
É GoogleVR > Prefabs > GvrEditorEmulatorÉ in die Hierarchy ziehen
,
FU Berlin, Unity VR, 24. Mai 2019 42
GvrEventSystem
Dient als Bridge zwischen dem EventSystem von Daydream indas Unity EventSystem. Einfach gesagt: übersetzt die Events vonder Daydream in Events in Unity.
É GoogleVR > Prefabs > EventSystem > gvrEventSystemÉ in die Hierarchy ziehen
,
FU Berlin, Unity VR, 24. Mai 2019 43
GvrInstantPreviewMain
Überträgt die Game-View in die Daydream-View.
É GoogleVR > Prefabs > InstantPreview > GvrInstantPreviewMainÉ Prefab in die Hierarchy ziehen
,
FU Berlin, Unity VR, 24. Mai 2019 44
VR Objects
Hierarchy mit VR Objekten
,
FU Berlin, Unity VR, 24. Mai 2019 45
Spiel testen
Play Button über der Game View drücken.
É Bewegung des Headsets: Alt + MausbewegungÉ Neigung simulieren: Strg + Mausbewegung
,
FU Berlin, Unity VR, 24. Mai 2019 46
Controller
Einbinden des Controllers
É GoogleVr > prefab > Controller >GvrControllerMain
É Prefab in die Hierarchy ziehen
É Asset > PrefabControllerPoint0É Prefab in den Player in Hierarchy
ziehen (zum Child von Playermachen)
Hinweis: Ihr müsst unser Prefab benutzen!
,
FU Berlin, Unity VR, 24. Mai 2019 47
Spiel testen
Play Button über der Game View drücken.
É Controller bewegen: Shift + Maus
,
FU Berlin, Unity VR, 24. Mai 2019 48
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 49
Gegner Objekt
GameObject > 3D Object > Quad
É erstellt„Rahmen“fürunser Bild
É Bild hineinziehenÉ Add Component >
EventTriggerÉ Haken unter Mesh
Collider bei:Convex und isTrigger
,
FU Berlin, Unity VR, 24. Mai 2019 50
Gegner EventListener
1 using UnityEngine;2 using System.Collections;3 using System.Collections.Generic;4 using UnityEngine.EventSystems;
6 public class EventListener : MonoBehaviour7 {8 //Leben9 int hp;
10 Health script;11 GameObject go;
13 void Start()14 {15 //holen das Canvas in dem das Script gespeichert ist16 go = GameObject.FindWithTag("GameController");17 //Script holen (Auch wenn das Health Script noch nicht angelegt ist,
kommt aber gleich)18 script = GameObject.Find("Canvas").GetComponent();19 hp = 100;20 }
,
FU Berlin, Unity VR, 24. Mai 2019 51
Gegner EventListener
1 public void onEnter()2 {3 //25hp pro Treffer abziehen4 hp −= 25;
6 if (hp
Gegner Inspector
É Add Component >Rigidbody
É Inspector siehtnun so aus:
,
FU Berlin, Unity VR, 24. Mai 2019 53
Gegner konfigurieren
É benenne in derHistory Quad zubullet um
,
FU Berlin, Unity VR, 24. Mai 2019 54
Gegner Sound
Das folgende kommtmit zu bullet rein:É ziehe Audio-Datei
in Project-ViewÉ Add Component >
Audio SourceÉ ziehe Audio-Datei
in AudioClipÉ Haken bei: Play
On Awake undLoop
Hinweis: Wenn ihr Sprachnachrichten verwendet, müsst ihr sie eventuellvorher konvertieren!
,
FU Berlin, Unity VR, 24. Mai 2019 55
Gegner Movement
1 using System.Collections;2 using System.Collections.Generic;3 using UnityEngine;
5 public class bulletMovement : MonoBehaviour6 {7 public float speed;8 public GameObject player;
10 // Update is called once per frame11 void Update()12 {13 Vector3 localPosition = player.transform.position − transform.position;14 localPosition = localPosition.normalized;15 transform.Translate(localPosition.x ∗16 Time.deltaTime ∗ speed, localPosition.y ∗17 Time.deltaTime ∗ speed, localPosition.z ∗ Time.deltaTime ∗ speed);18 }19 }
,
FU Berlin, Unity VR, 24. Mai 2019 56
Bullet EventTrigger
É EventTrigger > Add NewEvent Type > PointerClick
É auf + Zeichen klickenÉ EventListener > OnEnter
É spricht Funktion beiKlick an
É Prefab bullet in denKasten ziehen
,
FU Berlin, Unity VR, 24. Mai 2019 57
Gegner Prefab
É erzeuge Prefab von bullet, indemdu es aus der Hierarchy einfachin die Project-View ziehst
,
FU Berlin, Unity VR, 24. Mai 2019 58
Spawnfelder
SpawnfelderÉ GameObject > Create EmptyÉ Create Empty in Hierarchy umbenennen zu „Spawn1“
,
FU Berlin, Unity VR, 24. Mai 2019 59
Spawnfelder
Rechtsklick auf Spawn1 > Copy > 3x in Hierarchy einfügen
É umbenennen zu Spawn2, Spawn3, Spawn4É Position anpassen:
É Spawn1: 0, 1.5, 6É Spawn2: 6, 1.5, 0É Spawn3: -6, 1.5, 0É Spawn4: 0, 1.5, -6
,
FU Berlin, Unity VR, 24. Mai 2019 60
Gegner spawnen
Gegner Objekten ein Script hinzufügen
É Inspector vonSpawn1 wählen
É Add Component >New script
É Name:Enemyspawn
É wähle Edit Scriptdurch Klick aufdas Zahnrad
,
FU Berlin, Unity VR, 24. Mai 2019 61
Gegner spawnen
1 using System.Collections;2 using System.Collections.Generic;3 using UnityEngine;
5 public class Enemyspawn : MonoBehaviour6 {7 //Vorlage für den Gegner8 public GameObject enemy_pref;9 float maxTime = 35;
10 float minTime = 30;
12 //aktuelle Zeit13 private float time;14 //Zeitpunkt des Spawns15 private float spawnTime;
17 void Start()18 {19 SetRandomTime();20 time = minTime;21 }
,
FU Berlin, Unity VR, 24. Mai 2019 62
Gegner spawnen
1 // Update is called once per frame2 void FixedUpdate()3 {4 //zählt die Zeit hoch5 time += Time.deltaTime;
7 //checkt die Zeit8 if(time >= spawnTime)9 {
10 SpawnEnemy();11 SetRandomTime();12 }13 }
15 //spawnt Objekt und setzt die Zeit zurück16 void SpawnEnemy()17 {18 time = minTime;19 GameObject enemy = GameObject.Instantiate(enemy_pref, transform.position,
Quaternion.identity);20 }
,
FU Berlin, Unity VR, 24. Mai 2019 63
Gegner spawnen
1 void SetRandomTime()2 {3 spawnTime = Random.Range(minTime, maxTime);4 }5 }
,
FU Berlin, Unity VR, 24. Mai 2019 64
Gegner spawnen
Public Variablen nutzen
É Speichern im Editor und zu Unity wechselnÉ bullet-Prefab aus Project-View in das Feld „Enemy_pref“ziehen
,
FU Berlin, Unity VR, 24. Mai 2019 65
Inhalt
ProgrammEinführung und MotivationInstallation der ToolsUnity Engine
LoginAufbau der Engine
Asset Store
Projekt anlegenCyberslash
SpielfeldCameraPlayerSteuerungGegnerHighscore
,
FU Berlin, Unity VR, 24. Mai 2019 66
Highscore UI
É GameObject > UI >Canvas
É GameObject > UI > TextÉ Text als Child des Canvas
anlegenÉ Canvas den Tag
GameController gebenÉ Add Component > New
Script > Name: Health
,
FU Berlin, Unity VR, 24. Mai 2019 67
Highscore Script
1 using System.Collections;2 using System.Collections.Generic;3 using UnityEngine;4 using UnityEngine.UI;
6 public class Health:MonoBehaviour {
8 public int score;9 Text text;
11 void Start ()12 {13 //holen den Children-Text des Canvas14 text = GetComponentInChildren();15 //initalisieren den Score mit 016 score = 0;17 setScore(score);18 }
20 //mit dieser Funktion sprechen wir den Score an21 public void setScore(int score)22 {23 text.text = "Score: " + score;24 }25 }
,
FU Berlin, Unity VR, 24. Mai 2019 68
Game Over
Herzlichen Glückwunsch!
Ihr habt euer erstes eigenes Spiel gebaut!
,
FU Berlin, Unity VR, 24. Mai 2019 69
ReferenzenBildquellen:É https://www.google.com/search?q=unity+vr+buch&safe=off&rlz=
1C1ASRM_enDE822DE822&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiB95Xa_tHhAhXEsKQKHbnTCP8Q_AUIDygC&biw=1745&bih=861#imgrc=HqS5ZjHus78kkM:
É https://upload.wikimedia.org/wikipedia/commons/8/8a/Official_unity_logo.png
É https://www.offgamers.com/blog/wp-content/uploads/2015/11/hearthstone-logo-310x310.jpg
É https://upload.wikimedia.org/wikipedia/en/1/1b/Umbrella_Corps_cover_art.jpg
É http://cfile22.uf.tistory.com/image/2502EA4E58A723D1314642É https://i0.wp.com/timemanagementninja.com/wp-content/uploads/
2014/02/Pause-Button-Key.jpg?resize=600%2C361&ssl=1É https://seeklogo.com/images/V/
visual-studio-2015-logo-31D5DD049E-seeklogo.com.jpgÉ https://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/
Monodevelop_Logo.svg/1024px-Monodevelop_Logo.svg.png,
FU Berlin, Unity VR, 24. Mai 2019 70
https://www.google.com/search?q=unity+vr+buch&safe=off&rlz=1C1ASRM_enDE822DE822&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiB95Xa_tHhAhXEsKQKHbnTCP8Q_AUIDygC&biw=1745&bih=861##imgrc=HqS5ZjHus78kkM:https://www.google.com/search?q=unity+vr+buch&safe=off&rlz=1C1ASRM_enDE822DE822&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiB95Xa_tHhAhXEsKQKHbnTCP8Q_AUIDygC&biw=1745&bih=861##imgrc=HqS5ZjHus78kkM:https://www.google.com/search?q=unity+vr+buch&safe=off&rlz=1C1ASRM_enDE822DE822&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiB95Xa_tHhAhXEsKQKHbnTCP8Q_AUIDygC&biw=1745&bih=861##imgrc=HqS5ZjHus78kkM:https://www.google.com/search?q=unity+vr+buch&safe=off&rlz=1C1ASRM_enDE822DE822&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiB95Xa_tHhAhXEsKQKHbnTCP8Q_AUIDygC&biw=1745&bih=861##imgrc=HqS5ZjHus78kkM:https://upload.wikimedia.org/wikipedia/commons/8/8a/Official_unity_logo.pnghttps://upload.wikimedia.org/wikipedia/commons/8/8a/Official_unity_logo.pnghttps://www.offgamers.com/blog/wp-content/uploads/2015/11/hearthstone-logo-310x310.jpghttps://www.offgamers.com/blog/wp-content/uploads/2015/11/hearthstone-logo-310x310.jpghttps://upload.wikimedia.org/wikipedia/en/1/1b/Umbrella_Corps_cover_art.jpghttps://upload.wikimedia.org/wikipedia/en/1/1b/Umbrella_Corps_cover_art.jpghttp://cfile22.uf.tistory.com/image/2502EA4E58A723D1314642https://i0.wp.com/timemanagementninja.com/wp-content/uploads/2014/02/Pause-Button-Key.jpg?resize=600%2C361&ssl=1https://i0.wp.com/timemanagementninja.com/wp-content/uploads/2014/02/Pause-Button-Key.jpg?resize=600%2C361&ssl=1https://seeklogo.com/images/V/visual-studio-2015-logo-31D5DD049E-seeklogo.com.jpghttps://seeklogo.com/images/V/visual-studio-2015-logo-31D5DD049E-seeklogo.com.jpghttps://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/Monodevelop_Logo.svg/1024px-Monodevelop_Logo.svg.pnghttps://upload.wikimedia.org/wikipedia/commons/thumb/8/8d/Monodevelop_Logo.svg/1024px-Monodevelop_Logo.svg.png
ProgrammEinführung und MotivationInstallation der ToolsUnity EngineLoginAufbau der Engine
Asset StoreProjekt anlegenCyberslashSpielfeldCameraPlayerSteuerungGegnerHighscore
Top Related