0 votes
asked in General Help by
Is there a UMotion public API?

I bought this 3DConnexion Space Navigator mouse and I was hoping to use it to move the IK handles around but it doesn't work, I guess it doesn't recognize the IK handle as a regular transform from unity.

I also tried with EditorVR while in pose mode, the handles are not visible.

If there is some way for me to modify in editor scripts the active IK handle, I can solve the issues that I have with my input devices. Please help. Thanks!

1 Answer

0 votes
answered by Expert (111k points)
selected by
 
Best answer

Hi,
thank you very much for your support request.

Is there a UMotion public API? 

There is a callback mechanism that can be used to extend UMotion's functionality with things like custom IK implementation or something similar. Please refer to the UMotion manual at "Pose Editor / Options / Extending UMotion" for further information. There is no other way to extend UMotion's functionality.

I'm not sure how the 3D Connexion Space Navigator is implemented in Unity, but the move/rotate/scale transform handles of UMotion are using Unity's regular Handles API. Could you provide some additional information on what changes would be necessary to support that specific mouse?

I'm sorry but UMotion doesn't support Editor VR as it's designed for regular on screen usage. The bones/transforms are only displayed in Unity's Scene View.

Best regards,
Peter

commented by
Hi Peter, thanks for the quick reply.

I think the reason why the Space Navigator and EditorVR does not work is because I am unable to modify the transforms. For example, I tried to modify GameObject.Find("IK_Hand_R").transform.localPosition while in Pose Editor Mode, but the gameobject doesn't move. The transform looks to be updated in the code, but the scene doesn't show the IK_Hand_R be translated.

I am wondering if there is something overriding my changes when I change the positions via script?

I also looked at Extending UMotion page, I guess it calls outside, but I think I need some way to modify the IK_Hand_R or other animated properties via script and then have UMotion detect that / key it. I wonder if it's because the hierarchy is locked...
commented by Expert (111k points)
Manipulating the transforms from outside using editor scripts won't work as UMotion will override the changes. The callback method that you can define in the Extending UMotion section is called every time after UMotion wrote the pose to the character. It allows you to add manipulations on top of that. It's more meant for implementing custom IK solutions that use UMotion's pose as input.

There is currently no way to access these internal methods that would be necessary to manipulate transforms and create keys. Unfortunately I currently don't have plans to create such an API. This would require quite a lot of work to cover most use cases.

As already mentioned, UMotion uses the regular Unity Handles API for the transformation tools. Probably there is a way to make your space navigator provide correct input for regular Unity Handles somehow?

Best regards,
Peter

Soxware Support

Here you get official product support by the developer and the community for all Soxware Products for Unity®.

Post as guest, login via Facebook or create an account.

Ask questions, report bugs or provide feedback. Please use the correct category and always post in english.

For private email support, please use the Support Form to create a support ticket.

Copyright © 2017 Soxware Interactive | All Rights Reserved | Impressum

...