Hi,
thank you very much for your support request.
This error message means that the FBX SDK is not able to load the destination fbx file. Here are a few reasons that come to my mind:
- Is the file path / file name correct? Please double check by clicking on the "..." button again (in the settings window) and re-select the fbx file.
- Maybe the file is locked by the operating system / by another application. Try to re-start your operating system.
- Maybe the file is corrupted and can thus not be read by the FBX SDK.
- Maybe the file uses an FBX version not supported by the FBX SDK. Version 2006.02 is the lowest version supported by UMotion, Version 2020 is the latest version supported. I'm not completely sure if the FBX SDK is forwards compatible to newer versions or not. Please let me know if that is the reason.
Best regards,
Peter
Looking for a way to offset position of multiple keys
Hi,
I need to offset hand positions of multiple keys (ex. handIK +0.1 of global x position from frame 10~20).
I can do this by clicking every key and clicking the property, typing the value in the Move Tool and repeat.
This taking a long time (I have multiple animations I need to offset) and I feel like there's got to be a way to automate this.
Is there any way to apply offset to multiple keys?
Hi,
thank you very much for your support request.
Yes, what you're looking for is called an "additive layer".
In this video tutorial, an additive animation layer is used to correct the hand IK targets (relevant part starts at 1:54):
The manual page explaining the layers UI: https://www.soxware.com/umotion-manual/Layers.html
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Missing animations in Clip editor
Hi,
So I opened my project to continue working on a character and then I noticed that 2 of my animations are empty, even though I finished them the previous day. I tried the backup files but no luck. Any ideas what could have happened and where things went wrong?
Hi,
thank you very much for your support request.
Have you forcefully closed Unity or shutdown your PC without closing and saving in Unity first? Or maybe clicked "no" when Unity asked you to save your changes when you closed Unity? In these cases, changes in the UMotion project file (*.asset) are not written to disk by Unity and are thus not saved.
The backup files are a 1:1 copy of the current UMotion project state created at the time interval set in the UMotion preferences. If your animation existed at the time a backup was created, it should also be in the backup. What exactly happens when you try to load the backup file?
If you want you can send me your project file (and maybe also the backup files) via the email support form and I can take a quick look.
Best regards,
Peter
Transfer objects between rigs
I have two rigs, and I want Human 1 to give Human 2 an object. Now that object is a child of Human 1, how can I transfer it to Human 2, so it can have a parent from Human 2?
Hi,
thank you very much for your support request.
If you want to do this in one single animation without any scripting, the only option is to make both characters "generic". Add them below one parent empty GameObject and add an animator to that GameObject. Then you can control both characters and the holding object from a single animation. This would be a good approach if you need this in a cut-scene, but wouldn't be suitable for an in-game mechanic.
If this is not an option for you, then things get a bit more complicated. This would require a mix of scripting and pre-made animations maybe even runtime IK on top of it:
- You create a "giving object" animation and a "receiving object" animation in UMotion (just the arm movement).
- Now create a script that plays the "giving object" animation on human A and the "receiving object" animation on human B at the same time.
Use UMotion to place an animation event in the "giving object" animation that calls a scrit method in the right moment that uses transform.SetParent() to change the parent of the item from human A's hand to human B's hand. This would teleport the item from one human to the other. - If you want a complex but more realistic behavior, where the hands actually meet no matter how the humans stand relative to each other, you would need to use runtime IK (e.g. Unity's animation rigging or FinalIK from the asset store). Unless this is THE core mechanic in your game, I wouldn't go so far though.
Please let me know in case you have any follow-up questions.
Best regards,
Peter
I see that the new API also works for IK handles, but how do we know if we have a bone selected or an IK handle?
I see that the new API also works for IK handles, but how do we know if we have a bone selected or an IK handle?
Edit clip settings for all clips
Is there a way to edit clip export settings, specifically the Root Motion(experimental) checkboxes for all clips instead of going one by one?
Hi,
thank you very much for your support request.
Unfortunately this is currently not possible.
As a workaround, you could edit the project file directly with a text editor:
- Close the UMotion project (File --> Close Project in the clip editor)
- In Unity click on File --> Save Project.
- Backup your UMotion project file (*.asset).
- Open the *.asset file with a text editor that's capable of editing huge text files.
- Scroll to the end of the file (or use the search function to search for the specific strings):
- Change the "valueInternal" to 1 to enable the checkbox on a corresponding setting.
- Save the file after you made the changes.
- Open the project file with UMotion again and check your changes.
I hope this helps. Let me know in case you have any follow-up questions.
Beste regards,
Peter
New API misses 2 crucial things
Here are 2 requests:
- Select Bone & Select Hierarchy (So we only have to select the hand to get all the fingers for example)
- GetTotalKeyframes (the total amount of keyframes of a clip, good for a loop & automation)
Thanks for the clarification. I've added this to my ideas for the future list and might add that in a future UMotion update.
Best regards,
Peter
Can't load old animation files (1.28 - 1.26)
I updated Umotion to 1.28 and now I can no longer use 1.26 version files.
This sounds like an issue with the Unity import pipeline / the importing procedure with Blender. Importing stuff can be challenging as there are a lot of different settings involved especially when working with "humanoid".
I'm rather sure that this is the root cause of the issue, as there have been no changes in UMotion's code regarding animation import that would explain a different behavior between V1.26 and V1.28.
Best regards,
Peter
Hi, the new API looks great, can you please write us a copy pose script to show us an elaborate example?
It would be nice to see this in action. It takes quite a while going through the trial and error and it would help a lot to see some actual functionality carried out by the new API in conjunction with the pose/clip editors.
Hi,
thank you very much for your support request.
With PoseEditor.GetSelectedTransforms() you can get access to the current selection. Just iterate over the transforms and store the local position, rotation and/or scale values.
List<transform> transformsList = new List<transform>(); PoseEditor.GetSelectedTransforms(transformsList); List<Quaternion> copiedLocalRotations = new List<Quaternion>(); foreach (Transform transform in transformsList) { copiedLocalRotations.Add(transform.localRotation); }
To apply the saved pose use PoseEditor.TrySetFkLocalPosition/Rotation/Scale().
for (int index = 0; index < transformsList.Count; index++) { PoseEditor.TrySetFkLocalRotation(transformsList[index], copiedLocalRotations[index], "Paste Pose", false); }
A complete documentation of the UMotion API can be found here: https://www.soxware.com/umotion-manual/UMotionAPI.html
Please let me know in case you have any follow-up questions.
Best regards,
Peter
how to combine animations using script API
I need to concatenate multiple clips together and export them, can this be done using UMotion Pro API?
Hi,
thank you very much for your support request.
Similar to your other request about scaling the timing of the animation, this would require having quite a few more things exposed by the clip editor API. At the moment, the necessary things are not yet available from the clip editor API but I might add that in future versions.
You could concatenate multiple clips using Unity's regular editor API though (combine several animation clips into one *.anim file).
Please let me know in case you have any follow-up questions.
Best regards,
Peter
Customer support service by UserEcho