Answered

Negative Values for Blendshapes

Anonymous 4 years ago updated by Peter - Soxware Developer 1 year ago 5

I am using some custom blendshapes with UMotion that require negative values keyed for the inverse effect applied to my character. Unity 2019 not supports inverse values entered into the blendshape value channel, but UMotion does not allow negative values and defaults to a limit of 0. Is there any work around to allow negative values keyed on blendshape channels in my UMotion created clips?

UMotion Version:
Pro 2.24
Unity Version:
2019.3

Answer

Answer
Answered

Hi,
thank you very much for your support request.

Yes that is possible. UMotion just configures the "Custom Property Constraints" for the blend shapes by default with limits ranging from 0-100 (as this is the most common use-case). In order to set different limits, switch into Config Mode and select the bone/transform that has the blend shapes assigned. Then open the Constraints tab and change the limits to e.g. -100 ... 100:

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

Best regards,
Peter

Answer
Answered

Hi,
thank you very much for your support request.

Yes that is possible. UMotion just configures the "Custom Property Constraints" for the blend shapes by default with limits ranging from 0-100 (as this is the most common use-case). In order to set different limits, switch into Config Mode and select the bone/transform that has the blend shapes assigned. Then open the Constraints tab and change the limits to e.g. -100 ... 100:

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

Best regards,
Peter

Hello, I just found this after hoping to achieve the same, but the problem Im seeing is that this 'Constrain input min/max' needs to be set for each blendshape. I'm working with a mesh with over 800 blendshapes where many use values ranging from -300 to 300. Adjusting the constraint for each one is madness lol. Is there a way to change the default constraint for all of them?

If you want to do it from within the UI, you have to manually change the values. But you could do the editing from with a text editor directly in the UMotion project file (*.asset):

  • Backup your project file.
  • Search for the name of one of your blend shapes inside the file.
  • Locate where the min value is set to 0 and change it to whatever value you need.
  • Use some clever search and replace to automatically replace this for all the other blendshapes.

Hope this helps.

Best regards,
Peter

I tried this by creating a new umotion project, and when I open the umotion project asset in notepad++, it has very little inside it, and no reference to any of my blendshapes. When I imported my character into the new umotion project, I did configure it and selected 'custom controller' for the blend shapes. They are all showing up inside the umotion editor but not in this asset file.

You probably haven't pressed "save" in Unity before opening the file. Thus the data isn't written to disk yet.

Best regards,
Peter