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

(WIP) Autoalign #534

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open

(WIP) Autoalign #534

wants to merge 8 commits into from

Conversation

feilen
Copy link
Contributor

@feilen feilen commented Nov 19, 2020

Mostly opening this up now as a place to keep track of what's left to do.

Currently working:

  • Somewhat abstracted MoveCenterTabController code to let you convert arbitrary points to/from absolute/relative coordinates, allow pivot around an arbitrary point, move universe 'from' 'to' two absolute points (from other classes)
  • Auto-align (right-handed only): Adds an 'auto-align' bind. Press it on two points along the edge of a real object, followed by two points along the edge of a virtual object, and it'll snap them together (in X/Y/Z and yaw). Easily set up real analogs to your virtual environment (align a real->virtual chair to sit on it, align real->virtual table to rest your hands on it, align real->virtual wall to lean against it). Especially useful for full-body, since your avatar will appear to be physically interacting with the world.

TBD:

  • Allow for left-handed bind done
  • Proximity activation: After auto-aligning something, it would be nice if it was an option to align it in every axis but Z (so the floor still matches as you walk over) until you get close, then snap the height into place, resetting the floor after you stand up and walk away from the area. This would also be good to freeze auto-turn/vestibular motion/(anything which rotates/moves the playspace) until you walk away, so the virtual object doesn't drift away from the real one.
  • Some form of UI, probably an ephemeral popup like auto-turn's: currently there's no indicator of how many points you've put up, so you could accidentally activate it without knowing how many you've added so far. done
  • Some kind of timeout, so if you accidentally activate it you don't have to force it to activate later
  • An option to just save the first two coordinates (possibly between resets), for if you only have one thing you want to align with (e.g. a chair) without peeking under your headset so much.
  • Significant code cleanup. It's pretty ugly right now. done
  • ensure 'fling' isn't broken?

@VRcontrib
Copy link

Just wanted to add, this seems like a very fun and useful feature, thank you for working on it!

@feilen
Copy link
Contributor Author

feilen commented Jul 19, 2023

I keep meaning to get around to this one!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants