Methods for moving objects in a three-dimensional environment
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- APPLE INC
- Filing Date
- 2024-05-17
- Publication Date
- 2026-06-23
Smart Images

Figure 2026520412000001_ABST
Abstract
Claims
1. It is a method, In a computer system that communicates with a display generation component and one or more input devices, While displaying an object in the environment via the display generation component, a first input corresponding to a request to move the object in the environment is detected via one or more input devices, A method comprising: detecting the first input and changing the position of the object in the environment based on the first input, Changing the position of the object in the environment based on the first input, according to the determination that the object has a first elevation angle with respect to a location corresponding to a first part of the user of the computer system, includes moving the object by an amount based on one or more parameters of the first input, and rotating the object in the environment about a first axis, A method for changing the position of the object in the environment based on a first input, in accordance with the determination that the object has a second elevation angle different from the first elevation angle with respect to the location corresponding to the first part of the user, comprising moving the object by an amount based on one or more parameters of the first input, and rotating the object in the environment about a second axis different from the first axis.
2. The first elevation angle with respect to the location corresponding to the first portion of the user is the first elevation angle with respect to a plane parallel to the ground on which the user is positioned. The method according to claim 1, wherein the second elevation angle with respect to the location corresponding to the first portion of the user is the second elevation angle with respect to the plane.
3. The method according to claim 1 or 2, wherein rotating the object about the first axis and rotating the object about the second axis causes the object to remain oriented toward the user's viewpoint.
4. In response to detecting the first input, The method according to any one of claims 1 to 3, wherein changing the position of the object in the environment based on a first input, according to the determination that the object has a third elevation angle different from the first elevation angle and the second elevation angle, which is within a range of first elevation angles with respect to the location corresponding to the first part of the user, includes moving the object by an amount based on one or more parameters of the first input, and rotating the object in the environment about a third axis different from the first axis and the second axis.
5. The first and second elevation angles for the location corresponding to the first portion of the user are within separate ranges of elevation angles. The method according to any one of claims 1 to 4, wherein the axis of rotation of the object in the environment is variable with respect to the elevation angle of the object which is within the individual range of the elevation angle.
6. The object, upon detecting the first input, has the second elevation angle with respect to the location corresponding to the first portion of the user, and the method is, While the object is displayed in the environment, a second input corresponding to a request to move the object in the environment is detected via one or more input devices, While detecting the second input, The method according to claim 5, further comprising: moving the object by an amount based on one or more parameters of the second input in accordance with the determination that the second input causes the object to have a third elevation angle with respect to the location corresponding to the first part of the user, wherein the third elevation angle is greater than the second elevation angle; and gradually changing the axis of rotation of the object from the second axis to the third axis in the environment as the object changes from having a second elevation angle with respect to the location corresponding to the first part of the user to having a third elevation angle.
7. In response to detecting the first input, In accordance with the determination that the object has a first elevation angle with respect to a location corresponding to a first part of the user of the computer system, the object is rotated about a third axis different from the first axis such that the object remains oriented towards the user's viewpoint when the object is rotated about the first axis, The method according to any one of claims 1 to 6, further comprising: rotating the object about a fourth axis different from the second axis, in accordance with the determination that the object has a second elevation angle with respect to the location corresponding to the first part of the user, such that the object remains oriented towards the user's viewpoint when the object is rotated about the second axis.
8. The first elevation angle and the second elevation angle are within the range of the first elevation angle. In response to detecting the first input, The method according to claim 7, wherein changing the position of the object in the environment based on a first input, according to the determination that the object has a third elevation angle different from the first and second elevation angles, which is within a range of second elevation angles different from the range of first elevation angles with respect to the location corresponding to the first part of the user, includes moving the object by an amount based on one or more parameters of the first input, and rotating the object in the environment about a fifth axis different from the first and second axes, without rotating the object about a sixth axis which causes the object to remain oriented toward the viewpoint of the user when rotated about a fifth axis.
9. The method according to claim 8, wherein the range of the second elevation angle extends further in the first direction from the reference elevation angle than in the second direction from the reference elevation angle in the environment, and the reference elevation angle in the environment corresponds to the horizontal line in the environment.
10. The object, upon detecting the first input, has the third elevation angle with respect to the location corresponding to the first portion of the user, and the method is While the object is displayed in the environment at the third elevation angle, a second input corresponding to a request to move the object in the environment is detected via one or more input devices, While detecting the second input, The method according to claim 9, further comprising: moving the object by an amount based on one or more parameters of the second input in accordance with the determination that the second input causes the object to have a fourth elevation angle different from the third elevation angle, which is within the range of the first elevation angle with respect to the location corresponding to the first part of the user; and gradually changing the amount of rotation of the object in the environment as the object changes from having the third elevation angle with respect to the location corresponding to the first part of the user to having the fourth elevation angle.
11. The method according to any one of claims 1 to 10, wherein rotating the object about the first axis and rotating the object about the second axis are independent of the user's attention.
12. The method according to any one of claims 1 to 11, wherein the first part of the user includes a portion of the user's head.
13. The method according to claim 12, wherein the part of the head is the center of the user's head.
14. The method according to claim 13, wherein the determined center of the head is determined based on the position of the computer system when the computer system is mounted on the user's head.
15. The method according to any one of claims 1 to 14, wherein the first input includes an air drag gesture, and the rotation of the object about the first axis and the second axis occurs while the air drag gesture is detected.
16. The method according to any one of claims 1 to 15, wherein the first input includes an air toss gesture.
17. While the object is displayed in the environment, via one or more input devices, The movement of the location corresponding to the first part of the user with respect to the object from the first location to the second location, and the subsequent detection of a second input corresponding to a request to move the object within the environment, The method further includes, in response to detecting the second input, changing the position of the object in the environment based on the second input, The method according to any one of claims 1 to 16, wherein changing the position of the object in the environment based on a first input, according to a determination that the object has a third elevation angle with respect to a second location corresponding to the first part of the user, includes moving the object by an amount based on one or more parameters of the second input and rotating the object in the environment about a third axis.
18. While the object is displayed in the environment in a first orientation, the movement of the user's viewpoint relative to the object is detected via one or more input devices. In response to detecting the movement of the viewpoint, The method according to any one of claims 1 to 17, further comprising maintaining the object in the first orientation within the environment.
19. While the object is displayed in a first orientation within the environment, a second input, including the movement of the user, is detected via one or more input devices. In response to detecting the second input, The method according to any one of claims 1 to 18, further comprising: rotating the object to have a second orientation different from the first orientation within the environment that causes the object to remain oriented to the user's viewpoint, in accordance with the determination that one or more criteria are met.
20. The method according to claim 19, wherein the one or more criteria are satisfied when the second input includes separate inputs corresponding to a request to move the object in the environment after the user's move.
21. The method according to claim 19 or 20, wherein the one or more criteria are satisfied when the second input includes a separate input corresponding to initiating a process of moving the object within the environment after the user's movement.
22. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and One or more programs, The system comprises, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs are While displaying an object in the environment via the display generation component, a first input corresponding to a request to move the object in the environment is detected via one or more input devices. A computer system including instructions for changing the position of an object in the environment based on the first input, in response to detecting the first input, Changing the position of the object in the environment based on the first input, according to the determination that the object has a first elevation angle with respect to a location corresponding to a first part of the user of the computer system, includes moving the object by an amount based on one or more parameters of the first input, and rotating the object in the environment about a first axis, A computer system that, based on a determination that the object has a second elevation angle different from the first elevation angle with respect to the location corresponding to the first part of the user, changes the position of the object in the environment based on a first input, which includes moving the object by an amount based on one or more parameters of the first input, and rotating the object in the environment about a second axis different from the first axis.
23. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions, and when the instructions are executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, the computer system While displaying an object in the environment via the display generation component, a first input corresponding to a request to move the object in the environment is detected via one or more input devices, A non-temporary computer-readable storage medium that causes a method to be performed which includes detecting the first input and changing the position of the object in the environment based on the first input, Changing the position of the object in the environment based on the first input, according to the determination that the object has a first elevation angle with respect to a location corresponding to a first part of the user of the computer system, includes moving the object by an amount based on one or more parameters of the first input, and rotating the object in the environment about a first axis, A non-temporary computer-readable storage medium wherein changing the position of the object in the environment based on a first input, according to the determination that the object has a second elevation angle different from the first elevation angle with respect to the location corresponding to the first part of the user, includes moving the object by an amount based on one or more parameters of the first input and rotating the object in the environment about a second axis different from the first axis.
24. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and Means for detecting a first input corresponding to a request to move the object within the environment via one or more input devices while the object is being displayed within the environment via the display generation component, A computer system comprising means for detecting the first input and changing the position of the object in the environment based on the first input, Changing the position of the object in the environment based on the first input, according to the determination that the object has a first elevation angle with respect to a location corresponding to a first part of the user of the computer system, includes moving the object by an amount based on one or more parameters of the first input, and rotating the object in the environment about a first axis, A computer system that, based on a determination that the object has a second elevation angle different from the first elevation angle with respect to the location corresponding to the first part of the user, changes the position of the object in the environment based on a first input, which includes moving the object by an amount based on one or more parameters of the first input, and rotating the object in the environment about a second axis different from the first axis.
25. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing the method according to any one of claims 1 to 21.
26. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, include instructions causing the computer system to perform the method according to any one of claims 1 to 21.
27. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising means for performing the method described in any one of claims 1 to 21.
28. It is a method, In a computer system that communicates with a display generation component and one or more input devices, The display generation component is used to display a virtual object at a first position in a three-dimensional environment, While the virtual object is displayed at the first position via the display generation component, a first input is detected via one or more input devices, which includes a request to move the virtual object from the first position to a second position in the three-dimensional environment that is different from the first position. In response to receiving the first input, the virtual object is displayed at the second position in the three-dimensional environment via the display generation component, After detecting the end of the first input, In accordance with the determination that the second position satisfies one or more first criteria, including criteria that are satisfied when an individual part of the virtual object corresponds to an individual position in the three-dimensional environment that exceeds a movement threshold in the three-dimensional environment, the virtual object is moved from the second position to a third position in the three-dimensional environment, the third position being different from the first and second positions. A method comprising: maintaining the display of the virtual object at the second position in the three-dimensional environment in accordance with the determination that the second position does not satisfy one or more of the first criteria.
29. The method according to claim 28, wherein the virtual object is moved to the second position while the first input is continuing, and the virtual object is moved to the third position in response to the detection of the end of the first input.
30. The method according to claim 28 or 29, wherein displaying the virtual object at the second position is performed in response to receiving the first input and after detecting the end of the first input.
31. The method according to claim 30, further comprising, in response to receiving the first input, detecting the end of the first input, and before displaying the virtual object at the second position and before displaying the virtual object at the third position, moving the virtual object in the three-dimensional environment from the fourth position to the second position using simulated inertia.
32. The method according to any one of claims 28 to 31, wherein the third position corresponds to a position in the three-dimensional environment that coincides with the movement threshold.
33. The method according to any one of claims 28 to 32, wherein the movement threshold corresponds to the minimum allowable distance between the individual part of the virtual object and the current viewpoint of the user of the computer system in the three-dimensional environment.
34. The method according to claim 33, wherein the movement threshold has a separate spatial profile to the three-dimensional environment based on the individual parts of the user's body in the computer system.
35. The method according to any one of claims 28 to 34, wherein the movement threshold corresponds to the maximum allowable distance between the individual part of the virtual object and the current viewpoint of the user of the computer system in the three-dimensional environment.
36. The method according to any one of claims 28 to 35, wherein the movement threshold corresponds to the floor of the physical environment of the user of the computer system.
37. After detecting the end of the first input, The virtual object is moved from the second position to a fourth position in the three-dimensional environment, which is different from the first and second positions, according to a determination that the second position satisfies one or more second criteria different from the one or more first criteria, which include criteria that are satisfied when the individual part of the virtual object corresponds to a second individual position in the three-dimensional environment that exceeds a second movement threshold in the three-dimensional environment, which is different from the movement threshold in the three-dimensional environment. The method according to any one of claims 28 to 36, further comprising maintaining the display of the virtual object at the second position in the three-dimensional environment in accordance with the determination that the second position does not satisfy one or more second criteria and does not satisfy one or more first criteria.
38. The method according to claim 37, wherein the individual parts of the virtual object are different from the second individual parts of the virtual object.
39. The method according to any one of claims 28 to 38, wherein the movement threshold is a continuous threshold corresponding to a plurality of different movement boundaries in the three-dimensional environment.
40. The first input includes a first request to move the virtual object by a first magnitude exceeding the movement threshold, and a second request to move the virtual object by a second magnitude after moving it by the first magnitude exceeding the movement threshold, and the method is, In response to the first request, the virtual object is moved by a first amount exceeding the movement threshold, and moving the virtual object by a first amount exceeding the movement threshold includes moving the virtual object by individual first movements per unit movement in the first request. The method according to any one of claims 28 to 39, further comprising, in response to the second request, moving the virtual object by a second amount less than the first amount but exceeding the movement threshold, wherein moving the virtual object by the second amount exceeding the movement threshold includes moving the virtual object by a second individual movement per unit movement in the second request, which is different from the individual first movement per unit movement.
41. The first input includes a first request to move the virtual object by a first magnitude exceeding an individual movement threshold, and a second request to move the virtual object by a second magnitude exceeding the individual movement threshold, which is different from the first request, and the method is as follows: In accordance with the determination that the individual movement threshold is the first movement threshold, In response to the first request, the virtual object is moved by a first amount exceeding the movement threshold, and moving the virtual object by a first amount exceeding the movement threshold includes moving the virtual object by individual first movements per unit movement in the first request. In response to the second request, the virtual object is moved by a second amount less than the first amount and exceeding the movement threshold, wherein moving the virtual object by the second amount exceeding the movement threshold includes moving the virtual object by a second individual movement per unit movement in the second request, which is different from the individual first movement per unit movement in the first request. According to the determination that the individual movement threshold is a second movement threshold different from the first movement threshold, In response to the first request, the virtual object is moved by a third amount exceeding the movement threshold, and moving the virtual object by a third amount exceeding the movement threshold includes moving the virtual object by individual third movements per unit movement in the first request. The method according to any one of claims 28 to 40, further comprising, in response to the second request, moving the virtual object by a fourth amount that is less than the third amount but exceeds the movement threshold, wherein moving the virtual object by the fourth amount that exceeds the movement threshold includes moving the virtual object by a fourth individual movement per unit movement in the second request, which is different from the individual third movement per unit movement in the first request.
42. The method according to any one of claims 28 to 41, wherein the movement of the virtual object from the second position to the third position includes displaying an animation of the movement of the virtual object from the second position to the third position.
43. Displaying the animation of the movement of the virtual object from the second position to the third position is: In accordance with the determination that the distance between the second position and the movement threshold is the first distance, the animation is displayed at the first size, The method according to claim 42, comprising: displaying the animation at a second size different from the first size, in accordance with the determination that the distance between the second position and the movement threshold is a second distance different from the first distance.
44. The movement of the virtual object exceeding the movement threshold and the movement of the virtual object from the second position to the third position are governed by a first set of one or more simulated physical features associated with the movement threshold, and the method While the virtual object is displayed at the first position via the display generation component, a second input different from the first input is detected via one or more input devices, which includes a request to move the virtual object from the first position to a first updated position in the three-dimensional environment that is different from the first position and the second position. In response to receiving the second input, the virtual object is displayed at the first updated position in the three-dimensional environment via the display generation component, After detecting the end of the second input, Moving the virtual object from the first updated position to the second updated position in the three-dimensional environment, where the second updated position differs from the first position and the first updated position, is equivalent to moving the virtual object to the second updated position according to the first set of simulated physical features, in accordance with the determination that the first updated position satisfies one or more second criteria, including criteria that are satisfied when the individual part of the virtual object corresponds to an individual second position in the three-dimensional environment that exceeds a second movement threshold in the three-dimensional environment, which is different from the movement threshold. The method according to any one of claims 28 to 43, further comprising: maintaining the display of the virtual object at the first updated position in the three-dimensional environment in accordance with the determination that the first updated position does not satisfy one or more second criteria.
45. The movement of the virtual object exceeding the movement threshold and the movement of the virtual object from the second position to the third position are governed by a first set of one or more simulated physical features associated with the movement threshold, and the method While the virtual object is displayed at the first position via the display generation component, a second input different from the first input is detected via one or more input devices, which includes a request to move the virtual object from the first position to a first updated position in the three-dimensional environment that is different from the first position and the second position. In response to receiving the second input, the virtual object is displayed at the first updated position in the three-dimensional environment via the display generation component, After detecting the end of the second input, Moving the virtual object from the first updated position to the second updated position is equivalent to moving it to a second updated position in the three-dimensional environment, where the second updated position is different from the first position and the first updated position, and the second updated position is different from the first position and the first updated position, and moving the virtual object from the first updated position to the second updated position is equivalent to moving it to a second updated position which conforms to a second set of one or more simulated physical features different from the first set of one or more simulated physical features. The method according to any one of claims 28 to 44, further comprising: maintaining the display of the virtual object at the first updated position in the three-dimensional environment in accordance with the determination that the first updated position does not satisfy one or more second criteria.
46. While the virtual object is displayed at the first position via the display generation component, the system detects a first input and a third input different from the second input via one or more input devices, including a request to move the virtual object from the first position to a third updated position in the three-dimensional environment that is different from the first position, the second position, and the first updated position. In response to receiving the third input, the virtual object is displayed at the third updated position in the three-dimensional environment via the display generation component, After detecting the end of the third input, In accordance with the determination that the third updated position satisfies one or more first criteria and one or more second criteria, the virtual object is moved from the third updated position to a fourth updated position in the three-dimensional environment, wherein the fourth updated position differs from the first and second updated positions in that moving the virtual object from the third updated position to the fourth updated position is equivalent to moving it to a fourth updated position that conforms to the first set of one or more simulated physical features and the second set of one or more simulated physical features. The method according to claim 45, further comprising maintaining the display of the virtual object at the third updated position in the three-dimensional environment, in accordance with the determination that the third updated position does not satisfy one or more of the first criteria and does not satisfy one or more of the second criteria.
47. The movement of the virtual object exceeding the movement threshold and the movement of the virtual object from the second position to the third position are governed by a first set of one or more simulated physical features associated with the movement threshold, and the method While the virtual object is displayed at the first position via the display generation component, a second input different from the first input is detected via one or more input devices, which includes a request to move the virtual object from the first position to a first updated position in the three-dimensional environment that is different from the first position and the second position. In response to receiving the second input, the virtual object is displayed at the first updated position in the three-dimensional environment via the display generation component, After detecting the end of the second input, Moving the virtual object from the first updated position to the second updated position in the three-dimensional environment according to a determination that the first updated position satisfies one or more second criteria, including criteria that are satisfied when the individual part of the virtual object corresponds to an individual second position in the three-dimensional environment that exceeds a second movement threshold in the three-dimensional environment, which is different from the movement threshold, and that moving the virtual object from the first position to the first updated position and moving the virtual object from the first updated position to the second updated position conforms to the first set of one or more simulated physical features, In accordance with the determination that the first updated position does not satisfy one or more of the second criteria, the display of the virtual object at the first updated position in the three-dimensional environment is maintained. While the virtual object is displayed at the first position via the display generation component, a third input different from the first input and the second input is detected via one or more input devices, including a request to move the virtual object from the first position to a third updated position in the three-dimensional environment that is different from the first position and the first updated position. In response to receiving the third input, the virtual object is displayed at the third updated position in the three-dimensional environment via the display generation component, After detecting the end of the third input, Moving the virtual object from the third updated position to the fourth updated position in the three-dimensional environment according to a determination that satisfies one or more third criteria, including criteria that are satisfied when the individual part of the virtual object corresponds to an individual third position in the three-dimensional environment that exceeds a third movement threshold in the three-dimensional environment, which is different from the movement threshold and the second movement threshold, wherein moving the virtual object from the first position to the third updated position and moving the virtual object from the third updated position to the fourth updated position are subject to a second set of one or more simulated physical features, which is different from the first set of one or more simulated physical features. The method according to any one of claims 28 to 46, further comprising maintaining the display of the virtual object at the third updated position in the three-dimensional environment in accordance with the determination that the third updated position does not satisfy one or more third criteria.
48. In accordance with the computer system's determination that the user's posture is a first pose, the movement threshold corresponds to a first location in the three-dimensional environment. The method according to any one of claims 28 to 47, wherein, in accordance with the determination that the user's posture is a second posture different from the first posture, the movement threshold corresponds to a second location in the three-dimensional environment that is different from the first location.
49. The movement threshold corresponds to a first range of allowable distances to the three-dimensional environment in a first direction to the three-dimensional environment, and the method is While the virtual object is displayed at the first position via the display generation component, the system detects a second input different from the first input, via one or more input devices, which includes a request to move the virtual object from the first position to a first updated position in the three-dimensional environment that is different from the first position and the second position, wherein the movement of the virtual object is in a second direction relative to the three-dimensional environment that is different from the first direction, and the first updated position corresponds to a position in the three-dimensional environment that corresponds to a location that crosses the physical boundary in the physical environment of the user of the computer system. The method according to any one of claims 28 to 48, further comprising displaying the virtual object at the first updated position in the three-dimensional environment via the display generation component in response to receiving the second input.
50. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is Memory for storing one or more programs, The system comprises one or more processors, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, A virtual object is displayed at a first position in the three-dimensional environment via the aforementioned display generation component. While the virtual object is displayed at the first position via the display generation component, a first input is detected via one or more input devices, which includes a request to move the virtual object from the first position to a second position in the three-dimensional environment that is different from the first position. Upon receiving the first input, the virtual object is displayed at the second position in the three-dimensional environment via the display generation component. After detecting the end of the first input, In accordance with the determination that the second position satisfies one or more first criteria, including criteria that are satisfied when an individual part of the virtual object corresponds to an individual position in the three-dimensional environment that exceeds a movement threshold in the three-dimensional environment, the virtual object is moved from the second position to a third position in the three-dimensional environment, the third position being different from the first and second positions. A computer system including instructions for maintaining the display of the virtual object at the second position in the three-dimensional environment, in accordance with the determination that the second position does not satisfy one or more of the first criteria.
51. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions, and when the instructions are executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, the computer system The display generation component is used to display a virtual object at a first position in a three-dimensional environment, While the virtual object is displayed at the first position via the display generation component, a first input is detected via one or more input devices, which includes a request to move the virtual object from the first position to a second position in the three-dimensional environment that is different from the first position. In response to receiving the first input, the virtual object is displayed at the second position in the three-dimensional environment via the display generation component, After detecting the end of the first input, In accordance with the determination that the second position satisfies one or more first criteria, including criteria that are satisfied when an individual part of the virtual object corresponds to an individual position in the three-dimensional environment that exceeds a movement threshold in the three-dimensional environment, the virtual object is moved from the second position to a third position in the three-dimensional environment, the third position being different from the first and second positions. A non-temporary computer-readable storage medium that causes a method to be performed which includes maintaining the display of the virtual object at the second position in the three-dimensional environment, in accordance with the determination that the second position does not satisfy one or more of the first criteria.
52. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is Memory for storing one or more programs, The system comprises one or more processors, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, Means for displaying a virtual object at a first position in a three-dimensional environment via the aforementioned display generation component, Means for detecting a first input via one or more input devices, which includes a request to move the virtual object from the first position to a second position in the three-dimensional environment different from the first position, while the virtual object is being displayed at the first position via the display generation component, In response to receiving the first input, means for displaying the virtual object at the second position in the three-dimensional environment via the display generation component, After detecting the end of the first input, In accordance with the determination that the second position satisfies one or more first criteria, including criteria that are satisfied when an individual part of the virtual object corresponds to an individual position in the three-dimensional environment that exceeds a movement threshold in the three-dimensional environment, the virtual object is moved from the second position to a third position in the three-dimensional environment, the third position being different from the first and second positions. A computer system comprising: means for maintaining the display of the virtual object at the second position in the three-dimensional environment, in accordance with the determination that the second position does not satisfy one or more first criteria.
53. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing the method according to any one of claims 28 to 49.
54. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, include instructions causing the computer system to perform the method according to any one of claims 28 to 49.
55. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising means for carrying out the method described in any one of claims 28 to 49.
56. It is a method, In a computer system that communicates with a display generation component and one or more input devices, While displaying an object in the environment via the display generation component, the system detects inputs via one or more input devices that correspond to a request to move the object in a first direction within the environment relative to the user's viewpoint of the computer system. A method comprising, in response to detecting the input, moving the object in the first direction within the environment relative to the user's viewpoint in accordance with the input via the display generation component, wherein the movement is A first part of the movement, the first part of the movement includes moving the object by a first distance within the environment, and during the first part of the movement, scaling the object by a first amount. The second part of the aforementioned movement, The second portion of the movement includes moving the object by a second distance within the environment, A method comprising scaling the object by a second amount greater than the first amount during the second part of the movement, wherein the amount of scaling per unit distance moved during the first part of the movement is less than the amount of scaling per unit distance moved during the second part of the movement.
57. In response to detecting the input, scaling the object by the second amount is: In accordance with the determination that moving the object in the first direction corresponds to moving the object away from the user's viewpoint, the object is scaled by a third amount, The method according to claim 56, comprising scaling the object by a fourth amount different from the third amount, in accordance with the determination that moving the object in the first direction corresponds to moving the object toward the user's viewpoint.
58. The method according to claim 56 or 57, wherein the environment is a three-dimensional environment including one or more objects, the one or more objects including the objects are virtual, and in the three-dimensional environment, at least a portion of the user's physical environment is visible.
59. Moving the object by a first distance during the first portion of the movement according to the input includes moving the object at a first velocity according to the input, and the method is During the second portion of the movement, while the object is moved by a second distance after the first portion of the movement according to the input, In accordance with the determination that the object is moving at a separate velocity faster than the velocity threshold according to the input, the scaling of the object by the second amount is discontinued. The method according to any one of claims 56 to 58, further comprising scaling the object by a second amount according to the determination that the object has been moved at an individual velocity less than the velocity threshold in accordance with the input.
60. Moving the object by a first distance during the first portion of the movement according to the input includes moving the object at a first velocity according to the input, and the method is During the second portion of the movement, while the object is moved by a second distance after the first portion of the movement according to the input, The method according to any one of claims 56 to 59, further comprising scaling the object by a second amount in accordance with the determination that the object is no longer being moved in accordance with the input.
61. Moving the object by a first distance during the first portion of the movement according to the input includes moving the object for a period of less than a threshold time according to the input, and the method is During the second portion of the movement, while the object is moved by a second distance after the first portion of the movement according to the input, The determination that the movement of the object caused the object to move for less than the threshold time amount according to the input, and the subsequent cessation of scaling the object by the second amount, The method according to any one of claims 56 to 60, further comprising scaling the object by a second amount in accordance with the determination that the movement of the object caused the object to move over a threshold time period in accordance with the input.
62. The first distance over which the object is moved during the first portion of the movement according to the input is within a threshold distance, and the method is During the second portion of the movement, while the object is moved by a second distance after the first portion of the movement according to the input, By moving the object by the second distance according to the input, and determining that the object has moved less than the threshold distance, the scaling of the object by the second amount is stopped. The method according to any one of claims 56 to 61, further comprising: moving the object by the second distance in accordance with the input, thereby scaling the object by a second amount in accordance with the determination that the object has moved by at least the threshold distance.
63. Scaling the object by the second amount during the second portion of the movement is After the start of the movement of the object in the input, the scaling of the object is stopped for a threshold time period. The method according to any one of claims 56 to 62, comprising scaling the object by a second amount after the threshold time amount has elapsed.
64. In response to detecting the aforementioned input, moving the object in the environment in the first direction relative to the user's viewpoint according to the input, in accordance with the determination that the object is positioned within a threshold distance from the user's viewpoint, The method according to any one of claims 56 to 63, wherein the scaling of the object is stopped while the object is being moved within the threshold distance from the user's viewpoint.
65. Scaling the object during the input includes scaling the object using a first scaling delay, and the method is While the object is displayed in the environment, a second input is detected via one or more input devices that corresponds to a request to move the object in a second direction opposite to the first direction in the environment relative to the user's viewpoint. The method according to any one of claims 56 to 64, further comprising, in response to detecting the second input, moving the object in the second direction in the environment relative to the user's viewpoint in accordance with the second input via the display generation component, wherein the moving includes scaling the object in the second input faster than the first scaling delay.
66. The method according to any one of claims 56 to 65, wherein moving the object in the first direction corresponds to moving the object away from the user's viewpoint in the three-dimensional environment.
67. The input includes a separate input corresponding to initiating a process of moving the object within the environment, and the method is The method according to any one of claims 56 to 66, further comprising generating non-visual feedback indicating that the process of moving the object within the environment has been initiated in response to the detection of the individual inputs.
68. While moving the object within the environment according to the input, the end of the input is detected via one or more input devices. The method according to any one of claims 56 to 67, further comprising: generating a first non-visual feedback indicating that the input has ended, in response to detecting the end of the input.
69. The input includes a separate input corresponding to initiating a process of moving the object within the environment, and the method is The method of claim 68, further comprising generating a second non-visual feedback indicating that the process for moving the object in the environment has been initiated in response to the detection of the individual inputs, wherein the second non-visual feedback is different from the first non-visual feedback.
70. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and One or more programs, The system comprises, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs are While displaying an object in the environment via the display generation component, input corresponding to a request to move the object in a first direction within the environment relative to the user's viewpoint of the computer system is detected via one or more input devices. A computer system that, upon detecting the aforementioned input, includes a command to move the object in the first direction within the environment relative to the user's viewpoint in accordance with the input via the display generation component, wherein the movement is A first part of the movement, the first part of the movement includes moving the object by a first distance within the environment, and during the first part of the movement, scaling the object by a first amount. The second part of the aforementioned movement, The second portion of the movement includes moving the object by a second distance within the environment, A computer system comprising scaling the object by a second amount greater than the first amount during the second part of the movement, wherein the amount of scaling per unit distance traveled during the first part of the movement is less than the amount of scaling per unit distance traveled during the second part of the movement.
71. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions, and when the instructions are executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, the computer system While displaying an object in the environment via the display generation component, the system detects inputs via one or more input devices that correspond to a request to move the object in a first direction within the environment relative to the user's viewpoint of the computer system. A non-temporary computer-readable storage medium, which, upon detection of the aforementioned input, causes the display generation component to perform a method including moving the object in the first direction within the environment relative to the user's viewpoint in accordance with the aforementioned input, wherein the movement is A first part of the movement, the first part of the movement includes moving the object by a first distance within the environment, and during the first part of the movement, scaling the object by a first amount. The second part of the aforementioned movement, The second portion of the movement includes moving the object by a second distance within the environment, A non-temporary computer-readable storage medium comprising scaling the object by a second amount greater than the first amount during the second part of the movement, wherein the amount of scaling per unit distance traveled during the first part of the movement is less than the amount of scaling per unit distance traveled during the second part of the movement.
72. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and Means for detecting inputs via one or more input devices that correspond to a request to move the object in a first direction within the environment relative to the user's viewpoint of the computer system, while the object is being displayed in the environment via the display generation component, A computer system comprising, upon detection of the aforementioned input, means for moving the object in the first direction within the environment relative to the user's viewpoint in accordance with the input via the display generation component, wherein the movement is A first part of the movement, the first part of the movement includes moving the object by a first distance within the environment, and during the first part of the movement, scaling the object by a first amount. The second part of the aforementioned movement, The second portion of the movement includes moving the object by a second distance within the environment, A computer system comprising scaling the object by a second amount greater than the first amount during the second part of the movement, wherein the amount of scaling per unit distance traveled during the first part of the movement is less than the amount of scaling per unit distance traveled during the second part of the movement.
73. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing the method according to any one of claims 56 to 69.
74. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, include instructions causing the computer system to perform the method according to any one of claims 56 to 69.
75. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising means for performing the method described in any one of claims 56 to 69.
76. It is a method, In a computer system that communicates with a display generation component and one or more input devices, The display generation component detects a first input, including movement, while displaying a virtual object. In response to detecting the first input, the virtual object is moved according to the movement of the first input, A method comprising: displaying the virtual object moving in accordance with the movement of the first input via the display generation component; detecting the end of the movement of the first input while the movement of the first input is in a particular direction via one or more input devices; and, in response to detecting the end of the first input, continuing to move the virtual object in the environment according to a separate movement model that specifies how the movement of the virtual object continues after the end of the input is detected, wherein continuing the movement of the virtual object according to the separate movement model is In accordance with the determination that the individual direction is closer to the first reference direction than to the second reference direction, the virtual object is moved to a first updated direction, where the difference between the first updated direction and the first reference direction is smaller than the difference between the individual direction and the first reference direction. A method comprising moving the virtual object in a second updated direction different from the first updated direction, according to a determination that the individual direction is closer to the second reference direction than to the first reference direction, wherein the difference between the second updated direction and the second reference direction is smaller than the difference between the individual direction and the second reference direction.
77. The method according to claim 76, wherein the first reference direction and the second reference direction are orthogonal to each other, and continuing to move the virtual object according to the individual movement models includes moving the virtual object simultaneously in both the first reference direction and the second reference direction.
78. The method according to claim 77, wherein the first reference direction is horizontal to a reference location for the user of the computer system associated with the input, and the second reference direction is vertical to the reference location for the user, the difference between the first updated direction and the horizontal direction is smaller than the difference between the individual direction and the vertical direction, and the difference between the second updated direction and the vertical direction is smaller than the difference between the individual direction and the horizontal direction.
79. The method according to claim 78, wherein the first updated direction includes a component of the second reference direction, the component of the second reference direction of the first updated direction is based on the individual direction of the first input, and the second updated direction includes a component of the first reference direction, the component of the first reference direction of the second updated direction is based on the individual direction of the first input.
80. In response to detecting the end of the first input, The method of claim 78, further comprising moving the virtual object in the environment in a third updated direction according to a determination that the individual directions are equidistant from the first reference direction and the second reference direction, wherein the third updated direction is the same as the individual directions.
81. Continuing to move the virtual object within the environment according to the individual movement model means In accordance with the determination that the individual directions are closer to the first reference direction than the second reference direction, and that the individual directions are separated from the first reference direction by a first angular distance, the virtual object is moved in the environment in the first updated direction such that the first updated direction is separated from the first reference direction by a second angular distance, where the first angular distance and the second angular distance are different. The method includes moving the virtual object in the environment in the first updated direction such that the first updated direction, which is different from the first reference direction, is a fourth angular distance from the first reference direction, based on the determination that the individual direction is closer to the first reference direction than the second reference direction, and the individual direction is a third angular distance from the first reference direction, where the third angular distance is a third angular distance, and the third angular distance is different from the first angular distance. The method according to any one of claims 77 to 80, wherein the first ratio between the first angular distance and the second angular distance is different from the second ratio between the third angular distance and the fourth angular distance.
82. The method according to any one of claims 76 to 81, wherein continuing to move the virtual object according to the movement model includes moving the virtual object simultaneously in the first reference direction, the second reference direction and the third reference direction, the first, second and third reference directions being orthogonal to each other.
83. In accordance with the determination that the individual direction is closer to the first reference direction in the environment, while the movement of the virtual object continues according to the individual movement model, one or more properties of the virtual object other than the location of the virtual object are gradually modified based on the first updated direction. The method according to any one of claims 76 to 82, further comprising: gradually modifying one or more of the properties of the virtual object other than the location of the virtual object based on the second updated direction, while the movement of the virtual object continues according to the individual movement model, in accordance with the determination that the individual direction is closer to the second reference direction in the environment.
84. The method according to claim 83, wherein one or more of the characteristics of the virtual object include the size of the virtual object.
85. The method according to claim 83 or 84, wherein the one or more properties of the virtual object include the orientation of the virtual object.
86. Gradually modifying one or more of the properties of the virtual object other than the location of the virtual object based on the first updated direction is: Modify one or more of the characteristics of the virtual object in a first manner, in accordance with the determination that the current location of the virtual object has a first spatial arrangement with respect to the viewpoint of the user of the computer system. The method according to any one of claims 83 to 85, comprising modifying one or more of the characteristics of the virtual object in a second manner different from the first manner, based on a determination that the current location of the virtual object has a second spatial arrangement different from the first spatial arrangement with respect to the viewpoint of the user of the computer system.
87. The method according to claim 86, wherein the user's viewpoint is determined when the end of the movement is detected while the movement of the first input is in the individual direction.
88. The method according to any one of claims 76 to 87, wherein the first input is an air gesture.
89. The method according to any one of claims 76 to 88, wherein the virtual object is a window.
90. While the virtual object is being displayed via the aforementioned display generation component, a second input, including movement, is detected. While detecting the second input, move the virtual object according to the movement of the second input, While displaying the virtual object moving in accordance with the movement of the second input via the display generation component, the end of the movement associated with the second input is detected via one or more input devices while the movement of the second input is in a separate direction, The method according to any one of claims 76 to 89, further comprising: detecting the termination of the second input and determining that the speed of the second input falls below a speed threshold; terminating the movement of the virtual object.
91. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and One or more programs, The system comprises, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs are While displaying a virtual object via the aforementioned display generation component, a first input, including movement, is detected. Upon detecting the first input, the virtual object is moved according to the movement of the first input. A computer system including instructions to display the virtual object moving in accordance with the movement of the first input via the display generation component, to detect the end of the movement of the first input via one or more input devices while the movement of the first input is in a particular direction, and to continue moving the virtual object in the environment according to a separate movement model that specifies how the movement of the virtual object continues after the detection of the end of the input, wherein continuing the movement of the virtual object according to the separate movement model is In accordance with the determination that the individual direction is closer to the first reference direction than to the second reference direction, the virtual object is moved to a first updated direction, where the difference between the first updated direction and the first reference direction is smaller than the difference between the individual direction and the first reference direction. A computer system comprising: moving the virtual object in a second updated direction different from the first updated direction, according to a determination that the individual direction is closer to the second reference direction than to the first reference direction, wherein the difference between the second updated direction and the second reference direction is smaller than the difference between the individual direction and the second reference direction.
92. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions, and when the instructions are executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, the computer system The display generation component detects a first input, including movement, while displaying a virtual object. In response to detecting the first input, the virtual object is moved according to the movement of the first input, A non-temporary computer-readable storage medium that causes a method to be performed which includes, while displaying the virtual object moving in accordance with the movement of the first input via the display generation component, detecting the end of the movement of the first input via one or more input devices while the movement of the first input is in a particular direction, and, in response to the detection of the end of the first input, continuing to move the virtual object in the environment according to a particular movement model that specifies how the movement of the virtual object continues after the detection of the end of the input, wherein the continuing the movement of the virtual object according to the particular movement model is In accordance with the determination that the individual direction is closer to the first reference direction than to the second reference direction, the virtual object is moved to a first updated direction, where the difference between the first updated direction and the first reference direction is smaller than the difference between the individual direction and the first reference direction. A non-temporary computer-readable storage medium, comprising moving the virtual object in a second updated direction different from the first updated direction, according to a determination that the individual direction is closer to the second reference direction than to the first reference direction, wherein the difference between the second updated direction and the second reference direction is smaller than the difference between the individual direction and the second reference direction.
93. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and The means for detecting a first input, including movement, while displaying a virtual object via the aforementioned display generation component, A means for moving the virtual object in accordance with the movement of the first input in response to the detection of the first input, A computer system comprising: while displaying the virtual object moving in accordance with the movement of the first input via the display generation component, means for detecting the end of the movement of the first input while the movement of the first input is in a particular direction via one or more input devices, and, in response to detecting the end of the first input, means for continuing to move the virtual object in the environment according to a particular movement model that specifies how the movement of the virtual object continues after the end of the input is detected, wherein continuing the movement of the virtual object according to the particular movement model means In accordance with the determination that the individual direction is closer to the first reference direction than to the second reference direction, the virtual object is moved to a first updated direction, where the difference between the first updated direction and the first reference direction is smaller than the difference between the individual direction and the first reference direction. A computer system comprising: moving the virtual object in a second updated direction different from the first updated direction, according to a determination that the individual direction is closer to the second reference direction than to the first reference direction, wherein the difference between the second updated direction and the second reference direction is smaller than the difference between the individual direction and the second reference direction.
94. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing the method according to any one of claims 76 to 90.
95. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, include instructions causing the computer system to perform the method according to any one of claims 76 to 90.
96. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising means for carrying out the method described in any one of claims 76 to 90.
97. It is a method, In a computer system that communicates with a display generation component and one or more input devices, While displaying an object in the environment via the display generation component, a first input corresponding to the selection of the object is detected via one or more input devices, wherein the object is displayed with one or more first spatial characteristics in relation to the environment. In response to detecting the first input, When the first input is detected, in accordance with the determination that the object is in a first location in the environment with respect to the user's viewpoint of the computer system, the display generation component updates the display of the object such that it has one or more second spatial characteristics to the environment that are different from the one or more first spatial characteristics, wherein the object is updated from having one or more first spatial characteristics to having one or more second spatial characteristics over a first period greater than zero. A method comprising updating the display of the object to the environment such that, upon detection of the first input, the object is in a second location in the environment different from the first location in the environment relative to the user's viewpoint, the object has one or more third spatial characteristics different from the one or more first spatial characteristics and the one or more second spatial characteristics, wherein the object is updated to have one or more third spatial characteristics over a second period greater than zero.
98. Updating the object from having one or more first spatial characteristics over the first period to having one or more third spatial characteristics is based on one or more first simulated physical characteristics. The method according to claim 97, wherein updating the object from having one or more first spatial characteristics to having one or more third spatial characteristics over the second period is based on one or more second simulated physical characteristics.
99. The one or more first simulated physical features include a first simulated inertial characteristic, The feature according to claim 98, wherein the one or more second simulated physical features include a second simulated inertial characteristic.
100. The one or more first simulated physical features include a first simulated law of gravity, The feature according to claim 98, wherein the one or more second simulated physical features include a second simulated law of gravity.
101. To detect a second input via one or more input devices that corresponds to a request to move the object to a third location in the environment that is different from the first and second locations in relation to the user's viewpoint, In response to detecting the second input, After detecting the first input, and before the display of the object is updated to have one or more second spatial characteristics or one or more third spatial characteristics, in accordance with the determination that the second input has been detected, the display of the object is updated to have one or more fourth spatial characteristics different from the one or more second spatial characteristics and one or more third spatial characteristics for the third location in the environment, using the first spatial characteristic transformation by the second input. The method according to any one of claims 97 to 100, further comprising: updating the display of the object to have one or more fifth spatial characteristics different from the one or more fourth spatial characteristics for the third location in the environment, using a second spatial characteristic transformation according to the second input, after detecting the first input and after updating the display of the object to have one or more second spatial characteristics or one or more third spatial characteristics, in accordance with the determination that the second input has been detected.
102. The first spatial property transformation described above is based on one or more simulated physical features, The feature of claim 101, wherein the second spatial property transformation is not based on the one or more simulated physical features.
103. The method according to any one of claims 97 to 102, wherein the one or more first spatial characteristics for the environment include the individual locations of the objects in the environment with respect to the user's viewpoint.
104. The method according to any one of claims 97 to 103, wherein the one or more first spatial characteristics for the environment include the individual sizes of the objects in the environment with respect to the user's viewpoint.
105. The method according to any one of claims 97 to 104, wherein the one or more first spatial characteristics for the environment include the individual orientation of the objects in the environment with respect to the user's viewpoint.
106. After detecting the first input, updating the display of the object to have one or more second spatial characteristics or one or more third spatial characteristics in relation to the environment, a second input corresponding to the movement of the object relative to the user's viewpoint is detected via one or more input devices, In response to detecting the second input, The method according to any one of claims 97 to 105, further comprising updating the display of the object to have one or more fourth spatial characteristics different from the one or more second spatial characteristics and the one or more third spatial characteristics with respect to the environment, wherein the object is updated to have one or more fourth spatial characteristics from having one or more second spatial characteristics or the one or more third spatial characteristics for a third period greater than zero.
107. The method according to claim 106, wherein the second input corresponds to the movement of the object in the environment.
108. The method according to claim 106, wherein the second input includes moving the user's viewpoint relative to the environment.
109. While the first input is not detected, a second input corresponding to the movement of the user's viewpoint relative to the environment is detected via one or more input devices, In response to detecting the first input, The method according to any one of claims 97 to 108, further comprising deactivating the display of one or more spatial properties of the object in relation to the environment.
110. After detecting the first input, updating the display of the object to have one or more second spatial characteristics or one or more third spatial characteristics for the environment, a second input corresponding to the movement of the object in the environment is detected via one or more input devices. In response to detecting the second input, The method according to any one of claims 97 to 109, further comprising updating the representation of the object to the environment such that it has one or more fourth spatial characteristics different from the one or more second spatial characteristics and the one or more third spatial characteristics, in accordance with the determination that the object has been moved at a separate velocity greater than a velocity threshold based on the second input, wherein the object is updated to have one or more fourth spatial characteristics from having one or more second spatial characteristics or the one or more third spatial characteristics over a third period shorter than the first and second periods, based on the second input.
111. The method according to any one of claims 97 to 110, wherein detecting the first input includes detecting an air gesture performed by the first part of the user.
112. The termination of the first input is detected via one or more input devices, In response to detecting the end of the first input, The method according to any one of claims 97 to 111, further comprising: continuing to update the representation of one or more spatial properties of the object in the environment according to a separate movement model that specifies how the movement of the object in the environment continues after detecting the end of the first input.
113. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and One or more programs, The system comprises, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs are While displaying an object in the environment via the display generation component, a first input corresponding to the selection of the object is detected via one or more input devices, wherein the object is displayed with one or more first spatial characteristics in relation to the environment. In response to detecting the first input, When the first input is detected, in accordance with the determination that the object is in a first location in the environment with respect to the user's viewpoint of the computer system, the display generation component updates the display of the object such that it has one or more second spatial characteristics to the environment that are different from the one or more first spatial characteristics, wherein the object is updated from having one or more first spatial characteristics to having one or more second spatial characteristics over a first period greater than zero. A computer system including an instruction to update the display of the object in relation to the environment such that, when the first input is detected, the object is in a second location in the environment different from the first location in relation to the user's viewpoint, the object has one or more third spatial characteristics different from the one or more first spatial characteristics and the one or more second spatial characteristics, wherein the object is updated to have one or more third spatial characteristics over a second period greater than zero.
114. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions, and when the instructions are executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, the computer system While displaying an object in the environment via the display generation component, a first input corresponding to the selection of the object is detected via one or more input devices, wherein the object is displayed with one or more first spatial characteristics in relation to the environment. In response to detecting the first input, When the first input is detected, in accordance with the determination that the object is in a first location in the environment with respect to the user's viewpoint of the computer system, the display generation component updates the display of the object such that it has one or more second spatial characteristics to the environment that are different from the one or more first spatial characteristics, wherein the object is updated from having one or more first spatial characteristics to having one or more second spatial characteristics over a first period greater than zero. A non-temporary computer-readable storage medium that, upon detection of the first input, causes the medium to perform a method including updating the display of the object in the environment to have one or more first spatial characteristics and one or more third spatial characteristics different from the one or more second spatial characteristics, in accordance with the determination that the object is in a second location in the environment different from the first location in the environment relative to the user's viewpoint, wherein the object is updated over a second period greater than zero from having one or more first spatial characteristics to having one or more third spatial characteristics.
115. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and While displaying an object in the environment via the display generation component, means for detecting a first input corresponding to the selection of the object, via one or more input devices, the object being displayed with one or more first spatial characteristics in relation to the environment, In response to detecting the first input, When the first input is detected, in accordance with the determination that the object is in a first location in the environment with respect to the user's viewpoint of the computer system, the display generation component updates the display of the object such that it has one or more second spatial characteristics to the environment that are different from the one or more first spatial characteristics, wherein the object is updated from having one or more first spatial characteristics to having one or more second spatial characteristics over a first period greater than zero. A computer system comprising: means for updating the display of an object in relation to the environment such that, when a first input is detected, the object is in a second location in the environment different from the first location in relation to the user's viewpoint, the object has one or more third spatial characteristics different from the one or more first spatial characteristics and the one or more second spatial characteristics, wherein the object is updated to have one or more third spatial characteristics over a second period greater than zero.
116. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing the method according to any one of claims 97 to 112.
117. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, include instructions causing the computer system to perform the method according to any one of claims 97 to 112.
118. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising means for performing the method described in any one of claims 97 to 112.
119. It is a method, In a computer system that communicates with a display generation component and one or more input devices, A first input corresponding to moving the virtual object in the environment via one or more input devices while displaying the virtual object in the environment via the display generation component, and while an offset exists between a first vector extending from an individual pivot point toward the virtual object and a second vector extending from the individual pivot point toward the first part of the user, wherein the first input detects a first input corresponding to the movement of the first part of the user. In response to detecting the first input, A method comprising moving the virtual object in the environment in a first manner according to the first input, based on the determination that the first input corresponds to the movement of the first part of the user in a first direction that moves the second vector extending from the individual pivot point toward the first part of the user toward the location where the virtual object was displayed before the movement of the first part of the user was detected, wherein moving the virtual object in a first manner includes gradually reducing the offset between the first vector extending from the individual pivot point toward the virtual object and the second vector extending from the individual pivot point toward the first part of the user.
120. In response to detecting the first input, The method according to claim 119, further comprising moving the virtual object in the environment in a second manner according to the first input, based on the determination that the first input corresponds to the movement of the first part of the user in a second direction that moves the second vector toward the location where the virtual object was displayed before the movement of the first part of the user was detected, wherein moving the virtual object in a second manner includes gradually reducing the offset between the first vector extending from the individual pivot point toward the virtual object and the second vector extending from the individual pivot point toward the first part of the user at a rate lower than the reduction rate of the offset associated with the first manner.
121. In response to detecting the first input, The method according to claim 119, further comprising moving the virtual object in the environment in a second manner according to the first input, based on the determination that the first input corresponds to the movement of the first part of the user in a second direction that moves the second vector toward the location where the virtual object was displayed before the movement of the first part of the user was detected, wherein moving the virtual object in a second manner includes ceasing to reduce the offset between the first vector extending from the individual pivot point toward the virtual object and the second vector extending from the individual pivot point toward the first part of the user.
122. In response to detecting the first input, The method according to any one of claims 119 to 121, further comprising moving the virtual object in the environment in a second manner according to the first input, in accordance with the determination that the first input corresponds to the movement of the first portion of the user toward the viewpoint of the user, wherein moving the virtual object in a second manner includes gradually reducing the offset between the first vector extending from the individual pivot point toward the virtual object and the second vector extending from the individual pivot point toward the first portion of the user.
123. The method according to any one of claims 119 to 122, wherein the individual pivot points correspond to the user's shoulders.
124. The method according to claim 123, wherein the first portion of the user includes the user's hand, the shoulder of the user corresponding to the individual pivot point, and the hand of the user corresponding to the first portion of the user providing the first input are from the same arm of the user.
125. The method according to any one of claims 119 to 124, wherein the individual pivot points correspond to the user's head.
126. In accordance with the fact that the virtual object is a window, the location of the user's individual pivot point is determined to correspond to the second part of the user, The method according to any one of claims 119 to 125, further comprising determining that the location of the individual pivot point of the user corresponds to a third part of the user that is different from the second part of the user, in accordance with the fact that the virtual object is not a window.
127. The method according to claim 126, wherein the second portion of the user corresponds to the user's shoulder, and the third portion of the user corresponds to the user's head.
128. Reducing the offset between the first vector and the second vector is In accordance with the determination that the detected first input includes an input corresponding to moving the virtual object perpendicular to the user's viewpoint, the vertical offset between the first vector and the second vector is reduced according to the first input. The method according to any one of claims 119 to 127, comprising reducing the horizontal offset between the first vector and the second vector in accordance with the first input, based on the determination that the detected first input includes an input corresponding to moving the virtual object horizontally with respect to the user's viewpoint.
129. The virtual object is located at a first distance from the individual pivot point, and moving the virtual object in the first manner is: The method according to any one of claims 119 to 128, comprising moving the virtual object in the environment at a first speed faster than the speed at which individual locations along the second vector at a first distance from the individual pivot points move during the first input.
130. Reducing the aforementioned offset means In accordance with the determination that the magnitude of the movement of the first part of the user is a first magnitude, the virtual object is moved such that the offset between the first vector extending from the individual pivot point toward the virtual object and the second vector extending from the individual pivot point toward the first part of the user is reduced by a first amount. The method according to any one of claims 119 to 129, comprising: moving the virtual object such that, in accordance with a determination that the magnitude of the movement of the first part of the user is a second magnitude different from a first magnitude, the offset between the first vector extending from the individual pivot point toward the virtual object and the second vector extending from the individual pivot point toward the first part of the user is reduced by a second amount different from a first amount.
131. Reducing the aforementioned offset means In accordance with the determination that the duration of the movement of the first part of the user is a first duration, the virtual object is moved such that the offset between the first vector extending from the individual pivot point toward the virtual object and the second vector extending from the individual pivot point toward the first part of the user is reduced by a first amount. The method according to any one of claims 119 to 130, comprising: moving the virtual object such that, in accordance with a determination that the duration of the movement of the first part of the user is a second duration different from the first duration, the offset between the first vector extending from the individual pivot point toward the virtual object and the second vector extending from the individual pivot point toward the first part of the user is reduced by a second amount different from the first amount.
132. Reducing the aforementioned offset means In accordance with the determination that the rate of movement of the first part of the user is a first rate, the virtual object is moved such that the offset between the first vector extending from the individual pivot point toward the virtual object and the second vector extending from the individual pivot point toward the first part of the user is reduced by a first amount. The method according to any one of claims 119 to 131, comprising: moving the virtual object such that, in accordance with a determination that the rate of movement of the first part of the user is a second rate different from the first rate, the offset between the first vector extending from the individual pivot point toward the virtual object and the second vector extending from the individual pivot point toward the first part of the user is reduced by a second amount different from the first amount.
133. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and One or more programs, The system comprises, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs are A first input corresponding to moving the virtual object in the environment via one or more input devices while displaying the virtual object in the environment via the display generation component, and while an offset exists between a first vector extending from an individual pivot point toward the virtual object and a second vector extending from the individual pivot point toward the first part of the user, wherein the first input detects a first input corresponding to the movement of the first part of the user, In response to detecting the first input, A computer system including an instruction to move the virtual object in the environment in a first manner according to the first input, based on the determination that the first input corresponds to the movement of the first part of the user in a first direction that moves the second vector extending from the individual pivot point toward the first part of the user toward a location where the virtual object was displayed before the movement of the first part of the user was detected, wherein moving the virtual object in a first manner includes gradually reducing the offset between the first vector extending from the individual pivot point toward the virtual object and the second vector extending from the individual pivot point toward the first part of the user.
134. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions, and when the instructions are executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, the computer system A first input corresponding to moving the virtual object in the environment via one or more input devices while displaying the virtual object in the environment via the display generation component, and while an offset exists between a first vector extending from an individual pivot point toward the virtual object and a second vector extending from the individual pivot point toward the first part of the user, wherein the first input detects a first input corresponding to the movement of the first part of the user. In response to detecting the first input, A non-temporary computer-readable storage medium that causes the non-temporary computer-readable storage medium to perform a method including moving the virtual object in a first manner within the environment in accordance with the first input, based on the determination that the first input corresponds to the movement of the first part of the user in a first direction causing the second vector extending from the individual pivot point toward the first part of the user toward a location where the virtual object was displayed before the movement of the first part of the user was detected, wherein moving the virtual object in a first manner includes gradually reducing the offset between the first vector extending from the individual pivot point toward the virtual object and the second vector extending from the individual pivot point toward the first part of the user.
135. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and A means for detecting a first input corresponding to moving the virtual object in the environment via one or more input devices while the virtual object is being displayed in the environment via the display generation component, and while an offset exists between a first vector extending from an individual pivot point toward the virtual object and a second vector extending from the individual pivot point toward a first part of the user, wherein the first input corresponds to the movement of the first part of the user. In response to detecting the first input, A computer system comprising: means for moving the virtual object in the environment in a first manner according to the first input, based on the determination that the first input corresponds to the movement of the first part of the user in a first direction causing the second vector extending from the individual pivot point toward the first part of the user toward a location where the virtual object was displayed before the movement of the first part of the user was detected, wherein moving the virtual object in a first manner includes gradually reducing the offset between the first vector extending from the individual pivot point toward the virtual object and the second vector extending from the individual pivot point toward the first part of the user.
136. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing the method according to any one of claims 119 to 132.
137. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, include instructions causing the computer system to perform the method according to any one of claims 119 to 132.
138. A computer system that communicates with a display generation component and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising means for performing the method described in any one of claims 119 to 132.
139. It is a method, In a computer system that communicates with a display generation component and one or more input devices, While displaying a three-dimensional object in the environment via the display generation component, a first input corresponding to a request to change the elevation angle of the three-dimensional object with respect to the user's viewpoint of the computer system in the environment is detected via one or more input devices. In response to detecting the first input, A method comprising: changing the elevation angle of the three-dimensional object with respect to the user's viewpoint in the environment based on the first input, in accordance with the determination that the first input satisfies a first set of one or more criteria; and rotating the three-dimensional object in the environment based on the change in the elevation angle of the three-dimensional object with respect to the user's viewpoint, so that a first portion of the three-dimensional object is tilted toward the location of the viewpoint.
140. In response to detecting the first input, The method according to claim 139, further comprising changing the elevation angle of the three-dimensional object with respect to the user's viewpoint in the environment based on the first input, without rotating the three-dimensional object in the environment, according to the determination that the first input does not satisfy the first set of one or more criteria.
141. In response to the detection of the first input, and according to the determination that the first input satisfies the first set of one or more criteria, In accordance with the determination that the change in the elevation angle of the three-dimensional object relative to the user's viewpoint in the environment, based on the first input, is a first amount of change, the three-dimensional object is rotated by a first amount in the environment. The method according to claim 139 or 140, wherein, based on the determination that the change in the elevation angle of the three-dimensional object with respect to the user's viewpoint in the environment, based on the first input, is a second amount different from a first amount, the three-dimensional object is rotated in the environment by a second amount different from a first amount.
142. The method according to any one of claims 139 to 141, wherein the first set of one or more criteria includes criteria that are satisfied when a separate setting associated with the rotation of the three-dimensional object is enabled.
143. The method according to claim 142, wherein the individual settings related to the rotation of the three-dimensional object are enabled by default.
144. The method according to any one of claims 139 to 143, wherein the first set of one or more criteria includes a criterion that is satisfied when the direction of change of the elevation angle of the three-dimensional object with respect to the user's viewpoint in the environment is a first direction, and that is not satisfied when the direction of the change of the elevation angle of the three-dimensional object with respect to the user's viewpoint is a second direction different from the first direction.
145. When the first input is detected, the elevation angle of the three-dimensional object with respect to the user's viewpoint in the environment is within the threshold range of the elevation angle with respect to the user's viewpoint. The first direction corresponds to an increase in the elevation angle relative to the threshold range of the elevation angle with respect to the user's viewpoint, The method according to claim 144, wherein the second direction corresponds to a decrease in the elevation angle with respect to a threshold range of the elevation angle with respect to the user's viewpoint.
146. The method according to any one of claims 139 to 145, wherein the first set of one or more criteria includes a criterion that is satisfied when the elevation angle of the three-dimensional object in the environment is a first elevation angle relative to a threshold range of elevation angles with respect to the user's viewpoint, and is not satisfied when the elevation angle of the three-dimensional object in the environment is a second elevation angle different from the first elevation angle relative to the threshold range of elevation angles with respect to the user's viewpoint.
147. When the first input is detected, according to the determination that the elevation angle of the three-dimensional object with respect to the user's viewpoint in the environment exceeds the threshold range of elevation angles with respect to the user's viewpoint, the first set of one or more criteria includes a criterion that is satisfied when the direction of change of the elevation angle of the three-dimensional object with respect to the user's viewpoint is a first direction or a second direction opposite to the first direction, The method according to claim 146, wherein, upon detection of the first input, the first set of one or more criteria includes a criterion that is not satisfied when the direction of the change in the elevation angle of the three-dimensional object relative to the user's viewpoint in the environment is the first direction or the second direction.
148. The method according to claim 147, wherein, upon detection of the first input, the first set of one or more criteria includes, in accordance with the determination that the elevation angle of the three-dimensional object with respect to the user's viewpoint in the environment corresponds to the maximum angle within the threshold range of elevation angles with respect to the user's viewpoint, a criterion that is satisfied when the direction of the change in the elevation angle of the three-dimensional object with respect to the user's viewpoint is a first direction, and is not satisfied when the direction of the change in the elevation angle of the three-dimensional object with respect to the user's viewpoint is a second direction.
149. The method according to claim 147 or 148, wherein the threshold range of the elevation angle with respect to the user's viewpoint is a threshold range of angles with respect to a plane having an orientation selected based on a fixed spatial reference within the physical environment.
150. According to the determination that the location of the three-dimensional object is at a first distance from the user's viewpoint within the environment, the threshold range of the angle is the first threshold range of the angle. The method according to claim 149, wherein, according to the determination that the location of the three-dimensional object is at a second distance different from the first distance from the user's viewpoint in the environment, the threshold range of the angle is a second threshold range of angles different from the first threshold range of angles.
151. Before detecting the first input and before displaying the three-dimensional object in the environment, an input corresponding to a request to display the three-dimensional object in the environment is detected via one or more input devices, In response to detecting the aforementioned input, The method according to any one of claims 139 to 150, further comprising displaying the three-dimensional object in the environment via the display generation component at a first elevation angle measured between a vector extending between a first part of the user and a first part of the three-dimensional object and the plane of the three-dimensional object, wherein the plane of the three-dimensional object has an orientation selected based on a fixed spatial reference in the physical environment.
152. In response to detecting the first input, The method according to claim 151, wherein changing the elevation angle of the three-dimensional object relative to the user's viewpoint in the environment based on the first input, in accordance with the determination that the first input satisfies the first set of one or more criteria, includes changing the elevation angle relative to the user's viewpoint based on the first input while maintaining the first elevation angle measured between the vector and the plane of the three-dimensional object.
153. The method according to claim 151 or 152, wherein the first portion of the three-dimensional object corresponds to the center of the three-dimensional object.
154. The method according to claim 151 or 152, wherein the first portion of the three-dimensional object corresponds to the front portion of the three-dimensional object with respect to the user's viewpoint.
155. The method according to any one of claims 151 to 154, wherein the first portion of the three-dimensional object corresponds to the location of one or more movement controls associated with the three-dimensional object.
156. The method according to any one of claims 151 to 155, wherein the first elevation angle between the vector extending between the first part of the user and the first part of the three-dimensional object and the plane of the three-dimensional object is fixed within the environment.
157. Displaying the three-dimensional object within the environment at the first elevation angle via the display generation component is: In accordance with the determination that the three-dimensional object has a first height in the environment with respect to the user's viewpoint, the first elevation angle is a first individual elevation angle in the environment. The method according to any one of claims 151 to 156, wherein the first elevation angle is a second individual elevation angle in the environment that is different from the first individual elevation angle, in accordance with the determination that the three-dimensional object has a second height in the environment that is different from the first individual elevation angle with respect to the user's viewpoint.
158. In accordance with the determination that the three-dimensional object contains content having a first height within the environment, the first elevation angle is a first individual elevation angle within the environment. The method according to any one of claims 151 to 157, wherein, in accordance with the determination that the three-dimensional object includes content in the environment having a second height different from the first height, the first elevation angle is a second individual elevation angle different from the first individual elevation angle in the environment.
159. While the three-dimensional object is displayed in the environment, a second input corresponding to a request to move the three-dimensional object in the environment is detected via one or more input devices. The method further includes, in response to detecting the second input, changing the position of the three-dimensional object in the environment based on the second input, Changing the position of the three-dimensional object in the environment based on the second input, in accordance with the determination that the three-dimensional object has a first elevation angle with respect to the user's viewpoint, includes moving the three-dimensional object by an amount based on one or more parameters of the second input, and rotating the three-dimensional object in the environment about a first axis. The method according to any one of claims 139 to 158, wherein changing the position of the three-dimensional object in the environment based on a second input, according to the determination that the three-dimensional object has a second elevation angle different from the first elevation angle with respect to the user's viewpoint, includes moving the object by an amount based on one or more parameters of the second input and rotating the object in the environment about a second axis different from the first axis.
160. While the three-dimensional object is displayed in the environment, a second input corresponding to a request to interact with the three-dimensional object from the user's viewpoint in the environment is detected via one or more input devices. While detecting the second input, the movement of the user's viewpoint to the three-dimensional object in the environment to an updated viewpoint is detected via one or more input devices. In response to detecting the second input, The method according to any one of claims 139 to 159, further comprising: rotating the three-dimensional object in the environment such that the first portion of the three-dimensional object is tilted toward the location of the updated viewpoint, based on a change in the elevation angle of the three-dimensional object with respect to the updated viewpoint of the user.
161. In response to detecting the second input, Rotating the three-dimensional object in the environment to a first orientation according to the determination that the change in the elevation angle of the three-dimensional object with respect to the updated viewpoint of the user is a first amount, The method according to claim 160, further comprising: rotating the three-dimensional object in the environment to a second orientation different from the first orientation, in accordance with the determination that the change in the elevation angle of the three-dimensional object with respect to the updated viewpoint of the user is a second amount different from the first amount.
162. The method according to claim 161, further comprising changing the size of the three-dimensional object from the user's updated viewpoint in response to the detection of the second input.
163. The method according to claim 161 or 162, wherein rotating the three-dimensional object in the environment to tilt the first portion of the three-dimensional object toward the location of the updated viewpoint, based on the change in the elevation angle of the three-dimensional object with respect to the updated viewpoint of the user, includes gradually rotating the three-dimensional object in the environment over separate periods until the first portion is tilted toward the location of the updated viewpoint.
164. While the three-dimensional object is displayed in the environment and while the user is not interacting with the three-dimensional object, the movement of the user's viewpoint to the three-dimensional object in the environment to an updated viewpoint is detected via one or more input devices. In response to detecting the movement of the viewpoint, The method according to any one of claims 139 to 163, further comprising maintaining the orientation of the three-dimensional object in the environment.
165. A computer system that communicates with one or more display generation components and one or more input devices, wherein the computer system is One or more processors, Memory and One or more programs, The system comprises, wherein the one or more programs are stored in the memory and are configured to be executed by the one or more processors, and the one or more programs are While displaying a three-dimensional object in the environment via the display generation component, a first input corresponding to a request to change the elevation angle of the three-dimensional object relative to the user's viewpoint of the computer system in the environment is detected via one or more input devices. In response to detecting the first input, A computer system including instructions to change the elevation angle of the three-dimensional object relative to the user's viewpoint in the environment based on the first input, in accordance with the determination that the first input satisfies a first set of one or more criteria, and to rotate the three-dimensional object in the environment based on the change in the elevation angle of the three-dimensional object relative to the user's viewpoint, thereby tilting a first portion of the three-dimensional object toward the location of the viewpoint.
166. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs include instructions, and when the instructions are executed by one or more processors of a computer system communicating with one or more display generation components and one or more input devices, the computer system... While displaying a three-dimensional object in the environment via the display generation component, a first input corresponding to a request to change the elevation angle of the three-dimensional object with respect to the user's viewpoint of the computer system in the environment is detected via one or more input devices. In response to detecting the first input, A non-temporary computer-readable storage medium that causes a method to be performed which includes: changing the elevation angle of the three-dimensional object with respect to the user's viewpoint in the environment based on the first input, in accordance with the determination that the first input satisfies a first set of one or more criteria; and rotating the three-dimensional object in the environment based on the change in the elevation angle of the three-dimensional object with respect to the user's viewpoint, so that a first portion of the three-dimensional object is tilted toward the location of the viewpoint.
167. A computer system that communicates with one or more display generation components and one or more input devices, wherein the computer system is One or more processors, Memory and Means for detecting a first input via one or more input devices that corresponds to a request to change the elevation angle of the three-dimensional object relative to the user's viewpoint of the computer system in the environment, while the three-dimensional object is being displayed in the environment via the display generation component, In response to detecting the first input, A computer system comprising: means for changing the elevation angle of the three-dimensional object with respect to the user's viewpoint in the environment based on the first input, in accordance with the determination that the first input satisfies a first set of one or more criteria; and means for rotating the three-dimensional object in the environment with respect to the user's viewpoint based on the change in the elevation angle of the three-dimensional object so that a first portion of the three-dimensional object is tilted toward the location of the viewpoint.
168. A computer system that communicates with one or more display generation components and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for performing the method according to any one of claims 139 to 164.
169. A non-temporary computer-readable storage medium for storing one or more programs, wherein the one or more programs, when executed by one or more processors of a computer system communicating with one or more display generation components and one or more input devices, include instructions causing the computer system to perform the method according to any one of claims 139 to 164.
170. A computer system that communicates with one or more display generation components and one or more input devices, wherein the computer system is One or more processors, Memory and A computer system comprising means for performing the method described in any one of claims 139 to 164.