KR20200110788A - Devices, methods, and graphical user interfaces for system-wide behavior for 3D models - Google Patents
Devices, methods, and graphical user interfaces for system-wide behavior for 3D models Download PDFInfo
- Publication number
- KR20200110788A KR20200110788A KR1020207024313A KR20207024313A KR20200110788A KR 20200110788 A KR20200110788 A KR 20200110788A KR 1020207024313 A KR1020207024313 A KR 1020207024313A KR 20207024313 A KR20207024313 A KR 20207024313A KR 20200110788 A KR20200110788 A KR 20200110788A
- Authority
- KR
- South Korea
- Prior art keywords
- user interface
- input
- representation
- virtual
- cameras
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 394
- 230000004044 response Effects 0.000 claims abstract description 486
- 230000000007 visual effect Effects 0.000 claims abstract description 233
- 230000033001 locomotion Effects 0.000 claims description 577
- 230000006399 behavior Effects 0.000 claims description 208
- 230000003190 augmentative effect Effects 0.000 claims description 178
- 230000009471 action Effects 0.000 claims description 130
- 230000008859 change Effects 0.000 claims description 111
- 238000001514 detection method Methods 0.000 claims description 64
- 230000007704 transition Effects 0.000 claims description 40
- 238000003860 storage Methods 0.000 claims description 39
- 230000010365 information processing Effects 0.000 claims description 29
- 230000004913 activation Effects 0.000 claims description 24
- 238000005562 fading Methods 0.000 claims description 11
- 230000003213 activating effect Effects 0.000 claims description 6
- 230000003542 behavioural effect Effects 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims 1
- 238000004088 simulation Methods 0.000 claims 1
- 238000003825 pressing Methods 0.000 description 62
- 230000001976 improved effect Effects 0.000 description 59
- 238000013519 translation Methods 0.000 description 59
- 230000008569 process Effects 0.000 description 52
- 238000004891 communication Methods 0.000 description 23
- 230000002829 reductive effect Effects 0.000 description 22
- 230000007423 decrease Effects 0.000 description 21
- 230000006870 function Effects 0.000 description 21
- 230000002093 peripheral effect Effects 0.000 description 20
- 238000012545 processing Methods 0.000 description 19
- 238000007726 management method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 17
- 241000699666 Mus <mouse, genus> Species 0.000 description 14
- 238000005259 measurement Methods 0.000 description 12
- 230000003287 optical effect Effects 0.000 description 12
- 238000006073 displacement reaction Methods 0.000 description 11
- 230000001419 dependent effect Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 9
- 230000002441 reversible effect Effects 0.000 description 9
- 230000007935 neutral effect Effects 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000009499 grossing Methods 0.000 description 7
- 230000010355 oscillation Effects 0.000 description 7
- 230000035807 sensation Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000036544 posture Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 5
- 238000010079 rubber tapping Methods 0.000 description 5
- 230000001953 sensory effect Effects 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 5
- 230000001755 vocal effect Effects 0.000 description 5
- 241001422033 Thestylus Species 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 4
- 230000000386 athletic effect Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000021317 sensory perception Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 208000036829 Device dislocation Diseases 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 3
- 238000011068 loading method Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000002310 reflectometry Methods 0.000 description 3
- 230000008093 supporting effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000005060 rubber Substances 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 229920000742 Cotton Polymers 0.000 description 1
- 230000005355 Hall effect Effects 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 208000012902 Nervous system disease Diseases 0.000 description 1
- 206010047571 Visual impairment Diseases 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 235000019577 caloric intake Nutrition 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 229920001746 electroactive polymer Polymers 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000004424 eye movement Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000004579 marble Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000012528 membrane Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000015541 sensory perception of touch Effects 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000002459 sustained effect Effects 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 208000029257 vision disease Diseases 0.000 description 1
- 230000004393 visual impairment Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1637—Details related to the display arrangement, including those related to the mounting of the display in the housing
- G06F1/1643—Details related to the display arrangement, including those related to the mounting of the display in the housing the display being associated to a digitizer, e.g. laptops that can be used as penpads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
- G06F1/1686—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated camera
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
- G06F1/1694—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04845—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04886—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/003—Navigation within 3D models or images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/014—Force feedback applied to GUI
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04806—Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04808—Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/04—Architectural design, interior design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2012—Colour editing, changing, or manipulating; Use of colour codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Architecture (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
- Controls And Circuits For Display Device (AREA)
- Telephone Function (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Position Input By Displaying (AREA)
Abstract
디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 및 하나 이상의 카메라들을 갖는 컴퓨터 시스템은 하나 이상의 카메라들의 시야를 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청을 수신한다. 요청에 응답하여, 객체 배치 기준들이 충족되지 않는다는 결정에 따라, 가상 객체의 표현은 제1 세트의 시각적 속성들로 그리고 물리적 환경의 어느 부분이 하나 이상의 카메라들의 시야 내에 디스플레이되는지와 독립적인 제1 배향으로 디스플레이된다. 객체 배치 기준들이 충족된다는 결정에 따라, 가상 객체의 표현은 제1 세트의 시각적 속성들과 구별되는 제2 세트의 시각적 속성들로 그리고 평면에 대응하는 제2 배향으로 디스플레이된다.A computer system having a display creation component, one or more input devices, and one or more cameras receives a request to display a virtual object within a first user interface area that includes a field of view of the one or more cameras. In response to the request, upon determining that the object placement criteria are not met, the representation of the virtual object is a first set of visual properties and a first orientation independent of which part of the physical environment is displayed within the field of view of one or more cameras. Is displayed. Upon determination that the object placement criteria are satisfied, the representation of the virtual object is displayed with a second set of visual attributes distinct from the first set of visual attributes and in a second orientation corresponding to the plane.
Description
본 발명은 대체로 다양한 콘텍스트(context)들로 가상 객체들을 디스플레이하는 전자 디바이스들을 포함하지만 이에 제한되지 않는, 가상 객체들을 디스플레이하는 전자 디바이스들에 관한 것이다.The present invention relates generally to electronic devices that display virtual objects, including, but not limited to, electronic devices that display virtual objects in a variety of contexts.
증강 현실을 위한 컴퓨터 시스템들의 개발은 최근에 상당히 증가하였다. 예시적인 증강 현실 환경들은 물리적 세계를 대체하거나 증강시키는 적어도 일부 가상 요소들을 포함한다. 컴퓨터 시스템들 및 다른 전자 컴퓨팅 디바이스들에 대한, 터치 감응형 표면들과 같은 입력 디바이스들은 가상/증강 현실 환경들과 상호작용하는 데 사용된다. 예시적인 터치 감응형 표면들은 터치패드들, 터치 감응형 원격 제어부들 및 터치 스크린 디스플레이들을 포함한다. 그러한 표면들은 디스플레이 상의 사용자 인터페이스들 및 그 내부의 객체들을 조작하는 데 사용된다. 예시적인 사용자 인터페이스 객체들은 디지털 이미지들, 비디오, 텍스트, 아이콘들, 버튼들과 같은 제어 요소들, 및 기타 그래픽들을 포함한다.The development of computer systems for augmented reality has increased considerably in recent years. Exemplary augmented reality environments include at least some virtual elements that replace or augment the physical world. Input devices, such as touch-sensitive surfaces, for computer systems and other electronic computing devices are used to interact with virtual/augmented reality environments. Exemplary touch-sensitive surfaces include touchpads, touch-sensitive remote controls and touch screen displays. Such surfaces are used to manipulate user interfaces on the display and objects within it. Exemplary user interface objects include digital images, video, text, icons, control elements such as buttons, and other graphics.
그러나, 적어도 일부 가상 요소들(예를 들어, 애플리케이션들, 증강 현실 환경들, 혼합 현실 환경들, 및 가상 현실 환경들)을 포함하는 환경들과 상호작용하기 위한 방법들 및 인터페이스들은 번거롭고, 비효율적이고, 제한된다. 예를 들어, 증강 현실 환경 내의 가상 객체를 배향 및 위치설정하기 위해 입력들의 시퀀스를 사용하는 것은 지루하고, 사용자에 대한 상당한 인지적 부담을 생성하고, 가상/증강 현실 환경에서의 경험을 손상시킨다. 게다가, 이러한 방법들은 필요 이상으로 오래 걸려서, 에너지가 낭비된다. 이러한 후자의 고려사항은 배터리-작동형 디바이스들에서 특히 중요하다.However, methods and interfaces for interacting with environments that include at least some virtual elements (e.g. applications, augmented reality environments, mixed reality environments, and virtual reality environments) are cumbersome, inefficient and , Limited. For example, using a sequence of inputs to orient and position a virtual object within an augmented reality environment is tedious, creates a significant cognitive burden on the user, and impairs the experience in a virtual/augmented reality environment. In addition, these methods take longer than necessary and energy is wasted. This latter consideration is particularly important in battery-operated devices.
따라서, 가상 객체들과 상호작용하기 위한 개선된 방법들 및 인터페이스들을 갖는 컴퓨터 시스템들이 필요하다. 그러한 방법들 및 인터페이스들은, 선택적으로, 가상 객체들과 상호작용하기 위한 종래의 방법들을 보완하거나 대체한다. 그러한 방법들 및 인터페이스들은 사용자로부터의 입력들의 수, 크기, 및/또는 종류를 줄이고 더 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 디바이스들의 경우, 그러한 방법들 및 인터페이스들은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다.Accordingly, there is a need for computer systems having improved methods and interfaces for interacting with virtual objects. Such methods and interfaces, optionally, supplement or replace conventional methods for interacting with virtual objects. Such methods and interfaces reduce the number, size, and/or type of inputs from the user and create a more efficient human-machine interface. In the case of battery-operated devices, such methods and interfaces save power and increase the time between battery charges.
가상 객체들과 상호작용하기 위한 인터페이스들(예컨대, 증강 현실(AR)을 위한 사용자 인터페이스들 및 관련된 비-AR 인터페이스들)과 연관된 상기 결점들 및 다른 문제들은 개시된 컴퓨터 시스템들에 의해 감소되거나 제거된다. 일부 실시예들에서, 컴퓨터 시스템은 데스크톱 컴퓨터를 포함한다. 일부 실시예들에서, 컴퓨터 시스템은 휴대용(예를 들어, 노트북 컴퓨터, 태블릿 컴퓨터, 또는 핸드헬드 디바이스)이다. 일부 실시예들에서, 컴퓨터 시스템은 개인용 전자 디바이스(예를 들어, 워치와 같은 웨어러블 전자 디바이스)를 포함한다. 일부 실시예들에서, 컴퓨터 시스템은 터치패드를 갖는다(그리고/또는 터치패드와 통신함). 일부 실시예들에서, 컴퓨터 시스템은 터치 감응형 디스플레이("터치 스크린" 또는 "터치 스크린 디스플레이"로도 알려짐)를 갖는다(그리고/또는 터치 감응형 디스플레이와 통신함). 일부 실시예들에서, 컴퓨터 시스템은 그래픽 사용자 인터페이스(GUI), 하나 이상의 프로세서들, 메모리, 및 다수의 기능들을 수행하기 위해 메모리에 저장되는 하나 이상의 모듈들, 프로그램들 또는 명령어들의 세트들을 갖는다. 일부 실시예들에서, 사용자는 부분적으로 터치 감응형 표면 상의 스타일러스 및/또는 손가락 접촉들 및 제스처들을 통해 GUI와 상호작용한다. 일부 실시예들에서, 기능들은 선택적으로 게임 하기, 이미지 편집, 그리기, 프레젠팅(presenting), 워드 프로세싱, 스프레드시트 작성, 전화 걸기, 화상 회의, 이메일 보내기, 인스턴트 메시징(instant messaging), 운동 지원, 디지털 사진촬영, 디지털 비디오 녹화, 웹 브라우징, 디지털 음악 재생, 메모하기(note taking), 및/또는 디지털 비디오 재생을 포함한다. 이러한 기능들을 수행하기 위한 실행가능 명령어들은, 선택적으로, 하나 이상의 프로세서들에 의한 실행을 위해 구성된 비일시적 컴퓨터 판독가능 저장 매체 또는 다른 컴퓨터 프로그램 제품에 포함된다.The deficiencies and other problems associated with interfaces for interacting with virtual objects (e.g., user interfaces for augmented reality (AR) and related non-AR interfaces) are reduced or eliminated by the disclosed computer systems. . In some embodiments, the computer system includes a desktop computer. In some embodiments, the computer system is portable (eg, a notebook computer, tablet computer, or handheld device). In some embodiments, the computer system includes a personal electronic device (eg, a wearable electronic device such as a watch). In some embodiments, the computer system has (and/or communicates with) a touchpad. In some embodiments, the computer system has (and/or communicates with the touch-sensitive display) a touch-sensitive display (also known as a “touch screen” or “touch screen display”). In some embodiments, a computer system has a graphical user interface (GUI), one or more processors, memory, and one or more modules, programs, or sets of instructions stored in the memory to perform a number of functions. In some embodiments, the user interacts with the GUI through gestures and/or stylus and/or finger contacts on the touch-sensitive surface in part. In some embodiments, functions optionally include playing games, image editing, drawing, presenting, word processing, spreadsheet creation, making phone calls, video conferencing, sending email, instant messaging, athletic support, Digital photography, digital video recording, web browsing, digital music playback, note taking, and/or digital video playback. Executable instructions for performing these functions are, optionally, included in a non-transitory computer readable storage medium or other computer program product configured for execution by one or more processors.
일부 실시예들에 따르면, 디스플레이, 터치 감응형 표면, 및 하나 이상의 카메라들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하는 동안, 디스플레이 상의 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서 접촉에 의한 제1 입력을 검출하는 단계를 포함한다. 본 방법은 또한, 접촉에 의한 제1 입력을 검출하는 것에 응답하여, 접촉에 의한 제1 입력이 제1 기준들을 충족한다는 결정에 따라, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야의 표현으로 대체하는 것을 포함하여, 디스플레이 상에 제2 사용자 인터페이스 영역을 디스플레이하고; 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 연속적으로 디스플레이하는 단계를 포함한다.According to some embodiments, the method is performed in a computer system having a display, a touch-sensitive surface, and one or more cameras. The method includes displaying a representation of the virtual object within a first user interface area on the display. The method further includes detecting a first input by contact at a location on the touch-sensitive surface corresponding to the representation of the virtual object on the display, while displaying the first representation of the virtual object in the first user interface area on the display. Includes. The method further includes, in response to detecting the first input by contact, the display of at least a portion of the first user interface area of the one or more cameras, according to a determination that the first input by contact meets the first criteria. Displaying a second user interface area on the display, including replacing with a representation of the field of view; And continuously displaying a representation of the virtual object while switching from displaying the first user interface area to displaying the second user interface area.
일부 실시예들에 따르면, 디스플레이, 터치 감응형 표면, 및 하나 이상의 카메라들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하는 동안, 디스플레이 상의 가상 객체의 제1 표현에 대응하는 터치 감응형 표면 상의 위치에서 제1 접촉에 의한 제1 입력을 검출하는 단계를 포함한다. 본 방법은 또한, 제1 접촉에 의한 제1 입력을 검출하는 것에 응답하여 그리고 제1 접촉에 의한 입력이 제1 기준들을 충족한다는 결정에 따라, 제1 사용자 인터페이스 영역과 상이한 제2 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 디스플레이하는 동안, 제2 입력을 검출하는 단계; 및 제2 입력을 검출하는 것에 응답하여, 제2 입력이 제2 사용자 인터페이스 영역 내의 가상 객체를 조작하라는 요청에 대응한다는 결정에 따라, 제2 입력에 기초하여 제2 사용자 인터페이스 영역 내의 가상 객체의 제2 표현의 디스플레이 속성을 변경하고; 제2 입력이 증강 현실 환경에 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라, 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하는 단계를 포함한다.According to some embodiments, the method is performed in a computer system having a display, a touch-sensitive surface, and one or more cameras. The method includes displaying a first representation of the virtual object within a first user interface area on the display. The method further comprises, while displaying the first representation of the virtual object in a first user interface area on the display, a first input by a first contact at a location on the touch-sensitive surface corresponding to the first representation of the virtual object on the display. And detecting. The method further comprises, in response to detecting a first input by the first contact and in accordance with a determination that the input by the first contact meets the first criteria, within a second user interface area different from the first user interface area. And displaying the representation of the virtual object. The method further includes detecting a second input while displaying a second representation of the virtual object within a second user interface area; And in response to detecting the second input, in response to a determination that the second input corresponds to a request to manipulate the virtual object in the second user interface area, based on the second input, a second input of the virtual object in the second user interface area. 2 change the display properties of the expression; In accordance with the determination that the second input corresponds to a request to display the virtual object in the augmented reality environment, displaying a third representation of the virtual object with a representation of the field of view of the one or more cameras.
일부 실시예들에 따르면, 디스플레이 및 터치 감응형 표면을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 제1 사용자 인터페이스를 디스플레이하라는 요청에 응답하여, 제1 아이템의 표현과 함께 제1 사용자 인터페이스를 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제1 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 제1 아이템이 제1 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시와 함께 제1 아이템의 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제1 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 시각적 표시 없이 제1 아이템의 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제1 아이템의 표현을 디스플레이한 후, 제2 아이템을 포함하는 제2 사용자 인터페이스를 디스플레이하라는 요청을 수신하는 단계를 포함한다. 본 방법은 또한, 제2 사용자 인터페이스를 디스플레이하라는 요청에 응답하여, 제2 아이템의 표현과 함께 제2 사용자 인터페이스를 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 제2 아이템이 제2 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시와 함께 제2 아이템의 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제2 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 시각적 표시 없이 제2 아이템의 표현을 디스플레이하는 단계를 포함한다.According to some embodiments, a method is performed in a computer system having a display and a touch-sensitive surface. The method includes in response to a request to display the first user interface, displaying a first user interface with a representation of the first item. The method also displays a representation of the first item with a visual indication indicating that the first item corresponds to each of the first virtual three-dimensional objects, according to the determination that the first item corresponds to each virtual three-dimensional object. It includes the step of. The method also includes displaying a representation of the first item without a visual indication according to the determination that the first item does not correspond to each virtual three-dimensional object. The method also includes, after displaying the representation of the first item, receiving a request to display a second user interface comprising the second item. The method also includes, in response to a request to display the second user interface, displaying the second user interface with a representation of the second item. The method also displays a representation of the second item with a visual indication indicating that the second item corresponds to each second virtual three-dimensional object according to the determination that the second item corresponds to each virtual three-dimensional object. It includes the step of. The method also includes displaying a representation of the second item without a visual indication according to the determination that the second item does not correspond to each virtual three-dimensional object.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 및 하나 이상의 카메라들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청을 수신하는 단계를 포함한다. 본 방법은 또한, 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청에 응답하여, 디스플레이 생성 컴포넌트를 통해, 제1 사용자 인터페이스 영역에 포함되는 하나 이상의 카메라들의 시야의 적어도 일부분 위에 가상 객체의 표현을 디스플레이하는 단계를 포함하고, 하나 이상의 카메라들의 시야는 하나 이상의 카메라들이 위치되는 물리적 환경의 뷰(view)이다. 가상 객체의 표현을 디스플레이하는 단계는, 객체 배치 기준들이 충족되지 않는다는 결정에 따라 - 객체 배치 기준들은 객체 배치 기준들이 충족되기 위해 가상 객체에 대한 배치 위치가 하나 이상의 카메라들의 시야 내에서 식별될 것을 요구함 -, 제1 세트의 시각적 속성들로 그리고 물리적 환경의 어느 부분이 하나 이상의 카메라들의 시야 내에 디스플레이되는지와 독립적인 제1 배향으로 가상 객체의 표현을 디스플레이하는 단계; 및 객체 배치 기준들이 충족된다는 결정에 따라, 제1 세트의 시각적 속성들과 구별되는 제2 세트의 시각적 속성들로 그리고 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 대응하는 제2 배향으로 가상 객체의 표현을 디스플레이하는 단계를 포함한다.According to some embodiments, a method is performed in a computer system having a display generating component, one or more input devices, and one or more cameras. The method includes receiving a request to display a virtual object within a first user interface area that includes at least a portion of the field of view of one or more cameras. The method further comprises, in response to a request to display the virtual object in the first user interface area, displaying a representation of the virtual object over at least a portion of the field of view of one or more cameras included in the first user interface area through a display generating component. And the field of view of the one or more cameras is a view of the physical environment in which the one or more cameras are located. Displaying the representation of the virtual object, depending on the determination that the object placement criteria are not met-the object placement criteria require that the placement position for the virtual object be identified within the field of view of one or more cameras in order for the object placement criteria to be met. -Displaying a representation of the virtual object with a first set of visual properties and in a first orientation independent of which portion of the physical environment is displayed within the field of view of the one or more cameras; And in a second set of visual attributes distinct from the first set of visual attributes and in a second orientation corresponding to a plane within the physical environment detected within the field of view of the one or more cameras, upon determination that the object placement criteria are met. And displaying the representation of the virtual object.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 하나 이상의 카메라들, 및 하나 이상의 카메라들을 포함하는 디바이스의 자세의 변경들을 검출하기 위한 하나 이상의 자세 센서들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하는 단계를 포함한다. 본 방법은 또한, 물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하는 것에 응답하여, 하나 이상의 카메라들의 시야의 표현을 디스플레이하고, 캘리브레이션 기준들이 물리적 환경의 증강 현실 뷰에 대해 충족되지 않는다는 결정에 따라, 물리적 환경에서의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 단계를 포함하고, 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 단계는, 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 하나 이상의 자세 센서들을 통해, 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 단계; 및 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 것에 응답하여, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 단계를 포함한다. 본 방법은 또한, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 디스플레이 상에서 이동하는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 캘리브레이션 기준들이 충족되는 것을 검출하는 단계를 포함한다. 본 방법은 또한, 캘리브레이션 기준들이 충족되는 것을 검출하는 것에 응답하여, 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지하는 단계를 포함한다.According to some embodiments, a method is performed in a computer system having a display generating component, one or more input devices, one or more cameras, and one or more attitude sensors for detecting changes in the attitude of a device including one or more cameras. do. The method includes receiving a request to display an augmented reality view of the physical environment within a first user interface area that includes a representation of the field of view of one or more cameras. The method also displays, in response to receiving a request to display an augmented reality view of the physical environment, a representation of the field of view of one or more cameras, and upon determining that calibration criteria are not met for an augmented reality view of the physical environment , Displaying a calibration user interface object that is dynamically animated according to movement of one or more cameras in a physical environment, and displaying the calibration user interface object includes, while displaying the calibration user interface object, one or more postures. Detecting, through the sensors, a change in attitude of one or more cameras in the physical environment; And in response to detecting a change in the attitude of the one or more cameras in the physical environment, adjusting at least one display parameter of the calibration user interface object according to the detected change in the attitude of the one or more cameras in the physical environment. do. The method also includes detecting that calibration criteria are met while displaying a calibration user interface object that moves on the display in accordance with the detected change in the attitude of one or more cameras in the physical environment. The method also includes responsive to detecting that calibration criteria are met, stopping displaying the calibration user interface object.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 및 터치 감응형 표면을 포함하는 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 디스플레이 생성 컴포넌트에 의해, 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 제1 시점(perspective)의 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 제1 시점의 표현을 디스플레이하는 동안, 가상 3차원 객체의 제1 시점으로부터 가시적이지 않은 가상 3차원 객체의 일부분을 디스플레이하기 위해 가상 3차원 객체를 디스플레이에 대해 회전시키라는 요청에 대응하는 제1 입력을 검출하는 단계를 포함한다. 본 방법은 또한, 제1 입력을 검출하는 것에 응답하여, 제1 입력이 제1 축을 중심으로 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 제1 입력의 크기에 기초하여 결정되는 그리고 제1 축에 대한 임계량 초과의 회전에 의해 가상 3차원 객체의 회전을 제한하는 이동에 대한 한계에 의해 제약되는 양만큼 가상 3차원 객체를 제1 축에 대해 회전시키고; 제1 입력이 제1 축과 상이한 제2 축을 중심으로 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 제1 입력의 크기에 기초하여 결정되는 양만큼 가상 3차원 객체를 제2 축에 대해 회전시키는 단계를 포함하고, 각각의 임계치 초과의 크기를 갖는 입력의 경우, 디바이스는 임계량 초과의 회전만큼 제2 축에 대해 가상 3차원 객체를 회전시킨다.According to some embodiments, a method is performed in a computer system having a display generating component and one or more input devices including a touch-sensitive surface. The method includes displaying, by a display generating component, a representation of a first perspective of a virtual three-dimensional object within a first user interface area. The method further provides for displaying a portion of the virtual 3D object that is not visible from the first view of the virtual 3D object while displaying the representation of the first viewpoint of the virtual 3D object in the first user interface area on the display. And detecting a first input corresponding to a request to rotate the virtual three-dimensional object with respect to the display. The method further comprises, in response to detecting the first input, determined based on the magnitude of the first input, according to a determination that the first input corresponds to a request to rotate the three-dimensional object about the first axis, and Rotating the virtual three-dimensional object about the first axis by an amount constrained by the limit on movement that limits the rotation of the virtual three-dimensional object by rotation above the threshold amount about the first axis; According to the determination that the first input corresponds to a request to rotate the 3D object about a second axis different from the first axis, the virtual 3D object is transferred to the second axis by an amount determined based on the size of the first input. And, for inputs having a magnitude greater than each threshold, the device rotates the virtual three-dimensional object about the second axis by a rotation greater than the threshold amount.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트 및 터치 감응형 표면을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 디스플레이 생성 컴포넌트를 통해, 제1 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제1 객체 조작 거동 및 제2 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제2 객체 조작 거동을 포함하는 복수의 객체 조작 거동들과 연관된 사용자 인터페이스 객체를 포함하는 제1 사용자 인터페이스 영역을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제1 사용자 인터페이스 영역을 디스플레이하는 동안, 터치 감응형 표면을 가로지르는 하나 이상의 접촉들의 이동을 검출하는 것을 포함하여, 사용자 인터페이스 객체에 대한 입력의 제1 부분을 검출하고, 하나 이상의 접촉들이 터치 감응형 표면 상에서 검출되는 동안, 제1 제스처 인식 기준들 및 제2 제스처 인식 기준들 양자 모두에 대한 하나 이상의 접촉들의 이동을 평가하는 단계를 포함한다. 본 방법은 또한, 입력의 제1 부분을 검출하는 것에 응답하여, 입력의 제1 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는 단계를 포함하고, 사용자 인터페이스 객체의 외관을 업데이트하는 단계는, 입력의 제1 부분이 제2 제스처 인식 기준들을 충족하기 전에 제1 제스처 인식 기준들을 충족한다는 결정에 따라, 입력의 제1 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고; 제2 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 제2 제스처 인식 기준들을 업데이트하는 단계; 및 입력이 제1 제스처 인식 기준들을 충족하기 전에 제2 제스처 인식 기준들을 충족한다는 결정에 따라, 입력의 제1 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고; 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 제1 제스처 인식 기준들을 업데이트하는 단계를 포함한다.In accordance with some embodiments, a method is performed in a computer system having a display generating component and a touch-sensitive surface. The method includes a first object manipulation behavior performed in response to inputs meeting the first gesture recognition criteria and a second object manipulation behavior performed in response to inputs meeting the second gesture recognition criteria through a display generating component. And displaying a first user interface area including a user interface object associated with a plurality of object manipulation behaviors including. The method further includes detecting movement of one or more contacts across the touch-sensitive surface while displaying the first user interface area, detecting a first portion of the input to the user interface object, and detecting the one or more While the contacts are detected on the touch-sensitive surface, evaluating movement of the one or more contacts relative to both the first gesture recognition criteria and the second gesture recognition criteria. The method also includes, in response to detecting the first portion of the input, updating the appearance of the user interface object based on the first portion of the input, wherein the updating the appearance of the user interface object comprises: Change the appearance of the user interface object according to the first object manipulation behavior based on the first portion of the input, according to a determination that the first portion of the first portion satisfies the first gesture recognition criteria before meeting the second gesture recognition criteria; Updating second gesture recognition criteria by increasing a threshold for the second gesture recognition criteria; And according to a determination that the input meets the second gesture recognition criteria before meeting the first gesture recognition criteria, change the appearance of the user interface object according to the second object manipulation behavior based on the first portion of the input; Updating the first gesture recognition criteria by increasing the threshold for the first gesture recognition criteria.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 하나 이상의 오디오 출력 생성기들, 및 하나 이상의 카메라들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 디스플레이 생성 컴포넌트를 통해, 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 단계를 포함하고, 디스플레이하는 단계는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 가상 객체의 표현 사이의 제1 공간적 관계를 유지하는 단계를 포함한다. 본 방법은 또한, 하나 이상의 카메라들의 시야를 조정하는 디바이스의 이동을 검출하는 단계를 포함한다. 본 방법은 또한, 하나 이상의 카메라들의 시야를 조정하는 디바이스의 이동을 검출하는 것에 응답하여, 하나 이상의 카메라들의 시야가 조정됨에 따라 하나 이상의 카메라들의 시야 내에서 검출되는 평면과 가상 객체 사이의 제1 공간적 관계에 따라 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이를 조정하고, 디바이스의 이동이 임계량 초과의 가상 객체로 하여금 하나 이상의 카메라들의 시야의 디스플레이된 부분의 외측으로 이동하게 한다는 결정에 따라, 하나 이상의 오디오 출력 생성기들을 통해, 제1 오디오 경보를 생성하는 단계를 포함한다.According to some embodiments, a method is performed in a computer system having a display generating component, one or more input devices, one or more audio output generators, and one or more cameras. The method includes, via a display generation component, displaying a representation of the virtual object within a first user interface area comprising a representation of the field of view of one or more cameras, wherein the displaying step is captured within the field of view of one or more cameras. And maintaining a first spatial relationship between the plane detected in the physical environment and the representation of the virtual object. The method also includes detecting movement of the device that adjusts the field of view of one or more cameras. The method also includes, in response to detecting movement of the device that adjusts the field of view of the one or more cameras, a first spatial between the virtual object and the plane detected within the field of view of the one or more cameras as the field of view of the one or more cameras is adjusted. According to the determination that the display of the representation of the virtual object in the first user interface area is adjusted according to the relationship, and the movement of the device causes the virtual object exceeding the threshold amount to move outside the displayed portion of the field of view of one or more cameras, one And generating a first audio alert through the above audio output generators.
일부 실시예들에 따르면, 전자 디바이스는 디스플레이 생성 컴포넌트, 선택적으로 하나 이상의 입력 디바이스들, 선택적으로 하나 이상의 터치 감응형 표면들, 선택적으로 하나 이상의 카메라들, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들, 선택적으로 하나 이상의 오디오 출력 생성기들, 선택적으로 하나 이상의 디바이스 배향 센서들, 선택적으로 하나 이상의 촉각적 출력 생성기들, 선택적으로 자세의 변경들을 검출하기 위한 하나 이상의 자세 센서들, 하나 이상의 프로세서들, 및 하나 이상의 프로그램들을 저장하는 메모리를 포함하고; 하나 이상의 프로그램들은 하나 이상의 프로세서들에 의해 실행되도록 구성되고, 하나 이상의 프로그램들은 본 명세서에 기술되는 방법들 중 임의의 방법의 동작들을 수행하거나 또는 그의 수행을 야기하기 위한 명령어들을 포함한다. 일부 실시예들에 따르면, 컴퓨터 판독가능 저장 매체는, 디스플레이 생성 컴포넌트, 선택적으로 하나 이상의 입력 디바이스들, 선택적으로 하나 이상의 터치 감응형 표면들, 선택적으로 하나 이상의 카메라들, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들, 선택적으로 하나 이상의 오디오 출력 생성기들, 선택적으로 하나 이상의 디바이스 배향 센서들, 선택적으로 하나 이상의 촉각적 출력 생성기들, 및 선택적으로 하나 이상의 자세 센서들을 갖는 전자 디바이스에 의해 실행될 때, 디바이스로 하여금 본 명세서에 기술된 방법들 중 임의의 방법의 동작들을 수행하게 하는 또는 그러한 동작들의 수행을 야기하게 하는 명령어들을 저장하였다. 일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 선택적으로 하나 이상의 입력 디바이스들, 선택적으로 하나 이상의 터치 감응형 표면들, 선택적으로 하나 이상의 카메라들, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들, 선택적으로 하나 이상의 오디오 출력 생성기들, 선택적으로 하나 이상의 디바이스 배향 센서들, 선택적으로 하나 이상의 촉각적 출력 생성기들, 선택적으로 하나 이상의 자세 센서들, 메모리, 및 메모리 내에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 갖는 전자 디바이스 상의 그래픽 사용자 인터페이스는 본 명세서에 기술된 방법들 중 임의의 방법에서 기술된 바와 같이, 입력들에 응답하여 업데이트되는, 본 명세서에 기술된 방법들 중 임의의 방법으로 디스플레이되는 요소들 중 하나 이상을 포함한다. 일부 실시예들에 따르면, 전자 디바이스는, 디스플레이 생성 컴포넌트, 선택적으로 하나 이상의 입력 디바이스들, 선택적으로 하나 이상의 터치 감응형 표면들, 선택적으로 하나 이상의 카메라들, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들, 선택적으로 하나 이상의 오디오 출력 생성기들, 선택적으로 하나 이상의 디바이스 배향 센서들, 선택적으로 하나 이상의 촉각적 출력 생성기들, 및 선택적으로 자세의 변경들을 검출하기 위한 하나 이상의 자세 센서들; 및 본 명세서에 기술된 방법들 중 임의의 방법의 동작들을 수행하기 위한 또는 그러한 동작들의 수행을 야기하기 위한 수단을 포함한다. 일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 선택적으로 하나 이상의 입력 디바이스들, 선택적으로 하나 이상의 터치 감응형 표면들, 선택적으로 하나 이상의 카메라들, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들, 선택적으로 하나 이상의 오디오 출력 생성기들, 선택적으로 하나 이상의 디바이스 배향 센서들, 선택적으로 하나 이상의 촉각적 출력 생성기들, 및 선택적으로 자세의 변경들을 검출하기 위한 하나 이상의 자세 센서들을 갖는 전자 디바이스에서 사용하기 위한 정보 프로세싱 장치는 본 명세서에 기술된 방법들 중 임의의 방법의 동작들을 수행하기 위한 또는 그러한 동작들의 수행을 야기하기 위한 수단을 포함한다.According to some embodiments, the electronic device comprises a display generating component, optionally one or more input devices, optionally one or more touch-sensitive surfaces, optionally one or more cameras, optionally an intensity of contacts with a touch-sensitive surface. One or more sensors, optionally one or more audio output generators, optionally one or more device orientation sensors, optionally one or more tactile output generators, optionally one or more attitude sensors for detecting changes in attitude A memory storing one or more processors, one or more programs; The one or more programs are configured to be executed by one or more processors, and the one or more programs include instructions for performing the operations of or causing the performance of any of the methods described herein. According to some embodiments, the computer-readable storage medium comprises a display generating component, optionally one or more input devices, optionally one or more touch-sensitive surfaces, optionally one or more cameras, optionally a touch-sensitive surface, and Having one or more sensors for detecting the intensities of the contacts of, optionally one or more audio output generators, optionally one or more device orientation sensors, optionally one or more tactile output generators, and optionally one or more attitude sensors. Stored instructions that, when executed by the electronic device, cause the device to perform the operations of any of the methods described herein or cause the performance of those operations. According to some embodiments, detecting intensities of contacts with a display generating component, optionally one or more input devices, optionally one or more touch-sensitive surfaces, optionally one or more cameras, optionally a touch-sensitive surface. One or more sensors, optionally one or more audio output generators, optionally one or more device orientation sensors, optionally one or more tactile output generators, optionally one or more attitude sensors, a memory, and one or more stored in the memory A graphical user interface on an electronic device having one or more processors for executing programs is updated in response to inputs, as described in any of the methods described herein. It includes one or more of the elements displayed in any way. According to some embodiments, the electronic device comprises: a display generating component, optionally one or more input devices, optionally one or more touch-sensitive surfaces, optionally one or more cameras, optionally of contacts with a touch-sensitive surface. One or more sensors for detecting intensities, optionally one or more audio output generators, optionally one or more device orientation sensors, optionally one or more tactile output generators, and optionally one or more for detecting changes in attitude Attitude sensors; And means for performing or causing the performance of any of the methods described herein. According to some embodiments, detecting intensities of contacts with a display generating component, optionally one or more input devices, optionally one or more touch-sensitive surfaces, optionally one or more cameras, optionally a touch-sensitive surface. Having one or more sensors for, optionally one or more audio output generators, optionally one or more device orientation sensors, optionally one or more tactile output generators, and optionally one or more attitude sensors for detecting changes in attitude. An information processing apparatus for use in an electronic device includes means for performing the operations of any of the methods described herein or for causing the performance of such operations.
따라서, 디스플레이 생성 컴포넌트들, 선택적으로 하나 이상의 입력 디바이스들, 선택적으로 하나 이상의 터치 감응형 표면들, 선택적으로 하나 이상의 카메라들, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들, 선택적으로 하나 이상의 오디오 출력 생성기들, 선택적으로 하나 이상의 디바이스 배향 센서들, 선택적으로 하나 이상의 촉각적 출력 생성기들, 및 선택적으로 하나 이상의 자세 센서들을 갖는 전자 디바이스들에는 다양한 콘텍스트들로 가상 객체들을 디스플레이하기 위한 개선된 방법들 및 인터페이스들이 제공되고, 그에 의해 그러한 디바이스들에 의해 유효성, 효율 및 사용자 만족도를 증가시킨다. 그러한 방법들 및 인터페이스들은 다양한 콘텍스트들로 가상 객체들을 디스플레이하기 위해 종래의 방법들을 보완하거나 대체할 수 있다.Accordingly, one or more sensors for detecting the intensities of contacts with display generating components, optionally one or more input devices, optionally one or more touch-sensitive surfaces, optionally one or more cameras, optionally a touch-sensitive surface. Electronic devices having one or more audio output generators, optionally one or more device orientation sensors, optionally one or more tactile output generators, and optionally one or more attitude sensors, may have virtual objects in various contexts. Improved methods and interfaces for display are provided, thereby increasing the effectiveness, efficiency and user satisfaction with such devices. Such methods and interfaces may complement or replace conventional methods for displaying virtual objects in a variety of contexts.
다양하게 기술된 실시예들의 보다 양호한 이해를 위해, 유사한 도면 부호들이 도면 전체에 걸쳐서 대응 부분들을 나타내는 하기의 도면들과 관련하여 하기의 발명을 실시하기 위한 구체적인 내용이 참조되어야 한다.
도 1a는 일부 실시예들에 따른, 터치 감응형 디스플레이를 갖는 휴대용 다기능 디바이스를 예시하는 블록도이다.
도 1b는 일부 실시예들에 따른, 이벤트 처리를 위한 예시적인 컴포넌트들을 예시하는 블록도이다.
도 1c는 일부 실시예들에 따른 촉각적 출력 모듈을 예시하는 블록도이다.
도 2는 일부 실시예들에 따른, 터치 스크린을 갖는 휴대용 다기능 디바이스를 예시한다.
도 3은 일부 실시예들에 따른, 디스플레이 및 터치 감응형 표면을 갖는 예시적인 다기능 디바이스의 블록도이다.
도 4a는 일부 실시예들에 따른, 휴대용 다기능 디바이스 상의 애플리케이션들의 메뉴에 대한 예시적인 사용자 인터페이스를 예시한다.
도 4b는 일부 실시예들에 따른, 디스플레이와는 별개인 터치 감응형 표면을 갖는 다기능 디바이스에 대한 예시적인 사용자 인터페이스를 예시한다.
도 4c 내지 도 4e는 일부 실시예들에 따른 동적 세기 임계치들의 예들을 예시한다.
도 4f 내지 도 4k는 일부 실시예들에 따른 샘플 촉각적 출력 패턴들의 세트를 예시한다.
도 5a 내지 도 5at는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 6a 내지 도 6aj는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을, 그리고 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 7a 내지 도 7e, 도 7f1, 도 7f2, 도 7g1, 도 7g2, 및 도 7h 내지 도 7p는 일부 실시예들에 따른, 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시를 갖는 아이템을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 8a 내지 도 8e는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 디스플레이하기 위한 프로세스의 흐름도들이다.
도 9a 내지 도 9d는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을, 그리고 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하기 위한 프로세스의 흐름도들이다.
도 10a 내지 도 10d는 일부 실시예들에 따른, 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시를 갖는 아이템을 디스플레이하기 위한 프로세스의 흐름도들이다.
도 11a 내지 도 11v는 일부 실시예들에 따른, 객체 배치 기준들이 충족되는지 여부에 따라 상이한 시각적 속성들을 갖는 가상 객체를 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 12a 내지 도 12d, 도 12e-1, 도 12e-2, 도 12f-1, 도 12f-2, 도 12g-1, 도 12g-2, 도 12h-1, 도 12h-2, 도 12i-1, 도 12i-2, 도 12j, 도 12k-1, 도 12k-2, 도 12l-1, 및 도 12l-2는 일부 실시예들에 따른, 디바이스의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 13a 내지 도 13m은 일부 실시예들에 따른, 축을 중심으로 하는 가상 객체의 회전을 제약하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 14a 내지 도 14z는 일부 실시예들에 따른, 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 14aa 내지 도 14ad는 일부 실시예들에 따른, 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키기 위한 동작들을 예시하는 흐름도들을 예시한다.
도 15a 내지 도 15ai는 일부 실시예들에 따른, 디바이스의 이동이 가상 객체로 하여금 하나 이상의 디바이스 카메라들의 디스플레이된 시야의 외측으로 이동하게 한다는 결정에 따라 오디오 경보를 생성하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 16a 내지 도 16g는 일부 실시예들에 따른, 객체 배치 기준들이 충족되는지 여부에 따라 상이한 시각적 속성들을 갖는 가상 객체를 디스플레이하기 위한 프로세스의 흐름도들이다.
도 17a 내지 도 17d는 일부 실시예들에 따른, 디바이스의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 위한 프로세스의 흐름도들이다.
도 18a 내지 도 18i는 일부 실시예들에 따른, 축을 중심으로 하는 가상 객체의 회전을 제약하기 위한 프로세스의 흐름도들이다.
도 19a 내지 도 19h는 일부 실시예들에 따른, 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키기 위한 프로세스의 흐름도들이다.
도 20a 내지 도 20f는 일부 실시예들에 따른, 디바이스의 이동이 가상 객체로 하여금 하나 이상의 디바이스 카메라들의 디스플레이된 시야의 외측으로 이동하게 한다는 결정에 따라 오디오 경보를 생성하기 위한 프로세스의 흐름도들이다.For a better understanding of the various described embodiments, reference should be made to the specific details for carrying out the following invention in connection with the following drawings in which like reference numerals indicate corresponding parts throughout the drawings.
1A is a block diagram illustrating a portable multifunction device with a touch-sensitive display, in accordance with some embodiments.
1B is a block diagram illustrating example components for event processing, in accordance with some embodiments.
1C is a block diagram illustrating a tactile output module according to some embodiments.
2 illustrates a portable multifunction device with a touch screen, in accordance with some embodiments.
3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface, in accordance with some embodiments.
4A illustrates an exemplary user interface for a menu of applications on a portable multifunction device, in accordance with some embodiments.
4B illustrates an exemplary user interface for a multifunction device having a touch-sensitive surface separate from the display, in accordance with some embodiments.
4C-4E illustrate examples of dynamic intensity thresholds in accordance with some embodiments.
4F-4K illustrate a set of sample tactile output patterns in accordance with some embodiments.
5A-5A illustrate exemplary user interfaces for displaying a representation of a virtual object while switching from displaying a first user interface area to displaying a second user interface area, according to some embodiments. .
6A-6AJ illustrate a first representation of a virtual object in a first user interface area, a second representation of a virtual object in a second user interface area, and a representation of a field of view of one or more cameras, according to some embodiments. Together illustrate example user interfaces for displaying a third representation of a virtual object.
7A to 7E, 7F1, 7F2, 7G1, 7G2, and 7H to 7P display items with visual indications indicating that the item corresponds to a virtual three-dimensional object, according to some embodiments. Illustrates exemplary user interfaces for doing so.
8A-8E are flowcharts of a process for displaying a representation of a virtual object while switching from displaying a first user interface area to displaying a second user interface area, in accordance with some embodiments.
9A-9D illustrate a first representation of a virtual object in a first user interface area, a second representation of a virtual object in a second user interface area, and a representation of a field of view of one or more cameras, according to some embodiments. Together are flow charts of a process for displaying a third representation of a virtual object.
10A-10D are flow diagrams of a process for displaying an item with a visual indication that the item corresponds to a virtual three-dimensional object, in accordance with some embodiments.
11A-11V illustrate example user interfaces for displaying a virtual object having different visual properties depending on whether object placement criteria are met, according to some embodiments.
12a to 12d, 12e-1, 12e-2, 12f-1, 12f-2, 12g-1, 12g-2, 12h-1, 12h-2, 12i-1 12I-2, 12J, 12K-1, 12K-2, 12L-1, and 12L-2 are dynamically animated according to movement of one or more cameras of the device, according to some embodiments. Illustrates exemplary user interfaces for displaying a calibration user interface object.
13A-13M illustrate exemplary user interfaces for restricting rotation of a virtual object about an axis, in accordance with some embodiments.
14A-14Z for increasing the second threshold size of movement required for the second object manipulation behavior, according to a determination that the first threshold size of movement is satisfied for the first object manipulation behavior, according to some embodiments. Illustrates exemplary user interfaces.
14AA to 14A are for increasing the second threshold size of movement required for the second object manipulation behavior according to the determination that the first threshold size of movement is satisfied for the first object manipulation behavior, according to some embodiments. Illustrates flowcharts illustrating operations.
15A-15AI illustrate exemplary user interfaces for generating an audio alert upon determining that movement of the device causes the virtual object to move outside the displayed field of view of one or more device cameras, according to some embodiments. do.
16A-16G are flow charts of a process for displaying a virtual object having different visual properties depending on whether object placement criteria are met, according to some embodiments.
17A-17D are flow diagrams of a process for displaying a calibration user interface object that is dynamically animated according to movement of one or more cameras of the device, according to some embodiments.
18A-18I are flow diagrams of a process for constraining rotation of a virtual object about an axis, in accordance with some embodiments.
19A-19H are for increasing the second threshold size of movement required for the second object manipulation behavior, according to a determination that the first threshold size of movement is satisfied for the first object manipulation behavior, according to some embodiments. These are the flow charts of the process.
20A-20F are flow diagrams of a process for generating an audio alert upon determining that movement of the device causes the virtual object to move outside of the displayed field of view of one or more device cameras, in accordance with some embodiments.
가상 객체는 가상 환경 내의 3차원 객체의 그래픽 표현이다. 가상 객체들과 상호작용하여 가상 객체들을 애플리케이션 사용자 인터페이스(예컨대, 증강 현실 환경을 디스플레이하지 않는 2차원 애플리케이션 사용자 인터페이스)의 콘텍스트로 디스플레이되는 것으로부터 증강 현실 환경(예컨대, 물리적 세계에서 이용가능하지 않은 추가 정보를 사용자에게 제공하는 보충 정보로 물리적 세계의 뷰가 증강되는 환경)의 콘텍스트로 디스플레이되는 것으로 전이(transition)시키는 종래의 방법들은 (예컨대, 증강 현실 환경에서 실제 또는 원하는 외관에 대한 가상 객체의 크기, 위치, 및/또는 배향을 조정하는) 의도된 결과를 달성하기 위해 종종 다수의 별개 입력들(예컨대, 제스처들 및 버튼 누르기들의 시퀀스 등)을 필요로 한다. 추가로, 종래의 입력 방법들은 종종, 물리적 세계의 뷰를 캡처하기 위해 하나 이상의 디바이스 카메라들을 활성화하는 데 필요한 시간 및/또는 증강 현실 환경에 놓일 수 있는 가상 객체들에 관하여 (예컨대, 물리적 세계의 캡처된 뷰에서 평면들 및/또는 표면들을 검출하는) 물리적 세계의 뷰를 분석 및 특성화하는 데 필요한 시간으로 인해 증강 현실 환경을 디스플레이하라는 요청을 수신하는 것과 증강 현실 환경을 디스플레이하는 것 사이에 지연을 수반한다. 본 명세서의 실시예들은 (예컨대, 애플리케이션 사용자 인터페이스의 콘텍스트로 가상 객체를 디스플레이하는 것으로부터 증강 현실 환경에서 가상 객체를 디스플레이하는 것으로 스위칭하도록 사용자가 입력을 제공하게 함으로써, 가상 객체를 증강 현실 환경에서 디스플레이하기 전에 사용자가 가상 객체의 디스플레이 속성들을 (예컨대, 3차원 스테이징 환경(staging environment)에서) 변경하게 함으로써, 사용자가 다수의 애플리케이션들에 걸쳐 시스템 전체에서 가상 객체들을 용이하게 식별하게 하는 표시를 제공함으로써, 객체에 대한 배치 정보를 결정하는 동안 객체의 시각적 속성을 변경함으로써, 캘리브레이션에 필요한 디바이스의 이동을 나타내도록 애니메이션화된(animated) 캘리브레이션 사용자 인터페이스 객체를 제공함으로써, 축을 중심으로 하는 디스플레이된 가상 객체의 회전을 제약함으로써, 이동의 임계치 크기가 제1 객체 조작 거동에 대해 충족될 때 제2 객체 조작 거동에 대한 이동의 임계치 크기를 증가시킴으로써, 그리고 가상 객체가 디스플레이된 시야 외부로 이동하였다는 것을 나타내기 위해 오디오 경보를 제공함으로써) 사용자가 다양한 콘텍스트들로 가상 객체들을 디스플레이하고/하거나 그들과 상호작용하기 위한 직관적인 방식을 제공한다.Virtual objects are graphical representations of three-dimensional objects in a virtual environment. Additions not available in the augmented reality environment (e.g., the physical world) from interacting with the virtual objects to display the virtual objects in the context of an application user interface (e.g., a two-dimensional application user interface that does not display an augmented reality environment). Conventional methods of transitioning to being displayed in the context of the environment in which the view of the physical world is augmented with supplementary information providing information to the user (e.g., the size of a virtual object for an actual or desired appearance in an augmented reality environment) It often requires a number of distinct inputs (eg, a sequence of gestures and button presses, etc.) to achieve the intended result (adjusting the location, and/or orientation). Additionally, conventional input methods often relate to virtual objects that may be placed in an augmented reality environment and/or the time required to activate one or more device cameras to capture a view of the physical world (e.g. The delay between receiving a request to display an augmented reality environment and displaying the augmented reality environment is involved due to the time required to analyze and characterize the view of the physical world (detecting planes and/or surfaces in the rendered view) do. Embodiments of the present specification (e.g., display a virtual object in an augmented reality environment by allowing the user to provide an input to switch from displaying the virtual object in the context of the application user interface to displaying the virtual object in an augmented reality environment). By allowing the user to change the display properties of the virtual object (e.g., in a three-dimensional staging environment) before doing so, by providing an indication that allows the user to easily identify virtual objects throughout the system across multiple applications. , Rotation of the displayed virtual object around an axis by providing an animated calibration user interface object to indicate the movement of the device required for calibration by changing the visual properties of the object while determining the placement information for the object. By constraining, by increasing the threshold size of movement for the second object manipulation behavior when the threshold size of movement is satisfied for the first object manipulation behavior, and to indicate that the virtual object has moved outside the displayed field of view By providing audio alerts), it provides an intuitive way for users to display and/or interact with virtual objects in various contexts.
본 명세서에 기술된 시스템들, 방법들, 및 GUI들은 다수의 방식들로 가상/증강 현실 환경들과의 사용자 인터페이스 상호작용들을 개선한다. 예를 들어, 그들은 가상 객체를 증강 현실 환경에서 디스플레이하는 것을, 그리고, 상이한 입력들에 응답하여, 가상 객체의 외관을 증강 현실 환경에서 디스플레이하기 위해 조정하는 것을 더 용이하게 만든다.The systems, methods, and GUIs described herein improve user interface interactions with virtual/augmented reality environments in a number of ways. For example, they make it easier to display the virtual object in an augmented reality environment and, in response to different inputs, adjust the appearance of the virtual object for display in the augmented reality environment.
이하에서, 도 1a 내지 도 1c, 도 2, 및 도 3은 예시적인 디바이스들의 설명을 제공한다. 도 4a, 도 4b, 도 5a 내지 도 5at, 도 6a 내지 도 6aj, 도 7a 내지 도 7p, 도 11a 내지 도 11v, 도 12a 내지 도 12l, 도 13a 내지 도 13m, 도 14a 내지 도 14z, 및 도 15a 내지 도 15ai는 다양한 콘텍스트들로 가상 객체들을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다. 도 8a 내지 도 8e는 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 디스플레이하기 위한 프로세스를 예시한다. 도 9a 내지 도 9d는 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을, 그리고 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하기 위한 프로세스를 예시한다. 도 10a 내지 도 10d는 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시를 갖는 아이템을 디스플레이하기 위한 프로세스를 예시한다. 도 16a 내지 도 16g는 객체 배치 기준들이 충족되는지 여부에 따라 상이한 시각적 속성들을 갖는 가상 객체를 디스플레이하기 위한 프로세스를 예시한다. 도 17a 내지 도 17d는 디바이스의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 위한 프로세스를 예시한다. 도 18a 내지 도 18i는 축을 중심으로 하는 가상 객체의 회전을 제약하기 위한 프로세스를 예시한다. 도 14aa 내지 도 14ad 및 도 19a 내지 도 19h는 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키기 위한 프로세스를 예시한다. 도 20a 내지 도 20f는 디바이스의 이동이 가상 객체로 하여금 하나 이상의 디바이스 카메라들의 디스플레이된 시야의 외측으로 이동하게 한다는 결정에 따라 오디오 경보를 생성하기 위한 프로세스를 예시한다. 도 5a 내지 도 5at, 도 6a 내지 도 6aj, 도 7a 내지 도 7p, 도 11a 내지 도 11v, 도 12a 내지 도 12l, 도 13a 내지 도 13m, 도 14a 내지 도 14z, 및 도 15a 내지 도 15ai의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 14aa 내지 도 14ad, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 예시하는 데 사용된다.In the following, FIGS. 1A-1C, 2, and 3 provide a description of exemplary devices. 4a, 4b, 5a to 5at, 6a to 6aj, 7a to 7p, 11a to 11v, 12a to 12l, 13a to 13m, 14a to 14z, and 15A-15Ai illustrate example user interfaces for displaying virtual objects in various contexts. 8A-8E illustrate a process for displaying a representation of a virtual object while switching from displaying a first user interface area to displaying a second user interface area. 9A to 9D are a first representation of a virtual object in a first user interface area, a second representation of a virtual object in a second user interface area, and a third representation of a virtual object together with a representation of the field of view of one or more cameras Illustrates the process for displaying. 10A-10D illustrate a process for displaying an item with a visual indication that the item corresponds to a virtual three-dimensional object. 16A-16G illustrate a process for displaying a virtual object having different visual properties depending on whether the object placement criteria are met. 17A-17D illustrate a process for displaying a calibration user interface object that is dynamically animated according to movement of one or more cameras of the device. 18A-18I illustrate a process for constraining rotation of a virtual object about an axis. 14A to 14A and 19A to 19H show a process for increasing the second threshold size of movement required for the second object manipulation behavior, according to the determination that the first threshold size of movement is satisfied for the first object manipulation behavior. Illustrate. 20A-20F illustrate a process for generating an audio alert upon determining that movement of the device causes the virtual object to move outside of the displayed field of view of one or more device cameras. 5A to 5A, 6A to 6A, 7A to 7P, 11A to 11V, 12A to 12L, 13A to 13M, 14A to 14Z, and 15A to 15AI Interfaces are in FIGS. 8A to 8E, 9A to 9D, 10A to 10D, 14A to 14A, 16A to 16G, 17A to 17D, 18A to 18I, 19A to 19H, And the processes of FIGS. 20A-20F.
예시적인 디바이스들Example devices
이제, 실시예들이 상세하게 참조될 것이며, 그 실시예들의 예들이 첨부 도면들에 예시된다. 하기의 상세한 설명에서, 많은 구체적인 상세사항들이 다양하게 설명된 실시예들의 완전한 이해를 제공하기 위해 기재된다. 그러나, 다양한 설명된 실시예들이 이들 구체적인 상세사항들 없이 실시될 수 있다는 것은 당업자에게 명백할 것이다. 다른 예들에서, 잘 알려진 방법들, 절차들, 컴포넌트들, 회로들, 및 네트워크들은 실시예들의 태양들을 불필요하게 모호하게 하지 않기 위해 상세히 설명되지 않았다.Now, the embodiments will be referred to in detail, and examples of the embodiments are illustrated in the accompanying drawings. In the detailed description that follows, many specific details are set forth to provide a thorough understanding of the various described embodiments. However, it will be apparent to those skilled in the art that various described embodiments may be practiced without these specific details. In other examples, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
일부 예들에서, 용어들, 제1, 제2 등이 본 명세서에서 다양한 요소들을 설명하는 데 사용되지만, 이들 요소들은 이들 용어들에 의해 제한되어서는 안 된다는 것이 또한 이해될 것이다. 이러한 용어들은 하나의 요소를 다른 요소와 구별하는 데에만 사용된다. 예를 들어, 다양한 설명된 실시예들의 범주로부터 벗어남이 없이, 제1 접촉이 제2 접촉으로 지칭될 수 있고, 유사하게, 제2 접촉이 제1 접촉으로 지칭될 수 있다. 제1 접촉 및 제2 접촉은 둘 모두 접촉이지만, 문맥상 명백히 달리 표시하지 않는 한, 이들이 동일한 접촉인 것은 아니다.In some examples, the terms first, second, etc. are used herein to describe various elements, but it will also be understood that these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first contact may be referred to as a second contact, and similarly, a second contact may be referred to as a first contact without departing from the scope of the various described embodiments. The first contact and the second contact are both contacts, but unless the context clearly indicates otherwise, they are not the same contact.
본 명세서에서 다양하게 기술된 실시예들의 설명에 사용되는 용어는 특정 실시예들을 기술하는 목적만을 위한 것이고, 제한하려는 의도는 아니다. 다양한 기술된 실시예들의 설명 및 첨부된 청구범위에 사용되는 바와 같이, 단수의 형태("a", "an", 및 "the")는 문맥상 명백히 달리 나타내지 않는다면 복수의 형태도 마찬가지로 포함하려는 것으로 의도된다. 또한, 본 명세서에서 사용되는 바와 같은 용어 "및/또는"은 열거되는 연관된 항목들 중 하나 이상의 항목들의 임의의 및 모든 가능한 조합들을 나타내고 그들을 포괄하는 것임이 이해될 것이다. 용어들 "포함한다(include)", "포함하는(including)", "포함한다(comprise)", 및/또는 "포함하는(comprising)"은, 본 명세서에서 사용될 때, 언급된 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않음이 추가로 이해될 것이다.The terms used in the description of the various embodiments described herein are for the purpose of describing specific embodiments only, and are not intended to be limiting. As used in the description of the various described embodiments and in the appended claims, the singular forms ("a", "an", and "the") are intended to include the plural as well, unless the context clearly indicates otherwise. Is intended. Further, it will be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated items listed. The terms “include”, “including”, “comprise”, and/or “comprising”, as used herein, refer to the recited features, integers Specifies the presence of elements, steps, actions, elements, and/or components, but the presence of one or more other features, integers, steps, actions, elements, components, and/or groups thereof Or it will be further understood that it does not exclude addition.
본 명세서에서 사용되는 바와 같이, "~는 경우(if)"라는 용어는, 선택적으로, 문맥에 따라 "~할 때(when)" 또는 "~ 시(upon)" 또는 "결정하는 것에 응답하여(in response to determining)" 또는 "검출하는 것에 응답하여(in response to detecting)"를 의미하는 것으로 해석된다. 유사하게, 어구 "~라고 결정된 경우" 또는 "[언급된 조건 또는 이벤트가] 검출된 경우"는, 선택적으로, 문맥에 따라 "~라고 결정할 때" 또는 "~라고 결정하는 것에 응답하여" 또는 "[언급된 조건 또는 이벤트]를 검출할 시" 또는 "[언급된 조건 또는 이벤트]를 검출하는 것에 응답하여"를 의미하는 것으로 해석된다.As used herein, the term "if" is, optionally, in response to "when" or "upon" or "determining, depending on the context ( in response to determining)" or "in response to detecting". Similarly, the phrases "when it is determined to" or "when [the condition or event mentioned] is detected" is, optionally, "when determining ..." or "in response to determining ... It is interpreted to mean "on detecting [the mentioned condition or event]" or "in response to detecting [the mentioned condition or event].
전자 디바이스들, 그러한 디바이스들에 대한 사용자 인터페이스들, 및 그러한 디바이스들을 사용하기 위한 연관된 프로세스들의 실시예들이 기술된다. 일부 실시예들에서, 디바이스는 PDA 및/또는 음악 재생기 기능들과 같은 다른 기능들을 또한 포함하는 휴대용 통신 디바이스, 예컨대 이동 전화기이다. 휴대용 다기능 디바이스들의 예시적인 실시예들은 미국 캘리포니아주 쿠퍼티노 소재의 애플 인크.(Apple Inc.)로부터의 아이폰(iPhone)®, 아이팟 터치(iPod Touch)®, 및 아이패드(iPad)® 디바이스들을 제한 없이 포함한다. 터치 감응형 표면들(예컨대, 터치 스크린 디스플레이들 및/또는 터치패드들)을 갖는 랩톱 또는 태블릿 컴퓨터들과 같은 다른 휴대용 전자 디바이스들이 선택적으로 사용된다. 일부 실시예들에서, 디바이스는 휴대용 통신 디바이스가 아니라 터치 감응형 표면(예컨대, 터치 스크린 디스플레이 및/또는 터치패드)을 갖는 데스크톱 컴퓨터임이 또한 이해되어야 한다.Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions such as PDA and/or music player functions. Exemplary embodiments of portable multifunction devices limit iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, CA, USA Include without. Other portable electronic devices such as laptop or tablet computers with touch-sensitive surfaces (eg, touch screen displays and/or touchpads) are optionally used. It should also be understood that in some embodiments, the device is not a portable communication device but a desktop computer having a touch-sensitive surface (eg, a touch screen display and/or a touchpad).
이하의 논의에서, 디스플레이 및 터치 감응형 표면을 포함하는 전자 디바이스가 기술된다. 그러나, 전자 디바이스가 선택적으로 물리적 키보드, 마우스 및/또는 조이스틱과 같은 하나 이상의 다른 물리적 사용자 인터페이스 디바이스들을 포함한다는 것이 이해되어야 한다.In the discussion that follows, an electronic device is described that includes a display and a touch-sensitive surface. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices such as a physical keyboard, mouse and/or joystick.
디바이스는 전형적으로 다음 중 하나 이상과 같은 다양한 애플리케이션들을 지원한다: 메모하기 애플리케이션, 드로잉 애플리케이션, 프레젠테이션 애플리케이션, 워드 프로세싱 애플리케이션, 웹사이트 제작 애플리케이션, 디스크 저작 애플리케이션, 스프레드시트 애플리케이션, 게임 애플리케이션, 전화 애플리케이션, 화상 회의 애플리케이션, 이메일 애플리케이션, 인스턴트 메시징 애플리케이션, 운동 지원 애플리케이션, 사진 관리 애플리케이션, 디지털 카메라 애플리케이션, 디지털 비디오 카메라 애플리케이션, 웹 브라우징 애플리케이션, 디지털 음악 재생기 애플리케이션, 및/또는 디지털 비디오 재생기 애플리케이션.Devices typically support a variety of applications such as one or more of the following: note-taking applications, drawing applications, presentation applications, word processing applications, website creation applications, disc authoring applications, spreadsheet applications, game applications, phone applications, and video Conferencing applications, email applications, instant messaging applications, athletic support applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music player applications, and/or digital video player applications.
디바이스 상에서 실행되는 다양한 애플리케이션들은, 선택적으로, 터치 감응형 표면과 같은 적어도 하나의 보편적인 물리적 사용자 인터페이스 디바이스를 사용한다. 터치 감응형 표면의 하나 이상의 기능들뿐만 아니라 디바이스 상에 디스플레이되는 대응하는 정보는, 선택적으로, 하나의 애플리케이션으로부터 다음 애플리케이션으로 그리고/또는 각각의 애플리케이션 내에서 조정되고/되거나 변경된다. 이러한 방식으로, 디바이스의 (터치 감응형 표면과 같은) 보편적인 물리적 아키텍처는, 선택적으로, 사용자에게 직관적이고 투명한 사용자 인터페이스들을 이용하여 다양한 애플리케이션들을 지원한다.Various applications running on the device, optionally, use at least one universal physical user interface device, such as a touch-sensitive surface. The one or more functions of the touch-sensitive surface as well as the corresponding information displayed on the device are, optionally, adjusted and/or changed from one application to the next and/or within each application. In this way, the universal physical architecture of the device (such as a touch-sensitive surface) supports a variety of applications, optionally using user interfaces that are intuitive and transparent to the user.
이제, 터치 감응형 디스플레이들을 갖는 휴대용 디바이스들의 실시예들에 주목한다. 도 1a는 일부 실시예들에 따른, 터치 감응형 디스플레이 시스템(112)을 갖는 휴대용 다기능 디바이스(100)를 예시하는 블록도이다. 터치 감응형 디스플레이 시스템(112)은 때때로 편의상 "터치 스크린"이라고 지칭되고, 때때로 터치 감응형 디스플레이로 단순히 지칭된다. 디바이스(100)는 메모리(102)(선택적으로, 하나 이상의 컴퓨터 판독가능 저장 매체들을 포함함), 메모리 제어기(122), 하나 이상의 프로세싱 유닛(CPU)들(120), 주변기기 인터페이스(118), RF 회로부(108), 오디오 회로부(110), 스피커(111), 마이크로폰(113), 입/출력(I/O) 서브시스템(106), 다른 입력 또는 제어 디바이스들(116), 및 외부 포트(124)를 포함한다. 디바이스(100)는 선택적으로 하나 이상의 광 센서(optical sensor)들(164)을 포함한다. 디바이스(100)는 선택적으로, 디바이스(100)(예컨대, 디바이스(100)의 터치 감응형 디스플레이 시스템(112)과 같은 터치 감응형 표면) 상에서의 접촉들의 세기들을 검출하기 위한 하나 이상의 세기 센서들(165)을 포함한다. 디바이스(100)는 선택적으로, 디바이스(100) 상의 촉각적 출력들을 생성하기 위한 (예를 들어, 디바이스(100)의 터치 감응형 디스플레이 시스템(112) 또는 디바이스(300)의 터치패드(355)와 같은 터치 감응형 표면 상의 촉각적 출력들을 생성하기 위한) 하나 이상의 촉각적 출력 생성기들(167)을 포함한다. 이들 컴포넌트는 선택적으로 하나 이상의 통신 버스들 또는 신호 라인들(103)을 통해 통신한다.Attention is now directed to embodiments of portable devices with touch-sensitive displays. 1A is a block diagram illustrating a
디바이스(100)는 휴대용 다기능 디바이스의 일례일 뿐이고, 디바이스(100)는, 선택적으로, 도시된 것보다 더 많거나 더 적은 컴포넌트들을 갖거나, 선택적으로, 둘 이상의 컴포넌트들을 조합하거나, 또는 선택적으로 컴포넌트들의 상이한 구성 또는 배열을 갖는다는 것이 이해되어야 한다. 도 1a에 도시된 다양한 컴포넌트들은, 하나 이상의 신호 프로세싱 및/또는 주문형 집적 회로(application specific integrated circuit)들을 비롯한, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로 구현된다.
메모리(102)는, 선택적으로, 고속 랜덤 액세스 메모리를 포함하고, 또한 선택적으로, 하나 이상의 자기 디스크 저장 디바이스, 플래시 메모리 디바이스, 또는 다른 비휘발성 솔리드 스테이트 메모리 디바이스(non-volatile solid-state memory device)와 같은 비휘발성 메모리를 포함한다. CPU(들)(120) 및 주변기기 인터페이스(118)와 같은 디바이스(100)의 다른 컴포넌트들에 의한 메모리(102)에 대한 액세스는 선택적으로 메모리 제어기(122)에 의해 제어된다.The memory 102 optionally includes a high speed random access memory, and optionally, one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices And non-volatile memory such as. Access to memory 102 by other components of
주변기기 인터페이스(118)는 디바이스의 입력 및 출력 주변기기들을 CPU(들)(120) 및 메모리(102)에 커플링시키는 데 사용될 수 있다. 하나 이상의 프로세서들(120)은 디바이스(100)에 대한 다양한 기능들을 수행하기 위해 그리고 데이터를 프로세싱하기 위해 메모리(102)에 저장된 다양한 소프트웨어 프로그램들 및/또는 명령어들의 세트들을 구동 또는 실행시킨다.The peripherals interface 118 may be used to couple the input and output peripherals of the device to the CPU(s) 120 and memory 102. One or
일부 실시예들에서, 주변기기 인터페이스(118), CPU(들)(120) 및 메모리 제어기(122)는, 선택적으로, 칩(104)과 같은 단일 칩 상에 구현된다. 일부 다른 실시예들에서, 이들은 선택적으로 별개의 칩들 상에서 구현된다.In some embodiments, peripherals interface 118, CPU(s) 120 and
RF(radio frequency) 회로부(108)는 전자기 신호들이라고도 지칭되는 RF 신호들을 수신 및 송신한다. RF 회로부(108)는 전기 신호들을 전자기 신호들로/로부터 변환하고, 전자기 신호들을 통해 통신 네트워크들 및 다른 통신 디바이스들과 통신한다. RF 회로부(108)는, 선택적으로, 안테나 시스템, RF 송수신기, 하나 이상의 증폭기, 튜너, 하나 이상의 발진기, 디지털 신호 프로세서, CODEC 칩셋, SIM(subscriber identity module) 카드, 메모리 등을 포함하지만 이들로 제한되지 않는, 이러한 기능들을 수행하기 위한 잘 알려진 회로부를 포함한다. RF 회로부(108)는, 선택적으로, 네트워크들, 예컨대 월드 와이드 웹(WWW)으로도 지칭되는 인터넷, 인트라넷, 및/또는 무선 네트워크, 예컨대 셀룰러 전화 네트워크, 무선 LAN(local area network) 및/또는 MAN(metropolitan area network), 및 다른 디바이스들과 무선 통신에 의해 통신한다. 무선 통신은, 선택적으로, GSM(Global System for Mobile Communications), EDGE(Enhanced Data GSM Environment), HSDPA(high-speed downlink packet access), HSUPA(high-speed uplink packet access), EV-DO(Evolution, Data-Only), HSPA, HSPA+, DC-HSPA(Dual-Cell HSPA), LTE(long term evolution), NFC(near field communication), W-CDMA(wideband code division multiple access), CDMA(code division multiple access), TDMA(time division multiple access), 블루투스(Bluetooth), Wi-Fi(Wireless Fidelity)(예컨대, IEEE 802.11a, IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11b, IEEE 802.11g 및/또는 IEEE 802.11n), VoIP(voice over Internet Protocol), Wi-MAX, 이메일용 프로토콜(예컨대, IMAP(Internet message access protocol) 및/또는 POP(post office protocol)), 인스턴트 메시징(예컨대, XMPP(extensible messaging and presence protocol), SIMPLE(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions), IMPS(Instant Messaging and Presence Service)), 및/또는 SMS(Short Message Service), 또는 본 문서의 출원일 당시 아직 개발되지 않은 통신 프로토콜들을 비롯한, 임의의 다른 적합한 통신 프로토콜을 포함하지만 이들로 제한되지는 않는, 복수의 통신 표준들, 프로토콜들 및 기술들 중 임의의 것을 이용한다.The radio frequency (RF)
오디오 회로부(110), 스피커(111), 및 마이크로폰(113)은 사용자와 디바이스(100) 사이에서 오디오 인터페이스를 제공한다. 오디오 회로부(110)는 주변기기 인터페이스(118)로부터 오디오 데이터를 수신하고, 그 오디오 데이터를 전기 신호로 변환하고, 그 전기 신호를 스피커(111)에 송신한다. 스피커(111)는 전기 신호를 사람이 들을 수 있는 음파로 변환한다. 오디오 회로부(110)는 또한 마이크로폰(113)에 의해 음파로부터 변환된 전기 신호를 수신한다. 오디오 회로부(110)는 전기 신호를 오디오 데이터로 변환하고, 프로세싱을 위해 오디오 데이터를 주변기기 인터페이스(118)에 송신한다. 오디오 데이터는, 선택적으로, 주변기기 인터페이스(118)에 의해 메모리(102) 및/또는 RF 회로부(108)로부터 인출되고/되거나 메모리(102) 및/또는 RF 회로부(108)로 전송된다. 일부 실시예들에서, 오디오 회로부(110)는 또한 헤드셋 잭(예컨대, 도 2의 212)을 포함한다. 헤드셋 잭은 출력-전용 헤드폰들, 또는 출력(예컨대, 한쪽 또는 양쪽 귀용 헤드폰) 및 입력(예컨대, 마이크로폰) 양쪽 모두를 갖는 헤드셋과 같은 분리가능한 오디오 입/출력 주변기기들과 오디오 회로부(110) 사이의 인터페이스를 제공한다.The audio circuit unit 110, the
I/O 서브시스템(106)은 터치 감응형 디스플레이 시스템(112) 및 다른 입력 또는 제어 디바이스들(116)과 같은, 디바이스(100) 상의 입/출력 주변기기들을 주변기기 인터페이스(118)와 커플링시킨다. I/O 서브시스템(106)은 선택적으로 디스플레이 제어기(156), 광 센서 제어기(158), 세기 센서 제어기(159), 햅틱 피드백 제어기(161) 및 다른 입력 또는 제어 디바이스들을 위한 하나 이상의 입력 제어기(160)를 포함한다. 하나 이상의 입력 제어기들(160)은 다른 입력 또는 제어 디바이스들(116)로부터/로 전기 신호들을 수신/송신한다. 다른 입력 또는 제어 디바이스들(116)은 선택적으로 물리적 버튼들(예컨대, 푸시 버튼(push button), 로커 버튼(rocker button) 등), 다이얼, 슬라이더 스위치, 조이스틱, 클릭 휠 등을 포함한다. 일부 다른 실시예들에서, 입력 제어기(들)(160)는 선택적으로 키보드, 적외선 포트, USB 포트, 스타일러스, 및/또는 마우스와 같은 포인터 디바이스 중 임의의 것과 커플링된다(또는 어떤 것에도 커플링되지 않는다). 하나 이상의 버튼들(예컨대, 도 2의 208)은, 선택적으로, 스피커(111) 및/또는 마이크로폰(113)의 음량 제어를 위한 업/다운 버튼을 포함한다. 하나 이상의 버튼들은 선택적으로 푸시 버튼(예컨대, 도 2의 206)을 포함한다.I/
터치 감응형 디스플레이 시스템(112)은 디바이스와 사용자 사이의 입력 인터페이스 및 출력 인터페이스를 제공한다. 디스플레이 제어기(156)는 터치 감응형 디스플레이 시스템(112)으로부터/으로 전기 신호들을 수신 및/또는 전송한다. 터치 감응형 디스플레이 시스템(112)은 사용자에게 시각적 출력을 디스플레이한다. 시각적 출력은 선택적으로 그래픽들, 텍스트, 아이콘들, 비디오 및 이들의 임의의 조합(총칭하여 "그래픽들"로 지칭됨)을 포함한다. 일부 실시예들에서, 시각적 출력의 일부 또는 전부가 사용자 인터페이스 객체들에 대응된다. 본 명세서에 사용된 바와 같이, "어포던스(affordance)"라는 용어는 사용자-상호작용형 그래픽 사용자 인터페이스 객체(예컨대, 그래픽 사용자 인터페이스 객체 쪽으로 향하는 입력들에 응답하도록 구성되는 그래픽 사용자 인터페이스 객체)를 지칭한다. 사용자-상호작용형 그래픽 사용자 인터페이스 객체들의 예들은, 제한 없이, 버튼, 슬라이더, 아이콘, 선택가능한 메뉴 항목, 스위치, 하이퍼링크, 또는 다른 사용자 인터페이스 제어부를 포함한다.The touch-
터치 감응형 디스플레이 시스템(112)은 햅틱 및/또는 촉각적 접촉에 기초하여 사용자로부터의 입력을 수용하는 터치 감응형 표면, 센서 또는 센서들의 세트를 갖는다. 터치 감응형 디스플레이 시스템(112) 및 디스플레이 제어기(156)는 (메모리(102) 내의 임의의 연관된 모듈들 및/또는 명령어들의 세트들과 함께) 터치 감응형 디스플레이 시스템(112) 상에서의 접촉(및 접촉의 임의의 이동 또는 중단)을 검출하고, 검출된 접촉을 터치 감응형 디스플레이 시스템(112) 상에 디스플레이된 사용자 인터페이스 객체들(예를 들어, 하나 이상의 소프트 키들, 아이콘들, 웹 페이지들 또는 이미지들)과의 상호작용으로 변환한다. 일부 실시예들에서, 터치 감응형 디스플레이 시스템(112)과 사용자 사이의 접촉 지점은 사용자의 손가락 또는 스타일러스에 대응된다.The touch-
터치 감응형 디스플레이 시스템(112)은 선택적으로 LCD(액정 디스플레이) 기술, LPD(발광 중합체 디스플레이) 기술, 또는 LED(발광 다이오드) 기술을 이용하지만, 다른 실시예들에서는 다른 디스플레이 기술들이 이용된다. 터치 감응형 디스플레이 시스템(112) 및 디스플레이 제어기(156)는 선택적으로 용량성, 저항성, 적외선 및 표면 음향파 기술들뿐만 아니라, 다른 근접 센서 어레이들 또는 터치 감응형 디스플레이 시스템(112)과의 하나 이상의 접촉 지점들을 결정하기 위한 다른 요소들을 포함하지만 이들로 한정되지 않는, 현재 알려져 있거나 추후에 개발될 복수의 터치 감지 기술들 중 임의의 것을 이용하여, 접촉 및 그의 임의의 이동 또는 중단을 검출한다. 일부 실시예들에서, 미국 캘리포니아주 쿠퍼티노 소재의 애플 인크.로부터의 아이폰®, 아이팟 터치®, 및 아이패드®에서 발견되는 것과 같은 투영형 상호 용량 감지 기술(projected mutual capacitance sensing technology)이 이용된다.The touch
터치 감응형 디스플레이 시스템(112)은 선택적으로 100 dpi를 초과하는 비디오 해상도를 갖는다. 일부 실시예들에서, 터치 스크린 비디오 해상도는 400dpi를 초과한다(예컨대, 500dpi, 800dpi, 또는 그 이상). 사용자는 선택적으로 스타일러스, 손가락 등과 같은 임의의 적합한 객체 또는 부속물을 이용하여 터치 감응형 디스플레이 시스템(112)과 접촉한다. 일부 실시예들에서, 사용자 인터페이스는 손가락 기반 접촉들 및 제스처들을 이용하여 동작하도록 설계되는데, 이는 터치 스크린 상에서의 손가락의 더 넓은 접촉 면적으로 인해 스타일러스 기반 입력보다 덜 정밀할 수 있다. 일부 실시예들에서, 디바이스는 대략적인 손가락 기반 입력을 사용자가 원하는 액션(action)들을 수행하기 위한 정밀한 포인터/커서 위치 또는 커맨드로 변환한다.The touch
일부 실시예들에서, 터치 스크린 이외에, 디바이스(100)는, 선택적으로, 특정 기능들을 활성화 또는 비활성화시키기 위한 터치패드(도시되지 않음)를 포함한다. 일부 실시예들에서, 터치패드는, 터치 스크린과는 달리, 시각적 출력을 디스플레이하지 않는 디바이스의 터치 감응형 영역이다. 터치패드는 선택적으로 터치 감응형 디스플레이 시스템(112)과는 별개인 터치 감응형 표면, 또는 터치 스크린에 의해 형성된 터치 감응형 표면의 연장부이다.In some embodiments, in addition to the touch screen, the
디바이스(100)는 또한 다양한 컴포넌트들에 전력을 공급하기 위한 전력 시스템(162)을 포함한다. 전력 시스템(162)은, 선택적으로, 전력 관리 시스템, 하나 이상의 전원(예컨대, 배터리, 교류 전류(alternating current, AC)), 재충전 시스템, 전력 고장 검출 회로, 전력 변환기 또는 인버터, 전력 상태 표시자(예컨대, 발광 다이오드(LED)), 및 휴대용 디바이스들 내에서의 전력의 생성, 관리 및 분배와 연관된 임의의 다른 컴포넌트들을 포함한다.
디바이스(100)는 또한 선택적으로 하나 이상의 광 센서(164)를 포함한다. 도 1a는 I/O 서브시스템(106) 내의 광 센서 제어기(158)와 커플링된 광 센서를 도시한다. 광 센서(들)(164)는 선택적으로 CCD(charge-coupled device) 또는 CMOS(complementary metal-oxide semiconductor) 포토트랜지스터들을 포함한다. 광 센서(들)(164)는 하나 이상의 렌즈를 통해 투영되는, 주변환경으로부터의 광을 수광하고, 그 광을 이미지를 표현하는 데이터로 변환한다. 이미징 모듈(143)(카메라 모듈로도 지칭됨)과 함께, 광 센서(들)(164)는 선택적으로, 정지 이미지들 및/또는 비디오를 캡처한다. 일부 실시예들에서, 광 센서는 디바이스(100)의 전면 상의 터치 감응형 디스플레이 시스템(112)의 반대편인 디바이스의 배면 상에 위치되어, 터치 스크린이 정지 및/또는 비디오 이미지 획득을 위한 뷰파인더로서 사용될 수 있게 한다. 일부 실시예들에서, 다른 광 센서가 (예를 들어, 셀카를 위해, 사용자가 터치 스크린 상에서 다른 화상 회의 참가자들을 보면서 화상 회의를 하기 위해, 등등을 위해) 사용자의 이미지가 획득되도록 디바이스의 전면 상에 위치된다.
디바이스(100)는, 또한, 선택적으로, 하나 이상의 접촉 세기 센서들(165)을 포함한다. 도 1a는 I/O 서브시스템(106) 내의 세기 센서 제어기(159)와 커플링된 접촉 세기 센서를 도시한다. 접촉 세기 센서(들)(165)는, 선택적으로, 하나 이상의 압전 저항 스트레인 게이지, 용량성 힘 센서, 전기적 힘 센서, 압전 힘 센서, 광학적 힘 센서, 용량성 터치 감응형 표면, 또는 다른 세기 센서들(예컨대, 터치 감응형 표면 상에서의 접촉의 힘(또는 압력)을 측정하는 데 사용되는 센서들)을 포함한다. 접촉 세기 센서(들)(165)는 주변환경으로부터 접촉 세기 정보(예컨대, 압력 정보 또는 압력 정보에 대한 대용물(proxy))를 수신한다. 일부 실시예들에서, 적어도 하나의 접촉 세기 센서는 터치 감응형 표면(예컨대, 터치 감응형 디스플레이 시스템(112))과 함께 위치(collocate)되거나 그에 근접한다. 일부 실시예들에서, 적어도 하나의 접촉 세기 센서는 디바이스(100)의 전면 상에 위치된 터치 스크린 디스플레이 시스템(112)의 반대편인 디바이스(100)의 배면 상에 위치된다.
디바이스(100)는 또한 선택적으로 하나 이상의 근접 센서(166)를 포함한다. 도 1a는 주변기기 인터페이스(118)와 커플링된 근접 센서(166)를 도시한다. 대안적으로, 근접 센서(166)는 I/O 서브시스템(106) 내의 입력 제어기(160)와 커플링된다. 일부 실시예들에서, 근접 센서는 다기능 디바이스가 사용자의 귀 근처에 위치될 때(예를 들어, 사용자가 전화 통화를 하고 있을 때), 터치 감응형 디스플레이 시스템(112)을 끄고 디스에이블시킨다.
디바이스(100)는, 또한, 선택적으로, 하나 이상의 촉각적 출력 생성기들(167)을 포함한다. 도 1a는 I/O 서브시스템(106) 내의 햅틱 피드백 제어기(161)와 커플링된 촉각적 출력 생성기를 도시한다. 일부 실시예들에서, 촉각적 출력 생성기(들)(167)는 스피커들 또는 다른 오디오 컴포넌트들과 같은 하나 이상의 전자음향 디바이스들 및/또는 모터, 솔레노이드, 전기활성 중합체, 압전 액추에이터, 정전 액추에이터, 또는 다른 촉각적 출력 생성 컴포넌트(예를 들어, 전기 신호들을 디바이스 상의 촉각적 출력들로 변환하는 컴포넌트)와 같이 에너지를 선형 모션(linear motion)으로 변환하는 전자기계 디바이스들을 포함한다. 촉각적 출력 생성기(들)(167)는 햅틱 피드백 모듈(133)로부터 촉각적 피드백 생성 명령어들을 수신하고, 디바이스(100)의 사용자에 의해 감지될 수 있는 디바이스(100) 상의 촉각적 출력들을 생성한다. 일부 실시예들에서, 적어도 하나의 촉각적 출력 생성기는 터치 감응형 표면(예컨대, 터치 감응형 디스플레이 시스템(112))과 함께 위치되거나 그에 근접하며, 선택적으로, 터치 감응형 표면을 수직으로(예컨대, 디바이스(100)의 표면 내/외로) 또는 측방향으로(예컨대, 디바이스(100)의 표면과 동일한 평면에서 전후로) 이동시킴으로써 촉각적 출력을 생성한다. 일부 실시예들에서, 적어도 하나의 촉각적 출력 생성기 센서는 디바이스(100)의 전면 상에 위치된 터치 감응형 디스플레이 시스템(112)의 반대편인 디바이스(100)의 배면 상에 위치된다.
디바이스(100)는 또한 선택적으로 하나 이상의 가속도계(168)를 포함한다. 도 1a는 주변기기 인터페이스(118)와 커플링된 가속도계(168)를 도시한다. 대안으로, 가속도계(168)는 선택적으로 I/O 서브시스템(106) 내의 입력 제어기(160)와 커플링된다. 일부 실시예들에서, 하나 이상의 가속도계들로부터 수신된 데이터의 분석에 기초하여 터치 스크린 디스플레이 상에 세로보기(portrait view) 또는 가로보기(landscape view)로 정보가 디스플레이된다. 디바이스(100)는, 선택적으로, 가속도계(들)(168) 외에도, 자력계(도시되지 않음), 및 디바이스(100)의 위치 및 배향(예컨대, 세로 또는 가로)에 관한 정보를 획득하기 위한 GPS(또는 GLONASS 또는 다른 글로벌 내비게이션 시스템) 수신기(도시되지 않음)를 포함한다.
일부 실시예들에서, 메모리(102)에 저장된 소프트웨어 컴포넌트들은 운영 체제(126), 통신 모듈(또는 명령어들의 세트)(128), 접촉/모션 모듈(또는 명령어들의 세트)(130), 그래픽 모듈(또는 명령어들의 세트)(132), 햅틱 피드백 모듈(또는 명령어들의 세트)(133), 텍스트 입력 모듈(또는 명령어들의 세트)(134), GPS 모듈(또는 명령어들의 세트)(135), 및 애플리케이션들(또는 명령어들의 세트들)(136)을 포함한다. 게다가, 일부 실시예들에서, 메모리(102)는 도 1a 및 도 3에 도시된 바와 같이 디바이스/글로벌 내부 상태(157)를 저장한다. 디바이스/글로벌 내부 상태(157)는, 존재하는 경우, 어느 애플리케이션들이 현재 활성 상태인지를 나타내는 활성 애플리케이션 상태; 어떤 애플리케이션들, 뷰들 또는 다른 정보가 터치 감응형 디스플레이 시스템(112)의 다양한 영역들을 점유하는지를 표시하는 디스플레이 상태; 디바이스의 다양한 센서들 및 다른 입력 또는 제어 디바이스들(116)로부터 획득된 정보를 포함하는 센서 상태; 및 디바이스의 위치 및/또는 자세에 관한 위치 및/또는 포지션 정보 중 하나 이상을 포함한다.In some embodiments, software components stored in memory 102 include
운영 체제(126)(예컨대, iOS, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, 또는 VxWorks와 같은 임베디드 운영 체제)는 일반적인 시스템 태스크들(예컨대, 메모리 관리, 저장 디바이스 제어, 전력 관리 등)을 제어 및 관리하기 위한 다양한 소프트웨어 컴포넌트들 및/또는 드라이버들을 포함하고, 다양한 하드웨어와 소프트웨어 컴포넌트들 사이의 통신을 용이하게 한다.Operating system 126 (e.g., an embedded operating system such as iOS, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or VxWorks) includes general system tasks (e.g., memory management, storage device control, power management, etc.) It includes various software components and/or drivers for controlling and managing the system, and facilitates communication between various hardware and software components.
통신 모듈(128)은 하나 이상의 외부 포트(124)를 통한 다른 디바이스들과의 통신을 가능하게 하고, 또한 RF 회로부(108) 및/또는 외부 포트(124)에 의해 수신되는 데이터를 처리하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 외부 포트(124)(예컨대, USB, 파이어와이어(FIREWIRE) 등)는 다른 디바이스들에 직접적으로 또는 네트워크(예컨대, 인터넷, 무선 LAN 등)를 통해 간접적으로 커플링하도록 구성된다. 일부 실시예들에서, 외부 포트는 미국 캘리포니아주 쿠퍼티노 소재의 애플 인크.로부터의 일부 아이폰®, 아이팟 터치®, 및 아이패드® 디바이스들에서 사용되는 30-핀 커넥터와 동일하거나 유사하고/하거나 호환가능한 멀티-핀(예를 들어, 30-핀) 커넥터이다. 일부 실시예들에서, 외부 포트는 미국 캘리포니아 주 쿠퍼티노 소재의 애플 인크.로부터의 일부 아이폰®, 아이팟 터치®, 및 아이패드® 디바이스들에서 사용되는 라이트닝 커넥터(Lightning connector)와 동일하거나 유사하고/하거나 호환가능한 라이트닝 커넥터이다.The
접촉/모션 모듈(130)은 선택적으로 (디스플레이 제어기(156)와 함께) 터치 감응형 디스플레이 시스템(112), 및 다른 터치 감응형 디바이스들(예를 들어, 터치패드 또는 물리적 클릭 휠)과의 접촉을 검출한다. 접촉/모션 모듈(130)은 접촉이 발생했는지의 여부를 결정하는 것(예컨대, 손가락-다운 이벤트(finger-down event)를 검출하는 것), 접촉의 세기(예컨대, 접촉의 힘 또는 압력, 또는 접촉의 힘 또는 압력에 대한 대체물)를 결정하는 것, 접촉의 이동이 있는지의 여부를 결정하여 터치 감응형 표면을 가로지르는 이동을 추적하는 것(예컨대, 하나 이상의 손가락-드래깅 이벤트(finger-dragging event)들을 검출하는 것), 및 접촉이 중지되었는지의 여부를 결정하는 것(예컨대, 손가락-업 이벤트(finger-up event) 또는 접촉 중단을 검출하는 것)과 같은, (예를 들어, 손가락에 의한, 또는 스타일러스에 의한) 접촉의 검출과 관련된 다양한 동작들을 수행하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 접촉/모션 모듈(130)은 터치 감응형 표면으로부터 접촉 데이터를 수신한다. 일련의 접촉 데이터에 의해 표현되는 접촉 지점의 이동을 결정하는 것은, 선택적으로, 접촉 지점의 속력(크기), 속도(크기 및 방향), 및/또는 가속도(크기 및/또는 방향의 변화)를 결정하는 것을 포함한다. 이들 동작들은 선택적으로 단일 접촉들(예컨대, 한 손가락 접촉들 또는 스타일러스 접촉들)에 또는 복수의 동시 접촉들(예컨대, "멀티터치"/다수의 손가락 접촉들)에 적용된다. 일부 실시예들에서, 접촉/모션 모듈(130) 및 디스플레이 제어기(156)는 터치패드 상에서의 접촉을 검출한다.The contact/
접촉/모션 모듈(130)은, 선택적으로, 사용자에 의한 제스처 입력을 검출한다. 터치 감응형 표면 상에서의 상이한 제스처들은 상이한 접촉 패턴들(예컨대, 검출된 접촉들의 상이한 모션들, 타이밍들, 및/또는 세기들)을 갖는다. 따라서, 제스처는, 선택적으로, 특정 접촉 패턴을 검출함으로써 검출된다. 예를 들어, 손가락 탭 제스처(finger tap gesture)를 검출하는 것은 손가락-다운 이벤트를 검출한 다음에 손가락-다운 이벤트와 동일한 위치(또는 실질적으로 동일한 위치)에서(예컨대, 아이콘의 위치에서) 손가락-업(리프트오프(liftoff)) 이벤트를 검출하는 것을 포함한다. 다른 예로서, 터치 감응형 표면 상에서 손가락 스와이프 제스처(finger swipe gesture)를 검출하는 것은 손가락-다운 이벤트를 검출한 다음에 하나 이상의 손가락-드래깅 이벤트들을 검출하고, 그에 후속하여 손가락-업(리프트오프) 이벤트를 검출하는 것을 포함한다. 유사하게, 탭, 스와이프, 드래그, 및 다른 제스처들은 선택적으로 스타일러스를 위한 특정 접촉 패턴을 검출함으로써 스타일러스를 위해 검출된다.The contact/
일부 실시예들에서, 손가락 탭 제스처를 검출하는 것은, 손가락-다운 이벤트와 손가락-업 이벤트를 검출하는 것 사이의 시간의 길이에 좌우되지만, 손가락-다운 이벤트와 손가락-업 이벤트를 검출하는 것 사이의 손가락 접촉의 세기에 독립적이다. 일부 실시예들에서, 탭 제스처는, 탭 동안의 손가락 접촉의 세기가 (공칭 접촉-검출 세기 임계치보다 큰) 주어진 세기 임계치, 예컨대 가볍게 누르기 또는 깊게 누르기 세기 임계치를 충족하는지 여부에 독립적으로, 손가락-다운 이벤트와 손가락-업 이벤트 사이의 시간의 길이가 미리결정된 값 미만(예컨대, 0.1, 0.2, 0.3, 0.4 또는 0.5초 미만)이라는 결정에 따라 검출된다. 따라서, 손가락 탭 제스처는, 특정 입력 기준들이 충족되기 위하여 접촉의 특성 세기가 주어진 세기 임계치를 충족할 것을 요구하지 않는 특정 입력 기준들을 충족할 수 있다. 명확화를 위해, 탭 제스처에서의 손가락 접촉은 전형적으로, 손가락-다운 이벤트가 검출되기 위하여 공칭 접촉-검출 세기 임계치(이 미만에서는 접촉이 검출되지 않음)를 충족할 필요가 있다. 스타일러스 또는 다른 접촉에 의한 탭 제스처를 검출하는 것에 유사한 분석이 적용된다. 디바이스가 터치 감응형 표면 위에 호버링(hovering)하는 손가락 또는 스타일러스 접촉을 검출할 수 있는 경우에, 공칭 접촉-검출 세기 임계치는 선택적으로 손가락 또는 스타일러스와 터치 감응형 표면 사이의 물리적 접촉에 대응하지 않는다.In some embodiments, detecting a finger tap gesture depends on the length of time between detecting a finger-down event and a finger-up event, but between detecting a finger-down event and a finger-up event. Is independent of the strength of the finger contact. In some embodiments, the tap gesture is, independently of whether the intensity of the finger contact during the tap satisfies a given intensity threshold (greater than the nominal contact-detection intensity threshold), such as a light tap or deep tap intensity threshold. It is detected according to a determination that the length of time between the down event and the finger-up event is less than a predetermined value (eg, less than 0.1, 0.2, 0.3, 0.4 or 0.5 seconds). Thus, the finger tap gesture may satisfy specific input criteria that do not require that the characteristic strength of the contact meet a given intensity threshold in order for the specific input criteria to be satisfied. For clarity, finger contact in a tap gesture typically needs to meet a nominal contact-detection intensity threshold (less than this no contact is detected) in order for a finger-down event to be detected. A similar analysis applies to detecting a tap gesture by a stylus or other contact. If the device is capable of detecting a finger or stylus contact hovering over the touch-sensitive surface, the nominal contact-detection intensity threshold does not optionally correspond to a physical contact between the finger or stylus and the touch-sensitive surface.
동일한 개념들이 다른 유형의 제스처들에 유사한 방식으로 적용된다. 예를 들어, 스와이프 제스처, 핀치(pinch) 제스처, 디핀치(depinch) 제스처, 및/또는 길게 누르기 제스처는 선택적으로 그 제스처에 포함되는 접촉들의 세기들에 독립적이거나, 또는 그 제스처를 수행하는 접촉(들)이 인식되기 위하여 세기 임계치들에 도달할 것을 요구하지 않는 기준들의 만족에 기초하여 검출된다. 예를 들어, 스와이프 제스처는 하나 이상의 접촉들의 이동량에 기초하여 검출되고; 핀치 제스처는 2개 이상의 접촉들의 서로를 향하는 이동에 기초하여 검출되고; 디핀치 제스처는 2개 이상의 접촉들의 서로로부터 멀어지는 이동에 기초하여 검출되고; 길게 누르기 제스처는 임계량 미만의 이동을 갖는 터치 감응형 표면 상에서의 접촉의 지속기간에 기초하여 검출된다. 이와 같이, 특정 제스처 인식 기준들이 충족되기 위하여 접촉(들)의 세기가 각자의 세기 임계치를 충족할 것을 특정 제스처 인식 기준들이 요구하지 않는다는 진술은, 특정 제스처 인식 기준들이, 그 제스처에서의 접촉(들)이 각자의 세기 임계치에 도달하지 않는 경우 충족될 수 있고, 그 제스처에서의 접촉들 중 하나 이상이 각자의 세기 임계치에 도달하거나 그를 초과하는 상황들에서도 또한 충족될 수 있다는 것을 의미한다. 일부 실시예들에서, 탭 제스처는, 접촉이 미리정의된 기간 동안 각자의 세기 임계치 초과인지 미만인지 여부에 무관하게, 손가락-다운 및 손가락-업 이벤트가 미리정의된 기간 내에서 검출된다는 결정에 기초하여 검출되고, 스와이프 제스처는, 접촉이 접촉 이동의 끝에서 각자의 세기 임계치 초과이더라도, 접촉 이동이 미리정의된 크기보다 더 크다는 결정에 기초하여 검출된다. 제스처의 검출이 제스처를 수행하는 접촉들의 세기에 의해 영향을 받는 구현예들(예를 들어, 디바이스는 접촉의 세기가 세기 임계치 초과일 때 길게 누르기를 더 신속하게 검출하거나, 또는 접촉의 세기가 더 높을 때 탭 입력의 검출을 지연시킴)에서도, 그러한 제스처들의 검출은, 접촉이 특정 세기 임계치에 도달하지 않는 상황들에서 제스처를 인식하기 위한 기준들이 충족될 수 있는 한(예를 들어, 제스처를 인식하는 데 걸리는 시간이 변경되더라도) 접촉들이 특정 세기 임계치에 도달할 것을 요구하지 않는다.The same concepts apply in a similar way to other types of gestures. For example, a swipe gesture, a pinch gesture, a depinch gesture, and/or a long press gesture is optionally independent of the strengths of the contacts included in the gesture, or a contact that performs the gesture. The (s) are detected based on satisfaction of criteria that do not require that intensity thresholds be reached in order to be recognized. For example, a swipe gesture is detected based on the amount of movement of one or more contacts; The pinch gesture is detected based on movement of the two or more contacts towards each other; The de-pinch gesture is detected based on movement of the two or more contacts away from each other; The long press gesture is detected based on the duration of the contact on the touch-sensitive surface with less than a threshold amount of movement. As such, the statement that certain gesture recognition criteria do not require that the strength of the contact(s) meet the respective strength threshold in order for certain gesture recognition criteria to be satisfied, is that the specific gesture recognition criteria ) May be satisfied if it does not reach the respective intensity threshold, meaning that it may also be satisfied in situations where one or more of the contacts in the gesture reaches or exceeds the respective intensity threshold. In some embodiments, the tap gesture is based on a determination that finger-down and finger-up events are detected within a predefined period, regardless of whether the contact is above or below their respective intensity threshold for a predefined period of time. And the swipe gesture is detected based on a determination that the contact movement is greater than a predefined size, even if the contact exceeds the respective intensity threshold at the end of the contact movement. Implementations in which the detection of a gesture is affected by the strength of the contacts performing the gesture (e.g., the device detects a long press more quickly when the strength of the contact exceeds the strength threshold, or the strength of the contact is more Even when high, it delays detection of tap input), the detection of such gestures, as long as the criteria for recognizing a gesture in situations where the contact does not reach a certain intensity threshold can be met (e.g. Even if the time it takes to do it changes), it does not require the contacts to reach a certain intensity threshold.
접촉 세기 임계치들, 지속기간 임계치들, 및 이동 임계치들은, 일부 상황들에서, 동일한 입력 요소와의 다수의 상이한 상호작용들이 보다 풍부한 세트의 사용자 상호작용들 및 응답들을 제공할 수 있도록 동일한 입력 요소 또는 영역으로 향하는 2개 이상의 상이한 제스처들을 구별하기 위한 휴리스틱(heuristic)들을 생성하기 위해 다양한 상이한 조합들로 조합된다. 특정 제스처 인식 기준들이 충족되기 위하여 접촉(들)의 세기가 각자의 세기 임계치를 충족할 것을 특정 세트의 제스처 인식 기준들이 요구하지 않는다는 진술은, 제스처가 각자의 세기 임계치 초과의 세기를 갖는 접촉을 포함할 때 충족되는 기준들을 갖는 다른 제스처들을 식별하기 위한 다른 세기 의존적 제스처 인식 기준들의 동시 평가를 배제하지 않는다. 예를 들어, 일부 상황들에서, 제1 제스처에 대한 제1 제스처 인식 기준들 - 이는 제1 제스처 인식 기준들이 충족되기 위하여 접촉(들)의 세기가 각자의 세기 임계치를 충족할 것을 요구하지 않음 - 은 제2 제스처에 대한 제2 제스처 인식 기준들 - 이는 각자의 세기 임계치에 도달하는 접촉(들)에 의존함 - 과 경쟁 관계에 있다. 그러한 경쟁들에서, 제스처는 선택적으로 제2 제스처에 대한 제2 제스처 인식 기준들이 먼저 충족되는 경우 제1 제스처에 대한 제1 제스처 인식 기준들을 충족하는 것으로 인식되지 않는다. 예를 들어, 접촉이 미리정의된 이동량만큼 이동하기 전에 접촉이 각자의 세기 임계치에 도달하는 경우, 스와이프 제스처보다는 오히려 깊게 누르기 제스처가 검출된다. 역으로, 접촉이 각자의 세기 임계치에 도달하기 전에 접촉이 미리정의된 이동량만큼 이동하는 경우, 깊게 누르기 제스처보다는 오히려 스와이프 제스처가 검출된다. 그러한 상황들에서도, 제1 제스처에 대한 제1 제스처 인식 기준들은 여전히, 제1 제스처 인식 기준들이 충족되기 위하여 접촉(들)의 세기가 각자의 세기 임계치를 충족할 것을 요구하지 않는데, 이는 접촉이 제스처(예를 들어, 각자의 세기 임계치 초과의 세기로 증가하지 않은 접촉을 갖는 스와이프 제스처)의 끝까지 각자의 세기 임계치 미만으로 머무른 경우, 제스처가 제1 제스처 인식 기준들에 의해 스와이프 제스처로서 인식되었을 것이기 때문이다. 이와 같이, 특정 제스처 인식 기준들이 충족되기 위하여 접촉(들)의 세기가 각자의 세기 임계치를 충족할 것을 요구하지 않는 특정 제스처 인식 기준들은, (A) 일부 상황들에서 (예를 들어, 탭 제스처의 경우) 세기 임계치와 관련한 접촉의 세기를 무시하고/하거나 (B) 일부 상황들에서 (예를 들어, 인식을 위해 깊게 누르기 제스처와 경쟁하는 길게 누르기 제스처의 경우) 특정 제스처 인식 기준들이 입력에 대응하는 제스처를 인식하기 전에, (예를 들어, 깊게 누르기 제스처에 대한) 세기 의존적 제스처 인식 기준들의 경쟁 세트가 입력을 세기 의존적 제스처에 대응하는 것으로서 인식하는 경우 (예를 들어, 길게 누르기 제스처에 대한) 특정 제스처 인식 기준들이 실패할 것이라는 의미에서 세기 임계치와 관련한 접촉의 세기에 여전히 의존할 것이다.The contact intensity thresholds, duration thresholds, and movement thresholds are, in some situations, the same input element or so that multiple different interactions with the same input element can provide a richer set of user interactions and responses. It is combined in a variety of different combinations to create heuristics for distinguishing two or more different gestures towards the area. A statement that a particular set of gesture recognition criteria does not require that the strength of the contact(s) meet its respective strength threshold in order for certain gesture recognition criteria to be met, includes a contact whose gesture has an strength above its respective strength threshold. Does not preclude simultaneous evaluation of different intensity dependent gesture recognition criteria to identify different gestures with criteria that are met when doing so. For example, in some situations, first gesture recognition criteria for a first gesture-this does not require the strength of the contact(s) to meet the respective strength threshold in order for the first gesture recognition criteria to be met- Is in competition with the second gesture recognition criteria for the second gesture, which depends on the contact(s) reaching their respective intensity threshold. In such competitions, the gesture is optionally not recognized as meeting the first gesture recognition criteria for the first gesture if the second gesture recognition criteria for the second gesture are first satisfied. For example, if a contact reaches its respective intensity threshold before the contact moves by a predefined amount of movement, a deep pressing gesture rather than a swipe gesture is detected. Conversely, if the contact moves by a predefined amount of movement before the contact reaches its respective intensity threshold, a swipe gesture is detected rather than a deep pressing gesture. Even in such situations, the first gesture recognition criteria for the first gesture still do not require the strength of the contact(s) to meet the respective strength threshold in order for the first gesture recognition criteria to be satisfied, which means that the contact If the gesture remained below the respective intensity threshold until the end of (e.g., a swipe gesture with a contact that did not increase to an intensity above the respective intensity threshold), the gesture would have been recognized as a swipe gesture by the first gesture recognition criteria. Because it is. As such, certain gesture recognition criteria that do not require the strength of the contact(s) to meet their respective strength thresholds in order for certain gesture recognition criteria to be satisfied are, (A) in some situations (e.g., the tap gesture Case) ignore the intensity of the contact in relation to the intensity threshold and/or (B) in some situations (e.g., in the case of a long-press gesture competing with a deep-press gesture for recognition) specific gesture recognition criteria corresponding to the input Prior to recognizing the gesture, if a competing set of strength-dependent gesture recognition criteria (e.g., for a deep press gesture) recognizes the input as corresponding to a strength-dependent gesture (e.g., for a press-and-hold gesture). It will still depend on the strength of the contact relative to the intensity threshold in the sense that the gesture recognition criteria will fail.
그래픽 모듈(132)은, 디스플레이되는 그래픽의 시각적 효과(예컨대, 밝기, 투명도, 채도, 콘트라스트 또는 다른 시각적 속성)를 변경하기 위한 컴포넌트들을 포함하는, 터치 감응형 디스플레이 시스템(112) 또는 다른 디스플레이 상에서 그래픽을 렌더링 및 디스플레이하기 위한 다양한 공지된 소프트웨어 컴포넌트들을 포함한다. 본 명세서에서 사용되는 바와 같이, 용어 "그래픽"은 텍스트, 웹 페이지들, 아이콘들(예컨대, 소프트 키들을 포함하는 사용자 인터페이스 객체들), 디지털 이미지들, 비디오들, 애니메이션들 등을 제한 없이 포함하는, 사용자에게 디스플레이될 수 있는 임의의 객체를 포함한다.The
일부 실시예들에서, 그래픽 모듈(132)은 사용될 그래픽을 표현하는 데이터를 저장한다. 각각의 그래픽에는, 선택적으로, 대응하는 코드가 할당된다. 그래픽 모듈(132)은, 필요한 경우, 좌표 데이터 및 다른 그래픽 속성 데이터와 함께, 디스플레이될 그래픽을 특정하는 하나 이상의 코드들을 애플리케이션들 등으로부터 수신하며, 이어서 스크린 이미지 데이터를 생성하여 디스플레이 제어기(156)에 출력한다.In some embodiments,
햅틱 피드백 모듈(133)은 디바이스(100)와의 사용자 상호작용들에 응답하여 디바이스(100) 상의 하나 이상의 위치들에서 촉각적 출력 생성기(들)(167)를 사용하여 촉각적 출력들을 생성하기 위하여 명령어들(예를 들어, 햅틱 피드백 제어기(161)에 의해 사용되는 명령어들)을 생성하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다.The
선택적으로 그래픽 모듈(132)의 컴포넌트인 텍스트 입력 모듈(134)은 다양한 애플리케이션들(예컨대, 연락처(137), 이메일(140), IM(141), 브라우저(147), 및 텍스트 입력을 필요로 하는 임의의 다른 애플리케이션)에 텍스트를 입력하기 위한 소프트 키보드들을 제공한다.Optionally, the
GPS 모듈(135)은 디바이스의 위치를 결정하고, 이 정보를 다양한 애플리케이션들에서의 사용을 위해 (예를 들어, 위치 기반 다이얼링에서 사용하기 위해 전화(138)에, 사진/비디오 메타데이터로서 카메라(143)에, 그리고 날씨 위젯들, 지역 옐로 페이지 위젯들 및 지도/내비게이션 위젯들과 같은 위치 기반 서비스들을 제공하는 애플리케이션들에) 제공한다.The
애플리케이션들(136)은, 선택적으로, 다음의 모듈들(또는 명령어들의 세트들), 또는 이들의 서브세트 또는 수퍼세트(superset)를 포함한다:
연락처 모듈(137)(때때로 주소록 또는 연락처 목록으로 지칭됨); Contacts module 137 (sometimes referred to as an address book or contact list);
전화 모듈(138);
화상 회의 모듈(139);
이메일 클라이언트 모듈(140);
인스턴트 메시징(IM) 모듈(141); Instant messaging (IM)
운동 지원 모듈(142);
정지 및/또는 비디오 이미지들을 위한 카메라 모듈(143); A
이미지 관리 모듈(144);
브라우저 모듈(147);
캘린더 모듈(148); A
날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4), 사전 위젯(149-5), 및 사용자에 의해 얻어지는 다른 위젯들뿐 아니라 사용자-생성 위젯들(149-6) 중 하나 이상을 선택적으로 포함하는 위젯 모듈들(149); Weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, and other widgets obtained by the user. As well as
사용자-생성 위젯들(149-6)을 만들기 위한 위젯 생성기 모듈(150); A
검색 모듈(151);
비디오 재생기 모듈 및 음악 재생기 모듈로 선택적으로 구성된 비디오 및 음악 재생기 모듈(152); A video and
메모 모듈(153);
지도 모듈(154); 및/또는
온라인 비디오 모듈(155).
선택적으로 메모리(102) 내에 저장되는 다른 애플리케이션들(136)의 예들은 다른 워드 프로세싱 애플리케이션들, 다른 이미지 편집 애플리케이션들, 드로잉 애플리케이션들, 프레젠테이션 애플리케이션들, JAVA-인에이블형(enabled) 애플리케이션들, 암호화, 디지털 저작권 관리, 음성 인식 및 음성 복제를 포함한다.Examples of
터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 연락처 모듈(137)은, 하기를 비롯한, 주소록 또는 연락처 목록(예를 들어, 메모리(102) 또는 메모리(370) 내의 연락처 모듈(137)의 애플리케이션 내부 상태(192)에 저장됨)을 관리하도록 하는 실행가능한 명령어들을 포함한다: 이름(들)을 주소록에 추가하는 것; 주소록으로부터 이름(들)을 삭제하는 것; 전화번호(들), 이메일 주소(들), 물리적 주소(들) 또는 다른 정보를 이름과 연관시키는 것; 이미지를 이름과 연관시키는 것; 이름들을 분류 및 정렬하는 것; 전화(138), 화상 회의(139), 이메일(140) 또는 IM(141)에 의한 통신을 개시하고/하거나 용이하게 하기 위해 전화번호들 및/또는 이메일 주소들을 제공하는 것 등.Along with the touch-
RF 회로부(108), 오디오 회로부(110), 스피커(111), 마이크로폰(113), 터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 및 텍스트 입력 모듈(134)과 함께, 전화 모듈(138)은, 전화번호에 대응하는 문자들의 시퀀스를 입력하고, 주소록(137) 내의 하나 이상의 전화번호에 액세스하고, 입력된 전화번호를 수정하고, 각자의 전화번호를 다이얼링하고, 대화를 하고, 대화가 완료된 때 접속해제하거나 끊도록 하는 실행가능한 명령어들을 포함한다. 전술된 바와 같이, 무선 통신은 선택적으로 복수의 통신 표준, 프로토콜 및 기술 중 임의의 것을 사용한다.
RF 회로부(108), 오디오 회로부(110), 스피커(111), 마이크로폰(113), 터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 광 센서(들)(164), 광 센서 제어기(158), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 연락처 목록(137) 및 전화 모듈(138)과 함께, 화상 회의 모듈(139)은 사용자 지시들에 따라 사용자와 한 명 이상의 다른 참여자들 사이의 화상 회의를 개시, 시행 및 종료하도록 하는 실행가능한 명령어들을 포함한다.
RF 회로부(108), 터치 감응형 디스플레이 시스템 (112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 이메일 클라이언트 모듈(140)은 사용자 지시들에 응답하여 이메일을 작성, 전송, 수신, 및 관리하도록 하는 실행가능한 명령어들을 포함한다. 이미지 관리 모듈(144)과 함께, 이메일 클라이언트 모듈(140)은 카메라 모듈(143)로 촬영된 정지 또는 비디오 이미지들을 갖는 이메일을 생성 및 전송하는 것을 매우 용이하게 한다.Together with the
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 인스턴트 메시징 모듈(141)은, 인스턴트 메시지에 대응하는 문자들의 시퀀스를 입력하고, 이전에 입력된 문자들을 수정하고, (예를 들어, 전화 기반 인스턴트 메시지들을 위한 단문자 메시지 서비스(SMS) 또는 멀티미디어 메시지 서비스(Multimedia Message Service, MMS) 프로토콜을 이용하거나 인터넷 기반 인스턴트 메시지들을 위한 XMPP, SIMPLE, APNs(Apple Push Notification Service) 또는 IMPS를 이용하여) 각자의 인스턴트 메시지를 송신하고, 인스턴트 메시지들을 수신하고, 수신된 인스턴트 메시지들을 보도록 하는 실행가능한 명령어들을 포함한다. 일부 실시예들에서, 송신 및/또는 수신된 인스턴트 메시지들은 선택적으로 그래픽, 사진, 오디오 파일, 비디오 파일 및/또는 MMS 및/또는 EMS(Enhanced Messaging Service)에서 지원되는 바와 같은 다른 첨부물들을 포함한다. 본 명세서에서 사용되는 바와 같이, "인스턴트 메시징"은 전화 기반 메시지들(예컨대, SMS 또는 MMS를 이용하여 전송되는 메시지들) 및 인터넷 기반 메시지들(예컨대, XMPP, SIMPLE, APNs, 또는 IMPS를 이용하여 전송되는 메시지들) 둘 모두를 지칭한다.With the
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), GPS 모듈(135), 지도 모듈(154), 및 비디오 및 음악 재생기 모듈(152)과 함께, 운동 지원 모듈(142)은 (예를 들어, 시간, 거리, 및/또는 열량 소비 목표와 함께) 운동들을 고안하고; (스포츠 디바이스들 및 스마트 워치들 내의) 운동 센서들과 통신하고; 운동 센서 데이터를 수신하고; 운동을 모니터링하는 데 사용되는 센서들을 캘리브레이션하고; 운동을 위한 음악을 선택 및 재생하고; 운동 데이터를 디스플레이, 저장 및 송신하도록 하는 실행가능 명령어들을 포함한다.
터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 광 센서(들)(164), 광 센서 제어기(158), 접촉 모듈(130), 그래픽 모듈(132) 및 이미지 관리 모듈(144)과 함께, 카메라 모듈(143)은, 정지 이미지들 또는 비디오(비디오 스트림을 포함함)를 캡처하고 이들을 메모리(102) 내에 저장하고/하거나, 정지 이미지 또는 비디오의 특성을 수정하고/하거나, 메모리(102)로부터 정지 이미지 또는 비디오를 삭제하도록 하는 실행가능 명령어들을 포함한다.Touch-
터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 카메라 모듈(143)과 함께, 이미지 관리 모듈(144)은 정지 및/또는 비디오 이미지들을 배열하거나, 수정(예컨대, 편집)하거나, 또는 그렇지 않으면 조작하고, 라벨링하고, 삭제하고, (예컨대, 디지털 슬라이드 쇼 또는 앨범에) 제시하고, 저장하도록 하는 실행가능 명령어들을 포함한다.With the touch-
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 브라우저 모듈(147)은, 웹 페이지들 또는 이들의 부분들뿐만 아니라 웹 페이지들에 링크된 첨부물들 및 다른 파일들을 검색하고, 그들에 링크하고, 수신하고, 그리고 디스플레이하는 것을 비롯한, 사용자 지시들에 따라 인터넷을 브라우징하도록 하는 실행가능 명령어들을 포함한다.Along with the
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 이메일 클라이언트 모듈(140), 및 브라우저 모듈(147)과 함께, 캘린더 모듈(148)은 사용자 지시들에 따라 캘린더들 및 캘린더들과 연관된 데이터(예를 들어, 캘린더 엔트리들, 할 일 목록들 등)를 생성, 디스플레이, 수정, 및 저장하도록 하는 실행가능한 명령어들을 포함한다.
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께, 위젯 모듈들(149)은 사용자에 의해 선택적으로 다운로드 및 사용되거나(예컨대, 날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4) 및 사전 위젯(149-5)), 또는 사용자에 의해 생성되는(예컨대, 사용자-생성 위젯(149-6)) 미니-애플리케이션들이다. 일부 실시예들에서, 위젯은 HTML(Hypertext Markup Language) 파일, CSS(Cascading Style Sheets) 파일 및 자바스크립트(JavaScript) 파일을 포함한다. 일부 실시예들에서, 위젯은 XML(Extensible Markup Language) 파일 및 자바스크립트 파일(예컨대, 야후(Yahoo)! 위젯들)을 포함한다.Together with the
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께, 위젯 생성기 모듈(150)은 위젯들을 생성(예를 들어, 웹 페이지의 사용자-지정 일부분을 위젯으로 변경)하도록 하는 실행가능한 명령어들을 포함한다.Together with the
터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 검색 모듈(151)은 사용자 지시들에 따라 하나 이상의 검색 기준들(예컨대, 하나 이상의 사용자-특정 검색어들)에 매칭되는 메모리(102) 내의 텍스트, 음악, 사운드, 이미지, 비디오, 및/또는 다른 파일들을 검색하도록 하는 실행가능 명령어들을 포함한다.Along with the touch-
터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로부(110), 스피커(111), RF 회로부(108), 및 브라우저 모듈(147)과 함께, 비디오 및 음악 재생기 모듈(152)은 사용자가 MP3 또는 AAC 파일들과 같은 하나 이상의 파일 포맷으로 저장된 녹음된 음악 및 다른 사운드 파일들을 다운로드 및 재생하도록 허용하는 실행가능한 명령어들, 및 비디오들을 (예를 들어, 터치 감응형 디스플레이 시스템(112) 상에서, 또는 무선으로 또는 외부 포트(124)를 통해 접속된 외부 디스플레이 상에서) 디스플레이하거나, 제시하거나, 그렇지 않으면 재생하도록 하는 실행가능한 명령어들을 포함한다. 일부 실시예들에서, 디바이스(100)는 선택적으로 아이팟(애플 인크.의 상표)과 같은 MP3 재생기의 기능을 포함한다.Touch-
터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 메모 모듈(153)은 사용자 지시들에 따라 메모들, 할 일 목록들 등을 생성 및 관리하도록 하는 실행가능한 명령어들을 포함한다.Along with the touch-
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), GPS 모듈(135), 및 브라우저 모듈(147)과 함께, 지도 모듈(154)은 사용자 지시들에 따라 지도들 및 지도들과 연관된 데이터(예를 들어, 운전 길 안내; 특정 위치에서의 또는 그 인근의 상점들 및 다른 관심 지점들에 관한 데이터; 및 다른 위치 기반 데이터)를 수신, 디스플레이, 수정, 및 저장하도록 하는 실행가능한 명령어들을 포함한다.
터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로부(110), 스피커(111), RF 회로부(108), 텍스트 입력 모듈(134), 이메일 클라이언트 모듈(140), 및 브라우저 모듈(147)과 함께, 온라인 비디오 모듈(155)은 사용자가 H.264와 같은 하나 이상의 파일 포맷의 온라인 비디오들에 액세스하고, 그들을 브라우징하고, (예를 들어, 스트리밍 및/또는 다운로드에 의해) 수신하고, (예를 들어, 터치 스크린(112) 상에서, 또는 무선으로 또는 외부 포트(124)를 통해 접속된 외부 디스플레이 상에서) 재생하고, 특정 온라인 비디오로의 링크와 함께 이메일을 전송하고, 달리 관리하도록 허용하는 실행가능한 명령어들을 포함한다. 일부 실시예들에서, 이메일 클라이언트 모듈(140)보다는 오히려 인스턴트 메시징 모듈(141)이 특정 온라인 비디오로의 링크를 전송하는 데 사용된다.Touch-
앞서 식별된 모듈들 및 애플리케이션들 각각은 상술한 하나 이상의 기능들 및 본 출원에 기술되는 방법들(예컨대, 본 명세서에 기술되는 컴퓨터 구현 방법들 및 다른 정보 프로세싱 방법들)을 수행하기 위한 실행가능 명령어들의 세트에 대응한다. 이들 모듈(즉, 명령어들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들 또는 모듈들로서 구현될 필요가 없으며, 따라서 이들 모듈의 다양한 서브세트들이 선택적으로 다양한 실시예들에서 조합되거나 그렇지 않으면 재배열된다. 일부 실시예들에서, 메모리(102)는 선택적으로, 앞서 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 또한, 메모리(102)는, 선택적으로, 전술되지 않은 추가의 모듈들 및 데이터 구조들을 저장한다.Each of the modules and applications identified above is an executable instruction for performing one or more functions described above and methods described herein (e.g., computer-implemented methods and other information processing methods described herein). Corresponds to a set of things. These modules (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, so various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. . In some embodiments, memory 102 optionally stores a subset of the modules and data structures identified above. In addition, memory 102 optionally stores additional modules and data structures not described above.
일부 실시예들에서, 디바이스(100)는 디바이스 상의 미리정의된 세트의 기능들의 동작이 터치 스크린 및/또는 터치패드를 통해 전용으로 수행되는 디바이스이다. 터치 스크린 및/또는 터치패드를 디바이스(100)의 동작을 위한 주 입력 제어 디바이스로서 사용함으로써, 디바이스(100) 상의 (푸시 버튼들, 다이얼들 등과 같은) 물리적 입력 제어 디바이스들의 수가 선택적으로 감소된다.In some embodiments,
전적으로 터치 스크린 및/또는 터치패드를 통해 수행되는 미리정의된 세트의 기능들은, 선택적으로, 사용자 인터페이스들 간의 내비게이션을 포함한다. 일부 실시예들에서, 터치패드는, 사용자에 의해 터치될 때, 디바이스(100)를 디바이스(100) 상에 디스플레이되는 임의의 사용자 인터페이스로부터 메인, 홈 또는 루트 메뉴로 내비게이팅한다. 이러한 실시예들에서, "메뉴 버튼"이 터치패드를 이용하여 구현된다. 일부 다른 실시예들에서, 메뉴 버튼은 터치패드 대신에 물리적 푸시 버튼 또는 다른 물리적 입력 제어 디바이스이다.The predefined set of functions performed entirely through the touch screen and/or touchpad, optionally, includes navigation between user interfaces. In some embodiments, the touchpad, when touched by the user, navigates the
도 1b는 일부 실시예들에 따른, 이벤트 처리를 위한 예시적인 컴포넌트들을 예시하는 블록도이다. 일부 실시예들에서, 메모리(102(도 1a) 또는 370(도 3))는 (예컨대, 운영 체제(126)에서의) 이벤트 분류기(170) 및 개개의 애플리케이션(136-1)(예컨대, 전술한 애플리케이션들(136, 137 내지 155, 380 내지 390) 중 임의의 것)을 포함한다.1B is a block diagram illustrating example components for event processing, in accordance with some embodiments. In some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3)) includes event classifier 170 (e.g., in operating system 126) and individual application 136-1 (e.g., above). One of the
이벤트 분류기(170)는 이벤트 정보를 수신하고, 이벤트 정보를 전달할 애플리케이션(136-1), 및 애플리케이션(136-1)의 애플리케이션 뷰(191)를 결정한다. 이벤트 분류기(170)는 이벤트 모니터(171) 및 이벤트 디스패처 모듈(event dispatcher module)(174)을 포함한다. 일부 실시예들에서, 애플리케이션(136-1)은 애플리케이션이 활성이거나 실행 중일 때 터치 감응형 디스플레이 시스템(112) 상에 디스플레이되는 현재 애플리케이션 뷰(들)를 나타내는 애플리케이션 내부 상태(192)를 포함한다. 일부 실시예들에서, 디바이스/글로벌 내부 상태(157)는 이벤트 분류기(170)에 의해 어느 애플리케이션(들)이 현재 활성인지 결정하는 데 이용되며, 애플리케이션 내부 상태(192)는 이벤트 분류기(170)에 의해 이벤트 정보를 전달할 애플리케이션 뷰들(191)을 결정하는 데 이용된다.The event classifier 170 receives event information, and determines an application 136-1 to which the event information is to be transmitted, and an application view 191 of the application 136-1. The event classifier 170 includes an
일부 실시예들에서, 애플리케이션 내부 상태(192)는 애플리케이션(136-1)이 실행을 재개할 때 이용될 재개 정보, 애플리케이션(136-1)에 의해 디스플레이되고 있거나 디스플레이될 준비가 된 정보를 나타내는 사용자 인터페이스 상태 정보, 사용자가 애플리케이션(136-1)의 이전 상태 또는 뷰로 되돌아가는 것을 가능하게 하기 위한 상태 큐(queue), 및 사용자에 의해 취해진 이전 액션들의 재실행(redo)/실행취소(undo) 큐 중 하나 이상과 같은 추가 정보를 포함한다.In some embodiments, the application
이벤트 모니터(171)는 주변기기 인터페이스(118)로부터 이벤트 정보를 수신한다. 이벤트 정보는 서브이벤트(예를 들어, 다중 터치 제스처의 일부로서 터치 감응형 디스플레이 시스템(112) 상에서의 사용자 터치)에 대한 정보를 포함한다. 주변기기 인터페이스(118)는 I/O 서브시스템(106) 또는 센서, 예컨대, 근접 센서(166), 가속도계(들)(168), 및/또는 (오디오 회로부(110)를 통한) 마이크로폰(113)으로부터 수신하는 정보를 송신한다. 주변기기 인터페이스(118)가 I/O 서브시스템(106)으로부터 수신하는 정보는 터치 감응형 디스플레이 시스템(112) 또는 터치 감응형 표면으로부터의 정보를 포함한다.The event monitor 171 receives event information from the
일부 실시예들에서, 이벤트 모니터(171)는 요청들을 미리결정된 간격으로 주변기기 인터페이스(118)에 전송한다. 이에 응답하여, 주변기기 인터페이스(118)는 이벤트 정보를 송신한다. 다른 실시예들에서, 주변기기 인터페이스(118)는 중요한 이벤트(예컨대, 미리결정된 잡음 임계치를 초과하는 입력 및/또는 미리결정된 지속기간 초과 동안의 입력을 수신하는 것)가 있을 때에만 이벤트 정보를 송신한다.In some embodiments, event monitor 171 sends requests to peripherals interface 118 at predetermined intervals. In response to this, the
일부 실시예들에서, 이벤트 분류기(170)는 또한 히트 뷰(hit view) 결정 모듈(172) 및/또는 활성 이벤트 인식기 결정 모듈(173)을 포함한다.In some embodiments, event classifier 170 also includes a hit
히트 뷰 결정 모듈(172)은 터치 감응형 디스플레이 시스템(112)이 하나 초과의 뷰를 디스플레이할 때 하나 이상의 뷰들 내에서 서브이벤트가 발생한 곳을 결정하기 위한 소프트웨어 절차들을 제공한다. 뷰들은 사용자가 디스플레이 상에서 볼 수 있는 제어부들 및 다른 요소들로 구성된다.The hit
애플리케이션과 연관된 사용자 인터페이스의 다른 태양은 본 명세서에서 때때로 애플리케이션 뷰들 또는 사용자 인터페이스 창(user interface window)들로 지칭되는 한 세트의 뷰들인데, 여기서 정보가 디스플레이되고 터치 기반 제스처가 발생한다. 터치가 검출되는 (각각의 애플리케이션의) 애플리케이션 뷰들은 선택적으로 애플리케이션의 프로그램 또는 뷰 계층구조 내의 프로그램 레벨들에 대응한다. 예를 들어, 터치가 검출되는 최하위 레벨의 뷰는 선택적으로 히트 뷰로 지칭되고, 적절한 입력들로서 인식되는 이벤트들의 세트는, 선택적으로, 터치 기반 제스처를 시작하는 초기 터치의 히트 뷰에 적어도 부분적으로 기초하여 결정된다.Another aspect of a user interface associated with an application is a set of views, sometimes referred to herein as application views or user interface windows, where information is displayed and touch-based gestures occur. The application views (of each application) for which a touch is detected optionally correspond to a program of the application or program levels within the view hierarchy. For example, the lowest level view in which a touch is detected is optionally referred to as a hit view, and the set of events recognized as appropriate inputs is optionally based at least in part on the hit view of the initial touch initiating the touch-based gesture Is determined.
히트 뷰 결정 모듈(172)은 터치 기반 제스처의 서브이벤트들과 관련된 정보를 수신한다. 애플리케이션이 계층구조에서 조직화된 다수의 뷰들을 갖는 경우, 히트 뷰 결정 모듈(172)은 히트 뷰를, 서브이벤트를 처리해야 하는 계층구조 내의 최하위 뷰로서 식별한다. 대부분의 상황들에서, 히트 뷰는 개시되는 서브이벤트(즉, 이벤트 또는 잠재적 이벤트를 형성하는 서브이벤트들의 시퀀스에서의 제1 서브이벤트)가 발생하는 최하위 레벨 뷰이다. 일단 히트 뷰가 히트 뷰 결정 모듈에 의해 식별되면, 히트 뷰는 전형적으로 그것이 히트 뷰로서 식별되게 한 것과 동일한 터치 또는 입력 소스와 관련된 모든 서브이벤트들을 수신한다.The hit
활성 이벤트 인식기 결정 모듈(173)은 뷰 계층구조 내에서 어느 뷰 또는 뷰들이 서브이벤트들의 특정 시퀀스를 수신해야 하는지를 결정한다. 일부 실시예들에서, 활성 이벤트 인식기 결정 모듈(173)은 히트 뷰만이 서브이벤트들의 특정 시퀀스를 수신해야 하는 것으로 결정한다. 다른 실시예들에서, 활성 이벤트 인식기 결정 모듈(173)은 서브이벤트의 물리적 위치를 포함하는 모든 뷰들이 적극 참여 뷰(actively involved view)들인 것으로 결정하고, 그에 따라 모든 적극 참여 뷰들이 서브이벤트들의 특정 시퀀스를 수신해야 하는 것으로 결정한다. 다른 실시예들에서, 터치 서브이벤트들이 전적으로 하나의 특정 뷰와 연관된 영역으로 한정되었더라도, 계층구조 내의 상위 뷰들은 여전히 적극 참여 뷰들로서 유지될 것이다.The active event
이벤트 디스패처 모듈(174)은 이벤트 정보를 이벤트 인식기(예컨대, 이벤트 인식기(180))에 디스패치한다. 활성 이벤트 인식기 결정 모듈(173)을 포함하는 실시예들에서, 이벤트 디스패처 모듈(174)은 이벤트 정보를 활성 이벤트 인식기 결정 모듈(173)에 의해 결정된 이벤트 인식기에 전달한다. 일부 실시예들에서, 이벤트 디스패처 모듈(174)은 이벤트 큐 내에 이벤트 정보를 저장하는데, 이벤트 정보는 각각의 이벤트 수신기 모듈(182)에 의해 인출된다.The
일부 실시예들에서, 운영 체제(126)는 이벤트 분류기(170)를 포함한다. 대안으로, 애플리케이션(136-1)은 이벤트 분류기(170)를 포함한다. 또 다른 실시예들에서, 이벤트 분류기(170)는 독립형 모듈이거나, 또는 접촉/모션 모듈(130)과 같이 메모리(102)에 저장되는 다른 모듈의 일부이다.In some embodiments,
일부 실시예들에서, 애플리케이션(136-1)은 복수의 이벤트 핸들러들(190) 및 하나 이상의 애플리케이션 뷰들(191)을 포함하며, 이들의 각각은 애플리케이션의 사용자 인터페이스의 각각의 뷰 내에 발생하는 터치 이벤트들을 처리하기 위한 명령어들을 포함한다. 애플리케이션(136-1)의 각각의 애플리케이션 뷰(191)는 하나 이상의 이벤트 인식기들(180)을 포함한다. 전형적으로, 각각의 애플리케이션 뷰(191)는 복수의 이벤트 인식기들(180)을 포함한다. 다른 실시예들에서, 이벤트 인식기들(180) 중 하나 이상은 사용자 인터페이스 키트(도시되지 않음) 또는 애플리케이션(136-1)이 방법들 및 다른 속성들을 물려받는 상위 레벨 객체와 같은 별개의 모듈의 일부이다. 일부 실시예들에서, 각각의 이벤트 핸들러(190)는 데이터 업데이터(176), 객체 업데이터(177), GUI 업데이터(178), 및/또는 이벤트 분류기(170)로부터 수신된 이벤트 데이터(179) 중 하나 이상을 포함한다. 이벤트 핸들러(190)는 선택적으로 데이터 업데이터(176), 객체 업데이터(177) 또는 GUI 업데이터(178)를 이용하거나 호출하여 애플리케이션 내부 상태(192)를 업데이트한다. 대안으로, 애플리케이션 뷰들(191) 중 하나 이상은 하나 이상의 각각의 이벤트 핸들러(190)를 포함한다. 또한, 일부 실시예들에서, 데이터 업데이터(176), 객체 업데이터(177), 및 GUI 업데이터(178) 중 하나 이상은 각각의 애플리케이션 뷰(191) 내에 포함된다.In some embodiments, application 136-1 includes a plurality of
각각의 이벤트 인식기(180)는 이벤트 분류기(170)로부터 이벤트 정보(예컨대, 이벤트 데이터(179))를 수신하고 그 이벤트 정보로부터 이벤트를 식별한다. 이벤트 인식기(180)는 이벤트 수신기(182) 및 이벤트 비교기(184)를 포함한다. 일부 실시예들에서, 이벤트 인식기(180)는 또한 적어도 메타데이터(183) 및 이벤트 전달 명령어들(188)(선택적으로 서브이벤트 전달 명령어들을 포함함)의 서브세트를 포함한다.Each
이벤트 수신기(182)는 이벤트 분류기(170)로부터 이벤트 정보를 수신한다. 이벤트 정보는 서브이벤트, 예를 들어 터치 또는 터치 이동에 관한 정보를 포함한다. 서브이벤트에 따라서, 이벤트 정보는 또한 서브이벤트의 위치와 같은 추가 정보를 포함한다. 서브이벤트가 터치의 모션과 관련되는 경우, 이벤트 정보는 또한 선택적으로 서브이벤트의 속력 및 방향을 포함한다. 일부 실시예들에서, 이벤트들은 하나의 배향으로부터 다른 배향으로(예컨대, 세로 배향으로부터 가로 배향으로, 또는 그 반대로)의 디바이스의 회전을 포함하며, 이벤트 정보는 디바이스의 현재 배향(디바이스 자세로도 지칭됨)에 관한 대응하는 정보를 포함한다.The
이벤트 비교기(184)는 이벤트 정보를 미리정의된 이벤트 또는 서브이벤트 정의들과 비교하고, 그 비교에 기초하여, 이벤트 또는 서브이벤트를 결정하거나, 이벤트 또는 서브이벤트의 상태를 결정 또는 업데이트한다. 일부 실시예들에서, 이벤트 비교기(184)는 이벤트 정의들(186)을 포함한다. 이벤트 정의들(186)은 이벤트들(예컨대, 서브이벤트들의 미리정의된 시퀀스들), 예를 들어 이벤트 1(187-1), 이벤트 2(187-2) 등의 정의들을 포함한다. 일부 실시예들에서, 이벤트(187) 내의 서브이벤트들은, 예를 들어, 터치 시작, 터치 종료, 터치 이동, 터치 취소, 및 다중 터치를 포함한다. 일례에서, 이벤트 1(187-1)에 대한 정의는 디스플레이된 객체 상에서의 더블 탭이다. 더블 탭은, 예를 들어, 미리결정된 페이즈(phase) 동안의 디스플레이된 객체 상의 제1 터치(터치 시작), 미리결정된 페이즈 동안의 제1 리프트오프(터치 종료), 미리결정된 페이즈 동안의 디스플레이된 객체 상의 제2 터치(터치 시작), 및 미리결정된 페이즈 동안의 제2 리프트오프(터치 종료)를 포함한다. 다른 예에서, 이벤트 2(187-2)에 대한 정의는 디스플레이된 객체 상에서의 드래깅이다. 드래깅은, 예를 들어, 미리결정된 페이즈 동안의 디스플레이된 객체 상의 터치(또는 접촉), 터치 감응형 디스플레이 시스템(112)을 가로지르는 터치의 이동, 및 터치의 리프트오프(터치 종료)를 포함한다. 일부 실시예들에서, 이벤트는 또한 하나 이상의 연관된 이벤트 핸들러들(190)에 대한 정보를 포함한다.The
일부 실시예들에서, 이벤트 정의(187)는 각각의 사용자 인터페이스 객체에 대한 이벤트의 정의를 포함한다. 일부 실시예들에서, 이벤트 비교기(184)는 어느 사용자 인터페이스 객체가 서브이벤트와 연관되는지 결정하도록 히트 테스트(hit test)를 수행한다. 예를 들어, 3개의 사용자 인터페이스 객체들이 터치 감응형 디스플레이 시스템(112) 상에 디스플레이된 애플리케이션 뷰에서, 터치 감응형 디스플레이 시스템(112) 상에서 터치가 검출되는 경우, 이벤트 비교기(184)는 3개의 사용자 인터페이스 객체들 중 어느 것이 터치(서브이벤트)와 연관되어 있는지를 결정하도록 히트 테스트를 수행한다. 각각의 디스플레이된 객체가 각각의 이벤트 핸들러(190)와 연관되는 경우, 이벤트 비교기는 어느 이벤트 핸들러(190)가 활성화되어야 하는지 결정하는 데 히트 테스트의 결과를 이용한다. 예를 들어, 이벤트 비교기(184)는 히트 테스트를 트리거하는 객체 및 서브이벤트와 연관된 이벤트 핸들러를 선택한다.In some embodiments, event definition 187 includes a definition of an event for each user interface object. In some embodiments,
일부 실시예들에서, 각각의 이벤트(187)에 대한 정의는 또한 서브이벤트들의 시퀀스가 이벤트 인식기의 이벤트 유형에 대응하는지 대응하지 않는지 여부가 결정된 후까지 이벤트 정보의 전달을 지연하는 지연된 액션들을 포함한다.In some embodiments, the definition for each event 187 also includes delayed actions that delay delivery of event information until after it is determined whether the sequence of subevents corresponds to or does not correspond to the event type of the event recognizer. .
각각의 이벤트 인식기(180)가, 일련의 서브이벤트들이 이벤트 정의들(186) 내의 이벤트들 중 어떠한 것과도 매칭되지 않는 것으로 결정하는 경우, 각각의 이벤트 인식기(180)는 이벤트 불가능, 이벤트 실패, 또는 이벤트 종료 상태에 진입하고, 그 후 각각의 이벤트 인식기는 터치 기반 제스처의 후속 서브이벤트들을 무시한다. 이러한 상황에서, 만일 있다면, 히트 뷰에 대해 활성 상태로 유지되는 다른 이벤트 인식기들이 진행 중인 터치 기반 제스처의 서브이벤트들을 계속해서 추적 및 프로세싱한다.When each
일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트 전달 시스템이 어떻게 적극 참여 이벤트 인식기들에 대한 서브이벤트 전달을 수행해야 하는지를 나타내는 구성가능한 속성들, 플래그(flag)들, 및/또는 목록들을 갖는 메타데이터(183)를 포함한다. 일부 실시예들에서, 메타데이터(183)는 이벤트 인식기들이 어떻게 서로 상호작용하는지, 또는 상호작용 가능하게 되는지를 나타내는 구성가능한 속성들, 플래그들, 및/또는 목록들을 포함한다. 일부 실시예들에서, 메타데이터(183)는, 서브이벤트들이 뷰 또는 프로그램 계층구조에서의 다양한 레벨들에 전달되는지 여부를 나타내는 구성가능한 속성들, 플래그들, 및/또는 목록들을 포함한다.In some embodiments, each
일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트의 하나 이상의 특정 서브이벤트들이 인식될 때 이벤트와 연관된 이벤트 핸들러(190)를 활성화한다. 일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트와 연관된 이벤트 정보를 이벤트 핸들러(190)에 전달한다. 이벤트 핸들러(190)를 활성화시키는 것은 각각의 히트 뷰에 서브이벤트들을 전송(및 지연 전송)하는 것과는 별개이다. 일부 실시예들에서, 이벤트 인식기(180)는 인식된 이벤트와 연관된 플래그를 보내고, 그 플래그와 연관된 이벤트 핸들러(190)는 그 플래그를 캐치하고 미리정의된 프로세스를 수행한다.In some embodiments, each
일부 실시예들에서, 이벤트 전달 명령어들(188)은 이벤트 핸들러를 활성화하지 않으면서 서브이벤트에 관한 이벤트 정보를 전달하는 서브이벤트 전달 명령어들을 포함한다. 대신에, 서브이벤트 전달 명령어들은 일련의 서브이벤트들과 연관된 이벤트 핸들러들에 또는 적극 참여 뷰들에 이벤트 정보를 전달한다. 일련의 서브이벤트들 또는 적극 참여 뷰들과 연관된 이벤트 핸들러들은 이벤트 정보를 수신하고 미리결정된 프로세스를 수행한다.In some embodiments, the
일부 실시예들에서, 데이터 업데이터(176)는 애플리케이션(136-1)에서 이용되는 데이터를 생성 및 업데이트한다. 예를 들어, 데이터 업데이터(176)는 연락처 모듈(137)에서 이용되는 전화번호를 업데이트하거나, 비디오 및 음악 재생기 모듈(152)에서 이용되는 비디오 파일을 저장한다. 일부 실시예들에서, 객체 업데이터(177)는 애플리케이션(136-1)에서 이용되는 객체들을 생성 및 업데이트한다. 예를 들어, 객체 업데이터(177)는 새로운 사용자 인터페이스 객체를 생성하거나, 또는 사용자 인터페이스 객체의 위치를 업데이트한다. GUI 업데이터(178)는 GUI를 업데이트한다. 예를 들어, GUI 업데이터(178)는 터치 감응형 디스플레이 상의 디스플레이를 위해 디스플레이 정보를 준비하고 이를 그래픽 모듈(132)에 전송한다.In some embodiments, data updater 176 creates and updates data used by application 136-1. For example, the data updater 176 updates a phone number used in the
일부 실시예들에서, 이벤트 핸들러(들)(190)는 데이터 업데이터(176), 객체 업데이터(177), 및 GUI 업데이터(178)를 포함하거나 이들에 액세스한다. 일부 실시예들에서, 데이터 업데이터(176), 객체 업데이터(177), 및 GUI 업데이터(178)는 각각의 애플리케이션(136-1) 또는 애플리케이션 뷰(191)의 단일 모듈 내에 포함된다. 다른 실시예들에서, 이들은 둘 이상의 소프트웨어 모듈들 내에 포함된다.In some embodiments, event handler(s) 190 includes or accesses data updater 176,
터치 감응형 디스플레이 상의 사용자 터치들의 이벤트 처리에 관하여 전술한 논의는 또한 입력 디바이스들을 갖는 다기능 디바이스들(100)을 동작시키기 위한 다른 형태들의 사용자 입력들에도 적용되지만, 그 모두가 터치 스크린들 상에서 개시되는 것이 아니라는 것을 이해해야 한다. 예를 들어, 단일 또는 다수의 키보드 누르기 또는 유지(hold)와 선택적으로 조화된 마우스 이동 및 마우스 버튼 누르기; 터치패드 상에서의, 탭, 드래그, 스크롤 등과 같은 접촉 이동들; 펜 스타일러스 입력들; 디바이스의 이동; 구두 명령어들; 검출된 눈 이동들; 생체측정 입력들; 및/또는 이들의 임의의 조합은, 인식될 이벤트를 정의하는 서브이벤트들에 대응하는 입력들로서 선택적으로 이용된다.The above discussion regarding event handling of user touches on a touch-sensitive display also applies to other types of user inputs for operating
도 1c는 일부 실시예들에 따른 촉각적 출력 모듈을 예시하는 블록도이다. 일부 실시예들에서, I/O 서브시스템(106)(예컨대, 햅틱 피드백 제어기(161)(도 1a) 및/또는 다른 입력 제어기(들)(160)(도 1a))은 도 1c에 도시된 예시적인 컴포넌트들 중 적어도 일부를 포함한다. 일부 실시예들에서, 주변기기 인터페이스(118)는 도 1c에 도시된 예시적인 컴포넌트들 중 적어도 일부를 포함한다.1C is a block diagram illustrating a tactile output module according to some embodiments. In some embodiments, the I/O subsystem 106 (e.g., haptic feedback controller 161 (FIG. 1A) and/or other input controller(s) 160 (FIG. 1A)) is shown in FIG. Includes at least some of the example components. In some embodiments, peripherals interface 118 includes at least some of the exemplary components shown in FIG. 1C.
일부 실시예들에서, 촉각적 출력 모듈은 햅틱 피드백 모듈(133)을 포함한다. 일부 실시예들에서, 햅틱 피드백 모듈(133)은 전자 디바이스 상의 소프트웨어 애플리케이션들로부터 사용자 인터페이스 피드백(예컨대, 전자 디바이스의 사용자 인터페이스들에서의 이벤트들의 발생 또는 동작들의 수행을 나타내는 경보들 및 다른 통지들 및 디스플레이된 사용자 인터페이스들에 대응하는 사용자 입력들에 응답하는 피드백)에 대한 촉각적 출력들을 모으고 조합한다. 햅틱 피드백 모듈(133)은 (촉각적 출력들을 생성하기 위해 사용되는 파형들을 제공하기 위한) 파형 모듈(123), (상이한 채널들에서의 파형들과 같은 파형들을 혼합하기 위한) 믹서(125), (파형들의 동적 범위를 감소시키거나 압축하기 위한) 압축기(127), (파형들에서의 고주파 신호 성분들을 필터링하기 위한) 저역 통과 필터(129), 및 (열 조건들에 따라 파형들을 조정하기 위한) 열 제어기(131) 중 하나 이상을 포함한다. 일부 실시예들에서, 햅틱 피드백 모듈(133)은 햅틱 피드백 제어기(161)(도 1a) 내에 포함된다. 일부 실시예들에서, 햅틱 피드백 모듈(133)의 별개의 유닛(또는 햅틱 피드백 모듈(133)의 별개의 구현예)이 또한 오디오 제어기(예컨대, 오디오 회로부(110), 도 1a) 내에 포함되고 오디오 신호들을 생성하기 위해 사용된다. 일부 실시예들에서, 촉각적 출력들에 대한 파형들을 생성하고 오디오 신호들을 생성하기 위해 단일 햅틱 피드백 모듈(133)이 사용된다.In some embodiments, the tactile output module includes a
일부 실시예들에서, 햅틱 피드백 모듈(133)은 또한 트리거 모듈(121)(예컨대, 생성되는 촉각적 출력을 결정하고, 대응하는 촉각적 출력을 생성하기 위한 프로세스를 개시하는 소프트웨어 애플리케이션, 운영 체제, 또는 다른 소프트웨어 모듈)을 포함한다. 일부 실시예들에서, 트리거 모듈(121)은 (예컨대, 파형 모듈(123)에 의해) 파형들의 생성을 개시하기 위한 트리거 신호들을 생성한다. 예를 들어, 트리거 모듈(121)은 미리설정된 타이밍 기준들에 기초하여 트리거 신호들을 생성한다. 일부 실시예들에서, 트리거 모듈(121)은 햅틱 피드백 모듈(133)의 외측으로부터 트리거 신호들을 수신하고(예컨대, 일부 실시예들에서, 햅틱 피드백 모듈(133)은 햅틱 피드백 모듈(133)의 외측에 위치되는 하드웨어 입력 프로세싱 모듈(146)로부터 트리거 신호들을 수신함), 트리거 신호들을 사용자 인터페이스 요소(예컨대, 애플리케이션 내의 어포던스 또는 애플리케이션 아이콘) 또는 하드웨어 입력 디바이스(예컨대, 세기 감응형 터치 스크린과 같은 세기 감응형 입력 표면 또는 홈 버튼)의 활성화에 기초하여 (예컨대, 트리거 모듈(121)을 이용하여) 동작들을 트리거하는 소프트웨어 애플리케이션들 또는 햅틱 피드백 모듈(133) 내의 다른 컴포넌트들(예컨대, 파형 모듈(123))로 중계한다. 일부 실시예들에서, 트리거 모듈(121)은 또한 (예컨대, 도 1a 및 도 3의 햅틱 피드백 모듈(133)로부터) 촉각적 피드백 생성 명령어들을 수신한다. 일부 실시예들에서, 트리거 모듈(121)은 (예컨대, 도 1a 및 도 3의 햅틱 피드백 모듈(133)로부터) 햅틱 피드백 모듈(133)(또는 햅틱 피드백 모듈(133) 내의 트리거 모듈(121))이 촉각적 피드백 명령어들을 수신하는 것에 응답하여 트리거 신호들을 생성한다.In some embodiments, the
파형 모듈(123)은 (예컨대, 트리거 모듈(121)로부터) 트리거 신호들을 입력으로서 수신하고, 트리거 신호들을 수신하는 것에 응답하여, 하나 이상의 촉각적 출력들의 생성을 위해 파형들(예컨대, 도 4f 및 도 4g를 참조하여 아래에서 더욱 상세하게 기술되는 파형들과 같은, 파형 모듈(123)에 의해 사용하기 위해 지정된 파형들의 미리정의된 세트로부터 선택되는 파형들)을 제공한다.Waveform module 123 receives trigger signals as input (e.g., from trigger module 121), and in response to receiving the trigger signals, waveforms (e.g., Figure 4F and Waveforms selected from a predefined set of waveforms designated for use by waveform module 123, such as the waveforms described in more detail below with reference to FIG. 4G are provided.
믹서(125)는 (예컨대, 파형 모듈(123)로부터) 파형들을 입력으로서 수신하고, 파형들을 함께 혼합한다. 예를 들어, 믹서(125)가 둘 이상의 파형들(예컨대, 제1 채널에서의 제1 파형, 및 제2 채널에서의 제1 파형과 적어도 부분적으로 중첩되는 제2 파형)을 수신할 때, 믹서(125)는 둘 이상의 파형들의 합산에 대응하는 조합된 파형을 출력한다. 일부 실시예들에서, 믹서(125)는 또한 (예컨대, 특정 파형(들)의 축척을 증가시킴으로써 그리고/또는 파형들 중 나머지의 축척을 감소시킴으로써) 특정 파형(들)을 둘 이상의 파형들 중 나머지에 비해 강조하기 위해 둘 이상의 파형들 중 하나 이상의 파형들을 수정한다. 일부 상황들에서, 믹서(125)는 조합된 파형으로부터 제거하기 위해 하나 이상의 파형들을 선택한다(예컨대, 촉각적 출력 생성기(167)에 의해 동시에 출력되도록 요청되었던 3개 초과의 소스들로부터의 파형들이 있을 때 가장 오래된 소스로부터의 파형이 드롭된다).Mixer 125 receives waveforms as input (eg, from waveform module 123) and mixes the waveforms together. For example, when the mixer 125 receives two or more waveforms (e.g., a first waveform in a first channel and a second waveform that at least partially overlaps the first waveform in the second channel), the mixer 125 outputs a combined waveform corresponding to the summation of two or more waveforms. In some embodiments, mixer 125 may also (e.g., increase the scale of the particular waveform(s) and/or decrease the scale of the remainder of the waveforms) to convert the particular waveform(s) into Modify one or more of the two or more waveforms to accentuate them. In some situations, mixer 125 selects one or more waveforms to remove from the combined waveform (e.g., waveforms from more than three sources that were requested to be output simultaneously by
압축기(127)는 파형들(예컨대, 믹서(125)로부터의 조합된 파형)을 입력으로서 수신하고, 파형들을 수정한다. 일부 실시예들에서, 압축기(127)는 (예컨대, 촉각적 출력 생성기들(도 1a의 167 또는 도 3의 357)의 물리적 사양들에 따라) 파형들을 감소시켜서, 그 파형들에 대응하는 촉각적 출력들이 감소되게 한다. 일부 실시예들에서, 압축기(127)는, 예컨대 파형들에 대한 미리정의된 최대 진폭을 강제함으로써, 파형들을 제한한다. 예를 들어, 압축기(127)는, 미리정의된 진폭 임계치를 초과하지 않는 파형들의 일부분들의 진폭들을 유지하면서 미리정의된 진폭 임계치를 초과하는 파형들의 일부분들의 진폭들을 감소시킨다. 일부 실시예들에서, 압축기(127)는 파형들의 동적 범위를 감소시킨다. 일부 실시예들에서, 압축기(127)는 파형들의 동적 범위를 동적으로 감소시켜, 조합된 파형들이 촉각적 출력 생성기(167)의 성능 사양들(예컨대, 힘 및/또는 이동가능 질량체 변위 한계들) 내에 유지되게 한다.Compressor 127 receives as input the waveforms (eg, the combined waveform from mixer 125) and modifies the waveforms. In some embodiments, compressor 127 reduces the waveforms (e.g., according to the physical specifications of the tactile output generators (167 in FIG. 1A or 357 in FIG. 3)) to reduce the tactile Let the outputs be reduced. In some embodiments, compressor 127 limits the waveforms, such as by forcing a predefined maximum amplitude for the waveforms. For example, compressor 127 reduces the amplitudes of the portions of the waveforms that exceed the predefined amplitude threshold while maintaining the amplitudes of the portions of the waveforms that do not exceed the predefined amplitude threshold. In some embodiments, compressor 127 reduces the dynamic range of the waveforms. In some embodiments, the compressor 127 dynamically reduces the dynamic range of the waveforms so that the combined waveforms can be applied to the performance specifications of the tactile output generator 167 (eg, force and/or movable mass displacement limits) Keep within.
저역 통과 필터(129)는 파형들(예컨대, 압축기(127)로부터의 압축된 파형들)을 입력으로서 수신하고, 파형들을 필터링(예컨대, 평활화)한다(예컨대, 파형들에서의 고주파 신호 성분들을 제거 또는 감소시킨다). 예를 들어, 일부 경우에, 압축기(127)는, 압축된 파형들로, 촉각적 출력들이 압축된 파형들에 따라 생성될 때 촉각적 출력 생성기(167)의 성능 사양들을 초과하고/하거나 촉각적 출력들의 생성을 간섭하는 관련없는 신호들(예컨대, 고주파 신호 성분들)을 포함한다. 저역 통과 필터(129)는 파형들에서의 그러한 관련없는 신호들을 감소 또는 제거한다.The low-pass filter 129 receives waveforms (e.g., compressed waveforms from the compressor 127) as input, and filters (e.g., smoothes) the waveforms (e.g., removing high-frequency signal components from the waveforms). Or decrease). For example, in some cases, the compressor 127 exceeds the performance specifications of the
열 제어기(131)는 파형들(예컨대, 저역 통과 필터(129)로부터의 필터링된 파형들)을 입력으로서 수신하고, (예컨대, 디바이스(100) 내에서 검출되는 내부 온도들, 예컨대 햅틱 피드백 제어기(161)의 온도, 및/또는 디바이스(100)에 의해 검출되는 외부 온도들에 기초하여) 디바이스(100)의 열 조건들에 따라 파형들을 조정한다. 예를 들어, 일부 경우에, 햅틱 피드백 제어기(161)의 출력은 온도에 따라 변한다(예컨대, 햅틱 피드백 제어기(161)는, 동일한 파형들을 수신하는 것에 응답하여, 햅틱 피드백 제어기(161)가 제1 온도로 있을 때 제1 촉각적 출력을 생성하고, 햅틱 피드백 제어기(161)가 제1 온도와는 별개인 제2 온도로 있을 때 제2 촉각적 출력을 생성한다). 예를 들어, 촉각적 출력들의 크기(또는 진폭)는 온도에 따라 변화할 수 있다. 온도 변화의 영향을 감소시키기 위해, 파형들은 수정된다(예컨대, 파형들의 진폭이 온도에 기초하여 증가 또는 감소된다).Thermal controller 131 receives waveforms (e.g., filtered waveforms from low pass filter 129) as input, and (e.g., internal temperatures detected within
일부 실시예들에서, 햅틱 피드백 모듈(133)(예컨대, 트리거 모듈(121))은 하드웨어 입력 프로세싱 모듈(146)에 커플링된다. 일부 실시예들에서, 도 1a에서의 다른 입력 제어기(들)(160)는 하드웨어 입력 프로세싱 모듈(146)을 포함한다. 일부 실시예들에서, 하드웨어 입력 프로세싱 모듈(146)은 하드웨어 입력 디바이스(145)(예컨대, 도 1a에서의 다른 입력 또는 제어 디바이스들(116), 예컨대 세기 감응형 터치 스크린과 같은 세기 감응형 입력 표면 또는 홈 버튼)로부터 입력들을 수신한다. 일부 실시예들에서, 하드웨어 입력 디바이스(145)는 본 명세서에 기술되는 임의의 입력 디바이스, 예컨대 터치 감응형 디스플레이 시스템(112)(도 1a), 키보드/마우스(350)(도 3), 터치패드(355)(도 3), 다른 입력 또는 제어 디바이스들(116)(도 1a) 중 하나, 또는 세기 감응형 홈 버튼이다. 일부 실시예들에서, 하드웨어 입력 디바이스(145)는 터치 감응형 디스플레이 시스템(112)(도 1a), 키보드/마우스(350)(도 3), 또는 터치패드(355)(도 3)가 아닌, 세기 감응형 홈 버튼으로 이루어진다. 일부 실시예들에서, 하드웨어 입력 디바이스(145)(예컨대, 세기 감응형 홈 버튼 또는 터치 스크린)로부터의 입력들에 응답하여, 하드웨어 입력 프로세싱 모듈(146)은, 미리정의된 입력 기준들을 만족하는 사용자 입력, 예컨대 홈 버튼의 "클릭"(예컨대, "다운 클릭" 또는 "업 클릭")에 대응하는 입력이 검출되었음을 나타내기 위해 하나 이상의 트리거 신호들을 햅틱 피드백 모듈(133)에 제공한다. 일부 실시예들에서, 햅틱 피드백 모듈(133)은, 홈 버튼의 "클릭"에 대응하는 입력에 응답하여 홈 버튼의 "클릭"에 대응하는 파형들을 제공하여, 물리적 홈 버튼을 누르는 햅틱 피드백을 시뮬레이션한다.In some embodiments, the haptic feedback module 133 (eg, trigger module 121) is coupled to the hardware input processing module 146. In some embodiments, the other input controller(s) 160 in FIG. 1A includes a hardware input processing module 146. In some embodiments, the hardware input processing module 146 is a hardware input device 145 (e.g., other input or control devices 116 in FIG. 1A, e.g., an intensity sensitive input surface such as an intensity sensitive touch screen). Or the home button). In some embodiments, the hardware input device 145 is any input device described herein, such as a touch-sensitive display system 112 (Fig. 1A), a keyboard/mouse 350 (Fig. 3), a touchpad. 355 (Fig. 3), one of the other input or control devices 116 (Fig. 1A), or a strength-sensitive home button. In some embodiments, the hardware input device 145 is not a touch-sensitive display system 112 (FIG. 1A), a keyboard/mouse 350 (FIG. 3), or a touchpad 355 (FIG. 3). It consists of a strength-sensitive home button. In some embodiments, in response to inputs from the hardware input device 145 (e.g., intensity-sensitive home button or touch screen), the hardware input processing module 146 One or more trigger signals are provided to the
일부 실시예들에서, 촉각적 출력 모듈은 햅틱 피드백 제어기(161)(예컨대, 도 1a에서의 햅틱 피드백 제어기(161))를 포함하는데, 이는 촉각적 출력들의 생성을 제어한다. 일부 실시예들에서, 햅틱 피드백 제어기(161)는 복수의 촉각적 출력 생성기들에 커플링되고, 복수의 촉각적 출력 생성기들 중 하나 이상의 촉각적 출력 생성기들을 선택하여, 촉각적 출력들을 생성하기 위한 파형들을 그 선택된 하나 이상의 촉각적 출력 생성기들로 전송한다. 일부 실시예들에서, 햅틱 피드백 제어기(161)는, 하드웨어 입력 디바이스(145)의 활성화에 대응하는 촉각적 출력 요청들, 및 소프트웨어 이벤트들에 대응하는 촉각적 출력 요청들(예컨대, 햅틱 피드백 모듈(133)로부터의 촉각적 출력 요청들)을 조정하고, (예컨대, 하드웨어 입력 디바이스(145)의 활성화에 대응하는 촉각적 출력들을 소프트웨어 이벤트들에 대응하는 촉각적 출력들보다 우선순위화하기 위해서와 같이, 특정 파형(들)의 축척을 증가시킴으로써 그리고/또는 파형들 중 나머지의 축척을 감소시킴으로써) 특정 파형(들)을 둘 이상의 파형들 중 나머지에 비해 강조하기 위해 둘 이상의 파형들 중 하나 이상의 파형들을 수정한다.In some embodiments, the tactile output module includes a haptic feedback controller 161 (eg, haptic feedback controller 161 in FIG. 1A), which controls the generation of tactile outputs. In some embodiments, the haptic feedback controller 161 is coupled to a plurality of tactile output generators, for selecting one or more of the plurality of tactile output generators to generate tactile outputs. The waveforms are sent to the selected one or more tactile output generators. In some embodiments, the haptic feedback controller 161 includes tactile output requests corresponding to activation of the hardware input device 145 and tactile output requests corresponding to software events (e.g., a haptic feedback module ( 133) and prioritize tactile outputs corresponding to activation of hardware input device 145 over tactile outputs corresponding to software events (e.g., to prioritize tactile outputs corresponding to activation of hardware input device 145). , By increasing the scale of the particular waveform(s) and/or decreasing the scale of the other of the waveforms) to emphasize one or more of the two or more waveforms to emphasize the particular waveform(s) relative to the rest of the two or more waveforms. Modify it.
일부 실시예들에서, 도 1c에 도시된 바와 같이, 햅틱 피드백 제어기(161)의 출력이 디바이스(100)의 오디오 회로부(예컨대, 도 1a의 오디오 회로부(110))에 커플링되고, 오디오 신호들을 디바이스(100)의 오디오 회로부에 제공한다. 일부 실시예들에서, 햅틱 피드백 제어기(161)는 촉각적 출력들을 생성하기 위해 사용되는 파형들 및 촉각적 출력들의 생성과 함께 오디오 출력들을 제공하기 위해 사용되는 오디오 신호들 양쪽 모두를 제공한다. 일부 실시예들에서, 햅틱 피드백 제어기(161)는 오디오 신호들 및/또는 (촉각적 출력들을 생성하기 위해 사용되는) 파형들을 수정하여, (예컨대, 오디오 신호들 및/또는 파형들을 지연시킴으로써) 오디오 출력들 및 촉각적 출력들이 동기화되게 한다. 일부 실시예들에서, 햅틱 피드백 제어기(161)는 디지털 파형들을 아날로그 신호들로 변환하기 위해 사용되는 디지털-아날로그 변환기를 포함하며, 이 아날로그 신호들은 증폭기(163) 및/또는 촉각적 출력 생성기(167)에 의해 수신된다.In some embodiments, as shown in FIG. 1C, the output of the haptic feedback controller 161 is coupled to the audio circuitry of the device 100 (e.g., the audio circuitry 110 of FIG. It is provided to the audio circuit part of the
일부 실시예들에서, 촉각적 출력 모듈은 증폭기(163)를 포함한다. 일부 실시예들에서, 증폭기(163)는 (예컨대, 햅틱 피드백 제어기(161)로부터) 파형들을 수신하고, 그 파형들을 증폭하고 이어서 증폭된 파형들을 촉각적 출력 생성기(167)(예컨대, 촉각적 출력 생성기들(도 1a의 167 또는 도 3의 357) 중 임의의 것)로 전송한다. 예를 들어, 증폭기(163)는 수신된 파형들을 촉각적 출력 생성기(167)의 물리적 사양들에 따르는 신호 레벨들로(예컨대, 촉각적 출력 생성기(167)로 전송된 신호들이, 햅틱 피드백 제어기(161)로부터 수신된 파형들에 대응하는 촉각적 출력들을 생성하도록 촉각적 출력들을 생성하기 위한 촉각적 출력 생성기(167)에 의해 요구되는 전압 및/또는 전류로) 증폭하고, 증폭된 파형들을 촉각적 출력 생성기(167)로 전송한다. 이에 응답하여, 촉각적 출력 생성기(167)는 (예컨대, 이동가능 질량체의 중립 위치에 대한 하나 이상의 치수들에서 앞뒤로 이동가능 질량체를 시프트시킴으로써) 촉각적 출력들을 생성한다.In some embodiments, the tactile output module includes an
일부 실시예들에서, 촉각적 출력 모듈은 센서(169)를 포함하며, 이 센서는 촉각적 출력 생성기(167)에 커플링된다. 센서(169)는 촉각적 출력 생성기(167) 또는 촉각적 출력 생성기(167)의 하나 이상의 컴포넌트들(예컨대, 촉각적 출력들을 생성하는 데 사용되는 멤브레인(membrane)과 같은 하나 이상의 이동 부품들)의 상태들 또는 상태 변화들(예컨대, 기계적 위치, 물리적 변위, 및/또는 이동)을 검출한다. 일부 실시예들에서, 센서(169)는 자기장 센서(예컨대, 홀 효과(Hall effect) 센서) 또는 다른 변위 및/또는 이동 센서이다. 일부 실시예들에서, 센서(169)는 정보(예컨대, 촉각적 출력 생성기(167) 내의 하나 이상의 부품들의 위치, 변위, 및/또는 이동)를 햅틱 피드백 제어기(161)에 제공하고, 촉각적 출력 생성기(167)의 상태에 관한 센서(169)에 의해 제공된 정보에 따라, 햅틱 피드백 제어기(161)는 햅틱 피드백 제어기(161)로부터 출력되는 파형들(예컨대, 선택적으로 증폭기(163)를 통해, 촉각적 출력 생성기(167)로 전송되는 파형들)을 조정한다.In some embodiments, the tactile output module includes a sensor 169, which is coupled to the
도 2는 일부 실시예들에 따른, 터치 스크린(예를 들어, 터치 감응형 디스플레이 시스템(112), 도 1a)을 갖는 휴대용 다기능 디바이스(100)를 예시한다. 터치 스크린은, 선택적으로, 사용자 인터페이스(UI)(200) 내에서 하나 이상의 그래픽들을 디스플레이한다. 이러한 실시예들은 물론 하기에 기술되는 다른 실시예들에서, 사용자는, 예를 들어, 하나 이상의 손가락들(202)(도면에서 축척대로 도시되지 않음) 또는 하나 이상의 스타일러스들(203)(도면에서 축척대로 도시되지 않음)을 이용하여 그래픽 상에 제스처를 행함으로써 그래픽들 중 하나 이상을 선택하는 것이 가능하게 된다. 일부 실시예들에서, 하나 이상의 그래픽의 선택은 사용자가 하나 이상의 그래픽과의 접촉을 중단할 때 발생한다. 일부 실시예들에서, 제스처는 선택적으로 디바이스(100)와 접촉한 손가락의 하나 이상의 탭들, (좌측에서 우측으로의, 우측에서 좌측으로의, 상측으로의 그리고/또는 하측으로의) 하나 이상의 스와이프들, 및/또는 (우측에서 좌측으로의, 좌측에서 우측으로의, 상측으로의 그리고/또는 하측으로의) 롤링을 포함한다. 일부 구현예들 또는 상황들에서, 그래픽과 부주의하여 접촉되면 그 그래픽은 선택되지 않는다. 예를 들면, 선택에 대응하는 제스처가 탭일 때, 애플리케이션 아이콘 위를 스윕(sweep)하는 스와이프 제스처는 선택적으로, 대응하는 애플리케이션을 선택하지 않는다.2 illustrates a
디바이스(100)는 또한 선택적으로 "홈" 또는 메뉴 버튼(204)과 같은 하나 이상의 물리적 버튼을 포함한다. 전술된 바와 같이, 메뉴 버튼(204)은 선택적으로, 디바이스(100) 상에서 선택적으로 실행되는 애플리케이션들의 세트 내의 임의의 애플리케이션(136)으로 내비게이팅하는 데 사용된다. 대안적으로, 일부 실시예들에서, 메뉴 버튼은 터치 스크린 디스플레이 상에 디스플레이된 GUI에서 소프트 키로서 구현된다.
일부 실시예들에서, 디바이스(100)는 터치 스크린 디스플레이, 메뉴 버튼(204)(때때로, 홈 버튼(204)으로 불림), 디바이스의 전원을 켜거나/끄고 디바이스를 잠그기 위한 푸시 버튼(206), 음량 조정 버튼(들)(208), 가입자 식별 모듈(SIM) 카드 슬롯(210), 헤드셋 잭(212), 및 도킹/충전 외부 포트(124)를 포함한다. 푸시 버튼(206)은, 선택적으로, 버튼을 누르고 버튼을 미리정의된 시간 간격 동안 누른 상태로 유지함으로써 디바이스의 전원을 온/오프시키고/시키거나; 버튼을 누르고 미리정의된 시간 간격이 경과하기 전에 버튼을 누름해제함으로써 디바이스를 잠그고/잠그거나; 디바이스를 잠금해제하거나 잠금해제 프로세스를 개시하는 데 사용된다. 일부 실시예들에서, 디바이스(100)는 또한 마이크로폰(113)을 통해 일부 기능들의 활성화 또는 비활성화를 위한 구두 입력을 수용한다. 디바이스(100)는 또한, 선택적으로, 터치 감응형 디스플레이 시스템(112) 상에서의 접촉들의 세기들을 검출하기 위한 하나 이상의 접촉 세기 센서들(165) 및/또는 디바이스(100)의 사용자를 위해 촉각적 출력들을 생성하기 위한 하나 이상의 촉각적 출력 생성기들(167)을 포함한다.In some embodiments, the
도 3은 일부 실시예들에 따른, 디스플레이 및 터치 감응형 표면을 갖는 예시적인 다기능 디바이스의 블록도이다. 디바이스(300)가 휴대용일 필요는 없다. 일부 실시예들에서, 디바이스(300)는, 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿 컴퓨터, 멀티미디어 플레이어 디바이스, 내비게이션 디바이스, (어린이 학습 장난감과 같은) 교육용 디바이스, 게이밍 시스템, 또는 제어 디바이스(예컨대, 가정용 또는 산업용 제어기)이다. 디바이스(300)는 전형적으로 하나 이상의 프로세싱 유닛(CPU)들(310), 하나 이상의 네트워크 또는 다른 통신 인터페이스들(360), 메모리(370), 및 이들 컴포넌트를 상호접속하기 위한 하나 이상의 통신 버스들(320)을 포함한다. 통신 버스들(320)은 선택적으로 시스템 컴포넌트들을 상호접속하고 이들 사이의 통신을 제어하는 회로부(때때로 칩셋이라고 지칭됨)를 포함한다. 디바이스(300)는 전형적으로 터치 스크린 디스플레이인 디스플레이(340)를 포함하는 입/출력(I/O) 인터페이스(330)를 포함한다. I/O 인터페이스(330)는 또한, 선택적으로, 키보드 및/또는 마우스(또는 다른 포인팅 디바이스)(350) 및 터치패드(355), 디바이스(300) 상에 촉각적 출력들을 생성하기 위한 촉각적 출력 생성기(357)(예컨대, 도 1a를 참조하여 전술된 촉각적 출력 생성기(들)(167)와 유사함), 및 센서들(359)(예컨대, 광 센서, 가속도 센서, 근접 센서, 터치 감응형 센서, 및/또는 도 1a를 참조하여 전술된 접촉 세기 센서(들)(165)와 유사한 접촉 세기 센서)을 포함한다. 메모리(370)는 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 메모리 디바이스들과 같은 고속 랜덤 액세스 메모리를 포함하며; 선택적으로 하나 이상의 자기 디스크 저장 디바이스, 광 디스크 저장 디바이스, 플래시 메모리 디바이스, 또는 다른 비휘발성 솔리드 스테이트 저장 디바이스와 같은 비휘발성 메모리를 포함한다. 메모리(370)는 선택적으로 CPU(들)(310)로부터 원격으로 위치된 하나 이상의 저장 디바이스들을 포함한다. 일부 실시예들에서, 메모리(370)는 휴대용 다기능 디바이스(100)(도 1a)의 메모리(102)에 저장된 프로그램들, 모듈들, 및 데이터 구조들과 유사한 프로그램들, 모듈들, 및 데이터 구조들, 또는 이들의 서브세트를 저장한다. 또한, 메모리(370)는, 선택적으로, 휴대용 다기능 디바이스(100)의 메모리(102) 내에 존재하지 않는 추가의 프로그램들, 모듈들 및 데이터 구조들을 저장한다. 예를 들어, 디바이스(300)의 메모리(370)는, 선택적으로, 드로잉 모듈(380), 프레젠테이션 모듈(382), 워드 프로세싱 모듈(384), 웹사이트 제작 모듈(386), 디스크 저작 모듈(388), 및/또는 스프레드시트 모듈(390)을 저장하는 반면, 휴대용 다기능 디바이스(100)(도 1a)의 메모리(102)는, 선택적으로, 이러한 모듈들을 저장하지 않는다.3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface, in accordance with some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop computer, desktop computer, tablet computer, multimedia player device, navigation device, an educational device (such as a children's learning toy), a gaming system, or a control device (e.g., home or industrial Controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or
도 3에서의 앞서 식별된 요소들 각각은, 선택적으로, 전술된 메모리 디바이스들 중 하나 이상에 저장된다. 앞서 식별된 모듈들 각각은 상술한 기능을 수행하기 위한 명령어들의 세트에 대응한다. 앞서 식별된 모듈들 또는 프로그램들(즉, 명령어들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들 또는 모듈들로서 구현될 필요가 없으며, 따라서 다양한 실시예들에서 이들 모듈의 다양한 서브세트들이 선택적으로 조합되거나 그렇지 않으면 재배열된다. 일부 실시예들에서, 메모리(370)는 선택적으로, 앞서 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 또한, 메모리(370)는, 선택적으로, 전술되지 않은 추가의 모듈들 및 데이터 구조들을 저장한다.Each of the previously identified elements in FIG. 3 is, optionally, stored in one or more of the memory devices described above. Each of the previously identified modules corresponds to a set of instructions for performing the functions described above. The modules or programs (i.e., sets of instructions) identified above need not be implemented as separate software programs, procedures, or modules, so in various embodiments, various subsets of these modules are selectively combined. Or otherwise rearranged. In some embodiments, memory 370 optionally stores a subset of the modules and data structures identified above. Further, the memory 370 optionally stores additional modules and data structures not described above.
이제 휴대용 다기능 디바이스(100) 상에서 선택적으로 구현되는 사용자 인터페이스들("UI")의 실시예들에 주목한다.Attention is now directed to embodiments of user interfaces (“UI”) that are selectively implemented on the
도 4a는 일부 실시예들에 따른, 휴대용 다기능 디바이스(100) 상의 애플리케이션들의 메뉴에 대한 예시적인 사용자 인터페이스(400)를 예시한다. 유사한 사용자 인터페이스들이 선택적으로 디바이스(300) 상에 구현된다. 일부 실시예들에서, 사용자 인터페이스(400)는 하기의 요소들, 또는 그들의 서브세트나 수퍼세트를 포함한다:4A illustrates an
셀룰러 및 Wi-Fi 신호들과 같은 무선 통신(들)에 대한 신호 강도 표시자(들); Signal strength indicator(s) for wireless communication(s) such as cellular and Wi-Fi signals;
시간; time;
블루투스 표시자; Bluetooth indicator;
배터리 상태 표시자; Battery status indicator;
다음과 같은, 빈번하게 사용되는 애플리케이션들에 대한 아이콘들을 갖는 트레이(408):
o
부재 중 전화들 또는 음성메일 메시지들의 개수의 표시자(414)를 선택적으로 포함하는 "전화"라고 라벨링된 전화 모듈(138)에 대한 아이콘(416);
o
An
o
읽지 않은 이메일들의 개수의 표시자(410)를 선택적으로 포함하는 "메일"이라고 라벨링된 이메일 클라이언트 모듈(140)에 대한 아이콘(418);
o
An
o
"브라우저"라고 라벨링된 브라우저 모듈(147)에 대한 아이콘(420);및
o
An
o
"음악"이라고 라벨링된 비디오 및 음악 재생기 모듈(152)에 대한 아이콘(422);및
o
An
다음과 같은, 다른 애플리케이션들에 대한 아이콘들: Icons for different applications, such as:
o
"메시지"라고 라벨링된 IM 모듈(141)에 대한 아이콘(424);
o
An
o
"캘린더"라고 라벨링된 캘린더 모듈(148)에 대한 아이콘(426);
o
An
o
"사진"이라고 라벨링된 이미지 관리 모듈(144)에 대한 아이콘(428);
o
An
o
"카메라"라고 라벨링된 카메라 모듈(143)에 대한 아이콘(430);
o
"온라인 비디오"라고 라벨링된 온라인 비디오 모듈(155)에 대한 아이콘(432);
o
"주식"이라고 라벨링된 주식 위젯(149-2)에 대한 아이콘(434);
o
"지도"라고 라벨링된 지도 모듈(154)에 대한 아이콘(436);
o
An
o
"날씨"라고 라벨링된 날씨 위젯(149-1)에 대한 아이콘(438);
o
"시계"라고 라벨링된 알람 시계 위젯(149-4)에 대한 아이콘(440);
o
"운동 지원"이라고 라벨링된 운동 지원 모듈(142)에 대한 아이콘(442);
o
"메모"라고 라벨링된 메모 모듈(153)에 대한 아이콘(444);및
o
An
o
디바이스(100) 및 그의 다양한 애플리케이션들(136)에 대한 설정에의 액세스를 제공하는 설정 애플리케이션 또는 모듈에 대한 아이콘(446).
o
An
도 4a에 예시된 아이콘 라벨들은 단지 예시일 뿐이라는 것에 주목해야 한다. 예를 들어, 다른 라벨들이 선택적으로 다양한 애플리케이션 아이콘들에 대해 사용된다. 일부 실시예들에서, 각각의 애플리케이션 아이콘에 대한 라벨은 각각의 애플리케이션 아이콘에 대응하는 애플리케이션의 이름을 포함한다. 일부 실시예들에서, 특정 애플리케이션 아이콘에 대한 라벨은 특정 애플리케이션 아이콘에 대응하는 애플리케이션의 이름과는 별개이다.It should be noted that the icon labels illustrated in FIG. 4A are only examples. For example, different labels are optionally used for various application icons. In some embodiments, the label for each application icon includes the name of the application corresponding to each application icon. In some embodiments, the label for a specific application icon is separate from the name of the application corresponding to the specific application icon.
도 4b는 디스플레이(450)와는 별개인 터치 감응형 표면(451)(예컨대, 태블릿 또는 터치패드(355), 도 3)을 갖는 디바이스(예컨대, 디바이스(300), 도 3) 상의 예시적인 사용자 인터페이스를 예시한다. 후속하는 예들 중 많은 것들이 (터치 감응형 표면과 디스플레이가 조합된) 터치 스크린 디스플레이(112) 상의 입력들을 참조하여 제공될 것이지만, 일부 실시예들에서, 디바이스는 도 4b에 도시된 바와 같이 디스플레이와 별개인 터치 감응형 표면 상에서 입력들을 검출한다. 일부 실시예들에서, 터치 감응형 표면(예컨대, 도 4b의 451)은 디스플레이(예컨대, 450) 상의 주축(예컨대, 도 4b의 453)에 대응하는 주축(예컨대, 도 4b의 452)을 갖는다. 이들 실시예들에 따르면, 디바이스는 디스플레이 상의 각자의 위치들에 대응하는 위치들(예를 들어, 도 4b에서, 460은 468에 대응하고, 462는 470에 대응함)에서 터치 감응형 표면(451)과의 접촉들(예를 들어, 도 4b의 460, 462)을 검출한다. 이러한 방식으로, 터치 감응형 표면(예컨대, 도 4b의 451) 상에서 디바이스에 의해 검출된 사용자 입력들(예컨대, 접촉들(460, 462) 및 그 이동들)은 터치 감응형 표면이 디스플레이와는 별개일 때 디바이스에 의해 다기능 디바이스의 디스플레이(예컨대, 도 4b의 450) 상의 사용자 인터페이스를 조작하는 데 사용된다. 유사한 방법들이, 선택적으로, 본 명세서에 기술된 다른 사용자 인터페이스들에 이용된다는 것이 이해되어야 한다.4B shows an exemplary user interface on a device (e.g., device 300, FIG. 3) having a touch-sensitive surface 451 (e.g., tablet or
추가적으로, 하기의 예들이 손가락 입력들(예컨대, 손가락 접촉들, 손가락 탭 제스처들, 손가락 스와이프 제스처들 등)을 주로 참조하여 주어지는 반면, 일부 실시예들에서, 손가락 입력들 중 하나 이상은 다른 입력 디바이스로부터의 입력(예컨대, 마우스 기반 입력 또는 스타일러스 입력)으로 대체된다는 것이 이해되어야 한다. 예컨대, 스와이프 제스처는, 선택적으로, 마우스 클릭(예컨대, 접촉 대신) 및 뒤이은 스와이프의 경로를 따른 커서의 이동(예컨대, 접촉의 이동 대신)으로 대체된다. 다른 예로서, (예컨대, 접촉의 검출에 이어 접촉을 검출하는 것을 중지하는 것 대신에) 커서가 탭 제스처의 위치 위에 위치되어 있는 동안에 탭 제스처가 선택적으로 마우스 클릭으로 대체된다. 유사하게, 다수의 사용자 입력이 동시에 검출되는 경우, 다수의 컴퓨터 마우스가 선택적으로 동시에 사용되거나, 또는 마우스와 손가락 접촉들이 선택적으로 동시에 사용되는 것으로 이해하여야 한다.Additionally, while the following examples are given primarily with reference to finger inputs (e.g., finger contacts, finger tap gestures, finger swipe gestures, etc.), in some embodiments, one or more of the finger inputs are It should be understood that input from the device (eg, mouse based input or stylus input) is substituted. For example, a swipe gesture is optionally replaced with a mouse click (eg, instead of a contact) and subsequent movement of the cursor along the path of the swipe (eg, instead of a movement of the contact). As another example, the tap gesture is optionally replaced by a mouse click while the cursor is positioned over the location of the tap gesture (eg, instead of stopping detecting the contact following detection of the contact). Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice are selectively used simultaneously, or mouse and finger contacts are selectively used simultaneously.
본 명세서에 사용되는 바와 같이, "포커스 선택자(focus selector)"라는 용어는 사용자와 상호작용하고 있는 사용자 인터페이스의 현재 부분을 나타내는 입력 요소를 지칭한다. 커서 또는 다른 위치 마커(location marker)를 포함하는 일부 구현예들에서, 커서가 특정 사용자 인터페이스 요소(예컨대, 버튼, 창, 슬라이더 또는 다른 사용자 인터페이스 요소) 위에 있는 동안 터치 감응형 표면(예컨대, 도 3의 터치패드(355) 또는 도 4b의 터치 감응형 표면(451)) 상에서 입력(예컨대, 누르기 입력)이 검출될 때, 특정 사용자 인터페이스 요소가 검출된 입력에 따라 조정되도록, 커서는 "포커스 선택자"로서 기능한다. 터치 스크린 디스플레이 상의 사용자 인터페이스 요소들과의 직접적인 상호작용을 인에이블하는 터치 스크린 디스플레이(예컨대, 도 1a의 터치 감응형 디스플레이 시스템(112) 또는 도 4a의 터치 스크린)를 포함하는 일부 구현예들에서, 입력(예컨대, 접촉에 의한 누르기 입력)이 특정 사용자 인터페이스 요소(예컨대, 버튼, 창, 슬라이더 또는 다른 사용자 인터페이스 요소)의 위치에 있는 터치 스크린 디스플레이 상에서 검출될 때, 특정 사용자 인터페이스 요소가 검출된 입력에 따라 조정되도록, 터치 스크린 상에서 검출된 접촉이 "포커스 선택자"로서 기능한다. 일부 구현예들에서, (예를 들어 포커스를 하나의 버튼으로부터 다른 버튼으로 움직이도록 탭 키 또는 화살표 키를 사용함으로써) 터치 스크린 디스플레이 상의 대응하는 커서의 이동 또는 접촉의 이동 없이 포커스가 사용자 인터페이스의 하나의 영역으로부터 사용자 인터페이스의 다른 영역으로 이동되며; 이러한 구현예들에서, 포커스 선택자는 사용자 인터페이스의 상이한 영역들 사이에서의 포커스의 이동에 따라 움직인다. 포커스 선택자가 갖는 특정 형태와 무관하게, 포커스 선택자는 일반적으로 (예컨대, 사용자가 상호작용하고자 하는 사용자 인터페이스의 요소를 디바이스에 나타내는 것에 의해) 사용자 인터페이스와의 사용자의 의도된 상호작용을 전달하기 위해 사용자에 의해 제어되는 사용자 인터페이스 요소(또는 터치 스크린 디스플레이 상에서의 접촉)이다. 예를 들어, 터치 감응형 표면(예컨대, 터치패드 또는 터치 스크린) 상에서 누르기 입력이 검출되는 동안 각각의 버튼 위의 포커스 선택자(예컨대, 커서, 접촉 또는 선택 박스)의 위치는 (디바이스의 디스플레이 상에 보여지는 다른 사용자 인터페이스 요소들과 달리) 사용자가 각각의 버튼을 활성화시키려고 하고 있다는 것을 나타낼 것이다.As used herein, the term “focus selector” refers to an input element representing the current portion of the user interface that is interacting with the user. In some implementations that include a cursor or other location marker, a touch-sensitive surface (e.g., FIG. 3) while the cursor is over a specific user interface element (e.g., button, window, slider or other user interface element). When an input (e.g., a pressing input) is detected on the
명세서 및 청구범위에서 사용되는 바와 같이, 터치 감응형 표면 상에서의 접촉의 "세기"라는 용어는 터치 감응형 표면 상에서의 접촉(예컨대, 손가락 접촉 또는 스타일러스 접촉)의 힘 또는 압력(단위 면적 당 힘), 또는 터치 감응형 표면 상에서의 접촉의 힘 또는 압력에 대한 대체물(대용물)을 지칭한다. 접촉의 세기는, 적어도 4개의 구별되는 값들을 포함하고 더 전형적으로는 수백 개(예컨대, 적어도 256개)의 구별되는 값들을 포함하는 일정 범위의 값들을 갖는다. 접촉의 세기는 다양한 접근법들, 및 다양한 센서들 또는 센서들의 조합들을 이용하여 선택적으로 결정(또는 측정)된다. 예를 들어, 터치 감응형 표면 아래의 또는 그에 인접한 하나 이상의 힘 센서들은 터치 감응형 표면 상의 다양한 지점들에서 힘을 측정하는 데 선택적으로 사용된다. 일부 구현예들에서는, 다수의 힘 센서들로부터의 힘 측정치들이 접촉의 추정되는 힘을 결정하기 위해 조합(예컨대, 가중 평균 또는 합산)된다. 유사하게, 스타일러스의 압력 감응형 팁(tip)이 터치 감응형 표면 상의 스타일러스의 압력을 결정하는 데 선택적으로 사용된다. 대안으로, 터치 감응형 표면 상에서 검출된 접촉 면적의 크기 및/또는 그에 대한 변화들, 접촉 부근의 터치 감응형 표면의 정전용량 및/또는 그에 대한 변화들, 및/또는 접촉 부근의 터치 감응형 표면의 저항 및/또는 그에 대한 변화들은 터치 감응형 표면 상에서의 접촉의 힘 또는 압력에 대한 대체물로서 선택적으로 이용된다. 일부 구현예들에서, 접촉 힘 또는 압력에 대한 대체 측정치들은 세기 임계치가 초과되었는지의 여부를 결정하는 데 직접 이용된다(예컨대, 세기 임계치는 대체 측정치들에 대응하는 단위로 기술된다). 일부 구현예들에서, 접촉 힘 또는 압력에 대한 대체 측정치들은 추정된 힘 또는 압력으로 변환되고, 추정된 힘 또는 압력은 세기 임계치가 초과되었는지의 여부를 결정하기 위해 이용된다(예를 들어, 세기 임계치는 압력의 단위로 측정된 압력 임계치이다). 사용자 입력의 속성으로서 접촉의 세기를 사용하는 것은, 그렇지 않았으면 어포던스들을 (예를 들어, 터치 감응형 디스플레이 상에) 디스플레이하고/하거나 (예를 들어, 터치 감응형 디스플레이, 터치 감응형 표면, 또는 노브(knob) 또는 버튼과 같은 물리적/기계적 제어부를 통해) 사용자 입력을 수신하기 위하여 한정된 실면적을 갖는 감소된 크기의 디바이스 상에서 사용자에 의해 용이하게 액세스 가능하지 않을 수 있는 부가적인 디바이스 기능에의 사용자 액세스를 가능하게 한다.As used in the specification and claims, the term “strength” of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (eg, finger contact or stylus contact) on a touch-sensitive surface. , Or a substitute for the force or pressure of a contact on a touch-sensitive surface. The intensity of the contact has a range of values that includes at least 4 distinct values and more typically includes several hundred (eg, at least 256) distinct values. The strength of the contact is selectively determined (or measured) using various approaches, and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the touch-sensitive surface are optionally used to measure the force at various points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (eg, weighted average or summed) to determine an estimated force of the contact. Similarly, the pressure sensitive tip of the stylus is optionally used to determine the pressure of the stylus on the touch sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and/or changes thereto, the capacitance of the touch-sensitive surface near the contact and/or changes thereto, and/or the touch-sensitive surface near the contact. The resistance of and/or changes thereto are optionally used as a substitute for the force or pressure of the contact on the touch-sensitive surface. In some implementations, alternative measurements for contact force or pressure are used directly to determine whether an intensity threshold has been exceeded (eg, the intensity threshold is described in units corresponding to the alternative measurements). In some implementations, alternative measurements for contact force or pressure are converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., an intensity threshold. Is the pressure threshold measured in units of pressure). Using the intensity of the contact as an attribute of the user input would otherwise display affordances (e.g., on a touch-sensitive display) and/or (e.g., a touch-sensitive display, a touch-sensitive surface, or User access to additional device functions that may not be readily accessible by the user on a reduced size device with a limited footprint to receive user input (via physical/mechanical controls such as knobs or buttons) Makes it possible.
일부 실시예들에서, 접촉/모션 모듈(130)은 동작이 사용자에 의해 수행되었는지 여부를 결정하는 데 (예컨대, 사용자가 아이콘에 대해 "클릭"했는지 여부를 결정하는 데) 하나 이상의 세기 임계치들의 세트를 이용한다. 일부 실시예들에서, 적어도 세기 임계치들의 서브세트가 소프트웨어 파라미터들에 따라 결정된다(예컨대, 세기 임계치들은 특정 물리적 액추에이터들의 활성화 임계치들에 의해 결정되지 않으며, 디바이스(100)의 물리적 하드웨어를 변경함이 없이 조정될 수 있다). 예를 들어, 트랙패드 또는 터치 스크린 디스플레이의 마우스 "클릭" 임계치는 트랙패드 또는 터치 스크린 디스플레이 하드웨어를 변경함이 없이 넓은 범위의 미리정의된 임계 값들 중 임의의 것으로 설정될 수 있다. 추가로, 일부 구현예들에서, 디바이스의 사용자는 (예컨대, 개별 세기 임계치들을 조정함으로써 그리고/또는 복수의 세기 임계치들을 시스템 레벨 클릭 "세기" 파라미터로 한꺼번에 조정함으로써) 일정 세트의 세기 임계치들 중 하나 이상을 조정하기 위한 소프트웨어 설정들을 제공받는다.In some embodiments, the contact/
명세서 및 청구범위에서 사용되는 바와 같이, 접촉의 "특성 세기"라는 용어는 접촉의 하나 이상의 세기들에 기초한 접촉의 특성을 지칭한다. 일부 실시예들에서, 특성 세기는 다수의 세기 샘플들에 기초한다. 특성 세기는, 선택적으로, 미리정의된 수의 세기 샘플들, 또는 (예컨대, 접촉을 검출한 이후에, 접촉의 리프트오프를 검출하기 이전에, 접촉의 이동의 시작을 검출하기 이전 또는 이후에, 접촉의 종료를 검출하기 이전에, 접촉의 세기의 증가를 검출하기 이전 또는 이후에, 그리고/또는 접촉의 세기의 감소를 검출하기 이전 또는 이후에) 미리정의된 이벤트에 대해 미리결정된 기간(예컨대, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10초) 동안 수집된 세기 샘플들의 세트에 기초한다. 접촉의 특성 세기는, 선택적으로, 접촉의 세기들의 최대 값, 접촉의 세기들의 중간 값(mean value), 접촉의 세기들의 평균값(average value), 접촉의 세기들의 상위 10 백분위 값(top 10 percentile value), 접촉의 세기들의 최대 값의 절반의 값, 접촉의 세기들의 최대 값의 90 퍼센트의 값, 미리정의된 시간에 시작하여 또는 미리정의된 기간에 걸쳐 접촉의 세기를 저역 통과 필터링함으로써 생성된 값 등 중 하나 이상에 기초한다. 일부 실시예들에서, 접촉의 지속기간은 (예컨대, 특성 세기가 시간의 경과에 따른 접촉의 세기의 평균일 때) 특성 세기를 결정하는 데 사용된다. 일부 실시예들에서, 동작이 사용자에 의해 수행되었는지 여부를 결정하기 위해, 특성 세기가 하나 이상의 세기 임계치들의 세트와 비교된다. 예를 들어, 하나 이상의 세기 임계치의 세트는 제1 세기 임계치 및 제2 세기 임계치를 포함할 수 있다. 이 예에서, 제1 세기 임계치를 초과하지 않는 특성 세기를 갖는 접촉의 결과, 제1 동작이 행해지고, 제1 세기 임계치를 초과하지만 제2 세기 임계치를 초과하지 않는 특성 세기를 갖는 접촉의 결과, 제2 동작이 행해지며, 제2 세기 임계치 초과의 특성 세기를 갖는 접촉의 결과, 제3 동작이 행해진다. 일부 실시예들에서, 특성 세기와 하나 이상의 세기 임계치 간의 비교는, 제1 동작을 수행할지 제2 동작을 수행할지 결정하기 위해 사용되기보다는, 하나 이상의 동작을 수행할지 여부(예컨대, 각각의 옵션을 수행할지 또는 각각의 동작을 수행하는 것을 보류할지 여부)를 결정하기 위해 사용된다.As used in the specification and claims, the term “characteristic strength” of a contact refers to a property of a contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is, optionally, a predefined number of intensity samples, or (e.g., after detecting the contact, before detecting the liftoff of the contact, before or after detecting the start of the movement of the contact, Prior to detecting the end of the contact, before or after detecting an increase in the intensity of the contact, and/or before or after detecting a decrease in the intensity of the contact) a predetermined period (e.g.,) for a predefined event. 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds). The characteristic strength of the contact is, optionally, a maximum value of the contact intensities, a mean value of the contact intensities, an average value of the contact intensities, and a top 10 percentile value of the contact intensities. ), half of the maximum value of the intensities of the contact, 90 percent of the maximum value of the intensities of the contact, a value generated by low-pass filtering the intensity of the contact starting at a predefined time or over a predefined period. Is based on one or more of the like. In some embodiments, the duration of the contact is used to determine the feature strength (eg, when the feature strength is the average of the strength of the contact over time). In some embodiments, the characteristic intensity is compared to a set of one or more intensity thresholds to determine whether the operation was performed by the user. For example, the set of one or more intensity thresholds may include a first intensity threshold and a second intensity threshold. In this example, as a result of a contact having a characteristic intensity that does not exceed the first intensity threshold, a first operation is performed, and a result of a contact having a characteristic intensity that exceeds the first intensity threshold but not exceeding the second intensity threshold, the second The second operation is performed, and as a result of the contact having a characteristic intensity exceeding the second intensity threshold, a third operation is performed. In some embodiments, a comparison between a characteristic strength and one or more strength thresholds is not used to determine whether to perform a first action or a second action, but rather whether to perform one or more actions (e.g., each option. It is used to determine whether to perform or suspend performing each operation).
일부 실시예들에서, 특성 세기를 결정하기 위해 제스처의 일부분이 식별된다. 예를 들어, 터치 감응형 표면은 시작 위치로부터 전이하여 종료 위치(이 지점에서 접촉의 세기가 증가함)에 도달하는 연속적인 스와이프 접촉(예컨대, 드래그 제스처)을 수신할 수 있다. 이 예에서, 종료 위치에서의 접촉의 특성 세기는 스와이프 접촉 전체가 아니라 연속적인 스와이프 접촉의 일부분에만(예컨대, 종료 위치에서의 스와이프 접촉의 부분에만) 기초할 수 있다. 일부 실시예들에서, 접촉의 특성 세기를 결정하기 전에 스와이프 접촉의 세기들에 평활화 알고리즘이 적용될 수 있다. 예를 들어, 평활화 알고리즘은, 선택적으로, 비가중 이동 평균(unweighted sliding-average) 평활화 알고리즘, 삼각(triangular) 평활화 알고리즘, 메디안 필터(median filter) 평활화 알고리즘, 및/또는 지수(exponential) 평활화 알고리즘 중 하나 이상을 포함한다. 일부 상황들에서, 이 평활화 알고리즘들은 특성 세기를 결정하기 위해 스와이프 접촉의 세기들에서의 좁은 급등(spike)들 또는 급감(dip)들을 제거한다.In some embodiments, a portion of the gesture is identified to determine a characteristic strength. For example, the touch-sensitive surface may receive a continuous swipe contact (eg, a drag gesture) that transitions from the start position and reaches the end position (the intensity of the contact increases at this point). In this example, the characteristic strength of the contact at the end position may be based on only a portion of the continuous swipe contact (eg, only the portion of the swipe contact at the end position), not the entire swipe contact. In some embodiments, a smoothing algorithm may be applied to the swipe contact's intensities prior to determining the contact's characteristic strength. For example, the smoothing algorithm may optionally be one of an unweighted sliding-average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and/or an exponential smoothing algorithm. Contains one or more. In some situations, these smoothing algorithms remove narrow spikes or dips in the strengths of the swipe contact to determine the feature strength.
본 명세서에 기술된 사용자 인터페이스 도면들은, 선택적으로, 하나 이상의 세기 임계치들(예컨대, 접촉 검출 세기 임계치(IT0), 가볍게 누르기 세기 임계치(ITL), 깊게 누르기 세기 임계치(ITD)(예컨대, 적어도 초기에 ITL보다 높음), 및/또는 하나 이상의 다른 세기 임계치들(예컨대, ITL보다 낮은 세기 임계치(ITH))에 대한 터치 감응형 표면 상에서의 접촉의 현재 세기를 보여주는 다양한 세기 다이어그램들을 포함한다. 이러한 세기 다이어그램은 전형적으로 디스플레이되는 사용자 인터페이스의 일부가 아니라, 도면들의 해석에 도움을 주기 위해 제공된다. 일부 실시예들에서, 가볍게 누르기 세기 임계치는, 디바이스가 물리적 마우스의 버튼 또는 트랙패드를 클릭하는 것과 전형적으로 연관된 동작들을 수행하게 될 세기에 대응한다. 일부 실시예들에서, 깊게 누르기 세기 임계치는, 디바이스가 물리적 마우스의 버튼 또는 트랙패드를 클릭하는 것과 전형적으로 연관된 동작들과는 상이한 동작들을 수행하게 될 세기에 대응한다. 일부 실시예들에서, 접촉이 가볍게 누르기 세기 임계치 미만의(예컨대, 그리고 공칭 접촉 검출 세기 임계치(IT0)(이 미만에서는 접촉이 더 이상 검출되지 않음) 초과의) 특성 세기로 검출될 때, 디바이스는 가볍게 누르기 세기 임계치 또는 깊게 누르기 세기 임계치와 연관된 동작을 수행함이 없이 터치 감응형 표면 상에서의 접촉의 이동에 따라 포커스 선택자를 이동시킬 것이다. 일반적으로, 달리 언급되지 않는 한, 이 세기 임계치들은 사용자 인터페이스 도면들의 상이한 세트들 사이에서 일관성이 있다.The user interface diagrams described herein optionally include one or more intensity thresholds (e.g., a touch detection intensity threshold (IT 0 ), a light tap intensity threshold (IT L ), a deep tap intensity threshold (IT D )) (e.g., At least initially higher than IT L ), and/or various intensity diagrams showing the current intensity of the contact on the touch-sensitive surface for one or more other intensity thresholds (e.g., intensity threshold lower than IT L (IT H )). These intensity diagrams are typically not part of the displayed user interface, but are provided to aid in the interpretation of the figures In some embodiments, the tap intensity threshold is that the device is a physical mouse button or trackpad. Corresponds to the intensity at which the device will perform actions typically associated with clicking a. In some embodiments, the deep pressing intensity threshold may cause different actions than actions typically associated with clicking a button or trackpad of a physical mouse. Corresponding to the intensity to be performed, in some embodiments, the contact is less than the light pressing intensity threshold (eg, and above the nominal contact detection intensity threshold IT 0 (less than the contact no longer detected)). When detected as a characteristic intensity, the device will move the focus selector in accordance with the movement of the contact on the touch-sensitive surface without performing an action associated with the lightly press intensity threshold or the deeply press intensity threshold. On the one hand, these intensity thresholds are consistent among different sets of user interface drawings.
일부 실시예들에서, 디바이스에 의해 검출된 입력들에 대한 디바이스의 응답은 입력 동안 접촉 세기에 기초한 기준들에 따라 달라진다. 예를 들어, 일부 "가볍게 누르기" 입력의 경우, 입력 동안 제1 세기 임계치를 초과하는 접촉의 세기는 제1 응답을 트리거한다. 일부 실시예들에서, 디바이스에 의해 검출된 입력들에 대한 디바이스의 응답은 입력 동안의 접촉 세기 및 시간 기반 기준들 둘 모두를 포함하는 기준들에 따라 달라진다. 예를 들어, 일부 "깊게 누르기" 입력의 경우, 가볍게 누르기에 대한 제1 세기 임계치보다 큰, 입력 동안 제2 세기 임계치를 초과하는 접촉의 세기는, 제1 세기 임계치를 충족하는 것과 제2 세기 임계치를 충족하는 것 사이에서 지연 시간이 경과한 경우에만, 제2 응답을 트리거한다. 이 지연 시간은 전형적으로 200 ms(밀리초) 미만의 지속기간(예컨대, 제2 세기 임계치의 크기에 따라 40, 100, 또는 120 ms이고, 이때 제2 세기 임계치가 증가함에 따라 지연 시간이 증가함)이다. 이 지연 시간은 깊게 누르기 입력의 우발적 인식의 방지를 돕는다. 다른 예로서, 일부 "깊게 누르기" 입력의 경우, 제1 세기 임계치가 충족되는 시간 이후에 발생하는 민감도 감소 기간이 있다. 민감도 감소 기간 동안, 제2 세기 임계치가 증가된다. 제2 세기 임계치의 이러한 일시적인 증가는 또한 우발적 깊게 누르기 입력의 방지를 돕는다. 다른 깊게 누르기 입력의 경우, 깊게 누르기 입력의 검출에 대한 응답은 시간 기반 기준들에 따라 달라지지 않는다.In some embodiments, the device's response to inputs detected by the device is dependent on criteria based on contact strength during input. For example, for some “press lightly” inputs, the strength of the contact that exceeds the first strength threshold during input triggers a first response. In some embodiments, the device's response to inputs detected by the device is dependent on criteria including both contact strength during input and time based criteria. For example, for some "press deep" inputs, the intensity of the contact that exceeds the second intensity threshold during input, which is greater than the first intensity threshold for light tapping, meets the first intensity threshold and the second intensity threshold The second response is triggered only when the delay time has elapsed between satisfying. This delay time is typically less than 200 ms (milliseconds) duration (e.g., 40, 100, or 120 ms depending on the magnitude of the second intensity threshold, where the delay time increases as the second intensity threshold increases). )to be. This delay time helps prevent accidental recognition of a deep press input. As another example, for some "press deep" inputs, there is a sensitivity reduction period that occurs after the time the first intensity threshold is met. During the sensitivity reduction period, the second intensity threshold is increased. This temporary increase in the second intensity threshold also helps to prevent accidental deep press input. For other deep press inputs, the response to detection of the deep press input does not depend on time-based criteria.
일부 실시예들에서, 입력 세기 임계치들 및/또는 대응하는 출력들 중 하나 이상은 하나 이상의 요인, 예컨대 사용자 설정, 접촉 모션, 입력 타이밍, 애플리케이션 실행, 세기가 적용되는 속도, 동시 입력의 수, 사용자 이력, 환경적 요인(예를 들어, 주변 노이즈), 포커스 선택자 포지션 등에 기초하여 달라진다. 예시적인 요인들이 미국 특허 출원 번호 제14/399,606호 및 제14/624,296호에 기술되어 있으며, 이들은 본 명세서에 전체적으로 참조로서 포함된다.In some embodiments, one or more of the input intensity thresholds and/or corresponding outputs may be one or more factors such as user settings, contact motion, input timing, application execution, speed at which the intensity is applied, number of simultaneous inputs, user It varies based on history, environmental factors (eg, ambient noise), focus selector position, etc. Exemplary factors are described in US Patent Application Nos. 14/399,606 and 14/624,296, which are incorporated herein by reference in their entirety.
예를 들어, 도 4c는 시간 경과에 따른 터치 입력(476)의 세기에 부분적으로 기초하여 시간 경과에 따라 변경되는 동적 세기 임계치(480)를 예시한다. 동적 세기 임계치(480)는 2개의 컴포넌트들, 즉 터치 입력(476)이 초기에 검출된 때부터 미리정의된 지연 시간(p1) 이후에 시간 경과에 따라 감쇠하는 제1 컴포넌트(474), 및 시간 경과에 따라 터치 입력(476)의 세기를 따라가는 제2 컴포넌트(478)의 합산이다. 제1 컴포넌트(474)의 초기 높은 세기 임계치는 "깊게 누르기" 응답의 우발적 트리거링을 감소시키지만, 터치 입력(476)이 충분한 세기를 제공하는 경우 즉각적인 "깊게 누르기" 응답을 여전히 허용한다. 제2 컴포넌트(478)는 터치 입력의 점진적인 세기 변동에 의한 "깊게 누르기" 응답의 의도하지 않은 트리거링을 감소시킨다. 일부 실시예들에서, 터치 입력(476)이 (예를 들어, 도 4c의 지점(481)에서) 동적 세기 임계치(480)를 충족할 때, "깊게 누르기" 응답이 트리거된다.For example, FIG. 4C illustrates a
도 4d는 다른 동적 세기 임계치(486)(예컨대, 세기 임계치(ID))를 예시한다. 도 4d는 또한 다른 2개의 세기 임계치들, 즉, 제1 세기 임계치(IH) 및 제2 세기 임계치(IL)를 예시한다. 도 4d에서, 터치 입력(484)은 시간(p2) 이전에 제1 세기 임계치(IH) 및 제2 세기 임계치(IL)를 충족하지만, 지연 시간(p2)이 시간(482)을 경과할 때까지 응답이 제공되지 않는다. 또한 도 4d에서, 동적 세기 임계치(486)는 시간 경과에 따라 감쇠하는데, 감쇠는 시간(482)(제2 세기 임계치(IL)와 연관된 응답이 트리거된 때)으로부터 미리정의된 지연 시간(p1)이 경과한 후에 시간(488)에서 시작한다. 이러한 유형의 동적 세기 임계치는 더 낮은 세기 임계치, 예를 들어 제1 세기 임계치(IH) 또는 제2 세기 임계치(IL)와 연관된 응답을 트리거한 직후, 또는 그와 동시에 동적 세기 임계치(ID)와 연관된 응답의 우발적 트리거링을 감소시킨다.4D illustrates another dynamic intensity threshold 486 (eg, intensity threshold I D ). 4D also illustrates other two intensity thresholds, namely a first intensity threshold I H and a second intensity threshold I L. In FIG. 4D, the
도 4e는 또 다른 동적 세기 임계치(492)(예컨대, 세기 임계치(ID))를 예시한다. 도 4e에서, 세기 임계치(IL)와 연관된 응답은 터치 입력(490)이 초기에 검출된 때부터 지연 시간(p2)이 경과한 후에 트리거된다. 동시에, 동적 세기 임계치(492)는 터치 입력(490)이 초기에 검출된 때부터 미리정의된 지연 시간(p1)이 경과한 후에 감쇠한다. 따라서, 세기 임계치(IL)와 연관된 응답을 트리거한 후에 터치 입력(490)의 세기가 감소하고, 이어서 터치 입력(490)의 해제 없이 터치 입력(490)의 세기가 증가하면, 터치 입력(490)의 세기가 다른 세기 임계치, 예를 들어, 세기 임계치(IL) 미만인 때에도 (예컨대, 시간(494)에서) 세기 임계치(ID)와 연관된 응답을 트리거할 수 있다.4E illustrates another dynamic intensity threshold 492 (eg, intensity threshold I D ). In FIG. 4E, the response associated with the intensity threshold I L is triggered after a delay time p2 elapses from when the
가볍게 누르기 세기 임계치(ITL) 미만의 세기로부터 가볍게 누르기 세기 임계치(ITL)와 깊게 누르기 세기 임계치(ITD) 사이의 세기로의 접촉의 특성 세기의 증가는, 때때로 "가볍게 누르기" 입력으로서 지칭된다. 깊게 누르기 세기 임계치(ITD) 미만의 세기로부터 깊게 누르기 세기 임계치(ITD) 초과의 세기로의 접촉의 특성 세기의 증가는 때때로 "깊게 누르기" 입력으로서 지칭된다. 접촉-검출 세기 임계치(IT0) 미만의 세기로부터 접촉-검출 세기 임계치(IT0)와 가볍게 누르기 세기 임계치(ITL) 사이의 세기로의 접촉의 특성 세기의 증가는, 때때로 터치 표면 상에서의 접촉을 검출하는 것으로서 지칭된다. 접촉 검출 세기 임계치(IT0) 초과의 세기로부터 접촉 검출 세기 임계치(IT0) 미만의 세기로의 접촉의 특성 세기의 감소는 때때로 터치 표면으로부터의 접촉의 리프트오프를 검출하는 것으로서 지칭된다. 일부 실시예들에서 IT0는 0(영)이다. 일부 실시예들에서 IT0는 0보다 크다. 일부 실시예들에서, 음영이 있는 원 또는 타원은 터치 감응형 표면 상에서의 접촉의 세기를 나타내기 위해 사용된다. 일부 실시예들에서, 음영이 없는 원 또는 타원은 개개의 접촉의 세기를 특정하지 않으면서 터치 감응형 표면 상의 개개의 접촉을 표현하기 위해 사용된다.Increase in the light press intensity threshold (IT L) characteristics of the contact as between the pressing depth and lightly press intensity threshold (IT L) from the intensity of the less intensity threshold (IT D) intensity strength is sometimes referred to as "tap tap" input do. Deep press intensity threshold (IT D) from the intensity of the pressing depth is less than the threshold intensity (IT D) increases in the characteristics of the contact to the intensity of the intensity than is sometimes referred to as "deep press" type. Contact-detection intensity threshold (IT 0) from the strength of the under contact-increasing properties of the contact of the century between detected intensity threshold (IT 0) and lightly pressing intensity threshold (IT L) intensity, and sometimes the contact on the touch surface Is referred to as detecting. Contact detection intensity threshold (IT 0) contact detection intensity threshold value from the intensity of the excess (IT 0) characteristic decrease in the strength of contact with the under strength is sometimes referred to as for detecting the lift-off of the touch from the touch surface. In some embodiments IT 0 is 0 (zero). In some embodiments IT 0 is greater than 0. In some embodiments, a shaded circle or ellipse is used to indicate the intensity of contact on the touch-sensitive surface. In some embodiments, an unshaded circle or ellipse is used to represent an individual contact on the touch-sensitive surface without specifying the intensity of the individual contact.
본 명세서에 기술된 일부 실시예들에서, 하나 이상의 동작들은, 각각의 누르기 입력을 포함하는 제스처를 검출하는 것에 응답하여 또는 각각의 접촉(또는 복수의 접촉들)으로 수행되는 각각의 누르기 입력을 검출하는 것에 응답하여 수행되며, 여기서 각각의 누르기 입력은 누르기 입력 세기 임계치 초과의 접촉(또는 복수의 접촉들)의 세기의 증가를 검출하는 것에 적어도 부분적으로 기초하여 검출된다. 일부 실시예들에서, 개개의 동작은, 누르기 입력 세기 임계치 초과의 개개의 접촉의 세기의 증가를 검출하는 것에 응답하여 수행된다(예컨대, 개개의 동작은 개개의 누르기 입력의 "다운 스트로크(down stroke)"에서 수행됨). 일부 실시예들에서, 누르기 입력은 누르기 입력 세기 임계치 초과의 각각의 접촉의 세기의 증가 및 누르기 입력 세기 임계치 미만의 접촉의 세기의 후속하는 감소를 포함하며, 각각의 동작은 누르기 입력 임계치 미만의 각각의 접촉의 세기의 후속하는 감소를 검출하는 것에 응답하여 수행된다(예컨대, 각각의 동작은 각각의 누르기 입력의 "업 스트로크(up stroke)"에서 수행된다).In some embodiments described herein, the one or more actions detect each pressing input performed with each contact (or multiple contacts) in response to detecting a gesture including each pressing input. Wherein each pressing input is detected based at least in part on detecting an increase in the intensity of a contact (or a plurality of contacts) above a pressing input intensity threshold. In some embodiments, the individual action is performed in response to detecting an increase in the intensity of the individual contact above the pressing input intensity threshold (eg, the individual action is a “down stroke” of the individual pressing input. )"). In some embodiments, the pressing input comprises an increase in the intensity of each contact above the pressing input intensity threshold and a subsequent decrease in the intensity of the contact below the pressing input intensity threshold, each action being each less than the pressing input intensity threshold. Is performed in response to detecting a subsequent decrease in the intensity of the contact (eg, each action is performed in the “up stroke” of each pressing input).
일부 실시예들에서, 디바이스는 때때로 "지터(jitter)"로 지칭되는 우발적인 입력들을 회피하기 위해 세기 히스테리시스를 채용하며, 여기서 디바이스는 누르기 입력 세기 임계치에 대한 미리정의된 관계를 갖는 히스테리시스 세기 임계치(예컨대, 히스테리시스 세기 임계치는 누르기 입력 세기 임계치보다 더 낮은 X 세기 단위이거나, 히스테리시스 세기 임계치는 누르기 입력 세기 임계치의 75%, 90% 또는 어떤 적절한 비율임)를 정의하거나 선택한다. 이와 같이, 일부 실시예들에서, 누르기 입력은 누르기 입력 세기 임계치 초과의 각각의 접촉의 세기의 증가 및 누르기 입력 세기 임계치에 대응하는 히스테리시스 세기 임계치 미만의 접촉의 세기의 후속하는 감소를 포함하며, 각각의 동작은 히스테리시스 세기 임계치 미만의 각각의 접촉의 세기의 후속하는 감소를 검출하는 것에 응답하여 수행된다(각각의 동작은 각각의 누르기 입력의 "업 스트로크"에서 수행된다). 유사하게, 일부 실시예들에서, 누르기 입력은 디바이스가 히스테리시스 세기 임계치 이하에서의 세기로부터 누르기 입력 세기 임계치 이상에서의 세기로의 접촉의 세기의 증가, 및 선택적으로, 히스테리시스 세기 이하에서의 세기로의 접촉의 세기의 후속적인 감소를 검출하는 경우에만 검출되고, 각각의 동작은 누르기 입력(예컨대, 주변환경에 따른 접촉의 세기의 증가 또는 접촉의 세기의 감소)을 검출하는 것에 응답하여 수행된다.In some embodiments, the device employs an intensity hysteresis to avoid accidental inputs, sometimes referred to as “jitter,” where the device has a hysteresis intensity threshold ( For example, the hysteresis intensity threshold is an X intensity unit that is lower than the pressing input intensity threshold, or the hysteresis intensity threshold is 75%, 90% or any suitable ratio of the pressing input intensity threshold). As such, in some embodiments, the pressing input comprises an increase in the intensity of each contact above the pressing input intensity threshold and a subsequent decrease in the intensity of the contact below the hysteresis intensity threshold corresponding to the pressing input intensity threshold, each Is performed in response to detecting a subsequent decrease in the intensity of each contact below the hysteresis intensity threshold (each action is performed in the "up stroke" of each pressing input). Similarly, in some embodiments, the pressing input is an increase in the intensity of the contact from an intensity below the hysteresis intensity threshold to an intensity above the pressing input intensity threshold, and optionally, to an intensity below the hysteresis intensity. It is detected only when detecting a subsequent decrease in the intensity of the contact, and each operation is performed in response to detecting a pressing input (eg, an increase in the intensity of the contact or a decrease in the intensity of the contact according to the surrounding environment).
설명의 편의상, 누르기 입력 세기 임계치와 연관된 누르기 입력에 응답하여 또는 누르기 입력을 포함하는 제스처에 응답하여 수행되는 동작들의 설명은, 선택적으로, 누르기 입력 세기 임계치 초과의 접촉의 세기의 증가, 히스테리시스 세기 임계치 미만의 세기로부터 누르기 입력 세기 임계치 초과의 세기로의 접촉의 세기의 증가, 누르기 입력 세기 임계치 미만의 접촉의 세기의 감소, 또는 누르기 입력 세기 임계치에 대응하는 히스테리시스 세기 임계치 미만의 접촉의 세기의 감소를 검출하는 것에 응답하여 트리거된다. 또한, 동작이 누르기 입력 세기 임계치 미만의 접촉의 세기의 감소를 검출하는 것에 응답하여 수행되는 것으로서 기술되어 있는 예들에서, 동작은, 선택적으로, 누르기 입력 세기 임계치에 대응하고 그보다 더 낮은 히스테리시스 세기 임계치 미만의 접촉의 세기의 감소를 검출하는 것에 응답하여 수행된다. 전술된 바와 같이, 일부 실시예들에서, 이러한 응답들의 트리거링은 또한 시간 기반 기준들이 충족됨(예컨대, 제1 세기 임계치가 충족되는 것과 제2 세기 임계치가 충족되는 것 사이에 지연 시간이 경과됨)에 따라 달라진다.For convenience of explanation, the description of operations performed in response to a pressing input associated with a pressing input intensity threshold or in response to a gesture including a pressing input may optionally include an increase in the intensity of the contact exceeding the pressing input intensity threshold, and a hysteresis intensity threshold. An increase in the intensity of the contact from an intensity less than to an intensity above the pressing input intensity threshold, a decrease in the intensity of the contact below the pressing input intensity threshold, or a decrease in the intensity of the contact below the hysteresis intensity threshold corresponding to the pressing input intensity threshold. Triggered in response to detecting. Further, in examples in which the operation is described as being performed in response to detecting a decrease in the intensity of the contact below the pressing input intensity threshold, the action is, optionally, less than a hysteresis intensity threshold corresponding to and lower than the pressing input intensity threshold. Is performed in response to detecting a decrease in the intensity of the contact. As described above, in some embodiments, triggering of these responses also results in time-based criteria being met (e.g., a delay time elapses between the first intensity threshold being met and the second intensity threshold being met). It depends.
명세서 및 청구범위에 사용되는 바와 같이, "촉각적 출력"이라는 용어는 디바이스의 이전 위치에 대한 디바이스의 물리적 변위, 디바이스의 다른 컴포넌트(예컨대, 하우징)에 대한 디바이스의 컴포넌트(예컨대, 터치 감응형 표면)의 물리적 변위, 또는 사용자의 촉각을 이용하여 사용자에 의해 검출될 디바이스의 질량 중심에 대한 컴포넌트의 변위를 지칭한다. 예컨대, 디바이스 또는 디바이스의 컴포넌트가 터치에 민감한 사용자의 표면(예컨대, 사용자의 손의 손가락, 손바닥, 또는 다른 부위)과 접촉하는 상황에서, 물리적 변위에 의해 생성된 촉각적 출력은 사용자에 의해 디바이스 또는 디바이스의 컴포넌트의 물리적 특성들의 인지된 변화에 대응하는 촉감(tactile sensation)으로서 해석될 것이다. 예컨대, 터치 감응형 표면(예컨대, 터치 감응형 디스플레이 또는 트랙패드)의 이동은, 선택적으로, 사용자에 의해 물리적 액추에이터 버튼의 "다운 클릭" 또는 "업 클릭"으로서 해석된다. 일부 경우에, 사용자는 사용자의 이동에 의해 물리적으로 눌리는(예컨대, 변위되는) 터치 감응형 표면과 연관된 물리적 액추에이터 버튼의 이동이 없는 경우에도 "다운 클릭" 또는 "업 클릭"과 같은 촉감을 느낄 것이다. 다른 예로서, 터치 감응형 표면의 이동은, 터치 감응형 표면의 평탄성의 변화가 없는 경우에도, 선택적으로, 사용자에 의해 터치 감응형 표면의 "거칠기(roughness)"로서 해석 또는 감지된다. 사용자에 의한 터치의 이러한 해석들이 사용자의 개별화된 감각 인지(sensory perception)에 영향을 받기 쉬울 것이지만, 대다수의 사용자들에게 보편적인 많은 터치 감각 인지가 있다. 따라서, 촉각적 출력이 사용자의 특정 감각 인지(예컨대, "업 클릭", "다운 클릭", "거칠기")에 대응하는 것으로서 기술될 때, 달리 언급되지 않는다면, 생성된 촉각적 출력은 전형적인(또는 평균적인) 사용자에 대한 기술된 감각 인지를 생성할 디바이스 또는 그의 컴포넌트의 물리적 변위에 대응한다. 촉각적 출력들을 사용하여 사용자에게 햅틱 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.As used in the specification and claims, the term “tactile output” refers to the physical displacement of the device relative to its previous position, a component of the device (eg, a touch-sensitive surface) relative to another component of the device (eg, a housing). ), or the displacement of the component with respect to the center of mass of the device to be detected by the user using the user's tactile sense. For example, in a situation in which a device or a component of a device is in contact with a touch-sensitive user's surface (e.g., a finger, palm, or other part of the user's hand), the tactile output generated by the physical displacement is caused by the user It will be interpreted as a tactile sensation corresponding to a perceived change in the physical properties of a component of the device. For example, movement of a touch-sensitive surface (eg, a touch-sensitive display or trackpad) is, optionally, interpreted by the user as a “down click” or “up click” of a physical actuator button. In some cases, the user will feel a tactile sensation such as a "down click" or "up click" even when there is no movement of a physical actuator button associated with a touch-sensitive surface that is physically depressed (e.g., displaced) by the user's movement. . As another example, movement of the touch-sensitive surface is, optionally, interpreted or sensed by the user as the "roughness" of the touch-sensitive surface, even when there is no change in the flatness of the touch-sensitive surface. While these interpretations of touch by the user will be susceptible to the user's individualized sensory perception, there are many touch sensory perceptions that are common to the majority of users. Thus, when a tactile output is described as corresponding to a user's specific sensory perception (e.g., "click up", "click down", "roughness"), unless otherwise stated, the generated tactile output is typical (or It corresponds to the physical displacement of the device or its component that will produce the described sensory perception for the user (average). Providing haptic feedback to the user using tactile outputs improves the operability of the device (e.g., by helping the user provide appropriate inputs and reducing user mistakes when actuating/interacting with the device) and It makes the user-device interface more efficient, which in addition reduces the power usage of the device and improves battery life by enabling the user to use the device more quickly and efficiently.
일부 실시예들에서, 촉각적 출력 패턴은 촉각적 출력의 특성들, 예컨대 촉각적 출력의 진폭, 촉각적 출력의 이동 파형의 형상, 촉각적 출력의 주파수, 및/또는 촉각적 출력의 지속기간을 특정한다.In some embodiments, the tactile output pattern determines the characteristics of the tactile output, such as the amplitude of the tactile output, the shape of the moving waveform of the tactile output, the frequency of the tactile output, and/or the duration of the tactile output. To be specified.
상이한 촉각적 출력 패턴들을 갖는 촉각적 출력들이 (예컨대, 이동가능 질량체를 이동시켜 촉각적 출력들을 생성하는 하나 이상의 촉각적 출력 생성기들을 통해) 디바이스에 의해 생성될 때, 촉각적 출력들은, 사용자가 디바이스를 들고 있거나 터치할 시에 상이한 햅틱 감각들을 불러일으킬 수 있다. 사용자의 감각은 촉각적 출력의 사용자 인지에 기초하지만, 대부분의 사용자들은 디바이스에 의해 생성된 촉각적 출력들의 파형, 주파수, 및 진폭의 변화들을 식별할 수 있을 것이다. 따라서, 파형, 주파수 및 진폭은 상이한 동작들이 수행되었음을 사용자에게 나타내기 위해 조정될 수 있다. 이와 같이, 주어진 환경(예컨대, 그래픽 특징부들 및 객체들을 포함하는 사용자 인터페이스, 가상 경계들 및 가상 객체들을 갖는 시뮬레이션된 물리적 환경, 물리적 경계들 및 물리적 객체들을 갖는 실제 물리적 환경, 및/또는 상기 중 임의의 것의 조합)에서 객체들의 특성들(예컨대, 크기, 재료, 중량, 강성도, 평활도 등); 거동들(예컨대, 발진, 변위, 가속도, 회전, 확장 등); 및/또는 상호작용들(예컨대, 충돌, 접착, 반발, 유인, 마찰 등)을 시뮬레이션하기 위해 설계되고/되거나, 선택되고/되거나 엔지니어링되는 촉각적 출력 패턴들을 갖는 촉각적 출력들은, 일부 상황들에서, 입력 에러들을 감소시키고 디바이스의 사용자 동작의 효율을 증가시키는 유용한 피드백을 사용자들에게 제공할 것이다. 추가로, 촉각적 출력들은, 선택적으로, 시뮬레이션된 물리적 특성, 예컨대 입력 임계치 또는 객체의 선택과 관련되지 않는 피드백에 대응하도록 생성된다. 그러한 촉각적 출력들은, 일부 상황들에서, 입력 에러들을 감소시키고 디바이스의 사용자 동작의 효율을 증가시키는 유용한 피드백을 사용자들에게 제공할 것이다.When tactile outputs with different tactile output patterns are generated by the device (e.g., via one or more tactile output generators that generate tactile outputs by moving a movable mass), the tactile outputs are When holding or touching, it can evoke different haptic sensations. The user's sense is based on user perception of the tactile output, but most users will be able to discern changes in the waveform, frequency, and amplitude of the tactile outputs generated by the device. Thus, the waveform, frequency and amplitude can be adjusted to indicate to the user that different operations have been performed. As such, a given environment (e.g., a user interface including graphical features and objects, a simulated physical environment with virtual boundaries and virtual objects, a real physical environment with physical boundaries and physical objects, and/or any of the above) Properties of objects (eg size, material, weight, stiffness, smoothness, etc.) in a combination of Behaviors (eg, oscillation, displacement, acceleration, rotation, expansion, etc.); And/or tactile outputs with tactile output patterns designed and/or selected and/or engineered to simulate interactions (e.g., collision, adhesion, repulsion, attraction, friction, etc.), in some situations. , It will provide useful feedback to users that reduces input errors and increases the efficiency of user operation of the device. Additionally, tactile outputs are optionally generated to correspond to a simulated physical characteristic, such as an input threshold or feedback that is not related to the selection of an object. Such tactile outputs will, in some situations, provide useful feedback to users that reduce input errors and increase the efficiency of user operation of the device.
일부 실시예들에서, 적합한 촉각적 출력 패턴을 갖는 촉각적 출력은 사용자 인터페이스에서 또는 디바이스 내의 장면 뒤에서 관심 이벤트의 발생에 대한 큐(cue)로서의 역할을 한다. 관심 이벤트들의 예들은, 디바이스 상에 또는 사용자 인터페이스에 제공된 어포던스(예컨대, 실제 또는 가상 버튼, 또는 토글(toggle) 스위치)의 활성화, 요청된 동작의 성공 또는 실패, 사용자 인터페이스에서의 경계에 도달하거나 그를 횡단하는 것, 새로운 상태로의 진입, 객체들 사이의 입력 포커스의 스위칭, 새로운 모드의 활성화, 입력 임계치에 도달하거나 그를 횡단하는 것, 입력 또는 제스처의 유형의 검출 또는 인식 등을 포함한다. 일부 실시예들에서, 촉각적 출력들은, 방향전환(redirection) 또는 중단(interruption) 입력이 적시에 검출되지 않으면 발생하게 될 임박한 이벤트 또는 결과에 대한 경고 또는 경보로서의 역할을 하기 위해 제공된다. 촉각적 출력들은 또한, 다른 맥락에서, 사용자 경험을 풍부하게 하고/하거나, 시각 장애 또는 운동 신경 장애가 있거나 다른 액세스가능성 필요들이 있는 사용자들에 대한 디바이스의 액세스가능성을 개선하고/하거나, 사용자 인터페이스 및/또는 디바이스의 효율 및 기능을 개선하는 데 사용된다. 촉각적 출력들은 선택적으로, 오디오 출력들 및/또는 가시적인 사용자 인터페이스 변화들을 수반하는데, 이는, 추가로, 사용자가 사용자 인터페이스 및/또는 디바이스와 상호작용할 때 사용자의 경험을 향상시키고, 사용자 인터페이스 및/또는 디바이스의 상태에 관한 정보의 더 양호한 전달을 용이하게 하고, 입력 에러들을 감소시키고 디바이스의 사용자 동작의 효율을 증가시킨다.In some embodiments, a tactile output with a suitable tactile output pattern serves as a cue for the occurrence of an event of interest in the user interface or behind a scene within the device. Examples of events of interest include activation of an affordance (e.g., a real or virtual button, or toggle switch) provided on the device or in the user interface, the success or failure of a requested action, reaching or reaching a boundary in the user interface. Traversing, entering a new state, switching input focus between objects, activating a new mode, reaching or traversing an input threshold, detecting or recognizing the type of input or gesture, and the like. In some embodiments, tactile outputs are provided to serve as a warning or alert for an impending event or outcome that will occur if a redirection or interruption input is not detected in a timely manner. Tactile outputs also enrich the user experience, in other contexts, and/or improve the accessibility of the device to users with visual impairment or motor neurological impairment or other accessibility needs, and/or user interface and/or Or it is used to improve the efficiency and function of the device. The tactile outputs optionally involve audio outputs and/or visible user interface changes, which further enhances the user's experience when the user interacts with the user interface and/or device, and enhances the user interface and/or Or to facilitate better transfer of information about the state of the device, reduce input errors and increase the efficiency of user operation of the device.
도 4f 내지 도 4h는, 본 명세서에 논의되는 사용자 인터페이스들 및 방법들과 관련하여 기술되는 것들 및 앞서 언급된 것들과 같이, 다양한 목적들을 위해 그리고 다양한 시나리오들로 적합한 햅틱 피드백을 생성하기 위해 하나 이상의 변환들(예컨대, 변조, 증폭, 절단 등)을 통해 또는 있는 그대로, 개별적으로 또는 조합하여 사용될 수 있는 샘플 촉각적 출력 패턴들의 세트를 제공한다. 촉각적 출력들의 팔레트의 이러한 예는, 3개의 파형들 및 8개의 주파수들의 세트가 촉각적 출력 패턴들의 어레이를 생성하기 위해 어떻게 사용될 수 있는지를 나타낸다. 이들 도면에 도시된 촉각적 출력 패턴들에 더하여, 이러한 촉각적 출력 패턴들 각각은 선택적으로, 예를 들어, 각각 1.0, 0.75, 0.5, 및 0.25의 이득을 갖는 변형예들로 나타나 있는, 도 4i 내지 도 4k에서의 풀탭(FullTap) 80 ㎐, 풀탭 200 ㎐, 미니탭(MiniTap) 80 ㎐, 미니탭 200 ㎐, 마이크로탭(MicroTap) 80 ㎐, 및 마이크로탭 200 ㎐에 대해 도시된 바와 같이, 촉각적 출력 패턴에 대한 이득 값을 변경함으로써 진폭이 조정된다. 도 4i 내지 도 4k에 도시된 바와 같이, 촉각적 출력 패턴의 이득을 변경하는 것은, 패턴의 주파수를 변경하거나 파형의 형상을 변경하지 않고서 패턴의 진폭을 변경한다. 일부 실시예들에서, 촉각적 출력 패턴의 주파수를 변경하는 것은 또한 더 낮은 진폭을 야기하는데, 이는 일부 촉각적 출력 생성기들이 얼마나 많은 힘이 이동가능 질량체에 적용될 수 있는지에 의해 제한되고, 이에 따라 파형을 생성하기 위해 필요한 가속도가 촉각적 출력 생성기의 동작 힘 범위 밖의 힘을 요구하지 않는 것을 보장하기 위해 질량체의 더 높은 주파수 이동들이 더 낮은 진폭들로 제약되기 때문이다(예컨대, 230 ㎐, 270 ㎐, 및 300 ㎐에서의 풀탭의 피크 진폭들은 80 ㎐, 100 ㎐, 125 ㎐, 및 200 ㎐에서의 풀탭의 진폭들보다 더 낮다).4F-4H illustrate one or more haptic feedbacks suitable for various purposes and in various scenarios, such as those described above and those described in connection with the user interfaces and methods discussed herein. It provides a set of sample tactile output patterns that can be used as is, individually or in combination, through transformations (eg, modulation, amplification, truncation, etc.). This example of a palette of tactile outputs shows how a set of three waveforms and eight frequencies can be used to create an array of tactile output patterns. In addition to the tactile output patterns shown in these figures, each of these tactile output patterns is optionally, for example, Fig. 4i, shown as variants with gains of 1.0, 0.75, 0.5, and 0.25, respectively. As shown for the pull tap 80 Hz, the
도 4f 내지 도 4k는 특정 파형을 갖는 촉각적 출력 패턴들을 도시한다. 촉각적 출력 패턴의 파형은, 이동가능 질량체가 그 촉각적 출력 패턴을 갖는 촉각적 출력을 생성하기 위해 거치는 시간 대비 중립 위치(예컨대, xzero)에 대한 물리적 변위들의 패턴을 나타낸다. 예를 들어, 도 4f에 도시된 제1 세트의 촉각적 출력 패턴들(예컨대, "풀탭"의 촉각적 출력 패턴들)은 각각 2개의 완전한 사이클들을 갖는 발진(예컨대, 중립 위치에서 시작하고 끝나며 중립 위치를 3번 횡단하는 발진)을 포함하는 파형을 갖는다. 도 4g에 도시된 제2 세트의 촉각적 출력 패턴들(예컨대, "미니탭"의 촉각적 출력 패턴들)은 각각 하나의 완전한 사이클을 포함하는 발진(예컨대, 중립 위치에서 시작하고 끝나며 중립 위치를 1번 횡단하는 발진)을 포함하는 파형을 갖는다. 도 4h에 도시된 제3 세트의 촉각적 출력 패턴들(예컨대, "마이크로탭"의 촉각적 출력 패턴들)은 각각 완전한 사이클의 1/2을 포함하는 발진(예컨대, 중립 위치에서 시작하고 끝나며 중립 위치를 횡단하지 않는 발진)을 포함하는 파형을 갖는다. 촉각적 출력 패턴의 파형은 또한, 촉각적 출력의 시작 및 종료 시에 이동가능 질량체의 점진적인 가속 및 감속을 나타내는 시작 버퍼 및 종료 버퍼를 포함한다. 도 4f 내지 도 4k에 도시된 예시적인 파형들은, 이동가능 질량체의 이동의 최대 및 최소 한계를 나타내는 xmin 및 xmax 값들을 포함한다. 더 큰 이동가능 질량체들을 갖는 더 큰 전자 디바이스들의 경우, 질량체의 이동의 더 큰 또는 더 작은 최소 및 최대 한계들이 있을 수 있다. 도 4f 내지 도 4k에 도시된 예들은 1 차원에서의 질량체의 이동을 기술하지만, 유사한 원리들이 2 또는 3 차원들에서의 이동가능 질량체의 이동에도 또한 적용될 것이다.4F to 4K show tactile output patterns having a specific waveform. The waveform of the tactile output pattern represents the pattern of physical displacements with respect to a neutral position (eg, xzero) versus time that the movable mass goes through to generate a tactile output with that tactile output pattern. For example, the first set of tactile output patterns (e.g., "pull-tap" tactile output patterns) shown in FIG. 4F is an oscillation with 2 complete cycles each (e.g., starting and ending in a neutral position and being neutral). Oscillations traversing the location three times). The second set of tactile output patterns (e.g., "minitap" tactile output patterns) shown in FIG. 4G are oscillations each comprising one complete cycle (e.g., starting and ending in a neutral position, with 1 neutral position). Oscillations). The third set of tactile output patterns (e.g., "microtap" tactile output patterns) shown in FIG. 4H are oscillations (e.g., starting and ending in a neutral position, each containing 1/2 of a complete cycle) Oscillations that do not cross the location) The waveform of the tactile output pattern also includes a start buffer and an end buffer representing the gradual acceleration and deceleration of the movable mass at the beginning and end of the tactile output. The exemplary waveforms shown in FIGS. 4F-4K include xmin and xmax values representing the maximum and minimum limits of movement of the movable mass. In the case of larger electronic devices with larger movable masses, there may be larger or smaller minimum and maximum limits of movement of the mass. The examples shown in FIGS. 4F to 4K describe the movement of a mass in one dimension, but similar principles will also apply to the movement of a movable mass in two or three dimensions.
도 4f 내지 도 4k에 도시된 바와 같이, 각각의 촉각적 출력 패턴은 또한 햅틱 감각의 "피치"에 영향을 미치는 대응하는 특성 주파수를 갖는데, 이 햅틱 감각은 그 특성 주파수를 갖는 촉각적 출력으로부터 사용자에 의해 느껴진다. 연속적인 촉각적 출력의 경우, 특성 주파수는 촉각적 출력 생성기의 이동가능 질량체에 의해 주어진 기간 내에 완료되는 사이클들의 수(예컨대, 초당 사이클들)를 나타낸다. 개별 촉각적 출력의 경우, 개별 출력 신호(예컨대, 0.5, 1, 또는 2회의 사이클들을 가짐)가 생성되고, 특성 주파수 값은, 이동가능 질량체가 그 특성 주파수를 갖는 촉각적 출력을 생성하기 위해 얼마나 빨리 이동할 필요가 있는지를 특정한다. 도 4f 내지 도 4h에 도시된 바와 같이, 각각의 유형의 촉각적 출력에 대해(예컨대, 풀탭, 미니탭, 또는 마이크로탭과 같은, 각각의 파형에 의해 정의되는 바와 같음), 더 높은 주파수 값은 이동가능 질량체에 의한 더 빠른 이동(들), 및 그에 따라, 일반적으로, 촉각적 출력을 완료하기 위한 더 짧은 시간(예컨대, 개별 촉각적 출력에 대한 필요한 수의 사이클(들)을 완료하기 위한 시간 + 시작 및 종료 버퍼 시간을 포함함)에 대응한다. 예를 들어, 80 ㎐의 특성 주파수를 갖는 풀탭은 100 ㎐의 특성 주파수를 갖는 풀탭보다 완료하는 데 더 오래 걸린다(예컨대, 도 4f에서 35.4ms 대비 28.3ms). 또한, 주어진 주파수들에 대해, 각각의 주파수에서 그의 파형의 더 많은 사이클들을 갖는 촉각적 출력은, 동일한 각각의 주파수에서 그의 파형의 더 적은 사이클들을 갖는 촉각적 출력보다 완료하는 데 더 오래 걸린다. 예를 들어, 150 ㎐에서의 풀탭은 150 ㎐에서의 미니탭보다 완료하는 데 더 오래 걸리고(예컨대, 19.4ms 대비 12.8ms), 150 ㎐에서의 미니탭은 150 ㎐에서의 마이크로탭보다 완료하는 데 더 오래 걸린다(예컨대, 12.8ms 대비 9.4ms). 그러나, 상이한 주파수들을 갖는 촉각적 출력 패턴들의 경우, 이러한 규칙이 적용되지 않을 수 있다(예컨대, 더 많은 사이클들을 갖지만 더 높은 주파수를 갖는 촉각적 출력들은 더 적은 사이클들을 갖지만 더 낮은 주파수를 갖는 촉각적 출력들보다 완료하는 데 더 짧은 시간이 걸릴 수 있고, 그 반대로도 가능하다). 예를 들어, 300 ㎐에서, 풀탭은 미니탭만큼 오래 걸린다(예컨대, 9.9 ms).As shown in Figures 4F-4K, each tactile output pattern also has a corresponding characteristic frequency that affects the "pitch" of the haptic sensation, which haptic sensation is the user from the tactile output with that characteristic frequency. Felt by For continuous tactile output, the characteristic frequency represents the number of cycles (eg, cycles per second) completed within a given period by the movable mass of the tactile output generator. In the case of an individual tactile output, a separate output signal (e.g., having 0.5, 1, or 2 cycles) is generated and the characteristic frequency value is how much the movable mass is to produce a tactile output with that characteristic frequency. Specify whether you need to move quickly. As shown in Figures 4F-4H, for each type of tactile output (e.g., as defined by each waveform, such as pull tap, minitap, or microtap), the higher frequency value shifts. The faster movement(s) by the possible mass, and thus, in general, a shorter time to complete the tactile output (e.g., the time to complete the required number of cycle(s) for an individual tactile output + Corresponding to the start and end buffer times). For example, a pull tap having a characteristic frequency of 80 Hz takes longer to complete than a pull tap having a characteristic frequency of 100 Hz (e.g., 28.3 ms compared to 35.4 ms in FIG. 4F). Also, for given frequencies, a tactile output with more cycles of its waveform at each frequency takes longer to complete than a tactile output with fewer cycles of its waveform at the same each frequency. For example, a pull tap at 150 Hz takes longer to complete than a minitap at 150 Hz (e.g., 12.8 ms versus 19.4 ms), and a minitap at 150 Hz takes longer to complete than a microtap at 150 Hz. It takes (e.g. 9.4ms versus 12.8ms). However, for tactile output patterns with different frequencies, this rule may not apply (e.g., tactile outputs with more cycles but higher frequency have fewer cycles but tactile output patterns with lower frequency). It may take less time to complete than outputs, and vice versa). For example, at 300 Hz, a pull tap takes as long as a mini tap (eg, 9.9 ms).
도 4f 내지 도 4k에 도시된 바와 같이, 촉각적 출력 패턴은 또한, 촉각적 신호에 포함되는 에너지의 양 또는 햅틱 감각의 "강도"에 영향을 미치는 특성 진폭을 갖는데, 이 햅틱 감각은 그 특성 진폭을 갖는 촉각적 출력을 통해 사용자에 의해 느껴질 수 있다. 일부 실시예들에서, 촉각적 출력 패턴의 특성 진폭은, 촉각적 출력을 생성할 때 중립 위치로부터 이동가능 질량체의 최대 변위를 나타내는 절대 또는 정규화된 값을 지칭한다. 일부 실시예들에서, 촉각적 출력 패턴의 특성 진폭은, 다양한 조건들(예컨대, 사용자 인터페이스 상황들 및 거동들에 기초하여 맞춤화됨) 및/또는 미리구성된 메트릭들(예컨대, 입력 기반 메트릭들, 및/또는 사용자 인터페이스 기반 메트릭들)에 따라, 예컨대, 고정된 또는 동적으로 결정된 이득 인자(예컨대, 0 내지 1의 값)에 의해 조정가능하다. 일부 실시예들에서, 입력 기반 메트릭(예컨대, 세기 변화 메트릭 또는 입력-속력 메트릭)은 촉각적 출력의 생성을 트리거하는 입력 동안 입력의 특성(예컨대, 누르기 입력에서의 접촉의 특성 세기의 변화율 또는 터치 감응형 표면을 가로지른 접촉의 이동 속도)을 측정한다. 일부 실시예들에서, 사용자 인터페이스 기반 메트릭(예컨대, 경계를 가로지른 속력 메트릭)은 촉각적 출력의 생성을 트리거하는 사용자 인터페이스 변화 동안 사용자 인터페이스 요소의 특성(예컨대, 사용자 인터페이스에서 숨겨진 또는 가시적인 경계를 가로지른 요소의 이동 속력)을 측정한다. 일부 실시예들에서, 촉각적 출력 패턴의 특성 진폭은 "엔벨로프(envelope)"에 의해 변조될 수 있고, 인접한 사이클들의 피크들은 상이한 진폭들을 가질 수 있는데, 여기서 앞서 나타낸 파형들 중 하나는, 촉각적 출력이 생성되고 있을 때 시간 경과에 따라 촉각적 출력의 부분들의 진폭을 점진적으로 조정하기 위해 시간 경과에 따라 변화하는 엔벨로프 파라미터(예컨대, 0과 1 사이)에 의한 곱셈에 의해 추가로 수정된다.As shown in Figs. 4F to 4K, the tactile output pattern also has a characteristic amplitude that affects the amount of energy contained in the tactile signal or the "intensity" of the haptic sensation, which haptic sensation has its characteristic amplitude Can be felt by the user through the tactile output with. In some embodiments, the characteristic amplitude of a tactile output pattern refers to an absolute or normalized value representing the maximum displacement of a movable mass from a neutral position when generating a tactile output. In some embodiments, the characteristic amplitude of the tactile output pattern is determined by various conditions (e.g., customized based on user interface situations and behaviors) and/or preconfigured metrics (e.g., input-based metrics, and /Or user interface based metrics), eg, by a fixed or dynamically determined gain factor (eg, a value of 0 to 1). In some embodiments, an input-based metric (e.g., an intensity change metric or an input-velocity metric) is a characteristic of the input (e.g., the rate of change of the characteristic intensity of the touch at the pressing input or the touch The speed of movement of the contact across the sensitive surface is measured. In some embodiments, a user interface based metric (e.g., a speed across a boundary metric) is a characteristic of a user interface element (e.g., a hidden or visible boundary in the user interface) during a user interface change that triggers the generation of a tactile output. The speed of movement of the element across it is measured. In some embodiments, the characteristic amplitude of the tactile output pattern may be modulated by a “envelope”, and the peaks of adjacent cycles may have different amplitudes, wherein one of the previously shown waveforms is When the output is being generated, it is further modified by multiplication by an envelope parameter that changes over time (eg, between 0 and 1) to gradually adjust the amplitude of the portions of the tactile output over time.
특정 주파수들, 진폭들 및 파형들만이 예시 목적을 위해 도 4f 내지 도 4k에서의 샘플 촉각적 출력 패턴들로 표현되지만, 다른 주파수들, 진폭들 및 파형들을 갖는 촉각적 출력 패턴들이 유사한 목적을 위해 사용될 수 있다. 예를 들어, 0.5 내지 4회의 사이클들을 갖는 파형들이 사용될 수 있다. 60 ㎐ 내지 400 ㎐ 범위의 다른 주파수들이 또한 사용될 수 있다.Only certain frequencies, amplitudes and waveforms are represented by the sample tactile output patterns in FIGS. 4F-4K for illustrative purposes, but tactile output patterns with different frequencies, amplitudes and waveforms are for similar purposes. Can be used. For example, waveforms with 0.5 to 4 cycles can be used. Other frequencies in the range of 60 Hz to 400 Hz may also be used.
사용자 인터페이스들 및 연관된 프로세스들User interfaces and associated processes
이제, 디스플레이, 터치 감응형 표면, (선택적으로) 촉각적 출력들을 생성하기 위한 하나 이상의 촉각적 출력 생성기들, 및 (선택적으로) 터치 감응형 표면과의 접촉들의 세기들을 검출하는 하나 이상의 센서들을 갖는 휴대용 다기능 디바이스(100) 또는 디바이스(300)와 같은 전자 디바이스 상에서 구현될 수 있는 사용자 인터페이스들("UI") 및 연관된 프로세스들의 실시예들에 대하여 주목한다.Now, having a display, a touch-sensitive surface, (optionally) one or more tactile output generators to generate tactile outputs, and (optionally) one or more sensors to detect the intensities of contacts with the touch-sensitive surface. Attention is drawn to embodiments of user interfaces (“UI”) and associated processes that may be implemented on an electronic device such as
도 5a 내지 도 5at는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 유사한 동작들이 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.5A-5A illustrate exemplary user interfaces for displaying a representation of a virtual object while switching from displaying a first user interface area to displaying a second user interface area, according to some embodiments. . User interfaces in these figures are in FIGS. 8A to 8E, 9A to 9D, 10A to 10D, 16A to 16G, 17A to 17D, 18A to 18I, 19A to 19H, and FIG. It is used to illustrate the processes described below, including the processes of FIGS. 20A-20F. For ease of description, some of the embodiments will be discussed with reference to operations performed on a device having a touch-
도 5a는 도 5b 내지 도 5at와 관련하여 기술된 사용자 인터페이스들이 사용되는 실세계 콘텍스트를 예시한다.5A illustrates a real-world context in which the user interfaces described in connection with FIGS. 5B-5A are used.
도 5a는 테이블(5004)이 위치되는 물리적 공간(5002)을 예시한다. 디바이스(100)는 사용자에 의해 사용자의 손(5006)에 보유되어 있다.5A illustrates a
도 5b는 디스플레이(112) 상에 디스플레이되는 메시징 사용자 인터페이스(5008)를 예시한다. 메시징 사용자 인터페이스(5008)는 수신된 텍스트 메시지(5012)를 포함하는 메시지 말풍선(5010), 전송된 텍스트 메시지(5016)를 포함하는 메시지 말풍선(5014), 및 메시지 내에 수신된 가상 객체(예컨대, 가상 의자(5020)) 및 가상 의자(5020)가 (예컨대, 디바이스(100)의 하나 이상의 카메라들의 시야의 표현 내의) 증강 현실 뷰에서 관찰가능한 객체인 것을 나타내는 가상 객체 표시자(5022)를 포함하는 메시지 말풍선(5018)을 포함한다. 메시징 사용자 인터페이스(5008)는 또한, 메시지 입력을 디스플레이하도록 구성된 메시지 입력 영역(5024)을 포함한다.5B illustrates a
도 5c 내지 도 5g는 메시징 사용자 인터페이스(5008)의 일부분이 디바이스(100)의 하나 이상의 카메라들의 시야로 대체되게 하는 입력을 예시한다. 도 5c에서, 디바이스(100)의 터치 스크린(112)과의 접촉(5026)이 검출된다. 접촉의 특성 세기는, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이, 접촉 검출 세기 임계치(IT0) 초과이고 힌트 누르기(hint press) 세기 임계치(ITH) 미만이다. 도 5d에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 힌트 누르기 세기 임계치(ITH)를 초과하는 접촉(5026)의 특성 세기의 증가는 메시지 말풍선(5018)의 영역이 증가되게 하였고, 가상 의자(5020)의 크기가 증가되게 하였고, 메시징 사용자 인터페이스(5008)가 (예컨대, 접촉의 특성 세기를 증가시키는 효과의 시각적 피드백을 사용자에게 제공하기 위해) 메시지 말풍선(5018) 뒤에서 블러링되기 시작하게 하였다. 도 5e에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 가볍게 누르기(light press) 세기 임계치(ITL)를 초과하는 접촉(5026)의 특성 세기의 증가는 메시지 말풍선(5018)이 플래터(platter)(5030)로 대체되게 하였고, 가상 의자(5020)의 크기가 추가로 증가되게 하였고, 플래터(5030) 뒤에서 메시징 사용자 인터페이스(5008)의 블러링을 증가시켰다. 도 5f에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 깊게 누르기(deep press) 세기 임계치(ITD)를 초과하는 접촉(5026)의 특성 세기의 증가는 메시징 사용자 인터페이스(5008)의 일부분을 디바이스(100)의 하나 이상의 카메라들의 시야로 대체하기 위한 기준들이 충족되었다는 것을 나타내기 위해 (5032로 예시된 바와 같은) 촉각적 출력을 디바이스(100)의 촉각적 출력 생성기들(167)이 출력하게 한다.5C-5G illustrate an input that causes a portion of the
일부 실시예들에서, 도 5f에 도시된 바와 같이 접촉(5026)의 특성 세기가 깊게 누르기 세기 임계치(ITD)에 도달하기 전에, 도 5c 내지 도 5e에 도시된 진행은 가역적이다. 예를 들어, 도 5d 및/또는 도 5e에 예시된 증가들 후에 접촉(5026)의 특성 세기를 감소시키는 것은, 접촉(5026)의 감소된 세기 레벨에 대응하는 인터페이스 상태가 디스플레이되게 할 것이다(예컨대, 도 5e에 도시된 바와 같은 인터페이스는 접촉의 감소된 특성 세기가 가볍게 누르기 세기 임계치(ITL) 초과라는 결정에 따라 도시되고, 도 5d에 도시된 바와 같은 인터페이스는 접촉의 감소된 특성 세기가 힌트 누르기 세기 임계치(ITH) 초과라는 결정에 따라 도시되고, 도 5c에 도시된 바와 같은 인터페이스는 접촉의 감소된 특성 세기가 힌트 누르기 세기 임계치(ITH) 미만이라는 결정에 따라 도시된다). 일부 실시예들에서, 도 5d 및/또는 도 5e에 예시된 증가들 후에 접촉(5026)의 특성 세기를 감소시키는 것은 도 5c에 도시된 바와 같은 인터페이스가 재디스플레이되게 할 것이다.In some embodiments, the progress shown in FIGS. 5C-5E is reversible before the characteristic strength of the
도 5f 내지 도 5j는 애니메이션화된 전이를 예시하는데, 애니메이션화된 전이 동안 메시징 사용자 인터페이스의 일부분이 디바이스(100)의 하나 이상의 카메라들(이하, "카메라(들)")의 시야로 대체된다. 도 5f로부터 도 5g로, 접촉(5026)은 터치 스크린(112)으로부터 리프트오프되었고, 가상 의자(5020)는 도 5i의 그의 최종 위치를 향해 회전하였다. 도 5g에서, 카메라(들)의 시야(5034)는 (점선들로 표시된 바와 같이) 플래터(5030) 내에서 뷰로 페이드 인(fade into view)되기 시작하였다. 도 5h에서, (예컨대, 카메라(들)에 의해 캡처된 바와 같은 물리적 공간(5002)의 뷰를 도시하는) 카메라(들)의 시야(5034)는 플래터(5030) 내에서 뷰로 페이드 인되는 것을 완료하였다. 도 5h로부터 도 5i로, 가상 의자(5020)는 도 5i의 그의 최종 위치를 향한 그의 회전을 계속하였다. 도 5i에서, 촉각적 출력 생성기들(167)은 적어도 하나의 평면(예컨대, 바닥 표면(5038))이 카메라(들)의 시야(5034) 내에서 검출되었다는 것을 나타내기 위해 (5036으로 예시된 바와 같은) 촉각적 출력을 출력하였다. 가상 의자(5020)는 (예컨대, 가상 객체가 바닥 표면(5038)과 같은 검출된 수평 표면 상에서 직립 배향으로 배치되도록 구성된다는 디바이스(100)에 의한 결정에 따라) 검출된 평면 상에 배치된다. 가상 의자(5020)의 크기는 메시징 사용자 인터페이스의 일부분이 디스플레이(112) 상의 카메라(들)의 시야(5034)의 표현으로 변환됨에 따라 디스플레이(112) 상에서 연속적으로 조정된다. 예를 들어, 카메라(들)의 시야(5034)에 도시된 바와 같은 물리적 공간(5002)에 대한 가상 의자(5020)의 축척은 카메라(들)의 시야(5034) 내에서의 가상 의자(5020)의 미리정의된 "실세계" 크기 및/또는 (테이블(5004)과 같은) 객체들의 검출된 크기에 기초하여 결정된다. 도 5j에서, 가상 의자(5020)는 카메라(들)의 시야(5034) 내의 검출된 바닥 표면에 대한 미리정의된 배향을 갖는 그의 최종 위치에 디스플레이된다. 일부 실시예들에서, 가상 의자(5020)의 초기 랜딩 위치(landing position)는 검출된 평면의 비점유 영역의 중심과 같은, 카메라(들)의 시야 내의 검출된 평면에 대한 미리정의된 위치이다. 일부 실시예들에서, 가상 의자(5020)의 초기 랜딩 위치는 접촉(5026)의 리프트오프 위치에 따라 결정된다(예컨대, 접촉(5026)의 리프트오프 위치는 증강 현실 환경으로 전이되기 위한 기준들이 도 5f에서 충족된 후에 터치 스크린(112)을 가로지르는 접촉(5026)의 이동으로 인해 접촉(5026)의 초기 터치다운 위치와 상이할 수 있다).5F-5J illustrate an animated transition, in which a portion of the messaging user interface is replaced with the field of view of one or more cameras (hereinafter “camera(s)”) of
도 5k 및 도 5l은 카메라(들)의 시야(5034)를 조정하는 디바이스(100)의 (예컨대, 사용자의 손(5006)에 의한) 이동을 예시한다. 디바이스(100)가 물리적 공간(5002)에 대해 이동됨에 따라, 카메라(들)의 디스플레이된 시야(5034)는 변경되고, 가상 의자(5020)는 카메라(들)의 디스플레이된 시야(5034) 내의 바닥 표면(5038)에 대해 동일한 위치에 그리고 동일한 배향으로 부착된 채로 유지된다.5K and 5L illustrate movement (eg, by the user's hand 5006) of
도 5m 내지 도 5q는 카메라(들)의 디스플레이된 시야(5034) 내의 바닥 표면(5038)을 가로지르는 가상 의자(5020)의 이동을 야기하는 입력을 예시한다. 도 5n에서, 디바이스(100)의 터치 스크린(112)과의 접촉(5040)이 가상 의자(5020)에 대응하는 위치에서 검출된다. 도 5n 및 도 5o에서, 접촉(5040)이 화살표(5042)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 접촉(5040)에 의해 드래그된다. 가상 의자(5020)가 접촉(5040)에 의해 이동됨에 따라, 가상 의자(5020)의 크기는 카메라(들)의 시야(5034)에 도시된 바와 같이 물리적 공간(5002)에 대한 가상 의자(5020)의 축척을 유지하도록 변경된다. 예를 들어, 도 5n 내지 도 5p에서, 가상 의자(5020)가 카메라(들)의 시야(5034)의 전경으로부터 디바이스(100)에서 더 멀리 있고 카메라(들)의 시야(5034) 내의 테이블(5004)에 더 가까운 위치로 이동함에 따라, 가상 의자(5020)의 크기는 (예컨대, 카메라(들)의 시야(5034) 내의 테이블(5004)에 대한 의자의 축척이 유지되도록) 감소된다. 더욱이, 가상 의자(5020)가 접촉(5040)에 의해 이동됨에 따라, 카메라(들)의 시야(5034) 내에서 식별된 평면들이 강조된다. 예를 들어, 바닥 평면(5038)이 도 5o에서 강조되어 있다. 도 5o 및 도 5p에서, 접촉(5040)이 화살표(5044)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 접촉(5040)에 의해 계속 드래그된다. 도 5q에서, 접촉(5040)은 터치 스크린(112)으로부터 리프트오프되었다. 일부 실시예들에서, 도 5n 내지 도 5q에 도시된 바와 같이, 가상 의자(5020)가 접촉(5040)에 의해 바닥 표면(5038)을 가로질러 드래그되는 것처럼, 가상 의자(5020)의 이동 경로는 카메라의 시야(5034) 내의 바닥 표면(5038)에 의해 제약된다. 일부 실시예들에서, 도 5n 내지 도 5p와 관련하여 기술된 바와 같은 접촉(5040)은 도 5c 내지 도 5f와 관련하여 기술된 바와 같은 접촉(5026)의 연속이다(예컨대, 접촉(5026)의 리프트오프가 없고, 메시징 사용자 인터페이스(5008)의 일부분이 카메라(들)의 시야(5034)로 대체되게 하는 동일한 접촉이 또한 카메라(들)의 시야(5034) 내에서 가상 의자(5020)를 드래그한다).5M-5Q illustrate inputs that cause movement of the
도 5q 내지 도 5u는 바닥 표면(5038)으로부터 카메라(들)의 시야(5034) 내에서 검출되는 상이한 평면(예컨대, 테이블 표면(5046))으로의 가상 의자(5020)의 이동을 야기하는 입력을 예시한다. 도 5r에서, 디바이스(100)의 터치 스크린(112)과의 접촉(5050)이 가상 의자(5020)에 대응하는 위치에서 검출된다. 도 5r 및 도 5s에서, 접촉(5048)이 화살표(5050)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 접촉(5048)에 의해 드래그된다. 가상 의자(5020)가 접촉(5048)에 의해 이동됨에 따라, 가상 의자(5020)의 크기는 카메라(들)의 시야(5034)에 도시된 바와 같이 물리적 공간(5002)에 대한 가상 의자(5020)의 축척을 유지하도록 변경된다. 추가적으로, 가상 의자(5020)가 접촉(5040)에 의해 이동됨에 따라, 테이블 표면 평면(5046)은 (예컨대, 도 5s에 도시된 바와 같이) 강조된다. 도 5s 및 도 5t에서, 접촉(5048)이 화살표(5052)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 접촉(5040)에 의해 계속 드래그된다. 도 5u에서, 접촉(5048)이 터치 스크린(112)으로부터 리프트오프되었고, 가상 의자(5020)가 이전과 동일한 방향을 향하는 직립 배향으로 테이블 표면 평면(5046) 상에 배치된다.5Q-5U show inputs that cause movement of the
도 5u 내지 도 5ad는, 카메라(들)의 시야(5034)가 디스플레이되는 것이 중지되게 하는, 가상 의자(5020)를 터치 스크린 디스플레이(112)의 에지로 드래그하는 입력을 예시한다. 도 5v에서, 디바이스(100)의 터치 스크린(112)과의 접촉(5054)이 가상 의자(5020)에 대응하는 위치에서 검출된다. 도 5v 및 도 5w에서, 접촉(5054)이 화살표(5056)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 접촉(5054)에 의해 드래그된다. 도 5w 및 도 5x에서, 접촉(5054)이 화살표(5058)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 접촉(5054)에 의해 도 5x에 도시된 위치로 계속 드래그된다.5u-5ad illustrate an input dragging the
도 5u 내지 도 5x에 예시된 접촉(5054)에 의한 입력은, 도 5y 내지 도 5ad에 도시된 바와 같이, 플래터(5030) 내에 카메라(들)의 시야(5034)를 디스플레이하는 것으로부터 카메라(들)의 시야(5034)를 디스플레이하는 것을 중지하고 메시징 사용자 인터페이스(5008)를 완전히 디스플레이하는 것으로 복귀하는 것으로의 전이를 야기한다. 도 5y에서, 카메라(들)의 시야(5034)는 플래터(5030) 내에서 페이드 아웃(fade out)되기 시작한다. 도 5y 및 도 5z에서, 플래터(5030)는 메시지 말풍선(5018)으로 전이된다. 도 5z에서, 카메라(들)의 시야(5034)는 더 이상 디스플레이되지 않는다. 도 5aa에서, 메시징 사용자 인터페이스(5008)는 블러링되는 것이 중지되고 메시지 말풍선(5018)의 크기는 (예컨대, 도 5b에 도시된 바와 같은) 메시지 말풍선(5018)의 원래 크기로 복귀된다.The input by
도 5aa 내지 도 5ad는 가상 의자(5020)가 도 5aa의 접촉(5054)에 대응하는 위치로부터 (예컨대, 도 5b에 도시된 바와 같은) 메시징 사용자 인터페이스(5008) 내의 가상 의자(5020)의 원래 위치로 이동함에 따라 발생하는 가상 의자(5020)의 애니메이션화된 전이를 예시한다. 도 5ab에서, 접촉(5054)은 터치 스크린(112)으로부터 리프트오프되었다. 도 5ab 및 도 5ac에서, 가상 의자(5020)는 크기가 점진적으로 증가하고 도 5ad의 그의 최종 위치를 향해 회전한다.5AA-5A shows the original position of the
도 5b 내지 도 5ad에서, 가상 의자(5020)는 메시징 사용자 인터페이스(5008) 내에서 그리고 카메라(들)의 디스플레이된 시야(5034) 내에서 실질적으로 동일한 3차원 외관을 갖고, 가상 의자(5020)는 메시징 사용자 인터페이스(5008)를 디스플레이하는 것으로부터 카메라(들)의 시야(5034)를 디스플레이하는 것으로의 전이 동안 그리고 역방향 전이 동안 동일한 3차원 외관을 유지한다. 일부 실시예들에서, 가상 의자(5020)의 표현은 증강 현실 환경(예컨대, 카메라(들)의 디스플레이된 시야)에서와 상이한, 애플리케이션 사용자 인터페이스(예컨대, 메시징 사용자 인터페이스)에서의 외관을 갖는다. 예를 들어, 가상 의자(5020)는 선택적으로, 애플리케이션 사용자 인터페이스에서 2차원이거나 더 양식화된 외양(stylized look)을 갖는 한편 증강 현실 환경에서 3차원이고 더 현실적이고 질감을 갖는 외양을 가지며; 애플리케이션 사용자 인터페이스를 디스플레이하는 것과 증강 현실 환경을 디스플레이하는 것 사이의 전이 동안 가상 의자(5020)의 중간 외관들은 가상 의자(5020)의 2차원 외양과 3차원 외양 사이의 일련의 보간된 외관들이다.5B-5A, the
도 5ae는 인터넷 브라우저 사용자 인터페이스(5060)를 예시한다. 인터넷 브라우저 사용자 인터페이스(5060)는 웹 브라우저에 대한 URL/검색 입력을 디스플레이하도록 구성된 URL/검색 입력 영역(5062) 및 브라우저 제어부들(5064)(예컨대, 뒤로 가기 버튼 및 앞으로 가기 버튼을 포함하는 내비게이션 제어부들, 공유 인터페이스를 디스플레이하기 위한 공유 제어부, 북마크 인터페이스를 디스플레이하기 위한 북마크 제어부, 및 탭 인터페이스를 디스플레이하기 위한 탭 제어부)을 포함한다. 인터넷 브라우저 사용자 인터페이스(5060)는 또한 웹 객체들(5066, 5068, 5070, 5072, 5074, 5076)을 포함한다. 일부 실시예들에서, 각각의 웹 객체는 링크를 포함하여, 각각의 웹 객체 상에서의 탭 입력에 응답하여 웹 객체에 대응하는 링크된 인터넷 위치가 인터넷 브라우저 사용자 인터페이스(5060)에 디스플레이되게 한다(예컨대, 각각의 웹 객체의 디스플레이를 대체함). 웹 객체들(5066, 5068, 5072)은 가상 객체 표시자들(5078, 5080, 5082)에 의해 각각 표시되는 바와 같이 3차원 가상 객체들의 2차원 표현들을 포함한다. 웹 객체들(5070, 5074, 5076)은 2차원 이미지들을 포함한다(그러나, 웹 객체들(5070, 5074, 5076)의 2차원 이미지들은, 가상 객체 표시자들이 없는 것으로 나타내는 바와 같이, 3차원 가상 객체들에 대응하지 않는다). 웹 객체(5068)에 대응하는 가상 객체는 램프(lamp) 객체(5084)이다.5AE illustrates an Internet
도 5af 내지 도 5ah는 인터넷 브라우저 사용자 인터페이스(5060)의 일부분이 카메라(들)의 시야(5034)로 대체되게 하는 입력을 예시한다. 도 5af에서, 디바이스(100)의 터치 스크린(112)과의 접촉(5086)이 검출된다. 접촉의 특성 세기는, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이, 접촉 검출 세기 임계치(IT0) 초과이고 힌트 누르기 세기 임계치(ITH) 미만이다. 도 5ag에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 가볍게 누르기 세기 임계치(ITL)를 초과하는 접촉(5026)의 특성 세기의 증가는 카메라(들)의 시야(5034)가 (예컨대, 가상 램프(5084)에 의해 오버레이(overlay)된) 웹 객체(5068) 내에 디스플레이되게 하였다. 도 5ah에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 깊게 누르기 세기 임계치(ITD)를 초과하는 접촉(5086)의 특성 세기의 증가는 카메라(들)의 시야(5034)가 인터넷 브라우저 사용자 인터페이스(5060)의 더 큰 부분을 대체하게 하고(예컨대, 단지 URL/검색 입력 영역(5062) 및 브라우저 제어부들(5064)만 남김), 디바이스(100)의 촉각적 출력 생성기들(167)은 인터넷 브라우저 사용자 인터페이스(5060)의 일부분을 카메라(들)의 시야(5034)로 대체하기 위한 기준들이 충족되었다는 것을 나타내기 위해 (5088로 예시된 바와 같은) 촉각적 출력을 출력한다. 일부 실시예들에서, 도 5af 내지 도 5ah와 관련하여 기술된 입력에 응답하여, 카메라(들)의 시야(5034)는 터치 스크린 디스플레이(112) 상의 인터넷 브라우저 사용자 인터페이스(506)를 완전히 대체한다.5af-5ah illustrate an input that causes a portion of the internet
도 5ai 내지 도 5am은 가상 램프(5084)의 이동을 야기하는 입력을 예시한다. 도 5ai 및 도 5aj에서, 접촉(5086)이 화살표(5090)로 표시된 경로를 따라서 이동함에 따라, 가상 램프(5084)는 접촉(5086)에 의해 드래그된다. 가상 램프(5084)가 접촉(5086)에 의해 이동됨에 따라, 가상 램프(5084)의 크기는 변경되지 않고, 가상 램프(5084)의 경로는 선택적으로, 카메라(들)의 시야 내에서 캡처되는 물리적 공간의 구조에 의해 제약되지 않는다. 가상 램프(5084)가 접촉(5086)에 의해 이동됨에 따라, 카메라(들)의 시야(5034) 내에서 식별된 평면들이 강조된다. 예를 들어, 바닥 평면(5038)은 가상 램프(5084)가 바닥 평면(5038) 위에서 이동함에 따라 도 5aj에서 강조된다. 도 5aj 및 도 5ak에서, 접촉(5086)이 화살표(5092)로 표시된 경로를 따라서 이동함에 따라, 가상 램프(5084)는 접촉(5086)에 의해 계속 드래그된다. 도 5ak 및 도 5al에서, 접촉(5086)이 화살표(5094)로 표시된 경로를 따라서 이동함에 따라, 가상 램프(5084)는 접촉(5086)에 의해 계속 드래그되고, 바닥 평면(5038)은 강조되는 것이 중지되고, 테이블 표면(5046)은 가상 램프(5084)가 테이블(5004) 위에서 이동함에 따라 강조된다. 도 5am에서, 접촉(5086)은 터치 스크린(112)으로부터 리프트오프되었다. 접촉(5086)이 리프트오프되었을 때, 가상 램프(5086)의 크기는 카메라(들)의 시야(5034) 내의 테이블(5004)에 대해 정확한 축척을 갖도록 조정되고, 가상 램프(5086)는 카메라들의 시야(5034) 내의 테이블 표면(5046) 상에서 직립 배향으로 배치된다.5Ai-5A illustrate the input that causes the movement of the
도 5am 내지 도 5aq는, 카메라(들)의 시야(5034)가 디스플레이되는 것이 중지되게 하고 인터넷 브라우저 사용자 인터페이스(5060)가 복원되게 하는, 가상 램프(5084)를 터치 스크린 디스플레이(112)의 에지로 드래그하는 입력을 예시한다. 도 5an에서, 디바이스(100)의 터치 스크린(112)과의 접촉(5096)이 가상 램프(5084)에 대응하는 위치에서 검출된다. 도 5an 및 도 5ao에서, 접촉(5096)이 화살표(5098)로 표시된 경로를 따라서 이동함에 따라, 가상 램프(5084)는 접촉(5096)에 의해 드래그된다. 도 5ao 및 도 5ap에서, 접촉(5054)이 화살표(5100)로 표시된 경로를 따라서 이동함에 따라, 가상 램프(5084)는 접촉(5096)에 의해 도 5ap에 도시된 위치로 계속 드래그된다. 도 5aq에서, 접촉(5096)은 터치 스크린(112)으로부터 리프트오프되었다.Figures 5am-5aq show the
도 5am 내지 도 5ap에 예시된 접촉(5096)에 의한 입력은, 도 5aq 내지 도 5at에 도시된 바와 같이, 카메라(들)의 시야(5034)를 디스플레이하는 것으로부터 카메라(들)의 시야(5034)를 디스플레이하는 것을 중지하고 인터넷 브라우저 사용자 인터페이스(5060)를 완전히 디스플레이하는 것으로 복귀하는 것으로의 전이를 야기한다. 도 5ar에서, 카메라(들)의 시야(5034)는 (점선들로 표시된 바와 같이) 페이드 아웃되기 시작한다. 도 5ar 내지 도 5at에서, 가상 램프(5084)는 크기가 증가하고, 인터넷 브라우저 사용자 인터페이스(5060) 내에서 그의 원래 위치를 향해 이동한다. 도 5as에서, 카메라(들)의 시야(5034)는 더 이상 디스플레이되지 않고, 인터넷 브라우저 사용자 인터페이스(5060)는 (점선들로 표시된 바와 같이) 페이드 인(fade in)되기 시작한다. 도 5at에서, 인터넷 브라우저 사용자 인터페이스(5060)는 완전히 디스플레이되고, 가상 램프(5084)는 인터넷 브라우저 사용자 인터페이스(5060) 내에서 그의 원래 크기 및 위치로 복귀되었다.The input by
도 6a 내지 도 6aj는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을, 그리고 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.6A-6AJ illustrate a first representation of a virtual object in a first user interface area, a second representation of a virtual object in a second user interface area, and a representation of a field of view of one or more cameras, according to some embodiments. Together illustrate example user interfaces for displaying a third representation of a virtual object. User interfaces in these figures are in FIGS. 8A to 8E, 9A to 9D, 10A to 10D, 16A to 16G, 17A to 17D, 18A to 18I, 19A to 19H, and FIG. It is used to illustrate the processes described below, including the processes of FIGS. 20A-20F. For ease of description, some of the embodiments will be discussed with reference to operations performed on a device having a touch-
도 6a는 수신된 텍스트 메시지(5012)를 포함하는 메시지 말풍선(5010), 전송된 텍스트 메시지(5016)를 포함하는 메시지 말풍선(5014), 및 메시지 내에 수신된 가상 객체(예컨대, 가상 의자(5020)) 및 가상 의자(5020)가 (예컨대, 디바이스(100)의 하나 이상의 카메라들의 디스플레이된 시야 내의) 증강 현실 뷰에서 관찰가능한 객체인 것을 나타내는 가상 객체 표시자(5022)를 포함하는 메시지 말풍선(5018)을 포함하는 메시징 사용자 인터페이스(5008)를 예시한다. 메시징 사용자 인터페이스(5008)는 도 5b와 관련하여 더 상세히 기술된다.6A shows a
도 6b 및 도 6c는 가상 의자(5020)의 회전을 야기하는 입력을 예시한다. 도 6b에서, 디바이스(100)의 터치 스크린(112)과의 접촉(6002)이 검출된다. 접촉(6002)은 화살표(6004)로 표시된 경로를 따라서 터치 스크린(112)을 가로질러 이동한다. 도 6c에서, 접촉의 이동에 응답하여, 메시징 사용자 인터페이스(5008)는 상향으로 스크롤되고(메시지 말풍선(5010)이 디스플레이로부터 스크롤 오프되게 하고, 메시지 말풍선(5014, 5018)이 상향으로 스크롤되게 하고, 추가 메시지 말풍선(6005)을 드러냄), 가상 의자(5020)는 회전된다(예컨대, 상향으로 기울어진다). 가상 의자(5020)의 회전의 크기 및 방향은 화살표(6004)로 표시된 경로를 따른 접촉(6002)의 이동에 대응한다. 도 6d에서, 접촉(6002)은 터치 스크린(112)으로부터 리프트오프되었다. 일부 실시예들에서, 메시지 말풍선(5018) 내에서의 가상 의자(5020)의 이러한 회전 거동은 가상 의자(5020)가 디바이스(100)의 카메라(들)의 시야를 포함하는 증강 현실 환경에서 관찰가능한 가상 객체라는 표시로서 사용된다.6B and 6C illustrate an input that causes rotation of the
도 6e 내지 도 6l은, 메시징 사용자 인터페이스(5008)가 스테이징 사용자 인터페이스(6010)로 대체되게 하고 후속하여 가상 의자(5020)의 배향을 변경하는 입력을 예시한다. 도 6e에서, 디바이스(100)의 터치 스크린(112)과의 접촉(6006)이 검출된다. 접촉의 특성 세기는, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이, 접촉 검출 세기 임계치(IT0) 초과이고 힌트 누르기 세기 임계치(ITH) 미만이다. 도 6f에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 힌트 누르기 세기 임계치(ITH)를 초과하는 접촉(6006)의 특성 세기의 증가는 메시지 말풍선(5018)의 영역이 증가되게 하였고, 가상 의자(5020)의 크기가 증가되게 하였고, 메시징 사용자 인터페이스(5008)가 (예컨대, 접촉의 특성 세기를 증가시키는 효과의 시각적 피드백을 사용자에게 제공하기 위해) 메시지 말풍선(5018) 뒤에서 블러링되기 시작하게 하였다. 도 6g에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 가볍게 누르기 세기 임계치(ITL)를 초과하는 접촉(6006)의 특성 세기의 증가는 메시지 말풍선(5018)이 플래터(6008)로 대체되게 하였고, 가상 의자(5020)의 크기가 추가로 증가되게 하였고, 플래터(6008) 뒤에서 메시징 사용자 인터페이스(5008)의 블러링을 증가시켰다. 도 6h에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 깊게 누르기 세기 임계치(ITD)를 초과하는 접촉(6006)의 특성 세기의 증가는 메시징 사용자 인터페이스(5008)가 디스플레이되는 것이 중지되게 하고 스테이징 사용자 인터페이스(6010)의 (점선들로 표시된) 페이드 인을 개시한다. 추가적으로, 도 6h에 도시된 바와 같이, 깊게 누르기 세기 임계치(ITD)를 초과하는 접촉(6006)의 특성 세기의 증가는 메시징 사용자 인터페이스(5008)를 스테이징 사용자 인터페이스(6010)로 대체하기 위한 기준들이 충족되었다는 것을 나타내기 위해 (6012로 예시된 바와 같은) 촉각적 출력을 디바이스(100)의 촉각적 출력 생성기들(167)이 출력하게 한다.6E-6L illustrate inputs that cause
일부 실시예들에서, 도 6h에 도시된 바와 같이 접촉(6006)의 특성 세기가 깊게 누르기 세기 임계치(ITD)에 도달하기 전에, 도 6e 내지 도 6g에 도시된 진행은 가역적이다. 예를 들어, 도 6f 및/또는 도 6g에 예시된 증가들 후에 접촉(6006)의 특성 세기를 감소시키는 것은, 접촉(6006)의 감소된 세기 레벨에 대응하는 인터페이스 상태가 디스플레이되게 할 것이다(예컨대, 도 6g에 도시된 바와 같은 인터페이스는 접촉의 감소된 특성 세기가 가볍게 누르기 세기 임계치(ITL) 초과라는 결정에 따라 도시되고, 도 6f에 도시된 바와 같은 인터페이스는 접촉의 감소된 특성 세기가 힌트 누르기 세기 임계치(ITH) 초과라는 결정에 따라 도시되고, 도 6e에 도시된 바와 같은 인터페이스는 접촉의 감소된 특성 세기가 힌트 누르기 세기 임계치(ITH) 미만이라는 결정에 따라 도시된다). 일부 실시예들에서, 도 6f 및/또는 도 6g에 예시된 증가들 후에 접촉(6006)의 특성 세기를 감소시키는 것은 도 6e에 도시된 바와 같은 인터페이스가 재디스플레이되게 할 것이다.In some embodiments, the progress shown in FIGS. 6E-6G is reversible before the characteristic intensity of the
도 6i에서는, 스테이징 사용자 인터페이스(6010)가 디스플레이된다. 스테이징 사용자 인터페이스(6010)는 가상 의자(5020)가 디스플레이되는 스테이지(6014)를 포함한다. 도 6h로부터 도 6i로, 가상 의자(5020)는 도 6h의 가상 의자(5020)의 위치로부터 도 6i의 가상 의자(5020)의 위치로의 전이를 나타내도록 애니메이션화된다. 예를 들어, 가상 의자(5020)는 (예컨대, 가상 의자가 스테이지(6014)에 의해 지지되는 것으로 보이도록) 스테이지(6014)에 대해 미리정의된 위치, 배향 및/또는 거리로 회전된다. 스테이징 사용자 인터페이스(6010)는 또한 뒤로 가기 제어부(6016)를 포함하는데, 뒤로 가기 제어부는, (예컨대, 뒤로 가기 제어부(6016)에 대응하는 위치에서의 탭 입력에 의해) 활성화될 때, 이전에 디스플레이된 사용자 인터페이스(예컨대, 메시징 사용자 인터페이스(5008))가 재디스플레이되게 한다. 스테이징 사용자 인터페이스(6010)는 또한, 현재 디스플레이 모드(예컨대, 현재 디스플레이 모드는, 강조된 "3D" 표시자에 의해 표시된 바와 같이, 스테이징 사용자 인터페이스 모드임)를 나타내고, 활성화될 때, 선택된 디스플레이 모드로의 전이를 야기하는 토글 제어부(6018)를 포함한다. 예를 들어, 스테이징 사용자 인터페이스(6010)가 디스플레이되는 동안, 토글 제어부(6018)에 대응하는 위치(예컨대, 텍스트 "World"를 포함하는 토글 제어부(6018)의 일부분에 대응하는 위치)에서의 접촉에 의한 탭 입력은 스테이징 사용자 인터페이스(6010)가 카메라(들)의 시야로 대체되게 한다. 스테이징 사용자 인터페이스(6010)는 또한 (예컨대, 공유 인터페이스를 디스플레이하기 위한) 공유 제어부(6020)를 포함한다.In Fig. 6I, a
도 6j 내지 도 6l은 접촉(6006)의 이동에 의해 야기되는 스테이지(6014)에 대한 가상 의자(5020)의 회전을 예시한다. 도 6j 및 도 6k에서, 접촉(6006)이 화살표(6022)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 (예컨대, 접촉(6066)의 이동에 수직인 제1 축을 중심으로) 회전된다. 도 6k 및 도 6l에서, 접촉(6006)이 화살표(6024)로 표시된 경로를 따라서 그리고 후속하여 화살표(6025)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 (예컨대, 접촉(6066)의 이동에 수직인 제2 축을 중심으로) 회전된다. 도 6m에서, 접촉(6006)은 터치 스크린(112)으로부터 리프트오프되었다. 일부 실시예들에서, 도 6j 내지 도 6l에 도시된 바와 같이, 가상 의자(5020)의 회전은 스테이지(6014)의 표면에 의해 제약된다. 예를 들어, 가상 의자(5020)의 적어도 하나의 다리는 가상 의자의 회전(들) 동안 스테이지(6014)의 표면과 접촉 상태로 유지된다. 일부 실시예들에서, 스테이지(6014)의 표면은 가상 의자(5020)의 이동에 대한 특정 제약조건들을 부과하지 않으면서 가상 의자(5020)의 자유 회전 및 수직 병진에 대한 기준 프레임으로서의 역할을 한다.6J-6L illustrate the rotation of
도 6n 및 도 6o는 가상 의자(5020)의 디스플레이된 크기를 조정하는 입력을 예시한다. 도 6n에서, 터치 스크린(112)과의 제1 접촉(6026) 및 제2 접촉(6030)이 검출된다. 제1 접촉(6026)은 화살표(6028)로 표시된 경로를 따라서 이동하고, 제1 접촉(6026)의 이동과 동시에, 제2 접촉(6030)은 화살표(6032)로 표시된 경로를 따라서 이동한다. 도 6n 및 도 6o에서, 제1 접촉(6026) 및 제2 접촉(6030)이 화살표(6028, 6032)로 표시된 경로들을 따라 각각 (예컨대, 디핀치 제스처로) 이동함에 따라, 가상 의자(5020)의 디스플레이된 크기가 증가한다. 도 6p에서, 제1 접촉(6030) 및 제2 접촉(6026)은 터치 스크린(112)으로부터 리프트오프되었고, 가상 의자(5020)는 접촉들(6026, 6030)의 리프트오프 후에 증가된 크기를 유지한다.6N and 6O illustrate an input for adjusting the displayed size of the
도 6q 내지 도 6u는 스테이징 사용자 인터페이스(6010)가 디바이스(100)의 하나 이상의 카메라들의 시야(6036)로 대체되게 하는 입력을 예시한다. 도 6q에서, 디바이스(100)의 터치 스크린(112)과의 접촉(6034)이 검출된다. 접촉의 특성 세기는, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이, 접촉 검출 세기 임계치(IT0) 초과이고 힌트 누르기 세기 임계치(ITH) 미만이다. 도 6r에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 힌트 누르기 세기 임계치(ITH)를 초과하는 접촉(5026)의 특성 세기의 증가는 스테이징 사용자 인터페이스(6010)가 (점선들로 표시된 바와 같이) 가상 의자(5020) 뒤에서 블러링되기 시작하게 하였다. 도 6s에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 가볍게 누르기 세기 임계치(ITL)를 초과하는 접촉(6034)의 특성 세기의 증가는 스테이징 사용자 인터페이스(6010)가 디스플레이되는 것이 중지되게 하였고 카메라(들)의 시야(6036)의 (점선들로 표시된) 페이드 인을 개시한다. 도 6t에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 깊게 누르기 세기 임계치(ITD)를 초과하는 접촉(6034)의 특성 세기의 증가는 카메라(들)의 시야(6036)가 디스플레이되게 한다. 추가적으로, 도 6t에 도시된 바와 같이, 깊게 누르기 세기 임계치(ITD)를 초과하는 접촉(6034)의 특성 세기의 증가는 스테이징 사용자 인터페이스(6010)의 디스플레이를 카메라(들)의 시야(6036)의 디스플레이로 대체하기 위한 기준들이 충족되었다는 것을 나타내기 위해 (6038로 예시된 바와 같은) 촉각적 출력을 디바이스(100)의 촉각적 출력 생성기들(167)이 출력하게 한다. 도 6u에서, 접촉(6034)은 터치 스크린(112)으로부터 리프트오프되었다. 일부 실시예들에서, 도 6t에 도시된 바와 같이 접촉(6034)의 특성 세기가 깊게 누르기 세기 임계치(ITD)에 도달하기 전에, 도 6q 내지 도 6t에 도시된 진행은 가역적이다. 예를 들어, 접촉(6034)의 특성 세기를 도 6r 및/또는 도 6s에 예시된 증가들 후에 감소시키는 것은 접촉(6034)의 감소된 세기 레벨에 대응하는 인터페이스 상태가 디스플레이되게 할 것이다.6Q-6U illustrate an input that causes the
도 6q로부터 도 6u로, 가상 의자(5020)는 (예컨대, 가상 의자(5020)가 바닥 표면(5038)과 같은 검출된 수평 표면 상에서 직립 배향으로 배치되도록 구성된다는 디바이스(100)에 의한 결정에 따라) 검출된 평면 상에 배치되고, 가상 의자(5020)의 크기는 조정된다(예컨대, 카메라(들)의 시야(6036)에 도시된 바와 같은 물리적 공간(5002)에 대한 가상 의자(5020)의 축척은 카메라(들)의 시야(6036) 내에서의 가상 의자(5020)의 정의된 "실세계" 크기 및/또는 (테이블(5004)과 같은) 객체들의 검출된 크기에 기초하여 결정된다). (예컨대, 도 6j 및 도 6k와 관련하여 기술된 바와 같이) 스테이징 인터페이스(6010)가 디스플레이되는 동안 가상 의자(5020)의 회전에 의해 야기되는 가상 의자(5020)의 배향은 가상 의자(5020)가 스테이징 사용자 인터페이스(6010)로부터 카메라(들)의 시야(6036)로 전이됨에 따라 유지된다. 예를 들어, 바닥 표면(5038)에 대한 가상 의자(5020)의 배향은 스테이지(5014)의 표면에 대한 가상 의자(5020)의 최종 배향과 동일하다. 일부 실시예들에서, 스테이징 사용자 인터페이스에서의 가상 객체(5020)의 크기에 대한 조정은 가상 의자(5020)의 크기가 시야(6036) 내에서 물리적 공간(5002)의 크기에 대해 조정될 때 고려된다.6Q to 6U, the
도 6v 내지 도 6y는 카메라(들)의 시야(6036)가 스테이징 사용자 인터페이스(6010)로 대체되게 하는 입력을 예시한다. 도 6v에서, 접촉(6040)에 의한 입력(예컨대, 탭 입력)이 토글 제어부(6018)에 대응하는 위치(예컨대, 텍스트 "3D"를 포함하는 토글 제어부(6018)의 일부분에 대응하는 위치)에서 검출된다. 도 6w 내지 도 6y에서, 접촉(6040)에 의한 입력에 응답하여, 카메라(들)의 시야(6036)는 (도 6w에서 점선들로 표시된 바와 같이) 페이드 아웃되고, 스테이징 사용자 인터페이스(6010)는 (도 6x에서 점선들로 표시된 바와 같이) 페이드 인되고, 스테이징 사용자 인터페이스(6010)는 (도 6y에 도시된 바와 같이) 완전히 디스플레이된다. 도 6v로부터 도 6y로, (예컨대, 가상 의자(5020)를 스테이징 사용자 인터페이스에 대한 미리정의된 위치 및 크기로 복귀시키도록) 가상 의자(5020)의 크기가 조정되고 가상 의자(5020)의 위치가 변경된다.6V-6Y illustrate an input that causes the field of
도 6z 내지 도 6ac는 스테이징 사용자 인터페이스(6010)가 메시징 사용자 인터페이스(5008)로 대체되게 하는 입력을 예시한다. 도 6z에서, 접촉(6042)에 의한 입력(예컨대, 탭 입력)이 뒤로 가기 제어부(6016)에 대응하는 위치에서 검출된다. 도 6aa 내지 도 6ac에서, 접촉(6042)에 의한 입력에 응답하여, 스테이징 사용자 인터페이스(6010)는 (도 6aa에서 점선들로 표시된 바와 같이) 페이드 아웃되고, 메시징 사용자 인터페이스(5008)는 (도 6ab에서 점선들로 표시된 바와 같이) 페이드 인되고, 메시징 사용자 인터페이스(5008)는 (도 6ac에 도시된 바와 같이) 완전히 디스플레이된다. 도 6z로부터 도 6ab로, 가상 의자(5020)의 크기, 배향, 및 위치는 (예컨대, 가상 의자(5020)를 메시징 사용자 인터페이스(5008)에 대한 미리정의된 위치, 크기 및 배향으로 복귀시키도록) 디스플레이 상에서 연속적으로 조정된다.6Z-6AC illustrate inputs that cause the
도 6ad 내지 도 6aj는 메시징 사용자 인터페이스(5008)가 카메라(들)의 시야(6036)로 대체되게 하는 입력(예컨대, 스테이징 사용자 인터페이스(6010)의 디스플레이를 바이패스함)을 예시한다. 도 6ad에서, 접촉(6044)이 가상 의자(5020)에 대응하는 위치에서 검출된다. 접촉(6044)에 의한 입력은, 긴 터치 제스처(긴 터치 제스처 동안 접촉(6044)은 가상 객체(5020)의 표현에 대응하는 터치 감응형 표면 상의 위치에서 적어도 미리정의된 임계 시간 동안 임계량 미만의 이동으로 유지됨)에 이은 (가상 의자(5020)를 상향으로 드래그하는) 상향 스와이프 제스처를 포함한다. 도 6ad 및 도 6ae에 도시된 바와 같이, 가상 의자(5020)는 접촉(6044)이 화살표(6046)로 표시되는 경로를 따라서 이동함에 따라 상향으로 드래그된다. 도 6ae에서, 메시징 사용자 인터페이스(5008)는 가상 의자(5020) 뒤에서 페이드 아웃된다. 도 6ae 및 도 6af에 도시된 바와 같이, 가상 의자(5020)는 접촉(6044)이 화살표(6048)로 표시되는 경로를 따라서 이동함에 따라 상향으로 계속 드래그된다. 도 6af에서, 카메라(들)의 시야(5036)는 가상 의자(5020) 뒤에서 페이드 인된다. 도 6ag에서, 긴 터치 제스처에 이은 상향 스와이프 제스처를 포함하는 접촉(6044)에 의한 입력에 응답하여, 카메라(들)의 시야(5036)는 완전히 디스플레이된다. 도 6ah에서, 접촉(6044)은 터치 스크린(112)으로부터 리프트오프되어 있다. 도 6ah 내지 도 6aj에서, 접촉(6044)의 리프트오프에 응답하여, 가상 의자(5020)는 (예컨대, 가상 의자(5020)가 더 이상 접촉에 의해 구속 또는 드래그되지 않기 때문에) 해제되고 평면(예컨대, 수평 (바닥) 표면이 가상 의자(5020)에 대응한다는 결정에 따라, 바닥 표면(5038))으로 낙하한다. 추가적으로, 도 6aj에 예시된 바와 같이, 디바이스(100)의 촉각적 출력 생성기들(167)은 가상 의자(5020)가 바닥 표면(5038) 상에 랜딩되었다는 것을 나타내기 위해 (6050으로 예시된 바와 같은) 촉각적 출력을 출력한다.6A-6AJ illustrate an input (eg, bypassing the display of staging user interface 6010) that causes the
도 7a 내지 도 7p는 일부 실시예들에 따른, 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시를 갖는 아이템을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.7A-7P illustrate example user interfaces for displaying an item with a visual indication that the item corresponds to a virtual three-dimensional object, according to some embodiments. User interfaces in these figures are in FIGS. 8A to 8E, 9A to 9D, 10A to 10D, 16A to 16G, 17A to 17D, 18A to 18I, 19A to 19H, and FIG. It is used to illustrate the processes described below, including the processes of FIGS. 20A-20F. For ease of description, some of the embodiments will be discussed with reference to operations performed on a device having a touch-
도 7a는 애플리케이션들의 메뉴에 대한 사용자 인터페이스(400)가 디스플레이되는 동안 검출된 입력을 예시한다. 입력은 제1 사용자 인터페이스(예컨대, 인터넷 브라우저 사용자 인터페이스(5060))를 디스플레이하라는 요청에 대응한다. 도 7a에서, 접촉(7000)에 의한 입력(예컨대, 탭 입력)이 브라우저 모듈(147)에 대한 아이콘(420)에 대응하는 위치에서 검출된다. 입력에 응답하여, 인터넷 브라우저 사용자 인터페이스(5060)가 도 7b에 도시된 바와 같이 디스플레이된다.7A illustrates input detected while the
도 7b는 (예컨대, 도 5ae와 관련하여 상세히 기술된 바와 같은) 인터넷 브라우저 사용자 인터페이스(5060)를 예시한다. 인터넷 브라우저 사용자 인터페이스(5060)는 웹 객체들(5066, 5068, 5070, 5072, 5074, 5076)을 포함한다. 웹 객체들(5066, 5068, 5072)은 가상 객체 표시자들(5078, 5080, 5082)에 의해 각각 표시되는 바와 같이 3차원 가상 객체들의 2차원 표현들을 포함한다. 웹 객체들(5070, 5074, 5076)은 2차원 이미지들을 포함한다(그러나, 웹 객체들(5070, 5074, 5076)의 2차원 이미지들은, 가상 객체 표시자들이 없는 것으로 나타내는 바와 같이, 3차원 가상 객체들에 대응하지 않는다).7B illustrates an internet browser user interface 5060 (eg, as described in detail in connection with FIG. 5AE). The internet
도 7c 및 도 7d는 인터넷 브라우저 사용자 인터페이스(5060)의 병진(예컨대, 스크롤)을 야기하는 입력을 예시한다. 도 7b에서, 터치 스크린(112)과의 접촉(7002)이 검출된다. 도 7c 및 도 7d에서, 접촉(7002)이 화살표(7004)로 표시된 경로를 따라서 이동함에 따라, 웹 객체들(5066, 5068, 5070, 5072, 5074, 5076)은 상향으로 스크롤되어, 추가 웹 객체들(7003, 7005)을 드러낸다. 추가적으로, 접촉(7002)이 화살표(7004)로 표시된 경로를 따라서 이동함에 따라, 가상 객체 표시자들(5078, 5080, 5082)을 각각 포함하는 웹 객체들(5066, 5068, 5072) 내의 가상 객체들은 입력의 (상향 수직) 방향에 따라 회전한다(예컨대, 상향으로 기울어진다). 예를 들어, 가상 램프(5084)는 도 7c의 제1 배향으로부터 도 7d의 제2 배향으로 상향으로 기울어진다. 웹 객체들(5070, 5074, 5076)의 2차원 이미지들은 접촉이 인터넷 브라우저 사용자 인터페이스(5060)를 스크롤함에 따라 회전하지 않는다. 도 7e에서, 접촉(7002)은 터치 스크린(112)으로부터 리프트오프되었다. 일부 실시예들에서, 웹 객체들(5066, 5068, 5072)에 도시된 객체들의 회전 거동은 이들 웹 객체들이 증강 현실 환경에서 관찰가능한 대응하는 3차원 가상 객체들을 갖는다는 시각적 표시로서 사용되는 한편, 웹 객체들(5070, 5074, 5076)에 도시된 객체들의 그러한 회전 거동이 없는 것은 이들 웹 객체들이 증강 현실 환경에서 관찰가능한 대응하는 3차원 가상 객체들을 갖지 않는다는 시각적 표시로서 사용된다.7C and 7D illustrate inputs that cause translation (eg, scrolling) of Internet
도 7f 및 도 7g는 물리적 세계에 대한 디바이스(100)의 배향의 변경에 응답하여 가상 객체들이 디스플레이 상에서 회전하는 시차(parallax) 효과를 예시한다.7F and 7G illustrate a parallax effect in which virtual objects rotate on the display in response to a change in the orientation of the
도 7f1은 디바이스(100)가 실질적으로 수직인 배향을 갖도록 사용자(7006)에 의해 사용자의 손(5006)에 보유되어 있는 디바이스(100)를 예시한다. 도 7f2는 디바이스(100)가 도 7f1에 예시된 배향으로 있을 때 디바이스(100)에 의해 디스플레이되는 바와 같은 인터넷 브라우저 사용자 인터페이스(5060)를 예시한다.7F1 illustrates the
도 7g1은 디바이스(100)가 실질적으로 수평인 배향을 갖도록 사용자(7006)에 의해 사용자의 손(5006)에 보유되어 있는 디바이스(100)를 예시한다. 도 7g2는 디바이스(100)가 도 7g1에 예시된 배향으로 있을 때 디바이스(100)에 의해 디스플레이되는 바와 같은 인터넷 브라우저 사용자 인터페이스(5060)를 예시한다. 도 7f2로부터 도 7g2로, 가상 객체 표시자들(5078, 5080, 5082)을 각각 포함하는 웹 객체들(5066, 5068, 5072) 내의 가상 객체들의 배향은 디바이스의 배향의 변경에 따라 회전한다(예컨대, 상향으로 기울어진다). 예를 들어, 가상 램프(5084)는, 물리적 공간 내에서의 디바이스 배향의 동시 변경에 따라, 도 7f2의 제1 배향으로부터 도 7g2의 제2 배향으로 상향으로 기울어진다. 웹 객체들(5070, 5074, 5076)의 2차원 이미지들은 디바이스의 배향이 변함에 따라 회전하지 않는다. 일부 실시예들에서, 웹 객체들(5066, 5068, 5072)에 도시된 객체들의 회전 거동은 이들 웹 객체들이 증강 현실 환경에서 관찰가능한 대응하는 3차원 가상 객체들을 갖는다는 시각적 표시로서 사용되는 한편, 웹 객체들(5070, 5074, 5076)에 도시된 객체들의 그러한 회전 거동이 없는 것은 이들 웹 객체들이 증강 현실 환경에서 관찰가능한 대응하는 3차원 가상 객체들을 갖지 않는다는 시각적 표시로서 사용된다.7G1 illustrates the
도 7h 내지 도 7l은 제2 사용자 인터페이스(예컨대, 메시징 사용자 인터페이스(5008))를 디스플레이하라는 요청에 대응하는 입력을 예시한다. 도 7h에서, 접촉(7008)이 디스플레이(112)의 하부 에지에 대응하는 위치에서 검출된다. 도 7h 및 도 7i에서, 접촉(7008)은 화살표(7010)로 표시된 경로를 따라서 상향으로 이동한다. 도 7i 및 도 7j에서, 접촉(7008)은 화살표(7012)로 표시된 경로를 따라서 상향으로 계속 이동한다. 도 7h 내지 도 7j에서, 접촉(7008)이 디스플레이(112)의 하부 에지로부터 상향으로 이동함에 따라, (예컨대, 접촉(7008)에 의한 상향 에지 스와이프 제스처에 응답하여), 도 7i에 도시된 바와 같이, 인터넷 브라우저 사용자 인터페이스(5060)의 크기는 감소하고, 도 7j에서, 멀티태스킹 사용자 인터페이스(7012)가 디스플레이된다. 멀티태스킹 사용자 인터페이스(7012)는 보유된 상태(retained state)들(예컨대, 보유된 상태는 각각의 애플리케이션이 디바이스 상에서 실행된 전경 애플리케이션이었을 때 각각의 애플리케이션의 마지막 상태임)을 갖는 다양한 애플리케이션들 및 다양한 제어 인터페이스들(예컨대, 도 7j에 예시된 바와 같은, 제어 센터 사용자 인터페이스(7014), 인터넷 브라우저 사용자 인터페이스(5060), 및 메시징 사용자 인터페이스(5008)) 중으로부터의 인터페이스의 선택을 허용하도록 구성된다. 도 7k에서, 접촉(7008)은 터치 스크린(112)으로부터 리프트오프되어 있다. 도 7l에서, 접촉(7016)에 의한 입력(예컨대, 탭 입력)이 메시징 사용자 인터페이스(5008)에 대응하는 위치에서 검출된다. 접촉(7016)에 의한 입력에 응답하여, 도 7m에 예시된 바와 같이, 메시징 사용자 인터페이스(5008)가 디스플레이된다.7H-7L illustrate input corresponding to a request to display a second user interface (eg, messaging user interface 5008). In FIG. 7H, a
도 7m은 메시지 내에 수신된 가상 객체(예컨대, 가상 의자(5020)) 및 가상 의자(5020)가 가상 3차원 객체(예컨대, 증강 현실 뷰에서 관찰가능한 객체 및/또는 상이한 각도들로부터 관찰가능한 객체)라는 것을 나타내는 가상 객체 표시자(5022)를 포함하는 메시지 말풍선(5018)을 포함하는 (예컨대, 도 5b와 관련하여 더 상세히 기술된 바와 같은) 메시징 사용자 인터페이스(5008)를 예시한다. 메시징 사용자 인터페이스(5008)는 또한, 전송된 텍스트 메시지를 포함하는 메시지 말풍선(6005) 및 이모지(emoji)(7020)를 포함하는 수신된 텍스트 메시지를 포함하는 메시지 말풍선(7018)을 포함한다. 이모지(7020)는 가상 3차원 객체에 대응하지 않는 2차원 이미지이다. 이러한 이유로, 이모지(7020)는 가상 객체 표시자 없이 디스플레이된다.7M shows that the virtual object (e.g., virtual chair 5020) and
도 7n은 지도(7024), 제1 관심 지점에 대한 관심 지점 정보 영역(7026), 및 제2 관심 지점에 대한 관심 지점 정보 영역(7032)을 포함하는 지도 사용자 인터페이스(7022)를 예시한다. 예를 들어, 제1 관심 지점 및 제2 관심 지점은 검색 입력 영역(7025) 내의 검색 엔트리 "Apple"에 대응하는, 지도(7024)에 의해 도시된 영역 내의 또는 그에 근접한 검색 결과들이다. 제1 관심 지점 정보 영역(7026)에서, 제1 관심 지점 객체(7028)는 제1 관심 지점 객체(7028)가 가상 3차원 객체인 것을 나타내는 가상 객체 표시자(7030)와 함께 디스플레이된다. 제2 관심 지점 정보 영역(7032)에서, 제2 관심 지점 객체(7034)는 제2 관심 지점 객체(7034)가 증강 현실 뷰에서 관찰가능한 가상 3차원 객체에 대응하지 않기 때문에 가상 객체 표시자 없이 디스플레이된다.7N illustrates a
도 7o는 파일 관리 제어부(7038), 파일 관리 검색 입력 영역(7040), 제1 파일(예컨대, PDF(portable document format) 파일)에 대한 파일 정보 영역(7042), 제2 파일(예컨대, 사진 파일)에 대한 파일 정보 영역(7044), 제3 파일(예컨대, 가상 의자 객체)에 대한 파일 정보 영역(7046), 및 제4 파일(예컨대, PDF 파일)에 대한 파일 정보 영역(7048)을 포함하는 파일 관리 사용자 인터페이스(7036)를 예시한다. 제3 파일 정보 영역(7046)은 제3 파일이 가상 3차원 객체에 대응한다는 것을 나타내기 위해 파일 정보 영역(7046)의 파일 미리보기 객체(7045)에 인접하게 디스플레이된 가상 객체 표시자(7050)를 포함한다. 제1 파일 정보 영역(7042), 제2 파일 정보 영역(7044), 및 제4 파일 정보 영역(7048)은 이러한 파일 정보 영역들에 대응하는 파일들이 증강 현실 환경에서 관찰가능한 대응하는 가상 3차원 객체들을 갖지 않기 때문에 가상 객체 표시자들 없이 디스플레이된다.7O shows a file
도 7p는 이메일 내비게이션 제어부들(7054), 이메일 정보 영역(7056), 및 제1 첨부물(7060)의 표현 및 제2 첨부물(7062)의 표현을 포함하는 이메일 콘텐츠 영역(7058)을 포함하는 이메일 사용자 인터페이스(7052)를 도시한다. 제1 첨부물(7060)의 표현은 제1 첨부물이 증강 현실 환경에서 관찰가능한 가상 3차원 객체인 것을 나타내는 가상 객체 표시자(7064)를 포함한다. 제2 첨부물(7062)은 제2 첨부물이 증강 현실 환경에서 관찰가능한 가상 3차원 객체가 아니기 때문에 가상 객체 표시자 없이 디스플레이된다.FIG. 7P shows an email user including email navigation controls 7054, an
도 8a 내지 도 8e는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 디스플레이하는 방법(800)을 예시하는 흐름도들이다. 방법(800)은 디스플레이, 터치 감응형 표면, 및 하나 이상의 카메라들(예컨대, 디스플레이 및 터치 감응형 표면과 반대편인 디바이스의 면 상의 하나 이상의 후방 카메라들)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고, 터치 감응형 표면은 디스플레이 상에 있거나 그와 통합된다. 일부 실시예들에서, 디스플레이는 터치 감응형 표면과는 별개이다. 방법(800)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.8A-8E are a flow diagram illustrating a
방법(800)은 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 디바이스의 터치 감응형 표면에서 접촉에 의한 입력을 검출하는 것에 관한 것이다. 입력에 응답하여, 디바이스는, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 디바이스의 하나 이상의 카메라들의 시야로 대체하는 동안 가상 객체의 표현을 연속적으로 디스플레이할지 여부를 결정하기 위한 기준들을 사용한다. 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야로 대체하는 동안 가상 객체의 표현을 연속적으로 디스플레이할지 여부를 결정하기 위한 기준들을 사용함으로써 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. (예컨대, 사용자 인터페이스의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야로 대체함으로써, 또는 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야의 표현으로 대체하지 않으면서 제1 사용자 인터페이스 영역의 디스플레이를 유지함으로써) 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.The
디바이스는 디스플레이(112) 상의 제1 사용자 인터페이스 영역(예컨대, 2차원 그래픽 사용자 인터페이스 또는 그의 일부분(예컨대, 가구 이미지들의 열람가능 목록(browsable list), 하나 이상의 선택가능 객체들을 포함하는 이미지 등)) 내에 가상 객체의 표현(예컨대, 3차원 객체의 그래픽 표현, 예컨대, 가상 의자(5020), 가상 램프(5084), 신발, 가구, 수공구들, 장식물들, 사람, 이모지, 게임 캐릭터, 가상 가구, 등)을 디스플레이한다(802). 예를 들어, 제1 사용자 인터페이스 영역은 도 5b에 도시된 바와 같은 메시징 사용자 인터페이스(5008) 또는 도 5ae에 도시된 바와 같은 인터넷 브라우저 사용자 인터페이스(5060)이다. 일부 실시예들에서, 제1 사용자 인터페이스 영역은 디바이스 주위의 물리적 환경의 이미지 이외의 배경을 포함한다(예컨대, 제1 사용자 인터페이스 영역의 배경은 미리선택된 배경 색상/패턴, 또는 하나 이상의 카메라들에 의해 동시에 캡처된 출력 이미지와 구별되고 하나 이상의 카메라들의 시야 내의 라이브 콘텐츠와 구별되는 배경 이미지이다).The device is within a first user interface area on the display 112 (e.g., a two-dimensional graphical user interface or a portion thereof (e.g., a browseable list of furniture images, an image comprising one or more selectable objects, etc.)). Representation of a virtual object (e.g., a graphic representation of a 3D object, such as a
디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하는 동안, 디바이스는 디스플레이 상의 가상 객체의 표현에 대응하는 터치 감응형 표면(112) 상의 위치에서 접촉에 의한 제1 입력을 검출한다(예컨대, 접촉은 터치 스크린 디스플레이 상의 가상 객체의 제1 표현 상에서 검출되거나, 접촉은 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현과 동시에 디스플레이되는 그리고 접촉에 의해 호출될 때 가상 객체의 AR 뷰의 디스플레이를 트리거하도록 구성되는 어포던스 상에서 검출된다)(804). 예를 들어, 제1 입력은 도 5c 내지 도 5f와 관련하여 기술된 바와 같은 접촉(5020)에 의한 입력 또는 도 5af 내지 도 5al과 관련하여 기술된 바와 같은 접촉(5086)에 의한 입력이다.While displaying the first representation of the virtual object in the first user interface area on the display, the device detects a first input by contact at a location on the touch-
접촉에 의한 제1 입력을 검출하는 것에 응답하여, 접촉에 의한 제1 입력이 제1 (예컨대, AR 트리거) 기준들을 충족한다는 결정에 따라(예컨대, AR 트리거 기준들은 카메라(들)의 활성화를 트리거하는 것과 연관된 스와이프 입력, 계속 터치하기(touch-hold) 입력, 누르기 입력, 탭 입력, 미리정의된 세기 임계치를 초과하는 세기를 갖는 강한 누르기(hard press), 또는 다른 유형의 미리정의된 입력 제스처, 디바이스 주위의 물리적 환경의 증강 현실(AR) 뷰의 디스플레이, 물리적 환경의 증강 현실 뷰 내측의 가상 객체의 3차원 표현의 배치, 및/또는 상기 액션들 중 둘 이상의 조합을 식별하도록 구성된 기준들임), 디바이스는, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야의 표현으로 대체하는 것을 포함하여, 디스플레이 상에 제2 사용자 인터페이스 영역을 디스플레이하고, 디바이스는 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 연속적으로 디스플레이한다(806). 예를 들어, 디스플레이 상의 제2 사용자 인터페이스 영역은 도 5h와 관련하여 기술된 바와 같은 플래터(5030) 내의 카메라(들)의 시야(5034), 또는 도 5ah와 관련하여 기술된 바와 같은 카메라(들)의 시야(5034)이다. 도 5c 내지 도 5i에서, 접촉(5026)에 의한 입력이 깊게 누르기 세기 임계치(ITD)를 초과하여 증가하는 특성 세기를 갖는다는 결정에 따라, 가상 의자 객체(5020)는 제1 사용자 인터페이스 영역(메시징 사용자 인터페이스(5008))을 디스플레이하는 것으로부터 메시징 사용자 인터페이스(5008)의 일부분의 디스플레이를 플래터(5030) 내의 카메라(들)의 시야(5034)로 대체하는 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 연속적으로 디스플레이된다. 도 5af 내지 도 5ah에서, 접촉(5086)에 의한 입력이 깊게 누르기 세기 임계치(ITD)를 초과하여 증가하는 특성 세기를 갖는다는 결정에 따라, 가상 램프 객체(5084)는 제1 사용자 인터페이스 영역(인터넷 브라우저 사용자 인터페이스(5060))을 디스플레이하는 것으로부터 인터넷 브라우저 사용자 인터페이스(5060)의 일부분의 디스플레이를 카메라(들)의 시야(5034)로 대체하는 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 연속적으로 디스플레이된다.In response to detecting the first input by contact, according to a determination that the first input by contact meets the first (e.g., AR trigger) criteria (e.g., AR trigger criteria trigger activation of the camera(s). Swipe input, touch-hold input, press input, tap input, hard press with a strength exceeding a predefined strength threshold, or other types of predefined input gestures associated with doing , Display of an augmented reality (AR) view of the physical environment around the device, placement of a three-dimensional representation of a virtual object inside the augmented reality view of the physical environment, and/or criteria configured to identify a combination of two or more of the above actions) , The device displaying a second user interface area on the display, including replacing the display of at least a portion of the first user interface area with a representation of the field of view of the one or more cameras, and the device displaying the first user interface area The representation of the virtual object is continuously displayed while switching from doing to displaying the second user interface area (806). For example, the second user interface area on the display may be the field of
일부 실시예들에서, 가상 객체의 표현을 연속적으로 디스플레이하는 것은 가상 객체의 표현의 디스플레이를 유지하는 것, 또는 가상 객체의 제2 표현(예컨대, 상이한 크기의, 상이한 시야각으로부터의, 상이한 렌더링 스타일의, 또는 디스플레이 상의 상이한 위치에서의 가상 객체의 뷰)으로 변하는 가상 객체의 제1 표현의 애니메이션화된 전이를 디스플레이하는 것을 포함한다. 일부 실시예들에서, 하나 이상의 카메라들의 시야(5034)는, (예컨대, 도 5k 및 도 5l에 예시된 바와 같이) 디바이스의 위치 및 배향이 물리적 환경에 대해 변할 때 실시간으로 업데이트되는 디바이스 주위의 물리적 환경(5002)의 라이브 이미지를 디스플레이한다. 일부 실시예들에서, 제2 사용자 인터페이스 영역은 디스플레이 상에서 제1 사용자 인터페이스 영역을 완전히 대체한다.In some embodiments, continuously displaying the representation of the virtual object maintains a display of the representation of the virtual object, or a second representation of the virtual object (e.g., of a different size, from a different viewing angle, of a different rendering style). , Or a view of the virtual object at a different location on the display). In some embodiments, the field of
일부 실시예들에서, 제2 사용자 인터페이스 영역은 제1 사용자 인터페이스 영역의 일부분을 오버레이한다(예컨대, 제1 사용자 인터페이스 영역의 일부분이 디스플레이의 에지를 따라서 또는 그의 경계들 둘레에 도시된다). 일부 실시예들에서, 제2 사용자 인터페이스 영역은 제1 사용자 인터페이스 영역 다음에 팝업(pop up)된다. 일부 실시예들에서, 제1 사용자 인터페이스 영역 내의 배경은 카메라(들)의 시야(5034)의 콘텐츠로 대체된다. 일부 실시예들에서, 디바이스는 가상 객체가 제1 사용자 인터페이스 영역에 도시된 바와 같은 제1 배향으로부터 제2 배향(예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분의 현재 배향에 대해 미리정의된 배향)으로 (예컨대, 도 5e 내지 도 5i에 예시된 바와 같이) 이동 및 회전하는 것을 보여주는 애니메이션화된 전이를 디스플레이한다. 예를 들어, 애니메이션은 제1 사용자 인터페이스 영역을 디스플레이하는 동안 가상 객체의 2차원 표현을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 동안 가상 객체의 3차원 표현을 디스플레이하는 것으로의 전이를 포함한다. 일부 실시예들에서, 가상 객체의 3차원 표현은 2차원 그래픽 사용자 인터페이스(예컨대, 제1 사용자 인터페이스 영역)에 도시된 바와 같은 가상 객체의 형상 및 배향에 기초하여 미리정의된 앵커 평면(anchor plane)을 갖는다. 증강 현실 뷰(예컨대, 제2 사용자 인터페이스 영역)로 전이될 때, 가상 객체의 3차원 표현은 디스플레이 상의 가상 객체의 원래 위치로부터 디스플레이 상의 새로운 위치로 (예컨대, 증강 현실 뷰의 중심, 또는 증강 현실 뷰 내의 다른 미리정의된 위치로) 이동되고, 크기 재설정되고, 재배향되며, 이동 동안 또는 이동의 종료 시, 가상 객체의 3차원 표현은 가상 객체의 3차원 표현이 하나 이상의 카메라들의 시야 내에서 식별되는 미리정의된 평면(예컨대, 가상 객체의 3차원 표현을 위한 지지 평면으로서 역할을 할 수 있는 수직 벽 또는 수평 바닥 표면과 같은 물리적 표면)에 대해 미리정의된 위치 및/또는 배향에 있도록 재배향된다.In some embodiments, the second user interface area overlays a portion of the first user interface area (eg, a portion of the first user interface area is shown along an edge of the display or around its boundaries). In some embodiments, the second user interface area pops up after the first user interface area. In some embodiments, the background within the first user interface area is replaced with the content of the field of
일부 실시예들에서, 제1 기준들은, 접촉이 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서 적어도 미리정의된 시간(예컨대, 길게 누르기 시간 임계치) 동안 임계량 미만의 이동으로 유지될 때 (예컨대, 유지된다는 결정에 따라) 만족되는 기준들을 포함한다(808). 일부 실시예들에서, 접촉이 다른 유형의 제스처(예컨대, 탭)를 인식하기 위한 기준들을 만족한다는 결정에 따라, 디바이스는 가상 객체의 디스플레이를 유지하는 동안 AR 사용자 인터페이스를 트리거하는 것 이외의 다른 미리정의된 기능을 수행한다. 접촉이 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서 적어도 미리정의된 시간 동안 임계량 미만의 이동으로 유지되는지 여부에 따라, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 카메라(들)의 시야로 대체하는 동안 가상 객체의 표현을 연속적으로 디스플레이할지 여부를 결정하는 것은, 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first criteria are when the contact is maintained with less than a threshold amount of movement for at least a predefined time (e.g., a long press time threshold) at a location on the touch-sensitive surface corresponding to the representation of the virtual object ( Criteria that are satisfied (eg, depending on the determination to be maintained) are included (808). In some embodiments, upon determining that the contact satisfies the criteria for recognizing other types of gestures (e.g., taps), the device may pre-exist other than triggering the AR user interface while maintaining the display of the virtual object. It performs a defined function. View of the camera(s) at least a portion of the display of the first user interface area, depending on whether the contact is maintained with less than a threshold amount of movement for at least a predefined amount of time at a location on the touch-sensitive surface corresponding to the representation of the virtual object. Determining whether or not to continuously display the representation of the virtual object during substitution with enables the performance of a number of different types of operations in response to input. Enabling the performance of multiple different types of actions in response to input increases the efficiency with which the user can perform these actions, thereby improving the operability of the device, which additionally allows the user to It reduces the device's power usage and improves battery life by making it possible to use it quickly and efficiently.
일부 실시예들에서, 제1 기준들은, 접촉의 특성 세기가 제1 세기 임계치(예컨대, 가볍게 누르기 세기 임계치(ITL) 또는 깊게 누르기 세기 임계치(ITD))를 초과하여 증가할 때 (예컨대, 증가한다는 결정에 따라) 만족되는 기준들을 포함한다(810). 예를 들어, 도 5c 내지 도 5f와 관련하여 기술된 바와 같이, 기준들은 접촉(5026)의 특성 세기가, 세기 레벨 측정기(5028)에 의해 나타낸 바와 같이, 깊게 누르기 세기 임계치(ITD)를 초과하여 증가할 때 만족된다. 일부 실시예들에서, 접촉이 다른 유형의 제스처(예컨대, 탭)를 인식하기 위한 기준들을 만족한다는 결정에 따라, 디바이스는 가상 객체의 디스플레이를 유지하는 동안 AR 사용자 인터페이스를 트리거하는 것 이외의 다른 미리정의된 기능을 수행한다. 일부 실시예들에서, 제1 기준들은 제1 입력이 탭 입력이 아닐 것을 (예컨대, 입력이 탭 시간 임계치보다 긴 접촉의 터치다운과 접촉의 리프트오프 사이의 지속기간을 갖는 것을) 요구한다. 접촉의 특성 세기가 제1 세기 임계치를 초과하여 증가하는지 여부에 따라, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 카메라(들)의 시야로 대체하는 동안 가상 객체의 표현을 연속적으로 디스플레이할지 여부를 결정하는 것은, 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first criteria are when the characteristic strength of the contact increases above a first intensity threshold (e.g., a light tap intensity threshold (IT L ) or a deep tap intensity threshold (IT D )) (e.g., 810). For example, as described in connection with FIGS. 5C-5F, the criteria are that the characteristic strength of the
일부 실시예들에서, 제1 기준들은 접촉의 이동이 미리정의된 이동 기준들을 충족할 때 (예컨대, 접촉이 터치 감응형 표면을 가로질러 미리정의된 임계 위치(예컨대, 제1 사용자 인터페이스 영역의 경계에 대응하는 위치, 접촉의 원래 위치로부터 떨어진 임계 거리인 위치 등)를 지나서 이동할 때, 접촉이 미리정의된 임계 속도보다 빠른 속도로 이동할 때, 접촉의 이동이 누르기 입력으로 종료될 때, 등일 때) (예컨대, 그러하다는 결정에 따라) 만족되는 기준들을 포함한다(812). 일부 실시예들에서, 가상 객체의 표현은 접촉의 이동의 초기 부분 동안 접촉에 의해 드래그되고, 제1 기준들이 충족되려는 것을 나타내도록 접촉의 이동이 미리정의된 정의된 이동 기준들을 충족하려고 할 때 가상 객체는 접촉에 의해 이동하는 것을 중지하고; 접촉의 이동이 계속되고 미리정의된 이동 기준들이 접촉의 계속되는 이동에 의해 충족되는 경우, 제2 사용자 인터페이스 영역을 디스플레이하고 증강 현실 뷰 내의 가상 객체를 디스플레이하기 위한 전이가 시작된다. 일부 실시예들에서, 가상 객체가 제1 입력의 초기 부분 동안 드래그될 때, 객체 크기 및 관찰 시점은 변하지 않고, 일단 증강 현실 뷰가 디스플레이되고 가상 객체가 증강 현실 뷰에서 제위치로 낙하되면, 가상 객체는 증강 현실 뷰에서 가상 객체의 낙하(drop-off) 위치에 의해 표현되는 물리적 위치에 종속하는 크기 및 관찰 시점으로 디스플레이된다. 접촉의 이동이 미리정의된 이동 기준들을 충족하는지 여부에 따라, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 카메라(들)의 시야로 대체하는 동안 가상 객체의 표현을 연속적으로 디스플레이할지 여부를 결정하는 것은, 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first criteria are when the movement of the contact meets predefined movement criteria (e.g., the contact is at a predefined threshold position across the touch-sensitive surface (e.g., the boundary of the first user interface area). When moving past a position corresponding to, a position that is a critical distance away from the original position of the contact, etc.), when the contact moves at a speed faster than a predefined threshold speed, when the movement of the contact ends with a pressing input, etc.) Criteria that are satisfied (eg, depending on the determination that so) are included (812). In some embodiments, the representation of the virtual object is dragged by the contact during an initial portion of the movement of the contact, and when the movement of the contact attempts to meet predefined defined movement criteria to indicate that the first criteria are to be met The object stops moving by contact; If the movement of the contact continues and the predefined movement criteria are met by the continued movement of the contact, a transition to display the second user interface area and display the virtual object in the augmented reality view is initiated. In some embodiments, when the virtual object is dragged during the initial portion of the first input, the object size and viewing point do not change, and once the augmented reality view is displayed and the virtual object falls into place in the augmented reality view, the virtual object Objects are displayed with a size and observation point dependent on a physical position represented by a drop-off position of a virtual object in the augmented reality view. Determining whether to continuously display a representation of the virtual object while replacing the display of at least a portion of the first user interface area with the field of view of the camera(s), depending on whether the movement of the contact meets predefined movement criteria. This enables the performance of a number of different types of operations in response to an input. Enabling the performance of multiple different types of actions in response to input increases the efficiency with which the user can perform these actions, thereby improving the operability of the device, which additionally allows the user to It reduces the device's power usage and improves battery life by making it possible to use it quickly and efficiently.
일부 실시예들에서, 접촉에 의한 제1 입력을 검출하는 것에 응답하여, 접촉에 의한 제1 입력이 제1 기준들을 충족하였다는 결정에 따라, 디바이스는 제1 입력에 의한 제1 기준들의 만족을 나타내기 위해 촉각적 출력(예컨대, 도 5f와 관련하여 기술된 바와 같은 촉각적 출력(5032) 또는 도 5ah와 관련하여 기술된 바와 같은 촉각적 출력(5088))을, 하나 이상의 촉각적 출력 생성기들(167)에 의해, 출력한다(814). 일부 실시예들에서, 하나 이상의 카메라들의 시야가 디스플레이 상에서 보이기 전에 햅틱이 생성된다. 예를 들어, 햅틱은 하나 이상의 카메라(들)의 활성화 및 하나 이상의 카메라(들)의 시야의 후속 평면 검출을 트리거하는 제1 기준들의 만족을 나타낸다. 카메라들이 활성화되는 데 그리고 시야가 디스플레이를 위해 이용가능하게 되는 데 시간이 걸리기 때문에, 햅틱은 디바이스가 필요한 입력을 검출하였다는 그리고 디바이스가 준비되면 바로 증강 현실 사용자 인터페이스를 제시할 것이라는, 사용자에 대한 비시각적 신호로서 역할을 한다.In some embodiments, in response to detecting the first input by the contact, in response to a determination that the first input by the contact has met the first criteria, the device determines satisfaction of the first criteria by the first input. To represent a tactile output (e.g.,
(예컨대, 사용자 인터페이스의 적어도 일부분의 디스플레이를 카메라(들)의 시야로 대체하기 위한) 기준들의 만족을 나타내기 위해 촉각적 출력을 출력하는 것은 제공된 입력이 기준들을 만족한다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Outputting a tactile output to indicate satisfaction of criteria (e.g., to replace the display of at least a portion of the user interface with the field of view of the camera(s)) provides feedback to the user indicating that the input provided meets the criteria. do. Providing improved tactile feedback improves the operability of the device (e.g., by helping the user to provide appropriate inputs when actuating/interacting with the device and reducing user mistakes), which additionally: It reduces the power usage of the device and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 제1 입력의 적어도 초기 부분을 검출하는 것(예컨대, 접촉을 검출하는 것, 또는 제1 기준들을 충족하지 않으면서 각각의 미리정의된 기준들을 충족하는 접촉에 의한 입력을 검출하는 것, 또는 제1 기준들을 충족하는 입력을 검출하는 것을 포함함)에 응답하여, 디바이스는 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들(예컨대, 바닥 표면(5038), 테이블 표면(5046), 벽 등)을 검출하기 위해 하나 이상의 카메라들의 시야를 분석한다(816). 일부 실시예들에서, 하나 이상의 카메라들은 제1 입력의 적어도 초기 부분을 검출하는 것에 응답하여 활성화되고, 평면 검출은 카메라(들)가 활성화될 때 동시에 개시된다. 일부 실시예들에서, 하나 이상의 카메라들의 시야의 디스플레이는 하나 이상의 카메라들의 활성화 후에 (예컨대, 하나 이상의 카메라들이 활성화될 때부터 적어도 하나의 평면이 카메라(들)의 시야 내에서 검출될 때까지) 지연된다. 일부 실시예들에서, 하나 이상의 카메라들의 시야의 디스플레이는 하나 이상의 카메라들이 활성화될 때 개시되고, 평면 검출은 시야가 디스플레이 상에서 (예컨대, 제2 사용자 인터페이스 영역에서) 이미 가시적인 후에 완료된다. 일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 각각의 평면을 검출한 후, 디바이스는 하나 이상의 카메라들의 시야에 대한 각각의 평면의 상대 위치에 기초하여 가상 객체의 표현의 크기 및/또는 위치를 결정한다. 일부 실시예들에서, 전자 디바이스가 이동됨에 따라, 가상 객체의 표현의 크기 및/또는 위치는 (예컨대, 도 5k 및 도 5l과 관련하여 기술된 바와 같이) 하나 이상의 카메라들의 시야의 위치가 각각의 평면에 대해 변함에 따라 업데이트된다. (예컨대, 카메라(들)의 시야에 대해 가상 객체를 크기설정하고/하거나 위치시키기 위한 추가 사용자 입력을 요구하지 않으면서) 카메라(들)의 시야 내에서 검출되는 각각의 평면의 위치에 기초하여 가상 객체의 표현의 크기 및/또는 위치를 결정하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, detecting at least an initial portion of the first input (e.g., detecting a contact, or detecting an input by a contact that meets respective predefined criteria while not meeting the first criteria). Responsive to doing, or detecting an input that meets the first criteria), the device is capable of performing one or more planes (e.g.,
일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들을 검출하기 위해 하나 이상의 카메라들의 시야를 분석하는 것은 디스플레이 상의 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서의 접촉의 검출에 응답하여 (예컨대, 가상 의자(5020)에 대응하는 터치 스크린(112) 상의 위치에서의 접촉(5026)의 검출에 응답하여) 개시된다(818). 예를 들어, 카메라들의 활성화 및 카메라(들)의 시야 내의 평면들의 검출은 제1 기준들이 제1 입력에 의해 충족되기 전에 (예컨대, 도 5f와 관련하여 기술된 바와 같이, 접촉(5026)의 특성 세기가 깊게 누르기 세기 임계치(ITD)를 초과하여 증가하기 전에) 그리고 제2 사용자 인터페이스 영역이 디스플레이되기 전에 시작된다. 가상 객체와의 임의의 상호작용의 검출 시 평면 검출을 시작함으로써, 평면 검출은 AR 트리거 기준들이 충족되기 전에 완료될 수 있고, 그에 따라서, AR 트리거 기준들이 제1 입력에 의해 충족될 때 증강 현실 뷰로의 가상 객체 전이를 볼 때 사용자에게 가시적 지연은 없을 것이다. (예컨대, 카메라(들)의 시야의 분석을 개시하기 위한 추가 사용자 입력을 요구하지 않으면서) 가상 객체의 표현의 위치에서의 접촉의 검출에 응답하여 카메라(들)의 시야 내에서 하나 이상의 평면들을 검출하기 위한 분석을 개시하는 것은 디바이스의 유효성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, analyzing the field of view of the one or more cameras to detect one or more planes within the field of view of the one or more cameras results in detection of a contact at a location on the touch-sensitive surface corresponding to the representation of the virtual object on the display. Initiated 818 in response (eg, in response to detection of
일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들을 검출하기 위해 하나 이상의 카메라들의 시야를 분석하는 것은 제1 기준들이 접촉에 의한 제1 입력에 의해 충족되는 것을 검출하는 것에 응답하여 (예컨대, 도 5f와 관련하여 기술된 바와 같이, 접촉(5026)의 특성 세기가 깊게 누르기 세기 임계치(ITD)를 초과하여 증가하는 것을 검출하는 것에 응답하여) 개시된다(820). 예를 들어, 카메라들의 활성화 및 카메라(들)의 시야 내의 평면들의 검출은 제1 기준들이 제1 입력에 의해 충족될 때 시작되고, 카메라의 시야는 평면 검출이 완료되기 전에 디스플레이된다. AR 트리거 기준들의 만족 시 카메라 활성화 및 평면 검출을 시작함으로써, 카메라들 및 평면 검출은 불필요하게 활성화되지 않고 계속 진행되지 않으며, 이는 배터리 전력을 보존하고 배터리 수명 및 카메라 수명을 연장시킨다.In some embodiments, analyzing the field of view of the one or more cameras to detect one or more planes within the field of view of the one or more cameras in response to detecting that the first criteria are satisfied by the first input by contact ( For example, as described in connection with FIG. 5F, in response to detecting that the characteristic strength of the
일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들을 검출하기 위해 하나 이상의 카메라들의 시야를 분석하는 것은 제1 입력의 초기 부분이 제1 기준들을 충족하지 않으면서 평면-검출 트리거 기준들을 충족한다는 것을 검출하는 것에 응답하여 개시된다(822). 예를 들어, 카메라들의 활성화 및 카메라(들)의 시야 내의 평면들의 검출은 일부 기준들(예컨대, AR 트리거 기준들보다 덜 엄격한(stringent) 기준들)이 제1 입력의 초기 부분에 의해 충족될 때 시작되고, 카메라의 시야는 평면 검출이 완료되기 전에 선택적으로 디스플레이된다. 접촉의 검출 시보다는 오히려 소정 기준들의 만족 후에 카메라 활성화 및 평면 검출을 시작함으로써, 카메라들 및 평면 검출은 불필요하게 활성화되지 않고 계속 진행되지 않으며, 이는 배터리 전력을 보존하고 배터리 수명 및 카메라 수명을 연장시킨다. AR 트리거 기준들의 만족 전에 카메라 활성화 및 평면 검출을 시작함으로써, AR 트리거 기준들이 제1 입력에 의해 충족될 때 증강 현실 뷰로의 가상 객체 전이를 디스플레이하기 위한 (카메라 활성화 및 평면 검출로 인한) 지연이 감소된다.In some embodiments, analyzing the field of view of the one or more cameras to detect one or more planes within the field of view of the one or more cameras does not satisfy the first criteria while the initial portion of the first input does not meet the first criteria. In response to detecting that it is satisfied, it is initiated (822). For example, activation of the cameras and detection of planes within the field of view of the camera(s) may occur when some criteria (e.g., criteria less stringent than AR trigger criteria) are met by the initial portion of the first input. It is started and the camera's field of view is selectively displayed before plane detection is complete. By starting camera activation and plane detection after satisfying certain criteria rather than upon detection of contact, cameras and plane detection are not unnecessarily activated and do not continue, which conserves battery power and prolongs battery life and camera life. . By starting the camera activation and plane detection before the AR trigger criteria are satisfied, the delay (due to camera activation and plane detection) to display the virtual object transition to the augmented reality view when the AR trigger criteria are satisfied by the first input is reduced. do.
일부 실시예들에서, 디바이스는 가상 객체(예컨대, 가상 의자(5020))가 하나 이상의 카메라들의 시야(5034) 내에서 검출되는 각각의 평면에 대해 미리정의된 각도로 배향되도록 (예컨대, 바닥 표면(5038)으로부터 가상 의자(5020)의 4개의 다리의 하부면들을 분리시키는 거리가 없도록 (또는 최소 거리를 갖도록)) 하는 각각의 방식으로 제2 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이한다(824). 예를 들어, 각각의 평면에 대한 가상 객체의 배향 및/또는 위치는 2차원 그래픽 사용자 인터페이스에 도시된 바와 같은 가상 객체의 형상 및 배향에 기초하여 미리정의된다(예컨대, 각각의 평면은 증강 현실 뷰 내의 가상 객체의 3차원 표현에 대한 지지 표면으로서 역할을 할 수 있는 수평 물리적 표면(예컨대, 화병을 지지하기 위한 수평 테이블 표면)에 대응하거나, 각각의 평면은 증강 현실 뷰 내의 가상 객체의 3차원 표현에 대한 지지 표면으로서 역할을 할 수 있는 수직 물리적 표면(예컨대, 가상 그림 프레임을 매달기 위한 수직 벽)이다). 일부 실시예들에서, 가상 객체의 배향 및/또는 위치는 가상 객체의 각각의 표면 또는 경계(예컨대, 하부 표면, 하부 경계 지점들, 측부 표면, 및/또는 측부 경계 지점들)에 의해 한정된다. 일부 실시예들에서, 각각의 평면에 대응하는 앵커 평면은 가상 객체의 한 세트의 속성들 중 하나의 속성이고, 가상 객체가 표현하기로 되어 있는 물리적 객체의 특성에 따라 특정된다. 일부 실시예들에서, 가상 객체는 하나 이상의 카메라들의 시야 내에서 검출되는 다수의 평면들에 대한 미리정의된 배향 및/또는 위치에 배치된다(예컨대, 가상 객체의 다수의 각각의 면들은 카메라(들)의 시야 내에서 검출되는 각각의 평면들과 연관된다). 일부 실시예들에서, 가상 객체에 대해 미리정의된 배향 및/또는 위치가 가상 객체의 수평 하부 평면에 대해 한정되면, 가상 객체의 하부 평면은 카메라(들)의 시야 내에서 검출되는 바닥 평면 상에 디스플레이된다(예컨대, 가상 객체의 수평 하부 평면은 바닥 평면으로부터 0의 거리로 바닥 평면에 평행하다). 일부 실시예들에서, 가상 객체에 대해 미리정의된 배향 및/또는 위치가 가상 객체의 수직 후방 평면에 대해 한정되면, 가상 객체의 후방 표면은 하나 이상의 카메라들의 시야 내에서 검출되는 벽 평면에 대항하여 배치된다(예컨대, 가상 객체의 수직 후방 평면은 벽 평면으로부터 0의 거리로 벽 평면에 평행하다). 일부 실시예들에서, 가상 객체는 각각의 평면에 대해 고정된 거리에 그리고/또는 각각의 평면에 대해 0도 또는 90도 이외의 각도로 배치된다. (예컨대, 카메라(들)의 시야 내의 평면에 대해 가상 객체를 디스플레이하기 위한 추가 사용자 입력을 요구하지 않으면서) 카메라(들)의 시야 내에서 검출되는 평면에 대한 가상 객체의 표현을 디스플레이하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device is such that the virtual object (e.g., virtual chair 5020) is oriented at a predefined angle relative to each plane detected within the field of
일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 각각의 평면을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야 내의 각각의 평면의 검출을 나타내기 위해 촉각적 출력을, 하나 이상의 촉각적 출력 생성기들(167)에 의해, 출력한다(826). 일부 실시예들에서, 카메라(들)의 시야 내에서 검출되는 각각의 평면(예컨대, 바닥 표면(5038) 및/또는 테이블 표면(5046))에 대해 각각의 촉각적 출력이 생성된다. 일부 실시예들에서, 촉각적 출력은 평면 검출이 완료될 때 생성된다. 일부 실시예들에서, 촉각적 출력은 제2 사용자 인터페이스 부분에 도시된 시야 내의 시야 평면의 시각적 표시(예컨대, 검출된 시야 평면의 순간적인 강조)를 동반한다. 카메라(들)의 시야 내의 평면의 검출을 나타내기 위해 촉각적 출력을 출력하는 것은 평면이 검출되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은, (예컨대, 사용자가 적절한 입력들을 제공하는 것을 돕고, 가상 객체를 배치하기 위한 불필요한 추가 입력들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting each plane within the field of view of the one or more cameras, the device outputs a tactile output to indicate detection of each plane within the field of view of the one or more cameras, one or more tactile outputs. By
일부 실시예들에서, 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안, 디바이스는 가상 객체의 표현이 (예컨대, 도 5f 내지 도 5i에 예시된 바와 같이) 제2 사용자 인터페이스 영역 내로 각각의 평면에 대한 미리정의된 위치로 전이(예컨대, 이동, 회전, 크기 재설정, 및/또는 상이한 스타일로 재렌더링(re-rendering) 등)됨에 따라 애니메이션을 디스플레이하고, 각각의 평면에 대한 미리정의된 각도로 (예컨대, 각각의 평면에 대한 미리정의된 배향 및/또는 위치에서, 그리고 증강 현실 뷰에서 보여질 최종 상태에 도달하는 그의 크기, 회전 각, 및 외관으로) 가상 객체의 표현을 디스플레이하는 것과 함께, 디바이스는 제2 사용자 인터페이스 영역 내에 각각의 평면에 대한 미리정의된 각도로 가상 객체를 디스플레이하는 것을 나타내기 위해 촉각적 출력을, 하나 이상의 촉각적 출력 생성기들(167)에 의해, 출력한다(828). 예를 들어, 도 5i에 예시된 바와 같이, 디바이스는 바닥 표면(5038)에 대한 미리정의된 각도로 가상 의자(5020)를 디스플레이하는 것과 함께 촉각적 출력(5036)을 출력한다. 일부 실시예들에서, 생성되는 촉각적 출력은 무게(예컨대, 무거운 대 가벼운), 재료(예컨대, 금속, 면, 목재, 대리석, 액체, 고무, 유리), 크기(예컨대, 대형 대 소형), 형상(예컨대, 얇은 대 두꺼운, 긴 대 짧은, 둥근 대 뾰족한, 등), 탄성(예컨대, 탄력 대 경직), 본성(예컨대, 명랑 대 엄숙, 온화 대 강압, 등), 및 가상 객체의 또는 가상 객체에 의해 표현되는 물리적 객체의 다른 속성들을 반영하는 특성들(예컨대, 주파수, 사이클들의 수, 변조, 진폭, 수반하는 오디오 파들 등)을 갖도록 구성된다. 예를 들어, 촉각적 출력은 도 4f 내지 도 4k에 예시된 촉각적 출력 패턴들 중 하나 이상을 사용한다. 일부 실시예들에서, 시간 경과에 따른 하나 이상의 특성들에 대한 하나 이상의 변경들을 포함하는 미리설정된 프로파일이 가상 객체(예컨대, 이모지)에 대응한다. 예를 들어, "바운싱(bouncing)" 촉각적 출력 프로파일이 "웃는 얼굴" 이모지 가상 객체에 대해 제공된다. 각각의 평면에 대한 가상 객체의 표현의 배치를 나타내기 위해 촉각적 출력을 출력하는 것은 가상 객체의 표현이 각각의 평면에 대해 자동으로 배치되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은, (예컨대, 사용자가 적절한 입력들을 제공하는 것을 돕고, 가상 객체를 배치하기 위한 불필요한 추가 입력들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while switching from displaying the first user interface area to displaying the second user interface area, the device displays the representation of the virtual object (eg, as illustrated in FIGS. 5F-5I ). Display the animation as it transitions (e.g., move, rotate, resize, and/or re-render in a different style, etc.) to a predefined location for each plane into the second user interface area, each At a predefined angle relative to the plane of the virtual (e.g., in a predefined orientation and/or position for each plane, and in its size, rotation angle, and appearance to reach the final state to be seen in the augmented reality view). Along with displaying the representation of the object, the device generates a tactile output to indicate displaying the virtual object at a predefined angle for each plane within the second user interface area, one or more tactile output generators 167. ) To output (828). For example, as illustrated in FIG. 5I, the device outputs a
일부 실시예들에서, 촉각적 출력은 가상 객체의 특성(예컨대, 크기, 밀도, 질량, 및/또는 재료와 같은 시뮬레이션된 물리적 속성)에 대응하는 촉각적 출력 프로파일을 갖는다(830). 일부 실시예들에서, 촉각적 출력 프로파일은 가상 객체의 하나 이상의 특성들(예컨대, 무게, 재료, 크기, 형상, 및/또는 탄성)에 기초하여 가변하는 특성들(예컨대, 주파수, 사이클들의 수, 변조, 진폭, 수반하는 오디오 파들 등)을 갖는다. 예를 들어, 촉각적 출력은 도 4f 내지 도 4k에 예시된 촉각적 출력 패턴들 중 하나 이상을 사용한다. 일부 실시예들에서, 촉각적 출력의 진폭 및/또는 지속기간은 가상 객체의 크기, 무게, 및/또는 질량이 증가함에 따라 증가된다. 일부 실시예들에서, 촉각적 출력 패턴은 가상 객체를 구성하는 가상 재료에 기초하여 선택된다. 가상 객체의 특성에 대응하는 프로파일을 갖는 촉각적 출력을 출력하는 것은 가상 객체의 특성에 관한 정보를 나타내는 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은, (예컨대, 사용자가 적절한 입력들을 제공하는 것을 돕고, 가상 객체를 배치하기 위한 불필요한 추가 입력들을 감소시키고, 특성에 관한 디스플레이된 정보로 사용자 인터페이스를 혼란스럽게 하지 않으면서 가상 객체의 특성을 사용자가 인지하게 하는 감각적 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the tactile output has a tactile output profile 830 that corresponds to a property of the virtual object (eg, simulated physical property such as size, density, mass, and/or material). In some embodiments, the tactile output profile is variable based on one or more properties (e.g., weight, material, size, shape, and/or elasticity) of the virtual object (e.g., frequency, number of cycles, Modulation, amplitude, accompanying audio waves, etc.). For example, tactile output uses one or more of the tactile output patterns illustrated in FIGS. 4F-4K. In some embodiments, the amplitude and/or duration of the tactile output increases as the size, weight, and/or mass of the virtual object increases. In some embodiments, the tactile output pattern is selected based on the virtual material constituting the virtual object. Outputting a tactile output having a profile corresponding to the characteristics of the virtual object provides feedback to the user indicating information on the characteristics of the virtual object. Providing improved tactile feedback (e.g., helping the user to provide appropriate inputs, reducing unnecessary additional inputs for placing virtual objects, and not confusing the user interface with the displayed information about the properties) Improves the operability of the device by providing sensory information that allows the user to recognize the characteristics of the virtual object), which additionally reduces the power consumption of the device by enabling the user to use the device more quickly and efficiently. Improves battery life.
일부 실시예들에서, 제2 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 동안, 디바이스는 (예컨대, 도 5k 및 도 5l에 예시된 바와 같이) 하나 이상의 카메라들의 시야(5034)를 조정하는 디바이스의 이동(예컨대, 디바이스의 측방향 이동 및/또는 회전)을 검출하고, 디바이스의 이동을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야가 조정됨에 따라 하나 이상의 카메라들의 시야 내의 각각의 평면(예컨대, 바닥 표면(5038))과 가상 객체 사이의 고정된 공간적 관계(예컨대, 배향 및/또는 위치)에 따라 제2 사용자 인터페이스 영역 내에서 가상 객체(예컨대, 가상 의자(5020))의 표현을 조정한다(예컨대, 가상 객체는 평면과 가상 객체의 표현 사이의 고정된 각도가 유지되도록 하는 배향 및 위치로 디스플레이 상에 디스플레이된다(예컨대, 가상 객체는 평면 상의 고정된 위치에 머무르거나 시야 평면을 따라서 구르는 것으로 보인다))(832). 예를 들어, 도 5k 및 도 5l에서, 카메라(들)의 시야(5034)를 포함하는 제2 사용자 인터페이스 영역 내의 가상 의자(5020)는 디바이스(100)가 이동됨에 따라 바닥 표면(5038)에 대해 고정된 배향 및 위치를 유지한다. 일부 실시예들에서, 가상 객체는 주위의 물리적 환경(5002)에 대해 정지되고 변경되지 않은 것으로 보이는데, 즉, 가상 객체의 표현은 디바이스 위치 및/또는 배향이 변경됨에 따라 디스플레이 상에서 크기, 위치, 및/또는 배향이 변하는데, 이는 디바이스가 주위의 물리적 환경에 대해 이동할 때 하나 이상의 카메라들의 시야가 변하기 때문이다. (예컨대, 각각의 평면에 대한 가상 객체의 위치를 유지하기 위한 추가 사용자 입력을 요구하지 않으면서) 가상 객체와 각각의 평면 사이의 고정된 관계에 따라 가상 객체의 표현을 조정하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a representation of the virtual object within the second user interface area, the device is configured to adjust the field of
일부 실시예들에서, (예컨대, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야의 표현으로 대체하는 것에 대응하는 시간에), 디바이스는 가상 객체(예컨대, 가상 의자(5020))의 표현이 (예컨대, 도 5f 내지 도 5i에 예시된 바와 같이) 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 연속적으로 디스플레이됨에 따라 애니메이션(예컨대, 이동, 하나 이상의 축들을 중심으로 하는 회전, 및/또는 축척조정(scaling))을 디스플레이한다(834). 예를 들어, 애니메이션은 제1 사용자 인터페이스 영역을 디스플레이하는 동안 가상 객체의 2차원 표현을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 동안 가상 객체의 3차원 표현을 디스플레이하는 것으로의 전이를 포함한다. 일부 실시예들에서, 가상 객체의 3차원 표현은 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분의 현재 배향에 대해 미리정의된 배향을 갖는다. 일부 실시예들에서, 증강 현실 뷰로 전이될 때, 가상 객체의 표현은 디스플레이 상의 초기 위치로부터 디스플레이 상의 새로운 위치(예컨대, 증강 현실 뷰의 중심, 또는 증강 현실 뷰 내의 다른 미리정의된 위치)로 이동되고, 크기 재설정되고, 재배향되며, 이동 동안 또는 이동의 종료 시, 가상 객체가 카메라(들)의 시야 내에서 검출되는 평면(예컨대, 가상 객체의 표현을 지지할 수 있는 수직 벽 또는 수평 바닥 표면과 같은 물리적 표면)에 대해 고정된 각도에 있도록 재배향된다. 일부 실시예들에서, 가상 객체의 명암 및/또는 가상 객체에 의해 드리워진 그림자는 (예컨대, 하나 이상의 카메라들의 시야 내에서 검출되는 주변 조명과 매칭하도록) 애니메이션화된 전이가 발생함에 따라 조정된다. 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역으로 스위칭하는 동안 가상 객체의 표현으로서 애니메이션을 디스플레이하는 것은 제1 입력이 제1 기준들을 충족한다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, (e.g., at a time corresponding to replacing the display of at least a portion of the first user interface area with a representation of the field of view of one or more cameras), the device is a virtual object (e.g., virtual chair 5020). The animation (e.g., movement, movement, etc.) is displayed continuously while switching from displaying the first user interface area to displaying the second user interface area (e.g., as illustrated in FIGS. 5F-5I). Rotation about one or more axes, and/or scaling, is displayed (834). For example, animation includes a transition from displaying a two-dimensional representation of a virtual object while displaying a first user interface area to displaying a three-dimensional representation of a virtual object while displaying a second user interface area. . In some embodiments, the three-dimensional representation of the virtual object has a predefined orientation relative to the current orientation of the portion of the physical environment that is captured within the field of view of one or more cameras. In some embodiments, when transitioning to an augmented reality view, the representation of the virtual object is moved from an initial location on the display to a new location on the display (e.g., the center of the augmented reality view, or another predefined location within the augmented reality view) and , Resized, re-orientated, and, during or at the end of the movement, the virtual object is a plane detected within the field of view of the camera(s) (e.g., with a vertical wall or horizontal floor surface capable of supporting the representation of the virtual object). To be at a fixed angle to the same physical surface) In some embodiments, the contrast of the virtual object and/or the shadow cast by the virtual object is adjusted as an animated transition occurs (eg, to match the ambient lighting detected within the field of view of one or more cameras). Displaying the animation as a representation of the virtual object while switching from displaying the first user interface area to the second user interface area provides feedback to the user indicating that the first input meets the first criteria. Providing improved feedback improves the operability of the device (e.g., by helping the user to provide appropriate inputs when operating/interacting with the device and reducing user errors), which additionally allows the user to It reduces the device's power usage and improves battery life by making it possible to use the device more quickly and efficiently.
일부 실시예들에서, 디스플레이 상에 제2 사용자 인터페이스 영역을 디스플레이하는 동안, 디바이스는 제2 접촉(예컨대, 접촉(5040))에 의한 제2 입력을 검출하고 - 여기서 제2 입력은 (예컨대, 도 5n 내지 도 5p에 예시된 바와 같이) (선택적으로, 가상 객체의 표현을 선택하기 위한 제2 접촉에 의한 누르기 또는 터치 입력 및) 디스플레이를 가로지르는 제1 경로를 따르는 제2 접촉의 이동을 포함함 -, 제2 접촉에 의한 제2 입력을 검출하는 것에 응답하여, 디바이스는 제1 경로에 대응하는 (예컨대, 제1 경로와 동일하거나 그에 의해 제약되는) 제2 경로를 따라서 제2 사용자 인터페이스 영역 내에서 가상 객체(예컨대, 가상 의자(5020))의 표현을 이동시킨다(836). 일부 실시예들에서, 제2 접촉은 제1 접촉과 별개이고, 제1 접촉의 리프트오프 후에 검출된다(예컨대, 도 5c 내지 도 5f의 접촉(5026)의 리프트오프 후에 검출되는 도 5n 내지 도 5p의 접촉(5040)에 의해 예시되는 바와 같음). 일부 실시예들에서, 제2 접촉은 (예컨대, AR 트리거 기준들을 충족하고 이어서 터치 스크린(112)을 가로질러 이동하여 가상 램프(5084)를 이동시키는 접촉(5086)에 의한 입력에 의해 예시되는 바와 같이) 터치 감응형 표면 상에서 연속적으로 유지되는 제1 접촉과 동일하다. 일부 실시예들에서, 가상 객체 상의 스와이프 입력이 가상 객체를 회전시키는 한편, 가상 객체의 이동은 선택적으로 카메라(들)의 시야 내의 평면에 의해 제약된다(예컨대, 스와이프 입력은 카메라(들)의 시야 내의 바닥 평면 상에서 의자의 표현을 회전시킨다). 입력을 검출하는 것에 응답하여 가상 객체의 표현을 이동시키는 것은 가상 객체의 디스플레이된 위치가 사용자 입력에 응답하여 이동가능하다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying the second user interface area on the display, the device detects a second input by a second contact (e.g., contact 5040), where the second input is (e.g. 5n to 5p) (optionally, including pressing or touch input by a second contact to select a representation of the virtual object, and) movement of the second contact along a first path across the display. -, in response to detecting the second input by the second contact, the device is within the second user interface area along a second path corresponding to the first path (e.g., equal to or constrained by the first path). The representation of the virtual object (eg, virtual chair 5020) is moved (836). In some embodiments, the second contact is separate from the first contact and is detected after liftoff of the first contact (e.g., FIGS. 5N-5P detected after liftoff of
일부 실시예들에서, 디바이스는 가상 객체의 표현이 접촉의 이동 및 가상 객체에 대응하는 각각의 평면에 기초하여 제2 경로를 따라서 이동함에 따라 (예컨대, 가상 객체의 표현으로부터 사용자까지의 가상 거리에 기초하여, 시야 내에서 가상 객체의 정확한 시점을 유지하도록) 가상 객체의 표현의 크기를 조정한다(838). 예를 들어, 도 5n 내지 도 5p에서, 가상 의자(5020)의 크기는 가상 의자가 디바이스(100)로부터 멀리 테이블(5004)을 향해 카메라(들)의 시야(5034) 내로 더 깊게 이동함에 따라 감소한다. (예컨대, 카메라(들)의 시야 내의 환경에 대한 실제 크기로 가상 객체의 표현을 유지하기 위해 가상 객체의 표현의 크기를 조정하기 위한 추가 사용자 입력을 요구하지 않으면서) 가상 객체의 표현이 접촉의 이동 및 가상 객체에 대응하는 평면에 기초하여 제2 경로를 따라서 이동함에 따라 가상 객체의 표현의 크기를 조정하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, as the representation of the virtual object moves along the second path based on the movement of the contact and each plane corresponding to the virtual object (e.g., a virtual distance from the representation of the virtual object to the user) Based on this, the size of the representation of the virtual object is adjusted (838) to maintain an accurate viewpoint of the virtual object in the field of view. For example, in FIGS. 5N-5P, the size of the
일부 실시예들에서, 디바이스는 가상 객체의 표현이 (예컨대, 도 5ai 내지 도 5al에 예시된 바와 같이) 제2 경로를 따라서 이동함에 따라 가상 객체(예컨대, 가상 램프(5084))의 표현의 제1 크기를 유지하고, 디바이스는 (예컨대, 도 5al 및 도 5am에 예시된 바와 같이, 제2 접촉의 리프트오프를 검출하는 것을 포함하여) 제2 접촉에 의한 제2 입력의 종료를 검출하고, 제2 접촉에 의한 제2 입력의 종료를 검출하는 것에 응답하여, 디바이스는 제2 사용자 인터페이스 영역 내의 (예컨대, 테이블 표면(5046) 상의) 낙하 위치에 가상 객체의 표현을 배치하고, 제1 크기와 구별되는 제2 크기로 제2 사용자 인터페이스 영역 내의 낙하 위치에 가상 객체의 표현을 디스플레이한다(예컨대, 접촉(5086)에 의한 입력의 종료 후인 도 5am의 가상 램프(5084)의 크기는 접촉(5086)에 의한 입력의 종료 전인 도 5al의 가상 램프(5084)의 크기와 구별된다)(840). 예를 들어, 객체는 접촉에 의해 드래그되는 동안 그의 크기 및 관찰 시점이 변하지 않고, 객체가 증강 현실 뷰에서 그의 최종 위치에 낙하될 때, 객체는 카메라(들)의 시야에 보이는 가상 객체의 낙하 위치에 대응하는 물리적 환경 내의 물리적 위치에 기초하여 결정되는 크기 및 관찰 시점으로 디스플레이되어, 낙하 위치가 카메라(들)의 시야 내의 제1 위치라는 결정에 따라 객체가 제2 크기를 갖게 하고, 낙하 위치가 카메라(들)의 시야 내의 제2 위치라는 결정에 따라 객체가 제2 크기와 상이한 제3 크기를 갖게 하는데, 여기서 제2 및 제3 크기들은 하나 이상의 카메라들로부터의 낙하 위치의 거리에 기초하여 선택된다. (예컨대, 카메라(들)의 시야 내의 환경에 대한 실제 크기로 가상 객체를 유지하기 위해 가상 객체의 크기를 조정하기 위한 추가 사용자 입력을 요구하지 않으면서) 가상 객체를 이동시키는 제2 입력의 종료를 검출하는 것에 응답하여 변경된 크기로 가상 객체의 표현을 디스플레이하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device provides a second representation of the virtual object (e.g., virtual ramp 5084) as the representation of the virtual object moves along the second path (e.g., as illustrated in FIGS. 5AI-5A). Maintaining the first size, the device detects the termination of the second input by the second contact (including detecting the liftoff of the second contact, e.g., as illustrated in FIGS. 5A and 5A ), and 2 In response to detecting the termination of the second input by contact, the device places the representation of the virtual object at a drop position (e.g., on the table surface 5046) within the second user interface area and distinguishes it from the first size. The representation of the virtual object is displayed at the falling position in the second user interface area with the second size (e.g., the size of the
일부 실시예들에서, 디스플레이를 가로지르는 제1 경로를 따른 제2 접촉의 이동이 제2 기준들을 충족한다는 (예컨대, 제1 경로의 끝에서, 접촉이 디스플레이의 에지(예컨대, 하부 에지, 상부 에지, 및/또는 측부 에지) 또는 제2 사용자 인터페이스 영역의 에지의 임계 거리 내에 있거나 그 에지의 외측에 있다는) 결정에 따라, 디바이스는 하나 이상의 카메라들의 시야의 표현을 포함하는 제2 사용자 인터페이스 영역을 디스플레이하는 것을 중지하고, 가상 객체의 표현과 함께 (전체) 제1 사용자 인터페이스 영역을 재디스플레이한다(예컨대, 제1 사용자 인터페이스 영역의 일부분이 이전에 제2 사용자 인터페이스 영역과 동시에 디스플레이되는 경우, 디바이스는 제2 사용자 인터페이스 영역이 더 이상 디스플레이되지 않은 후에 전체 제1 사용자 인터페이스 영역을 디스플레이한다)(842). 예를 들어, 도 5v 내지 도 5x에 예시된 바와 같이, 가상 의자(5054)를 터치 스크린(112)의 에지로 드래그하는 접촉(5054)의 이동에 응답하여, 도 5y 내지 도 5ad에 예시된 바와 같이, 카메라(들)의 시야(5034)는 디스플레이되는 것이 중지되고 전체 메시징 사용자 인터페이스(5008)가 재디스플레이된다. 일부 실시예들에서, 접촉이 디스플레이의 에지 또는 제2 사용자 인터페이스 영역의 에지에 접근함에 따라, 제2 사용자 인터페이스 영역은 (예컨대, 도 5x 및 도 5y에 예시된 바와 같이) 페이드 아웃되고/되거나 제1 사용자 인터페이스 영역(의 디스플레이되지 않은 또는 차단된 부분)은 (예컨대, 도 5z 및 도 5aa에 예시된 바와 같이) 페이드 인된다. 일부 실시예들에서, 비-AR 뷰(예컨대, 제1 사용자 인터페이스 영역)로부터 AR 뷰(예컨대, 제2 사용자 인터페이스 영역)로 전이하기 위한 제스처 및 AR 뷰로부터 비-AR 뷰로 전이하기 위한 제스처는 동일하다. 예를 들어, 현재 디스플레이된 사용자 인터페이스에서 임계 위치를 넘는 (예컨대, 현재 디스플레이된 사용자 인터페이스 영역의 경계의 임계 거리 내에서의, 또는 현재 디스플레이된 사용자 인터페이스 영역의 경계를 넘는) 가상 객체 상에서의 드래그 제스처는 현재 디스플레이된 사용자 인터페이스 영역으로부터 상대(counterpart) 사용자 인터페이스 영역으로의 (예컨대, 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로의, 또는 대안적으로, 제2 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제1 사용자 인터페이스 영역을 디스플레이하는 것으로의) 전이를 야기한다. 일부 실시예들에서, (예컨대, 현재 디스플레이된 사용자 인터페이스 영역을 페이드 아웃하고 상대 사용자 인터페이스를 페이드 인하는) 시각적 표시는 제1/제2 기준들이 충족되기 전에 보여지고, 입력이 계속되고 제1/제2 기준들이 입력의 종료(예컨대, 접촉의 리프트오프)가 검출되기 전에 충족되지 않으면 가역적이다. 입력 기준들을 충족하는 입력을 검출하는 것에 응답하여 제1 사용자 인터페이스를 재디스플레이하는 것은 디스플레이된 추가 제어부들(예컨대, 제2 사용자 인터페이스로부터 제1 사용자 인터페이스를 디스플레이하기 위한 제어부들)로 제2 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공한다. 디스플레이된 추가 제어부들로 제2 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the movement of the second contact along the first path across the display meets the second criteria (e.g., at the end of the first path, the contact is at the edge of the display (e.g., lower edge, upper edge). , And/or a side edge) or within or outside a threshold distance of the edge of the second user interface area), the device displays a second user interface area comprising a representation of the field of view of one or more cameras. Stop and redisplay the (all) first user interface area with the representation of the virtual object (e.g., when a part of the first user interface area is previously displayed simultaneously with the second user interface area, the
일부 실시예들에서, 제1 사용자 인터페이스 영역을 재디스플레이하는 것에 대응하는 시간에, 디바이스는 (예컨대, 도 5ab 내지 도 5ad에서 가상 의자(5020)의 애니메이션에 의해 예시된 바와 같은) 제2 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 것으로부터 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 것으로의 애니메이션화된 전이(예컨대, 이동, 하나 이상의 축들을 중심으로 하는 회전, 및/또는 축척조정)를 디스플레이한다(844). (예컨대, 제1 사용자 인터페이스 내에 가상 객체를 재위치시키기 위한 추가 사용자 입력을 요구하지 않으면서) 제2 사용자 인터페이스 내에 가상 객체의 표현을 디스플레이하는 것으로부터 제1 사용자 인터페이스 내에 가상 객체의 표현을 디스플레이하는 것으로의 애니메이션화된 전이를 디스플레이하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, at a time corresponding to redisplaying the first user interface area, the device is configured with a second user interface (e.g., as illustrated by animation of the
일부 실시예들에서, 제2 접촉이 제1 경로를 따라서 이동함에 따라, 디바이스는 접촉의 현재 위치에 대응하는 하나 이상의 카메라들의 시야 내에서 식별되는 하나 이상의 각각의 평면들의 시각적 외관을 변경한다(예컨대, 하나 이상의 평면들의 외관을 강조, 마킹, 윤곽형성, 및/또는 달리 시각적으로 변경함)(846). 예를 들어, 접촉(5042)이 도 5o 및 도 5p의 화살표들(5042, 5044)에 의해 예시된 바와 같은 경로를 따라서 가상 의자(5020)를 드래그함에 따라, 바닥 표면(5038)이 (예컨대, 접촉(5042)의 이동 전의 도 5m과 비교하여) 강조된다. 일부 실시예들에서, 접촉이 카메라(들)의 시야 내에서 검출되는 제1 평면에 대응하는 위치에 있다는 결정에 따라, 제1 평면이 강조된다. (예컨대, 도 5s 내지 도 5u에 도시된 바와 같이) 접촉이 카메라(들)의 시야 내에서 검출되는 제2 평면에 대응하는 위치로 이동하였다는 결정에 따라, 제1 평면(예컨대, 바닥 표면(5038))은 강조되는 것이 중지되고 제2 평면(예컨대, 테이블 표면(5046))이 강조된다. 일부 실시예들에서, 다수의 평면들이 동시에 강조된다. 일부 실시예들에서, 다수의 시각적으로 변경된 평면들 중 제1 평면은 접촉이 제1 평면에 대응하는 위치에 있다는 것을 나타내도록 다른 평면들이 시각적으로 변경되는 방식과는 별개인 방식으로 시각적으로 변경된다. 카메라(들)의 시야 내에서 식별되는 하나 이상의 각각의 평면들의 시각적 외관을 변경하는 것은 평면(예컨대, 상기 평면에 대해 가상 객체가 위치될 수 있음)이 식별되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, as the second contact moves along the first path, the device changes the visual appearance of one or more respective planes identified within the field of view of one or more cameras corresponding to the current location of the contact (e.g. , Highlighting, marking, contouring, and/or otherwise visually altering the appearance of one or more planes) (846). For example, as
일부 실시예들에서, 접촉에 의한 제1 입력을 검출하는 것에 응답하여, 접촉에 의한 제1 입력이 제3 (예컨대, 스테이징 사용자 인터페이스 디스플레이) 기준들을 충족한다는 결정에 따라(예컨대, 스테이징 사용자 인터페이스 디스플레이 기준들은 스와이프 입력, 계속 터치하기 입력, 누르기 입력, 탭 입력, 또는 미리정의된 세기 임계치를 초과하는 세기를 갖는 강한 누르기를 식별하도록 구성된 기준들임), 디바이스는, (예컨대, 가상 객체의 2D 이미지를 대체한 가상 객체의 3D 모델을 포함하는) 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 대체하는 것을 포함하여, 디스플레이 상에 제3 사용자 인터페이스 영역을 디스플레이한다(848). 일부 실시예들에서, 스테이징 사용자 인터페이스(예컨대, 도 6i와 관련하여 기술된 바와 같은 스테이징 사용자 인터페이스(6010))를 디스플레이하는 동안, 디바이스는 (예컨대, 방법(900)을 참조하여 아래에서 더 상세히 설명되는 바와 같이) 스테이징 사용자 인터페이스에 대응하는 검출된 입력들에 기초하여 가상 객체의 표현의 외관을 업데이트한다. 일부 실시예들에서, 가상 객체가 스테이징 사용자 인터페이스에 디스플레이되는 동안 다른 입력이 검출되고 입력이 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 전이하기 위한 기준들을 충족하는 경우, 디바이스는 가상 객체를 연속적으로 디스플레이하면서 스테이징 사용자 인터페이스의 디스플레이를 제2 사용자 인터페이스 영역으로 대체한다. 더 많은 상세사항들이 방법(900)과 관련하여 기술된다. 제1 입력이 제3 기준들을 충족한다는 결정에 따라 제3 사용자 인터페이스를 디스플레이하는 것은, 디스플레이된 추가 제어부들(예컨대, 제1 사용자 인터페이스로부터 제3 사용자 인터페이스를 디스플레이하기 위한 제어부들)로 제1 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공한다. 디스플레이된 추가 제어부들로 제2 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting the first input by the contact, in response to a determination that the first input by the contact meets third (eg, staging user interface display) criteria (eg, staging user interface display). Criteria are criteria configured to identify a swipe input, a keep touching input, a tap input, a tap input, or a strong press having an intensity exceeding a predefined intensity threshold), the device may be configured to: Displaying (848) a third user interface area on the display, including replacing the display of at least a portion of the first user interface area (comprising a 3D model of the virtual object that has been replaced by ). In some embodiments, while displaying a staging user interface (e.g., staging
일부 실시예들에서, 접촉에 의한 제1 입력(예컨대, 제1 사용자 인터페이스 영역을 스크롤하는 것에 대응하는 스와이프 입력 또는 제1 사용자 인터페이스 영역 내의 콘텐츠에 대응하는 이메일 또는 웹 페이지를 디스플레이하라는 요청에 대응하는 탭 입력)이 제1 (예컨대, AR 트리거) 기준들을 충족하지 않는다는 결정에 따라, 디바이스는 (예컨대, 도 6b 및 도 6c와 관련하여 기술된 바와 같이) 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야의 표현으로 대체하지 않으면서 제1 사용자 인터페이스 영역의 디스플레이를 유지한다(850). 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야로 대체하는 동안 제1 사용자 인터페이스 영역의 디스플레이를 유지할지 또는 가상 객체의 표현을 연속적으로 디스플레이할지를 결정하기 위한 제1 기준들을 사용함으로써 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. (예컨대, 사용자 인터페이스의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야로 대체함으로써, 또는 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야의 표현으로 대체하지 않으면서 제1 사용자 인터페이스 영역의 디스플레이를 유지함으로써) 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, responding to a first input by contact (e.g., a swipe input corresponding to scrolling a first user interface area or a request to display an email or web page corresponding to content within the first user interface area) Depending on the determination that the tap input) does not meet the first (e.g., AR trigger) criteria, the device displays at least a portion of the first user interface area (e.g., as described in connection with FIGS. 6B and 6C). The display of the first user interface area is maintained (850) without substituting a representation of the field of view of one or more cameras. Input by using first criteria to determine whether to maintain the display of the first user interface area or to continuously display a representation of the virtual object while replacing the display of at least a portion of the first user interface area with the field of view of one or more cameras. In response to a number of different types of operations. (E.g., by replacing the display of at least a portion of the user interface with the field of view of one or more cameras, or without replacing the display of at least a portion of the first user interface with a representation of the field of view of the one or more cameras. Enabling the performance of a number of different types of actions in response to input (by maintaining the display) increases the efficiency with which the user can perform these actions, thereby improving the operability of the device, which additionally: It reduces device power usage and improves battery life by enabling users to use the device more quickly and efficiently.
도 8a 내지 도 8e에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(900, 1000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 8a 내지 도 8e와 관련하여 전술된 방법(800)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(800)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 세기 임계치들, 촉각적 출력들, 시야들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(900, 1000, 16000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 세기 임계치들, 촉각적 출력들, 시야들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 8A-8E are described is merely an example and is not intended to indicate that the described order is the only order in which the operations may be performed. One of skill in the art will recognize various ways of reordering the operations described herein. In addition, details of the other processes described herein with respect to other methods described herein (e.g.,
도 9a 내지 도 9d는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을, 그리고 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하는 방법(900)을 예시하는 흐름도들이다. 방법(900)은 디스플레이, 터치 감응형 표면, 및 하나 이상의 카메라들(예컨대, 디스플레이 및 터치 감응형 표면과 반대편인 디바이스의 면 상의 하나 이상의 후방 카메라들)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고, 터치 감응형 표면은 디스플레이 상에 있거나 그와 통합된다. 일부 실시예들에서, 디스플레이는 터치 감응형 표면과는 별개이다. 방법(900)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.9A-9D illustrate a first representation of a virtual object in a first user interface area, a second representation of a virtual object in a second user interface area, and a representation of a field of view of one or more cameras, according to some embodiments. Together are flow charts illustrating a
아래에 기술되는 바와 같이, 방법(900)은 제1 사용자 인터페이스(예컨대, 2차원 그래픽 사용자 인터페이스) 내에 가상 객체의 표현을 디스플레이하는 디바이스의 터치 감응형 표면에서 접촉에 의한 입력을 검출하는 것에 관한 것이다. 제1 입력에 응답하여, 디바이스는 제2 사용자 인터페이스(예컨대, 가상 객체의 3차원 표현이 이동, 크기 재설정, 및/또는 재배향될 수 있는 스테이징 사용자 인터페이스) 내에 가상 객체의 제2 표현을 디스플레이할지 여부를 결정하기 위한 기준들을 사용한다. 제2 사용자 인터페이스 내에 가상 객체의 제2 표현을 디스플레이하는 동안, 제2 입력에 응답하여, 디바이스는 제2 입력에 기초하여 가상 객체의 제2 표현의 디스플레이 속성을 변경하거나 또는 디바이스의 하나 이상의 카메라들의 시야를 포함하는 제3 사용자 인터페이스 내에 가상 객체의 제3 표현을 디스플레이한다. (예컨대, 가상 객체의 디스플레이 속성을 변경하거나 제3 사용자 인터페이스 내에 가상 객체를 디스플레이함으로써) 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.As described below,
디바이스는 디스플레이(112) 상의 제1 사용자 인터페이스 영역(예컨대, 2차원 그래픽 사용자 인터페이스 또는 그의 일부분(예컨대, 가구 이미지들의 열람가능 목록, 하나 이상의 선택가능 객체들을 포함하는 이미지 등)) 내에 가상 객체의 제1 표현(예컨대, 3차원 객체의 그래픽 표현, 예컨대, 가상 의자(5020), 가상 램프(5084), 신발, 가구, 수공구들, 장식물들, 사람, 이모지, 게임 캐릭터, 가상 가구, 등)을 디스플레이한다(902). 예를 들어, 제1 사용자 인터페이스 영역은 도 6a에 도시된 바와 같은 메시징 사용자 인터페이스(5008)이다. 일부 실시예들에서, 제1 사용자 인터페이스 영역은 디바이스 주위의 물리적 환경의 이미지 이외의 배경을 포함한다(예컨대, 제1 사용자 인터페이스 영역의 배경은 미리선택된 배경 색상/패턴, 또는 하나 이상의 카메라들에 의해 동시에 캡처된 출력 이미지와 구별되고 하나 이상의 카메라들의 시야 내의 라이브 콘텐츠와 구별되는 배경 이미지이다).The device displays a virtual object within a first user interface area (e.g., a two-dimensional graphical user interface or a portion thereof (e.g., a viewable list of furniture images, an image including one or more selectable objects, etc.)) on the
디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하는 동안, 디바이스는 디스플레이 상의 가상 객체의 제1 표현에 대응하는 터치 감응형 표면 상의 위치에서 제1 접촉에 의한 제1 입력을 검출한다(예컨대, 제1 접촉은 터치 스크린 디스플레이 상의 가상 객체의 제1 표현 상에서 검출되거나, 제1 접촉은 가상 객체의 제1 표현과 함께 제1 사용자 인터페이스 영역 내에 동시에 디스플레이되는 그리고 제1 접촉에 의해 호출될 때 AR 뷰(예컨대, 카메라(들)의 시야(6036)) 및/또는 가상 객체(예컨대, 가상 의자(5020))의 표현을 포함하는 스테이징 사용자 인터페이스(6010)의 디스플레이를 트리거하도록 구성되는 어포던스(예컨대, 토글 제어부(6018)) 상에서 검출된다)(904). 예를 들어, 제1 입력은 도 6e 내지 도 6i와 관련하여 기술된 바와 같은 접촉(6006)에 의한 입력이다.While displaying the first representation of the virtual object in the first user interface area on the display, the device detects a first input by the first contact at a location on the touch-sensitive surface corresponding to the first representation of the virtual object on the display. (E.g., the first contact is detected on the first representation of the virtual object on the touch screen display, or the first contact is displayed simultaneously in the first user interface area with the first representation of the virtual object and is called by the first contact. When an affordance configured to trigger the display of the
제1 접촉에 의한 제1 입력을 검출하는 것에 응답하여 그리고 제1 접촉에 의한 제1 입력이 제1 (예컨대, 스테이징 트리거) 기준들을 충족한다는 결정에 따라(예컨대, 스테이징 트리거 기준들은 스와이프 입력, 계속 터치하기 입력, 누르기 입력, 탭 입력, 접촉의 터치다운, 접촉의 초기 이동, 또는 카메라(들)의 활성화 및/또는 카메라(들)의 시야 내의 시야 평면들의 검출을 트리거하는 것과 연관된 다른 유형의 미리정의된 입력 제스처를 식별하도록 구성된 기준들임), 디바이스는 제1 사용자 인터페이스 영역과 상이한 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 디스플레이한다(예컨대, 제2 사용자 인터페이스 영역은 카메라(들)의 시야를 포함하지 않는 그리고 가상 객체의 3차원 표현이 사용자 입력에 응답하여 조작(예컨대, 회전 및 이동)될 수 있는 시뮬레이션된 3차원 공간을 포함하는 스테이징 사용자 인터페이스(6010)이다)(906). 예를 들어, 도 6e 내지 도 6h에서, 접촉(6006)에 의한 입력이 깊게 누르기 세기 임계치(ITD)를 초과하여 증가하는 특성 세기를 갖는다는 결정에 따라, 가상 의자 객체(5020)는 (예컨대, 도 6e에 도시된 바와 같은) 메시징 사용자 인터페이스(5008)와 구별되는 (예컨대, 도 6i에 도시된 바와 같은) 스테이징 사용자 인터페이스(6010)에 디스플레이된다.In response to detecting a first input by the first contact and according to a determination that the first input by the first contact meets first (e.g., staging trigger) criteria (e.g., the staging trigger criteria are swipe input, Continue to touch input, press input, tap input, touchdown of contact, initial movement of contact, or other types of other types associated with triggering activation of the camera(s) and/or detection of planes of view within the field of view of the camera(s). Criteria configured to identify a predefined input gesture), the device displays a second representation of the virtual object in a second user interface area different from the first user interface area (e.g., the second user interface area is the camera(s)) Is a
일부 실시예들에서, 제1 입력을 검출하는 것에 응답하여 그리고 제1 입력이 스테이징 트리거 기준들을 충족한다는 결정에 따라, 디바이스는 가상 객체의 3차원 표현이 제1 사용자 인터페이스 영역에 도시된 바와 같은 제1 배향(예컨대, 도 6e의 메시징 사용자 인터페이스(5008)에 도시된 바와 같은 가상 의자(5020)의 제1 배향)으로부터 디바이스 주위의 물리적 환경에 대한 디바이스의 현재 배향과는 독립적으로 배향되는 디스플레이 상의 가상 평면에 기초하여 결정되는 제2 배향(예컨대, 도 6i에 도시된 바와 같은, 스테이지 평면(6014)에 기초하여 결정되는 가상 의자(5020)의 제2 배향)으로 이동되고 재배향되는 것을 보여주는 제1 애니메이션화된 전이를 디스플레이한다. 예를 들어, 가상 객체의 3차원 표현은 (예컨대, 2차원 그래픽 사용자 인터페이스에 도시된 바와 같은 가상 객체의 형상 및 배향에 기초한) 미리정의된 배향 및/또는 평면으로부터의 거리를 갖고, 스테이징 뷰(예컨대, 스테이징 사용자 인터페이스(6010))로 전이될 때, 3차원 표현은 디스플레이 상의 가상 객체의 원래 위치로부터 디스플레이 상의 새로운 위치(예컨대, 가상 스테이지(6014)의 중심)로 이동, 크기 재설정, 및 재배향되고, 이동 동안 또는 이동의 종료 시, 3차원 표현은 가상 객체가 디바이스 주위의 물리적 환경과 독립적으로 한정되는 미리정의된 스테이징 가상 평면(6014)에 대해 고정된 각도에 있도록 재배향된다.In some embodiments, in response to detecting the first input and upon determining that the first input satisfies the staging trigger criteria, the device provides the three-dimensional representation of the virtual object as shown in the first user interface area. From one orientation (e.g., the first orientation of the
제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 디스플레이하는 동안, 디바이스는 제2 입력(예컨대, 도 6q 내지 도 6t에 예시된 바와 같은 접촉(6034)에 의한 입력)을 검출한다(908). 일부 실시예들에서, 제2 입력을 검출하는 것은 가상 객체의 제2 표현에 대응하는 터치 스크린 상의 위치에서 하나 이상의 제2 접촉들을 검출하는 것, 제2 접촉에 의해 호출될 때 디바이스 주위의 물리적 환경의 증강 현실 뷰의 디스플레이를 트리거하도록 구성되는 어포던스 상에서의 제2 접촉을 검출하는 것, 제2 접촉(들)의 이동을 검출하는 것, 및/또는 제2 접촉(들)의 리프트오프를 검출하는 것을 포함한다. 일부 실시예들에서, 제2 입력은 동일한 접촉에 의한 제1 입력의 연속(예컨대, 제2 입력은 도 6e 내지 도 6i에 예시된 바와 같은 접촉(6006)에 의한 제1 입력에 이은 도 6q 내지 도 6t에 예시된 바와 같은 접촉(6034)에 의한 입력임(접촉의 리프트오프가 없음)), 또는 완전히 상이한 접촉에 의한 별개의 입력(예컨대, 제2 입력은 도 6e 내지 도 6i에 예시된 바와 같은 접촉(6006)에 의한 제1 입력에 이은 도 6q 내지 도 6t에 예시된 바와 같은 접촉(6034)에 의한 입력임(접촉의 리프트오프가 있음)), 또는 추가 접촉에 의한 입력의 연속(예컨대, 제2 입력은 도 6e 내지 도 6i에 예시된 바와 같은 접촉(6006)에 의한 제1 입력 후의 도 6j 내지 도 6l에 예시된 바와 같은 접촉(6006)에 의한 입력임)이다. 예를 들어, 제2 입력은 스와이프 입력의 연속, 제2 탭 입력, 제2 누르기 입력, 제1 입력에 뒤따른 누르기 입력, 제2 계속 터치하기 입력, 제1 입력으로부터 계속되는 지속된 터치 등일 수 있다.While displaying the second representation of the virtual object within the second user interface area, the device detects (908) a second input (eg, input by
제2 입력을 검출하는 것에 응답하여, 제2 입력이 (예컨대, 증강 현실 뷰로 전이하지 않으면서) 제2 사용자 인터페이스 영역 내의 가상 객체를 조작하라는 요청에 대응한다는 결정에 따라, 디바이스는 제2 입력에 기초하여 제2 사용자 인터페이스 영역 내의 가상 객체의 제2 표현의 디스플레이 속성을 변경하고, 제2 입력이 증강 현실 환경에 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라, 디바이스는 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이한다(예컨대, 디바이스는 하나 이상의 카메라들의 시야(6036)를 포함하는 제3 사용자 인터페이스를 디스플레이하고, 디바이스 주위의 물리적 환경(5002) 내의 물리적 평면(예컨대, 바닥)에 대응하는 카메라(들)의 시야 내에서 검출되는 가상 평면(예컨대, 바닥 표면(5038)) 상에 가상 객체(예컨대, 가상 의자(5020))의 3차원 표현을 배치한다)(910).In response to detecting the second input, in response to a determination that the second input corresponds to a request to manipulate a virtual object within the second user interface area (e.g., without transitioning to an augmented reality view), the device responds to the second input. Based on the determination that the display property of the second representation of the virtual object in the second user interface area is changed, and the second input corresponds to a request to display the virtual object in the augmented reality environment, the device Display a third representation of the virtual object along with the representation (e.g., the device displays a third user interface that includes a field of
일부 실시예들에서, 제2 사용자 인터페이스 영역 내의 가상 객체를 조작하라는 요청에 대응하는 제2 입력은 제2 사용자 인터페이스 영역 내의 가상 객체의 제2 표현에 대응하는 터치 감응형 표면 상의 위치에서 제2 접촉(들)에 의한 핀치 또는 스와이프이다. 예를 들어, 제2 입력은 도 6j 내지 도 6l에 예시된 바와 같은 접촉(6006)에 의한 입력 또는 도 6n 및 도 6o에 예시된 바와 같은 접촉들(6026, 6030)에 의한 입력이다.In some embodiments, the second input corresponding to the request to manipulate the virtual object in the second user interface area is a second contact at a location on the touch-sensitive surface corresponding to the second representation of the virtual object in the second user interface area. It is a pinch or swipe by (s). For example, the second input is an input by
일부 실시예들에서, 증강 현실 환경에 가상 객체를 디스플레이하라는 요청에 대응하는 제2 입력은, 제2 사용자 인터페이스 영역 내의 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서의 또는 그로부터의, 탭 입력, 누르기 입력, 또는 계속 터치하기 또는 누르기 입력에 이은 드래그 입력이다. 예를 들어, 제2 입력은 도 6q 내지 도 6t에 예시된 바와 같은 접촉(6034)에 의한 깊게 누르기 입력이다.In some embodiments, the second input corresponding to the request to display the virtual object in the augmented reality environment is a tap at or from a location on the touch-sensitive surface corresponding to the representation of the virtual object in the second user interface area. It is a drag input following an input, a tap input, or a continuous touch or tap input. For example, the second input is a deep pressing input by
일부 실시예들에서, 제2 입력에 기초하여 제2 사용자 인터페이스 영역 내의 가상 객체의 제2 표현의 디스플레이 속성을 변경하는 것은 (예컨대, 수직 및/또는 수평 스와이프를 통해) 하나 이상의 축들을 중심으로 회전시키는 것, 크기 재설정하는 것(예컨대, 크기 재설정하기 위한 핀치), (예컨대, 디바이스를 기울임으로써) 하나 이상의 축들을 중심으로 기울이는 것, (예컨대, 디바이스를 수평으로 이동시킴으로써 - 이는 일부 실시예들에서 하나 이상의 시야 평면들을 검출하기 위해 하나 이상의 카메라들의 시야의 분석을 위해 사용됨) 시점을 변경하는 것, 및/또는 가상 객체의 표현의 색상을 변경하는 것을 포함한다. 예를 들어, 가상 객체의 제2 표현의 디스플레이 속성을 변경하는 것은 도 6j 및 도 6k에 예시된 바와 같이 접촉(6006)에 의한 수평 스와이프 제스처에 응답하여 가상 의자(5020)를 회전시키는 것, 도 6k 및 도 6l에 예시된 바와 같이 접촉(6006)에 의한 대각선 스와이프 제스처에 응답하여 가상 의자(5020)를 회전시키는 것, 또는 도 6n 및 도 6o에 예시된 바와 같이 접촉들(6026, 6030)에 의한 디핀치 제스처에 응답하여 가상 의자(5020)의 크기를 증가시키는 것을 포함한다. 일부 실시예들에서, 가상 객체의 제2 표현의 디스플레이 속성이 변경되는 양은 제2 입력의 속성이 변하는 양(예컨대, 접촉(들)에 의한 이동의 거리 또는 속력, 접촉의 세기, 접촉의 지속시간 등)과 상관된다.In some embodiments, changing the display property of the second representation of the virtual object in the second user interface area based on the second input is about one or more axes (e.g., via a vertical and/or horizontal swipe). Rotating, resizing (e.g., a pinch to resize), tilting about one or more axes (e.g., by tilting the device), (e.g., by moving the device horizontally-this is in some embodiments. Used for analysis of the field of view of one or more cameras to detect one or more planes of view in) changing the viewpoint, and/or changing the color of the representation of the virtual object. For example, changing the display property of the second representation of the virtual object is to rotate the
일부 실시예들에서, 제2 입력이 증강 현실 환경에 (예컨대, 도 6t와 관련하여 기술된 바와 같이, 하나 이상의 카메라들의 시야(6036) 내에) 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라, 디바이스는 가상 객체의 3차원 표현이 디스플레이 상의 가상 평면에 대한 각각의 배향(예컨대, 도 6r에 도시된 가상 의자(5020)의 배향)으로부터 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분의 현재 배향에 기초하여 결정되는 제3 배향(예컨대, 도 6t에 도시된 가상 의자(5020)의 배향)으로 재배향되는 것을 보여주는 제2 애니메이션화된 전이를 디스플레이한다. 예를 들어, 가상 객체의 3차원 표현은 가상 객체의 3차원 표현이 카메라(들)의 시야 내에서 캡처되는 물리적 환경(5002)의 라이브 이미지에서 식별되는 미리정의된 평면(예컨대, 바닥 표면(5038))(예컨대, 가상 객체의 3차원 표현을 지지할 수 있는 수직 벽 또는 수평 바닥 표면과 같은 물리적 표면)에 대해 고정된 각도에 있도록 재배향된다. 일부 실시예들에서, 증강 현실 뷰 내의 가상 객체의 배향은, 적어도 하나의 태양에서, 스테이징 사용자 인터페이스 내의 가상 객체의 배향에 의해 제약된다. 예를 들어, 3차원 좌표계의 적어도 하나의 축을 중심으로 하는 가상 객체의 회전 각은 가상 객체를 스테이징 사용자 인터페이스로부터 증강 현실 뷰로 전이시킬 때 유지된다(예컨대, 도 6q 내지 도 6u와 관련하여 기술된 바와 같이, 도 6j 및 도 6k와 관련하여 기술된 바와 같은 가상 의자(5020)의 회전이 유지된다). 일부 실시예들에서, 제2 사용자 인터페이스 영역 내의 가상 객체의 표현 상에 드리워진 광의 공급원은 가상 광원이다. 일부 실시예들에서, 제3 사용자 인터페이스 영역 내의 가상 객체의 제3 표현은 (예컨대, 하나 이상의 카메라들의 시야 내에서 검출되고/되거나 그로부터 결정되는 바와 같은) 실세계 광원에 의해 조명된다.In some embodiments, upon determining that the second input corresponds to a request to display the virtual object in the augmented reality environment (e.g., within the field of
일부 실시예들에서, 제1 기준들은, 제1 입력이 가상 객체 표시자(5022)(예컨대, 디스플레이 상의 가상 객체의 표현을 오버레이하고/하거나 그에 인접하게 디스플레이되는 표시자, 예컨대, 아이콘)에 대응하는 터치 감응형 표면 상의 위치에서 제1 접촉에 의한 탭 입력을 포함할 때 (예컨대, 포함한다는 결정에 따라) 만족되는 기준들을 포함한다(912). 예를 들어, 가상 객체 표시자(5022)는 그가 대응하는 가상 객체가 (예컨대, 방법(1000)을 참조하여 아래에서 더 상세히 설명되는 바와 같이) 스테이징 뷰(예컨대, 스테이징 사용자 인터페이스(6010)) 및 증강 현실 뷰(예컨대, 카메라(들)의 시야(6036))에서 관찰가능하다는 표시를 제공한다. 제1 입력이 탭 입력을 포함하는지 여부에 따라, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 디스플레이할지 여부를 결정하는 것은, 제1 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first criteria correspond to a
일부 실시예들에서, 제1 기준들은, 제1 접촉이 가상 객체의 제1 표현에 대응하는 터치 감응형 표면 상의 위치에서 적어도 미리정의된 임계 시간(예컨대, 길게 누르기 시간 임계치) 동안 임계량 미만의 이동으로 유지될 때 (예컨대, 유지된다는 결정에 따라) 만족되는 기준들을 포함한다(914). 예를 들어, 제1 기준들은 계속 터치하기 입력에 의해 충족된다. 일부 실시예들에서, 제1 기준들은, 기준이 충족되기 위하여, 제1 접촉이 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서 적어도 미리정의된 임계 시간 동안 임계량 미만의 이동으로 유지된 후 제1 접촉의 이동을 요구하는 기준을 포함한다. 예를 들어, 제1 기준들은 계속 터치하기 입력에 이은 드래그 입력에 의해 충족된다. 접촉이 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서 적어도 미리정의된 시간 동안 임계량 미만의 이동으로 유지되는지 여부에 따라, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 디스플레이할지 여부를 결정하는 것은, 제1 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first criteria include a movement of less than a threshold amount for at least a predefined threshold time (e.g., a long press time threshold) at a location on the touch-sensitive surface in which the first contact corresponds to the first representation of the virtual object. Contains criteria that are satisfied (eg, according to a determination to be maintained) when maintained at 914. For example, the first criteria are satisfied by a keep touching input. In some embodiments, the first criterion is, after the first contact is maintained with less than a threshold amount of movement for at least a predefined threshold time at a location on the touch-sensitive surface corresponding to the representation of the virtual object in order for the criterion to be met. Includes criteria requiring movement of the first contact. For example, the first criteria are satisfied by a continually touching input followed by a drag input. Whether to display a second representation of the virtual object within the second user interface area, depending on whether the contact is maintained with a movement less than a threshold amount for at least a predefined time at a location on the touch-sensitive surface corresponding to the representation of the virtual object. Determining enables the performance of a number of different types of actions in response to a first input. Enabling the performance of multiple different types of actions in response to input increases the efficiency with which the user can perform these actions, thereby improving the operability of the device, which additionally allows the user to It reduces the device's power usage and improves battery life by making it possible to use it quickly and efficiently.
일부 실시예들에서, 제1 기준들은, 제1 접촉의 특성 세기가 제1 세기 임계치(예컨대, 깊게 누르기 세기 임계치(ITD))를 초과하여 증가할 때 (예컨대, 증가한다는 결정에 따라) 만족되는 기준들을 포함한다(916). 예를 들어, 도 6q 내지 도 6t와 관련하여 기술된 바와 같이, 기준들은 접촉(6034)의 특성 세기가, 세기 레벨 측정기(5028)에 의해 나타낸 바와 같이, 깊게 누르기 세기 임계치(ITD)를 초과하여 증가할 때 만족된다. 일부 실시예들에서, 접촉이 다른 유형의 제스처(예컨대, 탭)를 인식하기 위한 기준들을 만족한다는 결정에 따라, 디바이스는 가상 객체의 디스플레이를 유지하는 동안 제2 (예컨대, 스테이징) 사용자 인터페이스를 트리거하는 것 이외의 다른 미리정의된 기능을 수행한다. 일부 실시예들에서, 제1 기준들은 제1 입력이 탭 입력(예컨대, 접촉의 리프트오프가 접촉의 초기 터치다운의 탭 시간 임계치 내에 검출되기 전에 임계 세기를 초과하여 도달하는 세기를 갖는 강한 탭 입력)이 아닐 것을 요구한다. 일부 실시예들에서, 제1 기준들은, 기준이 충족되기 위하여, 제1 접촉의 세기가 제1 세기 임계치를 초과한 후 제1 접촉의 이동을 요구하는 기준을 포함한다. 예를 들어, 제1 기준들은 누르기 입력에 이은 드래그 입력에 의해 충족된다. 접촉의 특성 세기가 제1 세기 임계치를 초과하여 증가하는지 여부에 따라, 제2 사용자 인터페이스 영역 내에 가상 객체를 디스플레이할지 여부를 결정하는 것은, 제1 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first criteria are satisfied (e.g., according to a determination to increase) when the characteristic strength of the first contact increases beyond a first intensity threshold (e.g., deep press intensity threshold (IT D )). It includes the criteria to be (916). For example, as described in connection with FIGS. 6Q-6T, the criteria are that the characteristic strength of the
일부 실시예들에서, 제1 접촉에 의한 제1 입력을 검출하는 것에 응답하여 그리고 제1 접촉에 의한 제1 입력이 제2 기준들(예컨대, 인터페이스 스크롤 기준들)을 충족한다는 결정에 따라 - 제2 기준들은 제1 입력이 터치 감응형 표면을 가로지르는 방향으로 임계 거리 초과 동안 제1 접촉의 이동을 포함할 것을 요구함(예컨대, 제2 기준들은 수직 스와이프 또는 수평 제스처와 같은 스와이프 제스처에 의해 충족됨) -, 디바이스는 제1 접촉의 이동의 방향에 대응하는 방향으로 제1 사용자 인터페이스 영역(및 가상 객체의 표현)을 스크롤한다(예컨대, 제1 기준들은 충족되지 않고 제2 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 것은 보류된다)(918). 예를 들어, 도 6b 및 도 6c와 관련하여 기술된 바와 같이, 접촉(6002)에 의한 상향 수직 스와이프 제스처는 메시징 사용자 인터페이스(5008) 및 가상 의자(5020)가 상향으로 스크롤되게 한다. 일부 실시예들에서, 제1 기준들은 또한, 제1 기준들이 충족되기 위하여 제1 입력이 임계 거리 초과 동안 제1 접촉의 이동을 포함할 것을 요구하고, 디바이스는 제1 입력의 초기 부분이 객체 선택 기준들(예컨대, 가상 객체의 표현 상에서의 계속 터치하기 또는 누르기)을 충족하는지 여부에 기초하여 제1 입력이 제1 기준들(예컨대, 스테이징 트리거 기준들)을 충족하는지 또는 제2 기준들(예컨대, 인터페이스 스크롤 기준들)을 충족하는지를 결정한다. 일부 실시예들에서, 제2 기준들은 가상 객체의 AR 아이콘 및 가상 객체의 위치의 외측의 터치 위치에서 개시되는 스와이프 입력에 의해 충족된다. 제1 입력이 제2 기준들을 충족하는지 여부에 따라, 제1 입력에 응답하여 제1 사용자 인터페이스 영역을 스크롤할지 여부를 결정하는 것은, 제1 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting a first input by the first contact and according to a determination that the first input by the first contact meets second criteria (eg, interface scroll criteria) The 2 criteria require that the first input include movement of the first contact while exceeding a threshold distance in a direction across the touch-sensitive surface (e.g., the second criteria are by a swipe gesture such as a vertical swipe or a horizontal gesture. Met) -, the device scrolls the first user interface area (and the representation of the virtual object) in a direction corresponding to the direction of movement of the first contact (e.g., the first criteria are not satisfied and within the second user interface area) Displaying the representation of the virtual object is pending) (918). For example, as described in connection with FIGS. 6B and 6C, an upward vertical swipe gesture by
일부 실시예들에서, 제1 접촉에 의한 제1 입력을 검출하는 것에 응답하여 그리고 제1 접촉에 의한 제1 입력이 제3 (예컨대, AR 트리거) 기준들을 충족한다는 결정에 따라, 디바이스는 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이한다(920). 예를 들어, 도 6ad 내지 도 6ag와 관련하여 기술된 바와 같이, 접촉(6044)에 의한 긴 터치 입력에 이은 가상 의자(5020)를 드래그하는 접촉(6044)에 의한 상향 드래그 입력은 가상 의자(5020)가 카메라(들)의 시야(6036)와 함께 디스플레이되게 한다.In some embodiments, in response to detecting the first input by the first contact and upon determining that the first input by the first contact meets third (e.g., AR trigger) criteria, the device The third representation of the virtual object is displayed together with the representation of the field of view of the cameras (920). For example, as described in connection with FIGS. 6A to 6AG, a long touch input by
일부 실시예들에서, 제3 기준들은, 예컨대, 하나 이상의 카메라들이 활성 상태에 있고/있거나, 디바이스 배향이 (예컨대, 한정된 원점 배향, 하나 이상의 축들을 중심으로 하는 한정된 회전 각으로부터) 한정된 범위 내에 속하고/하거나, 접촉에 의한 입력이 선택 입력(예컨대, 긴 터치)에 이은 드래그 입력(가상 객체를 디스플레이 상에서 (예컨대, 디스플레이의 에지로부터 미리결정된 거리 내까지) 이동시키는 접촉의 이동)을 포함하고/하거나, 접촉의 특성 세기가 AR 트리거 세기 임계치(예컨대, 가볍게 누르기 임계치(ITL) 또는 깊게 누르기 임계치(ITD))를 초과하여 증가하고/하거나, 접촉의 지속기간이 AR 트리거 지속기간 임계치(예컨대, 길게 누르기 임계치)를 초과하여 증가하고/하거나, 접촉이 이동한 거리가 AR 트리거 거리 임계치(예컨대, 긴 스와이프 임계치)를 초과하여 증가한다는 결정에 따라 만족되는 기준들을 포함한다. 일부 실시예들에서, 제2 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스(6010)) 내에 가상 객체의 표현을 디스플레이하기 위한 제어부(예컨대, 토글 제어부(6018))가 가상 객체의 표현 및 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스(예컨대, 제2 사용자 인터페이스 영역의 적어도 일부분을 대체하는 제3 사용자 인터페이스 영역)에 디스플레이된다.In some embodiments, the third criteria are, for example, that one or more cameras are active and/or the device orientation is within a defined range (e.g., from a defined origin orientation, a defined rotation angle about one or more axes). And/or the input by contact comprises a selection input (e.g., a long touch) followed by a drag input (movement of the contact that moves the virtual object on the display (e.g., within a predetermined distance from the edge of the display)) and/or Or, the characteristic strength of the contact increases above the AR trigger intensity threshold (e.g., light press threshold (IT L ) or deep press threshold (IT D )) and/or the duration of the contact increases by the AR trigger duration threshold (e.g. , And/or the distance traveled by the contact increases beyond an AR trigger distance threshold (eg, a long swipe threshold) and/or is satisfied according to the determination that the distance traveled increases above the AR trigger distance threshold (eg, long swipe threshold). In some embodiments, a control unit (eg, toggle control unit 6018) for displaying a representation of a virtual object in a second user interface area (eg, staging user interface 6010) is Displayed in a user interface (eg, a third user interface area that replaces at least a portion of the second user interface area) including the field of
일부 실시예들에서, 제1 사용자 인터페이스 영역(예컨대, 비-AR, 비-스테이징, 터치 스크린 UI 뷰)으로부터 제3 사용자 인터페이스 영역(예컨대, 증강 현실 뷰)으로 직접 전이될 때, 디바이스는 가상 객체의 3차원 표현이 디스플레이 상의 터치 스크린 UI(예컨대, 비-AR, 비-스테이징 뷰) 내에 표현된 각각의 배향으로부터 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분의 현재 배향에 대해 미리정의된 배향으로 재배향되는 것을 보여주는 애니메이션화된 전이를 디스플레이한다. 예를 들어, 도 6ad 내지 도 6aj에 도시된 바와 같이, 제1 사용자 인터페이스 영역(예컨대, 도 6ad에 도시된 바와 같은 메시징 사용자 인터페이스(5008))으로부터 제3 사용자 인터페이스 영역(예컨대, 도 6aj에 도시된 바와 같은 카메라(들)의 시야(6036)를 포함하는 증강 현실 사용자 인터페이스)으로 직접 전이될 때, 가상 의자(5020)는 도 6ad 내지 도 6ah에 도시된 바와 같은 제1 배향으로부터 (예컨대, 도 6aj에 도시된 바와 같은) 카메라(들)의 시야(6036) 내에서 캡처되는 바와 같은 물리적 환경(5002) 내의 바닥 표면(5038)에 대한 미리정의된 배향으로 변경된다. 예를 들어, 가상 객체의 3차원 표현은 가상 객체의 3차원 표현이 물리적 환경(5002)의 라이브 이미지에서 식별되는 미리정의된 평면(예컨대, 가상 객체의 3차원 표현을 지지할 수 있는 수직 벽 또는 수평 바닥 표면(예컨대, 바닥 표면(5038))과 같은 물리적 표면)에 대해 고정된 각도에 있도록 재배향된다. 제1 입력이 제3 기준들을 충족하는지 여부에 따라, 제1 입력에 응답하여 카메라(들)의 시야와 함께 가상 객체의 제3 표현을 디스플레이할지 여부를 결정하는 것은, 제1 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, when transitioning directly from a first user interface area (e.g., non-AR, non-staging, touch screen UI view) to a third user interface area (e.g., augmented reality view), the device A three-dimensional representation of a predefined relative to the current orientation of the portion of the physical environment captured within the field of view of one or more cameras from each orientation represented within the touch screen UI (e.g., non-AR, non-staging view) on the display. Displays an animated transition showing reorientation to orientation. For example, as shown in FIGS. 6A to 6AJ, from a first user interface area (eg, a
일부 실시예들에서, 제1 접촉에 의한 제1 입력을 검출하는 것에 응답하여, 디바이스는, 하나 이상의 디바이스 배향 센서들에 의해, 디바이스의 현재 디바이스 배향(예컨대, 디바이스 주위의 물리적 환경에 대한 배향)을 결정하고, 제3 기준들(예컨대, AR 트리거 기준들)은 제3 기준들이 충족되기 위하여 현재 디바이스 배향이 제1 범위의 배향들 내에 있을 것을 요구한다(예컨대, 제2 기준들은 디바이스와 지면 사이의 각도가 임계 각도 미만일 때 충족되는데, 이는 디바이스가 (중간 상태(interstitial state)를 바이패스하도록) 지면에 충분히 평행한 것을 나타낸다)(922). 일부 실시예들에서, 제1 기준들(예컨대, 스테이징 트리거 기준들)은 제1 기준들이 충족되기 위하여 현재 디바이스 배향이 제2 범위의 배향들 내에 있을 것을 요구한다(예컨대, 제1 기준들은 디바이스와 지면 사이의 각도가 임계 값 내지 90도 내에 있을 때 충족되는데, 이는 디바이스가 지면에 대해 충분히 직립하여 먼저 중간 상태로 되는 것을 나타낸다). 디바이스 배향이 일정 범위의 배향들 내에 있는지 여부에 따라, 제1 입력에 응답하여 카메라(들)의 시야와 함께 가상 객체의 제3 표현을 디스플레이할지 여부를 결정하는 것은, 제1 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting the first input by the first contact, the device, by one or more device orientation sensors, the current device orientation of the device (eg, orientation relative to the physical environment around the device). And the third criteria (e.g., AR trigger criteria) require that the current device orientation be within the first range of orientations in order for the third criteria to be met (e.g., the second criteria are between the device and the ground. Is satisfied when the angle of is less than the critical angle, indicating that the device is sufficiently parallel to the ground (to bypass the interstitial state) (922). In some embodiments, the first criteria (e.g., staging trigger criteria) require that the current device orientation be within a second range of orientations in order for the first criteria to be met (e.g., the first criteria It is satisfied when the angle between the ground is within the threshold to 90 degrees, indicating that the device is sufficiently upright with respect to the ground and first goes to an intermediate state). Depending on whether the device orientation is within a range of orientations, determining whether to display a third representation of the virtual object along with the field of view of the camera(s) in response to the first input is a number of Allows the performance of different types of operations. Enabling the performance of multiple different types of actions in response to input increases the efficiency with which the user can perform these actions, thereby improving the operability of the device, which additionally allows the user to It reduces the device's power usage and improves battery life by making it possible to use it quickly and efficiently.
일부 실시예들에서, 가상 객체의 제2 표현의 적어도 하나의 디스플레이 속성(예컨대, 크기, 형상, 요(yaw) 축, 피치 축 및 롤 축을 중심으로 하는 각각의 각도들 등)이 가상 객체의 제3 표현에 적용된다(924). 예를 들어, 도 6q 내지 도 6u와 관련하여 기술된 바와 같이, 도 6j 및 도 6k와 관련하여 기술된 바와 같은 스테이징 사용자 인터페이스(6010)에 적용되는 가상 의자(5020)의 제2 표현의 회전은, 가상 의자(5020)의 제3 표현이 (예컨대, 도 6u에 도시된 바와 같이) 카메라(들)의 시야(6036)를 포함하는 증강 현실 뷰에 디스플레이될 때 유지된다. 일부 실시예들에서, 증강 현실 뷰 내의 가상 객체의 배향은, 적어도 하나의 태양에서, 스테이징 사용자 인터페이스 내의 가상 객체의 배향에 의해 제약된다. 예를 들어, 미리정의된 3차원 좌표계의 적어도 하나의 축(예컨대, 요 축, 피치 축, 또는 롤 축)을 중심으로 하는 가상 객체의 회전 각은 가상 객체를 스테이징 뷰로부터 증강 현실 뷰로 전이시킬 때 유지된다. 일부 실시예들에서, 가상 객체의 제2 표현의 적어도 하나의 디스플레이 속성은 가상 객체의 제2 표현이 사용자 입력에 의해 (예컨대, 크기, 형상, 텍스처, 배향 등이 변경되는) 어떤 방식으로든 조작되었다면 가상 객체의 제3 표현에만 적용된다. 다시 말하면, 스테이징 뷰에서 이루어지는 변경들은 객체가 증강 현실 뷰에서 보여질 때 유지되거나 증강 현실 뷰에서 객체의 외관을 하나 이상의 방식들로 제약하는 데 사용된다. (예컨대, 가상 객체의 제2 표현 및 가상 객체의 제3 표현에 동일한 디스플레이 속성을 적용하기 위한 추가 사용자 입력을 요구하지 않으면서) 가상 객체의 제2 표현의 적어도 하나의 디스플레이 속성을 가상 객체의 제3 표현에 적용하는 것은 (예컨대, 가상 객체의 큰 형태가 제2 사용자 인터페이스에 디스플레이되는 동안 사용자가 제2 가상 객체에 회전을 적용하게 하고, 하나 이상의 카메라들의 시야의 표현과 함께 디스플레이되는 가상 객체의 제3 표현에 회전을 적용함으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, at least one display attribute of the second representation of the virtual object (e.g., size, shape, yaw axis, pitch axis, and respective angles about the roll axis, etc.) of the
일부 실시예들에서, 제1 접촉에 의한 제1 입력의 적어도 초기 부분을 검출하는 것(예컨대, 제1 접촉을 검출하는 것, 또는 제1 기준들을 충족하지 않으면서 각각의 미리정의된 기준들을 충족하는 제1 접촉에 의한 입력을 검출하는 것, 또는 제1 기준들을 충족하는 입력을 검출하는 것을 포함함)에 응답하여, 디바이스는 하나 이상의 카메라들을 활성화시키고(예컨대, 디스플레이 상의 카메라(들)의 시야를 즉시 디스플레이하지 않으면서 카메라(들)를 활성화시킴), 디바이스는 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들을 검출하기 위해 하나 이상의 카메라들의 시야를 분석한다(926). 일부 실시예들에서, 하나 이상의 카메라들의 시야(6036)를 디스플레이하는 것은 하나 이상의 카메라들을 활성화시킨 후에 (예컨대, 증강 현실 환경에서 가상 객체를 디스플레이하라는 요청에 대응하는 제2 입력이 검출될 때까지, 적어도 하나의 시야 평면이 검출될 때까지, 또는 가상 객체에 대해 한정된 앵커 평면에 대응하는 시야 평면이 검출될 때까지) 지연된다. 일부 실시예들에서, 하나 이상의 카메라들의 시야(6036)는 하나 이상의 카메라들의 활성화에 대응하는 시간에 (예컨대, 활성화와 동시에) 디스플레이된다. 일부 실시예들에서, 하나 이상의 카메라들의 시야(6036)는 하나 이상의 카메라들의 시야 내에서 평면이 검출되기 전에 디스플레이된다(예컨대, 하나 이상의 카메라들의 시야는 접촉에 의한 제1 입력을 검출하는 것에 응답하여 그리고 결정에 따라 디스플레이된다). (예컨대, 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하기 전에) 제1 입력의 초기 부분을 검출하는 것에 응답하여 카메라(들)를 활성화시키고 하나 이상의 시야 평면들을 검출하기 위해 카메라(들)의 시야를 분석하는 것은 (예컨대, 카메라(들)의 시야 내의 각각의 평면에 대한 가상 객체의 제3 표현의 위치 및/또는 배향을 결정하는 데 필요한 시간을 감소시킴으로써) 디바이스의 효율을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, detecting at least an initial portion of the first input by the first contact (e.g., detecting the first contact, or meeting each predefined criteria without meeting the first criteria). Responsive to detecting an input by a first contact, or detecting an input that meets the first criteria), the device activates one or more cameras (e.g., the field of view of the camera(s) on the display). Activating the camera(s) without displaying immediately), the device analyzes 926 the field of view of one or more cameras to detect one or more planes within the field of view of the one or more cameras. In some embodiments, displaying the field of
일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 각각의 평면(예컨대, 바닥 표면(5038))을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야 내의 각각의 평면의 검출을 나타내기 위해 촉각적 출력을, 하나 이상의 촉각적 출력 생성기들(167)에 의해, 출력한다(928). 일부 실시예들에서, 시야(6036)는 시야 평면이 식별되기 전에 보여질 수 있다. 일부 실시예들에서, 적어도 하나의 시야 평면이 검출된 후에 또는 시야 평면들 모두가 식별된 후, 추가 사용자 인터페이스 제어부들 및/또는 아이콘들이 시야 내의 실세계 이미지 상에 오버레이된다. 카메라(들)의 시야 내의 평면의 검출을 나타내기 위해 촉각적 출력을 출력하는 것은 평면이 검출되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은, (예컨대, 사용자가 적절한 입력들을 제공하는 것을 돕고, 가상 객체를 배치하기 위한 불필요한 추가 입력들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting each plane (e.g., floor surface 5038) within the field of view of the one or more cameras, the device tactiles to indicate detection of each plane within the field of view of the one or more cameras. The enemy output is output (928), by one or more
일부 실시예들에서, 디스플레이 상의 가상 객체의 제3 표현의 크기는 가상 객체(예컨대, 가상 의자(5020))의 제3 표현과 고정된 공간적 관계를 갖는 하나 이상의 카메라들의 시야(6036) 내의 위치(예컨대, 가상 객체가 부착되는 바닥 표면(5038)과 같은 평면)와 하나 이상의 카메라들 사이의 거리 및 가상 객체의 시뮬레이션된 실세계 크기에 기초하여 결정된다(930). 일부 실시예들에서, 가상 객체의 제3 표현의 크기는 하나 이상의 카메라들의 시야에 대한 가상 객체의 제3 표현의 크기의 축척이 유지되도록 제약된다. 일부 실시예들에서, 하나 이상의 물리적 치수 파라미터들(예컨대, 길이, 폭, 깊이, 및/또는 반경)이 가상 객체에 대해 한정된다. 일부 실시예들에서, 제2 사용자 인터페이스(예컨대, 스테이징 사용자 인터페이스)에서, 가상 객체는 그의 한정된 물리적 치수 파라미터들에 의해 제약되지 않는다(예컨대, 가상 객체의 크기는 사용자 입력에 응답하여 변경가능하다). 일부 실시예들에서, 가상 객체의 제3 표현은 그의 한정된 치수 파라미터들에 의해 제약된다. 시야 내에 표현된 물리적 환경에 대한 증강 현실 뷰에서 가상 객체의 위치를 변경하기 위한 사용자 입력이 검출될 때, 또는 시야의 줌(zoom) 레벨을 변경하기 위한 사용자 입력이 검출될 때, 또는 디바이스 주위의 물리적 환경에 대해 이동하는 사용자 입력이 검출될 때, 가상 객체의 외관(예컨대, 크기, 관찰 시점)은 (예컨대, 가상 객체의 앵커 평면과 증강 현실 환경 사이의 고정된 공간적 관계에 의해 표현되는 바와 같이) 가상 객체와 물리적 환경 사이의 고정된 공간적 관계, 및 가상 객체의 미리정의된 치수 파라미터들 및 물리적 환경의 실제 치수들에 기초한 고정된 축척에 의해 제한되는 방식으로 변경될 것이다. (예컨대, 가상 객체의 실세계 크기를 시뮬레이션하기 위해 가상 객체의 제3 표현을 크기 재설정하기 위한 추가 사용자 입력을 요구하지 않으면서) 하나 이상의 카메라들과 카메라(들)의 시야 내의 위치 사이의 거리 및 가상 객체의 시뮬레이션된 실세계 크기에 기초하여 가상 객체의 제3 표현의 크기를 결정하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the size of the third representation of the virtual object on the display is a location within the field of
일부 실시예들에서, 증강 현실 환경에 가상 객체를 디스플레이하라는 요청에 대응하는 제2 입력은, 가상 객체의 제2 표현을 (선택하고) (예컨대, 거리 임계치를 초과하여, 한정된 경계를 지나서, 그리고/또는 디스플레이 또는 제2 사용자 인터페이스 영역의 에지(예컨대, 하부 에지, 상부 에지, 및/또는 측부 에지)의 임계 거리 내에 있는 위치까지 증가하는 거리만큼) 드래그하는 입력을 포함한다(932). 증강 현실 환경에 가상 객체를 디스플레이하라는 요청에 대응하는 제2 입력을 검출하는 것에 응답하여 카메라(들)의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하는 것은 디스플레이된 추가 제어부들(예컨대, 제2 사용자 인터페이스로부터 증강 현실 환경을 디스플레이하기 위한 제어부들)로 제2 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공한다. 디스플레이된 추가 제어부들로 제2 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the second input corresponding to the request to display the virtual object in the augmented reality environment selects (selects) a second representation of the virtual object (e.g., exceeds a distance threshold, crosses a defined boundary, and And/or an input of dragging an increasing distance to a location within a threshold distance of the display or edge of the second user interface area (eg, lower edge, upper edge, and/or side edge) (932). In response to detecting a second input corresponding to a request to display the virtual object in the augmented reality environment, displaying the third representation of the virtual object along with the representation of the field of view of the camera(s) may include displayed additional controls (e.g., Controls for displaying the augmented reality environment from the second user interface) to provide additional control options without confusing the second user interface. Providing additional control options without cluttering the second user interface with the displayed additional controls improves the operability of the device, which additionally enables the user to use the device more quickly and efficiently, thereby It reduces the power usage of the battery and improves battery life.
일부 실시예들에서, 제2 사용자 인터페이스 영역(예컨대, 도 6z에 도시된 바와 같은 스테이징 사용자 인터페이스(6010)) 내에 가상 객체의 제2 표현을 디스플레이하는 동안, 디바이스는 제1 사용자 인터페이스 영역을 재디스플레이하기 위한 각각의 기준들을 충족하는 제4 입력(예컨대, 가상 객체의 제2 표현에 대응하는 터치 감응형 표면 상의 위치 또는 터치 감응형 표면 상의 다른 위치(예컨대, 제2 사용자 인터페이스 영역의 하부 또는 에지)에서의 탭, 강한 누르기, 또는 계속 터치하기 및 드래그 입력, 및/또는 제1 사용자 인터페이스 영역으로 복귀하기 위한 제어부에 대응하는 터치 감응형 표면 상의 위치에서의 입력)을 검출하고, 제4 입력을 검출하는 것에 응답하여, 디바이스는 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 디스플레이하는 것을 중지하고, 디바이스는 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 재디스플레이한다(934). 예를 들어, 도 6z 내지 도 6ac에 도시된 바와 같이, 스테이징 사용자 인터페이스(6010)에 디스플레이된 뒤로 가기 제어부(6016)에 대응하는 위치에서의 접촉(6042)에 의한 입력에 응답하여, 디바이스는 제2 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스(6010)) 내에 가상 의자(5020)의 제2 표현을 디스플레이하는 것을 중지하고, 디바이스는 제1 사용자 인터페이스 영역(예컨대, 메시징 사용자 인터페이스(5008)) 내에 가상 의자(5020)의 제1 표현을 재디스플레이한다. 일부 실시예들에서, 가상 객체의 제1 표현은 스테이징 뷰 및/또는 증강 현실 뷰로의 전이 전에 보여진 것들과 동일한 외관, 위치, 및/또는 배향으로 제1 사용자 인터페이스 영역 내에 디스플레이된다. 예를 들어, 도 6ac에서, 가상 의자(5020)는 도 6a의 메시징 사용자 인터페이스(5008)에 디스플레이된 가상 의자(5020)와 동일한 배향으로 메시징 사용자 인터페이스(5008)에 디스플레이된다. 일부 실시예들에서, 디바이스는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하는 것으로 다시 전이될 때 스크린 상에 가상 객체를 연속적으로 디스플레이한다. 예를 들어, 도 6y 내지 도 6c에서, 가상 의자(5020)는 스테이징 사용자 인터페이스(6010)를 디스플레이하는 것으로부터 메시징 사용자 인터페이스(5008)를 디스플레이하는 것으로의 전이 동안 연속적으로 디스플레이된다. 제2 사용자 인터페이스 내에 가상 객체의 제2 표현을 디스플레이하는 동안 검출된 제4 입력이 제1 사용자 인터페이스를 재디스플레이하기 위한 기준들을 충족하는지 여부에 따라, 제1 사용자 인터페이스 내에 가상 객체의 제1 표현을 재디스플레이할지 여부를 결정하는 것은, 제4 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying the second representation of the virtual object in the second user interface area (e.g., staging
일부 실시예들에서, (예컨대, 도 6u에 도시된 바와 같이) 하나 이상의 카메라들의 시야(5036)의 표현과 함께 가상 객체의 제3 표현을 디스플레이하는 동안, 디바이스는 제2 사용자 인터페이스 영역을 재디스플레이하기 위한 각각의 기준들을 충족하는 제5 입력(예컨대, 가상 객체의 제3 표현에 대응하는 터치 감응형 표면 상의 위치 또는 터치 감응형 표면 상의 다른 위치에서의 탭, 강한 누르기, 또는 터치 및 드래그 입력, 및/또는 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 복귀하기 위한 제어부에 대응하는 터치 감응형 표면 상의 위치에서의 입력)을 검출하고, 제5 입력을 검출하는 것에 응답하여, 디바이스는 가상 객체의 제3 표현 및 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 것을 중지하고, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 재디스플레이한다(936). 예를 들어, 도 6v 내지 도 6y에 도시된 바와 같이, 카메라(들)의 시야(6036)를 포함하는 제3 사용자 인터페이스에 디스플레이된 토글 제어부(6018)에 대응하는 위치에서의 접촉(6040)에 의한 입력에 응답하여, 디바이스는 카메라(들)의 시야(6036)를 디스플레이하는 것을 중지하고, 스테이징 사용자 인터페이스(6010)를 재디스플레이한다. 일부 실시예들에서, 가상 객체의 제2 표현은 증강 현실 뷰에 보여진 것과 동일한 배향으로 제2 사용자 인터페이스 영역 내에 디스플레이된다. 일부 실시예들에서, 디바이스는 제2 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하는 것으로 다시 전이될 때 스크린 상에 가상 객체를 연속적으로 디스플레이한다. 예를 들어, 도 6v 내지 도 6y에서, 가상 의자(5020)는 카메라(들)의 시야(6036)를 디스플레이하는 것으로부터 스테이징 사용자 인터페이스(6010)를 디스플레이하는 것으로의 전이 동안 연속적으로 디스플레이된다. 카메라(들)의 시야와 함께 가상 객체의 제3 표현을 디스플레이하는 동안 검출된 제5 입력이 제2 사용자 인터페이스를 재디스플레이하기 위한 기준들을 충족하는지 여부에 따라, 제2 사용자 인터페이스 내에 가상 객체의 제2 표현을 재디스플레이할지 여부를 결정하는 것은, 제5 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a third representation of the virtual object with a representation of the field of
일부 실시예들에서, 하나 이상의 카메라들의 시야의 표현(6036)과 함께 가상 객체의 제3 표현을 디스플레이하는 동안, 디바이스는 제1 사용자 인터페이스 영역(예컨대, 메시징 사용자 인터페이스(5008))을 재디스플레이하기 위한 각각의 기준들을 충족하는 제6 입력을 검출하고, 제6 입력을 검출하는 것에 응답하여, 디바이스는 (예컨대, 도 6u에 도시된 바와 같이) 가상 객체(예컨대, 가상 의자(5020))의 제3 표현 및 하나 이상의 카메라들의 시야(6036)의 표현을 디스플레이하는 것을 중지하고, 디바이스는 (예컨대, 도 6ac에 도시된 바와 같이) 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 재디스플레이한다(938). 일부 실시예들에서, 제6 입력은, 예컨대, 가상 객체의 제3 표현에 대응하는 터치 감응형 표면 상의 위치 또는 터치 감응형 표면 상의 다른 위치에서의 탭, 강한 누르기, 또는 터치 및 드래그 입력, 및/또는 제1 사용자 인터페이스 영역을 디스플레이하는 것으로 복귀하기 위한 제어부에 대응하는 터치 감응형 표면 상의 위치에서의 입력이다. 일부 실시예들에서, 가상 객체의 제1 표현은 스테이징 뷰 및/또는 증강 현실 뷰로의 전이 전에 보여진 것들과 동일한 외관 및 위치로 제1 사용자 인터페이스 영역 내에 디스플레이된다. 일부 실시예들에서, 디바이스는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하는 것으로 다시 전이될 때 스크린 상에 가상 객체를 연속적으로 디스플레이한다. 카메라(들)의 시야와 함께 가상 객체의 제3 표현을 디스플레이하는 동안 검출된 제6 입력이 제1 사용자 인터페이스를 재디스플레이하기 위한 기준들을 충족하는지 여부에 따라, 제1 사용자 인터페이스 내에 가상 객체의 제1 표현을 재디스플레이할지 여부를 결정하는 것은, 제6 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying the third representation of the virtual object along with the
일부 실시예들에서, 제1 접촉에 의한 제1 입력을 검출하는 것에 응답하여 그리고 제1 접촉에 의한 입력이 제1 기준들을 충족한다는 결정에 따라, 디바이스는, 제1 사용자 인터페이스 영역 내의 가상 객체의 제1 표현이 제2 사용자 인터페이스 영역 내의 가상 객체의 제2 표현으로 변환되는 애니메이션(예컨대, 이동, 하나 이상의 축들을 중심으로 하는 회전, 및/또는 축척조정)을 디스플레이하는 것을 포함하여, 제1 사용자 인터페이스 영역(예컨대, 메시징 사용자 인터페이스(5008))을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스(6010))을 디스플레이하는 것으로 전이될 때 가상 객체를 연속적으로 디스플레이한다(940). 예를 들어, 도 6e 내지 도 6i에서, 가상 의자(5020)는 메시징 사용자 인터페이스(5008)를 디스플레이하는 것으로부터 스테이징 사용자 인터페이스(6010)를 디스플레이하는 것으로의 전이 동안 연속적으로 디스플레이되고 애니메이션화된다(예컨대, 가상 의자(5020)의 배향이 변한다). 일부 실시예들에서, 가상 객체는 (예컨대, 제1 사용자 인터페이스 영역에서 보여지는 바와 같은 가상 객체의 제1 표현의 형상 및 배향에 기초하여 한정되는) 카메라(들)의 시야 내의 평면에 대한 한정된 배향, 위치 및/또는 거리를 가지며, 제2 사용자 인터페이스 영역으로 전이될 때, 가상 객체의 제1 표현은 디스플레이 상의 새로운 위치(예컨대, 제2 사용자 인터페이스 영역 내의 가상 스테이징 평면의 중심)에서 가상 객체의 제2 표현으로 이동, 크기 재설정, 및/또는 재배향되고, 이동 동안 또는 이동의 종료 시, 가상 객체는 가상 객체가 디바이스 주위의 물리적 환경과 독립적으로 한정되는 미리정의된 가상 스테이징 평면에 대해 미리결정된 각도에 있도록 재배향된다. 제1 사용자 인터페이스 내의 가상 객체의 제1 표현이 제2 사용자 인터페이스 내의 가상 객체의 제2 표현으로 변환됨에 따라 애니메이션을 디스플레이하는 것은 제1 입력이 제1 기준들을 충족한다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting the first input by the first contact and upon determining that the input by the first contact meets the first criteria, the device A first user comprising displaying an animation (e.g., movement, rotation around one or more axes, and/or scaling) in which the first representation is converted to a second representation of the virtual object within the second user interface area. When transitioning from displaying an interface area (eg, messaging user interface 5008) to displaying a second user interface area (eg, staging user interface 6010), the virtual object is continuously displayed (940). For example, in Figures 6E-6I, the
일부 실시예들에서, 제2 접촉에 의한 제2 입력을 검출하는 것에 응답하여 그리고 제2 접촉에 의한 제2 입력이 증강 현실 환경에 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라, 디바이스는, 제2 사용자 인터페이스 영역 내의 가상 객체의 제2 표현이 하나 이상의 카메라들의 시야를 포함하는 제3 사용자 인터페이스 영역 내의 가상 객체의 제3 표현으로 변환되는 애니메이션(예컨대, 이동, 하나 이상의 축들을 중심으로 하는 회전, 및/또는 축척조정)을 디스플레이하는 것을 포함하여, 제2 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스(6010))을 디스플레이하는 것으로부터 하나 이상의 카메라들의 시야(6036)를 포함하는 제3 사용자 인터페이스 영역을 디스플레이하는 것으로 전이될 때 가상 객체를 연속적으로 디스플레이한다(942). 예를 들어, 도 6q 내지 도 6u에서, 가상 의자(5020)는 스테이징 사용자 인터페이스(6010)를 디스플레이하는 것으로부터 카메라(들)의 시야(6036)를 디스플레이하는 것으로의 전이 동안 연속적으로 디스플레이되고 애니메이션화된다(예컨대, 가상 의자(5020)의 위치 및 크기가 변한다). 일부 실시예들에서, 가상 객체는 가상 객체가 하나 이상의 카메라들의 시야 내에서 검출되는 시야 평면(예컨대, 사용자 인터페이스 객체의 3차원 표현을 지지할 수 있는 수직 벽 또는 수평 바닥 표면과 같은 물리적 표면)에 대한 미리정의된 배향, 위치, 및/또는 거리에 있도록 재배향된다. 제2 사용자 인터페이스 내의 가상 객체의 제2 표현이 제3 사용자 인터페이스 내의 가상 객체의 제3 표현으로 변환됨에 따라 애니메이션을 디스플레이하는 것은 제2 입력이 증강 현실 환경에서 가상 객체를 디스플레이하라는 요청에 대응한다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 디바이스를 작동시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting a second input by the second contact and upon determining that the second input by the second contact corresponds to a request to display the virtual object in the augmented reality environment, the device: Animation in which the second representation of the virtual object in the second user interface area is converted into a third representation of the virtual object in the third user interface area including the field of view of one or more cameras (e.g., movement, rotation around one or more axes) A third user interface region comprising a field of
도 9a 내지 도 9d에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 16000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 9a 내지 도 9d와 관련하여 전술된 방법(900)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(900)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 세기 임계치들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 16000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 세기 임계치들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 9A-9D are described is merely an example and is not intended to indicate that the described order is the only order in which the operations may be performed. One of skill in the art will recognize various ways of reordering the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g.,
도 10a 내지 도 10d는 일부 실시예들에 따른, 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시를 갖는 아이템을 디스플레이하는 방법(1000)을 예시하는 흐름도들이다. 방법(1000)은 디스플레이 및 터치 감응형 표면(예컨대, 디스플레이 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고, 터치 감응형 표면은 디스플레이 상에 있거나 그와 통합된다. 일부 실시예들에서, 디스플레이는 터치 감응형 표면과는 별개이다. 방법(1000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.10A-10D are flow charts illustrating a
후술되는 바와 같이, 방법(1000)은 제1 및 제2 사용자 인터페이스들 내에 아이템들을 디스플레이하는 것에 관한 것이다. 각각의 아이템은, 아이템이 각각의 가상 3차원 객체에 대응하는지 여부에 따라, 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시와 함께 또는 시각적 표시 없이 디스플레이된다. 아이템이 가상 3차원 객체인지 여부에 대한 표시를 사용자에게 제공하는 것은 (예컨대, 아이템이 가상 3차원 객체인지 또는 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 제1 아이템에 대한 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.As described below,
디바이스는 제1 아이템(예컨대, 아이콘, 섬네일(thumbnail) 이미지, 이미지, 이모지, 첨부물, 스티커, 앱 아이콘, 아바타, 등)을 포함하는 제1 사용자 인터페이스를 디스플레이하라는 요청을 수신한다(1002). 예를 들어, 일부 실시예들에서, 요청은 제1 아이템과 연관된 미리정의된 환경에서 제1 아이템의 표현을 디스플레이하기 위한 사용자 인터페이스(예컨대, 도 7b에 도시된 바와 같은 인터넷 브라우저 사용자 인터페이스(5060))를 열기 위한 (예컨대, 도 7a와 관련하여 기술된 바와 같은) 입력이다. 미리정의된 환경은 선택적으로, 애플리케이션(예컨대, 이메일 애플리케이션, 메시징 애플리케이션, 브라우저 애플리케이션, 워드 프로세싱 애플리케이션, 전자책 애플리케이션 등)의 사용자 인터페이스 또는 시스템 사용자 인터페이스(예컨대, 잠금 화면, 통지 인터페이스, 제안 인터페이스, 제어판 사용자 인터페이스, 홈 화면 사용자 인터페이스 등)이다.The device receives a request to display a first user interface including a first item (eg, an icon, a thumbnail image, an image, an emoji, an attachment, a sticker, an app icon, an avatar, etc.) (1002). For example, in some embodiments, the request is a user interface for displaying a representation of the first item in a predefined environment associated with the first item (e.g., Internet
제1 사용자 인터페이스를 디스플레이하라는 요청에 응답하여, 디바이스는 제1 아이템의 표현과 함께 제1 사용자 인터페이스(예컨대, 도 7b에 도시된 바와 같은 인터넷 브라우저 사용자 인터페이스(5060))를 디스플레이한다(1004). 제1 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 디바이스는 제1 아이템이 제1 각각의 가상 3차원 객체(예컨대, 제1 아이템의 표현에 대응하는 위치에 디스플레이되는, 아이콘 및/또는 배경 패널과 같은 이미지; 윤곽; 및/또는 텍스트)에 대응한다는 것을 나타내는 시각적 표시와 함께 제1 아이템의 표현을 디스플레이한다. 제1 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 디바이스는 시각적 표시 없이 제1 아이템의 표현을 디스플레이한다. 예를 들어, 도 7b에 예시된 바와 같이, 인터넷 브라우저 사용자 인터페이스(5060)에서, (가상 3차원 램프 객체(5084)의 표현을 포함하는) 웹 객체(5068)는 가상 램프(8084)가 가상 3차원 객체인 것을 나타내는 시각적 표시(가상 객체 표시자(5080))와 함께 디스플레이되고 웹 객체(5074)는 웹 객체(5074)가 가상 3차원 객체에 대응하는 아이템을 포함하지 않기 때문에 시각적 객체 표시자 없이 디스플레이된다.In response to the request to display the first user interface, the device displays 1004 a first user interface (eg, an internet
제1 아이템의 표현을 디스플레이한 후, 디바이스는 제2 아이템(예컨대, 아이콘, 섬네일 이미지, 이미지, 이모지, 첨부물, 스티커, 앱 아이콘, 아바타 등)을 포함하는 제2 사용자 인터페이스(예컨대, 도 7m에 예시된 바와 같은 메시징 사용자 인터페이스(5008))를 디스플레이하라는 요청(예컨대, 도 7h 내지 도 7l과 관련하여 기술된 바와 같은 입력)을 수신한다(1006). 제2 아이템은 제1 아이템과 구별되고, 제2 사용자 인터페이스는 제1 사용자 인터페이스와 구별된다. 예를 들어, 일부 실시예들에서, 요청은 제2 아이템과 연관된 미리정의된 환경에서 제2 아이템의 표현을 디스플레이하기 위한 사용자 인터페이스를 열기 위한 다른 입력이다. 미리정의된 환경은 선택적으로, 제1 아이템을 보여주는 데 사용되는 애플리케이션(예컨대, 이메일 애플리케이션, 메시징 애플리케이션, 브라우저 애플리케이션, 워드 프로세싱 애플리케이션, 전자책 애플리케이션 등) 이외의 애플리케이션의 사용자 인터페이스, 또는 제1 아이템을 보여주는 데 사용되는 시스템 사용자 인터페이스(예컨대, 잠금 화면, 통지 인터페이스, 제안 인터페이스, 제어판 사용자 인터페이스, 홈 화면 사용자 인터페이스 등) 이외의 시스템 사용자 인터페이스이다.After displaying the expression of the first item, the device displays a second user interface (e.g., FIG. 7M) including a second item (e.g., icon, thumbnail image, image, emoji, attachment, sticker, app icon, avatar, etc.) A request to display a
제2 사용자 인터페이스를 디스플레이하라는 요청에 응답하여, 디바이스는 제2 아이템의 표현과 함께 제2 사용자 인터페이스(예컨대, 도 7m에 도시된 바와 같은 메시징 사용자 인터페이스(5008))를 디스플레이한다(1008). 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 디바이스는 제2 아이템이 제2 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시(예컨대, 제1 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 동일한 시각적 표시)와 함께 제2 아이템의 표현을 디스플레이한다. 제2 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 디바이스는 시각적 표시 없이 제2 아이템의 표현을 디스플레이한다. 예를 들어, 도 7m에 예시된 바와 같이, 메시징 사용자 인터페이스(5008)에서, 가상 3차원 의자 객체(5020)는 가상 의자(5020)가 가상 3차원 객체인 것을 나타내는 시각적 표시(가상 객체 표시자(5022))와 함께 디스플레이되고, 이모지(7020)는 이모지(7020)가 가상 3차원 객체에 대응하는 아이템을 포함하지 않기 때문에 시각적 객체 표시자 없이 디스플레이된다.In response to the request to display the second user interface, the device displays 1008 a second user interface (eg,
일부 실시예들에서, 제1 아이템이 제1 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시(예컨대, 가상 객체 표시자(5080))와 함께 제1 아이템(예컨대, 가상 램프(5084))의 표현을 디스플레이하는 것은, (예컨대, 배향 센서(예컨대, 디바이스(100)의 하나 이상의 가속도계(168))에 의해 검출되는 바와 같이) 제1 디바이스 배향으로부터 제2 디바이스 배향으로의 변경을 야기하는 디바이스의 이동을 검출하는 것에 응답하여, 제1 디바이스 배향으로부터 제2 디바이스 배향으로의 변경에 대응하는 제1 아이템의 이동(예컨대, 제1 아이템의 기울어짐 및/또는 제1 사용자 인터페이스에 대한 제1 아이템의 이동)을 디스플레이하는 것을 포함한다(1010). 예를 들어, 제1 디바이스 배향은 도 7f1에 예시된 바와 같은 디바이스(100)의 배향이고, 제2 디바이스 배향은 도 7g1에 예시된 바와 같은 디바이스(100)의 배향이다. 도 7f1에서 도 7g1로 예시된 이동에 응답하여, 제1 아이템(예컨대, 가상 램프(5084))이 (예컨대, 도 7f2에서 도 7g2로 예시된 바와 같이) 기울어진다. 일부 실시예들에서, 제2 객체가 가상 3차원 객체에 대응하는 경우, 제2 객체는 또한 (예컨대, 제2 객체가 또한 가상 3차원 객체에 대응한다는 것을 나타내기 위해) 전술된 방식으로 디바이스의 이동을 검출하는 것에 응답한다.In some embodiments, a first item (e.g., virtual lamp 5084) with a visual indication (e.g., virtual object indicator 5080) indicating that the first item corresponds to a first respective virtual three-dimensional object. Displaying a representation of the device causing a change from the first device orientation to the second device orientation (e.g., as detected by an orientation sensor (e.g., one or
제1 디바이스 배향으로부터 제2 디바이스들 배향으로의 변경에 대응하는 제1 아이템의 이동을 디스플레이하는 것은 가상 3차원 객체의 거동을 나타내는 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은 (예컨대, 사용자가 추가 입력을 제공할 필요 없이 가상 3차원 객체를 일정 배향들로부터 관찰하게 함으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying the movement of the first item corresponding to the change from the first device orientation to the second devices orientation provides the user with visual feedback indicative of the behavior of the virtual three-dimensional object. Providing improved visual feedback to the user improves the operability of the device (e.g., by allowing the user to observe a virtual three-dimensional object from certain orientations without having to provide additional input), which additionally allows the user It reduces device power usage and improves battery life by enabling faster and more efficient use.
일부 실시예들에서, 제1 아이템이 제1 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시와 함께 제1 아이템의 표현을 디스플레이하는 것은, 제1 아이템의 표현이 제1 사용자 인터페이스에 디스플레이되는 동안 제1 사용자 인터페이스를 스크롤하는 제1 접촉에 의한 제1 입력(예컨대, 제1 사용자 인터페이스 상에서 제1 방향으로의 스와이프 입력, 또는 스크롤 바의 단부 상의 스크롤 버튼에 대한 계속 터치하기 입력)을 검출하는 것에 응답하여, 디바이스가 제1 사용자 인터페이스의 스크롤에 따라 디스플레이 상에서 제1 아이템의 표현을 병진시키는 것(예컨대, 제1 사용자 인터페이스에 대해 이루어진 스크롤 양에 기초한 거리만큼 그리고 스크롤의 반대 방향으로 제1 아이템의 앵커 위치를 이동시키는 것(예컨대, 제1 사용자 인터페이스가 터치 감응형 표면을 가로질러 이동하는 접촉에 의해 상향으로 드래그될 때, 제1 아이템의 표현은 제1 사용자 인터페이스와 함께 디스플레이 상에서 상향으로 이동함)) 및 제1 사용자 인터페이스가 스크롤되는 방향에 따라 디바이스가 제1 사용자 인터페이스(또는 디스플레이)에 의해 한정되는 평면에 대해 제1 아이템의 표현을 회전시키는 것을 포함한다(1012). 예를 들어, 도 7c 및 도 7d에 예시된 바와 같이, 가상 램프(5084)의 표현이 인터넷 브라우저 사용자 인터페이스(5060)에 디스플레이되는 동안 인터넷 브라우저 사용자 인터페이스(5060)를 스크롤하는 접촉(7002)에 의한 입력을 검출하는 것에 응답하여, 가상 램프(5084)는 인터넷 브라우저 사용자 인터페이스(5060)의 스크롤에 따라 병진되고, 가상 램프(5084)는 접촉(7002)의 이동 경로의 방향에 따라 디스플레이(112)에 대해 회전된다. 일부 실시예들에서, 제1 사용자 인터페이스가 상향으로 드래그된다는 결정에 따라, 제1 아이템의 표현은 제1 사용자 인터페이스와 함께 상향으로 이동하고, 제1 사용자 인터페이스 상에서 보여진 바와 같은 제1 아이템의 관찰 시점은 사용자가 상이한 시야각(예컨대, 더 낮은 각도)으로부터 제1 아이템을 보고 있는 것처럼 변한다. 일부 실시예들에서, 제2 사용자 인터페이스가 상향으로 드래그된다는 결정에 따라, 제2 아이템의 표현은 제2 사용자 인터페이스와 함께 상향으로 이동하고, 제2 사용자 인터페이스 상에서 보여진 바와 같은 제2 아이템의 관찰 시점은 사용자가 상이한 시야각(예컨대, 더 낮은 각도)으로부터 제2 아이템을 보고 있는 것처럼 변한다.In some embodiments, displaying the representation of the first item with a visual indication indicating that the first item corresponds to each of the first virtual three-dimensional objects means that the representation of the first item is displayed in the first user interface. Detecting a first input (e.g., a swipe input in a first direction on the first user interface, or a continuous touch input for a scroll button on the end of the scroll bar) by a first contact scrolling the first user interface while In response to doing so, the device translating the representation of the first item on the display according to the scrolling of the first user interface (e.g., by a distance based on the amount of scroll made for the first user interface and in the direction opposite to the first user interface). Moving the anchor position of the item (e.g., when the first user interface is dragged upwards by a moving contact across the touch-sensitive surface, the representation of the first item is upwards on the display with the first user interface). Moving)) and rotating the representation of the first item with respect to a plane defined by the first user interface (or display) according to the direction in which the first user interface is scrolled (1012). For example, as illustrated in FIGS. 7C and 7D, by
이동이 제1 디바이스 배향으로부터 제2 디바이스 배향으로의 변경에 대응하는 아이템의 이동을 디스플레이하는 것은 디바이스 배향의 변경을 나타내는 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은 (예컨대, 사용자가 추가 입력을 제공할 필요 없이 가상 3차원 객체를 일정 배향들로부터 관찰하게 함으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying the movement of the item in which the movement corresponds to a change from the first device orientation to the second device orientation provides visual feedback to the user indicative of the change in device orientation. Providing improved visual feedback to the user improves the operability of the device (e.g., by allowing the user to observe a virtual three-dimensional object from certain orientations without having to provide additional input), which additionally allows the user It reduces device power usage and improves battery life by enabling faster and more efficient use.
일부 실시예들에서, 제1 사용자 인터페이스(예컨대, 도 7b에 예시된 바와 같은 인터넷 브라우저 사용자 인터페이스(5060)) 내에 시각적 표시(예컨대, 시각적 객체 표시자(5080))와 함께 제1 아이템(예컨대, 램프 객체(5084))의 표현을 디스플레이하는 동안, 디바이스는 제3 아이템의 표현을 디스플레이하는데, 제3 아이템의 표현은 제3 아이템이 가상 3차원 객체에 대응하지 않는다는 것을 나타내기 위해 시각적 표시 없이 디스플레이된다(예컨대, 제3 아이템은 증강 현실 환경에서 렌더링될 수 있는 어떠한 3차원 객체에도 대응하지 않는다)(1014). 예를 들어, 도 7b에 예시된 바와 같이, 인터넷 브라우저 사용자 인터페이스(5060)에서, 웹 객체들(5074, 5070, 5076)은 웹 객체들(5074, 5070, 5076)이 가상 3차원 객체들에 대응하지 않기 때문에 시각적 객체 표시자들 없이 디스플레이된다.In some embodiments, a first item (e.g., a first item (e.g., a visual object indicator 5080)) within a first user interface (e.g., internet
제1 사용자 인터페이스에, 제1 아이템이 가상 3차원 객체인 것을 나타내는 시각적 표시와 함께 제1 아이템을 그리고 시각적 표시 없이 디스플레이되는 제3 아이템을 디스플레이하는 것은, (예컨대, 사용자가 상호작용하고 있는 아이템이 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 제1 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying, in the first user interface, a first item with a visual indication indicating that the first item is a virtual three-dimensional object and a third item displayed without a visual indication (e.g., the item the user is interacting with is By helping the user to provide appropriate inputs depending on whether it is a virtual 3D object or not) increases the efficiency with which the user can perform operations using the first user interface, thereby improving the operability of the device, which In addition, it reduces the power usage of the device and improves battery life by enabling the user to use the device more quickly and efficiently.
일부 실시예들에서, 제2 사용자 인터페이스(예컨대, 도 7m에 예시된 바와 같은 메시징 사용자 인터페이스(5008)) 내에 시각적 표시(예컨대, 가상 객체 표시자(5022))와 함께 제2 아이템(예컨대, 가상 의자(5020))의 표현을 디스플레이하는 동안, 디바이스는 제4 아이템(예컨대, 이모지(7020))의 표현을 디스플레이하는데, 제4 아이템의 표현은 제4 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 것을 나타내기 위해 시각적 표시 없이 디스플레이된다(1016).In some embodiments, a second item (e.g., virtual object indicator 5022) with a visual indication (e.g., virtual object indicator 5022) within a second user interface (e.g.,
제2 사용자 인터페이스에, 제2 아이템이 가상 3차원 객체인 것을 나타내는 시각적 표시와 함께 제2 아이템을 그리고 시각적 표시 없이 디스플레이되는 제4 아이템을 디스플레이하는 것은, (예컨대, 사용자가 상호작용하고 있는 아이템이 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 제2 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying, in the second user interface, a second item with a visual indication indicating that the second item is a virtual three-dimensional object and a fourth item displayed without a visual indication (e.g., the item the user is interacting with is By helping the user provide appropriate inputs depending on whether it is a virtual 3D object or not), it increases the efficiency with which the user can perform operations using the second user interface, thereby improving the operability of the device, which In addition, it reduces the power usage of the device and improves battery life by enabling the user to use the device more quickly and efficiently.
일부 실시예들에서, 제1 사용자 인터페이스(예컨대, 도 7b에 예시된 바와 같은 인터넷 브라우저 사용자 인터페이스(5060))는 제1 애플리케이션(예컨대, 인터넷 브라우저 애플리케이션)에 대응하고, 제2 사용자 인터페이스(예컨대, 도 7m에 예시된 바와 같은 메시징 사용자 인터페이스(5008))는 제1 애플리케이션과 구별되는 제2 애플리케이션(예컨대, 메시징 애플리케이션)에 대응하고, 시각적 표시(예컨대, 가상 객체 표시자(5080))와 함께 디스플레이되는 제1 아이템(예컨대, 램프 객체(5084))의 표현 및 시각적 표시(예컨대, 가상 객체 표시자(5022))와 함께 디스플레이되는 제2 아이템(예컨대, 가상 의자(5020))의 표현은 미리정의된 세트의 시각적 특성들 및/또는 거동 특성들을 공유한다(예컨대, 동일한 표시자 아이콘을 사용하거나, 미리정의된 유형의 입력들에 의해 호출될 때 동일한 텍스처 또는 렌더링 스타일, 및/또는 거동을 갖는다)(1018). 예를 들어, 가상 객체 표시자(5080) 및 가상 객체 표시자(5022)에 대한 아이콘들은 동일한 심볼을 포함한다.In some embodiments, a first user interface (e.g., Internet
제1 애플리케이션의 제1 사용자 인터페이스 내에 시각적 표시와 함께 제1 아이템을 디스플레이하고 제2 애플리케이션의 제2 사용자 인터페이스 내에 시각적 표시와 함께 제2 아이템을 디스플레이하여 제1 아이템 및 제2 아이템의 시각적 표시들이 미리정의된 세트의 시각적 특성들 및/또는 거동 특성들을 공유하게 하는 것은 (예컨대, 사용자가 상호작용하고 있는 아이템이 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 제2 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying the first item with a visual indication in the first user interface of the first application and displaying the second item together with the visual indication in the second user interface of the second application to display the visual indications of the first item and the second item in advance. Allowing the user to share a defined set of visual characteristics and/or behavioral characteristics (e.g., by helping the user provide appropriate inputs depending on whether the item the user is interacting with is a virtual three-dimensional object) allows the user to second Increases the efficiency of performing operations using the user interface, thereby improving the operability of the device, which additionally reduces the power usage of the device by enabling the user to use the device more quickly and efficiently. Reduce and improve battery life.
일부 실시예들에서, 제1 사용자 인터페이스는 인터넷 브라우저 애플리케이션 사용자 인터페이스(예컨대, 도 7b에 예시된 바와 같은 인터넷 브라우저 사용자 인터페이스(5060))이고, 제1 아이템은 웹 페이지의 요소이다(예컨대, 제1 아이템은 임베디드 이미지, 하이퍼링크, 애플릿, 이모지, 임베디드 미디어 객체 등으로서 웹페이지 내에 표현된다)(1020). 예를 들어, 제1 아이템은 웹 객체(5068)의 가상 램프 객체(5084)이다.In some embodiments, the first user interface is an Internet browser application user interface (e.g., Internet
웹 페이지 요소가 가상 3차원 객체인 것을 나타내는 시각적 표시를 갖는 웹 페이지 요소를 디스플레이하는 것은 (예컨대, 사용자가 상호작용하고 있는 웹 페이지 요소가 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 인터넷 브라우저 애플리케이션을 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying a web page element with a visual indication that the web page element is a virtual three-dimensional object (e.g., allowing the user to provide appropriate inputs depending on whether or not the web page element the user is interacting with is a virtual three-dimensional object). As an aid) increases the efficiency with which the user can perform operations using the Internet browser application, thereby improving the operability of the device, which additionally enables the user to use the device more quickly and efficiently. This reduces device power usage and improves battery life.
일부 실시예들에서, 제1 사용자 인터페이스는 이메일 애플리케이션 사용자 인터페이스(예컨대, 도 7p에 예시된 바와 같은 이메일 사용자 인터페이스(7052))이고, 제1 아이템은 이메일의 첨부물(예컨대, 첨부물(7060))이다(1022).In some embodiments, the first user interface is an email application user interface (eg,
이메일 첨부물이 가상 3차원 객체인 것을 나타내는 시각적 표시를 갖는 이메일 첨부물을 디스플레이하는 것은 (예컨대, 사용자가 상호작용하고 있는 이메일 첨부물이 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 이메일 애플리케이션 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying an email attachment with a visual indication that the email attachment is a virtual 3D object (e.g., by helping the user provide appropriate inputs depending on whether the email attachment the user is interacting with is a virtual 3D object or not) It increases the efficiency with which the user can perform actions using the email application user interface, thereby improving the operability of the device, which additionally enables the user to use the device more quickly and efficiently, thereby It reduces the power usage of the battery and improves battery life.
일부 실시예들에서, 제1 사용자 인터페이스는 메시징 애플리케이션 사용자 인터페이스(예컨대, 도 7m에 예시된 바와 같은 메시징 사용자 인터페이스(5008))이고, 제1 아이템은 메시지 내의 첨부물 또는 요소(예컨대, 가상 의자(5020))이다(예컨대, 제1 아이템은 이미지, 하이퍼링크, 미니 프로그램, 이모지, 미디어 객체 등이다)(1024).In some embodiments, the first user interface is a messaging application user interface (e.g.,
메시지 첨부물 또는 요소가 가상 3차원 객체인 것을 나타내는 시각적 표시를 갖는 메시지 첨부물 또는 요소를 디스플레이하는 것은 (예컨대, 사용자가 상호작용하고 있는 메시지 첨부물 또는 요소가 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 메시징 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying a message attachment or element with a visual indication that the message attachment or element is a virtual three-dimensional object (e.g., depending on whether the message attachment or element the user is interacting with is a virtual three-dimensional object (By helping to provide users) increases the efficiency with which the user can perform operations using the messaging user interface, thereby improving the operability of the device, which in addition allows the user to use the device more quickly and efficiently. By making it possible to reduce the power usage of the device and improve battery life.
일부 실시예들에서, 제1 사용자 인터페이스는 파일 관리 애플리케이션 사용자 인터페이스(예컨대, 도 7o에 예시된 바와 같은 파일 관리 사용자 인터페이스(7036))이고, 제1 아이템은 파일 미리보기 객체(예컨대, 파일 정보 영역(7046) 내의 파일 미리보기 객체(7045))이다(1026).In some embodiments, the first user interface is a file management application user interface (e.g., file
파일 미리보기 객체가 가상 3차원 객체인 것을 나타내는 시각적 표시를 갖는 파일 미리보기 객체를 디스플레이하는 것은 (예컨대, 사용자가 상호작용하고 있는 파일 미리보기 객체가 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 파일 관리 애플리케이션 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying the file preview object with a visual indication that the file preview object is a virtual 3D object (e.g., depending on whether the file preview object the user is interacting with is a virtual 3D object, the user can input By helping to provide the user with the file management application user interface), thereby increasing the efficiency of the user's ability to perform operations, thereby improving the operability of the device, which additionally allows the user to access the device more quickly and efficiently. By making it possible to use, it reduces the device's power usage and improves battery life.
일부 실시예들에서, 제1 사용자 인터페이스는 지도 애플리케이션 사용자 인터페이스(예컨대, 지도 애플리케이션 사용자 인터페이스(7024))이고, 제1 아이템은 지도 내의 관심 지점(예컨대, 관심 지점 객체(7028))의 표현(예컨대, 지도 상의 일정 위치에 대응하는 특징부의 3차원 표현(예컨대, 지도 상의 일정 위치에 대응하는 지형 및/또는 구조물의 3차원 표현을 포함함) 또는 작동되는 경우에 지도의 3차원 표현의 디스플레이를 야기하는 제어부의 3차원 표현)이다(1028).In some embodiments, the first user interface is a map application user interface (e.g., map application user interface 7024), and the first item is a representation of a point of interest (e.g., point of interest object 7028) in the map (e.g. , Resulting in the display of a three-dimensional representation of a feature corresponding to a certain location on the map (e.g., including a three-dimensional representation of a terrain and/or structure corresponding to a certain location on the map) or a three-dimensional representation of the map when activated. It is a three-dimensional representation of the control unit) (1028).
지도 내의 관심 지점의 표현이 가상 3차원 객체인 것을 나타내는 시각적 표시를 갖는 관심 지점의 표현을 디스플레이하는 것은 (예컨대, 사용자가 상호작용하고 있는 관심 지점의 표현이 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 지도 애플리케이션 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying the representation of the point of interest with a visual indication indicating that the representation of the point of interest in the map is a virtual 3D object (e.g., depending on whether the representation of the point of interest the user is interacting with is a virtual 3D object By helping to provide appropriate inputs) the user can perform actions using the Maps application user interface, thereby increasing the efficiency of the device's operability, which in addition allows the user to make the device faster and more efficient. By making it possible to use it, it reduces the power usage of the device and improves battery life.
일부 실시예들에서, 제1 아이템이 각각의 가상 3차원 객체에 대응한다는 시각적 표시는 각각의 3차원 객체의 표현에 대한 입력을 요구하지 않으면서 발생하는 제1 아이템의 애니메이션(예컨대, 시간 경과에 따라 제1 아이템에 적용되는 연속적인 이동 또는 변하는 시각적 효과(예컨대, 반짝임(sparkling), 아른거림(shimmering) 등))을 포함한다(1030).In some embodiments, the visual indication that the first item corresponds to each virtual three-dimensional object is an animation of the first item (e.g., over time) that occurs without requiring input for the representation of each three-dimensional object Accordingly, a continuous moving or changing visual effect (eg, sparkling, shimmering, etc.) applied to the first item is included (1030).
각각의 3차원 객체의 표현에 대한 입력 없이 발생하는 제1 아이템의 애니메이션을 디스플레이하는 것은 (예컨대, 사용자가 제1 아이템의 3차원 양태들을 보는 데 필요한 입력들의 수를 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying an animation of the first item that occurs without input to the representation of each three-dimensional object (e.g., by reducing the number of inputs required for the user to view three-dimensional aspects of the first item) enables the operability of the device. Improves, and in addition, reduces the power usage of the device and improves battery life by enabling the user to use the device more quickly and efficiently.
일부 실시예들에서, 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시(예컨대, 가상 객체 표시자(5022))와 함께 제2 아이템(예컨대, 가상 의자(5020))의 표현을 디스플레이하는 동안, 디바이스는 제2 아이템의 표현에 대응하는 터치 감응형 표면 상의 위치에서 제2 접촉에 의한 제2 입력(예컨대, 도 5c 내지 도 5f와 관련하여 기술된 바와 같은 입력)을 검출하고, 제2 접촉에 의한 제2 입력을 검출하는 것에 응답하여 그리고 제2 접촉에 의한 제2 입력이 제1 (예컨대, AR 트리거) 기준들을 충족한다는 결정에 따라, 디바이스는, 제2 사용자 인터페이스(예컨대, 메시징 사용자 인터페이스(5008))의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야(5036)의 표현으로 대체하는 것(예컨대, 도 5f 내지 도 5i와 관련하여 기술됨) 및 제2 사용자 인터페이스를 디스플레이하는 것으로부터 제3 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 제2 가상 3차원 객체를 연속적으로 디스플레이하는 것을 포함하여, 제3 사용자 인터페이스 영역을 디스플레이 상에 디스플레이한다(1032). (예컨대, 방법(800)을 참조하여 본 명세서에서 더 상세히 설명되는 바와 같음). 일부 실시예들에서, 디바이스는 (예컨대, 동작(834)을 참조하여 본 명세서에서 더 상세히 설명되는 바와 같이) 하나 이상의 카메라들의 시야의 표현과 함께 제2 사용자 인터페이스의 일부분을 디스플레이하는 것으로부터 스위칭하는 동안 가상 객체의 표현이 연속적으로 디스플레이됨에 따라 애니메이션을 디스플레이한다.In some embodiments, representation of the second item (e.g., virtual chair 5020) with a visual indication (e.g., virtual object indicator 5022) indicating that the second item corresponds to each virtual three-dimensional object. During displaying, the device detects a second input by the second contact (e.g., an input as described in connection with FIGS. 5C-5F) at a location on the touch-sensitive surface corresponding to the representation of the second item, and , In response to detecting the second input by the second contact and upon determining that the second input by the second contact meets the first (eg, AR trigger) criteria, the device is configured with a second user interface (eg, , Replacing the display of at least a portion of the
제3 사용자 인터페이스 영역을 디스플레이할지 여부를 결정하기 위해 제1 기준들을 사용하면, 제2 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Using the first criteria to determine whether to display the third user interface area enables the performance of a number of different types of operations in response to a second input. Enabling the performance of multiple different types of actions in response to input increases the efficiency with which the user can perform these actions, thereby improving the operability of the device, which additionally allows the user to It reduces the device's power usage and improves battery life by making it possible to use it quickly and efficiently.
일부 실시예들에서, (예컨대, 방법(900)을 참조하여 본 명세서에서 더 상세히 기술되는 바와 같이) 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시(예컨대, 가상 객체 표시자(5022))와 함께 제2 아이템(예컨대, 가상 의자(5020))을 디스플레이하는 동안, 디바이스는 제2 아이템의 표현에 대응하는 터치 감응형 표면 상의 위치에서 제3 접촉에 의한 제3 입력(예컨대, 도 6e 내지 도 6i와 관련하여 기술된 바와 같은 입력)을 검출하고, 제3 접촉에 의한 제3 입력을 검출하는 것에 응답하여 그리고 제3 접촉에 의한 제3 입력이 제1 (예컨대, 스테이징 트리거) 기준들을 충족한다는 결정에 따라, 디바이스는 제2 사용자 인터페이스와 상이한 제4 사용자 인터페이스(예컨대, 방법(900)을 참조하여 더 상세히 기술되는 바와 같은 스테이징 사용자 인터페이스(6010)) 내에 제2 가상 3차원 객체를 디스플레이한다(1034). 일부 실시예들에서, 제4 사용자 인터페이스(예컨대, 도 6i에 예시된 바와 같은 스테이징 사용자 인터페이스(6010)) 내에 제2 가상 3차원 객체를 디스플레이하는 동안, 디바이스는 제4 입력을 검출하고, 제4 입력을 검출하는 것에 응답하여, 제4 입력이 제4 사용자 인터페이스에서 제2 가상 3차원 객체를 조작하라는 요청에 대응한다는 결정에 따라, 디바이스는 (예컨대, 도 6j 내지 도 6m과 관련하여 기술된 바와 같이, 그리고/또는 도 6n 내지 도 6p와 관련하여 기술된 바와 같이) 제4 입력에 기초하여 제4 사용자 인터페이스 내의 제2 가상 3차원 객체의 디스플레이 속성을 변경하고, 제4 입력이 증강 현실 환경에 제2 가상 객체를 디스플레이하라는 요청(예컨대, 제2 사용자 인터페이스 영역 내의 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서의 또는 그로부터의 탭 입력, 누르기 입력, 또는 계속 터치하기 또는 누르기 입력에 이은 드래그 입력)에 대응한다는 결정에 따라, 디바이스는 (예컨대, 도 6q 내지 도 6u와 관련하여 기술된 바와 같이) 하나 이상의 카메라들의 시야의 표현과 함께 제2 가상 3차원 객체를 디스플레이한다.In some embodiments, a visual indication (e.g., a virtual object indicator) indicating that the second item corresponds to each virtual three-dimensional object (e.g., as described in more detail herein with reference to method 900). (5022)), while displaying a second item (e.g., virtual chair 5020), the device is configured with a third input (e.g., a third touch) at a location on the touch-sensitive surface corresponding to the representation of the second item. , In response to detecting an input as described in connection with FIGS. 6E-6I ), and in response to detecting a third input by the third contact and by the third contact is a first (e.g., staging trigger) ) Upon determining that the criteria are met, the device is placed in a second virtual three-dimensional in a fourth user interface different from the second user interface (e.g., staging
제4 사용자 인터페이스(예컨대, 스테이징 사용자 인터페이스(6010)) 내에 제2 3차원 객체를 디스플레이하는 동안, 제4 입력에 응답하여, 디바이스는 제4 입력에 기초하여 제2 3차원 객체의 디스플레이 속성을 변경하거나 또는 디바이스의 하나 이상의 카메라들의 시야의 표현과 함께 제2 3차원 객체를 디스플레이한다. (예컨대, 제2 3차원 객체의 디스플레이 특성을 변경하거나 디바이스의 하나 이상의 카메라들의 시야의 표현과 함께 제2 3차원 객체를 디스플레이함으로써) 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.While displaying the second 3D object in the fourth user interface (eg, staging user interface 6010), in response to the fourth input, the device changes display properties of the second 3D object based on the fourth input. Or display a second three-dimensional object with a representation of the field of view of one or more cameras of the device. (E.g., by changing the display characteristic of the second 3D object or by displaying the second 3D object with a representation of the field of view of one or more cameras of the device) enabling the performance of a number of different types of actions in response to an input It increases the efficiency with which the user can perform these operations, thereby improving the operability of the device, which additionally reduces the power usage of the device by allowing the user to use the device more quickly and efficiently. And improve battery life.
도 10a 내지 도 10d에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 16000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 10a 내지 도 10d와 관련하여 전술된 방법(1000)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(1000)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스들, 사용자 인터페이스 영역들, 시야들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 16000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스들, 사용자 인터페이스 영역들, 시야들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 10A-10D are described is merely an example and is not intended to indicate that the described order is the only order in which the operations may be performed. One of skill in the art will recognize various ways of reordering the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g.,
도 11a 내지 도 11v는 객체 배치 기준들이 충족되는지 여부에 따라 상이한 시각적 속성들을 갖는 가상 객체를 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.11A-11V illustrate example user interfaces for displaying a virtual object having different visual properties depending on whether object placement criteria are met. User interfaces in these figures are in FIGS. 8A to 8E, 9A to 9D, 10A to 10D, 16A to 16G, 17A to 17D, 18A to 18I, 19A to 19H, and FIG. It is used to illustrate the processes described below, including the processes of FIGS. 20A-20F. For ease of description, some of the embodiments will be discussed with reference to operations performed on a device having a touch-
도 11a 내지 도 11e는 가상 객체를 스테이징 뷰에 디스플레이하기 위한 입력을 예시한다. 예를 들어, 입력은 3차원 객체의 2차원 표현(예컨대, 섬네일)이 사용자 인터페이스(예컨대, 이메일 사용자 인터페이스(7052), 파일 관리 사용자 인터페이스(7036), 지도 사용자 인터페이스(7022), 메시징 사용자 인터페이스(5008), 인터넷 브라우저 사용자 인터페이스(5060), 또는 제3자 애플리케이션 사용자 인터페이스) 내에 디스플레이되는 동안 검출된다.11A to 11E illustrate inputs for displaying a virtual object in a staging view. For example, the input is a two-dimensional representation of a three-dimensional object (e.g., a thumbnail) is a user interface (e.g.,
도 11a에서, 인터넷 브라우저 사용자 인터페이스(5060)는 3차원 가상 객체(11002)(의자)의 2차원 표현을 포함한다. 접촉(11004)에 의한 입력(예컨대, 탭 입력)이 가상 객체(11002)에 대응하는 위치에서 검출된다. 탭 입력에 응답하여, 인터넷 브라우저 사용자 인터페이스(5060)의 디스플레이는 스테이징 사용자 인터페이스(6010)의 디스플레이로 대체된다.In Fig. 11A, the Internet
도 11b 내지 도 11e는 인터넷 브라우저 사용자 인터페이스(5060)가 스테이징 사용자 인터페이스(6010)의 디스플레이로 대체됨에 따라 발생하는 전이를 예시한다. 일부 실시예들에서, 전이 동안, 가상 객체(10002)는 뷰로 점진적으로 페이드 인되고/되거나 스테이징 사용자 인터페이스(6010)의 제어부들(예컨대, 뒤로 가기 제어부(6016), 토글 제어부(6018), 및/또는 공유 제어부(6020))은 뷰로 점진적으로 페이드 인된다. 예를 들어, (예컨대, 가상 객체(11002)의 3차원 표현이 디스플레이 상에 렌더링되는 데 필요한 기간 동안 제어부들의 디스플레이를 지연시키기 위해) 가상 객체(11002)가 뷰로 페이드 인된 후에 스테이징 사용자 인터페이스(6010)의 제어부들이 뷰로 페이드 인된다. 일부 실시예들에서, 가상 객체(11002)의 "페이드 인"은 가상 객체(11002)의 저해상도, 2차원, 및/또는 홀로그래픽 형태를 디스플레이하는 것에 이어서 가상 객체(11002)의 최종 3차원 표현을 디스플레이하는 것을 포함한다. 도 11b 내지 도 11d는 가상 객체(11002)의 점진적인 페이드 인을 예시한다. 도 11d에는, 가상 객체(11002)의 그림자(11006)가 디스플레이되어 있다. 도 11d 및 도 11e는 제어부들(6016, 6018, 6020)의 점진적인 페이드 인을 예시한다.11B-11E illustrate the transition that occurs as the Internet
도 11f 및 도 11g는 가상 객체(11002)의 3차원 표현이 디바이스(100)의 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스에 디스플레이되게 하는 입력을 예시한다. 도 11f에서, 접촉(11008)에 의한 입력이 토글 제어부(6018)에 대응하는 위치에서 검출된다. 입력에 응답하여, 스테이징 사용자 인터페이스(6010)의 디스플레이는, 도 11g에 도시된 바와 같이, 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스의 디스플레이로 대체된다.11F and 11G illustrate an input that causes a three-dimensional representation of a
도 11g 및 도 11h에 예시된 바와 같이, 카메라(들)의 시야(6036)가 초기에 디스플레이되는 경우, 가상 객체의 반투명 표현이 (예컨대, 가상 객체에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 검출되지 않았을 때) 디스플레이될 수 있다.As illustrated in Figs. 6036) can be displayed.
도 11g 및 도 11h는 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스에 디스플레이되는 가상 객체(11002)의 반투명 표현을 예시한다. 가상 객체(11002)의 반투명 표현은 디스플레이(112)에 대해 고정된 위치에 디스플레이된다. 예를 들어, 도 11g로부터 도 11h로, 디바이스(100)가 (예컨대, 카메라(들)의 시야(6036) 내의 테이블(5004)의 변경된 위치에 의해 나타낸 바와 같이) 물리적 환경(5002)에 대해 이동됨에 따라, 가상 객체(11002)는 디스플레이(112)에 대해 고정된 위치에 유지된다.11G and 11H illustrate a translucent representation of a
일부 실시예들에서, 가상 객체에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 검출되었다는 결정에 따라, 가상 객체는 검출된 평면 상에 배치된다.In some embodiments, upon determining that a plane corresponding to the virtual object has been detected within the field of
도 11i에서, 가상 객체(11002)에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 검출되었고, 가상 객체(11002)는 검출된 평면 상에 배치된다. 디바이스는 (예컨대, 적어도 하나의 평면(예컨대, 바닥 표면(5038))이 카메라(들)의 시야(6036) 내에서 검출되었다는 것을 나타내기 위해) 11010으로 예시된 바와 같은 촉각적 출력을 생성하였다. 가상 객체(11002)가 카메라(들)의 시야(6036) 내에서 검출되는 평면에 대해 일정 위치에 배치되는 경우, 가상 객체(11002)는 하나 이상의 카메라들에 의해 캡처되는 물리적 환경(5002)에 대해 고정된 위치에 유지된다. 도 11i로부터 도 11j로, 디바이스(100)가 (예컨대, 카메라(들)의 디스플레이된 시야(6036) 내의 테이블(5004)의 변경된 위치에 의해 나타낸 바와 같이) 물리적 환경(5002)에 대해 이동됨에 따라, 가상 객체(11002)는 물리적 환경(5002)에 대해 고정된 위치에 유지된다.In FIG. 11I, a plane corresponding to the
일부 실시예들에서, 카메라(들)의 시야(6036)가 디스플레이되는 동안, 제어부들(예컨대, 뒤로 가기 제어부(6016), 토글 제어부(6018), 및/또는 공유 제어부(6020))은 (예컨대, 입력이 수신되지 않은 일정 기간이 경과하였다는 결정에 따라) 디스플레이되는 것이 중지된다. 도 11j 내지 도 11l에서, 제어부들(6016, 6018, 6020)은 (예컨대, 도 11k에 도시된 바와 같이) 점진적으로 페이드 아웃되어, (예컨대, 도 11l에 도시된 바와 같이) 카메라(들)의 시야(6036)가 디스플레이되는 디스플레이(112)의 부분을 증가시킨다.In some embodiments, while the field of
도 11m 내지 도 11s는 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스에 가상 객체(11002)가 디스플레이될 때 그를 조작하기 위한 입력을 예시한다.11M-11S illustrate inputs for manipulating a
도 11m 및 도 11n에서, 가상 객체(11002)의 시뮬레이션된 물리적 크기를 변경하기 위한 접촉들(11012, 11014)에 의한 입력(예컨대, 디핀치 제스처)이 검출된다. 입력의 검출에 응답하여, 제어부들(6016, 6018, 6020)이 재디스플레이된다. 접촉(11012)이 화살표(11016)로 표시된 경로를 따라서 이동하고 접촉(11014)이 화살표(11018)로 표시된 경로를 따라서 이동함에 따라, 가상 객체(11002)의 크기는 증가한다.In FIGS. 11M and 11N, an input (eg, a de-pinch gesture) by
도 11n 내지 도 11p에서, 가상 객체(11002)의 시뮬레이션된 물리적 크기를 변경하기 위한 접촉들(11012, 1104)에 의한 입력(예컨대, 핀치 제스처)이 검출된다. 접촉(11012)이 화살표(11020)로 표시된 경로를 따라서 이동하고 접촉(11014)이 화살표(11022)로 표시된 경로를 따라서 이동함에 따라, 가상 객체(11002)의 크기는 (도 11n과 도 11o, 및 도 11o와 도 11p에 도시된 바와 같이) 감소한다. 도 11o에 예시된 바와 같이, 가상 객체(11002)의 크기가 물리적 환경(5002)에 대한 그의 원래 크기(예컨대, 도 11i에 도시된 바와 같이, 물리적 환경(5002) 내의 검출된 평면 상에 초기에 배치된 경우의 가상 객체(11002)의 크기)로 조정될 때, (11024로 예시된 바와 같은) 촉각적 출력이 (예컨대, 가상 객체(11002)가 그의 원래 크기로 복귀되었다는 것을 나타내는 피드백을 제공하기 위해) 발생한다. 도 11q에서, 접촉들(11012, 11014)은 터치 스크린 디스플레이(112)로부터 리프트되었다.In FIGS. 11N-11P, an input (eg, a pinch gesture) by
도 11r에서, 가상 객체(11002)를 물리적 환경(5002)에 대한 그의 원래 크기로 복귀시키기 위한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력은, 접촉(11026)에 의해 나타낸 바와 같이, 가상 객체(11002)에 대응하는 위치에서 검출된다. 입력에 응답하여, 가상 객체(11002)는 도 11r에 예시된 감소된 크기로부터 도 11s에 나타난 바와 같은 가상 객체(11002)의 원래 크기로 조정된다. 도 11s에 예시된 바와 같이, 가상 객체(11002)의 크기가 물리적 환경(5002)에 대한 그의 원래 크기로 조정될 때, (11028로 예시된 바와 같은) 촉각적 출력이 (예컨대, 가상 객체(11002)가 그의 원래 크기로 복귀되었다는 것을 나타내는 피드백을 제공하기 위해) 발생한다.In FIG. 11R, an input (eg, double tap input) to return the
도 11t에서, 접촉(11030)에 의한 입력이 토글 제어부(6018)에 대응하는 위치에서 검출된다. 입력에 응답하여, 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스의 디스플레이는, 도 11u에 도시된 바와 같이, 스테이징 사용자 인터페이스(6010)로 대체된다.In FIG. 11T, an input by a
도 11u에서, 접촉(11032)에 의한 입력이 뒤로 가기 제어부(6016)에 대응하는 위치에서 검출된다. 입력에 응답하여, 스테이징 사용자 인터페이스(6010)의 디스플레이는, 도 11v에 도시된 바와 같이, 인터넷 브라우저 사용자 인터페이스(5060)로 대체된다.In Fig. 11U, an input by
도 12a 내지 도 12l은 디바이스의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.12A-12L illustrate exemplary user interfaces for displaying a calibration user interface object that is dynamically animated according to movement of one or more cameras of the device. User interfaces in these figures are in FIGS. 8A to 8E, 9A to 9D, 10A to 10D, 16A to 16G, 17A to 17D, 18A to 18I, 19A to 19H, and FIG. It is used to illustrate the processes described below, including the processes of FIGS. 20A-20F. For ease of description, some of the embodiments will be discussed with reference to operations performed on a device having a touch-
일부 실시예들에 따르면, 하나 이상의 카메라들의 시야를 포함하는 사용자 인터페이스에 가상 객체를 디스플레이하라는 요청이 수신되지만 추가 데이터가 디바이스의 캘리브레이션에 필요한 경우, 캘리브레이션 사용자 인터페이스 객체가 디스플레이된다.According to some embodiments, if a request is received to display a virtual object on a user interface that includes a field of view of one or more cameras, but additional data is required for calibration of the device, the calibration user interface object is displayed.
도 12a는 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 가상 객체(11002)를 디스플레이할 것을 요청하는 입력을 예시한다. 접촉(12002)에 의한 입력이 토글 제어부(6018)에 대응하는 위치에서 검출된다. 입력에 응답하여, 스테이징 사용자 인터페이스(6010)의 디스플레이는, 도 12b에 도시된 바와 같이, 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스의 디스플레이로 대체된다. 가상 객체(11002)의 반투명 표현이 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스에 디스플레이된다. (예컨대, 가상 객체(11002)에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 검출되지 않았기 때문에) 캘리브레이션이 필요한 동안, 카메라(들)의 시야(6036)는 (예컨대, 후술되는 바와 같이, 프롬프트(prompt)들 및/또는 캘리브레이션 객체의 거동을 강조하기 위해) 블러링된다.12A illustrates an input requesting to display a
도 12b 내지 도 12d는 디바이스를 이동시킬 것을 사용자에게 촉구하는 (예컨대, 캘리브레이션이 필요하다는 결정에 따라 디스플레이되는) 애니메이션화된 이미지 및 텍스트를 예시한다. 애니메이션화된 이미지는 (예컨대, 가상 객체(11002)에 대응하는 평면을 검출하기 위해 디바이스(100)가 평면에 대해 이동해야 하는 것을 나타내기 위해) 디바이스(100)의 표현(12004), 디바이스(100)의 좌우 이동이 필요한 것을 나타내는 화살표들(12006, 12008), 평면의 표현(12010)을 포함한다. 텍스트 프롬프트(12012)는 캘리브레이션에 필요한 디바이스(100)의 이동에 관한 정보를 제공한다. 도 12b와 도 12c, 및 도 12c와 도 12d에서, 디바이스(100)의 표현(12004) 및 화살표(12006)는 캘리브레이션에 필요한 디바이스(100)의 이동의 표시를 제공하기 위해 평면의 표현(12010)에 대해 조정된다. 도 12c로부터 도 12d로, 디바이스(100)는 (예컨대, 카메라(들)의 시야(6036) 내의 테이블(5004)의 변경된 위치에 의해 나타낸 바와 같이) 물리적 환경(5002)에 대해 이동된다. 디바이스(100)의 이동의 검출의 결과로서, 캘리브레이션 사용자 인터페이스 객체(12014)(입방체의 윤곽)가, 도 12e-1에 나타낸 바와 같이, 디스플레이된다.12B-12D illustrate animated images and text (eg, displayed in response to a determination that calibration is necessary) prompting the user to move the device. The animated image is a
도 12e-1 내지 도 12i-1은, 도 12e-2 내지 도 12i-2에 각각 예시된 바와 같은, 물리적 환경(5002)에 대한 디바이스(100)의 이동에 대응하는 캘리브레이션 사용자 인터페이스 객체(12014)의 거동을 예시한다. (예컨대, 캘리브레이션에 도움이 되는 이동에 관한 피드백을 사용자에게 제공하기 위해) 디바이스(100)의 이동(예컨대, 측방향 이동)에 응답하여 캘리브레이션 사용자 인터페이스 객체(12014)는 애니메이션화된다(예컨대, 입방체의 윤곽은 회전한다). 도 12e-1에서, 캘리브레이션 사용자 인터페이스 객체(12014)는 디바이스(100)의 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스에서 제1 회전 각을 갖는 것으로 도시되어 있다. 도 12e-2에서, 디바이스(100)는 물리적 환경(5002)에 대한 제1 위치에서, 사용자의 손(5006)에 의해 보유되는 것으로 도시되어 있다. 도 12e-2로부터 도 12f-2로, 디바이스(100)는 물리적 환경(5002)에 대해 측방향으로 (우측으로) 이동하였다. 이동의 결과로서, 도 12f-1에 도시된 바와 같이, 디바이스(100)에 의해 디스플레이되는 바와 같은 카메라(들)의 시야(6036)는 업데이트되고 캘리브레이션 사용자 인터페이스 객체(12014)는 (도 12e-1에서의 그의 위치에 대해) 회전하였다. 도 12f-2로부터 도 12g-2로, 디바이스(100)는 물리적 환경(5002)에 대해 그의 우향 이동을 계속하였다. 이동의 결과로서, 도 12g-1에 도시된 바와 같이, 디바이스(100)에 의해 디스플레이되는 바와 같은 카메라(들)의 시야(6036)는 다시 업데이트되고 캘리브레이션 사용자 인터페이스 객체(12014)는 추가로 회전된다. 도 12g-2로부터 도 12h-2로, 디바이스(100)는 물리적 환경(5002)에 대해 상향으로 이동하였다. 이동의 결과로서, 디바이스(100)에 의해 디스플레이되는 바와 같은 카메라(들)의 시야(6036)는 업데이트된다. 도 12g-1에서 도 12h-1로 예시된 바와 같이, 캘리브레이션 사용자 인터페이스 객체(12014)는 (예컨대, 디바이스의 수직 이동이 캘리브레이션에 기여하지 않고 있다는 표시를 사용자에게 제공하기 위해) 도 12g-2에서 도 12h-2로 예시된 디바이스의 상향 이동에 응답하여 회전하지 않는다. 도 12h-2로부터 도 12i-2로, 디바이스(100)는 물리적 환경(5002)에 대해 추가로 우향으로 이동하였다. 이동의 결과로서, 도 12i-1에 도시된 바와 같이, 디바이스(100)에 의해 디스플레이되는 바와 같은 카메라(들)의 시야(6036)는 다시 업데이트되고 캘리브레이션 사용자 인터페이스 객체(12014)는 회전된다.12E-1 to 12I-1 are calibration user interface objects 12014 corresponding to movement of the
도 12j에서, (예컨대, 도 12e 내지 도 12i에 예시된 바와 같은) 디바이스(100)의 이동은 요구되는 캘리브레이션을 만족하였다(예컨대, 그리고 가상 객체(11002)에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 검출되었다). 가상 객체(11002)는 검출된 평면 상에 배치되고, 카메라(들)의 시야(6036)는 블러링되는 것이 중지된다. 촉각적 출력 생성기들은 평면(예컨대, 바닥 표면(5038))이 카메라(들)의 시야(6036) 내에서 검출되었다는 것을 나타내기 위해 (12016으로 예시된 바와 같은) 촉각적 출력을 출력한다. 바닥 표면(5038)은 검출되었던 평면의 표시를 제공하도록 강조된다.In FIG. 12J, the movement of the device 100 (e.g., as illustrated in FIGS. 12E to 12I) satisfies the required calibration (e.g., and the plane corresponding to the
가상 객체(11002)가 카메라(들)의 시야(6036) 내에서 검출되는 평면에 대해 일정 위치에 배치된 경우, 가상 객체(11002)는 하나 이상의 카메라들에 의해 캡처되는 물리적 환경(5002)에 대해 고정된 위치에 유지된다. 디바이스(100)가 (도 12k-2에서 도 12l-2로 도시된 바와 같이) 물리적 환경(5002)에 대해 이동됨에 따라, 가상 객체(11002)는 (도 12k-1에서 도 12l-1로 도시된 바와 같이) 물리적 환경(5002)에 대해 고정된 위치에 유지된다.When the
도 13a 내지 도 13m은 축을 중심으로 하는 가상 객체의 회전을 제약하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.13A-13M illustrate exemplary user interfaces for restricting rotation of a virtual object about an axis. User interfaces in these figures are in FIGS. 8A to 8E, 9A to 9D, 10A to 10D, 16A to 16G, 17A to 17D, 18A to 18I, 19A to 19H, and FIG. It is used to illustrate the processes described below, including the processes of FIGS. 20A-20F. For ease of description, some of the embodiments will be discussed with reference to operations performed on a device having a touch-
도 13a에서, 가상 객체(11002)가 스테이징 사용자 인터페이스(6010) 내에 도시된다. x-축, y-축, 및 z-축이 가상 객체(11002)에 대해 도시되어 있다.In FIG. 13A, a
도 13b 및 도 13c는 도 13a에 나타낸 y-축을 중심으로 가상 객체(11002)를 회전시키기 위한 입력을 예시한다. 도 13b에서, 접촉(13002)에 의한 입력이 가상 객체(11002)에 대응하는 위치에서 검출된다. 입력은 화살표(13004)로 표시된 경로를 따라서 거리(d1)만큼 이동한다. 입력이 경로를 따라서 이동함에 따라, 가상 객체(11002)는 도 13b에 나타낸 위치로 y-축을 중심으로 (예컨대, 35도만큼) 회전한다. 스테이징 사용자 인터페이스(6010)에서, 가상 객체(11002)에 대응하는 그림자(13006)가 디스플레이된다. 도 13b로부터 도 13c로, 그림자(13006)는 가상 객체(11002)의 변경된 위치에 따라 변한다.13B and 13C illustrate an input for rotating the
접촉(13002)이 터치 스크린(112)으로부터 리프트오프된 후, 가상 객체(11002)는 (예컨대, 가상 객체(11002)가 물리적 객체와 유사하게 거동하는 인상을 제공하기 위해, 접촉(13002)의 이동에 의해 부여되는 "운동량"에 따라) 도 13c 및 도 13d에 도시된 바와 같이, 계속 회전한다.After the
도 13e 및 도 13f는 도 13a에 나타낸 x-축을 중심으로 가상 객체(11002)를 회전시키기 위한 입력을 예시한다. 도 13e에서, 접촉(13008)에 의한 입력이 가상 객체(11002)에 대응하는 위치에서 검출된다. 입력은 화살표(13010)로 표시된 경로를 따라서 거리(d1)만큼 이동한다. 입력이 경로를 따라서 이동함에 따라, 가상 객체(11002)는 도 13f에 나타낸 위치로 x-축을 중심으로 (예컨대, 5도만큼) 회전한다. 접촉(13002)이 도 13b 및 도 13c로부터 이동한 동일한 거리(d1)만큼 접촉(13008)이 도 13e 및 도 13f에서 x-축을 따라서 이동하더라도, 도 13e 및 도 13f에서 x-축을 중심으로 하는 가상 객체(11002)의 회전 각은 도 13b 및 도 13c에서 y-축을 중심으로 하는 가상 객체(11002)의 회전 각보다 작다.13E and 13F illustrate an input for rotating the
도 13f 및 도 13g는 도 13a에 나타낸 x-축을 중심으로 가상 객체(11002)를 회전시키기 위한 추가 입력을 예시한다. 도 13f에서, 접촉(13008)은 그의 이동을 계속하여, 화살표(13012)로 표시된 경로를 따라서 (거리(d1)보다 큰) 거리(d2)만큼 이동한다. 입력이 경로를 따라서 이동함에 따라, 가상 객체(11002)는 도 13g에 나타낸 위치로 x-축을 중심으로 (25도만큼) 회전한다. 도 13e 내지 도 13g에 예시된 바와 같이, 접촉(13008)의 거리(d1+ d2)만큼의 이동은 가상 객체(11002)가 x-축을 중심으로 30도로 회전하게 하는 반면, 도 13b 및 도 13c에서, 접촉(13004)의 거리(d1)만큼의 이동은 가상 객체(11002)가 y-축을 중심으로 35도로 회전하게 한다.13F and 13G illustrate additional inputs for rotating the
접촉(13008)이 터치 스크린(112)으로부터 리프트오프된 후, 가상 객체(11002)는, 도 13g 및 도 13h에 도시된 바와 같이, (예컨대, 접촉(13008)의 이동이 회전 한계를 넘어서 도달한 가상 객체(11002)의 회전량을 야기한 것을 나타내기 위해) 접촉(13008)의 이동에 의해 야기되는 회전 방향과 반대인 방향으로 회전한다.After the
도 13g 내지 도 13i에서, (예컨대, 객체를 아래에서 볼 때 가상 객체(11002)가 그림자를 드리우지 않기 때문에) 그림자(13006)는 도시되지 않는다.13G-13I, the
도 13i에서, 가상 객체(11002)를 (예컨대, 도 13a에 나타낸 바와 같이) 그가 원래 디스플레이되었던 시점으로 복귀시키기 위한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력은, 접촉(13014)에 의해 나타낸 바와 같이, 가상 객체(11002)에 대응하는 위치에서 발생한다. 입력에 응답하여, 가상 객체(11002)는 (도 13e로부터 도 13h로 발생한 회전을 역전시키기 위해) y-축을 중심으로 그리고 (도 13b로부터 도 13d로 발생한 회전을 역전시키기 위해) x-축을 중심으로 회전된다. 도 13j에서, 접촉(13016)에 의한 입력은 가상 객체(11002)가 원래 디스플레이된 시점으로 복귀하게 하였다.In Fig. 13I, an input (e.g., double tap input) for returning the
일부 실시예들에서, 스테이징 사용자 인터페이스(6010)가 디스플레이되는 동안 가상 객체(11002)의 크기를 조정하기 위한 입력이 수신된다. 예를 들어, 가상 객체(11002)의 크기를 조정하기 위한 입력은 가상 객체(11002)의 크기를 증가시키기 위한 (예컨대, 도 6n 및 도 6o와 관련하여 기술된 바와 같은) 디핀치 제스처 또는 가상 객체(11002)의 크기를 감소시키기 위한 핀치 제스처이다.In some embodiments, an input is received to resize
도 13j에서, 스테이징 사용자 인터페이스(6010)의 디스플레이를 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스의 디스플레이로 대체하기 위한 입력이 수신된다. 접촉(13016)에 의한 입력이 토글 제어부(6018)에 대응하는 위치에서 검출된다. 입력에 응답하여, 스테이징 사용자 인터페이스(6010)의 디스플레이는, 도 13k에 도시된 바와 같이, 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스로 대체된다.In FIG. 13J, input is received to replace the display of the
도 13k에서, 가상 객체(11002)는 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스에 디스플레이된다. 가상 객체(11002)에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 검출되었다는 것을 나타내기 위해 (13018로 예시된 바와 같은) 촉각적 출력이 발생한다. 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스 내의 가상 객체(11002)의 회전 각은 스테이징 사용자 인터페이스(6010) 내의 가상 객체(11002)의 회전 각에 대응한다.In FIG. 13K, a
카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스가 디스플레이될 때, 측방향 이동을 포함하는 입력은, 도 13l 및 도 13m에 예시된 바와 같이, 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스 내의 가상 객체(11002)의 측방향 이동을 야기한다. 도 13l에서, 가상 객체(11002)에 대응하는 위치에서 접촉(13020)이 검출되고, 접촉은 화살표(13022)로 표시된 경로를 따라서 이동한다. 접촉이 이동함에 따라, 가상 객체(11002)는 (도 13l에 도시된 바와 같은) 제1 위치로부터 (도 13m에 도시된 바와 같은) 제2 위치로의 접촉(13020)의 이동에 대응하는 경로를 따라서 이동한다.When the user interface comprising the field of
일부 실시예들에서, 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스가 디스플레이될 때 제공되는 입력은, 도 5aj 내지 도 5am과 관련하여 기술된 바와 같이, 제1 평면(예컨대, 바닥 평면(5038))으로부터 제2 평면(예컨대, 테이블 표면 평면(5046))으로의 가상 객체(11002)의 이동을 야기할 수 있다.In some embodiments, the input provided when the user interface including the field of
도 14a 내지 도 14z는 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 14aa 내지 도 14ad, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.14A-14Z illustrate exemplary user interfaces for increasing the second threshold size of movement required for the second object manipulation behavior, upon determining that the first threshold size of movement is satisfied for the first object manipulation behavior. . User interfaces in these drawings are in FIGS. 8A to 8E, 9A to 9D, 10A to 10D, 14A to 14A, 16A to 16G, 17A to 17D, 18A to 18I, and 19A. 19H, and 20A-20F are used to illustrate the processes described below. For ease of description, some of the embodiments will be discussed with reference to operations performed on a device having a touch-
도 14a에서, 가상 객체(11002)는 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스에 디스플레이된다. 도 14b 내지 도 14z에 관하여 추가로 기술되는 바와 같이, 병진 이동 측정기(14002), 축척조정 이동 측정기(14004), 및 회전 이동 측정기(14006)는 객체 조작 거동들(예컨대, 병진 동작, 축척조정 동작, 및/또는 회전 동작)에 대응하는 이동의 각각의 크기들을 나타내는 데 사용된다. 병진 이동 측정기(14002)는 터치 스크린 디스플레이(112) 상의 한 세트의 접촉들의 측방향(예컨대, 좌향 또는 우향) 이동의 크기를 나타낸다. 축척조정 이동 측정기(14004)는 터치 스크린 디스플레이(112) 상의 한 세트의 접촉들 중 각각의 접촉들 사이의 증가 또는 감소하는 거리의 크기(예컨대, 핀치 또는 디핀치 제스처의 크기)를 나타낸다. 회전 이동 측정기(14006)는 터치 스크린 디스플레이(112) 상의 한 세트의 접촉들의 회전 이동의 크기를 나타낸다.In FIG. 14A, a
도 14b 내지 도 14e는 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스에서 가상 객체(11002)를 회전시키기 위한 입력을 예시한다. 가상 객체(11002)를 회전시키기 위한 입력은, 제1 접촉(14008)이 화살표(14010)로 표시된 경로를 따라서 시계 방향으로 회전 이동하고 제2 접촉(14012)이 화살표(14014)로 표시된 경로를 따라서 시계 방향으로 회전 이동하는 제스처를 포함한다. 도 14b에서, 터치 스크린(112)과의 접촉들(14008, 14012)이 검출된다. 도 14c에서, 접촉(14008)은 화살표(14010)로 표시된 경로를 따라서 이동하였고, 접촉(14012)은 화살표(14012)로 표시된 경로를 따라서 이동하였다. 도 14c에서 접촉(14008) 및 접촉(14012)의 회전 이동의 크기가 임계치(RT)에 도달하지 않았기 때문에, 가상 객체(11002)는 입력에 응답하여 아직 회전하지 않았다. 도 14d에서, 접촉(14008) 및 접촉(14012)의 회전 이동의 크기가 임계치(RT)를 초과하여 증가하였고, 가상 객체(11002)는 입력에 응답하여 (도 14b에 도시된 가상 객체(11002)의 위치에 대해) 회전하였다. 회전 이동의 크기가 임계치(RT)를 초과하여 증가할 때, 가상 객체(11002)를 축척조정하기 위한 이동의 요구되는 크기는 증가되고(예컨대, 축척조정 이동 측정기(14004)에 나타낸 바와 같이, 축척조정 임계치(ST)는 ST로부터 ST'으로 증가하였음), 가상 객체(11002)를 병진시키기 위한 이동의 요구되는 크기는 증가된다(예컨대, 병진 이동 측정기(14002)에 나타낸 바와 같이, 병진 임계치(TT)는 TT로부터 TT'으로 증가하였음). 도 14e에서, 접촉(14008) 및 접촉(14012)은 각각 화살표들(14010, 14014)로 표시된 회전 경로들을 따라 계속 이동하였고, 가상 객체(11002)는 입력에 응답하여 계속 회전하였다. 도 14f에서, 접촉들(14008, 14012)은 터치 스크린(112)으로부터 리프트오프되었다.14B-14E illustrate an input for rotating a
도 14g 내지 도 14i는 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에서 가상 객체(11002)를 축척조정하기(예컨대, 그의 크기를 증가시키기) 위한 입력을 예시한다. 가상 객체(11002)의 크기를 증가시키기 위한 입력은, (예컨대, 접촉(14016)과 접촉(14020) 사이의 거리가 증가하도록) 제1 접촉(14016)이 화살표(14018)로 표시된 경로를 따라서 이동하고 제2 접촉(14020)이 화살표(14022)로 표시된 경로를 따라서 이동하는 제스처를 포함한다. 도 14g에서, 터치 스크린(112)과의 접촉들(14016, 14020)이 검출된다. 도 14h에서, 접촉(14016)은 화살표(14018)로 표시된 경로를 따라서 이동하였고, 접촉(14020)은 화살표(14022)로 표시된 경로를 따라서 이동하였다. 도 14h에서 접촉(14020)으로부터 멀어지는 접촉(14016)의 이동의 크기가 임계치(ST)에 도달하지 않았기 때문에, 가상 객체(11002)의 크기는 입력에 응답하여 아직 조정되지 않았다. 도 14i에서, 접촉(14016) 및 접촉(14020)의 축척조정 이동의 크기가 임계치(ST)를 초과하여 증가하였고, 가상 객체(11002)의 크기는 입력에 응답하여 (도 14h에 도시된 가상 객체(11002)의 크기에 비해) 증가되었다. 축척조정 이동의 크기가 임계치(ST)를 초과하여 증가할 때, 가상 객체(11002)를 회전시키기 위한 이동의 요구되는 크기는 증가되고(예컨대, 회전 이동 측정기(14006)에 나타낸 바와 같이, 회전 임계치(RT)는 RT로부터 RT'으로 증가하였음), 가상 객체(11002)를 병진시키기 위한 이동의 요구되는 크기는 증가된다(예컨대, 병진 이동 측정기(14002)에 나타낸 바와 같이, 병진 임계치(TT)는 TT로부터 TT'으로 증가하였음). 도 14j에서, 접촉들(14016, 14020)은 터치 스크린(112)으로부터 리프트오프되었다.14G-14I illustrate an input to scale (eg, increase its size) a
도 14k 내지 도 14m은 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스에서 가상 객체(11002)를 병진시키기 위한 (예컨대, 가상 객체(11002)를 좌측으로 이동시키기 위한) 입력을 예시한다. 가상 객체(11002)를 이동시키기 위한 입력은, (예컨대, 접촉(14024) 및 접촉(14028) 둘 모두가 좌향으로 이동하도록) 제1 접촉(14024)이 화살표(14026)로 표시된 경로를 따라서 이동하고 제2 접촉(14028)이 화살표(1430)로 표시된 경로를 따라서 이동하는 제스처를 포함한다. 도 14k에서, 터치 스크린(112)과의 접촉들(14024, 14028)이 검출된다. 도 14l에서, 접촉(14024)은 화살표(14026)로 표시된 경로를 따라서 이동하였고, 접촉(14028)은 화살표(14030)로 표시된 경로를 따라서 이동하였다. 도 14l에서 접촉들(14024, 14028)의 좌향하는 이동의 크기가 임계치(TT)에 도달하지 않았기 때문에, 가상 객체(11002)는 입력에 응답하여 아직 이동되지 않았다. 도 14m에서, 접촉(14024) 및 접촉(14028)의 좌향하는 이동의 크기는 임계치(TT)를 초과하여 증가하였고, 가상 객체(11002)는 접촉들(14024, 14028)의 이동 방향으로 이동되었다. 병진 이동의 크기가 임계치(TT)를 초과하여 증가할 때, 가상 객체(11002)를 축척조정하기 위한 이동의 요구되는 크기는 증가되고(예컨대, 축척조정 이동 측정기(14004)에 나타낸 바와 같이, 축척조정 임계치(ST)는 ST로부터 ST'으로 증가하였음), 가상 객체(11002)를 회전시키기 위한 이동의 요구되는 크기는 증가된다(예컨대, 회전 이동 측정기(14006)에 나타낸 바와 같이, 회전 임계치(RT)는 RT로부터 RT'으로 증가하였음). 도 14n에서, 접촉들(14024, 14028)은 터치 스크린(112)으로부터 리프트오프되었다.14K-14M illustrate an input (eg, to move the
도 14o 내지 도 14z는 가상 객체(11002)를 병진시키기(예컨대, 가상 객체(11002)를 우측으로 이동시키기), 가상 객체(11002)를 축척조정하기(예컨대, 가상 객체(11002)의 크기를 증가시키기), 그리고 가상 객체(11002)를 회전시키기 위한 제스처들을 포함하는 입력을 예시한다. 도 14o에서, 터치 스크린(112)과의 접촉들(14032, 14036)이 검출된다. 도 14o 및 도 14p에서, 접촉(14032)은 화살표(14034)로 표시된 경로를 따라서 이동하고, 접촉(14036)은 화살표(14038)로 표시된 경로를 따라서 이동한다. 접촉들(14032, 14036)의 우향하는 이동의 크기는 임계치(TT)를 초과하여 증가하였고, 가상 객체(11002)는 접촉들(14032, 14036)의 이동 방향으로 이동되었다. 접촉들(14032, 14036)의 이동에 의한 임계치(TT)의 만족의 결과로서, 가상 객체(11002)를 축척조정하기 위한 이동의 요구되는 크기는 ST'으로 증가되고, 가상 객체(11002)를 회전시키기 위한 이동의 요구되는 크기는 RT'으로 증가된다. (도 14q의 병진 이동 측정기(14002)에 도시된 높은 워터 마크(water mark)(14043)로 표시된 바와 같이) 임계치(TT)가 만족된 후, 접촉(14032, 14036)의 임의의 측방향 이동은 가상 객체(11002)의 측방향 이동을 야기할 것이다.14O to 14Z illustrate translating the virtual object 11002 (e.g., moving the
도 14q 및 도 14r에서, 접촉(14032)은 화살표(14040)로 표시된 경로를 따라서 이동하고, 접촉(14036)은 화살표(14042)로 표시된 경로를 따라서 이동한다. 도 14r에서, 접촉(14036)으로부터 멀어지는 접촉(14032)의 이동의 크기는 원래 축척조정 임계치(ST)를 초과하였지만, 증가된 축척조정 임계치(ST')에 도달하지 않았다. 증가된 축척조정 이동 임계치(ST')가 적용되는 경우, 접촉(14036)으로부터 멀어지는 접촉(14032)의 이동의 크기가 증가된 축척조정 이동 임계치(ST')를 초과하여 증가할 때까지 축척조정이 발생하지 않아서, 가상 객체(11002)의 크기는 도 14q로부터 도 14r로 변화되지 않았다. 도 14r 및 도 14s에서, 접촉(14032)과 접촉(14046) 사이의 거리는, 접촉(14032)이 화살표(14044)로 표시된 경로를 따라서 이동하고 접촉(14036)이 화살표(14046)로 표시된 경로를 따라서 이동함에 따라 계속 증가한다. 도 14s에서, 접촉(14036)으로부터 멀어지는 접촉(14032)의 이동의 크기는 증가된 축척조정 임계치(ST')를 초과하였고, 가상 객체(11002)의 크기는 증가하였다. (도 14t의 축척조정 이동 측정기(14004)에 도시된 높은 워터 마크(14047)로 표시된 바와 같이) 임계치(ST')가 만족된 후, 접촉(14032, 14036)의 임의의 축척조정 이동은 가상 객체(11002)의 축척조정을 야기할 것이다.14Q and 14R, contact 14032 moves along the path indicated by
도 14t 및 도 14u에서, 접촉(14032)은 화살표(14048)로 표시된 경로를 따라서 이동하고, 접촉(14036)은 화살표(14050)로 표시된 경로를 따라서 이동한다. (병진 이동 측정기(14002)에 도시된 높은 워터 마크(14043)로 표시된 바와 같이) 임계치(TT)가 만족되었기 때문에, 가상 객체(11002)는 접촉들(14032, 14036)의 측방향 이동의 방향으로 자유롭게 이동한다.In FIGS. 14T and 14U, contact 14032 moves along the path indicated by arrow 14048, and contact 14036 moves along the path indicated by
도 14v 및 도 14w에서, 접촉(14032)은 화살표(14052)로 표시된 경로를 따라서 이동하고, 접촉(14036)은 화살표(14054)로 표시된 경로를 따라서 이동한다. 접촉들(14032, 14036)의 이동은 병진 이동(접촉들(14032, 14036)의 좌향하는 이동) 및 축척조정 이동(접촉(14032)과 접촉(14036) 사이의 거리를 감소시키는 이동(예컨대, 핀치 제스처))을 포함한다. (병진 이동 측정기(14002)에 도시된 높은 워터 마크(14043)로 표시된 바와 같이) 병진 임계치(TT)가 만족되었기 때문에, 가상 객체(11002)는 접촉들(14032, 14036)의 측방향 이동의 방향으로 자유롭게 이동하고, (축척조정 이동 측정기(14004)에 도시된 높은 워터 마크(14047)로 표시된 바와 같이) 증가된 축척조정 임계치(ST')가 만족되었기 때문에, 가상 객체(11002)는 접촉(14036)을 향한 접촉(14032)의 이동에 응답하여 자유롭게 축척조정된다. 도 14v로부터 도 14w로, 가상 객체(11002)의 크기는 감소되었고, 가상 객체(11002)는 화살표(14052)로 표시된 경로를 따른 접촉(14032)의 이동 및 화살표(14054)로 표시된 경로를 따른 접촉(14036)의 이동에 응답하여 좌향으로 이동하였다.14V and 14W, contact 14032 moves along the path indicated by
도 14x 내지 도 14z에서, 접촉(14032)은 화살표(14056)로 표시된 경로를 따라 반시계 방향으로 회전 이동하고, 접촉(14036)은 화살표(14058)로 표시된 경로를 따라 반시계 방향으로 회전 이동한다. 도 14y에서, 접촉(14032) 및 접촉(14036)의 회전 이동의 크기는 원래 축척조정 임계치(RT)를 초과하였지만, 증가된 축척조정 임계치(RT')에 도달하지 않았다. 증가된 축척조정 이동 임계치(RT')가 적용되는 경우, 접촉들(14032, 14036)의 회전 이동의 크기가 증가된 회전 이동 임계치(RT')를 초과하여 증가할 때까지 가상 객체(11002)의 회전이 발생하지 않아서, 가상 객체(11002)는 도 14x로부터 도 14y로 회전하지 않았다. 도 14y 및 도 14z에서, 접촉(14032, 14046)은 접촉(14032)이 화살표(14060)로 표시된 경로를 따라서 이동하고 접촉(14036)이 화살표(14062)로 표시된 경로를 따라서 이동함에 따라 반시계 방향으로 계속 회전 이동한다. 도 14z에서, 접촉(14032) 및 접촉(14036)의 회전 이동의 크기는 증가된 축척조정 임계치(RT')를 초과하였고, 가상 객체(11002)는 입력에 응답하여 회전하였다.In FIGS. 14X to 14Z, the
도 14aa 내지 도 14ad는 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키기 위한 동작들을 예시하는 흐름도들이다. 도 14aa 내지 도 14ad와 관련하여 기술된 동작들은 디스플레이 생성 컴포넌트(예컨대, 디스플레이, 프로젝터, 헤드 업 디스플레이 등) 및 터치 감응형 표면(예컨대, 터치 감응형 표면, 또는 디스플레이 생성 컴포넌트 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 도 14aa 내지 도 14ad와 관련하여 기술된 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.14aa to 14ad are flowcharts illustrating operations for increasing the second threshold size of movement required for the second object manipulation behavior, according to a determination that the first threshold size of movement is satisfied for the first object manipulation behavior. The operations described in connection with FIGS. 14AA-14A may include a display generating component (e.g., display, projector, head-up display, etc.) and a touch-sensitive surface (e.g., a touch-sensitive surface, or both a display-generating component and a touch-sensitive surface). It is performed on an electronic device (eg, device 300 of FIG. 3, or portable
동작(14066)에서, 하나 이상의 접촉들의 이동을 포함하는 사용자 입력의 제1 부분이 검출된다. 동작(14068)에서, (예컨대, 가상 객체(11002)에 대응하는 위치에서의) 하나 이상의 접촉들의 이동이 객체 회전 임계치(예컨대, 회전 이동 측정기(14006)에 의해 표시되는 회전 임계치(RT))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 (예컨대, 도 14b 내지 도 14d와 관련하여 기술된 바와 같이) 객체 회전 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14070)으로 진행한다. 하나 이상의 접촉들의 이동이 객체 회전 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14074)으로 진행한다.In operation 14066, a first portion of the user input including movement of one or more contacts is detected. In
동작(14070)에서, 객체(예컨대, 가상 객체(11002))는 (예컨대, 도 14b 내지 도 14d와 관련하여 기술된 바와 같이) 사용자 입력의 제1 부분에 기초하여 회전된다. 동작(14072)에서, 객체 병진 임계치는 (예컨대, 도 14d와 관련하여 기술된 바와 같이, TT로부터 TT'으로) 증가되고, 객체 축척조정 임계치는 (예컨대, 도 14d와 관련하여 기술된 바와 같이, ST로부터 ST'으로) 증가된다. 흐름은, A에서 표시된 바와 같이, 동작(14072)으로부터 도 14ab의 동작(14086)으로 진행한다.In
동작(14074)에서, (예컨대, 가상 객체(11002)에 대응하는 위치에서의) 하나 이상의 접촉들의 이동이 객체 병진 임계치(예컨대, 병진 이동 측정기(14002)에 의해 표시되는 병진 임계치(TT))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 (예컨대, 도 14k 내지 도 14m과 관련하여 기술된 바와 같이) 객체 병진 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14076)으로 진행한다. 하나 이상의 접촉들의 이동이 객체 병진 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14080)으로 진행한다.In
동작(14076)에서, 객체(예컨대, 가상 객체(11002))는 (예컨대, 도 14k 내지 도 14m과 관련하여 기술된 바와 같이) 사용자 입력의 제1 부분에 기초하여 병진된다. 동작(14078)에서, 객체 회전 임계치는 (예컨대, 도 14m과 관련하여 기술된 바와 같이, RT로부터 RT'으로) 증가되고, 객체 축척조정 임계치는 (예컨대, 도 14m과 관련하여 기술된 바와 같이, ST로부터 ST'으로) 증가된다. 흐름은, B에서 표시된 바와 같이, 동작(14078)으로부터 도 14ac의 동작(14100)으로 진행한다.In
동작(14080)에서, (예컨대, 가상 객체(11002)에 대응하는 위치에서의) 하나 이상의 접촉들의 이동이 객체 축척조정 임계치(예컨대, 축척조정 이동 측정기(14004)에 의해 표시되는 축척조정 임계치(ST))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 (예컨대, 도 14g 내지 도 14i와 관련하여 기술된 바와 같이) 객체 축척조정 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14082)으로 진행한다. 하나 이상의 접촉들의 이동이 객체 축척조정 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14085)으로 진행한다.In
동작(14082)에서, 객체(예컨대, 가상 객체(11002))는 (예컨대, 도 14g 내지 도 14i와 관련하여 기술된 바와 같이) 사용자 입력의 제1 부분에 기초하여 축척조정된다. 동작(14084)에서, 객체 회전 임계치는 (예컨대, 도 14i와 관련하여 기술된 바와 같이, RT로부터 RT'으로) 증가되고, 객체 병진 임계치는 (예컨대, 도 14i와 관련하여 기술된 바와 같이, TT로부터 TT'으로) 증가된다. 흐름은, C에서 표시된 바와 같이, 동작(14084)으로부터 도 14ad의 동작(14114)으로 진행한다.In
동작(14085)에서, 하나 이상의 접촉들의 이동을 포함하는 사용자 입력의 추가 부분이 검출된다. 흐름은 동작(14086)으로부터 동작(14066)으로 진행한다.In
도 14ab에서, 동작(14086)에서, 하나 이상의 접촉들의 이동을 포함하는 사용자 입력의 추가 부분이 검출된다. 흐름은 동작(14086)으로부터 동작(14088)으로 진행한다.In FIG. 14A, in
동작(14088)에서, 하나 이상의 접촉들의 이동이 회전 이동인지 여부가 결정된다. 하나 이상의 접촉들의 이동이 회전 이동이라는 결정에 따라, 흐름은 동작(14090)으로 진행한다. 하나 이상의 접촉들의 이동이 회전 이동이 아니라는 결정에 따라, 흐름은 동작(14092)으로 진행한다.In
동작(14090)에서, 객체(예컨대, 가상 객체(11002))는 (예컨대, 도 14d 및 도 14e와 관련하여 기술된 바와 같이) 사용자 입력의 추가 부분에 기초하여 회전된다. 회전 임계치가 이전에 충족되었기 때문에, 객체는 추가 회전 입력에 따라 자유롭게 회전한다.In
동작(14092)에서, 하나 이상의 접촉들의 이동이 증가된 객체 병진 임계치(예컨대, 도 14d의 병진 이동 측정기(14002)에 의해 표시된 병진 임계치(TT'))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 증가된 객체 병진 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14094)으로 진행한다. 하나 이상의 접촉들의 이동이 증가된 객체 병진 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14096)으로 진행한다.In
동작(14094)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 병진된다.In
동작(14096)에서, 하나 이상의 접촉들의 이동이 증가된 객체 축척조정 임계치(예컨대, 도 14d의 축척조정 이동 측정기(14004)에 의해 표시된 축척조정 임계치(ST'))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 증가된 객체 축척조정 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14098)으로 진행한다. 하나 이상의 접촉들의 이동이 증가된 객체 축척조정 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14086)으로 복귀한다.In
동작(14098)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 축척조정된다.In
도 14ac에서, 동작(14100)에서, 하나 이상의 접촉들의 이동을 포함하는 사용자 입력의 추가 부분이 검출된다. 흐름은 동작(14100)으로부터 동작(14102)으로 진행한다.In Figure 14ac, in
동작(14102)에서, 하나 이상의 접촉들의 이동이 병진 이동인지 여부가 결정된다. 하나 이상의 접촉들의 이동이 병진 이동이라는 결정에 따라, 흐름은 동작(140104)으로 진행한다. 하나 이상의 접촉들의 이동이 병진 이동이 아니라는 결정에 따라, 흐름은 동작(14106)으로 진행한다.In
동작(14104)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 병진된다. 병진 임계치가 이전에 충족되었기 때문에, 객체는 추가 병진 입력에 따라 자유롭게 병진한다.In
동작(14106)에서, 하나 이상의 접촉들의 이동이 증가된 객체 회전 임계치(예컨대, 도 14m의 회전 이동 측정기(14006)에 의해 표시된 회전 임계치(RT'))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 증가된 객체 회전 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14108)으로 진행한다. 하나 이상의 접촉들의 이동이 증가된 객체 회전 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14110)으로 진행한다.In
동작(14108)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 회전된다.In
동작(14110)에서, 하나 이상의 접촉들의 이동이 증가된 객체 축척조정 임계치(예컨대, 도 14m의 축척조정 이동 측정기(14004)에 의해 표시된 축척조정 임계치(ST'))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 증가된 객체 축척조정 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14112)으로 진행한다. 하나 이상의 접촉들의 이동이 증가된 객체 축척조정 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14100)으로 복귀한다.In
동작(14112)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 축척조정된다.In
도 14ad에서, 동작(14114)에서, 하나 이상의 접촉들의 이동을 포함하는 사용자 입력의 추가 부분이 검출된다. 흐름은 동작(14114)으로부터 동작(14116)으로 진행한다.In FIG. 14A, in
동작(14116)에서, 하나 이상의 접촉들의 이동이 축척조정 이동인지 여부가 결정된다. 하나 이상의 접촉들의 이동이 축척조정 이동이라는 결정에 따라, 흐름은 동작(140118)으로 진행한다. 하나 이상의 접촉들의 이동이 축척조정 이동이 아니라는 결정에 따라, 흐름은 동작(14120)으로 진행한다.In
동작(14118)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 축척조정된다. 축척조정 임계치가 이전에 충족되었기 때문에, 객체는 추가 축척조정 입력에 따라 자유롭게 축척조정한다.In
동작(14120)에서, 하나 이상의 접촉들의 이동이 증가된 객체 회전 임계치(예컨대, 도 14i의 회전 이동 측정기(14006)에 의해 표시된 회전 임계치(RT'))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 증가된 객체 회전 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14122)으로 진행한다. 하나 이상의 접촉들의 이동이 증가된 객체 회전 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14124)으로 진행한다.In
동작(14122)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 회전된다.In
동작(14124)에서, 하나 이상의 접촉들의 이동이 증가된 객체 병진 임계치(예컨대, 도 14i의 병진 이동 측정기(14002)에 의해 표시된 병진 임계치(TT'))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 증가된 객체 병진 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14126)으로 진행한다. 하나 이상의 접촉들의 이동이 증가된 객체 병진 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14114)으로 진행한다.In
도 15a 내지 도 15ai는 디바이스의 이동이 가상 객체로 하여금 하나 이상의 디바이스 카메라들의 디스플레이된 시야의 외측으로 이동하게 한다는 결정에 따라 오디오 경보를 생성하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.15A-15Ai illustrate example user interfaces for generating an audio alert upon determining that movement of the device causes the virtual object to move outside the displayed field of view of one or more device cameras. User interfaces in these figures are in FIGS. 8A to 8E, 9A to 9D, 10A to 10D, 16A to 16G, 17A to 17D, 18A to 18I, 19A to 19H, and FIG. It is used to illustrate the processes described below, including the processes of FIGS. 20A-20F. For ease of description, some of the embodiments will be discussed with reference to operations performed on a device having a touch-
도 15a 내지 도 15ai는 액세스가능성 특징부가 활성일 때 발생하는 사용자 인터페이스들 및 디바이스 동작들을 예시한다. 일부 실시예들에서, 액세스가능성 특징부는 (예컨대, 전술된 입력 제스처들을 제공하는 제한된 능력을 갖는 사용자들에 대한 디바이스 특징부들에 액세스하는 것의 용이성을 증가시키기 위해) 감소된 수의 입력들 또는 대안적인 입력들이 디바이스 특징부들에 액세스하는 데 사용가능하게 하는 모드를 포함한다. 예를 들어, 액세스가능성 모드는, 제1 입력 제스처(예컨대, 스와이프 입력)가 이용가능한 디바이스 동작들을 통해 전진 또는 역진하는 데 사용되고 선택 입력(예컨대, 더블 탭 입력)이 현재 표시된 동작을 수행하는 데 사용되는 스위치 제어 모드이다. 사용자가 디바이스와 상호작용함에 따라, (예컨대, 동작이 수행되었다는 것을 나타내는 피드백을 사용자에게 제공하기, 디바이스의 하나 이상의 카메라들의 시야 또는 스테이징 사용자 인터페이스에 대한 가상 객체(11002)의 현재 디스플레이 상태를 나타내기 등을 위해) 오디오 경보들이 생성된다.15A-15Ai illustrate user interfaces and device operations that occur when the accessibility feature is active. In some embodiments, the accessibility feature is an alternative or reduced number of inputs (eg, to increase the ease of accessing device features for users with limited ability to provide the aforementioned input gestures). Includes a mode that enables inputs to be used to access device features. For example, the accessibility mode allows a first input gesture (e.g., swipe input) to be used to advance or reverse through available device actions and a selection input (e.g., double tap input) to perform the currently displayed action. This is the switch control mode used. As the user interacts with the device, (e.g., providing feedback to the user indicating that an action has been performed, indicating the field of view of one or more cameras of the device or the current display state of the
도 15a에서, 메시징 사용자 인터페이스(5008)는 3차원 가상 객체(11002)의 2차원 표현을 포함한다. 선택 커서(15001)가 (예컨대, 현재 선택된 동작이 가상 객체(11002)에 대해 수행될 동작이라는 것을 나타내기 위해) 3차원 가상 객체(11002)를 둘러싸서 도시되어 있다. 접촉(15002)에 의한 입력(예컨대, 더블 탭 입력)이 (예컨대, 스테이징 사용자 인터페이스(6010) 내에 가상 객체(11002)의 3차원 표현을 디스플레이하는) 현재 표시된 동작을 수행하기 위해 검출된다. 입력에 응답하여, 메시징 사용자 인터페이스(5060)의 디스플레이는, 도 15b에 도시된 바와 같이, 스테이징 사용자 인터페이스(6010)의 디스플레이로 대체된다.In FIG. 15A, a
도 15b에서, 가상 객체(11002)가 스테이징 사용자 인터페이스(6010) 내에 디스플레이된다. 디바이스의 상태를 나타내기 위해, 15008로 표시된 바와 같이, 오디오 경보가 (예컨대, 디바이스 스피커(111)에 의해) 생성된다. 예를 들어, 오디오 경보(15008)는 15010으로 나타낸 바와 같은 알림, "chair is now shown in the staging view(의자가 이제 스테이징 뷰 내에 보입니다)"를 포함한다.In FIG. 15B, a
도 15b에서, 선택 커서(15001)가 (예컨대, 현재 선택된 동작이 공유 동작이라는 것을 나타내기 위해) 공유 제어부(6020)를 둘러싸서 도시되어 있다. 접촉(15004)에 의한 입력(예컨대, 화살표(15006)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In FIG. 15B, a
도 15c에서, 틸트 업(tilt up) 제어부(15012)가 (예컨대, 현재 선택된 동작이 디스플레이된 가상 객체(11002)를 상향으로 기울이기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보가 디바이스의 상태를 나타내기 위해, 15014로 표시된 바와 같이, 생성된다. 예를 들어, 오디오 경보는 15016으로 나타낸 바와 같은 알림, "selected: tilt up button(선택된 것: 틸트 업 버튼)"을 포함한다. 접촉(15018)에 의한 입력(예컨대, 화살표(15020)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In FIG. 15C, a tilt up
도 15d에서, 틸트 다운(tilt down) 제어부(15022)가 (예컨대, 현재 선택된 동작이 디스플레이된 가상 객체(11002)를 하향으로 기울이기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보가 디바이스의 상태를 나타내기 위해, 15024로 표시된 바와 같이, 생성된다. 예를 들어, 오디오 경보는 15026으로 나타낸 바와 같은 알림, "selected: tilt down button(선택된 것: 틸트 다운 버튼)"을 포함한다. 접촉(15028)에 의한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력에 응답하여, 선택된 동작이 수행된다(예컨대, 가상 객체(11002)는 스테이징 뷰 내에서 하향으로 기울어진다).In FIG. 15D, a tilt down
도 15e에서, 가상 객체(11002)는 스테이징 뷰 내에서 하향으로 기울어져 있다. 오디오 경보가 디바이스의 상태를 나타내기 위해, 15030으로 표시된 바와 같이, 생성된다. 예를 들어, 오디오 경보는 15032로 나타낸 바와 같은 알림, "Chair tilted five degrees down. Chair is now tilted 10 degrees toward the screen(의자가 아래로 5도 기울었습니다. 의자가 이제 스크린을 향해 10도 기울어집니다)"를 포함한다.In Fig. 15E, the
도 15f에서, 접촉(15034)에 의한 입력(예컨대, 화살표(15036)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In FIG. 15F, input by contact 15034 (eg, a swipe to the right along the path indicated by arrow 15036) is detected. In response to the input, the selected action advances to the next action.
도 15g에서, 시계방향 회전 제어부(15038)가 (예컨대, 현재 선택된 동작이 디스플레이된 가상 객체(11002)를 시계방향으로 회전시키기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15040)는 15042로 나타낸 바와 같은 알림, "selected: rotate clockwise button(선택된 것: 시계방향 회전 버튼)"을 포함한다. 접촉(15044)에 의한 입력(예컨대, 화살표(15046)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In Fig. 15G, the clockwise
도 15h에서, 반시계방향 회전 제어부(15048)가 (예컨대, 현재 선택된 동작이 디스플레이된 가상 객체(11002)를 반시계방향으로 회전시키기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15050)는 15052로 나타낸 바와 같은 알림, "selected: rotate counterclockwise button(선택된 것: 반시계방향 회전 버튼)"을 포함한다. 접촉(15054)에 의한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력에 응답하여, 선택된 동작이 수행된다(예컨대, 가상 객체(11002)는, 도 15i에 나타낸 바와 같이, 스테이징 뷰 내에서 반시계방향으로 회전된다).In Fig. 15H, the counterclockwise
도 15i에서, 오디오 경보(15056)는 15058로 나타낸 바와 같은 알림, "Chair rotated by five degrees counterclockwise. Chair is now rotated five degrees away the screen(의자가 반시계방향으로 5도 회전하였습니다. 의자가 이제 스크린에서 멀어지게 5도 회전됩니다)"를 포함한다.In Fig. 15I, the
도 15j에서, 접촉(15060)에 의한 입력(예컨대, 화살표(15062)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In FIG. 15J, input by contact 15060 (eg, a swipe to the right along the path indicated by arrow 15062) is detected. In response to the input, the selected action advances to the next action.
도 15k에서, 줌 제어부(15064)가 (예컨대, 현재 선택된 동작이 디스플레이된 가상 객체(11002)를 줌하기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15066)는 15068로 나타낸 바와 같은 알림, "scale: adjustable(축척: 조정가능)"을 포함한다. 알림 내의 제어부 이름과 함께 키워드 "adjustable(조정가능)"은 스와이프 입력(예컨대, 수직 스와이프 입력)이 제어부를 동작시키는 데 사용가능하다는 것을 나타낸다. 예를 들어, 상향 스와이프 입력은 접촉(5070)에 의해 그가 화살표(5072)로 표시된 경로를 따라서 상향으로 이동함에 따라 제공된다. 입력에 응답하여, 줌 동작이 수행된다(예컨대, 도 15k 및 도 15l에 나타낸 바와 같이, 가상 객체(11002)의 크기가 증가된다).In FIG. 15K, the
도 15l에서, 오디오 경보(15074)는 15076으로 나타낸 바와 같은 알림, "Chair is now adjusted to 150 percent of original size(의자가 이제 원래 크기의 150 퍼센트로 조정됩니다)"를 포함한다. 가상 객체(11002)의 크기를 감소시키기 위한 입력(예컨대, 하향 스와이프 입력)은 화살표(5078)로 표시된 경로를 따라서 하향으로 이동하는 접촉(5078)에 의해 제공된다. 입력에 응답하여, 줌 동작이 수행된다(예컨대, 도 15l 및 도 15m에 나타낸 바와 같이, 가상 객체(11002)의 크기가 감소된다).In Fig. 15L,
도 15m에서, 오디오 경보(15082)는 15084로 나타낸 바와 같은 알림, "Chair is now adjusted to 100 percent of original size(의자가 이제 원래 크기의 100 퍼센트로 조정됩니다)"를 포함한다. 가상 객체(11002)의 크기가 스테이징 뷰(6010) 내에서 그의 원래 디스플레이된 크기로 조정되기 때문에, (15086으로 예시된 바와 같은) 촉각적 출력이 (예컨대, 가상 객체(11002)가 그의 원래 크기로 복귀되었다는 것을 나타내는 피드백을 제공하기 위해) 발생한다.In FIG. 15M, the
도 15n에서, 접촉(15088)에 의한 입력(예컨대, 화살표(15090)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In FIG. 15N, input by contact 15088 (eg, a swipe to the right along the path indicated by arrow 15090) is detected. In response to the input, the selected action advances to the next action.
도 15o에서, 선택 커서(15001)가 (예컨대, 현재 선택된 동작이 이전 사용자 인터페이스로 복귀하기 위한 동작이라는 것을 나타내기 위해) 뒤로 가기 제어부(6016)를 둘러싸서 도시되어 있다. 오디오 경보(15092)는 15094로 나타낸 바와 같은 알림, "selected: return button(선택된 것: 복귀 버튼)"을 포함한다. 접촉(15096)에 의한 입력(예컨대, 화살표(15098)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In FIG. 15O, a
도 15p에서, 선택 커서(15001)가 (예컨대, 현재 선택된 동작이 스테이징 사용자 인터페이스(6010)의 디스플레이와 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스의 디스플레이 사이에서 토글링하기 위한 동작이라는 것을 나타내기 위해) 토글 제어부(6018)를 둘러싸서 도시되어 있다. 오디오 경보(15098)는 50100으로 나타낸 바와 같은 알림, "selected: world view/staging view toggle(선택된 것: 실세계 뷰/스테이징 뷰 토글)"을 포함한다. 접촉(15102)에 의한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력에 응답하여, 스테이징 사용자 인터페이스(6010)의 디스플레이는 (도 15q에 나타낸 바와 같이) 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스의 디스플레이로 대체된다.In Figure 15P, the
도 15q 내지 도 15t는 (예컨대, 가상 객체(11002)에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 아직 검출되지 않았기 때문에) 카메라(들)의 시야(6036)가 디스플레이된 경우에 발생하는 캘리브레이션 시퀀스를 예시한다. 캘리브레이션 시퀀스 동안, 가상 객체(11002)의 반투명 표현이 디스플레이되고, 카메라(들)의 시야(6036)가 블러링되고, (디바이스(100)의 표현(12004) 및 평면의 표현(12010)을 포함하는) 애니메이션화된 이미지를 포함하는 프롬프트가 디스플레이되어 사용자에게 디바이스를 이동시킬 것을 촉구한다. 도 15q에서, 오디오 경보(15102)는 50104로 나타낸 바와 같은 알림, "move the device to detect a plane(평면을 검출하기 위해 디바이스를 이동시키세요)"를 포함한다. 도 15q로부터 도 15r로, 디바이스(100)는 (예컨대, 카메라(들)의 시야(6036) 내의 테이블(5004)의 변경된 위치에 의해 나타낸 바와 같이) 물리적 환경(5002)에 대해 이동된다. 디바이스(100)의 이동의 검출의 결과로서, 캘리브레이션 사용자 인터페이스 객체(12014)가, 도 15s에 나타낸 바와 같이, 디스플레이된다.15Q-15T show when the field of
도 15s에서, 오디오 경보(15106)는 50108로 나타낸 바와 같은 알림, "move the device to detect a plane"를 포함한다. 도 15s 및 도 15t에서, 캘리브레이션 사용자 인터페이스 객체(12014)는 디바이스(100)가 (예컨대, 카메라(들)의 시야(6036) 내의 테이블(5004)의 변경된 위치에 의해 나타낸 바와 같이) 물리적 환경(5002)에 대해 이동됨에 따라 회전한다. 도 15t에서, 카메라(들)의 시야(6036) 내에서 검출될 가상 객체(11002)에 대응하는 평면에 대해 충분한 모션이 발생했고, 오디오 경보(15110)는 50112로 나타낸 바와 같은 알림, "plane detected(평면이 검출)"을 포함한다. 도 15u 및 도 15v에서, 가상 객체(11002)의 반투명도가 감소되고, 가상 객체(11002)가 검출된 평면 상에 배치된다.In FIG. 15S, the
도 15v에서, 오디오 경보(15114)는 50116으로 나타낸 바와 같은 알림, "chair is now projected in the world, 100 percent visible, occupying 10 percent of the screen(의자가 이제 실세계에 투영되는데, 100 퍼센트 가시적이고, 스크린의 10 퍼센트를 차지합니다)"를 포함한다. 촉각적 출력 생성기들은 가상 객체(11002)가 평면 상에 배치되었다는 것을 나타내기 위해 (15118로 예시된 바와 같은) 촉각적 출력을 출력한다. 가상 객체(11002)는 물리적 환경(5002)에 대해 고정된 위치에 디스플레이된다.In FIG. 15V, the
도 15v 및 도 15w에서, 디바이스(100)는 가상 객체(11002)가 카메라(들)의 시야(6036) 내에서 더 이상 가시적이지 않도록 (예컨대, 카메라(들)의 시야(6036) 내의 테이블(5004)의 변경된 위치에 의해 나타낸 바와 같이) 물리적 환경(5002)에 대해 이동된다. 카메라(들)의 시야(6036) 밖으로의 가상 객체(11002)의 이동의 결과로서, 오디오 경보(15122)는 50124로 나타낸 바와 같은 알림, "chair is not on the screen(의자가 스크린 상에 있지 않습니다)"를 포함한다.In FIGS. 15V and 15W, the
도 15w 및 도 15x에서, 디바이스(100)는 가상 객체(11002)가 도 15x의 카메라(들)의 시야(6036) 내에서 다시 가시적이도록 물리적 환경(5002)에 대해 이동하였다. 카메라(들)의 시야(6036) 내로의 가상 객체(11002)의 이동의 결과로서, 50120으로 나타낸 바와 같은 알림, "chair is now projected in the world, 100 percent visible, occupying 10 percent of the screen"을 포함하는 오디오 경보(15118)가 생성된다.In FIGS. 15W and 15X, the
도 15x 및 도 15y에서, 디바이스(100)는 (예컨대, 디바이스(100)가 카메라(들)의 시야(6036)에 투영되는 바와 같이 가상 객체(11002)에 "더 가깝"도록, 그리고 가상 객체(11002)가 도 15y의 카메라(들)의 시야(6036) 내에서 부분적으로 가시적이도록) 물리적 환경(5002)에 대해 이동하였다. 부분적으로 카메라(들)의 시야(6036) 밖으로의 가상 객체(11002)의 이동의 결과로서, 오디오 경보(15126)는 50128로 나타낸 바와 같은 알림, "chair is 90 percent visible, occupying 20 percent of the screen(의자가 90 퍼센트 가시적이고, 스크린의 20 퍼센트를 차지합니다)"를 포함한다.In FIGS. 15X and 15Y, the
일부 실시예들에서, 가상 객체(11002)에 대응하는 위치에 제공된 입력은 가상 객체(11002)에 관한 구두 정보를 포함하는 오디오 메시지가 제공되게 한다. 대조적으로, 입력이 가상 객체(11002) 및 제어부들로부터 멀리 있는 위치에 제공될 때, 가상 객체(11002)에 관한 구두 정보를 포함하는 오디오 메시지는 제공되지 않는다. 도 15z에서, 사용자 인터페이스 내의 제어부 또는 가상 객체(11002)의 위치에 대응하지 않는 위치에서 접촉(15132)이 검출되는 것을 나타내기 위해 오디오 출력(15130)(예컨대, "클릭" 또는 "버즈")이 발생한다. 도 15aa에서, 접촉(15134)에 의한 입력이 가상 객체(11002)의 위치에 대응하는 위치에서 검출된다. 입력에 응답하여, 50138로 나타낸 바와 같은 알림, "chair is 90 percent visible, occupying 20 percent of the screen"을 포함하는 (예컨대, 가상 객체(11002)의 상태를 나타내는) 가상 객체(11002)에 대응하는 오디오 경보(15136)가 생성된다.In some embodiments, input provided at a location corresponding to the
도 15ab 내지 도 15ai는 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스가 디스플레이되는 동안 스위치 제어 모드에서 동작들의 선택 및 수행을 위한 입력을 예시한다.15A through 15AI illustrate inputs for selection and execution of operations in a switch control mode while a user interface including a field of
도 15ab에서, 접촉(15140)에 의한 입력(예컨대, 화살표(15142)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 도 15ac에 나타낸 바와 같이, 동작이 선택된다.In FIG. 15Ab, input by contact 15140 (eg, a swipe to the right along the path indicated by arrow 15142) is detected. In response to the input, an action is selected, as shown in Figure 15ac.
도 15ac에서, 우향하는 측방향 이동 제어부(15144)가 (예컨대, 현재 선택된 동작이 가상 객체(11002)를 우측으로 이동시키기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15146)는 15148로 나타낸 바와 같은 알림, "selected: move right button(선택된 것: 우측 이동 버튼)"을 포함한다. 접촉(15150)에 의한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력에 응답하여, 선택된 동작이 수행된다(예컨대, 가상 객체(11002)는, 도 15ad에 나타낸 바와 같이, 카메라(들)의 시야(6036) 내에서 우측으로 이동된다).In Fig. 15ac, a rightward lateral
도 15ad에서, 가상 객체(11002)의 이동은 15154로 나타낸 바와 같은 알림, "chair is 100 percent visible, occupying 30 percent of the screen(의자가 100 퍼센트 가시적이고, 스크린의 30 퍼센트를 차지합니다)"를 포함하는 오디오 경보(15152)에 의해 보고된다.In Fig. 15A, the movement of the
도 15ae에서, 접촉(15156)에 의한 입력(예컨대, 화살표(15158)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In FIG. 15AE, input by contact 15156 (eg, swiping to the right along the path indicated by arrow 15158) is detected. In response to the input, the selected action advances to the next action.
도 15af에서, 좌향하는 측방향 이동 제어부(15160)가 (예컨대, 현재 선택된 동작이 가상 객체(11002)를 좌측으로 이동시키기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15162)는 15164로 나타낸 바와 같은 알림, "selected: move left(선택된 것: 좌측 이동)"을 포함한다. 접촉(15166)에 의한 입력(예컨대, 화살표(15168)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In FIG. 15Af, the lateral
도 15ag에서, 시계방향 회전 제어부(15170)가 (예컨대, 현재 선택된 동작이 가상 객체(11002)를 시계방향으로 회전시키기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15172)는 15174로 나타낸 바와 같은 알림, "selected: rotate clockwise(선택된 것: 시계방향 회전)"을 포함한다. 접촉(15176)에 의한 입력(예컨대, 화살표(15178)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In FIG. 15AG, the clockwise
도 15ah에서, 반시계방향 회전 제어부(15180)가 (예컨대, 현재 선택된 동작이 가상 객체(11002)를 시계방향으로 회전시키기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15182)는 15184로 나타낸 바와 같은 알림, "selected: rotate counterclockwise(선택된 것: 반시계방향 회전)"을 포함한다. 접촉(15186)에 의한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력에 응답하여, 선택된 동작이 수행된다(예컨대, 가상 객체(11002)는, 도 15ai에 나타낸 바와 같이, 반시계방향으로 회전된다).In Fig. 15Ah, the counterclockwise
도 15ai에서, 오디오 경보(15190)는 15164로 나타낸 바와 같은 알림, "Chair rotated by five degrees counterclockwise. Chair is now rotated by zero degrees relative to the screen(의자가 반시계방향으로 5도 회전하였습니다. 의자가 이제 스크린에 대해 0도 회전됩니다)"를 포함한다.In Fig. 15ai, the
일부 실시예들에서, 반사상(reflection)이 객체(예컨대, 가상 객체(11002))의 적어도 하나의 표면(예컨대, 하부 표면) 상에 생성된다. 반사상은 디바이스(100)의 하나 이상의 카메라들에 의해 캡처되는 이미지 데이터를 사용하여 생성된다. 예를 들어, 반사상은 하나 이상의 카메라들의 시야(6036) 내에서 검출되는 수평 평면(예컨대, 바닥 평면(5038))에 대응하는 캡처된 이미지 데이터(예컨대, 이미지, 한 세트의 이미지들, 및/또는 비디오)의 적어도 일부분에 기초한다. 일부 실시예들에서, 반사상을 생성하는 것은 (예컨대, 캡처된 이미지 데이터를 가상 구체의 모델 상으로 맵핑함으로써) 캡처된 이미지 데이터를 포함하는 구형 모델을 생성하는 것을 포함한다.In some embodiments, a reflection is created on at least one surface (eg, lower surface) of an object (eg, virtual object 11002). The reflective image is created using image data captured by one or more cameras of
일부 실시예들에서, 객체의 표면 상에 생성된 반사상은 (예컨대, 평면에 더 가까운 표면의 일부분이 평면으로부터 더 멀리 있는 표면의 일부분보다 더 높은 크기의 반사율을 갖도록) 반사 구배를 포함한다. 일부 실시예들에서, 객체의 표면 상에 생성된 반사상의 반사율의 크기는 표면에 대응하는 텍스처의 반사율 값에 기초한다. 예를 들어, 표면의 비반사 부분에서는 반사상이 생성되지 않는다.In some embodiments, the reflection image created on the surface of the object includes a reflection gradient (eg, such that a portion of the surface closer to the plane has a higher magnitude of reflectivity than a portion of the surface further away from the plane). In some embodiments, the magnitude of the reflectivity of the reflection generated on the surface of the object is based on the reflectivity value of the texture corresponding to the surface. For example, no reflective image is generated in the non-reflective portion of the surface.
일부 실시예들에서, 반사상은 시간 경과에 따라 조정된다. 예를 들어, 반사상은 객체를 이동시키고/시키거나 축척조정하기 위한 입력이 수신됨에 따라 조정된다(예컨대, 객체가 이동함에 따라, 객체의 반사상은 객체에 대응하는 위치에 있는 평면의 일부분을 반영하도록 조정된다). 일부 실시예들에서, 반사상은 객체가 (예컨대, z-축을 중심으로) 회전될 때 조정되지 않는다.In some embodiments, the reflective image adjusts over time. For example, the reflective image is adjusted as input to move and/or scale the object is received (e.g., as the object moves, the reflective image of the object reflects a portion of the plane at the location corresponding to the object. Is adjusted). In some embodiments, the reflective image is not adjusted when the object is rotated (eg, about the z-axis).
일부 실시예들에서, (예컨대, 객체에 대응하는 카메라(들)의 시야(6036) 내에서 검출되는 평면 상의) 결정된 위치에 객체를 디스플레이하기 전에, 객체의 표면 상에는 반사상이 생성되지 않는다. 예를 들어, 객체의 반투명 표현이 (예컨대, 도 11g 및 도 11h와 관련하여 기술된 바와 같이) 디스플레이될 때 그리고/또는 캘리브레이션이 (예컨대, 도 12b 내지 도 12i와 관련하여 기술된 바와 같이) 수행되고 있을 때 객체의 표면 상에는 반사상이 생성되지 않는다.In some embodiments, prior to displaying the object at a determined location (eg, on a plane detected within the field of
일부 실시예들에서, 객체의 반사상은 카메라(들)의 시야(6036) 내에서 검출되는 하나 이상의 평면들 상에 생성된다. 일부 실시예들에서, 객체의 반사상은 카메라(들)의 시야(6036) 내에서 생성되지 않는다.In some embodiments, the reflective image of the object is created on one or more planes that are detected within the field of
도 16a 내지 도 16g는 객체 배치 기준들이 충족되는지 여부에 따라 상이한 시각적 속성들을 사용하여 하나 이상의 카메라들의 시야를 포함하는 사용자 인터페이스 내에 가상 객체를 디스플레이하는 방법(16000)을 예시하는 흐름도들이다. 방법(16000)은 디스플레이 생성 컴포넌트(예컨대, 디스플레이, 프로젝터, 헤드 업 디스플레이 등), 하나 이상의 입력 디바이스들(예컨대, 터치 감응형 표면, 또는 디스플레이 생성 컴포넌트 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이), 및 하나 이상의 카메라들(예컨대, 디스플레이 및 터치 감응형 표면과 반대편인 디바이스의 면 상의 하나 이상의 후방 카메라들)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고, 터치 감응형 표면은 디스플레이 상에 있거나 그와 통합된다. 일부 실시예들에서, 디스플레이는 터치 감응형 표면과는 별개이다. 방법(16000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.16A-16G are flow charts illustrating a
디바이스는 (예컨대, 가상 객체의 이동가능 표현을 포함하는 스테이징 사용자 인터페이스가 디스플레이되는 동안, 그리고 카메라들의 시야가 디스플레이되기 전에) 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하는 제1 사용자 인터페이스 영역(예컨대, 증강 현실 관찰자 인터페이스) 내에 가상 객체(예컨대, 3차원 모델의 표현)를 디스플레이하라는 요청을 수신한다(16002)(예컨대, 요청은 터치 스크린 디스플레이 상의 가상 객체의 표현 상에서 검출되는 접촉에 의한 입력이거나, 접촉은 가상 객체의 표현과 동시에 디스플레이되는 그리고 제1 접촉에 의해 호출될 때 AR 뷰의 디스플레이를 트리거하도록 구성되는 어포던스 상에서 검출된다(예컨대, "AR view" 또는 "world view" 버튼 상에서의 탭)). 예를 들어, 요청은, 도 11f와 관련하여 기술된 바와 같이, 하나 이상의 카메라들의 시야(6036) 내에 가상 객체(11002)를 디스플레이하기 위한 입력이다.The device comprises a first user interface area (e.g., while a staging user interface comprising a movable representation of the virtual object is displayed, and before the field of view of the cameras is displayed) comprising at least a portion of the field of view of one or more cameras (e.g., A request to display a virtual object (e.g., a representation of a 3D model) in the augmented reality observer interface) is received (16002) (e.g., the request is input by a touch detected on the representation of the virtual object on the touch screen display, or Is detected on an affordance that is displayed concurrently with the representation of the virtual object and configured to trigger the display of the AR view when invoked by the first contact (eg, a tap on the “AR view” or “world view” button)). For example, the request is an input to display the
제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청(예컨대, 디바이스 주위의 물리적 환경의 뷰에 가상 객체를 디스플레이하라는 요청)에 응답하여, 디바이스는, 디스플레이 생성 컴포넌트를 통해, 제1 사용자 인터페이스 영역에 포함되는 하나 이상의 카메라들의 시야의 적어도 일부분 위에 가상 객체의 표현을 디스플레이하는데(예컨대, 하나 이상의 카메라들의 시야는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청에 응답하여 디스플레이됨), 하나 이상의 카메라들의 시야는 하나 이상의 카메라들이 위치되는 물리적 환경의 뷰이다(16004). 예를 들어, 도 11g와 관련하여 기술된 바와 같이, 가상 객체(11002)는 하나 이상의 카메라들이 위치되는 물리적 환경(5002)의 뷰인 하나 이상의 카메라들의 시야(6036) 내에 디스플레이된다. 가상 객체의 표현을 디스플레이하는 것은, 객체 배치 기준들이 충족되지 않는다는 결정에 따라 - 객체 배치 기준들은 객체 배치 기준들이 충족되기 위해 가상 객체에 대한 배치 위치(예컨대, 평면)가 하나 이상의 카메라들의 시야 내에서 식별될 것을 요구함(예컨대, 객체 배치 기준들은, 디바이스가 제1 사용자 인터페이스 영역 내의 하나 이상의 카메라들의 시야에 대해 가상 객체를 배치하기 위한 위치 또는 평면을 식별하지 않았을 때 충족되지 않음(예컨대, 평면 식별은 여전히 진행 중이거나, 또는 평면을 식별하기에 충분한 이미지 데이터가 없음)) -, 제1 세트의 시각적 속성들로(예컨대, 제1 반투명 레벨, 또는 제1 밝기 레벨, 또는 제1 채도 레벨, 등으로) 그리고 물리적 환경의 어느 부분이 하나 이상의 카메라들의 시야 내에 디스플레이되는지와 독립적인 제1 배향으로 가상 객체의 표현을 디스플레이하는 것을 포함한다(예컨대, 가상 객체는 물리적 환경에 독립적인 미리정의된 평면에 대한 배향(예컨대, 스테이징 뷰 내에 설정된 배향)으로 그리고 카메라의 시야에서 발생하는 변경(예컨대, 물리적 환경에 대한 디바이스의 이동으로 인한 변경)과 독립적인 배향으로 카메라들의 시야 위에서 부유한다). 예를 들어, 도 11g 및 도 11h에서, 가상 객체(11002)에 대한 배치 위치가 카메라들의 시야(6036) 내에서 식별되지 않았기 때문에, 가상 객체(11002)의 반투명 형태가 디스플레이된다. 디바이스가 (도 11g로부터 도 11h로 도시된 바와 같이) 이동함에 따라, 가상 객체(11002)의 배향은 변경되지 않는다. 일부 실시예들에서, 객체 배치 기준들은 시야가 안정적이고 물리적 환경의 정지 뷰를 제공한다는 요건을 포함한다(예컨대, 카메라는 적어도 임계 시간 동안 임계량 미만으로 이동하고/하거나, 요청이 수신된 이후로 적어도 미리결정된 시간이 경과하였고/하였거나, 카메라는 디바이스의 충분한 이전 이동으로 평면 검출을 위해 캘리브레이션되었다). 객체 배치 기준들이 충족된다는 결정에 따라(예컨대, 객체 배치 기준들은, 디바이스가 제1 사용자 인터페이스 영역 내의 하나 이상의 카메라들의 시야에 대해 가상 객체를 배치하기 위한 위치 또는 평면을 식별하지 않았을 때 충족됨), 디바이스는 제1 세트의 시각적 속성들과 구별되는 제2 세트의 시각적 속성들로(예컨대, 제2 반투명 레벨, 또는 제2 밝기 레벨, 또는 제2 채도 레벨 등으로) 그리고 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 대응하는 제2 배향으로 가상 객체의 표현을 디스플레이한다. 예를 들어, 도 11i에서, 가상 객체(11002)에 대한 배치 위치(예컨대, 물리적 환경(5002) 내의 바닥 표면(5038)에 대응하는 평면)가 카메라들의 시야(6036) 내에서 식별되었기 때문에, 가상 객체(11002)의 반투명이 아닌 형태가 디스플레이된다. 가상 객체(11002)의 배향(예컨대, 터치 스크린 디스플레이(112) 상의 위치)은 도 11h에 도시된 제1 배향으로부터 도 11i에 도시된 제2 배향으로 변경되었다. 디바이스가 (도 11i로부터 도 11j로 도시된 바와 같이) 이동함에 따라, 가상 객체(11002)의 배향은 (가상 객체(11002)가 이제 물리적 환경(5002)에 대해 고정된 배향으로 디스플레이되기 때문에) 변경된다. 객체 배치 기준들이 충족되는지 여부에 따라, 제1 세트의 시각적 속성들 또는 제2 세트의 시각적 속성들로 가상 객체를 디스플레이하는 것은 (예컨대, 가상 객체를 디스플레이하라는 요청이 수신되었지만, 가상 객체를 하나 이상의 카메라들의 시야 내에 배치하기 위해 추가 시간 및/또는 캘리브레이션 정보가 필요하다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 평면에 대응하는 제2 배향으로의 객체의 배치 전에 사용자가 적절한 입력들을 제공하도록 그리고 가상 객체를 조작하기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In response to a request to display a virtual object in the first user interface area (e.g., a request to display a virtual object in a view of the physical environment around the device), the device is included in the first user interface area, through a display generating component Display a representation of the virtual object over at least a portion of the field of view of one or more cameras (e.g., the field of view of one or more cameras is displayed in response to a request to display the virtual object within the first user interface area), the field of view of one or more cameras Is a view of the physical environment in which one or more cameras are located (16004 ). For example, as described in connection with FIG. 11G, the
일부 실시예들에서, 디바이스는 가상 객체의 표현이 제1 세트의 시각적 속성들 및 제1 배향으로 디스플레이되는 동안 객체 배치 기준들이 충족되는 것을 검출한다(16006)(예컨대, 가상 객체를 배치하기 위한 평면은 가상 객체가 디바이스 주위의 물리적 환경의 뷰 위에 반투명 상태로 현수되는 동안 식별된다). 객체 배치 기준들의 검출을 개시하기 위한 추가 사용자 입력을 요구하지 않으면서, 가상 객체가 제1 세트의 시각적 속성들로 (예컨대, 반투명 상태로) 디스플레이되는 동안 객체 배치 기준들이 충족되는 것을 검출하는 것은 객체 배치에 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device detects that object placement criteria are met while the representation of the virtual object is displayed in a first set of visual properties and a first orientation (e.g., a plane for placing the virtual object). Is identified while the virtual object is suspended in a translucent state over a view of the physical environment around the device). Detecting that object placement criteria are met while the virtual object is displayed (e.g., in a translucent state) with a first set of visual properties, without requiring additional user input to initiate detection of the object placement criteria Reduces the number of inputs required for deployment. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which in addition allows the user to use the device more quickly and efficiently, Reduces power usage and improves battery life.
일부 실시예들에서, 객체 배치 기준들이 충족되는 것을 검출하는 것에 응답하여, 디바이스는, 디스플레이 생성 컴포넌트를 통해, 제1 배향으로부터 제2 배향으로 이동하고(예컨대, 회전하고/하거나, 축척조정하고/하거나, 병진하고/하거나, 상기의 조합으로 이동하고) 제1 세트의 시각적 속성들을 갖는 것으로부터 제2 세트의 시각적 속성들을 갖는 것으로 변하는 가상 객체의 표현을 보여주는 애니메이션화된 전이를 디스플레이한다(16008). 예를 들어, 일단 가상 객체를 배치하기 위한 평면이 카메라의 시야 내에서 식별되면, 가상 객체는 그의 배향, 크기, 및 반투명(등)의 가시적 조정으로 그 평면 상에 배치된다. (예컨대, 제1 사용자 인터페이스에서 가상 객체를 재배향하기 위한 추가 사용자 입력을 요구하지 않으면서) 제1 배향으로부터 제2 배향으로의 애니메이션화된 전이를 디스플레이하는 것은 객체 배치에 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting that the object placement criteria are met, the device moves (eg, rotates and/or scales and/or from the first orientation to the second orientation, via the display generation component). Or, translate and/or move to a combination of the above) and display an animated transition showing the representation of a virtual object that changes from having a first set of visual properties to having a second set of visual properties (16008). For example, once a plane for placing a virtual object is identified within the camera's field of view, the virtual object is placed on that plane with visual adjustments of its orientation, size, and translucency (etc.). Displaying an animated transition from a first orientation to a second orientation (eg, without requiring additional user input to reorient the virtual object in the first user interface) reduces the number of inputs required for object placement. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which in addition allows the user to use the device more quickly and efficiently, Reduces power usage and improves battery life.
일부 실시예들에서, 객체 배치 기준들이 충족되는 것을 검출하는 것은, 하나 이상의 카메라들의 시야 내에서 평면이 식별되었다는 것을 검출하는 것; 적어도 임계 시간 동안 디바이스와 물리적 환경 사이에서 임계량 미만의 이동을 검출하는 것(예컨대, 카메라의 시야 내에서의 물리적 환경의 실질적으로 정지된 뷰로 이어짐); 및 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청을 수신한 이후로 적어도 미리결정된 시간이 경과하였다는 것을 검출하는 것 중 하나 이상을 포함한다(16010). (예컨대, 평면을 검출하기 위한 사용자 입력을 요구하지 않으면서 하나 이상의 카메라들의 시야 내에서 평면을 검출함으로써) 객체 배치 기준들이 충족되는 것을 검출하는 것은 객체 배치에 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, detecting that object placement criteria are met includes detecting that a plane has been identified within the field of view of the one or more cameras; Detecting less than a threshold amount of movement between the device and the physical environment for at least a critical time period (eg, leading to a substantially stationary view of the physical environment within the field of view of the camera); And detecting that at least a predetermined time has elapsed since receiving the request to display the virtual object in the first user interface area (16010). Detecting that object placement criteria are met (eg, by detecting a plane within the field of view of one or more cameras without requiring user input to detect the plane) reduces the number of inputs required for object placement. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which in addition allows the user to use the device more quickly and efficiently, Reduces power usage and improves battery life.
일부 실시예들에서, 디바이스는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 제1 부분(예컨대, 물리적 환경의 제1 부분은 반투명 가상 객체를 통해 사용자에게 가시적임) 위에 가상 객체의 표현이 제1 세트의 시각적 속성들 및 제1 배향으로 디스플레이되는 동안(예컨대, 가상 객체가 디바이스 주위의 물리적 환경의 뷰 위에 반투명 상태로 현수되는 동안) 하나 이상의 카메라들의 제1 이동(예컨대, 디바이스 주위의 물리적 환경에 대한 디바이스의 회전 및/또는 병진)을 검출한다(16012). 예를 들어, 도 11g 및 도 11h에서, 하나 이상의 카메라들은, 가상 객체(11002)의 반투명 표현이 디스플레이되는 동안, (예컨대, 카메라들의 시야(6036) 내에서 테이블(5004)의 변경된 위치에 의해 표시된 바와 같이) 이동한다. 카메라들의 시야(6036) 내에서 캡처되고 사용자 인터페이스에 디스플레이되는 바와 같은 물리적 환경의 벽들 및 테이블은 반투명 가상 객체(11002)를 통해 가시적이다. 하나 이상의 카메라들의 제1 이동을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 제2 부분 위에 제1 세트의 시각적 속성들 및 제1 배향으로 가상 객체의 표현을 디스플레이하는데, 물리적 환경의 제2 부분은 물리적 환경의 제1 부분과 구별된다(16014). 예를 들어, 가상 객체의 반투명 형태가 카메라의 시야에 보여지는 물리적 환경 위에서 호버링하는 것으로 디스플레이되는 동안, 카메라의 시야 내의 물리적 환경의 뷰는 디바이스가 물리적 환경에 대해 이동할 때 (예컨대, 반투명 가상 객체 뒤에서) 시프트 및 축척조정된다. 따라서, 디바이스의 이동 동안, 가상 객체의 반투명 형태는, 카메라의 시야 내에서의 물리적 환경의 뷰의 병진 및 축척조정의 결과로서, 시야 내에 표현된 물리적 환경의 상이한 부분들의 상부에 오버레이된다. 예를 들어, 도 11h에서, 카메라들의 시야(6036)는 도 11g에 디스플레이된 물리적 환경(5002)의 제1 부분과 구별되는 물리적 환경(5002)의 제2 부분을 디스플레이한다. 가상 객체(11002)의 반투명 표현의 배향은 하나 이상의 카메라들의 이동이 도 11g 및 도 11h에서 발생할 때 변경되지 않는다. 하나 이상의 카메라들의 이동을 검출하는 것에 응답하여 제1 배향으로 가상 객체를 디스플레이하는 것은 (예컨대, 가상 객체가 물리적 환경에 대해 고정된 위치에 아직 배치되지 않았고, 따라서 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분이 하나 이상의 카메라들의 이동에 따라 변함에 따라 이동하지 않는다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 평면에 대응하는 제2 배향으로의 객체의 배치 전에 사용자가 가상 객체를 조작하기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device provides a representation of the virtual object over a first portion of the physical environment that is captured within the field of view of one or more cameras (e.g., the first portion of the physical environment is visible to the user through a translucent virtual object). The first movement of one or more cameras (e.g., physical environment around the device) while displayed in a first orientation (e.g., while a virtual object is suspended translucent over a view of the physical environment around the device) Rotation and/or translation of the device relative to (16012). For example, in Figures 11G and 11H, one or more cameras are displayed (e.g., indicated by the altered position of the table 5004 within the field of
일부 실시예들에서, 디바이스는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 제3 부분(예컨대, 물리적 환경의 제3 부분(예컨대, 가상 객체를 지지하는 검출된 평면의 일부분)의 직접적인 뷰는 가상 객체에 의해 차단됨) 위에 가상 객체의 표현이 제2 세트의 시각적 속성들 및 제2 배향으로 디스플레이되는 동안(예컨대, 객체 배치 기준들이 충족되었고 가상 객체가 카메라들의 시야 내의 물리적 환경에서 검출되는 평면 상에 배치된 후) 하나 이상의 카메라들의 제2 이동(예컨대, 디바이스 주위의 물리적 환경에 대한 디바이스의 회전 및/또는 병진)을 검출한다(16016). 예를 들어, 도 11i 및 도 11j에서, 하나 이상의 카메라들은, 가상 객체(11002)의 반투명이 아닌 표현이 디스플레이되는 동안, (예컨대, 카메라들의 시야(6036) 내에서 테이블(5004)의 변경된 위치에 의해 표시된 바와 같이) 이동한다. 디바이스의 제2 이동을 검출하는 것에 응답하여, 디바이스는, 하나 이상의 카메라들의 시야 내에서 캡처되는 바와 같은 물리적 환경이 디바이스의 제2 이동에 따라 이동(예컨대, 시프트 및 축척조정)하고, 제2 배향이 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 계속 대응하는 동안, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 제3 부분 위에 제2 세트의 시각적 속성들 및 제2 배향으로 가상 객체의 표현의 디스플레이를 유지한다(16018). 예를 들어, 가상 객체의 반투명이 아닌 형태가 카메라의 시야에 보여진 물리적 환경에서 검출되는 평면 상의 정지 위치에서 낙하된 후, 가상 객체의 위치 및 배향은 카메라의 시야 내의 물리적 환경에 대해 고정되고, 가상 객체는 디바이스가 물리적 환경에 대해 이동함에 따라 카메라들의 시야 내의 물리적 환경과 함께 시프트 및 축척조정될 것이다(예컨대, 가상 객체(11002)의 반투명이 아닌 표현은 하나 이상의 카메라들의 이동이 도 11i 및 도 11j에서 발생함에 따라 물리적 환경(5002) 내의 바닥 평면에 대해 일정 배향으로 고정된 채로 유지된다). 하나 이상의 카메라들의 이동을 검출하는 것에 응답하여 제2 배향으로 가상 객체를 디스플레이하는 것을 유지하는 것은 (예컨대, 가상 객체가 물리적 환경에 대해 고정된 위치에 배치되었고, 따라서 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분이 하나 이상의 카메라들의 이동에 따라 변함에 따라 이동한다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 평면에 대응하는 제2 배향으로 배치된 가상 객체에 대해 사용자가 적절한 입력들을 제공하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device provides a direct view of a third portion of the physical environment (e.g., a third portion of the physical environment (e.g., a portion of the detected plane supporting the virtual object) that is captured within the field of view of one or more cameras). Blocked by the virtual object) while the representation of the virtual object is displayed in a second set of visual properties and a second orientation (e.g., object placement criteria have been met and the virtual object is detected in the physical environment within the field of view of the cameras). After being placed in) a second movement of one or more cameras (eg, rotation and/or translation of the device relative to the physical environment around the device) is detected (16016). For example, in FIGS. 11I and 11J, one or more cameras may be placed in a changed position of the table 5004 within the field of
일부 실시예들에서, 객체 배치 기준들이 충족된다는 (예컨대, 디바이스가 제1 사용자 인터페이스 영역 내에서 하나 이상의 카메라들의 시야에 대해 가상 객체를 배치하기 위한 위치 또는 평면을 식별하지 않았을 때 객체 배치 기준들이 충족된다는) 결정에 따라, 디바이스는 제2 세트의 시각적 속성들로 (예컨대, 감소된 반투명 레벨, 또는 더 높은 밝기 레벨, 또는 더 높은 채도 레벨 등으로) 그리고 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 대응하는 제2 배향으로 가상 객체의 표현을 디스플레이하는 것과 함께 촉각적 출력을 (예컨대, 디바이스의 하나 이상의 촉각적 출력 생성기들로) 생성한다(예컨대, 촉각적 출력의 생성은 가상 객체의 반투명이 아닌 외관으로의 전이의 완료 및 물리적 환경에서 검출되는 평면 상의 낙하 위치에 정착하도록 하는 가상 객체의 회전 및 병진의 완료와 동기화된다)(16020). 예를 들어, 도 11i에 도시된 바와 같이, 가상 객체(11002)에 대응하는 평면(예컨대, 바닥 표면(5038))에 부착된 가상 객체(11002)의 반투명이 아닌 표현을 디스플레이하는 것과 함께 11010으로 표시된 바와 같은 촉각적 출력이 생성된다. 객체 배치 기준들이 충족된다는 결정에 따라 촉각적 출력을 생성하는 것은 (예컨대, 가상 객체를 배치하는 동작이 성공적으로 실행되었다는 것을 나타내는) 개선된 촉각적 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 디스플레이된 정보로 사용자 인터페이스를 혼란스럽게 하지 않으면서 객체 배치 기준들이 충족되었다는 것을 사용자가 인지하게 하는 감각적 정보를 제공함으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, object placement criteria are met (e.g., when the device has not identified a location or plane to place the virtual object with respect to the field of view of one or more cameras within the first user interface area. Depending on the determination, the device may have a second set of visual properties (e.g., with a reduced translucency level, or a higher brightness level, or a higher saturation level, etc.) and the physical environment detected within the field of view of one or more cameras. Generate a tactile output (e.g., with one or more tactile output generators of the device) along with displaying the representation of the virtual object in a second orientation corresponding to the plane within the Synchronized with the completion of the transition to the non-translucent appearance and the completion of the rotation and translation of the virtual object to settle in the falling position on the plane detected in the physical environment) (16020). For example, as shown in Fig. 11I, with displaying a non-translucent representation of the
일부 실시예들에서, 제2 세트의 시각적 속성들로 그리고 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 대응하는 제2 배향으로 가상 객체의 표현을 디스플레이하는 동안, 디바이스는 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면의 적어도 위치 또는 배향에 관한 업데이트를 수신한다(예컨대, 업데이트된 평면 위치 및 배향은 초기 평면 검출 결과가 가상 객체를 배치하는 데 사용된 후 축적된 추가 데이터에 기초한 더 정확한 계산, 또는 더 많은 시간 소모적인 계산 방법들(예컨대, 더 적은 근사치들 등)의 결과이다)(16022). 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면의 적어도 위치 또는 배향에 관한 업데이트를 수신하는 것에 응답하여, 디바이스는 업데이트에 따라 가상 객체의 표현의 적어도 위치 및/또는 배향을 조정한다(예컨대, 가상 객체를 업데이트된 평면에 더 가깝게 점진적으로 이동(예컨대, 병진 및 회전)시킨다)(16024). (예컨대, 평면에 대해 가상 객체를 배치하기 위한 사용자 입력을 요구하지 않으면서) 물리적 환경 내의 평면에 관한 업데이트를 수신하는 것에 응답하여 가상 객체의 위치 및/또는 배향을 조정하는 것은 가상 객체를 조정하는 데 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a representation of the virtual object with a second set of visual properties and in a second orientation corresponding to a plane in the physical environment detected within the field of view of the one or more cameras, the device Receive an update regarding at least the position or orientation of the plane in the physical environment that is detected within the field of view (e.g., the updated plane position and orientation is based on additional data accumulated after the initial plane detection result is used to place the virtual object. It is the result of a more accurate calculation, or more time consuming calculation methods (eg, fewer approximations, etc.)) 16022. In response to receiving an update regarding at least the position or orientation of the plane in the physical environment detected within the field of view of the one or more cameras, the device adjusts at least the position and/or orientation of the representation of the virtual object according to the update (e.g., The virtual object is gradually moved (eg, translated and rotated) closer to the updated plane (16024). Adjusting the position and/or orientation of the virtual object in response to receiving an update regarding the plane within the physical environment (e.g., without requiring user input to place the virtual object relative to the plane) can be used to adjust the virtual object. Reduce the number of inputs required Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which in addition allows the user to use the device more quickly and efficiently, Reduces power usage and improves battery life.
일부 실시예들에서, 제1 세트의 시각적 속성들은 제1 크기 및 제1 반투명 레벨을 포함하고(예컨대, AR 뷰로 낙하되기 전에, 객체는 디스플레이에 대한 고정된 크기 및 고정된 높은 반투명 레벨을 가짐)(16026), 제2 세트의 시각적 속성들은 제1 크기와 구별되는 제2 크기(예컨대, 일단 AR 뷰에서 낙하되면, 객체는 물리적 환경에서의 낙하 위치 및 크기와 관련하여 시뮬레이션된 물리적 크기로 디스플레이됨) 및 제1 반투명 레벨보다 낮은 (예컨대, 그보다 더 불투명한) 제2 반투명 레벨(예컨대, 객체는 AR 뷰에서 더 이상 반투명하지 않음)을 포함한다(16028). 예를 들어, 도 11h에서, 가상 객체(11002)의 반투명 표현이 제1 크기로 도시되어 있고, 도 11i에서, 가상 객체(11004)의 반투명이 아닌 표현이 제2 (더 작은) 크기로 도시되어 있다. 객체 배치 기준들이 충족되는지 여부에 따라, 제1 크기 및 제1 반투명 레벨로 또는 제2 크기 및 제2 반투명 레벨로 가상 객체를 디스플레이하는 것은 (예컨대, 가상 객체를 디스플레이하라는 요청이 수신되었지만, 가상 객체를 하나 이상의 카메라들의 시야 내에 배치하기 위해 추가 시간 및/또는 캘리브레이션 정보가 필요하다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 평면에 대응하는 제2 배향으로의 객체의 배치 전에 사용자가 적절한 입력들을 제공하도록 그리고 가상 객체를 조작하기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first set of visual properties includes a first size and a first translucency level (e.g., before falling into an AR view, the object has a fixed size and a fixed high translucency level for the display). (16026), the second set of visual properties are displayed with a second size that is distinct from the first size (e.g., once dropped in the AR view, the object is displayed with a simulated physical size in relation to the drop location and size in the physical environment) ) And a second translucency level (eg, the object is no longer translucent in the AR view) that is lower (eg, more opaque) than the first translucency level (16028). For example, in FIG. 11H, a translucent representation of the
일부 실시예들에서, 가상 객체가 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하지 않는 각각의 사용자 인터페이스(예컨대, 스테이징 사용자 인터페이스) 내에 디스플레이되는 동안(예컨대, 가상 객체는 디바이스의 물리적 환경과 독립적인 배향을 갖는 가상 스테이지에 대해 배향됨), 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하는 제1 사용자 인터페이스 영역(예컨대, AR 뷰) 내에 가상 객체를 디스플레이하라는 요청이 수신된다(16030). 제1 배향은 요청이 수신되는 시간에 가상 객체가 각각의 사용자 인터페이스 내에 디스플레이되는 동안 가상 객체의 배향에 대응한다. 예를 들어, 도 11f와 관련하여 기술된 바와 같이, (카메라들의 시야를 포함하지 않는) 스테이징 사용자 인터페이스(6010)가 디스플레이되는 동안 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 가상 객체(11002)를 디스플레이하라는 요청이 수신된다. 가상 객체(11002)가 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 디스플레이되는 도 11g의 가상 객체(11002)의 배향은, 가상 객체(11002)가 스테이징 사용자 인터페이스(6010) 내에 디스플레이되는 도 11f의 가상 객체(11002)의 배향에 대응한다. (이전에 디스플레이된) 인터페이스(예컨대, 스테이징 사용자 인터페이스) 내에 디스플레이된 바와 같은 가상 객체의 배향에 대응하는 배향으로 제1 사용자 인터페이스(예컨대, 디스플레이된 증강 현실 뷰) 내에 가상 객체를 디스플레이하는 것은 (예컨대, 스테이징 사용자 인터페이스가 디스플레이되는 동안 제공되는 객체 조작 입력이 AR 뷰 내에 객체의 배향을 확립하는 데 사용될 수 있다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 평면에 대응하는 제2 배향으로의 객체의 배치 전에 사용자가 적절한 입력들을 제공하도록 그리고 가상 객체를 조작하기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while the virtual object is displayed within each user interface (e.g., a staging user interface) that does not include at least a portion of the field of view of one or more cameras (e.g., the virtual object has an orientation independent of the physical environment of the device) Oriented relative to a virtual stage having a), a request to display a virtual object within a first user interface area (eg, AR view) that includes at least a portion of the field of view of one or more cameras is received (16030 ). The first orientation corresponds to the orientation of the virtual object while the virtual object is displayed in each user interface at the time the request is received. For example, as described in connection with FIG. 11F, a
일부 실시예들에서, 제1 배향은 미리정의된 배향(예컨대, 가상 객체가 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하지 않는 각각의 사용자 인터페이스 내에 처음으로 디스플레이될 때 가상 객체가 디스플레이되는 배향과 같은 디폴트 배향)에 대응한다(16032). 제1 세트의 시각적 속성들로 그리고 미리정의된 배향으로 가상 객체를 제1 사용자 인터페이스(예컨대, 디스플레이된 증강 현실 뷰) 내에 디스플레이하는 것은 (예컨대, 스테이징 사용자 인터페이스 내에서 확립된 배향에 따라 반투명 표현을 렌더링하기보다는 가상 객체의 미리생성된 반투명 표현이 디스플레이되는 것을 허용함으로써) 디바이스의 전력 사용을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first orientation is a predefined orientation (e.g., the orientation in which the virtual object is displayed when the virtual object is first displayed within each user interface that does not include at least a portion of the field of view of one or more cameras). Default orientation) (16032). Displaying a virtual object in a first user interface (e.g., a displayed augmented reality view) with a first set of visual properties and in a predefined orientation results in a translucent representation (e.g., according to an orientation established within the staging user interface). By allowing a pre-generated translucent representation of the virtual object to be displayed rather than rendering it), it reduces the power usage of the device and improves battery life.
일부 실시예들에서, 제2 세트의 시각적 속성들로 그리고 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 대응하는 제2 배향으로 가상 객체를 제1 사용자 인터페이스 영역(예컨대, AR 뷰) 내에 디스플레이하는 동안, 디바이스는 (예컨대, 축척조정 입력(예컨대, 가상 객체에 대한 핀치 또는 디핀치 제스처)의 결과로서) 가상 객체의 시뮬레이션된 물리적 크기를 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에 대해 제1 시뮬레이션된 물리적 크기로부터 제2 시뮬레이션된 물리적 크기로 (예컨대, 디폴트 크기의 80%로부터 디폴트 크기의 120%로, 또는 그 반대로) 변경하라는 요청을 검출한다(16034). 예를 들어, 가상 객체(11002)의 시뮬레이션된 물리적 크기를 감소시키기 위한 입력은 도 11n 내지 도 11p와 관련하여 기술된 바와 같은 핀치 제스처이다. 가상 객체의 시뮬레이션된 물리적 크기를 변경하라는 요청을 검출하는 것에 응답하여, 디바이스는 가상 객체의 시뮬레이션된 물리적 크기의 제1 시뮬레이션된 물리적 크기로부터 제2 시뮬레이션된 물리적 크기로의 점진적인 변경에 따라 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이된 크기를 점진적으로 변경하고(예컨대, 가상 객체의 디스플레이된 크기는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 디스플레이된 크기가 변경되지 않은 채로 유지되는 동안 증가하거나 줄어듬), 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이된 크기의 점진적인 변경 동안, 가상 객체의 시뮬레이션된 물리적 크기가 미리정의된 시뮬레이션된 물리적 크기(예컨대, 디폴트 크기의 100%)에 도달하였다는 결정에 따라, 디바이스는 가상 객체의 시뮬레이션된 물리적 크기가 미리정의된 시뮬레이션된 물리적 크기에 도달하였다는 것을 나타내기 위해 촉각적 출력을 생성한다(16036). 예를 들어, 도 11n 내지 도 11p와 관련하여 기술된 바와 같이, 가상 객체(11002)의 표현의 디스플레이된 크기는 핀치 제스처 입력에 응답하여 점진적으로 감소한다. 도 11o에서, 가상 객체(11002)의 표현의 디스플레이된 크기가 가상 객체(11002)의 크기의 100%(예컨대, 도 11i에 나타낸 바와 같이, 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 원래 디스플레이된 바와 같은 가상 객체(11002)의 크기)에 도달할 때, 11024로 표시된 바와 같은 촉각적 출력이 생성된다. 가상 객체의 시뮬레이션된 물리적 크기가 미리정의된 시뮬레이션된 물리적 크기에 도달하였다는 결정에 따라 촉각적 출력을 생성하는 것은 (예컨대, 가상 객체의 시뮬레이션된 크기를 미리정의된 크기로 복귀시키기 위해 추가 입력이 필요하지 않다는 것을 나타내는) 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은 (예컨대, 디스플레이된 정보로 사용자 인터페이스를 혼란스럽게 하지 않으면서 가상 객체의 미리정의된 시뮬레이션된 물리적 크기에 도달하였다는 것을 사용자가 인지하게 하는 감각적 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the virtual object is placed within a first user interface area (e.g., AR view) with a second set of visual properties and in a second orientation corresponding to a plane in the physical environment detected within the field of view of one or more cameras. During display, the device (e.g., as a result of a scaling input (e.g., a pinch or de-pinch gesture on the virtual object)) of the virtual object relative to the physical environment being captured within the field of view of one or more cameras A request to change from a first simulated physical size to a second simulated physical size (eg, from 80% of the default size to 120% of the default size, or vice versa) is detected (16034). For example, the input for reducing the simulated physical size of the
일부 실시예들에서, 미리정의된 시뮬레이션된 물리적 크기와 구별되는 가상 객체의 제2 시뮬레이션된 물리적 크기(예컨대, 축척조정 입력(예컨대, 가상 객체에 대한 핀치 또는 디핀치 제스처)의 결과로서, 디폴트 크기의 120%, 또는 디폴트 크기의 80%)로 가상 객체를 제1 사용자 인터페이스 영역(예컨대, AR 뷰) 내에 디스플레이하는 동안, 디바이스는 가상 객체를 미리정의된 시뮬레이션된 물리적 크기로 복귀시키라는 요청을 검출한다(예컨대, 터치 스크린 상에서 (예컨대, 가상 객체 상에서, 또는 대안적으로 가상 객체의 외측에서) 탭 또는 더블 탭 입력을 검출함)(16038).In some embodiments, as a result of a second simulated physical size of the virtual object (e.g., a scaling input (e.g., a pinch or de-pinch gesture on the virtual object) that is distinct from the predefined simulated physical size), the
예를 들어, 핀치 입력이 (도 11n 내지 도 11p와 관련하여 기술된 바와 같이) 가상 객체(11002)의 크기의 감소를 야기한 후, 더블 탭 입력이 (도 11r과 관련하여 기술된 바와 같이) 가상 객체(11002)에 대응하는 위치에서 검출된다. 가상 객체를 미리정의된 시뮬레이션된 물리적 크기로 복귀시키라는 요청을 검출하는 것에 응답하여, 디바이스는 가상 객체의 시뮬레이션된 물리적 크기의 미리정의된 시뮬레이션된 물리적 크기로의 변경에 따라 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이된 크기를 변경한다(예컨대, 가상 객체의 디스플레이된 크기는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 디스플레이된 크기가 변경되지 않은 채로 유지되는 동안 증가하거나 줄어든다)(16040). 예를 들어, 도 11r과 관련하여 기술된 더블 탭 입력에 응답하여, 가상 객체(11002)의 크기는 도 11i에 디스플레이된 바와 같은 가상 객체(11002)의 크기(하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 원래 디스플레이된 바와 같은 가상 객체(11002)의 크기)로 복귀한다. 일부 실시예들에서, 가상 객체의 시뮬레이션된 물리적 크기가 미리정의된 시뮬레이션된 물리적 크기(예컨대, 디폴트 크기의 100%)에 도달하였다는 결정에 따라, 디바이스는 가상 객체의 시뮬레이션된 물리적 크기가 미리정의된 시뮬레이션된 물리적 크기에 도달하였다는 것을 나타내기 위해 촉각적 출력을 생성한다. 가상 객체를 미리정의된 시뮬레이션된 물리적 크기로 복귀시키라는 요청을 검출하는 것에 응답하여 가상 객체의 디스플레이된 크기를 미리정의된 크기로 변경하는 것은 (예컨대, 디스플레이 크기를 조정하기 위해 제공되는 입력이 가상 객체를 미리정의된 시뮬레이션된 물리적 크기로 디스플레이하기에 충분할 때를 사용자가 추정하도록 요구하기보다는, 디스플레이된 크기를 미리정의된 시뮬레이션된 물리적 크기로 정밀하게 조정하는 옵션을 제공함으로써) 객체를 미리정의된 크기로 디스플레이하는 데 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.For example, after a pinch input causes a reduction in the size of the virtual object 11002 (as described with respect to Figs. 11N to 11P), the double tap input results in a virtual (as described with respect to Fig. 11R). It is detected at a location corresponding to the
일부 실시예들에서, 디바이스는 물리적 환경에 대한 하나 이상의 카메라들의 각각의 위치 및 배향에 따라 제2 세트의 시각적 속성들을 갖는 가상 객체의 표현의 제2 배향(예컨대, 객체 배치 기준들이 충족될 때의 현재 위치 및 배향)을 설정하기 위한 평면을 선택하는데, 여기서 평면을 선택하는 것은, 가상 객체의 표현이 (예컨대, 디바이스가 물리적 환경에서 제1 방향으로 지향한 결과로서) 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 제1 부분 위에 디스플레이되었을 때(예컨대, 반투명 객체의 베이스는 물리적 환경의 제1 부분 내의 평면과 중첩하고 있음) 객체 배치 기준들이 충족되었다는 결정에 따라, 제2 세트의 시각적 속성들을 갖는 가상 객체의 표현의 제2 배향을 설정하기 위한 평면으로서 하나 이상의 카메라들의 시야 내의 물리적 환경에서 검출되는 다수의 평면들 중 제1 평면을 (예컨대, 디스플레이 상의 제1 평면과 객체의 베이스 사이의 더 큰 근접성 및 물리적 세계 내의 물리적 환경의 제1 부분과 제1 평면 사이의 더 큰 근접성에 따라) 선택하는 것; 및 가상 객체의 표현이 (예컨대, 디바이스가 물리적 환경에서 제2 방향으로 지향한 결과로서) 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 제2 부분 위에 디스플레이되었을 때(예컨대, 반투명 객체의 베이스는 물리적 환경의 제2 부분 내의 평면과 중첩하고 있음) 객체 배치 기준들이 충족되었다는 결정에 따라, 제2 세트의 시각적 속성들을 갖는 가상 객체의 표현의 제2 배향을 설정하기 위한 평면으로서 하나 이상의 카메라들의 시야 내의 물리적 환경에서 검출되는 다수의 평면들 중 제2 평면을 (예컨대, 디스플레이 상의 제2 평면과 객체의 베이스 사이의 더 큰 근접성 및 물리적 세계 내의 물리적 환경의 제2 부분과 제2 평면 사이의 더 큰 근접성에 따라) 선택하는 것을 포함하고, 물리적 환경의 제1 부분은 물리적 환경의 제2 부분과 구별되고, 제1 평면은 제2 평면과 구별된다(16042). (예컨대, 많은 검출된 평면들 중 어느 평면이 가상 객체가 설정되는 평면일 것인지를 지정하기 위한 사용자 입력을 요구하지 않으면서) 가상 객체가 설정될 평면으로서 제1 평면 또는 제2 평면을 선택하는 것은 평면을 선택하는 데 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device has a second orientation of the representation of the virtual object having a second set of visual properties according to the location and orientation of each of the one or more cameras relative to the physical environment (e.g., when object placement criteria are met). Select a plane to set the current position and orientation), where selecting a plane means that the representation of the virtual object is within the field of view of one or more cameras (e.g., as a result of the device being oriented in a first direction in the physical environment). When displayed over a first portion of the physical environment being captured (e.g., the base of a translucent object overlaps a plane within the first portion of the physical environment), depending on the determination that the object placement criteria have been met, the second set of visual properties is determined. A first plane among a plurality of planes detected in the physical environment within the field of view of one or more cameras as a plane for setting the second orientation of the representation of the virtual object having (e.g., more between the first plane on the display and the base of the object Choosing according to the greater proximity and greater proximity between the first plane and the first portion of the physical environment within the physical world; And when the representation of the virtual object is displayed over a second portion of the physical environment that is captured within the field of view of one or more cameras (e.g., as a result of the device being oriented in a second direction in the physical environment) (e.g., the base of the translucent object is Overlapping with the plane within the second part of the physical environment) the field of view of one or more cameras as a plane for establishing a second orientation of the representation of a virtual object having a second set of visual properties, upon determination that the object placement criteria have been met The second of the plurality of planes detected in the physical environment within the second plane (e.g., greater proximity between the second plane on the display and the base of the object and the greater between the second plane and the second part of the physical environment within the physical world) Selecting according to proximity), wherein the first portion of the physical environment is distinct from the second portion of the physical environment, and the first plane is distinguished from the second plane (16042). Selecting the first plane or the second plane as the plane on which the virtual object is to be set (e.g., without requiring user input to specify which of the many detected planes is the plane on which the virtual object is set) Reduces the number of inputs required to select a plane. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which in addition allows the user to use the device more quickly and efficiently, Reduces power usage and improves battery life.
일부 실시예들에서, 디바이스는 제2 세트의 시각적 속성들 및 제2 배향으로 가상 객체를 제1 사용자 인터페이스 영역(예컨대, AR 뷰) 내에 디스플레이하는 것과 동시에 스냅샷(snapshot) 어포던스(예컨대, 카메라 셔터 버튼)를 디스플레이한다(16044). 스냅샷 어포던스의 활성화에 응답하여, 디바이스는 하나 이상의 카메라들의 시야 내의 물리적 환경 내의 일정 배치 위치에 있는 가상 객체의 표현의 현재 뷰를 포함하는 스냅샷 이미지를, 제2 세트의 시각적 속성들 및 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 대응하는 제2 배향으로, 캡처한다(16046). 객체의 현재 뷰의 스냅샷 이미지를 캡처하기 위한 스냅샷 어포던스를 디스플레이하는 것은 객체의 스냅샷 이미지를 캡처하는 데 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device displays a virtual object in a first user interface area (e.g., AR view) with a second set of visual attributes and a second orientation, while simultaneously displaying a snapshot affordance (e.g., camera shutter). Button) is displayed (16044). In response to activation of the snapshot affordance, the device generates a snapshot image that includes a current view of a representation of the virtual object at a location within the physical environment within the field of view of the one or more cameras, a second set of visual attributes and one or more.
일부 실시예들에서, 디바이스는 제1 사용자 인터페이스 영역 내에 제2 세트의 시각적 속성들을 갖는 가상 객체의 표현과 함께 하나 이상의 제어부 어포던스들(예컨대, 스테이징 사용자 인터페이스로 다시 스위칭하기 위한 어포던스, AR 뷰어를 빠져나가기 위한 어포던스, 스냅샷을 캡처하기 위한 어포던스 등)을 디스플레이한다(16048). 예를 들어, 도 11j에는 뒤로 가기 제어부(6016), 토글 제어부(6018), 및 공유 제어부(6020)를 포함하는 한 세트의 제어부들이 디스플레이되어 있다. 제2 세트의 시각적 속성들을 갖는 가상 객체의 표현과 함께 하나 이상의 제어부 어포던스들을 디스플레이하는 동안, 디바이스는 제어부 페이딩(control-fading) 기준들이 충족되는 것을 (예컨대, (예컨대, 디바이스의 이동 및 카메라들의 시야에 대한 업데이트가 있거나 없거나) 임계 시간 동안 터치 감응형 표면 상에서 사용자 입력이 검출되지 않았음을) 검출한다(16050). 제어부 페이딩 기준들이 충족되는 것을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야를 포함하는 제1 사용자 인터페이스 영역 내에 제2 세트의 시각적 속성들을 갖는 가상 객체의 표현을 계속 디스플레이하는 동안 하나 이상의 제어부 어포던스들을 디스플레이하는 것을 중지한다(16052). 예를 들어, 도 11k 및 도 11l과 관련하여 기술된 바와 같이, 제어부들(6016, 6018, 6020)은 어떠한 사용자 입력도 임계 시간 동안 검출되지 않을 때 점진적으로 페이드 아웃되고 디스플레이되는 것이 중지된다. 일부 실시예들에서, 제어부 어포던스들이 페이드 아웃된 후, 터치 감응형 표면 상에서의 탭 입력 또는 가상 객체와의 상호작용은 디바이스가 제어부 어포던스들을 제1 사용자 인터페이스 영역 내의 가상 객체의 표현과 동시에 재디스플레이하게 한다. 제어부 페이딩 기준들이 충족된다고 결정하는 것에 응답하여 제어부들을 디스플레이하는 것을 자동으로 중지하는 것은 제어부들을 디스플레이하는 것을 중지하는 데 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device exits one or more control affordances (e.g., affordance to switch back to the staging user interface, AR viewer) with a representation of a virtual object having a second set of visual properties within the first user interface area. An affordance to exit, an affordance to capture a snapshot, etc.) are displayed (16048). For example, in FIG. 11J, a set of control units including a
일부 실시예들에서, 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청에 응답하여, 제1 사용자 인터페이스 영역에 포함되는 하나 이상의 카메라들의 시야의 적어도 일부분 위에 가상 객체의 표현을 디스플레이하기 전에, (예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에 대한 치수 및 공간적 관계 데이터를 생성하기에 상이한 시야각들로부터 충분한 양의 이미지들이 없기 때문에) 캘리브레이션 기준들이 충족되지 않는다는 결정에 따라, 디바이스는 사용자가 디바이스를 물리적 환경에 대해 이동시키기 위한 프롬프트를 디스플레이한다(예컨대, 방법(17000)을 참조하여 아래에서 더 상세히 설명되는 바와 같이, 디바이스를 이동시키기 위한 시각적 프롬프트를 디스플레이하고, 선택적으로, 제1 사용자 인터페이스 영역 내에 캘리브레이션 사용자 인터페이스 객체(예컨대, 디바이스의 이동에 따라 이동하는 탄력성 와이어프레임 볼(bouncy wireframe ball) 또는 입방체)를 디스플레이한다(예컨대, 캘리브레이션 사용자 인터페이스 객체는 하나 이상의 카메라들의 시야의 블러링된 이미지 상에 오버레이된다))(16054). 사용자가 디바이스를 물리적 환경에 대해 이동시키기 위한 프롬프트를 디스플레이하는 것은 (예컨대, 디바이스의 이동이 카메라(들)의 시야 내에 가상 객체를 배치하기 위한 정보를 획득하는 데 필요하다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 사용자가 캘리브레이션 입력을 제공하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to a request to display the virtual object within the first user interface area, prior to displaying the representation of the virtual object over at least a portion of the field of view of one or more cameras included in the first user interface area, (e.g. In response to the determination that the calibration criteria are not met, the device is determined by the user, because there are not enough images from different viewing angles to generate dimensional and spatial relationship data for the physical environment captured within the field of view of one or more cameras. Display a prompt to move the device relative to the physical environment (e.g., as described in more detail below with reference to method 17000), and optionally, a first user interface area Display a calibration user interface object (e.g., a bouncy wireframe ball or cube that moves as the device moves) (e.g., the calibration user interface object is on a blurred image of the field of view of one or more cameras Overlaid)) 16054. Displaying a prompt for the user to move the device relative to the physical environment provides user visual feedback (e.g., indicating that movement of the device is necessary to obtain information to place the virtual object within the field of view of the camera(s)). To provide. Providing improved visual feedback to the user improves the operability of the device (e.g., by helping the user to provide a calibration input) and makes the user-device interface more efficient, which in addition allows the user to make the device faster. It reduces the power usage of the device and improves battery life by enabling it to be used efficiently.
도 16a 내지 도 16g에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 1000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 16a 내지 도 16g와 관련하여 전술된 방법(16000)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(16000)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 1000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 16A-16G are described is merely an example and is not intended to indicate that the described order is the only order in which the operations may be performed. One of skill in the art will recognize various ways of reordering the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g.,
도 17a 내지 도 17d는 디바이스의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 방법(17000)을 예시하는 흐름도들이다. 방법(17000)은 디스플레이 생성 컴포넌트(예컨대, 디스플레이, 프로젝터, 헤드 업 디스플레이 등), 하나 이상의 입력 디바이스들(예컨대, 터치 감응형 표면, 또는 디스플레이 생성 컴포넌트 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이), 하나 이상의 카메라들(예컨대, 디스플레이 및 터치 감응형 표면과 반대편인 디바이스의 면 상의 하나 이상의 후방 카메라들), 및 하나 이상의 카메라들을 포함하는 디바이스의 자세(예컨대, 주위의 물리적 환경에 대한 배향(예컨대, 회전 각, 요 각, 및/또는 기울기 각) 및 위치)의 변경들을 검출하기 위한 하나 이상의 자세 센서들(예컨대, 가속도계들, 자이로스코프들, 및/또는 자력계들)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 방법(17000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.17A-17D are flowcharts illustrating a
디바이스는 하나 이상의 카메라들의 시야의 표현을 포함하는(예컨대, 시야는 물리적 환경의 적어도 일부분을 캡처함) 제1 사용자 인터페이스 영역 내에 물리적 환경(예컨대, 하나 이상의 카메라들을 포함하는 디바이스 주위의 물리적 환경)의 증강 현실 뷰를 디스플레이하라는 요청을 수신한다(17002). 일부 실시예들에서, 요청은 가상 객체의 스테이징 뷰로부터 가상 객체의 증강 현실 뷰로 스위칭하기 위한 버튼 상에서 검출되는 탭 입력이다. 일부 실시예들에서, 요청은 2차원 사용자 인터페이스 내의 가상 객체의 표현 다음에 디스플레이되는 증강 현실 어포던스의 선택이다. 일부 실시예들에서, 요청은 증강 현실 측정 애플리케이션(예컨대, 물리적 환경의 측정을 용이하게 하는 측정 앱)의 활성화이다. 예를 들어, 요청은, 도 12a와 관련하여 기술된 바와 같이, 하나 이상의 카메라들의 시야(6036) 내에 가상 객체(11002)를 디스플레이하기 위한 토글(6018)에서 검출되는 탭 입력이다.The device includes a representation of the field of view of one or more cameras (e.g., the field of view captures at least a portion of the physical environment) of the physical environment (e.g., the physical environment around the device including one or more cameras) within a A request to display an augmented reality view is received (17002). In some embodiments, the request is a tap input detected on a button to switch from the staging view of the virtual object to the augmented reality view of the virtual object. In some embodiments, the request is a selection of an augmented reality affordance that is displayed following the representation of the virtual object within the two-dimensional user interface. In some embodiments, the request is activation of an augmented reality measurement application (eg, a measurement app that facilitates measurement of a physical environment). For example, the request is a tap input detected at
물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야의 표현을 디스플레이한다(예컨대, 디바이스는 캘리브레이션 기준들이 충족되지 않을 때 하나 이상의 카메라들의 시야 내의 물리적 환경의 블러링된 형태를 디스플레이한다)(17004). 예를 들어, 디바이스는 도 12e-1에 도시된 바와 같이, 하나 이상의 카메라들의 시야(6036)의 블러링된 표현을 디스플레이한다. (예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에 대한 치수 및 공간적 관계 데이터를 생성하기에 (예컨대, 상이한 시야각들로부터의) 충분한 양의 이미지 데이터가 없기 때문에, 가상 객체에 대응하는 평면이 하나 이상의 카메라들의 시야 내에서 검출되지 않기 때문에, 그리고/또는 카메라들로부터의 이용가능한 이미지 데이터에 기초하여 평면 검출을 시작하거나 진행하기에 충분한 정보가 없기 때문에) 캘리브레이션 기준들이 물리적 환경의 증강 현실 뷰에 대해 충족되지 않는다는 결정에 따라, 디바이스는 (예컨대, 디스플레이 생성 컴포넌트를 통해, 그리고 하나 이상의 카메라들의 시야의 표현(예컨대, 시야의 블러링된 형태)을 포함하는 제1 사용자 인터페이스 영역에) 물리적 환경에서의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체(예컨대, 탄력성 입방체 또는 와이어프레임 객체와 같은 스캔 프롬프트 객체)를 디스플레이한다. 예를 들어, 도 12e-1 내지 도 12i-1에서, 캘리브레이션 사용자 인터페이스 객체(12014)가 디스플레이된다. 하나 이상의 카메라들의 이동에 따른 캘리브레이션 사용자 인터페이스 객체의 애니메이션이, 예컨대, 도 12e-1 및 도 12f-1과 관련하여 기술된다. 일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들(예컨대, 바닥, 벽, 테이블, 등)을 검출하기 위해 하나 이상의 카메라들의 시야를 분석하는 것은 증강 현실 뷰의 표현을 디스플레이하라는 요청에 대응하는 입력의 초기 부분이 수신될 때 발생한다. 일부 실시예들에서, 분석은 (예컨대, 가상 객체가 스테이징 뷰 내에 디스플레이되는 동안) 요청을 수신하기 전에 발생한다. 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것은, 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 하나 이상의 자세 센서들을 통해, 물리적 환경에서의 하나 이상의 카메라들의 자세(예컨대, 위치 및/또는 배향(예컨대, 회전 각, 기울기 각, 요 각))의 변경을 검출하는 것, 및 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 것에 응답하여, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체(예컨대, 탄력성 입방체 또는 와이어프레임 객체와 같은 스캔 프롬프트 객체)의 적어도 하나의 디스플레이 파라미터(예컨대, 디스플레이 상에서의 배향, 크기, 회전, 또는 위치)를 조정하는 것을 포함한다. 예를 들어, 도 12e-2 및 도 12f-2에 각각 대응하는 도 12e-1 및 도 12f-1은 물리적 환경(5002)에 대한 디바이스(100)의 측방향 이동, 및 디바이스의 하나 이상의 카메라들의 디스플레이된 시야(6036)의 대응하는 변경을 예시한다. 도 12e-2 및 도 12f-2에서, 캘리브레이션 사용자 인터페이스 객체(12014)는 하나 이상의 카메라들의 이동에 응답하여 회전한다.In response to receiving a request to display an augmented reality view of the physical environment, the device displays a representation of the field of view of one or more cameras (e.g., the device displays a representation of the physical environment within the field of view of the one or more cameras when calibration criteria are not met. Display the blurred shape) (17004). For example, the device displays a blurred representation of the field of
물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 디스플레이 상에서 이동하는 캘리브레이션 사용자 인터페이스 객체(예컨대, 탄력성 입방체 또는 와이어프레임 객체와 같은 스캔 프롬프트 객체)를 디스플레이하는 동안, 디바이스는 캘리브레이션 기준들이 충족되는 것을 검출한다(17006). 예를 들어, 도 12e 내지 도 12j와 관련하여 기술된 바와 같이, 디바이스는 도 12e-1로부터 도 12i-1로 발생하는 디바이스의 이동에 응답하여 캘리브레이션 기준들이 충족된다고 결정한다.While displaying a calibration user interface object (e.g., a scan prompt object such as an elastic cube or wireframe object) that moves on the display in response to a detected change in the attitude of one or more cameras in the physical environment, the device Is detected (17006). For example, as described in connection with FIGS. 12E-12J, the device determines that calibration criteria are met in response to movement of the device occurring from FIGS. 12E-1 to 12I-1.
캘리브레이션 기준들이 충족되는 것을 검출하는 것에 응답하여, 디바이스는 캘리브레이션 사용자 인터페이스 객체(예컨대, 탄력성 입방체 또는 와이어프레임 객체와 같은 스캔 프롬프트 객체)를 디스플레이하는 것을 중지한다(17008). 일부 실시예들에서, 디바이스가 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지한 후, 디바이스는 블러링 없이 카메라들의 시야의 표현을 디스플레이한다. 일부 실시예들에서, 가상 객체의 표현은 카메라들의 시야의 블러링되지 않은 표현 위에 디스플레이된다. 예를 들어, 도 12j에서, 도 12e-1 내지 도 12i-1과 관련하여 기술된 디바이스의 이동에 응답하여, 캘리브레이션 사용자 인터페이스 객체(12014)는 더 이상 디스플레이되지 않고, 가상 객체(11002)는 카메라(들)의 시야의 블러링되지 않은 표현(6036) 위에 디스플레이된다. 하나 이상의 카메라들(예컨대, 디바이스의 물리적 환경을 캡처하는 디바이스 카메라들)의 이동에 따라 캘리브레이션 사용자 인터페이스 객체의 디스플레이 파라미터를 조정하는 것은 (예컨대, 디바이스의 이동이 캘리브레이션에 필요하다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 캘리브레이션 기준들을 충족시키는 데 필요한 정보를 제공하는 방식으로 사용자가 디바이스를 이동시키도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In response to detecting that the calibration criteria are met, the device stops displaying a calibration user interface object (eg, a scan prompt object such as an elastic cube or wireframe object) (17008). In some embodiments, after the device stops displaying the calibration user interface object, the device displays a representation of the camera's field of view without blurring. In some embodiments, the representation of the virtual object is displayed over the unblurred representation of the cameras' field of view. For example, in FIG. 12J, in response to movement of the device described in connection with FIGS. 12E-1 to 12I-1, the calibration
일부 실시예들에서, 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 물리적 환경(예컨대, 하나 이상의 카메라들을 포함하는 디바이스 주위의 물리적 환경)의 증강 현실 뷰를 디스플레이하라는 요청은 물리적 환경의 증강 현실 뷰 내에 가상 3차원 객체(예컨대, 3차원 모델을 갖는 가상 객체)의 표현을 디스플레이하라는 요청을 포함한다(17010). 일부 실시예들에서, 요청은 가상 객체의 스테이징 뷰로부터 가상 객체의 증강 현실 뷰로 스위칭하기 위한 버튼 상에서 검출되는 탭 입력이다. 일부 실시예들에서, 요청은 2차원 사용자 인터페이스 내의 가상 객체의 표현 다음에 디스플레이되는 증강 현실 어포던스의 선택이다. 예를 들어, 도 12a에서, 토글 제어부(6018)에 대응하는 위치에서의 접촉(12002)에 의한 입력은, 도 12b에 도시된 바와 같이, 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 가상 객체(11002)를 디스플레이하라는 요청이다. 증강 현실 뷰 내에 가상 객체를 디스플레이하라는 요청에 응답하여 물리적 환경의 증강 현실 뷰를 디스플레이하는 것은 (예컨대, 물리적 환경의 뷰 및 가상 객체 둘 모두를 디스플레이하기 위한) 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 (예컨대, 사용자가 캘리브레이션 입력을 제공하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the request to display an augmented reality view of a physical environment (e.g., a physical environment around a device including one or more cameras) within a first user interface area containing a representation of the field of view of one or more cameras And a request to display a representation of a virtual three-dimensional object (eg, a virtual object having a three-dimensional model) in the augmented reality view of (17010). In some embodiments, the request is a tap input detected on a button to switch from the staging view of the virtual object to the augmented reality view of the virtual object. In some embodiments, the request is a selection of an augmented reality affordance that is displayed following the representation of the virtual object within the two-dimensional user interface. For example, in FIG. 12A, the input by the
일부 실시예들에서, 디바이스는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지한 후에 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 표현을 (예컨대, 캘리브레이션 기준들이 충족된 후) 디스플레이한다(17012). 일부 실시예들에서, 요청에 응답하여, 캘리브레이션이 완료되고 카메라의 시야가 완전히 선명하게 디스플레이된 후, 가상 객체는 하나 이상의 카메라들의 시야에서 식별된 미리정의된 평면(예컨대, 가상 객체의 3차원 표현에 대한 지지 평면으로서 역할을 할 수 있는 수직 벽 또는 수평 바닥 표면과 같은 물리적 표면)에 대한 미리정의된 위치 및/또는 배향으로 낙하한다. 예를 들어, 도 12j에서, 디바이스는 도 12e 내지 도 12i에 디스플레이되었던 캘리브레이션 사용자 인터페이스 객체(12014)를 디스플레이하는 것을 중지하였고, 가상 객체(11002)는 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 디스플레이된다. 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지한 후 디스플레이된 증강 현실 뷰 내에 가상 객체를 디스플레이하는 것은 (예컨대, 캘리브레이션 기준들이 충족되었다는 것을 나타내기 위한) 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 캘리브레이션 기준들이 충족되기 전에 사용자가 적절한 입력들을 제공하도록 그리고 가상 객체를 조작하기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, after the device stops displaying the calibration user interface object, the device displays a representation of the virtual three-dimensional object within the first user interface area that includes a representation of the field of view of one or more cameras (e.g., calibration criteria are met. After) display (17012). In some embodiments, in response to the request, after calibration is complete and the camera's field of view is displayed completely clearly, the virtual object is a predefined plane (e.g., a three-dimensional representation of the virtual object) identified in the field of view of one or more cameras. It falls in a predefined position and/or orientation relative to a physical surface (such as a vertical wall or horizontal floor surface) that can serve as a support plane for a. For example, in Fig. 12J, the device has stopped displaying the calibration
일부 실시예들에서, 디바이스는 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 표현을 캘리브레이션 사용자 인터페이스 객체와 동시에 (예컨대, 캘리브레이션 사용자 인터페이스 객체 뒤에) (예컨대, 캘리브레이션 기준들이 충족되기 전에) 디스플레이하는데, 가상 3차원 객체의 표현은 물리적 환경에서 하나 이상의 카메라들의 이동 동안(예컨대, 캘리브레이션 사용자 인터페이스 객체가 하나 이상의 카메라들의 이동에 따라 제1 사용자 인터페이스 영역 내에서 이동되는 동안) 제1 사용자 인터페이스 영역 내의 고정된 위치에 유지된다(예컨대, 가상 3차원 객체는 물리적 환경 내의 위치에 배치되지 않는다)(17014). 예를 들어, 도 12e-1 내지 도 12i-1에서, 가상 객체(1102)의 표현은 캘리브레이션 사용자 인터페이스 객체(12014)와 동시에 디스플레이된다. 하나 이상의 카메라들을 포함하는 디바이스(100)가 (예컨대, 도 12e-1 및 도 12f-1 그리고 대응하는 도 12e-2 및 도 12f-2에 예시된 바와 같이) 이동함에 따라, 가상 객체(1102)는 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내의 고정된 위치에 유지된다. 가상 객체를 캘리브레이션 사용자 인터페이스 객체와 동시에 디스플레이하는 것은 (예컨대, 캘리브레이션이 수행되고 있는 객체를 나타내기 위한) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 가상 객체가 배치될 평면에 대응하는 캘리브레이션 입력을 사용자가 제공하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device displays a representation of the virtual three-dimensional object within the first user interface area simultaneously with the calibration user interface object (e.g., behind the calibration user interface object) (e.g., before the calibration criteria are met), the virtual The representation of the 3D object is a fixed position within the first user interface area during movement of one or more cameras in the physical environment (e.g., while the calibration user interface object is moved within the first user interface area according to movement of one or more cameras) (E.g., the virtual three-dimensional object is not placed at a location within the physical environment) (17014). For example, in FIGS. 12E-1 to 12I-1, the representation of the virtual object 1102 is displayed simultaneously with the calibration
일부 실시예들에서, 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 물리적 환경(예컨대, 하나 이상의 카메라들을 포함하는 디바이스 주위의 물리적 환경)의 증강 현실 뷰를 디스플레이하라는 요청은 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경 내의 어떠한 가상 3차원 객체(예컨대, 3차원 모델을 갖는 가상 객체)의 표현의 디스플레이도 요청하지 않으면서 (예컨대, 하나 이상의 사용자 인터페이스 객체들 및/또는 제어부들(예컨대, 평면들, 객체들, 포인터들, 아이콘들, 마커들, 등의 윤곽들)과 함께) 하나 이상의 카메라들의 시야의 표현을 디스플레이하라는 요청을 포함한다(17016). 일부 실시예들에서, 요청은 2차원 사용자 인터페이스 내의 가상 객체의 표현 다음에 디스플레이되는 증강 현실 어포던스의 선택이다. 일부 실시예들에서, 요청은 증강 현실 측정 애플리케이션(예컨대, 물리적 환경의 측정을 용이하게 하는 측정 앱)의 활성화이다. 어떠한 가상 3차원 객체의 표현의 디스플레이도 요청하지 않으면서 하나 이상의 카메라들의 시야의 표현을 디스플레이하도록 요청하는 것은 (예컨대, 가상 객체가 디스플레이되는지 여부에 관계없이 캘리브레이션이 필요하다는 것을 나타내기 위해 동일한 캘리브레이션 사용자 인터페이스 객체를 사용함으로써) 피드백을 제공한다. 사용자에게 개선된 피드백을 제공하는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the request to display an augmented reality view of a physical environment (e.g., a physical environment around a device including one or more cameras) within a first user interface area that includes a representation of the field of view of one or more cameras is one or more. Without requesting display of a representation of any virtual three-dimensional object (e.g., a virtual object with a three-dimensional model) in the physical environment captured within the field of view of the cameras (e.g., one or more user interface objects and/or controls ( (E.g., contours of planes, objects, pointers, icons, markers, etc.)) and a request to display a representation of the field of view of one or more cameras (17016). In some embodiments, the request is a selection of an augmented reality affordance that is displayed following the representation of the virtual object within the two-dimensional user interface. In some embodiments, the request is activation of an augmented reality measurement application (eg, a measurement app that facilitates measurement of a physical environment). Requesting to display a representation of the field of view of one or more cameras without requesting display of a representation of any virtual 3D object (e.g., the same calibration user to indicate that calibration is required regardless of whether or not the virtual object is displayed) By using an interface object) to provide feedback. Providing improved feedback to the user improves the operability of the device and makes the user-device interface more efficient, which in addition reduces the power usage of the device by allowing the user to use the device more quickly and efficiently. And improve battery life.
일부 실시예들에서, 물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야의 표현을 디스플레이하고(예컨대, 캘리브레이션 기준들이 충족되지 않을 때 하나 이상의 카메라들의 시야 내의 물리적 환경의 블러링된 형태를 디스플레이함); (예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에 대한 치수 및 공간적 관계 데이터를 생성하기에 (예컨대, 상이한 시야각들로부터의) 충분한 양의 이미지 데이터가 있기 때문에, 가상 객체에 대응하는 평면이 하나 이상의 카메라들의 시야 내에서 검출되었기 때문에, 그리고/또는 카메라들로부터의 이용가능한 이미지 데이터에 기초하여 평면 검출을 시작하거나 진행하기에 충분한 정보가 있기 때문에) 캘리브레이션 기준들이 물리적 환경의 증강 현실 뷰에 대해 충족된다는 결정에 따라, 디바이스는 캘리브레이션 사용자 인터페이스 객체(예컨대, 탄력성 입방체 또는 와이어프레임 객체와 같은 스캔 프롬프트 객체)의 디스플레이를 보류한다(17018). 일부 실시예들에서, 평면들에 대한 물리적 환경의 스캐닝은 가상 3차원 객체가 스테이징 사용자 인터페이스 내에 디스플레이되는 동안 시작되는데, 이는 디바이스가, (예컨대, 카메라들의 시야가 물리적 공간 내에서 하나 이상의 평면들을 검출하기에 충분한 데이터를 제공하기 위해 충분히 이동한) 일부 환경들에서, 증강 현실 뷰를 디스플레이하기 전에 물리적 공간 내에서 하나 이상의 평면들을 검출하는 것을 가능하게 하여, 캘리브레이션 사용자 인터페이스가 디스플레이될 필요가 없게 한다. 캘리브레이션 기준들이 물리적 환경의 증강 현실 뷰에 대해 충족된다는 결정에 따라 캘리브레이션 사용자 인터페이스 객체의 디스플레이를 보류하는 것은 (예컨대, 캘리브레이션 사용자 인터페이스 객체가 없는 것이 캘리브레이션 기준들이 충족되었다는 것 및 디바이스의 이동이 캘리브레이션에 필요하지 않다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 사용자가 캘리브레이션을 목적으로 디바이스를 불필요하게 이동하는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to receiving a request to display an augmented reality view of the physical environment, the device displays a representation of the field of view of one or more cameras (e.g., the field of view of one or more cameras when calibration criteria are not met). Displays a blurred form of the physical environment within); Since there is a sufficient amount of image data (e.g., from different viewing angles) to generate dimensional and spatial relationship data for the physical environment that is captured within the field of view of one or more cameras, the plane corresponding to the virtual object is Because it was detected within the field of view of one or more cameras, and/or because there is sufficient information to initiate or proceed with the plane detection based on the image data available from the cameras), the calibration criteria are for an augmented reality view of the physical environment. Upon determining that it is satisfied, the device suspends (17018) display of the calibration user interface object (eg, a scan prompt object such as an elastic cube or wireframe object). In some embodiments, the scanning of the physical environment for the planes is initiated while the virtual three-dimensional object is displayed in the staging user interface, which allows the device (e.g., the field of view of the cameras to detect one or more planes within the physical space). In some environments (moved sufficiently to provide enough data to), it is possible to detect one or more planes within the physical space prior to displaying the augmented reality view, so that the calibration user interface does not need to be displayed. Suspending the display of the calibration user interface object in accordance with the determination that the calibration criteria are met for an augmented reality view of the physical environment (e.g., no calibration user interface object is the case that calibration criteria have been met and movement of the device is required for calibration). Provide visual feedback to the user indicating that they are not. Providing improved visual feedback to the user improves the operability of the device and makes the user-device interface more efficient (e.g., by helping the user avoid unnecessarily moving the device for calibration purposes). In addition, it reduces the power usage of the device and improves battery life by enabling the user to use the device more quickly and efficiently.
일부 실시예들에서, 디바이스는, 증강 현실 뷰의 캘리브레이션을 개선하기 위해 사용자에 의해 취해질 수 있는 액션들에 관한 정보를 제공하는 캘리브레이션 사용자 인터페이스 객체와 동시에(예컨대, 캘리브레이션 사용자 인터페이스 객체 다음에), 제1 사용자 인터페이스 영역 내에 텍스트 객체(예컨대, 현재 검출되는 에러 상태를 설명하는 텍스트 설명 및/또는 (예컨대, 검출된 에러 상태를 정정하기 위한) 사용자 액션을 요청하는 텍스트 프롬프트)를 (예컨대, 캘리브레이션 기준들이 충족되기 전에) 디스플레이한다(17020). 일부 실시예들에서, 텍스트 객체는, "excessive movement(과도한 이동)", "low detail(낮은 디테일)", "move closer(더 가깝게 이동)" 등과 같은 디바이스의 이동에 대한 프롬프트를 (예컨대, 현재 검출된 에러 상태와 함께) 사용자에게 제공한다. 일부 실시예들에서, 디바이스는 캘리브레이션 프로세스 동안의 사용자의 액션들 및 사용자의 액션들에 기초하여 검출되는 새로운 에러 상태들에 따라 텍스트 객체를 업데이트한다. 캘리브레이션 사용자 인터페이스 객체와 동시에 텍스트를 디스플레이하는 것은 (예컨대, 캘리브레이션에 필요한 이동의 유형의 구두 표시를 제공하는) 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device is simultaneously with a calibration user interface object (e.g., after a calibration user interface object) that provides information about actions that can be taken by the user to improve calibration of the augmented reality view. 1 In the user interface area, create a text object (e.g., a text description describing the currently detected error condition and/or a text prompt requesting a user action (e.g., to correct the detected error condition)) (e.g., calibration criteria). Before being satisfied) (17020). In some embodiments, the text object prompts for movement of the device, such as “excessive movement”, “low detail”, “move closer”, etc. With the detected error status) to the user. In some embodiments, the device updates the text object according to the user's actions during the calibration process and new error conditions detected based on the user's actions. Displaying text concurrently with a calibration user interface object provides visual feedback to the user (eg, providing a verbal indication of the type of movement required for calibration). Providing improved visual feedback to the user improves the operability of the device and improves the user-device interface (e.g., by helping the user provide appropriate inputs and reducing user mistakes when actuating/interacting with the device). This makes the device more efficient, which in addition, reduces the power usage of the device and improves battery life by enabling the user to use the device more quickly and efficiently.
일부 실시예들에서, 캘리브레이션 기준들이 충족됨을 (예컨대, 캘리브레이션 사용자 인터페이스 객체가 디스플레이되기도 전에 기준들이 충족됨을, 또는 캘리브레이션 사용자 인터페이스 객체가 일정 기간 동안 디스플레이 및 애니메이션화된 후에 기준들이 충족됨을) 검출하는 것에 응답하여, 디바이스는 (예컨대, 캘리브레이션 사용자 인터페이스 객체가 초기에 디스플레이된 경우 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지한 후) 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면의 시각적 표시를 디스플레이한다(예컨대, 검출된 평면 둘레에 윤곽을 디스플레이하거나, 검출된 평면을 강조함)(17022). 예를 들어, 도 12j에서, 평면(바닥 표면(5038))은 평면이 하나 이상의 카메라들의 디스플레이된 시야(6036) 내에서 캡처된 바와 같이 물리적 환경(5002)에서 검출되었다는 것을 나타내기 위해 강조된다. 검출된 평면의 시각적 표시를 디스플레이하는 것은 (예컨대, 디바이스 카메라(들)에 의해 캡처되는 물리적 환경에서 평면이 검출되었다는 것을 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting that the calibration criteria are satisfied (e.g., that the criteria are satisfied before the calibration user interface object is displayed, or that the criteria are satisfied after the calibration user interface object is displayed and animated for a period of time) Thus, the device displays a visual indication of the plane detected in the physical environment captured within the field of view of one or more cameras (e.g., after stopping displaying the calibration user interface object if the calibration user interface object was initially displayed). (Eg, to display an outline around the detected plane, or to highlight the detected plane) 17022. For example, in FIG. 12J, the plane (floor surface 5038) is highlighted to indicate that the plane was detected in the
일부 실시예들에서, 물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하는 것에 응답하여, 캘리브레이션 기준들이 충족되지 않는다는 결정에 따라 그리고 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 전에, 디바이스는 (예컨대, 디스플레이 생성 컴포넌트를 통해, 그리고 하나 이상의 카메라들의 시야의 표현(예컨대, 시야의 블러링된 형태)을 포함하는 제1 사용자 인터페이스 영역에) 평면의 표현에 대해 이동하는 디바이스의 표현을 포함하는 애니메이션화된 프롬프트 객체(예컨대, 탄력성 입방체 또는 와이어프레임 객체와 같은 스캔 프롬프트 객체)를 디스플레이한다(예컨대, 평면의 표현에 대한 디바이스의 표현의 이동은 사용자에 의해 이루어질 디바이스의 요구되는 이동을 나타낸다)(17024). 예를 들어, 애니메이션화된 프롬프트 객체는, 도 12b 내지 도 12d와 관련하여 기술된 바와 같이, 평면의 표현(12010)에 대해 이동하는 디바이스(100)의 표현(12004)을 포함한다. 일부 실시예들에서, 디바이스는 디바이스가 디바이스의 이동을 검출할 때 애니메이션화된 프롬프트 객체를 디스플레이하는 것을 중지한다(예컨대, 캘리브레이션이 진행되는 것을 가능하게 할 방식으로 사용자가 디바이스를 이동시키기 시작했다는 것을 나타냄). 일부 실시예들에서, 디바이스는, 디바이스의 캘리브레이션에 대해 추가로 사용자를 안내하기 위해 디바이스가 디바이스의 이동을 검출할 때 그리고 캘리브레이션이 완료되기 전에, 애니메이션화된 프롬프트 객체의 디스플레이를 캘리브레이션 사용자 인터페이스 객체로 대체한다. 예를 들어, 도 12c 내지 도 12e와 관련하여 기술된 바와 같이, 디바이스의 이동이 (도 12c 및 도 12d에 도시된 바와 같이) 검출된 경우, 디바이스(100)의 표현(12004)을 포함하는 애니메이션화된 프롬프트가 디스플레이되는 것이 중지되고, 캘리브레이션 사용자 인터페이스 객체(12014)가 도 12e에 디스플레이된다. 평면의 표현에 대해 이동하는 디바이스의 표현을 포함하는 애니메이션화된 프롬프트 객체를 디스플레이하는 것은 (예컨대, 캘리브레이션에 필요한 디바이스의 이동의 유형을 예시하는) 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 캘리브레이션 기준들을 충족시키는 데 필요한 정보를 제공하는 방식으로 사용자가 디바이스를 이동시키도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to receiving a request to display an augmented reality view of the physical environment, in accordance with a determination that the calibration criteria are not met and prior to displaying the calibration user interface object, the device (e.g., display creation component An animated prompt object (e.g., an animated prompt object containing a representation of the device moving relative to the representation of the plane) via, and in a first user interface area containing a representation of the field of view of one or more cameras (e.g. , A scan prompt object, such as a resilient cube or wireframe object) (e.g., movement of the device's representation relative to the representation of the plane represents the required movement of the device to be made by the user) (17024). For example, the animated prompt object includes a
일부 실시예들에서, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것은, 물리적 환경에서의 하나 이상의 카메라들의 이동의 제1 크기에 따라 캘리브레이션 사용자 인터페이스 객체를 제1 양만큼 이동시키는 것; 및 물리적 환경에서의 하나 이상의 카메라들의 이동의 제2 크기에 따라 캘리브레이션 사용자 인터페이스 객체를 제2 양만큼 이동시키는 것을 포함하고, 제1 양은 제2 양과는 구별되고(예컨대, 제2 양보다 크고), 이동의 제1 크기는 이동의 제2 크기와 구별된다(예컨대, 제2 크기보다 크다)(예컨대, 이동의 제1 및 제2 크기들은 물리적 환경에서의 동일한 방향으로의 이동에 기초하여 측정된다)(17026). 하나 이상의 (디바이스) 카메라들의 이동의 크기에 대응하는 양만큼 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것은 (예컨대, 캘리브레이션 사용자 인터페이스 객체의 이동이 캘리브레이션에 필요한 디바이스의 이동에 대한 가이드인 것을 사용자에게 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, adjusting the at least one display parameter of the calibration user interface object according to the detected change in the attitude of one or more cameras in the physical environment is dependent on the first magnitude of movement of the one or more cameras in the physical environment. Moving the calibration user interface object by a first amount accordingly; And moving the calibration user interface object by a second amount according to a second amount of movement of the one or more cameras in the physical environment, wherein the first amount is distinct from the second amount (e.g., greater than the second amount), The first magnitude of movement is distinct from the second magnitude of movement (e.g., greater than the second magnitude) (e.g., the first and second magnitudes of movement are measured based on movement in the same direction in the physical environment) (17026). Moving the calibration user interface object by an amount corresponding to the size of the movement of one or more (device) cameras (e.g., indicating to the user that the movement of the calibration user interface object is a guide to the movement of the device required for calibration) Provides. Providing improved visual feedback to the user improves the operability of the device and improves the user-device interface (e.g., by helping the user provide appropriate inputs and reducing user mistakes when actuating/interacting with the device). This makes the device more efficient, which in addition, reduces the power usage of the device and improves battery life by enabling the user to use the device more quickly and efficiently.
일부 실시예들에서, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것은, 하나 이상의 카메라들의 자세의 검출된 변경이 제1 유형의 이동(예컨대, 좌향하는, 우향하는, 또는 전후 좌우 이동과 같은 좌우 이동)에 대응한다는 (그리고 제2 유형의 이동(예컨대, 상향, 하향, 또는 상하 이동과 같은 수직 이동)에 대응하지 않는다는) 결정에 따라, 제1 유형의 이동에 기초하여 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것(예컨대, 캘리브레이션 사용자 인터페이스 객체를 제1 방식으로 이동시키는 것(예컨대, 캘리브레이션 사용자 인터페이스 객체를 통과하는 수직 축을 중심으로 캘리브레이션 사용자 인터페이스 객체를 회전시키는 것)); 및 하나 이상의 카메라들의 자세의 검출된 변경이 제2 유형의 이동에 대응한다는 (그리고 제1 유형의 이동에 대응하지 않는다는) 결정에 따라, 제2 유형의 이동에 기초하여 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것을 보류하는 것(예컨대, 캘리브레이션 사용자 인터페이스 객체를 제1 방식으로 이동시키는 것을 보류하거나 캘리브레이션 사용자 인터페이스 객체를 정지 상태로 유지하는 것)을 포함한다(17028). 예를 들어, (예컨대, 도 12f-1과 도 12g-1, 및 도 12f-2와 도 12g-2와 관련하여 기술된 바와 같이) 하나 이상의 카메라들을 포함하는 디바이스(100)의 좌우 이동은 캘리브레이션 사용자 인터페이스 객체(12014)가 회전하게 하는 반면, (예컨대, 도 12g-1과 도 12h-1, 및 도 12g-2와 도 12h-2와 관련하여 기술된 바와 같은) 디바이스(100)의 수직 이동은 캘리브레이션 사용자 인터페이스 객체(12014)가 회전하게 하지 않는다. 디바이스 카메라(들)의 자세의 검출된 변경이 제2 유형의 이동에 대응한다는 결정에 따라 캘리브레이션 사용자 인터페이스 객체의 이동을 보류하는 것은 (예컨대, 하나 이상의 카메라들의 제2 유형의 이동이 캘리브레이션에 필요하지 않다는 것을 사용자에게 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 사용자가 불필요한 입력을 제공하는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, adjusting the at least one display parameter of the calibration user interface object according to the detected change in the attitude of one or more cameras in the physical environment is such that the detected change in the attitude of the one or more cameras is of a first type. Determining that it corresponds to a movement (e.g., a left-right movement, such as a leftward, a rightward, or a back-and-forth, left-right movement) (and does not correspond to a second type of movement (eg, a vertical movement such as an upward, downward, or vertical movement) According to, moving the calibration user interface object based on a first type of movement (e.g., moving the calibration user interface object in a first manner (e.g., the calibration user around a vertical axis passing through the calibration user interface object) Rotating the interface object)); And moving the calibration user interface object based on the second type of movement, according to a determination that the detected change in the pose of the one or more cameras corresponds to a second type of movement (and does not correspond to a first type of movement). Suspending (e.g., suspending moving the calibration user interface object in a first manner, or holding the calibration user interface object stationary) (17028). For example, the left and right movement of the
일부 실시예들에서, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것은, 제1 사용자 인터페이스 영역 위에서 캘리브레이션 사용자 인터페이스 객체의 특성 디스플레이 위치(예컨대, 디스플레이 상의 캘리브레이션 사용자 인터페이스 객체의 기하학적 중심 또는 축의 위치)를 변경하지 않고서 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체를 이동시키는 (예컨대, 회전시키는 그리고/또는 기울이는) 것을 포함한다(예컨대, 캘리브레이션 사용자 인터페이스 객체가 디스플레이 상의 고정된 위치에 고정되어 있는 한편, 물리적 환경은 캘리브레이션 사용자 인터페이스 객체 아래의 하나 이상의 카메라들의 시야 내에서 이동한다)(17030). 예를 들어, 도 12e-1 내지 도 12i-1에서, 캘리브레이션 사용자 인터페이스 객체(12014)는 디스플레이(112)에 대해 고정된 위치에 유지하면서 회전한다. 캘리브레이션 사용자 인터페이스 객체의 특성 디스플레이 위치를 변경하지 않고서 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것은 (예컨대, 캘리브레이션 사용자 인터페이스 객체가 디스플레이된 증강 현실 환경에 대해 일정 위치에 배치되는 가상 객체와 구별되는 것을 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 사용자가 적절한 입력들을 제공하도록 그리고 사용자 입력 실수들을 감소시키도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, adjusting the at least one display parameter of the calibration user interface object according to the detected change in the posture of the one or more cameras in the physical environment comprises: a characteristic display position of the calibration user interface object on the first user interface area. Moving (e.g., rotating and/or) the calibration user interface object according to a detected change in the pose of one or more cameras in the physical environment without changing (e.g., the position of the axis or the geometric center of the calibration user interface object on the display). Tilt) (e.g., while the calibration user interface object is fixed in a fixed position on the display, while the physical environment moves within the field of view of one or more cameras below the calibration user interface object) (17030). For example, in FIGS. 12E-1 to 12I-1, the calibration
일부 실시예들에서, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것은, 물리적 환경에서의 하나 이상의 카메라들의 이동 방향에 수직인 축을 중심으로 캘리브레이션 사용자 인터페이스 객체를 회전시키는 것을 포함한다(예컨대, 캘리브레이션 사용자 인터페이스 객체는 (예컨대, 카메라들을 포함하는) 디바이스가 x-y 평면 상에서 전후로 이동할 때 z-축을 중심으로 회전하거나, 캘리브레이션 사용자 인터페이스 객체는 (예컨대, 카메라들을 포함하는) 디바이스가 x-축을 따라서 좌우로 이동할 때 y-축을 중심으로 회전한다(예컨대, x-축은, 예를 들어, 물리적 환경에 대해 수평 방향으로서 정의되고 터치 스크린 디스플레이의 평면 내에 놓인다))(17032). 예를 들어, 도 12e-1 내지 도 12g-1에서, 캘리브레이션 사용자 인터페이스 객체(12014)는 도 12e-2 내지 도 12g-2에 도시된 디바이스의 좌우 이동에 수직인 수직 축을 중심으로 회전한다. 디바이스 카메라(들)의 이동에 수직인 축을 중심으로 캘리브레이션 사용자 인터페이스 객체를 회전시키는 것은 (예컨대, 캘리브레이션 사용자 인터페이스 객체의 이동이 캘리브레이션에 필요한 디바이스의 이동에 대한 가이드인 것을 사용자에게 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, adjusting the at least one display parameter of the calibration user interface object in accordance with the detected change in the attitude of one or more cameras in the physical environment comprises an axis perpendicular to the direction of movement of the one or more cameras in the physical environment. It includes rotating the calibration user interface object around the center (e.g., the calibration user interface object rotates around the z-axis when the device (e.g., including cameras) moves back and forth on the xy plane, or For example, a device (including cameras) rotates about a y-axis as it moves left and right along the x-axis (e.g., the x-axis is defined as, for example, a horizontal direction relative to the physical environment and is within the plane of the touch screen display Placed)) (17032). For example, in FIGS. 12E-1 to 12G-1, the calibration
일부 실시예들에서, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것은, 하나 이상의 카메라들의 시야 내에서 검출되는 변경의 속도(예컨대, 물리적 환경의 이동 속도)에 따라 결정되는 속도로 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것을 포함한다(17034). 디바이스 카메라(들)의 자세의 변경에 따라 결정되는 속도로 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것은 (예컨대, 캘리브레이션 사용자 인터페이스 객체의 이동이 캘리브레이션에 필요한 디바이스의 이동에 대한 가이드인 것을 사용자에게 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, adjusting the at least one display parameter of the calibration user interface object in accordance with the detected change in the attitude of one or more cameras in the physical environment includes the rate of change detected within the field of view of the one or more cameras (e.g. , Moving the calibration user interface object at a speed determined according to the moving speed of the physical environment (17034). Moving the calibration user interface object at a speed determined according to the change of the device camera(s) posture (e.g., visual feedback indicating to the user that the movement of the calibration user interface object is a guide to the movement of the device required for calibration) Provides. Providing improved visual feedback to the user improves the operability of the device and improves the user-device interface (e.g., by helping the user provide appropriate inputs and reducing user mistakes when actuating/interacting with the device). This makes the device more efficient, which in addition, reduces the power usage of the device and improves battery life by enabling the user to use the device more quickly and efficiently.
일부 실시예들에서, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것은, 하나 이상의 카메라들의 시야 내에서 검출되는 변경(예컨대, 물리적 환경의 이동 속도)의 방향에 따라 결정되는 방향으로 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것을 포함한다(예컨대, 디바이스는 우측으로부터 좌측으로의 디바이스의 이동에 대해 캘리브레이션 사용자 인터페이스 객체를 시계방향으로 회전시키고 좌측으로부터 우측으로의 디바이스의 이동에 대해 캘리브레이션 사용자 인터페이스 객체를 반시계방향으로 회전시키거나, 또는 디바이스는 우측으로부터 좌측으로의 디바이스의 이동에 대해 캘리브레이션 사용자 인터페이스 객체를 반시계방향으로 회전시키고 좌측으로부터 우측으로의 디바이스의 이동에 대해 캘리브레이션 사용자 인터페이스 객체를 시계방향으로 회전시킨다)(17036). 디바이스 카메라(들)의 자세의 변경에 따라 결정되는 방향으로 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것은 (예컨대, 캘리브레이션 사용자 인터페이스 객체의 이동이 캘리브레이션에 필요한 디바이스의 이동에 대한 가이드인 것을 사용자에게 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, adjusting the at least one display parameter of the calibration user interface object according to the detected change in the posture of one or more cameras in the physical environment includes a change detected within the field of view of the one or more cameras (e.g., physical It includes moving the calibration user interface object in a direction determined according to the direction of the movement speed of the environment) (e.g., the device rotates the calibration user interface object clockwise for movement of the device from right to left, and Rotate the calibration user interface object counterclockwise for device movement to the right, or the device rotates the calibration user interface object counterclockwise for device movement from right to left and Rotate the calibration user interface object clockwise in response to the movement of the device) (17036). Moving the calibration user interface object in the direction determined according to the change of the device camera(s) posture (e.g., visual feedback indicating to the user that the movement of the calibration user interface object is a guide to the movement of the device required for calibration) Provides. Providing improved visual feedback to the user improves the operability of the device and improves the user-device interface (e.g., by helping the user provide appropriate inputs and reducing user mistakes when actuating/interacting with the device). This makes the device more efficient, which in addition, reduces the power usage of the device and improves battery life by enabling the user to use the device more quickly and efficiently.
도 17a 내지 도 17d에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 1000, 16000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 17a 내지 도 17d와 관련하여 전술된 방법(17000)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(17000)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 1000, 16000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 17A-17D are described is merely an example and is not intended to indicate that the described order is the only order in which the operations may be performed. One of skill in the art will recognize various ways of reordering the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g.,
도 18a 내지 도 18i는 축을 중심으로 하는 가상 객체의 회전을 제약하는 방법(18000)을 예시하는 흐름도들이다. 방법(18000)은 디스플레이 생성 컴포넌트(예컨대, 디스플레이, 프로젝터, 헤드 업 디스플레이 등), 하나 이상의 입력 디바이스들(예컨대, 터치 감응형 표면, 또는 디스플레이 생성 컴포넌트 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이), 하나 이상의 카메라들(예컨대, 디스플레이 및 터치 감응형 표면과 반대편인 디바이스의 면 상의 하나 이상의 후방 카메라들), 및 하나 이상의 카메라들을 포함하는 디바이스의 자세(예컨대, 주위의 물리적 환경에 대한 배향(예컨대, 회전 각, 요 각, 및/또는 기울기 각) 및 위치)의 변경들을 검출하기 위한 하나 이상의 자세 센서들(예컨대, 가속도계들, 자이로스코프들, 및/또는 자력계들)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 방법(18000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.18A-18I are flow charts illustrating a
디바이스는, 디스플레이 생성 컴포넌트에 의해, 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스 또는 증강 현실 사용자 인터페이스) 내에 가상 3차원 객체의 제1 시점의 표현을 디스플레이한다(18002). 예를 들어, 가상 객체(11002)는, 도 13b에 도시된 바와 같이, 스테이징 사용자 인터페이스(6010) 내에 보여진다.The device displays, by the display generating component, a representation of the first viewpoint of the virtual three-dimensional object in the first user interface area (eg, staging user interface or augmented reality user interface) (18002). For example, the
디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 제1 시점의 표현을 디스플레이하는 동안, 디바이스는 가상 3차원 객체의 제1 시점으로부터 가시적이지 않은 가상 3차원 객체의 일부분을 디스플레이하기 위해 가상 3차원 객체를 디스플레이(예컨대, 터치 스크린 디스플레이의 평면과 같은 디스플레이 생성 컴포넌트에 대응하는 디스플레이 평면)에 대해 회전시키라는 요청에 대응하는 제1 입력(예컨대, 터치 감응형 표면 상에서의 (예컨대, 한 손가락 또는 두 손가락 접촉들에 의한) 스와이프 입력, 또는 피봇 입력(예컨대, 두 손가락 회전, 또는 한 손가락 접촉이 다른 손가락 접촉을 중심으로 피벗))을 검출한다(18004). 예를 들어, 요청은 도 13b 및 도 13c와 관련하여 기술된 바와 같은 입력 또는 도 13e 및 도 13f와 관련하여 기술된 바와 같은 입력이다.While displaying the representation of the first viewpoint of the virtual 3D object in the first user interface area on the display, the device displays a portion of the virtual 3D object that is not visible from the first viewpoint of the virtual 3D object. A first input corresponding to a request to rotate the object relative to a display (e.g., a display plane corresponding to a display generating component such as the plane of a touch screen display) (e.g., one finger or two A swipe input (by finger contacts), or a pivot input (eg, two-finger rotation, or one finger contact pivots around another finger contact) is detected (18004). For example, the request is an input as described in connection with FIGS. 13B and 13C or an input as described in connection with FIGS. 13E and 13F.
제1 입력을 검출하는 것에 응답하여, 제1 입력이 제1 축(예컨대, 디스플레이의 평면(예컨대, x-y 평면)에 수평 방향으로 평행한 제1 축, 예컨대, x-축)을 중심으로 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 디바이스는 제1 입력의 크기(예컨대, 터치 감응형 표면(예컨대, 디스플레이의 x-y 평면에 대한 대응하는 x-y 평면)의 수직 축(예컨대, y-축)을 따르는 스와이프 입력의 속도 및/또는 거리)에 기초하여 결정되는 그리고 제1 축에 대한 임계량 초과의 회전에 의해 가상 3차원 객체의 회전을 제한하는 이동에 대한 한계에 의해 제약되는 양만큼 가상 3차원 객체를 제1 축에 대해 회전시킨다(예컨대, 제1 축을 중심으로 하는 회전은 제1 축을 중심으로 +/-30도 각도의 범위로 제한되고, 그 범위를 넘는 회전은 제1 입력의 크기에 상관없이 금지된다)(18006). 예를 들어, 도 13e 내지 도 13g와 관련하여 기술된 바와 같이, 가상 객체(11002)의 회전은 한계에 의해 제약된다. 제1 입력이 제1 축과 상이한 제2 축(예컨대, 디스플레이의 평면(예컨대, x-y 평면)에 수직 방향으로 평행한 제2 축, 예컨대, y-축)을 중심으로 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 디바이스는 제1 입력의 크기(예컨대, 터치 감응형 표면(예컨대, 디스플레이의 x-y 평면에 대한 대응하는 x-y 평면)의 수평 축(예컨대, x-축)을 따르는 스와이프 입력의 속도 및/또는 거리)에 기초하여 결정되는 양만큼 가상 3차원 객체를 제2 축에 대해 회전시키는데, 각각의 임계치 초과의 크기를 갖는 입력의 경우, 디바이스는 임계량 초과의 회전만큼 제2 축에 대해 가상 3차원 객체를 회전시킨다. 일부 실시예들에서, 제2 축에 대한 회전의 경우, 디바이스는 제1 축에 대한 회전에 대한 제약조건보다 큰 회전에 대한 제약조건을 부과한다(예컨대, 3차원 객체는 30도 대신에 60도로 회전하도록 허용된다). 일부 실시예들에서, 제2 축에 대한 회전의 경우, 디바이스는 회전에 대한 제약조건을 부과하지 않아서, 3차원 객체가 제2 축을 중심으로 자유롭게 회전할 수 있게 한다(예컨대, 하나 이상의 접촉들의 이동을 포함하는 빠른 또는 긴 스와이프 입력과 같은 충분히 큰 크기를 갖는 입력의 경우, 3차원 객체는 제2 축에 대해 360도 초과로 회전할 수 있다). 예를 들어, 도 13e 내지 도 13g와 관련하여 기술된 입력에 응답하여 x-축을 중심으로 하는 가상 객체(11002)의 회전량보다 큰 가상 객체(11002)의 회전량이 도 13b 및 도 13c와 관련하여 기술된 입력에 응답하여 y-축을 중심으로 발생한다. 입력이 객체를 제1 축을 중심으로 회전시키라는 요청인지 또는 제2 축을 중심으로 회전시키라는 요청인지에 따라 객체를 임계량으로 제약되는 양만큼 회전시킬지 또는 객체를 임계량 초과만큼 회전시킬지를 결정하는 것은 상이한 유형들의 회전 동작들을 제어하는 능력을 개선시킨다. 디스플레이된 추가 제어부들로 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공하는 것은 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만든다.In response to detecting the first input, the first input is three-dimensional about a first axis (e.g., a first axis horizontally parallel to the plane of the display (e.g., xy plane), e.g., x-axis). Upon determining that it responds to the request to rotate the object, the device may determine the size of the first input (e.g., the vertical axis (e.g., y-axis) of the touch-sensitive surface (e.g., the corresponding xy plane relative to the xy plane of the display)). ), which is determined based on the speed and/or distance of the swipe input) and is virtual by an amount constrained by the limit on movement that limits the rotation of the virtual three-dimensional object by rotation above a threshold amount about the first axis. Rotate a 3D object about a first axis (e.g., a rotation about a first axis is limited to a range of +/-30 degrees about a first axis, and a rotation beyond that range is the magnitude of the first input) Is prohibited regardless of) (18006). For example, as described in connection with FIGS. 13E-13G, the rotation of the
일부 실시예들에서, 제1 입력을 검출하는 것에 응답하여, 제1 입력이 제1 방향(예컨대, y-방향, 터치 감응형 표면 상의 수직 방향)으로 터치 감응형 표면을 가로지르는 접촉의 제1 이동을 포함한다는 그리고 제1 방향으로의 접촉의 제1 이동이 제1 축에 대해 가상 객체의 표현을 회전시키기 위한 제1 기준들을 충족한다는 결정에 따라 - 제1 기준들은 제1 기준들이 충족되기 위해 제1 입력이 제1 방향으로의 제1 임계량 초과의 이동을 포함한다는 요건을 포함함(예컨대, 디바이스가 제1 방향으로의 제1 임계량 초과의 이동을 검출할 때까지 디바이스는 제1 축을 중심으로 하는 3차원 객체의 회전을 개시하지 않음) -, 디바이스는 제1 입력이 제1 축(예컨대, x-축, 디스플레이에 평행한 수평 축, 또는 가상 객체를 통과하는 수평 축)을 중심으로 3차원 객체를 회전시키라는 요청에 대응하는 것으로 결정하고; 제1 입력이 제2 방향(예컨대, x-방향, 터치 감응형 표면 상의 수평 방향)으로 터치 감응형 표면을 가로지르는 접촉의 제2 이동을 포함한다는 그리고 제2 방향으로의 접촉의 제2 이동이 제2 축에 대해 가상 객체의 표현을 회전시키기 위한 제2 기준들을 충족한다는 결정에 따라 - 제2 기준들은 제2 기준들이 충족되기 위해 제1 입력이 제2 방향으로의 제2 임계량 초과의 이동을 포함한다는 요건을 포함함(예컨대, 디바이스가 제2 방향으로의 제2 임계량 초과의 이동을 검출할 때까지 디바이스는 제2 축을 중심으로 하는 3차원 객체의 회전을 개시하지 않음) -, 디바이스는 제1 입력이 제2 축(예컨대, 디스플레이에 평행한 수직 축, 또는 가상 객체를 통과하는 수직 축)을 중심으로 3차원 객체를 회전시키라는 요청에 대응하는 것으로 결정하는데, 제1 임계치는 제2 임계치보다 크다(예컨대, 사용자는 수직 축을 중심으로 하는 회전을 트리거하기 위해(예컨대, 객체를 회전시키기 위해) 수평 방향으로 스와이프하는 것보다 수평 축을 중심으로 하는 회전을 트리거하기 위해(예컨대, 사용자에 대해 객체를 전방으로 또는 후방으로 기울이기 위해) 더 큰 양만큼 수직 방향으로 스와이프할 필요가 있다)(18008). 입력이 객체를 제1 축을 중심으로 회전시키라는 요청인지 또는 제2 축을 중심으로 회전시키라는 요청인지에 따라, 객체를 임계량으로 제약되는 양만큼 회전시킬지 또는 객체를 임계량 초과만큼 회전시킬지를 결정하는 것은 객체를 회전시키라는 요청에 대응하는 입력에 응답하여 상이한 유형들의 회전 동작들을 제어하는 능력을 개선시킨다. 디스플레이된 추가 제어부들로 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공하는 것은 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만든다.In some embodiments, in response to detecting the first input, the first input is a first of a contact across the touch-sensitive surface in a first direction (e.g., y-direction, vertical direction on the touch-sensitive surface). According to the determination that the first movement of the contact in the first direction comprises a movement and meets the first criteria for rotating the representation of the virtual object about a first axis-the first criteria are to be met so that the first criteria are satisfied. Includes a requirement that the first input includes a movement above a first threshold amount in a first direction (e.g., the device is about a first axis until the device detects a movement above the first threshold amount in the first direction). Does not initiate rotation of the 3D object) -, the
일부 실시예들에서, 제1 축에 대한 가상 3차원 객체의 회전은 제1 입력의 제1 입력 파라미터의 특성 값(예컨대, 스와이프 거리, 또는 스와이프 속도)과 제1 축을 중심으로 하는 가상 3차원 객체에 적용되는 회전량 사이의 제1 대응 정도(degree of correspondence)로 발생하고, 제2 축에 대한 가상 3차원 객체의 회전은 제2 입력 제스처의 제1 입력 파라미터의 특성 값(예컨대, 스와이프 거리, 또는 스와이프 속도)과 제2 축을 중심으로 하는 가상 3차원 객체에 적용되는 회전량 사이의 제2 대응 정도로 발생하고, 제1 대응 정도는 제2 대응 정도보다 제1 입력 파라미터에 대한 가상 3차원 객체의 더 작은 회전을 수반한다(예컨대, 제1 축을 중심으로 하는 회전은 제2 축을 중심으로 하는 회전보다 큰 마찰 또는 걸림을 갖는다)(18010). 예를 들어, 가상 객체(11002)의 제1 회전량은 (도 13b 및 도 13c와 관련하여 기술된 바와 같이) y-축을 중심으로 하는 회전을 위한, 스와이프 거리(d1)를 갖는 스와이프 입력에 응답하여 발생하고, 제1 회전량보다 작은 가상 객체(11002)의 제2 회전량은 (도 13e 내지 도 13g와 관련하여 기술된 바와 같이) x-축을 중심으로 하는 회전을 위한, 스와이프 거리(d1)를 갖는 스와이프 입력에 응답하여 발생한다. 입력이 객체를 제1 축을 중심으로 회전시키라는 요청인지 또는 제2 축을 중심으로 회전시키라는 요청인지에 따라, 입력에 응답하여 가상 객체를 회전의 더 큰 정도 또는 더 작은 정도로 회전시키는 것은 객체를 회전시키라는 요청에 대응하는 입력에 응답하여 상이한 유형들의 회전 동작들을 제어하는 능력을 개선시킨다. 디스플레이된 추가 제어부들로 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공하는 것은 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만든다.In some embodiments, the rotation of the virtual 3D object about the first axis is a characteristic value (e.g., swipe distance, or swipe speed) of the first input parameter of the first input and the virtual 3 around the first axis. It occurs as a first degree of correspondence between the amount of rotation applied to the dimensional object, and the rotation of the virtual 3D object about the second axis is a characteristic value of the first input parameter of the second input gesture. The second degree of correspondence occurs between the wipe distance, or swipe speed) and the amount of rotation applied to the virtual 3D object centered on the second axis, and the first degree of correspondence is the virtual for the first input parameter than the second degree of correspondence. A smaller rotation of the three-dimensional object is involved (eg, rotation about a first axis has greater friction or jamming than rotation about a second axis) 18010. For example, the first amount of rotation of the
일부 실시예들에서, 디바이스는 제1 입력의 종료를 검출한다(예컨대, 입력은 터치 감응형 표면 상에서의 하나 이상의 접촉들의 이동을 포함하고, 제1 입력의 종료를 검출하는 것은 터치 감응형 표면으로부터 하나 이상의 접촉들의 리프트오프를 검출하는 것을 포함한다)(18012). 제1 입력의 종료를 검출한 후(예컨대, 그에 응답하여), 디바이스는 입력의 종료를 검출하기 전의 제1 입력의 크기에 기초하여(예컨대, 접촉의 리프트오프 직전의 접촉의 이동의 속도에 기초하여) 3차원 객체를 계속 회전시키는데, 이는 3차원 객체가 제1 축에 대해 회전하고 있다는 결정에 따라, 제1 축에 대한 3차원 객체의 회전의 크기에 비례하는 제1 양만큼 제1 축에 대한 객체의 회전을 느리게 하는 것(예컨대, 제1 마찰 계수를 갖는 시뮬레이션된 마찰과 같은 제1 시뮬레이션된 물리적 파라미터에 기초하여 제1 축을 중심으로 하는 3차원 객체의 회전을 느리게 하는 것); 및 3차원 객체가 제2 축에 대해 회전하고 있다는 결정에 따라, 제2 축에 대한 3차원 객체의 회전의 크기에 비례하는 제2 양만큼 제2 축에 대한 객체의 회전을 느리게 하는 것(예컨대, 제1 마찰 계수보다 작은 제2 마찰 계수를 갖는 시뮬레이션된 마찰과 같은 제2 시뮬레이션된 물리적 파라미터에 기초하여 제2 축을 중심으로 하는 3차원 객체의 회전을 느리게 하는 것)을 포함하고, 제2 양은 제1 양과 상이하다(18014). 예를 들어, 도 13c 및 도 13d에서, 가상 객체(11002)는 도 13b 및 도 13c와 관련하여 기술된 바와 같은 가상 객체(11002)의 회전을 야기한 접촉(13002)의 리프트오프 후에 계속 회전한다. 일부 실시예들에서, 제2 양은 제1 양보다 크다. 일부 실시예들에서, 제2 양은 제1 양보다 작다. 입력이 객체를 제1 축을 중심으로 회전시키라는 요청인지 또는 제2 축을 중심으로 회전시키라는 요청인지에 따라, 입력의 종료를 검출한 후에 제1 양 또는 제2 양만큼 가상 객체의 회전을 느리게 하는 것은 제1 축 및 제2 축을 중심으로 하는 회전에 대해 회전 동작들이 가상 객체에 상이하게 적용된다는 것을 나타내는 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 평면에 대응하는 제2 배향으로의 객체의 배치 전에 사용자가 적절한 입력들을 제공하도록 그리고 가상 객체를 조작하기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device detects the termination of the first input (e.g., the input includes movement of one or more contacts on the touch-sensitive surface, and detecting the termination of the first input from the touch-sensitive surface. Detecting liftoff of one or more contacts) 18012. After detecting the end of the first input (e.g., in response to it), the device is based on the magnitude of the first input prior to detecting the end of the input (e.g., based on the speed of movement of the contact just before liftoff of the contact). Thus) the 3D object is continuously rotated, which, depending on the determination that the 3D object is rotating about the first axis, is proportional to the size of the rotation of the 3D object about the first axis. Slowing the rotation of the object about (eg, slowing the rotation of the three-dimensional object about a first axis based on a first simulated physical parameter, such as a simulated friction having a first coefficient of friction); And slowing the rotation of the object about the second axis by a second amount proportional to the size of the rotation of the 3D object about the second axis according to a determination that the 3D object is rotating about the second axis (e.g. , Slowing the rotation of the three-dimensional object about the second axis based on a second simulated physical parameter, such as a simulated friction having a second coefficient of friction less than the first coefficient of friction), wherein the second quantity is It is different from the first amount (18014). For example, in FIGS. 13C and 13D, the
일부 실시예들에서, 디바이스는 제1 입력의 종료를 검출한다(예컨대, 입력은 터치 감응형 표면 상에서의 하나 이상의 접촉들의 이동을 포함하고, 제1 입력의 종료를 검출하는 것은 터치 감응형 표면으로부터 하나 이상의 접촉들의 리프트오프를 검출하는 것을 포함한다)(18016). 제1 입력의 종료를 검출한 후(예컨대, 그에 응답하여), 3차원 객체가 제1 축에 대해 각각의 회전 임계치를 넘어서 회전되었다는 결정에 따라, 디바이스는 제1 축에 대한 3차원 객체의 회전의 적어도 일부분을 역전시키고; 3차원 객체가 제1 축에 대해 각각의 회전 임계치를 넘어서 회전되지 않았다는 결정에 따라, 디바이스는 제1 축에 대한 3차원 객체의 회전을 역전시키는 것을 보류한다(18018). (예컨대, 제1 축에 대한 3차원 객체의 회전을 중지하는 것 및/또는 입력의 종료를 검출하기 전에 입력의 크기에 의해 결정된 크기만큼 입력의 모션의 방향으로 제1 축에 대한 3차원 객체의 회전을 계속하는 것). 예를 들어, 도 13e 내지 도 13g와 관련하여 기술된 바와 같이, 가상 객체(11002)가 회전 임계치를 넘어서 회전한 후, 도 13g 및 도 13h에 의해 예시된 바와 같이, 가상 객체(11002)의 회전은 역전된다. 일부 실시예들에서, 3차원 객체의 회전의 역전의 양은 3차원 객체가 각각의 회전 임계치를 넘어서 얼마나 더 회전하였는지에 기초하여 결정된다(예컨대, 3차원 객체의 회전이 각각의 회전 임계치를 넘어서 회전한 양이 더 작은 경우에 제1 축에 대한 회전을 역전시키는 더 작은 양과 비교하여 3차원 객체의 회전이 각각의 회전 임계치를 넘어서 회전한 양이 더 큰 경우에 제1 축에 대해 더 큰 양만큼 3차원 객체의 회전이 역전된다). 일부 실시예들에서, 회전의 역전은 더 큰 힘으로 당기는 탄성 효과와 같은 시뮬레이션된 물리적 파라미터에 의해 구동되고, 추가로 3차원 객체가 제1 축에 대해 각각의 회전 임계치를 넘어서 회전된다. 일부 실시예들에서, 회전의 역전은 각각의 회전 임계치를 넘어서 회전한 제1 축에 대한 회전의 방향에 기초하여 결정되는 회전의 방향으로 이루어진다(예컨대, 3차원 객체가 회전되어 객체의 상부가 디스플레이 내로 후방으로 이동하였으면, 회전의 역전은 객체의 상부를 디스플레이 외부로 전방으로 회전시키는 것이고/것이거나; 3차원 객체의 상부가 디스플레이 외부로 전방으로 회전되도록 객체가 회전되었으면, 회전의 역전은 객체의 상부를 디스플레이 내로 후방으로 회전시키는 것이고/것이거나; 3차원 객체가 회전되어 객체의 우측이 디스플레이 내로 후방으로 이동하였으면, 회전의 역전은 객체의 우측을 디스플레이 외부로 전방으로 회전시키는 것이고/것이거나; 3차원 객체의 좌측이 디스플레이 외부로 전방으로 회전되도록 객체가 회전되었으면, 회전의 역전은 객체의 좌측을 디스플레이 내로 후방으로 회전시키는 것이다). 일부 실시예들에서, 예를 들어, 제2 축에 대한 회전이 각도들의 각각의 범위로 제약되는 경우, 유사한 러버밴딩(rubberbanding)(예컨대, 회전의 조건부 역전)이 제2 축을 중심으로 하는 회전에 대해 수행된다. 일부 실시예들에서, 예를 들어, 3차원 객체가 디바이스에 의해 360도로 회전하게 하도록 제2 축에 대한 회전이 제약되지 않는 경우, (예컨대, 디바이스가 제2 축에 대한 회전에 대해 회전 임계치를 부과하지 않기 때문에) 제2 축을 중심으로 하는 회전에 대해 러버밴딩이 수행되지 않는다. 객체가 회전 임계치를 넘어서 회전되었는지 여부에 따라, 입력의 종료를 검출한 후에 제1 축에 대한 3차원 객체의 회전의 적어도 일부분을 역전시키거나, 제1 축에 대한 3차원 객체의 회전의 일부분을 역전시키는 것을 보류하는 것은, 가상 객체의 회전에 적용가능한 회전 임계치를 나타내는 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 사용자가 가상 객체를 회전 임계치를 넘어서 회전시키기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device detects the termination of the first input (e.g., the input includes movement of one or more contacts on the touch-sensitive surface, and detecting the termination of the first input from the touch-sensitive surface. And detecting the liftoff of one or more contacts) 18016. After detecting the end of the first input (e.g., in response to it), upon determining that the 3D object has been rotated beyond the respective rotation threshold about the first axis, the device will rotate the 3D object about the first axis. Reverse at least a portion of; Upon determining that the three-dimensional object has not been rotated beyond the respective rotation threshold about the first axis, the device withholds (18018) reversing the rotation of the three-dimensional object about the first axis. (E.g., stopping the rotation of the 3D object about the first axis and/or the amount of the 3D object about the first axis in the direction of the motion of the input by a size determined by the size of the input before detecting the end of the input. To keep spinning). For example, as described in connection with FIGS. 13E to 13G, after the
일부 실시예들에서, 제1 입력이 제1 축 및 제2 축과 상이한 제3 축(예컨대, z-축과 같은, 디스플레이의 평면(예컨대, x-y 평면)에 수직인 제3 축)을 중심으로 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 디바이스는 제3 축에 대해 가상 3차원 객체를 회전시키는 것을 보류한다(예컨대, z-축을 중심으로 하는 회전은 금지되고, z-축을 중심으로 객체를 회전시키라는 요청은 디바이스에 의해 무시된다)(18020). 일부 실시예들에서, 디바이스는 경보(예컨대, 입력의 실패를 나타내는 촉각적 출력)를 제공한다. 회전 입력이 제3 축을 중심으로 가상 객체를 회전시키라는 요청에 대응한다는 결정에 따라 가상 객체의 회전을 보류하는 것은 제3 축을 중심으로 하는 회전이 제한되는 것을 나타내는 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 사용자가 가상 객체를 제3 축을 중심으로 회전시키기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first input is about a third axis different from the first and second axes (e.g., a third axis perpendicular to the plane of the display (e.g., xy plane), such as the z-axis). Upon determining that it responds to the request to rotate the 3D object, the device withholds rotating the virtual 3D object about the 3rd axis (e.g. rotation about the z-axis is prohibited, The request to rotate the object by the way is ignored by the device) (18020). In some embodiments, the device provides an alarm (eg, a tactile output indicating a failure of an input). Retaining rotation of the virtual object upon determination that the rotation input corresponds to a request to rotate the virtual object about the third axis provides visual feedback indicating that rotation about the third axis is restricted. Providing improved visual feedback to the user improves the operability of the device and improves the user-device interface (e.g., by helping the user avoid attempts to provide input to rotate the virtual object about a third axis). It makes it more efficient, which in addition reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 디바이스는 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내에 가상 3차원 객체의 제1 시점의 표현을 디스플레이하는 동안 가상 3차원 객체에 의해 드리워진 그림자의 표현을 디스플레이한다(18022). 디바이스는 제1 축 및/또는 제2 축에 대한 가상 3차원 객체의 회전에 따라 그림자의 표현의 형상을 가변시킨다. 예를 들어, 가상 객체(11002)의 그림자(13006)의 형상은 가상 객체(11002)가 회전함에 따라 도 13b로부터 도 13f로 가변한다. 일부 실시예들에서, 그림자는 가상 객체의 미리정의된 하부 면을 지지하는 스테이징 사용자 인터페이스에서 비가시적 기준 평면에 대한 가상 객체의 현재 배향을 나타내기 위해 형상이 시프트 및 변경된다. 일부 실시예들에서, 가상 3차원 객체의 표면은 스테이징 사용자 인터페이스에서 표현되는 가상 공간 내에서 미리정의된 방향으로 위치된 시뮬레이션된 광원으로부터의 광을 반사하는 것으로 보인다. 가상 객체의 회전에 따라 그림자의 형상을 가변시키는 것은 (예컨대, 가상 객체가 배향되는 가상 평면(예컨대, 스테이징 뷰의 스테이지)을 나타내는) 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 사용자가 제1 축 또는 제2 축을 중심으로 하는 회전을 야기하기 위해 스와이프 입력에 대한 적절한 방향을 결정하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device displays a representation of the shadow cast by the virtual 3D object while displaying the representation of the first viewpoint of the virtual 3D object in the first user interface area (eg, staging user interface) ( 18022). The device changes the shape of the representation of the shadow according to the rotation of the virtual 3D object about the first axis and/or the second axis. For example, the shape of the
일부 실시예들에서, 제1 사용자 인터페이스 영역 내에서 가상 3차원 객체를 회전시키는 동안, 가상 3차원 객체가 가상 3차원 객체의 미리정의된 하부를 드러내는 제2 시점으로 디스플레이된다는 결정에 따라, 디바이스는 가상 3차원 객체의 제2 시점의 표현으로 그림자의 표현을 디스플레이하는 것을 보류한다(18024). 예를 들어, 디바이스는 (예컨대, 도 13g 내지 도 13i와 관련하여 기술된 바와 같이) 가상 객체가 아래에서 보이고 있을 때 가상 객체의 그림자를 디스플레이하지 않는다. 가상 객체의 하부가 디스플레이된다는 결정에 따라 가상 객체의 그림자의 디스플레이를 보류하는 것은 (예컨대, 객체가 가상 평면(예컨대, 스테이징 뷰의 스테이지)에 더 이상 대응하지 않는 위치로 회전하였다는 것을 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while rotating the virtual 3D object within the first user interface area, according to the determination that the virtual 3D object is displayed as a second viewpoint revealing a predefined lower portion of the virtual 3D object, the device is Displaying the expression of the shadow as the expression of the second viewpoint of the virtual 3D object is reserved (18024). For example, the device does not display the shadow of the virtual object when the virtual object is viewed from below (eg, as described in connection with FIGS. 13G-13I). Suspending the display of the shadow of the virtual object upon the determination that the lower part of the virtual object is displayed (e.g., indicating that the object has rotated to a position no longer corresponding to the virtual plane (e.g., the stage of the staging view)) Provide feedback. Providing improved visual feedback to the user improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device faster and more efficiently, thereby reducing the power usage of the device. And improve battery life.
일부 실시예들에서, 제1 사용자 인터페이스 영역(예컨대, 스테이징 뷰) 내에서 가상 3차원 객체를 회전시킨 후, 디바이스는 제1 사용자 인터페이스 영역 내에 가상 3차원 객체를 재설정하라는 요청에 대응하는 제2 입력(예컨대, 제2 입력은 제1 사용자 인터페이스 영역 상에서의 더블 탭임)을 검출한다(18026). 제2 입력을 검출하는 것에 응답하여, 디바이스는 제1 사용자 인터페이스 영역 내에서 가상 3차원 객체의 미리정의된 원래 시점(예컨대, 제1 시점, 또는 (예컨대, 제1 시점이 스테이징 사용자 인터페이스 내에서의 사용자 조작 후의 디스플레이된 시점인 경우에) 제1 시점과는 구별되는 디폴트 시작 시점)의 표현을 (예컨대, 가상 객체의 회전 및 크기 재설정을 통해) 디스플레이한다(예컨대, 더블 탭에 응답하여, 디바이스는 가상 객체의 배향을 (예컨대, 전방 면이 사용자를 향하고 하부 면이 미리정의된 기준 평면 상에 안착된, 직립하는) 미리정의된 원래 배향으로 재설정한다)(18028). 예를 들어, 도 13i 및 도 13j는 가상 객체(11002)의 시점이 (도 13b 내지 도 13g와 관련하여 기술된 회전 입력의 결과로서) 변경된 시점으로부터 (도 13a에 도시된 가상 객체(11002)의 시점과 동일한) 도 13j의 원래 시점으로 변경되게 하는 입력을 예시한다. 일부 실시예들에서, 가상 3차원 객체를 재설정하라는 지시에 대응하는 제2 입력을 검출하는 것에 응답하여, 디바이스는 또한, 가상 3차원 객체의 디폴트 디스플레이 크기를 반영하도록 가상 3차원 객체를 크기 재설정한다. 일부 실시예들에서, 더블 탭 입력이 스테이징 사용자 인터페이스에서 가상 객체의 배향 및 크기 둘 모두를 재설정하는 한편, 더블 탭 입력은 증강 현실 사용자 인터페이스에서 가상 객체의 배향이 아닌 크기만을 재설정한다. 일부 실시예들에서, 디바이스는 증강 현실 사용자 인터페이스에서 가상 객체의 크기를 재설정하기 위해 더블 탭이 가상 객체에 대한 것임을 요구하는 한편, 디바이스는 가상 객체 상에서 검출되는 더블 탭들 및 가상 객체 주위에서 검출되는 더블 탭들에 응답하여 가상 객체의 배향 및 크기를 재설정한다. 증강 현실 뷰에서, 단일 손가락 스와이프는 (예컨대, 스테이징 뷰에서와 달리) 가상 객체를 회전시키기보다는 가상 객체를 드래그한다. 가상 객체를 재설정하라는 요청을 검출하는 것에 응답하여 가상 객체의 미리정의된 원래의 시점을 디스플레이하는 것은 (예컨대, 객체의 속성들을 조정하기 위해 제공되는 입력이 객체를 미리정의된 원래의 시점으로 복귀시키는 때를 사용자가 추정할 것을 요구하기보다는 객체를 재설정하는 옵션을 제공함으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만든다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 개선하는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, after rotating the virtual 3D object within the first user interface area (eg, staging view), the device has a second input corresponding to the request to reset the virtual 3D object within the first user interface area. (For example, the second input is a double tap on the first user interface area) (18026). In response to detecting the second input, the device is configured with a predefined original viewpoint (e.g., the first viewpoint, or (e.g., the first viewpoint is within the staging user interface) of the virtual three-dimensional object within the first user interface region). In the case of the displayed time point after user manipulation), the display (e.g., through rotation and resizing of the virtual object) of the default start time distinct from the first time point) is displayed (e.g., in response to a double tap, the device Reset the orientation of the virtual object to a predefined original orientation (eg, upright, with the front face facing the user and the lower face seated on a predefined reference plane) 18028. For example, FIGS. 13I and 13J show that the view point of the virtual object 11102 is changed (as a result of the rotation input described in connection with FIGS. 13B to 13G) of the virtual object 11102 shown in FIG. The same as the viewpoint) illustrates an input to change to the original viewpoint of FIG. In some embodiments, in response to detecting the second input corresponding to the instruction to reset the virtual 3D object, the device further resizes the virtual 3D object to reflect the default display size of the virtual 3D object. . In some embodiments, a double tap input resets both the orientation and size of the virtual object in the staging user interface, while the double tap input resets only the size, not the orientation of the virtual object in the augmented reality user interface. In some embodiments, the device requires that a double tap is for the virtual object to resize the virtual object in the augmented reality user interface, while the device requires double taps detected on the virtual object and double taps detected around the virtual object. Reorients and resizes the virtual object in response to the taps. In an augmented reality view, a single finger swipe drags a virtual object rather than rotating it (eg, unlike in a staging view). Displaying the virtual object's predefined original viewpoint in response to detecting a request to reset the virtual object (e.g., an input provided to adjust the properties of the object returns the object to the predefined original viewpoint). It improves the operability of the device and makes the user-device interface more efficient (by providing the option to reset the object rather than requiring the user to estimate when). Reducing the number of inputs required to perform an operation improves the operability of the device, which in addition reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently. Let it.
일부 실시예들에서, 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내에 가상 3차원 객체를 디스플레이하는 동안, 디바이스는 가상 3차원 객체를 크기 재설정하라는 요청에 대응하는 제3 입력을 검출한다(예컨대, 제3 입력은 제1 사용자 인터페이스 영역 상에 표현되는 가상 객체에 대한 핀치 또는 디핀치 제스처이며, 제3 입력은 크기 재설정 동작을 개시하기 위한 기준들(예컨대, (방법(19000)을 참조하여 아래에서 더 상세히 설명되는 바와 같은) 원래 또는 증강된 기준들)을 충족하는 크기를 갖는다)(18030). 제3 입력을 검출하는 것에 응답하여, 디바이스는 입력의 크기에 따라 제1 사용자 인터페이스 영역 내의 가상 3차원 객체의 표현의 크기를 조정한다(18032). 예를 들어, (예컨대, 도 6n 및 도 6o와 관련하여 기술된 바와 같은) 디핀치 제스처를 포함하는 입력에 응답하여, 가상 객체(11002)의 크기는 감소된다. 일부 실시예들에서, 디바이스는 가상 3차원 객체의 표현의 크기가 조정될 때 가상 객체의 현재 줌 레벨을 나타내기 위한 표시자를 디스플레이한다. 일부 실시예들에서, 디바이스는 제3 입력의 종료 시 줌 레벨의 표시자를 디스플레이하는 것을 중지한다. 객체를 크기 재설정하기 위한 입력의 크기에 따라 가상 객체의 크기를 조정하는 것은 (예컨대, 객체를 원하는 양만큼 크기 재설정하는 옵션을 제공함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a virtual 3D object within a first user interface area (e.g., a staging user interface), the device detects a third input corresponding to the request to resize the virtual 3D object (e.g. , The third input is a pinch or de-pinch gesture for the virtual object expressed on the first user interface area, and the third input is the criteria for initiating the resize operation (e.g., with reference to (method 19000) below Has a size that meets the original or augmented criteria), as described in more detail in (18030). In response to detecting the third input, the device adjusts the size of the representation of the virtual 3D object in the first user interface area according to the size of the input (18032). For example, in response to an input comprising a de-pinch gesture (eg, as described in connection with FIGS. 6N and 6O ), the size of the
일부 실시예들에서, 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내의 가상 3차원 객체의 표현의 크기를 조정하는 동안, 디바이스는 가상 3차원 객체의 크기가 가상 3차원 객체의 미리정의된 디폴트 디스플레이 크기에 도달했다는 것을 검출한다(18034). 가상 3차원 객체의 크기가 가상 3차원 객체의 미리정의된 디폴트 디스플레이 크기에 도달했다는 것을 검출하는 것에 응답하여, 디바이스는 가상 3차원 객체가 미리정의된 디폴트 디스플레이 크기로 디스플레이되는 것을 나타내기 위해 촉각적 출력(예컨대, 별개의 촉각적 출력)을 생성한다(18036). 도 11o는 (예컨대, 도 11m 내지 도 11o와 관련하여 기술된 바와 같이) 가상 객체(11002)의 크기가 가상 객체(11002)의 이전의 미리정의된 크기에 도달하였다는 것을 검출하는 것에 응답하여 제공되는 촉각적 출력(11024)의 예를 제공한다. 일부 실시예들에서, 디바이스는 가상 객체의 크기가 더블 탭 입력에 응답하여 디폴트 디스플레이 크기로 재설정될 때 동일한 촉각적 출력을 생성한다. 가상 객체의 크기가 미리정의된 디폴트 디스플레이 크기에 도달하였다는 결정에 따라 촉각적 출력을 생성하는 것은 (예컨대, 가상 객체의 시뮬레이션된 크기를 미리정의된 크기로 복귀시키기 위해 추가 입력이 필요하지 않다는 것을 나타내는) 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은 (예컨대, 디스플레이된 정보로 사용자 인터페이스를 혼란스럽게 하지 않으면서 가상 객체의 미리정의된 시뮬레이션된 물리적 크기에 도달하였다는 것을 사용자가 인지하게 하는 감각적 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while adjusting the size of the representation of the virtual 3D object in the first user interface area (e.g., staging user interface), the device determines that the size of the virtual 3D object is a predefined default value of the virtual 3D object. It is detected that the display size has been reached (18034). In response to detecting that the size of the virtual 3D object has reached the predefined default display size of the virtual 3D object, the device tactiles to indicate that the virtual 3D object is displayed at the predefined default display size. An output (eg, a separate tactile output) is generated (18036). 11O is provided in response to detecting that the size of the
일부 실시예들에서, 줌 레벨의 시각적 표시(예컨대, 현재 줌 레벨에 대응하는 값을 나타내는 슬라이더)가 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내에 디스플레이된다. 가상 3차원 객체의 표현의 크기가 조정됨에 따라, 줌 레벨의 시각적 표시는 가상 3차원 객체의 표현의 조정된 크기에 따라 조정된다.In some embodiments, a visual indication of the zoom level (eg, a slider indicating a value corresponding to the current zoom level) is displayed within the first user interface area (eg, a staging user interface). As the size of the representation of the virtual 3D object is adjusted, the visual display of the zoom level is adjusted according to the adjusted size of the representation of the virtual 3D object.
일부 실시예들에서, 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내의 가상 3차원 객체의 제3 시점의 표현을 디스플레이하는 동안, 디바이스는 하나 이상의 카메라들(예컨대, 디바이스 내에 내장된 카메라들)의 시야를 포함하는 제2 사용자 인터페이스 영역(예컨대, 증강 현실 사용자 인터페이스) 내에 가상 3차원 객체를 디스플레이하라는 요청에 대응하는 제4 입력을 검출한다(18042). 제4 입력을 검출하는 것에 응답하여, 디바이스는, 디스플레이 생성 컴포넌트를 통해, 제2 사용자 인터페이스 영역에 포함되는 하나 이상의 카메라들의 시야의 적어도 일부분 위에 가상 객체의 표현을 디스플레이하는데(예컨대, 하나 이상의 카메라들의 시야는 제2 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청에 응답하여 디스플레이됨), 하나 이상의 카메라들의 시야는 하나 이상의 카메라들이 위치되는 물리적 환경의 뷰이다(18044). 가상 객체의 표현을 디스플레이하는 것은, 가상 3차원 객체를 제1 축(예컨대, x-축과 같은, 디스플레이의 평면(예컨대, x-y 평면)에 수평 방향으로 평행한 축)을 중심으로 미리정의된 각도로 (예컨대, 0도와 같은 디폴트 요 각으로; 또는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 정렬되는(예컨대, 그에 평행한) 각도로) 회전시키는 것을 포함한다. 일부 실시예들에서, 디바이스는 3차원 객체가 제1 축에 대해 미리정의된 각도로 점진적으로 회전하는 애니메이션을 디스플레이한다. 제2 축(예컨대, y-축과 같은, 디스플레이의 평면(예컨대, x-y 평면)에 수직 방향으로 평행한 축)에 대한 가상 3차원 객체의 현재 각도를 유지하는 것. (예컨대, 가상 객체를 평면에 대한 미리정의된 배향으로 재위치시키기 위한 추가 입력을 요구하지 않으면서) 하나 이상의 카메라들의 시야 내에 가상 객체를 디스플레이하라는 요청에 응답하여 제1 축을 중심으로 가상 객체를 미리정의된 각도로 회전시키는 것은 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a representation of the third viewpoint of the virtual three-dimensional object within the first user interface area (e.g., staging user interface), the device may be configured with one or more cameras (e.g., cameras embedded within the device). A fourth input corresponding to a request to display a virtual 3D object in a second user interface area (eg, augmented reality user interface) including a field of view is detected (18042). In response to detecting the fourth input, the device displays, via a display generating component, a representation of the virtual object over at least a portion of the field of view of the one or more cameras included in the second user interface area (e.g., The field of view is displayed in response to a request to display a virtual object within the second user interface area), and the field of view of the one or more cameras is a view of the physical environment in which the one or more cameras are located (18044). Displaying the representation of the virtual object is to place the virtual three-dimensional object at a predefined angle around a first axis (e.g., an axis horizontally parallel to the plane of the display (e.g., xy plane), such as the x-axis). Rotation (eg, at a default yaw angle, such as zero degrees; or at an angle aligned with (eg, parallel to) the plane detected in the physical environment captured within the field of view of one or more cameras). In some embodiments, the device displays an animation in which the three-dimensional object gradually rotates at a predefined angle with respect to the first axis. Maintaining the current angle of the virtual three-dimensional object with respect to a second axis (eg, an axis parallel in a direction perpendicular to the plane of the display (eg, x-y plane), such as the y-axis). In response to a request to display the virtual object within the field of view of one or more cameras (e.g., without requiring additional input to reposition the virtual object to a predefined orientation with respect to the plane), the virtual object is pre-adjusted about the first axis. Rotating to a defined angle improves the operability of the device. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thereby allowing the device to It reduces the power usage of the battery and improves battery life.
일부 실시예들에서, 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내에 가상 3차원 객체의 제4 시점의 표현을 디스플레이하는 동안, 디바이스는 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스로 복귀하라는 요청에 대응하는 제5 입력을 검출한다(18046). 제5 입력을 검출하는 것에 응답하여, 디바이스는 가상 3차원 객체의 2차원 표현에 대응하는 가상 3차원 객체의 시점의 표현을 보여주도록 가상 3차원 객체를 (예컨대, 2차원 사용자 인터페이스 및 가상 3차원 객체의 2차원 표현을 디스플레이하기 전에) 회전시키고; 가상 3차원 객체가 가상 3차원 객체의 2차원 표현에 대응하는 각각의 시점의 표현을 보여주도록 회전된 후에 가상 3차원 객체의 2차원 표현을 디스플레이한다(18048). 일부 실시예들에서, 디바이스는 가상 3차원 객체의 2차원 표현에 대응하는 가상 3차원 객체의 시점의 표현을 보여주도록 3차원 객체가 점진적으로 회전하는 애니메이션을 디스플레이한다. 일부 실시예들에서, 디바이스는 또한, 2차원 사용자 인터페이스 내에 디스플레이되는 가상 3차원 객체의 2차원 표현의 크기와 매칭하도록 회전 동안 또는 회전 후에 가상 3차원 객체를 크기 재설정한다. 일부 실시예들에서, 2차원 사용자 인터페이스 내에서 2차원 표현(예컨대, 가상 객체의 섬네일 이미지)의 위치를 향해 이동하여 그 위치에 정착하는 회전된 가상 3차원 객체를 보여주기 위해 애니메이션화된 전이가 디스플레이된다. 가상 3차원 객체의 2차원 표현을 디스플레이하는 것으로 복귀하기 위한 입력에 응답하여 가상 3차원 객체의 2차원 표현에 대응하는 시점으로 가상 3차원 객체를 회전시키는 것은 (예컨대, 디스플레이된 객체가 2차원인 것을 나타내기 위해) 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 사용자가 적절한 입력들을 제공하도록 그리고 2차원 객체의 회전이 이용불가능한 축을 따라서 2차원 객체를 회전시키기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying the representation of the fourth viewpoint of the virtual 3D object in the first user interface area (e.g., staging user interface), the device is a 2D user including a 2D representation of the virtual 3D object. A fifth input corresponding to the request to return to the interface is detected (18046). In response to detecting the fifth input, the device creates a virtual three-dimensional object (e.g., a two-dimensional user interface and a virtual three-dimensional Rotate) before displaying the two-dimensional representation of the object; After the virtual 3D object is rotated to show the representation of each viewpoint corresponding to the 2D representation of the virtual 3D object, the 2D representation of the virtual 3D object is displayed (18048). In some embodiments, the device displays an animation in which the 3D object is gradually rotated to show a representation of the viewpoint of the virtual 3D object corresponding to the 2D representation of the virtual 3D object. In some embodiments, the device also resizes the virtual 3D object during or after rotation to match the size of the 2D representation of the virtual 3D object displayed within the 2D user interface. In some embodiments, an animated transition is displayed within the 2D user interface to show a rotated virtual 3D object that moves towards a location of a 2D representation (e.g., a thumbnail image of a virtual object) and settles at that location. do. Rotating the virtual 3D object to a point in time corresponding to the 2D representation of the virtual 3D object in response to an input for returning to displaying the 2D representation of the virtual 3D object (e.g., Provide visual feedback). Providing improved visual feedback to the user (e.g., by helping the user to provide appropriate inputs and to avoid attempts to provide input to rotate the 2D object along an axis where rotation of the 2D object is not available). It improves the operability of the device and makes the user-device interface more efficient, which in addition reduces the power usage of the device and improves battery life by enabling the user to use the device more quickly and efficiently.
일부 실시예들에서, 가상 3차원 객체의 제1 시점의 표현을 디스플레이하기 전에, 디바이스는 각각의 시점으로부터의 가상 3차원 객체의 뷰의 표현(예컨대, 가상 3차원 객체에 대응하는 2차원 이미지와 같은 정적 표현)을 포함하는 가상 3차원 객체의 표현(예컨대, 섬네일 또는 아이콘)을 포함하는 사용자 인터페이스를 디스플레이한다(18050). 가상 3차원 객체의 표현을 디스플레이하는 동안, 디바이스는 가상 3차원 객체를 디스플레이하라는 요청(예컨대, 가상 3차원 객체의 표현에 대한 탭 입력 또는 다른 선택 입력)을 검출한다(18052). 가상 3차원 객체를 디스플레이하라는 요청을 검출하는 것에 응답하여, 디바이스는 가상 3차원 객체의 표현의 디스플레이를 가상 3차원 객체의 표현의 각각의 시점과 매칭하도록 회전된 가상 3차원 객체로 대체한다(18054). 도 11a 내지 도 11e는 가상 객체(11002)의 표현을 디스플레이하는 사용자 인터페이스(5060)의 예를 제공한다. 가상 객체(11002)를 디스플레이하라는 요청에 응답하여, 도 11a와 관련하여 기술되는 바와 같이, 사용자 인터페이스(5060)의 디스플레이는 도 11e에 도시된 바와 같이, 스테이징 사용자 인터페이스(6010) 내의 가상 객체(11002)의 디스플레이로 대체된다. 도 11e의 가상 객체(11002)의 시점은 도 11a의 가상 객체(11002)의 표현의 시점과 동일하다. 일부 실시예들에서, 가상 3차원 객체의 표현은 그가 가상 3차원 객체로 대체되기 전에 (예컨대, 가상 3차원 객체의 크기와 매칭하는 크기로) 축척이 증가(scale up)된다. 일부 실시예들에서, 가상 3차원 객체는 초기에 가상 3차원 객체의 표현의 크기로 디스플레이되고, 이어서 축척이 증가된다. 일부 실시예들에서, 가상 3차원 객체의 표현으로부터 가상 3차원 객체로의 전이 동안, 디바이스는 가상 3차원 객체의 표현을 점진적으로 확대시키고, 가상 3차원 객체의 표현을 가상 3차원 객체로 크로스 페이드(cross fade)시키고, 이어서 가상 3차원 객체를 점진적으로 확대시켜서 가상 3차원 객체의 표현과 가상 3차원 객체 사이의 매끄러운 전이를 생성하게 한다. 일부 실시예들에서, 가상 3차원 객체의 초기 위치는 가상 3차원 객체의 표현의 위치에 대응하도록 선택된다. 일부 실시예들에서, 가상 3차원 객체의 표현은 가상 3차원 객체가 디스플레이될 위치에 대응하도록 선택된 위치로 시프트된다. 가상 3차원 객체의 (2차원) 표현의 디스플레이를 (2차원) 표현의 시점과 매칭하도록 회전된 가상 3차원 객체로 대체하는 것은 (예컨대, 3차원 객체가 가상 3차원 객체의 2차원 표현과 동일 객체라는 것을 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, prior to displaying the representation of the first viewpoint of the virtual 3D object, the device may display a representation of the view of the virtual 3D object from each viewpoint (e.g., a 2D image corresponding to the virtual 3D object and A user interface including a representation (eg, a thumbnail or an icon) of a virtual 3D object including the same static representation) is displayed (18050). While displaying the representation of the virtual 3D object, the device detects a request to display the virtual 3D object (eg, a tap input or other selection input for the representation of the virtual 3D object) (18052). In response to detecting a request to display the virtual 3D object, the device replaces the display of the representation of the virtual 3D object with the rotated virtual 3D object to match each viewpoint of the representation of the virtual 3D object (18054). ). 11A-11E provide an example of a
일부 실시예들에서, 제1 사용자 인터페이스를 디스플레이하기 전에, 디바이스는 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스를 디스플레이한다(18056). 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스를 디스플레이하는 동안, 디바이스는 가상 3차원 객체의 2차원 표현에 대응하는 터치 감응형 표면 상의 위치에서 미리보기 기준들(예컨대, 미리보기 기준들은 누르기 입력의 세기가 제1 세기 임계치(예컨대, 가볍게 누르기 세기 임계치)를 초과할 것을 요구하고/하거나 미리보기 기준들은 누르기 입력의 지속기간이 제1 지속기간 임계치를 초과할 것을 요구함)을 충족하는 터치 입력의 제1 부분(예컨대, 접촉의 세기의 증가)을 검출한다(18058). 미리보기 기준들을 충족하는 터치 입력의 제1 부분을 검출하는 것에 응답하여, 디바이스는 가상 3차원 객체의 2차원 표현보다 큰 가상 3차원 객체의 미리보기를 디스플레이한다(예컨대, 미리보기는 가상 3차원 객체의 상이한 시점들을 보여주도록 애니메이션화된다)(18060). 일부 실시예들에서, 디바이스는 (예컨대, 입력의 지속기간 또는 압력에 기초하여 또는 애니메이션의 미리결정된 속도에 기초하여) 3차원 객체가 점진적으로 확대되는 애니메이션을 디스플레이한다. (예컨대, 현재 디스플레이된 사용자 인터페이스의 디스플레이를 상이한 사용자 인터페이스로 대체하지 않으면서) 가상 3차원 객체의 미리보기를 디스플레이하는 것은 (예컨대, 사용자가 가상 3차원 객체를 디스플레이하는 것을 그리고 사용자 인터페이스들 사이에서 내비게이팅하기 위한 입력을 제공하지 않고서 가상 3차원 객체의 2차원 표현을 관찰하는 것으로 복귀하는 것을 가능하게 함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, prior to displaying the first user interface, the device displays (18056) a two-dimensional user interface that includes a two-dimensional representation of a virtual three-dimensional object. While displaying a two-dimensional user interface that includes a two-dimensional representation of a virtual three-dimensional object, the device displays preview criteria (e.g., preview criteria) at a location on the touch-sensitive surface corresponding to the two-dimensional representation of the virtual three-dimensional object. That the strength of the click input exceeds a first strength threshold (e.g., a light click strength threshold) and/or the preview criteria require the duration of the click input to exceed a first duration threshold). A first portion of the touch input (eg, an increase in the intensity of the contact) is detected (18058). In response to detecting the first portion of the touch input that meets the preview criteria, the device displays a preview of the virtual three-dimensional object that is larger than the two-dimensional representation of the virtual three-dimensional object (e.g., the preview is The object is animated to show different viewpoints) (18060). In some embodiments, the device displays an animation in which the three-dimensional object is gradually magnified (eg, based on the duration or pressure of the input or based on a predetermined speed of the animation). Displaying a preview of a virtual three-dimensional object (e.g., without replacing the display of the currently displayed user interface with a different user interface) can result in (e.g., the user displaying the virtual three-dimensional object and between user interfaces. It improves the operability of the device) by making it possible to return to observing a two-dimensional representation of a virtual three-dimensional object without providing an input for navigating. Reducing the number of inputs required to perform an operation improves the operability of the device, which additionally reduces the device's power usage and increases battery life by enabling users to use the device more quickly and efficiently. Improve.
일부 실시예들에서, 가상 3차원 객체의 미리보기를 디스플레이하는 동안, 디바이스는 (예컨대, 동일한 연속적으로 유지되는 접촉에 의해) 터치 입력의 제2 부분을 검출한다(18062). 터치 입력의 제2 부분을 검출하는 것에 응답하여, 터치 입력의 제2 부분이 메뉴 디스플레이 기준들(예컨대, 메뉴 디스플레이 기준들은 접촉이 미리정의된 방향(예컨대, 상향)으로 임계량 초과만큼 이동할 것을 요구함)을 충족한다는 결정에 따라, 디바이스는 가상 객체와 연관된 복수의 동작들에 대응하는 복수의 선택가능한 옵션들(예컨대, 공유 메뉴)(예컨대, 가상 객체를 다른 디바이스 또는 사용자와 공유하는 다양한 수단들과 같은 공유 옵션들)을 디스플레이하고; 터치 입력의 제2 부분이 스테이징 기준들(예컨대, 스테이징 기준들은 접촉의 세기가 제1 임계 세기보다 큰 제2 임계 세기(예컨대, 깊게 누르기 세기 임계치)를 초과할 것을 요구함)을 충족한다는 결정에 따라, 디바이스는 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스의 디스플레이를 가상 3차원 객체를 포함하는 제1 사용자 인터페이스로 대체한다(18064). 스테이징 기준들이 충족되는지 여부에 따라, 가상 객체와 연관된 메뉴를 디스플레이하는 것 또는 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스의 디스플레이를 가상 3차원 객체를 포함하는 제1 사용자 인터페이스로 대체하는 것은, 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 제1 유형의 입력을 이용하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying the preview of the virtual three-dimensional object, the device detects (18062) a second portion of the touch input (eg, by the same continuously held contact). In response to detecting the second portion of the touch input, the second portion of the touch input causes menu display criteria (e.g., menu display criteria require the contact to move in a predefined direction (e.g., upward) by a threshold amount). Depending on the determination to satisfy the virtual object, the device may have a plurality of selectable options (e.g., a sharing menu) corresponding to a plurality of actions associated with the virtual object (e.g., various means of sharing the virtual object with another device or user). Sharing options); Depending on the determination that the second portion of the touch input meets staging criteria (e.g., the staging criteria require that the strength of the contact exceed a second threshold strength (e.g., a deep press strength threshold) greater than the first threshold strength). , The device replaces the display of the 2D user interface including the 2D representation of the virtual 3D object with the first user interface including the virtual 3D object (18064). Depending on whether the staging criteria are satisfied, displaying a menu associated with a virtual object or displaying a two-dimensional user interface including a two-dimensional representation of a virtual three-dimensional object is replaced with a first user interface including a virtual three-dimensional object Doing enables the performance of a number of different types of actions in response to an input. Enabling the performance of a number of different types of actions using the first type of input increases the efficiency with which the user can perform these actions, thereby improving the operability of the device, which additionally allows the user to It reduces the device's power usage and improves battery life by making it possible to use the device more quickly and efficiently.
일부 실시예들에서, 제1 사용자 인터페이스는 복수의 제어부들(예컨대, 실세계 뷰로 스위칭하기를 위한, 뒤로 가기를 위한, 등을 위한 버튼들)을 포함한다(18066). 제1 사용자 인터페이스를 디스플레이하기 전에, 디바이스는 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스를 디스플레이한다(18068). 제1 사용자 인터페이스 내에 가상 3차원 객체를 디스플레이하라는 요청을 검출하는 것에 응답하여, 디바이스는 가상 3차원 객체와 연관된 한 세트의 하나 이상의 제어부들을 디스플레이하지 않으면서 제1 사용자 인터페이스 내에 가상 3차원 객체를 디스플레이하고; 제1 사용자 인터페이스 내에 가상 3차원 객체를 디스플레이한 후, 디바이스는 한 세트의 하나 이상의 제어부들을 디스플레이한다(18070). 예를 들어, 도 11a 내지 도 11e와 관련하여 기술된 바와 같이, 가상 객체(11002)의 2차원 표현을 포함하는 사용자 인터페이스(5060)의 디스플레이는 스테이징 사용자 인터페이스(6010) 전에 디스플레이된다. (도 11a와 관련하여 기술된 바와 같이) 스테이징 사용자 인터페이스(6010) 내에 가상 객체(11002)를 디스플레이하라는 요청에 응답하여, 가상 객체(11002)는 스테이징 사용자 인터페이스(6010)의 제어부들(6016, 6018, 6020) 없이 (도 11b 및 도 11c에 도시된 바와 같이) 디스플레이된다. 도 11d 및 도 11e에서, 스테이징 사용자 인터페이스(6010)의 제어부들(6016, 6018, 6020)은 사용자 인터페이스 내에서 뷰로 페이드 인된다. 일부 실시예들에서, 한 세트의 하나 이상의 제어부들은, 가상 3차원 객체가 디바이스의 하나 이상의 카메라들의 시야 내에서 검출되는 평면에 대해 고정된 위치에 배치되는 증강 현실 환경에서 가상 3차원 객체를 디스플레이하기 위한 제어부를 포함한다. 일부 실시예들에서, 제1 사용자 인터페이스 내에 가상 3차원 객체를 디스플레이하라는 요청을 검출하는 것에 응답하여, 가상 3차원 객체가 제1 사용자 인터페이스 내에 디스플레이될 준비가 되어 있지 않다는(예컨대, 제1 사용자 인터페이스가 디스플레이될 준비가 된 시점에 가상 객체의 3차원 모델이 완전히 로딩되지 않는다는)(예컨대, 가상 객체의 로딩 시간이 임계 시간보다 길다는(예컨대, 사용자에게 인지가능하고 유의함)) 결정에 따라, 디바이스는 제1 사용자 인터페이스 상에 복수의 제어부들을 디스플레이하지 않으면서 제1 사용자 인터페이스의 일부분(예컨대, 제1 사용자 인터페이스의 배경 윈도우)을 디스플레이하고; (예컨대, 제1 사용자 인터페이스의 일부분이 제어부들 없이 디스플레이된 후) 가상 3차원 객체가 제1 사용자 인터페이스 내에 디스플레이될 준비가 되어 있다는 결정에 따라, 디바이스는 제1 사용자 인터페이스 내에 가상 3차원 객체를 (예컨대, 페이드 인으로) 디스플레이하고; 디바이스는 가상 3차원 객체가 제1 사용자 인터페이스 내에 디스플레이된 후 제어부들을 (예컨대, 페이드 인으로) 디스플레이한다. 제1 사용자 인터페이스 내에 가상 3차원 객체를 디스플레이하라는 요청을 검출하는 것에 응답하여, 그리고 가상 3차원 객체가 디스플레이될 준비가 되어 있다는(예컨대, 제1 사용자 인터페이스가 디스플레이될 준비가 된 경우에 가상 객체의 3차원 모델이 로딩되었다는)(예컨대, 가상 객체의 로딩 시간은 임계 시간보다 짧다는(예컨대, 사용자에게 인지가능하지 않고 무시할 수 있음)) 결정에 따라, 디바이스는 복수의 제어부들이 제1 사용자 인터페이스 상에 있는 상태로 제1 사용자 인터페이스를 디스플레이하고; 디바이스는 복수의 제어부들과 함께 제1 사용자 인터페이스 내에 가상 3차원 객체를 (예컨대, 페이드 인 없이) 디스플레이한다. 일부 실시예들에서, (예컨대, "뒤로 가라"는 요청에 응답하여) 2차원 사용자 인터페이스로 복귀하기 위해 스테이징 사용자 인터페이스가 존재하는 경우, 가상 3차원 객체가 가상 3차원 객체의 2차원 표현으로 변환되기 전에 제어부들이 먼저 페이드 아웃된다. 사용자 인터페이스 내에 가상 3차원 객체를 디스플레이한 후에 제어부들을 디스플레이하는 것은 (예컨대, 가상 객체를 조작하는 제어부들이 가상 객체를 로딩하는 데 필요한 시간 동안 이용불가능하다는 것을 나타내는) 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 가상 객체에 대한 로딩 시간 중에 조작 동작들이 이용불가능한 동안 사용자가 객체를 조작하기 위한 입력을 제공하는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first user interface includes a plurality of controls (eg, buttons for switching to a real-world view, for going back, and so on) (18066). Before displaying the first user interface, the device displays a two-dimensional user interface including a two-dimensional representation of a virtual three-dimensional object (18068). In response to detecting a request to display the virtual three-dimensional object in the first user interface, the device displays the virtual three-dimensional object in the first user interface without displaying a set of one or more control units associated with the virtual three-dimensional object. and; After displaying the virtual 3D object in the first user interface, the device displays a set of one or more control units (18070). For example, as described in connection with FIGS. 11A-11E, the display of
도 18a 내지 도 18i에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 1000, 16000, 17000, 19000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 18a 내지 도 18i와 관련하여 전술된 방법(18000)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(18000)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 1000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 18A-18I are described is merely an example and is not intended to indicate that the described order is the only order in which the operations may be performed. One of skill in the art will recognize various ways of reordering the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g.,
도 19a 내지 도 19h는 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키는 방법(19000)을 예시하는 흐름도들이다. 방법(19000)은 디스플레이 생성 컴포넌트(예컨대, 디스플레이, 프로젝터, 헤드 업 디스플레이 등) 및 터치 감응형 표면(예컨대, 터치 감응형 표면, 또는 디스플레이 생성 컴포넌트 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 방법(19000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.19A-19H are flow charts illustrating a
디바이스는, 디스플레이 생성 컴포넌트를 통해, 제1 제스처 인식 기준들(예컨대, 회전 기준들)을 충족하는 입력들에 응답하여 수행되는 제1 객체 조작 거동(예컨대, 각각의 축을 중심으로 하는 사용자 인터페이스 객체의 회전) 및 제2 제스처 인식 기준들(예컨대, 병진 기준들 및 축척조정 기준들 중 하나)을 충족하는 입력들에 응답하여 수행되는 제2 객체 조작 거동(예컨대, 사용자 인터페이스 객체의 병진 또는 사용자 인터페이스 객체의 축척조정 중 하나)을 포함하는 복수의 객체 조작 거동들과 연관된 사용자 인터페이스 객체를 포함하는 제1 사용자 인터페이스 영역(예컨대, 가상 객체의 표현을 포함하는 사용자 인터페이스 영역)을 디스플레이한다(19002). 예를 들어, 디스플레이된 가상 객체(11002)는 (예컨대, 도 14b 내지 도 14e와 관련하여 기술된 바와 같은) 각각의 축을 중심으로 하는 회전, (예컨대, 도 14k 내지 도 14m과 관련하여 기술된 바와 같은) 병진, 및 (예컨대, 도 14g 내지 도 14i와 관련하여 기술된 바와 같은) 축척조정을 포함하는 조작 거동들과 연관된다.The device, through the display generating component, performs a first object manipulation behavior (e.g., of a user interface object centered on each axis) in response to inputs that meet the first gesture recognition criteria (e.g., rotation criteria). Rotation) and a second object manipulation behavior (e.g., a translation of a user interface object or a user interface object) performed in response to inputs that meet the second gesture recognition criteria (e.g., one of translation criteria and scaling criteria) A first user interface area (eg, a user interface area including a representation of a virtual object) including a user interface object associated with a plurality of object manipulation behaviors including one of the scaling adjustments of (19002) is displayed. For example, the displayed
제1 사용자 인터페이스 영역을 디스플레이하는 동안, 디바이스는, 터치 감응형 표면을 가로지르는 하나 이상의 접촉들의 이동을 검출하는 것을 포함하여, 사용자 인터페이스 객체에 대한 입력의 제1 부분을 검출하고(예컨대, 디바이스는 사용자 인터페이스 객체의 디스플레이 위치에 대응하는 터치 감응형 표면 상의 위치들에서 하나 이상의 접촉들을 검출함), 하나 이상의 접촉들이 터치 감응형 표면 상에서 검출되는 동안, 디바이스는 제1 제스처 인식 기준들 및 제2 제스처 인식 기준들 양자 모두에 대한 하나 이상의 접촉들의 이동을 평가한다(19004).While displaying the first user interface area, the device detects a first portion of the input to the user interface object, including detecting movement of one or more contacts across the touch-sensitive surface (e.g., the device Detecting one or more contacts at locations on the touch-sensitive surface corresponding to the display location of the user interface object), while the one or more contacts are detected on the touch-sensitive surface, the device performs first gesture recognition criteria and a second gesture. Evaluate the movement of one or more contacts to both recognition criteria (19004).
입력의 제1 부분을 검출하는 것에 응답하여, 디바이스는 입력의 제1 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는데, 이는 입력의 제1 부분이 제2 제스처 인식 기준들을 충족하기 전에 제1 제스처 인식 기준들을 충족한다는 결정에 따라, 입력의 제1 부분에 기초하여(예컨대, 입력의 제1 부분의 방향 및/또는 크기에 기초하여) 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것(예컨대, 사용자 인터페이스 객체를 회전시키는 것); 및 (예컨대, 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서) 제2 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제2 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제2 제스처 인식 기준들을 업데이트하는 것을 포함한다(19006). 예를 들어, 도 14e에서, (축척조정 기준들이 충족되기 전에) 회전 기준들이 충족되었다는 결정에 따라 가상 객체(1102)가 회전하였고, 축척조정 기준들에 대한 임계치 ST가 ST'으로 증가된다. 일부 실시예들에서, 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (병진 또는 축척조정에 대한 기준들이 이전에 충족되지 않았다고 가정하면) 병진 또는 축척조정을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 더 어려워지고(예컨대, 병진 및 축척조정에 대한 기준들은 이동 파라미터에 대한 증가된 임계치들로 업데이트됨), 객체 조작은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의(bias)된다. 입력이 제1 제스처 인식 기준들을 충족하기 전에 제2 제스처 인식 기준들을 충족한다는 결정에 따라, 디바이스는 입력의 제1 부분에 기초하여(예컨대, 입력의 제1 부분의 방향 및/또는 크기에 기초하여) 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고(예컨대, 사용자 인터페이스 객체를 병진시키거나 사용자 인터페이스 객체를 크기 재설정함); (예컨대, 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서) 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제1 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제1 제스처 인식 기준들을 업데이트한다. 예를 들어, 도 14i에서, (회전 기준들이 충족되기 전에) 축척조정 기준들이 충족되었다는 결정에 따라 가상 객체(1102)의 크기가 증가하였고, 회전 기준들에 대한 임계치 RT가 RT'으로 증가된다. 일부 실시예들에서, 객체를 병진 또는 축척조정하기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 이전에 충족되지 않았다고 가정하면) 회전을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 회전 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 병진 또는 축척조정하기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 회전 동작을 개시하는 것은 더 어려워지고(예컨대, 객체를 회전시키기 위한 기준들은 이동 파라미터에 대한 증가된 임계치로 업데이트됨), 객체 조작 거동은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 일부 실시예들에서, 사용자 인터페이스 객체의 외관은 입력의 각각의 이동 파라미터의 값들에 따라 동적으로 그리고 연속적으로 변경된다(예컨대, 상이한 크기들, 위치들, 시점들, 반사상들, 그림자들 등을 보여줌). 일부 실시예들에서, 디바이스는 이동 파라미터(예컨대, 각각의 유형의 조작 거동에 대한 각각의 이동 파라미터)와 사용자 인터페이스 객체의 외관(예컨대, 각각의 유형의 조작 거동에 대한 외관의 각각의 양태)에 대해 이루어진 변경들 사이의 미리설정된 대응관계(예컨대, 각각의 유형의 조작 거동에 대한 각각의 대응관계)를 따른다. 입력 이동이 제2 객체 조작에 대한 제2 임계치를 초과하여 증가할 때 제1 객체 조작에 필요한 입력 이동에 대한 제1 임계치를 증가시키는 것은 (예컨대, 제1 객체 조작을 수행하기 위한 입력을 제공하려고 시도하는 동안 사용자가 제2 객체 조작을 우발적으로 수행하는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시킨다. 상이한 유형들의 객체 조작을 제어할 수 있는 사용자의 능력을 개선하는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만든다.In response to detecting the first portion of the input, the device updates the appearance of the user interface object based on the first portion of the input, which is the first gesture recognition criterion before the first portion of the input meets the second gesture recognition criteria. Change the appearance of the user interface object according to the first object manipulation behavior based on the first portion of the input (e.g., based on the orientation and/or size of the first portion of the input) upon determining that the recognition criteria are met. (Eg, rotating a user interface object); And by increasing the threshold for the second gesture recognition criteria (e.g., without changing the appearance of the user interface object according to the second object manipulation behavior) (e.g., a movement parameter (e.g., movement distance) in the second gesture recognition criteria) , By increasing the threshold required for speed, etc.) (19006). For example, in FIG. 14E, the virtual object 1102 has been rotated according to a determination that the rotation criteria have been satisfied (before the scaling criteria are satisfied), and the threshold ST for the scaling criteria is increased to ST'. In some embodiments, before the criteria for recognizing a gesture for rotating an object are met, for recognizing a gesture for translation or scaling (assuming that the criteria for translation or scaling have not been previously met) It is relatively easy to initiate a translation or scaling operation on an object by meeting the criteria. Once the criteria for recognizing a gesture to rotate an object are met, it becomes more difficult to initiate a translation or scaling operation for the object (e.g., the criteria for translation and scaling are increased thresholds for the movement parameter). Updated), object manipulation is biased towards manipulation behavior corresponding to gestures already recognized and used to manipulate these objects. Upon determining that the input meets the second gesture recognition criteria prior to meeting the first gesture recognition criteria, the device is based on the first portion of the input (e.g., based on the direction and/or size of the first portion of the input). ) Changing the appearance of the user interface object according to the second object manipulation behavior (eg, translating the user interface object or resizing the user interface object); By increasing the threshold for the first gesture recognition criteria (e.g., without changing the appearance of the user interface object according to the first object manipulation behavior) (e.g., the movement parameter (e.g., movement distance, Update the first gesture recognition criteria) by increasing the threshold required for speed, etc. For example, in FIG. 14I, the size of the virtual object 1102 is increased according to the determination that the scaling criteria are satisfied (before the rotation criteria are satisfied), and the threshold RT for the rotation criteria is increased to RT′. In some embodiments, before the criteria for recognizing a gesture for translating or scaling an object are met, a gesture for rotation (assuming that the criteria for recognizing a gesture for rotating an object have not been previously met) It is relatively easy to initiate a rotational operation on an object by meeting the criteria for recognizing a. Once the criteria for recognizing a gesture to translate or scale an object are met, it becomes more difficult to initiate a rotational motion on the object (e.g., the criteria for rotating the object are updated with an increased threshold for the movement parameter). ), object manipulation behaviors are biased towards manipulation behaviors corresponding to gestures already recognized and used to manipulate these objects. In some embodiments, the appearance of the user interface object changes dynamically and continuously according to the values of each movement parameter of the input (e.g., showing different sizes, positions, viewpoints, reflections, shadows, etc.) ). In some embodiments, the device is dependent on a movement parameter (e.g., each movement parameter for each type of operating behavior) and an appearance of the user interface object (e.g., each aspect of the appearance for each type of operating behavior). It follows a preset correspondence between changes made to (eg, each correspondence to each type of operating behavior). Increasing the first threshold for the input movement required for the first object manipulation when the input movement increases beyond the second threshold for the second object manipulation (e.g., to provide an input for performing the first object manipulation Improve the operability of the device) by helping the user avoid accidentally performing the second object manipulation during the attempt. Improving the user's ability to control the manipulation of different types of objects improves the operability of the device and makes the user-device interface more efficient.
일부 실시예들에서, 입력의 제1 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트한 후, 디바이스는 (예컨대, 입력의 제1 부분 내의 동일한 연속적으로 유지되는 접촉들, 또는 입력의 제1 부분 내의 접촉들의 종료(예컨대, 리프트오프) 후에 검출되는 상이한 접촉들에 의해) 입력의 제2 부분을 검출한다(19008). 일부 실시예들에서, 입력의 제2 부분은 사용자 인터페이스 객체에 대한 것인 연속적으로 검출된 입력들에 기초하여 검출된다. 입력의 제2 부분을 검출하는 것에 응답하여, 디바이스는 입력의 제2 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는데, 이는 입력의 제1 부분이 제1 제스처 인식 기준들을 충족하였고 입력의 제2 부분이 업데이트된 제2 제스처 인식 기준들을 충족하지 않는다는 결정에 따라, (예컨대, 입력의 제2 부분이 제1 제스처 인식 기준들 또는 원래의 제2 제스처 인식 기준들을 충족하는지 여부에 관계없이) (예컨대, 입력의 제2 부분이 업데이트되기 전의 원래의 제2 제스처 인식 기준들을 충족하는 경우에도) 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서 입력의 제2 부분에 기초하여(예컨대, 입력의 제2 부분의 방향 및/또는 크기에 기초하여) 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것; 및 입력의 제1 부분이 제2 제스처 인식 기준들을 충족하였고 입력의 제2 부분이 업데이트된 제1 제스처 인식 기준들을 충족하지 않는다는 결정에 따라, (예컨대, 입력의 제2 부분이 제2 제스처 인식 기준들 또는 원래의 제1 제스처 인식 기준들을 충족하는지 여부에 관계없이) (예컨대, 입력의 제2 부분이 업데이트되기 전의 원래의 제1 제스처 인식을 충족하는 경우에도) 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서 입력의 제2 부분에 기초하여(예컨대, 입력의 제2 부분의 방향 및/또는 크기에 기초하여) 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것을 포함한다(19010).In some embodiments, after updating the appearance of the user interface object based on the first portion of the input, the device (e.g., the same continuously held contacts within the first portion of the input, or within the first portion of the input). Detect a second portion of the input (19008) by different contacts that are detected after the end of the contacts (eg, liftoff). In some embodiments, the second portion of the input is detected based on successively detected inputs that are for the user interface object. In response to detecting the second portion of the input, the device updates the appearance of the user interface object based on the second portion of the input, which means that the first portion of the input met the first gesture recognition criteria and the second portion of the input. Depending on the determination that the portion does not meet the updated second gesture recognition criteria, (e.g., regardless of whether the second portion of the input meets the first gesture recognition criteria or the original second gesture recognition criteria) (e.g. , Based on the second portion of the input without changing the appearance of the user interface object according to the second object manipulation behavior (e.g., even if the second portion of the input satisfies the original second gesture recognition criteria before being updated) Changing the appearance of the user interface object according to the first object manipulation behavior) based on the direction and/or size of the second portion of the input; And according to the determination that the first portion of the input meets the second gesture recognition criteria and the second portion of the input does not meet the updated first gesture recognition criteria, (e.g., the second portion of the input meets the second gesture recognition criteria. User interface according to the first object manipulation behavior (e.g., even if the second part of the input satisfies the original first gesture recognition before being updated) regardless of whether it meets the first gesture recognition criteria Including changing the appearance of a user interface object according to a second object manipulation behavior based on a second portion of the input (e.g., based on the orientation and/or size of the second portion of the input) without changing the appearance of the object Do (19010).
일부 실시예들에서, 입력의 제1 부분이 제1 제스처 인식 기준들을 충족한 후 입력의 제2 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관이 변경되는 동안, 입력의 제2 부분은 (예컨대, 임계치(들)가 증가되기 전의 제2 제스처 인식 기준들 내의 입력의 이동 파라미터(들)에 대한 원래의 임계치(들)로) 제2 제스처 인식 기준들이 업데이트되기 전의 제2 제스처 인식 기준들을 충족하는 입력을 포함한다(예컨대, 입력의 제2 부분은 업데이트된 제2 제스처 인식 기준들을 충족하는 입력을 포함하지 않는다)(19012).In some embodiments, while the appearance of the user interface object is changed according to the first object manipulation behavior based on the second portion of the input after the first portion of the input meets the first gesture recognition criteria, the second portion of the input The portion is the second gesture recognition before the second gesture recognition criteria are updated (e.g., with the original threshold(s) for the movement parameter(s) of the input in the second gesture recognition criteria before the threshold(s) is increased) Include an input that meets the criteria (eg, the second portion of the input does not contain an input that meets the updated second gesture recognition criteria) (19012).
일부 실시예들에서, 입력의 제1 부분이 제2 제스처 인식 기준들을 충족한 후 입력의 제2 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관이 변경되는 동안, 입력의 제2 부분은 (예컨대, 임계치(들)가 증가되기 전의 제1 제스처 인식 기준들 내의 입력의 이동 파라미터(들)에 대한 원래의 임계치(들)로) 제1 제스처 인식 기준들이 업데이트되기 전의 제1 제스처 인식 기준들을 충족하는 입력을 포함한다(예컨대, 입력의 제2 부분은 업데이트된 제1 제스처 인식 기준들을 충족하는 입력을 포함하지 않는다)(19014).In some embodiments, while the appearance of the user interface object is changed according to the second object manipulation behavior based on the second part of the input after the first part of the input meets the second gesture recognition criteria, the second part of the input The portion is the first gesture recognition before the first gesture recognition criteria are updated (e.g., with the original threshold(s) for the movement parameter(s) of the input in the first gesture recognition criteria before the threshold(s) is increased) Include an input that meets the criteria (eg, the second portion of the input does not contain an input that meets the updated first gesture recognition criteria) (19014).
일부 실시예들에서, 입력의 제1 부분이 제1 제스처 인식 기준들을 충족한 후 입력의 제2 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관이 변경되는 동안, 입력의 제2 부분은 (예컨대, 제1 제스처 인식 기준들 내의 입력의 이동 파라미터(들)에 대한 원래의 임계치(들)로) 제1 제스처 인식 기준들을 충족하는 입력을 포함하지 않는다(19016). 예를 들어, 제1 제스처 인식 기준들이 한 번 충족된 후, 입력은 제1 객체 조작 거동을 야기하기 위해 제1 제스처 인식 기준들을 더 이상 계속 충족할 필요가 없다.In some embodiments, while the appearance of the user interface object is changed according to the first object manipulation behavior based on the second portion of the input after the first portion of the input meets the first gesture recognition criteria, the second portion of the input The portion does not include an input that meets the first gesture recognition criteria (e.g., with the original threshold(s) for the movement parameter(s) of the input within the first gesture recognition criteria) (19016). For example, after the first gesture recognition criteria are satisfied once, the input no longer needs to continue to meet the first gesture recognition criteria to cause a first object manipulation behavior.
일부 실시예들에서, 입력의 제1 부분이 제2 제스처 인식 기준들을 충족한 후 입력의 제2 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관이 변경되는 동안, 입력의 제2 부분은 (예컨대, 제2 제스처 인식 기준들 내의 입력의 이동 파라미터(들)에 대한 원래의 임계치(들)로) 제2 제스처 인식 기준들을 충족하는 입력을 포함하지 않는다(19018). 예를 들어, 제2 제스처 인식 기준들이 한 번 충족된 후, 입력은 제2 객체 조작 거동을 야기하기 위해 제2 제스처 인식 기준들을 더 이상 계속 충족할 필요가 없다. 입력의 제2 부분이 증가된 임계치를 초과하여 증가하는 이동을 포함할 때 제1 객체 조작 거동을 수행하는 것은 (예컨대, 사용자가 새로운 입력을 제공할 것을 요구하지 않으면서, 증가된 기준들을 충족함으로써 제1 객체 조작을 수행한 후에 제2 객체 조작을 의도적으로 수행할 수 있는 능력을 사용자에게 제공함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while the appearance of the user interface object is changed according to the second object manipulation behavior based on the second part of the input after the first part of the input meets the second gesture recognition criteria, the second part of the input The portion does not include an input that meets the second gesture recognition criteria (e.g., with the original threshold(s) for the movement parameter(s) of the input in the second gesture recognition criteria) (19018). For example, after the second gesture recognition criteria are satisfied once, the input no longer needs to continue to meet the second gesture recognition criteria to cause a second object manipulation behavior. Performing the first object manipulation behavior when the second portion of the input includes an increasing movement above an increased threshold (e.g., by meeting increased criteria without requiring the user to provide a new input). After performing the first object manipulation, the operability of the device is improved by providing the user with the ability to intentionally perform the second object manipulation. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thereby allowing the device to It reduces the power usage of the battery and improves battery life.
일부 실시예들에서, 입력의 제2 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는 것은, 입력의 제1 부분이 제2 제스처 인식 기준들을 충족하였고 입력의 제2 부분이 업데이트된 제1 제스처 인식 기준들을 충족한다는 결정에 따라, 입력의 제2 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고, 입력의 제2 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것; 및 입력의 제1 부분이 제1 제스처 인식 기준들을 충족하였고 입력의 제2 부분이 업데이트된 제2 제스처 인식 기준들을 충족한다는 결정에 따라, 입력의 제2 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고, 입력의 제2 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것을 포함한다(19020). 예를 들어, 제1 제스처 인식 기준들이 먼저 충족되고 이어서 입력이 업데이트된 제2 제스처 인식 기준들을 충족한 후, 입력은 이제 제1 및 제2 객체 조작 거동들 둘 모두를 야기할 수 있다. 예를 들어, 제2 제스처 인식 기준들이 먼저 충족되고 이어서 입력이 업데이트된 제1 제스처 인식 기준들을 충족한 후, 입력은 이제 제1 및 제2 객체 조작 거동들 둘 모두를 야기할 수 있다. 제2 제스처 인식 기준들 및 업데이트된 제1 제스처 인식 기준들이 충족된 후에 검출된 입력의 일부분에 응답하여 제1 객체 조작 거동 및 제2 객체 조작 거동에 따라 객체를 업데이트하는 것은 (예컨대, 사용자가 새로운 입력을 제공할 것을 요구하지 않으면서 증가된 임계치를 만족한 후에 제1 객체 조작 및 제2 객체 조작을 사용하여 객체를 자유롭게 조작할 수 있는 능력을 사용자에게 제공함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, updating the appearance of the user interface object based on the second portion of the input comprises: a first gesture recognition in which the first portion of the input meets second gesture recognition criteria and the second portion of the input is updated. According to the determination that the criteria are satisfied, the appearance of the user interface object is changed according to the first object manipulation behavior based on the second part of the input, and the user interface object according to the second object manipulation behavior based on the second part of the input. Changing the appearance of; And according to a determination that the first portion of the input meets the first gesture recognition criteria and the second portion of the input meets the updated second gesture recognition criteria, according to the first object manipulation behavior based on the second portion of the input. And changing the appearance of the user interface object, and changing the appearance of the user interface object according to the second object manipulation behavior based on the second portion of the input (19020). For example, after the first gesture recognition criteria are met first and then the input meets the updated second gesture recognition criteria, the input can now cause both first and second object manipulation behaviors. For example, after the second gesture recognition criteria are met first and then the input meets the updated first gesture recognition criteria, the input can now cause both first and second object manipulation behaviors. Updating the object according to the first object manipulation behavior and the second object manipulation behavior in response to a portion of the input detected after the second gesture recognition criteria and the updated first gesture recognition criteria are satisfied (e.g., the user Improves operability of the device) by providing the user with the ability to freely manipulate the object using the first object manipulation and the second object manipulation after satisfying the increased threshold without requiring to provide an input. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thereby allowing the device to It reduces the power usage of the battery and improves battery life.
일부 실시예들에서, 입력의 제2 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트한 후(예컨대, 제1 제스처 인식 기준들 및 업데이트된 제2 제스처 인식 기준들 양자 모두가 충족된 후, 또는 제2 제스처 인식 기준들 및 업데이트된 제1 제스처 인식 기준들 양자 모두가 충족된 후), 디바이스는 (예컨대, 입력의 제1 및 제2 부분 내의 동일한 연속적으로 유지되는 접촉들, 또는 입력의 제1 부분 및 제2 부분 내의 접촉들의 종료(예컨대, 리프트오프) 후에 검출되는 상이한 접촉들에 의해) 입력의 제3 부분을 검출한다(19022). 입력의 제3 부분을 검출하는 것에 응답하여, 디바이스는 입력의 제3 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는데, 이는 입력의 제3 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것; 및 입력의 제3 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것을 포함한다(19024). 예를 들어, 제1 제스처 인식 기준들 및 업데이트된 제2 제스처 인식 기준들 양자 모두가 충족된 후, 또는 제2 제스처 인식 기준들 및 업데이트된 제1 제스처 인식 기준들 양자 모두가 충족된 후, 입력은 원래의 또는 업데이트된 제1 및 제2 제스처 인식 기준들에서의 임계치들과 상관없이 제1 및 제2 객체 조작 거동들 둘 모두를 후속하여 야기할 수 있다. 제2 제스처 인식 기준들 및 업데이트된 제1 제스처 인식 기준들이 충족된 후에 검출된 입력의 일부분에 응답하여 제1 객체 조작 거동 및 제2 객체 조작 거동에 따라 객체를 업데이트하는 것은 (예컨대, 사용자가 새로운 입력을 제공할 것을 요구하지 않으면서, 증가된 임계치를 만족함으로써 제1 객체 조작 유형을 수행하고자 하는 의도를 입증한 후에 제1 객체 조작 및 제2 객체 조작을 사용하여 객체를 자유롭게 조작할 수 있는 능력을 사용자에게 제공함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, after updating the appearance of the user interface object based on the second portion of the input (e.g., after both the first gesture recognition criteria and the updated second gesture recognition criteria are met, or After both the 2 gesture recognition criteria and the updated first gesture recognition criteria have been met), the device may (e.g., the same continuously maintained contacts within the first and second portion of the input, or the first portion of the input). And (19022) a third portion of the input) by different contacts detected after termination (eg, liftoff) of the contacts in the second portion. In response to detecting the third portion of the input, the device updates the appearance of the user interface object based on the third portion of the input, which is based on the third portion of the input and according to the first object manipulation behavior. Changing the appearance of; And changing the appearance of the user interface object according to the second object manipulation behavior based on the third portion of the input (19024). For example, after both the first gesture recognition criteria and the updated second gesture recognition criteria are satisfied, or after both the second gesture recognition criteria and the updated first gesture recognition criteria are satisfied, the input May subsequently cause both the first and second object manipulation behaviors regardless of the thresholds in the original or updated first and second gesture recognition criteria. Updating the object according to the first object manipulation behavior and the second object manipulation behavior in response to a portion of the input detected after the second gesture recognition criteria and the updated first gesture recognition criteria are satisfied (e.g., the user The ability to freely manipulate an object using first object manipulation and second object manipulation after demonstrating the intention to perform the first type of object manipulation by satisfying an increased threshold without requiring to provide input. To improve the operability of the device). Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thereby allowing the device to It reduces the power usage of the battery and improves battery life.
일부 실시예들에서, 입력의 제3 부분은 제1 제스처 인식 기준들을 충족하는 입력 또는 제2 제스처 인식 기준들을 충족하는 입력을 포함하지 않는다(19026). 예를 들어, 제1 제스처 인식 기준들 및 업데이트된 제2 제스처 인식 기준들 양자 모두가 충족된 후, 또는 제2 제스처 인식 기준들 및 업데이트된 제1 제스처 인식 기준들 양자 모두가 충족된 후, 입력은 원래의 또는 업데이트된 제1 및 제2 제스처 인식 기준들에서의 임계치들과 상관없이 제1 및 제2 객체 조작 거동들 둘 모두를 후속하여 야기할 수 있다. 제2 제스처 인식 기준들 및 업데이트된 제1 제스처 인식 기준들이 충족된 후에 검출된 입력의 일부분에 응답하여 제1 객체 조작 거동 및 제2 객체 조작 거동에 따라 객체를 업데이트하는 것은 (예컨대, 사용자가 새로운 입력을 제공할 것을 요구하지 않으면서, 강화된 기준들을 만족한 후에 제1 객체 조작 및 제2 객체 조작을 사용하여 객체를 자유롭게 조작할 수 있는 능력을 사용자에게 제공함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the third portion of the input does not include an input that meets the first gesture recognition criteria or an input that meets the second gesture recognition criteria (19026). For example, after both the first gesture recognition criteria and the updated second gesture recognition criteria are satisfied, or after both the second gesture recognition criteria and the updated first gesture recognition criteria are satisfied, the input May subsequently cause both the first and second object manipulation behaviors regardless of the thresholds in the original or updated first and second gesture recognition criteria. Updating the object according to the first object manipulation behavior and the second object manipulation behavior in response to a portion of the input detected after the second gesture recognition criteria and the updated first gesture recognition criteria are satisfied (e.g., the user Improves the operability of the device) by providing the user with the ability to freely manipulate the object using the first object manipulation and the second object manipulation after satisfying the reinforced criteria without requiring to provide input. . Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thereby allowing the device to It reduces the power usage of the battery and improves battery life.
일부 실시예들에서, 복수의 객체 조작 거동들은 제3 제스처 인식 기준들(예컨대, 축척조정 기준들)을 충족하는 입력들에 응답하여 수행되는 제3 객체 조작 거동(예컨대, 각각의 축을 중심으로 하는 사용자 인터페이스 객체의 회전)을 포함한다(19028). 입력의 제1 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는 것은, 입력의 제1 부분이 제2 제스처 인식 기준들을 충족하기 또는 제3 제스처 인식 기준들을 충족하기 전에 제1 제스처 인식 기준들을 충족한다는 결정에 따라, 입력의 제1 부분에 기초하여(예컨대, 입력의 제1 부분의 방향 및/또는 크기에 기초하여) 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것(예컨대, 사용자 인터페이스 객체를 회전시키는 것); 및 (예컨대, 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서) 제2 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제2 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제2 제스처 인식 기준들을 업데이트하는 것을 포함한다(19030). 예를 들어, 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (병진 또는 축척조정에 대한 기준들이 이전에 충족되지 않았다고 가정하면) 병진 또는 축척조정을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 더 어려워지고(예컨대, 병진 및 축척조정에 대한 기준들은 이동 파라미터에 대한 증가된 임계치들로 업데이트됨), 객체 조작은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 디바이스는 제3 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제3 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제3 제스처 인식 기준들을 업데이트한다. 예를 들어, 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (병진 또는 축척조정에 대한 기준들이 이전에 충족되지 않았다고 가정하면) 병진 또는 축척조정을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 더 어려워지고(예컨대, 병진 및 축척조정에 대한 기준들은 이동 파라미터에 대한 증가된 임계치들로 업데이트됨), 객체 조작은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 입력이 제1 제스처 인식 기준들을 충족하기 또는 제3 제스처 인식 기준들을 충족하기 전에 제2 제스처 인식 기준들을 충족한다는 결정에 따라, 디바이스는 입력의 제1 부분에 기초하여(예컨대, 입력의 제1 부분의 방향 및/또는 크기에 기초하여) 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고(예컨대, 사용자 인터페이스 객체를 병진시키거나 사용자 인터페이스 객체를 크기 재설정함); (예컨대, 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서) 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제1 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제1 제스처 인식 기준들을 업데이트한다. 예를 들어, 객체를 병진 또는 축척조정하기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 이전에 충족되지 않았다고 가정하면) 회전을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 회전 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 병진 또는 축척조정하기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 회전 동작을 개시하는 것은 더 어려워지고(예컨대, 객체를 회전시키기 위한 기준들은 이동 파라미터에 대한 증가된 임계치로 업데이트됨), 객체 조작 거동은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 일부 실시예들에서, 사용자 인터페이스 객체의 외관은 입력의 각각의 이동 파라미터의 값들에 따라 동적으로 그리고 연속적으로 변경된다(예컨대, 상이한 크기들, 위치들, 시점들, 반사상들, 그림자들 등을 보여줌). 일부 실시예들에서, 디바이스는 이동 파라미터(예컨대, 각각의 유형의 조작 거동에 대한 각각의 이동 파라미터)와 사용자 인터페이스 객체의 외관(예컨대, 각각의 유형의 조작 거동에 대한 외관의 각각의 양태)에 대해 이루어진 변경들 사이의 미리설정된 대응관계(예컨대, 각각의 유형의 조작 거동에 대한 각각의 대응관계)를 따른다. 디바이스는 제3 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제3 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제3 제스처 인식 기준들을 업데이트한다. 예를 들어, 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (병진 또는 축척조정에 대한 기준들이 이전에 충족되지 않았다고 가정하면) 병진 또는 축척조정을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 더 어려워지고(예컨대, 병진 및 축척조정에 대한 기준들은 이동 파라미터에 대한 증가된 임계치들로 업데이트됨), 객체 조작은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 입력이 제1 제스처 인식 기준들을 충족하기 또는 제2 제스처 인식 기준들을 충족하기 전에 제3 제스처 인식 기준들을 충족한다는 결정에 따라, 디바이스는 입력의 제1 부분에 기초하여(예컨대, 입력의 제1 부분의 방향 및/또는 크기에 기초하여) 제3 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고(예컨대, 사용자 인터페이스 객체를 크기 재설정함); (예컨대, 제1 객체 조작 거동 및 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서) 디바이스는 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제1 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제1 제스처 인식 기준들을 업데이트한다. 예를 들어, 객체를 병진 또는 축척조정하기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 이전에 충족되지 않았다고 가정하면) 회전을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 회전 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 병진 또는 축척조정하기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 회전 동작을 개시하는 것은 더 어려워지고(예컨대, 객체를 회전시키기 위한 기준들은 이동 파라미터에 대한 증가된 임계치로 업데이트됨), 객체 조작 거동은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 일부 실시예들에서, 사용자 인터페이스 객체의 외관은 입력의 각각의 이동 파라미터의 값들에 따라 동적으로 그리고 연속적으로 변경된다(예컨대, 상이한 크기들, 위치들, 시점들, 반사상들, 그림자들 등을 보여줌). 일부 실시예들에서, 디바이스는 이동 파라미터(예컨대, 각각의 유형의 조작 거동에 대한 각각의 이동 파라미터)와 사용자 인터페이스 객체의 외관(예컨대, 각각의 유형의 조작 거동에 대한 외관의 각각의 양태)에 대해 이루어진 변경들 사이의 미리설정된 대응관계(예컨대, 각각의 유형의 조작 거동에 대한 각각의 대응관계)를 따른다. 디바이스는 제2 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제2 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제2 제스처 인식 기준들을 업데이트한다. 예를 들어, 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (병진 또는 축척조정에 대한 기준들이 이전에 충족되지 않았다고 가정하면) 병진 또는 축척조정을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 더 어려워지고(예컨대, 병진 및 축척조정에 대한 기준들은 이동 파라미터에 대한 증가된 임계치들로 업데이트됨), 객체 조작은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 대응하는 제3 제스처 인식 기준들이 충족될 때에만 검출되는 입력의 일부분에 응답하여 제3 객체 조작 거동에 따라 객체를 업데이트하는 것은 (예컨대, 제1 객체 조작 또는 제2 객체 조작을 수행하기 위한 입력을 제공하려고 시도하는 동안 사용자가 제3 객체 조작을 우발적으로 수행하는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the plurality of object manipulation behaviors are performed in response to inputs meeting third gesture recognition criteria (eg, scaling criteria) (eg, about each axis). Rotation of the user interface object) (19028). Updating the appearance of the user interface object based on the first portion of the input indicates that the first portion of the input satisfies the first gesture recognition criteria prior to meeting the second gesture recognition criteria or meeting the third gesture recognition criteria. Depending on the decision, changing the appearance of the user interface object according to the first object manipulation behavior based on the first portion of the input (e.g., based on the direction and/or size of the first portion of the input) (e.g. Rotating the interface object); And by increasing the threshold for the second gesture recognition criteria (e.g., without changing the appearance of the user interface object according to the second object manipulation behavior) (e.g., a movement parameter (e.g., movement distance) in the second gesture recognition criteria) , By increasing the threshold required for speed, etc.) (19030). For example, before the criteria for recognizing a gesture for rotating an object are met, criteria for recognizing a gesture for translation or scaling (assuming that the criteria for translation or scaling have not been previously met) By fulfilling it is relatively easy to initiate a translation or scaling operation on an object. Once the criteria for recognizing a gesture to rotate an object are met, it becomes more difficult to initiate a translation or scaling operation for the object (e.g., the criteria for translation and scaling are increased thresholds for the movement parameter). Updated), object manipulation is biased towards manipulation behavior corresponding to gestures already recognized and used to manipulate these objects. The device updates the third gesture recognition criteria by increasing the threshold for the third gesture recognition criteria (e.g., by increasing the threshold required for the movement parameter (eg, travel distance, speed, etc.) in the third gesture recognition criteria). . For example, before the criteria for recognizing a gesture for rotating an object are met, criteria for recognizing a gesture for translation or scaling (assuming that the criteria for translation or scaling have not been previously met) By fulfilling it is relatively easy to initiate a translation or scaling operation on an object. Once the criteria for recognizing a gesture to rotate an object are met, it becomes more difficult to initiate a translation or scaling operation for the object (e.g., the criteria for translation and scaling are increased thresholds for the movement parameter). Updated), object manipulation is biased towards manipulation behavior corresponding to gestures already recognized and used to manipulate these objects. Upon determining that the input meets the first gesture recognition criteria or meets the second gesture recognition criteria prior to meeting the third gesture recognition criteria, the device is based on the first portion of the input (e.g., the first portion of the input). Changing the appearance of the user interface object (eg, translating the user interface object or resizing the user interface object) according to the second object manipulation behavior (based on the direction and/or size of); By increasing the threshold for the first gesture recognition criteria (e.g., without changing the appearance of the user interface object according to the first object manipulation behavior) (e.g., the movement parameter (e.g., movement distance, Update the first gesture recognition criteria) by increasing the threshold required for speed, etc. For example, before the criteria for recognizing a gesture to translate or scale an object are met, (assuming that the criteria for recognizing a gesture to rotate an object have not been met before), recognize a gesture for rotation. It is relatively easy to initiate a rotational operation on an object by meeting the criteria for: Once the criteria for recognizing a gesture to translate or scale an object are met, it becomes more difficult to initiate a rotational motion on the object (e.g., the criteria for rotating the object are updated with an increased threshold for the movement parameter). ), object manipulation behaviors are biased towards manipulation behaviors corresponding to gestures already recognized and used to manipulate these objects. In some embodiments, the appearance of the user interface object changes dynamically and continuously according to the values of each movement parameter of the input (e.g., showing different sizes, positions, viewpoints, reflections, shadows, etc.) ). In some embodiments, the device is dependent on a movement parameter (e.g., each movement parameter for each type of operating behavior) and an appearance of the user interface object (e.g., each aspect of the appearance for each type of operating behavior). It follows a preset correspondence between changes made to (eg, each correspondence to each type of operating behavior). The device updates the third gesture recognition criteria by increasing the threshold for the third gesture recognition criteria (e.g., by increasing the threshold required for the movement parameter (eg, travel distance, speed, etc.) in the third gesture recognition criteria). . For example, before the criteria for recognizing a gesture for rotating an object are met, criteria for recognizing a gesture for translation or scaling (assuming that the criteria for translation or scaling have not been previously met) By fulfilling it is relatively easy to initiate a translation or scaling operation on an object. Once the criteria for recognizing a gesture to rotate an object are met, it becomes more difficult to initiate a translation or scaling operation on the object (e.g., the criteria for translation and scaling are increased thresholds for the movement parameter). Updated), object manipulation is biased towards manipulation behavior corresponding to gestures already recognized and used to manipulate these objects. Upon determination that the input satisfies the third gesture recognition criteria prior to meeting the first gesture recognition criteria or meeting the second gesture recognition criteria, the device is based on the first portion of the input (e.g., the first portion of the input). Changing the appearance of the user interface object (eg, resizing the user interface object) according to the third object manipulation behavior (based on the direction and/or size of); (E.g., without changing the appearance of the user interface object according to the first object manipulation behavior and the second object manipulation behavior) by increasing the threshold for the first gesture recognition criteria (e.g., in the first gesture recognition criteria) The first gesture recognition criteria are updated by increasing the threshold required for the movement parameter (eg, travel distance, speed, etc.). For example, before the criteria for recognizing a gesture to translate or scale an object are met, (assuming that the criteria for recognizing a gesture to rotate an object have not been met before), recognize a gesture for rotation. It is relatively easy to initiate a rotational operation on an object by meeting the criteria for: Once the criteria for recognizing a gesture to translate or scale an object are met, it becomes more difficult to initiate a rotational motion on the object (e.g., the criteria for rotating the object are updated with an increased threshold for the movement parameter). ), object manipulation behaviors are biased towards manipulation behaviors corresponding to gestures already recognized and used to manipulate these objects. In some embodiments, the appearance of the user interface object changes dynamically and continuously according to the values of each movement parameter of the input (e.g., showing different sizes, positions, viewpoints, reflections, shadows, etc.) ). In some embodiments, the device is dependent on a movement parameter (e.g., each movement parameter for each type of operating behavior) and an appearance of the user interface object (e.g., each aspect of the appearance for each type of operating behavior). It follows a preset correspondence between changes made to (eg, each correspondence to each type of operating behavior). The device updates the second gesture recognition criteria by increasing the threshold for the second gesture recognition criteria (e.g., by increasing the threshold required for the movement parameter (eg, travel distance, speed, etc.) in the second gesture recognition criteria). . For example, before the criteria for recognizing a gesture for rotating an object are met, criteria for recognizing a gesture for translation or scaling (assuming that the criteria for translation or scaling have not been previously met) By fulfilling it is relatively easy to initiate a translation or scaling operation on an object. Once the criteria for recognizing a gesture to rotate an object are met, it becomes more difficult to initiate a translation or scaling operation for the object (e.g., the criteria for translation and scaling are increased thresholds for the movement parameter). Updated), object manipulation is biased towards manipulation behavior corresponding to gestures already recognized and used to manipulate these objects. Updating the object according to the third object manipulation behavior in response to a portion of the input detected only when the corresponding third gesture recognition criteria are satisfied (e.g., input for performing a first object manipulation or a second object manipulation Improve the operability of the device) by helping the user avoid accidentally performing third object manipulation while attempting to provide. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thereby allowing the device to It reduces the power usage of the battery and improves battery life.
일부 실시예들에서, 복수의 객체 조작 거동들은 제3 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제3 객체 조작 거동을 포함하고, 입력의 제1 부분은 제1 제스처 인식 기준들 또는 제2 제스처 인식 기준들을 충족하기 전에 제3 제스처 인식 기준들을 충족하지 않았고, 디바이스는 입력의 제1 부분이 제1 제스처 인식 기준들 또는 제2 제스처 인식 기준들을 충족한 후에 제3 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 제3 제스처 인식 기준들을 업데이트하였고, 입력의 제2 부분은 업데이트된 제1 제스처 인식 기준들 또는 업데이트된 제2 제스처 인식 기준들을 충족하기 전에 업데이트된 제3 제스처 인식 기준들을 충족하지 않았다(예컨대, 디바이스는 입력의 제1 부분이 제1 또는 제2 제스처 인식 기준들 중 하나를 충족한 후에 제3 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 제3 제스처 인식 기준들을 업데이트하였다)(19032). 입력의 제3 부분을 검출하는 것에 응답하여, (예컨대, 입력의 제3 부분이 (예컨대, 업데이트된 또는 원래의) 제1 또는 제2 제스처 인식 기준들을 충족하는지 여부에 관계없이) 입력의 제3 부분이 업데이트된 제3 제스처 인식 기준들을 충족한다는 결정에 따라, 디바이스는 (예컨대, (예를 들어, 입력의 제3 부분이 원래의 제1 및 제2 제스처 인식 기준들을 충족하지 않더라도) 제1 및 제2 객체 조작 거동들에 따라 사용자 인터페이스 객체의 외관을 변경하는 동안) 입력의 제3 부분에 기초하여(예컨대, 입력의 제3 부분의 방향 및/또는 크기에 기초하여) 제3 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경한다(19034). 입력의 제3 부분이 업데이트된 제3 제스처 인식 기준들을 충족하지 않는다는 결정에 따라, 디바이스는 (예컨대, (예를 들어, 입력의 제3 부분이 원래의 제1 및 제2 제스처 인식 기준들을 충족하지 않더라도) 제1 및 제2 객체 조작 거동들에 따라 사용자 인터페이스 객체의 외관을 변경하는 동안) 입력의 제3 부분에 기초하여 제3 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것을 보류한다. 제2 제스처 인식 기준들, 업데이트된 제1 제스처 인식 기준들, 및 업데이트된 제3 제스처 인식 기준들이 충족된 후에 검출된 입력의 일부분에 응답하여 제1 객체 조작 거동, 제2 객체 조작 거동, 및 제3 객체 조작 거동에 따라 객체를 업데이트하는 것은 (예컨대, 사용자가 새로운 입력을 제공할 것을 요구하지 않으면서, 증가된 임계치들을 만족함으로써 모든 3개의 객체 조작 유형들을 수행하고자 하는 의도를 확립한 후에 제1, 제2, 제3 객체 조작 유형들을 사용하여 객체를 자유롭게 조작할 수 있는 능력을 사용자에게 제공함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the plurality of object manipulation behaviors includes a third object manipulation behavior performed in response to inputs meeting the third gesture recognition criteria, and the first portion of the input is the first gesture recognition criteria or the first 2 The third gesture recognition criteria have not been satisfied before the gesture recognition criteria are satisfied, and the device determines the third gesture recognition criteria after the first portion of the input meets the first gesture recognition criteria or the second gesture recognition criteria. The third gesture recognition criteria were updated by increasing the threshold, and the second portion of the input did not meet the updated third gesture recognition criteria before meeting the updated first gesture recognition criteria or the updated second gesture recognition criteria. (E.g., the device updated the third gesture recognition criteria by increasing the threshold for the third gesture recognition criteria after the first portion of the input meets one of the first or second gesture recognition criteria) (19032) . In response to detecting the third portion of the input, the third portion of the input (eg, regardless of whether the third portion of the input satisfies the (eg, updated or original) first or second gesture recognition criteria) Upon determination that the portion meets the updated third gesture recognition criteria, the device (e.g., even if the third portion of the input does not meet the original first and second gesture recognition criteria) and Based on the third part of the input (e.g., based on the direction and/or size of the third part of the input) to the third object manipulation behavior while changing the appearance of the user interface object according to the second object manipulation behaviors. Accordingly, the appearance of the user interface object is changed (19034). Upon determining that the third portion of the input does not meet the updated third gesture recognition criteria, the device (e.g., (e.g., the third portion of the input does not meet the original first and second gesture recognition criteria). Although not) changing the appearance of the user interface object according to the third object manipulation behavior based on the third part of the input) while changing the appearance of the user interface object according to the first and second object manipulation behaviors is reserved. In response to a portion of the input detected after the second gesture recognition criteria, the updated first gesture recognition criteria, and the updated third gesture recognition criteria are satisfied, the first object manipulation behavior, the second object manipulation behavior, and the second 3 Updating the object according to the object manipulation behavior (e.g., not requiring the user to provide a new input, but after establishing the intent to perform all three object manipulation types by satisfying increased thresholds. , By providing the user with the ability to freely manipulate objects using second and third object manipulation types) to improve the operability of the device. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thereby allowing the device to It reduces the power usage of the battery and improves battery life.
일부 실시예들에서, 입력의 제3 부분은 업데이트된 제3 제스처 인식 기준들을 충족하였다(19036). 입력의 제3 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트한 후(예컨대, 제1 제스처 인식 기준들 및 업데이트된 제2 및 제3 제스처 인식 기준들 양자 모두가 충족된 후, 또는 제2 제스처 인식 기준들 및 업데이트된 제1 및 제3 제스처 인식 기준들 양자 모두가 충족된 후), 디바이스는 (예컨대, 입력의 제1, 제2 및 제3 부분 내의 동일한 연속적으로 유지되는 접촉들, 또는 입력의 제1 부분, 제2 부분, 및 제3 부분 내의 접촉들의 종료(예컨대, 리프트오프) 후에 검출되는 상이한 접촉들에 의해) 입력의 제4 부분을 검출한다(19038). 입력의 제4 부분을 검출하는 것에 응답하여, 디바이스는 입력의 제4 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는데, 이는 입력의 제4 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것; 입력의 제4 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것; 및 입력의 제4 부분에 기초하여 제3 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것을 포함한다(19040). 예를 들어, 제1 제스처 인식 기준들 및 업데이트된 제2 및 제3 제스처 인식 기준들이 충족된 후, 또는 제2 제스처 인식 기준들 및 업데이트된 제1 및 제3 제스처 인식 기준들이 충족된 후, 입력은 원래의 또는 업데이트된 제1, 제2, 및 제3 제스처 인식 기준들에서의 임계치들과 상관없이 모든 3개 유형의 조작 거동들을 후속하여 야기할 수 있다.In some embodiments, the third portion of the input met the updated third gesture recognition criteria (19036). After updating the appearance of the user interface object based on the third part of the input (e.g., after both the first gesture recognition criteria and the updated second and third gesture recognition criteria are satisfied, or the second gesture recognition) After both the criteria and the updated first and third gesture recognition criteria are met), the device may (e.g., maintain the same continuously held contacts within the first, second and third portion of the input, or Detect (19038) a fourth portion of the input) by different contacts detected after termination (eg, lift-off) of the contacts in the first portion, the second portion, and the third portion. In response to detecting the fourth portion of the input, the device updates the appearance of the user interface object based on the fourth portion of the input, which is based on the fourth portion of the input and according to the first object manipulation behavior. Changing the appearance of; Changing the appearance of the user interface object according to the second object manipulation behavior based on the fourth portion of the input; And changing the appearance of the user interface object according to the third object manipulation behavior based on the fourth portion of the input (19040). For example, after the first gesture recognition criteria and the updated second and third gesture recognition criteria are satisfied, or after the second gesture recognition criteria and the updated first and third gesture recognition criteria are satisfied, the input May subsequently cause all three types of manipulation behaviors regardless of the thresholds in the original or updated first, second, and third gesture recognition criteria.
일부 실시예들에서, 입력의 제4 부분은 제1 제스처 인식 기준들을 충족하는 입력, 제2 제스처 인식 기준들을 충족하는 입력, 또는 제3 제스처 인식 기준들을 충족하는 입력을 포함하지 않는다(19042). 예를 들어, 제1 제스처 인식 기준들 및 업데이트된 제2 및 제3 제스처 인식 기준들이 충족된 후, 또는 제2 제스처 인식 기준들 및 업데이트된 제1 및 제3 제스처 인식 기준들이 충족된 후, 입력은 원래의 또는 업데이트된 제1, 제2, 및 제3 제스처 인식 기준들에서의 임계치들과 상관없이 모든 3개 유형의 조작 거동들을 후속하여 야기할 수 있다. 제스처에 대해 다수의 동시에 검출된 접촉들을 요구하는 것은 (예컨대, 필요한 수 미만의 동시에 검출된 접촉들을 갖는 입력을 제공하는 동안 사용자가 객체 조작을 우발적으로 수행하는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the fourth portion of the input does not include an input that meets the first gesture recognition criteria, an input that meets the second gesture recognition criteria, or an input that meets the third gesture recognition criteria (19042). For example, after the first gesture recognition criteria and the updated second and third gesture recognition criteria are satisfied, or after the second gesture recognition criteria and the updated first and third gesture recognition criteria are satisfied, the input May subsequently cause all three types of manipulation behaviors regardless of the thresholds in the original or updated first, second, and third gesture recognition criteria. Requiring multiple simultaneously detected contacts for a gesture (e.g., by helping the user avoid accidentally performing object manipulation while providing an input with fewer than the required number of simultaneously detected contacts) Improves. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thereby allowing the device to It reduces the power usage of the battery and improves battery life.
일부 실시예들에서, 제1 제스처 인식 기준들 및 제2 제스처 인식 기준들(및 제3 제스처 인식 기준들) 양자 모두는 충족되기 위해 제1 개수의 동시에 검출되는 접촉들(예컨대, 2개의 접촉들)을 요구한다(19044). 일부 실시예들에서, 단일 손가락 제스처가 또한 병진을 위해 사용될 수 있고, 단일 손가락 병진 임계치는 두 손가락 병진 임계치보다 낮다. 일부 실시예들에서, 두 손가락 병진 제스처에 대해 설정된 원래의 이동 임계치 및 업데이트된 이동 임계치는 각각 40 포인트들 및 70 포인트들의 접촉들의 도심(centroid)에 의한 이동이다. 일부 실시예들에서, 두 손가락 회전 제스처에 대해 설정된 원래의 이동 임계치 및 업데이트된 이동 임계치는 각각 12도 및 18도의 접촉들에 의한 회전 이동이다. 일부 실시예들에서, 두 손가락 축척조정 제스처에 대해 설정된 원래의 이동 임계치 및 업데이트된 이동 임계치는 각각 50 포인트들(접촉들 사이의 거리) 및 90 포인트들이다. 일부 실시예들에서, 단일 손가락 드래그 제스처에 대해 설정된 임계치는 30 포인트들이다.In some embodiments, both the first gesture recognition criteria and the second gesture recognition criteria (and the third gesture recognition criteria) are satisfied with the first number of simultaneously detected contacts (e.g., two contacts). ) Is requested (19044). In some embodiments, a single finger gesture may also be used for translation, and the single finger translation threshold is lower than the two finger translation threshold. In some embodiments, the original movement threshold and the updated movement threshold set for the two finger translation gesture are movement by centroid of 40 points and 70 points of contacts, respectively. In some embodiments, the original movement threshold and the updated movement threshold set for the two finger rotation gesture are rotational movement by contact of 12 degrees and 18 degrees, respectively. In some embodiments, the original movement threshold and the updated movement threshold set for the two finger scaling gesture are 50 points (distance between contacts) and 90 points, respectively. In some embodiments, the threshold set for a single finger drag gesture is 30 points.
일부 실시예들에서, 제1 객체 조작 거동은 사용자 인터페이스 객체의 줌 레벨 또는 디스플레이된 크기를 변경하고(예를 들면, 예컨대 핀치 제스처(예컨대, 접촉들의 서로를 향하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제1 제스처 인식 기준들에 기초하여 인식된 후, 핀치 제스처에 의해 객체를 크기 재설정함), 제2 객체 조작 거동은 사용자 인터페이스 객체의 회전 각을 변경한다(예를 들면, 예컨대 트위스트/피봇 제스처(예컨대, 접촉들의 공통 궤적을 중심으로 하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제2 제스처 인식 기준들에 의해 인식된 후, 트위스트/피봇 제스처에 의해 외부 또는 내부 축을 중심으로 사용자 인터페이스 객체의 관찰 시점을 변경함)(19046). 예를 들어, 제1 객체 조작 거동은 도 14g 내지 도 14i와 관련하여 기술된 바와 같이 가상 객체(11002)의 디스플레이된 크기를 변경하고, 제2 객체 조작 거동은 도 14b 내지 도 14e와 관련하여 기술된 바와 같이 가상 객체(11002)의 회전 각을 변경한다. 일부 실시예들에서, 제2 객체 조작 거동은 사용자 인터페이스 객체의 줌 레벨 또는 디스플레이된 크기를 변경하고(예를 들면, 예컨대 핀치 제스처(예컨대, 접촉들의 서로를 향하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제2 제스처 인식 기준들에 기초하여 인식된 후, 핀치 제스처에 의해 객체를 크기 재설정함), 제1 객체 조작 거동은 사용자 인터페이스 객체의 회전 각을 변경한다(예를 들면, 예컨대 트위스트/피봇 제스처(예컨대, 접촉들의 공통 궤적을 중심으로 하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제1 제스처 인식 기준들에 의해 인식된 후, 트위스트/피봇 제스처에 의해 외부 또는 내부 축을 중심으로 사용자 인터페이스 객체의 관찰 시점을 변경함).In some embodiments, the first object manipulation behavior changes the zoom level or displayed size of the user interface object (e.g., a pinch gesture (e.g., movement of contacts towards each other) is (e.g., original or After being recognized based on the updated) first gesture recognition criteria, the object is resized by a pinch gesture), and the second object manipulation behavior changes the rotation angle of the user interface object (e.g., twist/ After a pivot gesture (e.g., movement around a common trajectory of contacts) is recognized by the second gesture recognition criteria (e.g., original or updated), the user about an outer or inner axis by a twist/pivot gesture Change the observation point of the interface object) (19046). For example, the first object manipulation behavior changes the displayed size of the
일부 실시예들에서, 제1 객체 조작 거동은 사용자 인터페이스 객체의 줌 레벨 또는 디스플레이된 크기를 변경하고(예를 들면, 예컨대 핀치 제스처(예컨대, 접촉들의 서로를 향하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제1 제스처 인식 기준들에 기초하여 인식된 후, 핀치 제스처에 의해 객체를 크기 재설정함), 제2 객체 조작 거동은 제1 사용자 인터페이스 영역 내의 사용자 인터페이스 객체의 위치를 변경한다(예를 들면, 예컨대, 한 손가락 또는 두 손가락 드래그 제스처(예컨대, 접촉들의 각각의 방향으로의 이동)가 (예컨대, 원래의 또는 업데이트된) 제2 제스처 인식 기준들에 의해 인식된 후, 드래그 제스처에 의해 사용자 인터페이스 객체를 드래그함)(19048). 예를 들어, 제1 객체 조작 거동은 도 14g 내지 도 14i와 관련하여 기술된 바와 같이 가상 객체(11002)의 디스플레이된 크기를 변경하고, 제2 객체 조작 거동은 도 14b 내지 도 14e와 관련하여 기술된 바와 같이 사용자 인터페이스 내에서 가상 객체(11002)의 위치를 변경한다. 일부 실시예들에서, 제2 객체 조작 거동은 사용자 인터페이스 객체의 줌 레벨 또는 디스플레이된 크기를 변경하고(예를 들면, 예컨대 핀치 제스처(예컨대, 접촉들의 서로를 향하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제2 제스처 인식 기준들에 기초하여 인식된 후, 핀치 제스처에 의해 객체를 크기 재설정함), 제1 객체 조작 거동은 제1 사용자 인터페이스 영역 내의 사용자 인터페이스 객체의 위치를 변경한다(예를 들면, 예컨대, 한 손가락 또는 두 손가락 드래그 제스처(예컨대, 접촉들의 각각의 방향으로의 이동)가 (예컨대, 원래의 또는 업데이트된) 제1 제스처 인식 기준들에 의해 인식된 후, 드래그 제스처에 의해 사용자 인터페이스 객체를 드래그함).In some embodiments, the first object manipulation behavior changes the zoom level or displayed size of the user interface object (e.g., a pinch gesture (e.g., movement of contacts towards each other) is (e.g., original or After being recognized based on the updated) first gesture recognition criteria, the object is resized by a pinch gesture), and the second object manipulation behavior changes the position of the user interface object in the first user interface area (e.g. For example, after a one-finger or two-finger drag gesture (e.g., movement of the contacts in each direction) is recognized by the (e.g., original or updated) second gesture recognition criteria, the user by the drag gesture Drag the interface object) (19048). For example, the first object manipulation behavior changes the displayed size of the
일부 실시예들에서, 제1 객체 조작 거동은 제1 사용자 인터페이스 영역 내의 사용자 인터페이스 객체의 위치를 변경하고(예를 들면, 예컨대, 한 손가락 또는 두 손가락 드래그 제스처(예컨대, 접촉들의 각각의 방향으로의 이동)가 (예컨대, 원래의 또는 업데이트된) 제1 제스처 인식 기준들에 의해 인식된 후, 드래그 제스처에 의해 사용자 인터페이스 객체를 드래그함), 제2 객체 조작 거동은 사용자 인터페이스 객체의 회전 각을 변경한다(예를 들면, 예컨대 트위스트/피봇 제스처(예컨대, 접촉들의 공통 궤적을 중심으로 하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제2 제스처 인식 기준들에 의해 인식된 후, 트위스트/피봇 제스처에 의해 외부 또는 내부 축을 중심으로 사용자 인터페이스 객체의 관찰 시점을 변경함)(19050). 예를 들어, 제1 객체 조작 거동은 도 14b 내지 도 14e와 관련하여 기술된 바와 같이 사용자 인터페이스 내에서 가상 객체(11002)의 위치를 변경하고, 제2 객체 조작 거동은 도 14b 내지 도 14e와 관련하여 기술된 바와 같이 가상 객체(11002)의 회전 각을 변경한다. 일부 실시예들에서, 제2 객체 조작 거동은 제1 사용자 인터페이스 영역 내의 사용자 인터페이스 객체의 위치를 변경하고(예를 들면, 예컨대, 한 손가락 또는 두 손가락 드래그 제스처(예컨대, 접촉들의 각각의 방향으로의 이동)가 (예컨대, 원래의 또는 업데이트된) 제2 제스처 인식 기준들에 의해 인식된 후, 드래그 제스처에 의해 사용자 인터페이스 객체를 드래그함), 제1 객체 조작 거동은 사용자 인터페이스 객체의 회전 각을 변경한다(예를 들면, 예컨대 트위스트/피봇 제스처(예컨대, 접촉들의 공통 궤적을 중심으로 하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제1 제스처 인식 기준들에 의해 인식된 후, 트위스트/피봇 제스처에 의해 외부 또는 내부 축을 중심으로 사용자 인터페이스 객체의 관찰 시점을 변경함).In some embodiments, the first object manipulation behavior changes the position of the user interface object within the first user interface area (e.g., a one-finger or two-finger drag gesture (e.g., in each direction of the contacts). Movement) is recognized by the first gesture recognition criteria (e.g., original or updated), then dragging the user interface object by a drag gesture), the second object manipulation behavior changes the rotation angle of the user interface object (E.g., a twist/pivot gesture (e.g., a movement around a common trajectory of contacts) is recognized by the (e.g., original or updated) second gesture recognition criteria, then a twist/pivot gesture By changing the observation point of the user interface object around the outer or inner axis) (19050). For example, the first object manipulation behavior changes the position of the
일부 실시예들에서, 입력의 제1 부분 및 입력의 제2 부분은 복수의 연속적으로 유지되는 접촉들에 의해 제공된다(19052). 디바이스는 복수의 연속적으로 유지되는 접촉들의 리프트오프를 검출한 후에 추가의 제1 및 제2 객체 조작 거동들을 개시하기 위해 제1 제스처 인식 기준들 및 제2 제스처 인식 기준들을 (예컨대, 원래의 임계치들로) 재확립한다(19054). 예를 들어, 접촉들의 리프트오프 후, 디바이스는 새롭게 검출된 터치 입력에 대해 회전, 병진, 및 축척조정에 대한 제스처 인식 임계치들을 재확립한다. 입력이 접촉들의 리프트오프에 의해 종료된 후에 입력 이동에 대해 임계치를 재확립하는 것은 (예컨대, 새로운 입력이 제공될 때마다 증가된 이동 임계치들을 재설정함으로써 객체 조작을 수행하는 데 필요한 입력의 정도를 감소시킴으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력의 정도를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first portion of the input and the second portion of the input are provided by a plurality of continuously held contacts (19052). The device uses first gesture recognition criteria and second gesture recognition criteria (e.g., original thresholds) to initiate additional first and second object manipulation behaviors after detecting the liftoff of the plurality of continuously held contacts. To) re-established (19054). For example, after lift-off of contacts, the device re-establishes gesture recognition thresholds for rotation, translation, and scaling for the newly detected touch input. Re-establishing the threshold for the input movement after the input is terminated by the liftoff of the contacts (e.g., by resetting the increased movement thresholds each time a new input is provided, reduces the degree of input required to perform object manipulation. Thereby improving the operability of the device. Reducing the amount of input required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thereby enabling the device to It reduces the power usage of the battery and improves battery life.
일부 실시예들에서, 제1 제스처 인식 기준들은 제1 축을 중심으로 하는 회전에 대응하고, 제2 제스처 인식 기준들은 제1 축에 직교하는 제2 축을 중심으로 하는 회전에 대응한다(19056). 일부 실시예들에서, 상이한 유형들의 제스처들에 대한 임계치들을 업데이트하는 대신, 업데이트는 또한, 인식된 제스처 유형(예컨대, 트위스트/피봇 제스처)에 대응하는 유형의 조작 거동 내의 상이한 하위 유형들의 조작 거동(예컨대, 제1 축을 중심으로 하는 회전 대 상이한 축을 중심으로 하는 회전)에 대해 설정된 임계치들에 적용된다. 예를 들어, 일단 제1 축을 중심으로 하는 회전이 인식되고 수행되면, 상이한 축을 중심으로 하는 회전에 대해 설정된 임계치는 업데이트되고(예컨대, 증가되고) 상이한 축을 중심으로 회전을 트리거하기 위해 후속 입력에 의해 극복되어야 한다. 입력 이동이 제2 축을 중심으로 객체를 회전시키는 데 필요한 입력 이동에 대한 임계치를 초과하여 증가할 때 제1 축을 중심으로 객체를 회전시키는 데 필요한 입력 이동에 대한 임계치를 증가시키는 것은 (예컨대, 제1 축을 중심으로 객체를 회전시키려는 시도 동안 사용자가 제2 축을 중심으로 객체를 우발적으로 회전시키는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first gesture recognition criteria correspond to rotation about a first axis, and the second gesture recognition criteria correspond to rotation about a second axis orthogonal to the first axis (19056). In some embodiments, instead of updating the thresholds for different types of gestures, the update also includes different subtypes of manipulation behavior within the type of manipulation behavior corresponding to the recognized gesture type (e.g., twist/pivot gesture). For example, it applies to thresholds set for rotation about a first axis versus rotation about a different axis. For example, once a rotation about a first axis is recognized and performed, the threshold set for rotation about a different axis is updated (e.g., increased) and by subsequent inputs to trigger rotation about a different axis. It must be overcome. Increasing the threshold for the input motion required to rotate the object about the first axis when the input motion increases above the threshold for the input motion required to rotate the object about the second axis (e.g., the first It improves the operability of the device) by helping the user avoid accidentally rotating the object about the second axis while attempting to rotate the object about the axis. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thereby allowing the device to It reduces the power usage of the battery and improves battery life.
도 19a 내지 도 19h에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 1000, 16000, 17000, 18000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 19a 내지 도 19h와 관련하여 전술된 방법(19000)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(19000)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 1000, 16000, 17000, 18000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 19A-19H are described is merely an example and is not intended to indicate that the described order is the only order in which the operations may be performed. One of skill in the art will recognize various ways of reordering the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g.,
도 20a 내지 도 20f는 디바이스의 이동이 가상 객체로 하여금 하나 이상의 디바이스 카메라들의 디스플레이된 시야의 외측으로 이동하게 한다는 결정에 따라 오디오 경보를 생성하는 방법(20000)을 예시하는 흐름도들이다. 방법(20000)은 디스플레이 생성 컴포넌트(예컨대, 디스플레이, 프로젝터, 헤드 업 디스플레이 등), 하나 이상의 입력 디바이스들(예컨대, 터치 감응형 표면, 또는 디스플레이 생성 컴포넌트 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이), 하나 이상의 오디오 출력 생성기들, 및 하나 이상의 카메라들을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 방법(20000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.20A-20F are flow diagrams illustrating a
디바이스는, (예컨대, 카메라를 포함하는 디바이스 주위의 물리적 환경의 증강 현실 뷰 내에 가상 객체를 배치하라는 요청에 응답하여(예컨대, 가상 객체의 스테이징 뷰와 함께 디스플레이된 "실세계" 버튼 상에서의 탭에 응답하여)), 디스플레이 생성 컴포넌트를 통해, 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역(예컨대, 제1 사용자 인터페이스 영역은 카메라를 포함하는 디바이스 주위의 물리적 환경의 증강 현실 뷰를 디스플레이하는 사용자 인터페이스임) 내에 가상 객체의 표현을 디스플레이하는데, 디스플레이하는 것은 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 가상 객체의 표현 사이의 제1 공간적 관계를 유지하는 것을 포함한다(예컨대, 가상 객체는 가상 객체의 표현과 평면 사이의 고정된 각도가 유지되도록 하는 배향 및 위치로 디스플레이 상에 디스플레이된다(예컨대, 가상 객체는 평면 상의 고정된 위치에 머무르거나 시야 평면을 따라서 구르는 것으로 보인다))(20002). 예를 들어, 도 15v에 도시된 바와 같이, 가상 객체(11002)는 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 영역 내에 디스플레이된다.The device responds to a request (e.g., in response to a request to place a virtual object within an augmented reality view of the physical environment around the device including the camera (e.g., responsive to a tap on a "real world" button displayed with a staging view of the virtual object). A)), via the display generating component, a first user interface area that contains a representation of the field of view of one or more cameras (e.g., the first user interface area displays an augmented reality view of the physical environment around the device including the camera). User interface), wherein displaying includes maintaining a first spatial relationship between the representation of the virtual object and the plane detected in the physical environment captured within the field of view of one or more cameras (e.g. , The virtual object is displayed on the display in an orientation and position such that a fixed angle between the representation of the virtual object and the plane is maintained (e.g., the virtual object remains in a fixed position on the plane or appears to roll along the viewing plane. ))(20002). For example, as shown in FIG. 15V, a
디바이스는 하나 이상의 카메라들의 시야를 조정하는 디바이스의 이동(예컨대, 하나 이상의 카메라들을 포함하는 디바이스의 측방향 이동 및/또는 회전)을 검출한다(20004). 예를 들어, 도 15v 및 도 15w와 관련하여 기술된 바와 같이, 디바이스(100)의 이동은 하나 이상의 카메라들의 시야를 조정한다.The device detects (20004) movement of the device (eg, lateral movement and/or rotation of a device including one or more cameras) that adjusts the field of view of one or more cameras. For example, as described in connection with FIGS. 15V and 15W, movement of
하나 이상의 카메라들의 시야를 조정하는 디바이스의 이동을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야가 조정됨에 따라 하나 이상의 카메라들의 시야 내에서 검출되는 평면과 가상 객체 사이의 제1 공간적 관계(예컨대, 배향 및/또는 위치)에 따라 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이를 조정하고, (예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 가상 객체의 표현 사이의 공간적 관계가 물리적 환경에 대한 디바이스의 이동 동안 고정된 채로 유지되기 때문에) 디바이스의 이동이 임계량(예컨대, 100%, 50%, 또는 20%) 초과의 가상 객체로 하여금 하나 이상의 카메라들의 시야의 디스플레이된 부분의 외측으로 이동하게 한다는 결정에 따라, 디바이스는, 하나 이상의 오디오 출력 생성기들을 통해, 제1 오디오 경보(예컨대, 임계량 초과의 가상 객체가 카메라 뷰 내에 더 이상 디스플레이되지 않는다는 것을 나타내는 음성 알림)를 생성한다(20006). 예를 들어, 도 15w와 관련하여 기술된 바와 같이, 가상 객체(11002)가 하나 이상의 카메라들의 시야(6036)의 디스플레이된 부분의 외측으로 이동하게 하는 디바이스(100)의 이동에 응답하여, 오디오 경보(15118)가 생성된다. 디바이스의 이동이 가상 객체로 하여금 디스플레이된 증강 현실 뷰의 외측으로 이동하게 한다는 결정에 따라 오디오 출력을 생성하는 것은 디바이스의 이동이 증강 현실 뷰에 대한 가상 객체의 디스플레이에 영향을 미친 정도를 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 가상 객체가 디스플레이로부터 벗어나게 이동하였는지 여부를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In response to detecting movement of the device that adjusts the field of view of the one or more cameras, the device causes a first spatial relationship between the virtual object and the plane detected within the field of view of the one or more cameras as the field of view of the one or more cameras is adjusted. , Orientation and/or position) to adjust the display of the representation of the virtual object within the first user interface area (e.g., between the representation of the virtual object and the plane detected in the physical environment captured within the field of view of one or more cameras) Because the spatial relationship remains fixed during movement of the device relative to the physical environment), the movement of the device causes a virtual object in excess of a threshold (e.g., 100%, 50%, or 20%) to be displayed in the field of view of one or more cameras. Depending on the decision to cause the part to move out of the way, the device generates, via one or more audio output generators, a first audio alert (e.g., a voice alert indicating that a virtual object above a threshold is no longer displayed in the camera view). Do (20006). For example, as described in connection with FIG. 15W, in response to movement of the
일부 실시예들에서, 제1 오디오 경보를 출력하는 것은 하나 이상의 카메라들의 시야의 디스플레이된 부분 상에서 가시적으로 유지되는 가상 객체의 양을 나타내는 오디오 출력을 생성하는 것을 포함한다(예컨대, 가시적으로 유지되는 가상 객체의 양은 현재 관찰 시점으로부터의 가상 객체의 전체 크기에 대해 측정된다(예컨대, 20%, 25%, 50% 등))(예컨대, 오디오 출력은 "object x is 20% visible(객체 x는 20% 가시적입니다)"라고 한다)(20008). 예를 들어, 도 15x 및 도 15y와 관련하여 기술된 바와 같이, 가상 객체(11002)가 하나 이상의 카메라들의 시야(6036)의 디스플레이된 부분의 외측으로 부분적으로 이동하게 하는 디바이스(100)의 이동에 응답하여, "chair is 90 percent visible, occupying 20 percent of the screen"을 나타내는 알림(15128)을 포함하는 오디오 경보(15126)가 생성된다. 디스플레이된 증강 현실 뷰 내에서 가시적인 가상 객체의 양을 나타내는 오디오 출력을 생성하는 것은 (예컨대, 디바이스의 이동이 가상 객체가 가시적인 정도를 변경한 정도를 나타내는) 피드백을 사용자에게 제공한다. (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 가상 객체가 디스플레이로부터 벗어나게 이동하였는지 여부를 사용자가 인지하게 하는 정보를 제공함으로써) 개선된 피드백을 사용자에게 제공하는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, outputting the first audio alert includes generating an audio output indicating an amount of a virtual object that remains visible on the displayed portion of the field of view of the one or more cameras (e.g., The amount of object is measured for the total size of the virtual object from the current observation point (e.g., 20%, 25%, 50%, etc.)) (e.g., the audio output is "object x is 20% visible (object x is 20%). It is visible)") (20008). For example, as described in connection with FIGS. 15X and 15Y, the movement of the
일부 실시예들에서, 제1 오디오 경보를 출력하는 것은 가상 객체에 의해 가려진 시야의 디스플레이된 부분의 양을 나타내는 오디오 출력을 생성하는 것을 포함한다(예컨대, 가상 객체에 의해 점유된 물리적 환경의 증강 현실 뷰의 양(예컨대, 20%, 25%, 50% 등))(예컨대, 오디오 출력은 "object x occupying 15% of the world view(객체 x는 실세계 뷰의 15%를 차지합니다)"라고 하는 알림을 포함한다)(20010). 일부 실시예들에서, 오디오 출력은 또한, 가상 객체의 디스플레이 상태의 변경들을 야기하는 사용자에 의해 수행되는 액션의 설명을 포함한다. 예를 들어, 오디오 출력은 "device moved to the left; object x is 20% visible, occupying 15% of the world view(디바이스가 좌측으로 이동되고; 객체 x는 20% 가시적이어서, 실세계 뷰의 15%를 차지합니다)"라고 하는 알림을 포함한다. 예를 들어, 도 15y에서, "chair is 90 percent visible, occupying 20 percent of the screen"을 나타내는 알림(15128)을 포함하는 오디오 경보(15126)가 생성된다. 가상 객체에 의해 가려진 증강 현실 뷰의 양을 나타내는 오디오 출력을 생성하는 것은 (예컨대, 디바이스의 이동이 증강 현실 뷰가 가려진 정도를 변경한 정도를 나타내는) 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 디스플레이에 대한 가상 객체의 크기를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, outputting the first audio alert includes generating an audio output indicating an amount of the displayed portion of the field of view obscured by the virtual object (e.g., augmented reality of the physical environment occupied by the virtual object). The amount of view (e.g. 20%, 25%, 50%, etc.)) (e.g. the audio output is a notification saying "object x occupying 15% of the world view" Including) (20010). In some embodiments, the audio output also includes a description of an action performed by the user that causes changes in the display state of the virtual object. For example, the audio output is "device moved to the left; object x is 20% visible, occupying 15% of the world view (device moved to the left; object x is 20% visible, occupying 15% of the world view). It includes a notification that says". For example, in FIG. 15Y, an
일부 실시예들에서, 디바이스는 하나 이상의 카메라들의 시야의 표현에 대응하는 터치 감응형 표면 상의 위치에서 접촉에 의한 입력을 검출한다(예컨대, 물리적 환경의 증강 현실 뷰를 디스플레이하는 터치 스크린의 일부분 상에서 탭 입력 또는 더블 탭 입력을 검출함)(20012). 입력을 검출하는 것에 응답하여, 그리고 가상 객체에 의해 점유되지 않은 하나 이상의 카메라들의 시야의 제1 부분에 대응하는 터치 감응형 표면 상의 제1 위치에서 입력이 검출된다는 결정에 따라, 디바이스는 제2 오디오 경보(예컨대, 탭핑된 영역 내에서 가상 객체의 위치를 찾지 못한 것을 나타내는 클릭 또는 버즈)를 생성한다(20014). 예를 들어, 도 15z와 관련하여 기술된 바와 같이, 가상 객체(11002)에 의해 점유되지 않은 하나 이상의 카메라들의 시야(6036)의 일부분에 대응하는 터치 스크린(112) 상의 위치에서 검출되는 입력에 응답하여, 디바이스는 오디오 경보(15130)를 생성한다. 일부 실시예들에서, 입력을 검출하는 것에 응답하여, 입력이 가상 객체에 의해 점유된 하나 이상의 카메라들의 시야의 제2 부분에 대응하는 제2 위치에서 검출된다는 결정에 따라, 제2 오디오 경보를 생성하는 것을 보류한다. 일부 실시예들에서, 사용자가 가상 객체의 위치를 찾지 못한 것을 나타내는 제2 오디오 경보를 생성하는 대신, 디바이스는 사용자가 가상 객체의 위치를 찾은 것을 나타내는 상이한 오디오 경보를 생성한다. 일부 실시예들에서, 제2 오디오 경보를 생성하는 대신, 디바이스는 가상 객체에 대해 수행되는 동작을 설명하는 오디오 알림(예컨대, "Object x selected(객체 x가 선택)", "Object x is resized to a default size(객체 x가 디폴트 크기로 크기 재설정됩니다)", "Object x is rotated to a default orientation(객체 x가 디폴트 배향으로 회전됩니다)" 등) 또는 가상 객체의 상태를 설명하는 오디오 알림(예컨대, "Object x, 20% visible, occupying 15% of the world view(객체 x, 20% 가시적이고, 실세계 뷰의 15%를 점유합니다)")을 출력한다. 가상 객체에 의해 점유되지 않은 디스플레이된 증강 현실 뷰의 일부에 대응하는 위치에서 검출되는 입력에 응답하여 오디오 출력을 생성하는 것은 (예컨대, 입력이 (예컨대, 가상 객체에 관한 정보를 획득하고/하거나 동작을 수행하기 위해) 상이한 위치에 제공되어야 한다는 것을 나타내는) 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 입력이 가상 객체와 성공적으로 연결되었는지 여부를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device detects an input by contact at a location on a touch-sensitive surface corresponding to a representation of the field of view of one or more cameras (e.g., tapping on a portion of the touch screen that displays an augmented reality view of the physical environment. Detecting an input or double tap input) (20012). In response to detecting the input, and upon determining that the input is detected at a first location on the touch-sensitive surface corresponding to a first portion of the field of view of one or more cameras not occupied by the virtual object, the device An alert (eg, a click or buzz indicating that the location of the virtual object was not found within the tapped area) is generated (20014). For example, as described in connection with FIG. 15Z, responding to an input detected at a location on the
일부 실시예들에서, 제1 오디오 경보를 출력하는 것은 가상 객체에 대해 수행되는 동작(예컨대, 오디오 출력을 생성하기 전에, 디바이스는 현재 선택된 동작을 결정하고, 현재 선택된 동작을 실행하려는 사용자의 의도를 확인하는 입력(예컨대, 더블 탭)에 응답하여 동작을 수행함) 및 동작의 수행 후 가상 객체의 결과 상태를 나타내는 오디오 출력을 생성하는 것을 포함한다(20016). 예를 들어, 오디오 출력은 "device moved to the left; object x is 20% visible, occupying 15% of the world view", "object x is rotated clockwise by 30 degrees; object is 50 degrees rotated around the y-axis(객체 x는 30도만큼 시계방향으로 회전되고; 객체는 y-축을 중심으로 50도 회전됩니다)", 또는 "object x enlarged by 20% and occupies 50% of the world view(객체 x는 20%만큼 확대되고 실세계 뷰의 50%를 차지합니다)"라고 하는 알림을 포함한다. 예를 들어, 도 15ah 및 도 15ai와 관련하여 기술된 바와 같이, 가상 객체(11002)에 대한 회전 동작의 수행에 응답하여, "Chair is rotated by five degrees counterclockwise. Chair is now rotated by zero degrees relative to the screen(의자가 반시계방향으로 5도 회전됩니다. 의자는 이제 화면에 대해 0도 회전되어 있습니다)"을 나타내는 알림(15192)을 포함하는 오디오 경보(15190)가 생성된다. 가상 객체에 대해 수행되는 동작을 나타내는 오디오 출력을 생성하는 것은 제공된 입력이 가상 객체에 어떻게 영향을 미치는지를 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 동작이 가상 객체를 어떻게 변경하였는지를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, outputting the first audio alert is an action performed on the virtual object (e.g., prior to generating the audio output, the device determines the currently selected action and indicates the user's intention to perform the currently selected action. And generating an audio output indicating a result state of the virtual object after the operation is performed and an operation is performed in response to an input to be checked (eg, a double tap) (20016). For example, the audio output is "device moved to the left; object x is 20% visible, occupying 15% of the world view", "object x is rotated clockwise by 30 degrees; object is 50 degrees rotated around the y-axis (Object x is rotated clockwise by 30 degrees; object is rotated 50 degrees around y-axis)", or "object x enlarged by 20% and occupies 50% of the world view (object x is rotated by 20%) It is enlarged and takes up 50% of the real world view)". For example, as described in connection with FIGS. 15Ah and 15Ai, in response to performing a rotation operation on the
일부 실시예들에서, 동작의 수행 후 가상 객체의 결과 상태는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에 대응하는 기준 프레임과 관련하여 제1 오디오 경보에서 오디오 출력으로 설명된다(예컨대, (예컨대, 터치 기반 제스처 또는 디바이스의 이동에 응답하여) 객체를 조작한 후, 디바이스는 (예컨대, 가상 객체가 초기에 물리적 환경의 증강 현실 뷰 내로 배치될 때의 가상 객체의 초기 위치/배향에 대해 30도로 회전된, 60도로 회전된, 또는 좌측으로 이동된) 객체의 새로운 상태를 설명하는 보이스 오버(voice over)를 생성한다)(20018). 예를 들어, 도 15ah 및 도 15ai와 관련하여 기술된 바와 같이, 가상 객체(11002)에 대한 회전 동작의 수행에 응답하여, "Chair is rotated by five degrees counterclockwise. Chair is now rotated by zero degrees relative to the screen"을 나타내는 알림(15192)을 포함하는 오디오 경보(15190)가 생성된다. 일부 실시예들에서, 동작은 물리적 환경에 대한 디바이스의 이동을 포함하고(예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분의 표현에 대한 가상 객체의 이동을 야기함), 보이스 오버는 물리적 환경에 대한 디바이스의 이동에 응답하여 가상 객체의 새로운 상태를 설명한다. 동작이 객체에 대해 수행된 후 가상 객체의 상태를 나타내는 오디오 출력을 생성하는 것은 동작이 가상 객체를 어떻게 변경하였는지를 사용자가 인지하게 하는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 동작이 가상 객체를 어떻게 변경하였는지를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the resulting state of the virtual object after performing the operation is described as an audio output in the first audio alert with respect to a frame of reference corresponding to the physical environment captured within the field of view of one or more cameras (e.g. , After manipulating the object in response to a touch-based gesture or movement of the device, the device (e.g., 30 degrees relative to the initial position/orientation of the virtual object when the virtual object is initially placed into the augmented reality view of the physical environment) Create a voice over describing the new state of the object rotated, rotated 60 degrees, or moved to the left) (20018). For example, as described in connection with FIGS. 15Ah and 15Ai, in response to performing a rotation operation on the
일부 실시예들에서, 디바이스는 제1 오디오 경보의 생성 후에 하나 이상의 카메라들의 시야를 추가로 조정하는 디바이스의 추가 이동(예컨대, 하나 이상의 카메라들을 포함하는 디바이스의 측방향 이동 및/또는 회전)을 검출한다(20020). 예를 들어, 도 15w 및 도 15x와 관련하여 기술된 바와 같이, 디바이스(100)의 이동은 (도 15v 및 도 15w로부터의 디바이스(100)의 이동에 응답하여 발생하는 하나 이상의 카메라들의 시야의 조정 이후에) 하나 이상의 카메라들의 시야를 추가로 조정한다. 하나 이상의 카메라들의 시야를 추가로 조정하는 디바이스의 추가 이동을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야가 추가로 조정됨에 따라 하나 이상의 카메라들의 시야 내에서 검출되는 평면과 가상 객체 사이의 제1 공간적 관계(예컨대, 배향 및/또는 위치)에 따라 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이를 조정하고, (예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 가상 객체의 표현 사이의 공간적 관계가 물리적 환경에 대한 디바이스의 이동 동안 고정된 채로 유지되기 때문에) 디바이스의 추가 이동이 제2 임계량(예컨대, 50%, 80%, 또는 100%) 초과의 가상 객체로 하여금 하나 이상의 카메라들의 시야의 디스플레이된 부분 내로 이동하게 한다는 결정에 따라, 디바이스는, 하나 이상의 오디오 출력 생성기들을 통해, 제3 오디오 경보(예컨대, 임계량 초과의 가상 객체가 다시 카메라 뷰 내로 이동되는 것을 나타내는 알림을 포함하는 오디오 출력)를 생성한다(20022). 예를 들어, 도 15x와 관련하여 기술된 바와 같이, 가상 객체(11002)가 하나 이상의 카메라들의 시야(6036)의 디스플레이된 부분 내로 이동하게 하는 디바이스(100)의 이동에 응답하여, (예컨대, 알림, "Chair is now projected in the world, 100 percent visible, occupying 10 percent of the screen(의자는 이제 실세계에 투영되고, 100 퍼센트 가시적이고, 스크린의 10 퍼센트를 차지합니다)"을 포함하는) 오디오 경보(15122)가 생성된다. 디바이스의 이동이 가상 객체로 하여금 디스플레이된 증강 현실 뷰 내로 이동하게 한다는 결정에 따라 오디오 출력을 생성하는 것은 디바이스의 이동이 증강 현실 뷰에 대한 가상 객체의 디스플레이에 영향을 미친 정도를 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 가상 객체가 디스플레이 내로 이동하였는지 여부를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device detects additional movement of the device (e.g., lateral movement and/or rotation of a device comprising one or more cameras) that further adjusts the field of view of one or more cameras after generation of the first audio alert. Do (20020). For example, as described in connection with FIGS. 15W and 15X, movement of the device 100 (adjustment of the field of view of one or more cameras occurring in response to movement of the
일부 실시예들에서, 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하고 가상 객체에 적용가능한 복수의 객체 조작 유형들 중 제1 객체 조작 유형이 가상 객체에 대해 현재 선택되어 있는 동안, 디바이스는 가상 객체에 적용가능한 다른 객체 조작 유형으로 스위칭하라는 요청을 검출한다(예컨대, 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 제1 사용자 인터페이스 영역의 일부분에 대응하는 터치 감응형 표면 상의 위치에서 (예컨대, 수평 방향으로의 접촉의 이동을 포함하는) 접촉에 의한 스와이프 입력을 검출함)(20024). 예를 들어, 도 15ag와 관련하여 기술된 바와 같이, 시계방향 회전 제어부(15170)가 현재 선택되어 있는 동안, (가상 객체(15160)를 반시계방향으로 회전시키기 위해) 반시계방향 회전 제어부(15180)로 스위칭하기 위한 스와이프 입력이 검출된다. 가상 객체에 적용가능한 다른 객체 조작 유형으로 스위칭하라는 요청을 검출하는 것에 응답하여, 디바이스는 가상 객체에 적용가능한 복수의 객체 조작 유형들 중 제2 객체 조작 유형을 명명하는 오디오 출력(예컨대, 오디오 출력은 "rotate object around x-axis(x 축을 중심으로 객체를 회전시키세요)", "resize object(객체 크기를 재설정하세요)", 또는 "move object on the plane(평면 상에서 객체를 이동시키세요)" 등이라고 하는 알림을 포함함)을 생성하는데, 제2 객체 조작 유형은 제1 객체 조작 유형과 구별된다(20026). 예를 들어, 도 15ah에서, 도 15ag와 관련하여 기술된 요청의 검출에 응답하여, 알림(15184)("selected: rotate counterclockwise")을 포함하는 오디오 경보(15182)가 생성된다. 일부 실시예들에서, 디바이스는 동일한 방향으로의 연속적인 스와이프 입력들에 응답하여 적용가능한 객체 조작 유형들의 미리정의된 목록을 반복한다. 일부 실시예들에서, 바로 앞서 선행하는 스와이프 입력으로부터 반대 방향으로의 스와이프 입력을 검출하는 것에 응답하여, 디바이스는 가상 객체에 적용가능한 이전에 알려진 객체 조작 유형(예컨대, 마지막 바로 전에 알려진 객체 조작 유형)을 명명하는 알림을 포함하는 오디오 출력을 생성한다. 일부 실시예들에서, 디바이스는 가상 객체에 적용가능한 각각의 객체 조작 유형들에 대한 대응하는 제어부를 디스플레이하지 않는다(예컨대, 제스처들에 의해 개시되는 동작들(예컨대, 회전, 크기 재설정, 병진 등)에 대해 디스플레이되는 버튼이나 제어부가 없다). 객체 조작 유형을 스위칭하라는 요청에 응답하여 오디오 출력을 생성하는 것은 스위치 동작이 수행되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 스위칭 입력이 성공적으로 수행되었다는 것을 확인하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a representation of the virtual object in the first user interface area and the first object manipulation type among a plurality of object manipulation types applicable to the virtual object is currently selected for the virtual object, the device is Detects a request to switch to another object manipulation type applicable to the object (e.g., at a location on the touch-sensitive surface corresponding to a portion of the first user interface area displaying a representation of the field of view of one or more cameras (e.g. Detecting a swipe input by contact) including movement of the contact to (20024). For example, as described in connection with FIG. 15AG, while the clockwise
가상 객체에 적용가능한 복수의 객체 조작 유형들 중 제2 객체 조작 유형을 명명하는 오디오 출력(예컨대, 오디오 출력은 "rotate object around x-axis", "resize object", 또는 "move object on the plane" 등이라고 하는 알림을 포함함)을 생성한 후, 디바이스는 현재 선택된 객체 조작 유형에 대응하는 객체 조작 거동을 실행하라는 요청을 검출한다(예컨대, 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 제1 사용자 인터페이스 영역의 일부분에 대응하는 터치 감응형 표면 상의 위치에서 접촉에 의한 더블 탭 입력을 검출함)(20028). 예를 들어, 도 15ah와 관련하여 기술된 바와 같이, 가상 객체(11002)를 반시계방향으로 회전시키기 위한 더블 탭 입력이 검출된다. 현재 선택된 객체 조작 유형에 대응하는 객체 조작 거동을 수행하라는 요청을 검출하는 것에 응답하여, 디바이스는 제2 객체 조작 유형에 대응하는 객체 조작 거동을 실행한다(예컨대, 가상 객체를 y-축을 중심으로 5도만큼 회전시키거나, 객체의 크기를 5%만큼 증가시키거나, 객체를 평면 상에서 20픽셀만큼 이동시킴)(예컨대, 제2 객체 조작 유형에 따라 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이를 조정함)(20030). 예를 들어, 도 15ai에서, 도 15ah와 관련하여 기술된 요청의 검출에 응답하여, 가상 객체(11002)는 반시계방향으로 회전된다. 일부 실시예들에서, 디바이스는, 제2 객체 조작 유형에 대응하는 객체 조작 거동을 실행하는 것에 더하여, 가상 객체에 대해 실행되는 객체 조작 거동 및 객체 조작 거동의 실행 후 가상 객체의 결과 상태를 나타내는 알림을 포함하는 오디오 출력을 출력한다. 예를 들어, 도 15ai에서, 알림(15192)("Chair rotated by five degrees counterclockwise. Chair is now rotated by zero degrees relative to the screen")을 포함하는 오디오 출력(15190)이 생성된다. 동작이 선택되는 동안 검출된 입력에 응답하여 객체 조작 동작을 수행하는 것은 동작을 수행하기 위한 추가 제어 옵션을 제공한다(예컨대, 2-접촉 입력을 요구하기보다는 탭 입력을 제공함으로써 사용자가 동작을 수행하게 함). 추가의 디스플레이된 제어부들로 사용자 인터페이스를 혼란스럽게 하지 않으면서 입력을 제공하기 위한 추가 제어 옵션을 제공하는 것은 (예컨대, 다중 접촉 제스처들을 제공할 수 있는 제한된 능력을 갖는 사용자들에게 객체를 조작하기 위한 옵션을 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Audio output naming a second object manipulation type among a plurality of object manipulation types applicable to a virtual object (eg, audio output is “rotate object around x-axis”, “resize object”, or “move object on the plane” After generating the notification, etc.), the device detects a request to execute an object manipulation behavior corresponding to the currently selected object manipulation type (e.g., a first user interface that displays a representation of the field of view of one or more cameras). Detecting a double tap input by contact at a location on the touch-sensitive surface corresponding to a portion of the area (20028). For example, as described in connection with FIG. 15Ah, a double tap input for rotating the
일부 실시예들에서, 가상 객체에 적용가능한 다른 객체 조작 유형으로 스위칭하라는 요청을 검출하는 것에 응답하여, 제2 객체 조작 유형이 연속적으로 조정가능한 조작 유형이라는 결정에 따라, 디바이스는, 제2 객체 조작 유형이 연속적으로 조정가능한 조작 유형인 것을 나타내기 위해, 제2 객체 조작 유형을 명명하는 오디오 출력과 함께 오디오 경보를 생성하고(예컨대, 제2 객체 조작 유형을 명명하는 오디오 알림(예컨대, "rotate object clockwise around the y axis(객체를 y-축을 중심으로 시계방향으로 회전시키세요)") 후에 "adjustable(조정가능)"이라고 하는 오디오 출력을 출력함); 디바이스는, (예컨대, 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 제1 사용자 인터페이스 영역의 일부분에 대응하는 터치 감응형 표면 상의 위치에서 접촉에 의한 더블 탭 입력을 검출한 후) 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 제1 사용자 인터페이스 영역의 일부분에 대응하는 터치 감응형 표면 상의 위치에서 스와이프 입력을 검출하는 것을 포함하여, 제2 객체 조작 유형에 대응하는 객체 조작 거동을 실행하라는 요청을 검출하고; 제2 객체 조작 유형에 대응하는 객체 조작 거동을 실행하라는 요청을 검출하는 것에 응답하여, 디바이스는 스와이프 입력의 크기에 대응하는 양만큼 제2 객체 조작 유형에 대응하는 객체 조작 거동을 실행한다(예컨대, 스와이프 입력의 크기가 제1 양인지 또는 제1 양보다 큰 제2 양인지 여부에 따라, 가상 객체를 y 축을 중심으로 5도 또는 10도만큼 회전시키거나, 객체의 크기를 5% 또는 10%만큼 증가시키거나, 객체를 평면 상에서 20픽셀 또는 40픽셀만큼 이동시킴)(20032). 예를 들어, 도 15j 및 도 15k와 관련하여 기술된 바와 같이, 시계방향 회전 제어부(15038)가 현재 선택되어 있는 동안, 줌 제어부(15064)로의 스위칭을 위한 스와이프 입력이 검출된다. 알림(15068)("scale: adjustable")을 포함하는 오디오 경보(15066)가 생성된다. 도 15k 및 도 15l과 관련하여 기술된 바와 같이, 가상 객체(11002)에 대해 줌 인하기 위한 스와이프 입력이 검출되고, 입력에 응답하여, 줌 동작이 가상 객체(11002)에 대해 수행된다(도 15k 및 도 15l의 예시적인 예에서, 스테이징 뷰 인터페이스(6010)가 디스플레이되는 동안 연속적으로 조정가능한 조작을 위한 입력이 검출되지만, 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 제1 사용자 인터페이스 영역의 일부분에 대응하는 터치 감응형 표면 상의 위치에서 유사한 입력이 검출될 수 있다는 것이 인식될 것이다). 일부 실시예들에서, 디바이스는, 제2 객체 조작 거동을 실행하는 것에 더하여, 가상 객체에 대해 실행되는 객체 조작 거동의 양 및 그 양만큼의 객체 조작 거동의 실행 후 가상 객체의 결과 상태를 나타내는 오디오 알림을 출력한다. 스와이프 입력에 응답하여 객체 조작 동작을 수행하는 것은 동작을 수행하기 위한 추가 제어 옵션을 제공한다(예컨대, 2-접촉 입력을 요구하기보다는 스와이프 입력을 제공함으로써 사용자가 동작을 수행하게 함). 추가의 디스플레이된 제어부들로 사용자 인터페이스를 혼란스럽게 하지 않으면서 입력을 제공하기 위한 추가 제어 옵션을 제공하는 것은 (예컨대, 다중 접촉 제스처들을 제공할 수 있는 제한된 능력을 갖는 사용자들에게 객체를 조작하기 위한 옵션을 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting a request to switch to another object manipulation type applicable to the virtual object, upon determining that the second object manipulation type is a continuously adjustable manipulation type, the device To indicate that the type is a continuously adjustable operation type, generate an audio alert with an audio output naming the second object manipulation type (eg, an audio notification naming the second object manipulation type (eg “rotate object clockwise around the y axis") then outputs an audio output called "adjustable"); The device may (e.g., after detect a double tap input by contact at a location on the touch-sensitive surface corresponding to a portion of the first user interface area displaying a representation of the field of view of the one or more cameras) of the field of view of one or more cameras. Detecting a request to execute an object manipulation behavior corresponding to the second object manipulation type, including detecting a swipe input at a location on the touch-sensitive surface corresponding to a portion of the first user interface area displaying the representation; In response to detecting a request to execute the object manipulation behavior corresponding to the second object manipulation type, the device executes the object manipulation behavior corresponding to the second object manipulation type by an amount corresponding to the size of the swipe input (e.g. , Depending on whether the size of the swipe input is a first quantity or a second quantity greater than the first quantity, the virtual object is rotated 5 degrees or 10 degrees around the y axis, or the size of the object is 5% or 10 %, or move the object by 20 or 40 pixels on the plane) (20032). For example, as described in connection with FIGS. 15J and 15K, while the clockwise
일부 실시예들에서, 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하기 전에, 디바이스는 제2 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내에 가상 객체의 표현을 디스플레이하는데, 제2 사용자 인터페이스 영역은 하나 이상의 카메라들의 시야의 표현을 포함하지 않는다(예컨대, 제2 사용자 인터페이스 영역은 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면에 대한 고정된 관계를 유지하지 않으면서 가상 객체가 조작(예컨대, 회전, 크기 재설정, 및 이동)될 수 있는 스테이징 사용자 인터페이스이다)(20034). 제2 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하고 가상 객체에 적용가능한 복수의 동작들 중 제1 동작이 가상 객체에 대해 현재 선택되어 있는 동안, 디바이스는 (예컨대, 제2 사용자 인터페이스 영역 내의 가상 객체에 적용가능한 객체 조작 유형(예컨대, 크기 재설정, 회전, 기울기 등) 또는 제2 사용자 인터페이스 영역 내의 가상 객체에 적용가능한 사용자 인터페이스 동작(예컨대, 2D 사용자 인터페이스로 다시 돌아가기, 객체를 물리적 환경의 증강 현실 뷰 내로 낙하하기)을 스위칭하라는 요청을 포함하여) 가상 객체에 적용가능한 다른 동작으로 스위칭하라는 요청을 검출한다(예컨대, 요청을 검출하는 것은 제1 사용자 인터페이스 영역에 대응하는 터치 감응형 표면 상의 위치에서 (예컨대, 접촉의 수평 방향으로의 이동을 포함한) 접촉에 의한 스와이프 입력을 검출하는 것을 포함한다)(20036). 예를 들어, 도 15f 및 도 15g와 관련하여 기술된 바와 같이, 스테이징 사용자 인터페이스(6010)가 디스플레이되고 틸트 다운 제어부(15022)가 현재 선택되어 있는 동안, 시계방향 회전 제어부(15038)로 스위칭하기 위한 스와이프 입력이 검출된다. 제2 사용자 인터페이스 영역 내의 가상 객체에 적용가능한 다른 동작으로 스위칭하라는 요청을 검출하는 것에 응답하여, 디바이스는 가상 객체에 적용가능한 복수의 동작들 중 제2 동작을 명명하는 오디오 출력(예컨대, 오디오 출력은 "rotate object around x-axis", "resize object", "tilt the object toward the display(디스플레이를 향하여 객체를 기울이세요)", 또는 "display object in the augmented reality view(증강 현실 뷰 내에 객체를 디스플레이하세요)" 등이라고 하는 알림을 포함함)을 생성하는데, 제2 동작은 제1 동작과 구별된다(20038). 일부 실시예들에서, 디바이스는 동일한 방향으로의 연속적인 스와이프 입력들에 응답하여 적용가능한 동작들의 미리정의된 목록을 반복된다. 예를 들어, 도 15g에서, 도 15f와 관련하여 기술된 요청의 검출에 응답하여, 알림(15042)("selected: rotate clockwise button")을 포함하는 오디오 경보(15040)가 생성된다. 동작 유형을 스위칭하라는 요청에 응답하여 선택된 동작 유형을 명명하는 오디오 출력을 생성하는 것은 스위칭 입력이 성공적으로 수신되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 동작 유형을 스위칭하라는 요청에 응답하여 선택된 동작 유형을 명명하는 오디오 출력을 생성하는 것은 스위칭 입력이 성공적으로 수신되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 선택된 제어부가 변경되었을 때를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, prior to displaying the representation of the virtual object in the first user interface area, the device displays the representation of the virtual object in the second user interface area (eg, staging user interface), the second user interface area It does not contain a representation of the field of view of one or more cameras (e.g., the second user interface area is the virtual object manipulated (e.g., the second user interface area) without maintaining a fixed relationship to the plane detected in the physical environment captured within the A staging user interface that can be rotated, resized, and moved) (20034). While displaying the representation of the virtual object in the second user interface area, and while the first operation among a plurality of operations applicable to the virtual object is currently selected for the virtual object, the device (e.g., the virtual object in the second user interface area Object manipulation type applicable to (e.g., resize, rotate, tilt, etc.) or user interface actions applicable to virtual objects in the second user interface area (e.g., return to 2D user interface, object to augmented reality in physical environment) To detect a request to switch to another action applicable to the virtual object (including a request to switch to fall into view) (e.g., detecting the request is at a location on the touch-sensitive surface corresponding to the first user interface area). And detecting a swipe input by contact (eg, including movement of the contact in a horizontal direction) (20036). For example, as described in connection with FIGS. 15F and 15G, while the
일부 실시예들에서, 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하기 전에, 하나 이상의 카메라들의 시야의 표현을 포함하지 않는 제2 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내에 가상 객체의 표현을 디스플레이하는 동안(예컨대, 제2 사용자 인터페이스 영역은 물리적 환경 내의 평면에 대한 고정된 관계를 유지하지 않으면서 가상 객체가 조작(예컨대, 회전, 크기 재설정, 및 이동)될 수 있는 스테이징 사용자 인터페이스임), 디바이스는 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하라는 요청을 검출한다(예컨대, 현재 선택된 동작이 "display the object in the augmented reality view(증강 현실 뷰 내에 객체를 디스플레이하세요)"일 때 그리고 디바이스가 (예컨대, 더블 탭 입력 직전에 수신된) 스와이프 입력에 응답하여 현재 선택된 동작을 명명하는 오디오 알림을 바로 출력한 후에 더블 탭 입력을 검출함)(20040). 예를 들어, 도 15p 내지 도 15v와 관련하여 기술된 바와 같이, 스테이징 사용자 인터페이스(6010)가 디스플레이되고 토글 제어부(6018)가 선택되어 있는 동안, 하나 이상의 카메라들의 시야(6036)의 표현을 포함하는 사용자 인터페이스 영역에 가상 객체(11002)의 표현을 디스플레이하기 위한 더블 탭 입력이 검출된다. 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하라는 요청을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 가상 객체의 표현 사이의 제1 공간적 관계에 따라 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하고(예컨대, 가상 객체가 증강 현실 뷰 내에 표현된 물리적 환경 내로 낙하될 때 스테이징 뷰 내의 가상 객체의 회전 각 및 크기는 증강 현실 뷰 내에 유지되고, 기울기 각은 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면의 배향에 따라 증강 현실 뷰 내에서 재설정됨); 디바이스는 가상 객체가 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경과 관련하여 증강 현실 뷰 내에 배치되는 것을 나타내는 제4 오디오 경보를 생성한다. 예를 들어, 도 15v와 관련하여 기술된 바와 같이, 하나 이상의 카메라들의 시야(6036)의 표현을 포함하는 사용자 인터페이스 영역 내에 가상 객체(11002)의 표현을 디스플레이하기 위한 입력에 응답하여, 가상 객체(11002)의 표현이 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 영역 내에 디스플레이되고, 알림(15116)("chair is now projected in the world, 100 percent visible, occupying 10 percent of the screen")을 포함하는 오디오 경보(15114)가 생성된다. 객체를 증강 현실 뷰 내에 배치하라는 요청에 응답하여 오디오 출력을 생성하는 것은 가상 객체를 배치하는 동작이 성공적으로 실행되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 객체가 증강 현실 뷰 내에 디스플레이된 것을 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, prior to displaying the representation of the virtual object in the first user interface area, the representation of the virtual object is placed in a second user interface area (e.g., a staging user interface) that does not contain a representation of the field of view of one or more cameras. During display (e.g., the second user interface area is a staging user interface in which virtual objects can be manipulated (e.g., rotated, resized, and moved) without maintaining a fixed relationship to a plane within the physical environment), The device detects a request to display a representation of the virtual object within a first user interface area that contains a representation of the field of view of one or more cameras (e.g., the currently selected action is "display the object in the augmented reality view. Display object)" and in response to a swipe input (e.g., received just before a double tap input), the device immediately outputs an audio notification naming the currently selected action and then detects a double tap input) (20040 ). For example, as described in connection with FIGS. 15P-15V, including a representation of the field of
일부 실시예들에서, 제3 오디오 경보는 하나 이상의 카메라들의 시야의 일부분에 대한 가상 객체의 외관에 관한 정보를 나타낸다(예컨대, 제3 오디오 경보는 "object x is placed in the world, object x is 30% visible, occupying 90% of the screen(객체 x가 실세계에 배치되고, 객체 x가 30% 가시적이고, 스크린의 90%를 차지합니다)"라고 하는 알림을 포함하는 오디오 출력을 포함한다)(20042). 예를 들어, 도 15v와 관련하여 기술된 바와 같이, 알림(15116)("chair is now projected in the world, 100 percent visible, occupying 10 percent of the screen")을 포함하는 오디오 경보(15114)가 생성된다. 디스플레이된 증강 현실 뷰에 대해 가시적인 가상 객체의 외관을 나타내는 오디오 출력을 생성하는 것은 (예컨대, 증강 현실 뷰 내의 객체의 배치가 가상 객체의 외관에 영향을 미치는 정도를 나타내는) 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 객체가 어떻게 증강 현실 뷰 내에 디스플레이되는지를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the third audio alert indicates information about the appearance of the virtual object for a portion of the field of view of one or more cameras (eg, the third audio alert is “object x is placed in the world, object x is 30 % visible, occupying 90% of the screen (contains audio output with a notification saying "object x is placed in the real world, object x is 30% visible, occupies 90% of the screen)" (20042) . For example, as described in connection with FIG. 15V, an
일부 실시예들에서, 디바이스는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경과 관련하여 증강 현실 뷰 내의 가상 객체의 배치와 함께 촉각적 출력을 생성한다(20044). 예를 들어, 객체가 카메라들의 시야 내에서 검출되는 평면 상에 배치될 때, 디바이스는 평면 상으로의 객체의 랜딩을 나타내는 촉각적 출력을 생성한다. 일부 실시예들에서, 디바이스는 객체의 크기 재설정 동안 객체가 미리정의된 디폴트 크기에 도달할 때 촉각적 출력을 생성한다. 일부 실시예들에서, 디바이스는 가상 객체에 대해 수행되는 각각의 동작에 대한 (예컨대, 미리 설정된 각도만큼의 각각의 회전, 가상 객체를 상이한 평면 상으로 드래그하는 것, 객체를 원래의 배향 및/또는 크기로 재설정하는 것 등에 대한) 촉각적 출력을 생성한다. 일부 실시예들에서, 이러한 촉각적 출력들은 수행되는 동작 및 가상 객체의 결과 상태를 설명하는 대응하는 오디오 경보들에 선행한다. 예를 들어, 도 15v와 관련하여 기술된 바와 같이, 하나 이상의 카메라들의 시야(6036) 내에서의 가상 객체(11002)의 배치와 함께 촉각적 출력(15118)이 생성된다. 하나 이상의 카메라들에 의해 캡처되는 물리적 환경과 관련하여 가상 객체의 배치와 함께 촉각적 출력을 생성하는 것은 (예컨대, 가상 객체를 배치하기 위한 동작이 성공적으로 실행되었다는 것을 나타내는) 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 디스플레이된 정보로 사용자 인터페이스를 혼란스럽게 하지 않으면서 가상 객체의 배치가 발생하였다는 것을 사용자가 인지하게 하는 감각적 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device generates (20044) a tactile output with the placement of the virtual object within the augmented reality view in relation to the physical environment captured within the field of view of one or more cameras. For example, when an object is placed on a plane that is detected within the field of view of the cameras, the device generates a tactile output indicating the object's landing on the plane. In some embodiments, the device generates a tactile output when the object reaches a predefined default size during resizing of the object. In some embodiments, the device is configured for each operation performed on the virtual object (e.g., each rotation by a preset angle, dragging the virtual object onto a different plane, original orientation and/or Produces tactile outputs, such as resizing to size. In some embodiments, these tactile outputs precede corresponding audio alerts that describe the action being performed and the resulting state of the virtual object. For example, as described in connection with FIG. 15V, a
일부 실시예들에서, 디바이스는, 하나 이상의 카메라들의 시야의 표현과 동시에, 제1 사용자 인터페이스 영역 내의 제1 위치에 (예컨대, 제1 사용자 인터페이스 영역 내의 상이한 위치들에 디스플레이된 복수의 제어부들 중) 제1 제어부를 디스플레이한다(20046). 제어부 페이딩 기준들이 충족된다는 (예컨대, 터치 입력이 터치 감응형 표면 상에서 검출되지 않으면서 제1 사용자 인터페이스 영역이 적어도 임계 시간 동안 디스플레이될 때 제어부 페이딩 기준들이 충족된다는) 결정에 따라, 디바이스는 제1 사용자 인터페이스 영역 내에 하나 이상의 카메라들의 시야의 표현의 디스플레이를 유지하는 동안 (예컨대, 제1 사용자 인터페이스 영역 내의 모든 다른 제어부들과 함께) 제1 사용자 인터페이스 영역 내에 제1 제어부를 디스플레이하는 것을 중지한다(예컨대, 사용자가 디바이스를 물리적 환경에 대해 이동시킬 때 제어부들은 재디스플레이되지 않는다)(20048). 제1 사용자 인터페이스 영역 내에 제1 제어부를 디스플레이하지 않으면서 제1 사용자 인터페이스 영역을 디스플레이하는 동안, 디바이스는 제1 사용자 인터페이스 영역 내의 제1 위치에 대응하는 터치 감응형 표면 상의 각각의 위치에서 터치 입력을 검출한다(20050). 터치 입력을 검출하는 것에 응답하여, 디바이스는 제1 제어부에 대응하는 동작을 특정하는 오디오 출력(예컨대, "go back to staging view(스테이징 뷰로 다시 가세요)" 또는 "rotate object around the y-axis(y-축을 중심으로 객체를 회전시키세요)")을 포함하는 제5 오디오 경보를 생성한다(20052). 일부 실시예들에서, 디바이스는 또한, 터치 입력을 검출하는 것에 응답하여 제1 위치에서 제1 제어부를 재디스플레이한다. 일부 실시예들에서, 제어부를 재디스플레이하고 디스플레이 상의 제어부의 통상 위치에서의 터치 입력 시, 제어부를 현재 선택된 제어부로 만드는 것은, 일단 사용자가 디스플레이 상의 제어부들의 위치들을 알면 일련의 스와이프 입력들을 사용하여 이용가능한 제어부들을 통해 스캐닝하는 것보다 빠른, 제어부에 액세스하는 방식을 제공한다. 제어부 페이딩 기준들이 충족된다고 결정하는 것에 응답하여 제어부를 디스플레이하는 것을 자동으로 중지하는 것은 제어부들을 디스플레이하는 것을 중지하는 데 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device, simultaneously with the representation of the field of view of one or more cameras, at a first location within the first user interface area (e.g., among a plurality of controls displayed at different locations within the first user interface area). The first control unit is displayed (20046). In accordance with a determination that the controller fading criteria are met (e.g., when the first user interface area is displayed for at least a threshold time while no touch input is detected on the touch-sensitive surface), the device Stop displaying the first control in the first user interface area (e.g., with all other controls in the first user interface area) while maintaining display of the representation of the field of view of one or more cameras in the interface area Controls are not redisplayed when the user moves the device relative to the physical environment) (20048). While displaying the first user interface area without displaying the first control unit in the first user interface area, the device receives a touch input at each location on the touch-sensitive surface corresponding to the first location in the first user interface area. Detect (20050). In response to detecting the touch input, the device outputs an audio output specifying an action corresponding to the first control unit (eg, “go back to staging view” or “rotate object around the y-axis(y -Rotate the object around the axis)") and generates a fifth audio alarm (20052). In some embodiments, the device also redisplays the first control at the first location in response to detecting the touch input. In some embodiments, upon redisplaying the control unit and making a touch input at the normal position of the control unit on the display, making the control unit the currently selected control unit uses a series of swipe inputs once the user knows the positions of the control units on the display. It provides a way to access controls, faster than scanning through the available controls. Automatically stopping displaying the control unit in response to determining that the control fading criteria are met reduces the number of inputs required to stop displaying the control unit. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which in addition allows the user to use the device more quickly and efficiently, Reduces power usage and improves battery life.
도 20a 내지 도 20f에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 1000, 16000, 17000, 18000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 20a 내지 도 20f와 관련하여 전술된 방법(20000)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(20000)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 1000, 16000, 17000, 18000, 19000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 20A-20F are described is merely an example and is not intended to indicate that the described order is the only order in which the operations may be performed. One of skill in the art will recognize various ways of reordering the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g.,
도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f를 참조하여 전술된 동작들은, 선택적으로, 도 1a 및 도 1b에 도시된 컴포넌트들에 의해 구현된다. 예를 들어, 디스플레이 동작들(802, 806, 902, 906, 910, 1004, 1008, 16004, 17004, 18002, 19002, 20002); 검출 동작들(804, 904, 908, 17006, 18004, 19004, 20004); 변경 동작(910), 수신 동작들(1002, 1006, 16002, 17002); 중지 동작들(17008); 회전 동작(18006); 업데이트 동작(19006); 조정 동작(20006); 및 생성 동작(20006)은, 선택적으로, 이벤트 분류기(170), 이벤트 인식기(180) 및 이벤트 핸들러(190)에 의해 구현된다. 이벤트 분류기(170) 내의 이벤트 모니터(171)는 터치 감응형 디스플레이(112) 상에서의 접촉을 검출하고, 이벤트 디스패처 모듈(174)은 이벤트 정보를 애플리케이션(136-1)에 전달한다. 애플리케이션(136-1)의 각자의 이벤트 인식기(180)는 이벤트 정보를 각자의 이벤트 정의들(186)과 비교하고, 터치 감응형 표면 상의 제1 위치에서의 제1 접촉(또는 디바이스의 회전)이 사용자 인터페이스 상의 객체의 선택, 또는 하나의 배향으로부터 다른 배향으로의 디바이스의 회전과 같은 미리정의된 이벤트 또는 서브-이벤트에 대응하는지 여부를 결정한다. 각각의 미리정의된 이벤트 또는 서브이벤트가 검출될 때, 이벤트 인식기(180)는 이벤트 또는 서브이벤트의 검출과 연관된 이벤트 핸들러(190)를 활성화시킨다. 이벤트 핸들러(190)는, 선택적으로, 데이터 업데이터(176) 또는 객체 업데이터(177)를 이용하거나 호출하여 애플리케이션 내부 상태(192)를 업데이트한다. 일부 실시예들에서, 이벤트 핸들러(190)는 각각의 GUI 업데이터(178)에 액세스하여, 애플리케이션에 의해 디스플레이되는 것을 업데이트한다. 유사하게, 다른 프로세스들이 도 1a 및 도 1b에 도시된 컴포넌트들에 기초하여 어떻게 구현될 수 있는지는 당업자에게 자명할 것이다.8A to 8E, 9A to 9D, 10A to 10D, 16A to 16G, 17A to 17D, 18A to 18I, 19A to 19H, and 20A to 20F. The operations described above are, optionally, implemented by the components shown in FIGS. 1A and 1B. For example,
전술한 설명은, 설명의 목적을 위해, 특정 실시예들을 참조하여 설명되었다. 그러나, 상기의 예시적인 논의들은 본 발명을 개시된 정확한 형태들로 규명하거나 제한하려는 의도는 아니다. 많은 수정들 및 변형들이 상기 교시 내용들의 관점에서 가능하다. 본 발명의 원리들 및 그의 실제적인 응용들을 가장 잘 설명하여, 그에 의해 당업자들이 본 발명 및 다양한 설명된 실시예들을 고려되는 특정 용도에 적합한 바와 같은 다양한 변형들을 갖고서 가장 잘 이용하는 것을 가능하게 하도록, 실시예들이 선택 및 설명되었다.The foregoing description has been described with reference to specific embodiments, for purposes of explanation. However, the exemplary discussions above are not intended to characterize or limit the invention to the precise forms disclosed. Many modifications and variations are possible in terms of the above teachings. To best explain the principles of the invention and its practical applications, thereby enabling those skilled in the art to best use the invention and the various described embodiments with various modifications as suitable for the particular application contemplated. Examples have been selected and described.
Claims (209)
디스플레이, 터치 감응형 표면, 및 하나 이상의 카메라들을 갖는 디바이스에서:
상기 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 단계;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 제1 표현을 디스플레이하는 동안, 상기 디스플레이 상의 상기 가상 객체의 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 접촉에 의한 제1 입력을 검출하는 단계; 및
상기 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여:
상기 접촉에 의한 상기 제1 입력이 제1 기준들을 충족한다는 결정에 따라:
상기 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 상기 하나 이상의 카메라들의 시야의 표현으로 대체하는 것을 포함하여, 상기 디스플레이 상에 제2 사용자 인터페이스 영역을 디스플레이하고;
상기 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 상기 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 상기 가상 객체의 표현을 연속적으로 디스플레이하는 단계를 포함하는, 방법.As a method,
In a device with a display, a touch-sensitive surface, and one or more cameras:
Displaying a representation of a virtual object in a first user interface area on the display;
While displaying the first representation of the virtual object in the first user interface area on the display, detecting a first input by contact at a location on the touch-sensitive surface corresponding to the representation of the virtual object on the display step; And
In response to detecting the first input by the contact:
Depending on the determination that the first input by the contact meets first criteria:
Displaying a second user interface area on the display, including replacing a display of at least a portion of the first user interface area with a representation of the field of view of the one or more cameras;
And continuously displaying a representation of the virtual object while switching from displaying the first user interface area to displaying the second user interface area.
상기 디바이스는 상기 터치 감응형 표면과의 접촉들의 세기들을 검출하는 하나 이상의 센서들을 포함하고;
상기 제1 기준들은, 상기 접촉의 특성 세기가 제1 세기 임계치를 초과하여 증가할 때 만족되는 기준들을 포함하는, 방법.The method of claim 1,
The device includes one or more sensors that detect intensities of contacts with the touch-sensitive surface;
The first criteria include criteria that are satisfied when the characteristic strength of the contact increases beyond a first strength threshold.
상기 디바이스는 하나 이상의 촉각적 출력 생성기들을 포함하고;
상기 방법은, 상기 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여, 상기 접촉에 의한 상기 제1 입력이 상기 제1 기준들을 충족하였다는 결정에 따라, 상기 제1 입력에 의한 상기 제1 기준들의 만족을 나타내기 위해 촉각적 출력을, 상기 하나 이상의 촉각적 출력 생성기들에 의해, 출력하는 단계를 포함하는, 방법.The method according to any one of claims 1 to 4,
The device comprises one or more tactile output generators;
The method comprises, in response to detecting the first input by the contact, the first criterion by the first input, according to a determination that the first input by the contact has met the first criteria. And outputting, by the one or more tactile output generators, a tactile output to indicate satisfaction of the people.
상기 제1 입력의 적어도 초기 부분을 검출하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들을 검출하기 위해 상기 하나 이상의 카메라들의 시야를 분석하는 단계; 및
상기 하나 이상의 카메라들의 시야 내에서 각각의 평면을 검출한 후, 상기 하나 이상의 카메라들의 시야에 대한 상기 각각의 평면의 상대 위치에 기초하여 상기 가상 객체의 표현의 크기 및/또는 위치를 결정하는 단계를 포함하는, 방법.The method according to any one of claims 1 to 5,
In response to detecting at least an initial portion of the first input, analyzing the field of view of the one or more cameras to detect one or more planes within the field of view of the one or more cameras; And
After detecting each plane within the field of view of the one or more cameras, determining the size and/or position of the representation of the virtual object based on the relative position of the respective plane with respect to the field of view of the one or more cameras. Including, how.
상기 가상 객체가 상기 하나 이상의 카메라들의 시야 내에서 검출되는 각각의 평면에 대해 미리정의된 각도로 배향되도록 하는 각각의 방식으로 상기 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하는 단계를 포함하는, 방법.The method according to any one of claims 6 to 9,
Displaying a representation of the virtual object in the second user interface area in a respective manner such that the virtual object is oriented at a predefined angle with respect to each plane detected within the field of view of the one or more cameras. , Way.
상기 디바이스는 하나 이상의 촉각적 출력 생성기들을 포함하고;
상기 방법은, 상기 하나 이상의 카메라들의 시야 내에서 상기 각각의 평면을 검출하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야 내의 상기 각각의 평면의 검출을 나타내기 위해 촉각적 출력을, 상기 하나 이상의 촉각적 출력 생성기들에 의해, 출력하는 단계를 포함하는, 방법.The method of claim 10,
The device comprises one or more tactile output generators;
The method, in response to detecting the respective plane within the field of view of the one or more cameras, generates a tactile output to indicate detection of the respective plane within the field of view of the one or more cameras, the one or more tactile outputs. Outputting, by output generators.
상기 디바이스는 하나 이상의 촉각적 출력 생성기들을 포함하고;
상기 방법은,
상기 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 상기 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안, 상기 가상 객체의 표현이 상기 제2 사용자 인터페이스 영역 내로 상기 각각의 평면에 대한 미리정의된 위치로 전이(transition)됨에 따라 애니메이션을 디스플레이하는 단계; 및
상기 각각의 평면에 대한 상기 미리정의된 각도로 상기 가상 객체의 표현을 디스플레이하는 것과 함께, 상기 제2 사용자 인터페이스 영역 내에 상기 각각의 평면에 대한 상기 미리정의된 각도로 상기 가상 객체를 디스플레이하는 것을 나타내기 위해 촉각적 출력을, 상기 하나 이상의 촉각적 출력 생성기들에 의해, 출력하는 단계를 포함하는, 방법.The method of claim 10 or 11,
The device comprises one or more tactile output generators;
The above method,
While switching from displaying the first user interface area to displaying the second user interface area, the representation of the virtual object transitions into the second user interface area to a predefined position for each plane. displaying the animation as it becomes (transition); And
In addition to displaying the representation of the virtual object at the predefined angle with respect to each of the planes, it indicates displaying the virtual object at the predefined angle with respect to the respective plane within the second user interface area. And outputting, by the one or more tactile output generators, a tactile output for production.
상기 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하는 동안, 상기 하나 이상의 카메라들의 시야를 조정하는 상기 디바이스의 이동을 검출하는 단계; 및
상기 디바이스의 이동을 검출하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야가 조정됨에 따라 상기 하나 이상의 카메라들의 시야 내의 상기 각각의 평면과 상기 가상 객체 사이의 고정된 공간적 관계에 따라 상기 제2 사용자 인터페이스 영역 내에서 상기 가상 객체의 표현을 조정하는 단계를 포함하는, 방법.The method according to any one of claims 10 to 13,
Detecting movement of the device to adjust the field of view of the one or more cameras while displaying the representation of the virtual object within the second user interface area; And
In response to detecting movement of the device, the second user interface region according to a fixed spatial relationship between the virtual object and each plane within the field of view of the one or more cameras as the field of view of the one or more cameras is adjusted Adjusting the representation of the virtual object within.
상기 디스플레이 상에 상기 제2 사용자 인터페이스 영역을 디스플레이하는 동안, 제2 접촉에 의한 제2 입력을 검출하는 단계 - 상기 제2 입력은 상기 디스플레이를 가로지르는 제1 경로를 따르는 상기 제2 접촉의 이동을 포함함 -; 및
상기 제2 접촉에 의한 상기 제2 입력을 검출하는 것에 응답하여, 상기 제1 경로에 대응하는 제2 경로를 따라서 상기 제2 사용자 인터페이스 영역 내에서 상기 가상 객체의 표현을 이동시키는 단계를 포함하는, 방법.The method according to any one of claims 1 to 15,
While displaying the second user interface area on the display, detecting a second input by a second contact, the second input detecting movement of the second contact along a first path across the display Contains -; And
In response to detecting the second input by the second contact, moving the representation of the virtual object within the second user interface area along a second path corresponding to the first path, Way.
상기 가상 객체의 표현이 상기 제2 경로를 따라서 이동함에 따라 상기 가상 객체의 표현의 제1 크기를 유지하는 단계;
상기 제2 접촉에 의한 상기 제2 입력의 종료를 검출하는 단계; 및
상기 제2 접촉에 의한 상기 제2 입력의 종료를 검출하는 것에 응답하여:
상기 제2 사용자 인터페이스 영역 내의 낙하(drop-off) 위치에 상기 가상 객체의 표현을 배치하고;
상기 제1 크기와 구별되는 제2 크기로 상기 제2 사용자 인터페이스 영역 내의 상기 낙하 위치에 상기 가상 객체의 표현을 디스플레이하는 단계를 포함하는, 방법.The method of claim 16,
Maintaining a first size of the representation of the virtual object as the representation of the virtual object moves along the second path;
Detecting an end of the second input by the second contact; And
In response to detecting the termination of the second input by the second contact:
Arranging the representation of the virtual object at a drop-off position in the second user interface area;
And displaying the representation of the virtual object at the falling position in the second user interface area with a second size distinct from the first size.
상기 하나 이상의 카메라들의 시야의 표현을 포함하는 상기 제2 사용자 인터페이스 영역을 디스플레이하는 것을 중지하는 단계; 및
상기 가상 객체의 표현과 함께 상기 제1 사용자 인터페이스 영역을 재디스플레이하는 단계를 포함하는, 방법.19. A method according to any one of claims 16 to 18, according to a determination that the movement of the second contact along the first path across the display meets second criteria:
Stopping displaying the second user interface area containing a representation of the field of view of the one or more cameras; And
And re-displaying the first user interface area with the representation of the virtual object.
상기 제1 사용자 인터페이스 영역을 재디스플레이하는 것에 대응하는 시간에, 상기 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하는 것으로부터 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하는 것으로의 애니메이션화된(animated) 전이를 디스플레이하는 단계를 포함하는, 방법.The method of claim 19,
At a time corresponding to re-displaying the first user interface area, from displaying the representation of the virtual object in the second user interface area to displaying the representation of the virtual object in the first user interface area. And displaying an animated transition.
디스플레이;
터치 감응형 표면;
하나 이상의 카메라들;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은,
상기 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하기 위한;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 제1 표현을 디스플레이하는 동안, 상기 디스플레이 상의 상기 가상 객체의 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 접촉에 의한 제1 입력을 검출하기 위한; 그리고
상기 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여:
상기 접촉에 의한 상기 제1 입력이 제1 기준들을 충족한다는 결정에 따라:
상기 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 상기 하나 이상의 카메라들의 시야의 표현으로 대체하는 것을 포함하여, 상기 디스플레이 상에 제2 사용자 인터페이스 영역을 디스플레이하고;
상기 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 상기 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 상기 가상 객체의 표현을 연속적으로 디스플레이하기 위한 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
display;
Touch-sensitive surface;
One or more cameras;
One or more processors; And
And a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs,
Displaying a representation of a virtual object in a first user interface area on the display;
While displaying the first representation of the virtual object in the first user interface area on the display, detecting a first input by contact at a location on the touch-sensitive surface corresponding to the representation of the virtual object on the display for; And
In response to detecting the first input by the contact:
Depending on the determination that the first input by the contact meets first criteria:
Displaying a second user interface area on the display, including replacing a display of at least a portion of the first user interface area with a representation of the field of view of the one or more cameras;
And instructions for continuously displaying a representation of the virtual object while switching from displaying the first user interface area to displaying the second user interface area.
상기 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하게 하는;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 제1 표현을 디스플레이하는 동안, 상기 디스플레이 상의 상기 가상 객체의 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 접촉에 의한 제1 입력을 검출하게 하는; 그리고
상기 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여:
상기 접촉에 의한 상기 제1 입력이 제1 기준들을 충족한다는 결정에 따라:
상기 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 상기 하나 이상의 카메라들의 시야의 표현으로 대체하는 것을 포함하여, 상기 디스플레이 상에 제2 사용자 인터페이스 영역을 디스플레이하게 하고;
상기 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 상기 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 상기 가상 객체의 표현을 연속적으로 디스플레이하게 하는 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.A computer readable storage medium storing one or more programs, wherein the one or more programs, when executed by a computer system having a display, a touch-sensitive surface, and one or more cameras, cause the computer system to:
Displaying a representation of a virtual object in a first user interface area on the display;
While displaying the first representation of the virtual object in the first user interface area on the display, detecting a first input by contact at a location on the touch-sensitive surface corresponding to the representation of the virtual object on the display doing; And
In response to detecting the first input by the contact:
Depending on the determination that the first input by the contact meets first criteria:
Displaying a second user interface area on the display, including replacing a display of at least a portion of the first user interface area with a representation of the field of view of the one or more cameras;
A computer-readable storage medium comprising instructions for causing to continuously display a representation of the virtual object while switching from displaying the first user interface area to displaying the second user interface area.
디스플레이;
터치 감응형 표면;
하나 이상의 카메라들;
상기 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하기 위한 수단;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 제1 표현을 디스플레이하는 동안 인에이블되는(enabled), 상기 디스플레이 상의 상기 가상 객체의 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 접촉에 의한 제1 입력을 검출하기 위한 수단; 및
상기 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여 인에이블되는 수단 - 상기 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여 인에이블되는 수단은,
상기 접촉에 의한 상기 제1 입력이 제1 기준들을 충족한다는 결정에 따라 인에이블되는,
상기 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 상기 하나 이상의 카메라들의 시야의 표현으로 대체하는 것을 포함하여, 상기 디스플레이 상에 제2 사용자 인터페이스 영역을 디스플레이하고;
상기 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 상기 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 상기 가상 객체의 표현을 연속적으로 디스플레이하기 위한 수단을 포함함 - 을 포함하는, 컴퓨터 시스템.As a computer system,
display;
Touch-sensitive surface;
One or more cameras;
Means for displaying a representation of a virtual object within a first user interface area on the display;
By contact at a location on the touch-sensitive surface corresponding to the representation of the virtual object on the display, enabled while displaying a first representation of the virtual object in the first user interface area on the display Means for detecting a first input; And
Means enabled in response to detecting the first input by the contact, the means enabled in response to detecting the first input by the contact,
Enabled according to a determination that the first input by the contact meets first criteria,
Displaying a second user interface area on the display, including replacing a display of at least a portion of the first user interface area with a representation of the field of view of the one or more cameras;
And means for continuously displaying a representation of the virtual object while switching from displaying the first user interface area to displaying the second user interface area.
상기 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하기 위한 수단;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 제1 표현을 디스플레이하는 동안 인에이블되는, 상기 디스플레이 상의 상기 가상 객체의 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 접촉에 의한 제1 입력을 검출하기 위한 수단; 및
상기 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여 인에이블되는 수단 - 상기 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여 인에이블되는 수단은,
상기 접촉에 의한 상기 제1 입력이 제1 기준들을 충족한다는 결정에 따라 인에이블되는,
상기 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 상기 하나 이상의 카메라들의 시야의 표현으로 대체하는 것을 포함하여, 상기 디스플레이 상에 제2 사용자 인터페이스 영역을 디스플레이하고;
상기 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 상기 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 상기 가상 객체의 표현을 연속적으로 디스플레이하기 위한 수단을 포함함 - 을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display, a touch-sensitive surface, and one or more cameras, comprising:
Means for displaying a representation of a virtual object within a first user interface area on the display;
A first input by contact at a location on the touch-sensitive surface corresponding to a representation of the virtual object on the display, enabled while displaying a first representation of the virtual object in the first user interface area on the display Means for detecting an error; And
Means enabled in response to detecting the first input by the contact, the means enabled in response to detecting the first input by the contact,
Enabled according to a determination that the first input by the contact meets first criteria,
Displaying a second user interface area on the display, including replacing a display of at least a portion of the first user interface area with a representation of the field of view of the one or more cameras;
And means for continuously displaying a representation of the virtual object while switching from displaying the first user interface area to displaying the second user interface area.
디스플레이;
터치 감응형 표면;
하나 이상의 카메라들;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은 제1항 내지 제23항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
display;
Touch-sensitive surface;
One or more cameras;
One or more processors; And
24. A computer system comprising a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for performing the method of any one of claims 1 to 23.
디스플레이;
터치 감응형 표면;
하나 이상의 카메라들; 및
제1항 내지 제23항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.As a computer system,
display;
Touch-sensitive surface;
One or more cameras; And
A computer system comprising means for performing the method of claim 1.
제1항 내지 제23항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display, a touch-sensitive surface, and one or more cameras, comprising:
An information processing apparatus comprising means for performing the method of any one of claims 1 to 23.
디스플레이, 터치 감응형 표면, 및 하나 이상의 카메라들을 갖는 디바이스에서:
상기 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하는 단계;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 제1 표현을 디스플레이하는 동안, 상기 디스플레이 상의 상기 가상 객체의 제1 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 제1 접촉에 의한 제1 입력을 검출하는 단계;
상기 제1 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여 그리고 상기 제1 접촉에 의한 상기 제1 입력이 제1 기준들을 충족한다는 결정에 따라, 상기 제1 사용자 인터페이스 영역과 상이한 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 제2 표현을 디스플레이하는 단계;
상기 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 제2 표현을 디스플레이하는 동안, 제2 입력을 검출하는 단계; 및
상기 제2 입력을 검출하는 것에 응답하여:
상기 제2 입력이 상기 제2 사용자 인터페이스 영역 내의 상기 가상 객체를 조작하라는 요청에 대응한다는 결정에 따라, 상기 제2 입력에 기초하여 상기 제2 사용자 인터페이스 영역 내의 상기 가상 객체의 제2 표현의 디스플레이 속성을 변경하고;
상기 제2 입력이 증강 현실 환경에 상기 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라, 상기 하나 이상의 카메라들의 시야의 표현과 함께 상기 가상 객체의 제3 표현을 디스플레이하는 단계를 포함하는, 방법.As a method,
In a device with a display, a touch-sensitive surface, and one or more cameras:
Displaying a first representation of a virtual object in a first user interface area on the display;
While displaying the first representation of the virtual object in the first user interface area on the display, a first contact by a first contact at a location on the touch-sensitive surface corresponding to the first representation of the virtual object on the display Detecting an input;
A second user interface different from the first user interface area in response to detecting the first input by the first contact and according to a determination that the first input by the first contact meets first criteria Displaying a second representation of the virtual object in an area;
Detecting a second input while displaying a second representation of the virtual object in the second user interface area; And
In response to detecting the second input:
According to a determination that the second input corresponds to a request to manipulate the virtual object in the second user interface area, the display attribute of the second representation of the virtual object in the second user interface area based on the second input Change it;
In response to a determination that the second input corresponds to a request to display the virtual object in an augmented reality environment, displaying a third representation of the virtual object along with a representation of the field of view of the one or more cameras.
상기 디바이스는 상기 터치 감응형 표면과의 접촉들의 세기들을 검출하는 하나 이상의 센서들을 포함하고;
상기 제1 기준들은, 상기 제1 접촉의 특성 세기가 제1 세기 임계치를 초과하여 증가할 때 만족되는 기준들을 포함하는, 방법.The method of claim 33,
The device includes one or more sensors that detect intensities of contacts with the touch-sensitive surface;
The first criteria include criteria that are satisfied when the characteristic strength of the first contact increases above a first strength threshold.
상기 제1 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여 그리고 상기 제1 접촉에 의한 상기 제1 입력이 제2 기준들을 충족한다는 결정에 따라 - 상기 제2 기준들은 상기 제1 입력이 상기 터치 감응형 표면을 가로지르는 방향으로 임계 거리 초과 동안 상기 제1 접촉의 이동을 포함할 것을 요구함 -, 상기 제1 접촉의 이동의 방향에 대응하는 방향으로 상기 제1 사용자 인터페이스 영역을 스크롤하는 단계를 포함하는, 방법.The method of claim 33,
In response to detecting the first input by the first contact and according to a determination that the first input by the first contact meets second criteria-the second criteria are determined by the first input being the touch Requiring to include movement of the first contact for exceeding a threshold distance in a direction crossing the responsive surface, including scrolling the first user interface area in a direction corresponding to a direction of movement of the first contact How to.
상기 제1 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여 그리고 상기 제1 접촉에 의한 상기 제1 입력이 제3 기준들을 충족한다는 결정에 따라, 상기 하나 이상의 카메라들의 시야의 표현과 함께 상기 가상 객체의 제3 표현을 디스플레이하는 단계를 포함하는, 방법.The method according to any one of claims 33 to 37,
In response to detecting the first input by the first contact and according to a determination that the first input by the first contact meets third criteria, the virtual Displaying a third representation of the object.
상기 디바이스는 하나 이상의 디바이스 배향 센서들을 포함하고;
상기 방법은, 상기 제1 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여, 상기 하나 이상의 디바이스 배향 센서들에 의해, 상기 디바이스의 현재 디바이스 배향을 결정하는 단계를 포함하고;
상기 제3 기준들은 상기 제3 기준들이 충족되기 위하여 상기 현재 디바이스 배향이 제1 범위의 배향들 내에 있을 것을 요구하는, 방법.The method of claim 38,
The device comprises one or more device orientation sensors;
The method includes, in response to detecting the first input by the first contact, determining, by the one or more device orientation sensors, a current device orientation of the device;
Wherein the third criteria require that the current device orientation be within a first range of orientations in order for the third criteria to be met.
상기 제1 접촉에 의한 상기 제1 입력의 적어도 초기 부분을 검출하는 것에 응답하여:
상기 하나 이상의 카메라들을 활성화시키는 단계; 및
상기 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들을 검출하기 위해 상기 하나 이상의 카메라들의 시야를 분석하는 단계를 포함하는, 방법.The method according to any one of claims 33 to 40,
In response to detecting at least an initial portion of the first input by the first contact:
Activating the one or more cameras; And
And analyzing the field of view of the one or more cameras to detect one or more planes within the field of view of the one or more cameras.
상기 디바이스는 하나 이상의 촉각적 출력 생성기들을 포함하고;
상기 방법은, 상기 하나 이상의 카메라들의 시야 내에서 각각의 평면을 검출하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야 내의 각각의 평면의 검출을 나타내기 위해 촉각적 출력을, 상기 하나 이상의 촉각적 출력 생성기들에 의해, 출력하는 단계를 포함하는, 방법.The method of claim 41,
The device comprises one or more tactile output generators;
The method, in response to detecting each plane within the field of view of the one or more cameras, generates a tactile output to indicate detection of each plane within the field of view of the one or more cameras, the one or more tactile output generators. By way of, outputting.
상기 제4 입력을 검출하는 것에 응답하여:
상기 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 제2 표현을 디스플레이하는 것을 중지하고;
상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 제1 표현을 재디스플레이하는 단계를 포함하는, 방법.The method of any one of claims 33 to 44, wherein while displaying a second representation of the virtual object within the second user interface area, each of the criteria for redisplaying the first user interface area is met. Detecting a fourth input; And
In response to detecting the fourth input:
Stopping displaying a second representation of the virtual object within the second user interface area;
And re-displaying the first representation of the virtual object within the first user interface area.
상기 하나 이상의 카메라들의 시야의 표현과 함께 상기 가상 객체의 제3 표현을 디스플레이하는 동안, 상기 제2 사용자 인터페이스 영역을 재디스플레이하기 위한 각각의 기준들을 충족하는 제5 입력을 검출하는 단계; 및
상기 제5 입력을 검출하는 것에 응답하여:
상기 가상 객체의 제3 표현 및 상기 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 것을 중지하고;
상기 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 제2 표현을 재디스플레이하는 단계를 포함하는, 방법.The method according to any one of claims 33 to 45,
While displaying the third representation of the virtual object with the representation of the field of view of the one or more cameras, detecting a fifth input that meets respective criteria for redisplaying the second user interface area; And
In response to detecting the fifth input:
Stopping displaying the third representation of the virtual object and the representation of the field of view of the one or more cameras;
And re-displaying the second representation of the virtual object within the second user interface area.
상기 제6 입력을 검출하는 것에 응답하여:
상기 가상 객체의 제3 표현 및 상기 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 것을 중지하고;
상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 제1 표현을 재디스플레이하는 단계를 포함하는, 방법.47. The method of any one of claims 33 to 46, wherein each criterion for redisplaying the first user interface area while displaying the third representation of the virtual object along with the representation of the field of view of the one or more cameras. Detecting a sixth input that satisfies them; And
In response to detecting the sixth input:
Stopping displaying the third representation of the virtual object and the representation of the field of view of the one or more cameras;
And re-displaying the first representation of the virtual object within the first user interface area.
상기 제1 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여 그리고 상기 접촉에 의한 상기 입력이 상기 제1 기준들을 충족한다는 결정에 따라, 상기 제1 사용자 인터페이스 영역 내의 상기 가상 객체의 제1 표현이 상기 제2 사용자 인터페이스 영역 내의 상기 가상 객체의 제2 표현으로 변환되는 애니메이션을 디스플레이하는 것을 포함하여, 상기 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 상기 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 전이될 때 상기 가상 객체를 연속적으로 디스플레이하는 단계를 포함하는, 방법.The method according to any one of claims 33 to 47,
In response to detecting the first input by the first contact and according to a determination that the input by the contact meets the first criteria, a first representation of the virtual object in the first user interface area is Including displaying an animation converted to a second representation of the virtual object in the second user interface area, when transitioning from displaying the first user interface area to displaying the second user interface area, the And continuously displaying the virtual object.
상기 제2 접촉에 의한 상기 제2 입력을 검출하는 것에 응답하여 그리고 상기 제2 접촉에 의한 상기 제2 입력이 상기 증강 현실 환경에 상기 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라, 상기 제2 사용자 인터페이스 영역 내의 상기 가상 객체의 제2 표현이 상기 하나 이상의 카메라들의 시야를 포함하는 제3 사용자 인터페이스 영역 내의 상기 가상 객체의 제3 표현으로 변환되는 애니메이션을 디스플레이하는 것을 포함하여, 상기 제2 사용자 인터페이스 영역을 디스플레이하는 것으로부터 상기 하나 이상의 카메라들의 시야를 포함하는 상기 제3 사용자 인터페이스 영역을 디스플레이하는 것으로 전이될 때 상기 가상 객체를 연속적으로 디스플레이하는 단계를 포함하는, 방법.The method according to any one of claims 33 to 48,
In response to detecting the second input by the second contact and according to a determination that the second input by the second contact corresponds to a request to display the virtual object in the augmented reality environment, the second And displaying an animation in which the second representation of the virtual object in the user interface area is converted into a third representation of the virtual object in a third user interface area including the field of view of the one or more cameras, And continuously displaying the virtual object when transitioning from displaying an area to displaying the third user interface area comprising a field of view of the one or more cameras.
디스플레이;
터치 감응형 표면;
하나 이상의 카메라들;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은,
상기 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하기 위한;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 제1 표현을 디스플레이하는 동안, 상기 디스플레이 상의 상기 가상 객체의 제1 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 제1 접촉에 의한 제1 입력을 검출하기 위한;
상기 제1 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여 그리고 상기 제1 접촉에 의한 상기 입력이 제1 기준들을 충족한다는 결정에 따라, 상기 제1 사용자 인터페이스 영역과 상이한 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하기 위한;
상기 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 제2 표현을 디스플레이하는 동안, 제2 입력을 검출하기 위한; 그리고
상기 제2 입력을 검출하는 것에 응답하여:
상기 제2 입력이 상기 제2 사용자 인터페이스 영역 내의 상기 가상 객체를 조작하라는 요청에 대응한다는 결정에 따라, 상기 제2 입력에 기초하여 상기 제2 사용자 인터페이스 영역 내의 상기 가상 객체의 제2 표현의 디스플레이 속성을 변경하고;
상기 제2 입력이 증강 현실 환경에 상기 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라, 상기 하나 이상의 카메라들의 시야의 표현과 함께 상기 가상 객체의 제3 표현을 디스플레이하기 위한 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
display;
Touch-sensitive surface;
One or more cameras;
One or more processors; And
And a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs,
Displaying a first representation of a virtual object in a first user interface area on the display;
While displaying the first representation of the virtual object in the first user interface area on the display, a first contact by a first contact at a location on the touch-sensitive surface corresponding to the first representation of the virtual object on the display For detecting an input;
In response to detecting the first input by the first contact and in accordance with a determination that the input by the first contact meets first criteria, within a second user interface area different from the first user interface area For displaying a representation of the virtual object;
While displaying a second representation of the virtual object within the second user interface area, detecting a second input; And
In response to detecting the second input:
According to a determination that the second input corresponds to a request to manipulate the virtual object in the second user interface area, the display attribute of the second representation of the virtual object in the second user interface area based on the second input Change it;
A computer comprising instructions for displaying a third representation of the virtual object along with a representation of the field of view of the one or more cameras according to a determination that the second input corresponds to a request to display the virtual object in an augmented reality environment system.
상기 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하게 하는;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 제1 표현을 디스플레이하는 동안, 상기 디스플레이 상의 상기 가상 객체의 제1 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 제1 접촉에 의한 제1 입력을 검출하게 하는;
상기 제1 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여 그리고 상기 제1 접촉에 의한 상기 입력이 제1 기준들을 충족한다는 결정에 따라, 상기 제1 사용자 인터페이스 영역과 상이한 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하게 하는;
상기 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 제2 표현을 디스플레이하는 동안, 제2 입력을 검출하게 하는; 그리고
상기 제2 입력을 검출하는 것에 응답하여:
상기 제2 입력이 상기 제2 사용자 인터페이스 영역 내의 상기 가상 객체를 조작하라는 요청에 대응한다는 결정에 따라, 상기 제2 입력에 기초하여 상기 제2 사용자 인터페이스 영역 내의 상기 가상 객체의 제2 표현의 디스플레이 속성을 변경하게 하고;
상기 제2 입력이 증강 현실 환경에 상기 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라, 상기 하나 이상의 카메라들의 시야의 표현과 함께 상기 가상 객체의 제3 표현을 디스플레이하게 하는 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.A computer readable storage medium storing one or more programs, wherein the one or more programs, when executed by a computer system having a display, a touch-sensitive surface, and one or more cameras, cause the computer system to:
Displaying a first representation of a virtual object in a first user interface area on the display;
While displaying the first representation of the virtual object in the first user interface area on the display, a first contact by a first contact at a location on the touch-sensitive surface corresponding to the first representation of the virtual object on the display To detect the input;
In response to detecting the first input by the first contact and in accordance with a determination that the input by the first contact meets first criteria, within a second user interface area different from the first user interface area Display a representation of the virtual object;
Detecting a second input while displaying a second representation of the virtual object in the second user interface area; And
In response to detecting the second input:
According to a determination that the second input corresponds to a request to manipulate the virtual object in the second user interface area, the display attribute of the second representation of the virtual object in the second user interface area based on the second input To change it;
A computer comprising instructions for causing, in response to a determination that the second input corresponds to a request to display the virtual object in an augmented reality environment, to display a third representation of the virtual object along with a representation of the field of view of the one or more cameras Readable storage medium.
디스플레이;
터치 감응형 표면;
하나 이상의 카메라들;
상기 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하기 위한 수단;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 제1 표현을 디스플레이하는 동안 인에이블되는, 상기 디스플레이 상의 상기 가상 객체의 제1 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 제1 접촉에 의한 제1 입력을 검출하기 위한 수단;
상기 제1 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여 그리고 상기 제1 접촉에 의한 상기 입력이 제1 기준들을 충족한다는 결정에 따라 인에이블되는, 상기 제1 사용자 인터페이스 영역과 상이한 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하기 위한 수단;
상기 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 제2 표현을 디스플레이하는 동안 인에이블되는, 제2 입력을 검출하기 위한 수단; 및
상기 제2 입력을 검출하는 것에 응답하여 인에이블되는 수단 - 상기 제2 입력을 검출하는 것에 응답하여 인에이블되는 수단은,
상기 제2 입력이 상기 제2 사용자 인터페이스 영역 내의 상기 가상 객체를 조작하라는 요청에 대응한다는 결정에 따라 인에이블되는, 상기 제2 입력에 기초하여 상기 제2 사용자 인터페이스 영역 내의 상기 가상 객체의 제2 표현의 디스플레이 속성을 변경하기 위한 수단; 및
상기 제2 입력이 증강 현실 환경에 상기 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라 인에이블되는, 상기 하나 이상의 카메라들의 시야의 표현과 함께 상기 가상 객체의 제3 표현을 디스플레이하기 위한 수단을 포함함 - 을 포함하는, 컴퓨터 시스템.As a computer system,
display;
Touch-sensitive surface;
One or more cameras;
Means for displaying a first representation of a virtual object within a first user interface area on the display;
To a first contact at a location on the touch-sensitive surface corresponding to the first representation of the virtual object on the display, enabled while displaying the first representation of the virtual object in the first user interface area on the display Means for detecting a first input by;
A second user different from the first user interface area, enabled in response to detecting the first input by the first contact and in accordance with a determination that the input by the first contact meets first criteria Means for displaying a representation of the virtual object within an interface area;
Means for detecting a second input, enabled while displaying a second representation of the virtual object within the second user interface area; And
Means enabled in response to detecting the second input, the means enabled in response to detecting the second input,
A second representation of the virtual object in the second user interface area based on the second input, enabled in response to a determination that the second input corresponds to a request to manipulate the virtual object in the second user interface area Means for changing the display property of the device; And
Means for displaying a third representation of the virtual object along with a representation of the field of view of the one or more cameras, enabled in response to a determination that the second input corresponds to a request to display the virtual object in an augmented reality environment. Ham-containing, computer system.
상기 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하기 위한 수단;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 제1 표현을 디스플레이하는 동안 인에이블되는, 상기 디스플레이 상의 상기 가상 객체의 제1 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 제1 접촉에 의한 제1 입력을 검출하기 위한 수단;
상기 제1 접촉에 의한 상기 제1 입력을 검출하는 것에 응답하여 그리고 상기 제1 접촉에 의한 상기 입력이 제1 기준들을 충족한다는 결정에 따라 인에이블되는, 상기 제1 사용자 인터페이스 영역과 상이한 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하기 위한 수단;
상기 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 제2 표현을 디스플레이하는 동안 인에이블되는, 제2 입력을 검출하기 위한 수단; 및
상기 제2 입력을 검출하는 것에 응답하여 인에이블되는 수단 - 상기 제2 입력을 검출하는 것에 응답하여 인에이블되는 수단은,
상기 제2 입력이 상기 제2 사용자 인터페이스 영역 내의 상기 가상 객체를 조작하라는 요청에 대응한다는 결정에 따라 인에이블되는, 상기 제2 입력에 기초하여 상기 제2 사용자 인터페이스 영역 내의 상기 가상 객체의 제2 표현의 디스플레이 속성을 변경하기 위한 수단; 및
상기 제2 입력이 증강 현실 환경에 상기 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라 인에이블되는, 상기 하나 이상의 카메라들의 시야의 표현과 함께 상기 가상 객체의 제3 표현을 디스플레이하기 위한 수단을 포함함 - 을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display, a touch-sensitive surface, and one or more cameras, comprising:
Means for displaying a first representation of a virtual object within a first user interface area on the display;
To a first contact at a location on the touch-sensitive surface corresponding to the first representation of the virtual object on the display, enabled while displaying the first representation of the virtual object in the first user interface area on the display Means for detecting a first input by;
A second user different from the first user interface area, enabled in response to detecting the first input by the first contact and in accordance with a determination that the input by the first contact meets first criteria Means for displaying a representation of the virtual object within an interface area;
Means for detecting a second input, enabled while displaying a second representation of the virtual object within the second user interface area; And
Means enabled in response to detecting the second input, the means enabled in response to detecting the second input,
A second representation of the virtual object in the second user interface area based on the second input, enabled in response to a determination that the second input corresponds to a request to manipulate the virtual object in the second user interface area Means for changing the display property of the device; And
Means for displaying a third representation of the virtual object along with a representation of the field of view of the one or more cameras, enabled in accordance with a determination that the second input corresponds to a request to display the virtual object in an augmented reality environment. Ham-comprising, information processing apparatus.
디스플레이;
터치 감응형 표면;
하나 이상의 카메라들;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은 제33항 내지 제49항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
display;
Touch-sensitive surface;
One or more cameras;
One or more processors; And
A computer system comprising a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the method of any one of claims 33-49.
디스플레이;
터치 감응형 표면;
하나 이상의 카메라들; 및
제33항 내지 제49항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.As a computer system,
display;
Touch-sensitive surface;
One or more cameras; And
A computer system comprising means for performing the method of any of claims 33-49.
제33항 내지 제49항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display, a touch-sensitive surface, and one or more cameras, comprising:
An information processing apparatus comprising means for performing the method of any of claims 33-49.
디스플레이 및 터치 감응형 표면을 갖는 디바이스에서:
제1 아이템을 포함하는 제1 사용자 인터페이스를 디스플레이하라는 요청을 수신하는 단계;
상기 제1 사용자 인터페이스를 디스플레이하라는 상기 요청에 응답하여, 상기 제1 아이템의 표현과 함께 상기 제1 사용자 인터페이스를 디스플레이하는 단계 - 상기 제1 사용자 인터페이스를 디스플레이하는 단계는,
상기 제1 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 상기 제1 아이템이 제1 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시와 함께 상기 제1 아이템의 표현을 디스플레이하는 단계; 및
상기 제1 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 상기 시각적 표시 없이 상기 제1 아이템의 표현을 디스플레이하는 단계를 포함함 -;
상기 제1 아이템의 표현을 디스플레이한 후, 제2 아이템을 포함하는 제2 사용자 인터페이스를 디스플레이하라는 요청을 수신하는 단계; 및
상기 제2 사용자 인터페이스를 디스플레이하라는 상기 요청에 응답하여, 상기 제2 아이템의 표현과 함께 상기 제2 사용자 인터페이스를 디스플레이하는 단계 - 상기 제2 사용자 인터페이스를 디스플레이하는 단계는,
상기 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 상기 제2 아이템이 제2 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 상기 시각적 표시와 함께 상기 제2 아이템의 표현을 디스플레이하는 단계; 및
상기 제2 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 상기 시각적 표시 없이 상기 제2 아이템의 표현을 디스플레이하는 단계를 포함함 - 를 포함하는, 방법.As a method,
On devices with displays and touch-sensitive surfaces:
Receiving a request to display a first user interface including a first item;
In response to the request to display the first user interface, displaying the first user interface together with the expression of the first item-displaying the first user interface,
In accordance with a determination that the first item corresponds to each virtual 3D object, displaying a representation of the first item with a visual indication indicating that the first item corresponds to each of the first virtual 3D objects ; And
In accordance with the determination that the first item does not correspond to each virtual 3D object, including the step of displaying a representation of the first item without the visual indication;
Receiving a request to display a second user interface including a second item after displaying a representation of the first item; And
In response to the request to display the second user interface, displaying the second user interface together with the expression of the second item-displaying the second user interface,
According to a determination that the second item corresponds to each virtual 3D object, displaying a representation of the second item together with the visual indication indicating that the second item corresponds to each second virtual 3D object step; And
And, according to a determination that the second item does not correspond to each virtual three-dimensional object, displaying a representation of the second item without the visual indication.
상기 디바이스는 하나 이상의 디바이스 배향 센서들을 포함하고;
상기 제1 아이템이 제1 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 상기 시각적 표시와 함께 상기 제1 아이템의 표현을 디스플레이하는 단계는,
제1 디바이스 배향으로부터 제2 디바이스 배향으로의 변경을 야기하는 상기 디바이스의 이동을 검출하는 것에 응답하여, 상기 제1 디바이스 배향으로부터 상기 제2 디바이스 배향으로의 변경에 대응하는 상기 제1 아이템의 이동을 디스플레이하는 단계를 포함하는, 방법.The method of claim 59,
The device comprises one or more device orientation sensors;
Displaying the representation of the first item together with the visual indication indicating that the first item corresponds to each first virtual three-dimensional object,
In response to detecting a movement of the device resulting in a change from a first device orientation to a second device orientation, a movement of the first item corresponding to a change from the first device orientation to the second device orientation is performed. Displaying.
상기 제1 아이템의 표현이 상기 제1 사용자 인터페이스에 디스플레이되는 동안 상기 제1 사용자 인터페이스를 스크롤하는 제1 접촉에 의한 제1 입력을 검출하는 것에 응답하여:
상기 제1 사용자 인터페이스의 스크롤에 따라 상기 디스플레이 상에서 상기 제1 아이템의 표현을 병진시키는 단계; 및
상기 제1 사용자 인터페이스가 스크롤되는 방향에 따라 상기 제1 사용자 인터페이스에 의해 한정되는 평면에 대해 상기 제1 아이템의 표현을 회전시키는 단계를 포함하는, 방법.61. The method of claim 59 or 60, wherein displaying the representation of the first item with the visual indication indicating that the first item corresponds to each first virtual three-dimensional object comprises:
In response to detecting a first input by a first contact scrolling the first user interface while the representation of the first item is displayed in the first user interface:
Translating the representation of the first item on the display according to the scrolling of the first user interface; And
Rotating the representation of the first item with respect to a plane defined by the first user interface according to a direction in which the first user interface is scrolled.
상기 제1 사용자 인터페이스는 제1 애플리케이션에 대응하고;
상기 제2 사용자 인터페이스는 상기 제1 애플리케이션과 구별되는 제2 애플리케이션에 대응하고;
상기 시각적 표시와 함께 디스플레이되는 상기 제1 아이템의 표현 및 상기 시각적 표시와 함께 디스플레이되는 상기 제2 아이템의 표현은 미리정의된 세트의 시각적 특성들 및/또는 거동 특성들을 공유하는, 방법.The method according to any one of claims 59 to 63,
The first user interface corresponds to a first application;
The second user interface corresponds to a second application that is distinct from the first application;
Wherein the representation of the first item displayed with the visual indication and the representation of the second item displayed with the visual indication share a predefined set of visual properties and/or behavioral properties.
상기 디바이스는 하나 이상의 카메라들을 포함하고;
상기 방법은,
상기 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 상기 시각적 표시와 함께 상기 제2 아이템의 표현을 디스플레이하는 동안, 상기 제2 아이템의 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 제2 접촉에 의한 제2 입력을 검출하는 단계;
상기 제2 접촉에 의한 상기 제2 입력을 검출하는 것에 응답하여 그리고 상기 제2 접촉에 의한 상기 제2 입력이 제1 기준들을 충족한다는 결정에 따라:
상기 제2 사용자 인터페이스의 적어도 일부분의 디스플레이를 상기 하나 이상의 카메라들의 시야의 표현으로 대체하는 것을 포함하여, 제3 사용자 인터페이스 영역을 상기 디스플레이 상에 디스플레이하는 단계; 및
상기 제2 사용자 인터페이스를 디스플레이하는 것으로부터 상기 제3 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 상기 제2 가상 3차원 객체를 연속적으로 디스플레이하는 단계를 포함하는, 방법.The method according to any one of claims 59 to 70,
The device comprises one or more cameras;
The above method,
While displaying the representation of the second item with the visual indication indicating that the second item corresponds to each virtual three-dimensional object, a second item at a location on the touch-sensitive surface corresponding to the representation of the second item Detecting a second input by two contacts;
In response to detecting the second input by the second contact and according to a determination that the second input by the second contact meets first criteria:
Displaying a third user interface area on the display, including replacing a display of at least a portion of the second user interface with a representation of the field of view of the one or more cameras; And
And continuously displaying the second virtual three-dimensional object while switching from displaying the second user interface to displaying the third user interface area.
상기 디바이스는 하나 이상의 카메라들을 포함하고;
상기 방법은,
상기 제2 아이템이 상기 제2 가상 3차원 객체에 대응한다는 것을 나타내는 상기 시각적 표시와 함께 상기 제2 아이템을 디스플레이하는 동안, 상기 제2 아이템의 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 제3 접촉에 의한 제3 입력을 검출하는 단계;
상기 제3 접촉에 의한 상기 제3 입력을 검출하는 것에 응답하여 그리고 상기 제3 접촉에 의한 상기 제3 입력이 제1 기준들을 충족한다는 결정에 따라, 상기 제2 사용자 인터페이스와 상이한 제4 사용자 인터페이스 내에 상기 제2 가상 3차원 객체를 디스플레이하는 단계;
상기 제4 사용자 인터페이스 내에 상기 각각의 가상 3차원 객체를 디스플레이하는 동안, 제4 입력을 검출하는 단계; 및
상기 제4 입력을 검출하는 것에 응답하여:
상기 제4 입력이 상기 제4 사용자 인터페이스에서 상기 제2 가상 3차원 객체를 조작하라는 요청에 대응한다는 결정에 따라, 상기 제4 입력에 기초하여 상기 제4 사용자 인터페이스 내의 상기 제2 가상 3차원 객체의 디스플레이 속성을 변경하고;
상기 제4 입력이 증강 현실 환경에 상기 제2 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라, 상기 하나 이상의 카메라들의 시야의 표현과 함께 상기 제2 가상 3차원 객체를 디스플레이하는 단계를 포함하는, 방법.The method according to any one of claims 59 to 70,
The device comprises one or more cameras;
The above method,
While displaying the second item with the visual indication that the second item corresponds to the second virtual three-dimensional object, a third at a position on the touch-sensitive surface corresponding to the representation of the second item Detecting a third input by contact;
In response to detecting the third input by the third contact and according to a determination that the third input by the third contact meets first criteria, within a fourth user interface different from the second user interface Displaying the second virtual 3D object;
Detecting a fourth input while displaying each of the virtual three-dimensional objects in the fourth user interface; And
In response to detecting the fourth input:
According to a determination that the fourth input corresponds to a request to manipulate the second virtual 3D object in the fourth user interface, the second virtual 3D object in the fourth user interface is Change display properties;
In accordance with a determination that the fourth input corresponds to a request to display the second virtual object in an augmented reality environment, displaying the second virtual 3D object together with a representation of the field of view of the one or more cameras, Way.
디스플레이;
터치 감응형 표면;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은,
제1 아이템을 포함하는 제1 사용자 인터페이스를 디스플레이하라는 요청을 수신하기 위한;
상기 제1 사용자 인터페이스를 디스플레이하라는 상기 요청에 응답하여, 상기 제1 아이템의 표현과 함께 상기 제1 사용자 인터페이스를 디스플레이하기 위한 것으로서,
상기 제1 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 상기 제1 아이템이 제1 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시와 함께 상기 제1 아이템의 표현을 디스플레이하고;
상기 제1 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 상기 시각적 표시 없이 상기 제1 아이템의 표현을 디스플레이하기 위한;
상기 제1 아이템의 표현을 디스플레이한 후, 제2 아이템을 포함하는 제2 사용자 인터페이스를 디스플레이하라는 요청을 수신하기 위한; 그리고
상기 제2 사용자 인터페이스를 디스플레이하라는 상기 요청에 응답하여, 상기 제2 아이템의 표현과 함께 상기 제2 사용자 인터페이스를 디스플레이하기 위한 것으로서,
상기 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 상기 제2 아이템이 제2 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 상기 시각적 표시와 함께 상기 제2 아이템의 표현을 디스플레이하고;
상기 제2 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 상기 시각적 표시 없이 상기 제2 아이템의 표현을 디스플레이하기 위한 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
display;
Touch-sensitive surface;
One or more processors; And
And a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs,
For receiving a request to display a first user interface including a first item;
In response to the request to display the first user interface, for displaying the first user interface together with the expression of the first item,
According to a determination that the first item corresponds to each virtual three-dimensional object, displaying a representation of the first item with a visual indication indicating that the first item corresponds to each of the first virtual three-dimensional objects;
According to a determination that the first item does not correspond to each virtual three-dimensional object, displaying a representation of the first item without the visual indication;
After displaying the representation of the first item, receiving a request to display a second user interface including a second item; And
In response to the request to display the second user interface, for displaying the second user interface together with the expression of the second item,
According to the determination that the second item corresponds to each virtual three-dimensional object, displaying a representation of the second item together with the visual indication indicating that the second item corresponds to each second virtual three-dimensional object, and ;
A computer system comprising instructions for displaying a representation of the second item without the visual indication, upon determining that the second item does not correspond to each virtual three-dimensional object.
제1 아이템을 포함하는 제1 사용자 인터페이스를 디스플레이하라는 요청을 수신하게 하는;
상기 제1 사용자 인터페이스를 디스플레이하라는 상기 요청에 응답하여, 상기 제1 아이템의 표현과 함께 상기 제1 사용자 인터페이스를 디스플레이하게 하는 것으로서,
상기 제1 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 상기 제1 아이템이 제1 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시와 함께 상기 제1 아이템의 표현을 디스플레이하게 하고;
상기 제1 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 상기 시각적 표시 없이 상기 제1 아이템의 표현을 디스플레이하게 하는;
상기 제1 아이템의 표현을 디스플레이한 후, 제2 아이템을 포함하는 제2 사용자 인터페이스를 디스플레이하라는 요청을 수신하게 하는; 그리고
상기 제2 사용자 인터페이스를 디스플레이하라는 상기 요청에 응답하여, 상기 제2 아이템의 표현과 함께 상기 제2 사용자 인터페이스를 디스플레이하게 하는 것으로서,
상기 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 상기 제2 아이템이 제2 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 상기 시각적 표시와 함께 상기 제2 아이템의 표현을 디스플레이하게 하고;
상기 제2 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 상기 시각적 표시 없이 상기 제2 아이템의 표현을 디스플레이하게 하는 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.A computer-readable storage medium storing one or more programs, wherein the one or more programs, when executed by a computer system having a display and a touch-sensitive surface, cause the computer system to:
Receive a request to display a first user interface including a first item;
In response to the request to display the first user interface, causing the first user interface to be displayed together with the expression of the first item,
According to a determination that the first item corresponds to each virtual 3D object, display a representation of the first item together with a visual indication indicating that the first item corresponds to each of the first virtual 3D objects, and ;
In accordance with a determination that the first item does not correspond to each virtual 3D object, causing to display the representation of the first item without the visual indication;
Receiving a request to display a second user interface including a second item after displaying the representation of the first item; And
In response to the request to display the second user interface, causing the second user interface to be displayed together with the expression of the second item,
According to a determination that the second item corresponds to each virtual 3D object, display a representation of the second item together with the visual indication indicating that the second item corresponds to each second virtual 3D object and;
A computer-readable storage medium comprising instructions for causing, upon determining that the second item does not correspond to each virtual three-dimensional object, to display a representation of the second item without the visual indication.
디스플레이;
터치 감응형 표면;
제1 아이템을 포함하는 제1 사용자 인터페이스를 디스플레이하라는 요청을 수신하기 위한 수단;
상기 제1 사용자 인터페이스를 디스플레이하라는 상기 요청에 응답하여 인에이블되는, 상기 제1 아이템의 표현과 함께 상기 제1 사용자 인터페이스를 디스플레이하기 위한 수단으로서,
상기 제1 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라 인에이블되는, 상기 제1 아이템이 제1 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시와 함께 상기 제1 아이템의 표현을 디스플레이하기 위한 수단; 및
상기 제1 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라 인에이블되는, 상기 시각적 표시 없이 상기 제1 아이템의 표현을 디스플레이하기 위한 수단;
상기 제1 아이템의 표현을 디스플레이한 후 인에이블되는, 제2 아이템을 포함하는 제2 사용자 인터페이스를 디스플레이하라는 요청을 수신하기 위한 수단; 및
상기 제2 사용자 인터페이스를 디스플레이하라는 상기 요청에 응답하여 인에이블되는, 상기 제2 아이템의 표현과 함께 상기 제2 사용자 인터페이스를 디스플레이하기 위한 수단 - 상기 제2 아이템의 표현과 함께 상기 제2 사용자 인터페이스를 디스플레이하기 위한 수단은,
상기 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라 인에이블되는, 상기 제2 아이템이 제2 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 상기 시각적 표시와 함께 상기 제2 아이템의 표현을 디스플레이하기 위한 수단; 및
상기 제2 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라 인에이블되는, 상기 시각적 표시 없이 상기 제2 아이템의 표현을 디스플레이하기 위한 수단을 포함함 - 을 포함하는, 컴퓨터 시스템.As a computer system,
display;
Touch-sensitive surface;
Means for receiving a request to display a first user interface including a first item;
Means for displaying the first user interface with a representation of the first item, enabled in response to the request to display the first user interface,
The expression of the first item is displayed along with a visual indication that the first item corresponds to each first virtual 3D object, which is enabled according to a determination that the first item corresponds to each virtual 3D object Means for displaying; And
Means for displaying a representation of the first item without the visual indication, enabled in response to a determination that the first item does not correspond to each virtual three-dimensional object;
Means for receiving a request to display a second user interface including a second item, which is enabled after displaying a representation of the first item; And
Means for displaying the second user interface with a representation of the second item, enabled in response to the request to display the second user interface,-displaying the second user interface with a representation of the second item Means for displaying,
Expression of the second item with the visual indication indicating that the second item corresponds to each of the second virtual 3D objects, enabled according to a determination that the second item corresponds to each virtual 3D object Means for displaying; And
And means for displaying a representation of the second item without the visual indication, enabled in accordance with a determination that the second item does not correspond to each virtual three-dimensional object.
제1 아이템을 포함하는 제1 사용자 인터페이스를 디스플레이하라는 요청을 수신하기 위한 수단;
상기 제1 사용자 인터페이스를 디스플레이하라는 상기 요청에 응답하여 인에이블되는, 상기 제1 아이템의 표현과 함께 상기 제1 사용자 인터페이스를 디스플레이하기 위한 수단으로서,
상기 제1 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라 인에이블되는, 상기 제1 아이템이 제1 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시와 함께 상기 제1 아이템의 표현을 디스플레이하기 위한 수단; 및
상기 제1 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라 인에이블되는, 상기 시각적 표시 없이 상기 제1 아이템의 표현을 디스플레이하기 위한 수단;
상기 제1 아이템의 표현을 디스플레이한 후 인에이블되는, 제2 아이템을 포함하는 제2 사용자 인터페이스를 디스플레이하라는 요청을 수신하기 위한 수단; 및
상기 제2 사용자 인터페이스를 디스플레이하라는 상기 요청에 응답하여 인에이블되는, 상기 제2 아이템의 표현과 함께 상기 제2 사용자 인터페이스를 디스플레이하기 위한 수단 - 상기 제2 아이템의 표현과 함께 상기 제2 사용자 인터페이스를 디스플레이하기 위한 수단은,
상기 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라 인에이블되는, 상기 제2 아이템이 제2 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 상기 시각적 표시와 함께 상기 제2 아이템의 표현을 디스플레이하기 위한 수단; 및
상기 제2 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라 인에이블되는, 상기 시각적 표시 없이 상기 제2 아이템의 표현을 디스플레이하기 위한 수단을 포함함 - 을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display and a touch-sensitive surface, comprising:
Means for receiving a request to display a first user interface including a first item;
Means for displaying the first user interface with a representation of the first item, enabled in response to the request to display the first user interface,
The expression of the first item is displayed along with a visual indication that the first item corresponds to each first virtual 3D object, which is enabled according to a determination that the first item corresponds to each virtual 3D object Means for displaying; And
Means for displaying a representation of the first item without the visual indication, enabled in response to a determination that the first item does not correspond to each virtual three-dimensional object;
Means for receiving a request to display a second user interface including a second item, which is enabled after displaying a representation of the first item; And
Means for displaying the second user interface with a representation of the second item, enabled in response to the request to display the second user interface,-displaying the second user interface with a representation of the second item Means for displaying,
Expression of the second item with the visual indication indicating that the second item corresponds to each of the second virtual 3D objects, enabled according to a determination that the second item corresponds to each virtual 3D object Means for displaying; And
And means for displaying a representation of the second item without the visual indication, enabled in response to a determination that the second item does not correspond to each virtual three-dimensional object.
디스플레이;
터치 감응형 표면;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은 제59항 내지 제72항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
display;
Touch-sensitive surface;
One or more processors; And
A computer system comprising a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the method of any one of claims 59-72.
디스플레이;
터치 감응형 표면; 및
제59항 내지 제72항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.As a computer system,
display;
Touch-sensitive surface; And
A computer system comprising means for performing the method of any of claims 59-72.
제59항 내지 제72항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display and a touch-sensitive surface, comprising:
An information processing apparatus comprising means for performing the method of any one of claims 59-72.
디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 및 하나 이상의 카메라들을 갖는 디바이스에서:
상기 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청을 수신하는 단계; 및
상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체를 디스플레이하라는 상기 요청에 응답하여, 상기 디스플레이 생성 컴포넌트를 통해, 상기 제1 사용자 인터페이스 영역에 포함되는 상기 하나 이상의 카메라들의 시야의 적어도 일부분 위에 상기 가상 객체의 표현을 디스플레이하는 단계 - 상기 하나 이상의 카메라들의 시야는 상기 하나 이상의 카메라들이 위치되는 물리적 환경의 뷰(view)이고, 상기 가상 객체의 표현을 디스플레이하는 단계는,
객체 배치 기준들이 충족되지 않는다는 결정에 따라 - 상기 객체 배치 기준들은 상기 객체 배치 기준들이 충족되기 위해 상기 가상 객체에 대한 배치 위치가 상기 하나 이상의 카메라들의 시야 내에서 식별될 것을 요구함 -, 제1 세트의 시각적 속성들로 그리고 상기 물리적 환경의 어느 부분이 상기 하나 이상의 카메라들의 시야 내에 디스플레이되는지와 독립적인 제1 배향으로 상기 가상 객체의 표현을 디스플레이하는 단계; 및
상기 객체 배치 기준들이 충족된다는 결정에 따라, 상기 제1 세트의 시각적 속성들과 구별되는 제2 세트의 시각적 속성들로 그리고 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 물리적 환경 내의 평면에 대응하는 제2 배향으로 상기 가상 객체의 표현을 디스플레이하는 단계를 포함함 - 를 포함하는, 방법.As a method,
In a device with a display generating component, one or more input devices, and one or more cameras:
Receiving a request to display a virtual object within a first user interface area that includes at least a portion of the field of view of the one or more cameras; And
In response to the request to display the virtual object in the first user interface area, through the display generating component, the representation of the virtual object on at least a portion of the field of view of the one or more cameras included in the first user interface area Displaying a field of view of the one or more cameras is a view of a physical environment in which the one or more cameras are located, and displaying a representation of the virtual object comprises
Upon determination that object placement criteria are not met-the object placement criteria require that the placement location for the virtual object be identified within the field of view of the one or more cameras in order for the object placement criteria to be satisfied -, a first set of Displaying a representation of the virtual object with visual properties and in a first orientation independent of which portion of the physical environment is displayed within the field of view of the one or more cameras; And
According to a determination that the object placement criteria are satisfied, a second set of visual attributes distinct from the first set of visual attributes and a first corresponding to a plane in the physical environment detected within the field of view of the one or more cameras. And displaying the representation of the virtual object in two orientations.
상기 가상 객체의 표현이 상기 제1 세트의 시각적 속성들 및 상기 제1 배향으로 디스플레이되는 동안 상기 객체 배치 기준들이 충족되는 것을 검출하는 단계를 포함하는, 방법.The method of claim 82,
And detecting that the object placement criteria are met while the representation of the virtual object is displayed in the first set of visual properties and in the first orientation.
상기 객체 배치 기준들이 충족되는 것을 검출하는 것에 응답하여, 상기 디스플레이 생성 컴포넌트를 통해, 상기 제1 배향으로부터 상기 제2 배향으로 이동하고 상기 제1 세트의 시각적 속성들을 갖는 것으로부터 상기 제2 세트의 시각적 속성들을 갖는 것으로 변하는 상기 가상 객체의 표현을 보여주는 애니메이션화된 전이를 디스플레이하는 단계를 포함하는, 방법.The method of claim 83,
In response to detecting that the object placement criteria are met, the second set of visual attributes from moving from the first orientation to the second orientation and having the first set of visual attributes, via the display generating component. Displaying an animated transition showing a representation of the virtual object that changes to have properties.
상기 하나 이상의 카메라들의 시야 내에서 평면이 식별되었다는 것을 검출하는 단계;
적어도 임계 시간 동안 상기 디바이스와 상기 물리적 환경 사이에서 임계량 미만의 이동을 검출하는 단계; 및
상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체를 디스플레이하라는 상기 요청을 수신한 이후로 적어도 미리결정된 시간이 경과하였다는 것을 검출하는 단계 중 하나 이상을 포함하는, 방법.The method of claim 83 or 84, wherein detecting that the object placement criteria are met,
Detecting that a plane has been identified within the field of view of the one or more cameras;
Detecting less than a threshold amount of movement between the device and the physical environment for at least a threshold time; And
And detecting that at least a predetermined time has elapsed since receiving the request to display the virtual object within the first user interface area.
상기 하나 이상의 카메라들의 시야 내에서 캡처되는 상기 물리적 환경의 제1 부분 위에 상기 가상 객체의 표현이 상기 제1 세트의 시각적 속성들 및 상기 제1 배향으로 디스플레이되는 동안 상기 하나 이상의 카메라들의 제1 이동을 검출하는 단계; 및
상기 하나 이상의 카메라들의 제1 이동을 검출하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야 내에서 캡처되는 상기 물리적 환경의 제2 부분 위에 상기 제1 세트의 시각적 속성들 및 상기 제1 배향으로 상기 가상 객체의 표현을 디스플레이하는 단계 - 상기 물리적 환경의 제2 부분은 상기 물리적 환경의 제1 부분과 구별됨 - 를 포함하는, 방법.The method according to any one of claims 82 to 85,
The first movement of the one or more cameras while the representation of the virtual object over a first portion of the physical environment captured within the field of view of the one or more cameras is displayed in the first set of visual properties and the first orientation. Detecting; And
In response to detecting a first movement of the one or more cameras, the virtual object in the first orientation and the first set of visual properties over a second portion of the physical environment captured within the field of view of the one or more cameras. Displaying a representation of the physical environment, wherein the second portion of the physical environment is distinct from the first portion of the physical environment.
상기 하나 이상의 카메라들의 시야 내에서 캡처되는 상기 물리적 환경의 제3 부분 위에 상기 가상 객체의 표현이 상기 제2 세트의 시각적 속성들 및 상기 제2 배향으로 디스플레이되는 동안 상기 하나 이상의 카메라들의 제2 이동을 검출하는 단계; 및
상기 디바이스의 제2 이동을 검출하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야 내에서 캡처되는 바와 같은 상기 물리적 환경이 상기 디바이스의 제2 이동에 따라 이동하고, 상기 제2 배향이 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 물리적 환경 내의 상기 평면에 계속 대응하는 동안, 상기 하나 이상의 카메라들의 시야 내에서 캡처되는 상기 물리적 환경의 제3 부분 위에 상기 제2 세트의 시각적 속성들 및 상기 제2 배향으로 상기 가상 객체의 표현의 디스플레이를 유지하는 단계를 포함하는, 방법.The method according to any one of claims 82 to 86,
The second movement of the one or more cameras while the representation of the virtual object is displayed in the second orientation and the second set of visual properties over a third portion of the physical environment captured within the field of view of the one or more cameras. Detecting; And
In response to detecting the second movement of the device, the physical environment as captured within the field of view of the one or more cameras is moved according to the second movement of the device, and the second orientation of the one or more cameras The second set of visual properties and the second orientation over a third portion of the physical environment captured within the field of view of the one or more cameras, while continuing to correspond to the plane within the physical environment detected within the field of view. Maintaining a display of the representation of the virtual object.
상기 객체 배치 기준들이 충족된다는 결정에 따라, 상기 제2 세트의 시각적 속성들로 그리고 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 물리적 환경 내의 상기 평면에 대응하는 상기 제2 배향으로 상기 가상 객체의 표현을 디스플레이하는 것과 함께 촉각적 출력을 생성하는 단계를 포함하는, 방법.The method according to any one of claims 82 to 87,
Representation of the virtual object in the second orientation corresponding to the plane within the physical environment detected within the field of view of the one or more cameras and with the second set of visual properties, upon determination that the object placement criteria are met. And generating a tactile output in conjunction with displaying.
상기 제2 세트의 시각적 속성들로 그리고 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 물리적 환경 내의 상기 평면에 대응하는 상기 제2 배향으로 상기 가상 객체의 표현을 디스플레이하는 동안, 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 물리적 환경 내의 상기 평면의 적어도 위치 또는 배향에 관한 업데이트를 수신하는 단계; 및
상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 물리적 환경 내의 상기 평면의 적어도 위치 또는 배향에 관한 상기 업데이트를 수신하는 것에 응답하여, 상기 업데이트에 따라 상기 가상 객체의 표현의 적어도 위치 및/또는 배향을 조정하는 단계를 포함하는, 방법.The method of any one of claims 82-88,
The field of view of the one or more cameras while displaying the representation of the virtual object with the second set of visual properties and in the second orientation corresponding to the plane within the physical environment detected within the field of view of the one or more cameras Receiving an update relating to at least the position or orientation of the plane within the physical environment detected within; And
In response to receiving the update regarding at least the position or orientation of the plane within the physical environment detected within the field of view of the one or more cameras, adjust at least the position and/or orientation of the representation of the virtual object according to the update. A method comprising the step of:
상기 제1 세트의 시각적 속성들은 제1 크기 및 제1 반투명 레벨을 포함하고;
상기 제2 세트의 시각적 속성들은 상기 제1 크기와 구별되는 제2 크기 및 상기 제1 반투명 레벨보다 낮은 제2 반투명 레벨을 포함하는, 방법.The method according to any one of claims 82 to 89,
The first set of visual attributes include a first size and a first translucency level;
Wherein the second set of visual attributes comprises a second size distinct from the first size and a second translucency level lower than the first translucency level.
상기 가상 객체가 상기 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하지 않는 각각의 사용자 인터페이스 내에 디스플레이되는 동안 상기 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하는 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체를 디스플레이하라는 요청이 수신되고,
상기 제1 배향은 상기 요청이 수신되는 시간에 상기 가상 객체가 상기 각각의 사용자 인터페이스 내에 디스플레이되는 동안 상기 가상 객체의 배향에 대응하는, 방법.The method according to any one of claims 82 to 90,
Displaying the virtual object in the first user interface area including at least a portion of the field of view of the one or more cameras while the virtual object is displayed in each user interface that does not include at least a portion of the field of view of the one or more cameras. The request is received,
Wherein the first orientation corresponds to an orientation of the virtual object while the virtual object is displayed within the respective user interface at the time the request is received.
상기 제2 세트의 시각적 속성들로 그리고 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 물리적 환경 내의 상기 평면에 대응하는 상기 제2 배향으로 상기 가상 객체를 상기 제1 사용자 인터페이스 영역 내에 디스플레이하는 동안, 상기 가상 객체의 시뮬레이션된 물리적 크기를 상기 하나 이상의 카메라들의 시야 내에서 캡처되는 상기 물리적 환경에 대해 제1 시뮬레이션된 물리적 크기로부터 제2 시뮬레이션된 물리적 크기로 변경하라는 요청을 검출하는 단계; 및
상기 가상 객체의 시뮬레이션된 물리적 크기를 변경하라는 상기 요청을 검출하는 것에 응답하여:
상기 가상 객체의 시뮬레이션된 물리적 크기의 상기 제1 시뮬레이션된 물리적 크기로부터 상기 제2 시뮬레이션된 물리적 크기로의 점진적인 변경에 따라 상기 제1 사용자 인터페이스 영역 내의 상기 가상 객체의 표현의 디스플레이된 크기를 점진적으로 변경하고;
상기 제1 사용자 인터페이스 영역 내의 상기 가상 객체의 표현의 디스플레이된 크기의 점진적인 변경 동안, 상기 가상 객체의 시뮬레이션된 물리적 크기가 미리정의된 시뮬레이션된 물리적 크기에 도달하였다는 결정에 따라, 상기 가상 객체의 시뮬레이션된 물리적 크기가 상기 미리정의된 시뮬레이션된 물리적 크기에 도달하였다는 것을 나타내기 위해 촉각적 출력을 생성하는 단계를 포함하는, 방법.The method according to any one of claims 82 to 92,
While displaying the virtual object in the first user interface area in the second orientation corresponding to the plane in the physical environment detected within the field of view of the one or more cameras and with the second set of visual properties, the Detecting a request to change the simulated physical size of a virtual object from a first simulated physical size to a second simulated physical size for the physical environment captured within the field of view of the one or more cameras; And
In response to detecting the request to change the simulated physical size of the virtual object:
The displayed size of the representation of the virtual object in the first user interface area is gradually changed according to the gradual change of the simulated physical size of the virtual object from the first simulated physical size to the second simulated physical size. and;
During the gradual change of the displayed size of the representation of the virtual object in the first user interface area, according to the determination that the simulated physical size of the virtual object has reached a predefined simulated physical size, the simulation of the virtual object And generating a tactile output to indicate that the predefined physical size has reached the predefined simulated physical size.
상기 미리정의된 시뮬레이션된 물리적 크기와 구별되는 상기 가상 객체의 제2 시뮬레이션된 물리적 크기로 상기 가상 객체를 제1 사용자 인터페이스 영역 내에 디스플레이하는 동안, 상기 가상 객체를 상기 미리정의된 시뮬레이션된 물리적 크기로 복귀시키라는 요청을 검출하는 단계; 및
상기 가상 객체를 상기 미리정의된 시뮬레이션된 물리적 크기로 복귀시키라는 요청을 검출하는 것에 응답하여, 상기 가상 객체의 시뮬레이션된 물리적 크기의 상기 미리정의된 시뮬레이션된 물리적 크기로의 변경에 따라 상기 제1 사용자 인터페이스 영역 내의 상기 가상 객체의 표현의 디스플레이된 크기를 변경하는 단계를 포함하는, 방법.The method of claim 93,
While displaying the virtual object in a first user interface area with a second simulated physical size of the virtual object distinct from the predefined simulated physical size, returning the virtual object to the predefined simulated physical size Detecting a request to do so; And
In response to detecting a request to return the virtual object to the predefined simulated physical size, the first user according to a change of the simulated physical size of the virtual object to the predefined simulated physical size Changing the displayed size of the representation of the virtual object within an interface area.
상기 물리적 환경에 대한 상기 하나 이상의 카메라들의 각각의 위치 및 배향에 따라 상기 제2 세트의 시각적 속성들을 갖는 상기 가상 객체의 표현의 제2 배향을 설정하기 위한 평면을 선택하는 단계를 포함하고, 상기 평면을 선택하는 단계는,
상기 가상 객체의 표현이 상기 하나 이상의 카메라들의 시야 내에서 캡처되는 상기 물리적 환경의 제1 부분 위에 디스플레이되었을 때 상기 객체 배치 기준들이 충족되었다는 결정에 따라, 상기 제2 세트의 시각적 속성들을 갖는 상기 가상 객체의 표현의 제2 배향을 설정하기 위한 상기 평면으로서 상기 하나 이상의 카메라들의 시야 내의 상기 물리적 환경에서 검출되는 다수의 평면들 중 제1 평면을 선택하는 단계; 및
상기 가상 객체의 표현이 상기 하나 이상의 카메라들의 시야 내에서 캡처되는 상기 물리적 환경의 제2 부분 위에 디스플레이되었을 때 상기 객체 배치 기준들이 충족되었다는 결정에 따라, 상기 제2 세트의 시각적 속성들을 갖는 상기 가상 객체의 표현의 제2 배향을 설정하기 위한 상기 평면으로서 상기 하나 이상의 카메라들의 시야 내의 상기 물리적 환경에서 검출되는 상기 다수의 평면들 중 제2 평면을 선택하는 단계를 포함하고, 상기 물리적 환경의 제1 부분은 상기 물리적 환경의 제2 부분과 구별되고, 상기 제1 평면은 상기 제2 평면과 구별되는, 방법.The method according to any one of claims 82 to 94,
Selecting a plane for setting a second orientation of the representation of the virtual object having the second set of visual properties according to the position and orientation of each of the one or more cameras with respect to the physical environment, the plane The steps to select are,
The virtual object having the second set of visual properties, in response to a determination that the object placement criteria have been met when the representation of the virtual object is displayed over a first portion of the physical environment captured within the field of view of the one or more cameras Selecting a first plane from among a plurality of planes detected in the physical environment within the field of view of the one or more cameras as the plane for setting a second orientation of the representation of And
The virtual object having the second set of visual properties, in accordance with a determination that the object placement criteria have been met when the representation of the virtual object is displayed over a second portion of the physical environment captured within the field of view of the one or more cameras Selecting a second plane of the plurality of planes detected in the physical environment within the field of view of the one or more cameras as the plane for setting a second orientation of the representation of the first part of the physical environment Is distinct from the second portion of the physical environment, and the first plane is distinct from the second plane.
상기 제2 세트의 시각적 속성들 및 상기 제2 배향으로 상기 가상 객체를 상기 제1 사용자 인터페이스 영역 내에 디스플레이하는 것과 동시에 스냅샷 어포던스(snapshot affordance)를 디스플레이하는 단계; 및
상기 스냅샷 어포던스의 활성화에 응답하여, 상기 하나 이상의 카메라들의 시야 내의 상기 물리적 환경 내의 일정 배치 위치에 있는 상기 가상 객체의 표현의 현재 뷰를 포함하는 스냅샷 이미지를, 상기 제2 세트의 시각적 속성들 및 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 물리적 환경 내의 상기 평면에 대응하는 상기 제2 배향으로, 캡처하는 단계를 포함하는, 방법.The method according to any one of claims 82 to 95,
Displaying a snapshot affordance at the same time as displaying the virtual object in the first user interface area with the second set of visual attributes and the second orientation; And
In response to activation of the snapshot affordance, a snapshot image comprising a current view of a representation of the virtual object at a certain placement location within the physical environment within the field of view of the one or more cameras is provided with the second set of visual properties. And capturing in the second orientation corresponding to the plane within the physical environment detected within the field of view of the one or more cameras.
상기 제1 사용자 인터페이스 영역 내에 상기 제2 세트의 시각적 속성들을 갖는 상기 가상 객체의 표현과 함께 하나 이상의 제어부 어포던스들을 디스플레이하는 단계;
상기 제2 세트의 시각적 속성들을 갖는 상기 가상 객체의 표현과 함께 상기 하나 이상의 제어부 어포던스들을 디스플레이하는 동안, 제어부 페이딩(control-fading) 기준들이 충족되는 것을 검출하는 단계; 및
상기 제어부 페이딩 기준들이 충족되는 것을 검출하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야를 포함하는 상기 제1 사용자 인터페이스 영역 내에 상기 제2 세트의 시각적 속성들을 갖는 상기 가상 객체의 표현을 계속 디스플레이하는 동안 상기 하나 이상의 제어부 어포던스들을 디스플레이하는 것을 중지하는 단계를 포함하는, 방법.The method according to any one of claims 82 to 96,
Displaying one or more control affordances together with the representation of the virtual object having the second set of visual properties in the first user interface area;
Detecting that control-fading criteria are satisfied while displaying the one or more control unit affordances together with the representation of the virtual object having the second set of visual properties; And
In response to detecting that the controller fading criteria are satisfied, while continuing to display a representation of the virtual object having the second set of visual properties within the first user interface area including the field of view of the one or more cameras, the And stopping displaying one or more control affordances.
상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체를 디스플레이하라는 상기 요청에 응답하여: 상기 제1 사용자 인터페이스 영역에 포함되는 상기 하나 이상의 카메라들의 시야의 적어도 일부분 위에 상기 가상 객체의 표현을 디스플레이하기 전에, 캘리브레이션(calibration) 기준들이 충족되지 않는다는 결정에 따라, 사용자가 상기 디바이스를 상기 물리적 환경에 대해 이동시키기 위한 프롬프트를 디스플레이하는 단계를 포함하는, 방법.The method according to any one of claims 82 to 97,
In response to the request to display the virtual object in the first user interface area: Before displaying the representation of the virtual object over at least a portion of the field of view of the one or more cameras included in the first user interface area, calibration ( calibration) upon determining that criteria are not met, displaying a prompt by a user to move the device to the physical environment.
디스플레이 생성 컴포넌트;
하나 이상의 입력 디바이스들;
하나 이상의 카메라들;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은,
상기 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청을 수신하기 위한; 그리고
상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체를 디스플레이하라는 상기 요청에 응답하여, 상기 디스플레이 생성 컴포넌트를 통해, 상기 제1 사용자 인터페이스 영역에 포함되는 상기 하나 이상의 카메라들의 시야의 적어도 일부분 위에 상기 가상 객체의 표현을 디스플레이하기 위한 - 상기 하나 이상의 카메라들의 시야는 상기 하나 이상의 카메라들이 위치되는 물리적 환경의 뷰이고, 상기 가상 객체의 표현을 디스플레이하는 것은,
객체 배치 기준들이 충족되지 않는다는 결정에 따라 - 상기 객체 배치 기준들은 상기 객체 배치 기준들이 충족되기 위해 상기 가상 객체에 대한 배치 위치가 상기 하나 이상의 카메라들의 시야 내에서 식별될 것을 요구함 -, 제1 세트의 시각적 속성들로 그리고 상기 물리적 환경의 어느 부분이 상기 하나 이상의 카메라들의 시야 내에 디스플레이되는지와 독립적인 제1 배향으로 상기 가상 객체의 표현을 디스플레이하는 것; 및
상기 객체 배치 기준들이 충족된다는 결정에 따라, 상기 제1 세트의 시각적 속성들과 구별되는 제2 세트의 시각적 속성들로 그리고 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 물리적 환경 내의 평면에 대응하는 제2 배향으로 상기 가상 객체의 표현을 디스플레이하는 것을 포함함 - 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices;
One or more cameras;
One or more processors; And
And a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs,
Receiving a request to display a virtual object within a first user interface area that includes at least a portion of the field of view of the one or more cameras; And
In response to the request to display the virtual object in the first user interface area, through the display generating component, the representation of the virtual object on at least a portion of the field of view of the one or more cameras included in the first user interface area For displaying-the field of view of the one or more cameras is a view of the physical environment in which the one or more cameras are located, and displaying a representation of the virtual object,
Upon determination that object placement criteria are not met-the object placement criteria require that the placement location for the virtual object be identified within the field of view of the one or more cameras in order for the object placement criteria to be satisfied -, a first set of Displaying a representation of the virtual object with visual properties and in a first orientation independent of which portion of the physical environment is displayed within the field of view of the one or more cameras; And
According to a determination that the object placement criteria are satisfied, a second set of visual attributes distinct from the first set of visual attributes and a first corresponding to a plane in the physical environment detected within the field of view of the one or more cameras. Comprising displaying the representation of the virtual object in two orientations-comprising instructions.
상기 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청을 수신하게 하는; 그리고
상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체를 디스플레이하라는 상기 요청에 응답하여, 상기 디스플레이 생성 컴포넌트를 통해, 상기 제1 사용자 인터페이스 영역에 포함되는 상기 하나 이상의 카메라들의 시야의 적어도 일부분 위에 상기 가상 객체의 표현을 디스플레이하게 하는 - 상기 하나 이상의 카메라들의 시야는 상기 하나 이상의 카메라들이 위치되는 물리적 환경의 뷰이고, 상기 가상 객체의 표현을 디스플레이하는 것은,
객체 배치 기준들이 충족되지 않는다는 결정에 따라 - 상기 객체 배치 기준들은 상기 객체 배치 기준들이 충족되기 위해 상기 가상 객체에 대한 배치 위치가 상기 하나 이상의 카메라들의 시야 내에서 식별될 것을 요구함 -, 제1 세트의 시각적 속성들로 그리고 상기 물리적 환경의 어느 부분이 상기 하나 이상의 카메라들의 시야 내에 디스플레이되는지와 독립적인 제1 배향으로 상기 가상 객체의 표현을 디스플레이하는 것; 및
상기 객체 배치 기준들이 충족된다는 결정에 따라, 상기 제1 세트의 시각적 속성들과 구별되는 제2 세트의 시각적 속성들로 그리고 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 물리적 환경 내의 평면에 대응하는 제2 배향으로 상기 가상 객체의 표현을 디스플레이하는 것을 포함함 - 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.A computer readable storage medium storing one or more programs, wherein the one or more programs, when executed by a computer system having a display generating component, one or more input devices, and one or more cameras, cause the computer system to:
Receiving a request to display a virtual object within a first user interface area that includes at least a portion of the field of view of the one or more cameras; And
In response to the request to display the virtual object in the first user interface area, through the display generating component, the representation of the virtual object on at least a portion of the field of view of the one or more cameras included in the first user interface area -The field of view of the one or more cameras is a view of the physical environment in which the one or more cameras are located, and displaying the representation of the virtual object,
Upon determination that object placement criteria are not met-the object placement criteria require that the placement location for the virtual object be identified within the field of view of the one or more cameras in order for the object placement criteria to be satisfied -, a first set of Displaying a representation of the virtual object with visual properties and in a first orientation independent of which portion of the physical environment is displayed within the field of view of the one or more cameras; And
According to a determination that the object placement criteria are satisfied, a second set of visual attributes distinct from the first set of visual attributes and a first corresponding to a plane in the physical environment detected within the field of view of the one or more cameras. And displaying the representation of the virtual object in two orientations-containing instructions.
디스플레이 생성 컴포넌트;
하나 이상의 입력 디바이스들;
하나 이상의 카메라들;
상기 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청을 수신하기 위한 수단; 및
상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체를 디스플레이하라는 상기 요청에 응답하여, 상기 디스플레이 생성 컴포넌트를 통해, 상기 제1 사용자 인터페이스 영역에 포함되는 상기 하나 이상의 카메라들의 시야의 적어도 일부분 위에 상기 가상 객체의 표현을 디스플레이하기 위해 인에이블되는 수단 - 상기 하나 이상의 카메라들의 시야는 상기 하나 이상의 카메라들이 위치되는 물리적 환경의 뷰이고, 상기 가상 객체의 표현을 디스플레이하기 위해 인에이블되는 수단은,
객체 배치 기준들이 충족되지 않는다는 결정에 따라 - 상기 객체 배치 기준들은 상기 객체 배치 기준들이 충족되기 위해 상기 가상 객체에 대한 배치 위치가 상기 하나 이상의 카메라들의 시야 내에서 식별될 것을 요구함 -, 제1 세트의 시각적 속성들로 그리고 상기 물리적 환경의 어느 부분이 상기 하나 이상의 카메라들의 시야 내에 디스플레이되는지와 독립적인 제1 배향으로 상기 가상 객체의 표현을 디스플레이하기 위해 인에이블되는 수단; 및
상기 객체 배치 기준들이 충족된다는 결정에 따라, 상기 제1 세트의 시각적 속성들과 구별되는 제2 세트의 시각적 속성들로 그리고 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 물리적 환경 내의 평면에 대응하는 제2 배향으로 상기 가상 객체의 표현을 디스플레이하기 위해 인에이블되는 수단을 포함함 - 을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices;
One or more cameras;
Means for receiving a request to display a virtual object within a first user interface area that includes at least a portion of the field of view of the one or more cameras; And
In response to the request to display the virtual object in the first user interface area, through the display generating component, the representation of the virtual object on at least a portion of the field of view of the one or more cameras included in the first user interface area Means enabled to display a view of the one or more cameras is a view of the physical environment in which the one or more cameras are located, and the means enabled to display a representation of the virtual object,
Upon determination that object placement criteria are not met-the object placement criteria require that the placement location for the virtual object be identified within the field of view of the one or more cameras in order for the object placement criteria to be satisfied -, a first set of Means enabled to display a representation of the virtual object with visual properties and in a first orientation independent of which portion of the physical environment is displayed within the field of view of the one or more cameras; And
According to a determination that the object placement criteria are satisfied, a second set of visual attributes distinct from the first set of visual attributes and a first corresponding to a plane in the physical environment detected within the field of view of the one or more cameras. A computer system comprising means enabled to display a representation of the virtual object in two orientations.
상기 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청을 수신하기 위한 수단; 및
상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체를 디스플레이하라는 상기 요청에 응답하여, 상기 디스플레이 생성 컴포넌트를 통해, 상기 제1 사용자 인터페이스 영역에 포함되는 상기 하나 이상의 카메라들의 시야의 적어도 일부분 위에 상기 가상 객체의 표현을 디스플레이하기 위해 인에이블되는 수단 - 상기 하나 이상의 카메라들의 시야는 상기 하나 이상의 카메라들이 위치되는 물리적 환경의 뷰이고, 상기 가상 객체의 표현을 디스플레이하기 위해 인에이블되는 수단은,
객체 배치 기준들이 충족되지 않는다는 결정에 따라 - 상기 객체 배치 기준들은 상기 객체 배치 기준들이 충족되기 위해 상기 가상 객체에 대한 배치 위치가 상기 하나 이상의 카메라들의 시야 내에서 식별될 것을 요구함 -, 제1 세트의 시각적 속성들로 그리고 상기 물리적 환경의 어느 부분이 상기 하나 이상의 카메라들의 시야 내에 디스플레이되는지와 독립적인 제1 배향으로 상기 가상 객체의 표현을 디스플레이하기 위해 인에이블되는 수단; 및
상기 객체 배치 기준들이 충족된다는 결정에 따라, 상기 제1 세트의 시각적 속성들과 구별되는 제2 세트의 시각적 속성들로 그리고 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 물리적 환경 내의 평면에 대응하는 제2 배향으로 상기 가상 객체의 표현을 디스플레이하기 위해 인에이블되는 수단을 포함함 - 을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display generating component, one or more input devices, and one or more cameras, comprising:
Means for receiving a request to display a virtual object within a first user interface area that includes at least a portion of the field of view of the one or more cameras; And
In response to the request to display the virtual object in the first user interface area, through the display generating component, the representation of the virtual object on at least a portion of the field of view of the one or more cameras included in the first user interface area Means enabled to display a view of the one or more cameras is a view of the physical environment in which the one or more cameras are located, and the means enabled to display a representation of the virtual object,
Upon determination that object placement criteria are not met-the object placement criteria require that the placement location for the virtual object be identified within the field of view of the one or more cameras in order for the object placement criteria to be satisfied -, a first set of Means enabled to display a representation of the virtual object with visual properties and in a first orientation independent of which portion of the physical environment is displayed within the field of view of the one or more cameras; And
According to a determination that the object placement criteria are satisfied, a second set of visual attributes distinct from the first set of visual attributes and a first corresponding to a plane in the physical environment detected within the field of view of the one or more cameras. And means enabled to display a representation of the virtual object in two orientations.
디스플레이 생성 컴포넌트;
하나 이상의 입력 디바이스들;
하나 이상의 카메라들;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은 제82항 내지 제98항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices;
One or more cameras;
One or more processors; And
A computer system comprising a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the method of any one of claims 82-98.
디스플레이 생성 컴포넌트;
하나 이상의 입력 디바이스들;
하나 이상의 카메라들; 및
제82항 내지 제98항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices;
One or more cameras; And
A computer system comprising means for performing the method of any of claims 82-98.
제82항 내지 제98항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display generating component, one or more input devices, and one or more cameras, comprising:
An information processing apparatus comprising means for performing the method of any one of claims 82-98.
디바이스 - 상기 디바이스는 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 하나 이상의 카메라들, 및 상기 하나 이상의 카메라들을 포함하는 상기 디바이스의 자세의 변경들을 검출하기 위한 하나 이상의 자세 센서들을 가짐 - 에서:
상기 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하는 단계;
상기 물리적 환경의 증강 현실 뷰를 디스플레이하라는 상기 요청을 수신하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야의 표현을 디스플레이하고, 캘리브레이션 기준들이 상기 물리적 환경의 증강 현실 뷰에 대해 충족되지 않는다는 결정에 따라, 상기 물리적 환경에서의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 단계 - 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 단계는,
상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 상기 하나 이상의 자세 센서들을 통해, 상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 단계; 및
상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 것에 응답하여, 상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 상기 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 단계를 포함함 -;
상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 상기 디스플레이 상에서 이동하는 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 상기 캘리브레이션 기준들이 충족되는 것을 검출하는 단계; 및
상기 캘리브레이션 기준들이 충족되는 것을 검출하는 것에 응답하여, 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지하는 단계를 포함하는, 방법.As a method,
A device, wherein the device has a display generating component, one or more input devices, one or more cameras, and one or more attitude sensors for detecting changes in the attitude of the device comprising the one or more cameras.
Receiving a request to display an augmented reality view of a physical environment within a first user interface area that includes a representation of the field of view of the one or more cameras;
In response to receiving the request to display an augmented reality view of the physical environment, displaying a representation of the field of view of the one or more cameras, and upon determining that calibration criteria are not met for the augmented reality view of the physical environment, Displaying a calibration user interface object that is dynamically animated according to movement of one or more cameras in the physical environment-displaying the calibration user interface object,
Detecting, through the one or more attitude sensors, a change in the attitude of one or more cameras in the physical environment while displaying the calibration user interface object; And
In response to detecting a change in posture of one or more cameras in the physical environment, adjusting at least one display parameter of the calibration user interface object according to the detected change in posture of one or more cameras in the physical environment Includes -;
Detecting that the calibration criteria are satisfied while displaying the calibration user interface object moving on the display according to the detected change of the posture of one or more cameras in the physical environment; And
And in response to detecting that the calibration criteria are met, stopping displaying the calibration user interface object.
상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지한 후에 상기 하나 이상의 카메라들의 시야의 표현을 포함하는 상기 제1 사용자 인터페이스 영역 내에 상기 가상 3차원 객체의 표현을 디스플레이하는 단계를 포함하는, 방법.The method of claim 109,
And displaying a representation of the virtual three-dimensional object within the first user interface area comprising a representation of the field of view of the one or more cameras after stopping displaying the calibration user interface object.
상기 제1 사용자 인터페이스 영역 내에 상기 가상 3차원 객체의 표현을 상기 캘리브레이션 사용자 인터페이스 객체와 동시에 디스플레이하는 단계를 포함하고, 상기 가상 3차원 객체의 표현은 상기 물리적 환경에서 상기 하나 이상의 카메라들의 이동 동안 상기 제1 사용자 인터페이스 영역 내의 고정된 위치에 유지되는, 방법.The method of claim 109 or 110,
And simultaneously displaying a representation of the virtual 3D object in the first user interface area with the calibration user interface object, wherein the representation of the virtual 3D object is performed during movement of the one or more cameras in the physical environment. 1 method, maintained in a fixed position within the user interface area.
상기 물리적 환경의 증강 현실 뷰를 디스플레이하라는 상기 요청을 수신하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야의 표현을 디스플레이하고, 상기 캘리브레이션 기준들이 상기 물리적 환경의 증강 현실 뷰에 대해 충족된다는 결정에 따라, 상기 캘리브레이션 사용자 인터페이스 객체의 디스플레이를 보류하는 단계를 포함하는, 방법.The method according to any one of claims 108 to 112,
In response to receiving the request to display an augmented reality view of the physical environment, displaying a representation of the field of view of the one or more cameras, and upon determining that the calibration criteria are met for an augmented reality view of the physical environment, And suspending display of the calibration user interface object.
상기 증강 현실 뷰의 캘리브레이션을 개선하기 위해 사용자에 의해 취해질 수 있는 액션(action)들에 관한 정보를 제공하는 상기 캘리브레이션 사용자 인터페이스 객체와 동시에, 상기 제1 사용자 인터페이스 영역 내에 텍스트 객체를 디스플레이하는 단계를 포함하는, 방법.The method according to any one of claims 108 to 113,
Displaying a text object in the first user interface area at the same time as the calibration user interface object providing information on actions that can be taken by the user to improve the calibration of the augmented reality view. How to.
상기 캘리브레이션 기준들이 충족되는 것을 검출하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야 내에서 캡처되는 상기 물리적 환경에서 검출되는 평면의 시각적 표시를 디스플레이하는 단계를 포함하는, 방법.The method according to any one of claims 108 to 114,
In response to detecting that the calibration criteria are met, displaying a visual indication of a plane detected in the physical environment that is captured within the field of view of the one or more cameras.
상기 물리적 환경의 증강 현실 뷰를 디스플레이하라는 상기 요청을 수신하는 것에 응답하여:
상기 캘리브레이션 기준들이 충족되지 않는다는 결정에 따라 그리고 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 전에, 평면의 표현에 대해 이동하는 상기 디바이스의 표현을 포함하는 애니메이션화된 프롬프트 객체를 디스플레이하는 단계를 포함하는, 방법.The method according to any one of claims 108 to 115,
In response to receiving the request to display an augmented reality view of the physical environment:
In accordance with a determination that the calibration criteria are not met and prior to displaying the calibration user interface object, displaying an animated prompt object comprising a representation of the device moving relative to a representation of a plane.
상기 물리적 환경에서의 하나 이상의 카메라들의 이동의 제1 크기에 따라 상기 캘리브레이션 사용자 인터페이스 객체를 제1 양만큼 이동시키는 단계; 및
상기 물리적 환경에서의 하나 이상의 카메라들의 이동의 제2 크기에 따라 상기 캘리브레이션 사용자 인터페이스 객체를 제2 양만큼 이동시키는 단계를 포함하고, 상기 제1 양은 상기 제2 양과는 구별되고, 상기 이동의 제1 크기는 상기 이동의 제2 크기와 구별되는, 방법.The method of any one of claims 108-116, wherein adjusting at least one display parameter of the calibration user interface object according to the detected change in the posture of one or more cameras in the physical environment comprises:
Moving the calibration user interface object by a first amount according to a first magnitude of movement of one or more cameras in the physical environment; And
And moving the calibration user interface object by a second amount according to a second amount of movement of one or more cameras in the physical environment, wherein the first amount is distinguished from the second amount, and the first amount of the movement The size is distinct from the second size of the movement.
상기 하나 이상의 카메라들의 자세의 검출된 변경이 제1 유형의 이동에 대응한다는 결정에 따라, 상기 제1 유형의 이동에 기초하여 상기 캘리브레이션 사용자 인터페이스 객체를 이동시키는 단계; 및
상기 하나 이상의 카메라들의 자세의 검출된 변경이 상기 제2 유형의 이동에 대응한다는 결정에 따라, 상기 제2 유형의 이동에 기초하여 상기 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것을 보류하는 단계를 포함하는, 방법.The method of any one of claims 108 to 117, wherein adjusting at least one display parameter of the calibration user interface object according to the detected change in the posture of one or more cameras in the physical environment,
Moving the calibration user interface object based on the first type of movement according to a determination that the detected change in the attitude of the one or more cameras corresponds to a first type of movement; And
In accordance with a determination that the detected change in the posture of the one or more cameras corresponds to the second type of movement, withholding from moving the calibration user interface object based on the second type of movement. .
상기 제1 사용자 인터페이스 영역 위에서 상기 캘리브레이션 사용자 인터페이스 객체의 특성 디스플레이 위치를 변경하지 않고서 상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 상기 캘리브레이션 사용자 인터페이스 객체를 이동시키는 단계를 포함하는, 방법.The method of any one of claims 108 to 118, wherein adjusting at least one display parameter of the calibration user interface object according to the detected change in the posture of one or more cameras in the physical environment,
Moving the calibration user interface object according to the detected change of the posture of one or more cameras in the physical environment without changing the characteristic display position of the calibration user interface object on the first user interface area .
상기 물리적 환경에서의 하나 이상의 카메라들의 이동 방향에 수직인 축을 중심으로 상기 캘리브레이션 사용자 인터페이스 객체를 회전시키는 단계를 포함하는, 방법.The method of any one of claims 108 to 119, wherein adjusting at least one display parameter of the calibration user interface object according to the detected change in the posture of one or more cameras in the physical environment,
Rotating the calibration user interface object about an axis perpendicular to a direction of movement of one or more cameras in the physical environment.
상기 하나 이상의 카메라들의 시야 내에서 검출되는 변경의 속도에 따라 결정되는 속도로 상기 캘리브레이션 사용자 인터페이스 객체를 이동시키는 단계를 포함하는, 방법.The method of any one of claims 108 to 120, wherein adjusting at least one display parameter of the calibration user interface object according to the detected change in the posture of one or more cameras in the physical environment,
Moving the calibration user interface object at a rate determined in accordance with the rate of change detected within the field of view of the one or more cameras.
상기 하나 이상의 카메라들의 시야 내에서 검출되는 변경의 방향에 따라 결정되는 방향으로 상기 캘리브레이션 사용자 인터페이스 객체를 이동시키는 단계를 포함하는, 방법.The method of any one of claims 108 to 121, wherein adjusting at least one display parameter of the calibration user interface object according to the detected change in the posture of one or more cameras in the physical environment,
Moving the calibration user interface object in a direction determined according to a direction of change detected within the field of view of the one or more cameras.
디스플레이 생성 컴포넌트;
하나 이상의 입력 디바이스들;
하나 이상의 카메라들;
하나 이상의 자세 센서들;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은,
상기 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하기 위한;
상기 물리적 환경의 증강 현실 뷰를 디스플레이하라는 상기 요청을 수신하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야의 표현을 디스플레이하고, 캘리브레이션 기준들이 상기 물리적 환경의 증강 현실 뷰에 대해 충족되지 않는다는 결정에 따라, 상기 물리적 환경에서의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 위한 - 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것은,
상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 상기 하나 이상의 자세 센서들을 통해, 상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 것; 및
상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 것에 응답하여, 상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 상기 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것을 포함함 -;
상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 상기 디스플레이 상에서 이동하는 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 상기 캘리브레이션 기준들이 충족되는 것을 검출하기 위한; 그리고
상기 캘리브레이션 기준들이 충족되는 것을 검출하는 것에 응답하여, 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지하기 위한 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices;
One or more cameras;
One or more attitude sensors;
One or more processors; And
And a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs,
Receiving a request to display an augmented reality view of a physical environment within a first user interface area comprising a representation of the field of view of the one or more cameras;
In response to receiving the request to display an augmented reality view of the physical environment, displaying a representation of the field of view of the one or more cameras, and upon determining that calibration criteria are not met for the augmented reality view of the physical environment, For displaying a calibration user interface object that is dynamically animated according to the movement of one or more cameras in the physical environment-displaying the calibration user interface object,
While displaying the calibration user interface object, detecting, through the one or more attitude sensors, a change in the attitude of one or more cameras in the physical environment; And
In response to detecting a change in the attitude of one or more cameras in the physical environment, adjusting at least one display parameter of the calibration user interface object according to the detected change in the attitude of one or more cameras in the physical environment. Contains -;
Detecting that the calibration criteria are satisfied while displaying the calibration user interface object moving on the display according to the detected change in the posture of one or more cameras in the physical environment; And
A computer system comprising instructions for stopping displaying the calibration user interface object in response to detecting that the calibration criteria are met.
상기 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하게 하는;
상기 물리적 환경의 증강 현실 뷰를 디스플레이하라는 상기 요청을 수신하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야의 표현을 디스플레이하고, 캘리브레이션 기준들이 상기 물리적 환경의 증강 현실 뷰에 대해 충족되지 않는다는 결정에 따라, 상기 물리적 환경에서의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하게 하는 - 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것은,
상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 상기 하나 이상의 자세 센서들을 통해, 상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 것; 및
상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 것에 응답하여, 상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 상기 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것을 포함함 -;
상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 상기 디스플레이 상에서 이동하는 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 상기 캘리브레이션 기준들이 충족되는 것을 검출하게 하는; 그리고
상기 캘리브레이션 기준들이 충족되는 것을 검출하는 것에 응답하여, 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지하게 하는 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.A computer readable storage medium storing one or more programs, wherein the one or more programs, when executed by a computer system having a display generating component, one or more input devices, one or more cameras, and one or more pose sensors, the computer The system,
Receiving a request to display an augmented reality view of a physical environment within a first user interface area that includes a representation of the field of view of the one or more cameras;
In response to receiving the request to display an augmented reality view of the physical environment, displaying a representation of the field of view of the one or more cameras, and upon determining that calibration criteria are not met for the augmented reality view of the physical environment, Displaying a calibration user interface object that is dynamically animated according to movement of one or more cameras in the physical environment-Displaying the calibration user interface object comprises:
While displaying the calibration user interface object, detecting, through the one or more attitude sensors, a change in the attitude of one or more cameras in the physical environment; And
In response to detecting a change in the attitude of one or more cameras in the physical environment, adjusting at least one display parameter of the calibration user interface object according to the detected change in the attitude of one or more cameras in the physical environment. Contains -;
Detecting that the calibration criteria are satisfied while displaying the calibration user interface object moving on the display according to the detected change in the posture of one or more cameras in the physical environment; And
A computer-readable storage medium comprising instructions for causing, in response to detecting that the calibration criteria are met, to stop displaying the calibration user interface object.
디스플레이 생성 컴포넌트;
하나 이상의 입력 디바이스들;
하나 이상의 카메라들;
하나 이상의 자세 센서들;
상기 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하기 위한 수단;
상기 물리적 환경의 증강 현실 뷰를 디스플레이하라는 상기 요청을 수신하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야의 표현을 디스플레이하고, 캘리브레이션 기준들이 상기 물리적 환경의 증강 현실 뷰에 대해 충족되지 않는다는 결정에 따라, 상기 물리적 환경에서의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 위해 인에이블되는 수단 - 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것은,
상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 상기 하나 이상의 자세 센서들을 통해, 상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 것; 및
상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 것에 응답하여, 상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 상기 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것을 포함함 -;
상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 상기 디스플레이 상에서 이동하는 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 상기 캘리브레이션 기준들이 충족되는 것을 검출하기 위해 인에이블되는 수단; 및
상기 캘리브레이션 기준들이 충족되는 것을 검출하는 것에 응답하여, 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지하기 위해 인에이블되는 수단을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices;
One or more cameras;
One or more attitude sensors;
Means for receiving a request to display an augmented reality view of a physical environment within a first user interface area comprising a representation of the field of view of the one or more cameras;
In response to receiving the request to display an augmented reality view of the physical environment, displaying a representation of the field of view of the one or more cameras, and upon determining that calibration criteria are not met for the augmented reality view of the physical environment, Means enabled to display a calibration user interface object that is dynamically animated according to the movement of one or more cameras in the physical environment-displaying the calibration user interface object,
While displaying the calibration user interface object, detecting, through the one or more attitude sensors, a change in the attitude of one or more cameras in the physical environment; And
In response to detecting a change in the attitude of one or more cameras in the physical environment, adjusting at least one display parameter of the calibration user interface object according to the detected change in the attitude of one or more cameras in the physical environment. Contains -;
Means enabled to detect that the calibration criteria are met while displaying the calibration user interface object moving on the display in response to a detected change in the attitude of one or more cameras in the physical environment; And
And in response to detecting that the calibration criteria are met, means enabled to stop displaying the calibration user interface object.
상기 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하기 위한 수단;
상기 물리적 환경의 증강 현실 뷰를 디스플레이하라는 상기 요청을 수신하는 것에 응답하여, 상기 하나 이상의 카메라들의 시야의 표현을 디스플레이하고, 캘리브레이션 기준들이 상기 물리적 환경의 증강 현실 뷰에 대해 충족되지 않는다는 결정에 따라, 상기 물리적 환경에서의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 위해 인에이블되는 수단 - 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것은,
상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 상기 하나 이상의 자세 센서들을 통해, 상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 것; 및
상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 것에 응답하여, 상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 상기 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것을 포함함 -;
상기 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 상기 디스플레이 상에서 이동하는 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 상기 캘리브레이션 기준들이 충족되는 것을 검출하기 위해 인에이블되는 수단; 및
상기 캘리브레이션 기준들이 충족되는 것을 검출하는 것에 응답하여, 상기 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지하기 위해 인에이블되는 수단을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display generating component, one or more input devices, one or more cameras, and one or more attitude sensors, comprising:
Means for receiving a request to display an augmented reality view of a physical environment within a first user interface area comprising a representation of the field of view of the one or more cameras;
In response to receiving the request to display an augmented reality view of the physical environment, displaying a representation of the field of view of the one or more cameras, and upon determining that calibration criteria are not met for the augmented reality view of the physical environment, Means enabled to display a calibration user interface object that is dynamically animated according to the movement of one or more cameras in the physical environment-displaying the calibration user interface object,
While displaying the calibration user interface object, detecting, through the one or more attitude sensors, a change in the attitude of one or more cameras in the physical environment; And
In response to detecting a change in the attitude of one or more cameras in the physical environment, adjusting at least one display parameter of the calibration user interface object according to the detected change in the attitude of one or more cameras in the physical environment. Contains -;
Means enabled to detect that the calibration criteria are met while displaying the calibration user interface object moving on the display in response to a detected change in the attitude of one or more cameras in the physical environment; And
And, in response to detecting that the calibration criteria are met, means enabled to stop displaying the calibration user interface object.
디스플레이 생성 컴포넌트;
하나 이상의 입력 디바이스들;
하나 이상의 카메라들;
하나 이상의 자세 센서들;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은 제108항 내지 제122항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices;
One or more cameras;
One or more attitude sensors;
One or more processors; And
A computer system comprising a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the method of any one of claims 108-122.
디스플레이 생성 컴포넌트;
하나 이상의 입력 디바이스들;
하나 이상의 카메라들;
하나 이상의 자세 센서들; 및
제108항 내지 제122항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices;
One or more cameras;
One or more attitude sensors; And
A computer system comprising means for performing the method of any of claims 108-122.
제108항 내지 제122항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display generating component, one or more input devices, one or more cameras, and one or more attitude sensors, comprising:
An information processing apparatus comprising means for performing the method of any of claims 108-122.
디스플레이 생성 컴포넌트, 및 터치 감응형 표면을 포함하는 하나 이상의 입력 디바이스들을 갖는 디바이스에서:
상기 디스플레이 생성 컴포넌트에 의해, 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 제1 시점(perspective)의 표현을 디스플레이하는 단계;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 3차원 객체의 제1 시점의 표현을 디스플레이하는 동안, 상기 가상 3차원 객체의 제1 시점으로부터 가시적이지 않은 상기 가상 3차원 객체의 일부분을 디스플레이하기 위해 상기 가상 3차원 객체를 디스플레이에 대해 회전시키라는 요청에 대응하는 제1 입력을 검출하는 단계; 및
상기 제1 입력을 검출하는 것에 응답하여:
상기 제1 입력이 제1 축을 중심으로 상기 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 상기 제1 입력의 크기에 기초하여 결정되는 그리고 상기 제1 축에 대한 임계량 초과의 회전에 의해 상기 가상 3차원 객체의 회전을 제한하는 이동에 대한 한계에 의해 제약되는 양만큼 상기 가상 3차원 객체를 상기 제1 축에 대해 회전시키고;
상기 제1 입력이 상기 제1 축과 상이한 제2 축을 중심으로 상기 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 상기 제1 입력의 크기에 기초하여 결정되는 양만큼 상기 가상 3차원 객체를 상기 제2 축에 대해 회전시키는 단계 - 각각의 임계치 초과의 크기를 갖는 입력의 경우, 상기 디바이스는 상기 임계량 초과의 회전만큼 상기 제2 축에 대해 상기 가상 3차원 객체를 회전시킴 - 를 포함하는, 방법.As a method,
In a device having a display generating component and one or more input devices comprising a touch-sensitive surface:
Displaying, by the display generating component, a representation of a first perspective of a virtual 3D object in a first user interface area;
To display a portion of the virtual 3D object that is not visible from the first viewpoint of the virtual 3D object while displaying the representation of the first viewpoint of the virtual 3D object in the first user interface area on the display Detecting a first input corresponding to a request to rotate the virtual 3D object with respect to a display; And
In response to detecting the first input:
According to a determination that the first input corresponds to a request to rotate the three-dimensional object about a first axis, determined based on the size of the first input and by a rotation above a threshold amount about the first axis Rotating the virtual 3D object about the first axis by an amount constrained by a limit on movement that limits the rotation of the virtual 3D object;
According to a determination that the first input corresponds to a request to rotate the 3D object about a second axis different from the first axis, the virtual 3D object by an amount determined based on the size of the first input Rotating about the second axis, in case of an input having a magnitude greater than each threshold, the device rotating the virtual 3D object about the second axis by a rotation exceeding the threshold amount. , Way.
상기 제1 입력을 검출하는 것에 응답하여:
상기 제1 입력이 제1 방향으로 터치 감응형 표면을 가로지르는 접촉의 제1 이동을 포함한다는 그리고 상기 제1 방향으로의 상기 접촉의 제1 이동이 상기 제1 축에 대해 상기 가상 객체의 표현을 회전시키기 위한 제1 기준들을 충족한다는 결정에 따라 - 상기 제1 기준들은 상기 제1 기준들이 충족되기 위해 상기 제1 입력이 상기 제1 방향으로의 제1 임계량 초과의 이동을 포함한다는 요건을 포함함 -, 상기 제1 입력이 상기 제1 축을 중심으로 상기 3차원 객체를 회전시키라는 요청에 대응하는 것으로 결정하는 단계; 및
상기 제1 입력이 제2 방향으로 상기 터치 감응형 표면을 가로지르는 상기 접촉의 제2 이동을 포함한다는 그리고 상기 제2 방향으로의 접촉의 제2 이동이 상기 제2 축에 대해 상기 가상 객체의 표현을 회전시키기 위한 제2 기준들을 충족한다는 결정에 따라 - 상기 제2 기준들은 상기 제2 기준들이 충족되기 위해 상기 제1 입력이 상기 제2 방향으로의 제2 임계량 초과의 이동을 포함한다는 요건을 포함함 -, 상기 제1 입력이 상기 제2 축을 중심으로 상기 3차원 객체를 회전시키라는 요청에 대응하는 것으로 결정하는 단계 - 상기 제1 임계치는 상기 제2 임계치보다 큼 - 를 포함하는, 방법.The method of claim 132,
In response to detecting the first input:
That the first input comprises a first movement of a contact across a touch-sensitive surface in a first direction and that the first movement of the contact in the first direction represents a representation of the virtual object with respect to the first axis. Depending on the determination that the first criteria for rotation are met-the first criteria include a requirement that the first input comprises a movement in the first direction above a first threshold amount in order for the first criteria to be satisfied -, determining that the first input corresponds to a request to rotate the 3D object about the first axis; And
That the first input comprises a second movement of the contact across the touch-sensitive surface in a second direction and that the second movement of the contact in the second direction is a representation of the virtual object with respect to the second axis. Depending on the determination of meeting second criteria for rotating-the second criteria include a requirement that the first input comprises a movement in excess of a second threshold amount in the second direction in order for the second criteria to be satisfied. And, determining that the first input corresponds to a request to rotate the three-dimensional object about the second axis, the first threshold is greater than the second threshold.
상기 제1 축에 대한 상기 가상 3차원 객체의 회전은 상기 제1 입력의 제1 입력 파라미터의 특성 값과 상기 제1 축을 중심으로 하는 상기 가상 3차원 객체에 적용되는 회전량 사이의 제1 대응 정도(degree of correspondence)로 발생하고;
상기 제2 축에 대한 상기 가상 3차원 객체의 회전은 제2 입력 제스처의 제1 입력 파라미터의 특성 값과 상기 제2 축을 중심으로 하는 가상 3차원 객체에 적용되는 회전량 사이의 제2 대응 정도로 발생하고;
상기 제1 대응 정도는 상기 제2 대응 정도보다 상기 제1 입력 파라미터에 대한 상기 가상 3차원 객체의 더 작은 회전을 수반하는, 방법.The method of claim 132 or 133,
The rotation of the virtual 3D object with respect to the first axis is a first degree of correspondence between a characteristic value of the first input parameter of the first input and a rotation amount applied to the virtual 3D object centered on the first axis. occurs with a degree of correspondence;
Rotation of the virtual 3D object with respect to the second axis occurs as a second correspondence between the characteristic value of the first input parameter of the second input gesture and the amount of rotation applied to the virtual 3D object centered on the second axis. and;
Wherein the first degree of correspondence entails a smaller rotation of the virtual three-dimensional object with respect to the first input parameter than the second degree of correspondence.
상기 제1 입력의 종료를 검출하는 단계; 및
상기 제1 입력의 종료를 검출한 후, 상기 입력의 종료를 검출하기 전의 상기 제1 입력의 크기에 기초하여 상기 3차원 객체를 계속 회전시키는 단계 - 상기 3차원 객체를 계속 회전시키는 단계는,
상기 3차원 객체가 상기 제1 축에 대해 회전하고 있다는 결정에 따라, 상기 제1 축에 대한 상기 3차원 객체의 회전의 크기에 비례하는 제1 양만큼 상기 제1 축에 대한 상기 객체의 회전을 느리게 하는 단계; 및
상기 3차원 객체가 상기 제2 축에 대해 회전하고 있다는 결정에 따라, 상기 제2 축에 대한 상기 3차원 객체의 회전의 크기에 비례하는, 상기 제1 양과 상이한 제2 양만큼 상기 제2 축에 대한 상기 객체의 회전을 느리게 하는 단계를 포함함 - 를 포함하는, 방법.The method of any one of claims 132-134,
Detecting the end of the first input; And
After detecting the end of the first input, continuously rotating the 3D object based on the size of the first input before detecting the end of the input-continuously rotating the 3D object,
According to a determination that the 3D object is rotating about the first axis, the rotation of the object about the first axis is performed by a first amount proportional to the size of the rotation of the 3D object about the first axis. Slowing down; And
According to a determination that the three-dimensional object is rotating about the second axis, the second amount is proportional to the amount of rotation of the three-dimensional object with respect to the second axis, and a second amount different from the first amount is applied to the second axis. And slowing the rotation of the object with respect to.
상기 제1 입력의 종료를 검출하는 단계; 및
상기 제1 입력의 종료를 검출한 후:
상기 3차원 객체가 상기 제1 축에 대해 각각의 회전 임계치를 넘어서 회전되었다는 결정에 따라, 상기 제1 축에 대한 상기 3차원 객체의 회전의 적어도 일부분을 역전시키고;
상기 3차원 객체가 상기 제1 축에 대해 상기 각각의 회전 임계치를 넘어서 회전되지 않았다는 결정에 따라, 상기 제1 축에 대한 상기 3차원 객체의 회전을 역전시키는 것을 보류하는 단계를 포함하는, 방법.The method of any one of claims 132-135,
Detecting the end of the first input; And
After detecting the end of the first input:
Reversing at least a portion of the rotation of the three-dimensional object about the first axis according to a determination that the three-dimensional object has been rotated beyond a respective rotation threshold about the first axis;
In accordance with a determination that the three-dimensional object has not been rotated beyond the respective rotation threshold with respect to the first axis, withholding from reversing the rotation of the three-dimensional object with respect to the first axis.
상기 제1 입력이 상기 제1 축 및 상기 제2 축과 상이한 제3 축을 중심으로 상기 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 상기 제3 축에 대해 상기 가상 3차원 객체를 회전시키는 것을 보류하는, 방법.The method of any one of claims 132-134,
In accordance with a determination that the first input corresponds to a request to rotate the 3D object about a third axis different from the first axis and the second axis, rotating the virtual 3D object about the third axis How to withhold letting.
상기 제1 사용자 인터페이스 영역 내에 상기 가상 3차원 객체의 제1 시점의 표현을 디스플레이하는 동안 상기 가상 3차원 객체에 의해 드리워진 그림자의 표현을 디스플레이하는 단계; 및
상기 제1 축 및/또는 제2 축에 대한 상기 가상 3차원 객체의 회전에 따라 상기 그림자의 표현의 형상을 가변시키는 단계를 포함하는, 방법.The method of any one of claims 132-137,
Displaying a representation of a shadow cast by the virtual 3D object while displaying a representation of the first viewpoint of the virtual 3D object in the first user interface area; And
And varying the shape of the representation of the shadow according to the rotation of the virtual three-dimensional object about the first axis and/or the second axis.
상기 제1 사용자 인터페이스 영역 내에서 상기 가상 3차원 객체를 회전시키는 동안:
상기 가상 3차원 객체가 상기 가상 3차원 객체의 미리정의된 하부를 드러내는 제2 시점으로 디스플레이된다는 결정에 따라, 상기 가상 3차원 객체의 제2 시점의 표현으로 상기 그림자의 표현을 디스플레이하는 것을 보류하는 단계를 포함하는, 방법.The method of claim 138,
While rotating the virtual 3D object within the first user interface area:
In accordance with a determination that the virtual 3D object is displayed as a second viewpoint exposing a predefined lower portion of the virtual 3D object, suspending displaying the expression of the shadow as an expression of the second viewpoint of the virtual 3D object A method comprising the steps of.
상기 제1 사용자 인터페이스 영역 내에서 상기 가상 3차원 객체를 회전시킨 후, 상기 제1 사용자 인터페이스 영역 내에서 상기 가상 3차원 객체를 재설정하라는 요청에 대응하는 제2 입력을 검출하는 단계; 및
상기 제2 입력을 검출하는 것에 응답하여, 상기 제1 사용자 인터페이스 영역 내에서 상기 가상 3차원 객체의 미리정의된 원래 시점의 표현을 디스플레이하는 단계를 포함하는, 방법.The method of any one of claims 132-139,
Detecting a second input corresponding to a request to reset the virtual 3D object in the first user interface area after rotating the virtual 3D object in the first user interface area; And
In response to detecting the second input, displaying a representation of a predefined original viewpoint of the virtual three-dimensional object within the first user interface area.
상기 제1 사용자 인터페이스 영역 내에 상기 가상 3차원 객체를 디스플레이하는 동안, 상기 가상 3차원 객체를 크기 재설정하라는 요청에 대응하는 제3 입력을 검출하는 단계; 및
상기 제3 입력을 검출하는 것에 응답하여, 상기 입력의 크기에 따라 상기 제1 사용자 인터페이스 영역 내의 상기 가상 3차원 객체의 표현의 크기를 조정하는 단계를 포함하는, 방법.The method of any one of claims 132-140,
While displaying the virtual 3D object in the first user interface area, detecting a third input corresponding to a request to resize the virtual 3D object; And
In response to detecting the third input, adjusting a size of the representation of the virtual three-dimensional object in the first user interface area according to the size of the input.
상기 제1 사용자 인터페이스 영역 내의 상기 가상 3차원 객체의 표현의 크기를 조정하는 동안, 상기 가상 3차원 객체의 크기가 상기 가상 3차원 객체의 미리정의된 디폴트 디스플레이 크기에 도달했다는 것을 검출하는 단계; 및
상기 가상 3차원 객체의 크기가 상기 가상 3차원 객체의 미리정의된 디폴트 디스플레이 크기에 도달했다는 것을 검출하는 것에 응답하여, 상기 가상 3차원 객체가 상기 미리정의된 디폴트 디스플레이 크기로 디스플레이되는 것을 나타내기 위해 촉각적 출력을 생성하는 단계를 포함하는, 방법.The method of claim 141,
While adjusting the size of the representation of the virtual 3D object in the first user interface area, detecting that the size of the virtual 3D object has reached a predefined default display size of the virtual 3D object; And
In response to detecting that the size of the virtual three-dimensional object has reached a predefined default display size of the virtual three-dimensional object, to indicate that the virtual three-dimensional object is displayed with the predefined default display size. Generating a tactile output.
상기 제1 사용자 인터페이스 영역 내의 상기 가상 3차원 객체의 제3 시점의 표현을 디스플레이하는 동안, 하나 이상의 카메라들의 시야를 포함하는 제2 사용자 인터페이스 영역 내에 상기 가상 3차원 객체를 디스플레이하라는 요청에 대응하는 제4 입력을 검출하는 단계; 및
상기 제4 입력을 검출하는 것에 응답하여, 상기 디스플레이 생성 컴포넌트를 통해, 상기 제2 사용자 인터페이스 영역에 포함되는 상기 하나 이상의 카메라들의 시야의 적어도 일부분 위에 상기 가상 객체의 표현을 디스플레이하는 단계 - 상기 하나 이상의 카메라들의 시야는 상기 하나 이상의 카메라들이 위치되는 물리적 환경의 뷰이고, 상기 가상 객체의 표현을 디스플레이하는 단계는,
상기 가상 3차원 객체를 상기 제1 축을 중심으로 미리정의된 각도로 회전시키는 단계; 및
상기 제2 축에 대한 상기 가상 3차원 객체의 현재 각도를 유지하는 단계를 포함함 - 를 포함하는, 방법.The method of any one of claims 132-142, wherein the device comprises one or more cameras, and the method comprises:
While displaying the representation of the third viewpoint of the virtual 3D object in the first user interface area, a first corresponding to a request to display the virtual 3D object in a second user interface area including the field of view of one or more cameras 4 detecting an input; And
In response to detecting the fourth input, displaying, via the display generating component, a representation of the virtual object over at least a portion of the field of view of the one or more cameras included in the second user interface area-the one or more The field of view of the cameras is a view of a physical environment in which the one or more cameras are located, and displaying a representation of the virtual object comprises:
Rotating the virtual 3D object at a predefined angle around the first axis; And
And maintaining a current angle of the virtual three-dimensional object with respect to the second axis.
상기 제1 사용자 인터페이스 영역 내에 상기 가상 3차원 객체의 제4 시점의 표현을 디스플레이하는 동안, 상기 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스로 복귀하라는 요청에 대응하는 제5 입력을 검출하는 단계; 및
상기 제5 입력을 검출하는 것에 응답하여:
상기 가상 3차원 객체의 2차원 표현에 대응하는 상기 가상 3차원 객체의 시점의 표현을 보여주도록 상기 가상 3차원 객체를 회전시키고;
상기 가상 3차원 객체가 상기 가상 3차원 객체의 2차원 표현에 대응하는 상기 각각의 시점의 표현을 보여주도록 회전된 후에 상기 가상 3차원 객체의 2차원 표현을 디스플레이하는 단계를 포함하는, 방법.The method of any one of claims 132-143,
While displaying the representation of the fourth viewpoint of the virtual 3D object in the first user interface area, a fifth input corresponding to a request to return to the 2D user interface including the 2D representation of the virtual 3D object is provided. Detecting; And
In response to detecting the fifth input:
Rotating the virtual 3D object to show a representation of the viewpoint of the virtual 3D object corresponding to the 2D representation of the virtual 3D object;
And displaying a two-dimensional representation of the virtual three-dimensional object after the virtual three-dimensional object is rotated to show a representation of the respective viewpoint corresponding to the two-dimensional representation of the virtual three-dimensional object.
상기 가상 3차원 객체의 제1 시점의 표현을 디스플레이하기 전에, 각각의 시점으로부터의 상기 가상 3차원 객체의 뷰의 표현을 포함하는 상기 가상 3차원 객체의 표현을 포함하는 사용자 인터페이스를 디스플레이하는 단계;
상기 가상 3차원 객체의 표현을 디스플레이하는 동안, 상기 가상 3차원 객체를 디스플레이하라는 요청을 검출하는 단계; 및
상기 가상 3차원 객체를 디스플레이하라는 상기 요청을 검출하는 것에 응답하여, 상기 가상 3차원 객체의 표현의 디스플레이를 상기 가상 3차원 객체의 표현의 각각의 시점과 매칭하도록 회전된 상기 가상 3차원 객체로 대체하는 단계를 포함하는, 방법.The method of any one of claims 132-144,
Before displaying the representation of the first viewpoint of the virtual 3D object, displaying a user interface including a representation of the virtual 3D object including a representation of the view of the virtual 3D object from each viewpoint;
Detecting a request to display the virtual 3D object while displaying the representation of the virtual 3D object; And
In response to detecting the request to display the virtual 3D object, the display of the representation of the virtual 3D object is replaced with the virtual 3D object rotated to match each viewpoint of the representation of the virtual 3D object. A method comprising the step of:
상기 제1 사용자 인터페이스를 디스플레이하기 전에, 상기 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스를 디스플레이하는 단계;
상기 가상 3차원 객체의 2차원 표현을 포함하는 상기 2차원 사용자 인터페이스를 디스플레이하는 동안, 상기 가상 3차원 객체의 2차원 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 미리보기 기준들을 충족하는 터치 입력의 제1 부분을 검출하는 단계; 및
상기 미리보기 기준들을 충족하는 상기 터치 입력의 제1 부분을 검출하는 것에 응답하여, 상기 가상 3차원 객체의 2차원 표현보다 큰 상기 가상 3차원 객체의 미리보기를 디스플레이하는 단계를 포함하는, 방법.The method of any one of claims 132-145,
Before displaying the first user interface, displaying a 2D user interface including a 2D representation of the virtual 3D object;
While displaying the 2D user interface including the 2D representation of the virtual 3D object, a touch input that satisfies preview criteria at a location on the touch-sensitive surface corresponding to the 2D representation of the virtual 3D object Detecting a first portion of; And
In response to detecting the first portion of the touch input that satisfies the preview criteria, displaying a preview of the virtual three-dimensional object that is larger than a two-dimensional representation of the virtual three-dimensional object.
상기 가상 3차원 객체의 미리보기를 디스플레이하는 동안, 상기 터치 입력의 제2 부분을 검출하는 단계; 및
상기 터치 입력의 제2 부분을 검출하는 것에 응답하여:
상기 터치 입력의 제2 부분이 메뉴 디스플레이 기준들을 충족한다는 결정에 따라, 상기 가상 객체와 연관된 복수의 동작들에 대응하는 복수의 선택가능한 옵션들을 디스플레이하고;
상기 터치 입력의 제2 부분이 스테이징 기준들을 충족한다는 결정에 따라, 상기 가상 3차원 객체의 2차원 표현을 포함하는 상기 2차원 사용자 인터페이스의 디스플레이를 상기 가상 3차원 객체를 포함하는 상기 제1 사용자 인터페이스로 대체하는 단계를 포함하는, 방법.The method of claim 146,
Detecting a second portion of the touch input while displaying the preview of the virtual 3D object; And
In response to detecting the second portion of the touch input:
In accordance with a determination that the second portion of the touch input meets menu display criteria, displaying a plurality of selectable options corresponding to a plurality of operations associated with the virtual object;
The first user interface including the virtual 3D object to display the 2D user interface including the 2D representation of the virtual 3D object according to a determination that the second portion of the touch input satisfies the staging criteria Replacing with.
상기 제1 사용자 인터페이스를 디스플레이하기 전에, 상기 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스를 디스플레이하는 단계; 및
상기 제1 사용자 인터페이스 내에 상기 가상 3차원 객체를 디스플레이하라는 요청을 검출하는 것에 응답하여:
상기 가상 3차원 객체와 연관된 한 세트의 하나 이상의 제어부들을 디스플레이하지 않으면서 상기 제1 사용자 인터페이스 내에 상기 가상 3차원 객체를 디스플레이하고;
상기 제1 사용자 인터페이스 내에 상기 가상 3차원 객체를 디스플레이한 후, 상기 한 세트의 하나 이상의 제어부들을 디스플레이하는 단계를 포함하는, 방법.The method of any one of claims 132-147, wherein the first user interface includes a plurality of control units, and the method comprises:
Before displaying the first user interface, displaying a 2D user interface including a 2D representation of the virtual 3D object; And
In response to detecting a request to display the virtual three-dimensional object within the first user interface:
Displaying the virtual 3D object in the first user interface without displaying a set of one or more control units associated with the virtual 3D object;
And after displaying the virtual three-dimensional object in the first user interface, displaying the set of one or more control units.
디스플레이 생성 컴포넌트;
터치 감응형 표면을 포함하는 하나 이상의 입력 디바이스들;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은,
상기 디스플레이 생성 컴포넌트에 의해, 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 제1 시점의 표현을 디스플레이하기 위한;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 3차원 객체의 제1 시점의 표현을 디스플레이하는 동안, 상기 가상 3차원 객체의 제1 시점으로부터 가시적이지 않은 상기 가상 3차원 객체의 일부분을 디스플레이하기 위해 상기 가상 3차원 객체를 디스플레이에 대해 회전시키라는 요청에 대응하는 제1 입력을 검출하기 위한; 그리고
상기 제1 입력을 검출하는 것에 응답하여:
상기 제1 입력이 제1 축을 중심으로 상기 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 상기 제1 입력의 크기에 기초하여 결정되는 그리고 상기 제1 축에 대한 임계량 초과의 회전에 의해 상기 가상 3차원 객체의 회전을 제한하는 이동에 대한 한계에 의해 제약되는 양만큼 상기 가상 3차원 객체를 상기 제1 축에 대해 회전시키고;
상기 제1 입력이 상기 제1 축과 상이한 제2 축을 중심으로 상기 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 상기 제1 입력의 크기에 기초하여 결정되는 양만큼 상기 가상 3차원 객체를 상기 제2 축에 대해 회전시키기 위한 - 각각의 임계치 초과의 크기를 갖는 입력의 경우, 상기 디바이스는 상기 임계량 초과의 회전만큼 상기 제2 축에 대해 상기 가상 3차원 객체를 회전시킴 - 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices including a touch-sensitive surface;
One or more processors; And
And a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs,
Displaying, by the display generating component, a representation of a first viewpoint of a virtual three-dimensional object in a first user interface area;
To display a portion of the virtual 3D object that is not visible from the first viewpoint of the virtual 3D object while displaying the representation of the first viewpoint of the virtual 3D object in the first user interface area on the display Detecting a first input corresponding to a request to rotate the virtual 3D object with respect to a display; And
In response to detecting the first input:
According to a determination that the first input corresponds to a request to rotate the three-dimensional object about a first axis, determined based on the size of the first input and by a rotation above a threshold amount about the first axis Rotating the virtual 3D object about the first axis by an amount constrained by a limit on movement that limits the rotation of the virtual 3D object;
According to a determination that the first input corresponds to a request to rotate the 3D object about a second axis different from the first axis, the virtual 3D object by an amount determined based on the size of the first input Instructions for rotating about the second axis-for inputs having a magnitude greater than each threshold, the device rotating the virtual 3D object about the second axis by a rotation greater than the threshold amount- That, the computer system.
상기 디스플레이 생성 컴포넌트에 의해, 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 제1 시점의 표현을 디스플레이하게 하는;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 3차원 객체의 제1 시점의 표현을 디스플레이하는 동안, 상기 가상 3차원 객체의 제1 시점으로부터 가시적이지 않은 상기 가상 3차원 객체의 일부분을 디스플레이하기 위해 상기 가상 3차원 객체를 디스플레이에 대해 회전시키라는 요청에 대응하는 제1 입력을 검출하게 하는; 그리고
상기 제1 입력을 검출하는 것에 응답하여:
상기 제1 입력이 제1 축을 중심으로 상기 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 상기 제1 입력의 크기에 기초하여 결정되는 그리고 상기 제1 축에 대한 임계량 초과의 회전에 의해 상기 가상 3차원 객체의 회전을 제한하는 이동에 대한 한계에 의해 제약되는 양만큼 상기 가상 3차원 객체를 상기 제1 축에 대해 회전시키게 하고;
상기 제1 입력이 상기 제1 축과 상이한 제2 축을 중심으로 상기 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 상기 제1 입력의 크기에 기초하여 결정되는 양만큼 상기 가상 3차원 객체를 상기 제2 축에 대해 회전시키게 하는 - 각각의 임계치 초과의 크기를 갖는 입력의 경우, 상기 디바이스는 상기 임계량 초과의 회전만큼 상기 제2 축에 대해 상기 가상 3차원 객체를 회전시킴 - 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.A computer readable storage medium storing one or more programs, wherein the one or more programs, when executed by a computer system having one or more input devices including a display generating component, and a touch-sensitive surface, cause the computer system to:
Causing, by the display generating component, to display a representation of a first viewpoint of a virtual 3D object in a first user interface area;
To display a portion of the virtual 3D object that is not visible from the first viewpoint of the virtual 3D object while displaying the representation of the first viewpoint of the virtual 3D object in the first user interface area on the display Detecting a first input corresponding to a request to rotate the virtual three-dimensional object with respect to a display; And
In response to detecting the first input:
According to a determination that the first input corresponds to a request to rotate the three-dimensional object about a first axis, determined based on the size of the first input and by a rotation above a threshold amount about the first axis Rotating the virtual 3D object about the first axis by an amount constrained by a limit on movement that limits the rotation of the virtual 3D object;
According to a determination that the first input corresponds to a request to rotate the 3D object about a second axis different from the first axis, the virtual 3D object by an amount determined based on the size of the first input -In the case of an input having a magnitude greater than each threshold, the device rotates the virtual 3D object about the second axis by a rotation greater than the threshold amount-to rotate about the second axis A computer-readable storage medium.
디스플레이 생성 컴포넌트;
터치 감응형 표면을 포함하는 하나 이상의 입력 디바이스들;
상기 디스플레이 생성 컴포넌트에 의해, 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 제1 시점의 표현을 디스플레이하기 위한 수단;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 3차원 객체의 제1 시점의 표현을 디스플레이하는 동안, 상기 가상 3차원 객체의 제1 시점으로부터 가시적이지 않은 상기 가상 3차원 객체의 일부분을 디스플레이하기 위해 상기 가상 3차원 객체를 디스플레이에 대해 회전시키라는 요청에 대응하는 제1 입력을 검출하기 위해 인에이블되는 수단; 및
상기 제1 입력을 검출하는 것에 응답하여:
상기 제1 입력이 제1 축을 중심으로 상기 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 상기 제1 입력의 크기에 기초하여 결정되는 그리고 상기 제1 축에 대한 임계량 초과의 회전에 의해 상기 가상 3차원 객체의 회전을 제한하는 이동에 대한 한계에 의해 제약되는 양만큼 상기 가상 3차원 객체를 상기 제1 축에 대해 회전시키고;
상기 제1 입력이 상기 제1 축과 상이한 제2 축을 중심으로 상기 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 상기 제1 입력의 크기에 기초하여 결정되는 양만큼 상기 가상 3차원 객체를 상기 제2 축에 대해 회전시키기 위해 인에이블되는 수단 - 각각의 임계치 초과의 크기를 갖는 입력의 경우, 상기 디바이스는 상기 임계량 초과의 회전만큼 상기 제2 축에 대해 상기 가상 3차원 객체를 회전시킴 - 을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices including a touch-sensitive surface;
Means for displaying, by the display generating component, a representation of a first viewpoint of a virtual three-dimensional object in a first user interface area;
To display a portion of the virtual 3D object that is not visible from the first viewpoint of the virtual 3D object while displaying the representation of the first viewpoint of the virtual 3D object in the first user interface area on the display Means enabled to detect a first input corresponding to a request to rotate the virtual three-dimensional object relative to a display; And
In response to detecting the first input:
According to a determination that the first input corresponds to a request to rotate the three-dimensional object about a first axis, determined based on the size of the first input and by a rotation above a threshold amount about the first axis Rotating the virtual 3D object about the first axis by an amount constrained by a limit on movement that limits the rotation of the virtual 3D object;
According to a determination that the first input corresponds to a request to rotate the 3D object about a second axis different from the first axis, the virtual 3D object by an amount determined based on the size of the first input Means enabled to rotate about the second axis-for inputs having a magnitude above each threshold, the device rotates the virtual 3D object about the second axis by a rotation above the threshold amount. -Comprising, computer system.
상기 디스플레이 생성 컴포넌트에 의해, 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 제1 시점의 표현을 디스플레이하기 위한 수단;
상기 디스플레이 상의 상기 제1 사용자 인터페이스 영역 내에 상기 가상 3차원 객체의 제1 시점의 표현을 디스플레이하는 동안, 상기 가상 3차원 객체의 제1 시점으로부터 가시적이지 않은 상기 가상 3차원 객체의 일부분을 디스플레이하기 위해 상기 가상 3차원 객체를 디스플레이에 대해 회전시키라는 요청에 대응하는 제1 입력을 검출하기 위해 인에이블되는 수단; 및
상기 제1 입력을 검출하는 것에 응답하여:
상기 제1 입력이 제1 축을 중심으로 상기 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 상기 제1 입력의 크기에 기초하여 결정되는 그리고 상기 제1 축에 대한 임계량 초과의 회전에 의해 상기 가상 3차원 객체의 회전을 제한하는 이동에 대한 한계에 의해 제약되는 양만큼 상기 가상 3차원 객체를 상기 제1 축에 대해 회전시키고;
상기 제1 입력이 상기 제1 축과 상이한 제2 축을 중심으로 상기 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 상기 제1 입력의 크기에 기초하여 결정되는 양만큼 상기 가상 3차원 객체를 상기 제2 축에 대해 회전시키기 위해 인에이블되는 수단 - 각각의 임계치 초과의 크기를 갖는 입력의 경우, 상기 디바이스는 상기 임계량 초과의 회전만큼 상기 제2 축에 대해 상기 가상 3차원 객체를 회전시킴 - 을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having one or more input devices comprising a display generating component and a touch-sensitive surface, comprising:
Means for displaying, by the display generating component, a representation of a first viewpoint of a virtual three-dimensional object in a first user interface area;
To display a portion of the virtual 3D object that is not visible from the first viewpoint of the virtual 3D object while displaying the representation of the first viewpoint of the virtual 3D object in the first user interface area on the display Means enabled to detect a first input corresponding to a request to rotate the virtual three-dimensional object relative to a display; And
In response to detecting the first input:
According to a determination that the first input corresponds to a request to rotate the three-dimensional object about a first axis, determined based on the size of the first input and by a rotation above a threshold amount about the first axis Rotating the virtual 3D object about the first axis by an amount constrained by a limit on movement that limits the rotation of the virtual 3D object;
According to a determination that the first input corresponds to a request to rotate the 3D object about a second axis different from the first axis, the virtual 3D object by an amount determined based on the size of the first input Means enabled to rotate about the second axis-for inputs having a magnitude above each threshold, the device rotates the virtual 3D object about the second axis by a rotation above the threshold amount. -Including, information processing apparatus.
디스플레이 생성 컴포넌트;
터치 감응형 표면을 포함하는 하나 이상의 입력 디바이스들;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은 제132항 내지 제148항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices including a touch-sensitive surface;
One or more processors; And
A computer system comprising a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the method of any one of claims 132-148.
디스플레이 생성 컴포넌트;
터치 감응형 표면을 포함하는 하나 이상의 입력 디바이스들; 및
제132항 내지 제148항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices including a touch-sensitive surface; And
A computer system comprising means for performing the method of any of claims 132-148.
제132항 내지 제148항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display generating component, one or more input devices comprising a touch-sensitive surface, and one or more cameras, comprising:
An information processing apparatus comprising means for performing the method of any of claims 132-148.
디스플레이 생성 컴포넌트 및 터치 감응형 표면을 갖는 디바이스에서:
상기 디스플레이 생성 컴포넌트를 통해, 제1 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제1 객체 조작 거동 및 제2 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제2 객체 조작 거동을 포함하는 복수의 객체 조작 거동들과 연관된 사용자 인터페이스 객체를 포함하는 제1 사용자 인터페이스 영역을 디스플레이하는 단계;
상기 제1 사용자 인터페이스 영역을 디스플레이하는 동안, 상기 터치 감응형 표면을 가로지르는 하나 이상의 접촉들의 이동을 검출하는 것을 포함하여, 상기 사용자 인터페이스 객체에 대한 입력의 제1 부분을 검출하고, 상기 하나 이상의 접촉들이 상기 터치 감응형 표면 상에서 검출되는 동안, 상기 제1 제스처 인식 기준들 및 상기 제2 제스처 인식 기준들 양자 모두에 대한 상기 하나 이상의 접촉들의 이동을 평가하는 단계; 및
상기 입력의 제1 부분을 검출하는 것에 응답하여, 상기 입력의 제1 부분에 기초하여 상기 사용자 인터페이스 객체의 외관을 업데이트하는 단계 - 상기 사용자 인터페이스 객체의 외관을 업데이트하는 단계는,
상기 입력의 제1 부분이 상기 제2 제스처 인식 기준들을 충족하기 전에 상기 제1 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제1 부분에 기초하여 상기 제1 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 제2 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제2 제스처 인식 기준들을 업데이트하는 단계; 및
상기 입력이 상기 제1 제스처 인식 기준들을 충족하기 전에 상기 제2 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제1 부분에 기초하여 상기 제2 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제1 제스처 인식 기준들을 업데이트하는 단계를 포함함 - 를 포함하는, 방법.As a method,
In a device with a display generating component and a touch-sensitive surface:
A first object manipulation behavior performed in response to inputs satisfying first gesture recognition criteria and a second object manipulation behavior performed in response to inputs meeting second gesture recognition criteria, through the display generation component Displaying a first user interface area including a user interface object associated with a plurality of object manipulation behaviors;
Detecting the movement of one or more contacts across the touch-sensitive surface while displaying the first user interface area, detecting a first portion of the input to the user interface object, and detecting the one or more contacts Evaluating movement of the one or more contacts relative to both the first gesture recognition criteria and the second gesture recognition criteria while they are detected on the touch-sensitive surface; And
In response to detecting the first portion of the input, updating the appearance of the user interface object based on the first portion of the input-updating the appearance of the user interface object,
According to a determination that the first portion of the input meets the first gesture recognition criteria prior to meeting the second gesture recognition criteria:
Changing an appearance of the user interface object according to the first object manipulation behavior based on the first portion of the input;
Updating the second gesture recognition criteria by increasing a threshold for the second gesture recognition criteria; And
According to a determination that the input meets the second gesture recognition criteria prior to meeting the first gesture recognition criteria:
Changing an appearance of the user interface object according to the second object manipulation behavior based on the first portion of the input;
And updating the first gesture recognition criteria by increasing a threshold for the first gesture recognition criteria.
상기 입력의 제1 부분에 기초하여 상기 사용자 인터페이스 객체의 외관을 업데이트한 후, 상기 입력의 제2 부분을 검출하는 단계; 및
상기 입력의 제2 부분을 검출하는 것에 응답하여, 상기 입력의 제2 부분에 기초하여 상기 사용자 인터페이스 객체의 외관을 업데이트하는 단계 - 상기 사용자 인터페이스 객체의 외관을 업데이트하는 단계는,
상기 입력의 제1 부분이 상기 제1 제스처 인식 기준들을 충족하였고 상기 입력의 제2 부분이 상기 업데이트된 제2 제스처 인식 기준들을 충족하지 않는다는 결정에 따라, 상기 제2 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하지 않고서 상기 입력의 제2 부분에 기초하여 상기 제1 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하는 단계; 및
상기 입력의 제1 부분이 상기 제2 제스처 인식 기준들을 충족하였고 상기 입력의 제2 부분이 상기 업데이트된 제1 제스처 인식 기준들을 충족하지 않는다는 결정에 따라: 상기 제1 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하지 않고서 상기 입력의 제2 부분에 기초하여 상기 제2 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하는 단계를 포함함 - 를 포함하는, 방법.The method of claim 158,
Updating an appearance of the user interface object based on the first portion of the input, and then detecting a second portion of the input; And
In response to detecting the second portion of the input, updating the appearance of the user interface object based on the second portion of the input-updating the appearance of the user interface object,
According to a determination that the first portion of the input meets the first gesture recognition criteria and the second portion of the input does not meet the updated second gesture recognition criteria, the user interface according to the second object manipulation behavior Changing the appearance of the user interface object according to the first object manipulation behavior based on a second portion of the input without changing the appearance of the object; And
According to a determination that the first portion of the input meets the second gesture recognition criteria and the second portion of the input does not meet the updated first gesture recognition criteria: the user interface according to the first object manipulation behavior And changing the appearance of the user interface object according to the second object manipulation behavior based on the second portion of the input without changing the appearance of the object.
상기 입력의 제1 부분이 상기 제2 제스처 인식 기준들을 충족하였고 상기 입력의 제2 부분이 상기 업데이트된 제1 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제2 부분에 기초하여 상기 제1 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 입력의 제2 부분에 기초하여 상기 제2 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하는 단계; 및
상기 입력의 제1 부분이 상기 제1 제스처 인식 기준들을 충족하였고 상기 입력의 제2 부분이 상기 업데이트된 제2 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제2 부분에 기초하여 상기 제1 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 입력의 제2 부분에 기초하여 상기 제2 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하는 단계를 포함하는, 방법.The method of claim 159, wherein updating the appearance of the user interface object based on the second portion of the input comprises:
According to a determination that the first portion of the input meets the second gesture recognition criteria and the second portion of the input meets the updated first gesture recognition criteria:
Changing the appearance of the user interface object according to the first object manipulation behavior based on the second portion of the input;
Changing an appearance of the user interface object according to the second object manipulation behavior based on the second portion of the input; And
According to a determination that the first portion of the input meets the first gesture recognition criteria and the second portion of the input meets the updated second gesture recognition criteria:
Changing the appearance of the user interface object according to the first object manipulation behavior based on the second portion of the input;
And changing the appearance of the user interface object according to the second object manipulation behavior based on the second portion of the input.
상기 입력의 제2 부분에 기초하여 상기 사용자 인터페이스 객체의 외관을 업데이트한 후, 상기 입력의 제3 부분을 검출하는 단계; 및
상기 입력의 제3 부분을 검출하는 것에 응답하여, 상기 입력의 제3 부분에 기초하여 상기 사용자 인터페이스 객체의 외관을 업데이트하는 단계 - 상기 사용자 인터페이스 객체의 외관을 업데이트하는 단계는,
상기 입력의 제3 부분에 기초하여 상기 제1 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하는 단계; 및
상기 입력의 제3 부분에 기초하여 상기 제2 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하는 단계를 포함함 - 를 포함하는, 방법.The method of claim 164,
Detecting a third portion of the input after updating an appearance of the user interface object based on the second portion of the input; And
In response to detecting the third portion of the input, updating the appearance of the user interface object based on the third portion of the input-updating the appearance of the user interface object,
Changing an appearance of the user interface object according to the first object manipulation behavior based on the third portion of the input; And
And changing the appearance of the user interface object according to the second object manipulation behavior based on the third portion of the input.
상기 복수의 객체 조작 거동들은 제3 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제3 객체 조작 거동을 포함하고;
상기 입력의 제1 부분에 기초하여 상기 사용자 인터페이스 객체의 외관을 업데이트하는 단계는,
상기 입력의 제1 부분이 상기 제2 제스처 인식 기준들을 충족하기 또는 상기 제3 제스처 인식 기준들을 충족하기 전에 상기 제1 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제1 부분에 기초하여 상기 제1 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 제2 제스처 인식 기준들에 대한 상기 임계치를 증가시킴으로써 상기 제2 제스처 인식 기준들을 업데이트하고;
상기 제3 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제3 제스처 인식 기준들을 업데이트하는 단계;
상기 입력이 상기 제1 제스처 인식 기준들을 충족하기 또는 상기 제3 제스처 인식 기준들을 충족하기 전에 상기 제2 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제1 부분에 기초하여 상기 제2 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제1 제스처 인식 기준들을 업데이트하고;
상기 제3 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제3 제스처 인식 기준들을 업데이트하는 단계; 및
상기 입력이 상기 제1 제스처 인식 기준들을 충족하기 또는 상기 제2 제스처 인식 기준들을 충족하기 전에 상기 제3 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제1 부분에 기초하여 상기 제3 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제1 제스처 인식 기준들을 업데이트하고;
상기 제2 제스처 인식 기준들에 대한 상기 임계치를 증가시킴으로써 상기 제2 제스처 인식 기준들을 업데이트하는 단계를 포함하는, 방법.The method of any one of claims 164-166,
The plurality of object manipulation behaviors includes a third object manipulation behavior performed in response to inputs meeting third gesture recognition criteria;
Updating the appearance of the user interface object based on the first portion of the input,
According to a determination that the first portion of the input satisfies the first gesture recognition criteria before meeting the second gesture recognition criteria or before meeting the third gesture recognition criteria:
Changing an appearance of the user interface object according to the first object manipulation behavior based on the first portion of the input;
Updating the second gesture recognition criteria by increasing the threshold for the second gesture recognition criteria;
Updating the third gesture recognition criteria by increasing a threshold for the third gesture recognition criteria;
Upon determining that the input satisfies the second gesture recognition criteria prior to meeting the first gesture recognition criteria or the third gesture recognition criteria:
Changing an appearance of the user interface object according to the second object manipulation behavior based on the first portion of the input;
Updating the first gesture recognition criteria by increasing a threshold for the first gesture recognition criteria;
Updating the third gesture recognition criteria by increasing a threshold for the third gesture recognition criteria; And
According to a determination that the input satisfies the third gesture recognition criteria prior to meeting the first gesture recognition criteria or meeting the second gesture recognition criteria:
Changing an appearance of the user interface object according to the third object manipulation behavior based on the first portion of the input;
Updating the first gesture recognition criteria by increasing a threshold for the first gesture recognition criteria;
And updating the second gesture recognition criteria by increasing the threshold for the second gesture recognition criteria.
상기 복수의 객체 조작 거동들은 제3 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제3 객체 조작 거동을 포함하고,
상기 입력의 제1 부분은 상기 제1 제스처 인식 기준들 또는 상기 제2 제스처 인식 기준들을 충족하기 전에 상기 제3 제스처 인식 기준들을 충족하지 않았고,
상기 디바이스는 상기 입력의 제1 부분이 상기 제1 제스처 인식 기준들 또는 상기 제2 제스처 인식 기준들을 충족한 후에 상기 제3 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제3 제스처 인식 기준들을 업데이트하였고,
상기 입력의 제2 부분은 상기 업데이트된 제1 제스처 인식 기준들 또는 상기 업데이트된 제2 제스처 인식 기준들을 충족하기 전에 상기 업데이트된 제3 제스처 인식 기준들을 충족하지 않았으며;
상기 방법은,
상기 입력의 제3 부분을 검출하는 것에 응답하여:
상기 입력의 제3 부분이 상기 업데이트된 제3 제스처 인식 기준들을 충족한다는 결정에 따라, 상기 입력의 제3 부분에 기초하여 상기 제3 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 입력의 제3 부분이 상기 업데이트된 제3 제스처 인식 기준들을 충족하지 않는다는 결정에 따라, 상기 입력의 제3 부분에 기초하여 상기 제3 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하는 것을 보류하는 단계를 포함하는, 방법.The method of any one of claims 164-166,
The plurality of object manipulation behaviors include a third object manipulation behavior performed in response to inputs meeting third gesture recognition criteria,
The first portion of the input did not meet the third gesture recognition criteria before meeting the first gesture recognition criteria or the second gesture recognition criteria,
The device updated the third gesture recognition criteria by increasing a threshold for the third gesture recognition criteria after the first portion of the input meets the first gesture recognition criteria or the second gesture recognition criteria. ,
The second portion of the input did not meet the updated third gesture recognition criteria prior to meeting the updated first gesture recognition criteria or the updated second gesture recognition criteria;
The above method,
In response to detecting the third portion of the input:
According to a determination that the third portion of the input satisfies the updated third gesture recognition criteria, change the appearance of the user interface object according to the third object manipulation behavior based on the third portion of the input;
In accordance with a determination that the third portion of the input does not meet the updated third gesture recognition criteria, changing the appearance of the user interface object according to the third object manipulation behavior based on the third portion of the input A method comprising the step of withholding.
상기 입력의 제3 부분에 기초하여 상기 사용자 인터페이스 객체의 외관을 업데이트한 후, 상기 입력의 제4 부분을 검출하는 단계; 및
상기 입력의 제4 부분을 검출하는 것에 응답하여, 상기 입력의 제4 부분에 기초하여 상기 사용자 인터페이스 객체의 외관을 업데이트하는 단계 - 상기 사용자 인터페이스 객체의 외관을 업데이트하는 단계는,
상기 입력의 제4 부분에 기초하여 상기 제1 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하는 단계;
상기 입력의 제4 부분에 기초하여 상기 제2 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하는 단계; 및
상기 입력의 제4 부분에 기초하여 상기 제3 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하는 단계를 포함함 - 를 포함하는, 방법.The method of any one of claims 164-168, wherein the third portion of the input has satisfied the updated third gesture recognition criteria, and the method further comprises:
Detecting a fourth portion of the input after updating the appearance of the user interface object based on the third portion of the input; And
In response to detecting the fourth portion of the input, updating the appearance of the user interface object based on the fourth portion of the input-updating the appearance of the user interface object,
Changing an appearance of the user interface object according to the first object manipulation behavior based on a fourth portion of the input;
Changing an appearance of the user interface object according to the second object manipulation behavior based on the fourth portion of the input; And
And changing the appearance of the user interface object according to the third object manipulation behavior based on the fourth portion of the input.
상기 제1 제스처 인식 기준들을 충족하는 입력,
상기 제2 제스처 인식 기준들을 충족하는 입력, 또는
상기 제3 제스처 인식 기준들을 충족하는 입력을 포함하지 않는, 방법.The method of claim 169, wherein the fourth portion of the input comprises:
An input that satisfies the first gesture recognition criteria,
An input that satisfies the second gesture recognition criteria, or
And does not include an input that meets the third gesture recognition criteria.
상기 복수의 연속적으로 유지되는 접촉들의 리프트오프를 검출한 후에 추가의 제1 및 제2 객체 조작 거동들을 개시하기 위해 상기 제1 제스처 인식 기준들 및 상기 제2 제스처 인식 기준들을 재확립하는 단계를 포함하는, 방법.The method of any one of claims 158-174, wherein the first portion of the input and the second portion of the input are provided by a plurality of continuously held contacts, the method comprising:
Re-establishing the first gesture recognition criteria and the second gesture recognition criteria to initiate additional first and second object manipulation behaviors after detecting the liftoff of the plurality of continuously held contacts. How to.
디스플레이 생성 컴포넌트;
터치 감응형 표면;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은,
상기 디스플레이 생성 컴포넌트를 통해, 제1 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제1 객체 조작 거동 및 제2 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제2 객체 조작 거동을 포함하는 복수의 객체 조작 거동들과 연관된 사용자 인터페이스 객체를 포함하는 제1 사용자 인터페이스 영역을 디스플레이하기 위한;
상기 제1 사용자 인터페이스 영역을 디스플레이하는 동안, 상기 터치 감응형 표면을 가로지르는 하나 이상의 접촉들의 이동을 검출하는 것을 포함하여, 상기 사용자 인터페이스 객체에 대한 입력의 제1 부분을 검출하고, 상기 하나 이상의 접촉들이 상기 터치 감응형 표면 상에서 검출되는 동안, 상기 제1 제스처 인식 기준들 및 상기 제2 제스처 인식 기준들 양자 모두에 대한 상기 하나 이상의 접촉들의 이동을 평가하기 위한; 그리고
상기 입력의 제1 부분을 검출하는 것에 응답하여, 상기 입력의 제1 부분에 기초하여 상기 사용자 인터페이스 객체의 외관을 업데이트하기 위한 - 상기 사용자 인터페이스 객체의 외관을 업데이트하는 것은,
상기 입력의 제1 부분이 상기 제2 제스처 인식 기준들을 충족하기 전에 상기 제1 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제1 부분에 기초하여 상기 제1 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 제2 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제2 제스처 인식 기준들을 업데이트하는 것; 및
상기 입력이 상기 제1 제스처 인식 기준들을 충족하기 전에 상기 제2 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제1 부분에 기초하여 상기 제2 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제1 제스처 인식 기준들을 업데이트하는 것을 포함함 - 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
Touch-sensitive surface;
One or more processors; And
And a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs,
A first object manipulation behavior performed in response to inputs satisfying first gesture recognition criteria and a second object manipulation behavior performed in response to inputs meeting second gesture recognition criteria, through the display generation component Displaying a first user interface area including a user interface object associated with a plurality of object manipulation behaviors;
Detecting the movement of one or more contacts across the touch-sensitive surface while displaying the first user interface area, detecting a first portion of the input to the user interface object, and detecting the one or more contacts Evaluating the movement of the one or more contacts relative to both the first gesture recognition criteria and the second gesture recognition criteria while they are detected on the touch-sensitive surface; And
In response to detecting the first portion of the input, for updating the appearance of the user interface object based on the first portion of the input-updating the appearance of the user interface object,
According to a determination that the first portion of the input meets the first gesture recognition criteria prior to meeting the second gesture recognition criteria:
Changing an appearance of the user interface object according to the first object manipulation behavior based on the first portion of the input;
Updating the second gesture recognition criteria by increasing a threshold for the second gesture recognition criteria; And
According to a determination that the input meets the second gesture recognition criteria prior to meeting the first gesture recognition criteria:
Changing an appearance of the user interface object according to the second object manipulation behavior based on the first portion of the input;
Updating the first gesture recognition criteria by increasing a threshold for the first gesture recognition criteria-comprising instructions.
상기 디스플레이 생성 컴포넌트를 통해, 제1 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제1 객체 조작 거동 및 제2 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제2 객체 조작 거동을 포함하는 복수의 객체 조작 거동들과 연관된 사용자 인터페이스 객체를 포함하는 제1 사용자 인터페이스 영역을 디스플레이하게 하는;
상기 제1 사용자 인터페이스 영역을 디스플레이하는 동안, 상기 터치 감응형 표면을 가로지르는 하나 이상의 접촉들의 이동을 검출하는 것을 포함하여, 상기 사용자 인터페이스 객체에 대한 입력의 제1 부분을 검출하고, 상기 하나 이상의 접촉들이 상기 터치 감응형 표면 상에서 검출되는 동안, 상기 제1 제스처 인식 기준들 및 상기 제2 제스처 인식 기준들 양자 모두에 대한 상기 하나 이상의 접촉들의 이동을 평가하게 하는; 그리고
상기 입력의 제1 부분을 검출하는 것에 응답하여, 상기 입력의 제1 부분에 기초하여 상기 사용자 인터페이스 객체의 외관을 업데이트하게 하는 - 상기 사용자 인터페이스 객체의 외관을 업데이트하는 것은,
상기 입력의 제1 부분이 상기 제2 제스처 인식 기준들을 충족하기 전에 상기 제1 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제1 부분에 기초하여 상기 제1 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 제2 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제2 제스처 인식 기준들을 업데이트하는 것; 및
상기 입력이 상기 제1 제스처 인식 기준들을 충족하기 전에 상기 제2 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제1 부분에 기초하여 상기 제2 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제1 제스처 인식 기준들을 업데이트하는 것을 포함함 - 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.A computer-readable storage medium storing one or more programs, wherein the one or more programs, when executed by a computer system having a display generating component and a touch-sensitive surface, cause the computer system to:
A first object manipulation behavior performed in response to inputs satisfying first gesture recognition criteria and a second object manipulation behavior performed in response to inputs meeting second gesture recognition criteria, through the display generation component Displaying a first user interface area including a user interface object associated with a plurality of object manipulation behaviors;
Detecting the movement of one or more contacts across the touch-sensitive surface while displaying the first user interface area, detecting a first portion of the input to the user interface object, and detecting the one or more contacts Evaluating movement of the one or more contacts relative to both the first gesture recognition criteria and the second gesture recognition criteria while they are detected on the touch-sensitive surface; And
In response to detecting the first portion of the input, causing updating the appearance of the user interface object based on the first portion of the input-updating the appearance of the user interface object,
According to a determination that the first portion of the input meets the first gesture recognition criteria prior to meeting the second gesture recognition criteria:
Changing an appearance of the user interface object according to the first object manipulation behavior based on the first portion of the input;
Updating the second gesture recognition criteria by increasing a threshold for the second gesture recognition criteria; And
According to a determination that the input meets the second gesture recognition criteria prior to meeting the first gesture recognition criteria:
Changing an appearance of the user interface object according to the second object manipulation behavior based on the first portion of the input;
Updating the first gesture recognition criteria by increasing a threshold for the first gesture recognition criteria, comprising instructions.
디스플레이 생성 컴포넌트;
터치 감응형 표면;
상기 디스플레이 생성 컴포넌트를 통해, 제1 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제1 객체 조작 거동 및 제2 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제2 객체 조작 거동을 포함하는 복수의 객체 조작 거동들과 연관된 사용자 인터페이스 객체를 포함하는 제1 사용자 인터페이스 영역을 디스플레이하기 위한 수단;
상기 제1 사용자 인터페이스 영역을 디스플레이하는 동안, 상기 터치 감응형 표면을 가로지르는 하나 이상의 접촉들의 이동을 검출하는 것을 포함하여, 상기 사용자 인터페이스 객체에 대한 입력의 제1 부분을 검출하고, 상기 하나 이상의 접촉들이 상기 터치 감응형 표면 상에서 검출되는 동안, 상기 제1 제스처 인식 기준들 및 상기 제2 제스처 인식 기준들 양자 모두에 대한 상기 하나 이상의 접촉들의 이동을 평가하기 위해 인에이블되는 수단; 및
상기 입력의 제1 부분을 검출하는 것에 응답하여, 상기 입력의 제1 부분에 기초하여 상기 사용자 인터페이스 객체의 외관을 업데이트하기 위해 인에이블되는 수단 - 상기 사용자 인터페이스 객체의 외관을 업데이트하는 것은,
상기 입력의 제1 부분이 상기 제2 제스처 인식 기준들을 충족하기 전에 상기 제1 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제1 부분에 기초하여 상기 제1 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 제2 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제2 제스처 인식 기준들을 업데이트하는 것; 및
상기 입력이 상기 제1 제스처 인식 기준들을 충족하기 전에 상기 제2 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제1 부분에 기초하여 상기 제2 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제1 제스처 인식 기준들을 업데이트하는 것을 포함함 - 을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
Touch-sensitive surface;
A first object manipulation behavior performed in response to inputs satisfying first gesture recognition criteria and a second object manipulation behavior performed in response to inputs meeting second gesture recognition criteria, through the display generation component Means for displaying a first user interface area comprising a user interface object associated with a plurality of object manipulation behaviors;
Detecting the movement of one or more contacts across the touch-sensitive surface while displaying the first user interface area, detecting a first portion of the input to the user interface object, and detecting the one or more contacts Means enabled to evaluate movement of the one or more contacts relative to both the first gesture recognition criteria and the second gesture recognition criteria while they are detected on the touch-sensitive surface; And
In response to detecting the first portion of the input, means enabled to update the appearance of the user interface object based on the first portion of the input-updating the appearance of the user interface object,
According to a determination that the first portion of the input meets the first gesture recognition criteria prior to meeting the second gesture recognition criteria:
Changing an appearance of the user interface object according to the first object manipulation behavior based on the first portion of the input;
Updating the second gesture recognition criteria by increasing a threshold for the second gesture recognition criteria; And
According to a determination that the input meets the second gesture recognition criteria prior to meeting the first gesture recognition criteria:
Changing an appearance of the user interface object according to the second object manipulation behavior based on the first portion of the input;
And updating the first gesture recognition criteria by increasing a threshold for the first gesture recognition criteria.
상기 디스플레이 생성 컴포넌트를 통해, 제1 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제1 객체 조작 거동 및 제2 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제2 객체 조작 거동을 포함하는 복수의 객체 조작 거동들과 연관된 사용자 인터페이스 객체를 포함하는 제1 사용자 인터페이스 영역을 디스플레이하기 위한 수단;
상기 제1 사용자 인터페이스 영역을 디스플레이하는 동안, 상기 터치 감응형 표면을 가로지르는 하나 이상의 접촉들의 이동을 검출하는 것을 포함하여, 상기 사용자 인터페이스 객체에 대한 입력의 제1 부분을 검출하고, 상기 하나 이상의 접촉들이 상기 터치 감응형 표면 상에서 검출되는 동안, 상기 제1 제스처 인식 기준들 및 상기 제2 제스처 인식 기준들 양자 모두에 대한 상기 하나 이상의 접촉들의 이동을 평가하기 위해 인에이블되는 수단; 및
상기 입력의 제1 부분을 검출하는 것에 응답하여, 상기 입력의 제1 부분에 기초하여 상기 사용자 인터페이스 객체의 외관을 업데이트하기 위해 인에이블되는 수단 - 상기 사용자 인터페이스 객체의 외관을 업데이트하는 것은,
상기 입력의 제1 부분이 상기 제2 제스처 인식 기준들을 충족하기 전에 상기 제1 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제1 부분에 기초하여 상기 제1 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 제2 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제2 제스처 인식 기준들을 업데이트하는 것; 및
상기 입력이 상기 제1 제스처 인식 기준들을 충족하기 전에 상기 제2 제스처 인식 기준들을 충족한다는 결정에 따라:
상기 입력의 제1 부분에 기초하여 상기 제2 객체 조작 거동에 따라 상기 사용자 인터페이스 객체의 외관을 변경하고;
상기 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 상기 제1 제스처 인식 기준들을 업데이트하는 것을 포함함 - 을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display generating component and a touch-sensitive surface, comprising:
A first object manipulation behavior performed in response to inputs satisfying first gesture recognition criteria and a second object manipulation behavior performed in response to inputs meeting second gesture recognition criteria, through the display generation component Means for displaying a first user interface area comprising a user interface object associated with a plurality of object manipulation behaviors;
Detecting the movement of one or more contacts across the touch-sensitive surface while displaying the first user interface area, detecting a first portion of the input to the user interface object, and detecting the one or more contacts Means enabled to evaluate movement of the one or more contacts relative to both the first gesture recognition criteria and the second gesture recognition criteria while they are detected on the touch-sensitive surface; And
In response to detecting the first portion of the input, means enabled to update the appearance of the user interface object based on the first portion of the input-updating the appearance of the user interface object,
According to a determination that the first portion of the input meets the first gesture recognition criteria prior to meeting the second gesture recognition criteria:
Changing an appearance of the user interface object according to the first object manipulation behavior based on the first portion of the input;
Updating the second gesture recognition criteria by increasing a threshold for the second gesture recognition criteria; And
According to a determination that the input meets the second gesture recognition criteria prior to meeting the first gesture recognition criteria:
Changing an appearance of the user interface object according to the second object manipulation behavior based on the first portion of the input;
And updating the first gesture recognition criteria by increasing a threshold for the first gesture recognition criteria.
디스플레이 생성 컴포넌트;
터치 감응형 표면;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은 제158항 내지 제176항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
Touch-sensitive surface;
One or more processors; And
A computer system comprising a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the method of any one of claims 158-176.
디스플레이 생성 컴포넌트;
터치 감응형 표면; 및
제158항 내지 제176항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
Touch-sensitive surface; And
A computer system comprising means for performing the method of any of claims 158-176.
제158항 내지 제176항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display generating component and a touch-sensitive surface, comprising:
An information processing apparatus comprising means for performing the method of any of claims 158-176.
디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 하나 이상의 오디오 출력 생성기들, 및 하나 이상의 카메라들을 갖는 디바이스에서:
상기 디스플레이 생성 컴포넌트를 통해, 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 단계 - 상기 디스플레이하는 단계는 상기 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 상기 가상 객체의 표현 사이의 제1 공간적 관계를 유지하는 단계를 포함함 -;
상기 하나 이상의 카메라들의 시야를 조정하는 상기 디바이스의 이동을 검출하는 단계; 및
상기 하나 이상의 카메라들의 시야를 조정하는 상기 디바이스의 이동을 검출하는 것에 응답하여:
상기 하나 이상의 카메라들의 시야가 조정됨에 따라 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 평면과 상기 가상 객체 사이의 상기 제1 공간적 관계에 따라 상기 제1 사용자 인터페이스 영역 내의 상기 가상 객체의 표현의 디스플레이를 조정하고,
상기 디바이스의 이동이 임계량 초과의 상기 가상 객체로 하여금 상기 하나 이상의 카메라들의 시야의 디스플레이된 부분의 외측으로 이동하게 한다는 결정에 따라, 상기 하나 이상의 오디오 출력 생성기들을 통해, 제1 오디오 경보를 생성하는 단계를 포함하는, 방법.As a method,
In a device with a display generating component, one or more input devices, one or more audio output generators, and one or more cameras:
Displaying, via the display generating component, a representation of a virtual object in a first user interface area that includes a representation of the field of view of one or more cameras, wherein the displaying comprises in a physical environment captured within the field of view of the one or more cameras. Maintaining a first spatial relationship between the detected plane and the representation of the virtual object;
Detecting movement of the device to adjust the field of view of the one or more cameras; And
In response to detecting movement of the device to adjust the field of view of the one or more cameras:
Display of the representation of the virtual object in the first user interface area according to the first spatial relationship between the plane and the virtual object detected in the field of view of the one or more cameras as the field of view of the one or more cameras is adjusted Adjust,
In accordance with a determination that movement of the device causes the virtual object above a threshold amount to move out of the displayed portion of the field of view of the one or more cameras, generating, through the one or more audio output generators, a first audio alert. Containing, method.
상기 하나 이상의 카메라들의 시야의 표현에 대응하는 상기 터치 감응형 표면 상의 위치에서 접촉에 의한 입력을 검출하는 단계; 및
상기 입력을 검출하는 것에 응답하여, 그리고 상기 가상 객체에 의해 점유되지 않은 상기 하나 이상의 카메라들의 시야의 제1 부분에 대응하는 상기 터치 감응형 표면 상의 제1 위치에서 상기 입력이 검출된다는 결정에 따라, 제2 오디오 경보를 생성하는 단계를 포함하는, 방법.The method of any one of claims 186 to 188,
Detecting an input by contact at a location on the touch-sensitive surface corresponding to a representation of the field of view of the one or more cameras; And
In response to detecting the input, and upon determining that the input is detected at a first location on the touch-sensitive surface corresponding to a first portion of the field of view of the one or more cameras not occupied by the virtual object, Generating a second audio alert.
상기 제1 오디오 경보의 생성 후에 상기 하나 이상의 카메라들의 시야를 추가로 조정하는 상기 디바이스의 추가 이동을 검출하는 단계; 및
상기 하나 이상의 카메라들의 시야를 추가로 조정하는 상기 디바이스의 추가 이동을 검출하는 것에 응답하여:
상기 하나 이상의 카메라들의 시야가 추가로 조정됨에 따라 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 평면과 상기 가상 객체 사이의 상기 제1 공간적 관계에 따라 상기 제1 사용자 인터페이스 영역 내의 상기 가상 객체의 표현의 디스플레이를 조정하고,
상기 디바이스의 추가 이동이 제2 임계량 초과의 상기 가상 객체로 하여금 상기 하나 이상의 카메라들의 시야의 디스플레이된 부분 내로 이동하게 한다는 결정에 따라, 상기 하나 이상의 오디오 출력 생성기들을 통해, 제3 오디오 경보를 생성하는 단계를 포함하는, 방법.The method of any one of claims 186 to 191,
Detecting a further movement of the device to further adjust the field of view of the one or more cameras after generation of the first audio alert; And
In response to detecting further movement of the device to further adjust the field of view of the one or more cameras:
As the field of view of the one or more cameras is further adjusted, the representation of the virtual object in the first user interface area according to the first spatial relationship between the plane and the virtual object detected in the field of view of the one or more cameras Adjust the display,
In accordance with a determination that further movement of the device causes the virtual object above a second threshold amount to move into a displayed portion of the field of view of the one or more cameras, generating a third audio alert, via the one or more audio output generators. A method comprising the steps of.
상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하고 상기 가상 객체에 적용가능한 복수의 객체 조작 유형들 중 제1 객체 조작 유형이 상기 가상 객체에 대해 현재 선택되어 있는 동안, 상기 가상 객체에 적용가능한 다른 객체 조작 유형으로 스위칭하라는 요청을 검출하는 단계; 및
상기 가상 객체에 적용가능한 다른 객체 조작 유형으로 스위칭하라는 상기 요청을 검출하는 것에 응답하여, 상기 가상 객체에 적용가능한 복수의 객체 조작 유형들 중 제2 객체 조작 유형을 명명하는 오디오 출력을 생성하는 단계 - 상기 제2 객체 조작 유형은 상기 제1 객체 조작 유형과 구별됨 - 를 포함하는, 방법.The method of any one of claims 186 to 192,
Display the representation of the virtual object in the first user interface area, and apply to the virtual object while a first object manipulation type among a plurality of object manipulation types applicable to the virtual object is currently selected for the virtual object Detecting a request to switch to another possible object manipulation type; And
In response to detecting the request to switch to another object manipulation type applicable to the virtual object, generating an audio output naming a second object manipulation type of a plurality of object manipulation types applicable to the virtual object- And the second object manipulation type is distinct from the first object manipulation type.
상기 가상 객체에 적용가능한 상기 복수의 객체 조작 유형들 중 상기 제2 객체 조작 유형을 명명하는 상기 오디오 출력을 생성한 후, 현재 선택된 객체 조작 유형에 대응하는 객체 조작 거동을 실행하라는 요청을 검출하는 단계; 및
상기 현재 선택된 객체 조작 유형에 대응하는 상기 객체 조작 거동을 수행하라는 상기 요청을 검출하는 것에 응답하여, 상기 제2 객체 조작 유형에 대응하는 객체 조작 거동을 실행하는 단계를 포함하는, 방법.The method of claim 193,
Generating the audio output naming the second object manipulation type among the plurality of object manipulation types applicable to the virtual object, and then detecting a request to execute an object manipulation behavior corresponding to the currently selected object manipulation type ; And
And in response to detecting the request to perform the object manipulation behavior corresponding to the currently selected object manipulation type, executing an object manipulation behavior corresponding to the second object manipulation type.
상기 가상 객체에 적용가능한 다른 객체 조작 유형으로 스위칭하라는 상기 요청을 검출하는 것에 응답하여:
상기 제2 객체 조작 유형이 연속적으로 조정가능한 조작 유형이라는 결정에 따라, 상기 제2 객체 조작 유형이 연속적으로 조정가능한 조작 유형인 것을 나타내기 위해, 상기 제2 객체 조작 유형을 명명하는 상기 오디오 출력과 함께 오디오 경보를 생성하는 단계;
상기 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 상기 제1 사용자 인터페이스 영역의 일부분에 대응하는 상기 터치 감응형 표면 상의 위치에서 스와이프(swipe) 입력을 검출하는 것을 포함하여, 상기 제2 객체 조작 유형에 대응하는 상기 객체 조작 거동을 실행하라는 요청을 검출하는 단계; 및
상기 제2 객체 조작 유형에 대응하는 상기 객체 조작 거동을 실행하라는 상기 요청을 검출하는 것에 응답하여, 상기 스와이프 입력의 크기에 대응하는 양만큼 상기 제2 객체 조작 유형에 대응하는 상기 객체 조작 거동을 실행하는 단계를 포함하는, 방법.The method of claim 193 or 194,
In response to detecting the request to switch to another object manipulation type applicable to the virtual object:
According to the determination that the second object manipulation type is a continuously adjustable manipulation type, to indicate that the second object manipulation type is a continuously adjustable manipulation type, the audio output naming the second object manipulation type and Creating an audio alert together;
And detecting a swipe input at a location on the touch-sensitive surface corresponding to a portion of the first user interface area displaying a representation of the field of view of the one or more cameras, the second object manipulation type Detecting a request to execute the corresponding object manipulation behavior; And
In response to detecting the request to execute the object manipulation behavior corresponding to the second object manipulation type, the object manipulation behavior corresponding to the second object manipulation type is determined by an amount corresponding to the size of the swipe input. A method comprising the step of executing.
상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하기 전에, 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하는 단계 - 상기 제2 사용자 인터페이스 영역은 상기 하나 이상의 카메라들의 시야의 표현을 포함하지 않음 -;
상기 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하고 상기 가상 객체에 적용가능한 복수의 동작들 중 제1 동작이 상기 가상 객체에 대해 현재 선택되어 있는 동안, 상기 가상 객체에 적용가능한 다른 동작으로 스위칭하라는 요청을 검출하는 단계; 및
상기 제2 사용자 인터페이스 영역 내의 상기 가상 객체에 적용가능한 다른 동작으로 스위칭하라는 상기 요청을 검출하는 것에 응답하여, 상기 가상 객체에 적용가능한 상기 복수의 동작들 중 제2 동작을 명명하는 오디오 출력을 생성하는 단계 - 상기 제2 동작은 상기 제1 동작과 구별됨 - 를 포함하는, 방법The method of any one of claims 186 to 195,
Before displaying the representation of the virtual object in the first user interface area, displaying the representation of the virtual object in a second user interface area, the second user interface area including a representation of the field of view of the one or more cameras Do not -;
Displaying the representation of the virtual object in the second user interface area, and while a first operation among a plurality of operations applicable to the virtual object is currently selected for the virtual object, another operation applicable to the virtual object is performed. Detecting a request to switch; And
In response to detecting the request to switch to another operation applicable to the virtual object in the second user interface area, generating an audio output naming a second operation of the plurality of operations applicable to the virtual object Step-the second operation is distinct from the first operation-
상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하기 전에: 상기 하나 이상의 카메라들의 시야의 표현을 포함하지 않는 제2 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하는 동안, 상기 하나 이상의 카메라들의 시야의 표현을 포함하는 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하라는 요청을 검출하는 단계; 및
상기 하나 이상의 카메라들의 시야의 표현을 포함하는 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하라는 상기 요청을 검출하는 것에 응답하여:
상기 하나 이상의 카메라들의 시야 내에 캡처되는 상기 물리적 환경에서 검출되는 상기 평면과 상기 가상 객체의 표현 사이의 상기 제1 공간적 관계에 따라 상기 제1 사용자 인터페이스 영역 내에 상기 가상 객체의 표현을 디스플레이하고;
상기 가상 객체가 상기 하나 이상의 카메라들의 시야 내에서 캡처되는 상기 물리적 환경과 관련하여 상기 증강 현실 뷰 내에 배치되는 것을 나타내는 제4 오디오 경보를 생성하는 단계를 포함하는, 방법.The method of any one of claims 186 to 196,
Before displaying the representation of the virtual object in the first user interface area: While displaying the representation of the virtual object in a second user interface area that does not contain a representation of the field of view of the one or more cameras, Detecting a request to display a representation of the virtual object within the first user interface area including a representation of the field of view; And
In response to detecting the request to display a representation of the virtual object within the first user interface region comprising a representation of the field of view of the one or more cameras:
Displaying the representation of the virtual object in the first user interface area according to the first spatial relationship between the representation of the virtual object and the plane detected in the physical environment captured within the field of view of the one or more cameras;
Generating a fourth audio alert indicating that the virtual object is placed within the augmented reality view in relation to the physical environment being captured within the field of view of the one or more cameras.
상기 하나 이상의 카메라들의 시야 내에서 캡처되는 상기 물리적 환경과 관련하여 상기 증강 현실 뷰 내의 상기 가상 객체의 배치와 함께 촉각적 출력을 생성하는 단계를 포함하는, 방법.The method of claim 198,
And generating a tactile output with the placement of the virtual object in the augmented reality view in relation to the physical environment captured within the field of view of the one or more cameras.
상기 하나 이상의 카메라들의 시야의 표현과 동시에, 상기 제1 사용자 인터페이스 영역 내의 제1 위치에 제1 제어부를 디스플레이하는 단계;
제어부 페이딩 기준들이 충족된다는 결정에 따라, 상기 제1 사용자 인터페이스 영역 내에 상기 하나 이상의 카메라들의 시야의 표현의 디스플레이를 유지하는 동안 상기 제1 사용자 인터페이스 영역 내에 상기 제1 제어부를 디스플레이하는 것을 중지하는 단계;
상기 제1 사용자 인터페이스 영역 내에 상기 제1 제어부를 디스플레이하지 않으면서 상기 제1 사용자 인터페이스 영역을 디스플레이하는 동안, 상기 제1 사용자 인터페이스 영역 내의 상기 제1 위치에 대응하는 상기 터치 감응형 표면 상의 각각의 위치에서 터치 입력을 검출하는 단계; 및
상기 터치 입력을 검출하는 것에 응답하여, 상기 제1 제어부에 대응하는 동작을 특정하는 오디오 출력을 포함하는 제5 오디오 경보를 생성하는 단계를 포함하는, 방법.The method of any one of claims 186 to 198,
Simultaneously displaying a field of view of the one or more cameras, displaying a first control unit at a first position in the first user interface area;
In response to a determination that the controller fading criteria are satisfied, stopping displaying the first controller in the first user interface area while maintaining a display of the representation of the field of view of the one or more cameras in the first user interface area;
Each position on the touch-sensitive surface corresponding to the first position in the first user interface area while displaying the first user interface area without displaying the first control unit in the first user interface area Detecting a touch input at; And
And in response to detecting the touch input, generating a fifth audio alert including an audio output specifying an operation corresponding to the first control unit.
디스플레이 생성 컴포넌트;
하나 이상의 입력 디바이스들;
하나 이상의 오디오 출력 생성기들;
하나 이상의 카메라들;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은,
상기 디스플레이 생성 컴포넌트를 통해, 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하기 위한 - 상기 디스플레이하는 것은 상기 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 상기 가상 객체의 표현 사이의 제1 공간적 관계를 유지하는 것을 포함함 -;
상기 하나 이상의 카메라들의 시야를 조정하는 상기 디바이스의 이동을 검출하기 위한; 그리고
상기 하나 이상의 카메라들의 시야를 조정하는 상기 디바이스의 이동을 검출하는 것에 응답하여:
상기 하나 이상의 카메라들의 시야가 조정됨에 따라 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 평면과 상기 가상 객체 사이의 상기 제1 공간적 관계에 따라 상기 제1 사용자 인터페이스 영역 내의 상기 가상 객체의 표현의 디스플레이를 조정하고,
상기 디바이스의 이동이 임계량 초과의 상기 가상 객체로 하여금 상기 하나 이상의 카메라들의 시야의 디스플레이된 부분의 외측으로 이동하게 한다는 결정에 따라, 상기 하나 이상의 오디오 출력 생성기들을 통해, 제1 오디오 경보를 생성하기 위한 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices;
One or more audio output generators;
One or more cameras;
One or more processors; And
And a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs,
For displaying, via the display generation component, a representation of a virtual object within a first user interface area comprising a representation of the field of view of one or more cameras, the displaying being detected in a physical environment captured within the field of view of the one or more cameras Including maintaining a first spatial relationship between the plane being created and the representation of the virtual object;
For detecting movement of the device to adjust the field of view of the one or more cameras; And
In response to detecting movement of the device to adjust the field of view of the one or more cameras:
Display of the representation of the virtual object in the first user interface area according to the first spatial relationship between the plane and the virtual object detected in the field of view of the one or more cameras as the field of view of the one or more cameras is adjusted Adjust,
In accordance with a determination that movement of the device causes the virtual object above a threshold amount to move out of the displayed portion of the field of view of the one or more cameras, through the one or more audio output generators, for generating a first audio alert A computer system comprising instructions.
상기 디스플레이 생성 컴포넌트를 통해, 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하게 하는 - 상기 디스플레이하는 것은 상기 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 상기 가상 객체의 표현 사이의 제1 공간적 관계를 유지하는 것을 포함함 -;
상기 하나 이상의 카메라들의 시야를 조정하는 상기 디바이스의 이동을 검출하게 하는; 그리고
상기 하나 이상의 카메라들의 시야를 조정하는 상기 디바이스의 이동을 검출하는 것에 응답하여:
상기 하나 이상의 카메라들의 시야가 조정됨에 따라 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 평면과 상기 가상 객체 사이의 상기 제1 공간적 관계에 따라 상기 제1 사용자 인터페이스 영역 내의 상기 가상 객체의 표현의 디스플레이를 조정하게 하고,
상기 디바이스의 이동이 임계량 초과의 상기 가상 객체로 하여금 상기 하나 이상의 카메라들의 시야의 디스플레이된 부분의 외측으로 이동하게 한다는 결정에 따라, 상기 하나 이상의 오디오 출력 생성기들을 통해, 제1 오디오 경보를 생성하게 하는 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.A computer readable storage medium storing one or more programs, wherein the one or more programs, when executed by a computer system having a display generating component, one or more input devices, one or more audio output generators, and one or more cameras, The computer system,
Causing, via the display generating component, to display a representation of a virtual object within a first user interface area containing a representation of the field of view of one or more cameras, wherein the displaying is detected in a physical environment captured within the field of view of the one or more cameras. Including maintaining a first spatial relationship between the plane being created and the representation of the virtual object;
To detect movement of the device to adjust the field of view of the one or more cameras; And
In response to detecting movement of the device to adjust the field of view of the one or more cameras:
Display of the representation of the virtual object in the first user interface area according to the first spatial relationship between the plane and the virtual object detected in the field of view of the one or more cameras as the field of view of the one or more cameras is adjusted Make adjustments,
In accordance with a determination that movement of the device causes the virtual object above a threshold amount to move out of the displayed portion of the field of view of the one or more cameras, causing, through the one or more audio output generators, to generate a first audio alert. A computer-readable storage medium containing instructions.
디스플레이 생성 컴포넌트;
하나 이상의 입력 디바이스들;
하나 이상의 오디오 출력 생성기들;
하나 이상의 카메라들;
상기 디스플레이 생성 컴포넌트를 통해, 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하기 위한 수단 - 상기 디스플레이하는 것은 상기 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 상기 가상 객체의 표현 사이의 제1 공간적 관계를 유지하는 것을 포함함 -;
상기 하나 이상의 카메라들의 시야를 조정하는 상기 디바이스의 이동을 검출하기 위한 수단; 및
상기 하나 이상의 카메라들의 시야를 조정하는 상기 디바이스의 이동을 검출하는 것에 응답하여:
상기 하나 이상의 카메라들의 시야가 조정됨에 따라 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 평면과 상기 가상 객체 사이의 상기 제1 공간적 관계에 따라 상기 제1 사용자 인터페이스 영역 내의 상기 가상 객체의 표현의 디스플레이를 조정하고,
상기 디바이스의 이동이 임계량 초과의 상기 가상 객체로 하여금 상기 하나 이상의 카메라들의 시야의 디스플레이된 부분의 외측으로 이동하게 한다는 결정에 따라, 상기 하나 이상의 오디오 출력 생성기들을 통해, 제1 오디오 경보를 생성하기 위해 인에이블되는 수단을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices;
One or more audio output generators;
One or more cameras;
Means for displaying, via the display generating component, a representation of a virtual object within a first user interface area comprising a representation of the field of view of one or more cameras, wherein the displaying is in a physical environment captured within the field of view of the one or more cameras Including maintaining a first spatial relationship between the detected plane and the representation of the virtual object;
Means for detecting movement of the device for adjusting the field of view of the one or more cameras; And
In response to detecting movement of the device to adjust the field of view of the one or more cameras:
Display of the representation of the virtual object in the first user interface area according to the first spatial relationship between the plane and the virtual object detected in the field of view of the one or more cameras as the field of view of the one or more cameras is adjusted Adjust,
In accordance with a determination that movement of the device causes the virtual object above a threshold amount to move out of the displayed portion of the field of view of the one or more cameras, through the one or more audio output generators, to generate a first audio alert A computer system comprising means to be enabled.
상기 디스플레이 생성 컴포넌트를 통해, 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하기 위한 수단 - 상기 디스플레이하는 것은 상기 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 상기 가상 객체의 표현 사이의 제1 공간적 관계를 유지하는 것을 포함함 -;
상기 하나 이상의 카메라들의 시야를 조정하는 상기 디바이스의 이동을 검출하기 위한 수단; 및
상기 하나 이상의 카메라들의 시야를 조정하는 상기 디바이스의 이동을 검출하는 것에 응답하여:
상기 하나 이상의 카메라들의 시야가 조정됨에 따라 상기 하나 이상의 카메라들의 시야 내에서 검출되는 상기 평면과 상기 가상 객체 사이의 상기 제1 공간적 관계에 따라 상기 제1 사용자 인터페이스 영역 내의 상기 가상 객체의 표현의 디스플레이를 조정하고,
상기 디바이스의 이동이 임계량 초과의 상기 가상 객체로 하여금 상기 하나 이상의 카메라들의 시야의 디스플레이된 부분의 외측으로 이동하게 한다는 결정에 따라, 상기 하나 이상의 오디오 출력 생성기들을 통해, 제1 오디오 경보를 생성하기 위해 인에이블되는 수단을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display generating component, one or more input devices, one or more audio output generators, and one or more cameras, comprising:
Means for displaying, via the display generating component, a representation of a virtual object within a first user interface area comprising a representation of the field of view of one or more cameras, wherein the displaying is in a physical environment captured within the field of view of the one or more cameras Including maintaining a first spatial relationship between the detected plane and the representation of the virtual object;
Means for detecting movement of the device for adjusting the field of view of the one or more cameras; And
In response to detecting movement of the device to adjust the field of view of the one or more cameras:
Display of the representation of the virtual object in the first user interface area according to the first spatial relationship between the plane and the virtual object detected in the field of view of the one or more cameras as the field of view of the one or more cameras is adjusted Adjust,
In accordance with a determination that movement of the device causes the virtual object above a threshold amount to move out of the displayed portion of the field of view of the one or more cameras, through the one or more audio output generators, to generate a first audio alert An information processing apparatus comprising means to be enabled.
디스플레이 생성 컴포넌트;
하나 이상의 입력 디바이스들;
하나 이상의 카메라들;
하나 이상의 오디오 출력 생성기들;
하나 이상의 프로세서들; 및
상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하며, 상기 하나 이상의 프로그램들은 제186항 내지 제200항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices;
One or more cameras;
One or more audio output generators;
One or more processors; And
A computer system comprising a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the method of any one of claims 186 to 200.
디스플레이 생성 컴포넌트;
하나 이상의 입력 디바이스들;
하나 이상의 오디오 출력 생성기들;
하나 이상의 카메라들; 및
제186항 내지 제200항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.As a computer system,
Display creation component;
One or more input devices;
One or more audio output generators;
One or more cameras; And
A computer system comprising means for performing the method of any of claims 186-200.
제186항 내지 제200항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.An information processing apparatus for use in a computer system having a display generating component, one or more input devices, one or more audio output generators, and one or more cameras, comprising:
An information processing apparatus comprising means for performing the method of any of claims 186-200.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020227015606A KR102666508B1 (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862621529P | 2018-01-24 | 2018-01-24 | |
US62/621,529 | 2018-01-24 | ||
US201862679951P | 2018-06-03 | 2018-06-03 | |
US62/679,951 | 2018-06-03 | ||
DKPA201870346A DK201870346A1 (en) | 2018-01-24 | 2018-06-11 | Devices, Methods, and Graphical User Interfaces for System-Wide Behavior for 3D Models |
DKPA201870346 | 2018-06-11 | ||
US16/145,035 | 2018-09-27 | ||
US16/145,035 US11099707B2 (en) | 2018-01-24 | 2018-09-27 | Devices, methods, and graphical user interfaces for system-wide behavior for 3D models |
PCT/US2019/014791 WO2019147699A2 (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227015606A Division KR102666508B1 (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200110788A true KR20200110788A (en) | 2020-09-25 |
KR102397481B1 KR102397481B1 (en) | 2022-05-12 |
Family
ID=67395660
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247015723A KR20240075927A (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
KR1020207024313A KR102397481B1 (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3D models |
KR1020227015606A KR102666508B1 (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020247015723A KR20240075927A (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227015606A KR102666508B1 (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
Country Status (4)
Country | Link |
---|---|
JP (3) | JP7039714B2 (en) |
KR (3) | KR20240075927A (en) |
AU (3) | AU2019212150B2 (en) |
WO (1) | WO2019147699A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220078005A (en) * | 2020-12-02 | 2022-06-10 | 한국전자기술연구원 | Apparatus and method for reproducing augmented reality image based on divided rendering image |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3993449A1 (en) * | 2020-11-02 | 2022-05-04 | Inter IKEA Systems B.V. | Method and device for communicating a soundscape in an environment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080071559A1 (en) * | 2006-09-19 | 2008-03-20 | Juha Arrasvuori | Augmented reality assisted shopping |
KR20160019964A (en) * | 2013-06-18 | 2016-02-22 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Hybrid world/body locked hud on an hmd |
US20170270715A1 (en) * | 2016-03-21 | 2017-09-21 | Megan Ann Lindsay | Displaying three-dimensional virtual objects based on field of view |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3761106B2 (en) * | 1996-03-04 | 2006-03-29 | シャープ株式会社 | Image forming apparatus having magnification setting device |
JP2004046326A (en) * | 2002-07-09 | 2004-02-12 | Dainippon Screen Mfg Co Ltd | Device and method for displaying picture and program |
JP2007047294A (en) * | 2005-08-08 | 2007-02-22 | Nippon Hoso Kyokai <Nhk> | Stereoscopic image display device |
US9740340B1 (en) * | 2009-07-31 | 2017-08-22 | Amazon Technologies, Inc. | Visually consistent arrays including conductive mesh |
US10198854B2 (en) * | 2009-08-14 | 2019-02-05 | Microsoft Technology Licensing, Llc | Manipulation of 3-dimensional graphical objects for view in a multi-touch display |
US8922583B2 (en) * | 2009-11-17 | 2014-12-30 | Qualcomm Incorporated | System and method of controlling three dimensional virtual objects on a portable computing device |
JP2012089112A (en) * | 2010-09-22 | 2012-05-10 | Nikon Corp | Image display device |
KR101852428B1 (en) * | 2011-03-09 | 2018-04-26 | 엘지전자 주식회사 | Mobile twrminal and 3d object control method thereof |
US8581901B2 (en) * | 2011-07-28 | 2013-11-12 | Adobe Systems Incorporated | Methods and apparatus for interactive rotation of 3D objects using multitouch gestures |
JP5966834B2 (en) * | 2012-02-29 | 2016-08-10 | 株式会社Jvcケンウッド | Image processing apparatus, image processing method, and image processing program |
US20130234926A1 (en) | 2012-03-07 | 2013-09-12 | Qualcomm Incorporated | Visually guiding motion to be performed by a user |
CN107728906B (en) * | 2012-05-09 | 2020-07-31 | 苹果公司 | Device, method and graphical user interface for moving and placing user interface objects |
US9159153B2 (en) * | 2012-06-05 | 2015-10-13 | Apple Inc. | Method, system and apparatus for providing visual feedback of a map view change |
JP6214981B2 (en) * | 2012-10-05 | 2017-10-18 | 株式会社ファイン | Architectural image display device, architectural image display method, and computer program |
US20140282220A1 (en) * | 2013-03-14 | 2014-09-18 | Tim Wantland | Presenting object models in augmented reality images |
US9286727B2 (en) * | 2013-03-25 | 2016-03-15 | Qualcomm Incorporated | System and method for presenting true product dimensions within an augmented real-world setting |
US9245387B2 (en) * | 2013-04-12 | 2016-01-26 | Microsoft Technology Licensing, Llc | Holographic snap grid |
KR101775591B1 (en) | 2013-06-11 | 2017-09-06 | 퀄컴 인코포레이티드 | Interactive and automatic 3-d object scanning method for the purpose of database creation |
JP2015001875A (en) | 2013-06-17 | 2015-01-05 | ソニー株式会社 | Image processing apparatus, image processing method, program, print medium, and print-media set |
JP5937128B2 (en) * | 2014-03-17 | 2016-06-22 | 富士フイルム株式会社 | Augmented reality providing system, method and program |
US9495008B2 (en) * | 2014-06-27 | 2016-11-15 | Amazon Technologies, Inc. | Detecting a primary user of a device |
US9436369B2 (en) * | 2014-09-26 | 2016-09-06 | Disney Enterprises, Inc. | Touch interface for precise rotation of an object |
US10289755B2 (en) * | 2015-01-30 | 2019-05-14 | Technology Research Association For Future Additive Manufacturing | Three-dimensional fabricating system, information processing apparatus, three-dimensional fabricating model arrangement method, and three-dimensional fabricating model arrangement program |
JP6292344B2 (en) * | 2015-03-23 | 2018-03-14 | 株式会社村田製作所 | Touch input device |
-
2019
- 2019-01-23 KR KR1020247015723A patent/KR20240075927A/en active Application Filing
- 2019-01-23 KR KR1020207024313A patent/KR102397481B1/en active IP Right Grant
- 2019-01-23 KR KR1020227015606A patent/KR102666508B1/en active IP Right Grant
- 2019-01-23 WO PCT/US2019/014791 patent/WO2019147699A2/en unknown
- 2019-01-23 JP JP2020540320A patent/JP7039714B2/en active Active
- 2019-01-23 AU AU2019212150A patent/AU2019212150B2/en active Active
-
2022
- 2022-03-01 AU AU2022201389A patent/AU2022201389B2/en active Active
- 2022-03-09 JP JP2022036354A patent/JP7397899B2/en active Active
-
2023
- 2023-12-01 JP JP2023204027A patent/JP2024026250A/en active Pending
-
2024
- 2024-01-10 AU AU2024200149A patent/AU2024200149A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080071559A1 (en) * | 2006-09-19 | 2008-03-20 | Juha Arrasvuori | Augmented reality assisted shopping |
KR20160019964A (en) * | 2013-06-18 | 2016-02-22 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | Hybrid world/body locked hud on an hmd |
US20170270715A1 (en) * | 2016-03-21 | 2017-09-21 | Megan Ann Lindsay | Displaying three-dimensional virtual objects based on field of view |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220078005A (en) * | 2020-12-02 | 2022-06-10 | 한국전자기술연구원 | Apparatus and method for reproducing augmented reality image based on divided rendering image |
Also Published As
Publication number | Publication date |
---|---|
AU2019212150B2 (en) | 2021-12-16 |
WO2019147699A8 (en) | 2020-08-06 |
JP2024026250A (en) | 2024-02-28 |
AU2024200149A1 (en) | 2024-01-25 |
JP7397899B2 (en) | 2023-12-13 |
JP7039714B2 (en) | 2022-03-22 |
KR20240075927A (en) | 2024-05-29 |
KR102666508B1 (en) | 2024-05-20 |
JP2022091798A (en) | 2022-06-21 |
AU2022201389B2 (en) | 2023-10-12 |
JP2021518935A (en) | 2021-08-05 |
WO2019147699A3 (en) | 2019-09-19 |
KR102397481B1 (en) | 2022-05-12 |
KR20220065899A (en) | 2022-05-20 |
WO2019147699A2 (en) | 2019-08-01 |
AU2022201389A1 (en) | 2022-03-24 |
AU2019212150A1 (en) | 2020-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12099692B2 (en) | Devices, methods, and graphical user interfaces for system-wide behavior for 3D models | |
US11922584B2 (en) | Devices, methods, and graphical user interfaces for displaying objects in 3D contexts | |
JP7097991B2 (en) | Devices and methods for measuring using augmented reality | |
KR102540163B1 (en) | Systems, methods, and graphical user interfaces for interacting with augmented and virtual reality environments | |
JP6745852B2 (en) | Devices, methods, and graphical user interfaces for system-wide behavior of 3D models | |
AU2019101597A4 (en) | Devices, methods, and graphical user interfaces for system-wide behavior for 3D models | |
JP2024026250A (en) | Device, method, and graphical user interface for system-wide behavior for 3d model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |