Sådan bliver du en bedre programmør i Unity

Med fremkomsten af ​​AI og Machine Learning er det let at antage, at der ikke bliver brug for programmører i fremtiden. Det kan dog tage rigtig lang tid, før kunstig intelligens er i stand til at fortolke mere komplekse opgaver, såsom abstraktion, optimering, sammenkobling osv.

Derfor er det aldrig for sent at forfine din programmeringsviden i Unity, for ikke kun at gøre dig selv til en mere effektiv programmør, men også, når tiden kommer, i stand til at overvåge koden skrevet af andre og vejlede dem i den rigtige retning.

1. For tidlig optimering er ikke altid roden til alt ondt

Det er et almindeligt tema at udskælde for tidlig optimering som et unødvendigt skridt, når man laver prototyper, men det burde ikke altid være tilfældet, især når man tilføjer små ting, som man med sikkerhed ved har stor indflydelse på ydeevnen, og når det er tid til at lave den rigtige optimering, var tiden allerede sparet ved at tage sig af de mindre ting. Lad os bruge gameObject.name som et eksempel:

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

    void Update()
    {
        objectName = gameObject.name;
		Debug.Log(objectName);
    }
}

Mens brug af gameObject.name kan se harmløst ud, som vi opdagede i "Unity Optimize Your Game Using Profiler"-indlægget, tildeler det at få et objekts navn en del hukommelse, hvilket multiplicerer problemet ved at kalde det hver ramme. Så med det samme kan vi flytte den tildeling til Start-funktionen (medmindre objektnavnet ændres ofte, i så fald ville det være mere effektivt at springe over at bruge navnet helt og bruge en variabel i stedet).

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

    void Start()
    {
        objectName = gameObject.name;
    }

    void Update()
    {
        Debug.Log(objectName);
    }
}

2. Skriv kortere kode

At skrive kortere kode sparer altid tid, hvilket gør den mere læsbar og lettere at vedligeholde i fremtiden.

Der er mange måder at skrive kortere kode på, og i tilfælde af Unity, en C# kode. For eksempel ved at forenkle if/else-sætningen ved at bruge '?'-symbolet:

int numA = 10;
int numB = 5;
int result;
if (numA > numB) {
    result = numA;
} else {
    result = numB;
}
Debug.Log(result);

Den samme kode kan forkortes til:

int numA = 10;
int numB = 5;
int result = (numA > numB) ? numA : numB;
Debug.Log(result);

En anden måde at forkorte koden på er ved at sætte den gentagne kode ind i sin egen funktion og så bruge den funktion i stedet for.

3. Kod først, stil spørgsmål senere

Selvom planlægning er en væsentlig del af ethvert projekt, hvis det er en prototype, eller hvis ideen endnu ikke er hugget i sten, er det vigtigt at begynde at kode så hurtigt som muligt, da uanset hvor meget planlægningen er, så snart du når arbejde vil du altid opdage noget, der kan gøres bedre/mere effektivt, eller at nogle ideer ikke er lige så gode til praksis som andre, og omvendt.

Alt i alt vil meget få ting gøre dig bedre til at programmere som at komme på arbejde og begynde at skrive koden.

4. Spiltest, før du foretager ændringer

Når du har en spilbar demo, er det vigtigt at begynde at teste den så hurtigt som muligt for at finde ud af, hvor tingene kan forbedres, for ofte er det måske ikke tydeligt blot ved at se på koden.

Når du mestrer kunsten at spille-test og indsamle feedback, bliver du en mere effektiv programmør ved at vide præcis, hvor du skal lede for at forbedre koden.

Unity giver selvfølgelig mange nyttige værktøjer undervejs, såsom konsol (til at opdage advarsler og fejl), Profiler til fejlfinding af ydeevne og resten af ​​grænsefladen (Scene, Hierarki, Inspektør osv. til overvågning af spillets/projektets flow).

5. Optimering er en gradvis proces

Vi kan alle blive enige om, at spillets ydeevne kan gøre eller ødelægge det og er en af ​​grundpillerne i en vellykket lancering. Men spillets ydeevne kan kun vurderes ved at udføre spilletestene under forskellige scenarier og forhold, for at simulere spillet fra almindelige spilleres synspunkt.

Vi har diskuteret mange metoder til, hvordan du fejlretter, optimerer og finder flaskehalse i din spilkode.

For at lære mere om, hvordan du optimerer dit desktop- eller mobilspil, kan du tjekke indlæggene nedenfor:

  1. Unity Optimer dit spil ved hjælp af Profiler
  2. Forbedring af ydeevnen af ​​et mobilspil i Unity 3D
  3. Unity Optimeringstips

Hvis du har dine egne tips til, hvordan du bliver en bedre programmør i Unity, er du velkommen til at skrive dem i kommentarerne.

Foreslåede artikler
Arbejde med arrays og lister i Unity Code
Sådan tilføjes Sniper Scope Effect i Unity
Sådan afspilles videofiler i Unity
Implementering af tilpasset opdateringshastighed i Unity
Sådan udløser du en cutscene i Unity
Oprettelse af et Pac-Man-inspireret spil i Unity
Sådan ændres skærmopløsning i Unity Game