Support for Space Navigator 3D Mouse?

Hmmmm, I thought the latest on dropbox had a workaround for the dead zone. Play around with it - if you just barely touch the 3d mouse, it should move with almost no deadzone.

I went back and checked again - maybe itā€™s not the dead zone; after some careful testing I would say that I feel a difference in the response according to what axis Iā€™m manipulating. Yaw and pitch (twisting and tipping) feel pretty natural and responsive. Forward/back and side-to-side feel like thereā€™s either a larger dead zone, or perhaps the effective response curve is steeper. Actually when first testing this out last night, my initial impression was that movement was going to be on/off. I see now thatā€™s not the case; I just needed to stop driving it like a ham-fisted baboon. After 20 minutes of practicing camera movements tonight, Iā€™ve gotten a lot better at it, but I definitely feel a difference in response according to sliding vs. twisting inputs. So much so that if I want to orbit around a particular point, itā€™s far easier to begin the compound movement with a lateral move of the cap, left or right, then compensate for the the loss of the point of interest by twisting to bring the focus point back into center-screen. But perhaps I just need more practice. Iā€™m kind of wishing for a config file for your plugin which would give the user a way to set a response curve per-axis. Any chance of that happening?

At any rate (heh), this plugin really is nice work, and Iā€™m pretty sure will save anyone whoā€™s using it a lot of frustration with the WASD/mouse nonsense.

Thank you for all this work! I just got a 3dmouse. I waited for a plugin before buying one (was looking for news somewhat regularly every 2-4 months :slight_smile: ). Itā€™s great, I modded the camera behaviour in UE but I really need the axis for the in-game experience (itā€™s a visualisation project and the client could really use the intuitiveness of the space-mouse)

Is there currently no way to add the space-mouse axis as input to the project?

vimaxus, Iā€™ve gotten the 3dmouse to work in Unreal Tournament 4 - it just works automatically. UT4 has XBOX 360 controller support, and the plugin I wrote uses the same axes. If your project works with the XBOX 360 controller, it will probably work with this 3d mouse plugin! Good luck!

Hey, sorry to bump this again with a noob question butā€¦Im a total noob :confused:

The only option for extracting into U4 on my de; laptop is C:/programfiles(x86)/Epic games/4.10/Engine/Plugins/

So I extracted there and nothing happens.
Are there further steps?
Reading back through the thread I see others taking further steps but that seemed to be for specific functionality.
But again Im a total noob so Im kind of lost. I just want to use UE4 for architectural studies.

Should I be able to just plug and play orā€¦?

thanks for the time
J

Nvm I got it to work!!!
Holy **** thank you
thank you thank you thank thank youthanfkyouisllkjfhlkjlkfgiysdlkfjgslkdjfglksjldkfjglksdjf
Total freak out

Hey no problem! Now get out there and make great content! :smiley:

Oh, I forgot to add, that you will need to add the plugin to your project as well.

Yes, I got that :slight_smile:

I added a pull request with a (probably badly written) modification that removes, if needed, the deadzone and adds the possibility to add a linearity factor (interpolates between squared and linear) and a multiplication factor for each axis.
I have set it to values I personally find comfortable. (0.05 deadzone, 0.3 linearity etc)

Do you know any way for a plugin to read parameters from somewhere? It would be very nice to be able to modify them for instance in the edit button in the editor plugins window instead of recompiling the whole thing.

Hey, I saw the pull request. I added a question in a comment that I hope you can answer. As for edit buttons - this should be possible but I havenā€™t found time yet to add that - I think weā€™d have to read up on adding Blueprint fields to enable editor changes and stuff like that. Unfortunately I may not be able to look into this until a month from now. :frowning:

Sure itā€™s possible. itā€™s called editor customization. Hereā€™s an overview by : C++ Extending the Editor | Live Training | Unreal Engine - YouTube

I answered on .
But something weird is happening with the plugin. In the project where I start and I build it, the plugin works fine and the 3dConnexion properties sees FSpaceNav3DModule as active, however on any other project I copy the plugin, UE4 sees the plugin and is active however 3dConnexion properties sees Unreal Editor and the spacemouse doesnā€™t work, even if I recompile the plugin in that project. Any clues?
Edit:

Thanks! I didnā€™t know about that. Iā€™m watching it now.

Has the drop box version been getting updates?
While paning left and right and turning at the same time, it feels a bit stiff like there is a dead zone or something. Seems this was addressed.
Also when pressing ALT + moving the 3D cap nothing happens, thatā€™s normal and intended?

Anyhow thanks for the hard work, it must have been real hell getting this set up with your busy schedule.

i copied the files into my vxgi 4.10 build. wont start up anymore.

