Table of Contents

Setup și primer Unity

Laboratoarele de IRVA for fi predate folosind Unity 2022.3.49f1 în sistemul de operare Windows 10/11. Așadar, acest ghid va fi prezentat având aceste 2 variabile fixate.

Acest document prezintă o vedere de ansamblu asupra setup-ului cât și câteva concepte esențiale ale engine-ului pentru a avea o mică “platformă de lansare” pentru a vă putea apuca de lucrul la laboratoare în cazul în care nu aveți experiență cu Unity. Engine-ul va fi prezentat în detaliu la alte materii.

Instalare Unity Editor

Puteți studia aici compatibilități între sisteme de operare și platforme target.

IDE-uri

Nu există un IDE (Integrated Development Environment) impus pentru dezvoltare. În mod standard recomandăm să folosiți:

Primer Unity

În imaginea următoare se pot observa panou-urile de interes ale editorului:

  • Unity este un engine ce se bazează pe componente. Un Game Object poate avea atașate diverse componente, precum Transform, Animator, Light, etc., care-i definesc comportamentul.
  • De asemenea, puteți crea și voi componente speciale / custom prin intermediul script-urilor.

Pentru a crea un script nou, puteți face click-dreapta într-o locație dorită in panoul de proiect și să selectați Create > C# script.

My first Unity script

Unul dintre aspectele fundamentale în Unity este înțelegerea etapelor de rulare ale motorului – cel puțin din perspectiva callback-urilor.

Info: Aici este prezentată în detaliu ordinea de execuție a acestor callback-uri.

Următorul snippet prezintă un script ce se folosește de o serie de callback-uri uzuale.

using UnityEngine;
 
public class PrimerScript : MonoBehaviour
{
    // Note: functionName() => ...; is shorthand for single line functions. You can use { } to
    // define the method's body just as well.
 
    // Called when the script is initialized, regardless if the script (not the game object!) is enabled or not.
    private void Awake() => Debug.Log("[PrimerScript] Awake called");
 
    // Called on the frame the object is initialized.
    private void Start() => Debug.Log("[PrimerScript] Start called");
 
    // Called when the script is enabled.
    private void OnEnable() => Debug.Log("[PrimerScript] OnEnable called");
 
    // Called when the script is disabled.
    private void OnDisable() => Debug.Log("[PrimerScript] OnDisable called");
 
    // Editor-only callback. Called on script load or on inspector changes.
    // Mainly used for data validation (hence its name).
    private void OnValidate() => Debug.Log("[PrimerScript] OnValidate called");
 
    // Called every frame.
    private void Update() => Debug.Log("[PrimerScript] Update called");
 
    // Called when `Destroy` is called on this game object. Used for clean-up logic.
    private void OnDestroy() => Debug.Log("[PrimerScript] Destroy called");
}

Acest script îl puteți atașa oricărui GameObject din ierarhie prin butonul de Add Component din inspector.

Vă recomandăm să rulați acest exemplu într-un proiect de Unity în cazul în care doriți să va familiarizați cu aceste funcționalități.