Yellow-Dog-Man / Resonite-Issues

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

Desktop laser jumps around while rotating items when it's free form #2061

Open epicEaston197 opened 4 months ago

epicEaston197 commented 4 months ago

Describe the bug?

if you go into freeform camera mode or UI align mode if you grab an object hold down E to rotate it and let go of E your laser will bounce up or down by an unspecified amount

To Reproduce

  1. be in desktop mode
  2. Spawn this item resrec:///U-GearBell/R-d8cf5ff8-cf57-4325-a7b3-feb5dc1cd966 (this isn't required but does demonstrate the issue well) item name: Science Sorter by GearBell and LucasRo7
  3. Go into free form or UI align mode
  4. Move your freeform or UI align mode camera so that Science Sorter is in view and is in a comfortable position to be played
  5. You'll notice that your laser is jumping around when you stop rotating the viles while you're still holding them

Expected behavior

My laser should stay in place when I let go of E to stop rotating the item

Screenshots

This video demonstrates my problem it can't exactly be described in one screenshot

https://github.com/Yellow-Dog-Man/Resonite-Issues/assets/76523692/0dfc1587-ce5c-4a44-92ad-a1891878803b

Resonite Version Number

Beta 2024.5.7.505

What Platforms does this occur on?

Windows

What headset if any do you use?

Desktop

Log Files

DESKTOP-DAN95E7 - 2024.5.7.505 - 2024-05-19 11_40_37.log

Additional Context

I've been dealing with this problem since launch I even still have my original notes about the issue

When grabbing and rotating an object with a freeform cursor when you let go of E your laser will jump in the respective direction that you rotated the item in

this is most notable in Gear bell's Science Sorter game when attempting to play it in freeform camera mode

you can find it here resrec:///U-GearBell/R-c83cf62f-95b8-44d6-9fa7-7cd9d7c0df05

Reporters

@epicEaston197

shiftyscales commented 3 months ago

It appears that when rotating items, the cursor will move between the centre of the screen to its last position when the E key is pressed. The easiest way to replicate this behaviour is to move an object with the dash up, then press and release E while continuing to hold the object. I included the input debugger to make it more visually obvious what I am doing and when.

https://github.com/Yellow-Dog-Man/Resonite-Issues/assets/54213390/d08cf3f3-915c-437b-8f47-1e713c9896f2

If you open and close the dash while the cursor is offset it will also offset the object by the same amount because it will centre the cursor, re-grab the object, and jump back to its last position.

https://github.com/Yellow-Dog-Man/Resonite-Issues/assets/54213390/574fd4c8-28fa-4557-a546-d23f6b2f9716

https://github.com/Yellow-Dog-Man/Resonite-Issues/assets/54213390/8eb7312c-02ec-4acb-a54e-9a6d3da5a79e

This issue seems to have all that it needs. Seeking input from @Frooxius or @ProbablePrime.

epicEaston197 commented 3 months ago

Huh really interesting but not what i was experiencing this seems like a different issue

shiftyscales commented 3 months ago

How do you figure, @epicEaston197? That matches the conditions you showed with the free camera- just replicates it in a different way showing it is not directly related to the free camera itself, but rather just the cursor position on-screen when freeform rotation is activated/deactivated.

shiftyscales commented 3 months ago

It's easier/more obvious to replicate with the UI focus camera since it unlocks the cursor- so is easier to move it from the centre of the screen, but otherwise seems to me to be the same issue.