Einrichtung
C++
Um C++-Code in Unreal Engine (UE) zu schreiben, laden Sie Visual Studio auf Windows herunter oder installieren Sie Xcode auf macOS. Wenn Sie ein neues C++-Projekt erstellen, generiert UE automatisch die Projektdateien für Visual Studio für Sie.
Es gibt zwei Möglichkeiten, Visual Studio von Ihrem UE-Projekt aus zu öffnen:
Doppelklicken Sie im Inhaltsbrowser auf eine C++-Klasse, um sie in Visual Studio zu öffnen.
Gehen Sie dazu im Hauptmenü zu Werkzeuge > Visual Studio öffnen. Diese Option wird nur angezeigt, wenn Ihr Projekt mindestens eine C++-Klasse enthält.
Ein kritischer Unterschied in UE: Sie müssen manchmal Ihre Visual-Studio-Projektdateien manuell aktualisieren (zum Beispiel nach dem Herunterladen einer neuen Version von UE oder wenn Sie manuell Änderungen an den Speicherorten der Quelldateien auf der Festplatte vornehmen.) Das erreichen Sie auf zwei Arten:
Navigieren Sie im Hauptmenü von UE zu Werkzeuge > Visual-Studio-Projekt aktualisieren.
Klicken Sie mit der rechten Maustaste auf Ihre.uproject-Datei im Verzeichnis Ihres Projekts und wählen Sie Visual-Studio-Projektdateien generieren aus.
Detailliertere Informationen finden Sie unter Entwicklungseinrichtung.
Blueprint
Sie benötigen nur UE, um Blueprint-Scripting zu verwenden. Alle Funktionen, die Sie benötigen, sind im Unreal Editor integriert.
Schreiben von Event-Funktionen
Wenn Sie zuvor mit MonoBehaviors gearbeitet haben, sind Ihnen die Methoden Start, Update und OnDestroy vertraut. Nachfolgend finden Sie einen Vergleich zwischen einem Unity-Verhalten und seinem Äquivalent für UE: Actors und Komponenten.
In Unity haben Sie vermutlich eine einfache Komponente, die folgendermaßen aussieht:
public class MyComponent : MonoBehaviour
{
void Start() {}
void OnDestroy() {}
void Update() {}
}AActor
In UE können Sie Code auf dem Actor selbst schreiben, anstatt nur neue Komponententypen zu coden.
Zusätzlich verfügen Actors über ähnliche Methoden wie Unitys Start-, OnDestroy- und Update-Methoden.
C++
UCLASS()
class AMyActor : public AActor
{
GENERATED_BODY()
// Called at start of game.
void BeginPlay();
// Called when destroyed.
void EndPlay(const EEndPlayReason::Type EndPlayReason);
Blueprint
UActorComponent
Komponenten in UE sind konzeptionell ähnlich wie MonoBehaviors, enthalten jedoch unterschiedliche Methoden.
C++
UCLASS()
class UMyComponent : public UActorComponent
{
GENERATED_BODY()
// Called after the owning Actor was created
void InitializeComponent();
// Called when the component or the owning Actor is being destroyed
void UninitializeComponent();
Blueprint
Zusätzliche Hinweise
In UE müssen Sie die Methode des Parent explizit innerhalb der Methode des Child aufrufen. Zum Beispiel würde dies in Unity C#
base.Update()sein, aber in UE C++ verwenden SieSuper::Tick()für Actors oderSuper::TickComponent()für Komponenten.In UE C++ verwenden Klassen verschiedene Präfixe, wie z. B.
UfürUObject-Subklassen undAfür Actor-Subklassen. Detailliertere Informationen finden Sie unter Coding-Standard.Beispiele zur Gameplay-Programmierung finden Sie unter Erstellen von Gameplay in Unreal Engine.