hope this gets an official implementation.

Itā€™s my understanding that there wonā€™t be an official implementation due to hard-coded properties in the viewports?

bummer.
is that based on a word from epic? hard to believe its that hard to implement since the thing is nothing more than a joystick basically.
iĀ“d pay for a plugin prontoā€¦

Iā€™m convinced Epic will never include support for this device or if they do it wonā€™t be for a very very long time as is evident by the fact that this thread is so old and thereā€™s probably even older requests for this floating around. Itā€™s sad, but improving productivity and straight up ergonomics of using this thing seems to carry very little weight with the devs. If the navigation/mouse/viewport code needs rewriting - then do it! Sure - it may take a while but how far would it have advanced if it had started 2 years ago? Even at 1 hour/week assigned to fixing this would probably have solved it long before now. has clearly done an amazing job (10/10 for his efforts), but itā€™s a band-aid solution/workaround at best and worse yet all done (apparently) without any or much help from Epic! Why is that? Shame on you Epic!

/

It drives me crazy that itā€™s so random on 4.11. Anyone has the plugin working in 4.11 on a constant basis? For me itā€™s something like 3/10 and never on a new installation of the engine (I have to recompile it but even then itā€™s random).
4.10 has no problems at all. Surely something changed but I have no idea what. or maybe itā€™s just me?

Hello , i have compiled it for 4.11

Uhm - for all that want to do this, to recompile plugins like this one, my notes:

Install your Navigator drivers first.

It seems to be better to not install Visual Studio 2015 manually, it worked after i deinstalled it and then chosed a C++ template. It then says "download visual studio 2015 " at the buttom. Installed that and it really fixed a lot of problems. I donĀ“t know why.
So furthermore, i had to do it over 20 times since yesterday evening. Its like most of the time, its a bit cryptic to understand what others did and to replicate it. - I also tried Ramas Victory plugin with no succes. But thats another case.
What you need to do is to make a folder @ Epic Games\4.11\Engine\Source\ThirdParty called 3DxWare
DonĀ“t worry about the Inc and Lib folder, we get to that later.
896a92d2e5e625744a393cec4558b07f1f4ef6d7.jpeg

The code for 3DxWare.Build.cs :


// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;

public class ThreeDxWare : ModuleRules
{
	public ThreeDxWare (TargetInfo Target)
	{
		Type = ModuleType.External;

        string ThreeDxWareSDKDir = UEBuildConfiguration.UEThirdPartySourceDirectory + "3DxWare";

		// Ensure correct include and link paths for xinput so the correct dll is loaded (xinput1_3.dll)
        PublicSystemIncludePaths.Add(ThreeDxWareSDKDir + "/Inc");
		if (Target.Platform == UnrealTargetPlatform.Win64)
		{
            PublicLibraryPaths.Add(ThreeDxWareSDKDir + "/Lib/x64");
		}
		else if (Target.Platform == UnrealTargetPlatform.Win32)
		{
            PublicLibraryPaths.Add(ThreeDxWareSDKDir + "/Lib/x86");
		}
        PublicAdditionalLibraries.Add("siapp.lib");
	}
}


You have to download the SDK which you canĀ“t have without registering. (I donĀ“t actually know if you could share parts of the sdk)
Install/unzip the SDK and you get this on this path YourInstallPath\3Dconnexion\3DxWare SDK

0537ffff2510b82000a19e3405abe91bebbeab64.jpeg

This Inc and Lib folder needs to be copied to the 3DxWare folder.
Now you can download the provided newest rebuild of this plugin ( should have source code inside, you could use mine for now) and create a new empty c++ project.
Create a folder named Plugins and copy the plugin inside. Make sure you did not repack it so its a double folder and make sure its named

Now you right click on the u.project and choose Generate Visual Studio project files. When its finished, double click on this file (

0e630b8053243b5d942ea11f4e46cf380235fba3.jpeg
It should open Visual Studio 2015. Now select the buttom project map (What is here called after my project name PluginCompiler), right click and rebuild.

1bb639aeb4ea1f76eabdc4fd649cd9026bdd2747.jpeg

That worked for me today. It can be quite frustrating to get this to work and it might even fail for you like it did for me. There are many things that can cause this problem and from what i can guess is, you canĀ“t do much if it really denies to work.
Tell me if my recompiled plugin works for you and furthermore if you can compile it yourself or not - perhaps we can figure it out.

Many thanks to all the people that are able to pull off this implementations and plugins. It always feels to me like it needs a too hard push to get things forward, like most people arenĀ“t that much interested in things that are not common.
It works like a charm, and i am so happy about it.

Thank you @ !

Nice work. Works beautifully with 4.11