Page 1 of 1

3DConnection support for 3D programs

Posted: Tue Mar 10, 2020 10:11 am
by Jay Roslav
TLDR; version:
In theory CMY could be used to emulate mouse 3d navigation in software where there is no SpaceMouse support.
If implemented games and movies artists would buy this software which means $$$$$$$$$ :D

Long version:
I'm currently testing trial version of ControlMyJoystick for use with 3DConnection as game-dev oriented 3d artist.
In software that supports SpaceMouse it gives me extra functionality like tap hotkey and curves for sensitivity etc.
But there is plenty of industry used 3d software that for various reasons won’t ever implement 3DConnection support. Users of ZBrush or Substance Painter for example are continuously begging developers for implementation of SpaceMouses without results. It’s kinda like Photoshop users would have to ask Adobe for 10+ years to allow for use of Wacom tablets - CRAZY. (Adobe now owns Substance and still no 3DConnection there despite other not primarily 3d apps from Adobe has it).
That’s where it becomes opportunity for Tetherscript. I don’t think I have to convince you that there is money to be made in Entertainment - Digital Effects and GameDev industries.
So far I tried to create some macros for Marmoset Toolbag and ZBrush. Promising results but mostly mess :) I’m power USER of software but not a software engineer (unfortunately I have no clue what I’m doing where it comes to programming).
Translating keyboard navigation to SpaceMouse was pretty straightforward. Also I managed to create some incremental rotation of my mesh in ZBrush using tutorial 15. Basically all there is to standard mouse navigation in 3d is ability to draw “x” and “+” while simultaneously pressing keyboard keys.
Where I fell short is to make macros send continuous signal so the rotation continue as I hold the SpaceMouse dial. So far I have to repeat turning the knob for every little rotation. Also I know that this way the rotation is pretty jerky but it’s still HUGE for me. 3D sculpting consist of plenty of just rotating and staring/analysing the model so if I can seat back and just spin my model with my off hand while resting my tablet operating hand it’s still worth it. But as I said I’m clueless at doing it so maybe there is a better way of doing it.
Another thing I cannot figure out is how to do operations that require scripting mouse movements and presses while holding keyboard keys. For most 3d software it’s mostly holding alt, shift or control while clicking mouse buttons and “drawing” lines. For example to zoom in in ZBrush you have to hold alt > hold right mouse button > release alt > “draw” line downwards (still pressing right button) > release mouse buttons. When I’m trying to script that plenty of unwanted stuff starts to happen and I have no way of figuring out what I’m doing wrong.

Software that comes to mind that would benefit from CMY custom macros:
Pixologic ZBrush
Marmoset Toolbag
Foundry Mari
Adobe Substance Painter
probably some others I’m missing plus every software for additional functionality that is missing in 3DConnection app.


IN SUMMARY:
I would like to inspire developers of ControlMyJoystick to look into this topic and maybe create some presets or tutorials for 3d software that dismisses 3DConnection hardware.
Let’s end tyranny of SpaceMouse-ists! :)

It would be huge help to 3d artists (and theirs SpaceNavigating pets) and also help you grow your bussiness so Win-Win for everybody.

Re: 3DConnection support for 3D programs

Posted: Mon May 11, 2020 10:21 am
by DevRuss
This is a great post, and we have had some similar requests. My thoughts:

Question: Can we use ControlMyJoystick or it's components to make my spacemouse work in my 3D app?

Answer: If your 3D app allows control by joystick, absolutely yes. Just map the spacemouse axis to the Tetherscript Virtual Joystick output axis in CMJ and you are good to go. Curves too! However, if your 3D navigation (rotation, panning) is by keyboard in your 3D app, you can still use the digital joystick feature in CMJ, but it won't be nearly as good as using joystick emulation or a real spacemouse integration.

Real 3D mouse support requires the 3D app developer to use the 3DConnexion SDK for proper control. Not sure why it is not more fully supported. You can see which apps are supported on the 3DConnexion website.