Open camden-bock opened 5 years ago
Pointing to select Location on earth can be achieved by using a similar implementation to the Touch Slider. A point gesture is detected and then when the fingertip is close enough to the surface of the earth, A pin is placed at the nearest location to the fingertip.
This will be achieved with a generic action system. (not specific to point) Think of fingertip as classifier.position
Pin Functionality:
Tangent plane:
This doesn't really need to be a swipe, we could look at the angle of the hand as it gets near the point, or as it intersects the point and use this to activate the various swipe features of a point. (The palm faces the surface of the planet as the hand intersects the pin with an open palm)
Proximity ==> Classifier.position == pin.location
classifier.direction tangent to surface of the earth
Terminator:
This Could be the back of the hand facing the surface as an open palm intersects the pin. I don't see any notes on previous thoughts that would make sense for activating / deactivating the terminator. My first thought was the back of the hand as it would be unique from the rest of the other stuff. This might be problematic in terms of usability since my first thought was not intuitive but convenient to implement. Therefore this should be revisited.
Proximity ==> Classifier.position == pin.location
2nd condition ???
Latitude:
Intersect open palm with the pin while the hand is turned in such a way as to be close to parallel to the lines of latitude. (if they were not curved and extended out from the pin)
Proximity ==> Classifier.position == pin.location
Classifier.direction is tangent to surface are ortho to poles
Longitude:
Intersect the pin with an open palm which has a hand turned in such a way as to be close to parallel with the lines of longitude as if they extended without curving from the pin.
Proximity ==> Classifier.position == pin.location
classifier.direction is tangent to surface and in line with poles
Starlight rays: Pinch on the pin, and pinch in mid air to stretch the light rays out of the pin Proximity ==> Classifier.position == pin.location repeat to cycle modes?
Great Arc: Point to a pin and hold the gesture, Feedback given in the form of a ghost line coming from the pin is then attached to another pin, forming a connection between the pins in the form of a great arc. Proximity ==> Classifier.position == pin.location
Pinch to move (grasp) When a pinch is detected, if there is an object that is graspable within a certain distance (tolerance to be tested, should be made capable of manipulating the value) That object will update its position to be at the position of the fingertips until the grasp is no longer detected. (which assumes the user has stopped grabbing the object to place it within the environment)
Here - move is pins Classifier.position == pin.location Need to deal with picking up and release
Global Lat (cycle through modes)
This will have the projections as part of the cycle also. It could use the detection of a thumbs up, horizontally aligned with the floor, to go through lat lines, projected lat lines, and both the lat lines on the earth and their projections.
Has a cooldown to allow for toggling the gesture without stopping and restarting the gesture.
Global Long (cycle through modes)
This will have the projections as part of the cycle. It could use the detection of a thumbs up, vertically aligned with the floor, to go through lat lines, projected lat lines, and both the lat lines on the earth and their projections.
Has a cooldown to allow for toggling the gesture without stopping and restarting the gesture.
Earth Texture On/Off
Two open palms that are brought together. a clap. I think this would be really satisfying to cause the Earth to appear and disappear by clapping.
this would generally be on detect gesture -> toggle earth texture
proximity => classifier.position with classifier.position
Other potential designs:
detect a classifier type being activated between the head and an object. Where we approximate the line of sight of the person within the headset and then if the object and the classifier are within the line of sight, toggle the texture.
Push Earth
Push gesture will move the user relative to the world. The movement amount is based on the amount of distance covered by the push itself.
Speed of Push -> Speed of user movement
Swipe to rotate the Earth is not going to be the easiest for the moment as Swipe needs work. It currently does not activate for Vive Pro. Therefore a different gesture will be slotted in and this could be Open Palm. When an open palm is detected near the surface of the planet with no pins around, the planet could spin at a set pace, or revolve at a speed detected by comparing the position of the hands from the time the gesture is activated until it is deactivated. This could be based on displacement in general, going in a single direction, or it could be based off of movement on a single axis which rotates the planet clockwise when the coordinate is increased and counterclockwise when the coordinate is decreased.
ideally though this would be a swipe which happens near the surface of the planet and the rotation is in the direction of the swipe.
Proximity ==> classifier.position Direction of Rotation ==> classifier.direction
Double Pinch to Scale: Double pinch in mid air, with nothing in your grasp (no longer a thing), and then alter the scale of the scene when distance is gained or lost from the locations which were determined by the initial pinch of each hand
Classifier.position =/= surface of earth? --> make exclusive with starlight
Rough Drafts
Great circle is an "upgrade" to great arc.
Creating great arcs requires two "origins" for a classifier
Double Pinch to Scale requires values that persist for a single classifier. need to consider design. Are dictionaries OK?
Thoughts on selection and history of selections: proposed idea was to have a selection history which remembers what was selected. The idea that arose from this was to have a general history where certain object interactions are remembered and then that can be used to have functionality happen. For example: you could place a pin, then another, and have both in the history due to these placements and then a gesture could be performed that would then act on the two placed pins and make a great arc.
Camden's ideas: Pin does not need to be central to design anymore due to moving away from old system. Therefore something like the the great arc construction no longer needs to be based around the pins in terms of gestures. Instead we could have a two handed gesture put the ends of an arc on each hand. (so the arc is made between the hands) Then the arc can be brought toward the planet and can have each end lock on to a pin when the proximity is small enough.