Page 1 of 1

Bento fingers and Opensim

PostPosted: Wed Jan 30, 2019 6:53 am
by Ash
I'm a fairly new user of MakeHuman, but loving it so far and very excited to see the Bento skeleton!

I've tried various methods from here and elsewhere to import the result into Opensim (via Blender, with and without Avastar) and whilst the avatar looks fine at first, in every case, when I used a bento animation that animates the fingers, they end up knotted together. I know the bento animations being used in-world are fine, as they work on other bento avatars. I know that it's not an Opensim issue, as creating a simple "extended skeleton" avatar in Avastar and uploading to Opensim works fine. So I'm starting to suspect it's something about Makehuman and/or the Bento skeleton. The odd thing is that when imported into Blender, the fingers animate just fine - it's only once uploaded to Opensim that they get broken.

I'm using MakeHuman Community 1.2.0 alpha 2 and Blender 2.79

I'm wondering whether anyone else has seen this issue, or conversely has successfully used bento hand animations in Opensim/SL on an avatar created in MakeHuman with the bento skeleton.

Any advice, experience, suggestions or opinions gladly received.

Re: Bento fingers and Opensim

PostPosted: Wed Jan 30, 2019 8:26 am
by joepal
You can find a discussion about a bento skeleton here: viewtopic.php?f=7&t=16927

(I don't know if that solves your problem since I don't use SL myself)

Re: Bento fingers and Opensim

PostPosted: Wed Jan 30, 2019 8:45 am
by Ash
Thanks Joe - yes, I've pored through all the forum posts on bento - they've been great and I wouldn't have made it this far without them. I couldn't find any that indicated people had tested the bento animations on the fingers in-world though - the posts were more focused on facial expression and wings than the fingers, and the fingers are the only part of this excellent bento rig that I'm having trouble with, so I thought I'd ask explicitly whether anyone else has tested that part of the rig with success.

Re: Bento fingers and Opensim

PostPosted: Wed Jan 30, 2019 10:47 pm
by punkduck
Well the reason for this behaviour is quite simple. The bone-rolls (axes) seem to be different. I got an bvh done with the tool Avastar, which did work rather well with the skeleton. Then Elvaerwyn tested an "Animation Override" she got for OpenSim directly and got similar effects you mentioned. Same with the face poses. Internally a Collada dae file works different to the skeletons Blender uses.

Btw.: The project is not yet finished, these are ideas for a MakeHuman version in the future and hopefully there might be people supporting me doing this, inserting the bones and weighting was a rather complicate work :shock:

Re: Bento fingers and Opensim

PostPosted: Thu Jan 31, 2019 1:08 am
by Ash
Thank you, punkduck - and thank you for the awesome work on creating the bento skeleton! I don't know much about bone roll, so I guess it's time for me to do some reading, inspecting of dae files and experimenting. I'm happy to help out, but don't know too much about rigging, so fear I may not be of much use. I'll let you know if I come up with anything useful.

Re: Bento fingers and Opensim

PostPosted: Sun Feb 03, 2019 5:45 pm
by punkduck
I just want to add, what bone-roll means:

We have 3 directions to rotate the bones, one of these directions is normally fixed to the axis of the bone itself. As for the default skeleton and also Bento it is the y direction. When you rotate in y-direction this is called bone-roll. When you use Blender, select "local mode" if you want to try it yourself.

Then we also have to care for x and z direction. Most bones rotate in x direction for e.g. the default skeleton, but some bones also in z direction like wrist, or in y directon (bone-roll ;) ) like the upperarm02 or lowerarm02. In sim world these directions might be completely different. At the moment they use the same rotation, so that the Bento can be used in normal mode in Blender as well.

In sim world the character is saved in a t-pose and the bone-rolls and rotations are orientated globally to this pose. The character is rotated 90 degrees, I tried to reach this with a t-pose I added, it resembles the one of Avastar. So with the help of Elvaerwyn who did a bvh and therefore combining these tools I was happy to see the other bones moving as well.

But as I mentioned, when you use an AO made for another character it finds the bones, but rotates in a different way. I hope we will find a solution in future. Maybe only giving the result to Avastar, because they have additional mechanisms especially build for sim-world. But as I said: I don't know, these are just ideas. My idea was to prepare one of my characters (also with the wings/tail in future) for the use in sim-world just for fun.


Re: Bento fingers and Opensim

PostPosted: Mon Feb 04, 2019 12:59 am
by Ash
I'm not sure the issue I was experiencing was bone roll - or at least not directly. Because I'm using Avastar, which replaces the MakeHuman skeleton with its own, after aligning the two, and also adjusts to match SL bone roll settings, I've been scratching my head over why that didn't address it. Turns out the problem is the position of the fingers in the MakeHuman T-Pose. The upload to Opensim et al expects the fingers to be spread and angled in a particular orientation for bento and in the MakeHuman T-Pose they are not in the right position for that (worked fine for non-bento of course). I managed to get a model with mostly working fingers by importing the DAE from MakeHuman, then adjusting the fingers to match the Avastar finger position before converting to Avastar. They're still off slightly, so I have more work to do, but once I have a reproducible workflow I'll post it up here. I have yet to test out the face bones, but I expect the Avastar skeleton replacement should address that, unless there is an expected rest pose there as well that is not being met. I tried producing a MakeHuman T-Pose with the fingers in the right orientation, which would be the way to go, as I think it would provide a path to go just via Blender without requiring Avastar, but I have yet to figure out how to do that and just ended up with an A-Pose with the fingers in the right position. If there is a good reference on editing an existing MakeHuman pose in blender that you can point me to, I'm happy to try producing an adjusted T-Pose for MakeHuman. Specifically, I am at a loss as to how to import the existing MakeHuman T pose into Blender to apply to my character. Once I can do that, I can pose the fingers and export it back as a MakeHuman pose.