• Announcements

    • Lars

      Allgemeine Forenregeln   03/13/2017

      Forenregeln Nimm dir bitte einen Moment um die nachfolgenden Regeln durchzulesen. Wenn du diese Regeln akzeptierst und die Registration fortsetzen willst, klick einfach auf den "Mit der Registrierung fortfahren"-Button. Um diese Registration abzubrechen, klick bitte einfach auf den "Zurück" Button deines Browsers. Wir garantieren nicht für die Richtigkeit, Vollständigkeit und Brauchbarkeit der Nachrichten und sind auch nicht dafür verantwortlich. Die Beiträge drücken die Meinung des Autors des Beitrags aus, nicht zwangsläufig das, wofür die Forensoftware steht. Jeder Nutzer, der denkt, dass ein veröffentlichter Beitrag unzulässig bzw. störend ist, ist aufgefordert uns unverzüglich per E-Mail zu kontaktieren. Wir haben das Recht störende Beiträge zu löschen und bemühen uns, das in einem realistischem Zeitraum zu erledigen (sofern wir beschlossen haben, dass die Löschung notwendig ist). Du akzeptierst, durchgehend während der Nutzung dieses Services, dass du dieses Forum nicht dazu missbrauchen wirst, Inhalte zu veröffentlichen, welche bewusst falsch und/oder verleumderisch, ungenau, beleidigend, vulgär, hasserfüllt, belästigend, obszön, sexuell belästigend, bedrohlich, die Privatsphäre einer Person verletzend oder in irgend einer Art und Weise das Gesetz verletzen. Des Weiteren akzeptierst du, dass du keine urheberrechtlich geschützte Inhalte ohne Erlaubnis des Besitzers in diesem Forum veröffentlichst. Mit dem Klick auf den "Mit der Registrierung fortfahren"-Button, akzeptierst du zudem unsere Datenschutzerklärung und stimmst der Speicherung deiner IP-Adresse und personenbezogenen Daten zu, die dafür benötigt werden, um dich im Falle einer rechtswidrigen Tat zurückverfolgen zu können bzw. permanent oder temporär aus dem Forum ausschließen zu können. Es besteht keine Pflicht zur Abgabe der Einwilligung, dies erfolgt alles auf freiwilliger Basis.   Zusatzinformationen Der Forenbetreiber hat das Recht, Nutzer ohne Angabe von Gründen permanent aus dem Forum auszuschließen. Des Weiteren hat er das Recht, Beiträge, Dateianhänge, Umfrage, Blogeinträge, Galleriebilder oder Signaturen ohne Angabe von Gründen zu entfernen. Mit der Registrierung verzichtest du auf alle Rechte an den von dir erstellten Inhalten, bzw. treten diese an das Unity-Insider.de und Unity-Community.de ab. Dies bedeutet im Klartext, dass das Unity-Insider.de und Unity-Community.de frei über deine Texte verfügen kann, sofern diese nicht wiederum die Rechte anderer verletzen. Es besteht weiterhin kein Anspruch von registrierten Nutzern bzw. ehemaligen registrierten Nutzern darauf, dass erstellte Inhalte und/oder die Mitgliedschaft (User) wieder gelöscht werden (Erhaltung der Konsistenz dieses Forums).   Einwilligungserklärung Wenn du mit der Speicherung deiner personenbezogenen Daten sowie den vorstehenden Regeln und Bestimmungen einverstanden bist, kannst du mit einem Klick auf den Mit der Registrierung fortfahren-Button unten fortfahren. Ansonsten drücke bitte Zurück. Stand: 07.03.2011
Sign in to follow this  
Followers 0
grinseengel

Import und Animation von eigenen Modellen in Unity

11 posts in this topic

Hallo,

wieder eine Anfängerfrage. Ich habe ein externes Modell im Format .fbx. Dieses Modell hat etwa 300 Frames mit etwa 5 Animationsphasen. Das Modell habe ich normal importiert. Ich kann das Modell auch in meine Level setzen und es wird fehlerfrei angezeigt. Jetzt ist es allerdings so, dass ich nicht die einzelnen Animationsphasen zum Modell angezeigt bekomme, sondern nur die gesamte Animation mit den ca. 300 Frames. Liegt das am Import, oder müssen die einzelnen Animationsphase in Unity bestimmt werden? Evtl. liegt es ja auch schon am Quellmodell? Ich habe versucht mit dem Animator und Animation etwas anzufangen, aber da zeigt er mir logischerweise auch nichts an. Ich glaube hier fehlt mir ebenfalls wieder das Grundverständnis wie Unity arbeitet. Auch mit den Video-Turorials hat das nicht funktioniert, da ich beim Nachstellen nicht das angezeigt bekommen habe wie vorgegeben.

