Answered

FBX Export Deleting Curve Data

Anonymous 2 years ago updated by Peter - Soxware Developer 2 years ago 3

So I'm working with some root motion animations and I export them to FBX via UMotion Pro. On the FBX file I have setup curves for feet ik and gravity for the animation I'm working on. The problem is, if I want to edit the animation in UMotion, when I re-export the clip (from UMotion) it deletes all of my curves on the fbx. Is there anyway to prevent this?

Answer

Hi,
thank you very much for your support request.

By creating a Custom Property constraint in "Animator Parameter" mode, you can tell UMotion to include an additional curve into the exported FBX file. That way you can add custom curves like a gravity or an ik curve etc. to the exported FBX animation.

I'm writing this out of my head, but I think UMotion is even capable of importing your existing custom curves. You just need to make sure that you've created the related custom property constraints (in "Animator Parameter" mode) with the same/correct name (as defined in the FBX import settings) before importing the animation.

If you now how to code: Another method would be to extend UMotion with a custom export button that first copies the existing custom curves of the FBX file, then performs the regular UMotion export and then writes the previously saved custom curves back into the FBX. Take a look at the UMotion API if you want to go this route.

Please let me know in case you have any follow-up questions.

Best regards,
Peter

Not a bug

Error when selecting an object to animate

ActioNik 2 years ago updated by Peter - Soxware Developer 2 years ago 1

When I choose an object (any object) to animate, I get this error:

Can't add script behaviour 'UMotionLock' because it is an editor script. To attach a script it needs to be outside the 'Editor' folder.
UMotionLock.ΉΊΉΊΉΊΉΊΉΉΉΉΉΊΊΉΉΉΉΉΉΊΉΊΊΉΉΉΊΊΊΊΉΊΊΊΉΉΉΉΉΊΉΉΊΊΊ() at line:193

ΉΊΊΊΊΉΊΊΉΉΊΉΉΉΉΉΉΊΉΉΉΊΊΉΊΉΉΉΉΊΊΊΊΉΊΉΉΊΊΊΉΊΉΊΉΉΉ.ΊΊΊΊΊΊΊΊΊΊΊΉΉΊΉΊΉΊΉΊΊΊΊΉΊΊΉΊΉΉΉΉΊΉΊΉΊΉΉΉΉΊΊΉΉΉΉ() at line:275

ΉΊΊΊΊΉΊΊΉΉΊΉΉΉΉΉΉΊΉΉΉΊΊΉΊΉΉΉΉΊΊΊΊΉΊΉΉΊΊΊΉΊΉΊΉΉΉ.ΊΊΊΉΉΉΉΉΉΊΊΊΊΊΊΊΊΊΉΉΊΉΊΊΉΉΉΉΊΊΉΉΉΊΉΊΊΉΊΉΉΊΊΊΉΊΉ() at line:220

ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΉΉΉΊΉΉΊΉΊΊΉΊΊΉΊΉΊΉΉΉΉΊΊΉΊΉΊΉΉΊΊΊΉΊΉΉΊΉΊΉΊΊΉΊΊΉΊ() at line:1473

ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΊΊΊΊΊΊΊΊΉΊΊΊΉΊΊΉΊΊΊΉΊΉΊΊΉΊΊΉΉΊΊΊΊΉΉΊΉΊΊΊΊΉΊΉΉΉΉ() at line:1444

ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΉΊΊΉΉΊΉΊΊΉΉΉΉΊΊΊΉΊΊΊΉΊΊΊΊΊΉΊΊΉΉΊΊΉΉΊΉΊΊΊΊΉΉΊΉΊΉ() at line:468

ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΉΊΊΉΉΊΉΊΊΉΉΉΉΊΊΊΉΊΊΊΉΊΊΊΊΊΉΊΊΉΉΊΊΉΉΊΉΊΊΊΊΉΉΊΉΊΉ() at line:265

ΉΉΉΉΉΊΊΊΉΊΉΊΊΉΊΉΊΉΊΊΊΉΉΉΉΉΊΉΊΊΊΊΊΉΊΊΉΉΉΊΊΉΊΉΉΉΊ.OnGUI() at line:364

