3D Game Design: Unterschied zwischen den Versionen

Aus DDSWiki
Wechseln zu: Navigation, Suche
(Übungsblatt II)
 
(43 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
= Unity3D in Betrieb nehmen =
 +
# Laden und installieren Sie sich die aktuelle Version von Unity. Um Unity installieren zu können, benötigen Sie den UnityHub, zu finden hier: https://store.unity.com/download-nuo.
 +
# Geben Sie an, dass Sie ein First-time user sind und bestätigen Sie die Terms.
 +
# Installieren Sie den UnityHub. Wenn Sie im Laufe der Installation gebeten werden, einen Account anzulegen (UnityID), tun Sie das bitte.
 +
# Im Hintergrund sollte bereits die neueste Unity Version heruntergeladen worden sein. Wenn nicht, können Sie das bei Installs nachholen.
 +
# Sie können innerhalb des Hubs Ihre Lizenz ändern. Wir haben von Unity Pro-Lizenzen bekommen, die ein Jahr gültig sind. Gehen Sie in Ihrem Hub auf Ihr Profil, Manage License, Activate new License und geben folgenden Lizenzcode ein: (siehe Mail)
 +
# Überprüfen Sie bitte auch, ob Unity Visual Studio mitinstalliert hat. Wenn nicht, gehen Sie bitte in Ihren Hub auf Installs, Add Modules und wählen hier Visual Studio aus.
 +
# Wenn Sie 1-6 überstanden haben, würde ich Sie noch bitte, Unity einmal testweise zu starten. Legen Sie dafür im Hub ein neues Projekt an.
  
 +
= Aufgaben =
 +
== Übungsblatt I ==
 +
Angabe [[Datei:UB1.zip]] bis 23.05.2020 04:00 (ehem. 20.05.2020 23:59) in Teams abzugeben.
  
 +
== Übungsblatt II ==
 +
Angabe [[Datei:Ub2.pdf]] bis 03.06.2020 23:59 in Teams abzugeben.
  
'''*** COMING UP ***'''
+
Die 'fertige Version' des Runners ist auf https://www94.zippyshare.com/v/fNUWGzrr/file.html als .unitypackage verfügbar. Das Passwort steht im Teams :-).
  
* foo
+
== Übungsblatt III ==
 +
TBA
 +
== Übungsblatt IV ==
 +
TBA
  
 +
= Tutorials =
 +
[https://cheatography.com/narren/cheat-sheets/unity-3d-engine/ Cheat Sheet für Unity Shortcuts]
  
= Einführung in Grundlagen der 3D-Spielentwicklung 2020=
+
[https://youtu.be/mB9CL7Yvwjk Ändern der Editorfarbe im Play-Mode]
* Auf diesen Seiten werden Code und Referenzen für das Wahlfach ''Einführung in Grundlagen der 3D-Spielentwicklung'' geteilt werden
 
* ''More to come''
 
  
 +
[https://youtu.be/EIQ4QkLZdok Vektoren und Vektorrechnung erklärt]
  
 +
[https://youtu.be/Ut2dXihk7Ao C# Programmiercrashkurs]
  
{{#ev:youtube|https://www.youtube.com/watch?v=AmIQEECXHXQ&feature=youtu.be}}
+
== Tutorialreihe zum Übungsblatt 1 Ball-in-the-Maze ==
 +
 
 +
[https://youtu.be/NM35EnMkYI4 Erstellen der Grundstruktur]
 +
 
 +
[https://youtu.be/ibnKdl95GCU Erstellen der MazeControl]
 +
 
 +
[https://youtu.be/wWOaTF-hAdY Gewinnen und Verlieren]
 +
 
 +
[https://youtu.be/jom3ThLniDw Die Kugelkamera]
 +
 
 +
[https://youtu.be/5QVpqUKIJas Das Level + Polish]
 +
 
 +
= Slides =
 +
Introslides vom 06.05.2020: [[Datei:Introslides.pdf]]
 +
 
 +
= Code Schnipsel =
 +
 
 +
== Einheit 2 Projekt der Einheit ==
 +
 
 +
Das Projekt aus der 2ten Einheit, welches wir gemeinsam gemacht haben, als Unity Asset: [[Datei:Einheit2.zip]]. Einfach ein neues Projekt erstellen, das entpackte File doppelklicken und importieren.
 +
 
 +
== Einheit 1 PlayerControl ==
 +
<pre>
 +
/**
 +
* Einführung in Grundlagen der 3D Spielentwicklung (06.05.2020)
 +
* Player Control Script um den Würfel zu steuern.
 +
**/
 +
 
 +
using UnityEngine;
 +
 
 +
public class PlayerControl : MonoBehaviour
 +
{
 +
    private bool forward = false, backward = false, left = false, right = false;
 +
    private float force = 10f;
 +
 
 +
    // Start is called before the first frame update
 +
    void Start()
 +
    {
 +
        Debug.Log("Player Control initializing.");
 +
    }
 +
 
 +
    // Update is called once per frame
 +
    void Update()
 +
    {
 +
        if (Input.GetKey(KeyCode.W)) forward = true; else forward = false;
 +
        if (Input.GetKey(KeyCode.S)) backward = true; else backward = false;
 +
        if (Input.GetKey(KeyCode.A)) left = true; else left = false;
 +
        if (Input.GetKey(KeyCode.D)) right = true; else right = false;
 +
    }
 +
 
 +
    // Update is called one per fixed physics update
 +
    void FixedUpdate()
 +
    {
 +
        //W
 +
        if (forward) GetComponent<Rigidbody>().AddForce(new Vector3(0f, 0f, force * Time.deltaTime), ForceMode.Impulse);
 +
        //S
 +
        if (backward) GetComponent<Rigidbody>().AddForce(new Vector3(0f, 0f, -force * Time.deltaTime), ForceMode.Impulse);
 +
        //A
 +
        if (left) GetComponent<Rigidbody>().AddForce(new Vector3(-force * Time.deltaTime, 0f, 0f), ForceMode.Impulse);
 +
        //D
 +
        if (right) GetComponent<Rigidbody>().AddForce(new Vector3(force * Time.deltaTime, 0f, 0f), ForceMode.Impulse);
 +
    }
 +
}
 +
</pre>
 +
 
 +
= Miniprojekte, die Sie eventuell im Laufe der Veranstaltung machen werden :-) =
  
 
{{#ev:youtube|https://www.youtube.com/watch?v=kiql2GaLa1o&feature=youtu.be}}
 
{{#ev:youtube|https://www.youtube.com/watch?v=kiql2GaLa1o&feature=youtu.be}}
 +
 +
{{#ev:youtube|https://www.youtube.com/watch?v=AmIQEECXHXQ&feature=youtu.be}}
  
 
{{#ev:youtube|https://www.youtube.com/watch?v=PTXH86gKnPg&feature=youtu.be}}
 
{{#ev:youtube|https://www.youtube.com/watch?v=PTXH86gKnPg&feature=youtu.be}}
 +
 +
{{#ev:youtube|https://www.youtube.com/watch?v=yBKDoArR0Is&feature=youtu.be}}
  
 
= Terminübersicht =
 
= Terminübersicht =
 
* aus dem NDU Webportal kopiert https://webportal.ndu.ac.at/
 
* aus dem NDU Webportal kopiert https://webportal.ndu.ac.at/
  
# Mi, 06. Mai 2020  14:30  18:15  T-1.17 - PC-Raum Studierende  Dr DI Michael Urbanek BA B.Sc. MSc
+
# Mi, 06. Mai 2020  14:30  18:15  T-1.17 - PC-Raum Studierende  Dipl.-Ing. Dr.techn. Michael Urbanek, BA B.Sc. MSc
# Mi, 13. Mai 2020  14:30  18:15  T-1.17 - PC-Raum Studierende  Dr DI Michael Urbanek BA B.Sc. MSc
+
# Mi, 13. Mai 2020  14:30  18:15  T-1.17 - PC-Raum Studierende  Dipl.-Ing. Dr.techn. Michael Urbanek, BA B.Sc. MSc
# Mi, 20. Mai 2020  14:30  18:15  T-1.17 - PC-Raum Studierende  Dr DI Michael Urbanek BA B.Sc. MSc
+
# Mi, 20. Mai 2020  14:30  18:15  T-1.17 - PC-Raum Studierende  Dipl.-Ing. Dr.techn. Michael Urbanek, BA B.Sc. MSc
# Mi, 27. Mai 2020  14:30  18:15  T-1.17 - PC-Raum Studierende  Dr DI Michael Urbanek BA B.Sc. MSc
+
# Mi, 27. Mai 2020  14:30  18:15  T-1.17 - PC-Raum Studierende  Dipl.-Ing. Dr.techn. Michael Urbanek, BA B.Sc. MSc
# Mi, 03. Jun 2020  14:30  18:15  T-1.17 - PC-Raum Studierende  Dr DI Michael Urbanek BA B.Sc. MSc
+
# Mi, 03. Jun 2020  14:30  18:15  T-1.17 - PC-Raum Studierende  Dipl.-Ing. Dr.techn. Michael Urbanek, BA B.Sc. MSc
# Mi, 10. Jun 2020  14:30  18:15  T-1.17 - PC-Raum Studierende  Dr DI Michael Urbanek BA B.Sc. MSc
+
# Mi, 10. Jun 2020  14:30  18:15  T-1.17 - PC-Raum Studierende  Dipl.-Ing. Dr.techn. Michael Urbanek, BA B.Sc. MSc

Aktuelle Version vom 22. Mai 2020, 16:25 Uhr

Unity3D in Betrieb nehmen

  1. Laden und installieren Sie sich die aktuelle Version von Unity. Um Unity installieren zu können, benötigen Sie den UnityHub, zu finden hier: https://store.unity.com/download-nuo.
  2. Geben Sie an, dass Sie ein First-time user sind und bestätigen Sie die Terms.
  3. Installieren Sie den UnityHub. Wenn Sie im Laufe der Installation gebeten werden, einen Account anzulegen (UnityID), tun Sie das bitte.
  4. Im Hintergrund sollte bereits die neueste Unity Version heruntergeladen worden sein. Wenn nicht, können Sie das bei Installs nachholen.
  5. Sie können innerhalb des Hubs Ihre Lizenz ändern. Wir haben von Unity Pro-Lizenzen bekommen, die ein Jahr gültig sind. Gehen Sie in Ihrem Hub auf Ihr Profil, Manage License, Activate new License und geben folgenden Lizenzcode ein: (siehe Mail)
  6. Überprüfen Sie bitte auch, ob Unity Visual Studio mitinstalliert hat. Wenn nicht, gehen Sie bitte in Ihren Hub auf Installs, Add Modules und wählen hier Visual Studio aus.
  7. Wenn Sie 1-6 überstanden haben, würde ich Sie noch bitte, Unity einmal testweise zu starten. Legen Sie dafür im Hub ein neues Projekt an.

Aufgaben

Übungsblatt I

Angabe Datei:UB1.zip bis 23.05.2020 04:00 (ehem. 20.05.2020 23:59) in Teams abzugeben.

Übungsblatt II

Angabe Datei:Ub2.pdf bis 03.06.2020 23:59 in Teams abzugeben.

Die 'fertige Version' des Runners ist auf https://www94.zippyshare.com/v/fNUWGzrr/file.html als .unitypackage verfügbar. Das Passwort steht im Teams :-).

Übungsblatt III

TBA

Übungsblatt IV

TBA

Tutorials

Cheat Sheet für Unity Shortcuts

Ändern der Editorfarbe im Play-Mode

Vektoren und Vektorrechnung erklärt

C# Programmiercrashkurs

Tutorialreihe zum Übungsblatt 1 Ball-in-the-Maze

Erstellen der Grundstruktur

Erstellen der MazeControl

Gewinnen und Verlieren

Die Kugelkamera

Das Level + Polish

Slides

Introslides vom 06.05.2020: Datei:Introslides.pdf

Code Schnipsel

Einheit 2 Projekt der Einheit

Das Projekt aus der 2ten Einheit, welches wir gemeinsam gemacht haben, als Unity Asset: Datei:Einheit2.zip. Einfach ein neues Projekt erstellen, das entpackte File doppelklicken und importieren.

Einheit 1 PlayerControl

/**
 * Einführung in Grundlagen der 3D Spielentwicklung (06.05.2020)
 * Player Control Script um den Würfel zu steuern.
 **/

using UnityEngine;

public class PlayerControl : MonoBehaviour
{
    private bool forward = false, backward = false, left = false, right = false;
    private float force = 10f;

    // Start is called before the first frame update
    void Start()
    {
        Debug.Log("Player Control initializing.");
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKey(KeyCode.W)) forward = true; else forward = false;
        if (Input.GetKey(KeyCode.S)) backward = true; else backward = false;
        if (Input.GetKey(KeyCode.A)) left = true; else left = false;
        if (Input.GetKey(KeyCode.D)) right = true; else right = false;
    }

    // Update is called one per fixed physics update
    void FixedUpdate()
    {
        //W
        if (forward) GetComponent<Rigidbody>().AddForce(new Vector3(0f, 0f, force * Time.deltaTime), ForceMode.Impulse);
        //S
        if (backward) GetComponent<Rigidbody>().AddForce(new Vector3(0f, 0f, -force * Time.deltaTime), ForceMode.Impulse);
        //A
        if (left) GetComponent<Rigidbody>().AddForce(new Vector3(-force * Time.deltaTime, 0f, 0f), ForceMode.Impulse);
        //D
        if (right) GetComponent<Rigidbody>().AddForce(new Vector3(force * Time.deltaTime, 0f, 0f), ForceMode.Impulse);
    }
}

Miniprojekte, die Sie eventuell im Laufe der Veranstaltung machen werden :-)

Terminübersicht

  1. Mi, 06. Mai 2020 14:30 18:15 T-1.17 - PC-Raum Studierende Dipl.-Ing. Dr.techn. Michael Urbanek, BA B.Sc. MSc
  2. Mi, 13. Mai 2020 14:30 18:15 T-1.17 - PC-Raum Studierende Dipl.-Ing. Dr.techn. Michael Urbanek, BA B.Sc. MSc
  3. Mi, 20. Mai 2020 14:30 18:15 T-1.17 - PC-Raum Studierende Dipl.-Ing. Dr.techn. Michael Urbanek, BA B.Sc. MSc
  4. Mi, 27. Mai 2020 14:30 18:15 T-1.17 - PC-Raum Studierende Dipl.-Ing. Dr.techn. Michael Urbanek, BA B.Sc. MSc
  5. Mi, 03. Jun 2020 14:30 18:15 T-1.17 - PC-Raum Studierende Dipl.-Ing. Dr.techn. Michael Urbanek, BA B.Sc. MSc
  6. Mi, 10. Jun 2020 14:30 18:15 T-1.17 - PC-Raum Studierende Dipl.-Ing. Dr.techn. Michael Urbanek, BA B.Sc. MSc