Hoe je een betere programmeur kunt worden in Unity

Met de opkomst van AI en Machine Learning is het gemakkelijk om aan te nemen dat programmeurs in de toekomst niet meer nodig zullen zijn. Het kan echter heel lang duren voordat kunstmatige intelligentie complexere taken kan interpreteren, zoals abstractie, optimalisatie, interconnectie, enz.

Daarom is het nooit te laat om je programmeerkennis te verfijnen in Unity, zodat je niet alleen een efficiëntere programmeur wordt, maar ook, als de tijd daar is, toezicht kunt houden op de code geschreven door anderen en begeleid hen in de goede richting.

1. Voortijdige optimalisatie is niet altijd de wortel van al het kwaad

Het is een veel voorkomend thema om voortijdige optimalisatie af te schilderen als een onnodige stap bij het prototypen van iets. Dit zou echter niet altijd het geval moeten zijn, vooral niet bij het toevoegen van kleine dingen waarvan je zeker weet dat ze een grote impact hebben op de prestaties, en wanneer het tijd is om Als je de echte optimalisatie doet, wordt de tijd al bespaard door voor de kleinere dingen te zorgen. Laten we gameObject.name als voorbeeld gebruiken:

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

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

Hoewel het gebruik van gameObject.name er misschien onschuldig uitziet, zoals we ontdekten in de post "Unity Optimaliseer je spel met behulp van Profiler", wordt bij het verkrijgen van de naam van een object behoorlijk wat geheugen toegewezen, wat vermenigvuldigt het probleem door het elk frame te noemen. We kunnen die toewijzing dus meteen verplaatsen naar de functie Start (tenzij de objectnaam regelmatig verandert. In dat geval zou het efficiënter zijn om het gebruik van de naam helemaal over te slaan en een variabele plaats).

using UnityEngine;

public class ObjectNameScript : MonoBehaviour
{
    public string objectName;

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

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

2. Schrijf kortere code

Het schrijven van kortere code bespaart altijd tijd, waardoor deze in de toekomst beter leesbaar en gemakkelijker te onderhouden is.

Er zijn veel manieren om kortere code te schrijven, en in het geval van Unity, een C#-code. Bijvoorbeeld door de if/else-instructie te vereenvoudigen met het symbool '?':

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

Dezelfde code kan worden ingekort tot:

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

Een andere manier om de code in te korten is door de repetitieve code in een eigen functie te plaatsen en die functie vervolgens te gebruiken.

3. Codeer eerst, stel later vragen

Hoewel planning een essentieel onderdeel is van elk project, is het, als het een prototype is of als het idee nog niet in steen is gebeiteld, belangrijk om zo snel mogelijk te beginnen met coderen. Tijdens je werk zul je altijd iets ontdekken dat beter/efficiënter kan, of dat sommige ideeën in de praktijk niet zo goed zijn als andere, en omgekeerd.

Al met al zullen maar heel weinig dingen je beter maken in programmeren, zoals aan de slag gaan en beginnen met het schrijven van de code.

4. Voer een test uit voordat u wijzigingen aanbrengt

Als je een speelbare demo hebt, is het essentieel om deze zo snel mogelijk te testen om vast te stellen waar dingen verbeterd kunnen worden, omdat dit vaak niet duidelijk is door alleen naar de code te kijken.

Zodra je de kunst van het testen en het verzamelen van feedback onder de knie hebt, word je een efficiëntere programmeur, omdat je precies weet waar je moet kijken om de code te verbeteren.

Unity biedt natuurlijk veel handige tools, zoals Console (voor het opsporen van waarschuwingen en fouten), Profiler voor het debuggen van prestaties, en de rest van de interface (Scène, Hiërarchie, Inspector, enz. voor het monitoren van de voortgang van het spel/project).

5. Optimalisatie is een geleidelijk proces

We zijn het er allemaal over eens dat gameprestaties het kunnen maken of breken en dat dit een van de basispijlers is van een succesvolle lancering. Maar de spelprestaties kunnen alleen worden beoordeeld door de speltesten uit te voeren onder verschillende scenario's en omstandigheden, om het spel te simuleren vanuit het standpunt van gewone spelers.

We hebben veel methoden besproken voor het debuggen, optimaliseren en vinden van knelpunten in uw spelcode.

Voor meer informatie over hoe u uw desktop- of mobiele game kunt optimaliseren, kunt u de onderstaande berichten bekijken:

  1. Unity Optimaliseer je spel met Profiler
  2. De prestaties van een mobiel spel verbeteren in Unity 3D
  3. Unity Optimalisatietips

Als je je eigen tips hebt om een ​​betere programmeur te worden in Unity, plaats ze dan gerust in de reacties.

Voorgestelde artikelen
Werken met arrays en lijsten in Unity Code
Hoe u een Sniper Scope-effect in Unity kunt toevoegen
Een GrabPack maken in Unity, geïnspireerd door Poppy Playtime
Aangepaste updatesnelheid implementeren in Unity
Een eenvoudig 2D-bulletsysteem creëren in Unity
Hoe je een filmpje activeert in Unity
Unity C#-operatoren die u moet kennen