Smithsonian / dpo-voyager

DPO Voyager - 3D Explorer and Tool Suite
Apache License 2.0
167 stars 28 forks source link

Change orbital center on double click #265

Open oM4Uo opened 5 months ago

oM4Uo commented 5 months ago

Hi! First of all, thanks for your work. I'm using it to view and share large scale models and the navigation is pretty complex when you are looking at model areas that are relatively far from the center of rotation.

Will be great if you can add the option to re-center the point of rotation on double click

Thank you again

gjcope commented 5 months ago

Hi @oM4Uo ! Thanks for the kind words! Do you have any examples you can share? I'd love to see how it's being used.

That sounds like a good feature and will probably also pair well with a 'home' or 'reset' feature that we are planning. We are a small team so it may to take a bit, but it is on the list!

sdumetz commented 5 months ago

ATON does just this. See the Tomb of Relief sample for a good example. Double-click on something to set it as the new camera target.

We are currently trying to design better navigation options for large-scale models. It should be somewhat similar to ATON's change-point-of-view and first-person-view features.

I'll tag you @oM4Uo once I have something to show so you can test and comment.

I'll also share the models once they are publicly available.

oM4Uo commented 5 months ago

"Hi @gjcope! Until now, I have only used Voyager on a local network with no external access. However, if you're interested, I can share a model that you can experiment with. Maybe next week, I will create a simple static webpage to showcase my use of Voyager, and of course, I will share the link with you.

Regarding the "home" or "reset" feature, it would be really useful. For now, I'm using the "center" option to achieve a similar goal. Maybe placing the "center" button outside the toolbox for now could work just fine and be simpler to implement.

@sdumetz, awesome! I was just thinking of mentioning ATON (another amazing framework) as an example, and yes, that's the type of navigation option that I was referring to."

gjcope commented 5 months ago

We are currently trying to design better navigation options for large-scale models. It should be somewhat similar to ATON's change-point-of-view and first-person-view features.

@sdumetz Great news. I know we have some other users that would benefit from that as well. FWIW also does something similar with a single click.

@oM4Uo Looking forward to seeing your work!

sdumetz commented 5 months ago

Following-up on this, adding a movable pivot point to the camera controller is easy enough (see https://github.com/Holusion/dpo-voyager/commit/61ce576 and https://github.com/Holusion/ff-three/commit/0918e55).

It is backward-compatible as the pivot point was always (0,0,0) in the existing system.

I still need to work out an updated CameraController.updateController() method though. I don't know if the transform can still be deconstructed into its components.

I can't however make the "double-click" event fire for now.

sdumetz commented 5 months ago

nvm, I have the double click. It was a few missing event listeners, I'll test it a bit and write a PR if it works for real.