GUIUtility.ProcessEvent()
[Exception] NullReferenceException: Object reference not set to an instance of an object
UMotionLock.ΉΊΉΊΉΊΉΊΉΉΉΉΉΊΊΉΉΉΉΉΉΊΉΊΊΉΉΉΊΊΊΊΉΊΊΊΉΉΉΉΉΊΉΉΊΊΊ() at line:194

ΉΊΊΊΊΉΊΊΉΉΊΉΉΉΉΉΉΊΉΉΉΊΊΉΊΉΉΉΉΊΊΊΊΉΊΉΉΊΊΊΉΊΉΊΉΉΉ.ΊΊΊΊΊΊΊΊΊΊΊΉΉΊΉΊΉΊΉΊΊΊΊΉΊΊΉΊΉΉΉΉΊΉΊΉΊΉΉΉΉΊΊΉΉΉΉ() at line:275

ΉΊΊΊΊΉΊΊΉΉΊΉΉΉΉΉΉΊΉΉΉΊΊΉΊΉΉΉΉΊΊΊΊΉΊΉΉΊΊΊΉΊΉΊΉΉΉ.ΊΊΊΉΉΉΉΉΉΊΊΊΊΊΊΊΊΊΉΉΊΉΊΊΉΉΉΉΊΊΉΉΉΊΉΊΊΉΊΉΉΊΊΊΉΊΉ() at line:220

ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΉΉΉΊΉΉΊΉΊΊΉΊΊΉΊΉΊΉΉΉΉΊΊΉΊΉΊΉΉΊΊΊΉΊΉΉΊΉΊΉΊΊΉΊΊΉΊ() at line:1473

ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΊΊΊΊΊΊΊΊΉΊΊΊΉΊΊΉΊΊΊΉΊΉΊΊΉΊΊΉΉΊΊΊΊΉΉΊΉΊΊΊΊΉΊΉΉΉΉ() at line:1444

ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΉΊΊΉΉΊΉΊΊΉΉΉΉΊΊΊΉΊΊΊΉΊΊΊΊΊΉΊΊΉΉΊΊΉΉΊΉΊΊΊΊΉΉΊΉΊΉ() at line:468

ΉΊΉΉΊΊΉΊΉΉΉΊΉΊΊΉΉΊΉΉΊΊΉΊΊΉΉΉΊΊΉΊΉΊΉΉΉΉΉΊΉΊΊΊΊΉΉ.ΉΊΊΉΉΊΉΊΊΉΉΉΉΊΊΊΉΊΊΊΉΊΊΊΊΊΉΊΊΉΉΊΊΉΉΊΉΊΊΊΊΉΉΊΉΊΉ() at line:265

ΉΉΉΉΉΊΊΊΉΊΉΊΊΉΊΉΊΉΊΊΊΉΉΉΉΉΊΉΊΊΊΊΊΉΊΊΉΉΉΊΊΉΊΉΉΉΊ.OnGUI() at line:364

HostView.InvokeOnGUI() at <434908727417408abd02bbd1a0835ef8>:0

DockArea.DrawView() at <434908727417408abd02bbd1a0835ef8>:0

DockArea.OldOnGUI() at <434908727417408abd02bbd1a0835ef8>:0

IMGUIContainer.DoOnGUI() at <7f21349c9161407ba80a85ddaed7fabb>:0

IMGUIContainer.HandleIMGUIEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0

IMGUIContainer.HandleIMGUIEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0

IMGUIContainer.HandleIMGUIEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0

IMGUIContainer.SendEventToIMGUIRaw() at <7f21349c9161407ba80a85ddaed7fabb>:0

IMGUIContainer.SendEventToIMGUI() at <7f21349c9161407ba80a85ddaed7fabb>:0

IMGUIContainer.HandleEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0

EventDispatchUtilities.PropagateEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0

MouseEventDispatchingStrategy.SendEventToRegularTarget() at <7f21349c9161407ba80a85ddaed7fabb>:0

MouseEventDispatchingStrategy.SendEventToTarget() at <7f21349c9161407ba80a85ddaed7fabb>:0

MouseEventDispatchingStrategy.DispatchEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0

EventDispatcher.ApplyDispatchingStrategies() at <7f21349c9161407ba80a85ddaed7fabb>:0

