Answered

Curves looping to the Left

Anonymous 1 year ago updated by Peter - Soxware Developer 1 year ago 3

Hello, I've wanted to know if there is a way OR if it could be implemented a way of looping the curves also to the Left (they do only to the right, right now)

Image 1312

My Animation goes from 0 to 1:12 but in this case, I moved some properties to the right (pardon the top selector, the idea is to still export the animation at 1:12) 

And we can see that the keys are only looping to the right, but since they are not looping to the left, they also create a space where they are not animated

This is useful when making Overlaps because you animate the three bones per example and start offseting in the curves the others by a few frames, per example Bone01 starts at 0 to 6, Bone02 2 to 8, Bone03 4 to 10, but the clip only lasts 6 frames, and if they are looping, a nice overlap animation is easily made.

Hope I explained myself well, I haven't found info about this, thanks!

Answer

Hi,
thank you very much for your support request.

Currently something like this can only be done manually by duplicating the keys to the left.


I've taken a note regarding your "looping to the left" feature request on my "ideas for the future"-list but I see a few difficulties implementing such a feature:

1) If you do not shift the keys exactly the correct number of frames to the right, the animation wouldn't loop (as it starts/ends at the wrong phase of the animation).

2) I think Unity's animation format does not natively support something like this. So UMotion would need to bake this effect into the exported animation rather than writing the animation data 1:1 into the *.anim file.


Thanks for sharing the idea, I'm going to consider implementing something like this in future versions of UMotion but can't promise anything as of right now.


Best regards,
Peter

Answered

After Export, Hips are halfway in the ground

Eaziar 1 year ago updated by Peter - Soxware Developer 1 year ago 1

UnityVideo

Hello,

I'm using Umotion Pro and am having a blast. I have an animation that starts with the character sitting in a chair, standing up, talking, and then sitting back down. It is humanoid and the model is humanoid of course, I converted the FK animation into an IK and the humanoid model. Everything looks great when editing in the scene view/clip editor. But after I export it as an animation, the hips get sucked down to floor level, and when my charter stands up, it kind of glides upwards and floats in space. I saw in other forms that exporting as a fbx works, but my models are converted to prefabs and whenever I try exporting it to the fbx of the model, the animation clip is nowhere to be found inside of it. I hope that I can receive a solution that doesn't-require me to export as a fbx. I've included a video showing what is happening.

Hope to hear back from yall soon, Thanks!

Answer

Hi,
thank you very much for your support request.

The root motion curves are basically created by Unity based on the root motion settings shown in the Inspector window of the exported animation clip:


Make sure that in "Root Transform Position (Y)" you have "Based Upon" set to "Original" and "Bake into Pose" enabled.


Please let me know if that solves your issue or if you need any further assistance.


Best regards,
Peter

Answered

Child GameObject in humanoid rotates and moves unexpectedly

_alphaBeta_ 1 year ago updated by Peter - Soxware Developer 1 year ago 3

I have a GameObject (LOD Group if that matters with five LOD children) parented to my model's lForearmBend bone. This was added in Unity by modifying the model's prefab. The Pose Editor's config mode picked up the change and updated the rig, and I exposed the ability to animate the position and rotation of this GameObject in configure mode. Everything looks good in Pose Mode, but after exporting the clip, this GameObject behaves unexpectedly. The rotation and position changes almost seem like they're relative to another parent. As a test, in the pose mode, I'm keying in the position of this GameObject to go (unrealistically) straight up way above the humanoid. When this plays in a scene after export, it veers off to the side while also going up and the object rotates, but doesn't match the pose mode I keyed. I applied the child constraint as another test to enforce the parenting, but the result was the same. I'm doing something wrong with this child object. Any ideas?

The rest of the humanoid animation, outside this child I manually added, is working fine.

Answer

Glad to hear that you've found a working solution for your issue. Don't hesitate to contact me in case you need any further assistance :-)

Best regards,
Peter

Answered

Save UMotion Project File

_alphaBeta_ 1 year ago updated by Peter - Soxware Developer 1 year ago 1

Is there a way to explicitly save a UMotion Project File? Through the use of source code control, I'm finding the project file isn't always saved until fully quitting Unity, which is not ideal for my workflow. The other day I missed committing all the changes to a UMotion project file since I had Unity open during the commit.

In another example just now, I had previously committed the current project file since I had a character posed just right and didn't want to lose hours of work. I wanted this backup since I was next going to experiment with adding a child GameObject to the character in scene. When adding the character to the pose editor afterwards, I was promoted for a rig update, which I did while trying to figure out how I wanted to set this all up. Using external source code control, I wanted to revert this change out for the moment and reload the project, but there were no changes detected in the project file until I closed Unity. From there I could revert out the change and reloaded Unity and the UMotion project. So it definitely seems like the project state is held in memory and not always written to disk as expected.


P.S. I'm thinking I can safely ignore "EditorStates.asset" and perhaps other files in the <\UMotionEditor\Data\> folder from source code control. Is any vital information stored in these files? So far they seem like current state files that will change often and tracking them in a source code control system would be nuisance.

Answer

Hi,
thank you very much for your support request.

In Unity, asset files (like the UMotion project file, materials, settings, etc.) are saved if you click on "File --> Save Project". Regular "Save" in Unity only saves the currently opened scene file.
Afaik, prefabs are the only exception to the rule (they are saved on modification).

Yes, you can ignore the files in "<unityproject>/Assets/.../UMotionEditor/Data" in your version control. You can also ignore the files in "<unityproject>/UMotionData" (contains mostly the auto backup files).

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

Best regards,
Peter

Not a bug

Editor Font error after updating to Unity 2022.3.0f1

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

After updating to the Unity 2022.3.0f1 released today, none of the UMotion editor windows opens because of this error:


