Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve camera control #70

Closed
2 tasks done
yungyuc opened this issue May 7, 2022 · 12 comments · Fixed by #385, #408 or #418
Closed
2 tasks done

Improve camera control #70

yungyuc opened this issue May 7, 2022 · 12 comments · Fixed by #385, #408 or #418
Assignees
Labels
enhancement New feature or request viewer Visualize stuff

Comments

@yungyuc
Copy link
Member

yungyuc commented May 7, 2022

The current camera control uses vanilla Qt3DExtras::QOrbitCameraController and should be improved. The camera control is a critical component in the viewer. It at least needs the following functions and more:

  • Resetting.
  • WSAD.
  • Change of origin.

Amended on 27th July 2024

@yungyuc yungyuc added enhancement New feature or request viewer Visualize stuff labels May 7, 2022
@yanagiragi
Copy link
Contributor

Please let me have a try.

@yungyuc
Copy link
Member Author

yungyuc commented Jun 23, 2024

@tychuang1211 and @YenPeiChen07 are working on it

@yungyuc
Copy link
Member Author

yungyuc commented Jul 27, 2024

@Tucchhaa Thanks for the PR #385. After testing I found w and q should swap and s and e should swap. For a simulation / cad code, it is unintuitive for "up" and "down" to move along the z axis (perpendicular to the screen/window). "Up" should go toward the top of window and "down" should go toward the bottom of the window.

We should also add the movements as items in the "View" menu. Could you please help it?

@Tucchhaa
Copy link
Contributor

Tucchhaa commented Jul 30, 2024

We should also add the movements as items in the "View" menu. Could you please help it?

@yungyuc do you mean assigning custom keys to the camera's movement?

@yungyuc
Copy link
Member Author

yungyuc commented Jul 31, 2024

We should also add the movements as items in the "View" menu. Could you please help it?

@yungyuc do you mean assigning custom keys to the camera's movement?

No, but that is also an important feature. It is substantial work and will need a separate issue to track. The ultimate form may be like how vscode and clion (JetBrains IntelliJ-series IDE) work.


The "View" menu is like below, and it should contain the movements with hotkey labeled:

image

@Tucchhaa
Copy link
Contributor

@yungyuc should the movement hotkey items be clickable or disabled?

@yungyuc
Copy link
Member Author

yungyuc commented Jul 31, 2024

@yungyuc should the movement hotkey items be clickable or disabled?

I was thinking they should be clickable (enabled). I didn't think of a use case for the movement menu items to be disabled. But perhaps I missed something?

@yungyuc yungyuc assigned Tucchhaa and unassigned tychuang1211 Jul 31, 2024
@Tucchhaa
Copy link
Contributor

Tucchhaa commented Aug 1, 2024

I think of what is the use case of clickable items. When it's clicked we move the camera, but I don't understand why somebody would like to use the camera this way. Like arrows and WASD are pretty intuitive, except forward/backward movement.

But if items are disabled, they are used only in the way to inform the user of hotkeys. And making them clickable, feels like an overkill.

And because there are many ways to move the camera translation in x,y,z + rotation, I worry about not overloading the interface

@yungyuc
Copy link
Member Author

yungyuc commented Aug 1, 2024

I think of what is the use case of clickable items. When it's clicked we move the camera, but I don't understand why somebody would like to use the camera this way. Like arrows and WASD are pretty intuitive, except forward/backward movement.

The primary reason is for completeness. Anything that can be controlled through keystrokes should be available in the menu. (But menu items may not need to have corresponding keyboard shortcuts.) That is what we are expecting from a GUI program.

And there is an irreplaceable use case of the movement menu item: when keyboard is missing or broken. It frequently happens when operating in a remote desktop.

@yungyuc yungyuc linked a pull request Aug 17, 2024 that will close this issue
@yungyuc yungyuc linked a pull request Aug 25, 2024 that will close this issue
@yungyuc
Copy link
Member Author

yungyuc commented Aug 25, 2024

@Tucchhaa Any additional items for this issue?

@Tucchhaa
Copy link
Contributor

I think the main issue was achieved: camera's control was improved. I suggest to close this issue. If we want to add more functionality in the future, we can create a new one 🙂

@yungyuc
Copy link
Member Author

yungyuc commented Aug 29, 2024

@Tucchhaa sounds good. Let's close this issue. If you have concrete ideas to do something please file an issue. If you just want to discuss please create a discussion conversion. And we can do free chat in discord.

@yungyuc yungyuc closed this as completed Aug 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request viewer Visualize stuff
Projects
Status: Done
4 participants