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

  • Instalați Unity Hub. Acesta este portalul prin care veți putea accesa proiectele voastre și prin intermediul căruia puteți instala diverse versiuni ale editorului.
  • Instalați Unity 2022.3.49f1 din Unity Hub
    • În procesul de instalare veți fi întrebați ce module doriți să instalați. Acestea sunt necesare pentru a face build-uri pe diverse dispozitive.
      • În cazul în care aveți Android, selectați Android Build Support (asigurați-vă că checkbox-urile pentru OpenJDK și Android SDK & NDK Tools sunt bifate)
      • În cazul în care aveți iOS, selectați iOS Build Support
      • Bifați sau debifați Microsoft Visual Studio Community 2019 în funcție de necesitatea/preferința voastră (notă despre IDE-uri mai jos)

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:

  • Visual Studio Community 2022
  • JetBrains Rider (cu licență de student)

Primer Unity

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

  • În partea stângă este ierahia scenei (Hierarchy), aici veți vedea toate GameObject-urile ce aparțin de scena deschisă în mod curent – în acest exemplu, scena SampleScene
  • În mijloc sus puteți vedea panourile 3D ale scenei (Scene) și ale jocului (Game). În scene view puteți manipula obiectele ce compun scena, iar în game view puteți observa cum va fi randată scena din perspectiva camerei virtuale activate – în acest exemplu, camera Main Camera
  • În partea de jos aveți panoul de proiect (Project) iar pe alt tab-ul alăturat cel de consolă (Console). În cel de proiect puteți vedea ierarhia fișierelor proiectului precum și conținutul acestora
  • În partea dreaptă aveți panoul de inspector (Inspector)

  • 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.

irva/resurse/setupunity.txt · Last modified: 2024/10/07 00:46 by andrei.lapusteanu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0