So werden Sie ein besserer Programmierer in Unity
Mit dem Aufkommen von AI und maschinellem Lernen kann man leicht davon ausgehen, dass Programmierer in Zukunft nicht mehr benötigt werden. Allerdings kann es sehr lange dauern, bis Künstliche Intelligenz komplexere Aufgaben wie Abstraktion, Optimierung, Verknüpfung usw. interpretieren kann.
Deshalb ist es nie zu spät, Ihre Programmierkenntnisse in Unity zu verfeinern, um nicht nur ein effizienterer Programmierer zu werden, sondern, wenn es soweit ist, auch in der Lage zu sein, den von anderen geschriebenen Code zu überwachen und sie anzuleiten in die richtige Richtung.
1. Vorzeitige Optimierung ist nicht immer die Wurzel allen Übels
Es ist ein weit verbreitetes Thema, vorzeitige Optimierung als unnötigen Schritt beim Prototyping von etwas zu verunglimpfen. Dies sollte jedoch nicht immer der Fall sein, insbesondere beim Hinzufügen kleiner Dinge, von denen Sie mit Sicherheit wissen, dass sie große Auswirkungen auf die Leistung haben, und wenn es Zeit dafür ist Wenn Sie die eigentliche Optimierung durchführen, haben Sie bereits Zeit gespart, indem Sie sich um die kleineren Dinge gekümmert haben. Nehmen wir gameObject.name als Beispiel:
using UnityEngine;
public class ObjectNameScript : MonoBehaviour
{
public string objectName;
void Update()
{
objectName = gameObject.name;
Debug.Log(objectName);
}
}
Während die Verwendung von gameObject.name harmlos aussehen mag, wie wir im Beitrag „Unity Optimieren Sie Ihr Spiel mit Profiler“ festgestellt haben, wird beim Abrufen des Namens eines Objekts ziemlich viel Speicher zugewiesen, was das Problem durch den Aufruf vervielfacht jedes Bild. Wir können diese Zuweisung also sofort in die Funktion Start verschieben (es sei denn, der Objektname ändert sich häufig; in diesem Fall wäre es effizienter, die Verwendung des Namens ganz zu überspringen und stattdessen eine Variable zu verwenden).
using UnityEngine;
public class ObjectNameScript : MonoBehaviour
{
public string objectName;
void Start()
{
objectName = gameObject.name;
}
void Update()
{
Debug.Log(objectName);
}
}
2. Schreiben Sie kürzeren Code
Das Schreiben kürzeren Codes spart immer Zeit, wodurch er in Zukunft besser lesbar und einfacher zu warten ist.
Es gibt viele Möglichkeiten, kürzeren Code zu schreiben, und im Fall von Unity einen C#-Code. Vereinfachen Sie beispielsweise die if/else-Anweisung mit dem Symbol „?“:
int numA = 10;
int numB = 5;
int result;
if (numA > numB) {
result = numA;
} else {
result = numB;
}
Debug.Log(result);
Der gleiche Code kann wie folgt gekürzt werden:
int numA = 10;
int numB = 5;
int result = (numA > numB) ? numA : numB;
Debug.Log(result);
Eine andere Möglichkeit, den Code zu verkürzen, besteht darin, den sich wiederholenden Code in eine eigene Funktion einzufügen und dann stattdessen diese Funktion zu verwenden.
3. Zuerst codieren, dann Fragen stellen
Während die Planung ein wesentlicher Bestandteil jedes Projekts ist, sei es ein Prototyp oder wenn die Idee noch nicht in Stein gemeißelt ist, ist es wichtig, so schnell wie möglich mit dem Codieren zu beginnen, denn egal, wie viel Planung Sie benötigen, sobald Sie dazu kommen Bei der Arbeit werden Sie immer feststellen, dass etwas besser/effizienter gemacht werden kann oder dass einige Ideen in der Praxis nicht so gut funktionieren wie andere und umgekehrt.
Alles in allem gibt es nur sehr wenige Dinge, die Sie beim Programmieren besser machen, als sich an die Arbeit zu machen und mit dem Schreiben des Codes zu beginnen.
4. Testen Sie es, bevor Sie Änderungen vornehmen
Wenn Sie über eine spielbare Demo verfügen, ist es wichtig, so schnell wie möglich mit dem Testen zu beginnen, um herauszufinden, wo Verbesserungen möglich sind, da dies oft nicht durch den bloßen Blick auf den Code erkennbar ist.
Sobald Sie die Kunst des Spieltests und des Sammelns von Feedback beherrschen, werden Sie ein effizienterer Programmierer, da Sie genau wissen, wo Sie suchen müssen, um den Code zu verbessern.
Unity stellt natürlich nebenbei viele nützliche Tools bereit, wie z. B. die Konsole (zum Erkennen von Warnungen und Fehlern), Profiler zum Debuggen der Leistung und den Rest der Schnittstelle (Szene, Hierarchie, Inspektor usw. zur Überwachung). Ablauf des Spiels/Projekts).
5. Optimierung ist ein schrittweiser Prozess
Wir sind uns alle einig, dass die Spieleleistung über Erfolg oder Misserfolg entscheiden kann und eine der Grundpfeiler einer erfolgreichen Markteinführung ist. Die Spielleistung kann jedoch nur beurteilt werden, indem Spieltests unter verschiedenen Szenarien und Bedingungen durchgeführt werden, um das Spiel aus der Sicht normaler Spieler zu simulieren.
Wir haben viele Methoden zum Debuggen, Optimieren und Auffinden von Engpässen in Ihrem Spielcode besprochen.
Weitere Informationen zur Optimierung Ihres Desktop- oder Mobilspiels finden Sie in den folgenden Beiträgen:
- Unity Optimieren Sie Ihr Spiel mit Profiler
- Verbessern der Leistung eines Handyspiels in Unity 3D
- Unity Optimierungstipps
Wenn Sie eigene Tipps haben, wie Sie in Unity ein besserer Programmierer werden können, können Sie diese gerne in den Kommentaren posten.