selection_manip

selection_manip - 3D User Interface Techniques 3D User...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 3D User Interface Techniques 3D User Interface Techniques for for Selection and Manipulation Lecture #8: Selection and Manipulation Spring 2011 2011 Joseph J. LaViola Jr. Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Interaction Interaction Workflow Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 1 Universal 3D Interaction Tasks Navigation Travel – motor component Wayfinding – cognitive component Selection Manipulation System control Symbolic input Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Why Selection and Manipulation? Major method of interaction with method of interaction with physical environments Major method of interaction with virtual environments Affects the quality of entire 3D interface interface Design of 3D manipulation techniques is difficult Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 2 Lecture Outline What is 3D selection and manipulation? is 3D selection and manipulation? Relationship between IT and input device Manipulation technique classification Techniques selection manipulation hybrid Isomorphism vs. Non-isomorphism Non- Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Selection & Manipulation Selection: specifying one or more objects Selection: specifying one or more objects from from a set Manipulation: modifying object properties (position, orientation, scale, shape, color, texture, behavior, etc.) Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 3 Goals of Selection Indicate action on object action on object Query object Make object active Travel to object location Set up manipulation up manipulation Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Selection Performance Variables affecting user performance affecting user performance Spring 2011 object distance from user object size density of objects in area occluders CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 4 Canonical Parameters Selection Positioning distance and direction to target target size density of objects around the target number of targets to be selected target occlusion. distance/direction to initial position distance/direction to target position translation distance required precision of positioning required Rotation Spring 2011 distance to target initial orientation final orientation amount of rotation CAP6121 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 3D 3D Interaction Techniques and the Input Device Number of control Number of control dimensions dimensions Control Integration Force vs. Position control control Device placement Form Factor Spring 2011 Attached to Hand to Hand CAP6121 – 3D User Interfaces for Games and Virtual Reality Rolled with with fingers ©Joseph J. LaViola Jr. 5 Technique Classification by Metaphor VE manipulation techniques Exocentric metaphor World-In-Miniature Scaled-world grab Egocentric metaphor Virtual Hand metaphor "Classical" virtual hand Go-Go Indirect, stretch Go-Go Virtual Pointer metaphor Ray-casting Aperture Flashlight Image plane Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Technique Classification by Components Object Attachment attach to hand attach to gaze t o gaze hand moves to object object moves to hand user/object scaling Object Position no control 1-to-N hand to object motion maintain body-hand relation other hand mappings indirect control Object Orientation no control c ontrol 1-to-N hand to object rotation other hand mappings indirect control Manipulation Feedback Spring 2011 graphical force/tactile audio CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 6 3D Selection and Manipulation Techniques Pointing Direct manipulation ray-casting twotwo-handed pointing flashlight & aperture image plane simple virtual hand GoGo-Go WIM Hybrids Spring 2011 Homer ScaledScaled-World Grab Voodoo Dolls CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Pointing – Ray-Casting Ray User points at objects with with virtual ray Ray defines and visualizes pointing direction p( ) h p where 0 h 3D position of virtual hand p ray attached to h Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 7 Pointing – Two-Handed Pointing Two Ray casting with 2 hands More control distance between hands controls length twisting curves pointer p( ) h l (h r h l ) where 0 h l 3D position of left hand h r 3D position of right hand Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Pointing – Flashlight and Aperture Flashlight – soft selection technique does not need precision conic volume constant Aperture – extension to Flashlight adjustable volume p( ) e (h e) where 0 h 3D position of hand e 3D coordinates of viewport Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 8 Pointing – Image Plane Family Requires only 2 DOF selection based on 2D projections virtual image plane in front of user Framing Spring 2011 Lifting Palms Head-Crusher CAP6121 – 3D User Interfaces for Games and Virtual Reality Sticky Finger ©Joseph J. LaViola Jr. Direct Manipulation – Virtual Hand Select and manipulate directly with hands ith Hand represented as 3D cursor Intersection between cursor and object indicates selection p v pr , R v R r p r , R r position and orientation of real hand p v , R v position and orientation of hand in VE a scaling factor Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 9 Direction Manipulation – Go-Go Go ArmArm-extension technique Like simple v. hand, touch objects to select them bj th NonNon-linear mapping between physical and virtual hand position Local and distant regions rr if rr D rv F ( rr ) rr (rr D ) 2 otherwise where rr length of R r rv length of R v D, are constants Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Direct Manipulation – WIM “Dollhouse” world held in user’s hand Miniature objects can be manipulated directly Moving miniature objects affects full-scale objects fullCan also be used for navigation Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 10 Hybrids – HOMER Hand-Centered andObject Manipulation Extending Ray-Casting ay Select: ray-casting ray- Time Manipulate: hand 2.0 m 1.0 m 0.6 m 0.3 m torso torso physical hand Spring 2011 physical hand CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. HOMER Implementation Requires torso position t Upon selection, detach virtual hand from tracker, move v. hand to object position in world CS, and attach object to v. hand (w/out moving object) Get physical hand position h and distance and dh = dist(h, t) Get object position o and distance do = dist(o, t) Spring 2011 CAP6121 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 11 HOMER Implementation (cont.) Each frame: Copy hand tracker matrix to v. hand matrix (to set py orientation) Get physical hand position hcurr and distance: dh-curr = dist(hcurr, t) t) do V. hand distance d d vh h curr dh Normalize torso-hand vector thcurr hcurr t torsohcurr t V. hand position vh = t + dvh*(thcurr) vh Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Hybrids – Scaled-World Grab ScaledTechnique Often used w/ occlusion used w/ occlusion At selection, scale user up (or world down) so that v. hand is actually touching selected object User doesn notice User doesn’t notice a change change in the image until he moves Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 12 ScaledScaled-World Grab Implementation At selection: Get world CS distance from eye to hand deh Get world CS distance from eye to object deo Scale user (entire user subtree) uniformly by deo / deh Ensure that eye remains in same position Attach selected object to v. hand (w/out moving object) At release: Spring 2011 ReRe-attach object to world (w/out moving object) Scale user uniformly by deh / deo Ensure that eye remains in same position CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Hybrids – Voodoo Dolls Two handed technique Builds upon image plane and Builds upon image plane and WIM WIM techniques Creates copies of objects (dolls) for manipulation NonNon-dominant hand – stationary frame of stationary frame of reference reference Dominant hand – defines position and orientation Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 13 Isomorphic vs. Non-Isomorphic NonPhilosophies Human-Machine interaction interaction input device display device transfer function (control to display mapping) Isomorphic – one-to-one mapping one-toNonNon-isomorphic – scaled linear/non-linear linear/nonmapping Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. NonNon-Isomorphic 3D Spatial Rotation Important advantages manual control constrained by human anatomy more effective use of limited tracking range (i.e visionvision-based tracking) additional tools for fine tuning interaction techniques Questions Spring 2011 faster? more accurate? CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 14 Rotational Space Rotations in 3D space are a little tricky Space of rotations is not a vector space Represented as a closed and curved surface do not follow laws of Euclidian geometry not follow laws of Euclidian geometry 4D sphere or manifold Quaternions provide a tool for describing this surface Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Quaternions FourFour-dimensional vector (v,w) where v is a 3D vector and w is a real number 3D A quaternion of unit length can be used to represent a single rotation about a unit ˆ axis u and angle and angle as as ˆ q (sin( u ), cos( )) e 2 2 Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality 2 ˆ u ©Joseph J. LaViola Jr. 15 Linear 0th Order 3D Rotation Let qc be the orientation of the input device and qd be the displayed orientation then and be the displayed orientation then c (1) qc (sin( c ˆ uc ), cos( c )) e 2 ˆ uc 2 2 k c ˆ uc k k ˆ (2) qd (sin( c uc ), cos( c )) e 2 qck 2 2 Final equations w.r.t. identity or reference orientation qo are (3) qq qck Spring 2011 (4) qd (qc qo 1 ) k qo , k CD gain coefficient CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. NonNon-Linear 0th Order 3D Rotation Consider (3) q d q ck (4) q d ( q c q o 1 ) k q o Let k be a non-linear function as in be non 2 arccos(qc qo ) or 2 arccos(w) 1 if o k F ( ) 2 f ( ) 1 c( o ) otherwise where c is a coefficient and o is the theshold angle Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 16 Design Considerations Absolute mapping – taken on i-th cycle of the the simulation loop qdi qcki Relative mapping – taken between the i-th and i-1th cycle of the simulation loop qdi (qci qci11 ) k qd i1 Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Absolute Non-Isomorphic Mapping Non Generally do not preserve directional Generally do not preserve directional compliance compliance Strictly preserves nulling compliance Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 17 Relative Non-Isomorphic Mapping Non Always maintain directional compliance maintain directional compliance Do not generally preserve nulling compliance Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Amplified Non-Linear Rotation Nonfor VE Navigation (1) Users expect the virtual world to exist in any Users direction 3-walled Cave does not allow this adapt expected UI to work in restricted environment Amplified rotation allows users to see a full 360 degrees in a 3-walled display 3A number of approaches were tested Spring 2011 important to take cybersickness into account CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 18 Amplified Non-Linear Rotation Nonfor VE Navigation (2) Apply a non-linear mapping function to the user’s non linear mapping function to the user waist waist orientation and his or her distance d from the back of the Cave Calculate the rotation factor using a scaled 2D Gaussian function 1 f ( , d ) e 2 1 The new viewing angle is Spring 2011 ( (1 d / L )) 2 2 2 2 new (1 ) CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Amplified Non-Linear Rotation Nonfor VE Navigation (3) 1 0.57 2 0.85 L 30 Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 19 NonNon-Linear Translation for VE Navigation (1) Users lean about the waist to move small Users lean about the waist to move small to to medium distances users can lean and look in different directions Users can also lean to translate a floorfloorbased interactive world in miniature (WIM) Spring 2011 Step WIM must be active user’s gaze must be 25 degrees below horizontal CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. NonNon-Linear Translation for VE Navigation (2) Leaning vector Leaning vector LR is the projection of the is the projection of the vector vector between the waist and the head onto the floor gives direction and raw magnitude components Navigation speed is dependent on the user’s physical location Leaning sensitivity increases close to a boundary Linear function - Mapped velocity - v LR LT Spring 2011 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 20 NonNon-Linear Translation for VE Navigation (3) Navigation speed is also dependent on the Navigation speed is also dependent on the user’s user’s head orientation with respect to the vertical axis especially useful when translating the floor-based floorWIM Mapping is done with a scaled exponential function H Vup F e Final leaning velocity is Spring 2011 vfinal F v CAP6121 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. Next Class Navigation Travel Navigation – Travel Readings Spring 2011 3DUI Book – Chapter 5 CAP6121 – 3D User Interfaces for Games and Virtual Reality ©Joseph J. LaViola Jr. 21 ...
View Full Document

Ask a homework question - tutors are online