Jump to content
Unity Insider Forum

Animation wird nicht abgespielt


Recommended Posts

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:

UnityAnimatorController.thumb.png.3314ddd454f1d315df7205d4bdffee9d.png

UnityAnimatorController2.thumb.png.5ec65f2bfa9f101a92782ebaad4a5d5f.png

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...