Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
139 stars 2 forks source link

Feet Incorrectly Using Locomotion Animation While Using Full Body #2967

Open RyuviTheViali opened 1 month ago

RyuviTheViali commented 1 month ago

Describe the bug?

Today I have noticed in my main avatar - and any other avatars I have tried - my left foot will use the locomotion animation system when I'm moving, and my right foot will stay anchored to my tracker location. The strange part is my left foot always uses the locomotion animation system (even when sitting or laying and my feet are off the ground), and my right foot always stays locked to my tracker (even if my foot is on the ground and I'm moving - it just slides).

To Reproduce

  1. Have at least two trackers enabled for full body, mapped to the left and right feet
  2. Apply any avatar
  3. Notice how the left foot always uses the locomotion animation system, even when the foot is off the ground and the right foot always uses the tracker position even when moving

Expected behavior

When using full body tracking, both feet should only use the locomotion animation system when standing or the feet are otherwise on the ground, and tracker positions should only be used when not moving, or when sitting or laying.

Screenshots

https://github.com/user-attachments/assets/85ebca96-51c2-4509-9a97-3c989ec4927b

Resonite Version Number

Beta 2024.9.13.672

What Platforms does this occur on?

Windows

What headset if any do you use?

Vive Pro Eye

Log Files

RYUVI-TOWER - 2024.9.13.672 - 2024-09-16 00_40_37.log

Additional Context

ModernBalloonie doesn't appear to have this issue - they have three mapped trackers while I have eight mapped trackers.

Reporters

Ryuvi (Discord: ryuvi)

Frooxius commented 1 month ago

What is the BodyHorizontalAngle in Settings -> Controls -> Full Body Tracking set to?

RyuviTheViali commented 1 month ago

My Body Horizontal Angle setting is set to 30.00.

Frooxius commented 1 month ago

If you increase the value to maximum, does this problem still occur?

RyuviTheViali commented 1 month ago

Yes, increasing the setting to the maximum (90.00) does not change the behavior.

Frooxius commented 1 month ago

Can you show me what AvatarPoseNode components on both feet proxies look like while this is happening?

RyuviTheViali commented 1 month ago

Here is me walking around with the incorrect behavior and two inspectors open to both feet proxies.

https://github.com/user-attachments/assets/12a689fc-0c4d-4c3f-b293-1153f71a81d4

RyuviTheViali commented 1 month ago

Oops, just realized I had two left feet open - however the right foot proxy's component is identical to the left foot proxy's component.

ohzee00 commented 1 month ago

I had this issue before! But I couldn't get it to come back up to fully test, can you look at the Bodynodes slot underneath the proxies? I recall a IsSimulated or something variable being on for one of the feet but not the other.

RyuviTheViali commented 1 month ago

Upon looking at the Left and Right Foot slots under my user root, I noticed the Right Foot was completely missing a BodyNode slot. Also, the right foot has IsSimulated set to True while the Left Foot does not - which seems backwards to me given the left foot is the one being controlled with the animation system. Screenshots provided which show these anomalies: 20240916012617_1 20240916012626_1 20240916012633_1

Frooxius commented 1 month ago

Hmm that's definitely odd, both of these should have a body node child.

Does this persist after restart? Does the body body node disappear after you equip particukar avatar maybe?

RyuviTheViali commented 1 month ago

The BodyNode missing happens an any of my avatars in any world, including a default Grid World. The issue also persists in the default generated avatar when no favorited avatar is set. It does persist across restarts.

Frooxius commented 1 month ago

Does it start like that though on a fresh launch of Resonite, before any custom avatar loads?

Frooxius commented 1 month ago

Also can you check if there's a tracker slot under your root, that has a body node slot instead?

RyuviTheViali commented 1 month ago

Yes - I just performed a test where I disabled auto-loading of my cloud home, and unfavorited my avatar. In this test, the Body Node was present.

However, upon entering any other world, the BodyNode is missing for my right foot.

