Neos-Metaverse / NeosPublic

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

IK Breaking When Rotating Parented Object #2151

Open Zaira-Wolfe opened 3 years ago

Zaira-Wolfe commented 3 years ago

Describe the bug

When an object is parented to an avatar, in an IK slot (tested on chest, spine, hips), the IK will break when that object is rotated. This will cause bones to be pushed into weird positions (this persists when the avatar is equipped. When the avatar is not equipped it will also jump randomly and may be related to load on the local client (spawning heavy objects/multi tools/etc. can trigger it to jump). This problem is local and appears at different times for different users. Not everyone can see it all at the same time. If the avatar is saved in this state it will be broken shortly after spawning it in or equipping it.

Relevant issues

No related issues exist.

To Reproduce

First set avatar IK weight to 0 (off), Parent object to avatar (chest, spine, hips have reproduced the issue), rotate the object randomly, then return the IK weight back to 1 (on). Wait. It can take several minutes before the avatar will break.

Expected behavior

The object is parented to the avatar without IK breaking.

Screenshots / Video

20210501113941_1 20210501114002_1 There is a video of the avatars jumping contained within the reproduction world provided below.

Bug information (please complete the following information):

Additional context

The bug is a local issue. Some people see the avatar IK break right away, while others don't see the IK break. The IK break will often cause the chest of the avatar to be pushed forward, though this does not happen to all avatars. The avatar will also "jump" periodically during times of high load in a world. If there are multiple avatars that are broken in a world they will all "jump" at the same time. This bug persists while in and out of the avatar, when all non-mesh renderer components are removed (meaning no colliders), can be replicated with several other avatars, (nargakuga, nkd protogen, canis woof, nkd moomba, Mahadma's wolf avatars). There is a video inside the world that shows the jumping behavior.

Reporters:

Zaira Wolfe: ZairaWolfe#7506 , Nordwick: Nordwig#4496 , Sox: Sox#0001

Frooxius commented 3 years ago
Zaira-Wolfe commented 3 years ago

20210503121600_1 In this particular case the two wing are o the chest slot. We recreate the bug with a parent between the wings and the chest slot. We also switched to using a basic box for testing purposes (which also produces the bug). We removed all components that weren't related to rendering the mesh (to be certain it wasn't caused by colliders), and I just now recreated the bug using an empty object.