Support for Space Navigator 3D Mouse?

MESODI was still me but the user account is for the company I’m working for. Forgot to sign out and sign in for my personal account.

I changed the layout through the viewport dropdown button (upper left corner), moved stuff around but I couldn’t reproduce the crash. Hopefully what you have there is not related to my plugin.

Mouse camera movement can live side by side the spacemouse navigation. Personally I don’t see any reason disabling it. I don’t know more about it than you do. I vaguely remember you might be able to disable it in C++ with the 3D viewport api.

You’re welcome! I’m glad you like it. I’ll put this on marketplace when I’ll have user configurable button mappings added and maybe tested it with more devices (not just the 2 I have access to)
hehe, yeah that gif is my life experience with creative people :wink:

, that you’ve stepped up to make this happen, my hero. I placed SpaceMouse folder inside Plugins, launched, message pops up that SpaceMouse module is missing or needs to be rebuilt, Yes begins to rebuild the engine, then hangs returning error, “Uralkali_2 could not be compiled, Try rebuilding from source manually.” I’d love to avoid that route. I tried originally to simply open the test project, same error. Your thoughts. Again, big thanks.

Have you used the release build? If yes which version of UE4 you have? If you have older than 4.22 you might only need to download Visual Studio and install its C++ desktop and game development component groups. And then hopefully UE4 will be able to recompile automatically.

Thanks, . I downloaded from the link provide just above (-SpaceMouse) placed the SpaceMouse folder inside Content of a 4.22 project. Before I’d place SpaceNav into Content to make it work, but is this correct now with 4.22? Regardless, is it Visual Studio 2017?, and if so are the C++ desktop and game development component groups required for whatever version?

, was the SpaceNav plugin your doing as well? I had all the axis mappings and such working fine in 4.19.2, but when I migrated assets to a new project, somehow the MoveForAft function goes creepy slow, tried higher values by Scale, to no avail. Any thoughts on that, not to rabbit hole away from the 4.22 issue. Thanks, again, look forward to purchasing from Marketplace!

, I updated Visual Studio 2017, seems the C++ component groups came along, 4.22 launch asked me to rebuild, that now went through, I see the plugin under Other, see the axis mapping under General, but SpaceMouse isn’t responding, is in Trainer. Any thoughts. Thanks!

You should put the latest release build into <project-folder>/Plugins/SpaceMouse or <your-UE4-folder>/Engine/Plugins/(Marketplace)/SpaceMouse, not to the Contents folder. I’d recommend putting it into the engine’s Plugin folder because it’s an Editor plugin, it doesn’t make any sense to have it per-project imo. I haven’t tested my plugin with project migration and I’m really sorry but it’s really low on my priority to do that.

The previous SpaceNav plugin wasn’t my work. That one relies on the 3DxWare SDK’s, mine doesn’t. I don’t know how they behave when both my plugin and that SpaceNav one is activated at the same time.

Hah I’m checking but that’s really insufficient information to do anything with it. Is any of your axis mapping (0, 0, 0) ? I also recently realized you might just need to restart the Editor.

Thank you for this plugin. Bonus points for not using the device SDK.

I’ve got it copied to the engine plugins folder, and I’ve enabled it and restarted the editor. The only input I’m able to use on the device is the tilt forward & back which by default the driver assigns to the mouse wheel. So, I can scroll the mouse wheel via the space mouse. (I have a SpaceMouse Enterprise, if that helps.)

I imagine this has a different HID data layout than the devices you’re using, for some silly reason. There is an LCD on this guy showing shortcut key descriptions and icons and a pile of buttons on the device itself that can be used for various things.

If there is a way I can help you see the HID data from this dude, let me know. I’m not a C++ dev, but I am not clueless; maybe I can help get this device sorted out.

hmm there is a way, the plugin has some preprocessor ifdef switches which will display raw bytes coming from the device and other debug data, if you don’t have visual studio and don’t know how to turn them on and compile it, I can make a version which allows the user to switch them on.

I have VS and I know how ifdefs work. I’ll compile it with the proper thing(s) turned on and get you the output. If I have any questions, I’ll ask them here.

Thanks for this! I usually do the zoom with pushing down and pulling, also all the rotations are messed up or backwards, do i put a -1 mapping or how to fix?
GREAT!