Mein erstes Ziel ist es, einem Tiermodell eine Standanimation zu verpassen.

Ich bräuchte dringend Hilfe. Evtl. habe ich mir ja auch die falschen Tutorial angesehen.

Gruß, Andreas

Share this post


Link to post
Share on other sites

Man kann wohl die Timeline in Unity beim Importer  (Projektfenster auf die FBX Datei klicken) in mehrere Clips unterteilen. Ich bin mir nicht sicher, ob man die FBX irgendwie so exportieren kann, dass Unity die "Phasen" automatisch erkennt.

https://docs.unity3d.com/Manual/AnimationClips.html

Da wo beim ersten Bild das "+" ist unter den Clips kannst du neue Clips hinzufügen. Das würde dann deinen Phasen entsprechen. Start und Endframe kannst du da auch setzen.

Share this post


Link to post
Share on other sites

Ich kann nichts dazu sagen, wie du die Animationen im FBX so angibst, daß Unity die einzelnen Animationsclips (vielleicht kann hier noch ein "3D Guru" noch was zu sagen) von selbst richtig aufteilt, aber auf alle Fälle geht es, indem du in einzelnen Animationen in eigene FBX-Dateien steckst. Ich kenne es so aus diversen Assets, hier werden die Einzelanimationen in separate FBX Files gesteckt ("run.fbx" / "jump.fbx" etc)

Jedenfalls kannst du im Unity-Importer (beim FBX File) die einzelnen Animationsclips (Startframe / Endframe / Clipname) selbst definieren und zwar an dieser Stelle:
https://docs.unity3d.com/Manual/class-AnimationClip.html

Share this post


Link to post
Share on other sites

Tach Namensvetter! :)
 

Leider bekommt man diverse Einstellungen nich nach Unity rein, ja und somit sind Marker in der Animationsspur auch nicht importiert.
Du kannst jetzt also entweder dein Modell mit der kompletten Animationsspur importieren und dann in Unity deine Animationstakes definieren, oder aber du exportierst aus dem 3D Programm ersteinmal nur das gebundene Mesh mit Bones ohne Animationen. Und dann für jede Animation nur das Rig und den Animationsbereich.

Ich habe da vor einigen Jahren mal Tutorials zu gemacht.
Folgende Folge ist echt alt und Unity hatte da noch gar kein Mecanim sondern nur das late Animationssystem. Trotzdem erklärt das Video ganz gut, wie du die Animationen und das Mesh einzeln rüber kriegst und dann in unity verwenden kannst. Ab der Minute 6 gehts los.

Ja und dann habe ich unter Anderem noch folgendes Video für dich, wo ich erkläre wie man das im neuen Animationssystem macht. Gerade dann, wenn man nicht als Humanoid importiert. Das ist zwar auch schon älter und der Animator hat heutzutage mehr möglichkeiten als damals, trotzdem sollte dir das helfen. Hier siehst du auch, wie man aus einer vorhandenen Animation einen neuen Animationstake erstellt und ihn einbindet.

 

Ich hoffe das dir das soweit hilft.

Wenn nicht, musst du mal genau erklären was nicht so funktioniert, wie du gerne hättest und evtl. auch mal ein Bild posten.

Share this post


Link to post
Share on other sites

Ok, jetzt habe ich ein NPC Modell gefunden, was die Einzelanimationsphasen zeigt.

1.gif.c3a68c6d6fd5ea70c5953a9f2446a455.gif

Diese kann ich jetzt auch im Inspector sehen. Diese sollten dann ja wohl von Unity richtig eingeselen sein.

2.gif.d76258b12bc00e1929d55ed1e505506b.gif

Jetzt mein Problem mit dem Animator. Mein NPC soll im Level platziert werden und dort nur die TposeStart Animationsphase ausführen. Was muss ich jetzt machen? Geht das auch ohne eine Scriptzuweisung?

3.gif.c4ac33c173cfa67fb76bb6c73b6fc5df.gif

Ich habe mir das in den Tutorial angesehen, verstehe das aber nicht richtig.

 

Share this post


Link to post
Share on other sites

Klar geht das auch ohne. Siehst du ja im 2ten Video.

