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

Mouse-Based Player Controls #519

Open
argallegos opened this issue Jun 29, 2021 · 14 comments · May be fixed by #1449
Open

Mouse-Based Player Controls #519

argallegos opened this issue Jun 29, 2021 · 14 comments · May be fixed by #1449
Labels
enhancement New feature or request research Explore an idea or prototype a concept and share the results

Comments

@argallegos
Copy link
Contributor

argallegos commented Jun 29, 2021

We've previously discussed a CesiumJS-like camera for Unreal Engine (#11), and the new Dynamic Pawn addresses many of the big camera control issues with the plugin. However, there is still a distinct need for mouse-based scene navigation. Keyboard-based controls like the current Dynamic Pawn may be intuitive for gamers, but may be less convenient for other demographics. This has been brought up in several forum posts (1, 2, 3(ish))

In particular, the features from CesiumJS that I think are worth adding to Unreal are:

  • Left-click and drag to pan/spin the world (Or rotate around the world)
  • Middle-click and drag to rotate the camera relative to the ellipsoid
  • Scroll to zoom in and out
  • Lock the camera near the poles to control glitching
  • By default, have the North Pole facing the top of the screen and the South Pole facing the bottom of the screen. Users can rotate this but only by explicitly using the control (Middle click)

Gif from CesiumJS showing the type of motion we will want in Unreal:
CesiumJSCameralow

The Dynamic Pawn inherently is less suited for viewing earth from space, as is the Unreal editor camera. It's almost impossible to change the area of the globe you are looking down on while remaining at a consistent height. The Dynamic pawn allows users to have a lot of freedom of movement, but there are definitely use cases when we want the camera to be constrained.

This kind of controller should also not lock the mouse unless the user was actively clicking and dragging, which would allow for improved interaction with UI elements, and features like polygon selection, etc once we get around to those.

I recommend this controller be implemented as a pawn that can be used as an separate alternative to Dynamic Pawn. Users could select the pawn that was right for the experience they were trying to create, or even switch between them during play if needed.

Please add any other suggestions for what this other control system might need, or possible ideas for implementing it.

@argallegos argallegos added the enhancement New feature or request label Jun 29, 2021
@baothientran
Copy link
Contributor

Another thing I would like to add is that:

  • we shouldn't constraint the camera on the north or south pole like CesiumJS does. At least google earth allows the camera flies over it
  • when zooming out from the space far enough, the earth should be re-center the screen again. On the CesiumJS, if you view the ground and zooming far away, the earth will be in an awkward position

@kring kring added this to Needs Triage in Cesium for Unreal Jun 29, 2021
@kring
Copy link
Member

kring commented Jun 30, 2021

CC #325
BTW how did you record that video @argallegos? It looks like maybe you've implemented a bit of it already?

@kring kring moved this from Needs Triage to Backlog in Cesium for Unreal Jun 30, 2021
@argallegos
Copy link
Contributor Author

@kring Oops, I should have labeled that image - that's a gif from CesiumJS to show the motion I was describing. I'll update to make that clear.

@kring
Copy link
Member

kring commented Jun 30, 2021

Oh right, of course. For some reason I looked at the ion logo and "Data Attribution" link and said "wow that looks like Cesium for Unreal," even though clearly it's not. 😆

@oria66
Copy link

oria66 commented Mar 22, 2022

Any news about this?

@Renari
Copy link

Renari commented Mar 24, 2022

Any news about this?

https://github.com/orgs/CesiumGS/projects/1#card-64071615

It's in their backlog, no one is currently working on it.

@argallegos argallegos added the research Explore an idea or prototype a concept and share the results label May 12, 2022
@chase03
Copy link

chase03 commented Feb 25, 2023

Looking forward to it

@LeopoldFize
Copy link

我他妈的很期待 因为我做这个功能2个星期了 但是仍然有很大的问题

@LeopoldFize
Copy link

@kring

@yoyomule
Copy link

Looking forward to it

@263460976
Copy link

Looking forward to it too,Please!

@akuanwo
Copy link

akuanwo commented May 13, 2024

three years?

@chenguang1994
Copy link

Looking forward to it

@FEJackFly
Copy link

When will it be online?

@j9liu j9liu linked a pull request Jun 27, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request research Explore an idea or prototype a concept and share the results
Projects
Development

Successfully merging a pull request may close this issue.