Hvordan bli en bedre programmerer i Unity

Med fremveksten av AI og maskinlæring er det lett å anta at det ikke vil være behov for programmerere i fremtiden. Imidlertid kan det ta veldig lang tid før kunstig intelligens er i stand til å tolke mer komplekse oppgaver, som abstraksjon, optimalisering, sammenkobling osv.

Derfor er det aldri for sent å avgrense programmeringskunnskapen din i Unity, for ikke bare å gjøre deg selv til en mer effektiv programmerer, men også, når tiden kommer, i stand til å overvåke koden skrevet av andre og veilede dem i riktig retning.

1. For tidlig optimalisering er ikke alltid roten til alt ondt

Det er et vanlig tema å bespotte for tidlig optimalisering som et unødvendig skritt når man lager prototyper, men det bør ikke alltid være tilfelle, spesielt når man legger til små ting, som du med sikkerhet vet har stor innvirkning på ytelsen, og når det er på tide å gjør den virkelige optimaliseringen, var tiden allerede spart ved å ta vare på de mindre tingene. La oss bruke gameObject.name som et eksempel:

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

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

Selv om bruk av gameObject.name kan se ufarlig ut, som vi oppdaget i "Unity Optimize Your Game Using Profiler"-innlegget, tildeler det ganske mye minne å få navnet på et objekt. multipliserer problemet ved å kalle det hver ramme. Så umiddelbart kan vi flytte den tildelingen til Start-funksjonen (med mindre objektnavnet endres ofte, i så fall ville det være mer effektivt å hoppe over å bruke navnet helt og bruke 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

Å skrive kortere kode sparer alltid tid, noe som gjør den mer lesbar og enklere å vedlikeholde i fremtiden.

Det er mange måter å skrive kortere kode på, og når det gjelder Unity, en C# kode. For eksempel ved å forenkle if/else-setningen ved å bruke «?»-symbolet:

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

Den samme koden kan forkortes til:

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

En annen måte å forkorte koden på er ved å sette den repeterende koden i sin egen funksjon og deretter bruke den funksjonen i stedet.

3. Kode først, still spørsmål senere

Selv om planlegging er en viktig del av ethvert prosjekt, hvis det er en prototype, eller hvis ideen ennå ikke er hugget i stein, er det viktig å starte kodingen så snart som mulig, siden uansett hvor mye planlegging det er, så snart du kommer til arbeid vil du alltid oppdage noe som kan gjøres bedre/mer effektivt, eller at noen ideer ikke er like gode i praksis som andre, og omvendt.

Alt i alt, veldig få ting vil gjøre deg bedre til å programmere som å komme på jobb og begynne å skrive koden.

4. Spilltest før du gjør endringer

Når du har en spillbar demo, er det viktig å begynne å teste den så snart som mulig for å finne ut hvor ting kan forbedres, for ofte er det kanskje ikke tydelig bare ved å se på koden.

Når du mestrer kunsten å teste og samle inn tilbakemeldinger, vil du bli en mer effektiv programmerer ved å vite nøyaktig hvor du skal se for å forbedre koden.

Unity gir selvfølgelig mange nyttige verktøy underveis, for eksempel konsoll (for å oppdage advarsler og feil), Profiler for feilsøking av ytelse, og resten av grensesnittet (Scene, Hierarki, Inspektør, etc. for å overvåke flyten av spillet/prosjektet).

5. Optimalisering er en gradvis prosess

Vi kan alle være enige om at spillytelse kan gjøre eller ødelegge det og er en av grunnpilarene for en vellykket lansering. Men spillytelsen kan bare vurderes ved å gjøre spilletestene under ulike scenarier og forhold, for å simulere spillet fra vanlige spilleres synspunkt.

Vi har diskutert mange metoder for hvordan du feilsøker, optimaliserer og finner flaskehalser i spillkoden din.

For å lære mer om hvordan du optimaliserer skrivebords- eller mobilspillet ditt, kan du sjekke innleggene nedenfor:

  1. Unity Optimaliser spillet ditt ved å bruke Profiler
  2. Forbedre ytelsen til et mobilspill i Unity 3D
  3. Unity Optimaliseringstips

Hvis du har dine egne tips for hvordan du kan bli en bedre programmerer i Unity, legg dem gjerne inn i kommentarfeltet.