EventDispatcher.ProcessEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0

EventDispatcher.Dispatch() at <7f21349c9161407ba80a85ddaed7fabb>:0

BaseVisualElementPanel.SendEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0

UIElementsUtility.DoDispatch() at <7f21349c9161407ba80a85ddaed7fabb>:0

UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0

UIEventRegistration.ProcessEvent() at <7f21349c9161407ba80a85ddaed7fabb>:0

UIEventRegistration+<>c.<.cctor>b__1_2() at <7f21349c9161407ba80a85ddaed7fabb>:0

GUIUtility.ProcessEvent() at :0
Answer

Hi,
thank you very much for your support request.

Please make sure that the UMotionEditor folder has no parent folder named "Editor".

If that doesn't solve your issue, delete your UMotion folders and perform a re-installation.

Please let me know in case you need any further assistance.


Best regards,
Peter

Answered

Clarify workflow for editing animations 'in place'

Kennard Consulting 2 years ago updated 2 years ago 8

At the moment, I:

1. Start my scene running

2. Watch my character animate to a certain point (that I want to fix)

3. Pause my scene running

4. The 'Pose Editor' says 'Select a GameObject to animate' with 'None (GameObject)'. So I drag my character into the Pose Editor box

5. My paused character's animation resets to frame 0

Is this intentional? Can I jump into UMotion at the exact frame that is currently paused, without it resetting?

Note that after I unpause the 'Pose Editor' resets back to 'None (GameObject)'.

Answer

Hi,
thank you very much for your support request.

Is this intentional? Can I jump into UMotion at the exact frame that is currently paused, without it resetting?

Your runtime pose can be a mix of several animations (if e.g. the runtime animator is doing a transition or if you use animation layers to animate separate parts of the character with separate animations). When you assign a character to thePose Editor,  UMotion just previews the animation it has currently loaded in the clip editor (and the frame where the frame cursor is currently pointing at in the Clip Editor).

Note that after I unpause the 'Pose Editor' resets back to 'None (GameObject)'.

Yes that's intentional and necessary for the runtime Animator to take over again.

Best regards,
Peter

Answered

how to edit a mixamo animation (fbx) with umotion pro?

Anonymous 2 years ago updated 2 years ago 5

how do i  start editing a mixamo animation (fbx) with umotion pro?

Answer

Hi,
thank you very much for your support request.


To edit an existing animation you basically have to do the following:

Create a new UMotion project for your character, then import the animation you want to edit. After editing the animation, you can decide to either export as *.anim or as *.fbx.


Here is the getting started video tutorial to learn the basics of UMotion: https://www.soxware.com/umotion-manual/QuickStart.html


Please let me know in case you have any follow-up questions.


Best regards,
Peter

Answered

Animation Blending b/w Two Animations

Ahmed Arsalan 2 years ago updated by Peter - Soxware Developer 2 years ago 1

So basically I want to edit one animation so that it's last key frames are blended into the starting keyframes of another animation

Something like this: 
+ (Animation 1)
- (Animation 2)
+++++++++++
               -----------------

So that the first animation will slowly change into the second one.
Is there any way to do this using uMotion?

Answer

Hi,

thank you very much for your support request.


UMotion currently does not allow you to smoothly blend between two animations and later export them as a single animation. What you can do though, is editing the separate animations in UMotion and export them. Then use Unity's Animator controller or Unity Timeline to realize the transition.

You could also manually do the transition (by editing the curves etc.) but that's more labor intense of course.


Please let me know in case you have any follow-up questions.


Best regards,
Peter

Answered

New additive keyframe

Kennard Consulting 2 years ago updated 2 years ago 4

Hi there!

Newbie working with additive animation layers. I am confused how to add a new additive keyframe to a layer. Ideally, I would just double click on a blank spot on the timeline and it would create a new key with 0,0,0 (i.e. no additive change). However I guess that shortcut doesn't exist?

So instead I am using 'right click > add keys'. But this always creates a key with some values (e.g. 0, 89.9, 276). So this immediately adds with the underlying layer and changes the overall animation (i.e. what I am viewing in the scene editor 'jumps'). How can I 'pin' my additive layer with a 0,0,0 so that I can then start making changes in later keyframes?

