Unity – třídy


Manuál: https://docs.unity3d.com/Manual/index.html
Skriptování: https://docs.unity3d.com/Manual/ScriptingSection.html
Reference: https://docs.unity3d.com/ScriptReference/

Unity používá jazyk C#
K našim projektům můžeme připojovat textové soubory se skriptem s koncovkou .cs

Tvorba nového skriptu

Když dáme v editoru vytvořit nový skript, automaticky se nám vytvoří skript rozšiřující třídu MonoBehaviour:

using UnityEngine;
using System.Collections;

public class NazevTridy : MonoBehaviour {

    // Inicializace – spuštěno jednou při startu
    void Start () {

    }

    // Aktualizace – spuštěno při každém snímku
    void Update () {

    }
}

Klíčové body:

  • using – importy potřebných knihoven.
  • NazevTridy : MonoBehaviour
    Následuje začátek nové třídy s jejím názvem. Za : se pak píše jakou třídu tato nová rozšiřuje. Tzn. vezme vše, co původní třída umí a přidá jí další vlastnosti a funkce.
  • Metody Start a Update:
    • Funkce void Start() se vždy spustí při inicializaci programu. (tj. když zmáčkneme play nebo spustíme exportovaný program).
      Do této funkce dáváme počáteční nastavení. Např. Vložení dat do proměnných, přiřazení posluchačů.
    • Funkce void Update() se vždy spustí při každém vykreslení snímku aplikace.
      Do této funkce dáváme procesy, které se mají spouštět nebo testovat při chodu aplikace. Např. pohyb hráče, podmínky ukončení hry aj.

Důležité třídy v Unity

  • GameObject:
    Reprezentuje jakýkoli objekt, který může existovat na scéně (v hierarchii projektu)
    Vlastnosti: name, transform, tag, layer.
  • MonoBehaviour:
    Základní třída komponenty. Umožňuje skriptům fungovat jako komponenty GameObjectů. Vždy musí být připojená na nějaký GameObject (objekt vytvořený v Unity, který je na scéně v hierarchii projektu, např. osy, 2D objekt, 3D objekt).
    Poskytuje přístup k metodám jako Start(), Update(), OnTriggerEnter(), aj.
  • Object:
    Nejzákladnější třída, z níž vycházejí všechny další objekty v Unity.Používá se pro obecnou manipulaci s objekty (např. zničení objektu pomocí Destroy()).
  • Transform:
    Třída, která umožňuje manipulovat s GameObjecty. Mění rotaci, pozici a scale a vztah mezi rodiči a potomky objektu.
    Klíčové metody: Translate(), Rotate(), SetParent().
  • Vectors (Vector2, Vector3, Vector4)
    Práce s body, směry a pohybem ve 2D, 3D a 4D prostoru.
  • Quaternion:
    Třída pro práci s rotací.
  • ScriptableObject:
    Umožňuje vytvářet datové objekty, které nejsou spojeny s žádným GameObjectem.Vhodné pro ukládání konfigurací nebo herních dat.
  • Time:
    Tato třída umožňuje práci s časem a úpravu frameratu.
    • Time.deltaTime – Čas od posledního snímku (užitečné pro pohyby závislé na čase).
    • Time.time – Čas od spuštění aplikace.
  • Mathf:
    Obsahuje běžné matematické operace.
  • Random:
    Generuje náhodné hodnoty.
    • Random.Range(min, max) – Náhodné číslo mezi minimem a maximem.
  • Debug:
    Umožňuje získávání informací z projektu pro potřebu testování.
    Slouží k ladění projektů:
    • Debug.Log("Zpráva");
  • Gizmos and Handles:
    Umožňují vizualizovat a manipulovat s prvky ve scéně v editoru.

,