Ich struggele, um mit einem cleveren Weg zu kommen, um mit Zwischensequenzen in meinem 2D-Spiel umzugehen. Ich denke, ich habe beschlossen, die Cutscenes mit der Animator
zu erstellen/zu steuern und die eigentlichen GameObjects zu verschieben.Unity 2D: Simple Cutscene Animationssystem/Manager
Was ich struggeling mit ist:
Dieser Ansatz bedeutet, jeder GameObject
braucht es eigene Animator
ist. Wie kann ich dann die richtige Cutscene auslösen? Ich werde Spielstufen verwenden, um das Spiel und seine Fortschritte zu kontrollieren, so zum Beispiel:
if(gameStage == 34 && entering scene castle)
{
playCorrectCutscene();
}
Wie und wo bleibe ich Verweise auf alle meine cutscenes? Angenommen, ich habe 22 NPCs in einer Szene, und 15 davon haben ihre eigenen Animator
, da sie eine Zwischensequenz haben, wie spiele ich die Animation von NPC_11?
Ich denke, was ich suche ist eine Art "Cutscene Manager". Die beste Lösung wäre eine List
jeder Zwischensequenz (Animation) mit einer ID. Dann könnte ich einfach die ID verwenden, um die richtige Animation zu spielen. Aber da jede Animation im aktuellen GameObject
gespeichert ist habe ich keine Ahnung ob das möglich ist.
Hoffnung macht Sinn.
Sie können jede Zwischensequenz als vordefiniertes Feld erstellen, indem Sie ihr einen Referenznamen geben und dann das vorfabrizierte Exemplar instanziieren - Sie würden viel Speicher sparen, wenn Sie viele Zwischensequenzen haben. –
@RafalZiolkowski Ich denke, du solltest das als Antwort verwenden. Wenn Sie alle GameObjects als Prefab und [loading] (https://StackOverflow.com/a/44832347/3785314) als Ressourcen oder Assetbundles verwenden, sollten Sie dies tun. – Programmer
@Programmer - Ich werde es tun, wenn ich wieder nach Hause komme, einschließlich Code-Beispiele - Ich bin nicht genau Einheit Entwickler bei meinem täglichen Job :) –