Add support for Axis rotation
Is your feature request related to a problem? Please describe. F3D let users rotate models freely along all three axis. It woul be nice to be able to rotate only on a single axis, x, y or z. An interaction to do that would be appreciated.
Describe the solution you'd like
- Press Ctrl + x/y/z then click and move to restrict the rotation to a single axis
Describe alternatives you've considered
- Ctrl + Mouse move rotate alongside the camera axis
@mwestphal Hi) Can i take this task?
Of course:)
Hi @Denys619
Do you need help moving forward ?
Hi @Denys619
Need any help moving forward ? :)
As a reference, I cannot spin to see the side of this object without it also tilting. 1.
Model: https://www.printables.com/model/1329190-fox-regular-one-tailed-and-kitsune-or-daji-nine-ta
In the regular live preview mode using the mouse interface such as using:
f3d --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,-1,0
f3d --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,-1,0
f3d --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,1,0
f3d --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,1,0
f3d --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,1,0
f3d --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,-1,0
f3d --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1
f3d --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0
f3d --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,-1 --camera-focal-point=0,0,0
f3d --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=1,0,0 --camera-focal-point=0,0,0
f3d --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=-1,0,0 --camera-focal-point=0,0,0
f3d --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,1,0 --camera-focal-point=0,0,0
Or thumbnail mode such as using:
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-azimuth-angle=45 --camera-elevation-angle=-45 --camera-view-up=0,0,1 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,1,0 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,-1 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-direction=0,0,0 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-azimuth-angle=45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-azimuth-angle=45 --camera-elevation-angle=45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-azimuth-angle=45 --camera-elevation-angle=-45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-azimuth-angle=45 --camera-elevation-angle=-90 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-azimuth-angle=90 --camera-elevation-angle=-90 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-azimuth-angle=-90 --camera-elevation-angle=-90 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=-90 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=-90 --camera-azimuth-angle=45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=-45 --camera-azimuth-angle=45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=-45 --camera-azimuth-angle=45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=-45 --camera-azimuth-angle=-45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=-45 --camera-azimuth-angle=135 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=-45 --camera-azimuth-angle=45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=-45 --camera-azimuth-angle=45 --camera-view-angle=45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=-45 --camera-azimuth-angle=45 --camera-view-angle=-45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=-45 --camera-azimuth-angle=45 --camera-view-angle=-90 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=-135 --camera-azimuth-angle=45 --camera-view-angle=-90 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=-135 --camera-azimuth-angle=45 --camera-view-angle=45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=-135 --camera-azimuth-angle=45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=135 --camera-azimuth-angle=45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=45 --camera-azimuth-angle=45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=45 --camera-azimuth-angle=135 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,0,1 --camera-focal-point=0,0,0 --camera-elevation-angle=45 --camera-azimuth-angle=-135 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,-1,0 --camera-focal-point=0,0,0 --camera-elevation-angle=45 --camera-azimuth-angle=45 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,-1,0 --camera-focal-point=0,0,0 --camera-elevation-angle=45 --camera-azimuth-angle=135 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,-1,0 --camera-focal-point=0,0,0 --camera-elevation-angle=0 --camera-azimuth-angle=135 --ambient-occlusion --tone-mapping --anti-aliasing
f3d --config=thumbnail --load-plugins=assimp --quiet --resolution=128,128 fox-kitsune\ \(nine-tailed\).stl --camera-view-up=0,-1,0 --camera-focal-point=0,0,0 --camera-elevation-angle=0 --camera-azimuth-angle=45 --ambient-occlusion --tone-mapping --anti-aliasing
@Poikilos I think you're missing --up=z to properly spin around this STL file (adding --grid --axis could also help for troubleshooting purposes)
@Poikilos this is also not related to the issue, please join the discord to ask such questions :)
https://discord.f3d.app
@Poikilos this is also not related to the issue, please join the discord to ask such questions :)
https://discord.f3d.app
@mwestphal Ok, thanks. I thought it was an example of an angle that was not possible, but:
@Poikilos I think you're missing
--up=zto properly spin around this STL file (adding--grid --axiscould also help for troubleshooting purposes)
@snoyer Thank you, it works! --up=z works fine with --camera-elevation-angle=45 --camera-azimuth-angle=-45, and leaving off focal point and using default works (centered on model geometry automatically)
No feedback from @Denys619 , unassigning for now. Do not hesitate to comment if you want to keep working on this @Denys619 :)
Hi @mwestphal, could I try this out?
Of course!
Unassigning as asked.