Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice
  4. Dismiss Notice

Animancer - Less Animator Controller, More Animator Control

Discussion in 'Assets and Asset Store' started by Kybernetik, Oct 8, 2018.

  1. vonSchlank

    vonSchlank

    Joined:
    Jan 5, 2017
    Posts:
    30
    Let me refraise my question: How can i get the pose and the root position and rotation from an animation clip on a given time?
    It is fairly easily achievable with unity playables to display a frame at a given time and on the correct position - is it possible with Animancer?
     
    Last edited: Mar 21, 2021
  2. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    You can't because the question doesn't make sense.

    Motion is a change in position over a period of time, or to put it mathematically:
    speed = distance / time
    . So if your animation is frozen on a particular frame then the period of
    time = 0
    , meaning you're trying to divide by 0.

    Unity doesn't give us any access to the root motion data, but if your root motion is constant throughout the animation you might be able to calculate the value you want based on the animation clip's averageSpeed property, it just won't make sense in relation to the animation being frozen.
     
  3. vonSchlank

    vonSchlank

    Joined:
    Jan 5, 2017
    Posts:
    30
    I don't understand: i can't what? I already did it with unity playables, i just thought it will be easier with Animancer.

    playableGraph = PlayableGraph.Create("Graph");
    playableGraph.SetTimeUpdateMode(DirectorUpdateMode.GameTime);
    AnimationPlayableOutput playableOutput = AnimationPlayableOutput.Create(playableGraph, "Animation", GetComponent<Animator>());
    clipPlayable = AnimationClipPlayable.Create(playableGraph, clip);
    playableOutput.SetSourcePlayable(clipPlayable);

    playableGraph.Play();
    clipPlayable.SetTime(0.5f);
    clipPlayable.SetSpeed(0);

    It does exactly what i need, shows the pose at 0,5sec, at the correct position, not in (0, 0, 0).
    I'm trying to achieve the same with Animancer. Is that possible?
     
  4. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    Sorry, I misunderstood what you wanted. I thought you were trying to continually apply the root motion of that particular pose alone, not apply the accumulated root motion up to that point.

    You can access the state's playable by casting it to IPlayableWrapper:
    ((IPlayableWrapper)state).Playable.SetTime(0.5f);
    (or
    0.5f * clip.length
    for the normalized time).

    The reason Animancer's Time and NormalizedTime properties don't do that is because of the way Animation Events work. Calling SetTime once will trigger all events between the old time and the new time which is usually not what you want so Animancer calls SetTime twice to avoid that. Apparently that causes different behaviour for Root Motion as well.
     
  5. vonSchlank

    vonSchlank

    Joined:
    Jan 5, 2017
    Posts:
    30
    It's OK, i think i haven't explained it well enough.
    Great, thank you, that is exactly what i'm looking for! Easy & fun! :)
     
  6. Milionario

    Milionario

    Joined:
    Feb 21, 2014
    Posts:
    129
    Why is my mixerstate not showing like you have it on the docs?
    upload_2021-3-21_13-47-0.png

    upload_2021-3-21_13-46-48.png
    Where do i slot in the animations?
    upload_2021-3-21_13-47-51.png
     
  7. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    I can think of a few things to check to narrow down the issue:
    • Does your script have a custom Inspector or do you have a custom Inspector that applies to all scripts?
    • Do you have the same problem with other kinds of mixers such as LinearMixerState.Transition?
    • Does the mixer in the Linear Blending example display correctly?
     
  8. Milionario

    Milionario

    Joined:
    Feb 21, 2014
    Posts:
    129
    None of the demos in examples show like in the docs page, so i suspect its an inspector issue, do you know what I can check for in my .sln to find if some script is conflicting with animancer? I have some other asset store plugins installed.
     
  9. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    Do a Ctrl + F in Visual Studio set to Entire Solution to search for "CustomEditor". If you find a class set to be a custom editor for MonoBehaviour, Behaviour, Component, or Object, then that's likely the cause. If so, post its OnGUI method and hopefully it should be easy enough to fix the problem.

    If you can't find it, just create a new project with Animancer and add your other plugins one by one to see which one breaks it.
     
  10. Milionario

    Milionario

    Joined:
    Feb 21, 2014
    Posts:
    129
    Couldn't find it by searching, actually the only search that comes up is your DummyObjectEditor.cs, which I don't think is related..

    I am gonna try your other idea. Anyways if this is possible it's a really bad design choice by unity to allow 1 editor script from anyone break other scripts.
     
  11. Milionario

    Milionario

    Joined:
    Feb 21, 2014
    Posts:
    129
    Tried that, in an empty project imported animancer and tried the Linear Blending example, the Linear Locomotion Mixer Transition ScriptableObject looks like this

    upload_2021-3-22_10-41-0.png

    It doesn't show the walking or running animations...

    Probably not related to animancer but got these editor errors

    upload_2021-3-22_10-42-10.png
     
  12. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    If you're using Animancer Lite and you downloaded it in a version of Unity before 2019.4, you should re-download it for your current version. That should be the cause of that bottom error and could potentially be the cause of your problem.

    Otherwise, which Unity version are you using?
     
    Milionario likes this.
  13. Milionario

    Milionario

    Joined:
    Feb 21, 2014
    Posts:
    129
    Working now!
     
  14. ratking

    ratking

    Joined:
    Feb 24, 2010
    Posts:
    348
    I have a LinearMixerTransition asset with 3 clips with different thresholds. 2 of the clips are ClipTransition assets where I changed the Speed and added some Events. Playing the LinearMixerTransition mostly works, but my ClipTransitions' speed isn't applied, and the events are never called. What am I missing?
     
  15. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    The Speed fields in the mixer itself will take precedence over the Speed set in the child transition assets.

    I've had a look at the events problem and it would take some significant changes to get them to work and I'm not sure how they should actually work. Specifically, would you want events to trigger on all child states whenever the mixer is playing or only trigger events on children with non-zero Weight or only on the child with the highest weight?

    What are you actually trying to achieve with the events?
     
  16. ratking

    ratking

    Joined:
    Feb 24, 2010
    Posts:
    348
    I was trying to replicate the "foot step sounds via events", but with a mixer, because I'm blending idle, walk and run animations. But I understand if this would need significant changes and is too much work, and yeah - when would the events actually get fired when idle and walk are both at 50%... so I use a different solution now. Thanks for the reply!

    Maybe it would be a good idea to put this into the documentation though, that events won't work for child states like this.
     
  17. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
  18. ratking

    ratking

    Joined:
    Feb 24, 2010
    Posts:
    348
  19. ChrisVMC

    ChrisVMC

    Joined:
    Jun 22, 2020
    Posts:
    16
    1. Is there a specific way Timelines should be looped with a PlayableAssetState?

    IsLooping is read only.
    I can manually loop it by the following. Which works, but seems unnecessarily complicated compared to setting an IsLooping flag and using whatever looping logic exists in animancer.
    Code (CSharp):
    1. Events.OnEnd = () =>
    2.         {
    3.             playableTimeline.Time = 0;
    4.             animancer.Play(playableTimeline);
    5.         };
    2. Is there a designer (editor UI) friendly way to bind tracks for a timeline
    new PlayableAssetState(TimelineAsset)
    ? If I use a PlayableAssetState.Transition then that functionality exists, but I'm not using the timelines for transitions so that doesn't seem right to me. I want to be able to set one as the active state and loop it then blend into another one on demand.

    3. The documentation (https://kybernetik.com.au/animancer/docs/manual/timeline) says "Even with Animancer, this [PlayableDirector] is still often the best way to play Timelines that control multiple characters." Why is this? What exactly are the limitations/issues?

    Background: I'm dealing with a simulation that is currently very linear and driven by a very large timeline. I'm looking at ways I might break it up into smaller sections so I can separate the flow control logic from the timeline completely. Then break it down into small timelines that can more easily be swapped and rearranged. Sometimes characters run through sequences individually and sometimes they run through sequences together.

    I'm working through a number of areas trying to determine if Animancer would help or be a lateral move from AnimationController+Timeline.

    Edit:
    4. Is there a way to blend between timelines when transitioning from one to another?
    Edit 2: Think I got this one with the fade duration when using PlayableAssetState.Transition.
    Edit 3: Except it only works with one track that has not been explicitly bound. If I specify the animator it no longer does the fade transition.
     
    Last edited: Mar 29, 2021
  20. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    1. Animancer has no interaction with the loop setting on a Timeline and I'm pretty sure Unity doesn't let you set it in scripts. The Timeline Asset should have a setting to determine how it loops somewhere, but otherwise yeah an End Event is probably the easiest way to do it.

    2. Transitions are Animancer's editor friendly way of setting up animation details. Even if you aren't actually using them to "transition" between animations, that's probably still the way to do it.

    3. An AnimancerComponent controls one Animator. All of its features (playing clips on demand, layers, mixers, events, etc.) revolve around managing that one object so if you're using a Timeline that animates multiple objects you can't really make use of any of Animancer's features. I don't have any experience using Timeline in a real project though, so maybe there's a useful workflow I haven't thought of.

    4. I would expect it to be able to blend between Timelines that animate a single object exactly the same as any other type of state, but if it doesn't then it's probably a limitation of Timeline since I'm pretty sure the PlayableDirector component can't blend between them. For Timelines that animate multiple objects, I'd say it's very unlikely they could be blended.
     
  21. LudiKha

    LudiKha

    Joined:
    Feb 15, 2014
    Posts:
    138
    Hi! I'm trying to play a Timeline asset on Animancer - which works great for animation. However, because the timeline will be nested, it won't create any additional outputs, such as ScriptPlayable outputs, and as such PlayableBehaviours are never evaluated.

    For reasons currently unknown to me the PrepareFrame/ProcessFrame evaluation only works if there is a corresponding PlayableOutput for each different Playable behind the TimelinePlayable, which doesn't appear to be the case outside of Timeline.

    @Kybernetik Are you aware of this issue and plan to do anything with it?

    Thanks,
    K
     
  22. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    If you use a PlayableAssetState.Transition, setting up the bindings in the Inspector should be all it needs to create the outputs at runtime. Otherwise you can assign your bindings to the state's Bindings property.
     
    LudiKha likes this.
  23. petey

    petey

    Joined:
    May 20, 2009
    Posts:
    1,771
    Hi, just trying to get to the bottom of this, I'm using Unity's Animation Rigging for Ik and a few other things and for some reason I've been getting a noticeable glitchy single frame when I blend to another animation clip with animancer. I'm still not 100% sure on what's causing it but when I was making a repro I noticed that the ik seems to run a frame out of whack. Do you have any tips for using the two together?

    Mar-30-2021 10-31-15.gif
    (Just stepping through a little star jump here with the arms rigged as IK to show what I think might be causing the issue)

    Oh I should mention I'm in 2020.3 LTS and I'm on Animancer v6 but I think it was a pretty early version.

    Thanks!
    Pete
     
  24. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    I remember seeing some weird poses from one of the early versions of the Animation Rigging package when blending between animations, but I never looked into it too deeply so I'm not sure if they've fixed it or if it's related to what you're seeing.

    I don't know of any reason it would be off by one frame though.

    See if you can make a simple repro for me to take a look at, but if I had to guess I'd say it's most likely a bug in the Animation Rigging package and/or the Playables API since Animancer doesn't directly touch the character's pose.
     
  25. petey

    petey

    Joined:
    May 20, 2009
    Posts:
    1,771
    Okay cool, I'll put something together for ya! Thanks.
     
  26. holdingjason

    holdingjason

    Joined:
    Nov 14, 2012
    Posts:
    135
    Great project. Just left a review sorry for the delay.

    Ok so just found out that animation events via animation (and I am guessing mechaim animator) are not guaranteed to be called, in the case of a skip or cpu drop etc. The frame could be missed and the anim event not triggered (at least that is my understanding and had a case of this happen just yesterday during a demo).

    So the question is, using Animancer is the same thing possible? Are anim events guaranteed to be triggered, outside of say killing the anim before it reaches one or blending into another one (not sure what would happen in that case) etc.

    Hoping they are and your using some other technique but if not PLEASE let us know so I can take that into account and make sure we do not do anything in those events that must happen, or use a time based coroutine approach that will make sure it does happen. Thanks and again what a fantastic product, our animations, layers and fades etc are looking so much better now using your product and the code is a billion times simpler. Great job.

    UPDATE: Just saw this Custom Events -> Register Event callbacks to be triggered at specific times during an animation without the hassle of Unity's regular Animation Events.

    Should we be using this instead? Will take a look and again same question using that would it be 100% guaranteed to fire. Do I have the option to use either or is this the only one that is 100% guaranteed. Sorry to beat this horse to death but you could see how important this would be so we don't brick our game because of some outside hiccup.

    The Crew at Critter Cove.
     
  27. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    Unity's Animation Events should generally be reliable. I do know of a few bugs relating to them, but in general a regular event in the middle of an animation shouldn't ever be missed.

    I'm not currently aware of any bugs with Animancer Events, but bugs are always a possibility in any system. The most common source of confusion regarding Animancer Events is misunderstanding the way they are Cleared Automatically whenever you play another animation.

    I have no idea how Animation Events are managed internally, so I can't say for certain if I'm using a different technique, but given that those bugs I linked above don't occur with Animancer Events I probably am doing at least a few things differently.

    Also, if you report a potential bug to me I can often fix it within a few days where Unity would take weeks to even investigate a bug report and then would likely only put their fix in a new version of Unity that you'd have to upgrade to.
     
  28. LudiKha

    LudiKha

    Joined:
    Feb 15, 2014
    Posts:
    138
    Thanks! I missed that somehow - that worked like a charm. One final question there - when stopping the state, the generated outputs remain in the graph, connected to the timeline asset's playables. Is there a built-in way Animancer accounts for destroying these outputs or somehow disconnecting the timeline's playables from them?
     
  29. vonSchlank

    vonSchlank

    Joined:
    Jan 5, 2017
    Posts:
    30
    I'm trying to show different poses of an animation, so i use this for a pose:

    GameObject pose = Instantiate(proto);
    AnimancerComponent animancer = pose.AddComponent<AnimancerComponent>();
    animancer.Animator = GetComponent<Animator>();
    var state = animancer.Play(animationClip);
    state.Speed = 0;
    ((IPlayableWrapper)state).Playable.SetTime(setTime);


    It works as expected, but when i'm trying to get the position of GO "pose", it returns (0, 0, 0). However, if i wait a frame, it returns the correct value.
    Is there a way to eleminate the the frame delay?
     
  30. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    @LudiKha There isn't. When I tried to implement destroying the outputs it caused Unity to crash and I haven't heard anything back from my bug report yet. That was in Unity 2018.4 though and I don't know if the same problem is present in newer versions so I might revisit it when I drop support for that version. It's a massive pain to figure out how to do anything with Timeline since there's no real documentation for it.

    @vonSchlank call animancer.Evaluate() to make it apply the animations immediately.
     
    LudiKha and vonSchlank like this.
  31. vonSchlank

    vonSchlank

    Joined:
    Jan 5, 2017
    Posts:
    30
    Great, thank you!
     
  32. LudiKha

    LudiKha

    Joined:
    Feb 15, 2014
    Posts:
    138
    Thanks for getting back - I agree that it can be quite a pain to work with because of that. I'll see if I can figure out a way around it, and get back to you if I find a stable solution.

    Either way, I just wanted to add I was considering doing the Playables implementation myself, but Animancer quickly proved to be a lifesaver in bringing all these different graph-based tools together. It's top notch!
     
  33. vonSchlank

    vonSchlank

    Joined:
    Jan 5, 2017
    Posts:
    30
    How can i create a ClipState.Transition runtime?
    I need to create runtime a List<ClipState.Transition> to store various clips, start and end times ect, and on a certain user action, play all the animations with a sequence coroutine. I can set the Clip, StartTime, FadeDuration and Speed, but i don't know how to set EndTime.
    I tried transition.Events.endEvent = new AnimancerEvent(endTime, OnAnimEnd); but i got a NullRef error.
    Could you please show a script example on that?
     
  34. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    Do
    transition.SerializedEvents = new AnimancerEvent.Sequence.Serializable();
    first.

    I'll see if I can restructure it to avoid needing that or at least give a more useful error message for the next version.
     
  35. vonSchlank

    vonSchlank

    Joined:
    Jan 5, 2017
    Posts:
    30
    Thank you for the quick answer!
    The error is gone, but the End Time checkbox is unchecked, and the time shows the original unaltered value.
    How can i change that?
    upload_2021-4-3_14-11-34.png
     
  36. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    If you're using the transition as a serialized field which you configure in the Inspector then Unity will automatically initialise the SerializedEvents so you don't need that line.

    If you aren't sure whether a particular transition's events have been initialised, just null check it with
    if (transition.SerializedEvents == null)
    before assigning a new one.
     
  37. revelatiosgn

    revelatiosgn

    Joined:
    Mar 28, 2020
    Posts:
    2
    Hi, i have a ScriptableObject with ClipState.Transition for attack animation and using it like
    layer.Play(item.attack). It works good since two characters attacks with same item. It looks like they sharing same AnimancerState. How it could be fixed or should i use different approach? Thanks in advance.
     
  38. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    A transition will create a new state for each character you play it on and its State property simply stores a reference to whichever one was most recently played.

    The only thing directly shared is Animancer Events for the sake of efficiency. The Shared Event Sequences section explains how you can give each character their own copy of the events if necessary.
     
  39. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,681
    Hi there,
    I have been using Animancer for sometime and I love it. I created a manager that accesses Animancer, a few projects back and it works great in relaying any data to and from....
    Anyhow, for some reason I am seeing these red lines under Animancer elements in this script which I have been using in other projects fine.

    Tho there are no errors reported, my animations appear to not be playing, but freezing on some frame.


    So, to recap, no errors, but red error lines shown in VS. Animations appear to not be playing. Unity 2020.2.6f1. Animancer Pro V6.0


    Thanks

     
  40. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    As far as I know, that issue is caused by an incompatibility between your Unity version and the version of the Visual Studio Tools for Unity plugin. Some people have reported that uninstalling Visual Studio and reinstalling it using the Unity installer for your version can help. Others have said that changing to a different Unity version fixed it for them (you can likely go to 2020.3 LTS without much effort). But I don't know of a reliable way to fix it for sure.

    That issue is purely in Visual Studio though. If you aren't getting any errors in the Unity Console then it shouldn't affect whether or not the animations can actually play.

    Maybe try adding Animancer to an empty project and seeing if it works there.

    Also, you can access the Animator component via animancer.Animator instead of needing a separate field for it.
     
  41. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,681
    Sure,
    but any thoughts on the "seemingly" lack of animation?
    Again the models move into a frame of the animation (not sure if 0 or n), but the animation clips are set to loop. However they appear frozen. (no errors)
    Related?
     
  42. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    Generally my first guess would be that your script is doing something wrong, but since you've already been using Animancer for a while that seems less likely.

    See if you can narrow down the issue:
    • Do the examples work?
    • What if you make a copy of an example script outside the Plugins folder? Does it work and does it show the same referencing errors in Visual Studio?
    • Do your animations work if you use Animancer's SoloAnimation component or an Animator Controller?
     
  43. JohnTomorrow

    JohnTomorrow

    Joined:
    Apr 19, 2013
    Posts:
    135
    Loving this asset, I was able to create a prototype easily by finally breaking free of the shackles of mecanim. I am considering transitioning to DOTS before I get too deep into development. I know DOTS animation is currently experimental but was wondering if there has been any thought or consideration about creating a new asset that would simplify creating animation graphs, like a DOTS version of Animacer?
     
  44. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    I don't plan on doing anything with DOTS until it's significantly more mature so that I don't waste too much time implementing things they're already planning to add, accommodating changes they make to the system, and working around bugs that get fixed relatively quickly.

    Whether or not I end up making something for DOTS at some point depends on two main factors:
    1. Whether there's a need for a better system. This seems likely since I have faith in Unity's ability to screw up the implementation of yet another animation system.
    2. What's actually possible within the technical limitations of DOTS. This will likely be the main sticking point because Animancer makes heavy use of a lot of things (inheritance, references, event delegates, etc.) that can't be used in DOTS so any system I could make would likely be vastly different from Animancer. It would certainly be interesting to implement another fundamentally different system, but since Animancer is pretty close to what I see as the ideal design for an animation system I might not be motivated enough to make another system that can't be as good. That is of course just speculation at this point, so hopefully I'm totally wrong about what DOTS will become.
    Also, I just went looking for the DOTS Animation documentation to see what's new since I last looked at it and ... yep, there's still nothing there.
     
    xseagullx, LudiKha and JohnTomorrow like this.
  45. JohnTomorrow

    JohnTomorrow

    Joined:
    Apr 19, 2013
    Posts:
    135
    Fair points. Agree it is too early.

    As for documentation, if you are curious, the samples are your best bet. Check out: https://github.com/Unity-Technologies/Unity.Animation.Samples. The data flow graph also has a bunch of examples with documentation that is useful to understand the new systems approach.
     
  46. JohnTomorrow

    JohnTomorrow

    Joined:
    Apr 19, 2013
    Posts:
    135
    I am experiencing an issue, see the following warning:

    This breaks animation for the character. Happens when there is more than 1 character referencing the same state.

    This seems to happen due to how ClipState.Transition works when applying the state. In my game I have created a state machine that references scriptable objects for data which includes ClipState.Transition for the animations. In the runtime code, I am modifying the events by calling
    state.Events.OnEnd = _endEvent;
    to trigger some dynamic actions on end. It seems transitions were never intended to work with scriptable objects as it will modify the source asset through reference. This confused me as the documentation has ClipTransition which is a scriptable object.

    Am I using this wrong? I can work around this by not using ClipState.Transition and by setting the state params manually easily enough. If I am right, I don't think the current behavior with ClipState.Transition is intuitive.
     
  47. Kybernetik

    Kybernetik

    Joined:
    Jan 3, 2013
    Posts:
    2,487
    The Shared Event Sequences section explains how to deal with that issue.

    I agree that it's a bit counter-intuitive and regularly catches people off guard, but I haven't yet come up with another way of implementing it without adding a notable performance cost on all transitions (even ones that aren't shared). So let me know if you have any ideas.
     
  48. JohnTomorrow

    JohnTomorrow

    Joined:
    Apr 19, 2013
    Posts:
    135
    Thanks. I missed this part of the documentation. I only checked the page about transitions. Maybe worth mentioning something there on ClipTransition :)
     
  49. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,681
    ok thanks,
    will let you know.
    Best!
     
  50. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,681
    Hi Yes!
    So, I was calling the animation to play before I set my clip speed, which was at zero.
    DUHH
    Thanks