How to zero properties in bulk, and other QoL requests
Hello!
I am in the process of creating facial expressions for my DAZ character. Each expression is an animation placed in an Additive layer of the character's animator (not an additive layer of UMotion, just to be clear), which means that all animations need a first frame with all the used blendshapes set to 0, before the other frames in the animation animate those blendshapes.
Problem is, I have nearly 300 blendshapes and I'm adding more. They are essentially shape morphs, expression morphs, correction morphs, detail morphs and pressure morphs and yes, I need them all. An expression animation typically uses 10-20 blendshapes (lips, eyes, jaw, nose etc) so all of them need to be set to 0 in the first frame if I want the additive layer to do its job correctly since the first frame seems to serve as the "offset" for all the subsequent frames in the animation.
But only those blendshapes, and no other! Otherwise, the character's other blendshapes are overwritten by this animation even though it is supposed to be additive. Don't ask me why.
For example, my female character's glutes contract when she walks. If I zeroed all the properties (blendshapes and bones) in the first frame of my expression animations, there would be a conflict, the glutes would reset and it would look bad. So I need to zero only the blendshapes I use in my expressions, and not the glutes. This means I have to carefully select the appropriate blendshapes in the clip editor every time I want to make an animation, which is a very error-prone process.
In UMotion Pro, I would like to simply copy-paste the keys from one of the existing keyframes to the first frame, and to click on something to zero those pasted keys. I have looked pretty much everywhere and did not find such an option, but it would be very handy! Right now I have to manually reset those keys in the pose editor by dragging all the sliders to 0 one by one. It's tedious and time-consuming.
My second request would be to be able to export animations that have only one keyframe. Right now, when exporting an animation, UMotion refuses if it doesn't have at least two keyframes, but would it be possible to export it anyway by automatically copying (at export time) the last existing keyframe to the last frame of the animation? After all, we already specify a duration for the animation in the clip editor, I believe it is 1s by default. It would be great to not have to do a copy-paste of the keyframes ourselves so we don't risk inconsistency and unwanted movements when changing one key and forgetting to copy it to the end of the animation.
Likewise, it would be great if we could specify somewhere that we want the animation to loop, without having to manually copy the first keyframe to the last frame (like we have to do in Blender too, it's not just UMotion). Once again for the sake of keeping things consistent and avoiding copying data.
Another request, since I'm working with blendshapes. I noticed that it is difficult to enter a number for one blendshape in the pose editor's channels part then Tab to the next. Usually, that focuses on the "config mode" button and hides the "pose mode" panel, which is confusing. It does not do this by shift-tabbing (going backwards) so for the sake of consistency, it would be great if we could Tab from one property to the next.
Oh, and another request! Could we have the ability to set a blendshape to a negative number or to a number beyond 100, please? Unity allows this but apparently not UMotion. Sometimes it is very handy to use a blendshape with a value that is outside its envelope. For example, DAZ has a "cheek puff" blendshape but not a "cheek sink", which could be simulated with a negative "cheek puff" value.
Thanks and keep up the good work, UMotion is a tool I can't work without, and a tool I know I can rely on.
Hi,
thank you very much for your support request.
In UMotion Pro, I would like to simply copy-paste the keys from one of the existing keyframes to the first frame, and to click on something to zero those pasted keys. I have looked pretty much everywhere and did not find such an option, but it would be very handy!
You can do this in the curves view in the clip editor. With all your keys selected, switch into "Curves" view. Then right click on one of the keys and click on "Edit Keys". Then enter 0 to the value field, hit enter and all keys are going to be set to 0.
My second request would be to be able to export animations that have only one keyframe. Right now, when exporting an animation, UMotion refuses if it doesn't have at least two keyframes, but would it be possible to export it anyway by automatically copying (at export time) the last existing keyframe to the last frame of the animation? After all, we already specify a duration for the animation in the clip editor, I believe it is 1s by default. It would be great to not have to do a copy-paste of the keyframes ourselves so we don't risk inconsistency and unwanted movements when changing one key and forgetting to copy it to the end of the animation.
You could use the UMotion API to add a button to UMotion that does that for you. The UMotion API might also be handy for other situations of your very specific problem. Docs: https://www.soxware.com/umotion-manual/UMotionAPI.html
Another request, since I'm working with blendshapes. I noticed that it is difficult to enter a number for one blendshape in the pose editor's channels part then Tab to the next. Usually, that focuses on the "config mode" button and hides the "pose mode" panel, which is confusing. It does not do this by shift-tabbing (going backwards) so for the sake of consistency, it would be great if we could Tab from one property to the next.
Tab is the shortcut for switching between pose mode and config mode. If you have a text field selected, it correctly selects the next text field. So chances are, you might have deselected the text field prio to pressing tab (e.g. by pressing enter). You can adjust the shortcuts in the "Edit --> Preferences" menu of the clip editor in case you want to disable the tab shortcut.
Oh, and another request! Could we have the ability to set a blendshape to a negative number or to a number beyond 100, please? Unity allows this but apparently not UMotion. Sometimes it is very handy to use a blendshape with a value that is outside its envelope. For example, DAZ has a "cheek puff" blendshape but not a "cheek sink", which could be simulated with a negative "cheek puff" value.
That is possible if you change the min/max limits of the blend shape's custom property constraint in config mode.
PS: It looks like Mecanim isn't the most optimal solution to your problem. Instead of using Mecanim/Animator, you could also write your own little animation state machine code that updates the blend shape values in a way that it's more suitable for your needs. You could still use *.anim files as an input for your code but then use your own math to combine the poses and write the end results to the blend shapes.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Animating Texture offset
Hi, I have a computer screen with a texture on it with different states of the screen. In umotion editor I added a custom property Main TEX ST x and y, to animate the offset of the texture. In Umotion editor the animation looks like it should but when I export it, the property for animating the screen switches from offset to tilling. Any easy fix for this?
Here is the animation in Umotion editor
Here is the exported animation
Here you can see the animated property of the main texture after export
A way to pre-filter GameObjects by name to reduce need for unique GameObject names.
Hello,
I was wondering if there is way to exclude certain Game Objects from the configuration when dragging an Object into the UMotion Pose Editor. My Main Game object has different things like clothes, multiple versions of hair, brows, etc on it. In this example, the hair variants all have child objects with the name names I cannot change (the name is generated by unity's new hair system).
Being able to pre-filter a hierarchy on import would also make it cleaner and more consistent for me.
Hi Rob,
thank you very much for your support request.
You can exclude bones/transforms or some of their properties (position/rotation/scale ...) from your UMotion project via config mode. Click on the config mode tab in the pose editor, then select a bone/transform you want to adjust. Under "Properties" you can set the "Visibility" to "Lock" to exclude the entire bone/transform. Use the "Properties" enum field to only exclude certain properties.
Link to related page in the manual: https://www.soxware.com/umotion-manual/Configuration.html#Properties
There is currently no other way to filter/exclude bones/transforms in UMotion.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Animating generic objects that have no humanoid bone in their parent hierarchy is not supported
I'm not able to show the bones of an object that the player should be using, a sword. When I click on config mode, on the sword object of the rig hierachy that message appears "Animating generic objects that have no humanoid bone in their parent hierarchy is not supported"
Please help, I'm new to Umotion
Hi,
thank you very much for your support request.
Make sure that the sword is at least a child of the hips bone (or deeper down the hierarchy). To adjust the hierarchy, make sure that you have first removed the character from UMotion (by clicking the "Clear" button in the pose editor). Either create a new Umotion project then or if you want to continue using the existing project, click on the "Cleanup" button in config mode after re-assigning your character to UMotion.
Furthermore iIn order to make generic object's animate-able in UMotion, select the generic object in config mode's rig hierarhcy and under "Properties" set "Visibility" to "Show".
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Newbie Question
Hi, I have this rope with 35 bones and when I move one, they all move (and not in the way I want them to).
In comparison, with a character model, when a bone is moved in a model, the other bones "adjust" in a nice way. Sorry for the newbie description.
This rope with 35 bones is a child of the fishing pole, which is working fine as a child to the hand of the model. That all animates fine.
As you can imagine, I want to drag individual bones of the "rope" and have the others fall into place in a curve.
But when I move any of these 35 bones in the rope, they all move in exact formation. It is like I am moving all 35 at the same time. Not just one. How do I set it so I can drag certain bones up, and the others will adjust as a "chain" and not move all together?
If you want me to post a video of what it is doing, I can. Hopefully this explanation is clear.
Hi,
thank you very much for your support request.
But when I move any of these 35 bones in the rope, they all move in exact formation. It is like I am moving all 35 at the same time.
Yes, that's true for all bones (also for those of your character). If you move a parent bone, all child bones move along with it.
There is a functionality called IK (inverse kinematics) that allows you to move the endpoint of a bone chain and all bones adjust accordingly. Here is the video tutorial for inverse kinematics:
But be warned that IK might not produce a physically accurate looking result when dealing with ropes.
-------
Another approach: Hold shift while selecting the top-most bone of the rope (shift is going to select all children of a bone). Now that you have all bones of your rope selected, use the rotation tool. The rotation is now distributed equally across all bones of the rope making it bend nicely.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Editing Imported Animation - Adjust All Keyframes At Once?
When importing an animation into UMotion Pro to edit, it's common that, say, a thigh bone may create 100 points on the timeline. If I want to keep the animation but move the leg right a bit, do I need to update 100 points individually, or is there a way to select all, and offset them all right by the same amount? Thank you
Hi Edward,
thank you very much for your support request.
or is there a way to select all, and offset them all right by the same amount?
Yes, this can be achieved with an additive animation layer. In the first part of this video tutorial, I use an additive animation layer to add a rotation offset to an animation:
https://www.soxware.com/umotion-manual/InPractice2.html
In this video tutorial, additive animation layers are used to adjust the look and feel of an existing animation:
https://www.soxware.com/umotion-manual/InPractice3.html
Link to the UMotion manual "Layer's" chapter:
https://www.soxware.com/umotion-manual/Layers.html
Please let me know in case you have any follow-up questions.
Best regards,
Peter
From lying to sitting
It there a way to rotate the pelvis and lock the thigh, calf and foot from rotating with the pelvis. When I made an animating where the girl go from lying to sitting it looks not good when I rotate only the spine bones.
FK to IK bake bug (IK handles will offset and bones do not follow)
Hey Peter, GameDevDave here again,
So this happens a lot:
The animation type Humanoid/Generic does not matter, IK seems to flip out of sync, sometimes without a keyframe or curve to correct.
It shows up in the export too.
It happens sometimes after baking FK to IK or when turning on pinning.
There are workarounds such as re-keying the frame or redoing a bake, there's no other way to go about it as far as I know and it is very time consuming.
Sometimes it 'does' show up in the keyframes, in the graph editor there will be extreme spikes, sometimes oddly enough multiple keyframes in a row, and they need to be fixed by dragging them up or down to fit the rest of the curve.
How to solve this?
Hi,
thank you very much for your support request.
The differences are shown in a picture on the asset store:
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Umotion-Warning found at least one bone/transform with a slash
The character model that I'm working with is using a naming convention that uses slashes to seperate words rather than underscores. When I try to import this model into the pose editor I get a warning message stating that I need to rename the bones. Is there a workaround?
Hi,
thank you very much for your support request.
Unfortunately there is no workaround, you really need to rename the bones.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Customer support service by UserEcho