Open sslupsky opened 1 year ago
What is the difficult part? That is what is the reason behind your request?
Assuming a cube is not easy... Would a short list of presets work? Like Front, Top, Left, Right, Rear? Or did you have another reason for wanting the cube?
There are a few things that are difficult to do when navigating. Scrolling the wheel will zoom in until it gradually stops zooming in. If you want to move, you have to scroll the wheel with the mouse cursor off center in the direction of travel, then you move perpendicular to the view direction... so if you want to move forward, look down (or up/left/right), put the mouse cursor in the right place, and scroll the wheel, then look the right direction again, then scroll the wheel.
It's cumbersome. So I did eventually manually edit my rgbefffects file to save ViewPoints for some locations that I couldn't navigate to.
Every once in a great while, all ViewPoints disappear, I am not sure what operation causes xLights to forget them all and drop them from the rgbeffects file, but they're just gone. I cut and paste them back in from a backup and carry on.
Positioning the camera perpendicular to the plane of the front view (XY plane) is difficult. So, having an easy way to position the camera so that it is perpendicular to the XY plane would be useful when navigating in 3D space. Note that this would not be the same as a View Point since the presets generally set the XYZ position and the roll pitch and yaw. In this instance the pitch and yaw would changed (zero) and the other values remain unchanged.
FreeCAD's navigation cube is a good example. FreeCAD uses Coin3D. This might be a useful library that could help bring additional 3D capabilities to xLights? https://www.coin3d.org
There are a few things that are difficult to do when navigating. Scrolling the wheel will zoom in until it gradually stops zooming in. If you want to move, you have to scroll the wheel with the mouse cursor off center in the direction of travel, then you move perpendicular to the view direction... so if you want to move forward, look down (or up/left/right), put the mouse cursor in the right place, and scroll the wheel, then look the right direction again, then scroll the wheel.
I have to agree - I'm new to xlights, but very experienced with 3d software (inc unity, unreal, maya, blender, onshape, openscad, and a few commercial 3d editing environments I've authored) I do find xlights' viewport difficult to navigate. There don't seem to be controls for panning, the zoom scroll wheel has a mind of its own - often moving in a random direction.
I haven't found any detailed documentation about how to navigate the viewport, so perhaps there are more controls available than I've discovered, but I feel like I've tried all the common combinations involving modifier keys, WASD, arrows and mouse buttons.
Having some quick ways to get the viewport back to reasonable preset orientations (especially top and front view) - would be great. It doesn't necessarily have to be a navigation cube - a simple drop down would be simple starting point - though the cube or a 3-axis gizmo does also help show what orientation you're currently in.
I echo @sslupsky's recommendation - looking at an example of another software with a 3d viewport for inspiration would go a long way.
quick ways to get the viewport back to reasonable preset orientations (especially top and front view) - right click reset and right click save and restore camera locations.
I tried adding simple code to set the view angle, but I'm missing something to work with the preview window.
Manually editing the XML for saved viewpoints worked a little, but the idea is to remove/set rotation/angle only and keep the current pan location. I couldn't get it to work.
Is your feature request related to a problem? Please describe. Navigation in 3D space can be cumbersom.
Describe the solution you'd like It would be useful to have a 3D navigation cube in the 3D space when editing the layout. Here is an example: https://wiki.freecad.org/Navigation_Cube