When looking at all of my attached trackers, they all have BodyNode slots with the exception of the tracker attached to my left foot: 20240916014648_1

RyuviTheViali commented 1 month ago

Just out of curiosity, I manually moved the Left Foot's BodyNode under the tracker assigned to my left foot and retargeted the IsTracking, IsActive, and IsSimulated ValueCopies from the tracker, and my left foot no longer incorrectly simulates - however now my left foot behaves like my right foot and never simulates, even when it should.

Recalibrating full body maps all trackers successfully, and moves my left foot's BodyNode back to the Left Foot slot.

RyuviTheViali commented 1 month ago

Here is a log of me only loading into my Local world, and not loading a cloud avatar. First I spawn a Dev Tool and look at my user in an inspector - both BodyNodes are present where they should be. Upon respawning however, the Right Foot's BodyNode is misplaced.

RYUVI-TOWER - 2024.9.13.672 - 2024-09-16 02_01_33.log

RyuviTheViali commented 1 month ago

The only thing I can see in the above-posted log that refers to foot trackers at all is line 1766: 2:02:37 AM.409 ( 90 FPS) Device corresponding body node: LeftFoot. Exiting:

This appears after respawning every time.

RyuviTheViali commented 1 month ago

Update: I joined a session with users (The Resync Lounge, a headless session) and both BodyNodes are where they should be, however my right foot tracked device IsSimulated is True, and its CorrespondingBodyNode is NONE.

In this session, both feet simulate when they should, but the right foot always simulates, and my tracker doesn't influence my right foot either.

RyuviTheViali commented 1 month ago

Update: My Right Foot slot in my user's TrackedDevicePositioner was apparently assigned the wrong ID: 69 instead of 70 - the ID of my right foot's tracker.

If I set the ID to 70 (matching my foot tracker, like how it's setup for my left foot) and set AutoBodyNode to null, the IsSimulated properly gets set to False and both feet behave properly. This doesn't persist across restarts or respawns, though.

shiftyscales commented 1 month ago

Is this misbehaviour still occurring, @RyuviTheViali?

RyuviTheViali commented 1 month ago

@shiftyscales Strangely, the issue went away without warning, as late as just a couple days ago.

shiftyscales commented 1 month ago

That is odd- are you aware of any other users that have had this issue, @RyuviTheViali? I think I'll close this issue for now then. If there are any other known cases of this still occurring on the latest build this could be re-opened / looked into deeper.

ohzee00 commented 1 month ago

This issue still happens, I had it happen just yesterday on the latest build along with a friend, frustratingly I do not know the cause or situations where they do happen. However I can "fix" it by unchecking AutoBodyNode on trackedDevicePositioner on either foot.

My only correlation is it seems to be when I turn my trackers on before starting Resonite but I can't say for certain. If I find a proper repro and/or clean logs for it I will add another comment detailing such, I know this isn't that much information sadly.

shiftyscales commented 1 month ago

Could you check if Ryuvi's prior observations happen with you too where the devices are assigned mismatching IDs, @ohzee00?

ohzee00 commented 1 month ago

Could you check if Ryuvi's prior observations happen with you too where the devices are assigned mismatching IDs, @ohzee00?

I do recall I had the exact same observations that Ryuvi had when I first fiddled with it, device index being 0 with no corresponding body node on each foot.

RyuviTheViali commented 1 month ago

I also wanted to comment here and say my issues have cropped up again, same as before - device index 0, same as Ohzee's reporting. I would provide a log but I'm away from home.

nootsponge commented 3 weeks ago

I'd like to vouch that I'm having the same issue.

nootsponge commented 1 week ago

Image

Refer to DeviceIndex and CorrespondingBodyNode. Right foot works, left foot doesn't.

Edit: A workaround I have found is by going to the actual tracker slot and disabling then reenabling the auto body thing.

shiftyscales commented 1 week ago

Adding this to the locomotion animation cleanup board and assigning @BlueCyro to look into it.