Search Unity

  1. Unity Asset Manager is now available in public beta. Try it out now and join the conversation here in the forums.
    Dismiss Notice

Change old inconsistent Unity animation behaviour

Discussion in 'Animation Previews' started by R0man, Aug 23, 2020.

  1. R0man

    R0man

    Joined:
    Jul 10, 2011
    Posts:
    90
    Now that Animation Rigging has been introduced, especially following the fantastic workflow set out here. The animation window is finally useful in Unity for the first time ever, at least when it comes to working with skeletal rigged animated meshes.

    That said. There are some ghosts in the old Unity workflow that really clashes with the new functional system. I just hope that these issues can be ironed out before Animation Rigging comes out of preview.

    The first gotcha is that you cannot rename gameobjects once they have been animated. This makes the "transfer motion to constraint/skeleton" functionality hard to work with, once you want to organize your rigs. I know there is a workaround to link animations to their guids instead of their names. I just wish this was the default behavior going forward with Unity.

    The second gotcha is that Euler angle rotations are always set as default. I would really hope that all rotation interpolation was done with Quaternions going forward. With Euler angles being optional for those special crazies. The gimbal lock hell is very real.

    I love the animation workflow that Animation Rigging has brought. I have a small personal project that I was going to do in Blender but this new tool has made everything so much simpler. I don't have to leave Unity at all, all animations can be edited here.

    EDIT: One more slight adjustment I would really want from the Animation Rigging package is that if I focus on an effector or bone using the F key. I wish the camera zoom level would take the size of the effector/bone in account. Currently the camera just zooms way out.
     
    Last edited: Aug 23, 2020
  2. davehunt_unity

    davehunt_unity

    Unity Technologies

    Joined:
    Nov 13, 2017
    Posts:
    32
    Hi R0man,
    Thanks very much for your feedback. We will add these to our list of recommended improvements.

    For rig effectors being able to focus with the F key I totally hear you. I wish this was easier to resolve but the way handles work there is no actual mesh for it to focus on. Instead it uses the default behavior of transforms. Anyway, we will add this to our list and see if we can find a good solution.

    For Euler angles, despite the gimbal lock problem Euler angles are generally more intuitive to work with for artists because X, Y and Z behave independently. Quaternions on the other hand don't have an easy way to visualize geometrically, so it seems to still be a preferable default for Animation Window for a general consensus. Feel free to explain further why you prefer working with Quaternions if you would like to and we are always open to hearing the feedback.

    For non-destructive workflows when bones are renamed, this is something we do hope to improve as time permits. I like your suggestion of having guids to fall back on when bone names change. However, I'm not sure what you mean about it being hard to work with when using "transfer motion to constraint." Could you elaborate more on your workflow?
     
    R0man likes this.
  3. R0man

    R0man

    Joined:
    Jul 10, 2011
    Posts:
    90
    I understand that, but Quaternion interpolation looks exactly the same. The rotations are still presented in Euler angles. I see no downsides to have Quaternion interpolation set to default in Unity. It just removes gimbal lock while keeping everything the same.

    Sure, I mean that it's an easy workflow to experiment with various IK constraints and effectors without worrying about tidiness and naming. The problem is that after you are done experimenting and have meticulously setup your IK rigs for each frame as you want them.

    You naturally clean everything up with understandable names for all rigs and effectors...... And then......You look at all that yellow....and shoot yourself in the head. Too late to undo once you figure out why your perfect IK rigs have stopped working.

    Anyway thank you for the work you have put in to improve the animation system in Unity. It's incredibly useful.

    EDIT:
    I don't quite get this one. All graphical representations of effectors need meshes to be drawn by the GPU. This just seems like an oversight on Unity's part. I mean with the advent of Entities, you can have meshes bound to objects that are completely empty. You would think that an operation that runs every F press, could afford to inefficiently search through all linked meshes in all components of the GameObject.
     
    Last edited: Aug 25, 2020
  4. davehunt_unity

    davehunt_unity

    Unity Technologies

    Joined:
    Nov 13, 2017
    Posts:
    32
    For your rig renaming problems: one thing you could do is transfer motion back to the skeleton, rename it however you want and then transfer it to the constraints again. That will result in a working clip with correct names and paths for all the properties.

    For framing selection of rig effectors, it's more of an internal way the handles work. We definitely understand the request though, so I have already added it to our request list.

    Thanks for your feedback!
     
  5. simonbz

    simonbz

    Unity Technologies

    Joined:
    Sep 28, 2015
    Posts:
    295
    Not really. Even if quaternions appear as euler values in the inspector and in animation curves, they still evaluate as quaternions. Therefore, quaternions cannot represent a rotation that exceeds 180 degrees, and that is very limiting when authoring animation.
     
  6. R0man

    R0man

    Joined:
    Jul 10, 2011
    Posts:
    90
    Curious. All I know is that I had a gimbal lock issue with a foot IK. Switching to Quaternion interpolation fixed it instantly. I don't know why Euler interpolation is the default.

    EDIT: I would prefer Quaternion representation, though I am quite familiar with them coming from Blender and graphics programming. So I might be biased.