CesiumGS / cesium-unreal

Bringing the 3D geospatial ecosystem to Unreal Engine
https://cesium.com/platform/cesium-for-unreal/
Apache License 2.0
913 stars 290 forks source link

Mouse-Based Player Controls #519

Open argallegos opened 3 years ago

argallegos commented 3 years ago

We've previously discussed a CesiumJS-like camera for Unreal Engine (https://github.com/CesiumGS/cesium-unreal/issues/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:

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.

baothientran commented 3 years ago

Another thing I would like to add is that:

kring commented 3 years ago

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

argallegos commented 3 years ago

@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 commented 3 years ago

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 commented 2 years ago

Any news about this?

Renari commented 2 years ago

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.

chase03 commented 1 year ago

Looking forward to it

LeopoldFize commented 7 months ago

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

LeopoldFize commented 7 months ago

@kring

yoyomule commented 7 months ago

Looking forward to it

263460976 commented 5 months ago

Looking forward to it too,Please!

akuanwo commented 3 months ago

three years?

chenguang1994 commented 3 months ago

Looking forward to it

FEJackFly commented 3 months ago

When will it be online?