Unity Funktionen - Tom507/LegendOfBachelor GitHub Wiki
Unity ist eine sehr vielseitig einsetzbare Game Engine, welche die Entwicklung von 3D-Anwendungen durch eine robuste Grafik- und Physik Engine und tonnenweise weiterer Features, sowie eine gute Benutzeroberfläche sehr erleichtert. Unity hat eine riesige Community, daher viele nutzbare Ressourcen, sowohl auf YouTube, als auch im integrierten Asset Store.
Unitys Core ist compiled, wenn man Unity herunterlädt. Wenn man mit Unity arbeitet, benutzt man in der Regel die grafische Oberfläche im Editor. In dieser erstellt man dann C# Klassen Scripts, die man an Objekte in Unity anhängt. Nun öffnet man diese mit einer beliebigen IDE, in unserem Fall Visual Studio 2019, und hat von hier aus den kompletten Zugriff auf alles, was im Spiel vor sich geht.
Es gibt sehr viele sehr gute Unity Tutorials im Internet und auch auf Youtube, hier sind ein paar gute adressen festgehalten:
- Official Unity Tutorials
- YouTube Brackeys
- YouTube Sykoo
- YouTube Jonas Tyroller
- Tutorials by Daniel Weinlein
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class HelloWorld : MonoBehaviour
{
void Start()
{
gameObject.GetComponent<Rigidbody>().addForce(Vector3.up * 10);
}
}
Ein Unity Script muss natürlich Unity Engine nutzen, die Klasse muss den selben Namen haben wie das Script, und schon kann programmiert werden.
Scripts die Unity Funktionen nutzen sollen müssen MonoBehaviuor
abgeleitet werden. Dadurch ruft Unity im Script zu Verschiedenen Zeiten im laufenden Spiel verschiedene Funktionen wie:
void Start()
void Update()
void OnTriggerEnter()
Und viele weitere. Innerhalb dieser Funktionen kann man Funktionalitäten Implementieren, eigene Methoden aufrufen und alle Fuktionalitäten von C# nutzen.
Man kann nun beispielsweise public GameObject
Variablen erstellen und diese dann wenn man möchte aus dem Editor Füllen, oder im Editor einen Rigidbody an ein Objekt anfügen und dann Kräfte mit Rigidbody.AddForce(vector3)
auf ein objekt wirken lassen.
Hier wird Aufgelistet, welche Features von Untiy wir maßgeblich verwendet haben. Dies wurde unterteilt in Scripting und Editor Features. Wobei nahezu alle Features die im Script verwendet werden erst im Editor Aktiviert oder in der Welt plaziert werden müssen.
-
Colliders
- Ermöglicht uns die Detektion von objekten in der Umgebung --> Trigger
- Verhindert Überlappung von Objekten in der Scene
-
Navigation Meshes / NavMesh Agents
- Mithilfe von NavMesh haben wir die begehbaren Areale auf unserer Karte berechnet.
- NavMesh Agents können diese nutzen um auf der Karte von Punkt zu Punkt zu navigieren.
- UI Elements
- Post Processing
-
Unity Terrain Tool
- ermöglicht uns ein Gelände für den Hintergrund dierekt im unity Editor zu erstellen.
- Shaders / Materials
- Definieren die Oberfläche also Reflektionen, Transparenz, usw. sowie die Farbe der objekte