Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
195 stars 9 forks source link

Avatar creator hand default positions #1383

Open Earthmark opened 3 years ago

Earthmark commented 3 years ago

When auto placing hands in an avatar creator they seem to commonly be rolled 180 degrees(palm up), and pointing forward.

This seems like an oddly consistent issue, as it's almost always able to figure out where the hands are, end even oriented, but they get translated over that orientation incorrectly.

The suggestion in my head is if possible, can the default hand pose go off the position of the pointer and middle finger (if available) for rotation in addition of the current wrist finder of? The majority of avatars I've seen have at least 2 fingers and are detected correctly, and that seems like a good point of reference.

It would resolve the rotation issue, making most avatar imports as easy as place head, and hit all the auto place buttons.

TehTurk commented 3 years ago

The issue you run into with this typically is that Bone Roll can vastly influence this. When I first joined Neos I made a Tip/Tool to kinda get around alot of the auto issues, so poke that if it helps gives reference. But what I ended up doing was taking the mid point between all the positions and then determining orientation/direction from those. The only issue you run into is basically Hand Rotations, and offset HeadBones, which are the 2 final issues I really couldn't do/touch. If I'm saying inaccurate please feel free to clear up or clarify.

Earthmark commented 3 years ago

That's why I'm suggesting going from finger positions, whatever the bone roll is and such, if you know the offset to the middle of the index finger and middle finger you can figure out pitch, yaw, and roll on position alone, instead of anything related to the bone rotations (which I think is unreliable, and I think that's what your saying as well).

It sounds like you were doing about the same approach I'm suggesting, although I'm not sure how the head position is involved besides calculating possibly forward (although I think the hands being directionally labeled is common).

TehTurk commented 3 years ago

Yeah, apologies if it came out a different way. I'll have to go over this in game with ya to get some better understanding as I can't really think out the math in my head.

shiftyscales commented 3 years ago

In some respects I feel like the entire avatar creation mechanism could be overhauled a bit. The avatar creator is good for making an avatar out of arbitrary objects, but I'd wonder if it would be possible to automate the setup to some extent during the actual import of an avatar model in the first place?

Like- while importing an fbx, you can specify it's humanoid/an avatar, and it'll just automatically add the avatar parts needed to use it as an avatar right away- you could then make use of the Avatar Creator/Full Body / Avatar Calibrator to tweak the positoning and rotation of the head/hand/full body targets, etc.

It would be a fairly substantial overhaul required, including associated UI changes, but anything less feels like it would just be patchwork.

Earthmark commented 3 years ago

I figure baby steps! I made this to hopefully remove one of the manual steps of placing the hand if it auto places.