Hur man blir en bättre programmerare i Unity
Med framväxten av AI och maskininlärning är det lätt att anta att programmerare inte kommer att behövas i framtiden. Det kan dock ta riktigt lång tid innan artificiell intelligens kan tolka mer komplexa uppgifter, såsom abstraktion, optimering, sammankoppling, etc.
Därför är det aldrig för sent att förfina dina programmeringskunskaper i Unity, för att inte bara göra dig själv till en mer effektiv programmerare utan också, när det är dags, kunna övervaka koden skrivna av andra och vägleda dem i rätt riktning.
1. För tidig optimering är inte alltid roten till allt ont
Det är ett vanligt tema att smutskasta för tidig optimering som ett onödigt steg när man skapar prototyper, men det borde inte alltid vara så, särskilt när man lägger till små saker, som man säkert vet har stor inverkan på prestanda, och när det är dags att gör den riktiga optimeringen, tiden sparades redan genom att ta hand om de mindre sakerna. Låt oss använda gameObject.name som ett exempel:
using UnityEngine;
public class ObjectNameScript : MonoBehaviour
{
public string objectName;
void Update()
{
objectName = gameObject.name;
Debug.Log(objectName);
}
}
Även om användning av gameObject.name kan se ofarlig ut, som vi upptäckte i inlägget "Unity Optimera ditt spel med hjälp av profiler", tilldelar ett objekts namn en hel del minne, vilket multiplicerar problemet genom att kalla det varje bildruta. Så omedelbart kan vi flytta den tilldelningen till funktionen Start (såvida inte objektnamnet ändras ofta, i så fall skulle det vara mer effektivt att hoppa över att använda namnet helt och hållet och använda en variabel istället).
using UnityEngine;
public class ObjectNameScript : MonoBehaviour
{
public string objectName;
void Start()
{
objectName = gameObject.name;
}
void Update()
{
Debug.Log(objectName);
}
}
2. Skriv kortare kod
Att skriva kortare kod sparar alltid tid, vilket gör den mer läsbar och lättare att underhålla i framtiden.
Det finns många sätt att skriva kortare kod, och i fallet med Unity, en C#-kod. Till exempel genom att förenkla if/else-satsen med symbolen '?':
int numA = 10;
int numB = 5;
int result;
if (numA > numB) {
result = numA;
} else {
result = numB;
}
Debug.Log(result);
Samma kod kan förkortas till:
int numA = 10;
int numB = 5;
int result = (numA > numB) ? numA : numB;
Debug.Log(result);
Ett annat sätt att förkorta koden är att lägga in den upprepade koden i en egen funktion och sedan använda den funktionen istället.
3. Koda först, ställ frågor senare
Även om planering är en viktig del av alla projekt, om det är en prototyp, eller om idén ännu inte är huggen i sten, är det viktigt att börja koda så snart som möjligt, eftersom oavsett hur mycket planering det är, så snart du kommer till arbete kommer du alltid att upptäcka något som kan göras bättre/mer effektivt, eller att vissa idéer inte är lika bra på praktiken som andra, och vice versa.
Sammantaget är det väldigt få saker som gör dig bättre på att programmera, som att komma till jobbet och börja skriva koden.
4. Speltest innan du gör några ändringar
När du har en spelbar demo är det viktigt att börja testa den så snart som möjligt för att hitta var saker och ting kan förbättras, eftersom det ofta inte är uppenbart bara genom att titta på koden.
När du väl behärskar konsten att testa och samla in feedback kommer du att bli en effektivare programmerare genom att veta exakt var du ska leta för att förbättra koden.
Unity ger naturligtvis många användbara verktyg längs vägen, som konsol (för att upptäcka varningar och fel), Profiler för felsökningsprestanda och resten av gränssnittet (Scen, Hierarki, Inspektör, etc. för att övervaka flödet av spelet/projektet).
5. Optimering är en gradvis process
Vi kan alla vara överens om att spelprestanda kan göra eller bryta det och är en av grundpelarna för en framgångsrik lansering. Men spelets prestanda kan bara bedömas genom att göra speltesterna under olika scenarier och förhållanden, för att simulera spelet från vanliga spelares synvinkel.
Vi har diskuterat många metoder för hur du felsöker, optimerar och hittar flaskhalsar i din spelkod.
För att lära dig mer om hur du optimerar ditt dator- eller mobilspel kan du kolla inläggen nedan:
- Unity Optimera ditt spel med Profiler
- Förbättra prestandan för ett mobilspel i Unity 3D
- Unity Optimeringstips
Om du har egna tips för hur du blir en bättre programmerare i Unity får du gärna lägga upp dem i kommentarerna.