This is really great thank you. everything seems to work but I use the up and down on the device for zoom in and out. assuming that is ZTranslation Axis Map is that right? so what does x y z do , should i just put a -1 in z? somethings is weird it is hard to control and especially move around something.

what you mean by zoom is probably dolly back and forth and orbit around a pivot point? (zoom is the change in field of view which would require a 7th axis for sm)

my plugin as the readme says currently interprets the spacemouse movement as the camera delta transformation in the camera’s momentary local space accumulated in the world/scene space. or in english: rotating the spacemouse rotates the camera itself instead of orbiting and translating the sm moves the camera relative to itself. I personally prefer this over orbitting. Think about your camera as a spaceship like in the Descent game. Orbit and dolly movement is not supported atm as it’s more complex UX design wise to write a generic solution for that.

Axis remapping settings are admittedly not the most intuitive but it covers a lot of different speed and inversion configuration. you want to flip an axis? flip the sign of the axis. you want to pull-up to go forward instead of push towards your screen? swap the X and Z vectors (afair X is forward, Z is up in UE, i dunno by head). each vector in the settings multiplies all 3 axis of a rotation or a translation of the input vector coming from the device and adds the result together to determine one camera axis movement in UE space. Or in linear-algebra speak it’s a 3×3 matrix transformation between sm space (as reported from its HID input) and ue space.

I hope this helps somehow.

Just a heads up, I installed 4.22.2 and lost spacenav function, to get it back working I simply closed the launcher completely, removed the UE4-SpaceMouse.0.2 folder from plugins, Launched Unreal, closed it all down again then re-copied the UE4-SpaceMouse.0.2 folder back to plugins and then upon launch it was back working again. Just in case anyone else has had the same issue after the update. cheers.

+1. I’ve had a Space Mouse for like a decade and used it for exactly zero things.

Edit: oh man, someone already did it. Good on you all!

Thanks for help. . So I am trying to visualize the problem. in CAD Push forward = y +, pull back = y -1 , slide pan left = -X slide pan right = x+ , then there is roll right roll left, roll forward roll back (or pivot), , then twist left and right ( rotations) , and finally (zoom out and zoom in) that is not Z axis as you mentioned. that is really a dolly in and out motion? and that is not possible right now correct?

I started with the tennis ball one about 16 years ago have had many of them. For those of us that create content like modeling the device is a big deal, it allows you to go inside areas, load share your wrists for those 15 hours days, and not have to remember key combos, or even have to customize very much.

quick edit.
does the attached make sense? I still can’t orbit around objects, compound movements get out of control fast, i never used the forward& back in the zoom direction always had that as up & down. Dam so close to having freedom again! what do i need to do?

Well, I was right, I do have VS and I do know how to uncomment a DEFINE statement, but I’m unable to build it for some reason. I would give you the log of my build failure, but I imagine it’s just easier at this point if you give me a build with #define DEBUG_SM_VALUES 1 uncommented. I’ll run that and get you any logs you need. If there is anything special you would like me to do with the SpaceMouse Enterprise (such as push every button or something) please do let me know so I can get you everything you need in one go.

yeah sounds like that, I’ll build a version where the user can toggle this. thanks for the offer. I’ll get back to you when I have that build.

I built a new version with display debug info switch in the settings. It’s in the same editor preferences page as the axis mappings. People who reported that their device doesn’t do anything with my plugin please now check if you can see any activity in the plugin’s debug output. It should look similar to this:

smdebugoutput.png

if you see Connected SpaceMice: 0 then it might be a problem how I enumerate spacemice: I have the assumption that all SpaceMice has “3Dconnexion” in their manufacturer string, is this changed with newer devices? that would be kinda stupid.

@**Naikrovek **can you please first rotate, then translate, then press some buttons on your device? If you see connected ones at all. Report is the raw HID report bytes, under sorted 01 is translation, 02 is rotation and 03 are buttons (bit-wise). I’m not sure what is 00, probably some device info their driver also use.

get it here: -Spac…eleases/latest

Yes. The device in question is at work, and I won’t be there until Thursday. I’ll get you that info then. Thank you for your help with this, it is greatly appreciated.

Added button remapping for speed settings and I also noticed that the camera speed setting (exponent) and now speed settings outside the range of 1…8 work too (default 4 supposed to be ~10 m/s, with 16 you can supposedly already go ~40 Km/s (per second!) if I haven’t calculated wrong :D, and -5 supposed to be around 1 cm/s)

-SpaceMouse/releases/latest