Fixed

Reproducable bug - player gameobject deleted when dragging to "Select a GameObject to animate" if gameobject is inactive

Kevin B 11 months ago updated by Peter - Soxware Developer 9 months ago 5

If player gameobject is inactive and I drag it to the "Select GameObject to animate" it comes back with the message saying "The human avatar doesn't fit the selected gameobject.  The required human bone "Hips" has not been found." .. but then it deletes my player gameobject from the scene!

If I try again making the player gameobject active it works as expected.

UMotion Version:
1.28
Unity Version:
2021.1.23f1

Answer

Answer
Fixed

Thank you very much for your patience. A fix for this issue has been implemented in UMotion V1.28p01.

Thanks again for the time you've put into reporting this issue. I really appreciate your help in further improving the stability of UMotion.

Don't hesitate to contact me in case you find any other issue or in case you have any questions.

Best regards,
Peter

Not reproducible

Hi Kevin,

thank you very much for your bug report. I appreciate your time on this.

I tried to reproduce this issue (I was using Unity 2021.1.3f1, a bit older than yours but theoretically that shouldn't make a difference) and UMotion V1.28:

  1. I opened the UMotion example scene from the "UMotion Examples" folder
  2. I created a new UMotion project file in the clip editor for humanoid.
  3. I assigned the "Robot Kyle 1" character from the scene to the Pose Editor field.
  4. I hit OK on the "New Rig Detected" dialog.
  5. I than clicked on "Clear" again to remove it from the pose editor.
  6. I selected "Robot Kyle 1" and in the inspector set the whole game object to inactive.
  7. I re-assigned the "Robot Kyle" game object to the pose editor and this is what happens:


Please double check if your UMotion version really is V1.28 by clicking on "Help" --> "About UMotion" in the clip editor. Which version does it read here?

Because this bug was originally fixed in UMotion V1.18 (from the release notes):


If it really reads V1.28 in the about window, please try to reproduce the issue using the same steps I noted above. Does the issue happen for you in this case? If it's also not happening, than try to evaluate what's the difference between my reproduction steps and your situation.

I'm sorry for the inconvenience.


Best regards,
Peter

no problem, glad to help - great product!

My findings:
1. confirmed - the version I am using is 1.28

2. confirmed - your steps worked fine & the proper warning message appears:
"The GameObject is inactive, please active the GameObject in the inspector and try again"
 (although this was different from my warning message - see above in original post)

3. Tried a couple of other negative tests with the example scene trying to get it to fail and it worked fine

Went back to my scene:

4. I imported Robot Kyle into my scene and tried again with a new clip project - worked fine as in #2 above

5. I tried with my GameObject already in the scene and it failed (it deleted the gameobject and came up with the "Hips" error message mentioned above in original post)
6. I did notice one difference between my gameobject and RobotKyle, my gameobject is a child of an empty game object, and I always use this child object for other things in unity (for some reason it causes issues if i use the parent, so I just assumed I needed to here as well)

7. When i tried usign the parent object it worked fine, just like RobotKyle
9. I tried making RobotKyle a child of an empty gameobject and it again worked as expected

I believe it is something specific to my gameobject although the "Hips" message should point you in a direction as it seems to be trying to evaluate the model BEFORE it is figuring out it is inactive.

Hope this helps!

Kevin





Working on fix

Hi Kevin,

thank you very much for your further investigations.

I'm now able to reproduce this issue as soon as both of this conditions are fullfilled:

  • There must be a parent GameObject that is inactive.
  • The "hips" error message you mentioned must be shown

I'm going to include a fix in the next patch release. As the workaround is rather easy (fix the hips warning and/or make sure your GameObject is active), I'm not going to release this patch immediately but rather wait to bundle it with new features or other potential bug fixes.


In order to fix the hips warning, make sure that the bones between the hips bone and the GameObject that has the animator component are exactly the same as in the original model so that the hips' transform path is pointing to the correct place. The transform path is always relative to the animator component. So please also make sure not to move the animator component in the hierarchy.


Thanks again for reporting this issue.

Best regards,
Peter

yep no problem - thanks for looking at it again glad to help!

Answer
Fixed

Thank you very much for your patience. A fix for this issue has been implemented in UMotion V1.28p01.

Thanks again for the time you've put into reporting this issue. I really appreciate your help in further improving the stability of UMotion.

Don't hesitate to contact me in case you find any other issue or in case you have any questions.

Best regards,
Peter