microdee / UE4-SpaceMouse

Control Viewport cameras with 3DConnexion SpaceMice, using HID directly.
MIT License
156 stars 23 forks source link

Viewport "Jumping" when panning around the Y axis #12

Closed KillerGoldFisch closed 3 years ago

KillerGoldFisch commented 3 years ago

I have a strange Issue with the Plugin: When i am panning the editor viewport around the Y-axis, the position of it jumps around. Here is a video showing the issue: YT All other axis move without anny issues.

I reinstalled UE 2.25.3 and have only the HIDUE and SpaceMouse (1.0.0 release) plugin activated. Other applications do run without this problems.

I use the SpaceMouse Pro.

Does anyone have an idea what could be the reason for this strange jumps?

sirpiltrafus commented 3 years ago

You need to deactivate translation and rotation on the 3dconnexion settings panel. This plugin doesn't need that to work and its conflicting with it.

On Mon, 21 Sep 2020 at 23:58, Kevin Gliewe notifications@github.com wrote:

I have a strange Issue with the Plugin: When i am panning the editor viewport around the Y-axis, the position of it jumps around. Here is a video showing the issue: YT https://www.youtube.com/watch?v=qEN7bAAid1w All other axis move without anny issues.

I reinstalled UE 2.25.3 and have only the HIDUE and SpaceMouse (1.0.0 release) plugin activated. Other applications do run without this problems.

I use the SpaceMouse Pro.

Does anyone have an idea what could be the reason for this strange jumps?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/microdee/UE4-SpaceMouse/issues/12, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADZ7HKLQ4H33LEU7RBF2DDDSG7D6ZANCNFSM4RVBFXBA .

microdee commented 3 years ago

I should really write about this in the README. Just disable the default bindings in your per-application space mouse settings because that's emulating a mousewheel by default which nobody asked for. Or uninstall the 3DxWare bloatware, I haven't used that in years.

sirpiltrafus commented 3 years ago

Probably a good idea. Thanks by the way for the plugin. I just started learning Unreal and the 3d mouse in my hand is my only hold into sanity. There's no other good way to navigate the viewport. Thanks a lot.

On Tue, Sep 22, 2020, 11:42 David Mórász notifications@github.com wrote:

I should really write about this in the README. Just disable the default bindings in your per-application space mouse settings because that's emulating a mousewheel by default which nobody asked for. Or uninstall the 3DxWare bloatware, I haven't used that in years.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/microdee/UE4-SpaceMouse/issues/12#issuecomment-696616414, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADZ7HKN3777ZJHDPCH7J5BDSHBWRPANCNFSM4RVBFXBA .

KillerGoldFisch commented 3 years ago

Thanks for the fast reply.

Maybe i am blind, but i couldn't find an option to disable this setting using the 3dconnexion software, so i digged a bit into the profile and config system and found a workaround:

If someone encounter the same problem:

Go to the C:\Users\<username>\AppData\Roaming\3Dconnexion\3DxWare\Cfg directory. There schoud be a file named UE4Editor.xml. Open it with your favorite text editor and search for this part:

        <Axis>
          <Enabled>true</Enabled>
          <Input>
            <ActionID>HIDMultiAxis_Rx</ActionID>
            <Min>-512</Min>
            <Max>511</Max>
            <Deadband>0</Deadband>
          </Input>
          <Output>
            <ActionID>HIDMouse_Wheel</ActionID>
            <Min>-512.0000</Min>
            <Max>511.0000</Max>
            <Scale>1.0000</Scale>
            <Reversed>true</Reversed>
          </Output>
        </Axis>

Then change the <Enabled>true</Enabled> to <Enabled>false</Enabled> and save the file.

This shoud do the trick.

brybalicious commented 3 years ago

Yes, I believe I am getting this issue of jumping and instability too, specifically when setting Camera Behaviour to 'Orbitting No Roll', which would be my preference. Things work smoothly on 'Camera Delta No Roll'.

When I tried to disable conflicting mappings by going into properties on the 3dx Connection Properties, I completely lost panning and translation functionality in UE4Editor. I guess this is because 3dx finally set some particular mappings for UE4Editor which didn't exist?

I deleted the file C:\Users\<username>\AppData\Roaming\3Dconnexion\3DxWare\Cfg\UE4Editor.xml and still, panning (x, y and z axes) has not returned. I removed and then reactivated the spacemouse plugin, and still no functionality. Weird, because it all worked when first installed.

KillerGoldFisch commented 3 years ago

Here is my UE4Editor.xml for reference:

UE4Editor.xml