Auf meinem Kanal habe ich auch eine richtig große Videosammlung, die (zwar auch wieder etwas älter) dir zeigt, wie man das so macht.
Da musst du dir aber mal ein paar Stunden für Zeit nehmen.

https://www.youtube.com/playlist?list=PLPBi1GFn_EAqw7i0ZND_JaGhZFKrCjPpx

 

Share this post


Link to post
Share on other sites

Ich danke dir.

Deine Tutorials haben mir schon sehr gut geholfen. Da ich die externen Modelle nicht neu exportieren kann habe ich die gesamte Animation eingeladen und dann in Unity die Phasen aufgeteilt. Das funktioniert gut. Allerdings habe ich ein neues Problem. Ich habe im Animator eine Animitionsphase zugewiesen und diese geht prima. Dann habe ich eine zweite Animationphase mit "make Transition" erstellt und zugewiesen. Auch diese funktionierten dann nacheinander. Ab der dritte Phase wurden dann nur noch zwei der drei Animationphasen dargestellt. Im Animator sehe ich die drei Phasen, sie werden aber nicht alle drei abgespielt.

Was mache ich falsch?

Share this post


Link to post
Share on other sites

Also du hast eine Animation, gehst mittels einer Transition zur zweiten Animation und dann wiederum mittels einer Transition zur dritten Animation? Die dritte Transition funktioniert aber nicht? Verstehe ich das richtig?
Wenn ja, dann stimmt wahrscheinlich die Bedingung deiner Transition nicht.
Kannst du hier mal ein Bild vom Animatorfenster posten, damit ich verstehe, was du genau meinst?

Share this post


Link to post
Share on other sites

Ok, dann ist es so wie ich gesagt habe. Dann muss deine Transition von run  nach eat falsch sein, oder aber die Bedingung kommt nicht dann, wenn er in run ist, sonder erst dann wenn er wieder auf idle ist. Ich weiss aber nicht was in deinen Transitions drin steht, deswegen vermute ich das auch nur.

Jedenfalls ist es so, dass ja immer eine Animation aktiv ist und nur von dieser aktiven Animation kann es weiter zu den anderen Animationen gehen, es sei denn,du nuntzt Anystate als Start der Transition.

Stell dir das ganze System wie Haus vor in dem Zimmer drin sind. Diese Zimmer haben Türen zu anderen Zimmern. Wenn du jetzt im Zimmer Idle bist, dann kannst du ins Zimmer Run gehen, denn da gibt es eine Tür. Du kannst aber nicht vom Zimmer Idle direkt zum Zimmer Eat gehen, denn du musst dafür erst einmal ins Zimmer Run gehen und dann weiter ins Zimmer Eat.
Du willst aber wahrscheinlich von beiden Zimmern aus ins Zimmer Eat kommen, also brauchst du eine zusätzliche Tür vom Zimmer Idle zum Zimmer Eat.
Verstehst du das?
Je nachdem, wie deine Animationslogik aufgebaut ist, kann man auch AnyState nutzen, denn dieses Dingen bedeutet, dass es egal ist, in welchem Zimmer an gerade ist, man kommt immer auch in ein anders Zimmer, so wie beim teleportieren. Dafür muss vom AnyState sternförig zu jedem anderen State eine Transition aufgebaut werden. Es muss keine Transition zurück geben, denn das ist dem Anystate egal. Bei Anystate nutzt man auch fast nur Trigger als Parameter, denn denn da wird nur kurz die Inof gebraucht, was jetzt passieren soll.
Nur meistens kann man Anystate nicht gebrauchen, denn wenn z.B. dein Charakter liegen und stehen kann, er aber nur mit dem laufen beginnen soll, wenn er auch steht, also eine Aufstehanimation dazwischen abgespielt werden soll, würde AnyState nicht funktionieren. Dein Char würden liegen und sofort laufen, ohne überhaupt aufgestanden zu sein.
Deswegen baut man meistens diese Ketten von Animationen auf.
Bei dir scheint aber wirklich nur eine Transition von Idle zum Eat zu fehlen, damit er vom Idle UND vom Run ins Eat übergehen kann.
 

Share this post


Link to post
Share on other sites

Das hast du gut erklärt und denke mal das ich das auch verstanden habe. Ich habe jetzt eine Transition von Eat zu Idle gezogen und die jeweils zurückgehenden Transitions von run zu idel und eat zu run gelöscht. Jetzt habe ich eine Kette und es funktioniert.

Vielen Dank.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0