DerStefan Geschrieben 28. September 2022 Melden Share Geschrieben 28. September 2022 Hallo Unity-Experten In meinem aktuellen 2D-Projekt möchte ich ein ganz einfaches Diashow-Programm umsetzen. Um noch zusätzliche Möglichkeiten zu haben, würde ich gern jedes Bild (inkl Objekte) in eine separate Scene packen. Mittels Knopfdruck wechselt Unity dann zur nächsten/vorherigen Scene. Grundsätzlich funktioniert alles, aber leider klappt es einfach nicht mit den Animationen! Die Scene wird gewechselt, aber von der Animation ist keine Spur und im Log erscheint kein Fehler. Hier mal ein Screenshot meines Animator Controllers (namens Canvas) und ein weiterer, der die Einstellungen im Inspector der _Main Camera und des Buttons enthält: Und dies ist der Code, der an der _Main Camera hängt: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; public class SwitchToGame : MonoBehaviour { public Animator animatorController; // Zugriff auf Animator-Klasse public void SwitchScene(string scene) // Funktion mit Parameterfeld im Inspector anzeigen lassen { StartCoroutine(Wechsel(scene, 1f)); // Ziel-Funktion erst nach 1 Sekunde ausführen } IEnumerator Wechsel(string scene, float delayTime) // Scene wechseln und Animation abspielen { yield return new WaitForSeconds(delayTime); // x Sekunden warten und anschließend den unten stehenden Code ausführen animatorController = GetComponent<Animator>(); // Animator-Klasse instanziieren animatorController.SetInteger("Anim", 2); // Canvas-Fadeout-Animation abspielen SceneManager.LoadScene(scene); // Scene, die im Inspector definiert wurde, laden } } P.S Die Animation an sich funktioniert in der Vorschau. Danke für jede Hilfe und viele Grüße, Stefan Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
malzbie Geschrieben 29. September 2022 Melden Share Geschrieben 29. September 2022 Ah, ich sehe es. Du versuchst die Animation vom Entry aus zu starten, was aber nicht geht. Vom Entry, also sobald der Animator erwacht, geht es über die default Transition (orange) in deinen NewState. Von da aus gibt es aber keinen Weg heraus. Du kannst jetzt entweder eine Transition , von NewState zu deiner FadeOut Anim erstellen, oder aber du nutzt AnyState als Anker für deine Animation. AnyState bedeutet, dass dem Animator egal ist welcher State gerade am laufen ist, er wird immer in einen verbundenen anderen State gehen können. Auf jeden Fall ist die Transition von Entry zu FadeOut nutzlos und kann weg. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.