Mkay22 Geschrieben 2. März 2013 Melden Share Geschrieben 2. März 2013 Hallo, Ist zwar schon alter aber meine frage passt hier rein Und zwar hab ich ein script gemacht das die laufanimation ausführ (ungefähr wie malzbies entwurf) jetzt habe ich aber 5 .fbx datein mit je einer unterschiedlichen animation will aber nur 1 datei auf dem spielfeld haben wenn ich jetzt das script mit allen bewegungsanimationen dranhänge and den char auf dem spielfeld wird nur die animation ausgeführt die mit der .fbx des chars auf dem spielfeld verbunden ist bgespielt (logisch) Nur meine Frage ist wie ich jetzt die animationen aus den anderen .fbx daein auf dem hauptChar abspielen kann Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
AbeinG Geschrieben 2. März 2013 Melden Share Geschrieben 2. März 2013 Altes Animationssystem(Legacy) oder Mecanim? Legacy: 1. In der Animations-Komponente weitere Slots hinzufügen, indem man die Zahl der Animationen raufsetzt 2. Per DragDrop oder per Klick auf Kreis-Icon auf freiem Slot weitere Animations-Clips hinzufügen 3. Fertig ist die Chose Mecanim: <Please insert mecanim expert > Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mkay22 Geschrieben 2. März 2013 Autor Melden Share Geschrieben 2. März 2013 2. Per DragDrop oder per Klick auf Kreis-Icon auf freiem Slot weitere Animations-Clips hinzufügen ich benutze unity 4 da finde ich kein kreis icon mehr bitte genauere beschreibung thx für schnelle antwort Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 2. März 2013 Melden Share Geschrieben 2. März 2013 Der Kreis ist ganz rechts in der Zeile, nachdem du "Size" erhöht hast, auch in Unity 4. Du kannst aber auch einfach die Animation auf die Zeile "Animations" ziehen. Dann wird das Array automatisch um 1 erweitert und die gezogene Animation eingefügt. P.S. an mehreren Stellen brauchst du das nicht zu fragen... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mkay22 Geschrieben 2. März 2013 Autor Melden Share Geschrieben 2. März 2013 Also ich weis nicht genau ob wir vom selben reden bei mir gibts keinen Kreis oder ich bin einfach blind wenn man eine datei mit animationen auswählt gibts im inspector Model/Rig/Animations dort kann ich auch die zu der datei gehörige animation abspielen aber keine hinzufügen Sry wollte eg neues thema aufmachen Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mkay22 Geschrieben 2. März 2013 Autor Melden Share Geschrieben 2. März 2013 Hier nochmal ein Bild zum verständnis ich will die Stehen und Springen Animation in eine Datei bekommen http://img96.imageshack.us/img96/1371/beispielh.jpg Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 2. März 2013 Melden Share Geschrieben 2. März 2013 Das Problem ist, dass du Mecanim benutzt, dein Post aber recht eindeutig darauf hinwies, dass du das Legacy-System benutzt. Um Animationen zu benutzen, einfach die Animation von unten bei Mecanim reinziehen. Damit das ganze kompatibel zu irgendeiner humanoiden Animation ist, muss deine Figur einen humanoiden Avatar haben. Da einfach mal die Rig-Einstellungen der Import Settings deiner Figur für ansehen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Tiles Geschrieben 2. März 2013 Melden Share Geschrieben 2. März 2013 Hm, ich les hier immer wieder was von Legacy. Die alte Methode ist doch gar nicht Legacy. Die ist nur eben extern, und nicht intern mit Mecanim. Und das wird Unity aller Voraussicht nach auch so beibehalten. Denn sehr viele Leute nutzen nach wie vor ihre 3D Pakete fürs Animieren. Und nicht das Mecanim System. Musst ich jetzt einfach mal loswerden Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
fairygirl Geschrieben 3. März 2013 Melden Share Geschrieben 3. März 2013 Hm, ich les hier immer wieder was von Legacy Die alte Methode ist doch gar nicht Legacy. Wie sollen wir es denn den Animationstyp nennen wenn wir nicht humanoid (mecanim) nutzen sondern die Auswahl Legacy , was meiner Meinung nach dem System von Unity 3 entspricht? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 3. März 2013 Melden Share Geschrieben 3. März 2013 Sobald Mecanim alles kann, was das alte System kann, fleigt das vermutlich raus. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mkay22 Geschrieben 3. März 2013 Autor Melden Share Geschrieben 3. März 2013 var wrapMode = WrapMode; function Update () { if(Input.GetKey("w")) { animation["Rennen"].wrapMode = WrapMode.Loop; animation.Play("Rennen"); } else { animation["Stehen"].wrapMode = WrapMode.Loop; animation.Play("Stehen"); } } So Hab jetzt auf legacy umgestellt (habs herausgefunden und die animationen zugewiesen) Nun Kommt aber bei dem Oberen Script (zeile 12) ein NullReferenceException error Ich hab keine ahnung wiso weil in dem If Block genau das selbe steht bitte um hilfe Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 3. März 2013 Melden Share Geschrieben 3. März 2013 var wrapMode = WrapMode; Das sollte nicht so wirklich Funktionieren. Außerdem kannst du den WrapMode über den Editor direkt im AnimationClip festlegen, das muss das Script nicht tun. Bleib doch bei Mecanim, das ist schon eine gute Idee... hat dir meine Aussage nichts gebracht? Um Animationen zu benutzen, einfach die Animation von unten bei Mecanim reinziehen. Damit das ganze kompatibel zu irgendeiner humanoiden Animation ist, muss deine Figur einen humanoiden Avatar haben. Da einfach mal die Rig-Einstellungen der Import Settings deiner Figur für ansehen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mkay22 Geschrieben 6. März 2013 Autor Melden Share Geschrieben 6. März 2013 Hallo nochmal, Nochmal zurück zu Mecanim hab wieder alles auf Mecanim gestellt und alle animationen eingesetzt. Nun hab ich in mein script if(Input.GetButtonDown("w")) { anim.SetBool("Bewegung", true); } eingesetzt um beim W drücken die Bewegungsanimation abzuspielen. Im Animator habe ich den Bool Bewegung auf false gesetzt und als bedingung zum abspielen der Rennanimation Bool auf true gesetzt werden muss was ich mit meine Script block (oben) gemacht habe trozdem wird nur die Default Animation vom Animator abgespielt warum? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 6. März 2013 Melden Share Geschrieben 6. März 2013 GetButtonDown gibt nur einen Frame lang true zurück. Für Mecanim würde ich das lieber mindestens die ganze Transition Time lang den Boolean gesetzt haben wollen. Das nervt mich selbst auch ziemlich an Mecanim, sowas wie Animation.Play über Script gibt's noch nicht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mkay22 Geschrieben 6. März 2013 Autor Melden Share Geschrieben 6. März 2013 Aber wenn ich nur GetButton mach gehts auch nicht Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 6. März 2013 Melden Share Geschrieben 6. März 2013 Dann mach mal den Aniamtor neben dem Game View auf, sodass du ihn ingame anschauen kannst. Wird das Häckchen gesetzt, wenn du den Knopf ingame drückst? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mkay22 Geschrieben 6. März 2013 Autor Melden Share Geschrieben 6. März 2013 Nichts passiert außer das die idle animation abgespielt wird Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 6. März 2013 Melden Share Geschrieben 6. März 2013 Hast du das Script denn überhaupt dem richtigen Objekt gegeben? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mkay22 Geschrieben 6. März 2013 Autor Melden Share Geschrieben 6. März 2013 ich habe jetzt nen unty tutorial script für meine zwecke umgestellt using UnityEngine; using System; using System.Collections; public class HCMecanimScript : MonoBehaviour { [RequireComponent(typeof(Animator))] protected Animator animator; public float DirectionDampTime = .25f; void Start () { animator = GetComponent<Animator>(); } void Update () { animator.SetBool("Jump", Input.GetKey("Jump")); float h = Input.GetAxis("Horizontal"); float v = Input.GetAxis("Vertical"); animator.SetFloat("Speed", h*h*v*v); animator.SetFloat("Direction", h, DirectionDampTime, Time.deltaTime); } } Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mkay22 Geschrieben 6. März 2013 Autor Melden Share Geschrieben 6. März 2013 Und ja dem Charackter mit dem die Animationen ausgeführt werden solle und er hat auch den Animator zugewiesen Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 6. März 2013 Melden Share Geschrieben 6. März 2013 Und er setzt ingame kein Häkchen? Hat den die Animator-Komponente den richtigen Animator Controller? Zumindest das Häkchen bei der "Jump"-Eigenschaft muss dann gesetzt sein ingame. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.