Arial.ttf is no longer a valid built in font. Please use LegacyRuntime.ttf

Answer

Hi,
thank you very much for your bug report.

I think you're using an outdated UMotion version as this problem should already be fixed since UMotion V1.28p04. Please remove the "UMotionEditor" folder from your Unity project and download and install the latest version from the asset store.


Please let me know in case this doesn't solve your issue.

Best regards,
Peter

Answered

Create new humanoid animation programmatically from existing data

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

Hi Peter,

I am a bit confused with a task I have now and I wonder if i can achieve it through umotion: I have a load of skeleton data in text files. I can read it all in c# in unity but I am stuck on how to convert that into keyframes in your animation system. Is there a way I can set up keyframes programmatically?

Thank you!

Answer

Hi Andrew,
thank you very much for your support request.

Have you already checked the UMotion API: https://www.soxware.com/umotion-manual/UMotionAPI.html. The method TrySetFkLocalRotation(Transform transform, Quaternion localRotation, string undoMessage, bool createKey) might be exactly what you're looking for.


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

Best regards,
Peter

Answered

Hips, Sitting and standing.

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

When I try to set up the IK for Hips, my rig gets all messed up. Also when I try to do an adaptive layers, I cant check IK pinned for the feet.. Using an override layer and IK pinned for the feet, jacks the pose up and locks the feet to a different position. How can I set IK up for the hips so i can move the hips (Pelvis) bone up and down, rotate left and right and it moves accordantly. For example, if I move the hips down, it should bend the player at the knees. 


Please do not refer my to one of the outdated videos, Iv watched them all and they are terrible for a paid asset. please explain how to get what I am asking. Iv also search the questions here on the site, nothing with what im looking for.  

Answer

Hi,
thank you very much for your support request.


When I try to set up the IK for Hips, my rig gets all messed up

You do not need to setup IK for the hips for what you are trying to do. Here is how to achieve what you are trying to do:

  1. Create a UMotion project file of type humanoid or generic depending on what your character is configured as
  2. Assign your character to the UMotion Pose editor by dragging and dropping it from the Unity's hierarchy window to the according field in the UMotion Pose Editor
  3. Confirm the appearing dialogs
  4. Select "Config Mode" in the Pose Editor
  5. Click on "IK Setup Wizard"
  6. Confirm the orientation of the character by clicking OK
  7. If your character is humanoid, simply click "OK". All fields are correctly pre-filled. If you are using generic, you need to assign the correct bones for the missing fields under "human IK" (and then click OK).
  8. Click on "Pose Mode"
  9. Now select the IK handles of your feet and enable "IK Pinning" in the "Channels" view of the pose editor. Then also make sure to set "FK/IK Blend" to one (= IK). If you now select the hips and move them, feet stay at there position and knees are bent accordingly.
Please do not refer my to one of the outdated videos

All videos are up to date. You can find a great overview of all available video tutorials in the UMotion manual: https://www.soxware.com/umotion-manual/VideoTutorials.html

so when I try to do an adaptive layers, I cant check IK pinned for the feet

An additive layer means you use an existing animation in the base layer and add an offset on top of it (i.e. a mathematical addition). E.g. if a bone in the base layer has an angle of 10° and you create an offset of 5° in the additive layer, the end result is 15°.

It's mathematically not possible to "accumulate" IK Pinning.

Instead, simply enable IK Pinning in the base layer.


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


Best regards,
Peter

Answered

Editor laging when using umotion pro

Sam 2 years ago updated by Peter - Soxware Developer 2 years ago 2

I get this massive stutter lags when using Umotion pro. Also each time play my game from editor I get a ~20 sec loading screen with some prompt "running code in the unity.dll..." and i believe this is due to Umotion pro.

Is there any tips and tricks to avoid this? 

Answer

Hi Sam,
thank you very much for your support request.

Make sure you hide the UMotion Windows when you do not need UMotion. In that case, UMotion doesn't need to be reloaded with every assembly reload (e.g. when starting play mode). Also UMotion doesn't consume any resources when both UMotion windows are hidden.

The time UMotion takes for loading, depends on the PC you have and the size/number of key frames of the UMotion project you currently have loaded. 

Also make sure, that your on the latest UMotion version.


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

Best regards,
Peter

Not a bug

Curl error 28: Failed to connect to service.soxware.com port 443 after 21044 ms: Timed out

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

What is this bug in console log?

Thank you, great Umotion.

Answer

Hi,
thank you very much for your support request.


UMotion checks if there are any new notifications to show (e.g. if there are new updates available etc.) and that web request failed in your case most probably due to a problem with the internet connection (maybe some firewall or proxy is blocking something). This error message is purely informative. This isn't a bug and shouldn't have any negative impact on functionality.

You can disable notifications under Edit --> Preferences --> Settings in case the error message is annoying to you (and you're not able to fix the problem of your internet setup):


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

Best regards,
Peter

Answered

The IK setup wizard cannot be processed

yelu tong 2 years ago updated by Peter - Soxware Developer 2 years ago 4

When I try to use the IK setup wizard to create IK setting, it popped up a message said "The 'Human IK --> Right Hand' target bone has not enough parents". I am just new to UMotion, cannot understand what happened here. What should I do to resolve it?

Answer

Hi,
thank you very much for your support request.


The hand needs to have at least 3 parent bones in the hierarchy (usually the lower arm bone and upper arm bone and then a shoulder bone or a spine bone). This seems not to be the case for your character, that's why you get this error message.

If you need further assistance, please post a screenshot of the hierarchy of your right hand (as shown in the hierarchy window in UMotion's config mode). Also please show me a screenshot of your character and of the IK setup wizard.

Thank you very much.

Best regards,
Peter