Collision Capsule generation is off for larger heads


#1

This affects only non human avatars.

It seems like my FenFen avatar is the one always pulling up these strange and wierd issues ALWAYS when I intend on getting it ready for halloween, but I failed :(. I was going to release it for halloween, but alas, more delays!

I was absolutely baffled why my IK didnt work properly when I was using my FenFen avatar. You guys may have heard my curse during my tipsy ramblings during the meetings when running around with the avatar. Today I just found out what was causing it.

Its to do with the Collision Capsule that is generated.

What I found out is that its collision shape is very much dependent on the amount of space that the vertices in the Head vertex group requires.

This makes sense, considering as people use their HMDs to navigate, BUT there are some major issues when the avatar head is not shaped like a humans, and has alot larger head ‘space’ used compared to a human head. But there is a higher limit to it. At a specific distances between vertex group vertices that are not connected, some strange issues arrive. This is very much apparently with FenFen’s Ears.

Basically, the Generated Capsule is NOT following the avatar’s center. Instead its strangely offset.
see following screenshots.

From Top Left to Bottom Right,

On

  1. you can see that the offset of the collision is slightly to the left. It also demonstrates the scale being taken from the size of the head vertices, head vertices. similar to #4.

  2. Demonstrates this offset issue when the scale goes all over the place. The Ears are no rigged for that avatar.

  3. Demonstrates that the zone seems to be quite close, when the ears are rigged to their own so the ears are not apart of the head,

  4. has no head vertices, thus only a default, very thin collision hull. Prefereably there should probably be a larger minimum.

I am posting this also on git hub issue as well, but its nothing major, there is a workaround!

Collision hull is basically generated by the size of the entire Head unit. Making more bones on the head for extremities will allow you to scale this better.


#2

The Queen of Hearts will be very angry at this! :grinning:


#3

Eventually designers will want to create custom collision shapes, even dynamic shapes that follow bone movement. Perhaps this is a good time to discuss how that might be described, either some new description in the avatar’s shape db. Lacking such a thing, default to Mr. Capsule.


#4

The collision capsule does not affect the inverse kinematics (IK) of the avatar except we use IK to try to keep the feet in place when the hips shift, so if the capsule shape is too short then the IK will tend to make the knees bend too much. What are the IK problems you were experiencing?

Right now the avatar’s collision shape is a capsule approximation. The bounding box of the avatar model geometry is computed (when the avatar’s limbs are in the default resting pose). The capsule, and its center offset from the avatar’s hips is computed using the bounding box.

We’re definitely going to try to make the avatar’s collision shape more correct. Philip is very interested in working on this so it is on a short list of things to start as soon as Hifi is up and stable on Steam. Ultimately the plan is to try to make the avatar respond realistically to impacts and grabs (so two avatars can shake hands for example), but we’ll probably initially just make it collide according to its visible shape in a rigid or even kinematic way, and then try to reconcile dynamics physics with the IK.


#5

Basically the generated capsule is offset more depending on the size of the vertex set that is generated.

The larger this was, the bigger the offset would be between my hips and the center of the capsule. So after a certain point, close enough to my avatars body, the hand IK would consider my hands to be too close to my and cause a weird cylinder area where my left hand IK was not matching my right, even if the avatar, and its skeleton are symmetrical

Shrinking the vertex group for the head, scales the capsule to be smaller, with less offset from my avatars hips.


#6

Oh… right. I forgot about the hand-IK vs avatar-capsule stuff.


#7

It also seems like this effects other avatars, like the being of light: the collission capsule basically isnt centered on the avatars hips or even head or average of both, but is elsewhere. Its wierd, but the bigger the capsule it, the more noticable the offset becomes


#8

as another kind of workaround it also seems possible to correct for minor capsule offset errors by adding tx/tz entries to the FST file. eg:

tx=-.01
tz=.05