```xml UE4Editor UE4Editor.exe ID_UE4Editor UE4Editor ID_Default_KMJ_Cfg false true false 17.7.0.17687 3DxSmartUI.exe 1.2.20251.17614 9/21/2020 10:30:42 PM UTC Kevin 3DxService.exe 17.7.0.17687 2020:9:1:21:22:10:28:403 Kevin ID_Standard_3D_Mouse Standard 3D Mouse STR_DEFAULT_BANK Default true HIDMultiAxis_X -512 511 0 HIDMultiAxis_X -512.0000 511.0000 1.0000 false true HIDMultiAxis_Y -512 511 0 HIDMultiAxis_Y -512.0000 511.0000 1.0000 false true HIDMultiAxis_Z -512 511 0 HIDMultiAxis_Z -512.0000 511.0000 1.0000 false true HIDMultiAxis_Ry -512 511 0 HIDMultiAxis_Ry -512.0000 511.0000 1.0000 false true HIDMultiAxis_Rz -512 511 0 HIDMultiAxis_Rz -512.0000 511.0000 1.0000 false false HIDMultiAxis_Rx -512 511 0 HIDMouse_Wheel -512.0000 511.0000 1.0000 true ID_ProductID_C62B STR_DEFAULT_BUTTONBANK Default Translate (W) 1A Rotate (E) 8 Scale (R) 15 ```

brybalicious commented 3 years ago

Thanks. So, I figured something out. I figured that something might have changed in DefaultSettings.ini for the particular project. So, I started a new project without 3DxWare running, and voila! The spacemouse worked again. I set it all up with my favourite settings, with Orbitting No Roll, and it all worked. Though, it still jumps.

Then, I started up 3DxWare and played with those settings - also opening up UE4Editor.xml and making sure all booleans are set to false. This time, nothing broke in the level, and everything works. However, there's still jumping.

I noticed that the jumping occurs also, every time I click the mouse, or even press a key (I was trying to take a screenshot with Windows + Shift + S and what I noticed is that the debug line 'Report' gets very long, every time it jumps.

So, functionality restored... but no resolution to the jumping.

I compared the DefaultSettings.ini before and after switching on 3DxWare and nothing has changed (in the new level).

brybalicious commented 3 years ago

Ok. Finally... progress. I found the problem. Somehow, the Camera Speed (top-right corner of 3D viewport) was set to -9 on that particular project, which did happen as a glitch after I turned off the rotation and translation settings in 3DxWare. Setting it to a sensible positive number gave me back the capacity to navigate the level.

Still outstanding:

This GIF capture actually captured it surprisingly well despite the missing frames... you can see that the Report output is extremely long each time it jumps... it's like the camera position is trying to correct for the translation and rotation, to bring the object back to the center of the screen, but at an extremely jagged rate...

https://gyazo.com/2b5daaf9de524fb0e5253b3772157074

brybalicious commented 3 years ago

In some circumstances, it renders the spacemouse quite unusable... as, when you close in on the target object, it jumps further away than where you started...

microdee commented 3 years ago

@brybalicious I see. Unfortunately that doesn't seem to be the same jump as this issue originally opened for. That was something caused by third party software (the 3DxWare service). This however seems like a glitch with the plugin itself. Does this only occur on orbit modes? I see you have the wireless space navigator, wireless spacemice can report multiple devices at once. I never noticed this exact behaviour, neither my colleagues using this plugin daily (at least they didn't report yet) so this will be some real challenge to debug. Actually one of my colleagues have a wireless space navigator too, I can maybe borrow it for testing at some point.

brybalicious commented 3 years ago

Yes, please do. I am also able to e.g. jump on a discord stream and share my logs with you if that helps. Simple to reproduce on my end - simply set to Orbitting No Roll, and get close to an object and orbit/translate around it for a while at a low speed.

microdee commented 3 years ago

I've fixed a "jittering" phenomena inside the orbiting modes, so hopefully that was the bug you've experienced. It'll be included within next release.

Hunanbean commented 3 years ago

for me, the controls are no longer jittering with your latest update. Thank you

Hunanbean commented 3 years ago

Hello again. In most places things are working perfectly, but if you open a single mesh, that particular workspace has severe jitter when orbiting around Y axis again. This jitter is like a self cancelling oscillation, effectively rendering it usless in this workspace. Thank you for your continued work. Most satisfying marketplace purchase i have made!

microdee commented 3 years ago

thanks for report I'll also check in a moment, can you record a video of what you're experiencing?

microdee commented 3 years ago

I could reproduce the bug fixing it. This particular issue is tracked here: https://github.com/microdee/UE4-SpaceMouse/issues/30

Hunanbean commented 3 years ago

Looking forward to the fix. Thank you for the quick response! Switching any further comments to issue #30