Answer

Hi Kennard,

thank you very much for your support request.

In order to create a key frame, use the "Key Selected" button in the Pose Editor. You can also assign shortcuts to it (Edit --> Preferences in the Clip Editor to manage shortcuts). The [S] shortcut is assigned to "Key Selected --> Key All" you can use that one as well.

Another way would be to enable  "Auto Key" (set it to "Generate"; Pose Editor). This automatically generates key frames when you modify the pose of a bone.

I agree that the "Add Key" context menu adding an offset isn't an ideal behavior in an additive layer. I might change that in the future.

Please let me know in case you have any follow-up questions.

Best regards,
Peter

Answered

Reverse animation so that root motion's origin is also reversed

Anonymous 2 years ago updated 2 years ago 8

I'm finally able to go back to using the animation I created in November. Well, I want to use the reverse of it.

I keyframed the animation of boarding the bike. Perfect. I can use it in the scene. It looks like it applies the root motion as expected, throughout.

I then duplicated the clip, selected all, and reversed the keyframes. Also seems great when I scrub through the animation in UMotion, the character hops off the bike and is left standing where he started on the boarding animation.

But now I am realizing that the reversed keyframes must still measure everything relative to the original position on the ground, not the seated position. I was expecting to be able to play "boarding" to board, and then "leaving" to get back off the bike. When I try to run the "boarding" then subsequently the "leaving" clip in the game, the first frame of the "leaving" animation jumps 90º and a bit off, then clambers backwards and ends up somewhere in the front tire looking backward.

After reversing the keyframes, is there a way to say "hey, frame 1's position is the starting root position, everything else is a delta from that"?

I'm sure people have done similar things with boarding/exiting ladders and other situations. What am I missing?

Answer

Hi,
thank you very much for your support request.

You might want to check out the root motion settings of the exported animation clip. Select the exported clip, then in the inspector you get a lot of different root motion settings:

More information about root motion: https://docs.unity3d.com/Manual/RootMotion.html

Please let me know in case you have any follow-up questions.

Best regards,
Peter

Answered

How to move the entire clip to a new world position?

Anonymous 2 years ago updated by Richard Lalancette 2 years ago 3

My spaceship pilot is sitting in the middle of the air. How the hell do I move everything in the clip so he's sitting in the ship.

Image 1286

Image 1287

Answer

Hi,
thank you very much for your support request.

You can move your character by selecting the root transform (the hips in case of humanoid) and move it with the move tool. To do it for the entire animation clip (not just a single frame) either shift the x, y, z curves (in curves view) or use an additive animation layer to apply a positional offset for the entire animation.


This video tutorial uses an additive animation layer to apply a position offset:

https://www.soxware.com/umotion-manual/InPractice3.html

Please let me know in case you have any follow-up questions.

Best regards,
Peter

Answered

IK Setup Wizard: FK bones remain?

Kennard Consulting 2 years ago updated by Peter - Soxware Developer 2 years ago 1

Hi guys,

When using the IK Setup Wizard on my model, the IK bones appear, but they are alongside the existing FK bones. (e.g. in my Clip Editor Animated Properties I see 'IK_Foot_R' as well as 'foot_r').


Is this normal? How can I delete the FK versons?

Answer

Hi Kennard,

thank you very much for your support request.


The FK rig is always present, that's normal. In the Pose Editor's Display section, you can show hide the FK rig if currently not needed. With the FK/IK blend slider (channels view when having the IK handle selected), you can transition from the FK rig to the IK rig. More information can be found in the IK video tutorial: https://www.soxware.com/umotion-manual/ProLesson2.html


Please let me know in case you have any follow-up question.


Best regards,
Peter

Answered

export, losing frames

josh 2 years ago updated by Peter - Soxware Developer 2 years ago 4

So my export is losing frames ?

this animation was imported with the character and I was using Umotion to fix the knee bending to far at one point.
how ever as you can see in the video, she drops the starting spin. what am I missing ?

video link,

https://drive.google.com/file/d/1LfTjzwGT1ExzOUvhrGmsIhgWVqncMt7E/view?usp=share_link