emilianavt / BVHTools

BVH Tools for Unity
Other
200 stars 27 forks source link

The player's base pose is error #2

Closed superowner closed 5 years ago

superowner commented 5 years ago

Hello, thank you very much for sharing your plugin. I used the latest version of the plugin (BVHTools v1.4.0), other functions are satisfactory, but the animation' basePost seems to be a problem. When playing, the whole model visually measured the basePost will be negative rather than zero, that is to say, although the coordinates are (0, 0, 0), but the model is down to the floor,Haha

emilianavt commented 5 years ago

Thank you for reporting this issue!

Is the skeleton correctly positioned when loading the BVH file in Blender?

bsgg commented 5 years ago

I have the same issue. In Blender the animation looks fine but with a wrong rotation (see picture) (The animtion is on the floor, facing the opposite direction)

Capture

In addition to this, I tried to re-export from blender the same bvh file to do a quick test and see if I can modify the animation and play the new one with your tool, But the animation in unity looked completely wrong (problably related to the rotation). What are the options that I should use in Blender to export a bvh file and use it with your tool?

emilianavt commented 5 years ago

Thank you for the additional details.

This looks very similar to what happens when a file is imported into Blender with the wrong settings. If you have ticked the blender box during recording, make sure that, during import in Blender, you switch the forward setting to Y Forward and up to Z Up. If you did not tick the blender box, you can leave the settings at their default values (-Z Forward and Y Up).

When exporting, Blender always uses its own type of coordinate system (Y Forward and Z Up), rather than the standard BVH one, so for importing a file exported from blender, the animation loader will need to have the blender box ticked.

The reason the blender option in the recorder exists, even though it will require users to change settings on import into Blender, is that it will allow the importer to always keep the blender box checked, no matter whether files were re-exported or not.

Either way, can you please try again and make sure that you use the following settings?

BVH Recorder: Blender ☑ Blender: Forward: Y Forward and Up: Z Up BVH Animation Loader: Blender ☑

With a bit of luck this will fix it. Otherwise I will probably need more information about the skeleton of the model that was used for recording to debug this issue.

bsgg commented 5 years ago

Thanks for your answer

I tried again and I was importing in blender incorrectly (I am new with blender). I exported the bvh file the loader played the animation as expected. The issue with the position of the model is still there. in Blender the position is correct but in unity there is an offset.

Any idea how to fix this?

In my case I used XBOT character from mixamo (https://www.mixamo.com) website (really useful when you are a programmer and you need some animations/models), I donwloaded the capoira animation for the recording (as a quick test)

emilianavt commented 5 years ago

One additional note about exporting from Blender: For now, please make sure to check the "Root Translation Only" box.

I will try it out with those assets from mixamo.

Edit: I managed to reproduce the issue, so I'll look into fixing it now.

emilianavt commented 5 years ago

Please try out v.1.4.2. It fixes the issue for me.

bsgg commented 5 years ago

I tested that last version and seems to be ok.

I exported a new recording, importing in Blender, exporting from blender again and the root position is on the floor, and no offset.

Thanks =)