
본 발명은 대체로 다양한 콘텍스트(context)들로 가상 객체들을 디스플레이하는 전자 디바이스들을 포함하지만 이에 제한되지 않는, 가상 객체들을 디스플레이하는 전자 디바이스들에 관한 것이다.The present invention generally relates to electronic devices displaying virtual objects, including but not limited to electronic devices displaying virtual objects in various contexts.
증강 현실을 위한 컴퓨터 시스템들의 개발은 최근에 상당히 증가하였다. 예시적인 증강 현실 환경들은 물리적 세계를 대체하거나 증강시키는 적어도 일부 가상 요소들을 포함한다. 컴퓨터 시스템들 및 다른 전자 컴퓨팅 디바이스들에 대한, 터치 감응형 표면들과 같은 입력 디바이스들은 가상/증강 현실 환경들과 상호작용하는 데 사용된다. 예시적인 터치 감응형 표면들은 터치패드들, 터치 감응형 원격 제어부들 및 터치 스크린 디스플레이들을 포함한다. 그러한 표면들은 디스플레이 상의 사용자 인터페이스들 및 그 내부의 객체들을 조작하는 데 사용된다. 예시적인 사용자 인터페이스 객체들은 디지털 이미지들, 비디오, 텍스트, 아이콘들, 버튼들과 같은 제어 요소들, 및 기타 그래픽들을 포함한다.The development of computer systems for augmented reality has increased significantly in recent years. Exemplary augmented reality environments include at least some virtual elements that replace or augment the physical world. Input devices, such as touch-sensitive surfaces, for computer systems and other electronic computing devices are used to interact with virtual/augmented reality environments. Exemplary touch-sensitive surfaces include touchpads, touch-sensitive remote controls, and touch screen displays. Such surfaces are used to manipulate user interfaces on the display and objects therein. Exemplary user interface objects include digital images, video, text, icons, control elements such as buttons, and other graphics.
그러나, 적어도 일부 가상 요소들(예를 들어, 애플리케이션들, 증강 현실 환경들, 혼합 현실 환경들, 및 가상 현실 환경들)을 포함하는 환경들과 상호작용하기 위한 방법들 및 인터페이스들은 번거롭고, 비효율적이고, 제한된다. 예를 들어, 증강 현실 환경 내의 가상 객체를 배향 및 위치설정하기 위해 입력들의 시퀀스를 사용하는 것은 지루하고, 사용자에 대한 상당한 인지적 부담을 생성하고, 가상/증강 현실 환경에서의 경험을 손상시킨다. 게다가, 이러한 방법들은 필요 이상으로 오래 걸려서, 에너지가 낭비된다. 이러한 후자의 고려사항은 배터리-작동형 디바이스들에서 특히 중요하다.However, methods and interfaces for interacting with environments that include at least some virtual elements (e.g., applications, augmented reality environments, mixed reality environments, and virtual reality environments) are cumbersome, inefficient, and , is limited. For example, using a sequence of inputs to orient and position a virtual object within an augmented reality environment is tedious, creates significant cognitive burden for the user, and detracts from the experience in the virtual/augmented reality environment. Additionally, these methods take longer than necessary, wasting energy. This latter consideration is especially important in battery-operated devices.
따라서, 가상 객체들과 상호작용하기 위한 개선된 방법들 및 인터페이스들을 갖는 컴퓨터 시스템들이 필요하다. 그러한 방법들 및 인터페이스들은, 선택적으로, 가상 객체들과 상호작용하기 위한 종래의 방법들을 보완하거나 대체한다. 그러한 방법들 및 인터페이스들은 사용자로부터의 입력들의 수, 크기, 및/또는 종류를 줄이고 더 효율적인 인간-기계 인터페이스를 생성한다. 배터리-작동형 디바이스들의 경우, 그러한 방법들 및 인터페이스들은 전력을 절약하고 배터리 충전들 사이의 시간을 증가시킨다.Accordingly, there is a need for computer systems with improved methods and interfaces for interacting with virtual objects. Such methods and interfaces optionally complement or replace conventional methods for interacting with virtual objects. Such methods and interfaces reduce the number, size, and/or type of inputs from a user and create a more efficient human-machine interface. For battery-operated devices, such methods and interfaces save power and increase the time between battery charges.
가상 객체들과 상호작용하기 위한 인터페이스들(예컨대, 증강 현실(AR)을 위한 사용자 인터페이스들 및 관련된 비-AR 인터페이스들)과 연관된 상기 결점들 및 다른 문제들은 개시된 컴퓨터 시스템들에 의해 감소되거나 제거된다. 일부 실시예들에서, 컴퓨터 시스템은 데스크톱 컴퓨터를 포함한다. 일부 실시예들에서, 컴퓨터 시스템은 휴대용(예를 들어, 노트북 컴퓨터, 태블릿 컴퓨터, 또는 핸드헬드 디바이스)이다. 일부 실시예들에서, 컴퓨터 시스템은 개인용 전자 디바이스(예를 들어, 워치와 같은 웨어러블 전자 디바이스)를 포함한다. 일부 실시예들에서, 컴퓨터 시스템은 터치패드를 갖는다(그리고/또는 터치패드와 통신함). 일부 실시예들에서, 컴퓨터 시스템은 터치 감응형 디스플레이("터치 스크린" 또는 "터치 스크린 디스플레이"로도 알려짐)를 갖는다(그리고/또는 터치 감응형 디스플레이와 통신함). 일부 실시예들에서, 컴퓨터 시스템은 그래픽 사용자 인터페이스(GUI), 하나 이상의 프로세서들, 메모리, 및 다수의 기능들을 수행하기 위해 메모리에 저장되는 하나 이상의 모듈들, 프로그램들 또는 명령어들의 세트들을 갖는다. 일부 실시예들에서, 사용자는 부분적으로 터치 감응형 표면 상의 스타일러스 및/또는 손가락 접촉들 및 제스처들을 통해 GUI와 상호작용한다. 일부 실시예들에서, 기능들은 선택적으로 게임 하기, 이미지 편집, 그리기, 프레젠팅(presenting), 워드 프로세싱, 스프레드시트 작성, 전화 걸기, 화상 회의, 이메일 보내기, 인스턴트 메시징(instant messaging), 운동 지원, 디지털 사진촬영, 디지털 비디오 녹화, 웹 브라우징, 디지털 음악 재생, 메모하기(note taking), 및/또는 디지털 비디오 재생을 포함한다. 이러한 기능들을 수행하기 위한 실행가능 명령어들은, 선택적으로, 하나 이상의 프로세서들에 의한 실행을 위해 구성된 비일시적 컴퓨터 판독가능 저장 매체 또는 다른 컴퓨터 프로그램 제품에 포함된다.The above drawbacks and other problems associated with interfaces for interacting with virtual objects (e.g., user interfaces for augmented reality (AR) and related non-AR interfaces) are reduced or eliminated by the disclosed computer systems. . In some embodiments, the computer system includes a desktop computer. In some embodiments, the computer system is portable (eg, a laptop computer, tablet computer, or handheld device). In some embodiments, the computer system includes a personal electronic device (eg, a wearable electronic device, such as a watch). In some embodiments, the computer system has (and/or communicates with) a touchpad. In some embodiments, the computer system has (and/or communicates with) a touch-sensitive display (also known as a “touch screen” or “touch screen display”). In some embodiments, a computer system has a graphical user interface (GUI), one or more processors, memory, and one or more modules, programs, or sets of instructions stored in the memory to perform multiple functions. In some embodiments, the user interacts with the GUI in part through stylus and/or finger contacts and gestures on a touch-sensitive surface. In some embodiments, the functions optionally include playing games, editing images, drawing, presenting, word processing, creating spreadsheets, making phone calls, video conferencing, sending emails, instant messaging, exercising assistance, Includes digital photography, digital video recording, web browsing, digital music playback, note taking, and/or digital video playback. Executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors.
일부 실시예들에 따르면, 디스플레이, 터치 감응형 표면, 및 하나 이상의 카메라들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하는 동안, 디스플레이 상의 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서 접촉에 의한 제1 입력을 검출하는 단계를 포함한다. 본 방법은 또한, 접촉에 의한 제1 입력을 검출하는 것에 응답하여, 접촉에 의한 제1 입력이 제1 기준들을 충족한다는 결정에 따라, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야의 표현으로 대체하는 것을 포함하여, 디스플레이 상에 제2 사용자 인터페이스 영역을 디스플레이하고; 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 연속적으로 디스플레이하는 단계를 포함한다.According to some embodiments, a method is performed at a computer system having a display, a touch-sensitive surface, and one or more cameras. The method includes displaying a representation of a virtual object within a first user interface area on a display. The method also includes, while displaying the first representation of the virtual object within a first user interface area on the display, detecting a first input by contact at a location on the touch-sensitive surface corresponding to the representation of the virtual object on the display. Includes. The method may also, in response to detecting the first input by contact, determine that the first input by contact satisfies the first criteria by displaying at least a portion of the first user interface area using one or more cameras. display a second user interface area on the display, including replacing it with a representation of the field of view; Continuously displaying a representation of the virtual object while switching from displaying the first user interface area to displaying the second user interface area.
일부 실시예들에 따르면, 디스플레이, 터치 감응형 표면, 및 하나 이상의 카메라들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하는 동안, 디스플레이 상의 가상 객체의 제1 표현에 대응하는 터치 감응형 표면 상의 위치에서 제1 접촉에 의한 제1 입력을 검출하는 단계를 포함한다. 본 방법은 또한, 제1 접촉에 의한 제1 입력을 검출하는 것에 응답하여 그리고 제1 접촉에 의한 입력이 제1 기준들을 충족한다는 결정에 따라, 제1 사용자 인터페이스 영역과 상이한 제2 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 디스플레이하는 동안, 제2 입력을 검출하는 단계; 및 제2 입력을 검출하는 것에 응답하여, 제2 입력이 제2 사용자 인터페이스 영역 내의 가상 객체를 조작하라는 요청에 대응한다는 결정에 따라, 제2 입력에 기초하여 제2 사용자 인터페이스 영역 내의 가상 객체의 제2 표현의 디스플레이 속성을 변경하고; 제2 입력이 증강 현실 환경에 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라, 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하는 단계를 포함한다.According to some embodiments, a method is performed at a computer system having a display, a touch-sensitive surface, and one or more cameras. The method includes displaying a first representation of a virtual object within a first user interface area on a display. The method may also include, while displaying the first representation of the virtual object within a first user interface area on the display, a first input by a first contact at a location on the touch-sensitive surface that corresponds to the first representation of the virtual object on the display. It includes the step of detecting. The method may also, in response to detecting the first input by the first contact and in accordance with a determination that the input by the first contact meets the first criteria, within a second user interface area that is different from the first user interface area. and displaying a representation of the virtual object. The method may also include detecting a second input while displaying a second representation of the virtual object within a second user interface area; and in response to detecting the second input, determining that the second input corresponds to a request to manipulate the virtual object in the second user interface area, and, based on the second input, the virtual object in the second user interface area. 2 Change the display properties of the expression; In response to determining that the second input corresponds to a request to display the virtual object in the augmented reality environment, displaying a third representation of the virtual object together with a representation of the field of view of the one or more cameras.
일부 실시예들에 따르면, 디스플레이 및 터치 감응형 표면을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 제1 사용자 인터페이스를 디스플레이하라는 요청에 응답하여, 제1 아이템의 표현과 함께 제1 사용자 인터페이스를 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제1 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 제1 아이템이 제1 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시와 함께 제1 아이템의 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제1 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 시각적 표시 없이 제1 아이템의 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제1 아이템의 표현을 디스플레이한 후, 제2 아이템을 포함하는 제2 사용자 인터페이스를 디스플레이하라는 요청을 수신하는 단계를 포함한다. 본 방법은 또한, 제2 사용자 인터페이스를 디스플레이하라는 요청에 응답하여, 제2 아이템의 표현과 함께 제2 사용자 인터페이스를 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 제2 아이템이 제2 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시와 함께 제2 아이템의 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제2 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 시각적 표시 없이 제2 아이템의 표현을 디스플레이하는 단계를 포함한다.According to some embodiments, a method is performed at a computer system having a display and a touch-sensitive surface. The method includes displaying a first user interface with a representation of a first item in response to a request to display the first user interface. The method further includes, in accordance with the determination that the first item corresponds to a respective virtual three-dimensional object, displaying a representation of the first item together with a visual indication that the first item corresponds to a first respective virtual three-dimensional object. It includes steps to: The method also includes displaying a representation of the first item without visual indication, depending on the determination that the first item does not correspond to the respective virtual three-dimensional object. The method also includes, after displaying a representation of the first item, receiving a request to display a second user interface including a second item. The method also includes displaying a second user interface with a representation of a second item in response to a request to display the second user interface. The method further includes, in accordance with the determination that the second item corresponds to a respective virtual three-dimensional object, displaying a representation of the second item together with a visual indication that the second item corresponds to a second respective virtual three-dimensional object. It includes steps to: The method also includes displaying a representation of the second item without visual indication, depending on the determination that the second item does not correspond to the respective virtual three-dimensional object.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 및 하나 이상의 카메라들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청을 수신하는 단계를 포함한다. 본 방법은 또한, 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청에 응답하여, 디스플레이 생성 컴포넌트를 통해, 제1 사용자 인터페이스 영역에 포함되는 하나 이상의 카메라들의 시야의 적어도 일부분 위에 가상 객체의 표현을 디스플레이하는 단계를 포함하고, 하나 이상의 카메라들의 시야는 하나 이상의 카메라들이 위치되는 물리적 환경의 뷰(view)이다. 가상 객체의 표현을 디스플레이하는 단계는, 객체 배치 기준들이 충족되지 않는다는 결정에 따라 - 객체 배치 기준들은 객체 배치 기준들이 충족되기 위해 가상 객체에 대한 배치 위치가 하나 이상의 카메라들의 시야 내에서 식별될 것을 요구함 -, 제1 세트의 시각적 속성들로 그리고 물리적 환경의 어느 부분이 하나 이상의 카메라들의 시야 내에 디스플레이되는지와 독립적인 제1 배향으로 가상 객체의 표현을 디스플레이하는 단계; 및 객체 배치 기준들이 충족된다는 결정에 따라, 제1 세트의 시각적 속성들과 구별되는 제2 세트의 시각적 속성들로 그리고 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 대응하는 제2 배향으로 가상 객체의 표현을 디스플레이하는 단계를 포함한다.According to some embodiments, a method is performed at a computer system having a display generation component, one or more input devices, and one or more cameras. The method includes receiving a request to display a virtual object within a first user interface area that includes at least a portion of the field of view of one or more cameras. The method may also, in response to a request to display a virtual object within a first user interface area, display, via a display creation component, a representation of the virtual object over at least a portion of the field of view of one or more cameras included in the first user interface area. A field of view of the one or more cameras is a view of the physical environment in which the one or more cameras are located. The step of displaying a representation of the virtual object may include determining that the object placement criteria are not met - the object placement criteria require that a placement location for the virtual object be identified within the field of view of one or more cameras for the object placement criteria to be met. -, displaying a representation of the virtual object with a first set of visual properties and in a first orientation independent of which part of the physical environment is displayed within the field of view of one or more cameras; and, in accordance with a determination that the object placement criteria are met, with a second set of visual properties distinct from the first set of visual properties and with a second orientation corresponding to a plane within the physical environment detected within the field of view of one or more cameras. and displaying a representation of the virtual object.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 하나 이상의 카메라들, 및 하나 이상의 카메라들을 포함하는 디바이스의 자세의 변경들을 검출하기 위한 하나 이상의 자세 센서들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하는 단계를 포함한다. 본 방법은 또한, 물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하는 것에 응답하여, 하나 이상의 카메라들의 시야의 표현을 디스플레이하고, 캘리브레이션 기준들이 물리적 환경의 증강 현실 뷰에 대해 충족되지 않는다는 결정에 따라, 물리적 환경에서의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 단계를 포함하고, 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 단계는, 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 하나 이상의 자세 센서들을 통해, 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 단계; 및 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 것에 응답하여, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 단계를 포함한다. 본 방법은 또한, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 디스플레이 상에서 이동하는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 캘리브레이션 기준들이 충족되는 것을 검출하는 단계를 포함한다. 본 방법은 또한, 캘리브레이션 기준들이 충족되는 것을 검출하는 것에 응답하여, 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지하는 단계를 포함한다.According to some embodiments, a method is performed in a computer system having a display generation component, one or more input devices, one or more cameras, and one or more posture sensors for detecting changes in posture of a device including one or more cameras. do. The method includes receiving a request to display an augmented reality view of the physical environment within a first user interface area that includes a representation of the field of view of one or more cameras. The method may also, in response to receiving a request to display an augmented reality view of the physical environment, display a representation of the field of view of one or more cameras, and in response to a determination that calibration criteria are not met for the augmented reality view of the physical environment. , comprising displaying a calibration user interface object that is dynamically animated according to movement of one or more cameras in the physical environment, wherein displaying the calibration user interface object includes, while displaying the calibration user interface object, one or more postures. detecting, via sensors, a change in pose of one or more cameras in the physical environment; and in response to detecting a change in the pose of the one or more cameras in the physical environment, comprising adjusting at least one display parameter of the calibration user interface object according to the detected change in the pose of the one or more cameras in the physical environment. do. The method also includes detecting that calibration criteria are met while displaying a calibration user interface object that moves on the display in accordance with the detected change in pose of one or more cameras in the physical environment. The method also includes ceasing to display the calibration user interface object in response to detecting that the calibration criteria are met.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 및 터치 감응형 표면을 포함하는 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 디스플레이 생성 컴포넌트에 의해, 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 제1 시점(perspective)의 표현을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 제1 시점의 표현을 디스플레이하는 동안, 가상 3차원 객체의 제1 시점으로부터 가시적이지 않은 가상 3차원 객체의 일부분을 디스플레이하기 위해 가상 3차원 객체를 디스플레이에 대해 회전시키라는 요청에 대응하는 제1 입력을 검출하는 단계를 포함한다. 본 방법은 또한, 제1 입력을 검출하는 것에 응답하여, 제1 입력이 제1 축을 중심으로 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 제1 입력의 크기에 기초하여 결정되는 그리고 제1 축에 대한 임계량 초과의 회전에 의해 가상 3차원 객체의 회전을 제한하는 이동에 대한 한계에 의해 제약되는 양만큼 가상 3차원 객체를 제1 축에 대해 회전시키고; 제1 입력이 제1 축과 상이한 제2 축을 중심으로 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 제1 입력의 크기에 기초하여 결정되는 양만큼 가상 3차원 객체를 제2 축에 대해 회전시키는 단계를 포함하고, 각각의 임계치 초과의 크기를 갖는 입력의 경우, 디바이스는 임계량 초과의 회전만큼 제2 축에 대해 가상 3차원 객체를 회전시킨다.According to some embodiments, a method is performed at a computer system having a display generating component and one or more input devices including a touch-sensitive surface. The method includes displaying, by a display creation component, a representation of a first perspective of a virtual three-dimensional object within a first user interface area. The method may also be used to display a portion of the virtual three-dimensional object that is not visible from the first viewpoint of the virtual three-dimensional object while displaying a representation of the first viewpoint of the virtual three-dimensional object within a first user interface area on the display. and detecting a first input corresponding to a request to rotate the virtual three-dimensional object with respect to the display. The method may also include, in response to detecting the first input, determining that the first input corresponds to a request to rotate the three-dimensional object about a first axis, and determining based on a size of the first input. rotate the virtual three-dimensional object about the first axis by an amount constrained by a limit on movement that limits rotation of the virtual three-dimensional object by more than a threshold amount of rotation about the first axis; Upon determining that the first input corresponds to a request to rotate the three-dimensional object about a second axis that is different from the first axis, rotate the virtual three-dimensional object about the second axis by an amount determined based on the size of the first input. and rotating the virtual three-dimensional object about the second axis by a rotation greater than the threshold amount.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트 및 터치 감응형 표면을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 디스플레이 생성 컴포넌트를 통해, 제1 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제1 객체 조작 거동 및 제2 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제2 객체 조작 거동을 포함하는 복수의 객체 조작 거동들과 연관된 사용자 인터페이스 객체를 포함하는 제1 사용자 인터페이스 영역을 디스플레이하는 단계를 포함한다. 본 방법은 또한, 제1 사용자 인터페이스 영역을 디스플레이하는 동안, 터치 감응형 표면을 가로지르는 하나 이상의 접촉들의 이동을 검출하는 것을 포함하여, 사용자 인터페이스 객체에 대한 입력의 제1 부분을 검출하고, 하나 이상의 접촉들이 터치 감응형 표면 상에서 검출되는 동안, 제1 제스처 인식 기준들 및 제2 제스처 인식 기준들 양자 모두에 대한 하나 이상의 접촉들의 이동을 평가하는 단계를 포함한다. 본 방법은 또한, 입력의 제1 부분을 검출하는 것에 응답하여, 입력의 제1 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는 단계를 포함하고, 사용자 인터페이스 객체의 외관을 업데이트하는 단계는, 입력의 제1 부분이 제2 제스처 인식 기준들을 충족하기 전에 제1 제스처 인식 기준들을 충족한다는 결정에 따라, 입력의 제1 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고; 제2 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 제2 제스처 인식 기준들을 업데이트하는 단계; 및 입력이 제1 제스처 인식 기준들을 충족하기 전에 제2 제스처 인식 기준들을 충족한다는 결정에 따라, 입력의 제1 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고; 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 제1 제스처 인식 기준들을 업데이트하는 단계를 포함한다.According to some embodiments, a method is performed at a computer system having a display generating component and a touch-sensitive surface. The method provides, via a display generation component, a first object manipulation behavior performed in response to inputs that meet first gesture recognition criteria and a second object manipulation behavior performed in response to inputs that meet second gesture recognition criteria. and displaying a first user interface area including a user interface object associated with a plurality of object manipulation actions including. The method also includes detecting movement of one or more contacts across a touch-sensitive surface while displaying a first user interface area, detecting a first portion of input to a user interface object, and detecting one or more While contacts are detected on the touch-sensitive surface, evaluating movement of one or more contacts relative to both first gesture recognition criteria and second gesture recognition criteria. The method also includes, in response to detecting the first portion of the input, updating the appearance of the user interface object based on the first portion of the input, wherein updating the appearance of the user interface object includes: change the appearance of the user interface object according to the first object manipulation behavior based on the first portion of input in accordance with a determination that the first portion of satisfies the second gesture recognition criteria before the first portion of the input satisfies the second gesture recognition criteria; updating the second gesture recognition criteria by increasing a threshold for the second gesture recognition criteria; and in accordance with a determination that the input meets the second gesture recognition criteria before meeting the first gesture recognition criteria, alter the appearance of the user interface object according to the second object manipulation behavior based on the first portion of the input; and updating the first gesture recognition criteria by increasing a threshold for the first gesture recognition criteria.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 하나 이상의 오디오 출력 생성기들, 및 하나 이상의 카메라들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 본 방법은 디스플레이 생성 컴포넌트를 통해, 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 단계를 포함하고, 디스플레이하는 단계는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 가상 객체의 표현 사이의 제1 공간적 관계를 유지하는 단계를 포함한다. 본 방법은 또한, 하나 이상의 카메라들의 시야를 조정하는 디바이스의 이동을 검출하는 단계를 포함한다. 본 방법은 또한, 하나 이상의 카메라들의 시야를 조정하는 디바이스의 이동을 검출하는 것에 응답하여, 하나 이상의 카메라들의 시야가 조정됨에 따라 하나 이상의 카메라들의 시야 내에서 검출되는 평면과 가상 객체 사이의 제1 공간적 관계에 따라 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이를 조정하고, 디바이스의 이동이 임계량 초과의 가상 객체로 하여금 하나 이상의 카메라들의 시야의 디스플레이된 부분의 외측으로 이동하게 한다는 결정에 따라, 하나 이상의 오디오 출력 생성기들을 통해, 제1 오디오 경보를 생성하는 단계를 포함한다.According to some embodiments, a method is performed at a computer system having a display generation component, one or more input devices, one or more audio output generators, and one or more cameras. The method includes displaying, via a display creation component, a representation of a virtual object within a first user interface area that includes a representation of the field of view of one or more cameras, wherein displaying is captured within the field of view of one or more cameras. and maintaining a first spatial relationship between a plane detected in the physical environment and a representation of the virtual object. The method also includes detecting movement of a device that adjusts the field of view of one or more cameras. The method may also, in response to detecting movement of the device that adjusts the field of view of the one or more cameras, generate a first spatial space between the virtual object and a plane detected within the field of view of the one or more cameras as the field of view of the one or more cameras is adjusted. adjusting the display of the representation of the virtual object within the first user interface area according to the relationship, and in accordance with a determination that movement of the device causes more than a threshold amount of the virtual object to move outside the displayed portion of the field of view of the one or more cameras, and generating a first audio alert through the above audio output generators.
일부 실시예들에 따르면, 전자 디바이스는 디스플레이 생성 컴포넌트, 선택적으로 하나 이상의 입력 디바이스들, 선택적으로 하나 이상의 터치 감응형 표면들, 선택적으로 하나 이상의 카메라들, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들, 선택적으로 하나 이상의 오디오 출력 생성기들, 선택적으로 하나 이상의 디바이스 배향 센서들, 선택적으로 하나 이상의 촉각적 출력 생성기들, 선택적으로 자세의 변경들을 검출하기 위한 하나 이상의 자세 센서들, 하나 이상의 프로세서들, 및 하나 이상의 프로그램들을 저장하는 메모리를 포함하고; 하나 이상의 프로그램들은 하나 이상의 프로세서들에 의해 실행되도록 구성되고, 하나 이상의 프로그램들은 본 명세서에 기술되는 방법들 중 임의의 방법의 동작들을 수행하거나 또는 그의 수행을 야기하기 위한 명령어들을 포함한다. 일부 실시예들에 따르면, 컴퓨터 판독가능 저장 매체는, 디스플레이 생성 컴포넌트, 선택적으로 하나 이상의 입력 디바이스들, 선택적으로 하나 이상의 터치 감응형 표면들, 선택적으로 하나 이상의 카메라들, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들, 선택적으로 하나 이상의 오디오 출력 생성기들, 선택적으로 하나 이상의 디바이스 배향 센서들, 선택적으로 하나 이상의 촉각적 출력 생성기들, 및 선택적으로 하나 이상의 자세 센서들을 갖는 전자 디바이스에 의해 실행될 때, 디바이스로 하여금 본 명세서에 기술된 방법들 중 임의의 방법의 동작들을 수행하게 하는 또는 그러한 동작들의 수행을 야기하게 하는 명령어들을 저장하였다. 일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 선택적으로 하나 이상의 입력 디바이스들, 선택적으로 하나 이상의 터치 감응형 표면들, 선택적으로 하나 이상의 카메라들, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들, 선택적으로 하나 이상의 오디오 출력 생성기들, 선택적으로 하나 이상의 디바이스 배향 센서들, 선택적으로 하나 이상의 촉각적 출력 생성기들, 선택적으로 하나 이상의 자세 센서들, 메모리, 및 메모리 내에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 갖는 전자 디바이스 상의 그래픽 사용자 인터페이스는 본 명세서에 기술된 방법들 중 임의의 방법에서 기술된 바와 같이, 입력들에 응답하여 업데이트되는, 본 명세서에 기술된 방법들 중 임의의 방법으로 디스플레이되는 요소들 중 하나 이상을 포함한다. 일부 실시예들에 따르면, 전자 디바이스는, 디스플레이 생성 컴포넌트, 선택적으로 하나 이상의 입력 디바이스들, 선택적으로 하나 이상의 터치 감응형 표면들, 선택적으로 하나 이상의 카메라들, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들, 선택적으로 하나 이상의 오디오 출력 생성기들, 선택적으로 하나 이상의 디바이스 배향 센서들, 선택적으로 하나 이상의 촉각적 출력 생성기들, 및 선택적으로 자세의 변경들을 검출하기 위한 하나 이상의 자세 센서들; 및 본 명세서에 기술된 방법들 중 임의의 방법의 동작들을 수행하기 위한 또는 그러한 동작들의 수행을 야기하기 위한 수단을 포함한다. 일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 선택적으로 하나 이상의 입력 디바이스들, 선택적으로 하나 이상의 터치 감응형 표면들, 선택적으로 하나 이상의 카메라들, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들, 선택적으로 하나 이상의 오디오 출력 생성기들, 선택적으로 하나 이상의 디바이스 배향 센서들, 선택적으로 하나 이상의 촉각적 출력 생성기들, 및 선택적으로 자세의 변경들을 검출하기 위한 하나 이상의 자세 센서들을 갖는 전자 디바이스에서 사용하기 위한 정보 프로세싱 장치는 본 명세서에 기술된 방법들 중 임의의 방법의 동작들을 수행하기 위한 또는 그러한 동작들의 수행을 야기하기 위한 수단을 포함한다.According to some embodiments, the electronic device includes a display generating component, optionally one or more input devices, optionally one or more touch-sensitive surfaces, optionally one or more cameras, optionally the intensity of contacts with the touch-sensitive surface. one or more sensors for detecting changes in posture, optionally one or more audio output generators, optionally one or more device orientation sensors, optionally one or more tactile output generators, optionally one or more posture sensors for detecting changes in posture. , one or more processors, and memory for storing one or more programs; The one or more programs are configured to be executed by one or more processors, and the one or more programs include instructions for performing or causing performance of the operations of any of the methods described herein. According to some embodiments, the computer-readable storage medium includes a display generating component, optionally one or more input devices, optionally one or more touch-sensitive surfaces, optionally one or more cameras, optionally a touch-sensitive surface and one or more sensors for detecting intensities of contacts, optionally one or more audio output generators, optionally one or more device orientation sensors, optionally one or more tactile output generators, and optionally one or more posture sensors. Stored instructions are stored that, when executed by an electronic device, cause the device to perform or cause the device to perform operations in any of the methods described herein. According to some embodiments, a display generating component, optionally one or more input devices, optionally one or more touch-sensitive surfaces, optionally one or more cameras, optionally detecting intensities of contacts with the touch-sensitive surface. one or more sensors, optionally one or more audio output generators, optionally one or more device orientation sensors, optionally one or more tactile output generators, optionally one or more posture sensors, a memory, and one or more stored in the memory. A graphical user interface on an electronic device having one or more processors for executing programs is updated in response to inputs, as described in any of the methods described herein. Contains one or more of the elements displayed in any manner. According to some embodiments, the electronic device includes a display generating component, optionally one or more input devices, optionally one or more touch-sensitive surfaces, optionally one or more cameras, optionally contacts with the touch-sensitive surface. one or more sensors to detect intensities, optionally one or more audio output generators, optionally one or more device orientation sensors, optionally one or more tactile output generators, and optionally one or more to detect changes in posture. posture sensors; and means for performing or causing performance of the operations of any of the methods described herein. According to some embodiments, a display generation component, optionally one or more input devices, optionally one or more touch-sensitive surfaces, optionally one or more cameras, optionally detecting intensities of contacts with the touch-sensitive surface. one or more sensors for detecting changes in posture, optionally one or more audio output generators, optionally one or more device orientation sensors, optionally one or more tactile output generators, and optionally one or more posture sensors for detecting changes in posture. An information processing apparatus for use in an electronic device includes means for performing or causing performance of the operations of any of the methods described herein.
따라서, 디스플레이 생성 컴포넌트들, 선택적으로 하나 이상의 입력 디바이스들, 선택적으로 하나 이상의 터치 감응형 표면들, 선택적으로 하나 이상의 카메라들, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들, 선택적으로 하나 이상의 오디오 출력 생성기들, 선택적으로 하나 이상의 디바이스 배향 센서들, 선택적으로 하나 이상의 촉각적 출력 생성기들, 및 선택적으로 하나 이상의 자세 센서들을 갖는 전자 디바이스들에는 다양한 콘텍스트들로 가상 객체들을 디스플레이하기 위한 개선된 방법들 및 인터페이스들이 제공되고, 그에 의해 그러한 디바이스들에 의해 유효성, 효율 및 사용자 만족도를 증가시킨다. 그러한 방법들 및 인터페이스들은 다양한 콘텍스트들로 가상 객체들을 디스플레이하기 위해 종래의 방법들을 보완하거나 대체할 수 있다.Accordingly, display generating components, optionally one or more input devices, optionally one or more touch-sensitive surfaces, optionally one or more cameras, optionally one or more sensors for detecting intensities of contacts with the touch-sensitive surface. electronic devices having, optionally one or more audio output generators, optionally one or more device orientation sensors, optionally one or more tactile output generators, and optionally one or more posture sensors to display virtual objects in various contexts. Improved methods and interfaces for displaying, thereby increasing effectiveness, efficiency and user satisfaction with such devices. Such methods and interfaces can complement or replace conventional methods for displaying virtual objects in various contexts.
다양하게 기술된 실시예들의 보다 양호한 이해를 위해, 유사한 도면 부호들이 도면 전체에 걸쳐서 대응 부분들을 나타내는 하기의 도면들과 관련하여 하기의 발명을 실시하기 위한 구체적인 내용이 참조되어야 한다.
도 1a는 일부 실시예들에 따른, 터치 감응형 디스플레이를 갖는 휴대용 다기능 디바이스를 예시하는 블록도이다.
도 1b는 일부 실시예들에 따른, 이벤트 처리를 위한 예시적인 컴포넌트들을 예시하는 블록도이다.
도 1c는 일부 실시예들에 따른 촉각적 출력 모듈을 예시하는 블록도이다.
도 2는 일부 실시예들에 따른, 터치 스크린을 갖는 휴대용 다기능 디바이스를 예시한다.
도 3은 일부 실시예들에 따른, 디스플레이 및 터치 감응형 표면을 갖는 예시적인 다기능 디바이스의 블록도이다.
도 4a는 일부 실시예들에 따른, 휴대용 다기능 디바이스 상의 애플리케이션들의 메뉴에 대한 예시적인 사용자 인터페이스를 예시한다.
도 4b는 일부 실시예들에 따른, 디스플레이와는 별개인 터치 감응형 표면을 갖는 다기능 디바이스에 대한 예시적인 사용자 인터페이스를 예시한다.
도 4c 내지 도 4e는 일부 실시예들에 따른 동적 세기 임계치들의 예들을 예시한다.
도 4f 내지 도 4k는 일부 실시예들에 따른 샘플 촉각적 출력 패턴들의 세트를 예시한다.
도 5a 내지 도 5at는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 6a 내지 도 6aj는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을, 그리고 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 7a 내지 도 7e, 도 7f1, 도 7f2, 도 7g1, 도 7g2, 및 도 7h 내지 도 7p는 일부 실시예들에 따른, 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시를 갖는 아이템을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 8a 내지 도 8e는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 디스플레이하기 위한 프로세스의 흐름도들이다.
도 9a 내지 도 9d는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을, 그리고 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하기 위한 프로세스의 흐름도들이다.
도 10a 내지 도 10d는 일부 실시예들에 따른, 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시를 갖는 아이템을 디스플레이하기 위한 프로세스의 흐름도들이다.
도 11a 내지 도 11v는 일부 실시예들에 따른, 객체 배치 기준들이 충족되는지 여부에 따라 상이한 시각적 속성들을 갖는 가상 객체를 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 12a 내지 도 12d, 도 12e-1, 도 12e-2, 도 12f-1, 도 12f-2, 도 12g-1, 도 12g-2, 도 12h-1, 도 12h-2, 도 12i-1, 도 12i-2, 도 12j, 도 12k-1, 도 12k-2, 도 12l-1, 및 도 12l-2는 일부 실시예들에 따른, 디바이스의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 13a 내지 도 13m은 일부 실시예들에 따른, 축을 중심으로 하는 가상 객체의 회전을 제약하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 14a 내지 도 14z는 일부 실시예들에 따른, 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 14aa 내지 도 14ad는 일부 실시예들에 따른, 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키기 위한 동작들을 예시하는 흐름도들을 예시한다.
도 15a 내지 도 15ai는 일부 실시예들에 따른, 디바이스의 이동이 가상 객체로 하여금 하나 이상의 디바이스 카메라들의 디스플레이된 시야의 외측으로 이동하게 한다는 결정에 따라 오디오 경보를 생성하기 위한 예시적인 사용자 인터페이스들을 예시한다.
도 16a 내지 도 16g는 일부 실시예들에 따른, 객체 배치 기준들이 충족되는지 여부에 따라 상이한 시각적 속성들을 갖는 가상 객체를 디스플레이하기 위한 프로세스의 흐름도들이다.
도 17a 내지 도 17d는 일부 실시예들에 따른, 디바이스의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 위한 프로세스의 흐름도들이다.
도 18a 내지 도 18i는 일부 실시예들에 따른, 축을 중심으로 하는 가상 객체의 회전을 제약하기 위한 프로세스의 흐름도들이다.
도 19a 내지 도 19h는 일부 실시예들에 따른, 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키기 위한 프로세스의 흐름도들이다.
도 20a 내지 도 20f는 일부 실시예들에 따른, 디바이스의 이동이 가상 객체로 하여금 하나 이상의 디바이스 카메라들의 디스플레이된 시야의 외측으로 이동하게 한다는 결정에 따라 오디오 경보를 생성하기 위한 프로세스의 흐름도들이다.For a better understanding of the various described embodiments, reference should be made to the following drawings, wherein like reference numerals indicate corresponding parts throughout the drawings.
1A is a block diagram illustrating a portable multifunction device with a touch-sensitive display, according to some embodiments.
1B is a block diagram illustrating example components for event processing, according to some embodiments.
1C is a block diagram illustrating a tactile output module according to some embodiments.
2 illustrates a portable multifunction device with a touch screen, according to some embodiments.
3 is a block diagram of an example multifunction device having a display and a touch-sensitive surface, according to some embodiments.
4A illustrates an example user interface for a menu of applications on a portable multifunction device, according to some embodiments.
4B illustrates an example user interface for a multifunction device with a touch-sensitive surface separate from the display, according to some embodiments.
4C-4E illustrate examples of dynamic intensity thresholds according to some embodiments.
4F-4K illustrate a set of sample tactile output patterns according to some embodiments.
5A-5AT illustrate example user interfaces for displaying a representation of a virtual object while switching from displaying a first user interface area to displaying a second user interface area, according to some embodiments. .
6A-6J illustrate a first representation of a virtual object within a first user interface area, a second representation of the virtual object within a second user interface area, and a representation of the field of view of one or more cameras, according to some embodiments. Together they illustrate example user interfaces for displaying a third representation of a virtual object.
7A-7E, 7F1, 7F2, 7G1, 7G2, and 7H-7P display an item with a visual indication that the item corresponds to a virtual three-dimensional object, according to some embodiments. Illustrative example user interfaces for:
8A-8E are flow diagrams of a process for displaying a representation of a virtual object while switching from displaying a first user interface area to displaying a second user interface area, according to some embodiments.
9A-9D illustrate a first representation of a virtual object within a first user interface area, a second representation of the virtual object within a second user interface area, and a representation of the field of view of one or more cameras, according to some embodiments. Together they are flow diagrams of a process for displaying a third representation of a virtual object.
10A-10D are flow diagrams of a process for displaying an item with a visual indication that the item corresponds to a virtual three-dimensional object, according to some embodiments.
11A-11V illustrate example user interfaces for displaying a virtual object with different visual properties depending on whether object placement criteria are met, according to some embodiments.
12A to 12D, 12E-1, 12E-2, 12F-1, 12F-2, 12G-1, 12G-2, 12H-1, 12H-2, 12I-1 , FIGS. 12I-2, 12J, 12K-1, 12K-2, 12L-1, and 12L-2 are dynamically animated according to movement of one or more cameras of the device, according to some embodiments. Illustrating example user interfaces for displaying a calibration user interface object.
13A-13M illustrate example user interfaces for constraining rotation of a virtual object about an axis, according to some embodiments.
14A-14Z illustrate methods for increasing a second threshold amount of movement required for a second object manipulation behavior in accordance with determining that a first threshold amount of movement is met for the first object manipulation behavior, according to some embodiments. Example user interfaces are illustrated.
14AA-14A illustrate methods for increasing a second threshold amount of movement required for a second object manipulation behavior in accordance with determining that a first threshold amount of movement is met for the first object manipulation behavior, according to some embodiments. Flowcharts illustrating operations are illustrated.
15A-15AI illustrate example user interfaces for generating an audio alert based on a determination that movement of the device causes a virtual object to move outside the displayed field of view of one or more device cameras, according to some embodiments. do.
16A-16G are flow diagrams of a process for displaying a virtual object with different visual properties depending on whether object placement criteria are met, according to some embodiments.
17A-17D are flow diagrams of a process for displaying a calibration user interface object that is dynamically animated according to movement of one or more cameras of a device, according to some embodiments.
18A-18I are flow diagrams of a process for constraining the rotation of a virtual object about an axis, according to some embodiments.
19A-19H illustrate methods for increasing a second threshold amount of movement required for a second object manipulation behavior in accordance with determining that a first threshold amount of movement is met for the first object manipulation behavior, according to some embodiments. These are flow charts of the process.
20A-20F are flow diagrams of a process for generating an audio alert upon determining that movement of a device causes a virtual object to move outside of the displayed field of view of one or more device cameras, according to some embodiments.
가상 객체는 가상 환경 내의 3차원 객체의 그래픽 표현이다. 가상 객체들과 상호작용하여 가상 객체들을 애플리케이션 사용자 인터페이스(예컨대, 증강 현실 환경을 디스플레이하지 않는 2차원 애플리케이션 사용자 인터페이스)의 콘텍스트로 디스플레이되는 것으로부터 증강 현실 환경(예컨대, 물리적 세계에서 이용가능하지 않은 추가 정보를 사용자에게 제공하는 보충 정보로 물리적 세계의 뷰가 증강되는 환경)의 콘텍스트로 디스플레이되는 것으로 전이(transition)시키는 종래의 방법들은 (예컨대, 증강 현실 환경에서 실제 또는 원하는 외관에 대한 가상 객체의 크기, 위치, 및/또는 배향을 조정하는) 의도된 결과를 달성하기 위해 종종 다수의 별개 입력들(예컨대, 제스처들 및 버튼 누르기들의 시퀀스 등)을 필요로 한다. 추가로, 종래의 입력 방법들은 종종, 물리적 세계의 뷰를 캡처하기 위해 하나 이상의 디바이스 카메라들을 활성화하는 데 필요한 시간 및/또는 증강 현실 환경에 놓일 수 있는 가상 객체들에 관하여 (예컨대, 물리적 세계의 캡처된 뷰에서 평면들 및/또는 표면들을 검출하는) 물리적 세계의 뷰를 분석 및 특성화하는 데 필요한 시간으로 인해 증강 현실 환경을 디스플레이하라는 요청을 수신하는 것과 증강 현실 환경을 디스플레이하는 것 사이에 지연을 수반한다. 본 명세서의 실시예들은 (예컨대, 애플리케이션 사용자 인터페이스의 콘텍스트로 가상 객체를 디스플레이하는 것으로부터 증강 현실 환경에서 가상 객체를 디스플레이하는 것으로 스위칭하도록 사용자가 입력을 제공하게 함으로써, 가상 객체를 증강 현실 환경에서 디스플레이하기 전에 사용자가 가상 객체의 디스플레이 속성들을 (예컨대, 3차원 스테이징 환경(staging environment)에서) 변경하게 함으로써, 사용자가 다수의 애플리케이션들에 걸쳐 시스템 전체에서 가상 객체들을 용이하게 식별하게 하는 표시를 제공함으로써, 객체에 대한 배치 정보를 결정하는 동안 객체의 시각적 속성을 변경함으로써, 캘리브레이션에 필요한 디바이스의 이동을 나타내도록 애니메이션화된(animated) 캘리브레이션 사용자 인터페이스 객체를 제공함으로써, 축을 중심으로 하는 디스플레이된 가상 객체의 회전을 제약함으로써, 이동의 임계치 크기가 제1 객체 조작 거동에 대해 충족될 때 제2 객체 조작 거동에 대한 이동의 임계치 크기를 증가시킴으로써, 그리고 가상 객체가 디스플레이된 시야 외부로 이동하였다는 것을 나타내기 위해 오디오 경보를 제공함으로써) 사용자가 다양한 콘텍스트들로 가상 객체들을 디스플레이하고/하거나 그들과 상호작용하기 위한 직관적인 방식을 제공한다.A virtual object is a graphical representation of a three-dimensional object within a virtual environment. Interact with virtual objects to transfer virtual objects from being displayed in the context of an application user interface (e.g., a two-dimensional application user interface that does not display an augmented reality environment) to an augmented reality environment (e.g., an additional object not available in the physical world). Conventional methods of transitioning information into the context of the display (e.g., an environment in which the view of the physical world is augmented with supplementary information provided to the user) include the size of a virtual object relative to its actual or desired appearance in an augmented reality environment. , position, and/or orientation) often require multiple discrete inputs (e.g., sequences of gestures and button presses, etc.) to achieve the intended result. Additionally, conventional input methods often require activating one or more device cameras to capture a view of the physical world and/or virtual objects that may be placed in an augmented reality environment (e.g., capture of the physical world). This involves a delay between receiving a request to display an augmented reality environment and displaying the augmented reality environment due to the time required to analyze and characterize the view of the physical world (detecting planes and/or surfaces in the augmented reality environment). do. Embodiments herein provide for displaying a virtual object in an augmented reality environment (e.g., by having a user provide input to switch from displaying the virtual object in the context of an application user interface to displaying the virtual object in the augmented reality environment). By allowing a user to change the display properties of a virtual object (e.g., in a three-dimensional staging environment) before doing so, by providing a display that allows the user to easily identify the virtual objects throughout the system across multiple applications Rotation of a displayed virtual object about an axis, by changing the visual properties of the object while determining placement information for the object, by providing an animated calibration user interface object to represent the movement of the device required for calibration, by constraining, by increasing the threshold magnitude of movement for the second object manipulation behavior when the threshold magnitude of movement is met for the first object manipulation behavior, and to indicate that the virtual object has moved outside the displayed field of view. provides an intuitive way for users to display and/or interact with virtual objects in various contexts (by providing audio alerts).
본 명세서에 기술된 시스템들, 방법들, 및 GUI들은 다수의 방식들로 가상/증강 현실 환경들과의 사용자 인터페이스 상호작용들을 개선한다. 예를 들어, 그들은 가상 객체를 증강 현실 환경에서 디스플레이하는 것을, 그리고, 상이한 입력들에 응답하여, 가상 객체의 외관을 증강 현실 환경에서 디스플레이하기 위해 조정하는 것을 더 용이하게 만든다.The systems, methods, and GUIs described herein improve user interface interactions with virtual/augmented reality environments in a number of ways. For example, they make it easier to display a virtual object in an augmented reality environment and, in response to different inputs, to adjust the appearance of the virtual object for display in an augmented reality environment.
이하에서, 도 1a 내지 도 1c, 도 2, 및 도 3은 예시적인 디바이스들의 설명을 제공한다. 도 4a, 도 4b, 도 5a 내지 도 5at, 도 6a 내지 도 6aj, 도 7a 내지 도 7p, 도 11a 내지 도 11v, 도 12a 내지 도 12l, 도 13a 내지 도 13m, 도 14a 내지 도 14z, 및 도 15a 내지 도 15ai는 다양한 콘텍스트들로 가상 객체들을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다. 도 8a 내지 도 8e는 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 디스플레이하기 위한 프로세스를 예시한다. 도 9a 내지 도 9d는 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을, 그리고 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하기 위한 프로세스를 예시한다. 도 10a 내지 도 10d는 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시를 갖는 아이템을 디스플레이하기 위한 프로세스를 예시한다. 도 16a 내지 도 16g는 객체 배치 기준들이 충족되는지 여부에 따라 상이한 시각적 속성들을 갖는 가상 객체를 디스플레이하기 위한 프로세스를 예시한다. 도 17a 내지 도 17d는 디바이스의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 위한 프로세스를 예시한다. 도 18a 내지 도 18i는 축을 중심으로 하는 가상 객체의 회전을 제약하기 위한 프로세스를 예시한다. 도 14aa 내지 도 14ad 및 도 19a 내지 도 19h는 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키기 위한 프로세스를 예시한다. 도 20a 내지 도 20f는 디바이스의 이동이 가상 객체로 하여금 하나 이상의 디바이스 카메라들의 디스플레이된 시야의 외측으로 이동하게 한다는 결정에 따라 오디오 경보를 생성하기 위한 프로세스를 예시한다. 도 5a 내지 도 5at, 도 6a 내지 도 6aj, 도 7a 내지 도 7p, 도 11a 내지 도 11v, 도 12a 내지 도 12l, 도 13a 내지 도 13m, 도 14a 내지 도 14z, 및 도 15a 내지 도 15ai의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 14aa 내지 도 14ad, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 예시하는 데 사용된다.Below, FIGS. 1A-1C, 2, and 3 provide descriptions of example devices. 4A-4B, 5A-5AT, 6A-6J, 7A-7P, 11A-11V, 12A-12L, 13A-13M, 14A-14Z, and FIG. 15A-15AI illustrate example user interfaces for displaying virtual objects in various contexts. 8A-8E illustrate a process for displaying a representation of a virtual object while switching from displaying a first user interface area to displaying a second user interface area. 9A-9D show a first representation of the virtual object in a first user interface area, a second representation of the virtual object in a second user interface area, and a third representation of the virtual object together with a representation of the field of view of one or more cameras. This illustrates the process for displaying. 10A-10D illustrate a process for displaying an item with a visual indication that the item corresponds to a virtual three-dimensional object. Figures 16A-16G illustrate a process for displaying a virtual object with different visual properties depending on whether object placement criteria are met. 17A-17D illustrate a process for displaying a calibration user interface object that is dynamically animated according to movement of one or more cameras of a device. 18A-18I illustrate a process for constraining the rotation of a virtual object about an axis. 14AA-14A and 19A-19H illustrate a process for increasing a second threshold amount of movement required for a second object manipulation behavior, depending on a determination that the first threshold amount of movement is met for the first object manipulation behavior. exemplifies. 20A-20F illustrate a process for generating an audio alert based on determining that movement of the device causes a virtual object to move outside the displayed field of view of one or more device cameras. Users of FIGS. 5A-5AT, 6A-6J, 7A-7P, 11A-11V, 12A-12L, 13A-13M, 14A-14Z, and 15A-15AI. The interfaces are shown in FIGS. 8A-8E, 9A-9D, 10A-10D, 14AA-14AD, 16A-16G, 17A-17D, 18A-18I, 19A-19H, and FIGS. 20A-20F.
예시적인 디바이스들Exemplary Devices
이제, 실시예들이 상세하게 참조될 것이며, 그 실시예들의 예들이 첨부 도면들에 예시된다. 하기의 상세한 설명에서, 많은 구체적인 상세사항들이 다양하게 설명된 실시예들의 완전한 이해를 제공하기 위해 기재된다. 그러나, 다양한 설명된 실시예들이 이들 구체적인 상세사항들 없이 실시될 수 있다는 것은 당업자에게 명백할 것이다. 다른 예들에서, 잘 알려진 방법들, 절차들, 컴포넌트들, 회로들, 및 네트워크들은 실시예들의 태양들을 불필요하게 모호하게 하지 않기 위해 상세히 설명되지 않았다.Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the various described embodiments. However, it will be apparent to one skilled in the art that the various described embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
일부 예들에서, 용어들, 제1, 제2 등이 본 명세서에서 다양한 요소들을 설명하는 데 사용되지만, 이들 요소들은 이들 용어들에 의해 제한되어서는 안 된다는 것이 또한 이해될 것이다. 이러한 용어들은 하나의 요소를 다른 요소와 구별하는 데에만 사용된다. 예를 들어, 다양한 설명된 실시예들의 범주로부터 벗어남이 없이, 제1 접촉이 제2 접촉으로 지칭될 수 있고, 유사하게, 제2 접촉이 제1 접촉으로 지칭될 수 있다. 제1 접촉 및 제2 접촉은 둘 모두 접촉이지만, 문맥상 명백히 달리 표시하지 않는 한, 이들이 동일한 접촉인 것은 아니다.In some instances, the terms first, second, etc. are used herein to describe various elements, but it will also be understood that these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, without departing from the scope of the various described embodiments, a first contact may be referred to as a second contact, and similarly, a second contact may be referred to as a first contact. Although the first contact and the second contact are both contacts, they are not the same contact unless the context clearly indicates otherwise.
본 명세서에서 다양하게 기술된 실시예들의 설명에 사용되는 용어는 특정 실시예들을 기술하는 목적만을 위한 것이고, 제한하려는 의도는 아니다. 다양한 기술된 실시예들의 설명 및 첨부된 청구범위에 사용되는 바와 같이, 단수의 형태("a", "an", 및 "the")는 문맥상 명백히 달리 나타내지 않는다면 복수의 형태도 마찬가지로 포함하려는 것으로 의도된다. 또한, 본 명세서에서 사용되는 바와 같은 용어 "및/또는"은 열거되는 연관된 항목들 중 하나 이상의 항목들의 임의의 및 모든 가능한 조합들을 나타내고 그들을 포괄하는 것임이 이해될 것이다. 용어들 "포함한다(include)", "포함하는(including)", "포함한다(comprise)", 및/또는 "포함하는(comprising)"은, 본 명세서에서 사용될 때, 언급된 특징들, 정수들, 단계들, 동작들, 요소들, 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 특징들, 정수들, 단계들, 동작들, 요소들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 추가를 배제하지 않음이 추가로 이해될 것이다.The terminology used in the description of various embodiments described herein is for the purpose of describing specific embodiments only and is not intended to be limiting. As used in the description of the various described embodiments and the appended claims, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context clearly dictates otherwise. It is intended. Additionally, it will be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. The terms "include", "including", "comprise", and/or "comprising", when used herein, refer to the features referred to, an integer. Specifies the presence of features, steps, operations, elements, and/or components, but the presence of one or more other features, integers, steps, operations, elements, components, and/or groups thereof It will be further understood that addition is not excluded.
본 명세서에서 사용되는 바와 같이, "~는 경우(if)"라는 용어는, 선택적으로, 문맥에 따라 "~할 때(when)" 또는 "~ 시(upon)" 또는 "결정하는 것에 응답하여(in response to determining)" 또는 "검출하는 것에 응답하여(in response to detecting)"를 의미하는 것으로 해석된다. 유사하게, 어구 "~라고 결정된 경우" 또는 "[언급된 조건 또는 이벤트가] 검출된 경우"는, 선택적으로, 문맥에 따라 "~라고 결정할 때" 또는 "~라고 결정하는 것에 응답하여" 또는 "[언급된 조건 또는 이벤트]를 검출할 시" 또는 "[언급된 조건 또는 이벤트]를 검출하는 것에 응답하여"를 의미하는 것으로 해석된다.As used herein, the term “if” means, optionally, “when” or “upon” or “in response to determining ( It is interpreted to mean “in response to determining” or “in response to detecting.” Similarly, the phrases “when it is determined that” or “when [the stated condition or event] is detected” can optionally be used as “when determining that” or “in response to determining that” or “,” depending on the context. is interpreted to mean “upon detecting [the stated condition or event]” or “in response to detecting the [stated condition or event].”
전자 디바이스들, 그러한 디바이스들에 대한 사용자 인터페이스들, 및 그러한 디바이스들을 사용하기 위한 연관된 프로세스들의 실시예들이 기술된다. 일부 실시예들에서, 디바이스는 PDA 및/또는 음악 재생기 기능들과 같은 다른 기능들을 또한 포함하는 휴대용 통신 디바이스, 예컨대 이동 전화기이다. 휴대용 다기능 디바이스들의 예시적인 실시예들은 미국 캘리포니아주 쿠퍼티노 소재의 애플 인크.(Apple Inc.)로부터의 아이폰(iPhone)®, 아이팟 터치(iPod Touch)®, 및 아이패드(iPad)® 디바이스들을 제한 없이 포함한다. 터치 감응형 표면들(예컨대, 터치 스크린 디스플레이들 및/또는 터치패드들)을 갖는 랩톱 또는 태블릿 컴퓨터들과 같은 다른 휴대용 전자 디바이스들이 선택적으로 사용된다. 일부 실시예들에서, 디바이스는 휴대용 통신 디바이스가 아니라 터치 감응형 표면(예컨대, 터치 스크린 디스플레이 및/또는 터치패드)을 갖는 데스크톱 컴퓨터임이 또한 이해되어야 한다.Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions such as PDA and/or music player functions. Exemplary embodiments of portable multifunction devices include iPhone®, iPod Touch®, and iPad® devices from Apple Inc., Cupertino, CA. Includes without. Other portable electronic devices, such as laptop or tablet computers with touch-sensitive surfaces (eg, touch screen displays and/or touchpads), are optionally used. It should also be understood that in some embodiments, the device is a desktop computer with a touch-sensitive surface (eg, a touch screen display and/or touchpad) rather than a portable communication device.
이하의 논의에서, 디스플레이 및 터치 감응형 표면을 포함하는 전자 디바이스가 기술된다. 그러나, 전자 디바이스가 선택적으로 물리적 키보드, 마우스 및/또는 조이스틱과 같은 하나 이상의 다른 물리적 사용자 인터페이스 디바이스들을 포함한다는 것이 이해되어야 한다.In the discussion below, an electronic device comprising a display and a touch-sensitive surface is described. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices, such as a physical keyboard, mouse, and/or joystick.
디바이스는 전형적으로 다음 중 하나 이상과 같은 다양한 애플리케이션들을 지원한다: 메모하기 애플리케이션, 드로잉 애플리케이션, 프레젠테이션 애플리케이션, 워드 프로세싱 애플리케이션, 웹사이트 제작 애플리케이션, 디스크 저작 애플리케이션, 스프레드시트 애플리케이션, 게임 애플리케이션, 전화 애플리케이션, 화상 회의 애플리케이션, 이메일 애플리케이션, 인스턴트 메시징 애플리케이션, 운동 지원 애플리케이션, 사진 관리 애플리케이션, 디지털 카메라 애플리케이션, 디지털 비디오 카메라 애플리케이션, 웹 브라우징 애플리케이션, 디지털 음악 재생기 애플리케이션, 및/또는 디지털 비디오 재생기 애플리케이션.A device typically supports a variety of applications, such as one or more of the following: note-taking applications, drawing applications, presentation applications, word processing applications, website creation applications, disk authoring applications, spreadsheet applications, gaming applications, phone applications, and video applications. A meeting application, an email application, an instant messaging application, a workout support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and/or a digital video player application.
디바이스 상에서 실행되는 다양한 애플리케이션들은, 선택적으로, 터치 감응형 표면과 같은 적어도 하나의 보편적인 물리적 사용자 인터페이스 디바이스를 사용한다. 터치 감응형 표면의 하나 이상의 기능들뿐만 아니라 디바이스 상에 디스플레이되는 대응하는 정보는, 선택적으로, 하나의 애플리케이션으로부터 다음 애플리케이션으로 그리고/또는 각각의 애플리케이션 내에서 조정되고/되거나 변경된다. 이러한 방식으로, 디바이스의 (터치 감응형 표면과 같은) 보편적인 물리적 아키텍처는, 선택적으로, 사용자에게 직관적이고 투명한 사용자 인터페이스들을 이용하여 다양한 애플리케이션들을 지원한다.Various applications running on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface as well as corresponding information displayed on the device are optionally adjusted and/or changed from one application to the next and/or within each application. In this way, the device's common physical architecture (such as a touch-sensitive surface) optionally supports a variety of applications using user interfaces that are intuitive and transparent to the user.
이제, 터치 감응형 디스플레이들을 갖는 휴대용 디바이스들의 실시예들에 주목한다. 도 1a는 일부 실시예들에 따른, 터치 감응형 디스플레이 시스템(112)을 갖는 휴대용 다기능 디바이스(100)를 예시하는 블록도이다. 터치 감응형 디스플레이 시스템(112)은 때때로 편의상 "터치 스크린"이라고 지칭되고, 때때로 터치 감응형 디스플레이로 단순히 지칭된다. 디바이스(100)는 메모리(102)(선택적으로, 하나 이상의 컴퓨터 판독가능 저장 매체들을 포함함), 메모리 제어기(122), 하나 이상의 프로세싱 유닛(CPU)들(120), 주변기기 인터페이스(118), RF 회로부(108), 오디오 회로부(110), 스피커(111), 마이크로폰(113), 입/출력(I/O) 서브시스템(106), 다른 입력 또는 제어 디바이스들(116), 및 외부 포트(124)를 포함한다. 디바이스(100)는 선택적으로 하나 이상의 광 센서(optical sensor)들(164)을 포함한다. 디바이스(100)는 선택적으로, 디바이스(100)(예컨대, 디바이스(100)의 터치 감응형 디스플레이 시스템(112)과 같은 터치 감응형 표면) 상에서의 접촉들의 세기들을 검출하기 위한 하나 이상의 세기 센서들(165)을 포함한다. 디바이스(100)는 선택적으로, 디바이스(100) 상의 촉각적 출력들을 생성하기 위한 (예를 들어, 디바이스(100)의 터치 감응형 디스플레이 시스템(112) 또는 디바이스(300)의 터치패드(355)와 같은 터치 감응형 표면 상의 촉각적 출력들을 생성하기 위한) 하나 이상의 촉각적 출력 생성기들(167)을 포함한다. 이들 컴포넌트는 선택적으로 하나 이상의 통신 버스들 또는 신호 라인들(103)을 통해 통신한다.We now turn our attention to embodiments of portable devices with touch-sensitive displays. 1A is a block diagram illustrating a portable multifunction device 100 with a touch-sensitive display system 112, according to some embodiments. Touch-sensitive display system 112 is sometimes referred to as a “touch screen” for convenience, and sometimes simply as a touch-sensitive display. Device 100 includes memory 102 (optionally including one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripherals interface 118, and a radio frequency (RF) interface 118. Circuitry 108, audio circuitry 110,
디바이스(100)는 휴대용 다기능 디바이스의 일례일 뿐이고, 디바이스(100)는, 선택적으로, 도시된 것보다 더 많거나 더 적은 컴포넌트들을 갖거나, 선택적으로, 둘 이상의 컴포넌트들을 조합하거나, 또는 선택적으로 컴포넌트들의 상이한 구성 또는 배열을 갖는다는 것이 이해되어야 한다. 도 1a에 도시된 다양한 컴포넌트들은, 하나 이상의 신호 프로세싱 및/또는 주문형 집적 회로(application specific integrated circuit)들을 비롯한, 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 조합으로 구현된다.Device 100 is only one example of a portable multi-function device, and device 100 may optionally have more or fewer components than shown, optionally combine two or more components, or optionally use a combination of components. It should be understood that they have different configurations or arrangements. The various components shown in FIG. 1A are implemented in hardware, software, firmware, or a combination thereof, including one or more signal processing and/or application specific integrated circuits.
메모리(102)는, 선택적으로, 고속 랜덤 액세스 메모리를 포함하고, 또한 선택적으로, 하나 이상의 자기 디스크 저장 디바이스, 플래시 메모리 디바이스, 또는 다른 비휘발성 솔리드 스테이트 메모리 디바이스(non-volatile solid-state memory device)와 같은 비휘발성 메모리를 포함한다. CPU(들)(120) 및 주변기기 인터페이스(118)와 같은 디바이스(100)의 다른 컴포넌트들에 의한 메모리(102)에 대한 액세스는 선택적으로 메모리 제어기(122)에 의해 제어된다.Memory 102 optionally includes high-speed random access memory, and may also optionally include one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Includes non-volatile memory such as Access to memory 102 by other components of device 100, such as CPU(s) 120 and peripherals interface 118, is optionally controlled by memory controller 122.
주변기기 인터페이스(118)는 디바이스의 입력 및 출력 주변기기들을 CPU(들)(120) 및 메모리(102)에 커플링시키는 데 사용될 수 있다. 하나 이상의 프로세서들(120)은 디바이스(100)에 대한 다양한 기능들을 수행하기 위해 그리고 데이터를 프로세싱하기 위해 메모리(102)에 저장된 다양한 소프트웨어 프로그램들 및/또는 명령어들의 세트들을 구동 또는 실행시킨다.Peripheral interface 118 may be used to couple the device's input and output peripherals to CPU(s) 120 and memory 102. One or more processors 120 drive or execute various software programs and/or sets of instructions stored in memory 102 to perform various functions for device 100 and to process data.
일부 실시예들에서, 주변기기 인터페이스(118), CPU(들)(120) 및 메모리 제어기(122)는, 선택적으로, 칩(104)과 같은 단일 칩 상에 구현된다. 일부 다른 실시예들에서, 이들은 선택적으로 별개의 칩들 상에서 구현된다.In some embodiments, peripherals interface 118, CPU(s) 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, these are optionally implemented on separate chips.
RF(radio frequency) 회로부(108)는 전자기 신호들이라고도 지칭되는 RF 신호들을 수신 및 송신한다. RF 회로부(108)는 전기 신호들을 전자기 신호들로/로부터 변환하고, 전자기 신호들을 통해 통신 네트워크들 및 다른 통신 디바이스들과 통신한다. RF 회로부(108)는, 선택적으로, 안테나 시스템, RF 송수신기, 하나 이상의 증폭기, 튜너, 하나 이상의 발진기, 디지털 신호 프로세서, CODEC 칩셋, SIM(subscriber identity module) 카드, 메모리 등을 포함하지만 이들로 제한되지 않는, 이러한 기능들을 수행하기 위한 잘 알려진 회로부를 포함한다. RF 회로부(108)는, 선택적으로, 네트워크들, 예컨대 월드 와이드 웹(WWW)으로도 지칭되는 인터넷, 인트라넷, 및/또는 무선 네트워크, 예컨대 셀룰러 전화 네트워크, 무선 LAN(local area network) 및/또는 MAN(metropolitan area network), 및 다른 디바이스들과 무선 통신에 의해 통신한다. 무선 통신은, 선택적으로, GSM(Global System for Mobile Communications), EDGE(Enhanced Data GSM Environment), HSDPA(high-speed downlink packet access), HSUPA(high-speed uplink packet access), EV-DO(Evolution, Data-Only), HSPA, HSPA+, DC-HSPA(Dual-Cell HSPA), LTE(long term evolution), NFC(near field communication), W-CDMA(wideband code division multiple access), CDMA(code division multiple access), TDMA(time division multiple access), 블루투스(Bluetooth), Wi-Fi(Wireless Fidelity)(예컨대, IEEE 802.11a, IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11b, IEEE 802.11g 및/또는 IEEE 802.11n), VoIP(voice over Internet Protocol), Wi-MAX, 이메일용 프로토콜(예컨대, IMAP(Internet message access protocol) 및/또는 POP(post office protocol)), 인스턴트 메시징(예컨대, XMPP(extensible messaging and presence protocol), SIMPLE(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions), IMPS(Instant Messaging and Presence Service)), 및/또는 SMS(Short Message Service), 또는 본 문서의 출원일 당시 아직 개발되지 않은 통신 프로토콜들을 비롯한, 임의의 다른 적합한 통신 프로토콜을 포함하지만 이들로 제한되지는 않는, 복수의 통신 표준들, 프로토콜들 및 기술들 중 임의의 것을 이용한다.Radio frequency (RF) circuitry 108 receives and transmits RF signals, also referred to as electromagnetic signals. RF circuitry 108 converts electrical signals to and from electromagnetic signals and communicates with communication networks and other communication devices via electromagnetic signals. RF circuitry 108 optionally includes, but is not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, etc. , and includes well-known circuitry for performing these functions. RF circuitry 108 optionally connects to networks, such as the Internet, also referred to as the World Wide Web (WWW), intranets, and/or wireless networks, such as cellular telephone networks, wireless local area networks (LANs), and/or MANs. (metropolitan area network), and communicate with other devices by wireless communication. Wireless communications may optionally include Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), Evolution, Data-Only), HSPA, HSPA+, DC-HSPA (Dual-Cell HSPA), LTE (long term evolution), NFC (near field communication), W-CDMA (wideband code division multiple access), CDMA (code division multiple access) ), time division multiple access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11b, IEEE 802.11g and/or IEEE 802.11n ), voice over Internet Protocol (VoIP), Wi-MAX, protocols for email (e.g., Internet message access protocol (IMAP) and/or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP) ), SIMPLE (Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions), IMPS (Instant Messaging and Presence Service), and/or SMS (Short Message Service), or communication protocols not yet developed as of the filing date of this document. , utilizes any of a plurality of communication standards, protocols and technologies, including but not limited to any other suitable communication protocol.
오디오 회로부(110), 스피커(111), 및 마이크로폰(113)은 사용자와 디바이스(100) 사이에서 오디오 인터페이스를 제공한다. 오디오 회로부(110)는 주변기기 인터페이스(118)로부터 오디오 데이터를 수신하고, 그 오디오 데이터를 전기 신호로 변환하고, 그 전기 신호를 스피커(111)에 송신한다. 스피커(111)는 전기 신호를 사람이 들을 수 있는 음파로 변환한다. 오디오 회로부(110)는 또한 마이크로폰(113)에 의해 음파로부터 변환된 전기 신호를 수신한다. 오디오 회로부(110)는 전기 신호를 오디오 데이터로 변환하고, 프로세싱을 위해 오디오 데이터를 주변기기 인터페이스(118)에 송신한다. 오디오 데이터는, 선택적으로, 주변기기 인터페이스(118)에 의해 메모리(102) 및/또는 RF 회로부(108)로부터 인출되고/되거나 메모리(102) 및/또는 RF 회로부(108)로 전송된다. 일부 실시예들에서, 오디오 회로부(110)는 또한 헤드셋 잭(예컨대, 도 2의 212)을 포함한다. 헤드셋 잭은 출력-전용 헤드폰들, 또는 출력(예컨대, 한쪽 또는 양쪽 귀용 헤드폰) 및 입력(예컨대, 마이크로폰) 양쪽 모두를 갖는 헤드셋과 같은 분리가능한 오디오 입/출력 주변기기들과 오디오 회로부(110) 사이의 인터페이스를 제공한다.The audio circuitry 110,
I/O 서브시스템(106)은 터치 감응형 디스플레이 시스템(112) 및 다른 입력 또는 제어 디바이스들(116)과 같은, 디바이스(100) 상의 입/출력 주변기기들을 주변기기 인터페이스(118)와 커플링시킨다. I/O 서브시스템(106)은 선택적으로 디스플레이 제어기(156), 광 센서 제어기(158), 세기 센서 제어기(159), 햅틱 피드백 제어기(161) 및 다른 입력 또는 제어 디바이스들을 위한 하나 이상의 입력 제어기(160)를 포함한다. 하나 이상의 입력 제어기들(160)은 다른 입력 또는 제어 디바이스들(116)로부터/로 전기 신호들을 수신/송신한다. 다른 입력 또는 제어 디바이스들(116)은 선택적으로 물리적 버튼들(예컨대, 푸시 버튼(push button), 로커 버튼(rocker button) 등), 다이얼, 슬라이더 스위치, 조이스틱, 클릭 휠 등을 포함한다. 일부 다른 실시예들에서, 입력 제어기(들)(160)는 선택적으로 키보드, 적외선 포트, USB 포트, 스타일러스, 및/또는 마우스와 같은 포인터 디바이스 중 임의의 것과 커플링된다(또는 어떤 것에도 커플링되지 않는다). 하나 이상의 버튼들(예컨대, 도 2의 208)은, 선택적으로, 스피커(111) 및/또는 마이크로폰(113)의 음량 제어를 위한 업/다운 버튼을 포함한다. 하나 이상의 버튼들은 선택적으로 푸시 버튼(예컨대, 도 2의 206)을 포함한다.I/O subsystem 106 couples input/output peripherals on device 100, such as touch-sensitive display system 112 and other input or control devices 116, with peripherals interface 118. The I/O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, an intensity sensor controller 159, a haptic feedback controller 161, and one or more input controllers for other input or control devices ( 160). One or more input controllers 160 receive/transmit electrical signals to/from other input or control devices 116. Other input or control devices 116 optionally include physical buttons (eg, push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, etc. In some other embodiments, input controller(s) 160 is optionally coupled to (or coupled to) any of a keyboard, infrared port, USB port, stylus, and/or pointer device, such as a mouse. does not work). One or more buttons (e.g., 208 in FIG. 2) optionally include up/down buttons for volume control of the
터치 감응형 디스플레이 시스템(112)은 디바이스와 사용자 사이의 입력 인터페이스 및 출력 인터페이스를 제공한다. 디스플레이 제어기(156)는 터치 감응형 디스플레이 시스템(112)으로부터/으로 전기 신호들을 수신 및/또는 전송한다. 터치 감응형 디스플레이 시스템(112)은 사용자에게 시각적 출력을 디스플레이한다. 시각적 출력은 선택적으로 그래픽들, 텍스트, 아이콘들, 비디오 및 이들의 임의의 조합(총칭하여 "그래픽들"로 지칭됨)을 포함한다. 일부 실시예들에서, 시각적 출력의 일부 또는 전부가 사용자 인터페이스 객체들에 대응된다. 본 명세서에 사용된 바와 같이, "어포던스(affordance)"라는 용어는 사용자-상호작용형 그래픽 사용자 인터페이스 객체(예컨대, 그래픽 사용자 인터페이스 객체 쪽으로 향하는 입력들에 응답하도록 구성되는 그래픽 사용자 인터페이스 객체)를 지칭한다. 사용자-상호작용형 그래픽 사용자 인터페이스 객체들의 예들은, 제한 없이, 버튼, 슬라이더, 아이콘, 선택가능한 메뉴 항목, 스위치, 하이퍼링크, 또는 다른 사용자 인터페이스 제어부를 포함한다.The touch-sensitive display system 112 provides an input interface and an output interface between the device and the user. Display controller 156 receives and/or transmits electrical signals to and from touch-sensitive display system 112. The touch-sensitive display system 112 displays visual output to the user. Visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively referred to as “graphics”). In some embodiments, some or all of the visual output corresponds to user interface objects. As used herein, the term “affordance” refers to a user-interactive graphical user interface object (e.g., a graphical user interface object configured to respond to inputs directed toward the graphical user interface object). . Examples of user-interactive graphical user interface objects include, without limitation, buttons, sliders, icons, selectable menu items, switches, hyperlinks, or other user interface controls.
터치 감응형 디스플레이 시스템(112)은 햅틱 및/또는 촉각적 접촉에 기초하여 사용자로부터의 입력을 수용하는 터치 감응형 표면, 센서 또는 센서들의 세트를 갖는다. 터치 감응형 디스플레이 시스템(112) 및 디스플레이 제어기(156)는 (메모리(102) 내의 임의의 연관된 모듈들 및/또는 명령어들의 세트들과 함께) 터치 감응형 디스플레이 시스템(112) 상에서의 접촉(및 접촉의 임의의 이동 또는 중단)을 검출하고, 검출된 접촉을 터치 감응형 디스플레이 시스템(112) 상에 디스플레이된 사용자 인터페이스 객체들(예를 들어, 하나 이상의 소프트 키들, 아이콘들, 웹 페이지들 또는 이미지들)과의 상호작용으로 변환한다. 일부 실시예들에서, 터치 감응형 디스플레이 시스템(112)과 사용자 사이의 접촉 지점은 사용자의 손가락 또는 스타일러스에 대응된다.Touch-sensitive display system 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from a user based on haptics and/or tactile contact. Touch-sensitive display system 112 and display controller 156 (along with any associated modules and/or sets of instructions in memory 102) make contact (and contact) on touch-sensitive display system 112. detects any movement or interruption of the touch sensitive display system 112 and detects any detected contact (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch-sensitive display system 112. ) is converted into interaction with. In some embodiments, the point of contact between touch-sensitive display system 112 and the user corresponds to the user's finger or stylus.
터치 감응형 디스플레이 시스템(112)은 선택적으로 LCD(액정 디스플레이) 기술, LPD(발광 중합체 디스플레이) 기술, 또는 LED(발광 다이오드) 기술을 이용하지만, 다른 실시예들에서는 다른 디스플레이 기술들이 이용된다. 터치 감응형 디스플레이 시스템(112) 및 디스플레이 제어기(156)는 선택적으로 용량성, 저항성, 적외선 및 표면 음향파 기술들뿐만 아니라, 다른 근접 센서 어레이들 또는 터치 감응형 디스플레이 시스템(112)과의 하나 이상의 접촉 지점들을 결정하기 위한 다른 요소들을 포함하지만 이들로 한정되지 않는, 현재 알려져 있거나 추후에 개발될 복수의 터치 감지 기술들 중 임의의 것을 이용하여, 접촉 및 그의 임의의 이동 또는 중단을 검출한다. 일부 실시예들에서, 미국 캘리포니아주 쿠퍼티노 소재의 애플 인크.로부터의 아이폰®, 아이팟 터치®, 및 아이패드®에서 발견되는 것과 같은 투영형 상호 용량 감지 기술(projected mutual capacitance sensing technology)이 이용된다.The touch-sensitive display system 112 optionally utilizes LCD (liquid crystal display) technology, LPD (light-emitting polymer display) technology, or LED (light-emitting diode) technology, although other display technologies are used in other embodiments. The touch-sensitive display system 112 and display controller 156 may optionally utilize one or more of capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or with the touch-sensitive display system 112. Contact and any movement or cessation thereof may be detected using any of a plurality of touch sensing technologies now known or later developed, including but not limited to other elements for determining points of contact. In some embodiments, projected mutual capacitance sensing technology, such as that found in the iPhone®, iPod Touch®, and iPad® from Apple Inc., Cupertino, CA, is used. .
터치 감응형 디스플레이 시스템(112)은 선택적으로 100 dpi를 초과하는 비디오 해상도를 갖는다. 일부 실시예들에서, 터치 스크린 비디오 해상도는 400dpi를 초과한다(예컨대, 500dpi, 800dpi, 또는 그 이상). 사용자는 선택적으로 스타일러스, 손가락 등과 같은 임의의 적합한 객체 또는 부속물을 이용하여 터치 감응형 디스플레이 시스템(112)과 접촉한다. 일부 실시예들에서, 사용자 인터페이스는 손가락 기반 접촉들 및 제스처들을 이용하여 동작하도록 설계되는데, 이는 터치 스크린 상에서의 손가락의 더 넓은 접촉 면적으로 인해 스타일러스 기반 입력보다 덜 정밀할 수 있다. 일부 실시예들에서, 디바이스는 대략적인 손가락 기반 입력을 사용자가 원하는 액션(action)들을 수행하기 위한 정밀한 포인터/커서 위치 또는 커맨드로 변환한다.Touch-sensitive display system 112 optionally has a video resolution exceeding 100 dpi. In some embodiments, the touch screen video resolution exceeds 400 dpi (eg, 500 dpi, 800 dpi, or higher). The user optionally contacts the touch-sensitive display system 112 using any suitable object or appendage, such as a stylus, finger, etc. In some embodiments, the user interface is designed to operate using finger-based contacts and gestures, which may be less precise than stylus-based input due to the larger contact area of the finger on the touch screen. In some embodiments, the device converts coarse finger-based input into precise pointer/cursor positions or commands to perform desired actions by the user.
일부 실시예들에서, 터치 스크린 이외에, 디바이스(100)는, 선택적으로, 특정 기능들을 활성화 또는 비활성화시키기 위한 터치패드(도시되지 않음)를 포함한다. 일부 실시예들에서, 터치패드는, 터치 스크린과는 달리, 시각적 출력을 디스플레이하지 않는 디바이스의 터치 감응형 영역이다. 터치패드는 선택적으로 터치 감응형 디스플레이 시스템(112)과는 별개인 터치 감응형 표면, 또는 터치 스크린에 의해 형성된 터치 감응형 표면의 연장부이다.In some embodiments, in addition to the touch screen, device 100 optionally includes a touchpad (not shown) for activating or deactivating certain functions. In some embodiments, a touchpad is a touch-sensitive area of a device that, unlike a touch screen, does not display visual output. The touchpad is optionally a touch-sensitive surface separate from touch-sensitive display system 112, or an extension of the touch-sensitive surface formed by a touch screen.
디바이스(100)는 또한 다양한 컴포넌트들에 전력을 공급하기 위한 전력 시스템(162)을 포함한다. 전력 시스템(162)은, 선택적으로, 전력 관리 시스템, 하나 이상의 전원(예컨대, 배터리, 교류 전류(alternating current, AC)), 재충전 시스템, 전력 고장 검출 회로, 전력 변환기 또는 인버터, 전력 상태 표시자(예컨대, 발광 다이오드(LED)), 및 휴대용 디바이스들 내에서의 전력의 생성, 관리 및 분배와 연관된 임의의 다른 컴포넌트들을 포함한다.Device 100 also includes a power system 162 to power various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharge system, a power failure detection circuit, a power converter or inverter, and a power status indicator ( such as light emitting diodes (LEDs)), and any other components associated with the generation, management, and distribution of power within portable devices.
디바이스(100)는 또한 선택적으로 하나 이상의 광 센서(164)를 포함한다. 도 1a는 I/O 서브시스템(106) 내의 광 센서 제어기(158)와 커플링된 광 센서를 도시한다. 광 센서(들)(164)는 선택적으로 CCD(charge-coupled device) 또는 CMOS(complementary metal-oxide semiconductor) 포토트랜지스터들을 포함한다. 광 센서(들)(164)는 하나 이상의 렌즈를 통해 투영되는, 주변환경으로부터의 광을 수광하고, 그 광을 이미지를 표현하는 데이터로 변환한다. 이미징 모듈(143)(카메라 모듈로도 지칭됨)과 함께, 광 센서(들)(164)는 선택적으로, 정지 이미지들 및/또는 비디오를 캡처한다. 일부 실시예들에서, 광 센서는 디바이스(100)의 전면 상의 터치 감응형 디스플레이 시스템(112)의 반대편인 디바이스의 배면 상에 위치되어, 터치 스크린이 정지 및/또는 비디오 이미지 획득을 위한 뷰파인더로서 사용될 수 있게 한다. 일부 실시예들에서, 다른 광 센서가 (예를 들어, 셀카를 위해, 사용자가 터치 스크린 상에서 다른 화상 회의 참가자들을 보면서 화상 회의를 하기 위해, 등등을 위해) 사용자의 이미지가 획득되도록 디바이스의 전면 상에 위치된다.Device 100 also optionally includes one or more
디바이스(100)는, 또한, 선택적으로, 하나 이상의 접촉 세기 센서들(165)을 포함한다. 도 1a는 I/O 서브시스템(106) 내의 세기 센서 제어기(159)와 커플링된 접촉 세기 센서를 도시한다. 접촉 세기 센서(들)(165)는, 선택적으로, 하나 이상의 압전 저항 스트레인 게이지, 용량성 힘 센서, 전기적 힘 센서, 압전 힘 센서, 광학적 힘 센서, 용량성 터치 감응형 표면, 또는 다른 세기 센서들(예컨대, 터치 감응형 표면 상에서의 접촉의 힘(또는 압력)을 측정하는 데 사용되는 센서들)을 포함한다. 접촉 세기 센서(들)(165)는 주변환경으로부터 접촉 세기 정보(예컨대, 압력 정보 또는 압력 정보에 대한 대용물(proxy))를 수신한다. 일부 실시예들에서, 적어도 하나의 접촉 세기 센서는 터치 감응형 표면(예컨대, 터치 감응형 디스플레이 시스템(112))과 함께 위치(collocate)되거나 그에 근접한다. 일부 실시예들에서, 적어도 하나의 접촉 세기 센서는 디바이스(100)의 전면 상에 위치된 터치 스크린 디스플레이 시스템(112)의 반대편인 디바이스(100)의 배면 상에 위치된다.Device 100 also optionally includes one or more contact intensity sensors 165. 1A shows a contact intensity sensor coupled with intensity sensor controller 159 within I/O subsystem 106. Contact intensity sensor(s) 165 may optionally include one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other intensity sensors. (e.g., sensors used to measure the force (or pressure) of contact on a touch-sensitive surface). Contact intensity sensor(s) 165 receives contact intensity information (eg, pressure information or a proxy for pressure information) from the surrounding environment. In some embodiments, at least one contact intensity sensor collocates with or is proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, the at least one contact intensity sensor is located on the back of device 100, opposite the touch screen display system 112 located on the front of device 100.
디바이스(100)는 또한 선택적으로 하나 이상의 근접 센서(166)를 포함한다. 도 1a는 주변기기 인터페이스(118)와 커플링된 근접 센서(166)를 도시한다. 대안적으로, 근접 센서(166)는 I/O 서브시스템(106) 내의 입력 제어기(160)와 커플링된다. 일부 실시예들에서, 근접 센서는 다기능 디바이스가 사용자의 귀 근처에 위치될 때(예를 들어, 사용자가 전화 통화를 하고 있을 때), 터치 감응형 디스플레이 시스템(112)을 끄고 디스에이블시킨다.Device 100 also optionally includes one or more proximity sensors 166. 1A shows proximity sensor 166 coupled with peripherals interface 118. Alternatively, proximity sensor 166 is coupled with input controller 160 within I/O subsystem 106. In some embodiments, the proximity sensor turns off and disables the touch-sensitive display system 112 when the multifunction device is positioned near the user's ear (e.g., when the user is talking on the phone).
디바이스(100)는, 또한, 선택적으로, 하나 이상의 촉각적 출력 생성기들(167)을 포함한다. 도 1a는 I/O 서브시스템(106) 내의 햅틱 피드백 제어기(161)와 커플링된 촉각적 출력 생성기를 도시한다. 일부 실시예들에서, 촉각적 출력 생성기(들)(167)는 스피커들 또는 다른 오디오 컴포넌트들과 같은 하나 이상의 전자음향 디바이스들 및/또는 모터, 솔레노이드, 전기활성 중합체, 압전 액추에이터, 정전 액추에이터, 또는 다른 촉각적 출력 생성 컴포넌트(예를 들어, 전기 신호들을 디바이스 상의 촉각적 출력들로 변환하는 컴포넌트)와 같이 에너지를 선형 모션(linear motion)으로 변환하는 전자기계 디바이스들을 포함한다. 촉각적 출력 생성기(들)(167)는 햅틱 피드백 모듈(133)로부터 촉각적 피드백 생성 명령어들을 수신하고, 디바이스(100)의 사용자에 의해 감지될 수 있는 디바이스(100) 상의 촉각적 출력들을 생성한다. 일부 실시예들에서, 적어도 하나의 촉각적 출력 생성기는 터치 감응형 표면(예컨대, 터치 감응형 디스플레이 시스템(112))과 함께 위치되거나 그에 근접하며, 선택적으로, 터치 감응형 표면을 수직으로(예컨대, 디바이스(100)의 표면 내/외로) 또는 측방향으로(예컨대, 디바이스(100)의 표면과 동일한 평면에서 전후로) 이동시킴으로써 촉각적 출력을 생성한다. 일부 실시예들에서, 적어도 하나의 촉각적 출력 생성기 센서는 디바이스(100)의 전면 상에 위치된 터치 감응형 디스플레이 시스템(112)의 반대편인 디바이스(100)의 배면 상에 위치된다.Device 100 also optionally includes one or more tactile output generators 167 . 1A shows a haptic output generator coupled with a haptic feedback controller 161 in I/O subsystem 106. In some embodiments, tactile output generator(s) 167 may include one or more electroacoustic devices such as speakers or other audio components and/or motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or Includes electromechanical devices that convert energy into linear motion, as do other tactile output generating components (e.g., components that convert electrical signals to tactile outputs on a device). Tactile output generator(s) 167 receives tactile feedback generation instructions from haptic feedback module 133 and generates tactile outputs on device 100 that can be sensed by a user of device 100. . In some embodiments, the at least one tactile output generator is positioned with or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112) and, optionally, moves the touch-sensitive surface vertically (e.g., , generates a tactile output by moving the surface of the device 100 (in/out) or laterally (eg, back and forth on the same plane as the surface of the device 100). In some embodiments, the at least one tactile output generator sensor is located on the back of device 100, opposite the touch-sensitive display system 112 located on the front of device 100.
디바이스(100)는 또한 선택적으로 하나 이상의 가속도계(168)를 포함한다. 도 1a는 주변기기 인터페이스(118)와 커플링된 가속도계(168)를 도시한다. 대안으로, 가속도계(168)는 선택적으로 I/O 서브시스템(106) 내의 입력 제어기(160)와 커플링된다. 일부 실시예들에서, 하나 이상의 가속도계들로부터 수신된 데이터의 분석에 기초하여 터치 스크린 디스플레이 상에 세로보기(portrait view) 또는 가로보기(landscape view)로 정보가 디스플레이된다. 디바이스(100)는, 선택적으로, 가속도계(들)(168) 외에도, 자력계(도시되지 않음), 및 디바이스(100)의 위치 및 배향(예컨대, 세로 또는 가로)에 관한 정보를 획득하기 위한 GPS(또는 GLONASS 또는 다른 글로벌 내비게이션 시스템) 수신기(도시되지 않음)를 포함한다.Device 100 also optionally includes one or more accelerometers 168. 1A shows an accelerometer 168 coupled with a peripherals interface 118. Alternatively, accelerometer 168 is optionally coupled with input controller 160 within I/O subsystem 106. In some embodiments, information is displayed in a portrait view or a landscape view on a touch screen display based on analysis of data received from one or more accelerometers. Device 100 optionally includes, in addition to accelerometer(s) 168, a magnetometer (not shown), and GPS (e.g., vertical or horizontal) to obtain information regarding the location and orientation (e.g., vertical or horizontal) of device 100. or GLONASS or other global navigation system) receiver (not shown).
일부 실시예들에서, 메모리(102)에 저장된 소프트웨어 컴포넌트들은 운영 체제(126), 통신 모듈(또는 명령어들의 세트)(128), 접촉/모션 모듈(또는 명령어들의 세트)(130), 그래픽 모듈(또는 명령어들의 세트)(132), 햅틱 피드백 모듈(또는 명령어들의 세트)(133), 텍스트 입력 모듈(또는 명령어들의 세트)(134), GPS 모듈(또는 명령어들의 세트)(135), 및 애플리케이션들(또는 명령어들의 세트들)(136)을 포함한다. 게다가, 일부 실시예들에서, 메모리(102)는 도 1a 및 도 3에 도시된 바와 같이 디바이스/글로벌 내부 상태(157)를 저장한다. 디바이스/글로벌 내부 상태(157)는, 존재하는 경우, 어느 애플리케이션들이 현재 활성 상태인지를 나타내는 활성 애플리케이션 상태; 어떤 애플리케이션들, 뷰들 또는 다른 정보가 터치 감응형 디스플레이 시스템(112)의 다양한 영역들을 점유하는지를 표시하는 디스플레이 상태; 디바이스의 다양한 센서들 및 다른 입력 또는 제어 디바이스들(116)로부터 획득된 정보를 포함하는 센서 상태; 및 디바이스의 위치 및/또는 자세에 관한 위치 및/또는 포지션 정보 중 하나 이상을 포함한다.In some embodiments, software components stored in memory 102 include operating system 126, communications module (or set of instructions) 128, contact/motion module (or set of instructions) 130, graphics module ( or set of instructions) 132, haptic feedback module (or set of instructions) 133, text input module (or set of instructions) 134, GPS module (or set of instructions) 135, and applications. (or sets of instructions) 136. Additionally, in some embodiments, memory 102 stores device/global internal state 157 as shown in FIGS. 1A and 3 . Device/global internal state 157 includes active application state, if present, indicating which applications are currently active; display state indicating which applications, views or other information occupy various areas of touch-sensitive display system 112; sensor state, including information obtained from the device's various sensors and other input or control devices 116; and location and/or position information regarding the location and/or posture of the device.
운영 체제(126)(예컨대, iOS, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, 또는 VxWorks와 같은 임베디드 운영 체제)는 일반적인 시스템 태스크들(예컨대, 메모리 관리, 저장 디바이스 제어, 전력 관리 등)을 제어 및 관리하기 위한 다양한 소프트웨어 컴포넌트들 및/또는 드라이버들을 포함하고, 다양한 하드웨어와 소프트웨어 컴포넌트들 사이의 통신을 용이하게 한다.Operating system 126 (e.g., an embedded operating system such as iOS, Darwin, RTXC, LINUX, UNIX, OS Includes various software components and/or drivers for controlling and managing and facilitates communication between various hardware and software components.
통신 모듈(128)은 하나 이상의 외부 포트(124)를 통한 다른 디바이스들과의 통신을 가능하게 하고, 또한 RF 회로부(108) 및/또는 외부 포트(124)에 의해 수신되는 데이터를 처리하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 외부 포트(124)(예컨대, USB, 파이어와이어(FIREWIRE) 등)는 다른 디바이스들에 직접적으로 또는 네트워크(예컨대, 인터넷, 무선 LAN 등)를 통해 간접적으로 커플링하도록 구성된다. 일부 실시예들에서, 외부 포트는 미국 캘리포니아주 쿠퍼티노 소재의 애플 인크.로부터의 일부 아이폰®, 아이팟 터치®, 및 아이패드® 디바이스들에서 사용되는 30-핀 커넥터와 동일하거나 유사하고/하거나 호환가능한 멀티-핀(예를 들어, 30-핀) 커넥터이다. 일부 실시예들에서, 외부 포트는 미국 캘리포니아 주 쿠퍼티노 소재의 애플 인크.로부터의 일부 아이폰®, 아이팟 터치®, 및 아이패드® 디바이스들에서 사용되는 라이트닝 커넥터(Lightning connector)와 동일하거나 유사하고/하거나 호환가능한 라이트닝 커넥터이다.The communication module 128 enables communication with other devices through one or more external ports 124, and also provides various functions for processing data received by the RF circuitry 108 and/or external ports 124. Contains software components. External port 124 (e.g., USB, FIREWIRE, etc.) is configured to couple to other devices directly or indirectly through a network (e.g., Internet, wireless LAN, etc.). In some embodiments, the external port is identical or similar to and/or compatible with the 30-pin connector used on some iPhone®, iPod Touch®, and iPad® devices from Apple Inc., Cupertino, California. Available multi-pin (e.g. 30-pin) connectors. In some embodiments, the external port is identical or similar to the Lightning connector used in some iPhone®, iPod Touch®, and iPad® devices from Apple Inc., Cupertino, CA. or a compatible Lightning connector.
접촉/모션 모듈(130)은 선택적으로 (디스플레이 제어기(156)와 함께) 터치 감응형 디스플레이 시스템(112), 및 다른 터치 감응형 디바이스들(예를 들어, 터치패드 또는 물리적 클릭 휠)과의 접촉을 검출한다. 접촉/모션 모듈(130)은 접촉이 발생했는지의 여부를 결정하는 것(예컨대, 손가락-다운 이벤트(finger-down event)를 검출하는 것), 접촉의 세기(예컨대, 접촉의 힘 또는 압력, 또는 접촉의 힘 또는 압력에 대한 대체물)를 결정하는 것, 접촉의 이동이 있는지의 여부를 결정하여 터치 감응형 표면을 가로지르는 이동을 추적하는 것(예컨대, 하나 이상의 손가락-드래깅 이벤트(finger-dragging event)들을 검출하는 것), 및 접촉이 중지되었는지의 여부를 결정하는 것(예컨대, 손가락-업 이벤트(finger-up event) 또는 접촉 중단을 검출하는 것)과 같은, (예를 들어, 손가락에 의한, 또는 스타일러스에 의한) 접촉의 검출과 관련된 다양한 동작들을 수행하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다. 접촉/모션 모듈(130)은 터치 감응형 표면으로부터 접촉 데이터를 수신한다. 일련의 접촉 데이터에 의해 표현되는 접촉 지점의 이동을 결정하는 것은, 선택적으로, 접촉 지점의 속력(크기), 속도(크기 및 방향), 및/또는 가속도(크기 및/또는 방향의 변화)를 결정하는 것을 포함한다. 이들 동작들은 선택적으로 단일 접촉들(예컨대, 한 손가락 접촉들 또는 스타일러스 접촉들)에 또는 복수의 동시 접촉들(예컨대, "멀티터치"/다수의 손가락 접촉들)에 적용된다. 일부 실시예들에서, 접촉/모션 모듈(130) 및 디스플레이 제어기(156)는 터치패드 상에서의 접촉을 검출한다.Contact/motion module 130 optionally (along with display controller 156) contacts touch-sensitive display system 112, and other touch-sensitive devices (e.g., a touchpad or physical click wheel). Detect. Contact/motion module 130 may be configured to determine whether contact has occurred (e.g., detecting a finger-down event), the strength of the contact (e.g., the force or pressure of the contact, or determining the force of the contact or a proxy for pressure; tracking movement across the touch-sensitive surface by determining whether there is movement of the contact (e.g., one or more finger-dragging events) ), and determining whether contact has ceased (e.g., detecting a finger-up event or interruption of contact) (e.g., detecting a finger-up event or interruption of contact). , or by a stylus) and various software components for performing various operations related to detection of contact. Contact/motion module 130 receives contact data from a touch-sensitive surface. Determining the movement of the point of contact represented by the set of contact data may optionally determine the speed (magnitude), velocity (magnitude and direction), and/or acceleration (change in size and/or direction) of the point of contact. It includes doing. These operations are optionally applied to single contacts (eg, single finger contacts or stylus contacts) or to multiple simultaneous contacts (eg, “multitouch”/multiple finger contacts). In some embodiments, contact/motion module 130 and display controller 156 detect contact on the touchpad.
접촉/모션 모듈(130)은, 선택적으로, 사용자에 의한 제스처 입력을 검출한다. 터치 감응형 표면 상에서의 상이한 제스처들은 상이한 접촉 패턴들(예컨대, 검출된 접촉들의 상이한 모션들, 타이밍들, 및/또는 세기들)을 갖는다. 따라서, 제스처는, 선택적으로, 특정 접촉 패턴을 검출함으로써 검출된다. 예를 들어, 손가락 탭 제스처(finger tap gesture)를 검출하는 것은 손가락-다운 이벤트를 검출한 다음에 손가락-다운 이벤트와 동일한 위치(또는 실질적으로 동일한 위치)에서(예컨대, 아이콘의 위치에서) 손가락-업(리프트오프(liftoff)) 이벤트를 검출하는 것을 포함한다. 다른 예로서, 터치 감응형 표면 상에서 손가락 스와이프 제스처(finger swipe gesture)를 검출하는 것은 손가락-다운 이벤트를 검출한 다음에 하나 이상의 손가락-드래깅 이벤트들을 검출하고, 그에 후속하여 손가락-업(리프트오프) 이벤트를 검출하는 것을 포함한다. 유사하게, 탭, 스와이프, 드래그, 및 다른 제스처들은 선택적으로 스타일러스를 위한 특정 접촉 패턴을 검출함으로써 스타일러스를 위해 검출된다.Contact/motion module 130 optionally detects gesture input by the user. Different gestures on a touch-sensitive surface have different contact patterns (eg, different motions, timings, and/or intensities of detected contacts). Accordingly, the gesture is, optionally, detected by detecting a specific contact pattern. For example, detecting a finger tap gesture involves detecting a finger-down event and then finger-down at the same location (or substantially the same location) as the finger-down event (e.g., at the location of the icon). Includes detecting up (liftoff) events. As another example, detecting a finger swipe gesture on a touch-sensitive surface involves detecting a finger-down event followed by one or more finger-dragging events, followed by a finger-up (liftoff) event. ) includes detecting events. Similarly, taps, swipes, drags, and other gestures are detected for the stylus, optionally by detecting a specific contact pattern for the stylus.
일부 실시예들에서, 손가락 탭 제스처를 검출하는 것은, 손가락-다운 이벤트와 손가락-업 이벤트를 검출하는 것 사이의 시간의 길이에 좌우되지만, 손가락-다운 이벤트와 손가락-업 이벤트를 검출하는 것 사이의 손가락 접촉의 세기에 독립적이다. 일부 실시예들에서, 탭 제스처는, 탭 동안의 손가락 접촉의 세기가 (공칭 접촉-검출 세기 임계치보다 큰) 주어진 세기 임계치, 예컨대 가볍게 누르기 또는 깊게 누르기 세기 임계치를 충족하는지 여부에 독립적으로, 손가락-다운 이벤트와 손가락-업 이벤트 사이의 시간의 길이가 미리결정된 값 미만(예컨대, 0.1, 0.2, 0.3, 0.4 또는 0.5초 미만)이라는 결정에 따라 검출된다. 따라서, 손가락 탭 제스처는, 특정 입력 기준들이 충족되기 위하여 접촉의 특성 세기가 주어진 세기 임계치를 충족할 것을 요구하지 않는 특정 입력 기준들을 충족할 수 있다. 명확화를 위해, 탭 제스처에서의 손가락 접촉은 전형적으로, 손가락-다운 이벤트가 검출되기 위하여 공칭 접촉-검출 세기 임계치(이 미만에서는 접촉이 검출되지 않음)를 충족할 필요가 있다. 스타일러스 또는 다른 접촉에 의한 탭 제스처를 검출하는 것에 유사한 분석이 적용된다. 디바이스가 터치 감응형 표면 위에 호버링(hovering)하는 손가락 또는 스타일러스 접촉을 검출할 수 있는 경우에, 공칭 접촉-검출 세기 임계치는 선택적으로 손가락 또는 스타일러스와 터치 감응형 표면 사이의 물리적 접촉에 대응하지 않는다.In some embodiments, detecting a finger tap gesture depends on the length of time between detecting a finger-down event and a finger-up event; is independent of the intensity of finger contact. In some embodiments, the tap gesture is performed independently of whether the intensity of the finger contact during the tap meets a given intensity threshold (greater than the nominal contact-detection intensity threshold), such as a light or deep press intensity threshold. The detection is based on determining that the length of time between the down event and the finger-up event is less than a predetermined value (eg, less than 0.1, 0.2, 0.3, 0.4 or 0.5 seconds). Accordingly, a finger tap gesture may meet certain input criteria that do not require that the characteristic intensity of the contact meet a given intensity threshold for the specific input criteria to be met. For clarity, finger contact in a tap gesture typically needs to meet a nominal contact-detection intensity threshold (below which the contact is not detected) for a finger-down event to be detected. A similar analysis applies to detecting a tap gesture by a stylus or other contact. In cases where the device can detect a finger or stylus contact hovering over the touch-sensitive surface, the nominal contact-detection intensity threshold optionally does not correspond to physical contact between the finger or stylus and the touch-sensitive surface.
동일한 개념들이 다른 유형의 제스처들에 유사한 방식으로 적용된다. 예를 들어, 스와이프 제스처, 핀치(pinch) 제스처, 디핀치(depinch) 제스처, 및/또는 길게 누르기 제스처는 선택적으로 그 제스처에 포함되는 접촉들의 세기들에 독립적이거나, 또는 그 제스처를 수행하는 접촉(들)이 인식되기 위하여 세기 임계치들에 도달할 것을 요구하지 않는 기준들의 만족에 기초하여 검출된다. 예를 들어, 스와이프 제스처는 하나 이상의 접촉들의 이동량에 기초하여 검출되고; 핀치 제스처는 2개 이상의 접촉들의 서로를 향하는 이동에 기초하여 검출되고; 디핀치 제스처는 2개 이상의 접촉들의 서로로부터 멀어지는 이동에 기초하여 검출되고; 길게 누르기 제스처는 임계량 미만의 이동을 갖는 터치 감응형 표면 상에서의 접촉의 지속기간에 기초하여 검출된다. 이와 같이, 특정 제스처 인식 기준들이 충족되기 위하여 접촉(들)의 세기가 각자의 세기 임계치를 충족할 것을 특정 제스처 인식 기준들이 요구하지 않는다는 진술은, 특정 제스처 인식 기준들이, 그 제스처에서의 접촉(들)이 각자의 세기 임계치에 도달하지 않는 경우 충족될 수 있고, 그 제스처에서의 접촉들 중 하나 이상이 각자의 세기 임계치에 도달하거나 그를 초과하는 상황들에서도 또한 충족될 수 있다는 것을 의미한다. 일부 실시예들에서, 탭 제스처는, 접촉이 미리정의된 기간 동안 각자의 세기 임계치 초과인지 미만인지 여부에 무관하게, 손가락-다운 및 손가락-업 이벤트가 미리정의된 기간 내에서 검출된다는 결정에 기초하여 검출되고, 스와이프 제스처는, 접촉이 접촉 이동의 끝에서 각자의 세기 임계치 초과이더라도, 접촉 이동이 미리정의된 크기보다 더 크다는 결정에 기초하여 검출된다. 제스처의 검출이 제스처를 수행하는 접촉들의 세기에 의해 영향을 받는 구현예들(예를 들어, 디바이스는 접촉의 세기가 세기 임계치 초과일 때 길게 누르기를 더 신속하게 검출하거나, 또는 접촉의 세기가 더 높을 때 탭 입력의 검출을 지연시킴)에서도, 그러한 제스처들의 검출은, 접촉이 특정 세기 임계치에 도달하지 않는 상황들에서 제스처를 인식하기 위한 기준들이 충족될 수 있는 한(예를 들어, 제스처를 인식하는 데 걸리는 시간이 변경되더라도) 접촉들이 특정 세기 임계치에 도달할 것을 요구하지 않는다.The same concepts apply in a similar way to other types of gestures. For example, a swipe gesture, pinch gesture, depinch gesture, and/or press and hold gesture may optionally be independent of the strengths of the contacts involved in the gesture, or the contact that performs the gesture. (s) are detected based on satisfaction of criteria that do not require intensity thresholds to be reached in order to be recognized. For example, a swipe gesture is detected based on the amount of movement of one or more contacts; A pinch gesture is detected based on the movement of two or more contacts toward each other; A depinch gesture is detected based on the movement of two or more contacts away from each other; A press and hold gesture is detected based on the duration of contact on the touch-sensitive surface with less than a threshold amount of movement. As such, the statement that the specific gesture recognition criteria do not require that the intensity of the contact(s) meet their respective intensity thresholds for the specific gesture recognition criteria to be met does not mean that the specific gesture recognition criteria do not require that the contact(s) in that gesture be met. ) can be satisfied if the respective intensity threshold is not reached, and can also be satisfied in situations where one or more of the contacts in the gesture reach or exceed the respective intensity threshold. In some embodiments, the tap gesture is based on determining that finger-down and finger-up events are detected within a predefined period of time, regardless of whether the contact is above or below their respective intensity thresholds during the predefined period. and the swipe gesture is detected based on a determination that the contact movement is greater than the predefined size, even if the contact exceeds the respective intensity threshold at the end of the contact movement. Implementations in which detection of a gesture is influenced by the strength of the contacts performing the gesture (e.g., the device may detect a long press more quickly when the strength of the contact is above an intensity threshold, or the device may detect a long press more quickly when the strength of the contact is above a strength threshold, or Detection of such gestures is still possible, as long as the criteria for recognizing the gesture can be met (e.g., recognizing the gesture in situations where the contact does not reach a certain intensity threshold). It does not require the contacts to reach a specific intensity threshold (even if the time it takes to do so changes).
접촉 세기 임계치들, 지속기간 임계치들, 및 이동 임계치들은, 일부 상황들에서, 동일한 입력 요소와의 다수의 상이한 상호작용들이 보다 풍부한 세트의 사용자 상호작용들 및 응답들을 제공할 수 있도록 동일한 입력 요소 또는 영역으로 향하는 2개 이상의 상이한 제스처들을 구별하기 위한 휴리스틱(heuristic)들을 생성하기 위해 다양한 상이한 조합들로 조합된다. 특정 제스처 인식 기준들이 충족되기 위하여 접촉(들)의 세기가 각자의 세기 임계치를 충족할 것을 특정 세트의 제스처 인식 기준들이 요구하지 않는다는 진술은, 제스처가 각자의 세기 임계치 초과의 세기를 갖는 접촉을 포함할 때 충족되는 기준들을 갖는 다른 제스처들을 식별하기 위한 다른 세기 의존적 제스처 인식 기준들의 동시 평가를 배제하지 않는다. 예를 들어, 일부 상황들에서, 제1 제스처에 대한 제1 제스처 인식 기준들 - 이는 제1 제스처 인식 기준들이 충족되기 위하여 접촉(들)의 세기가 각자의 세기 임계치를 충족할 것을 요구하지 않음 - 은 제2 제스처에 대한 제2 제스처 인식 기준들 - 이는 각자의 세기 임계치에 도달하는 접촉(들)에 의존함 - 과 경쟁 관계에 있다. 그러한 경쟁들에서, 제스처는 선택적으로 제2 제스처에 대한 제2 제스처 인식 기준들이 먼저 충족되는 경우 제1 제스처에 대한 제1 제스처 인식 기준들을 충족하는 것으로 인식되지 않는다. 예를 들어, 접촉이 미리정의된 이동량만큼 이동하기 전에 접촉이 각자의 세기 임계치에 도달하는 경우, 스와이프 제스처보다는 오히려 깊게 누르기 제스처가 검출된다. 역으로, 접촉이 각자의 세기 임계치에 도달하기 전에 접촉이 미리정의된 이동량만큼 이동하는 경우, 깊게 누르기 제스처보다는 오히려 스와이프 제스처가 검출된다. 그러한 상황들에서도, 제1 제스처에 대한 제1 제스처 인식 기준들은 여전히, 제1 제스처 인식 기준들이 충족되기 위하여 접촉(들)의 세기가 각자의 세기 임계치를 충족할 것을 요구하지 않는데, 이는 접촉이 제스처(예를 들어, 각자의 세기 임계치 초과의 세기로 증가하지 않은 접촉을 갖는 스와이프 제스처)의 끝까지 각자의 세기 임계치 미만으로 머무른 경우, 제스처가 제1 제스처 인식 기준들에 의해 스와이프 제스처로서 인식되었을 것이기 때문이다. 이와 같이, 특정 제스처 인식 기준들이 충족되기 위하여 접촉(들)의 세기가 각자의 세기 임계치를 충족할 것을 요구하지 않는 특정 제스처 인식 기준들은, (A) 일부 상황들에서 (예를 들어, 탭 제스처의 경우) 세기 임계치와 관련한 접촉의 세기를 무시하고/하거나 (B) 일부 상황들에서 (예를 들어, 인식을 위해 깊게 누르기 제스처와 경쟁하는 길게 누르기 제스처의 경우) 특정 제스처 인식 기준들이 입력에 대응하는 제스처를 인식하기 전에, (예를 들어, 깊게 누르기 제스처에 대한) 세기 의존적 제스처 인식 기준들의 경쟁 세트가 입력을 세기 의존적 제스처에 대응하는 것으로서 인식하는 경우 (예를 들어, 길게 누르기 제스처에 대한) 특정 제스처 인식 기준들이 실패할 것이라는 의미에서 세기 임계치와 관련한 접촉의 세기에 여전히 의존할 것이다.Contact intensity thresholds, duration thresholds, and movement thresholds may, in some situations, be applied to the same input element or They are combined in a variety of different combinations to create heuristics for distinguishing between two or more different gestures directed to a region. The statement that a particular set of gesture recognition criteria does not require that the intensity of the contact(s) meet their respective intensity thresholds in order for them to be met does not include contacts where the gesture has an intensity above the respective intensity threshold. This does not preclude simultaneous evaluation of other intensity-dependent gesture recognition criteria to identify other gestures whose criteria are met when For example, in some situations, the first gesture recognition criteria for a first gesture do not require that the intensity of the contact(s) meet the respective intensity threshold for the first gesture recognition criteria to be met. is in competition with the second gesture recognition criteria for the second gesture, which depend on the contact(s) reaching their respective intensity thresholds. In such competitions, a gesture is optionally not recognized as meeting the first gesture recognition criteria for a first gesture if the second gesture recognition criteria for the second gesture are met first. For example, if a contact reaches its respective intensity threshold before it has moved a predefined amount of movement, a deep press gesture is detected rather than a swipe gesture. Conversely, if the contact moves a predefined amount of movement before the contact reaches its respective intensity threshold, a swipe gesture is detected rather than a deep press gesture. Even in such situations, the first gesture recognition criteria for the first gesture still do not require that the intensity of the contact(s) meet the respective intensity threshold for the first gesture recognition criteria to be met, since the contact (e.g., a swipe gesture with a contact that does not increase in intensity above the respective intensity threshold), the gesture would have been recognized as a swipe gesture by the first gesture recognition criteria. Because it is. As such, certain gesture recognition criteria that do not require that the intensity of the contact(s) meet their respective intensity thresholds in order for them to be met may (A) be used in some situations (e.g., of a tap gesture); (B) ignore the intensity of the contact relative to the intensity threshold, and/or (B) determine whether certain gesture recognition criteria correspond to the input in some situations (e.g., in the case of a long press gesture that competes with a deep press gesture for recognition). Before recognizing a gesture, a competing set of intensity-dependent gesture recognition criteria (e.g., for a deep press gesture) recognizes the input as corresponding to the intensity-dependent gesture (e.g., for a long press gesture). It will still depend on the intensity of the contact relative to the intensity threshold, meaning that gesture recognition criteria will fail.
그래픽 모듈(132)은, 디스플레이되는 그래픽의 시각적 효과(예컨대, 밝기, 투명도, 채도, 콘트라스트 또는 다른 시각적 속성)를 변경하기 위한 컴포넌트들을 포함하는, 터치 감응형 디스플레이 시스템(112) 또는 다른 디스플레이 상에서 그래픽을 렌더링 및 디스플레이하기 위한 다양한 공지된 소프트웨어 컴포넌트들을 포함한다. 본 명세서에서 사용되는 바와 같이, 용어 "그래픽"은 텍스트, 웹 페이지들, 아이콘들(예컨대, 소프트 키들을 포함하는 사용자 인터페이스 객체들), 디지털 이미지들, 비디오들, 애니메이션들 등을 제한 없이 포함하는, 사용자에게 디스플레이될 수 있는 임의의 객체를 포함한다.Graphics module 132 may display graphics on a touch-sensitive display system 112 or other display, including components for changing the visual effect (e.g., brightness, transparency, saturation, contrast, or other visual properties) of displayed graphics. It includes various known software components for rendering and displaying. As used herein, the term “graphics” includes, without limitation, text, web pages, icons (e.g., user interface objects including soft keys), digital images, videos, animations, etc. , contains arbitrary objects that can be displayed to the user.
일부 실시예들에서, 그래픽 모듈(132)은 사용될 그래픽을 표현하는 데이터를 저장한다. 각각의 그래픽에는, 선택적으로, 대응하는 코드가 할당된다. 그래픽 모듈(132)은, 필요한 경우, 좌표 데이터 및 다른 그래픽 속성 데이터와 함께, 디스플레이될 그래픽을 특정하는 하나 이상의 코드들을 애플리케이션들 등으로부터 수신하며, 이어서 스크린 이미지 데이터를 생성하여 디스플레이 제어기(156)에 출력한다.In some embodiments, graphics module 132 stores data representing graphics to be used. Each graphic is, optionally, assigned a corresponding code. Graphics module 132 receives one or more codes specifying the graphics to be displayed, along with coordinate data and other graphics attribute data, if necessary, from applications, etc., and then generates screen image data to display controller 156. Print out.
햅틱 피드백 모듈(133)은 디바이스(100)와의 사용자 상호작용들에 응답하여 디바이스(100) 상의 하나 이상의 위치들에서 촉각적 출력 생성기(들)(167)를 사용하여 촉각적 출력들을 생성하기 위하여 명령어들(예를 들어, 햅틱 피드백 제어기(161)에 의해 사용되는 명령어들)을 생성하기 위한 다양한 소프트웨어 컴포넌트들을 포함한다.Haptic feedback module 133 provides instructions to generate tactile outputs using tactile output generator(s) 167 at one or more locations on device 100 in response to user interactions with device 100. and various software components for generating commands (e.g., instructions used by haptic feedback controller 161).
선택적으로 그래픽 모듈(132)의 컴포넌트인 텍스트 입력 모듈(134)은 다양한 애플리케이션들(예컨대, 연락처(137), 이메일(140), IM(141), 브라우저(147), 및 텍스트 입력을 필요로 하는 임의의 다른 애플리케이션)에 텍스트를 입력하기 위한 소프트 키보드들을 제공한다.Text input module 134, optionally a component of graphics module 132, is used for various applications (e.g., contacts 137, email 140, IM 141, browser 147, and text input). Provides soft keyboards for entering text into any other application).
GPS 모듈(135)은 디바이스의 위치를 결정하고, 이 정보를 다양한 애플리케이션들에서의 사용을 위해 (예를 들어, 위치 기반 다이얼링에서 사용하기 위해 전화(138)에, 사진/비디오 메타데이터로서 카메라(143)에, 그리고 날씨 위젯들, 지역 옐로 페이지 위젯들 및 지도/내비게이션 위젯들과 같은 위치 기반 서비스들을 제공하는 애플리케이션들에) 제공한다.GPS module 135 determines the location of the device and sends this information to phone 138 for use in various applications (e.g., for use in location-based dialing, to camera (e.g., camera) as photo/video metadata). 143), and to applications that provide location-based services such as weather widgets, local yellow pages widgets, and map/navigation widgets.
애플리케이션들(136)은, 선택적으로, 다음의 모듈들(또는 명령어들의 세트들), 또는 이들의 서브세트 또는 수퍼세트(superset)를 포함한다:Applications 136 optionally include the following modules (or sets of instructions), or a subset or superset thereof:
연락처 모듈(137)(때때로 주소록 또는 연락처 목록으로 지칭됨);Contacts module 137 (sometimes referred to as address book or contact list);
전화 모듈(138);Telephone module 138;
화상 회의 모듈(139);video conferencing module 139;
이메일 클라이언트 모듈(140);email client module 140;
인스턴트 메시징(IM) 모듈(141);instant messaging (IM) module 141;
운동 지원 모듈(142);exercise support module 142;
정지 및/또는 비디오 이미지들을 위한 카메라 모듈(143);Camera module 143 for still and/or video images;
이미지 관리 모듈(144);image management module 144;
브라우저 모듈(147);browser module 147;
캘린더 모듈(148);calendar module (148);
날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4), 사전 위젯(149-5), 및 사용자에 의해 얻어지는 다른 위젯들뿐 아니라 사용자-생성 위젯들(149-6) 중 하나 이상을 선택적으로 포함하는 위젯 모듈들(149);Weather widget (149-1), Stock widget (149-2), Calculator widget (149-3), Alarm clock widget (149-4), Dictionary widget (149-5), and other widgets obtained by the user. as well as widget modules 149 optionally including one or more of the user-created widgets 149-6;
사용자-생성 위젯들(149-6)을 만들기 위한 위젯 생성기 모듈(150);a widget generator module 150 for creating user-created widgets 149-6;
검색 모듈(151);Search module 151;
비디오 재생기 모듈 및 음악 재생기 모듈로 선택적으로 구성된 비디오 및 음악 재생기 모듈(152);a video and music player module 152 optionally configured as a video player module and a music player module;
메모 모듈(153);memo module 153;
지도 모듈(154); 및/또는map module (154); and/or
온라인 비디오 모듈(155).Online Video Module (155).
선택적으로 메모리(102) 내에 저장되는 다른 애플리케이션들(136)의 예들은 다른 워드 프로세싱 애플리케이션들, 다른 이미지 편집 애플리케이션들, 드로잉 애플리케이션들, 프레젠테이션 애플리케이션들, JAVA-인에이블형(enabled) 애플리케이션들, 암호화, 디지털 저작권 관리, 음성 인식 및 음성 복제를 포함한다.Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, etc. , including digital rights management, voice recognition, and voice duplication.
터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 연락처 모듈(137)은, 하기를 비롯한, 주소록 또는 연락처 목록(예를 들어, 메모리(102) 또는 메모리(370) 내의 연락처 모듈(137)의 애플리케이션 내부 상태(192)에 저장됨)을 관리하도록 하는 실행가능한 명령어들을 포함한다: 이름(들)을 주소록에 추가하는 것; 주소록으로부터 이름(들)을 삭제하는 것; 전화번호(들), 이메일 주소(들), 물리적 주소(들) 또는 다른 정보를 이름과 연관시키는 것; 이미지를 이름과 연관시키는 것; 이름들을 분류 및 정렬하는 것; 전화(138), 화상 회의(139), 이메일(140) 또는 IM(141)에 의한 통신을 개시하고/하거나 용이하게 하기 위해 전화번호들 및/또는 이메일 주소들을 제공하는 것 등.Contacts module 137, along with touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, may be configured to provide an address book or contact information, including: Contains executable instructions for managing a list (e.g., stored in memory 102 or application internal state 192 of contacts module 137 in memory 370): adding; deleting name(s) from the address book; Associating a name with a phone number(s), email address(es), physical address(es) or other information; associating an image with a name; sorting and sorting names; Providing phone numbers and/or email addresses to initiate and/or facilitate communication by phone 138, video conferencing 139, email 140 or IM 141, etc.
RF 회로부(108), 오디오 회로부(110), 스피커(111), 마이크로폰(113), 터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 및 텍스트 입력 모듈(134)과 함께, 전화 모듈(138)은, 전화번호에 대응하는 문자들의 시퀀스를 입력하고, 주소록(137) 내의 하나 이상의 전화번호에 액세스하고, 입력된 전화번호를 수정하고, 각자의 전화번호를 다이얼링하고, 대화를 하고, 대화가 완료된 때 접속해제하거나 끊도록 하는 실행가능한 명령어들을 포함한다. 전술된 바와 같이, 무선 통신은 선택적으로 복수의 통신 표준, 프로토콜 및 기술 중 임의의 것을 사용한다.RF circuitry 108, audio circuitry 110,
RF 회로부(108), 오디오 회로부(110), 스피커(111), 마이크로폰(113), 터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 광 센서(들)(164), 광 센서 제어기(158), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 연락처 목록(137) 및 전화 모듈(138)과 함께, 화상 회의 모듈(139)은 사용자 지시들에 따라 사용자와 한 명 이상의 다른 참여자들 사이의 화상 회의를 개시, 시행 및 종료하도록 하는 실행가능한 명령어들을 포함한다.RF circuitry 108, audio circuitry 110,
RF 회로부(108), 터치 감응형 디스플레이 시스템 (112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 이메일 클라이언트 모듈(140)은 사용자 지시들에 응답하여 이메일을 작성, 전송, 수신, 및 관리하도록 하는 실행가능한 명령어들을 포함한다. 이미지 관리 모듈(144)과 함께, 이메일 클라이언트 모듈(140)은 카메라 모듈(143)로 촬영된 정지 또는 비디오 이미지들을 갖는 이메일을 생성 및 전송하는 것을 매우 용이하게 한다.Email client module 140, along with RF circuitry 108, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, provides Contains executable commands to create, send, receive, and manage email in response to instructions. Together with the image management module 144 , the email client module 140 makes it very easy to create and send emails with still or video images taken with the camera module 143 .
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 인스턴트 메시징 모듈(141)은, 인스턴트 메시지에 대응하는 문자들의 시퀀스를 입력하고, 이전에 입력된 문자들을 수정하고, (예를 들어, 전화 기반 인스턴트 메시지들을 위한 단문자 메시지 서비스(SMS) 또는 멀티미디어 메시지 서비스(Multimedia Message Service, MMS) 프로토콜을 이용하거나 인터넷 기반 인스턴트 메시지들을 위한 XMPP, SIMPLE, APNs(Apple Push Notification Service) 또는 IMPS를 이용하여) 각자의 인스턴트 메시지를 송신하고, 인스턴트 메시지들을 수신하고, 수신된 인스턴트 메시지들을 보도록 하는 실행가능한 명령어들을 포함한다. 일부 실시예들에서, 송신 및/또는 수신된 인스턴트 메시지들은 선택적으로 그래픽, 사진, 오디오 파일, 비디오 파일 및/또는 MMS 및/또는 EMS(Enhanced Messaging Service)에서 지원되는 바와 같은 다른 첨부물들을 포함한다. 본 명세서에서 사용되는 바와 같이, "인스턴트 메시징"은 전화 기반 메시지들(예컨대, SMS 또는 MMS를 이용하여 전송되는 메시지들) 및 인터넷 기반 메시지들(예컨대, XMPP, SIMPLE, APNs, 또는 IMPS를 이용하여 전송되는 메시지들) 둘 모두를 지칭한다.In conjunction with RF circuitry 108, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, instant messaging module 141 includes: Enter a sequence of characters corresponding to an instant message, modify previously entered characters (e.g., Short Message Service (SMS) or Multimedia Message Service (MMS) for phone-based instant messages) An executable program that allows you to send your own instant messages, receive instant messages, and view received instant messages (using protocols such as XMPP, SIMPLE, Apple Push Notification Service (APNs), or IMPS for Internet-based instant messaging) Contains commands. In some embodiments, instant messages sent and/or received optionally include graphics, photos, audio files, video files, and/or other attachments as supported in MMS and/or Enhanced Messaging Service (EMS). As used herein, “instant messaging” refers to phone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, APNs, or IMPS). messages being transmitted) refers to both.
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), GPS 모듈(135), 지도 모듈(154), 및 비디오 및 음악 재생기 모듈(152)과 함께, 운동 지원 모듈(142)은 (예를 들어, 시간, 거리, 및/또는 열량 소비 목표와 함께) 운동들을 고안하고; (스포츠 디바이스들 및 스마트 워치들 내의) 운동 센서들과 통신하고; 운동 센서 데이터를 수신하고; 운동을 모니터링하는 데 사용되는 센서들을 캘리브레이션하고; 운동을 위한 음악을 선택 및 재생하고; 운동 데이터를 디스플레이, 저장 및 송신하도록 하는 실행가능 명령어들을 포함한다.RF circuitry 108, touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, text input module 134, GPS module 135, map module 154 ), and in conjunction with the video and music player module 152, the workout support module 142 designs workouts (e.g., with time, distance, and/or calorie expenditure goals); communicate with exercise sensors (in sports devices and smart watches); receive exercise sensor data; calibrate sensors used to monitor exercise; Select and play music for your workout; Contains executable instructions to display, store, and transmit exercise data.
터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 광 센서(들)(164), 광 센서 제어기(158), 접촉 모듈(130), 그래픽 모듈(132) 및 이미지 관리 모듈(144)과 함께, 카메라 모듈(143)은, 정지 이미지들 또는 비디오(비디오 스트림을 포함함)를 캡처하고 이들을 메모리(102) 내에 저장하고/하거나, 정지 이미지 또는 비디오의 특성을 수정하고/하거나, 메모리(102)로부터 정지 이미지 또는 비디오를 삭제하도록 하는 실행가능 명령어들을 포함한다.a touch-sensitive display system 112, display controller 156, optical sensor(s) 164, optical sensor controller 158, contact module 130, graphics module 132, and image management module 144; Together, the camera module 143 can capture still images or video (including a video stream) and store them in memory 102 and/or modify characteristics of the still image or video and/or ) Contains executable instructions to delete a still image or video from.
터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 카메라 모듈(143)과 함께, 이미지 관리 모듈(144)은 정지 및/또는 비디오 이미지들을 배열하거나, 수정(예컨대, 편집)하거나, 또는 그렇지 않으면 조작하고, 라벨링하고, 삭제하고, (예컨대, 디지털 슬라이드 쇼 또는 앨범에) 제시하고, 저장하도록 하는 실행가능 명령어들을 포함한다.Image management module 144, along with touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, text input module 134, and camera module 143, is stationary. and/or executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing video images. do.
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 브라우저 모듈(147)은, 웹 페이지들 또는 이들의 부분들뿐만 아니라 웹 페이지들에 링크된 첨부물들 및 다른 파일들을 검색하고, 그들에 링크하고, 수신하고, 그리고 디스플레이하는 것을 비롯한, 사용자 지시들에 따라 인터넷을 브라우징하도록 하는 실행가능 명령어들을 포함한다.Browser module 147, along with RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, and text input module 134, Enables browsing the Internet according to user instructions, including retrieving, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages. Includes possible commands.
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 이메일 클라이언트 모듈(140), 및 브라우저 모듈(147)과 함께, 캘린더 모듈(148)은 사용자 지시들에 따라 캘린더들 및 캘린더들과 연관된 데이터(예를 들어, 캘린더 엔트리들, 할 일 목록들 등)를 생성, 디스플레이, 수정, 및 저장하도록 하는 실행가능한 명령어들을 포함한다.RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, email client module 140, and browser. In conjunction with module 147, calendar module 148 creates, displays, modifies, and stores calendars and data associated with calendars (e.g., calendar entries, to-do lists, etc.) according to user instructions. Contains executable commands to do this.
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께, 위젯 모듈들(149)은 사용자에 의해 선택적으로 다운로드 및 사용되거나(예컨대, 날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4) 및 사전 위젯(149-5)), 또는 사용자에 의해 생성되는(예컨대, 사용자-생성 위젯(149-6)) 미니-애플리케이션들이다. 일부 실시예들에서, 위젯은 HTML(Hypertext Markup Language) 파일, CSS(Cascading Style Sheets) 파일 및 자바스크립트(JavaScript) 파일을 포함한다. 일부 실시예들에서, 위젯은 XML(Extensible Markup Language) 파일 및 자바스크립트 파일(예컨대, 야후(Yahoo)! 위젯들)을 포함한다.RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, and browser module 147, together with widgets. Modules 149 may be optionally downloaded and used by a user (e.g., weather widget 149-1, stock widget 149-2, calculator widget 149-3, or alarm clock widget 149-4). and dictionary widgets 149-5), or mini-applications that are created by the user (e.g., user-created widgets 149-6). In some embodiments, widgets include Hypertext Markup Language (HTML) files, Cascading Style Sheets (CSS) files, and JavaScript files. In some embodiments, a widget includes an Extensible Markup Language (XML) file and a JavaScript file (eg, Yahoo! widgets).
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께, 위젯 생성기 모듈(150)은 위젯들을 생성(예를 들어, 웹 페이지의 사용자-지정 일부분을 위젯으로 변경)하도록 하는 실행가능한 명령어들을 포함한다.RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, and browser module 147, together with widgets. Generator module 150 includes executable instructions to create widgets (e.g., change a user-specified portion of a web page into a widget).
터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 검색 모듈(151)은 사용자 지시들에 따라 하나 이상의 검색 기준들(예컨대, 하나 이상의 사용자-특정 검색어들)에 매칭되는 메모리(102) 내의 텍스트, 음악, 사운드, 이미지, 비디오, 및/또는 다른 파일들을 검색하도록 하는 실행가능 명령어들을 포함한다.In conjunction with the touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, and text input module 134, search module 151 operates one or more and executable instructions to search for text, music, sound, images, video, and/or other files in memory 102 that match search criteria (e.g., one or more user-specific search terms).
터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로부(110), 스피커(111), RF 회로부(108), 및 브라우저 모듈(147)과 함께, 비디오 및 음악 재생기 모듈(152)은 사용자가 MP3 또는 AAC 파일들과 같은 하나 이상의 파일 포맷으로 저장된 녹음된 음악 및 다른 사운드 파일들을 다운로드 및 재생하도록 허용하는 실행가능한 명령어들, 및 비디오들을 (예를 들어, 터치 감응형 디스플레이 시스템(112) 상에서, 또는 무선으로 또는 외부 포트(124)를 통해 접속된 외부 디스플레이 상에서) 디스플레이하거나, 제시하거나, 그렇지 않으면 재생하도록 하는 실행가능한 명령어들을 포함한다. 일부 실시예들에서, 디바이스(100)는 선택적으로 아이팟(애플 인크.의 상표)과 같은 MP3 재생기의 기능을 포함한다.Touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, audio circuitry 110,
터치 감응형 디스플레이 시스템(112), 디스플레이 제어기(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 메모 모듈(153)은 사용자 지시들에 따라 메모들, 할 일 목록들 등을 생성 및 관리하도록 하는 실행가능한 명령어들을 포함한다.In conjunction with the touch-sensitive display system 112, display controller 156, contact module 130, graphics module 132, and text input module 134, the memo module 153 writes memos according to user instructions, Contains executable commands to create and manage to-do lists, etc.
RF 회로부(108), 터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), GPS 모듈(135), 및 브라우저 모듈(147)과 함께, 지도 모듈(154)은 사용자 지시들에 따라 지도들 및 지도들과 연관된 데이터(예를 들어, 운전 길 안내; 특정 위치에서의 또는 그 인근의 상점들 및 다른 관심 지점들에 관한 데이터; 및 다른 위치 기반 데이터)를 수신, 디스플레이, 수정, 및 저장하도록 하는 실행가능한 명령어들을 포함한다.RF circuitry 108, touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, text input module 134, GPS module 135, and browser module. In conjunction with 147, maps module 154 provides maps and data associated with maps (e.g., driving directions; stores and other points of interest at or near a particular location) according to user instructions. and other location-based data).
터치 감응형 디스플레이 시스템(112), 디스플레이 시스템 제어기(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로부(110), 스피커(111), RF 회로부(108), 텍스트 입력 모듈(134), 이메일 클라이언트 모듈(140), 및 브라우저 모듈(147)과 함께, 온라인 비디오 모듈(155)은 사용자가 H.264와 같은 하나 이상의 파일 포맷의 온라인 비디오들에 액세스하고, 그들을 브라우징하고, (예를 들어, 스트리밍 및/또는 다운로드에 의해) 수신하고, (예를 들어, 터치 스크린(112) 상에서, 또는 무선으로 또는 외부 포트(124)를 통해 접속된 외부 디스플레이 상에서) 재생하고, 특정 온라인 비디오로의 링크와 함께 이메일을 전송하고, 달리 관리하도록 허용하는 실행가능한 명령어들을 포함한다. 일부 실시예들에서, 이메일 클라이언트 모듈(140)보다는 오히려 인스턴트 메시징 모듈(141)이 특정 온라인 비디오로의 링크를 전송하는 데 사용된다.Touch-sensitive display system 112, display system controller 156, contact module 130, graphics module 132, audio circuitry 110,
앞서 식별된 모듈들 및 애플리케이션들 각각은 상술한 하나 이상의 기능들 및 본 출원에 기술되는 방법들(예컨대, 본 명세서에 기술되는 컴퓨터 구현 방법들 및 다른 정보 프로세싱 방법들)을 수행하기 위한 실행가능 명령어들의 세트에 대응한다. 이들 모듈(즉, 명령어들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들 또는 모듈들로서 구현될 필요가 없으며, 따라서 이들 모듈의 다양한 서브세트들이 선택적으로 다양한 실시예들에서 조합되거나 그렇지 않으면 재배열된다. 일부 실시예들에서, 메모리(102)는 선택적으로, 앞서 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 또한, 메모리(102)는, 선택적으로, 전술되지 않은 추가의 모듈들 및 데이터 구조들을 저장한다.Each of the modules and applications identified above may contain executable instructions for performing one or more of the functions described above and methods described herein (e.g., computer implemented methods and other information processing methods described herein). corresponds to a set of These modules (i.e., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be optionally combined or otherwise rearranged in various embodiments. . In some embodiments, memory 102 optionally stores a subset of the previously identified modules and data structures. Additionally, memory 102 optionally stores additional modules and data structures not described above.
일부 실시예들에서, 디바이스(100)는 디바이스 상의 미리정의된 세트의 기능들의 동작이 터치 스크린 및/또는 터치패드를 통해 전용으로 수행되는 디바이스이다. 터치 스크린 및/또는 터치패드를 디바이스(100)의 동작을 위한 주 입력 제어 디바이스로서 사용함으로써, 디바이스(100) 상의 (푸시 버튼들, 다이얼들 등과 같은) 물리적 입력 제어 디바이스들의 수가 선택적으로 감소된다.In some embodiments, device 100 is a device in which operation of a predefined set of functions on the device is performed exclusively through a touch screen and/or touchpad. By using a touch screen and/or touchpad as the primary input control device for operation of device 100, the number of physical input control devices (such as push buttons, dials, etc.) on device 100 is optionally reduced.
전적으로 터치 스크린 및/또는 터치패드를 통해 수행되는 미리정의된 세트의 기능들은, 선택적으로, 사용자 인터페이스들 간의 내비게이션을 포함한다. 일부 실시예들에서, 터치패드는, 사용자에 의해 터치될 때, 디바이스(100)를 디바이스(100) 상에 디스플레이되는 임의의 사용자 인터페이스로부터 메인, 홈 또는 루트 메뉴로 내비게이팅한다. 이러한 실시예들에서, "메뉴 버튼"이 터치패드를 이용하여 구현된다. 일부 다른 실시예들에서, 메뉴 버튼은 터치패드 대신에 물리적 푸시 버튼 또는 다른 물리적 입력 제어 디바이스이다.A predefined set of functions performed entirely via the touch screen and/or touchpad, optionally including navigation between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates device 100 to a main, home, or root menu from any user interface displayed on device 100. In these embodiments, the “menu button” is implemented using a touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device instead of a touchpad.
도 1b는 일부 실시예들에 따른, 이벤트 처리를 위한 예시적인 컴포넌트들을 예시하는 블록도이다. 일부 실시예들에서, 메모리(102(도 1a) 또는 370(도 3))는 (예컨대, 운영 체제(126)에서의) 이벤트 분류기(170) 및 개개의 애플리케이션(136-1)(예컨대, 전술한 애플리케이션들(136, 137 내지 155, 380 내지 390) 중 임의의 것)을 포함한다.1B is a block diagram illustrating example components for event processing, according to some embodiments. In some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3) may be used to store event sorter 170 (e.g., in operating system 126) and individual application 136-1 (e.g., as described above). Any of the applications 136, 137-155, 380-390).
이벤트 분류기(170)는 이벤트 정보를 수신하고, 이벤트 정보를 전달할 애플리케이션(136-1), 및 애플리케이션(136-1)의 애플리케이션 뷰(191)를 결정한다. 이벤트 분류기(170)는 이벤트 모니터(171) 및 이벤트 디스패처 모듈(event dispatcher module)(174)을 포함한다. 일부 실시예들에서, 애플리케이션(136-1)은 애플리케이션이 활성이거나 실행 중일 때 터치 감응형 디스플레이 시스템(112) 상에 디스플레이되는 현재 애플리케이션 뷰(들)를 나타내는 애플리케이션 내부 상태(192)를 포함한다. 일부 실시예들에서, 디바이스/글로벌 내부 상태(157)는 이벤트 분류기(170)에 의해 어느 애플리케이션(들)이 현재 활성인지 결정하는 데 이용되며, 애플리케이션 내부 상태(192)는 이벤트 분류기(170)에 의해 이벤트 정보를 전달할 애플리케이션 뷰들(191)을 결정하는 데 이용된다.Event sorter 170 receives event information and determines the application 136-1 to deliver the event information, and the application view 191 of application 136-1. Event sorter 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes application internal state 192 that represents the current application view(s) displayed on touch-sensitive display system 112 when the application is active or running. In some embodiments, device/global internal state 157 is used by event sorter 170 to determine which application(s) is currently active, and application internal state 192 is used by event sorter 170 to determine which application(s) are currently active. It is used to determine the application views 191 that will deliver event information.
일부 실시예들에서, 애플리케이션 내부 상태(192)는 애플리케이션(136-1)이 실행을 재개할 때 이용될 재개 정보, 애플리케이션(136-1)에 의해 디스플레이되고 있거나 디스플레이될 준비가 된 정보를 나타내는 사용자 인터페이스 상태 정보, 사용자가 애플리케이션(136-1)의 이전 상태 또는 뷰로 되돌아가는 것을 가능하게 하기 위한 상태 큐(queue), 및 사용자에 의해 취해진 이전 액션들의 재실행(redo)/실행취소(undo) 큐 중 하나 이상과 같은 추가 정보를 포함한다.In some embodiments, application internal state 192 may include resume information to be used when application 136-1 resumes execution, user information that is being displayed or ready to be displayed by application 136-1. interface state information, a state queue to enable the user to return to a previous state or view of the application 136-1, and a redo/undo queue of previous actions taken by the user. Includes additional information such as one or more.
이벤트 모니터(171)는 주변기기 인터페이스(118)로부터 이벤트 정보를 수신한다. 이벤트 정보는 서브이벤트(예를 들어, 다중 터치 제스처의 일부로서 터치 감응형 디스플레이 시스템(112) 상에서의 사용자 터치)에 대한 정보를 포함한다. 주변기기 인터페이스(118)는 I/O 서브시스템(106) 또는 센서, 예컨대, 근접 센서(166), 가속도계(들)(168), 및/또는 (오디오 회로부(110)를 통한) 마이크로폰(113)으로부터 수신하는 정보를 송신한다. 주변기기 인터페이스(118)가 I/O 서브시스템(106)으로부터 수신하는 정보는 터치 감응형 디스플레이 시스템(112) 또는 터치 감응형 표면으로부터의 정보를 포함한다.The event monitor 171 receives event information from the peripheral interface 118. Event information includes information about sub-events (e.g., a user touch on touch-sensitive display system 112 as part of a multi-touch gesture). Peripherals interface 118 may be connected to the I/O subsystem 106 or sensors, such as proximity sensor 166, accelerometer(s) 168, and/or microphone 113 (via audio circuitry 110). Transmit the information you receive. Information that peripherals interface 118 receives from I/O subsystem 106 includes information from touch-sensitive display system 112 or a touch-sensitive surface.
일부 실시예들에서, 이벤트 모니터(171)는 요청들을 미리결정된 간격으로 주변기기 인터페이스(118)에 전송한다. 이에 응답하여, 주변기기 인터페이스(118)는 이벤트 정보를 송신한다. 다른 실시예들에서, 주변기기 인터페이스(118)는 중요한 이벤트(예컨대, 미리결정된 잡음 임계치를 초과하는 입력 및/또는 미리결정된 지속기간 초과 동안의 입력을 수신하는 것)가 있을 때에만 이벤트 정보를 송신한다.In some embodiments, event monitor 171 sends requests to peripherals interface 118 at predetermined intervals. In response, peripherals interface 118 transmits event information. In other embodiments, peripherals interface 118 transmits event information only when there is a significant event (e.g., receiving input that exceeds a predetermined noise threshold and/or exceeds a predetermined duration) .
일부 실시예들에서, 이벤트 분류기(170)는 또한 히트 뷰(hit view) 결정 모듈(172) 및/또는 활성 이벤트 인식기 결정 모듈(173)을 포함한다.In some embodiments, event sorter 170 also includes a hit view determination module 172 and/or an active event recognizer determination module 173.
히트 뷰 결정 모듈(172)은 터치 감응형 디스플레이 시스템(112)이 하나 초과의 뷰를 디스플레이할 때 하나 이상의 뷰들 내에서 서브이벤트가 발생한 곳을 결정하기 위한 소프트웨어 절차들을 제공한다. 뷰들은 사용자가 디스플레이 상에서 볼 수 있는 제어부들 및 다른 요소들로 구성된다.Hit view determination module 172 provides software procedures for determining where a sub-event occurred within one or more views when touch-sensitive display system 112 displays more than one view. Views consist of controls and other elements that the user can see on the display.
애플리케이션과 연관된 사용자 인터페이스의 다른 태양은 본 명세서에서 때때로 애플리케이션 뷰들 또는 사용자 인터페이스 창(user interface window)들로 지칭되는 한 세트의 뷰들인데, 여기서 정보가 디스플레이되고 터치 기반 제스처가 발생한다. 터치가 검출되는 (각각의 애플리케이션의) 애플리케이션 뷰들은 선택적으로 애플리케이션의 프로그램 또는 뷰 계층구조 내의 프로그램 레벨들에 대응한다. 예를 들어, 터치가 검출되는 최하위 레벨의 뷰는 선택적으로 히트 뷰로 지칭되고, 적절한 입력들로서 인식되는 이벤트들의 세트는, 선택적으로, 터치 기반 제스처를 시작하는 초기 터치의 히트 뷰에 적어도 부분적으로 기초하여 결정된다.Another aspect of the user interface associated with an application is a set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of each application) for which a touch is detected optionally correspond to program levels within the application's program or view hierarchy. For example, the lowest level view in which a touch is detected is optionally referred to as a hit view, and the set of events that are recognized as appropriate inputs is optionally based at least in part on the hit view of the initial touch that initiates the touch-based gesture. It is decided.
히트 뷰 결정 모듈(172)은 터치 기반 제스처의 서브이벤트들과 관련된 정보를 수신한다. 애플리케이션이 계층구조에서 조직화된 다수의 뷰들을 갖는 경우, 히트 뷰 결정 모듈(172)은 히트 뷰를, 서브이벤트를 처리해야 하는 계층구조 내의 최하위 뷰로서 식별한다. 대부분의 상황들에서, 히트 뷰는 개시되는 서브이벤트(즉, 이벤트 또는 잠재적 이벤트를 형성하는 서브이벤트들의 시퀀스에서의 제1 서브이벤트)가 발생하는 최하위 레벨 뷰이다. 일단 히트 뷰가 히트 뷰 결정 모듈에 의해 식별되면, 히트 뷰는 전형적으로 그것이 히트 뷰로서 식별되게 한 것과 동일한 터치 또는 입력 소스와 관련된 모든 서브이벤트들을 수신한다.Hit view determination module 172 receives information related to sub-events of a touch-based gesture. If the application has multiple views organized in a hierarchy, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy for which the subevent should be handled. In most situations, the hit view is the lowest level view in which the initiating subevent (ie, the first subevent in a sequence of subevents forming an event or potential event) occurs. Once a hit view is identified by the hit view determination module, the hit view typically receives all sub-events associated with the same touch or input source that caused it to be identified as the hit view.
활성 이벤트 인식기 결정 모듈(173)은 뷰 계층구조 내에서 어느 뷰 또는 뷰들이 서브이벤트들의 특정 시퀀스를 수신해야 하는지를 결정한다. 일부 실시예들에서, 활성 이벤트 인식기 결정 모듈(173)은 히트 뷰만이 서브이벤트들의 특정 시퀀스를 수신해야 하는 것으로 결정한다. 다른 실시예들에서, 활성 이벤트 인식기 결정 모듈(173)은 서브이벤트의 물리적 위치를 포함하는 모든 뷰들이 적극 참여 뷰(actively involved view)들인 것으로 결정하고, 그에 따라 모든 적극 참여 뷰들이 서브이벤트들의 특정 시퀀스를 수신해야 하는 것으로 결정한다. 다른 실시예들에서, 터치 서브이벤트들이 전적으로 하나의 특정 뷰와 연관된 영역으로 한정되었더라도, 계층구조 내의 상위 뷰들은 여전히 적극 참여 뷰들로서 유지될 것이다.The active event recognizer determination module 173 determines which view or views within the view hierarchy should receive a particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that contain the physical location of a sub-event are actively involved views, such that all actively involved views are It is determined that the sequence should be received. In other embodiments, even if touch sub-events are confined entirely to the area associated with one particular view, the higher views in the hierarchy will still remain actively participating views.
이벤트 디스패처 모듈(174)은 이벤트 정보를 이벤트 인식기(예컨대, 이벤트 인식기(180))에 디스패치한다. 활성 이벤트 인식기 결정 모듈(173)을 포함하는 실시예들에서, 이벤트 디스패처 모듈(174)은 이벤트 정보를 활성 이벤트 인식기 결정 모듈(173)에 의해 결정된 이벤트 인식기에 전달한다. 일부 실시예들에서, 이벤트 디스패처 모듈(174)은 이벤트 큐 내에 이벤트 정보를 저장하는데, 이벤트 정보는 각각의 이벤트 수신기 모듈(182)에 의해 인출된다.Event dispatcher module 174 dispatches event information to an event recognizer (e.g., event recognizer 180). In embodiments that include the active event recognizer determination module 173, the event dispatcher module 174 forwards event information to the event recognizer determined by the active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores event information in an event queue, from which event information is retrieved by each event receiver module 182.
일부 실시예들에서, 운영 체제(126)는 이벤트 분류기(170)를 포함한다. 대안으로, 애플리케이션(136-1)은 이벤트 분류기(170)를 포함한다. 또 다른 실시예들에서, 이벤트 분류기(170)는 독립형 모듈이거나, 또는 접촉/모션 모듈(130)과 같이 메모리(102)에 저장되는 다른 모듈의 일부이다.In some embodiments, operating system 126 includes event sorter 170. Alternatively, application 136-1 includes event sorter 170. In still other embodiments, event sorter 170 is a standalone module, or is part of another module stored in memory 102, such as contact/motion module 130.
일부 실시예들에서, 애플리케이션(136-1)은 복수의 이벤트 핸들러들(190) 및 하나 이상의 애플리케이션 뷰들(191)을 포함하며, 이들의 각각은 애플리케이션의 사용자 인터페이스의 각각의 뷰 내에 발생하는 터치 이벤트들을 처리하기 위한 명령어들을 포함한다. 애플리케이션(136-1)의 각각의 애플리케이션 뷰(191)는 하나 이상의 이벤트 인식기들(180)을 포함한다. 전형적으로, 각각의 애플리케이션 뷰(191)는 복수의 이벤트 인식기들(180)을 포함한다. 다른 실시예들에서, 이벤트 인식기들(180) 중 하나 이상은 사용자 인터페이스 키트(도시되지 않음) 또는 애플리케이션(136-1)이 방법들 및 다른 속성들을 물려받는 상위 레벨 객체와 같은 별개의 모듈의 일부이다. 일부 실시예들에서, 각각의 이벤트 핸들러(190)는 데이터 업데이터(176), 객체 업데이터(177), GUI 업데이터(178), 및/또는 이벤트 분류기(170)로부터 수신된 이벤트 데이터(179) 중 하나 이상을 포함한다. 이벤트 핸들러(190)는 선택적으로 데이터 업데이터(176), 객체 업데이터(177) 또는 GUI 업데이터(178)를 이용하거나 호출하여 애플리케이션 내부 상태(192)를 업데이트한다. 대안으로, 애플리케이션 뷰들(191) 중 하나 이상은 하나 이상의 각각의 이벤트 핸들러(190)를 포함한다. 또한, 일부 실시예들에서, 데이터 업데이터(176), 객체 업데이터(177), 및 GUI 업데이터(178) 중 하나 이상은 각각의 애플리케이션 뷰(191) 내에 포함된다.In some embodiments, application 136-1 includes a plurality of event handlers 190 and one or more application views 191, each of which can handle touch events that occur within a respective view of the application's user interface. Contains commands to process them. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, each application view 191 includes a plurality of event recognizers 180. In other embodiments, one or more of event recognizers 180 may be part of a separate module, such as a user interface kit (not shown) or a higher-level object from which application 136-1 inherits methods and other properties. am. In some embodiments, each event handler 190 may receive one of event data 179 from data updater 176, object updater 177, GUI updater 178, and/or event sorter 170. Includes more. Event handler 190 optionally uses or calls data updater 176, object updater 177, or GUI updater 178 to update application internal state 192. Alternatively, one or more of the application views 191 include one or more respective event handlers 190. Additionally, in some embodiments, one or more of data updater 176, object updater 177, and GUI updater 178 are included within each application view 191.
각각의 이벤트 인식기(180)는 이벤트 분류기(170)로부터 이벤트 정보(예컨대, 이벤트 데이터(179))를 수신하고 그 이벤트 정보로부터 이벤트를 식별한다. 이벤트 인식기(180)는 이벤트 수신기(182) 및 이벤트 비교기(184)를 포함한다. 일부 실시예들에서, 이벤트 인식기(180)는 또한 적어도 메타데이터(183) 및 이벤트 전달 명령어들(188)(선택적으로 서브이벤트 전달 명령어들을 포함함)의 서브세트를 포함한다.Each event recognizer 180 receives event information (e.g., event data 179) from event classifier 170 and identifies an event from the event information. Event recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event recognizer 180 also includes at least metadata 183 and a subset of event delivery instructions 188 (optionally including sub-event delivery instructions).
이벤트 수신기(182)는 이벤트 분류기(170)로부터 이벤트 정보를 수신한다. 이벤트 정보는 서브이벤트, 예를 들어 터치 또는 터치 이동에 관한 정보를 포함한다. 서브이벤트에 따라서, 이벤트 정보는 또한 서브이벤트의 위치와 같은 추가 정보를 포함한다. 서브이벤트가 터치의 모션과 관련되는 경우, 이벤트 정보는 또한 선택적으로 서브이벤트의 속력 및 방향을 포함한다. 일부 실시예들에서, 이벤트들은 하나의 배향으로부터 다른 배향으로(예컨대, 세로 배향으로부터 가로 배향으로, 또는 그 반대로)의 디바이스의 회전을 포함하며, 이벤트 정보는 디바이스의 현재 배향(디바이스 자세로도 지칭됨)에 관한 대응하는 정보를 포함한다.Event receiver 182 receives event information from event classifier 170. Event information includes information about sub-events, for example, touch or touch movement. Depending on the sub-event, the event information also includes additional information such as the location of the sub-event. If the sub-event involves the motion of a touch, the event information optionally also includes the speed and direction of the sub-event. In some embodiments, the events include rotation of the device from one orientation to another (e.g., from portrait to landscape, or vice versa), and the event information includes the device's current orientation (also referred to as device pose). ) includes corresponding information about
이벤트 비교기(184)는 이벤트 정보를 미리정의된 이벤트 또는 서브이벤트 정의들과 비교하고, 그 비교에 기초하여, 이벤트 또는 서브이벤트를 결정하거나, 이벤트 또는 서브이벤트의 상태를 결정 또는 업데이트한다. 일부 실시예들에서, 이벤트 비교기(184)는 이벤트 정의들(186)을 포함한다. 이벤트 정의들(186)은 이벤트들(예컨대, 서브이벤트들의 미리정의된 시퀀스들), 예를 들어 이벤트 1(187-1), 이벤트 2(187-2) 등의 정의들을 포함한다. 일부 실시예들에서, 이벤트(187) 내의 서브이벤트들은, 예를 들어, 터치 시작, 터치 종료, 터치 이동, 터치 취소, 및 다중 터치를 포함한다. 일례에서, 이벤트 1(187-1)에 대한 정의는 디스플레이된 객체 상에서의 더블 탭이다. 더블 탭은, 예를 들어, 미리결정된 페이즈(phase) 동안의 디스플레이된 객체 상의 제1 터치(터치 시작), 미리결정된 페이즈 동안의 제1 리프트오프(터치 종료), 미리결정된 페이즈 동안의 디스플레이된 객체 상의 제2 터치(터치 시작), 및 미리결정된 페이즈 동안의 제2 리프트오프(터치 종료)를 포함한다. 다른 예에서, 이벤트 2(187-2)에 대한 정의는 디스플레이된 객체 상에서의 드래깅이다. 드래깅은, 예를 들어, 미리결정된 페이즈 동안의 디스플레이된 객체 상의 터치(또는 접촉), 터치 감응형 디스플레이 시스템(112)을 가로지르는 터치의 이동, 및 터치의 리프트오프(터치 종료)를 포함한다. 일부 실시예들에서, 이벤트는 또한 하나 이상의 연관된 이벤트 핸들러들(190)에 대한 정보를 포함한다.Event comparator 184 compares event information to predefined event or sub-event definitions and, based on the comparison, determines an event or sub-event, or determines or updates the status of the event or sub-event. In some embodiments, event comparator 184 includes event definitions 186. Event definitions 186 include definitions of events (e.g., predefined sequences of sub-events), e.g., Event 1 (187-1), Event 2 (187-2), etc. In some embodiments, sub-events within event 187 include, for example, touch start, touch end, touch move, touch cancel, and multiple touches. In one example, the definition for event 1 187-1 is a double tap on a displayed object. A double tap can be, for example, a first touch on a displayed object during a predetermined phase (start of touch), a first liftoff during a predetermined phase (end of touch), and a first touch on the displayed object during a predetermined phase. a second touch on the top (touch start), and a second liftoff (touch end) during a predetermined phase. In another example, the definition for event 2 (187-2) is dragging on a displayed object. Dragging includes, for example, a touch (or contact) on a displayed object during a predetermined phase, movement of the touch across the touch-sensitive display system 112, and liftoff of the touch (termination of the touch). In some embodiments, an event also includes information about one or more associated event handlers 190.
일부 실시예들에서, 이벤트 정의(187)는 각각의 사용자 인터페이스 객체에 대한 이벤트의 정의를 포함한다. 일부 실시예들에서, 이벤트 비교기(184)는 어느 사용자 인터페이스 객체가 서브이벤트와 연관되는지 결정하도록 히트 테스트(hit test)를 수행한다. 예를 들어, 3개의 사용자 인터페이스 객체들이 터치 감응형 디스플레이 시스템(112) 상에 디스플레이된 애플리케이션 뷰에서, 터치 감응형 디스플레이 시스템(112) 상에서 터치가 검출되는 경우, 이벤트 비교기(184)는 3개의 사용자 인터페이스 객체들 중 어느 것이 터치(서브이벤트)와 연관되어 있는지를 결정하도록 히트 테스트를 수행한다. 각각의 디스플레이된 객체가 각각의 이벤트 핸들러(190)와 연관되는 경우, 이벤트 비교기는 어느 이벤트 핸들러(190)가 활성화되어야 하는지 결정하는 데 히트 테스트의 결과를 이용한다. 예를 들어, 이벤트 비교기(184)는 히트 테스트를 트리거하는 객체 및 서브이벤트와 연관된 이벤트 핸들러를 선택한다.In some embodiments, event definition 187 includes a definition of an event for each user interface object. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view where three user interface objects are displayed on touch-sensitive display system 112, if a touch is detected on touch-sensitive display system 112, event comparator 184 determines the three user interface objects. Perform a hit test to determine which of the interface objects is associated with a touch (sub-event). If each displayed object is associated with a respective event handler 190, the event comparator uses the results of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects an event handler associated with an object and subevent that triggers a hit test.
일부 실시예들에서, 각각의 이벤트(187)에 대한 정의는 또한 서브이벤트들의 시퀀스가 이벤트 인식기의 이벤트 유형에 대응하는지 대응하지 않는지 여부가 결정된 후까지 이벤트 정보의 전달을 지연하는 지연된 액션들을 포함한다.In some embodiments, the definition for each event 187 also includes deferred actions that delay delivery of event information until after it has been determined whether the sequence of sub-events does or does not correspond to the event type of the event recognizer. .
각각의 이벤트 인식기(180)가, 일련의 서브이벤트들이 이벤트 정의들(186) 내의 이벤트들 중 어떠한 것과도 매칭되지 않는 것으로 결정하는 경우, 각각의 이벤트 인식기(180)는 이벤트 불가능, 이벤트 실패, 또는 이벤트 종료 상태에 진입하고, 그 후 각각의 이벤트 인식기는 터치 기반 제스처의 후속 서브이벤트들을 무시한다. 이러한 상황에서, 만일 있다면, 히트 뷰에 대해 활성 상태로 유지되는 다른 이벤트 인식기들이 진행 중인 터치 기반 제스처의 서브이벤트들을 계속해서 추적 및 프로세싱한다.If each event recognizer 180 determines that the set of sub-events does not match any of the events in event definitions 186, each event recognizer 180 determines that the event is not possible, the event is failed, or The event end state is entered, after which each event recognizer ignores subsequent subevents of the touch-based gesture. In this situation, other event recognizers, if any, that remain active for the hit view continue to track and process subevents of the ongoing touch-based gesture.
일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트 전달 시스템이 어떻게 적극 참여 이벤트 인식기들에 대한 서브이벤트 전달을 수행해야 하는지를 나타내는 구성가능한 속성들, 플래그(flag)들, 및/또는 목록들을 갖는 메타데이터(183)를 포함한다. 일부 실시예들에서, 메타데이터(183)는 이벤트 인식기들이 어떻게 서로 상호작용하는지, 또는 상호작용 가능하게 되는지를 나타내는 구성가능한 속성들, 플래그들, 및/또는 목록들을 포함한다. 일부 실시예들에서, 메타데이터(183)는, 서브이벤트들이 뷰 또는 프로그램 계층구조에서의 다양한 레벨들에 전달되는지 여부를 나타내는 구성가능한 속성들, 플래그들, 및/또는 목록들을 포함한다.In some embodiments, each event recognizer 180 includes configurable properties, flags, and/or lists that indicate how the event delivery system should perform sub-event delivery to actively participating event recognizers. It includes metadata 183. In some embodiments, metadata 183 includes configurable properties, flags, and/or lists that indicate how event recognizers interact with each other or are enabled for interaction. In some embodiments, metadata 183 includes configurable properties, flags, and/or lists that indicate whether subevents are delivered to the view or various levels in the program hierarchy.
일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트의 하나 이상의 특정 서브이벤트들이 인식될 때 이벤트와 연관된 이벤트 핸들러(190)를 활성화한다. 일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트와 연관된 이벤트 정보를 이벤트 핸들러(190)에 전달한다. 이벤트 핸들러(190)를 활성화시키는 것은 각각의 히트 뷰에 서브이벤트들을 전송(및 지연 전송)하는 것과는 별개이다. 일부 실시예들에서, 이벤트 인식기(180)는 인식된 이벤트와 연관된 플래그를 보내고, 그 플래그와 연관된 이벤트 핸들러(190)는 그 플래그를 캐치하고 미리정의된 프로세스를 수행한다.In some embodiments, each event recognizer 180 activates an event handler 190 associated with an event when one or more specific sub-events of the event are recognized. In some embodiments, each event recognizer 180 passes event information associated with the event to event handler 190. Activating the event handler 190 is separate from sending (and delaying sending) sub-events to each hit view. In some embodiments, event recognizer 180 sends a flag associated with the recognized event, and event handler 190 associated with that flag catches that flag and performs a predefined process.
일부 실시예들에서, 이벤트 전달 명령어들(188)은 이벤트 핸들러를 활성화하지 않으면서 서브이벤트에 관한 이벤트 정보를 전달하는 서브이벤트 전달 명령어들을 포함한다. 대신에, 서브이벤트 전달 명령어들은 일련의 서브이벤트들과 연관된 이벤트 핸들러들에 또는 적극 참여 뷰들에 이벤트 정보를 전달한다. 일련의 서브이벤트들 또는 적극 참여 뷰들과 연관된 이벤트 핸들러들은 이벤트 정보를 수신하고 미리결정된 프로세스를 수행한다.In some embodiments, event delivery instructions 188 include sub-event delivery instructions that deliver event information regarding a sub-event without activating an event handler. Instead, sub-event delivery instructions deliver event information to event handlers associated with a series of sub-events or to actively participating views. Event handlers associated with a series of sub-events or actively participating views receive event information and perform predetermined processes.
일부 실시예들에서, 데이터 업데이터(176)는 애플리케이션(136-1)에서 이용되는 데이터를 생성 및 업데이트한다. 예를 들어, 데이터 업데이터(176)는 연락처 모듈(137)에서 이용되는 전화번호를 업데이트하거나, 비디오 및 음악 재생기 모듈(152)에서 이용되는 비디오 파일을 저장한다. 일부 실시예들에서, 객체 업데이터(177)는 애플리케이션(136-1)에서 이용되는 객체들을 생성 및 업데이트한다. 예를 들어, 객체 업데이터(177)는 새로운 사용자 인터페이스 객체를 생성하거나, 또는 사용자 인터페이스 객체의 위치를 업데이트한다. GUI 업데이터(178)는 GUI를 업데이트한다. 예를 들어, GUI 업데이터(178)는 터치 감응형 디스플레이 상의 디스플레이를 위해 디스플레이 정보를 준비하고 이를 그래픽 모듈(132)에 전송한다.In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates phone numbers used in contacts module 137 or stores video files used in video and music player module 152. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates a new user interface object or updates the location of a user interface object. The GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information for display on a touch-sensitive display and transmits it to graphics module 132.
일부 실시예들에서, 이벤트 핸들러(들)(190)는 데이터 업데이터(176), 객체 업데이터(177), 및 GUI 업데이터(178)를 포함하거나 이들에 액세스한다. 일부 실시예들에서, 데이터 업데이터(176), 객체 업데이터(177), 및 GUI 업데이터(178)는 각각의 애플리케이션(136-1) 또는 애플리케이션 뷰(191)의 단일 모듈 내에 포함된다. 다른 실시예들에서, 이들은 둘 이상의 소프트웨어 모듈들 내에 포함된다.In some embodiments, event handler(s) 190 includes or accesses data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included within a single module of each application 136-1 or application view 191. In other embodiments, they are included within two or more software modules.
터치 감응형 디스플레이 상의 사용자 터치들의 이벤트 처리에 관하여 전술한 논의는 또한 입력 디바이스들을 갖는 다기능 디바이스들(100)을 동작시키기 위한 다른 형태들의 사용자 입력들에도 적용되지만, 그 모두가 터치 스크린들 상에서 개시되는 것이 아니라는 것을 이해해야 한다. 예를 들어, 단일 또는 다수의 키보드 누르기 또는 유지(hold)와 선택적으로 조화된 마우스 이동 및 마우스 버튼 누르기; 터치패드 상에서의, 탭, 드래그, 스크롤 등과 같은 접촉 이동들; 펜 스타일러스 입력들; 디바이스의 이동; 구두 명령어들; 검출된 눈 이동들; 생체측정 입력들; 및/또는 이들의 임의의 조합은, 인식될 이벤트를 정의하는 서브이벤트들에 대응하는 입력들로서 선택적으로 이용된다.The foregoing discussion of event handling of user touches on a touch-sensitive display also applies to other forms of user input for operating multifunction devices 100 with input devices, but not all of which are initiated on touch screens. You must understand that this is not the case. For example, mouse movements and mouse button presses, optionally combined with single or multiple keyboard presses or holds; Contact movements such as tapping, dragging, scrolling, etc. on the touchpad; pen stylus inputs; movement of the device; verbal commands; detected eye movements; biometric inputs; and/or any combination thereof are optionally used as inputs corresponding to sub-events defining the event to be recognized.
도 1c는 일부 실시예들에 따른 촉각적 출력 모듈을 예시하는 블록도이다. 일부 실시예들에서, I/O 서브시스템(106)(예컨대, 햅틱 피드백 제어기(161)(도 1a) 및/또는 다른 입력 제어기(들)(160)(도 1a))은 도 1c에 도시된 예시적인 컴포넌트들 중 적어도 일부를 포함한다. 일부 실시예들에서, 주변기기 인터페이스(118)는 도 1c에 도시된 예시적인 컴포넌트들 중 적어도 일부를 포함한다.1C is a block diagram illustrating a tactile output module according to some embodiments. In some embodiments, I/O subsystem 106 (e.g., haptic feedback controller 161 (FIG. 1A) and/or other input controller(s) 160 (FIG. 1A)) may be configured as shown in FIG. 1C. Includes at least some of the example components. In some embodiments, peripherals interface 118 includes at least some of the example components shown in FIG. 1C.
일부 실시예들에서, 촉각적 출력 모듈은 햅틱 피드백 모듈(133)을 포함한다. 일부 실시예들에서, 햅틱 피드백 모듈(133)은 전자 디바이스 상의 소프트웨어 애플리케이션들로부터 사용자 인터페이스 피드백(예컨대, 전자 디바이스의 사용자 인터페이스들에서의 이벤트들의 발생 또는 동작들의 수행을 나타내는 경보들 및 다른 통지들 및 디스플레이된 사용자 인터페이스들에 대응하는 사용자 입력들에 응답하는 피드백)에 대한 촉각적 출력들을 모으고 조합한다. 햅틱 피드백 모듈(133)은 (촉각적 출력들을 생성하기 위해 사용되는 파형들을 제공하기 위한) 파형 모듈(123), (상이한 채널들에서의 파형들과 같은 파형들을 혼합하기 위한) 믹서(125), (파형들의 동적 범위를 감소시키거나 압축하기 위한) 압축기(127), (파형들에서의 고주파 신호 성분들을 필터링하기 위한) 저역 통과 필터(129), 및 (열 조건들에 따라 파형들을 조정하기 위한) 열 제어기(131) 중 하나 이상을 포함한다. 일부 실시예들에서, 햅틱 피드백 모듈(133)은 햅틱 피드백 제어기(161)(도 1a) 내에 포함된다. 일부 실시예들에서, 햅틱 피드백 모듈(133)의 별개의 유닛(또는 햅틱 피드백 모듈(133)의 별개의 구현예)이 또한 오디오 제어기(예컨대, 오디오 회로부(110), 도 1a) 내에 포함되고 오디오 신호들을 생성하기 위해 사용된다. 일부 실시예들에서, 촉각적 출력들에 대한 파형들을 생성하고 오디오 신호들을 생성하기 위해 단일 햅틱 피드백 모듈(133)이 사용된다.In some embodiments, the tactile output module includes a haptic feedback module 133. In some embodiments, haptic feedback module 133 provides user interface feedback from software applications on the electronic device (e.g., alerts and other notifications indicating the occurrence of events or performance of actions in the user interfaces of the electronic device, and Collect and combine tactile outputs (feedback) in response to user inputs corresponding to displayed user interfaces. Haptic feedback module 133 includes a waveform module 123 (to provide waveforms used to generate haptic outputs), a mixer 125 (to mix waveforms such as those in different channels), A compressor 127 (to reduce or compress the dynamic range of the waveforms), a low-pass filter 129 (to filter out high-frequency signal components in the waveforms), and a low-pass filter 129 (to adjust the waveforms according to thermal conditions). ) includes one or more of the thermal controllers 131. In some embodiments, haptic feedback module 133 is included within haptic feedback controller 161 (FIG. 1A). In some embodiments, a separate unit of haptic feedback module 133 (or a separate implementation of haptic feedback module 133) is also included within the audio controller (e.g., audio circuitry 110, FIG. 1A) and controls audio It is used to generate signals. In some embodiments, a single haptic feedback module 133 is used to generate waveforms for tactile outputs and to generate audio signals.
일부 실시예들에서, 햅틱 피드백 모듈(133)은 또한 트리거 모듈(121)(예컨대, 생성되는 촉각적 출력을 결정하고, 대응하는 촉각적 출력을 생성하기 위한 프로세스를 개시하는 소프트웨어 애플리케이션, 운영 체제, 또는 다른 소프트웨어 모듈)을 포함한다. 일부 실시예들에서, 트리거 모듈(121)은 (예컨대, 파형 모듈(123)에 의해) 파형들의 생성을 개시하기 위한 트리거 신호들을 생성한다. 예를 들어, 트리거 모듈(121)은 미리설정된 타이밍 기준들에 기초하여 트리거 신호들을 생성한다. 일부 실시예들에서, 트리거 모듈(121)은 햅틱 피드백 모듈(133)의 외측으로부터 트리거 신호들을 수신하고(예컨대, 일부 실시예들에서, 햅틱 피드백 모듈(133)은 햅틱 피드백 모듈(133)의 외측에 위치되는 하드웨어 입력 프로세싱 모듈(146)로부터 트리거 신호들을 수신함), 트리거 신호들을 사용자 인터페이스 요소(예컨대, 애플리케이션 내의 어포던스 또는 애플리케이션 아이콘) 또는 하드웨어 입력 디바이스(예컨대, 세기 감응형 터치 스크린과 같은 세기 감응형 입력 표면 또는 홈 버튼)의 활성화에 기초하여 (예컨대, 트리거 모듈(121)을 이용하여) 동작들을 트리거하는 소프트웨어 애플리케이션들 또는 햅틱 피드백 모듈(133) 내의 다른 컴포넌트들(예컨대, 파형 모듈(123))로 중계한다. 일부 실시예들에서, 트리거 모듈(121)은 또한 (예컨대, 도 1a 및 도 3의 햅틱 피드백 모듈(133)로부터) 촉각적 피드백 생성 명령어들을 수신한다. 일부 실시예들에서, 트리거 모듈(121)은 (예컨대, 도 1a 및 도 3의 햅틱 피드백 모듈(133)로부터) 햅틱 피드백 모듈(133)(또는 햅틱 피드백 모듈(133) 내의 트리거 모듈(121))이 촉각적 피드백 명령어들을 수신하는 것에 응답하여 트리거 신호들을 생성한다.In some embodiments, haptic feedback module 133 may also include a trigger module 121 (e.g., a software application, operating system, or software application that determines the tactile output to be generated and initiates a process to generate a corresponding tactile output) or other software modules). In some embodiments, trigger module 121 generates trigger signals to initiate generation of waveforms (e.g., by waveform module 123). For example, the trigger module 121 generates trigger signals based on preset timing standards. In some embodiments, trigger module 121 receives trigger signals from outside of haptic feedback module 133 (e.g., in some embodiments, haptic feedback module 133 receives trigger signals outside of haptic feedback module 133). Receives trigger signals from a hardware input processing module 146 located on a user interface element (e.g., an affordance within an application or an application icon) or a hardware input device (e.g., an intensity-sensitive input device, such as an intensity-sensitive touch screen). Software applications that trigger actions (e.g., using trigger module 121) based on activation of an input surface or home button) or other components within haptic feedback module 133 (e.g., waveform module 123) relayed to In some embodiments, trigger module 121 also receives tactile feedback generating instructions (e.g., from haptic feedback module 133 of FIGS. 1A and 3 ). In some embodiments, trigger module 121 is connected to haptic feedback module 133 (e.g., from haptic feedback module 133 of FIGS. 1A and 3 ) (or trigger module 121 within haptic feedback module 133 ). Trigger signals are generated in response to receiving these tactile feedback commands.
파형 모듈(123)은 (예컨대, 트리거 모듈(121)로부터) 트리거 신호들을 입력으로서 수신하고, 트리거 신호들을 수신하는 것에 응답하여, 하나 이상의 촉각적 출력들의 생성을 위해 파형들(예컨대, 도 4f 및 도 4g를 참조하여 아래에서 더욱 상세하게 기술되는 파형들과 같은, 파형 모듈(123)에 의해 사용하기 위해 지정된 파형들의 미리정의된 세트로부터 선택되는 파형들)을 제공한다.Waveform module 123 receives trigger signals as input (e.g., from trigger module 121) and, in response to receiving the trigger signals, generates waveforms (e.g., FIGS. 4F and 4F ) for generation of one or more tactile outputs. waveforms selected from a predefined set of waveforms designated for use by waveform module 123, such as the waveforms described in more detail below with reference to FIG. 4G.
믹서(125)는 (예컨대, 파형 모듈(123)로부터) 파형들을 입력으로서 수신하고, 파형들을 함께 혼합한다. 예를 들어, 믹서(125)가 둘 이상의 파형들(예컨대, 제1 채널에서의 제1 파형, 및 제2 채널에서의 제1 파형과 적어도 부분적으로 중첩되는 제2 파형)을 수신할 때, 믹서(125)는 둘 이상의 파형들의 합산에 대응하는 조합된 파형을 출력한다. 일부 실시예들에서, 믹서(125)는 또한 (예컨대, 특정 파형(들)의 축척을 증가시킴으로써 그리고/또는 파형들 중 나머지의 축척을 감소시킴으로써) 특정 파형(들)을 둘 이상의 파형들 중 나머지에 비해 강조하기 위해 둘 이상의 파형들 중 하나 이상의 파형들을 수정한다. 일부 상황들에서, 믹서(125)는 조합된 파형으로부터 제거하기 위해 하나 이상의 파형들을 선택한다(예컨대, 촉각적 출력 생성기(167)에 의해 동시에 출력되도록 요청되었던 3개 초과의 소스들로부터의 파형들이 있을 때 가장 오래된 소스로부터의 파형이 드롭된다).Mixer 125 receives waveforms as input (e.g., from waveform module 123) and mixes the waveforms together. For example, when mixer 125 receives two or more waveforms (e.g., a first waveform in a first channel and a second waveform that at least partially overlaps the first waveform in a second channel), the mixer 125 125 outputs a combined waveform corresponding to the sum of two or more waveforms. In some embodiments, mixer 125 may also mix certain waveform(s) with the remainder of two or more waveforms (e.g., by increasing the scale of the particular waveform(s) and/or decreasing the scale of the remainder of the waveforms). Modify one or more of two or more waveforms to emphasize them compared to the other. In some situations, mixer 125 selects one or more waveforms for removal from the combined waveform (e.g., waveforms from more than three sources that were requested to be output simultaneously by tactile output generator 167). When present, the waveform from the oldest source is dropped).
압축기(127)는 파형들(예컨대, 믹서(125)로부터의 조합된 파형)을 입력으로서 수신하고, 파형들을 수정한다. 일부 실시예들에서, 압축기(127)는 (예컨대, 촉각적 출력 생성기들(도 1a의 167 또는 도 3의 357)의 물리적 사양들에 따라) 파형들을 감소시켜서, 그 파형들에 대응하는 촉각적 출력들이 감소되게 한다. 일부 실시예들에서, 압축기(127)는, 예컨대 파형들에 대한 미리정의된 최대 진폭을 강제함으로써, 파형들을 제한한다. 예를 들어, 압축기(127)는, 미리정의된 진폭 임계치를 초과하지 않는 파형들의 일부분들의 진폭들을 유지하면서 미리정의된 진폭 임계치를 초과하는 파형들의 일부분들의 진폭들을 감소시킨다. 일부 실시예들에서, 압축기(127)는 파형들의 동적 범위를 감소시킨다. 일부 실시예들에서, 압축기(127)는 파형들의 동적 범위를 동적으로 감소시켜, 조합된 파형들이 촉각적 출력 생성기(167)의 성능 사양들(예컨대, 힘 및/또는 이동가능 질량체 변위 한계들) 내에 유지되게 한다.Compressor 127 receives waveforms (e.g., a combined waveform from mixer 125) as input and modifies the waveforms. In some embodiments, compressor 127 reduces the waveforms (e.g., depending on the physical specifications of the tactile output generators (167 in FIG. 1A or 357 in FIG. 3)) to produce tactile output corresponding to the waveforms. causes the outputs to be reduced. In some embodiments, compressor 127 limits the waveforms, such as by enforcing a predefined maximum amplitude for the waveforms. For example, compressor 127 reduces amplitudes of portions of waveforms that exceed a predefined amplitude threshold while maintaining amplitudes of portions of waveforms that do not exceed the predefined amplitude threshold. In some embodiments, compressor 127 reduces the dynamic range of waveforms. In some embodiments, compressor 127 dynamically reduces the dynamic range of the waveforms so that the combined waveforms meet the performance specifications (e.g., force and/or moveable mass displacement limits) of tactile output generator 167. keep it within.
저역 통과 필터(129)는 파형들(예컨대, 압축기(127)로부터의 압축된 파형들)을 입력으로서 수신하고, 파형들을 필터링(예컨대, 평활화)한다(예컨대, 파형들에서의 고주파 신호 성분들을 제거 또는 감소시킨다). 예를 들어, 일부 경우에, 압축기(127)는, 압축된 파형들로, 촉각적 출력들이 압축된 파형들에 따라 생성될 때 촉각적 출력 생성기(167)의 성능 사양들을 초과하고/하거나 촉각적 출력들의 생성을 간섭하는 관련없는 신호들(예컨대, 고주파 신호 성분들)을 포함한다. 저역 통과 필터(129)는 파형들에서의 그러한 관련없는 신호들을 감소 또는 제거한다.Low-pass filter 129 receives waveforms (e.g., compressed waveforms from compressor 127) as input and filters (e.g., smoothes) the waveforms (e.g., removes high-frequency signal components in the waveforms). or decrease). For example, in some cases, compressor 127 may, with compressed waveforms, exceed the performance specifications of tactile output generator 167 and/or generate tactile outputs when tactile outputs are generated according to the compressed waveforms. Contains extraneous signals (eg, high frequency signal components) that interfere with the generation of outputs. Low-pass filter 129 reduces or removes such extraneous signals from the waveforms.
열 제어기(131)는 파형들(예컨대, 저역 통과 필터(129)로부터의 필터링된 파형들)을 입력으로서 수신하고, (예컨대, 디바이스(100) 내에서 검출되는 내부 온도들, 예컨대 햅틱 피드백 제어기(161)의 온도, 및/또는 디바이스(100)에 의해 검출되는 외부 온도들에 기초하여) 디바이스(100)의 열 조건들에 따라 파형들을 조정한다. 예를 들어, 일부 경우에, 햅틱 피드백 제어기(161)의 출력은 온도에 따라 변한다(예컨대, 햅틱 피드백 제어기(161)는, 동일한 파형들을 수신하는 것에 응답하여, 햅틱 피드백 제어기(161)가 제1 온도로 있을 때 제1 촉각적 출력을 생성하고, 햅틱 피드백 제어기(161)가 제1 온도와는 별개인 제2 온도로 있을 때 제2 촉각적 출력을 생성한다). 예를 들어, 촉각적 출력들의 크기(또는 진폭)는 온도에 따라 변화할 수 있다. 온도 변화의 영향을 감소시키기 위해, 파형들은 수정된다(예컨대, 파형들의 진폭이 온도에 기초하여 증가 또는 감소된다).Thermal controller 131 receives waveforms (e.g., filtered waveforms from low-pass filter 129) as input and controls internal temperatures (e.g., detected within device 100), e.g., a haptic feedback controller ( Adjust the waveforms according to thermal conditions of device 100 (based on the temperature of 161) and/or external temperatures detected by device 100. For example, in some cases, the output of haptic feedback controller 161 varies with temperature (e.g., haptic feedback controller 161 may, in response to receiving the same waveforms, cause haptic feedback controller 161 to make a first generates a first tactile output when at a temperature, and generates a second tactile output when the haptic feedback controller 161 is at a second temperature that is separate from the first temperature. For example, the magnitude (or amplitude) of tactile outputs may change depending on temperature. To reduce the effects of temperature changes, the waveforms are modified (eg, their amplitude is increased or decreased based on temperature).
일부 실시예들에서, 햅틱 피드백 모듈(133)(예컨대, 트리거 모듈(121))은 하드웨어 입력 프로세싱 모듈(146)에 커플링된다. 일부 실시예들에서, 도 1a에서의 다른 입력 제어기(들)(160)는 하드웨어 입력 프로세싱 모듈(146)을 포함한다. 일부 실시예들에서, 하드웨어 입력 프로세싱 모듈(146)은 하드웨어 입력 디바이스(145)(예컨대, 도 1a에서의 다른 입력 또는 제어 디바이스들(116), 예컨대 세기 감응형 터치 스크린과 같은 세기 감응형 입력 표면 또는 홈 버튼)로부터 입력들을 수신한다. 일부 실시예들에서, 하드웨어 입력 디바이스(145)는 본 명세서에 기술되는 임의의 입력 디바이스, 예컨대 터치 감응형 디스플레이 시스템(112)(도 1a), 키보드/마우스(350)(도 3), 터치패드(355)(도 3), 다른 입력 또는 제어 디바이스들(116)(도 1a) 중 하나, 또는 세기 감응형 홈 버튼이다. 일부 실시예들에서, 하드웨어 입력 디바이스(145)는 터치 감응형 디스플레이 시스템(112)(도 1a), 키보드/마우스(350)(도 3), 또는 터치패드(355)(도 3)가 아닌, 세기 감응형 홈 버튼으로 이루어진다. 일부 실시예들에서, 하드웨어 입력 디바이스(145)(예컨대, 세기 감응형 홈 버튼 또는 터치 스크린)로부터의 입력들에 응답하여, 하드웨어 입력 프로세싱 모듈(146)은, 미리정의된 입력 기준들을 만족하는 사용자 입력, 예컨대 홈 버튼의 "클릭"(예컨대, "다운 클릭" 또는 "업 클릭")에 대응하는 입력이 검출되었음을 나타내기 위해 하나 이상의 트리거 신호들을 햅틱 피드백 모듈(133)에 제공한다. 일부 실시예들에서, 햅틱 피드백 모듈(133)은, 홈 버튼의 "클릭"에 대응하는 입력에 응답하여 홈 버튼의 "클릭"에 대응하는 파형들을 제공하여, 물리적 홈 버튼을 누르는 햅틱 피드백을 시뮬레이션한다.In some embodiments, haptic feedback module 133 (e.g., trigger module 121) is coupled to hardware input processing module 146. In some embodiments, other input controller(s) 160 in FIG. 1A include hardware input processing module 146. In some embodiments, hardware input processing module 146 includes hardware input device 145 (e.g., other input or control devices 116 in Figure 1A, such as an intensity-sensitive input surface such as an intensity-sensitive touch screen). or home button). In some embodiments, hardware input device 145 can be any of the input devices described herein, such as touch-sensitive display system 112 (FIG. 1A), keyboard/mouse 350 (FIG. 3), and touchpad. 355 (Figure 3), one of the other input or control devices 116 (Figure 1A), or an intensity-sensitive home button. In some embodiments, hardware input device 145 is other than touch-sensitive display system 112 (FIG. 1A), keyboard/mouse 350 (FIG. 3), or touchpad 355 (FIG. 3). It consists of a intensity-sensitive home button. In some embodiments, in response to inputs from hardware input device 145 (e.g., an intensity-sensitive home button or touch screen), hardware input processing module 146 determines whether a user meets predefined input criteria. One or more trigger signals are provided to the haptic feedback module 133 to indicate that an input, such as an input corresponding to a “click” (eg, “down click” or “up click”) of a home button, has been detected. In some embodiments, haptic feedback module 133 provides waveforms corresponding to a “click” of the home button in response to an input corresponding to a “click” of the home button, simulating the haptic feedback of pressing a physical home button. do.
일부 실시예들에서, 촉각적 출력 모듈은 햅틱 피드백 제어기(161)(예컨대, 도 1a에서의 햅틱 피드백 제어기(161))를 포함하는데, 이는 촉각적 출력들의 생성을 제어한다. 일부 실시예들에서, 햅틱 피드백 제어기(161)는 복수의 촉각적 출력 생성기들에 커플링되고, 복수의 촉각적 출력 생성기들 중 하나 이상의 촉각적 출력 생성기들을 선택하여, 촉각적 출력들을 생성하기 위한 파형들을 그 선택된 하나 이상의 촉각적 출력 생성기들로 전송한다. 일부 실시예들에서, 햅틱 피드백 제어기(161)는, 하드웨어 입력 디바이스(145)의 활성화에 대응하는 촉각적 출력 요청들, 및 소프트웨어 이벤트들에 대응하는 촉각적 출력 요청들(예컨대, 햅틱 피드백 모듈(133)로부터의 촉각적 출력 요청들)을 조정하고, (예컨대, 하드웨어 입력 디바이스(145)의 활성화에 대응하는 촉각적 출력들을 소프트웨어 이벤트들에 대응하는 촉각적 출력들보다 우선순위화하기 위해서와 같이, 특정 파형(들)의 축척을 증가시킴으로써 그리고/또는 파형들 중 나머지의 축척을 감소시킴으로써) 특정 파형(들)을 둘 이상의 파형들 중 나머지에 비해 강조하기 위해 둘 이상의 파형들 중 하나 이상의 파형들을 수정한다.In some embodiments, the tactile output module includes a haptic feedback controller 161 (e.g., haptic feedback controller 161 in FIG. 1A), which controls the generation of tactile outputs. In some embodiments, haptic feedback controller 161 is coupled to a plurality of tactile output generators and selects one or more of the plurality of tactile output generators to generate tactile outputs. The waveforms are transmitted to the selected one or more tactile output generators. In some embodiments, haptic feedback controller 161 controls tactile output requests corresponding to activation of hardware input device 145 and tactile output requests corresponding to software events (e.g., a haptic feedback module ( 133) and (e.g., to prioritize tactile outputs corresponding to activation of hardware input device 145 over tactile outputs corresponding to software events). , one or more of two or more waveforms to emphasize a particular waveform(s) relative to the rest of the two or more waveforms (by increasing the scale of the particular waveform(s) and/or decreasing the scale of the remainder of the waveforms). Edit.
일부 실시예들에서, 도 1c에 도시된 바와 같이, 햅틱 피드백 제어기(161)의 출력이 디바이스(100)의 오디오 회로부(예컨대, 도 1a의 오디오 회로부(110))에 커플링되고, 오디오 신호들을 디바이스(100)의 오디오 회로부에 제공한다. 일부 실시예들에서, 햅틱 피드백 제어기(161)는 촉각적 출력들을 생성하기 위해 사용되는 파형들 및 촉각적 출력들의 생성과 함께 오디오 출력들을 제공하기 위해 사용되는 오디오 신호들 양쪽 모두를 제공한다. 일부 실시예들에서, 햅틱 피드백 제어기(161)는 오디오 신호들 및/또는 (촉각적 출력들을 생성하기 위해 사용되는) 파형들을 수정하여, (예컨대, 오디오 신호들 및/또는 파형들을 지연시킴으로써) 오디오 출력들 및 촉각적 출력들이 동기화되게 한다. 일부 실시예들에서, 햅틱 피드백 제어기(161)는 디지털 파형들을 아날로그 신호들로 변환하기 위해 사용되는 디지털-아날로그 변환기를 포함하며, 이 아날로그 신호들은 증폭기(163) 및/또는 촉각적 출력 생성기(167)에 의해 수신된다.In some embodiments, as shown in Figure 1C, the output of haptic feedback controller 161 is coupled to audio circuitry of device 100 (e.g., audio circuitry 110 of Figure 1A) and generates audio signals. It is provided to the audio circuit part of the device 100. In some embodiments, haptic feedback controller 161 provides both waveforms used to generate tactile outputs and audio signals used to provide audio outputs in conjunction with generation of the tactile outputs. In some embodiments, haptic feedback controller 161 modifies the audio signals and/or waveforms (used to generate the haptic outputs) to control the audio (e.g., by delaying the audio signals and/or waveforms). Ensures that the outputs and tactile outputs are synchronized. In some embodiments, haptic feedback controller 161 includes a digital-to-analog converter used to convert digital waveforms to analog signals, which can be output to amplifier 163 and/or tactile output generator 167. ) is received by.
일부 실시예들에서, 촉각적 출력 모듈은 증폭기(163)를 포함한다. 일부 실시예들에서, 증폭기(163)는 (예컨대, 햅틱 피드백 제어기(161)로부터) 파형들을 수신하고, 그 파형들을 증폭하고 이어서 증폭된 파형들을 촉각적 출력 생성기(167)(예컨대, 촉각적 출력 생성기들(도 1a의 167 또는 도 3의 357) 중 임의의 것)로 전송한다. 예를 들어, 증폭기(163)는 수신된 파형들을 촉각적 출력 생성기(167)의 물리적 사양들에 따르는 신호 레벨들로(예컨대, 촉각적 출력 생성기(167)로 전송된 신호들이, 햅틱 피드백 제어기(161)로부터 수신된 파형들에 대응하는 촉각적 출력들을 생성하도록 촉각적 출력들을 생성하기 위한 촉각적 출력 생성기(167)에 의해 요구되는 전압 및/또는 전류로) 증폭하고, 증폭된 파형들을 촉각적 출력 생성기(167)로 전송한다. 이에 응답하여, 촉각적 출력 생성기(167)는 (예컨대, 이동가능 질량체의 중립 위치에 대한 하나 이상의 치수들에서 앞뒤로 이동가능 질량체를 시프트시킴으로써) 촉각적 출력들을 생성한다.In some embodiments, the tactile output module includes an amplifier 163. In some embodiments, amplifier 163 receives waveforms (e.g., from haptic feedback controller 161), amplifies the waveforms, and then sends the amplified waveforms to tactile output generator 167 (e.g., tactile output generator 167). Transmit to the generators (any of 167 in FIG. 1A or 357 in FIG. 3). For example, amplifier 163 may convert the received waveforms to signal levels that comply with the physical specifications of tactile output generator 167 (e.g., signals transmitted to tactile output generator 167 may be converted to a haptic feedback controller ( amplify the waveforms received from 161) with the required voltage and/or current by a tactile output generator 167 to generate tactile outputs corresponding to the received waveforms, and generate tactile outputs corresponding to the waveforms received from 161). Sent to output generator 167. In response, tactile output generator 167 generates tactile outputs (e.g., by shifting the movable mass back and forth in one or more dimensions relative to the movable mass's neutral position).
일부 실시예들에서, 촉각적 출력 모듈은 센서(169)를 포함하며, 이 센서는 촉각적 출력 생성기(167)에 커플링된다. 센서(169)는 촉각적 출력 생성기(167) 또는 촉각적 출력 생성기(167)의 하나 이상의 컴포넌트들(예컨대, 촉각적 출력들을 생성하는 데 사용되는 멤브레인(membrane)과 같은 하나 이상의 이동 부품들)의 상태들 또는 상태 변화들(예컨대, 기계적 위치, 물리적 변위, 및/또는 이동)을 검출한다. 일부 실시예들에서, 센서(169)는 자기장 센서(예컨대, 홀 효과(Hall effect) 센서) 또는 다른 변위 및/또는 이동 센서이다. 일부 실시예들에서, 센서(169)는 정보(예컨대, 촉각적 출력 생성기(167) 내의 하나 이상의 부품들의 위치, 변위, 및/또는 이동)를 햅틱 피드백 제어기(161)에 제공하고, 촉각적 출력 생성기(167)의 상태에 관한 센서(169)에 의해 제공된 정보에 따라, 햅틱 피드백 제어기(161)는 햅틱 피드백 제어기(161)로부터 출력되는 파형들(예컨대, 선택적으로 증폭기(163)를 통해, 촉각적 출력 생성기(167)로 전송되는 파형들)을 조정한다.In some embodiments, the tactile output module includes a sensor 169, which is coupled to the tactile output generator 167. Sensor 169 may be a component of tactile output generator 167 or one or more components of tactile output generator 167 (e.g., one or more moving parts such as a membrane used to generate tactile outputs). Detect states or state changes (eg, mechanical position, physical displacement, and/or movement). In some embodiments, sensor 169 is a magnetic field sensor (eg, a Hall effect sensor) or other displacement and/or movement sensor. In some embodiments, sensor 169 provides information (e.g., the position, displacement, and/or movement of one or more components within tactile output generator 167) to haptic feedback controller 161 and provides tactile output. Depending on the information provided by the sensor 169 regarding the state of the generator 167, the haptic feedback controller 161 determines the waveforms output from the haptic feedback controller 161 (e.g., optionally via the amplifier 163), Adjust the waveforms transmitted to the output generator 167.
도 2는 일부 실시예들에 따른, 터치 스크린(예를 들어, 터치 감응형 디스플레이 시스템(112), 도 1a)을 갖는 휴대용 다기능 디바이스(100)를 예시한다. 터치 스크린은, 선택적으로, 사용자 인터페이스(UI)(200) 내에서 하나 이상의 그래픽들을 디스플레이한다. 이러한 실시예들은 물론 하기에 기술되는 다른 실시예들에서, 사용자는, 예를 들어, 하나 이상의 손가락들(202)(도면에서 축척대로 도시되지 않음) 또는 하나 이상의 스타일러스들(203)(도면에서 축척대로 도시되지 않음)을 이용하여 그래픽 상에 제스처를 행함으로써 그래픽들 중 하나 이상을 선택하는 것이 가능하게 된다. 일부 실시예들에서, 하나 이상의 그래픽의 선택은 사용자가 하나 이상의 그래픽과의 접촉을 중단할 때 발생한다. 일부 실시예들에서, 제스처는 선택적으로 디바이스(100)와 접촉한 손가락의 하나 이상의 탭들, (좌측에서 우측으로의, 우측에서 좌측으로의, 상측으로의 그리고/또는 하측으로의) 하나 이상의 스와이프들, 및/또는 (우측에서 좌측으로의, 좌측에서 우측으로의, 상측으로의 그리고/또는 하측으로의) 롤링을 포함한다. 일부 구현예들 또는 상황들에서, 그래픽과 부주의하여 접촉되면 그 그래픽은 선택되지 않는다. 예를 들면, 선택에 대응하는 제스처가 탭일 때, 애플리케이션 아이콘 위를 스윕(sweep)하는 스와이프 제스처는 선택적으로, 대응하는 애플리케이션을 선택하지 않는다.FIG. 2 illustrates a portable multifunction device 100 with a touch screen (e.g., touch-sensitive display system 112, FIG. 1A ), according to some embodiments. The touch screen optionally displays one or more graphics within user interface (UI) 200. In these embodiments, as well as other embodiments described below, the user may use, for example, one or more fingers 202 (not shown to scale in the figure) or one or more styluses 203 (not to scale in the figure). It is possible to select one or more of the graphics by making a gesture on the graphics using (not shown as shown). In some embodiments, selection of one or more graphics occurs when the user ceases contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps of a finger in contact with device 100, one or more swipes (left to right, right to left, up and/or down). , and/or rolling (right to left, left to right, upward and/or downward). In some implementations or situations, if a graphic is inadvertently contacted, the graphic is not selected. For example, when the gesture corresponding to selection is a tap, a swipe gesture that sweeps over an application icon optionally does not select the corresponding application.
디바이스(100)는 또한 선택적으로 "홈" 또는 메뉴 버튼(204)과 같은 하나 이상의 물리적 버튼을 포함한다. 전술된 바와 같이, 메뉴 버튼(204)은 선택적으로, 디바이스(100) 상에서 선택적으로 실행되는 애플리케이션들의 세트 내의 임의의 애플리케이션(136)으로 내비게이팅하는 데 사용된다. 대안적으로, 일부 실시예들에서, 메뉴 버튼은 터치 스크린 디스플레이 상에 디스플레이된 GUI에서 소프트 키로서 구현된다.Device 100 also optionally includes one or more physical buttons, such as “home” or menu button 204. As described above, menu button 204 is optionally used to navigate to any application 136 in the set of applications optionally running on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on a touch screen display.
일부 실시예들에서, 디바이스(100)는 터치 스크린 디스플레이, 메뉴 버튼(204)(때때로, 홈 버튼(204)으로 불림), 디바이스의 전원을 켜거나/끄고 디바이스를 잠그기 위한 푸시 버튼(206), 음량 조정 버튼(들)(208), 가입자 식별 모듈(SIM) 카드 슬롯(210), 헤드셋 잭(212), 및 도킹/충전 외부 포트(124)를 포함한다. 푸시 버튼(206)은, 선택적으로, 버튼을 누르고 버튼을 미리정의된 시간 간격 동안 누른 상태로 유지함으로써 디바이스의 전원을 온/오프시키고/시키거나; 버튼을 누르고 미리정의된 시간 간격이 경과하기 전에 버튼을 누름해제함으로써 디바이스를 잠그고/잠그거나; 디바이스를 잠금해제하거나 잠금해제 프로세스를 개시하는 데 사용된다. 일부 실시예들에서, 디바이스(100)는 또한 마이크로폰(113)을 통해 일부 기능들의 활성화 또는 비활성화를 위한 구두 입력을 수용한다. 디바이스(100)는 또한, 선택적으로, 터치 감응형 디스플레이 시스템(112) 상에서의 접촉들의 세기들을 검출하기 위한 하나 이상의 접촉 세기 센서들(165) 및/또는 디바이스(100)의 사용자를 위해 촉각적 출력들을 생성하기 위한 하나 이상의 촉각적 출력 생성기들(167)을 포함한다.In some embodiments, device 100 includes a touch screen display, a menu button 204 (sometimes called home button 204), a push button 206 for powering on/off and locking the device, Includes volume adjustment button(s) 208, subscriber identity module (SIM) card slot 210, headset jack 212, and docking/charging external port 124. Push button 206 optionally powers on/off the device by pressing the button and holding the button pressed for a predefined time interval; lock the device by pressing a button and releasing the button before a predefined time interval has elapsed; Used to unlock the device or initiate the unlocking process. In some embodiments, device 100 also accepts verbal input for activating or deactivating some functions via microphone 113. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensities of contacts on touch-sensitive display system 112 and/or tactile output for a user of device 100. It includes one or more tactile output generators 167 for generating tactile output generators 167 .
도 3은 일부 실시예들에 따른, 디스플레이 및 터치 감응형 표면을 갖는 예시적인 다기능 디바이스의 블록도이다. 디바이스(300)가 휴대용일 필요는 없다. 일부 실시예들에서, 디바이스(300)는, 랩톱 컴퓨터, 데스크톱 컴퓨터, 태블릿 컴퓨터, 멀티미디어 플레이어 디바이스, 내비게이션 디바이스, (어린이 학습 장난감과 같은) 교육용 디바이스, 게이밍 시스템, 또는 제어 디바이스(예컨대, 가정용 또는 산업용 제어기)이다. 디바이스(300)는 전형적으로 하나 이상의 프로세싱 유닛(CPU)들(310), 하나 이상의 네트워크 또는 다른 통신 인터페이스들(360), 메모리(370), 및 이들 컴포넌트를 상호접속하기 위한 하나 이상의 통신 버스들(320)을 포함한다. 통신 버스들(320)은 선택적으로 시스템 컴포넌트들을 상호접속하고 이들 사이의 통신을 제어하는 회로부(때때로 칩셋이라고 지칭됨)를 포함한다. 디바이스(300)는 전형적으로 터치 스크린 디스플레이인 디스플레이(340)를 포함하는 입/출력(I/O) 인터페이스(330)를 포함한다. I/O 인터페이스(330)는 또한, 선택적으로, 키보드 및/또는 마우스(또는 다른 포인팅 디바이스)(350) 및 터치패드(355), 디바이스(300) 상에 촉각적 출력들을 생성하기 위한 촉각적 출력 생성기(357)(예컨대, 도 1a를 참조하여 전술된 촉각적 출력 생성기(들)(167)와 유사함), 및 센서들(359)(예컨대, 광 센서, 가속도 센서, 근접 센서, 터치 감응형 센서, 및/또는 도 1a를 참조하여 전술된 접촉 세기 센서(들)(165)와 유사한 접촉 세기 센서)을 포함한다. 메모리(370)는 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 솔리드 스테이트 메모리 디바이스들과 같은 고속 랜덤 액세스 메모리를 포함하며; 선택적으로 하나 이상의 자기 디스크 저장 디바이스, 광 디스크 저장 디바이스, 플래시 메모리 디바이스, 또는 다른 비휘발성 솔리드 스테이트 저장 디바이스와 같은 비휘발성 메모리를 포함한다. 메모리(370)는 선택적으로 CPU(들)(310)로부터 원격으로 위치된 하나 이상의 저장 디바이스들을 포함한다. 일부 실시예들에서, 메모리(370)는 휴대용 다기능 디바이스(100)(도 1a)의 메모리(102)에 저장된 프로그램들, 모듈들, 및 데이터 구조들과 유사한 프로그램들, 모듈들, 및 데이터 구조들, 또는 이들의 서브세트를 저장한다. 또한, 메모리(370)는, 선택적으로, 휴대용 다기능 디바이스(100)의 메모리(102) 내에 존재하지 않는 추가의 프로그램들, 모듈들 및 데이터 구조들을 저장한다. 예를 들어, 디바이스(300)의 메모리(370)는, 선택적으로, 드로잉 모듈(380), 프레젠테이션 모듈(382), 워드 프로세싱 모듈(384), 웹사이트 제작 모듈(386), 디스크 저작 모듈(388), 및/또는 스프레드시트 모듈(390)을 저장하는 반면, 휴대용 다기능 디바이스(100)(도 1a)의 메모리(102)는, 선택적으로, 이러한 모듈들을 저장하지 않는다.3 is a block diagram of an example multifunction device having a display and a touch-sensitive surface, according to some embodiments. Device 300 need not be portable. In some embodiments, device 300 may be a laptop computer, desktop computer, tablet computer, multimedia player device, navigation device, educational device (such as a children's learning toy), gaming system, or control device (e.g., for home or industrial use). controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses ( 320). Communication buses 320 optionally include circuitry (sometimes referred to as a chipset) that interconnects system components and controls communications between them. Device 300 includes an input/output (I/O) interface 330 that includes a display 340, typically a touch screen display. I/O interface 330 also optionally includes a keyboard and/or mouse (or other pointing device) 350 and touchpad 355, tactile output devices for generating tactile outputs on device 300. Generator 357 (e.g., similar to the tactile output generator(s) 167 described above with reference to FIG. 1A ), and sensors 359 (e.g., light sensor, acceleration sensor, proximity sensor, touch-sensitive sensor, and/or a contact intensity sensor similar to the contact intensity sensor(s) 165 described above with reference to FIG. 1A. Memory 370 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices; Optionally includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory 370 optionally includes one or more storage devices located remotely from CPU(s) 310. In some embodiments, memory 370 includes programs, modules, and data structures similar to the programs, modules, and data structures stored in memory 102 of portable multifunction device 100 (Figure 1A). , or a subset of them. Additionally, memory 370 optionally stores additional programs, modules and data structures not present within memory 102 of portable multifunction device 100. For example, memory 370 of device 300 may optionally include a drawing module 380, a presentation module 382, a word processing module 384, a website creation module 386, and a disk authoring module 388. ), and/or spreadsheet module 390, while memory 102 of portable multifunction device 100 (FIG. 1A) optionally does not store such modules.
도 3에서의 앞서 식별된 요소들 각각은, 선택적으로, 전술된 메모리 디바이스들 중 하나 이상에 저장된다. 앞서 식별된 모듈들 각각은 상술한 기능을 수행하기 위한 명령어들의 세트에 대응한다. 앞서 식별된 모듈들 또는 프로그램들(즉, 명령어들의 세트들)은 별개의 소프트웨어 프로그램들, 절차들 또는 모듈들로서 구현될 필요가 없으며, 따라서 다양한 실시예들에서 이들 모듈의 다양한 서브세트들이 선택적으로 조합되거나 그렇지 않으면 재배열된다. 일부 실시예들에서, 메모리(370)는 선택적으로, 앞서 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 또한, 메모리(370)는, 선택적으로, 전술되지 않은 추가의 모듈들 및 데이터 구조들을 저장한다.Each of the previously identified elements in Figure 3 is, optionally, stored in one or more of the memory devices described above. Each of the previously identified modules corresponds to a set of instructions for performing the above-described functions. The modules or programs (i.e., sets of instructions) identified above need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may optionally be combined in various embodiments. Either it is or it is rearranged. In some embodiments, memory 370 optionally stores a subset of the previously identified modules and data structures. Additionally, memory 370 optionally stores additional modules and data structures not described above.
이제 휴대용 다기능 디바이스(100) 상에서 선택적으로 구현되는 사용자 인터페이스들("UI")의 실시예들에 주목한다.Attention is now directed to embodiments of user interfaces (“UIs”) that are optionally implemented on portable multifunction device 100.
도 4a는 일부 실시예들에 따른, 휴대용 다기능 디바이스(100) 상의 애플리케이션들의 메뉴에 대한 예시적인 사용자 인터페이스(400)를 예시한다. 유사한 사용자 인터페이스들이 선택적으로 디바이스(300) 상에 구현된다. 일부 실시예들에서, 사용자 인터페이스(400)는 하기의 요소들, 또는 그들의 서브세트나 수퍼세트를 포함한다:FIG. 4A illustrates an example user interface 400 for a menu of applications on portable multifunction device 100, according to some embodiments. Similar user interfaces are optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof:
셀룰러 및 Wi-Fi 신호들과 같은 무선 통신(들)에 대한 신호 강도 표시자(들);signal strength indicator(s) for wireless communication(s) such as cellular and Wi-Fi signals;
시간;hour;
블루투스 표시자;bluetooth indicator;
배터리 상태 표시자;Battery status indicator;
다음과 같은, 빈번하게 사용되는 애플리케이션들에 대한 아이콘들을 갖는 트레이(408):Tray 408 with icons for frequently used applications, such as:
o부재 중 전화들 또는 음성메일 메시지들의 개수의 표시자(414)를 선택적으로 포함하는 "전화"라고 라벨링된 전화 모듈(138)에 대한 아이콘(416);oan icon 416 for the phone module 138 labeled “Phone”, optionally including an indicator 414 of the number of missed calls or voicemail messages;
o읽지 않은 이메일들의 개수의 표시자(410)를 선택적으로 포함하는 "메일"이라고 라벨링된 이메일 클라이언트 모듈(140)에 대한 아이콘(418);oan icon 418 for the email client module 140 labeled “Mail” which optionally includes an indicator 410 of the number of unread emails;
o"브라우저"라고 라벨링된 브라우저 모듈(147)에 대한 아이콘(420);및oan icon 420 for a browser module 147 labeled “browser”; and
o"음악"이라고 라벨링된 비디오 및 음악 재생기 모듈(152)에 대한 아이콘(422);및oan icon 422 for the video and music player module 152 labeled “Music”; and
다음과 같은, 다른 애플리케이션들에 대한 아이콘들:Icons for different applications, such as:
o"메시지"라고 라벨링된 IM 모듈(141)에 대한 아이콘(424);oan icon 424 for the IM module 141 labeled “Messages”;
o"캘린더"라고 라벨링된 캘린더 모듈(148)에 대한 아이콘(426);oan icon 426 for a calendar module 148 labeled “Calendar”;
o"사진"이라고 라벨링된 이미지 관리 모듈(144)에 대한 아이콘(428);oan icon 428 for the image management module 144 labeled “Photos”;
o"카메라"라고 라벨링된 카메라 모듈(143)에 대한 아이콘(430);oIcon 430 for camera module 143 labeled “Camera”;
o"온라인 비디오"라고 라벨링된 온라인 비디오 모듈(155)에 대한 아이콘(432);oan icon 432 for an online video module 155 labeled “Online Video”;
o"주식"이라고 라벨링된 주식 위젯(149-2)에 대한 아이콘(434);oan icon (434) for a stock widget (149-2) labeled “Stocks”;
o"지도"라고 라벨링된 지도 모듈(154)에 대한 아이콘(436);oan icon 436 for a map module 154 labeled “maps”;
o"날씨"라고 라벨링된 날씨 위젯(149-1)에 대한 아이콘(438);oan icon (438) for a weather widget (149-1) labeled "Weather";
o"시계"라고 라벨링된 알람 시계 위젯(149-4)에 대한 아이콘(440);oan icon (440) for an alarm clock widget (149-4) labeled “clock”;
o"운동 지원"이라고 라벨링된 운동 지원 모듈(142)에 대한 아이콘(442);oan icon 442 for an exercise support module 142 labeled “exercise support”;
o"메모"라고 라벨링된 메모 모듈(153)에 대한 아이콘(444);및oan icon 444 for a notes module 153 labeled “notes”; and
o디바이스(100) 및 그의 다양한 애플리케이션들(136)에 대한 설정에의 액세스를 제공하는 설정 애플리케이션 또는 모듈에 대한 아이콘(446).oIcon 446 for a settings application or module that provides access to settings for device 100 and its various applications 136.
도 4a에 예시된 아이콘 라벨들은 단지 예시일 뿐이라는 것에 주목해야 한다. 예를 들어, 다른 라벨들이 선택적으로 다양한 애플리케이션 아이콘들에 대해 사용된다. 일부 실시예들에서, 각각의 애플리케이션 아이콘에 대한 라벨은 각각의 애플리케이션 아이콘에 대응하는 애플리케이션의 이름을 포함한다. 일부 실시예들에서, 특정 애플리케이션 아이콘에 대한 라벨은 특정 애플리케이션 아이콘에 대응하는 애플리케이션의 이름과는 별개이다.It should be noted that the icon labels illustrated in Figure 4A are examples only. For example, different labels are optionally used for various application icons. In some embodiments, the label for each application icon includes the name of the application corresponding to each application icon. In some embodiments, the label for a particular application icon is separate from the name of the application that corresponds to the particular application icon.
도 4b는 디스플레이(450)와는 별개인 터치 감응형 표면(451)(예컨대, 태블릿 또는 터치패드(355), 도 3)을 갖는 디바이스(예컨대, 디바이스(300), 도 3) 상의 예시적인 사용자 인터페이스를 예시한다. 후속하는 예들 중 많은 것들이 (터치 감응형 표면과 디스플레이가 조합된) 터치 스크린 디스플레이(112) 상의 입력들을 참조하여 제공될 것이지만, 일부 실시예들에서, 디바이스는 도 4b에 도시된 바와 같이 디스플레이와 별개인 터치 감응형 표면 상에서 입력들을 검출한다. 일부 실시예들에서, 터치 감응형 표면(예컨대, 도 4b의 451)은 디스플레이(예컨대, 450) 상의 주축(예컨대, 도 4b의 453)에 대응하는 주축(예컨대, 도 4b의 452)을 갖는다. 이들 실시예들에 따르면, 디바이스는 디스플레이 상의 각자의 위치들에 대응하는 위치들(예를 들어, 도 4b에서, 460은 468에 대응하고, 462는 470에 대응함)에서 터치 감응형 표면(451)과의 접촉들(예를 들어, 도 4b의 460, 462)을 검출한다. 이러한 방식으로, 터치 감응형 표면(예컨대, 도 4b의 451) 상에서 디바이스에 의해 검출된 사용자 입력들(예컨대, 접촉들(460, 462) 및 그 이동들)은 터치 감응형 표면이 디스플레이와는 별개일 때 디바이스에 의해 다기능 디바이스의 디스플레이(예컨대, 도 4b의 450) 상의 사용자 인터페이스를 조작하는 데 사용된다. 유사한 방법들이, 선택적으로, 본 명세서에 기술된 다른 사용자 인터페이스들에 이용된다는 것이 이해되어야 한다.4B shows an example user interface on a device (e.g., device 300, FIG. 3) with a touch-sensitive surface 451 (e.g., tablet or touchpad 355, FIG. 3) separate from display 450. exemplifies. Although many of the examples that follow will be presented with reference to inputs on touch screen display 112 (a combination of a touch-sensitive surface and display), in some embodiments, the device may be separate from the display, as shown in FIG. 4B. Detect inputs on a personal touch-sensitive surface. In some embodiments, the touch-sensitive surface (e.g., 451 in FIG. 4B) has a major axis (e.g., 452 in FIG. 4B) corresponding to a major axis (e.g., 453 in FIG. 4B) on the display (e.g., 450). According to these embodiments, the device displays the touch-sensitive surface 451 at positions that correspond to respective positions on the display (e.g., in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470). Detects contacts (e.g., 460 and 462 in FIG. 4B). In this way, user inputs (e.g., contacts 460, 462 and movements thereof) detected by the device on the touch-sensitive surface (e.g., 451 in FIG. 4B) can be performed while the touch-sensitive surface is separate from the display. When used by the device to manipulate the user interface on the display of the multifunction device (e.g., 450 in FIG. 4B). It should be understood that similar methods, optionally, may be used for other user interfaces described herein.
추가적으로, 하기의 예들이 손가락 입력들(예컨대, 손가락 접촉들, 손가락 탭 제스처들, 손가락 스와이프 제스처들 등)을 주로 참조하여 주어지는 반면, 일부 실시예들에서, 손가락 입력들 중 하나 이상은 다른 입력 디바이스로부터의 입력(예컨대, 마우스 기반 입력 또는 스타일러스 입력)으로 대체된다는 것이 이해되어야 한다. 예컨대, 스와이프 제스처는, 선택적으로, 마우스 클릭(예컨대, 접촉 대신) 및 뒤이은 스와이프의 경로를 따른 커서의 이동(예컨대, 접촉의 이동 대신)으로 대체된다. 다른 예로서, (예컨대, 접촉의 검출에 이어 접촉을 검출하는 것을 중지하는 것 대신에) 커서가 탭 제스처의 위치 위에 위치되어 있는 동안에 탭 제스처가 선택적으로 마우스 클릭으로 대체된다. 유사하게, 다수의 사용자 입력이 동시에 검출되는 경우, 다수의 컴퓨터 마우스가 선택적으로 동시에 사용되거나, 또는 마우스와 손가락 접촉들이 선택적으로 동시에 사용되는 것으로 이해하여야 한다.Additionally, while the examples below are given primarily with reference to finger inputs (e.g., finger contacts, finger tap gestures, finger swipe gestures, etc.), in some embodiments, one or more of the finger inputs may be combined with other inputs. It should be understood that input from the device (eg, mouse-based input or stylus input) is substituted. For example, a swipe gesture is optionally replaced with a mouse click (eg, instead of a contact) followed by movement of the cursor along the path of the swipe (eg, instead of a movement of the contact). As another example, the tap gesture is optionally replaced by a mouse click while the cursor is positioned over the location of the tap gesture (e.g., instead of stopping to detect contact following detection of the contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are being used selectively simultaneously, or mouse and finger contacts are being used selectively simultaneously.
본 명세서에 사용되는 바와 같이, "포커스 선택자(focus selector)"라는 용어는 사용자와 상호작용하고 있는 사용자 인터페이스의 현재 부분을 나타내는 입력 요소를 지칭한다. 커서 또는 다른 위치 마커(location marker)를 포함하는 일부 구현예들에서, 커서가 특정 사용자 인터페이스 요소(예컨대, 버튼, 창, 슬라이더 또는 다른 사용자 인터페이스 요소) 위에 있는 동안 터치 감응형 표면(예컨대, 도 3의 터치패드(355) 또는 도 4b의 터치 감응형 표면(451)) 상에서 입력(예컨대, 누르기 입력)이 검출될 때, 특정 사용자 인터페이스 요소가 검출된 입력에 따라 조정되도록, 커서는 "포커스 선택자"로서 기능한다. 터치 스크린 디스플레이 상의 사용자 인터페이스 요소들과의 직접적인 상호작용을 인에이블하는 터치 스크린 디스플레이(예컨대, 도 1a의 터치 감응형 디스플레이 시스템(112) 또는 도 4a의 터치 스크린)를 포함하는 일부 구현예들에서, 입력(예컨대, 접촉에 의한 누르기 입력)이 특정 사용자 인터페이스 요소(예컨대, 버튼, 창, 슬라이더 또는 다른 사용자 인터페이스 요소)의 위치에 있는 터치 스크린 디스플레이 상에서 검출될 때, 특정 사용자 인터페이스 요소가 검출된 입력에 따라 조정되도록, 터치 스크린 상에서 검출된 접촉이 "포커스 선택자"로서 기능한다. 일부 구현예들에서, (예를 들어 포커스를 하나의 버튼으로부터 다른 버튼으로 움직이도록 탭 키 또는 화살표 키를 사용함으로써) 터치 스크린 디스플레이 상의 대응하는 커서의 이동 또는 접촉의 이동 없이 포커스가 사용자 인터페이스의 하나의 영역으로부터 사용자 인터페이스의 다른 영역으로 이동되며; 이러한 구현예들에서, 포커스 선택자는 사용자 인터페이스의 상이한 영역들 사이에서의 포커스의 이동에 따라 움직인다. 포커스 선택자가 갖는 특정 형태와 무관하게, 포커스 선택자는 일반적으로 (예컨대, 사용자가 상호작용하고자 하는 사용자 인터페이스의 요소를 디바이스에 나타내는 것에 의해) 사용자 인터페이스와의 사용자의 의도된 상호작용을 전달하기 위해 사용자에 의해 제어되는 사용자 인터페이스 요소(또는 터치 스크린 디스플레이 상에서의 접촉)이다. 예를 들어, 터치 감응형 표면(예컨대, 터치패드 또는 터치 스크린) 상에서 누르기 입력이 검출되는 동안 각각의 버튼 위의 포커스 선택자(예컨대, 커서, 접촉 또는 선택 박스)의 위치는 (디바이스의 디스플레이 상에 보여지는 다른 사용자 인터페이스 요소들과 달리) 사용자가 각각의 버튼을 활성화시키려고 하고 있다는 것을 나타낼 것이다.As used herein, the term “focus selector” refers to an input element that indicates the current portion of the user interface with which the user is interacting. In some implementations that include a cursor or other location marker, a touch-sensitive surface (e.g., FIG. 3 When an input (e.g., a press input) is detected on the touchpad 355 in or the touch-sensitive surface 451 in FIG. It functions as In some implementations that include a touch screen display (e.g., touch-sensitive display system 112 in FIG. 1A or the touch screen in FIG. 4A) that enables direct interaction with user interface elements on the touch screen display, When an input (e.g., a tactile press input) is detected on the touch screen display at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element responds to the detected input. Contacts detected on the touch screen function as “focus selectors” to adjust accordingly. In some implementations, focus is moved to one of the user interfaces without movement of a corresponding cursor or touch on the touch screen display (e.g., by using the tab key or arrow keys to move focus from one button to another). moves from one area to another area of the user interface; In these implementations, the focus selector moves in response to movement of focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is generally used to communicate the user's intended interaction with the user interface (e.g., by indicating to the device the element of the user interface with which the user wishes to interact). A user interface element controlled by (or by contact on a touch screen display). For example, while a press input is detected on a touch-sensitive surface (e.g., a touchpad or touch screen), the position of the focus selector (e.g., a cursor, touch, or selection box) on each button (on the device's display) (unlike other visible user interface elements) will indicate that the user is attempting to activate the respective button.
명세서 및 청구범위에서 사용되는 바와 같이, 터치 감응형 표면 상에서의 접촉의 "세기"라는 용어는 터치 감응형 표면 상에서의 접촉(예컨대, 손가락 접촉 또는 스타일러스 접촉)의 힘 또는 압력(단위 면적 당 힘), 또는 터치 감응형 표면 상에서의 접촉의 힘 또는 압력에 대한 대체물(대용물)을 지칭한다. 접촉의 세기는, 적어도 4개의 구별되는 값들을 포함하고 더 전형적으로는 수백 개(예컨대, 적어도 256개)의 구별되는 값들을 포함하는 일정 범위의 값들을 갖는다. 접촉의 세기는 다양한 접근법들, 및 다양한 센서들 또는 센서들의 조합들을 이용하여 선택적으로 결정(또는 측정)된다. 예를 들어, 터치 감응형 표면 아래의 또는 그에 인접한 하나 이상의 힘 센서들은 터치 감응형 표면 상의 다양한 지점들에서 힘을 측정하는 데 선택적으로 사용된다. 일부 구현예들에서는, 다수의 힘 센서들로부터의 힘 측정치들이 접촉의 추정되는 힘을 결정하기 위해 조합(예컨대, 가중 평균 또는 합산)된다. 유사하게, 스타일러스의 압력 감응형 팁(tip)이 터치 감응형 표면 상의 스타일러스의 압력을 결정하는 데 선택적으로 사용된다. 대안으로, 터치 감응형 표면 상에서 검출된 접촉 면적의 크기 및/또는 그에 대한 변화들, 접촉 부근의 터치 감응형 표면의 정전용량 및/또는 그에 대한 변화들, 및/또는 접촉 부근의 터치 감응형 표면의 저항 및/또는 그에 대한 변화들은 터치 감응형 표면 상에서의 접촉의 힘 또는 압력에 대한 대체물로서 선택적으로 이용된다. 일부 구현예들에서, 접촉 힘 또는 압력에 대한 대체 측정치들은 세기 임계치가 초과되었는지의 여부를 결정하는 데 직접 이용된다(예컨대, 세기 임계치는 대체 측정치들에 대응하는 단위로 기술된다). 일부 구현예들에서, 접촉 힘 또는 압력에 대한 대체 측정치들은 추정된 힘 또는 압력으로 변환되고, 추정된 힘 또는 압력은 세기 임계치가 초과되었는지의 여부를 결정하기 위해 이용된다(예를 들어, 세기 임계치는 압력의 단위로 측정된 압력 임계치이다). 사용자 입력의 속성으로서 접촉의 세기를 사용하는 것은, 그렇지 않았으면 어포던스들을 (예를 들어, 터치 감응형 디스플레이 상에) 디스플레이하고/하거나 (예를 들어, 터치 감응형 디스플레이, 터치 감응형 표면, 또는 노브(knob) 또는 버튼과 같은 물리적/기계적 제어부를 통해) 사용자 입력을 수신하기 위하여 한정된 실면적을 갖는 감소된 크기의 디바이스 상에서 사용자에 의해 용이하게 액세스 가능하지 않을 수 있는 부가적인 디바이스 기능에의 사용자 액세스를 가능하게 한다.As used in the specification and claims, the term “strength” of contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of the contact (e.g., finger contact or stylus contact) on the touch-sensitive surface. , or a substitute for the force or pressure of contact on a touch-sensitive surface. The intensity of contact has a range of values, including at least four distinct values and more typically including hundreds (eg, at least 256) distinct values. The intensity of contact is selectively determined (or measured) using various approaches and various sensors or combinations of sensors. For example, one or more force sensors under or adjacent to the touch-sensitive surface are optionally used to measure force at various points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (eg, weighted average or summed) to determine the estimated force of the contact. Similarly, the pressure-sensitive tip of the stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and/or changes thereto, the capacitance of the touch-sensitive surface proximate to the contact and/or changes thereto, and/or the touch-sensitive surface proximate to the contact. The resistance of and/or changes thereto are optionally used as a substitute for the force or pressure of contact on the touch-sensitive surface. In some implementations, alternative measurements of contact force or pressure are used directly to determine whether an intensity threshold has been exceeded (eg, the intensity threshold is stated in units corresponding to the alternative measurements). In some implementations, alternative measurements of contact force or pressure are converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., an intensity threshold is the pressure threshold measured in units of pressure). Using intensity of contact as an attribute of user input allows for affordances that would otherwise not be displayed (e.g., on a touch-sensitive display) and/or (e.g., on a touch-sensitive display, a touch-sensitive surface, or User access to additional device features that may not be readily accessible by the user on a reduced size device with limited real estate for receiving user input (via physical/mechanical controls such as knobs or buttons) makes possible.
일부 실시예들에서, 접촉/모션 모듈(130)은 동작이 사용자에 의해 수행되었는지 여부를 결정하는 데 (예컨대, 사용자가 아이콘에 대해 "클릭"했는지 여부를 결정하는 데) 하나 이상의 세기 임계치들의 세트를 이용한다. 일부 실시예들에서, 적어도 세기 임계치들의 서브세트가 소프트웨어 파라미터들에 따라 결정된다(예컨대, 세기 임계치들은 특정 물리적 액추에이터들의 활성화 임계치들에 의해 결정되지 않으며, 디바이스(100)의 물리적 하드웨어를 변경함이 없이 조정될 수 있다). 예를 들어, 트랙패드 또는 터치 스크린 디스플레이의 마우스 "클릭" 임계치는 트랙패드 또는 터치 스크린 디스플레이 하드웨어를 변경함이 없이 넓은 범위의 미리정의된 임계 값들 중 임의의 것으로 설정될 수 있다. 추가로, 일부 구현예들에서, 디바이스의 사용자는 (예컨대, 개별 세기 임계치들을 조정함으로써 그리고/또는 복수의 세기 임계치들을 시스템 레벨 클릭 "세기" 파라미터로 한꺼번에 조정함으로써) 일정 세트의 세기 임계치들 중 하나 이상을 조정하기 위한 소프트웨어 설정들을 제공받는다.In some embodiments, contact/motion module 130 may use a set of one or more intensity thresholds to determine whether an action was performed by a user (e.g., to determine whether the user “clicked” on an icon). Use . In some embodiments, at least a subset of the intensity thresholds are determined according to software parameters (e.g., the intensity thresholds are not determined by the activation thresholds of specific physical actuators, and changing the physical hardware of device 100 can be adjusted without). For example, the mouse “click” threshold of a trackpad or touch screen display can be set to any of a wide range of predefined threshold values without changing the trackpad or touch screen display hardware. Additionally, in some implementations, a user of the device may select one of a set of intensity thresholds (e.g., by adjusting individual intensity thresholds and/or adjusting multiple intensity thresholds at once with a system-level click "intensity" parameter). Software settings are provided to adjust the abnormality.
명세서 및 청구범위에서 사용되는 바와 같이, 접촉의 "특성 세기"라는 용어는 접촉의 하나 이상의 세기들에 기초한 접촉의 특성을 지칭한다. 일부 실시예들에서, 특성 세기는 다수의 세기 샘플들에 기초한다. 특성 세기는, 선택적으로, 미리정의된 수의 세기 샘플들, 또는 (예컨대, 접촉을 검출한 이후에, 접촉의 리프트오프를 검출하기 이전에, 접촉의 이동의 시작을 검출하기 이전 또는 이후에, 접촉의 종료를 검출하기 이전에, 접촉의 세기의 증가를 검출하기 이전 또는 이후에, 그리고/또는 접촉의 세기의 감소를 검출하기 이전 또는 이후에) 미리정의된 이벤트에 대해 미리결정된 기간(예컨대, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10초) 동안 수집된 세기 샘플들의 세트에 기초한다. 접촉의 특성 세기는, 선택적으로, 접촉의 세기들의 최대 값, 접촉의 세기들의 중간 값(mean value), 접촉의 세기들의 평균값(average value), 접촉의 세기들의 상위 10 백분위 값(top 10 percentile value), 접촉의 세기들의 최대 값의 절반의 값, 접촉의 세기들의 최대 값의 90 퍼센트의 값, 미리정의된 시간에 시작하여 또는 미리정의된 기간에 걸쳐 접촉의 세기를 저역 통과 필터링함으로써 생성된 값 등 중 하나 이상에 기초한다. 일부 실시예들에서, 접촉의 지속기간은 (예컨대, 특성 세기가 시간의 경과에 따른 접촉의 세기의 평균일 때) 특성 세기를 결정하는 데 사용된다. 일부 실시예들에서, 동작이 사용자에 의해 수행되었는지 여부를 결정하기 위해, 특성 세기가 하나 이상의 세기 임계치들의 세트와 비교된다. 예를 들어, 하나 이상의 세기 임계치의 세트는 제1 세기 임계치 및 제2 세기 임계치를 포함할 수 있다. 이 예에서, 제1 세기 임계치를 초과하지 않는 특성 세기를 갖는 접촉의 결과, 제1 동작이 행해지고, 제1 세기 임계치를 초과하지만 제2 세기 임계치를 초과하지 않는 특성 세기를 갖는 접촉의 결과, 제2 동작이 행해지며, 제2 세기 임계치 초과의 특성 세기를 갖는 접촉의 결과, 제3 동작이 행해진다. 일부 실시예들에서, 특성 세기와 하나 이상의 세기 임계치 간의 비교는, 제1 동작을 수행할지 제2 동작을 수행할지 결정하기 위해 사용되기보다는, 하나 이상의 동작을 수행할지 여부(예컨대, 각각의 옵션을 수행할지 또는 각각의 동작을 수행하는 것을 보류할지 여부)를 결정하기 위해 사용된다.As used in the specification and claims, the term “characteristic intensity” of a contact refers to a characteristic of the contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity may optionally be generated over a predefined number of intensity samples, or (e.g., after detecting the contact, before detecting lift-off of the contact, before or after detecting the onset of movement of the contact, A predetermined period of time for a predefined event (e.g., prior to detecting the end of contact, before or after detecting an increase in the intensity of contact, and/or before or after detecting a decrease in intensity of contact) It is based on a set of intensity samples collected for 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds). The characteristic intensity of contact may optionally be the maximum value of the intensities of contact, the mean value of the intensities of contact, the average value of the intensities of contact, the top 10 percentile value of the intensities of contact. ), a value of half the maximum value of the intensities of contact, a value of 90 percent of the maximum value of the intensities of contact, a value generated by low-pass filtering the intensities of contact starting at a predefined time or over a predefined period of time. Based on one or more of the following: In some embodiments, the duration of contact is used to determine characteristic intensity (eg, when the characteristic intensity is an average of the intensity of contact over time). In some embodiments, the characteristic intensity is compared to a set of one or more intensity thresholds to determine whether an action was performed by a user. For example, the set of one or more intensity thresholds may include a first intensity threshold and a second intensity threshold. In this example, as a result of contact having a characteristic intensity that does not exceed a first intensity threshold, a first action is performed, and as a result of contact having a characteristic intensity that exceeds a first intensity threshold but does not exceed a second intensity threshold, a first movement is performed. Two movements are performed and, as a result of the contact having a characteristic intensity above the second intensity threshold, a third operation is performed. In some embodiments, the comparison between the characteristic intensity and one or more intensity thresholds is used to determine whether to perform one or more actions (e.g., to select each option), rather than to determine whether to perform the first action or the second action. It is used to decide whether to perform or to withhold from performing each action.
일부 실시예들에서, 특성 세기를 결정하기 위해 제스처의 일부분이 식별된다. 예를 들어, 터치 감응형 표면은 시작 위치로부터 전이하여 종료 위치(이 지점에서 접촉의 세기가 증가함)에 도달하는 연속적인 스와이프 접촉(예컨대, 드래그 제스처)을 수신할 수 있다. 이 예에서, 종료 위치에서의 접촉의 특성 세기는 스와이프 접촉 전체가 아니라 연속적인 스와이프 접촉의 일부분에만(예컨대, 종료 위치에서의 스와이프 접촉의 부분에만) 기초할 수 있다. 일부 실시예들에서, 접촉의 특성 세기를 결정하기 전에 스와이프 접촉의 세기들에 평활화 알고리즘이 적용될 수 있다. 예를 들어, 평활화 알고리즘은, 선택적으로, 비가중 이동 평균(unweighted sliding-average) 평활화 알고리즘, 삼각(triangular) 평활화 알고리즘, 메디안 필터(median filter) 평활화 알고리즘, 및/또는 지수(exponential) 평활화 알고리즘 중 하나 이상을 포함한다. 일부 상황들에서, 이 평활화 알고리즘들은 특성 세기를 결정하기 위해 스와이프 접촉의 세기들에서의 좁은 급등(spike)들 또는 급감(dip)들을 제거한다.In some embodiments, a portion of the gesture is identified to determine characteristic intensity. For example, a touch-sensitive surface may receive successive swipe contacts (e.g., drag gestures) that transition from a starting position to reach an ending position, at which point the intensity of the contact increases. In this example, the characteristic intensity of the contact at the end position may be based only on a portion of the continuous swipe contact (eg, only the portion of the swipe contact at the end position) rather than the entire swipe contact. In some embodiments, a smoothing algorithm may be applied to the intensities of the swipe contact before determining the characteristic intensity of the contact. For example, the smoothing algorithm may optionally be one of an unweighted sliding-average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and/or an exponential smoothing algorithm. Contains one or more In some situations, these smoothing algorithms remove narrow spikes or dips in the intensities of a swipe contact to determine the characteristic intensity.
본 명세서에 기술된 사용자 인터페이스 도면들은, 선택적으로, 하나 이상의 세기 임계치들(예컨대, 접촉 검출 세기 임계치(IT0), 가볍게 누르기 세기 임계치(ITL), 깊게 누르기 세기 임계치(ITD)(예컨대, 적어도 초기에 ITL보다 높음), 및/또는 하나 이상의 다른 세기 임계치들(예컨대, ITL보다 낮은 세기 임계치(ITH))에 대한 터치 감응형 표면 상에서의 접촉의 현재 세기를 보여주는 다양한 세기 다이어그램들을 포함한다. 이러한 세기 다이어그램은 전형적으로 디스플레이되는 사용자 인터페이스의 일부가 아니라, 도면들의 해석에 도움을 주기 위해 제공된다. 일부 실시예들에서, 가볍게 누르기 세기 임계치는, 디바이스가 물리적 마우스의 버튼 또는 트랙패드를 클릭하는 것과 전형적으로 연관된 동작들을 수행하게 될 세기에 대응한다. 일부 실시예들에서, 깊게 누르기 세기 임계치는, 디바이스가 물리적 마우스의 버튼 또는 트랙패드를 클릭하는 것과 전형적으로 연관된 동작들과는 상이한 동작들을 수행하게 될 세기에 대응한다. 일부 실시예들에서, 접촉이 가볍게 누르기 세기 임계치 미만의(예컨대, 그리고 공칭 접촉 검출 세기 임계치(IT0)(이 미만에서는 접촉이 더 이상 검출되지 않음) 초과의) 특성 세기로 검출될 때, 디바이스는 가볍게 누르기 세기 임계치 또는 깊게 누르기 세기 임계치와 연관된 동작을 수행함이 없이 터치 감응형 표면 상에서의 접촉의 이동에 따라 포커스 선택자를 이동시킬 것이다. 일반적으로, 달리 언급되지 않는 한, 이 세기 임계치들은 사용자 인터페이스 도면들의 상이한 세트들 사이에서 일관성이 있다.The user interface diagrams described herein optionally include one or more intensity thresholds (e.g., a contact detection intensity threshold (IT0 ), a light press intensity threshold (ITL ), a deep press intensity threshold (ITD ) (e.g., various intensity diagrams showing the current intensity of contact on the touch-sensitive surface for (at least initially higher than ITL ), and/or one or more different intensity thresholds (e.g., lower intensity threshold (ITH ) than ITL ) These intensity diagrams are typically not part of the displayed user interface, but in some embodiments, the tap intensity thresholds are provided to assist in the interpretation of the diagrams when the device is a button of a physical mouse or trackpad. In some embodiments, the deep press intensity threshold corresponds to an intensity that would cause the device to perform actions that are different from actions typically associated with clicking a button on a physical mouse or trackpad. In some embodiments, the contact is below the light pressing intensity threshold (e.g., and above the nominal contact detection intensity threshold IT0 ), below which the contact is no longer detected. When detected with a characteristic intensity, the device will generally move the focus selector in accordance with the movement of the contact on the touch-sensitive surface without performing an action associated with the light press intensity threshold or the deep press intensity threshold, unless otherwise noted. As long as these intensity thresholds are consistent between different sets of user interface diagrams.
일부 실시예들에서, 디바이스에 의해 검출된 입력들에 대한 디바이스의 응답은 입력 동안 접촉 세기에 기초한 기준들에 따라 달라진다. 예를 들어, 일부 "가볍게 누르기" 입력의 경우, 입력 동안 제1 세기 임계치를 초과하는 접촉의 세기는 제1 응답을 트리거한다. 일부 실시예들에서, 디바이스에 의해 검출된 입력들에 대한 디바이스의 응답은 입력 동안의 접촉 세기 및 시간 기반 기준들 둘 모두를 포함하는 기준들에 따라 달라진다. 예를 들어, 일부 "깊게 누르기" 입력의 경우, 가볍게 누르기에 대한 제1 세기 임계치보다 큰, 입력 동안 제2 세기 임계치를 초과하는 접촉의 세기는, 제1 세기 임계치를 충족하는 것과 제2 세기 임계치를 충족하는 것 사이에서 지연 시간이 경과한 경우에만, 제2 응답을 트리거한다. 이 지연 시간은 전형적으로 200 ms(밀리초) 미만의 지속기간(예컨대, 제2 세기 임계치의 크기에 따라 40, 100, 또는 120 ms이고, 이때 제2 세기 임계치가 증가함에 따라 지연 시간이 증가함)이다. 이 지연 시간은 깊게 누르기 입력의 우발적 인식의 방지를 돕는다. 다른 예로서, 일부 "깊게 누르기" 입력의 경우, 제1 세기 임계치가 충족되는 시간 이후에 발생하는 민감도 감소 기간이 있다. 민감도 감소 기간 동안, 제2 세기 임계치가 증가된다. 제2 세기 임계치의 이러한 일시적인 증가는 또한 우발적 깊게 누르기 입력의 방지를 돕는다. 다른 깊게 누르기 입력의 경우, 깊게 누르기 입력의 검출에 대한 응답은 시간 기반 기준들에 따라 달라지지 않는다.In some embodiments, the device's response to inputs detected by the device depends on criteria based on contact intensity during the input. For example, for some “light press” inputs, the intensity of the contact exceeding the first intensity threshold during the input triggers the first response. In some embodiments, the device's response to inputs detected by the device depends on criteria including both intensity of contact during the input and time-based criteria. For example, for some "deep press" inputs, the intensity of the contact that exceeds the second intensity threshold during the input, which is greater than the first intensity threshold for a light press, is equivalent to meeting the first intensity threshold and exceeding the second intensity threshold. Triggers the second response only when the delay time has elapsed between satisfying . This delay time is typically less than 200 ms (milliseconds) in duration (e.g., 40, 100, or 120 ms depending on the magnitude of the second intensity threshold, with the delay increasing as the second intensity threshold increases). )am. This delay time helps prevent accidental recognition of deep press input. As another example, for some “deep press” inputs, there is a period of reduced sensitivity that occurs after the time the first intensity threshold is met. During the period of reduced sensitivity, the second intensity threshold is increased. This temporary increase in second intensity threshold also helps prevent accidental deep press input. For other deep press inputs, the response to detection of the deep press input does not depend on time-based criteria.
일부 실시예들에서, 입력 세기 임계치들 및/또는 대응하는 출력들 중 하나 이상은 하나 이상의 요인, 예컨대 사용자 설정, 접촉 모션, 입력 타이밍, 애플리케이션 실행, 세기가 적용되는 속도, 동시 입력의 수, 사용자 이력, 환경적 요인(예를 들어, 주변 노이즈), 포커스 선택자 포지션 등에 기초하여 달라진다. 예시적인 요인들이 미국 특허 출원 번호 제14/399,606호 및 제14/624,296호에 기술되어 있으며, 이들은 본 명세서에 전체적으로 참조로서 포함된다.In some embodiments, one or more of the input intensity thresholds and/or corresponding outputs may be determined by one or more factors, such as user settings, contact motion, input timing, application execution, speed at which intensity is applied, number of simultaneous inputs, user It varies based on history, environmental factors (e.g., ambient noise), focus selector position, etc. Exemplary factors are described in U.S. Patent Application Nos. 14/399,606 and 14/624,296, which are hereby incorporated by reference in their entirety.
예를 들어, 도 4c는 시간 경과에 따른 터치 입력(476)의 세기에 부분적으로 기초하여 시간 경과에 따라 변경되는 동적 세기 임계치(480)를 예시한다. 동적 세기 임계치(480)는 2개의 컴포넌트들, 즉 터치 입력(476)이 초기에 검출된 때부터 미리정의된 지연 시간(p1) 이후에 시간 경과에 따라 감쇠하는 제1 컴포넌트(474), 및 시간 경과에 따라 터치 입력(476)의 세기를 따라가는 제2 컴포넌트(478)의 합산이다. 제1 컴포넌트(474)의 초기 높은 세기 임계치는 "깊게 누르기" 응답의 우발적 트리거링을 감소시키지만, 터치 입력(476)이 충분한 세기를 제공하는 경우 즉각적인 "깊게 누르기" 응답을 여전히 허용한다. 제2 컴포넌트(478)는 터치 입력의 점진적인 세기 변동에 의한 "깊게 누르기" 응답의 의도하지 않은 트리거링을 감소시킨다. 일부 실시예들에서, 터치 입력(476)이 (예를 들어, 도 4c의 지점(481)에서) 동적 세기 임계치(480)를 충족할 때, "깊게 누르기" 응답이 트리거된다.For example, Figure 4C illustrates a dynamic intensity threshold 480 that changes over time based in part on the intensity of the touch input 476 over time. The dynamic intensity threshold 480 has two components: a first component 474 that decays over time after a predefined delay time (p1) from when the touch input 476 is initially detected, and a time It is a summation of the second component 478 that follows the intensity of the touch input 476 over time. The initial high intensity threshold of first component 474 reduces accidental triggering of a “deep press” response, but still allows for an immediate “deep press” response if touch input 476 provides sufficient intensity. The second component 478 reduces unintentional triggering of a “deep press” response due to gradual intensity fluctuations of the touch input. In some embodiments, when the touch input 476 meets the dynamic intensity threshold 480 (e.g., at point 481 in FIG. 4C), a “deep press” response is triggered.
도 4d는 다른 동적 세기 임계치(486)(예컨대, 세기 임계치(ID))를 예시한다. 도 4d는 또한 다른 2개의 세기 임계치들, 즉, 제1 세기 임계치(IH) 및 제2 세기 임계치(IL)를 예시한다. 도 4d에서, 터치 입력(484)은 시간(p2) 이전에 제1 세기 임계치(IH) 및 제2 세기 임계치(IL)를 충족하지만, 지연 시간(p2)이 시간(482)을 경과할 때까지 응답이 제공되지 않는다. 또한 도 4d에서, 동적 세기 임계치(486)는 시간 경과에 따라 감쇠하는데, 감쇠는 시간(482)(제2 세기 임계치(IL)와 연관된 응답이 트리거된 때)으로부터 미리정의된 지연 시간(p1)이 경과한 후에 시간(488)에서 시작한다. 이러한 유형의 동적 세기 임계치는 더 낮은 세기 임계치, 예를 들어 제1 세기 임계치(IH) 또는 제2 세기 임계치(IL)와 연관된 응답을 트리거한 직후, 또는 그와 동시에 동적 세기 임계치(ID)와 연관된 응답의 우발적 트리거링을 감소시킨다.FIG. 4D illustrates another dynamic intensity threshold 486 (eg, intensity threshold ID ). FIG. 4D also illustrates two other intensity thresholds, namely the first intensity threshold (IH ) and the second intensity threshold (IL ). 4D , the touch input 484 meets the first intensity threshold (IH ) and the second intensity threshold (IL ) before time p2, but the delay time p2 does not exceed time 482. No response is provided until Also in FIG. 4D , the dynamic intensity threshold 486 decays over time, with the decay occurring at a predefined delay time (p1) from time 482 (when the response associated with the second intensity threshold IL is triggered). ) starts at time (488) after lapse. This type of dynamic intensity threshold is determined by a lower intensity threshold, for example immediately after triggering the response associated with the first intensity threshold (IH ) or the second intensity threshold (IL ), or simultaneously with the dynamic intensity threshold (ID ) reduces accidental triggering of responses associated with
도 4e는 또 다른 동적 세기 임계치(492)(예컨대, 세기 임계치(ID))를 예시한다. 도 4e에서, 세기 임계치(IL)와 연관된 응답은 터치 입력(490)이 초기에 검출된 때부터 지연 시간(p2)이 경과한 후에 트리거된다. 동시에, 동적 세기 임계치(492)는 터치 입력(490)이 초기에 검출된 때부터 미리정의된 지연 시간(p1)이 경과한 후에 감쇠한다. 따라서, 세기 임계치(IL)와 연관된 응답을 트리거한 후에 터치 입력(490)의 세기가 감소하고, 이어서 터치 입력(490)의 해제 없이 터치 입력(490)의 세기가 증가하면, 터치 입력(490)의 세기가 다른 세기 임계치, 예를 들어, 세기 임계치(IL) 미만인 때에도 (예컨대, 시간(494)에서) 세기 임계치(ID)와 연관된 응답을 트리거할 수 있다.FIG. 4E illustrates another dynamic intensity threshold 492 (eg, intensity threshold ID ). In FIG. 4E , the response associated with the intensity thresholdIL is triggered after a delay time p2 has elapsed from when the touch input 490 is initially detected. At the same time, the dynamic intensity threshold 492 decays after a predefined delay time p1 has elapsed from when the touch input 490 is initially detected. Accordingly, if the intensity of the touch input 490 decreases after triggering the response associated with the intensity thresholdIL and then increases in the intensity of the touch input 490 without releasing the touch input 490, the touch input 490 ) may trigger a response associated with intensity threshold ID (e.g., at time 494 ) even when the intensity of ) is below another intensity threshold, e.g., intensity threshold IL .
가볍게 누르기 세기 임계치(ITL) 미만의 세기로부터 가볍게 누르기 세기 임계치(ITL)와 깊게 누르기 세기 임계치(ITD) 사이의 세기로의 접촉의 특성 세기의 증가는, 때때로 "가볍게 누르기" 입력으로서 지칭된다. 깊게 누르기 세기 임계치(ITD) 미만의 세기로부터 깊게 누르기 세기 임계치(ITD) 초과의 세기로의 접촉의 특성 세기의 증가는 때때로 "깊게 누르기" 입력으로서 지칭된다. 접촉-검출 세기 임계치(IT0) 미만의 세기로부터 접촉-검출 세기 임계치(IT0)와 가볍게 누르기 세기 임계치(ITL) 사이의 세기로의 접촉의 특성 세기의 증가는, 때때로 터치 표면 상에서의 접촉을 검출하는 것으로서 지칭된다. 접촉 검출 세기 임계치(IT0) 초과의 세기로부터 접촉 검출 세기 임계치(IT0) 미만의 세기로의 접촉의 특성 세기의 감소는 때때로 터치 표면으로부터의 접촉의 리프트오프를 검출하는 것으로서 지칭된다. 일부 실시예들에서 IT0는 0(영)이다. 일부 실시예들에서 IT0는 0보다 크다. 일부 실시예들에서, 음영이 있는 원 또는 타원은 터치 감응형 표면 상에서의 접촉의 세기를 나타내기 위해 사용된다. 일부 실시예들에서, 음영이 없는 원 또는 타원은 개개의 접촉의 세기를 특정하지 않으면서 터치 감응형 표면 상의 개개의 접촉을 표현하기 위해 사용된다.The characteristic increase in intensity of contact from an intensity below the light press intensity threshold (ITL ) to an intensity between the light press intensity threshold (ITL ) and the deep press intensity threshold (ITD ) is sometimes referred to as a “light press” input. do. An increase in the characteristic intensity of a contact from an intensity below the deep press intensity threshold (ITD ) to an intensity above the deep press intensity threshold (ITD ) is sometimes referred to as a “deep press” input. An increase in the characteristic intensity of a contact from an intensity below the contact-detection intensity threshold (IT0 ) to an intensity between the touch-detection intensity threshold (IT0 ) and the light pressing intensity threshold (ITL ) is sometimes associated with contact on the touch surface. It is referred to as detecting . A decrease in the characteristic intensity of a contact from an intensity above the contact detection intensity threshold (IT0 ) to an intensity below the contact detection intensity threshold (IT0 ) is sometimes referred to as detecting lift-off of the contact from the touch surface. In some embodiments IT0 is 0 (zero). In some embodiments IT0 is greater than 0. In some embodiments, a shaded circle or oval is used to indicate the intensity of contact on the touch-sensitive surface. In some embodiments, an unshaded circle or oval is used to represent individual contacts on a touch-sensitive surface without specifying the intensity of the individual contacts.
본 명세서에 기술된 일부 실시예들에서, 하나 이상의 동작들은, 각각의 누르기 입력을 포함하는 제스처를 검출하는 것에 응답하여 또는 각각의 접촉(또는 복수의 접촉들)으로 수행되는 각각의 누르기 입력을 검출하는 것에 응답하여 수행되며, 여기서 각각의 누르기 입력은 누르기 입력 세기 임계치 초과의 접촉(또는 복수의 접촉들)의 세기의 증가를 검출하는 것에 적어도 부분적으로 기초하여 검출된다. 일부 실시예들에서, 개개의 동작은, 누르기 입력 세기 임계치 초과의 개개의 접촉의 세기의 증가를 검출하는 것에 응답하여 수행된다(예컨대, 개개의 동작은 개개의 누르기 입력의 "다운 스트로크(down stroke)"에서 수행됨). 일부 실시예들에서, 누르기 입력은 누르기 입력 세기 임계치 초과의 각각의 접촉의 세기의 증가 및 누르기 입력 세기 임계치 미만의 접촉의 세기의 후속하는 감소를 포함하며, 각각의 동작은 누르기 입력 임계치 미만의 각각의 접촉의 세기의 후속하는 감소를 검출하는 것에 응답하여 수행된다(예컨대, 각각의 동작은 각각의 누르기 입력의 "업 스트로크(up stroke)"에서 수행된다).In some embodiments described herein, one or more actions may be performed in response to detecting a gesture comprising the respective press input or to detect each press input performed with each contact (or multiple contacts). is performed in response to: wherein each press input is detected based at least in part on detecting an increase in the intensity of the contact (or plurality of contacts) above a press input intensity threshold. In some embodiments, the individual action is performed in response to detecting an increase in the intensity of the individual contact above a pressing input intensity threshold (e.g., the individual action is performed in response to a “down stroke” of the individual pressing input). )"). In some embodiments, the press input includes an increase in the intensity of each contact above the press input intensity threshold and a subsequent decrease in the intensity of the contact below the press input intensity threshold, each action being performed with each contact below the press input intensity threshold. is performed in response to detecting a subsequent decrease in the intensity of the contact (e.g., each action is performed on the “up stroke” of each press input).
일부 실시예들에서, 디바이스는 때때로 "지터(jitter)"로 지칭되는 우발적인 입력들을 회피하기 위해 세기 히스테리시스를 채용하며, 여기서 디바이스는 누르기 입력 세기 임계치에 대한 미리정의된 관계를 갖는 히스테리시스 세기 임계치(예컨대, 히스테리시스 세기 임계치는 누르기 입력 세기 임계치보다 더 낮은 X 세기 단위이거나, 히스테리시스 세기 임계치는 누르기 입력 세기 임계치의 75%, 90% 또는 어떤 적절한 비율임)를 정의하거나 선택한다. 이와 같이, 일부 실시예들에서, 누르기 입력은 누르기 입력 세기 임계치 초과의 각각의 접촉의 세기의 증가 및 누르기 입력 세기 임계치에 대응하는 히스테리시스 세기 임계치 미만의 접촉의 세기의 후속하는 감소를 포함하며, 각각의 동작은 히스테리시스 세기 임계치 미만의 각각의 접촉의 세기의 후속하는 감소를 검출하는 것에 응답하여 수행된다(각각의 동작은 각각의 누르기 입력의 "업 스트로크"에서 수행된다). 유사하게, 일부 실시예들에서, 누르기 입력은 디바이스가 히스테리시스 세기 임계치 이하에서의 세기로부터 누르기 입력 세기 임계치 이상에서의 세기로의 접촉의 세기의 증가, 및 선택적으로, 히스테리시스 세기 이하에서의 세기로의 접촉의 세기의 후속적인 감소를 검출하는 경우에만 검출되고, 각각의 동작은 누르기 입력(예컨대, 주변환경에 따른 접촉의 세기의 증가 또는 접촉의 세기의 감소)을 검출하는 것에 응답하여 수행된다.In some embodiments, the device employs intensity hysteresis to avoid accidental inputs, sometimes referred to as “jitter,” where the device sets a hysteresis intensity threshold ( For example, define or select the hysteresis intensity threshold to be As such, in some embodiments, the pressing input includes an increase in intensity of each contact above a pressing input intensity threshold and a subsequent decrease in intensity of the contact below a hysteresis intensity threshold corresponding to the pressing input intensity threshold, respectively. The operation of is performed in response to detecting a subsequent decrease in the intensity of each contact below the hysteresis intensity threshold (each operation is performed on the “upstroke” of the respective pressing input). Similarly, in some embodiments, the press input causes the device to increase the intensity of the contact from an intensity below the hysteresis intensity threshold to an intensity above the press input intensity threshold, and, optionally, to an intensity below the hysteresis intensity threshold. Detected only when detecting a subsequent decrease in the intensity of the contact, each action is performed in response to detecting a pressing input (eg, an increase in the intensity of the contact or a decrease in the intensity of the contact depending on the surroundings).
설명의 편의상, 누르기 입력 세기 임계치와 연관된 누르기 입력에 응답하여 또는 누르기 입력을 포함하는 제스처에 응답하여 수행되는 동작들의 설명은, 선택적으로, 누르기 입력 세기 임계치 초과의 접촉의 세기의 증가, 히스테리시스 세기 임계치 미만의 세기로부터 누르기 입력 세기 임계치 초과의 세기로의 접촉의 세기의 증가, 누르기 입력 세기 임계치 미만의 접촉의 세기의 감소, 또는 누르기 입력 세기 임계치에 대응하는 히스테리시스 세기 임계치 미만의 접촉의 세기의 감소를 검출하는 것에 응답하여 트리거된다. 또한, 동작이 누르기 입력 세기 임계치 미만의 접촉의 세기의 감소를 검출하는 것에 응답하여 수행되는 것으로서 기술되어 있는 예들에서, 동작은, 선택적으로, 누르기 입력 세기 임계치에 대응하고 그보다 더 낮은 히스테리시스 세기 임계치 미만의 접촉의 세기의 감소를 검출하는 것에 응답하여 수행된다. 전술된 바와 같이, 일부 실시예들에서, 이러한 응답들의 트리거링은 또한 시간 기반 기준들이 충족됨(예컨대, 제1 세기 임계치가 충족되는 것과 제2 세기 임계치가 충족되는 것 사이에 지연 시간이 경과됨)에 따라 달라진다.For ease of explanation, descriptions of actions performed in response to a press input associated with a press input intensity threshold or in response to a gesture that includes a press input include, optionally, an increase in the intensity of the contact above the press input intensity threshold, a hysteresis intensity threshold; increasing the intensity of the contact from an intensity below to an intensity above the pressing input intensity threshold, decreasing the intensity of the contact below the pressing input intensity threshold, or decreasing the intensity of the contact below the hysteresis intensity threshold corresponding to the pressing input intensity threshold. Triggered in response to detection. Additionally, in examples where the operation is described as being performed in response to detecting a decrease in the intensity of the contact below a pressing input intensity threshold, the operation may optionally be performed in response to a pressing input intensity threshold and below a lower hysteresis intensity threshold. It is performed in response to detecting a decrease in the intensity of contact. As described above, in some embodiments, triggering of these responses also requires that time-based criteria are met (e.g., a delay elapses between the first intensity threshold being met and the second intensity threshold being met). It depends.
명세서 및 청구범위에 사용되는 바와 같이, "촉각적 출력"이라는 용어는 디바이스의 이전 위치에 대한 디바이스의 물리적 변위, 디바이스의 다른 컴포넌트(예컨대, 하우징)에 대한 디바이스의 컴포넌트(예컨대, 터치 감응형 표면)의 물리적 변위, 또는 사용자의 촉각을 이용하여 사용자에 의해 검출될 디바이스의 질량 중심에 대한 컴포넌트의 변위를 지칭한다. 예컨대, 디바이스 또는 디바이스의 컴포넌트가 터치에 민감한 사용자의 표면(예컨대, 사용자의 손의 손가락, 손바닥, 또는 다른 부위)과 접촉하는 상황에서, 물리적 변위에 의해 생성된 촉각적 출력은 사용자에 의해 디바이스 또는 디바이스의 컴포넌트의 물리적 특성들의 인지된 변화에 대응하는 촉감(tactile sensation)으로서 해석될 것이다. 예컨대, 터치 감응형 표면(예컨대, 터치 감응형 디스플레이 또는 트랙패드)의 이동은, 선택적으로, 사용자에 의해 물리적 액추에이터 버튼의 "다운 클릭" 또는 "업 클릭"으로서 해석된다. 일부 경우에, 사용자는 사용자의 이동에 의해 물리적으로 눌리는(예컨대, 변위되는) 터치 감응형 표면과 연관된 물리적 액추에이터 버튼의 이동이 없는 경우에도 "다운 클릭" 또는 "업 클릭"과 같은 촉감을 느낄 것이다. 다른 예로서, 터치 감응형 표면의 이동은, 터치 감응형 표면의 평탄성의 변화가 없는 경우에도, 선택적으로, 사용자에 의해 터치 감응형 표면의 "거칠기(roughness)"로서 해석 또는 감지된다. 사용자에 의한 터치의 이러한 해석들이 사용자의 개별화된 감각 인지(sensory perception)에 영향을 받기 쉬울 것이지만, 대다수의 사용자들에게 보편적인 많은 터치 감각 인지가 있다. 따라서, 촉각적 출력이 사용자의 특정 감각 인지(예컨대, "업 클릭", "다운 클릭", "거칠기")에 대응하는 것으로서 기술될 때, 달리 언급되지 않는다면, 생성된 촉각적 출력은 전형적인(또는 평균적인) 사용자에 대한 기술된 감각 인지를 생성할 디바이스 또는 그의 컴포넌트의 물리적 변위에 대응한다. 촉각적 출력들을 사용하여 사용자에게 햅틱 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.As used in the specification and claims, the term “tactile output” refers to the physical displacement of a device relative to its previous position, the physical displacement of a component of a device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing). ) refers to the physical displacement of the component, or the displacement of the component with respect to the center of mass of the device to be detected by the user using the user's sense of touch. For example, in a situation where a device or a component of a device is in contact with a touch-sensitive surface of a user (e.g., fingers, palm, or other part of the user's hand), the tactile output generated by the physical displacement may be transmitted by the user to the device or It will be interpreted as a tactile sensation that corresponds to a perceived change in the physical properties of the device's components. For example, movement of a touch-sensitive surface (eg, a touch-sensitive display or trackpad) is optionally interpreted by the user as a “down click” or “up click” of a physical actuator button. In some cases, a user will feel a tactile sensation, such as a “down click” or “up click,” even without movement of a physical actuator button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's movement. . As another example, movement of the touch-sensitive surface is optionally interpreted or perceived by the user as “roughness” of the touch-sensitive surface, even if there is no change in the flatness of the touch-sensitive surface. Although these interpretations of touch by a user will likely be influenced by the user's individualized sensory perception, there are many sensory perceptions of touch that are universal to the majority of users. Therefore, when a tactile output is described as corresponding to a user's specific sensory perception (e.g., “up click”, “down click”, “roughness”), unless otherwise stated, the tactile output produced is typical (or corresponds to a physical displacement of the device or its components that would produce the described sensory perception for an average) user. Providing haptic feedback to the user using tactile outputs improves the operability of the device (e.g., by helping the user provide appropriate inputs and reducing user errors when operating/interacting with the device). It makes the user-device interface more efficient, which additionally reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 촉각적 출력 패턴은 촉각적 출력의 특성들, 예컨대 촉각적 출력의 진폭, 촉각적 출력의 이동 파형의 형상, 촉각적 출력의 주파수, 및/또는 촉각적 출력의 지속기간을 특정한다.In some embodiments, the tactile output pattern includes characteristics of the tactile output, such as the amplitude of the tactile output, the shape of the moving waveform of the tactile output, the frequency of the tactile output, and/or the duration of the tactile output. Be specific.
상이한 촉각적 출력 패턴들을 갖는 촉각적 출력들이 (예컨대, 이동가능 질량체를 이동시켜 촉각적 출력들을 생성하는 하나 이상의 촉각적 출력 생성기들을 통해) 디바이스에 의해 생성될 때, 촉각적 출력들은, 사용자가 디바이스를 들고 있거나 터치할 시에 상이한 햅틱 감각들을 불러일으킬 수 있다. 사용자의 감각은 촉각적 출력의 사용자 인지에 기초하지만, 대부분의 사용자들은 디바이스에 의해 생성된 촉각적 출력들의 파형, 주파수, 및 진폭의 변화들을 식별할 수 있을 것이다. 따라서, 파형, 주파수 및 진폭은 상이한 동작들이 수행되었음을 사용자에게 나타내기 위해 조정될 수 있다. 이와 같이, 주어진 환경(예컨대, 그래픽 특징부들 및 객체들을 포함하는 사용자 인터페이스, 가상 경계들 및 가상 객체들을 갖는 시뮬레이션된 물리적 환경, 물리적 경계들 및 물리적 객체들을 갖는 실제 물리적 환경, 및/또는 상기 중 임의의 것의 조합)에서 객체들의 특성들(예컨대, 크기, 재료, 중량, 강성도, 평활도 등); 거동들(예컨대, 발진, 변위, 가속도, 회전, 확장 등); 및/또는 상호작용들(예컨대, 충돌, 접착, 반발, 유인, 마찰 등)을 시뮬레이션하기 위해 설계되고/되거나, 선택되고/되거나 엔지니어링되는 촉각적 출력 패턴들을 갖는 촉각적 출력들은, 일부 상황들에서, 입력 에러들을 감소시키고 디바이스의 사용자 동작의 효율을 증가시키는 유용한 피드백을 사용자들에게 제공할 것이다. 추가로, 촉각적 출력들은, 선택적으로, 시뮬레이션된 물리적 특성, 예컨대 입력 임계치 또는 객체의 선택과 관련되지 않는 피드백에 대응하도록 생성된다. 그러한 촉각적 출력들은, 일부 상황들에서, 입력 에러들을 감소시키고 디바이스의 사용자 동작의 효율을 증가시키는 유용한 피드백을 사용자들에게 제공할 것이다.When tactile outputs with different tactile output patterns are generated by a device (e.g., through one or more tactile output generators that move a movable mass to generate tactile outputs), the tactile outputs are generated when the user interacts with the device. Different haptic sensations can be evoked when held or touched. Although the user's senses are based on the user's perception of the tactile output, most users will be able to discern changes in waveform, frequency, and amplitude of the tactile outputs generated by the device. Accordingly, the waveform, frequency and amplitude can be adjusted to indicate to the user that different operations have been performed. As such, a given environment (e.g., a user interface including graphical features and objects, a simulated physical environment with virtual boundaries and virtual objects, a real physical environment with physical boundaries and physical objects, and/or any of the above) properties of objects (e.g., size, material, weight, stiffness, smoothness, etc.); behaviors (eg, oscillation, displacement, acceleration, rotation, expansion, etc.); and/or tactile outputs with tactile output patterns designed, selected, and/or engineered to simulate interactions (e.g., collision, adhesion, repulsion, attraction, friction, etc.), in some situations. , it will provide users with useful feedback that reduces input errors and increases the efficiency of user operation of the device. Additionally, tactile outputs are optionally generated to correspond to feedback that is not related to a simulated physical characteristic, such as an input threshold or selection of an object. Such tactile outputs, in some situations, will provide useful feedback to users that reduces input errors and increases the efficiency of user operation of the device.
일부 실시예들에서, 적합한 촉각적 출력 패턴을 갖는 촉각적 출력은 사용자 인터페이스에서 또는 디바이스 내의 장면 뒤에서 관심 이벤트의 발생에 대한 큐(cue)로서의 역할을 한다. 관심 이벤트들의 예들은, 디바이스 상에 또는 사용자 인터페이스에 제공된 어포던스(예컨대, 실제 또는 가상 버튼, 또는 토글(toggle) 스위치)의 활성화, 요청된 동작의 성공 또는 실패, 사용자 인터페이스에서의 경계에 도달하거나 그를 횡단하는 것, 새로운 상태로의 진입, 객체들 사이의 입력 포커스의 스위칭, 새로운 모드의 활성화, 입력 임계치에 도달하거나 그를 횡단하는 것, 입력 또는 제스처의 유형의 검출 또는 인식 등을 포함한다. 일부 실시예들에서, 촉각적 출력들은, 방향전환(redirection) 또는 중단(interruption) 입력이 적시에 검출되지 않으면 발생하게 될 임박한 이벤트 또는 결과에 대한 경고 또는 경보로서의 역할을 하기 위해 제공된다. 촉각적 출력들은 또한, 다른 맥락에서, 사용자 경험을 풍부하게 하고/하거나, 시각 장애 또는 운동 신경 장애가 있거나 다른 액세스가능성 필요들이 있는 사용자들에 대한 디바이스의 액세스가능성을 개선하고/하거나, 사용자 인터페이스 및/또는 디바이스의 효율 및 기능을 개선하는 데 사용된다. 촉각적 출력들은 선택적으로, 오디오 출력들 및/또는 가시적인 사용자 인터페이스 변화들을 수반하는데, 이는, 추가로, 사용자가 사용자 인터페이스 및/또는 디바이스와 상호작용할 때 사용자의 경험을 향상시키고, 사용자 인터페이스 및/또는 디바이스의 상태에 관한 정보의 더 양호한 전달을 용이하게 하고, 입력 에러들을 감소시키고 디바이스의 사용자 동작의 효율을 증가시킨다.In some embodiments, tactile output with a suitable tactile output pattern serves as a cue for the occurrence of an event of interest in a user interface or behind the scenes within the device. Examples of events of interest include activation of an affordance provided on the device or in a user interface (e.g., a real or virtual button, or toggle switch), success or failure of a requested action, reaching or reaching a boundary in the user interface, etc. These include traversing, entering a new state, switching input focus between objects, activating a new mode, reaching or crossing an input threshold, detecting or recognizing a type of input or gesture, etc. In some embodiments, tactile outputs are provided to serve as a warning or alert of an impending event or outcome that will occur if a redirection or interruption input is not detected in a timely manner. Tactile outputs may also, in other contexts, enrich the user experience and/or improve the accessibility of a device for users with visual or motor impairments or other accessibility needs, and/or enhance the user interface and/or Or it is used to improve the efficiency and functionality of the device. Tactile outputs are optionally accompanied by audio outputs and/or visible user interface changes, which further enhance the user's experience when the user interacts with the user interface and/or device, and or facilitate better transfer of information about the state of the device, reduce input errors and increase the efficiency of user operation of the device.
도 4f 내지 도 4h는, 본 명세서에 논의되는 사용자 인터페이스들 및 방법들과 관련하여 기술되는 것들 및 앞서 언급된 것들과 같이, 다양한 목적들을 위해 그리고 다양한 시나리오들로 적합한 햅틱 피드백을 생성하기 위해 하나 이상의 변환들(예컨대, 변조, 증폭, 절단 등)을 통해 또는 있는 그대로, 개별적으로 또는 조합하여 사용될 수 있는 샘플 촉각적 출력 패턴들의 세트를 제공한다. 촉각적 출력들의 팔레트의 이러한 예는, 3개의 파형들 및 8개의 주파수들의 세트가 촉각적 출력 패턴들의 어레이를 생성하기 위해 어떻게 사용될 수 있는지를 나타낸다. 이들 도면에 도시된 촉각적 출력 패턴들에 더하여, 이러한 촉각적 출력 패턴들 각각은 선택적으로, 예를 들어, 각각 1.0, 0.75, 0.5, 및 0.25의 이득을 갖는 변형예들로 나타나 있는, 도 4i 내지 도 4k에서의 풀탭(FullTap) 80 ㎐, 풀탭 200 ㎐, 미니탭(MiniTap) 80 ㎐, 미니탭 200 ㎐, 마이크로탭(MicroTap) 80 ㎐, 및 마이크로탭 200 ㎐에 대해 도시된 바와 같이, 촉각적 출력 패턴에 대한 이득 값을 변경함으로써 진폭이 조정된다. 도 4i 내지 도 4k에 도시된 바와 같이, 촉각적 출력 패턴의 이득을 변경하는 것은, 패턴의 주파수를 변경하거나 파형의 형상을 변경하지 않고서 패턴의 진폭을 변경한다. 일부 실시예들에서, 촉각적 출력 패턴의 주파수를 변경하는 것은 또한 더 낮은 진폭을 야기하는데, 이는 일부 촉각적 출력 생성기들이 얼마나 많은 힘이 이동가능 질량체에 적용될 수 있는지에 의해 제한되고, 이에 따라 파형을 생성하기 위해 필요한 가속도가 촉각적 출력 생성기의 동작 힘 범위 밖의 힘을 요구하지 않는 것을 보장하기 위해 질량체의 더 높은 주파수 이동들이 더 낮은 진폭들로 제약되기 때문이다(예컨대, 230 ㎐, 270 ㎐, 및 300 ㎐에서의 풀탭의 피크 진폭들은 80 ㎐, 100 ㎐, 125 ㎐, 및 200 ㎐에서의 풀탭의 진폭들보다 더 낮다).4F-4H illustrate one or more devices for generating haptic feedback suitable for various purposes and in various scenarios, such as those described above and those described in connection with the user interfaces and methods discussed herein. Provides a set of sample tactile output patterns that can be used as is, individually or in combination, or through transformations (e.g., modulation, amplification, truncation, etc.). This example of a palette of tactile outputs shows how a set of three waveforms and eight frequencies can be used to create an array of tactile output patterns. In addition to the tactile output patterns shown in these figures, each of these tactile output patterns is optionally shown in variations, for example, with gains of 1.0, 0.75, 0.5, and 0.25, respectively, in Figure 4I. Tactile output, as shown for FullTap 80 Hz, PullTap 200 Hz, MiniTap 80 Hz, MiniTap 200 Hz, MicroTap 80 Hz, and MicroTap 200 Hz in Figures 4K. The amplitude is adjusted by changing the gain value for the pattern. As shown in FIGS. 4I-4K, changing the gain of a tactile output pattern changes the amplitude of the pattern without changing the frequency of the pattern or changing the shape of the waveform. In some embodiments, changing the frequency of the tactile output pattern also results in a lower amplitude, as some tactile output generators are limited by how much force can be applied to the movable mass, and thus the waveform This is because the higher frequency movements of the mass are constrained to lower amplitudes (e.g., 230 Hz, 270 Hz, and the peak amplitudes of the pull tab at 300 Hz are lower than the amplitudes of the pull tab at 80 Hz, 100 Hz, 125 Hz, and 200 Hz).
도 4f 내지 도 4k는 특정 파형을 갖는 촉각적 출력 패턴들을 도시한다. 촉각적 출력 패턴의 파형은, 이동가능 질량체가 그 촉각적 출력 패턴을 갖는 촉각적 출력을 생성하기 위해 거치는 시간 대비 중립 위치(예컨대, xzero)에 대한 물리적 변위들의 패턴을 나타낸다. 예를 들어, 도 4f에 도시된 제1 세트의 촉각적 출력 패턴들(예컨대, "풀탭"의 촉각적 출력 패턴들)은 각각 2개의 완전한 사이클들을 갖는 발진(예컨대, 중립 위치에서 시작하고 끝나며 중립 위치를 3번 횡단하는 발진)을 포함하는 파형을 갖는다. 도 4g에 도시된 제2 세트의 촉각적 출력 패턴들(예컨대, "미니탭"의 촉각적 출력 패턴들)은 각각 하나의 완전한 사이클을 포함하는 발진(예컨대, 중립 위치에서 시작하고 끝나며 중립 위치를 1번 횡단하는 발진)을 포함하는 파형을 갖는다. 도 4h에 도시된 제3 세트의 촉각적 출력 패턴들(예컨대, "마이크로탭"의 촉각적 출력 패턴들)은 각각 완전한 사이클의 1/2을 포함하는 발진(예컨대, 중립 위치에서 시작하고 끝나며 중립 위치를 횡단하지 않는 발진)을 포함하는 파형을 갖는다. 촉각적 출력 패턴의 파형은 또한, 촉각적 출력의 시작 및 종료 시에 이동가능 질량체의 점진적인 가속 및 감속을 나타내는 시작 버퍼 및 종료 버퍼를 포함한다. 도 4f 내지 도 4k에 도시된 예시적인 파형들은, 이동가능 질량체의 이동의 최대 및 최소 한계를 나타내는 xmin 및 xmax 값들을 포함한다. 더 큰 이동가능 질량체들을 갖는 더 큰 전자 디바이스들의 경우, 질량체의 이동의 더 큰 또는 더 작은 최소 및 최대 한계들이 있을 수 있다. 도 4f 내지 도 4k에 도시된 예들은 1 차원에서의 질량체의 이동을 기술하지만, 유사한 원리들이 2 또는 3 차원들에서의 이동가능 질량체의 이동에도 또한 적용될 것이다.4F to 4K show tactile output patterns with specific waveforms. The waveform of the tactile output pattern represents the pattern of physical displacements relative to a neutral position (e.g., xzero) versus time that the movable mass undergoes to generate the tactile output with that tactile output pattern. For example, the first set of tactile output patterns shown in FIG. 4F (e.g., the tactile output patterns of a “pull tab”) each oscillates with two complete cycles (e.g., starts and ends in a neutral position and moves from neutral to neutral). It has a waveform that includes an oscillation that traverses the position three times. The second set of tactile output patterns shown in FIG. 4G (e.g., the tactile output patterns of the “Minitab”) each oscillates comprising one complete cycle (e.g., starts and ends in a neutral position and moves the neutral position to 1 It has a waveform that includes oscillations that traverse multiple times. The third set of tactile output patterns shown in FIG. 4H (e.g., the tactile output patterns of a “microtap”) each have oscillations comprising one-half of a complete cycle (e.g., starting and ending in a neutral position and has a waveform that contains oscillations that do not traverse location. The waveform of the tactile output pattern also includes a start buffer and an end buffer that represent gradual acceleration and deceleration of the movable mass at the beginning and end of the tactile output. The example waveforms shown in FIGS. 4F-4K include xmin and xmax values that represent the maximum and minimum limits of movement of the movable mass. For larger electronic devices with larger movable masses, there may be larger or smaller minimum and maximum limits of movement of the masses. Although the examples shown in FIGS. 4F-4K describe the movement of a mass in one dimension, similar principles would also apply to the movement of a movable mass in two or three dimensions.
도 4f 내지 도 4k에 도시된 바와 같이, 각각의 촉각적 출력 패턴은 또한 햅틱 감각의 "피치"에 영향을 미치는 대응하는 특성 주파수를 갖는데, 이 햅틱 감각은 그 특성 주파수를 갖는 촉각적 출력으로부터 사용자에 의해 느껴진다. 연속적인 촉각적 출력의 경우, 특성 주파수는 촉각적 출력 생성기의 이동가능 질량체에 의해 주어진 기간 내에 완료되는 사이클들의 수(예컨대, 초당 사이클들)를 나타낸다. 개별 촉각적 출력의 경우, 개별 출력 신호(예컨대, 0.5, 1, 또는 2회의 사이클들을 가짐)가 생성되고, 특성 주파수 값은, 이동가능 질량체가 그 특성 주파수를 갖는 촉각적 출력을 생성하기 위해 얼마나 빨리 이동할 필요가 있는지를 특정한다. 도 4f 내지 도 4h에 도시된 바와 같이, 각각의 유형의 촉각적 출력에 대해(예컨대, 풀탭, 미니탭, 또는 마이크로탭과 같은, 각각의 파형에 의해 정의되는 바와 같음), 더 높은 주파수 값은 이동가능 질량체에 의한 더 빠른 이동(들), 및 그에 따라, 일반적으로, 촉각적 출력을 완료하기 위한 더 짧은 시간(예컨대, 개별 촉각적 출력에 대한 필요한 수의 사이클(들)을 완료하기 위한 시간 + 시작 및 종료 버퍼 시간을 포함함)에 대응한다. 예를 들어, 80 ㎐의 특성 주파수를 갖는 풀탭은 100 ㎐의 특성 주파수를 갖는 풀탭보다 완료하는 데 더 오래 걸린다(예컨대, 도 4f에서 35.4ms 대비 28.3ms). 또한, 주어진 주파수들에 대해, 각각의 주파수에서 그의 파형의 더 많은 사이클들을 갖는 촉각적 출력은, 동일한 각각의 주파수에서 그의 파형의 더 적은 사이클들을 갖는 촉각적 출력보다 완료하는 데 더 오래 걸린다. 예를 들어, 150 ㎐에서의 풀탭은 150 ㎐에서의 미니탭보다 완료하는 데 더 오래 걸리고(예컨대, 19.4ms 대비 12.8ms), 150 ㎐에서의 미니탭은 150 ㎐에서의 마이크로탭보다 완료하는 데 더 오래 걸린다(예컨대, 12.8ms 대비 9.4ms). 그러나, 상이한 주파수들을 갖는 촉각적 출력 패턴들의 경우, 이러한 규칙이 적용되지 않을 수 있다(예컨대, 더 많은 사이클들을 갖지만 더 높은 주파수를 갖는 촉각적 출력들은 더 적은 사이클들을 갖지만 더 낮은 주파수를 갖는 촉각적 출력들보다 완료하는 데 더 짧은 시간이 걸릴 수 있고, 그 반대로도 가능하다). 예를 들어, 300 ㎐에서, 풀탭은 미니탭만큼 오래 걸린다(예컨대, 9.9 ms).As shown in FIGS. 4F-4K, each tactile output pattern also has a corresponding characteristic frequency that affects the “pitch” of the haptic sensation, which the user receives from the tactile output with that characteristic frequency. felt by For continuous tactile output, the characteristic frequency represents the number of cycles (eg, cycles per second) completed within a given period of time by the movable mass of the tactile output generator. For discrete tactile output, a discrete output signal (e.g., with 0.5, 1, or 2 cycles) is generated and the characteristic frequency value determines how much the movable mass must produce a tactile output with that characteristic frequency. Determine whether you need to move quickly. As shown in Figures 4F-4H, for each type of tactile output (e.g., as defined by the respective waveform, such as a pull tab, minitap, or microtap), the higher frequency value moves Faster movement(s) by the enabling mass, and therefore generally shorter time to complete the tactile output (e.g., time to complete the required number of cycle(s) for an individual tactile output + (including start and end buffer times). For example, a pull tab with a characteristic frequency of 80 Hz takes longer to complete than a pull tab with a characteristic frequency of 100 Hz (e.g., 28.3 ms compared to 35.4 ms in Figure 4F). Additionally, for given frequencies, a tactile output with more cycles of its waveform at each frequency takes longer to complete than a tactile output with fewer cycles of its waveform at the same respective frequency. For example, a pull tab at 150 Hz takes longer to complete than a minitap at 150 Hz (e.g., 12.8 ms compared to 19.4 ms), and a minitap at 150 Hz takes longer to complete than a microtap at 150 Hz. It takes (e.g., 9.4ms compared to 12.8ms). However, for tactile output patterns with different frequencies, this rule may not apply (e.g., tactile outputs with more cycles but a higher frequency than tactile outputs with fewer cycles but a lower frequency). outputs may take less time to complete than the outputs, and vice versa). For example, at 300 Hz, a pull tab takes as long as a minitap (e.g., 9.9 ms).
도 4f 내지 도 4k에 도시된 바와 같이, 촉각적 출력 패턴은 또한, 촉각적 신호에 포함되는 에너지의 양 또는 햅틱 감각의 "강도"에 영향을 미치는 특성 진폭을 갖는데, 이 햅틱 감각은 그 특성 진폭을 갖는 촉각적 출력을 통해 사용자에 의해 느껴질 수 있다. 일부 실시예들에서, 촉각적 출력 패턴의 특성 진폭은, 촉각적 출력을 생성할 때 중립 위치로부터 이동가능 질량체의 최대 변위를 나타내는 절대 또는 정규화된 값을 지칭한다. 일부 실시예들에서, 촉각적 출력 패턴의 특성 진폭은, 다양한 조건들(예컨대, 사용자 인터페이스 상황들 및 거동들에 기초하여 맞춤화됨) 및/또는 미리구성된 메트릭들(예컨대, 입력 기반 메트릭들, 및/또는 사용자 인터페이스 기반 메트릭들)에 따라, 예컨대, 고정된 또는 동적으로 결정된 이득 인자(예컨대, 0 내지 1의 값)에 의해 조정가능하다. 일부 실시예들에서, 입력 기반 메트릭(예컨대, 세기 변화 메트릭 또는 입력-속력 메트릭)은 촉각적 출력의 생성을 트리거하는 입력 동안 입력의 특성(예컨대, 누르기 입력에서의 접촉의 특성 세기의 변화율 또는 터치 감응형 표면을 가로지른 접촉의 이동 속도)을 측정한다. 일부 실시예들에서, 사용자 인터페이스 기반 메트릭(예컨대, 경계를 가로지른 속력 메트릭)은 촉각적 출력의 생성을 트리거하는 사용자 인터페이스 변화 동안 사용자 인터페이스 요소의 특성(예컨대, 사용자 인터페이스에서 숨겨진 또는 가시적인 경계를 가로지른 요소의 이동 속력)을 측정한다. 일부 실시예들에서, 촉각적 출력 패턴의 특성 진폭은 "엔벨로프(envelope)"에 의해 변조될 수 있고, 인접한 사이클들의 피크들은 상이한 진폭들을 가질 수 있는데, 여기서 앞서 나타낸 파형들 중 하나는, 촉각적 출력이 생성되고 있을 때 시간 경과에 따라 촉각적 출력의 부분들의 진폭을 점진적으로 조정하기 위해 시간 경과에 따라 변화하는 엔벨로프 파라미터(예컨대, 0과 1 사이)에 의한 곱셈에 의해 추가로 수정된다.As shown in Figures 4F-4K, the tactile output pattern also has a characteristic amplitude, which affects the amount of energy contained in the tactile signal or the "strength" of the haptic sensation. It can be felt by the user through a tactile output. In some embodiments, the characteristic amplitude of a tactile output pattern refers to an absolute or normalized value that represents the maximum displacement of the movable mass from its neutral position when producing the tactile output. In some embodiments, the characteristic amplitude of the tactile output pattern can be adjusted to various conditions (e.g., customized based on user interface situations and behaviors) and/or preconfigured metrics (e.g., input-based metrics, and /or user interface based metrics), eg by a fixed or dynamically determined gain factor (eg, a value between 0 and 1). In some embodiments, an input-based metric (e.g., an intensity change metric or an input-speed metric) is a characteristic of the input during the input that triggers the generation of a tactile output (e.g., the rate of change in intensity of a touch or the characteristic of a contact in a press input). The speed of movement of a contact across a sensitive surface is measured. In some embodiments, user interface-based metrics (e.g., speed across boundaries metrics) determine characteristics of user interface elements (e.g., hidden or visible boundaries in the user interface) during user interface changes that trigger the generation of tactile output. Measures the speed of movement of the traversed element. In some embodiments, the characteristic amplitude of the tactile output pattern may be modulated by an “envelope”, where peaks of adjacent cycles may have different amplitudes, where one of the waveforms shown above is the tactile output pattern. As the output is being generated, it is further modified by multiplication by an envelope parameter that varies over time (e.g., between 0 and 1) to gradually adjust the amplitude of the portions of the tactile output over time.
특정 주파수들, 진폭들 및 파형들만이 예시 목적을 위해 도 4f 내지 도 4k에서의 샘플 촉각적 출력 패턴들로 표현되지만, 다른 주파수들, 진폭들 및 파형들을 갖는 촉각적 출력 패턴들이 유사한 목적을 위해 사용될 수 있다. 예를 들어, 0.5 내지 4회의 사이클들을 갖는 파형들이 사용될 수 있다. 60 ㎐ 내지 400 ㎐ 범위의 다른 주파수들이 또한 사용될 수 있다.Although only certain frequencies, amplitudes and waveforms are represented in the sample tactile output patterns in FIGS. 4F-4K for illustrative purposes, tactile output patterns with other frequencies, amplitudes and waveforms may be used for similar purposes. can be used For example, waveforms with 0.5 to 4 cycles can be used. Other frequencies ranging from 60 Hz to 400 Hz may also be used.
사용자 인터페이스들 및 연관된 프로세스들User interfaces and associated processes
이제, 디스플레이, 터치 감응형 표면, (선택적으로) 촉각적 출력들을 생성하기 위한 하나 이상의 촉각적 출력 생성기들, 및 (선택적으로) 터치 감응형 표면과의 접촉들의 세기들을 검출하는 하나 이상의 센서들을 갖는 휴대용 다기능 디바이스(100) 또는 디바이스(300)와 같은 전자 디바이스 상에서 구현될 수 있는 사용자 인터페이스들("UI") 및 연관된 프로세스들의 실시예들에 대하여 주목한다.It now has a display, a touch-sensitive surface, (optionally) one or more tactile output generators for generating tactile outputs, and (optionally) one or more sensors to detect intensities of contacts with the touch-sensitive surface. Attention is given to embodiments of user interfaces (“UI”) and associated processes that may be implemented on an electronic device, such as portable multifunction device 100 or device 300.
도 5a 내지 도 5at는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 유사한 동작들이 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.5A-5AT illustrate example user interfaces for displaying a representation of a virtual object while switching from displaying a first user interface area to displaying a second user interface area, according to some embodiments. . The user interfaces in these figures are FIGS. 8A-8E, 9A-9D, 10A-10D, 16A-16G, 17A-17D, 18A-18I, 19A-19H, and FIG. It is used to illustrate the processes described below, including the processes of Figures 20A through 20F. For ease of explanation, some of the embodiments will be discussed with reference to operations performed on a device with touch-sensitive display system 112. In these embodiments, the focus selector may optionally be: an individual finger or stylus contact, a representative point corresponding to a finger or stylus contact (e.g., the center of the individual contact, or a point associated with the individual contact), or It is the center of two or more contacts detected on the touch-sensitive display system 112. However, optionally, similar operations may be performed on display 450 and on a separate display in response to detecting contacts on touch-sensitive surface 451 while displaying the user interfaces shown in the figures with a focus selector on display 450. It is performed on a device having a touch-sensitive surface 451 of
도 5a는 도 5b 내지 도 5at와 관련하여 기술된 사용자 인터페이스들이 사용되는 실세계 콘텍스트를 예시한다.Figure 5A illustrates a real-world context in which the user interfaces described in relation to Figures 5B-5AT are used.
도 5a는 테이블(5004)이 위치되는 물리적 공간(5002)을 예시한다. 디바이스(100)는 사용자에 의해 사용자의 손(5006)에 보유되어 있다.FIG. 5A illustrates physical space 5002 in which table 5004 is located. Device 100 is held by a user in the user's hand 5006.
도 5b는 디스플레이(112) 상에 디스플레이되는 메시징 사용자 인터페이스(5008)를 예시한다. 메시징 사용자 인터페이스(5008)는 수신된 텍스트 메시지(5012)를 포함하는 메시지 말풍선(5010), 전송된 텍스트 메시지(5016)를 포함하는 메시지 말풍선(5014), 및 메시지 내에 수신된 가상 객체(예컨대, 가상 의자(5020)) 및 가상 의자(5020)가 (예컨대, 디바이스(100)의 하나 이상의 카메라들의 시야의 표현 내의) 증강 현실 뷰에서 관찰가능한 객체인 것을 나타내는 가상 객체 표시자(5022)를 포함하는 메시지 말풍선(5018)을 포함한다. 메시징 사용자 인터페이스(5008)는 또한, 메시지 입력을 디스플레이하도록 구성된 메시지 입력 영역(5024)을 포함한다.5B illustrates messaging user interface 5008 displayed on display 112. Messaging user interface 5008 includes a message bubble 5010 containing a received text message 5012, a message bubble 5014 containing a sent text message 5016, and a virtual object (e.g., virtual object) received within the message. A message including chair 5020 and a virtual object indicator 5022 indicating that virtual chair 5020 is an observable object in an augmented reality view (e.g., within a representation of the field of view of one or more cameras of device 100). Includes speech bubble (5018). Messaging user interface 5008 also includes a message input area 5024 configured to display message input.
도 5c 내지 도 5g는 메시징 사용자 인터페이스(5008)의 일부분이 디바이스(100)의 하나 이상의 카메라들의 시야로 대체되게 하는 입력을 예시한다. 도 5c에서, 디바이스(100)의 터치 스크린(112)과의 접촉(5026)이 검출된다. 접촉의 특성 세기는, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이, 접촉 검출 세기 임계치(IT0) 초과이고 힌트 누르기(hint press) 세기 임계치(ITH) 미만이다. 도 5d에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 힌트 누르기 세기 임계치(ITH)를 초과하는 접촉(5026)의 특성 세기의 증가는 메시지 말풍선(5018)의 영역이 증가되게 하였고, 가상 의자(5020)의 크기가 증가되게 하였고, 메시징 사용자 인터페이스(5008)가 (예컨대, 접촉의 특성 세기를 증가시키는 효과의 시각적 피드백을 사용자에게 제공하기 위해) 메시지 말풍선(5018) 뒤에서 블러링되기 시작하게 하였다. 도 5e에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 가볍게 누르기(light press) 세기 임계치(ITL)를 초과하는 접촉(5026)의 특성 세기의 증가는 메시지 말풍선(5018)이 플래터(platter)(5030)로 대체되게 하였고, 가상 의자(5020)의 크기가 추가로 증가되게 하였고, 플래터(5030) 뒤에서 메시징 사용자 인터페이스(5008)의 블러링을 증가시켰다. 도 5f에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 깊게 누르기(deep press) 세기 임계치(ITD)를 초과하는 접촉(5026)의 특성 세기의 증가는 메시징 사용자 인터페이스(5008)의 일부분을 디바이스(100)의 하나 이상의 카메라들의 시야로 대체하기 위한 기준들이 충족되었다는 것을 나타내기 위해 (5032로 예시된 바와 같은) 촉각적 출력을 디바이스(100)의 촉각적 출력 생성기들(167)이 출력하게 한다.5C-5G illustrate input that causes a portion of messaging user interface 5008 to be replaced with the view of one or more cameras of device 100. In Figure 5C, contact 5026 with the touch screen 112 of device 100 is detected. The characteristic intensity of the contact is above the contact detection intensity threshold (IT0 ) and below the hint press intensity threshold (ITH ), as illustrated by intensity level meter 5028. 5D , an increase in the characteristic intensity of the contact 5026 above the hint press intensity threshold (ITH ), as illustrated by the intensity level meter 5028, caused the area of the message bubble 5018 to increase, The size of the chair 5020 is caused to increase, and the messaging user interface 5008 begins to blur behind the message bubble 5018 (e.g., to provide visual feedback to the user of the effect of increasing the characteristic intensity of the contact). did. 5E , an increase in the characteristic intensity of contact 5026 above the light press intensity threshold ITL as illustrated by intensity level meter 5028 causes message bubble 5018 to platter. ) (5030), the size of the virtual chair (5020) was further increased, and the blurring of the messaging user interface (5008) behind the platter (5030) was increased. In FIG. 5F , an increase in the characteristic intensity of contact 5026 above the deep press intensity threshold (ITD ), as illustrated by intensity level meter 5028 , displays a portion of messaging user interface 5008 . Cause tactile output generators 167 of device 100 to output a tactile output (as illustrated by 5032) to indicate that criteria for replacing the field of view of one or more cameras of device 100 have been met. do.
일부 실시예들에서, 도 5f에 도시된 바와 같이 접촉(5026)의 특성 세기가 깊게 누르기 세기 임계치(ITD)에 도달하기 전에, 도 5c 내지 도 5e에 도시된 진행은 가역적이다. 예를 들어, 도 5d 및/또는 도 5e에 예시된 증가들 후에 접촉(5026)의 특성 세기를 감소시키는 것은, 접촉(5026)의 감소된 세기 레벨에 대응하는 인터페이스 상태가 디스플레이되게 할 것이다(예컨대, 도 5e에 도시된 바와 같은 인터페이스는 접촉의 감소된 특성 세기가 가볍게 누르기 세기 임계치(ITL) 초과라는 결정에 따라 도시되고, 도 5d에 도시된 바와 같은 인터페이스는 접촉의 감소된 특성 세기가 힌트 누르기 세기 임계치(ITH) 초과라는 결정에 따라 도시되고, 도 5c에 도시된 바와 같은 인터페이스는 접촉의 감소된 특성 세기가 힌트 누르기 세기 임계치(ITH) 미만이라는 결정에 따라 도시된다). 일부 실시예들에서, 도 5d 및/또는 도 5e에 예시된 증가들 후에 접촉(5026)의 특성 세기를 감소시키는 것은 도 5c에 도시된 바와 같은 인터페이스가 재디스플레이되게 할 것이다.In some embodiments, the progression shown in Figures 5C-5E is reversible before the characteristic intensity of contact 5026 reaches the deep pressing intensity threshold ITD as shown in Figure 5F. For example, decreasing the characteristic intensity of contact 5026 after the increases illustrated in FIGS. 5D and/or 5E will cause an interface state to be displayed corresponding to the reduced intensity level of contact 5026 (e.g. , the interface as shown in Figure 5e is drawn according to the determination that the reduced characteristic intensity of the contact is above the light pressing intensity threshold (ITL ), and the interface as shown in Figure 5d is shown in accordance with the determination that the reduced characteristic intensity of the contact is hinted at. The interface as shown in FIG. 5C is depicted following a determination that the press intensity threshold (ITH ) is above the hint press intensity threshold (ITH ). In some embodiments, decreasing the characteristic intensity of contact 5026 after the increases illustrated in FIGS. 5D and/or 5E will cause the interface to be redisplayed as shown in FIG. 5C.
도 5f 내지 도 5j는 애니메이션화된 전이를 예시하는데, 애니메이션화된 전이 동안 메시징 사용자 인터페이스의 일부분이 디바이스(100)의 하나 이상의 카메라들(이하, "카메라(들)")의 시야로 대체된다. 도 5f로부터 도 5g로, 접촉(5026)은 터치 스크린(112)으로부터 리프트오프되었고, 가상 의자(5020)는 도 5i의 그의 최종 위치를 향해 회전하였다. 도 5g에서, 카메라(들)의 시야(5034)는 (점선들로 표시된 바와 같이) 플래터(5030) 내에서 뷰로 페이드 인(fade into view)되기 시작하였다. 도 5h에서, (예컨대, 카메라(들)에 의해 캡처된 바와 같은 물리적 공간(5002)의 뷰를 도시하는) 카메라(들)의 시야(5034)는 플래터(5030) 내에서 뷰로 페이드 인되는 것을 완료하였다. 도 5h로부터 도 5i로, 가상 의자(5020)는 도 5i의 그의 최종 위치를 향한 그의 회전을 계속하였다. 도 5i에서, 촉각적 출력 생성기들(167)은 적어도 하나의 평면(예컨대, 바닥 표면(5038))이 카메라(들)의 시야(5034) 내에서 검출되었다는 것을 나타내기 위해 (5036으로 예시된 바와 같은) 촉각적 출력을 출력하였다. 가상 의자(5020)는 (예컨대, 가상 객체가 바닥 표면(5038)과 같은 검출된 수평 표면 상에서 직립 배향으로 배치되도록 구성된다는 디바이스(100)에 의한 결정에 따라) 검출된 평면 상에 배치된다. 가상 의자(5020)의 크기는 메시징 사용자 인터페이스의 일부분이 디스플레이(112) 상의 카메라(들)의 시야(5034)의 표현으로 변환됨에 따라 디스플레이(112) 상에서 연속적으로 조정된다. 예를 들어, 카메라(들)의 시야(5034)에 도시된 바와 같은 물리적 공간(5002)에 대한 가상 의자(5020)의 축척은 카메라(들)의 시야(5034) 내에서의 가상 의자(5020)의 미리정의된 "실세계" 크기 및/또는 (테이블(5004)과 같은) 객체들의 검출된 크기에 기초하여 결정된다. 도 5j에서, 가상 의자(5020)는 카메라(들)의 시야(5034) 내의 검출된 바닥 표면에 대한 미리정의된 배향을 갖는 그의 최종 위치에 디스플레이된다. 일부 실시예들에서, 가상 의자(5020)의 초기 랜딩 위치(landing position)는 검출된 평면의 비점유 영역의 중심과 같은, 카메라(들)의 시야 내의 검출된 평면에 대한 미리정의된 위치이다. 일부 실시예들에서, 가상 의자(5020)의 초기 랜딩 위치는 접촉(5026)의 리프트오프 위치에 따라 결정된다(예컨대, 접촉(5026)의 리프트오프 위치는 증강 현실 환경으로 전이되기 위한 기준들이 도 5f에서 충족된 후에 터치 스크린(112)을 가로지르는 접촉(5026)의 이동으로 인해 접촉(5026)의 초기 터치다운 위치와 상이할 수 있다).5F-5J illustrate an animated transition, during which a portion of the messaging user interface is replaced by the field of view of one or more cameras (hereinafter “camera(s)”) of device 100. From Figure 5F to Figure 5G, contact 5026 has lifted off touch screen 112 and virtual chair 5020 has rotated toward its final position in Figure 5I. In Figure 5G, the field of view 5034 of the camera(s) has begun to fade into view within the platter 5030 (as indicated by the dashed lines). In Figure 5H, the field of view 5034 of the camera(s) (e.g., showing a view of physical space 5002 as captured by the camera(s)) has completed fading in to a view within the platter 5030. did. From Figure 5H to Figure 5I, virtual chair 5020 continued its rotation towards its final position in Figure 5I. 5I , tactile output generators 167 are configured as illustrated at 5036 to indicate that at least one plane (e.g., floor surface 5038) has been detected within the field of view 5034 of the camera(s). (same) tactile output was output. Virtual chair 5020 is positioned on the detected plane (e.g., based on a determination by device 100 that the virtual object is configured to be positioned in an upright orientation on a detected horizontal surface, such as floor surface 5038). The size of virtual chair 5020 is continuously adjusted on display 112 as portions of the messaging user interface are translated into a representation of the field of view 5034 of the camera(s) on display 112. For example, the scale of the virtual chair 5020 relative to physical space 5002 as shown in the camera(s) field of view 5034 may be the scale of the virtual chair 5020 within the camera(s) field of view 5034. is determined based on the predefined “real world” size of and/or the detected size of the objects (such as table 5004). In Figure 5J, virtual chair 5020 is displayed in its final position with a predefined orientation relative to the detected floor surface within the field of view 5034 of the camera(s). In some embodiments, the initial landing position of virtual chair 5020 is a predefined position relative to the detected plane within the field of view of the camera(s), such as the center of an unoccupied area of the detected plane. In some embodiments, the initial landing position of the virtual chair 5020 is determined according to the lift-off position of the contact 5026 (e.g., the lift-off position of the contact 5026 serves as a reference for transferring to the augmented reality environment. The initial touchdown position of contact 5026 may be different due to movement of contact 5026 across touch screen 112 after meeting 5f).
도 5k 및 도 5l은 카메라(들)의 시야(5034)를 조정하는 디바이스(100)의 (예컨대, 사용자의 손(5006)에 의한) 이동을 예시한다. 디바이스(100)가 물리적 공간(5002)에 대해 이동됨에 따라, 카메라(들)의 디스플레이된 시야(5034)는 변경되고, 가상 의자(5020)는 카메라(들)의 디스플레이된 시야(5034) 내의 바닥 표면(5038)에 대해 동일한 위치에 그리고 동일한 배향으로 부착된 채로 유지된다.5K and 5L illustrate movement of device 100 (e.g., by a user's hand 5006) to adjust the field of view 5034 of the camera(s). As the device 100 is moved relative to physical space 5002, the displayed field of view 5034 of the camera(s) changes, and the virtual chair 5020 moves to the floor within the displayed field of view 5034 of the camera(s). It remains attached at the same location and in the same orientation relative to surface 5038.
도 5m 내지 도 5q는 카메라(들)의 디스플레이된 시야(5034) 내의 바닥 표면(5038)을 가로지르는 가상 의자(5020)의 이동을 야기하는 입력을 예시한다. 도 5n에서, 디바이스(100)의 터치 스크린(112)과의 접촉(5040)이 가상 의자(5020)에 대응하는 위치에서 검출된다. 도 5n 및 도 5o에서, 접촉(5040)이 화살표(5042)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 접촉(5040)에 의해 드래그된다. 가상 의자(5020)가 접촉(5040)에 의해 이동됨에 따라, 가상 의자(5020)의 크기는 카메라(들)의 시야(5034)에 도시된 바와 같이 물리적 공간(5002)에 대한 가상 의자(5020)의 축척을 유지하도록 변경된다. 예를 들어, 도 5n 내지 도 5p에서, 가상 의자(5020)가 카메라(들)의 시야(5034)의 전경으로부터 디바이스(100)에서 더 멀리 있고 카메라(들)의 시야(5034) 내의 테이블(5004)에 더 가까운 위치로 이동함에 따라, 가상 의자(5020)의 크기는 (예컨대, 카메라(들)의 시야(5034) 내의 테이블(5004)에 대한 의자의 축척이 유지되도록) 감소된다. 더욱이, 가상 의자(5020)가 접촉(5040)에 의해 이동됨에 따라, 카메라(들)의 시야(5034) 내에서 식별된 평면들이 강조된다. 예를 들어, 바닥 평면(5038)이 도 5o에서 강조되어 있다. 도 5o 및 도 5p에서, 접촉(5040)이 화살표(5044)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 접촉(5040)에 의해 계속 드래그된다. 도 5q에서, 접촉(5040)은 터치 스크린(112)으로부터 리프트오프되었다. 일부 실시예들에서, 도 5n 내지 도 5q에 도시된 바와 같이, 가상 의자(5020)가 접촉(5040)에 의해 바닥 표면(5038)을 가로질러 드래그되는 것처럼, 가상 의자(5020)의 이동 경로는 카메라의 시야(5034) 내의 바닥 표면(5038)에 의해 제약된다. 일부 실시예들에서, 도 5n 내지 도 5p와 관련하여 기술된 바와 같은 접촉(5040)은 도 5c 내지 도 5f와 관련하여 기술된 바와 같은 접촉(5026)의 연속이다(예컨대, 접촉(5026)의 리프트오프가 없고, 메시징 사용자 인터페이스(5008)의 일부분이 카메라(들)의 시야(5034)로 대체되게 하는 동일한 접촉이 또한 카메라(들)의 시야(5034) 내에서 가상 의자(5020)를 드래그한다).5M-5Q illustrate inputs resulting in movement of a virtual chair 5020 across a floor surface 5038 within the displayed field of view 5034 of the camera(s). 5N, contact 5040 with the touch screen 112 of device 100 is detected at a location corresponding to virtual chair 5020. 5N and 5O, virtual chair 5020 is dragged by contact 5040 as contact 5040 moves along the path indicated by arrow 5042. As virtual chair 5020 is moved by contact 5040, the size of virtual chair 5020 changes relative to physical space 5002 as shown in the camera(s) field of view 5034. is changed to maintain the scale of . For example, in FIGS. 5N-5P , virtual chair 5020 is farther from device 100 in the foreground of the camera(s)' field of view 5034 and table 5004 is within the camera(s') field of view 5034. ), the size of the virtual chair 5020 is reduced (e.g., so that the scale of the chair relative to the table 5004 within the camera(s) field of view 5034 is maintained). Moreover, as virtual chair 5020 is moved by contact 5040, planes identified within the field of view 5034 of the camera(s) are highlighted. For example, bottom plane 5038 is highlighted in Figure 5O. 5O and 5P, virtual chair 5020 continues to be dragged by contact 5040 as contact 5040 moves along the path indicated by arrow 5044. In Figure 5Q, contact 5040 has been lifted off from touch screen 112. In some embodiments, as shown in Figures 5N-5Q, as virtual chair 5020 is dragged across floor surface 5038 by contact 5040, the movement path of virtual chair 5020 is Constrained by the floor surface 5038 within the camera's field of view 5034. In some embodiments, contact 5040 as described with respect to FIGS. 5N-5P is a continuation of contact 5026 as described with respect to FIGS. 5C-5F (e.g., contact 5026 Without liftoff, the same touch that causes a portion of the messaging user interface 5008 to be replaced with the camera(s)' field of view 5034 also drags the virtual chair 5020 within the camera(s') field of view 5034 ).
도 5q 내지 도 5u는 바닥 표면(5038)으로부터 카메라(들)의 시야(5034) 내에서 검출되는 상이한 평면(예컨대, 테이블 표면(5046))으로의 가상 의자(5020)의 이동을 야기하는 입력을 예시한다. 도 5r에서, 디바이스(100)의 터치 스크린(112)과의 접촉(5050)이 가상 의자(5020)에 대응하는 위치에서 검출된다. 도 5r 및 도 5s에서, 접촉(5048)이 화살표(5050)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 접촉(5048)에 의해 드래그된다. 가상 의자(5020)가 접촉(5048)에 의해 이동됨에 따라, 가상 의자(5020)의 크기는 카메라(들)의 시야(5034)에 도시된 바와 같이 물리적 공간(5002)에 대한 가상 의자(5020)의 축척을 유지하도록 변경된다. 추가적으로, 가상 의자(5020)가 접촉(5040)에 의해 이동됨에 따라, 테이블 표면 평면(5046)은 (예컨대, 도 5s에 도시된 바와 같이) 강조된다. 도 5s 및 도 5t에서, 접촉(5048)이 화살표(5052)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 접촉(5040)에 의해 계속 드래그된다. 도 5u에서, 접촉(5048)이 터치 스크린(112)으로부터 리프트오프되었고, 가상 의자(5020)가 이전과 동일한 방향을 향하는 직립 배향으로 테이블 표면 평면(5046) 상에 배치된다.5Q-5U illustrate inputs resulting in movement of a virtual chair 5020 from floor surface 5038 to a different plane detected within the field of view 5034 of the camera(s) (e.g., table surface 5046). Illustrate. In Figure 5R, contact 5050 with the touch screen 112 of device 100 is detected at a location corresponding to virtual chair 5020. 5R and 5S, virtual chair 5020 is dragged by contact 5048 as contact 5048 moves along the path indicated by arrow 5050. As virtual chair 5020 is moved by contact 5048, the size of virtual chair 5020 changes relative to physical space 5002 as shown in the camera(s) field of view 5034. is changed to maintain the scale of . Additionally, as virtual chair 5020 is moved by contact 5040, table surface plane 5046 is highlighted (e.g., as shown in Figure 5S). 5S and 5T, virtual chair 5020 continues to be dragged by contact 5040 as contact 5048 moves along the path indicated by arrow 5052. 5U, contact 5048 has been lifted off touch screen 112 and virtual chair 5020 is placed on table surface plane 5046 in an upright orientation facing the same direction as before.
도 5u 내지 도 5ad는, 카메라(들)의 시야(5034)가 디스플레이되는 것이 중지되게 하는, 가상 의자(5020)를 터치 스크린 디스플레이(112)의 에지로 드래그하는 입력을 예시한다. 도 5v에서, 디바이스(100)의 터치 스크린(112)과의 접촉(5054)이 가상 의자(5020)에 대응하는 위치에서 검출된다. 도 5v 및 도 5w에서, 접촉(5054)이 화살표(5056)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 접촉(5054)에 의해 드래그된다. 도 5w 및 도 5x에서, 접촉(5054)이 화살표(5058)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 접촉(5054)에 의해 도 5x에 도시된 위치로 계속 드래그된다.5U-5A illustrate the input of dragging virtual chair 5020 to the edge of touch screen display 112, causing the camera(s)' field of view 5034 to stop being displayed. 5V, contact 5054 with the touch screen 112 of device 100 is detected at a location corresponding to virtual chair 5020. 5V and 5W, virtual chair 5020 is dragged by contact 5054 as contact 5054 moves along the path indicated by arrow 5056. 5W and 5X, as contact 5054 moves along the path indicated by arrow 5058, virtual chair 5020 continues to be dragged by contact 5054 to the position shown in FIG. 5X.
도 5u 내지 도 5x에 예시된 접촉(5054)에 의한 입력은, 도 5y 내지 도 5ad에 도시된 바와 같이, 플래터(5030) 내에 카메라(들)의 시야(5034)를 디스플레이하는 것으로부터 카메라(들)의 시야(5034)를 디스플레이하는 것을 중지하고 메시징 사용자 인터페이스(5008)를 완전히 디스플레이하는 것으로 복귀하는 것으로의 전이를 야기한다. 도 5y에서, 카메라(들)의 시야(5034)는 플래터(5030) 내에서 페이드 아웃(fade out)되기 시작한다. 도 5y 및 도 5z에서, 플래터(5030)는 메시지 말풍선(5018)으로 전이된다. 도 5z에서, 카메라(들)의 시야(5034)는 더 이상 디스플레이되지 않는다. 도 5aa에서, 메시징 사용자 인터페이스(5008)는 블러링되는 것이 중지되고 메시지 말풍선(5018)의 크기는 (예컨대, 도 5b에 도시된 바와 같은) 메시지 말풍선(5018)의 원래 크기로 복귀된다.Input by contact 5054 illustrated in FIGS. 5U-5X can result in camera(s) from displaying a field of view 5034 of the camera(s) within the platter 5030, as shown in FIGS. 5Y-5A. ) causes a transition to stop displaying the field of view 5034 and return to fully displaying the messaging user interface 5008. 5Y, the field of view 5034 of the camera(s) begins to fade out within the platter 5030. 5Y and 5Z, platter 5030 transitions into message bubble 5018. In Figure 5z, the field of view 5034 of the camera(s) is no longer displayed. In Figure 5AA, messaging user interface 5008 stops blurring and the size of message bubble 5018 returns to the original size of message bubble 5018 (e.g., as shown in Figure 5B).
도 5aa 내지 도 5ad는 가상 의자(5020)가 도 5aa의 접촉(5054)에 대응하는 위치로부터 (예컨대, 도 5b에 도시된 바와 같은) 메시징 사용자 인터페이스(5008) 내의 가상 의자(5020)의 원래 위치로 이동함에 따라 발생하는 가상 의자(5020)의 애니메이션화된 전이를 예시한다. 도 5ab에서, 접촉(5054)은 터치 스크린(112)으로부터 리프트오프되었다. 도 5ab 및 도 5ac에서, 가상 의자(5020)는 크기가 점진적으로 증가하고 도 5ad의 그의 최종 위치를 향해 회전한다.FIGS. 5AA-5AD show the original position of virtual chair 5020 within messaging user interface 5008 (e.g., as shown in FIG. 5B) from a position where virtual chair 5020 corresponds to contact 5054 in FIG. 5AA. This illustrates an animated transition of the virtual chair 5020 that occurs as it moves. In Figure 5ab, contact 5054 has been lifted off from touch screen 112. 5ab and 5ac, virtual chair 5020 gradually increases in size and rotates toward its final position in FIG. 5ad.
도 5b 내지 도 5ad에서, 가상 의자(5020)는 메시징 사용자 인터페이스(5008) 내에서 그리고 카메라(들)의 디스플레이된 시야(5034) 내에서 실질적으로 동일한 3차원 외관을 갖고, 가상 의자(5020)는 메시징 사용자 인터페이스(5008)를 디스플레이하는 것으로부터 카메라(들)의 시야(5034)를 디스플레이하는 것으로의 전이 동안 그리고 역방향 전이 동안 동일한 3차원 외관을 유지한다. 일부 실시예들에서, 가상 의자(5020)의 표현은 증강 현실 환경(예컨대, 카메라(들)의 디스플레이된 시야)에서와 상이한, 애플리케이션 사용자 인터페이스(예컨대, 메시징 사용자 인터페이스)에서의 외관을 갖는다. 예를 들어, 가상 의자(5020)는 선택적으로, 애플리케이션 사용자 인터페이스에서 2차원이거나 더 양식화된 외양(stylized look)을 갖는 한편 증강 현실 환경에서 3차원이고 더 현실적이고 질감을 갖는 외양을 가지며; 애플리케이션 사용자 인터페이스를 디스플레이하는 것과 증강 현실 환경을 디스플레이하는 것 사이의 전이 동안 가상 의자(5020)의 중간 외관들은 가상 의자(5020)의 2차원 외양과 3차원 외양 사이의 일련의 보간된 외관들이다.5B-5A, virtual chair 5020 has substantially the same three-dimensional appearance within messaging user interface 5008 and within the displayed field of view 5034 of the camera(s), with virtual chair 5020 Maintains the same three-dimensional appearance during the transition from displaying the messaging user interface 5008 to displaying the field of view 5034 of the camera(s) and back. In some embodiments, the representation of virtual chair 5020 has a different appearance in an application user interface (e.g., a messaging user interface) than in an augmented reality environment (e.g., a displayed field of view of camera(s)). For example, virtual chair 5020 may optionally have a two-dimensional or more stylized look in an application user interface while being three-dimensional and having a more realistic, textured appearance in an augmented reality environment; The intermediate appearances of virtual chair 5020 during the transition between displaying the application user interface and displaying the augmented reality environment are a series of interpolated appearances between the two-dimensional and three-dimensional appearances of virtual chair 5020.
도 5ae는 인터넷 브라우저 사용자 인터페이스(5060)를 예시한다. 인터넷 브라우저 사용자 인터페이스(5060)는 웹 브라우저에 대한 URL/검색 입력을 디스플레이하도록 구성된 URL/검색 입력 영역(5062) 및 브라우저 제어부들(5064)(예컨대, 뒤로 가기 버튼 및 앞으로 가기 버튼을 포함하는 내비게이션 제어부들, 공유 인터페이스를 디스플레이하기 위한 공유 제어부, 북마크 인터페이스를 디스플레이하기 위한 북마크 제어부, 및 탭 인터페이스를 디스플레이하기 위한 탭 제어부)을 포함한다. 인터넷 브라우저 사용자 인터페이스(5060)는 또한 웹 객체들(5066, 5068, 5070, 5072, 5074, 5076)을 포함한다. 일부 실시예들에서, 각각의 웹 객체는 링크를 포함하여, 각각의 웹 객체 상에서의 탭 입력에 응답하여 웹 객체에 대응하는 링크된 인터넷 위치가 인터넷 브라우저 사용자 인터페이스(5060)에 디스플레이되게 한다(예컨대, 각각의 웹 객체의 디스플레이를 대체함). 웹 객체들(5066, 5068, 5072)은 가상 객체 표시자들(5078, 5080, 5082)에 의해 각각 표시되는 바와 같이 3차원 가상 객체들의 2차원 표현들을 포함한다. 웹 객체들(5070, 5074, 5076)은 2차원 이미지들을 포함한다(그러나, 웹 객체들(5070, 5074, 5076)의 2차원 이미지들은, 가상 객체 표시자들이 없는 것으로 나타내는 바와 같이, 3차원 가상 객체들에 대응하지 않는다). 웹 객체(5068)에 대응하는 가상 객체는 램프(lamp) 객체(5084)이다.Figure 5ae illustrates Internet browser user interface 5060. Internet browser user interface 5060 includes a URL/search input area 5062 configured to display URL/search input for a web browser and browser controls 5064 (e.g., navigation controls including a back button and a forward button) , a sharing control unit for displaying a sharing interface, a bookmark control unit for displaying a bookmark interface, and a tab control unit for displaying a tab interface). Internet browser user interface 5060 also includes web objects 5066, 5068, 5070, 5072, 5074, and 5076. In some embodiments, each web object includes a link, such that a linked Internet location corresponding to the web object is displayed in Internet browser user interface 5060 in response to a tab input on the respective web object (e.g. , replaces the display of each web object). Web objects 5066, 5068, and 5072 include two-dimensional representations of three-dimensional virtual objects as indicated by virtual object indicators 5078, 5080, and 5082, respectively. Web objects 5070, 5074, and 5076 include two-dimensional images (however, the two-dimensional images of web objects 5070, 5074, and 5076 are three-dimensional virtual images, as indicated by the absence of virtual object indicators). does not correspond to objects). The virtual object corresponding to the web object 5068 is a lamp object 5084.
도 5af 내지 도 5ah는 인터넷 브라우저 사용자 인터페이스(5060)의 일부분이 카메라(들)의 시야(5034)로 대체되게 하는 입력을 예시한다. 도 5af에서, 디바이스(100)의 터치 스크린(112)과의 접촉(5086)이 검출된다. 접촉의 특성 세기는, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이, 접촉 검출 세기 임계치(IT0) 초과이고 힌트 누르기 세기 임계치(ITH) 미만이다. 도 5ag에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 가볍게 누르기 세기 임계치(ITL)를 초과하는 접촉(5026)의 특성 세기의 증가는 카메라(들)의 시야(5034)가 (예컨대, 가상 램프(5084)에 의해 오버레이(overlay)된) 웹 객체(5068) 내에 디스플레이되게 하였다. 도 5ah에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 깊게 누르기 세기 임계치(ITD)를 초과하는 접촉(5086)의 특성 세기의 증가는 카메라(들)의 시야(5034)가 인터넷 브라우저 사용자 인터페이스(5060)의 더 큰 부분을 대체하게 하고(예컨대, 단지 URL/검색 입력 영역(5062) 및 브라우저 제어부들(5064)만 남김), 디바이스(100)의 촉각적 출력 생성기들(167)은 인터넷 브라우저 사용자 인터페이스(5060)의 일부분을 카메라(들)의 시야(5034)로 대체하기 위한 기준들이 충족되었다는 것을 나타내기 위해 (5088로 예시된 바와 같은) 촉각적 출력을 출력한다. 일부 실시예들에서, 도 5af 내지 도 5ah와 관련하여 기술된 입력에 응답하여, 카메라(들)의 시야(5034)는 터치 스크린 디스플레이(112) 상의 인터넷 브라우저 사용자 인터페이스(506)를 완전히 대체한다.5AF-5AH illustrate input that causes a portion of the Internet browser user interface 5060 to be replaced with the field of view 5034 of the camera(s). In Figure 5AF, contact 5086 with the touch screen 112 of device 100 is detected. The characteristic intensity of the contact is above the contact detection intensity threshold (IT0 ) and below the hint press intensity threshold (ITH ), as illustrated by intensity level meter 5028. 5Ag , an increase in the characteristic intensity of contact 5026 above the tap intensity threshold ITL , as illustrated by intensity level meter 5028 , indicates that the field of view 5034 of the camera(s) (e.g. It was displayed within a web object 5068 (overlayed by a virtual lamp 5084). 5A , an increase in the characteristic intensity of contact 5086 above the deep press intensity threshold (ITD ), as illustrated by intensity level meter 5028, indicates that the field of view 5034 of the camera(s) is Allows to replace a larger portion of the interface 5060 (e.g., leaving only the URL/search input area 5062 and browser controls 5064), and allows the tactile output generators 167 of the device 100 to access the Internet. Produces tactile output (as illustrated by 5088) to indicate that the criteria for replacing a portion of the browser user interface 5060 with the field of view 5034 of the camera(s) has been met. In some embodiments, in response to the input described with respect to FIGS. 5AF-5A, the field of view 5034 of the camera(s) completely replaces the Internet browser user interface 506 on the touch screen display 112.
도 5ai 내지 도 5am은 가상 램프(5084)의 이동을 야기하는 입력을 예시한다. 도 5ai 및 도 5aj에서, 접촉(5086)이 화살표(5090)로 표시된 경로를 따라서 이동함에 따라, 가상 램프(5084)는 접촉(5086)에 의해 드래그된다. 가상 램프(5084)가 접촉(5086)에 의해 이동됨에 따라, 가상 램프(5084)의 크기는 변경되지 않고, 가상 램프(5084)의 경로는 선택적으로, 카메라(들)의 시야 내에서 캡처되는 물리적 공간의 구조에 의해 제약되지 않는다. 가상 램프(5084)가 접촉(5086)에 의해 이동됨에 따라, 카메라(들)의 시야(5034) 내에서 식별된 평면들이 강조된다. 예를 들어, 바닥 평면(5038)은 가상 램프(5084)가 바닥 평면(5038) 위에서 이동함에 따라 도 5aj에서 강조된다. 도 5aj 및 도 5ak에서, 접촉(5086)이 화살표(5092)로 표시된 경로를 따라서 이동함에 따라, 가상 램프(5084)는 접촉(5086)에 의해 계속 드래그된다. 도 5ak 및 도 5al에서, 접촉(5086)이 화살표(5094)로 표시된 경로를 따라서 이동함에 따라, 가상 램프(5084)는 접촉(5086)에 의해 계속 드래그되고, 바닥 평면(5038)은 강조되는 것이 중지되고, 테이블 표면(5046)은 가상 램프(5084)가 테이블(5004) 위에서 이동함에 따라 강조된다. 도 5am에서, 접촉(5086)은 터치 스크린(112)으로부터 리프트오프되었다. 접촉(5086)이 리프트오프되었을 때, 가상 램프(5086)의 크기는 카메라(들)의 시야(5034) 내의 테이블(5004)에 대해 정확한 축척을 갖도록 조정되고, 가상 램프(5086)는 카메라들의 시야(5034) 내의 테이블 표면(5046) 상에서 직립 배향으로 배치된다.5AI-5AM illustrate inputs that cause movement of virtual ramp 5084. 5AI and 5AJ , virtual ramp 5084 is dragged by contact 5086 as contact 5086 moves along the path indicated by arrow 5090. As virtual ramp 5084 is moved by contact 5086, the size of virtual ramp 5084 does not change and the path of virtual ramp 5084 optionally changes to a physical location captured within the field of view of the camera(s). It is not limited by the structure of space. As virtual lamp 5084 is moved by contact 5086, identified planes within the field of view 5034 of the camera(s) are highlighted. For example, floor plane 5038 is highlighted in Figure 5AJ as virtual ramp 5084 moves over floor plane 5038. 5A and 5A, virtual ramp 5084 continues to be dragged by contact 5086 as contact 5086 moves along the path indicated by arrow 5092. 5A and 5A, as contact 5086 moves along the path indicated by arrow 5094, virtual ramp 5084 continues to be dragged by contact 5086, with bottom plane 5038 highlighted. When stopped, table surface 5046 is highlighted as virtual lamp 5084 moves over table 5004. 5AM, contact 5086 has been lifted off touch screen 112. When the contact 5086 is lifted off, the size of the virtual ramp 5086 is adjusted to have the correct scale relative to the table 5004 within the field of view 5034 of the camera(s), and the virtual ramp 5086 is in the field of view 5034 of the cameras. It is disposed in an upright orientation on a table surface 5046 within 5034.
도 5am 내지 도 5aq는, 카메라(들)의 시야(5034)가 디스플레이되는 것이 중지되게 하고 인터넷 브라우저 사용자 인터페이스(5060)가 복원되게 하는, 가상 램프(5084)를 터치 스크린 디스플레이(112)의 에지로 드래그하는 입력을 예시한다. 도 5an에서, 디바이스(100)의 터치 스크린(112)과의 접촉(5096)이 가상 램프(5084)에 대응하는 위치에서 검출된다. 도 5an 및 도 5ao에서, 접촉(5096)이 화살표(5098)로 표시된 경로를 따라서 이동함에 따라, 가상 램프(5084)는 접촉(5096)에 의해 드래그된다. 도 5ao 및 도 5ap에서, 접촉(5054)이 화살표(5100)로 표시된 경로를 따라서 이동함에 따라, 가상 램프(5084)는 접촉(5096)에 의해 도 5ap에 도시된 위치로 계속 드래그된다. 도 5aq에서, 접촉(5096)은 터치 스크린(112)으로부터 리프트오프되었다.5A-5AQ show virtual lamps 5084 being moved to the edge of touch screen display 112, causing the camera(s) field of view 5034 to stop being displayed and the Internet browser user interface 5060 to be restored. Example of dragging input. 5A, contact 5096 with the touch screen 112 of device 100 is detected at a location corresponding to virtual lamp 5084. 5A and 5AO, virtual ramp 5084 is dragged by contact 5096 as contact 5096 moves along the path indicated by arrow 5098. 5ao and 5ap, as contact 5054 moves along the path indicated by arrow 5100, virtual lamp 5084 continues to be dragged by contact 5096 to the position shown in FIG. 5ap. 5aq, contact 5096 has been lifted off touch screen 112.
도 5am 내지 도 5ap에 예시된 접촉(5096)에 의한 입력은, 도 5aq 내지 도 5at에 도시된 바와 같이, 카메라(들)의 시야(5034)를 디스플레이하는 것으로부터 카메라(들)의 시야(5034)를 디스플레이하는 것을 중지하고 인터넷 브라우저 사용자 인터페이스(5060)를 완전히 디스플레이하는 것으로 복귀하는 것으로의 전이를 야기한다. 도 5ar에서, 카메라(들)의 시야(5034)는 (점선들로 표시된 바와 같이) 페이드 아웃되기 시작한다. 도 5ar 내지 도 5at에서, 가상 램프(5084)는 크기가 증가하고, 인터넷 브라우저 사용자 인터페이스(5060) 내에서 그의 원래 위치를 향해 이동한다. 도 5as에서, 카메라(들)의 시야(5034)는 더 이상 디스플레이되지 않고, 인터넷 브라우저 사용자 인터페이스(5060)는 (점선들로 표시된 바와 같이) 페이드 인(fade in)되기 시작한다. 도 5at에서, 인터넷 브라우저 사용자 인터페이스(5060)는 완전히 디스플레이되고, 가상 램프(5084)는 인터넷 브라우저 사용자 인터페이스(5060) 내에서 그의 원래 크기 및 위치로 복귀되었다.Input by contact 5096 illustrated in FIGS. 5AM-5AP can be changed from displaying the field of view 5034 of the camera(s) to the field of view 5034 of the camera(s), as shown in FIGS. 5aq-5AT. ) and causes a transition to returning to fully displaying the Internet browser user interface 5060. In Figure 5ar, the field of view 5034 of the camera(s) begins to fade out (as indicated by the dashed lines). 5AR-5AT, virtual ramp 5084 increases in size and moves toward its original location within Internet browser user interface 5060. 5AS, the field of view 5034 of the camera(s) is no longer displayed, and the Internet browser user interface 5060 begins to fade in (as indicated by the dashed lines). 5AT, Internet browser user interface 5060 is fully displayed, and virtual lamp 5084 has returned to its original size and position within Internet browser user interface 5060.
도 6a 내지 도 6aj는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을, 그리고 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.6A-6J illustrate a first representation of a virtual object within a first user interface area, a second representation of the virtual object within a second user interface area, and a representation of the field of view of one or more cameras, according to some embodiments. Together they illustrate example user interfaces for displaying a third representation of a virtual object. The user interfaces in these figures are FIGS. 8A-8E, 9A-9D, 10A-10D, 16A-16G, 17A-17D, 18A-18I, 19A-19H, and FIG. It is used to illustrate the processes described below, including the processes of Figures 20A through 20F. For ease of explanation, some of the embodiments will be discussed with reference to operations performed on a device with touch-sensitive display system 112. In these embodiments, the focus selector may optionally be: an individual finger or stylus contact, a representative point corresponding to a finger or stylus contact (e.g., the center of the individual contact, or a point associated with the individual contact), or It is the center of two or more contacts detected on the touch-sensitive display system 112. However, similar operations may optionally be performed on the display 450 and the display 450 in response to detecting contacts on the touch-sensitive surface 451 while displaying the user interfaces shown in the figures with a focus selector on the display 450. Performed on a device with a separate touch-sensitive surface 451.
도 6a는 수신된 텍스트 메시지(5012)를 포함하는 메시지 말풍선(5010), 전송된 텍스트 메시지(5016)를 포함하는 메시지 말풍선(5014), 및 메시지 내에 수신된 가상 객체(예컨대, 가상 의자(5020)) 및 가상 의자(5020)가 (예컨대, 디바이스(100)의 하나 이상의 카메라들의 디스플레이된 시야 내의) 증강 현실 뷰에서 관찰가능한 객체인 것을 나타내는 가상 객체 표시자(5022)를 포함하는 메시지 말풍선(5018)을 포함하는 메시징 사용자 인터페이스(5008)를 예시한다. 메시징 사용자 인터페이스(5008)는 도 5b와 관련하여 더 상세히 기술된다.6A shows a message bubble 5010 containing a received text message 5012, a message bubble 5014 containing a sent text message 5016, and a virtual object (e.g., virtual chair 5020) received within the message. ) and a message bubble 5018 that includes a virtual object indicator 5022 indicating that the virtual chair 5020 is an observable object in the augmented reality view (e.g., within the displayed field of view of one or more cameras of device 100). Illustrative messaging user interface 5008 includes: Messaging user interface 5008 is described in more detail with respect to FIG. 5B.
도 6b 및 도 6c는 가상 의자(5020)의 회전을 야기하는 입력을 예시한다. 도 6b에서, 디바이스(100)의 터치 스크린(112)과의 접촉(6002)이 검출된다. 접촉(6002)은 화살표(6004)로 표시된 경로를 따라서 터치 스크린(112)을 가로질러 이동한다. 도 6c에서, 접촉의 이동에 응답하여, 메시징 사용자 인터페이스(5008)는 상향으로 스크롤되고(메시지 말풍선(5010)이 디스플레이로부터 스크롤 오프되게 하고, 메시지 말풍선(5014, 5018)이 상향으로 스크롤되게 하고, 추가 메시지 말풍선(6005)을 드러냄), 가상 의자(5020)는 회전된다(예컨대, 상향으로 기울어진다). 가상 의자(5020)의 회전의 크기 및 방향은 화살표(6004)로 표시된 경로를 따른 접촉(6002)의 이동에 대응한다. 도 6d에서, 접촉(6002)은 터치 스크린(112)으로부터 리프트오프되었다. 일부 실시예들에서, 메시지 말풍선(5018) 내에서의 가상 의자(5020)의 이러한 회전 거동은 가상 의자(5020)가 디바이스(100)의 카메라(들)의 시야를 포함하는 증강 현실 환경에서 관찰가능한 가상 객체라는 표시로서 사용된다.6B and 6C illustrate inputs that cause rotation of virtual chair 5020. In Figure 6B, contact 6002 with the touch screen 112 of device 100 is detected. Contact 6002 moves across touch screen 112 along the path indicated by arrow 6004. 6C , in response to movement of the contact, messaging user interface 5008 scrolls upward (causing message bubble 5010 to scroll off the display, causing message bubbles 5014, 5018 to scroll upward, and (revealing additional message bubble 6005), virtual chair 5020 is rotated (e.g., tilted upward). The magnitude and direction of rotation of virtual chair 5020 corresponds to the movement of contact 6002 along the path indicated by arrow 6004. In Figure 6D, contact 6002 has been lifted off from touch screen 112. In some embodiments, this rotational behavior of virtual chair 5020 within message bubble 5018 is observable in an augmented reality environment where virtual chair 5020 includes the field of view of the camera(s) of device 100. It is used as a sign that it is a virtual object.
도 6e 내지 도 6l은, 메시징 사용자 인터페이스(5008)가 스테이징 사용자 인터페이스(6010)로 대체되게 하고 후속하여 가상 의자(5020)의 배향을 변경하는 입력을 예시한다. 도 6e에서, 디바이스(100)의 터치 스크린(112)과의 접촉(6006)이 검출된다. 접촉의 특성 세기는, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이, 접촉 검출 세기 임계치(IT0) 초과이고 힌트 누르기 세기 임계치(ITH) 미만이다. 도 6f에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 힌트 누르기 세기 임계치(ITH)를 초과하는 접촉(6006)의 특성 세기의 증가는 메시지 말풍선(5018)의 영역이 증가되게 하였고, 가상 의자(5020)의 크기가 증가되게 하였고, 메시징 사용자 인터페이스(5008)가 (예컨대, 접촉의 특성 세기를 증가시키는 효과의 시각적 피드백을 사용자에게 제공하기 위해) 메시지 말풍선(5018) 뒤에서 블러링되기 시작하게 하였다. 도 6g에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 가볍게 누르기 세기 임계치(ITL)를 초과하는 접촉(6006)의 특성 세기의 증가는 메시지 말풍선(5018)이 플래터(6008)로 대체되게 하였고, 가상 의자(5020)의 크기가 추가로 증가되게 하였고, 플래터(6008) 뒤에서 메시징 사용자 인터페이스(5008)의 블러링을 증가시켰다. 도 6h에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 깊게 누르기 세기 임계치(ITD)를 초과하는 접촉(6006)의 특성 세기의 증가는 메시징 사용자 인터페이스(5008)가 디스플레이되는 것이 중지되게 하고 스테이징 사용자 인터페이스(6010)의 (점선들로 표시된) 페이드 인을 개시한다. 추가적으로, 도 6h에 도시된 바와 같이, 깊게 누르기 세기 임계치(ITD)를 초과하는 접촉(6006)의 특성 세기의 증가는 메시징 사용자 인터페이스(5008)를 스테이징 사용자 인터페이스(6010)로 대체하기 위한 기준들이 충족되었다는 것을 나타내기 위해 (6012로 예시된 바와 같은) 촉각적 출력을 디바이스(100)의 촉각적 출력 생성기들(167)이 출력하게 한다.6E-6L illustrate input that causes messaging user interface 5008 to be replaced by staging user interface 6010 and subsequently change the orientation of virtual chair 5020. In Figure 6E, contact 6006 with the touch screen 112 of device 100 is detected. The characteristic intensity of the contact is above the contact detection intensity threshold (IT0 ) and below the hint press intensity threshold (ITH ), as illustrated by intensity level meter 5028. 6F , an increase in the characteristic intensity of contact 6006 above the hint press intensity threshold (ITH ), as illustrated by intensity level meter 5028, caused the area of message bubble 5018 to increase, with the virtual The size of the chair 5020 is caused to increase, and the messaging user interface 5008 begins to blur behind the message bubble 5018 (e.g., to provide visual feedback to the user of the effect of increasing the characteristic intensity of the contact). did. 6G , an increase in the characteristic intensity of contact 6006 above the tap intensity threshold ITL as illustrated by intensity level meter 5028 causes message bubble 5018 to be replaced by platter 6008. The size of the virtual chair 5020 was further increased, and the blurring of the messaging user interface 5008 behind the platter 6008 was increased. 6H , an increase in the characteristic intensity of contact 6006 above the deep press intensity threshold ITD as illustrated by intensity level meter 5028 causes messaging user interface 5008 to stop being displayed. Initiates a fade in of the staging user interface 6010 (indicated by dotted lines). Additionally, as shown in FIG. 6H , an increase in the characteristic intensity of contact 6006 above the deep press intensity threshold ITD constitutes the criteria for replacing messaging user interface 5008 with staging user interface 6010. Cause the tactile output generators 167 of device 100 to output a tactile output (as illustrated by 6012) to indicate that it has been satisfied.
일부 실시예들에서, 도 6h에 도시된 바와 같이 접촉(6006)의 특성 세기가 깊게 누르기 세기 임계치(ITD)에 도달하기 전에, 도 6e 내지 도 6g에 도시된 진행은 가역적이다. 예를 들어, 도 6f 및/또는 도 6g에 예시된 증가들 후에 접촉(6006)의 특성 세기를 감소시키는 것은, 접촉(6006)의 감소된 세기 레벨에 대응하는 인터페이스 상태가 디스플레이되게 할 것이다(예컨대, 도 6g에 도시된 바와 같은 인터페이스는 접촉의 감소된 특성 세기가 가볍게 누르기 세기 임계치(ITL) 초과라는 결정에 따라 도시되고, 도 6f에 도시된 바와 같은 인터페이스는 접촉의 감소된 특성 세기가 힌트 누르기 세기 임계치(ITH) 초과라는 결정에 따라 도시되고, 도 6e에 도시된 바와 같은 인터페이스는 접촉의 감소된 특성 세기가 힌트 누르기 세기 임계치(ITH) 미만이라는 결정에 따라 도시된다). 일부 실시예들에서, 도 6f 및/또는 도 6g에 예시된 증가들 후에 접촉(6006)의 특성 세기를 감소시키는 것은 도 6e에 도시된 바와 같은 인터페이스가 재디스플레이되게 할 것이다.In some embodiments, the progression shown in Figures 6E-6G is reversible before the characteristic intensity of contact 6006 reaches the deep pressing intensity threshold ITD as shown in Figure 6H. For example, decreasing the characteristic intensity of contact 6006 after the increases illustrated in FIGS. 6F and/or 6G will cause an interface state corresponding to the reduced intensity level of contact 6006 to be displayed (e.g. , the interface as shown in Figure 6g is drawn according to the determination that the reduced characteristic intensity of the contact is above the light pressing intensity threshold (ITL ), and the interface as shown in Figure 6f is drawn according to the determination that the reduced characteristic intensity of the contact is hint The interface as shown in FIG. 6E is shown following a determination that the press intensity threshold (ITH ) is above the hint press intensity threshold (ITH ). In some embodiments, decreasing the characteristic intensity of contact 6006 after the increases illustrated in Figures 6F and/or 6G will cause the interface to be redisplayed as shown in Figure 6E.
도 6i에서는, 스테이징 사용자 인터페이스(6010)가 디스플레이된다. 스테이징 사용자 인터페이스(6010)는 가상 의자(5020)가 디스플레이되는 스테이지(6014)를 포함한다. 도 6h로부터 도 6i로, 가상 의자(5020)는 도 6h의 가상 의자(5020)의 위치로부터 도 6i의 가상 의자(5020)의 위치로의 전이를 나타내도록 애니메이션화된다. 예를 들어, 가상 의자(5020)는 (예컨대, 가상 의자가 스테이지(6014)에 의해 지지되는 것으로 보이도록) 스테이지(6014)에 대해 미리정의된 위치, 배향 및/또는 거리로 회전된다. 스테이징 사용자 인터페이스(6010)는 또한 뒤로 가기 제어부(6016)를 포함하는데, 뒤로 가기 제어부는, (예컨대, 뒤로 가기 제어부(6016)에 대응하는 위치에서의 탭 입력에 의해) 활성화될 때, 이전에 디스플레이된 사용자 인터페이스(예컨대, 메시징 사용자 인터페이스(5008))가 재디스플레이되게 한다. 스테이징 사용자 인터페이스(6010)는 또한, 현재 디스플레이 모드(예컨대, 현재 디스플레이 모드는, 강조된 "3D" 표시자에 의해 표시된 바와 같이, 스테이징 사용자 인터페이스 모드임)를 나타내고, 활성화될 때, 선택된 디스플레이 모드로의 전이를 야기하는 토글 제어부(6018)를 포함한다. 예를 들어, 스테이징 사용자 인터페이스(6010)가 디스플레이되는 동안, 토글 제어부(6018)에 대응하는 위치(예컨대, 텍스트 "World"를 포함하는 토글 제어부(6018)의 일부분에 대응하는 위치)에서의 접촉에 의한 탭 입력은 스테이징 사용자 인터페이스(6010)가 카메라(들)의 시야로 대체되게 한다. 스테이징 사용자 인터페이스(6010)는 또한 (예컨대, 공유 인터페이스를 디스플레이하기 위한) 공유 제어부(6020)를 포함한다.In Figure 6I, staging user interface 6010 is displayed. Staging user interface 6010 includes a stage 6014 on which a virtual chair 5020 is displayed. From Figure 6H to Figure 6I, virtual chair 5020 is animated to represent a transition from the position of virtual chair 5020 in Figure 6H to the position of virtual chair 5020 in Figure 6I. For example, virtual chair 5020 is rotated to a predefined position, orientation, and/or distance relative to stage 6014 (e.g., such that the virtual chair appears to be supported by stage 6014). Staging user interface 6010 also includes a back control 6016 that, when activated (e.g., by a tap input at a location corresponding to back control 6016), displays previously displayed causes the displayed user interface (e.g., messaging user interface 5008) to be redisplayed. Staging user interface 6010 also indicates the current display mode (e.g., the current display mode is the staging user interface mode, as indicated by the highlighted “3D” indicator) and, when activated, switches to the selected display mode. It includes a toggle control unit 6018 that causes a transition. For example, while staging user interface 6010 is displayed, upon contact at a location corresponding to toggle control 6018 (e.g., a location corresponding to the portion of toggle control 6018 containing the text “World”) A tap input causes the staging user interface 6010 to be replaced with the view of the camera(s). Staging user interface 6010 also includes sharing controls 6020 (e.g., for displaying a sharing interface).
도 6j 내지 도 6l은 접촉(6006)의 이동에 의해 야기되는 스테이지(6014)에 대한 가상 의자(5020)의 회전을 예시한다. 도 6j 및 도 6k에서, 접촉(6006)이 화살표(6022)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 (예컨대, 접촉(6066)의 이동에 수직인 제1 축을 중심으로) 회전된다. 도 6k 및 도 6l에서, 접촉(6006)이 화살표(6024)로 표시된 경로를 따라서 그리고 후속하여 화살표(6025)로 표시된 경로를 따라서 이동함에 따라, 가상 의자(5020)는 (예컨대, 접촉(6066)의 이동에 수직인 제2 축을 중심으로) 회전된다. 도 6m에서, 접촉(6006)은 터치 스크린(112)으로부터 리프트오프되었다. 일부 실시예들에서, 도 6j 내지 도 6l에 도시된 바와 같이, 가상 의자(5020)의 회전은 스테이지(6014)의 표면에 의해 제약된다. 예를 들어, 가상 의자(5020)의 적어도 하나의 다리는 가상 의자의 회전(들) 동안 스테이지(6014)의 표면과 접촉 상태로 유지된다. 일부 실시예들에서, 스테이지(6014)의 표면은 가상 의자(5020)의 이동에 대한 특정 제약조건들을 부과하지 않으면서 가상 의자(5020)의 자유 회전 및 수직 병진에 대한 기준 프레임으로서의 역할을 한다.6J-6L illustrate the rotation of virtual chair 5020 relative to stage 6014 caused by movement of contact 6006. 6J and 6K, as contact 6006 moves along the path indicated by arrow 6022, virtual chair 5020 rotates (e.g., about a first axis perpendicular to the movement of contact 6066). do. 6K and 6L, as contact 6006 moves along the path indicated by arrow 6024 and subsequently along the path indicated by arrow 6025, virtual chair 5020 moves (e.g., contact 6066). is rotated (about a second axis perpendicular to the movement of). In Figure 6M, contact 6006 has been lifted off touch screen 112. In some embodiments, as shown in Figures 6J-6L, the rotation of virtual chair 5020 is constrained by the surface of stage 6014. For example, at least one leg of virtual chair 5020 remains in contact with the surface of stage 6014 during rotation(s) of the virtual chair. In some embodiments, the surface of stage 6014 serves as a frame of reference for the free rotation and vertical translation of virtual chair 5020 without imposing specific constraints on the movement of virtual chair 5020.
도 6n 및 도 6o는 가상 의자(5020)의 디스플레이된 크기를 조정하는 입력을 예시한다. 도 6n에서, 터치 스크린(112)과의 제1 접촉(6026) 및 제2 접촉(6030)이 검출된다. 제1 접촉(6026)은 화살표(6028)로 표시된 경로를 따라서 이동하고, 제1 접촉(6026)의 이동과 동시에, 제2 접촉(6030)은 화살표(6032)로 표시된 경로를 따라서 이동한다. 도 6n 및 도 6o에서, 제1 접촉(6026) 및 제2 접촉(6030)이 화살표(6028, 6032)로 표시된 경로들을 따라 각각 (예컨대, 디핀치 제스처로) 이동함에 따라, 가상 의자(5020)의 디스플레이된 크기가 증가한다. 도 6p에서, 제1 접촉(6030) 및 제2 접촉(6026)은 터치 스크린(112)으로부터 리프트오프되었고, 가상 의자(5020)는 접촉들(6026, 6030)의 리프트오프 후에 증가된 크기를 유지한다.6N and 6O illustrate inputs for adjusting the displayed size of virtual chair 5020. 6N, first contact 6026 and second contact 6030 with touch screen 112 are detected. The first contact 6026 moves along the path indicated by arrow 6028, and simultaneously with the movement of the first contact 6026, the second contact 6030 moves along the path indicated by arrow 6032. 6N and 6O, as first contact 6026 and second contact 6030 move along paths indicated by arrows 6028 and 6032, respectively (e.g., in a depinch gesture), virtual chair 5020 The displayed size increases. 6P, first contact 6030 and second contact 6026 have been lifted off from touch screen 112 and virtual chair 5020 maintains its increased size after liftoff of contacts 6026 and 6030. do.
도 6q 내지 도 6u는 스테이징 사용자 인터페이스(6010)가 디바이스(100)의 하나 이상의 카메라들의 시야(6036)로 대체되게 하는 입력을 예시한다. 도 6q에서, 디바이스(100)의 터치 스크린(112)과의 접촉(6034)이 검출된다. 접촉의 특성 세기는, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이, 접촉 검출 세기 임계치(IT0) 초과이고 힌트 누르기 세기 임계치(ITH) 미만이다. 도 6r에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 힌트 누르기 세기 임계치(ITH)를 초과하는 접촉(5026)의 특성 세기의 증가는 스테이징 사용자 인터페이스(6010)가 (점선들로 표시된 바와 같이) 가상 의자(5020) 뒤에서 블러링되기 시작하게 하였다. 도 6s에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 가볍게 누르기 세기 임계치(ITL)를 초과하는 접촉(6034)의 특성 세기의 증가는 스테이징 사용자 인터페이스(6010)가 디스플레이되는 것이 중지되게 하였고 카메라(들)의 시야(6036)의 (점선들로 표시된) 페이드 인을 개시한다. 도 6t에서, 세기 레벨 측정기(5028)에 의해 예시되는 바와 같이 깊게 누르기 세기 임계치(ITD)를 초과하는 접촉(6034)의 특성 세기의 증가는 카메라(들)의 시야(6036)가 디스플레이되게 한다. 추가적으로, 도 6t에 도시된 바와 같이, 깊게 누르기 세기 임계치(ITD)를 초과하는 접촉(6034)의 특성 세기의 증가는 스테이징 사용자 인터페이스(6010)의 디스플레이를 카메라(들)의 시야(6036)의 디스플레이로 대체하기 위한 기준들이 충족되었다는 것을 나타내기 위해 (6038로 예시된 바와 같은) 촉각적 출력을 디바이스(100)의 촉각적 출력 생성기들(167)이 출력하게 한다. 도 6u에서, 접촉(6034)은 터치 스크린(112)으로부터 리프트오프되었다. 일부 실시예들에서, 도 6t에 도시된 바와 같이 접촉(6034)의 특성 세기가 깊게 누르기 세기 임계치(ITD)에 도달하기 전에, 도 6q 내지 도 6t에 도시된 진행은 가역적이다. 예를 들어, 접촉(6034)의 특성 세기를 도 6r 및/또는 도 6s에 예시된 증가들 후에 감소시키는 것은 접촉(6034)의 감소된 세기 레벨에 대응하는 인터페이스 상태가 디스플레이되게 할 것이다.6Q-6U illustrate input that causes staging user interface 6010 to be replaced with a
도 6q로부터 도 6u로, 가상 의자(5020)는 (예컨대, 가상 의자(5020)가 바닥 표면(5038)과 같은 검출된 수평 표면 상에서 직립 배향으로 배치되도록 구성된다는 디바이스(100)에 의한 결정에 따라) 검출된 평면 상에 배치되고, 가상 의자(5020)의 크기는 조정된다(예컨대, 카메라(들)의 시야(6036)에 도시된 바와 같은 물리적 공간(5002)에 대한 가상 의자(5020)의 축척은 카메라(들)의 시야(6036) 내에서의 가상 의자(5020)의 정의된 "실세계" 크기 및/또는 (테이블(5004)과 같은) 객체들의 검출된 크기에 기초하여 결정된다). (예컨대, 도 6j 및 도 6k와 관련하여 기술된 바와 같이) 스테이징 인터페이스(6010)가 디스플레이되는 동안 가상 의자(5020)의 회전에 의해 야기되는 가상 의자(5020)의 배향은 가상 의자(5020)가 스테이징 사용자 인터페이스(6010)로부터 카메라(들)의 시야(6036)로 전이됨에 따라 유지된다. 예를 들어, 바닥 표면(5038)에 대한 가상 의자(5020)의 배향은 스테이지(5014)의 표면에 대한 가상 의자(5020)의 최종 배향과 동일하다. 일부 실시예들에서, 스테이징 사용자 인터페이스에서의 가상 객체(5020)의 크기에 대한 조정은 가상 의자(5020)의 크기가 시야(6036) 내에서 물리적 공간(5002)의 크기에 대해 조정될 때 고려된다.6Q to 6U, virtual chair 5020 is configured to be positioned in an upright orientation on a detected horizontal surface (e.g., floor surface 5038). ) is placed on the detected plane, and the size of the virtual chair 5020 is adjusted (e.g., the scale of the virtual chair 5020 relative to the physical space 5002 as shown in the field of
도 6v 내지 도 6y는 카메라(들)의 시야(6036)가 스테이징 사용자 인터페이스(6010)로 대체되게 하는 입력을 예시한다. 도 6v에서, 접촉(6040)에 의한 입력(예컨대, 탭 입력)이 토글 제어부(6018)에 대응하는 위치(예컨대, 텍스트 "3D"를 포함하는 토글 제어부(6018)의 일부분에 대응하는 위치)에서 검출된다. 도 6w 내지 도 6y에서, 접촉(6040)에 의한 입력에 응답하여, 카메라(들)의 시야(6036)는 (도 6w에서 점선들로 표시된 바와 같이) 페이드 아웃되고, 스테이징 사용자 인터페이스(6010)는 (도 6x에서 점선들로 표시된 바와 같이) 페이드 인되고, 스테이징 사용자 인터페이스(6010)는 (도 6y에 도시된 바와 같이) 완전히 디스플레이된다. 도 6v로부터 도 6y로, (예컨대, 가상 의자(5020)를 스테이징 사용자 인터페이스에 대한 미리정의된 위치 및 크기로 복귀시키도록) 가상 의자(5020)의 크기가 조정되고 가상 의자(5020)의 위치가 변경된다.6V-6Y illustrate input that causes the camera(s)' field of
도 6z 내지 도 6ac는 스테이징 사용자 인터페이스(6010)가 메시징 사용자 인터페이스(5008)로 대체되게 하는 입력을 예시한다. 도 6z에서, 접촉(6042)에 의한 입력(예컨대, 탭 입력)이 뒤로 가기 제어부(6016)에 대응하는 위치에서 검출된다. 도 6aa 내지 도 6ac에서, 접촉(6042)에 의한 입력에 응답하여, 스테이징 사용자 인터페이스(6010)는 (도 6aa에서 점선들로 표시된 바와 같이) 페이드 아웃되고, 메시징 사용자 인터페이스(5008)는 (도 6ab에서 점선들로 표시된 바와 같이) 페이드 인되고, 메시징 사용자 인터페이스(5008)는 (도 6ac에 도시된 바와 같이) 완전히 디스플레이된다. 도 6z로부터 도 6ab로, 가상 의자(5020)의 크기, 배향, 및 위치는 (예컨대, 가상 의자(5020)를 메시징 사용자 인터페이스(5008)에 대한 미리정의된 위치, 크기 및 배향으로 복귀시키도록) 디스플레이 상에서 연속적으로 조정된다.6Z-6AC illustrate input that causes staging user interface 6010 to be replaced with messaging user interface 5008. In FIG. 6Z, input by contact 6042 (e.g., tap input) is detected at a position corresponding to the back control 6016. 6AA-6AC, in response to input by contact 6042, staging user interface 6010 fades out (as indicated by dashed lines in FIG. 6AA) and messaging user interface 5008 fades out (FIG. 6AB). fades in (as indicated by the dashed lines in ), and messaging user interface 5008 is fully displayed (as shown in Figure 6ac). 6Z to 6AB, the size, orientation, and position of virtual chair 5020 are adjusted (e.g., to return virtual chair 5020 to a predefined position, size, and orientation for messaging user interface 5008). Adjusted continuously on the display.
도 6ad 내지 도 6aj는 메시징 사용자 인터페이스(5008)가 카메라(들)의 시야(6036)로 대체되게 하는 입력(예컨대, 스테이징 사용자 인터페이스(6010)의 디스플레이를 바이패스함)을 예시한다. 도 6ad에서, 접촉(6044)이 가상 의자(5020)에 대응하는 위치에서 검출된다. 접촉(6044)에 의한 입력은, 긴 터치 제스처(긴 터치 제스처 동안 접촉(6044)은 가상 객체(5020)의 표현에 대응하는 터치 감응형 표면 상의 위치에서 적어도 미리정의된 임계 시간 동안 임계량 미만의 이동으로 유지됨)에 이은 (가상 의자(5020)를 상향으로 드래그하는) 상향 스와이프 제스처를 포함한다. 도 6ad 및 도 6ae에 도시된 바와 같이, 가상 의자(5020)는 접촉(6044)이 화살표(6046)로 표시되는 경로를 따라서 이동함에 따라 상향으로 드래그된다. 도 6ae에서, 메시징 사용자 인터페이스(5008)는 가상 의자(5020) 뒤에서 페이드 아웃된다. 도 6ae 및 도 6af에 도시된 바와 같이, 가상 의자(5020)는 접촉(6044)이 화살표(6048)로 표시되는 경로를 따라서 이동함에 따라 상향으로 계속 드래그된다. 도 6af에서, 카메라(들)의 시야(5036)는 가상 의자(5020) 뒤에서 페이드 인된다. 도 6ag에서, 긴 터치 제스처에 이은 상향 스와이프 제스처를 포함하는 접촉(6044)에 의한 입력에 응답하여, 카메라(들)의 시야(5036)는 완전히 디스플레이된다. 도 6ah에서, 접촉(6044)은 터치 스크린(112)으로부터 리프트오프되어 있다. 도 6ah 내지 도 6aj에서, 접촉(6044)의 리프트오프에 응답하여, 가상 의자(5020)는 (예컨대, 가상 의자(5020)가 더 이상 접촉에 의해 구속 또는 드래그되지 않기 때문에) 해제되고 평면(예컨대, 수평 (바닥) 표면이 가상 의자(5020)에 대응한다는 결정에 따라, 바닥 표면(5038))으로 낙하한다. 추가적으로, 도 6aj에 예시된 바와 같이, 디바이스(100)의 촉각적 출력 생성기들(167)은 가상 의자(5020)가 바닥 표면(5038) 상에 랜딩되었다는 것을 나타내기 위해 (6050으로 예시된 바와 같은) 촉각적 출력을 출력한다.6A-6J illustrate input that causes the messaging user interface 5008 to be replaced with the view of the camera(s) 6036 (e.g., bypassing the display of the staging user interface 6010). 6A, contact 6044 is detected at a location corresponding to virtual chair 5020. Input by contact 6044 may be a long touch gesture (during a long touch gesture, contact 6044 moves less than a threshold amount for at least a predefined threshold time at a location on the touch-sensitive surface corresponding to a representation of virtual object 5020). maintained) followed by an upward swipe gesture (drag the virtual chair 5020 upward). As shown in Figures 6A and 6A, virtual chair 5020 is dragged upward as contact 6044 moves along the path indicated by arrow 6046. In Figure 6ae, messaging user interface 5008 fades out behind virtual chair 5020. As shown in Figures 6A and 6AF, virtual chair 5020 continues to be dragged upward as contact 6044 moves along the path indicated by arrow 6048. In Figure 6AF, the view of the camera(s) 5036 fades in behind the virtual chair 5020. 6Ag, in response to input by contact 6044, which includes a long touch gesture followed by an upward swipe gesture, the field of view 5036 of the camera(s) is fully displayed. In Figure 6ah, contact 6044 is lifted off from touch screen 112. 6A-6J , in response to the liftoff of contact 6044, virtual chair 5020 is released (e.g., because virtual chair 5020 is no longer constrained or dragged by the contact) and is moved to a plane (e.g. , falls to the floor surface 5038, following the determination that the horizontal (floor) surface corresponds to the virtual chair 5020. Additionally, as illustrated in FIG. 6J , tactile output generators 167 of device 100 generate a signal (as illustrated at 6050 ) to indicate that virtual chair 5020 has landed on floor surface 5038 . ) Outputs tactile output.
도 7a 내지 도 7p는 일부 실시예들에 따른, 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시를 갖는 아이템을 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.7A-7P illustrate example user interfaces for displaying an item with a visual indication that the item corresponds to a virtual three-dimensional object, according to some embodiments. The user interfaces in these figures are FIGS. 8A-8E, 9A-9D, 10A-10D, 16A-16G, 17A-17D, 18A-18I, 19A-19H, and FIG. It is used to illustrate the processes described below, including the processes of Figures 20A through 20F. For ease of explanation, some of the embodiments will be discussed with reference to operations performed on a device with touch-sensitive display system 112. In these embodiments, the focus selector may optionally be: an individual finger or stylus contact, a representative point corresponding to a finger or stylus contact (e.g., the center of the individual contact, or a point associated with the individual contact), or It is the center of two or more contacts detected on the touch-sensitive display system 112. However, similar operations may optionally be performed on the display 450 and the display 450 in response to detecting contacts on the touch-sensitive surface 451 while displaying the user interfaces shown in the figures with a focus selector on the display 450. Performed on a device with a separate touch-sensitive surface 451.
도 7a는 애플리케이션들의 메뉴에 대한 사용자 인터페이스(400)가 디스플레이되는 동안 검출된 입력을 예시한다. 입력은 제1 사용자 인터페이스(예컨대, 인터넷 브라우저 사용자 인터페이스(5060))를 디스플레이하라는 요청에 대응한다. 도 7a에서, 접촉(7000)에 의한 입력(예컨대, 탭 입력)이 브라우저 모듈(147)에 대한 아이콘(420)에 대응하는 위치에서 검출된다. 입력에 응답하여, 인터넷 브라우저 사용자 인터페이스(5060)가 도 7b에 도시된 바와 같이 디스플레이된다.Figure 7A illustrates input detected while the user interface 400 for a menu of applications is displayed. The input corresponds to a request to display a first user interface (e.g., Internet browser user interface 5060). In FIG. 7A , input by contact 7000 (e.g., tap input) is detected at a location corresponding to icon 420 for browser module 147. In response to input, Internet browser user interface 5060 is displayed as shown in FIG. 7B.
도 7b는 (예컨대, 도 5ae와 관련하여 상세히 기술된 바와 같은) 인터넷 브라우저 사용자 인터페이스(5060)를 예시한다. 인터넷 브라우저 사용자 인터페이스(5060)는 웹 객체들(5066, 5068, 5070, 5072, 5074, 5076)을 포함한다. 웹 객체들(5066, 5068, 5072)은 가상 객체 표시자들(5078, 5080, 5082)에 의해 각각 표시되는 바와 같이 3차원 가상 객체들의 2차원 표현들을 포함한다. 웹 객체들(5070, 5074, 5076)은 2차원 이미지들을 포함한다(그러나, 웹 객체들(5070, 5074, 5076)의 2차원 이미지들은, 가상 객체 표시자들이 없는 것으로 나타내는 바와 같이, 3차원 가상 객체들에 대응하지 않는다).FIG. 7B illustrates an Internet browser user interface 5060 (e.g., as described in detail with respect to FIG. 5AE). Internet browser user interface 5060 includes web objects 5066, 5068, 5070, 5072, 5074, and 5076. Web objects 5066, 5068, and 5072 include two-dimensional representations of three-dimensional virtual objects as indicated by virtual object indicators 5078, 5080, and 5082, respectively. Web objects 5070, 5074, and 5076 include two-dimensional images (however, the two-dimensional images of web objects 5070, 5074, and 5076 are three-dimensional virtual images, as indicated by the absence of virtual object indicators). does not correspond to objects).
도 7c 및 도 7d는 인터넷 브라우저 사용자 인터페이스(5060)의 병진(예컨대, 스크롤)을 야기하는 입력을 예시한다. 도 7b에서, 터치 스크린(112)과의 접촉(7002)이 검출된다. 도 7c 및 도 7d에서, 접촉(7002)이 화살표(7004)로 표시된 경로를 따라서 이동함에 따라, 웹 객체들(5066, 5068, 5070, 5072, 5074, 5076)은 상향으로 스크롤되어, 추가 웹 객체들(7003, 7005)을 드러낸다. 추가적으로, 접촉(7002)이 화살표(7004)로 표시된 경로를 따라서 이동함에 따라, 가상 객체 표시자들(5078, 5080, 5082)을 각각 포함하는 웹 객체들(5066, 5068, 5072) 내의 가상 객체들은 입력의 (상향 수직) 방향에 따라 회전한다(예컨대, 상향으로 기울어진다). 예를 들어, 가상 램프(5084)는 도 7c의 제1 배향으로부터 도 7d의 제2 배향으로 상향으로 기울어진다. 웹 객체들(5070, 5074, 5076)의 2차원 이미지들은 접촉이 인터넷 브라우저 사용자 인터페이스(5060)를 스크롤함에 따라 회전하지 않는다. 도 7e에서, 접촉(7002)은 터치 스크린(112)으로부터 리프트오프되었다. 일부 실시예들에서, 웹 객체들(5066, 5068, 5072)에 도시된 객체들의 회전 거동은 이들 웹 객체들이 증강 현실 환경에서 관찰가능한 대응하는 3차원 가상 객체들을 갖는다는 시각적 표시로서 사용되는 한편, 웹 객체들(5070, 5074, 5076)에 도시된 객체들의 그러한 회전 거동이 없는 것은 이들 웹 객체들이 증강 현실 환경에서 관찰가능한 대응하는 3차원 가상 객체들을 갖지 않는다는 시각적 표시로서 사용된다.7C and 7D illustrate input that causes translation (e.g., scrolling) of the Internet browser user interface 5060. In Figure 7B, contact 7002 with touch screen 112 is detected. 7C and 7D, as contact 7002 moves along the path indicated by arrow 7004, web objects 5066, 5068, 5070, 5072, 5074, and 5076 scroll upward to reveal additional web objects. (7003, 7005) are revealed. Additionally, as contact 7002 moves along the path indicated by arrow 7004, virtual objects within web objects 5066, 5068, and 5072 containing virtual object indicators 5078, 5080, and 5082, respectively. Rotates (i.e. tilts upward) according to the (vertical upward) direction of the input. For example, virtual ramp 5084 tilts upward from the first orientation in Figure 7C to the second orientation in Figure 7D. The two-dimensional images of web objects 5070, 5074, and 5076 do not rotate as the contact scrolls Internet browser user interface 5060. In Figure 7E, contact 7002 has been lifted off from touch screen 112. In some embodiments, the rotational behavior of the objects depicted in web objects 5066, 5068, 5072 is used as a visual indication that these web objects have corresponding three-dimensional virtual objects observable in an augmented reality environment. The absence of such rotational behavior of the objects depicted in web objects 5070, 5074, and 5076 is used as a visual indication that these web objects do not have corresponding three-dimensional virtual objects observable in the augmented reality environment.
도 7f 및 도 7g는 물리적 세계에 대한 디바이스(100)의 배향의 변경에 응답하여 가상 객체들이 디스플레이 상에서 회전하는 시차(parallax) 효과를 예시한다.7F and 7G illustrate the parallax effect in which virtual objects rotate on the display in response to a change in the orientation of device 100 with respect to the physical world.
도 7f1은 디바이스(100)가 실질적으로 수직인 배향을 갖도록 사용자(7006)에 의해 사용자의 손(5006)에 보유되어 있는 디바이스(100)를 예시한다. 도 7f2는 디바이스(100)가 도 7f1에 예시된 배향으로 있을 때 디바이스(100)에 의해 디스플레이되는 바와 같은 인터넷 브라우저 사용자 인터페이스(5060)를 예시한다.FIG. 7F1 illustrates device 100 being held by user 7006 in a user's hand 5006 such that device 100 has a substantially vertical orientation. FIG. 7F2 illustrates Internet browser user interface 5060 as displayed by device 100 when device 100 is in the orientation illustrated in FIG. 7F1 .
도 7g1은 디바이스(100)가 실질적으로 수평인 배향을 갖도록 사용자(7006)에 의해 사용자의 손(5006)에 보유되어 있는 디바이스(100)를 예시한다. 도 7g2는 디바이스(100)가 도 7g1에 예시된 배향으로 있을 때 디바이스(100)에 의해 디스플레이되는 바와 같은 인터넷 브라우저 사용자 인터페이스(5060)를 예시한다. 도 7f2로부터 도 7g2로, 가상 객체 표시자들(5078, 5080, 5082)을 각각 포함하는 웹 객체들(5066, 5068, 5072) 내의 가상 객체들의 배향은 디바이스의 배향의 변경에 따라 회전한다(예컨대, 상향으로 기울어진다). 예를 들어, 가상 램프(5084)는, 물리적 공간 내에서의 디바이스 배향의 동시 변경에 따라, 도 7f2의 제1 배향으로부터 도 7g2의 제2 배향으로 상향으로 기울어진다. 웹 객체들(5070, 5074, 5076)의 2차원 이미지들은 디바이스의 배향이 변함에 따라 회전하지 않는다. 일부 실시예들에서, 웹 객체들(5066, 5068, 5072)에 도시된 객체들의 회전 거동은 이들 웹 객체들이 증강 현실 환경에서 관찰가능한 대응하는 3차원 가상 객체들을 갖는다는 시각적 표시로서 사용되는 한편, 웹 객체들(5070, 5074, 5076)에 도시된 객체들의 그러한 회전 거동이 없는 것은 이들 웹 객체들이 증강 현실 환경에서 관찰가능한 대응하는 3차원 가상 객체들을 갖지 않는다는 시각적 표시로서 사용된다.FIG. 7G1 illustrates device 100 being held by user 7006 in a user's hand 5006 such that device 100 has a substantially horizontal orientation. FIG. 7G2 illustrates Internet browser user interface 5060 as displayed by device 100 when device 100 is in the orientation illustrated in FIG. 7G1. 7F2 to 7G2, the orientation of virtual objects within web objects 5066, 5068, and 5072, respectively, containing virtual object indicators 5078, 5080, and 5082 rotate with changes in the orientation of the device (e.g. , tilted upward). For example, virtual ramp 5084 tilts upward from the first orientation in FIG. 7F2 to the second orientation in FIG. 7G2 depending on the simultaneous change in device orientation in physical space. The two-dimensional images of web objects 5070, 5074, and 5076 do not rotate as the orientation of the device changes. In some embodiments, the rotational behavior of the objects depicted in web objects 5066, 5068, 5072 is used as a visual indication that these web objects have corresponding three-dimensional virtual objects observable in an augmented reality environment. The absence of such rotational behavior of the objects depicted in web objects 5070, 5074, and 5076 is used as a visual indication that these web objects do not have corresponding three-dimensional virtual objects observable in the augmented reality environment.
도 7h 내지 도 7l은 제2 사용자 인터페이스(예컨대, 메시징 사용자 인터페이스(5008))를 디스플레이하라는 요청에 대응하는 입력을 예시한다. 도 7h에서, 접촉(7008)이 디스플레이(112)의 하부 에지에 대응하는 위치에서 검출된다. 도 7h 및 도 7i에서, 접촉(7008)은 화살표(7010)로 표시된 경로를 따라서 상향으로 이동한다. 도 7i 및 도 7j에서, 접촉(7008)은 화살표(7012)로 표시된 경로를 따라서 상향으로 계속 이동한다. 도 7h 내지 도 7j에서, 접촉(7008)이 디스플레이(112)의 하부 에지로부터 상향으로 이동함에 따라, (예컨대, 접촉(7008)에 의한 상향 에지 스와이프 제스처에 응답하여), 도 7i에 도시된 바와 같이, 인터넷 브라우저 사용자 인터페이스(5060)의 크기는 감소하고, 도 7j에서, 멀티태스킹 사용자 인터페이스(7012)가 디스플레이된다. 멀티태스킹 사용자 인터페이스(7012)는 보유된 상태(retained state)들(예컨대, 보유된 상태는 각각의 애플리케이션이 디바이스 상에서 실행된 전경 애플리케이션이었을 때 각각의 애플리케이션의 마지막 상태임)을 갖는 다양한 애플리케이션들 및 다양한 제어 인터페이스들(예컨대, 도 7j에 예시된 바와 같은, 제어 센터 사용자 인터페이스(7014), 인터넷 브라우저 사용자 인터페이스(5060), 및 메시징 사용자 인터페이스(5008)) 중으로부터의 인터페이스의 선택을 허용하도록 구성된다. 도 7k에서, 접촉(7008)은 터치 스크린(112)으로부터 리프트오프되어 있다. 도 7l에서, 접촉(7016)에 의한 입력(예컨대, 탭 입력)이 메시징 사용자 인터페이스(5008)에 대응하는 위치에서 검출된다. 접촉(7016)에 의한 입력에 응답하여, 도 7m에 예시된 바와 같이, 메시징 사용자 인터페이스(5008)가 디스플레이된다.7H-7L illustrate input corresponding to a request to display a second user interface (e.g., messaging user interface 5008). In Figure 7H, contact 7008 is detected at a location corresponding to the bottom edge of display 112. 7H and 7I, contact 7008 moves upward along the path indicated by arrow 7010. 7I and 7J, contact 7008 continues to move upward along the path indicated by arrow 7012. 7H-7J , as contact 7008 moves upward from the bottom edge of display 112 (e.g., in response to an upward edge swipe gesture by contact 7008), the effect shown in FIG. 7I As shown, the size of the Internet browser user interface 5060 is reduced and, in Figure 7J, the multitasking user interface 7012 is displayed. Multitasking user interface 7012 supports various applications having retained states (e.g., the retained state is the last state of each application when it was the foreground application running on the device) and various It is configured to allow selection of an interface from among control interfaces (e.g., control center user interface 7014, Internet browser user interface 5060, and messaging user interface 5008, as illustrated in FIG. 7J). In Figure 7K, contact 7008 is lifted off from touch screen 112. In FIG. 7L , input by contact 7016 (e.g., a tap input) is detected at a location corresponding to messaging user interface 5008. In response to input by contact 7016, messaging user interface 5008 is displayed, as illustrated in FIG. 7M.
도 7m은 메시지 내에 수신된 가상 객체(예컨대, 가상 의자(5020)) 및 가상 의자(5020)가 가상 3차원 객체(예컨대, 증강 현실 뷰에서 관찰가능한 객체 및/또는 상이한 각도들로부터 관찰가능한 객체)라는 것을 나타내는 가상 객체 표시자(5022)를 포함하는 메시지 말풍선(5018)을 포함하는 (예컨대, 도 5b와 관련하여 더 상세히 기술된 바와 같은) 메시징 사용자 인터페이스(5008)를 예시한다. 메시징 사용자 인터페이스(5008)는 또한, 전송된 텍스트 메시지를 포함하는 메시지 말풍선(6005) 및 이모지(emoji)(7020)를 포함하는 수신된 텍스트 메시지를 포함하는 메시지 말풍선(7018)을 포함한다. 이모지(7020)는 가상 3차원 객체에 대응하지 않는 2차원 이미지이다. 이러한 이유로, 이모지(7020)는 가상 객체 표시자 없이 디스플레이된다.7M illustrates a virtual object (e.g., virtual chair 5020) received within a message and virtual chair 5020 as a virtual three-dimensional object (e.g., an object observable in an augmented reality view and/or an object observable from different angles). illustrates a messaging user interface 5008 (e.g., as described in more detail with respect to FIG. 5B) that includes a message bubble 5018 that includes a virtual object indicator 5022 indicating: Messaging user interface 5008 also includes a message bubble 6005 containing a sent text message and a message bubble 7018 containing a received text message containing an emoji 7020. Emoji 7020 is a two-dimensional image that does not correspond to a virtual three-dimensional object. For this reason, emoji 7020 is displayed without a virtual object indicator.
도 7n은 지도(7024), 제1 관심 지점에 대한 관심 지점 정보 영역(7026), 및 제2 관심 지점에 대한 관심 지점 정보 영역(7032)을 포함하는 지도 사용자 인터페이스(7022)를 예시한다. 예를 들어, 제1 관심 지점 및 제2 관심 지점은 검색 입력 영역(7025) 내의 검색 엔트리 "Apple"에 대응하는, 지도(7024)에 의해 도시된 영역 내의 또는 그에 근접한 검색 결과들이다. 제1 관심 지점 정보 영역(7026)에서, 제1 관심 지점 객체(7028)는 제1 관심 지점 객체(7028)가 가상 3차원 객체인 것을 나타내는 가상 객체 표시자(7030)와 함께 디스플레이된다. 제2 관심 지점 정보 영역(7032)에서, 제2 관심 지점 객체(7034)는 제2 관심 지점 객체(7034)가 증강 현실 뷰에서 관찰가능한 가상 3차원 객체에 대응하지 않기 때문에 가상 객체 표시자 없이 디스플레이된다.7N illustrates a map user interface 7022 that includes a map 7024, a point of interest information area 7026 for a first point of interest, and a point of interest information area 7032 for a second point of interest. For example, the first point of interest and the second point of interest are search results in or near the area depicted by map 7024, corresponding to the search entry “Apple” in search input area 7025. In the first point of interest information area 7026, the first point of interest object 7028 is displayed with a virtual object indicator 7030 indicating that the first point of interest object 7028 is a virtual three-dimensional object. In the second point of interest information area 7032, the second point of interest object 7034 is displayed without a virtual object indicator because the second point of interest object 7034 does not correspond to a virtual three-dimensional object observable in the augmented reality view. do.
도 7o는 파일 관리 제어부(7038), 파일 관리 검색 입력 영역(7040), 제1 파일(예컨대, PDF(portable document format) 파일)에 대한 파일 정보 영역(7042), 제2 파일(예컨대, 사진 파일)에 대한 파일 정보 영역(7044), 제3 파일(예컨대, 가상 의자 객체)에 대한 파일 정보 영역(7046), 및 제4 파일(예컨대, PDF 파일)에 대한 파일 정보 영역(7048)을 포함하는 파일 관리 사용자 인터페이스(7036)를 예시한다. 제3 파일 정보 영역(7046)은 제3 파일이 가상 3차원 객체에 대응한다는 것을 나타내기 위해 파일 정보 영역(7046)의 파일 미리보기 객체(7045)에 인접하게 디스플레이된 가상 객체 표시자(7050)를 포함한다. 제1 파일 정보 영역(7042), 제2 파일 정보 영역(7044), 및 제4 파일 정보 영역(7048)은 이러한 파일 정보 영역들에 대응하는 파일들이 증강 현실 환경에서 관찰가능한 대응하는 가상 3차원 객체들을 갖지 않기 때문에 가상 객체 표시자들 없이 디스플레이된다.7O shows a file management control unit 7038, a file management search input area 7040, a file information area 7042 for a first file (e.g., a portable document format (PDF) file), and a second file (e.g., a photo file). ), a file information area 7046 for a third file (e.g., a virtual chair object), and a file information area 7048 for a fourth file (e.g., a PDF file). Illustrative file management user interface 7036. The third file information area 7046 includes a virtual object indicator 7050 displayed adjacent to the file preview object 7045 of the file information area 7046 to indicate that the third file corresponds to a virtual three-dimensional object. Includes. The first file information area 7042, the second file information area 7044, and the fourth file information area 7048 have files corresponding to these file information areas corresponding to virtual three-dimensional objects that can be observed in an augmented reality environment. Since it does not have virtual object indicators, it is displayed without virtual object indicators.
도 7p는 이메일 내비게이션 제어부들(7054), 이메일 정보 영역(7056), 및 제1 첨부물(7060)의 표현 및 제2 첨부물(7062)의 표현을 포함하는 이메일 콘텐츠 영역(7058)을 포함하는 이메일 사용자 인터페이스(7052)를 도시한다. 제1 첨부물(7060)의 표현은 제1 첨부물이 증강 현실 환경에서 관찰가능한 가상 3차원 객체인 것을 나타내는 가상 객체 표시자(7064)를 포함한다. 제2 첨부물(7062)은 제2 첨부물이 증강 현실 환경에서 관찰가능한 가상 3차원 객체가 아니기 때문에 가상 객체 표시자 없이 디스플레이된다.7P depicts an email user including email navigation controls 7054, an email information area 7056, and an email content area 7058 including a representation of a first attachment 7060 and a representation of a second attachment 7062. Interface 7052 is shown. The representation of first attachment 7060 includes a virtual object indicator 7064 indicating that the first attachment is a virtual three-dimensional object observable in an augmented reality environment. The second attachment 7062 is displayed without a virtual object indicator because the second attachment is not a virtual three-dimensional object observable in the augmented reality environment.
도 8a 내지 도 8e는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 디스플레이하는 방법(800)을 예시하는 흐름도들이다. 방법(800)은 디스플레이, 터치 감응형 표면, 및 하나 이상의 카메라들(예컨대, 디스플레이 및 터치 감응형 표면과 반대편인 디바이스의 면 상의 하나 이상의 후방 카메라들)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고, 터치 감응형 표면은 디스플레이 상에 있거나 그와 통합된다. 일부 실시예들에서, 디스플레이는 터치 감응형 표면과는 별개이다. 방법(800)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.8A-8E are flow diagrams illustrating a method 800 of displaying a representation of a virtual object while switching from displaying a first user interface area to displaying a second user interface area, according to some embodiments. admit. Method 800 includes an electronic device (e.g., the device of FIG. 3 ) having a display, a touch-sensitive surface, and one or more cameras (e.g., one or more rear-facing cameras on a side of the device opposite the display and the touch-sensitive surface). 300, or the portable multi-function device 100 of FIG. 1A). In some embodiments, the display is a touch screen display and the touch-sensitive surface is on or integrated with the display. In some embodiments, the display is separate from the touch-sensitive surface. Some operations in method 800 are selectively combined and/or the order of some operations is selectively changed.
방법(800)은 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 디바이스의 터치 감응형 표면에서 접촉에 의한 입력을 검출하는 것에 관한 것이다. 입력에 응답하여, 디바이스는, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 디바이스의 하나 이상의 카메라들의 시야로 대체하는 동안 가상 객체의 표현을 연속적으로 디스플레이할지 여부를 결정하기 위한 기준들을 사용한다. 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야로 대체하는 동안 가상 객체의 표현을 연속적으로 디스플레이할지 여부를 결정하기 위한 기준들을 사용함으로써 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. (예컨대, 사용자 인터페이스의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야로 대체함으로써, 또는 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야의 표현으로 대체하지 않으면서 제1 사용자 인터페이스 영역의 디스플레이를 유지함으로써) 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Method 800 relates to detecting input by contact on a touch-sensitive surface of a device that displays a representation of a virtual object within a first user interface area. In response to the input, the device uses the criteria to determine whether to continuously display a representation of the virtual object while replacing the display of at least a portion of the first user interface area with the field of view of one or more cameras of the device. Performing a number of different types of operations in response to input by using criteria to determine whether to continuously display a representation of a virtual object while replacing the display of at least a portion of the first user interface area with the field of view of one or more cameras. makes possible. (e.g., by replacing the display of at least a portion of the user interface with a representation of the field of view of one or more cameras, or without replacing the display of at least a portion of the first user interface region with a representation of the field of view of one or more cameras) Enabling the performance of multiple different types of actions in response to input (by maintaining the display) increases the efficiency with which the user can perform these actions, thereby improving the operability of the device, which additionally: It reduces device power usage and improves battery life by enabling users to use their devices more quickly and efficiently.
디바이스는 디스플레이(112) 상의 제1 사용자 인터페이스 영역(예컨대, 2차원 그래픽 사용자 인터페이스 또는 그의 일부분(예컨대, 가구 이미지들의 열람가능 목록(browsable list), 하나 이상의 선택가능 객체들을 포함하는 이미지 등)) 내에 가상 객체의 표현(예컨대, 3차원 객체의 그래픽 표현, 예컨대, 가상 의자(5020), 가상 램프(5084), 신발, 가구, 수공구들, 장식물들, 사람, 이모지, 게임 캐릭터, 가상 가구, 등)을 디스플레이한다(802). 예를 들어, 제1 사용자 인터페이스 영역은 도 5b에 도시된 바와 같은 메시징 사용자 인터페이스(5008) 또는 도 5ae에 도시된 바와 같은 인터넷 브라우저 사용자 인터페이스(5060)이다. 일부 실시예들에서, 제1 사용자 인터페이스 영역은 디바이스 주위의 물리적 환경의 이미지 이외의 배경을 포함한다(예컨대, 제1 사용자 인터페이스 영역의 배경은 미리선택된 배경 색상/패턴, 또는 하나 이상의 카메라들에 의해 동시에 캡처된 출력 이미지와 구별되고 하나 이상의 카메라들의 시야 내의 라이브 콘텐츠와 구별되는 배경 이미지이다).The device is displayed within a first user interface area (e.g., a two-dimensional graphical user interface or portion thereof (e.g., a browsable list of furniture images, an image containing one or more selectable objects, etc.)) on display 112. Representation of virtual objects (e.g., graphical representations of three-dimensional objects, e.g., virtual chair 5020, virtual lamp 5084, shoes, furniture, hand tools, decorations, people, emojis, game characters, virtual furniture, etc. ) is displayed (802). For example, the first user interface area is messaging user interface 5008 as shown in Figure 5B or Internet browser user interface 5060 as shown in Figure 5AE. In some embodiments, the first user interface area includes a background other than an image of the physical environment surrounding the device (e.g., the background of the first user interface area may be a preselected background color/pattern, or A background image that is distinct from simultaneously captured output images and live content within the field of view of one or more cameras).
디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하는 동안, 디바이스는 디스플레이 상의 가상 객체의 표현에 대응하는 터치 감응형 표면(112) 상의 위치에서 접촉에 의한 제1 입력을 검출한다(예컨대, 접촉은 터치 스크린 디스플레이 상의 가상 객체의 제1 표현 상에서 검출되거나, 접촉은 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현과 동시에 디스플레이되는 그리고 접촉에 의해 호출될 때 가상 객체의 AR 뷰의 디스플레이를 트리거하도록 구성되는 어포던스 상에서 검출된다)(804). 예를 들어, 제1 입력은 도 5c 내지 도 5f와 관련하여 기술된 바와 같은 접촉(5020)에 의한 입력 또는 도 5af 내지 도 5al과 관련하여 기술된 바와 같은 접촉(5086)에 의한 입력이다.While displaying a first representation of a virtual object in a first user interface area on the display, the device detects a first input by contact at a location on the touch-sensitive surface 112 corresponding to the representation of the virtual object on the display ( For example, a contact is detected on a first representation of the virtual object on a touch screen display, or the contact is displayed simultaneously with a first representation of the virtual object within a first user interface area and a display of an AR view of the virtual object when invoked by the contact. is detected on an affordance configured to trigger) (804). For example, the first input is input by contact 5020 as described in conjunction with FIGS. 5C-5F or input by contact 5086 as described in conjunction with FIGS. 5AF-5A.
접촉에 의한 제1 입력을 검출하는 것에 응답하여, 접촉에 의한 제1 입력이 제1 (예컨대, AR 트리거) 기준들을 충족한다는 결정에 따라(예컨대, AR 트리거 기준들은 카메라(들)의 활성화를 트리거하는 것과 연관된 스와이프 입력, 계속 터치하기(touch-hold) 입력, 누르기 입력, 탭 입력, 미리정의된 세기 임계치를 초과하는 세기를 갖는 강한 누르기(hard press), 또는 다른 유형의 미리정의된 입력 제스처, 디바이스 주위의 물리적 환경의 증강 현실(AR) 뷰의 디스플레이, 물리적 환경의 증강 현실 뷰 내측의 가상 객체의 3차원 표현의 배치, 및/또는 상기 액션들 중 둘 이상의 조합을 식별하도록 구성된 기준들임), 디바이스는, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야의 표현으로 대체하는 것을 포함하여, 디스플레이 상에 제2 사용자 인터페이스 영역을 디스플레이하고, 디바이스는 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 가상 객체의 표현을 연속적으로 디스플레이한다(806). 예를 들어, 디스플레이 상의 제2 사용자 인터페이스 영역은 도 5h와 관련하여 기술된 바와 같은 플래터(5030) 내의 카메라(들)의 시야(5034), 또는 도 5ah와 관련하여 기술된 바와 같은 카메라(들)의 시야(5034)이다. 도 5c 내지 도 5i에서, 접촉(5026)에 의한 입력이 깊게 누르기 세기 임계치(ITD)를 초과하여 증가하는 특성 세기를 갖는다는 결정에 따라, 가상 의자 객체(5020)는 제1 사용자 인터페이스 영역(메시징 사용자 인터페이스(5008))을 디스플레이하는 것으로부터 메시징 사용자 인터페이스(5008)의 일부분의 디스플레이를 플래터(5030) 내의 카메라(들)의 시야(5034)로 대체하는 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 연속적으로 디스플레이된다. 도 5af 내지 도 5ah에서, 접촉(5086)에 의한 입력이 깊게 누르기 세기 임계치(ITD)를 초과하여 증가하는 특성 세기를 갖는다는 결정에 따라, 가상 램프 객체(5084)는 제1 사용자 인터페이스 영역(인터넷 브라우저 사용자 인터페이스(5060))을 디스플레이하는 것으로부터 인터넷 브라우저 사용자 인터페이스(5060)의 일부분의 디스플레이를 카메라(들)의 시야(5034)로 대체하는 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 연속적으로 디스플레이된다.In response to detecting the first input by contact, upon determining that the first input by contact meets first (e.g., AR trigger) criteria (e.g., the AR trigger criteria trigger activation of the camera(s) A swipe input, a touch-hold input, a press input, a tap input, a hard press with an intensity exceeding a predefined intensity threshold, or another type of predefined input gesture. , display of an augmented reality (AR) view of the physical environment around the device, placement of a three-dimensional representation of a virtual object within an augmented reality view of the physical environment, and/or criteria configured to identify a combination of two or more of the foregoing actions) , the device displays a second user interface area on the display, including replacing the display of at least a portion of the first user interface area with a representation of the field of view of one or more cameras, and the device displays the first user interface area. Continuously display a representation of the virtual object while switching from displaying the second user interface area to displaying the second user interface area (806). For example, the second user interface area on the display may be a field of view 5034 of a camera(s) within the platter 5030 as described with respect to FIG. 5H, or a view 5034 of the camera(s) as described with respect to FIG. 5A. is the field of view (5034). 5C-5I , upon determining that the input by contact 5026 has a characteristic intensity that increases beyond the deep press intensity threshold ITD , virtual chair object 5020 is moved to the first user interface area ( Switching from displaying messaging user interface 5008 to displaying a second user interface area that replaces display of a portion of messaging user interface 5008 with a view 5034 of the camera(s) within platter 5030. It is displayed continuously during operation. 5AF-5A , upon determining that the input by contact 5086 has a characteristic intensity that increases above the deep press intensity thresholdIT continuously while switching from displaying the Internet browser user interface 5060 to displaying a second user interface area that replaces the display of a portion of the Internet browser user interface 5060 with the view of the camera(s) 5034. It is displayed as
일부 실시예들에서, 가상 객체의 표현을 연속적으로 디스플레이하는 것은 가상 객체의 표현의 디스플레이를 유지하는 것, 또는 가상 객체의 제2 표현(예컨대, 상이한 크기의, 상이한 시야각으로부터의, 상이한 렌더링 스타일의, 또는 디스플레이 상의 상이한 위치에서의 가상 객체의 뷰)으로 변하는 가상 객체의 제1 표현의 애니메이션화된 전이를 디스플레이하는 것을 포함한다. 일부 실시예들에서, 하나 이상의 카메라들의 시야(5034)는, (예컨대, 도 5k 및 도 5l에 예시된 바와 같이) 디바이스의 위치 및 배향이 물리적 환경에 대해 변할 때 실시간으로 업데이트되는 디바이스 주위의 물리적 환경(5002)의 라이브 이미지를 디스플레이한다. 일부 실시예들에서, 제2 사용자 인터페이스 영역은 디스플레이 상에서 제1 사용자 인터페이스 영역을 완전히 대체한다.In some embodiments, continuously displaying a representation of a virtual object includes maintaining the display of a representation of the virtual object, or displaying a second representation of the virtual object (e.g., at a different size, from a different viewing angle, with a different rendering style). , or a view of the virtual object at a different location on the display). In some embodiments, the field of view 5034 of one or more cameras provides a physical view around the device that is updated in real time as the location and orientation of the device changes relative to the physical environment (e.g., as illustrated in FIGS. 5K and 5L). Displays a live image of the environment 5002. In some embodiments, the second user interface area completely replaces the first user interface area on the display.
일부 실시예들에서, 제2 사용자 인터페이스 영역은 제1 사용자 인터페이스 영역의 일부분을 오버레이한다(예컨대, 제1 사용자 인터페이스 영역의 일부분이 디스플레이의 에지를 따라서 또는 그의 경계들 둘레에 도시된다). 일부 실시예들에서, 제2 사용자 인터페이스 영역은 제1 사용자 인터페이스 영역 다음에 팝업(pop up)된다. 일부 실시예들에서, 제1 사용자 인터페이스 영역 내의 배경은 카메라(들)의 시야(5034)의 콘텐츠로 대체된다. 일부 실시예들에서, 디바이스는 가상 객체가 제1 사용자 인터페이스 영역에 도시된 바와 같은 제1 배향으로부터 제2 배향(예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분의 현재 배향에 대해 미리정의된 배향)으로 (예컨대, 도 5e 내지 도 5i에 예시된 바와 같이) 이동 및 회전하는 것을 보여주는 애니메이션화된 전이를 디스플레이한다. 예를 들어, 애니메이션은 제1 사용자 인터페이스 영역을 디스플레이하는 동안 가상 객체의 2차원 표현을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 동안 가상 객체의 3차원 표현을 디스플레이하는 것으로의 전이를 포함한다. 일부 실시예들에서, 가상 객체의 3차원 표현은 2차원 그래픽 사용자 인터페이스(예컨대, 제1 사용자 인터페이스 영역)에 도시된 바와 같은 가상 객체의 형상 및 배향에 기초하여 미리정의된 앵커 평면(anchor plane)을 갖는다. 증강 현실 뷰(예컨대, 제2 사용자 인터페이스 영역)로 전이될 때, 가상 객체의 3차원 표현은 디스플레이 상의 가상 객체의 원래 위치로부터 디스플레이 상의 새로운 위치로 (예컨대, 증강 현실 뷰의 중심, 또는 증강 현실 뷰 내의 다른 미리정의된 위치로) 이동되고, 크기 재설정되고, 재배향되며, 이동 동안 또는 이동의 종료 시, 가상 객체의 3차원 표현은 가상 객체의 3차원 표현이 하나 이상의 카메라들의 시야 내에서 식별되는 미리정의된 평면(예컨대, 가상 객체의 3차원 표현을 위한 지지 평면으로서 역할을 할 수 있는 수직 벽 또는 수평 바닥 표면과 같은 물리적 표면)에 대해 미리정의된 위치 및/또는 배향에 있도록 재배향된다.In some embodiments, the second user interface area overlays a portion of the first user interface area (eg, a portion of the first user interface area is shown along an edge of the display or around its boundaries). In some embodiments, the second user interface area pops up after the first user interface area. In some embodiments, the background within the first user interface area is replaced with content from the field of view 5034 of the camera(s). In some embodiments, the device may be configured to change the virtual object from a first orientation, as shown in the first user interface area, to a second orientation (e.g., in advance with respect to the current orientation of the portion of the physical environment being captured within the field of view of one or more cameras). displays animated transitions showing movement and rotation (e.g., as illustrated in FIGS. 5E-5I) in defined orientations. For example, the animation includes a transition from displaying a two-dimensional representation of the virtual object while displaying a first user interface area to displaying a three-dimensional representation of the virtual object while displaying a second user interface area. . In some embodiments, the three-dimensional representation of the virtual object includes an anchor plane predefined based on the shape and orientation of the virtual object as depicted in a two-dimensional graphical user interface (e.g., a first user interface area). has When transitioning to an augmented reality view (e.g., a second user interface area), the three-dimensional representation of the virtual object moves from the virtual object's original location on the display to a new location on the display (e.g., the center of the augmented reality view, or is moved, resized, and reoriented (to another predefined location within the virtual object), and during or at the end of the movement, the three-dimensional representation of the virtual object is identified within the field of view of one or more cameras. It is reoriented to be in a predefined position and/or orientation relative to a predefined plane (e.g., a physical surface such as a vertical wall or horizontal floor surface that can serve as a support plane for a three-dimensional representation of the virtual object).
일부 실시예들에서, 제1 기준들은, 접촉이 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서 적어도 미리정의된 시간(예컨대, 길게 누르기 시간 임계치) 동안 임계량 미만의 이동으로 유지될 때 (예컨대, 유지된다는 결정에 따라) 만족되는 기준들을 포함한다(808). 일부 실시예들에서, 접촉이 다른 유형의 제스처(예컨대, 탭)를 인식하기 위한 기준들을 만족한다는 결정에 따라, 디바이스는 가상 객체의 디스플레이를 유지하는 동안 AR 사용자 인터페이스를 트리거하는 것 이외의 다른 미리정의된 기능을 수행한다. 접촉이 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서 적어도 미리정의된 시간 동안 임계량 미만의 이동으로 유지되는지 여부에 따라, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 카메라(들)의 시야로 대체하는 동안 가상 객체의 표현을 연속적으로 디스플레이할지 여부를 결정하는 것은, 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first criteria are when the contact is maintained with less than a threshold amount of movement at a location on the touch-sensitive surface corresponding to a representation of the virtual object for at least a predefined period of time (e.g., a long press time threshold) criteria that are satisfied (e.g., following a decision to retain) (808). In some embodiments, upon determining that the contact satisfies the criteria for recognizing another type of gesture (e.g., a tap), the device may perform any other action other than triggering the AR user interface while maintaining the display of the virtual object. Performs defined functions. Depending on whether the contact is maintained with less than a threshold amount of movement at a position on the touch-sensitive surface corresponding to a representation of the virtual object for at least a predefined period of time, the display of at least a portion of the first user interface area is placed in the field of view of the camera(s). Determining whether to continuously display a representation of a virtual object while replacing it allows performing a number of different types of operations in response to input. Enabling the performance of multiple different types of operations in response to input increases the efficiency with which the user can perform these operations, thereby improving the operability of the device, which additionally allows the user to use the device better. Reduces device power usage and improves battery life by enabling quick and efficient use.
일부 실시예들에서, 제1 기준들은, 접촉의 특성 세기가 제1 세기 임계치(예컨대, 가볍게 누르기 세기 임계치(ITL) 또는 깊게 누르기 세기 임계치(ITD))를 초과하여 증가할 때 (예컨대, 증가한다는 결정에 따라) 만족되는 기준들을 포함한다(810). 예를 들어, 도 5c 내지 도 5f와 관련하여 기술된 바와 같이, 기준들은 접촉(5026)의 특성 세기가, 세기 레벨 측정기(5028)에 의해 나타낸 바와 같이, 깊게 누르기 세기 임계치(ITD)를 초과하여 증가할 때 만족된다. 일부 실시예들에서, 접촉이 다른 유형의 제스처(예컨대, 탭)를 인식하기 위한 기준들을 만족한다는 결정에 따라, 디바이스는 가상 객체의 디스플레이를 유지하는 동안 AR 사용자 인터페이스를 트리거하는 것 이외의 다른 미리정의된 기능을 수행한다. 일부 실시예들에서, 제1 기준들은 제1 입력이 탭 입력이 아닐 것을 (예컨대, 입력이 탭 시간 임계치보다 긴 접촉의 터치다운과 접촉의 리프트오프 사이의 지속기간을 갖는 것을) 요구한다. 접촉의 특성 세기가 제1 세기 임계치를 초과하여 증가하는지 여부에 따라, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 카메라(들)의 시야로 대체하는 동안 가상 객체의 표현을 연속적으로 디스플레이할지 여부를 결정하는 것은, 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first criteria increases (e.g., when the characteristic intensity of the contact increases above a first intensity threshold (e.g., a light press intensity threshold (ITL ) or a deep press intensity threshold (ITD ))) (810). For example, as described in connection with FIGS. 5C-5F, the criteria are such that the characteristic intensity of contact 5026 exceeds the deep pressing intensity threshold (ITD ), as indicated by intensity level meter 5028. It is satisfied when it increases. In some embodiments, upon determining that the contact satisfies the criteria for recognizing another type of gesture (e.g., a tap), the device may perform any other action other than triggering the AR user interface while maintaining the display of the virtual object. Performs defined functions. In some embodiments, the first criteria require that the first input is not a tap input (e.g., that the input has a duration between touchdown of contact and liftoff of contact that is longer than the tap time threshold). Depending on whether the characteristic intensity of the contact increases beyond the first intensity threshold, whether to continuously display a representation of the virtual object while replacing the display of at least a portion of the first user interface area with the field of view of the camera(s) Determining allows performance of a number of different types of operations in response to input. Enabling the performance of multiple different types of operations in response to input increases the efficiency with which the user can perform these operations, thereby improving the operability of the device, which additionally allows the user to use the device better. Reduces device power usage and improves battery life by enabling quick and efficient use.
일부 실시예들에서, 제1 기준들은 접촉의 이동이 미리정의된 이동 기준들을 충족할 때 (예컨대, 접촉이 터치 감응형 표면을 가로질러 미리정의된 임계 위치(예컨대, 제1 사용자 인터페이스 영역의 경계에 대응하는 위치, 접촉의 원래 위치로부터 떨어진 임계 거리인 위치 등)를 지나서 이동할 때, 접촉이 미리정의된 임계 속도보다 빠른 속도로 이동할 때, 접촉의 이동이 누르기 입력으로 종료될 때, 등일 때) (예컨대, 그러하다는 결정에 따라) 만족되는 기준들을 포함한다(812). 일부 실시예들에서, 가상 객체의 표현은 접촉의 이동의 초기 부분 동안 접촉에 의해 드래그되고, 제1 기준들이 충족되려는 것을 나타내도록 접촉의 이동이 미리정의된 정의된 이동 기준들을 충족하려고 할 때 가상 객체는 접촉에 의해 이동하는 것을 중지하고; 접촉의 이동이 계속되고 미리정의된 이동 기준들이 접촉의 계속되는 이동에 의해 충족되는 경우, 제2 사용자 인터페이스 영역을 디스플레이하고 증강 현실 뷰 내의 가상 객체를 디스플레이하기 위한 전이가 시작된다. 일부 실시예들에서, 가상 객체가 제1 입력의 초기 부분 동안 드래그될 때, 객체 크기 및 관찰 시점은 변하지 않고, 일단 증강 현실 뷰가 디스플레이되고 가상 객체가 증강 현실 뷰에서 제위치로 낙하되면, 가상 객체는 증강 현실 뷰에서 가상 객체의 낙하(drop-off) 위치에 의해 표현되는 물리적 위치에 종속하는 크기 및 관찰 시점으로 디스플레이된다. 접촉의 이동이 미리정의된 이동 기준들을 충족하는지 여부에 따라, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 카메라(들)의 시야로 대체하는 동안 가상 객체의 표현을 연속적으로 디스플레이할지 여부를 결정하는 것은, 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first criteria are determined when movement of the contact meets predefined movement criteria (e.g., the contact crosses the touch-sensitive surface to a predefined threshold location (e.g., the border of the first user interface area). When the contact moves past a position corresponding to a position, a position that is a threshold distance away from the original position of the contact, etc., when the contact moves at a speed faster than a predefined threshold speed, when the movement of the contact is terminated by a press input, etc.) Includes criteria that are satisfied (e.g., according to a determination that so) (812). In some embodiments, the representation of the virtual object is dragged by the contact during the initial portion of the contact's movement and becomes virtual when the movement of the contact is about to meet predefined movement criteria to indicate that the first criteria are about to be met. The object stops moving upon contact; If movement of the contact continues and the predefined movement criteria are met by continued movement of the contact, a transition is initiated to display the second user interface area and to display the virtual object in the augmented reality view. In some embodiments, when the virtual object is dragged during the initial portion of the first input, the object size and viewing viewpoint do not change, and once the augmented reality view is displayed and the virtual object is dropped into place in the augmented reality view, the virtual object Objects are displayed in the augmented reality view with a size and viewing perspective that depends on the physical location represented by the virtual object's drop-off location. Depending on whether the movement of the contact meets predefined movement criteria, determining whether to continuously display the representation of the virtual object while replacing the display of at least a portion of the first user interface area with the field of view of the camera(s) This enables performance of a number of different types of operations in response to input. Enabling the performance of multiple different types of operations in response to input increases the efficiency with which the user can perform these operations, thereby improving the operability of the device, which additionally allows the user to use the device better. Reduces device power usage and improves battery life by enabling quick and efficient use.
일부 실시예들에서, 접촉에 의한 제1 입력을 검출하는 것에 응답하여, 접촉에 의한 제1 입력이 제1 기준들을 충족하였다는 결정에 따라, 디바이스는 제1 입력에 의한 제1 기준들의 만족을 나타내기 위해 촉각적 출력(예컨대, 도 5f와 관련하여 기술된 바와 같은 촉각적 출력(5032) 또는 도 5ah와 관련하여 기술된 바와 같은 촉각적 출력(5088))을, 하나 이상의 촉각적 출력 생성기들(167)에 의해, 출력한다(814). 일부 실시예들에서, 하나 이상의 카메라들의 시야가 디스플레이 상에서 보이기 전에 햅틱이 생성된다. 예를 들어, 햅틱은 하나 이상의 카메라(들)의 활성화 및 하나 이상의 카메라(들)의 시야의 후속 평면 검출을 트리거하는 제1 기준들의 만족을 나타낸다. 카메라들이 활성화되는 데 그리고 시야가 디스플레이를 위해 이용가능하게 되는 데 시간이 걸리기 때문에, 햅틱은 디바이스가 필요한 입력을 검출하였다는 그리고 디바이스가 준비되면 바로 증강 현실 사용자 인터페이스를 제시할 것이라는, 사용자에 대한 비시각적 신호로서 역할을 한다.In some embodiments, in response to detecting the first input by contact, and determining that the first input by contact has met the first criteria, the device determines that the first criteria have been satisfied by the first input. one or more tactile output generators to represent a tactile output (e.g., tactile output 5032 as described with respect to FIG. 5F or tactile output 5088 as described with respect to FIG. 5A) By (167), output (814). In some embodiments, haptics are generated before the field of view of one or more cameras is visible on the display. For example, haptics indicates the activation of one or more camera(s) and the satisfaction of first criteria that triggers subsequent planar detection of the field of view of the one or more camera(s). Because cameras take time to activate and for the field of view to become available for display, haptics provide assurance to the user that the device has detected the necessary input and will present the augmented reality user interface as soon as the device is ready. It serves as a visual signal.
(예컨대, 사용자 인터페이스의 적어도 일부분의 디스플레이를 카메라(들)의 시야로 대체하기 위한) 기준들의 만족을 나타내기 위해 촉각적 출력을 출력하는 것은 제공된 입력이 기준들을 만족한다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Outputting tactile output to indicate satisfaction of the criteria (e.g., to replace the display of at least a portion of the user interface with the field of view of the camera(s)) provides feedback to the user indicating that the provided input satisfies the criteria. do. Providing improved tactile feedback improves the operability of the device (e.g., by helping the user provide appropriate inputs and reducing user errors when operating/interacting with the device), which further: It reduces device power usage and improves battery life by enabling users to use their devices more quickly and efficiently.
일부 실시예들에서, 제1 입력의 적어도 초기 부분을 검출하는 것(예컨대, 접촉을 검출하는 것, 또는 제1 기준들을 충족하지 않으면서 각각의 미리정의된 기준들을 충족하는 접촉에 의한 입력을 검출하는 것, 또는 제1 기준들을 충족하는 입력을 검출하는 것을 포함함)에 응답하여, 디바이스는 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들(예컨대, 바닥 표면(5038), 테이블 표면(5046), 벽 등)을 검출하기 위해 하나 이상의 카메라들의 시야를 분석한다(816). 일부 실시예들에서, 하나 이상의 카메라들은 제1 입력의 적어도 초기 부분을 검출하는 것에 응답하여 활성화되고, 평면 검출은 카메라(들)가 활성화될 때 동시에 개시된다. 일부 실시예들에서, 하나 이상의 카메라들의 시야의 디스플레이는 하나 이상의 카메라들의 활성화 후에 (예컨대, 하나 이상의 카메라들이 활성화될 때부터 적어도 하나의 평면이 카메라(들)의 시야 내에서 검출될 때까지) 지연된다. 일부 실시예들에서, 하나 이상의 카메라들의 시야의 디스플레이는 하나 이상의 카메라들이 활성화될 때 개시되고, 평면 검출은 시야가 디스플레이 상에서 (예컨대, 제2 사용자 인터페이스 영역에서) 이미 가시적인 후에 완료된다. 일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 각각의 평면을 검출한 후, 디바이스는 하나 이상의 카메라들의 시야에 대한 각각의 평면의 상대 위치에 기초하여 가상 객체의 표현의 크기 및/또는 위치를 결정한다. 일부 실시예들에서, 전자 디바이스가 이동됨에 따라, 가상 객체의 표현의 크기 및/또는 위치는 (예컨대, 도 5k 및 도 5l과 관련하여 기술된 바와 같이) 하나 이상의 카메라들의 시야의 위치가 각각의 평면에 대해 변함에 따라 업데이트된다. (예컨대, 카메라(들)의 시야에 대해 가상 객체를 크기설정하고/하거나 위치시키기 위한 추가 사용자 입력을 요구하지 않으면서) 카메라(들)의 시야 내에서 검출되는 각각의 평면의 위치에 기초하여 가상 객체의 표현의 크기 및/또는 위치를 결정하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, detecting at least an initial portion of the first input (e.g., detecting a contact, or detecting an input by contact that meets respective predefined criteria while not meeting the first criteria) In response, including detecting an input that meets the first criteria, the device moves one or more planes within the field of view of one or more cameras (e.g., floor surface 5038, table surface 5046, The field of view of one or more cameras is analyzed to detect a wall, etc. (816). In some embodiments, one or more cameras are activated in response to detecting at least an initial portion of the first input, and planar detection is initiated simultaneously when the camera(s) are activated. In some embodiments, the display of the field of view of one or more cameras is delayed after activation of the one or more cameras (e.g., from when one or more cameras are activated until at least one plane is detected within the field of view of the camera(s)). do. In some embodiments, display of the field of view of one or more cameras begins when one or more cameras are activated, and plane detection is completed after the field of view is already visible on the display (eg, in the second user interface area). In some embodiments, after detecting each plane within the field of view of one or more cameras, the device determines the size and/or location of the representation of the virtual object based on the relative position of each plane with respect to the field of view of the one or more cameras. decide In some embodiments, as the electronic device is moved, the size and/or position of the representation of the virtual object changes depending on the position of the field of view of one or more cameras (e.g., as described with respect to FIGS. 5K and 5L) of each. It is updated as the plane changes. Based on the position of each plane detected within the field of view of the camera(s) (e.g., without requiring additional user input to size and/or position the virtual object relative to the field of view of the camera(s)) Determining the size and/or position of a representation of an object improves the operability of the device, which additionally allows the user to use the device more quickly and efficiently, thereby reducing the device's power usage and improving battery life. Let's do it.
일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들을 검출하기 위해 하나 이상의 카메라들의 시야를 분석하는 것은 디스플레이 상의 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서의 접촉의 검출에 응답하여 (예컨대, 가상 의자(5020)에 대응하는 터치 스크린(112) 상의 위치에서의 접촉(5026)의 검출에 응답하여) 개시된다(818). 예를 들어, 카메라들의 활성화 및 카메라(들)의 시야 내의 평면들의 검출은 제1 기준들이 제1 입력에 의해 충족되기 전에 (예컨대, 도 5f와 관련하여 기술된 바와 같이, 접촉(5026)의 특성 세기가 깊게 누르기 세기 임계치(ITD)를 초과하여 증가하기 전에) 그리고 제2 사용자 인터페이스 영역이 디스플레이되기 전에 시작된다. 가상 객체와의 임의의 상호작용의 검출 시 평면 검출을 시작함으로써, 평면 검출은 AR 트리거 기준들이 충족되기 전에 완료될 수 있고, 그에 따라서, AR 트리거 기준들이 제1 입력에 의해 충족될 때 증강 현실 뷰로의 가상 객체 전이를 볼 때 사용자에게 가시적 지연은 없을 것이다. (예컨대, 카메라(들)의 시야의 분석을 개시하기 위한 추가 사용자 입력을 요구하지 않으면서) 가상 객체의 표현의 위치에서의 접촉의 검출에 응답하여 카메라(들)의 시야 내에서 하나 이상의 평면들을 검출하기 위한 분석을 개시하는 것은 디바이스의 유효성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, analyzing the field of view of one or more cameras to detect one or more planes within the field of view of the one or more cameras may involve detection of contact at a location on the touch-sensitive surface that corresponds to a representation of a virtual object on the display. In response (e.g., in response to detection of contact 5026 at a location on touch screen 112 that corresponds to virtual chair 5020) is initiated 818. For example, activation of the cameras and detection of planes within the field of view of the camera(s) may occur before the first criteria are met by the first input (e.g., as described with respect to FIG. 5F ) before the intensity increases beyond the deep press intensity threshold ITD ) and before the second user interface area is displayed. By starting plane detection upon detection of any interaction with a virtual object, plane detection can be completed before the AR trigger criteria are met, and thus the augmented reality view when the AR trigger criteria are met by the first input. There will be no visible delay to the user when viewing virtual object transitions. One or more planes within the field of view of the camera(s) in response to detection of contact at the location of the representation of the virtual object (e.g., without requiring additional user input to initiate analysis of the field of view of the camera(s)) Initiating analysis to detect improves the effectiveness of the device, which additionally allows users to use the device more quickly and efficiently, thereby reducing the device's power usage and improving battery life.
일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들을 검출하기 위해 하나 이상의 카메라들의 시야를 분석하는 것은 제1 기준들이 접촉에 의한 제1 입력에 의해 충족되는 것을 검출하는 것에 응답하여 (예컨대, 도 5f와 관련하여 기술된 바와 같이, 접촉(5026)의 특성 세기가 깊게 누르기 세기 임계치(ITD)를 초과하여 증가하는 것을 검출하는 것에 응답하여) 개시된다(820). 예를 들어, 카메라들의 활성화 및 카메라(들)의 시야 내의 평면들의 검출은 제1 기준들이 제1 입력에 의해 충족될 때 시작되고, 카메라의 시야는 평면 검출이 완료되기 전에 디스플레이된다. AR 트리거 기준들의 만족 시 카메라 활성화 및 평면 검출을 시작함으로써, 카메라들 및 평면 검출은 불필요하게 활성화되지 않고 계속 진행되지 않으며, 이는 배터리 전력을 보존하고 배터리 수명 및 카메라 수명을 연장시킨다.In some embodiments, analyzing the field of view of one or more cameras to detect one or more planes within the field of view of the one or more cameras is responsive to detecting that the first criteria are met by the first input by contact ( For example, as described with respect to FIG. 5F , a characteristic intensity of contact 5026 is initiated ( 820 ) in response to detecting an increase above a deep press intensity threshold ITD . For example, activation of the cameras and detection of planes within the camera(s)' field of view begins when first criteria are met by a first input, and the camera's field of view is displayed before plane detection is complete. By initiating camera activation and plane detection upon satisfaction of the AR trigger criteria, cameras and plane detection do not continue unnecessarily without being activated, conserving battery power and extending battery life and camera life.
일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들을 검출하기 위해 하나 이상의 카메라들의 시야를 분석하는 것은 제1 입력의 초기 부분이 제1 기준들을 충족하지 않으면서 평면-검출 트리거 기준들을 충족한다는 것을 검출하는 것에 응답하여 개시된다(822). 예를 들어, 카메라들의 활성화 및 카메라(들)의 시야 내의 평면들의 검출은 일부 기준들(예컨대, AR 트리거 기준들보다 덜 엄격한(stringent) 기준들)이 제1 입력의 초기 부분에 의해 충족될 때 시작되고, 카메라의 시야는 평면 검출이 완료되기 전에 선택적으로 디스플레이된다. 접촉의 검출 시보다는 오히려 소정 기준들의 만족 후에 카메라 활성화 및 평면 검출을 시작함으로써, 카메라들 및 평면 검출은 불필요하게 활성화되지 않고 계속 진행되지 않으며, 이는 배터리 전력을 보존하고 배터리 수명 및 카메라 수명을 연장시킨다. AR 트리거 기준들의 만족 전에 카메라 활성화 및 평면 검출을 시작함으로써, AR 트리거 기준들이 제1 입력에 의해 충족될 때 증강 현실 뷰로의 가상 객체 전이를 디스플레이하기 위한 (카메라 활성화 및 평면 검출로 인한) 지연이 감소된다.In some embodiments, analyzing the field of view of one or more cameras to detect one or more planes within the field of view of the one or more cameras meets the plane-detection trigger criteria without an initial portion of the first input meeting the first criteria. Initiated in response to detecting that it is met (822). For example, activation of cameras and detection of planes within the field of view of the camera(s) may occur when some criteria (e.g., criteria less stringent than AR trigger criteria) are met by an initial portion of the first input. Once started, the camera's field of view is optionally displayed before planar detection is complete. By starting camera activation and plane detection after satisfaction of certain criteria rather than upon detection of contact, cameras and plane detection do not continue unnecessarily without being activated, which conserves battery power and extends battery life and camera life. . By starting camera activation and plane detection before the AR trigger criteria are met, the delay (due to camera activation and plane detection) for displaying the virtual object transition to the augmented reality view is reduced when the AR trigger criteria are met by the first input. do.
일부 실시예들에서, 디바이스는 가상 객체(예컨대, 가상 의자(5020))가 하나 이상의 카메라들의 시야(5034) 내에서 검출되는 각각의 평면에 대해 미리정의된 각도로 배향되도록 (예컨대, 바닥 표면(5038)으로부터 가상 의자(5020)의 4개의 다리의 하부면들을 분리시키는 거리가 없도록 (또는 최소 거리를 갖도록)) 하는 각각의 방식으로 제2 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이한다(824). 예를 들어, 각각의 평면에 대한 가상 객체의 배향 및/또는 위치는 2차원 그래픽 사용자 인터페이스에 도시된 바와 같은 가상 객체의 형상 및 배향에 기초하여 미리정의된다(예컨대, 각각의 평면은 증강 현실 뷰 내의 가상 객체의 3차원 표현에 대한 지지 표면으로서 역할을 할 수 있는 수평 물리적 표면(예컨대, 화병을 지지하기 위한 수평 테이블 표면)에 대응하거나, 각각의 평면은 증강 현실 뷰 내의 가상 객체의 3차원 표현에 대한 지지 표면으로서 역할을 할 수 있는 수직 물리적 표면(예컨대, 가상 그림 프레임을 매달기 위한 수직 벽)이다). 일부 실시예들에서, 가상 객체의 배향 및/또는 위치는 가상 객체의 각각의 표면 또는 경계(예컨대, 하부 표면, 하부 경계 지점들, 측부 표면, 및/또는 측부 경계 지점들)에 의해 한정된다. 일부 실시예들에서, 각각의 평면에 대응하는 앵커 평면은 가상 객체의 한 세트의 속성들 중 하나의 속성이고, 가상 객체가 표현하기로 되어 있는 물리적 객체의 특성에 따라 특정된다. 일부 실시예들에서, 가상 객체는 하나 이상의 카메라들의 시야 내에서 검출되는 다수의 평면들에 대한 미리정의된 배향 및/또는 위치에 배치된다(예컨대, 가상 객체의 다수의 각각의 면들은 카메라(들)의 시야 내에서 검출되는 각각의 평면들과 연관된다). 일부 실시예들에서, 가상 객체에 대해 미리정의된 배향 및/또는 위치가 가상 객체의 수평 하부 평면에 대해 한정되면, 가상 객체의 하부 평면은 카메라(들)의 시야 내에서 검출되는 바닥 평면 상에 디스플레이된다(예컨대, 가상 객체의 수평 하부 평면은 바닥 평면으로부터 0의 거리로 바닥 평면에 평행하다). 일부 실시예들에서, 가상 객체에 대해 미리정의된 배향 및/또는 위치가 가상 객체의 수직 후방 평면에 대해 한정되면, 가상 객체의 후방 표면은 하나 이상의 카메라들의 시야 내에서 검출되는 벽 평면에 대항하여 배치된다(예컨대, 가상 객체의 수직 후방 평면은 벽 평면으로부터 0의 거리로 벽 평면에 평행하다). 일부 실시예들에서, 가상 객체는 각각의 평면에 대해 고정된 거리에 그리고/또는 각각의 평면에 대해 0도 또는 90도 이외의 각도로 배치된다. (예컨대, 카메라(들)의 시야 내의 평면에 대해 가상 객체를 디스플레이하기 위한 추가 사용자 입력을 요구하지 않으면서) 카메라(들)의 시야 내에서 검출되는 평면에 대한 가상 객체의 표현을 디스플레이하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device may be configured to orient a virtual object (e.g., virtual chair 5020) at a predefined angle with respect to each plane detected within the field of view of one or more cameras 5034 (e.g., a floor surface (e.g., floor surface) Display 824 a representation of the virtual object within the second user interface area in a respective manner such that there is no distance (or a minimum distance) separating the lower surfaces of the four legs of the virtual chair 5020 from 5038. . For example, the orientation and/or position of the virtual object relative to each plane is predefined based on the shape and orientation of the virtual object as shown in the two-dimensional graphical user interface (e.g., each plane is displayed in an augmented reality view). Each plane corresponds to a horizontal physical surface (e.g., a horizontal table surface to support a vase) that can serve as a support surface for a three-dimensional representation of a virtual object within an augmented reality view. It is a vertical physical surface that can act as a support surface for (e.g., a vertical wall for hanging a virtual picture frame). In some embodiments, the orientation and/or location of the virtual object is defined by a respective surface or boundary (eg, a lower surface, lower boundary points, side surface, and/or side boundary points) of the virtual object. In some embodiments, the anchor plane corresponding to each plane is one property of a set of properties of the virtual object and is specified according to a characteristic of the physical object that the virtual object is supposed to represent. In some embodiments, the virtual object is positioned at a predefined orientation and/or position relative to multiple planes detected within the field of view of one or more cameras (e.g., each of the multiple faces of the virtual object is ) is associated with each plane detected within the field of view). In some embodiments, if a predefined orientation and/or position for a virtual object is defined relative to a horizontal lower plane of the virtual object, the lower plane of the virtual object is on the ground plane detected within the field of view of the camera(s). is displayed (eg, the horizontal lower plane of the virtual object is parallel to the floor plane with a distance of 0 from the floor plane). In some embodiments, when a predefined orientation and/or position for a virtual object is defined relative to a vertical rear plane of the virtual object, the rear surface of the virtual object is positioned relative to a wall plane detected within the field of view of one or more cameras. is positioned (eg, the vertical back plane of the virtual object is parallel to the wall plane at a distance of 0 from the wall plane). In some embodiments, the virtual object is positioned at a fixed distance to each plane and/or at an angle other than 0 degrees or 90 degrees to each plane. The device may display a representation of a virtual object relative to a plane detected within the field of view of the camera(s) (e.g., without requiring additional user input to display the virtual object relative to a plane within the field of view of the camera(s)). It improves the operability of the device, which additionally reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 각각의 평면을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야 내의 각각의 평면의 검출을 나타내기 위해 촉각적 출력을, 하나 이상의 촉각적 출력 생성기들(167)에 의해, 출력한다(826). 일부 실시예들에서, 카메라(들)의 시야 내에서 검출되는 각각의 평면(예컨대, 바닥 표면(5038) 및/또는 테이블 표면(5046))에 대해 각각의 촉각적 출력이 생성된다. 일부 실시예들에서, 촉각적 출력은 평면 검출이 완료될 때 생성된다. 일부 실시예들에서, 촉각적 출력은 제2 사용자 인터페이스 부분에 도시된 시야 내의 시야 평면의 시각적 표시(예컨대, 검출된 시야 평면의 순간적인 강조)를 동반한다. 카메라(들)의 시야 내의 평면의 검출을 나타내기 위해 촉각적 출력을 출력하는 것은 평면이 검출되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은, (예컨대, 사용자가 적절한 입력들을 제공하는 것을 돕고, 가상 객체를 배치하기 위한 불필요한 추가 입력들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting a respective plane within the field of view of one or more cameras, the device outputs a tactile output to indicate detection of the respective plane within the field of view of the one or more cameras, one or more tactile outputs Output by generators 167 (826). In some embodiments, a respective tactile output is generated for each plane detected within the field of view of the camera(s) (e.g., floor surface 5038 and/or table surface 5046). In some embodiments, a tactile output is generated when planar detection is complete. In some embodiments, the tactile output is accompanied by a visual indication of a viewing plane within the field of view depicted in the second user interface portion (eg, momentary highlighting of the detected viewing plane). Producing a tactile output to indicate detection of a plane within the field of view of the camera(s) provides feedback to the user indicating that the plane has been detected. Providing improved tactile feedback improves the operability of the device (e.g., by helping the user provide appropriate inputs and reducing unnecessary additional inputs to place virtual objects), which additionally allows the user to interact with the device. Reduces device power usage and improves battery life by enabling faster and more efficient use of devices.
일부 실시예들에서, 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안, 디바이스는 가상 객체의 표현이 (예컨대, 도 5f 내지 도 5i에 예시된 바와 같이) 제2 사용자 인터페이스 영역 내로 각각의 평면에 대한 미리정의된 위치로 전이(예컨대, 이동, 회전, 크기 재설정, 및/또는 상이한 스타일로 재렌더링(re-rendering) 등)됨에 따라 애니메이션을 디스플레이하고, 각각의 평면에 대한 미리정의된 각도로 (예컨대, 각각의 평면에 대한 미리정의된 배향 및/또는 위치에서, 그리고 증강 현실 뷰에서 보여질 최종 상태에 도달하는 그의 크기, 회전 각, 및 외관으로) 가상 객체의 표현을 디스플레이하는 것과 함께, 디바이스는 제2 사용자 인터페이스 영역 내에 각각의 평면에 대한 미리정의된 각도로 가상 객체를 디스플레이하는 것을 나타내기 위해 촉각적 출력을, 하나 이상의 촉각적 출력 생성기들(167)에 의해, 출력한다(828). 예를 들어, 도 5i에 예시된 바와 같이, 디바이스는 바닥 표면(5038)에 대한 미리정의된 각도로 가상 의자(5020)를 디스플레이하는 것과 함께 촉각적 출력(5036)을 출력한다. 일부 실시예들에서, 생성되는 촉각적 출력은 무게(예컨대, 무거운 대 가벼운), 재료(예컨대, 금속, 면, 목재, 대리석, 액체, 고무, 유리), 크기(예컨대, 대형 대 소형), 형상(예컨대, 얇은 대 두꺼운, 긴 대 짧은, 둥근 대 뾰족한, 등), 탄성(예컨대, 탄력 대 경직), 본성(예컨대, 명랑 대 엄숙, 온화 대 강압, 등), 및 가상 객체의 또는 가상 객체에 의해 표현되는 물리적 객체의 다른 속성들을 반영하는 특성들(예컨대, 주파수, 사이클들의 수, 변조, 진폭, 수반하는 오디오 파들 등)을 갖도록 구성된다. 예를 들어, 촉각적 출력은 도 4f 내지 도 4k에 예시된 촉각적 출력 패턴들 중 하나 이상을 사용한다. 일부 실시예들에서, 시간 경과에 따른 하나 이상의 특성들에 대한 하나 이상의 변경들을 포함하는 미리설정된 프로파일이 가상 객체(예컨대, 이모지)에 대응한다. 예를 들어, "바운싱(bouncing)" 촉각적 출력 프로파일이 "웃는 얼굴" 이모지 가상 객체에 대해 제공된다. 각각의 평면에 대한 가상 객체의 표현의 배치를 나타내기 위해 촉각적 출력을 출력하는 것은 가상 객체의 표현이 각각의 평면에 대해 자동으로 배치되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은, (예컨대, 사용자가 적절한 입력들을 제공하는 것을 돕고, 가상 객체를 배치하기 위한 불필요한 추가 입력들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while switching from displaying the first user interface area to displaying the second user interface area, the device displays a representation of the virtual object (e.g., as illustrated in FIGS. 5F-5I). display an animation as it transitions (e.g., moves, rotates, resizes, and/or re-renders in a different style, etc.) to a predefined position for each plane within the second user interface area; virtual at a predefined angle with respect to its plane (e.g., at a predefined orientation and/or position with respect to each plane, and with its size, rotation angle, and appearance to reach a final state to be viewed in an augmented reality view) In addition to displaying the representation of the object, the device may generate tactile output, one or more tactile output generators 167 to indicate display of the virtual object at a predefined angle with respect to each plane within the second user interface area. ), output (828). For example, as illustrated in FIG. 5I , the device outputs tactile output 5036 along with displaying a virtual chair 5020 at a predefined angle relative to the floor surface 5038. In some embodiments, the tactile output generated can vary in weight (e.g., heavy vs. light), material (e.g., metal, cotton, wood, marble, liquid, rubber, glass), size (e.g., large vs. small), and shape. (e.g., thin vs. thick, long vs. short, round vs. pointed, etc.), elasticity (e.g., elastic vs. rigid), nature (e.g., cheerful vs. solemn, gentle vs. forceful, etc.), and of or to virtual objects. It is configured to have properties that reflect other properties of the physical object represented by it (e.g., frequency, number of cycles, modulation, amplitude, accompanying audio waves, etc.). For example, the tactile output uses one or more of the tactile output patterns illustrated in FIGS. 4F-4K. In some embodiments, a preset profile that includes one or more changes to one or more characteristics over time corresponds to a virtual object (e.g., an emoji). For example, a “bouncing” tactile output profile is provided for the “smiley face” emoji virtual object. Producing a tactile output to indicate the placement of the representation of the virtual object for each plane provides feedback to the user indicating that the representation of the virtual object has been automatically placed for each plane. Providing improved tactile feedback improves the operability of the device (e.g., by helping the user provide appropriate inputs and reducing unnecessary additional inputs to place virtual objects), which additionally allows the user to interact with the device. Reduces device power usage and improves battery life by enabling faster and more efficient use of devices.
일부 실시예들에서, 촉각적 출력은 가상 객체의 특성(예컨대, 크기, 밀도, 질량, 및/또는 재료와 같은 시뮬레이션된 물리적 속성)에 대응하는 촉각적 출력 프로파일을 갖는다(830). 일부 실시예들에서, 촉각적 출력 프로파일은 가상 객체의 하나 이상의 특성들(예컨대, 무게, 재료, 크기, 형상, 및/또는 탄성)에 기초하여 가변하는 특성들(예컨대, 주파수, 사이클들의 수, 변조, 진폭, 수반하는 오디오 파들 등)을 갖는다. 예를 들어, 촉각적 출력은 도 4f 내지 도 4k에 예시된 촉각적 출력 패턴들 중 하나 이상을 사용한다. 일부 실시예들에서, 촉각적 출력의 진폭 및/또는 지속기간은 가상 객체의 크기, 무게, 및/또는 질량이 증가함에 따라 증가된다. 일부 실시예들에서, 촉각적 출력 패턴은 가상 객체를 구성하는 가상 재료에 기초하여 선택된다. 가상 객체의 특성에 대응하는 프로파일을 갖는 촉각적 출력을 출력하는 것은 가상 객체의 특성에 관한 정보를 나타내는 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은, (예컨대, 사용자가 적절한 입력들을 제공하는 것을 돕고, 가상 객체를 배치하기 위한 불필요한 추가 입력들을 감소시키고, 특성에 관한 디스플레이된 정보로 사용자 인터페이스를 혼란스럽게 하지 않으면서 가상 객체의 특성을 사용자가 인지하게 하는 감각적 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the tactile output has a tactile output profile that corresponds to characteristics of the virtual object (e.g., simulated physical properties such as size, density, mass, and/or material) (830). In some embodiments, the tactile output profile may have properties (e.g., frequency, number of cycles, modulation, amplitude, accompanying audio waves, etc.). For example, the tactile output uses one or more of the tactile output patterns illustrated in FIGS. 4F-4K. In some embodiments, the amplitude and/or duration of the tactile output increases as the size, weight, and/or mass of the virtual object increases. In some embodiments, the tactile output pattern is selected based on the virtual material that makes up the virtual object. Outputting a tactile output having a profile corresponding to the characteristics of the virtual object provides feedback indicating information about the characteristics of the virtual object to the user. Providing improved tactile feedback (e.g., helping users provide appropriate inputs, reducing unnecessary additional inputs for positioning virtual objects, and not cluttering the user interface with displayed information about properties) improves the operability of the device (by providing sensory information that allows the user to perceive the characteristics of the virtual object), which additionally reduces the device's power usage by enabling the user to use the device more quickly and efficiently Improves battery life.
일부 실시예들에서, 제2 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 동안, 디바이스는 (예컨대, 도 5k 및 도 5l에 예시된 바와 같이) 하나 이상의 카메라들의 시야(5034)를 조정하는 디바이스의 이동(예컨대, 디바이스의 측방향 이동 및/또는 회전)을 검출하고, 디바이스의 이동을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야가 조정됨에 따라 하나 이상의 카메라들의 시야 내의 각각의 평면(예컨대, 바닥 표면(5038))과 가상 객체 사이의 고정된 공간적 관계(예컨대, 배향 및/또는 위치)에 따라 제2 사용자 인터페이스 영역 내에서 가상 객체(예컨대, 가상 의자(5020))의 표현을 조정한다(예컨대, 가상 객체는 평면과 가상 객체의 표현 사이의 고정된 각도가 유지되도록 하는 배향 및 위치로 디스플레이 상에 디스플레이된다(예컨대, 가상 객체는 평면 상의 고정된 위치에 머무르거나 시야 평면을 따라서 구르는 것으로 보인다))(832). 예를 들어, 도 5k 및 도 5l에서, 카메라(들)의 시야(5034)를 포함하는 제2 사용자 인터페이스 영역 내의 가상 의자(5020)는 디바이스(100)가 이동됨에 따라 바닥 표면(5038)에 대해 고정된 배향 및 위치를 유지한다. 일부 실시예들에서, 가상 객체는 주위의 물리적 환경(5002)에 대해 정지되고 변경되지 않은 것으로 보이는데, 즉, 가상 객체의 표현은 디바이스 위치 및/또는 배향이 변경됨에 따라 디스플레이 상에서 크기, 위치, 및/또는 배향이 변하는데, 이는 디바이스가 주위의 물리적 환경에 대해 이동할 때 하나 이상의 카메라들의 시야가 변하기 때문이다. (예컨대, 각각의 평면에 대한 가상 객체의 위치를 유지하기 위한 추가 사용자 입력을 요구하지 않으면서) 가상 객체와 각각의 평면 사이의 고정된 관계에 따라 가상 객체의 표현을 조정하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a representation of a virtual object within a second user interface area, the device may adjust the field of view 5034 of one or more cameras (e.g., as illustrated in FIGS. 5K and 5L). Detect movement (e.g., lateral movement and/or rotation of the device), and in response to detecting movement of the device, the device adjusts the field of view of the one or more cameras so that the device moves to each plane within the field of view of the one or more cameras (e.g., , adjust the presentation of a virtual object (e.g., virtual chair 5020) within the second user interface area according to a fixed spatial relationship (e.g., orientation and/or position) between the floor surface 5038) and the virtual object. (e.g., the virtual object is displayed on the display with an orientation and position such that a fixed angle between the plane and the representation of the virtual object is maintained (e.g., the virtual object stays in a fixed position on the plane or rolls along the viewing plane) (832). For example, in FIGS. 5K and 5L , the virtual chair 5020 within the second user interface area containing the field of view 5034 of the camera(s) moves relative to the floor surface 5038 as the device 100 is moved. Maintains a fixed orientation and position. In some embodiments, the virtual object appears stationary and unaltered relative to the surrounding physical environment 5002, i.e., the representation of the virtual object changes in size, position, and appearance on the display as device location and/or orientation changes. /Or the orientation changes because the field of view of one or more cameras changes as the device moves relative to its surrounding physical environment. Adjusting the representation of a virtual object according to a fixed relationship between the virtual object and each plane (e.g., without requiring additional user input to maintain the position of the virtual object with respect to each plane) improves the operability of the device. This additionally reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, (예컨대, 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야의 표현으로 대체하는 것에 대응하는 시간에), 디바이스는 가상 객체(예컨대, 가상 의자(5020))의 표현이 (예컨대, 도 5f 내지 도 5i에 예시된 바와 같이) 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 연속적으로 디스플레이됨에 따라 애니메이션(예컨대, 이동, 하나 이상의 축들을 중심으로 하는 회전, 및/또는 축척조정(scaling))을 디스플레이한다(834). 예를 들어, 애니메이션은 제1 사용자 인터페이스 영역을 디스플레이하는 동안 가상 객체의 2차원 표현을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 동안 가상 객체의 3차원 표현을 디스플레이하는 것으로의 전이를 포함한다. 일부 실시예들에서, 가상 객체의 3차원 표현은 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분의 현재 배향에 대해 미리정의된 배향을 갖는다. 일부 실시예들에서, 증강 현실 뷰로 전이될 때, 가상 객체의 표현은 디스플레이 상의 초기 위치로부터 디스플레이 상의 새로운 위치(예컨대, 증강 현실 뷰의 중심, 또는 증강 현실 뷰 내의 다른 미리정의된 위치)로 이동되고, 크기 재설정되고, 재배향되며, 이동 동안 또는 이동의 종료 시, 가상 객체가 카메라(들)의 시야 내에서 검출되는 평면(예컨대, 가상 객체의 표현을 지지할 수 있는 수직 벽 또는 수평 바닥 표면과 같은 물리적 표면)에 대해 고정된 각도에 있도록 재배향된다. 일부 실시예들에서, 가상 객체의 명암 및/또는 가상 객체에 의해 드리워진 그림자는 (예컨대, 하나 이상의 카메라들의 시야 내에서 검출되는 주변 조명과 매칭하도록) 애니메이션화된 전이가 발생함에 따라 조정된다. 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역으로 스위칭하는 동안 가상 객체의 표현으로서 애니메이션을 디스플레이하는 것은 제1 입력이 제1 기준들을 충족한다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device displays a virtual object (e.g., virtual chair 5020) (e.g., at a time corresponding to replacing the display of at least a portion of the first user interface area with a representation of the field of view of one or more cameras). Animation (e.g., movement, Display rotation and/or scaling about one or more axes (834). For example, the animation includes a transition from displaying a two-dimensional representation of the virtual object while displaying a first user interface area to displaying a three-dimensional representation of the virtual object while displaying a second user interface area. . In some embodiments, the three-dimensional representation of the virtual object has a predefined orientation relative to the current orientation of the portion of the physical environment captured within the field of view of one or more cameras. In some embodiments, when transitioning to an augmented reality view, the representation of the virtual object is moved from an initial location on the display to a new location on the display (e.g., the center of the augmented reality view, or another predefined location within the augmented reality view) and , resized, reoriented, and, during or at the end of the movement, the plane in which the virtual object is detected within the field of view of the camera(s) (e.g., a vertical wall or horizontal floor surface that can support a representation of the virtual object) is reoriented so that it is at a fixed angle with respect to the same physical surface. In some embodiments, the contrast of the virtual object and/or the shadow cast by the virtual object is adjusted as the animated transition occurs (eg, to match ambient lighting detected within the field of view of one or more cameras). Displaying an animation as a representation of a virtual object while switching from displaying a first user interface area to a second user interface area provides feedback to the user indicating that the first input meets the first criteria. Providing improved feedback improves the operability of the device (e.g., by helping the user provide appropriate inputs when operating/interacting with the device and reducing user errors), which additionally allows the user to: Reduces device power usage and improves battery life by enabling devices to be used more quickly and efficiently.
일부 실시예들에서, 디스플레이 상에 제2 사용자 인터페이스 영역을 디스플레이하는 동안, 디바이스는 제2 접촉(예컨대, 접촉(5040))에 의한 제2 입력을 검출하고 - 여기서 제2 입력은 (예컨대, 도 5n 내지 도 5p에 예시된 바와 같이) (선택적으로, 가상 객체의 표현을 선택하기 위한 제2 접촉에 의한 누르기 또는 터치 입력 및) 디스플레이를 가로지르는 제1 경로를 따르는 제2 접촉의 이동을 포함함 -, 제2 접촉에 의한 제2 입력을 검출하는 것에 응답하여, 디바이스는 제1 경로에 대응하는 (예컨대, 제1 경로와 동일하거나 그에 의해 제약되는) 제2 경로를 따라서 제2 사용자 인터페이스 영역 내에서 가상 객체(예컨대, 가상 의자(5020))의 표현을 이동시킨다(836). 일부 실시예들에서, 제2 접촉은 제1 접촉과 별개이고, 제1 접촉의 리프트오프 후에 검출된다(예컨대, 도 5c 내지 도 5f의 접촉(5026)의 리프트오프 후에 검출되는 도 5n 내지 도 5p의 접촉(5040)에 의해 예시되는 바와 같음). 일부 실시예들에서, 제2 접촉은 (예컨대, AR 트리거 기준들을 충족하고 이어서 터치 스크린(112)을 가로질러 이동하여 가상 램프(5084)를 이동시키는 접촉(5086)에 의한 입력에 의해 예시되는 바와 같이) 터치 감응형 표면 상에서 연속적으로 유지되는 제1 접촉과 동일하다. 일부 실시예들에서, 가상 객체 상의 스와이프 입력이 가상 객체를 회전시키는 한편, 가상 객체의 이동은 선택적으로 카메라(들)의 시야 내의 평면에 의해 제약된다(예컨대, 스와이프 입력은 카메라(들)의 시야 내의 바닥 평면 상에서 의자의 표현을 회전시킨다). 입력을 검출하는 것에 응답하여 가상 객체의 표현을 이동시키는 것은 가상 객체의 디스플레이된 위치가 사용자 입력에 응답하여 이동가능하다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a second user interface area on the display, the device detects a second input by a second contact (e.g., contact 5040), where the second input is (e.g., 5N-5P) (optionally, a pressing or touch input by the second contact to select a representation of the virtual object and) movement of the second contact along a first path across the display. -, in response to detecting a second input by a second contact, the device moves within a second user interface area along a second path corresponding to the first path (e.g., the same as or constrained by the first path). The representation of the virtual object (e.g., virtual chair 5020) is moved (836). In some embodiments, the second contact is separate from the first contact and is detected after liftoff of the first contact (e.g., FIGS. 5N-5P detected after liftoff of contact 5026 of FIGS. 5C-5F (as illustrated by contact 5040). In some embodiments, the second contact (e.g., as illustrated by input by contact 5086 that meets the AR trigger criteria and then moves across touch screen 112 to move virtual lamp 5084). as) the first contact is maintained continuously on the touch-sensitive surface. In some embodiments, a swipe input on a virtual object rotates the virtual object, while movement of the virtual object is optionally constrained by a plane within the field of view of the camera(s) (e.g., a swipe input rotates the representation of the chair on the floor plane within the field of view). Moving the representation of the virtual object in response to detecting input provides feedback to the user indicating that the displayed location of the virtual object is movable in response to user input. Providing improved feedback improves the operability of the device (e.g., by helping the user provide appropriate inputs when operating/interacting with the device and reducing user errors), which additionally allows the user to: Reduces device power usage and improves battery life by enabling devices to be used more quickly and efficiently.
일부 실시예들에서, 디바이스는 가상 객체의 표현이 접촉의 이동 및 가상 객체에 대응하는 각각의 평면에 기초하여 제2 경로를 따라서 이동함에 따라 (예컨대, 가상 객체의 표현으로부터 사용자까지의 가상 거리에 기초하여, 시야 내에서 가상 객체의 정확한 시점을 유지하도록) 가상 객체의 표현의 크기를 조정한다(838). 예를 들어, 도 5n 내지 도 5p에서, 가상 의자(5020)의 크기는 가상 의자가 디바이스(100)로부터 멀리 테이블(5004)을 향해 카메라(들)의 시야(5034) 내로 더 깊게 이동함에 따라 감소한다. (예컨대, 카메라(들)의 시야 내의 환경에 대한 실제 크기로 가상 객체의 표현을 유지하기 위해 가상 객체의 표현의 크기를 조정하기 위한 추가 사용자 입력을 요구하지 않으면서) 가상 객체의 표현이 접촉의 이동 및 가상 객체에 대응하는 평면에 기초하여 제2 경로를 따라서 이동함에 따라 가상 객체의 표현의 크기를 조정하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device controls the device as the representation of the virtual object moves along the second path based on the movement of the contact and the respective plane corresponding to the virtual object (e.g., the virtual distance from the representation of the virtual object to the user). Based on this, the size of the representation of the virtual object is adjusted (838) to maintain an accurate viewpoint of the virtual object within the field of view. For example, in FIGS. 5N-5P, the size of virtual chair 5020 decreases as the virtual chair moves deeper into the field of view 5034 of the camera(s) away from device 100 and toward table 5004. do. (e.g., without requiring additional user input to scale the representation of the virtual object to maintain the representation of the virtual object at its actual size relative to the environment within the field of view of the camera(s)). Moving and scaling the representation of a virtual object as it moves along a second path based on a plane corresponding to the virtual object improves the operability of the device, which additionally allows the user to use the device more quickly and efficiently. This reduces device power usage and improves battery life.
일부 실시예들에서, 디바이스는 가상 객체의 표현이 (예컨대, 도 5ai 내지 도 5al에 예시된 바와 같이) 제2 경로를 따라서 이동함에 따라 가상 객체(예컨대, 가상 램프(5084))의 표현의 제1 크기를 유지하고, 디바이스는 (예컨대, 도 5al 및 도 5am에 예시된 바와 같이, 제2 접촉의 리프트오프를 검출하는 것을 포함하여) 제2 접촉에 의한 제2 입력의 종료를 검출하고, 제2 접촉에 의한 제2 입력의 종료를 검출하는 것에 응답하여, 디바이스는 제2 사용자 인터페이스 영역 내의 (예컨대, 테이블 표면(5046) 상의) 낙하 위치에 가상 객체의 표현을 배치하고, 제1 크기와 구별되는 제2 크기로 제2 사용자 인터페이스 영역 내의 낙하 위치에 가상 객체의 표현을 디스플레이한다(예컨대, 접촉(5086)에 의한 입력의 종료 후인 도 5am의 가상 램프(5084)의 크기는 접촉(5086)에 의한 입력의 종료 전인 도 5al의 가상 램프(5084)의 크기와 구별된다)(840). 예를 들어, 객체는 접촉에 의해 드래그되는 동안 그의 크기 및 관찰 시점이 변하지 않고, 객체가 증강 현실 뷰에서 그의 최종 위치에 낙하될 때, 객체는 카메라(들)의 시야에 보이는 가상 객체의 낙하 위치에 대응하는 물리적 환경 내의 물리적 위치에 기초하여 결정되는 크기 및 관찰 시점으로 디스플레이되어, 낙하 위치가 카메라(들)의 시야 내의 제1 위치라는 결정에 따라 객체가 제2 크기를 갖게 하고, 낙하 위치가 카메라(들)의 시야 내의 제2 위치라는 결정에 따라 객체가 제2 크기와 상이한 제3 크기를 갖게 하는데, 여기서 제2 및 제3 크기들은 하나 이상의 카메라들로부터의 낙하 위치의 거리에 기초하여 선택된다. (예컨대, 카메라(들)의 시야 내의 환경에 대한 실제 크기로 가상 객체를 유지하기 위해 가상 객체의 크기를 조정하기 위한 추가 사용자 입력을 요구하지 않으면서) 가상 객체를 이동시키는 제2 입력의 종료를 검출하는 것에 응답하여 변경된 크기로 가상 객체의 표현을 디스플레이하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device controls a second representation of a representation of a virtual object (e.g., virtual lamp 5084) as the representation of the virtual object moves along a second path (e.g., as illustrated in FIGS. 5AI-5A). Holding the magnitude 1, the device detects termination of the second input by the second contact (including detecting lift-off of the second contact, e.g., as illustrated in FIGS. 5A and 5AM), and 2 In response to detecting termination of the second input by contact, the device places a representation of the virtual object at a falling location (e.g., on table surface 5046) within the second user interface area and distinguishes it from the first size. displays a representation of the virtual object at the drop location within the second user interface area at a second size that is (840) is distinguished from the size of the virtual ramp 5084 in FIG. 5A before the end of the input. For example, an object does not change its size and viewing viewpoint while being dragged by contact, and when an object is dropped to its final position in the augmented reality view, the object is dropped at the virtual object's falling position visible in the field of view of the camera(s). displayed with a size and viewing viewpoint determined based on a physical location within the corresponding physical environment, such that the object has a second size based on a determination that the drop location is a first location within the field of view of the camera(s), and that the drop location is a first location within the field of view of the camera(s). The determination of the second location within the field of view of the camera(s) causes the object to have a third size different from the second size, wherein the second and third sizes are selected based on the distance of the drop location from one or more cameras. do. termination of the second input that moves the virtual object (e.g., without requiring additional user input to resize the virtual object to maintain the virtual object at its actual size relative to the environment within the field of view of the camera(s)) Displaying a representation of a virtual object at a size that changes in response to detection improves the operability of the device, which additionally allows the user to use the device more quickly and efficiently, thereby reducing the device's power usage and battery life. Improves lifespan.
일부 실시예들에서, 디스플레이를 가로지르는 제1 경로를 따른 제2 접촉의 이동이 제2 기준들을 충족한다는 (예컨대, 제1 경로의 끝에서, 접촉이 디스플레이의 에지(예컨대, 하부 에지, 상부 에지, 및/또는 측부 에지) 또는 제2 사용자 인터페이스 영역의 에지의 임계 거리 내에 있거나 그 에지의 외측에 있다는) 결정에 따라, 디바이스는 하나 이상의 카메라들의 시야의 표현을 포함하는 제2 사용자 인터페이스 영역을 디스플레이하는 것을 중지하고, 가상 객체의 표현과 함께 (전체) 제1 사용자 인터페이스 영역을 재디스플레이한다(예컨대, 제1 사용자 인터페이스 영역의 일부분이 이전에 제2 사용자 인터페이스 영역과 동시에 디스플레이되는 경우, 디바이스는 제2 사용자 인터페이스 영역이 더 이상 디스플레이되지 않은 후에 전체 제1 사용자 인터페이스 영역을 디스플레이한다)(842). 예를 들어, 도 5v 내지 도 5x에 예시된 바와 같이, 가상 의자(5054)를 터치 스크린(112)의 에지로 드래그하는 접촉(5054)의 이동에 응답하여, 도 5y 내지 도 5ad에 예시된 바와 같이, 카메라(들)의 시야(5034)는 디스플레이되는 것이 중지되고 전체 메시징 사용자 인터페이스(5008)가 재디스플레이된다. 일부 실시예들에서, 접촉이 디스플레이의 에지 또는 제2 사용자 인터페이스 영역의 에지에 접근함에 따라, 제2 사용자 인터페이스 영역은 (예컨대, 도 5x 및 도 5y에 예시된 바와 같이) 페이드 아웃되고/되거나 제1 사용자 인터페이스 영역(의 디스플레이되지 않은 또는 차단된 부분)은 (예컨대, 도 5z 및 도 5aa에 예시된 바와 같이) 페이드 인된다. 일부 실시예들에서, 비-AR 뷰(예컨대, 제1 사용자 인터페이스 영역)로부터 AR 뷰(예컨대, 제2 사용자 인터페이스 영역)로 전이하기 위한 제스처 및 AR 뷰로부터 비-AR 뷰로 전이하기 위한 제스처는 동일하다. 예를 들어, 현재 디스플레이된 사용자 인터페이스에서 임계 위치를 넘는 (예컨대, 현재 디스플레이된 사용자 인터페이스 영역의 경계의 임계 거리 내에서의, 또는 현재 디스플레이된 사용자 인터페이스 영역의 경계를 넘는) 가상 객체 상에서의 드래그 제스처는 현재 디스플레이된 사용자 인터페이스 영역으로부터 상대(counterpart) 사용자 인터페이스 영역으로의 (예컨대, 제1 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역을 디스플레이하는 것으로의, 또는 대안적으로, 제2 사용자 인터페이스 영역을 디스플레이하는 것으로부터 제1 사용자 인터페이스 영역을 디스플레이하는 것으로의) 전이를 야기한다. 일부 실시예들에서, (예컨대, 현재 디스플레이된 사용자 인터페이스 영역을 페이드 아웃하고 상대 사용자 인터페이스를 페이드 인하는) 시각적 표시는 제1/제2 기준들이 충족되기 전에 보여지고, 입력이 계속되고 제1/제2 기준들이 입력의 종료(예컨대, 접촉의 리프트오프)가 검출되기 전에 충족되지 않으면 가역적이다. 입력 기준들을 충족하는 입력을 검출하는 것에 응답하여 제1 사용자 인터페이스를 재디스플레이하는 것은 디스플레이된 추가 제어부들(예컨대, 제2 사용자 인터페이스로부터 제1 사용자 인터페이스를 디스플레이하기 위한 제어부들)로 제2 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공한다. 디스플레이된 추가 제어부들로 제2 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, movement of the second contact along the first path across the display meets second criteria (e.g., at the end of the first path, the contact touches an edge of the display (e.g., bottom edge, top edge). , and/or a side edge) or within a threshold distance of or outside an edge of the second user interface area, the device displays a second user interface area comprising a representation of the field of view of one or more cameras. and redisplay the (entire) first user interface area with the representation of the virtual object (e.g., if a portion of the first user interface area was previously displayed simultaneously with the second user interface area, the device may Display the entire first user interface area after 2 user interface areas are no longer displayed) (842). For example, in response to movement of contact 5054 dragging virtual chair 5054 to the edge of touch screen 112, as illustrated in FIGS. 5V-5X, as illustrated in FIGS. 5Y-5A. Likewise, the camera(s)' field of view 5034 stops being displayed and the entire messaging user interface 5008 is redisplayed. In some embodiments, as the contact approaches the edge of the display or the edge of the second user interface area, the second user interface area fades out (e.g., as illustrated in FIGS. 5X and 5Y) and/or 1 The user interface area (non-displayed or blocked portion) fades in (e.g., as illustrated in FIGS. 5Z and 5AA). In some embodiments, the gesture for transitioning from a non-AR view (e.g., a first user interface area) to an AR view (e.g., a second user interface area) and the gesture for transitioning from an AR view to a non-AR view are the same. do. For example, a drag gesture on a virtual object beyond a threshold position in the currently displayed user interface (e.g., within a threshold distance of the border of the currently displayed user interface area, or beyond the border of the currently displayed user interface area). is a transition from a currently displayed user interface area to a counterpart user interface area (e.g., from displaying a first user interface area to displaying a second user interface area, or alternatively, a second user interface area) causes a transition (from displaying an area to displaying a first user interface area). In some embodiments, a visual indication (e.g., fading out the currently displayed user interface area and fading in the relative user interface) is shown before the first/second criteria are met, input continues and the first/second It is reversible if the second criteria are not met before the end of the input (eg, lift-off of the contact) is detected. Redisplaying the first user interface in response to detecting input that meets the input criteria may cause the second user interface to be displayed with additional controls (e.g., controls for displaying the first user interface from the second user interface). Provides additional control options without confusing the user. Providing additional control options without cluttering the secondary user interface with displayed additional controls improves the operability of the device, which additionally allows the user to use the device more quickly and efficiently. Reduces power usage and improves battery life.
일부 실시예들에서, 제1 사용자 인터페이스 영역을 재디스플레이하는 것에 대응하는 시간에, 디바이스는 (예컨대, 도 5ab 내지 도 5ad에서 가상 의자(5020)의 애니메이션에 의해 예시된 바와 같은) 제2 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 것으로부터 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 것으로의 애니메이션화된 전이(예컨대, 이동, 하나 이상의 축들을 중심으로 하는 회전, 및/또는 축척조정)를 디스플레이한다(844). (예컨대, 제1 사용자 인터페이스 내에 가상 객체를 재위치시키기 위한 추가 사용자 입력을 요구하지 않으면서) 제2 사용자 인터페이스 내에 가상 객체의 표현을 디스플레이하는 것으로부터 제1 사용자 인터페이스 내에 가상 객체의 표현을 디스플레이하는 것으로의 애니메이션화된 전이를 디스플레이하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, at a time corresponding to redisplaying the first user interface area, the device displays a second user interface (e.g., as illustrated by the animation of virtual chair 5020 in FIGS. 5AB-5A). Animated transitions (e.g., translation, rotation about one or more axes, and/or scaling) from displaying a representation of the virtual object within the area to displaying the representation of the virtual object within the first user interface area. Display (844). from displaying a representation of the virtual object within a second user interface (e.g., without requiring additional user input to reposition the virtual object within the first user interface) to displaying a representation of the virtual object within the first user interface. Displaying animated transitions improves the operability of the device, which further reduces the device's power usage and improves battery life by allowing the user to use the device more quickly and efficiently.
일부 실시예들에서, 제2 접촉이 제1 경로를 따라서 이동함에 따라, 디바이스는 접촉의 현재 위치에 대응하는 하나 이상의 카메라들의 시야 내에서 식별되는 하나 이상의 각각의 평면들의 시각적 외관을 변경한다(예컨대, 하나 이상의 평면들의 외관을 강조, 마킹, 윤곽형성, 및/또는 달리 시각적으로 변경함)(846). 예를 들어, 접촉(5042)이 도 5o 및 도 5p의 화살표들(5042, 5044)에 의해 예시된 바와 같은 경로를 따라서 가상 의자(5020)를 드래그함에 따라, 바닥 표면(5038)이 (예컨대, 접촉(5042)의 이동 전의 도 5m과 비교하여) 강조된다. 일부 실시예들에서, 접촉이 카메라(들)의 시야 내에서 검출되는 제1 평면에 대응하는 위치에 있다는 결정에 따라, 제1 평면이 강조된다. (예컨대, 도 5s 내지 도 5u에 도시된 바와 같이) 접촉이 카메라(들)의 시야 내에서 검출되는 제2 평면에 대응하는 위치로 이동하였다는 결정에 따라, 제1 평면(예컨대, 바닥 표면(5038))은 강조되는 것이 중지되고 제2 평면(예컨대, 테이블 표면(5046))이 강조된다. 일부 실시예들에서, 다수의 평면들이 동시에 강조된다. 일부 실시예들에서, 다수의 시각적으로 변경된 평면들 중 제1 평면은 접촉이 제1 평면에 대응하는 위치에 있다는 것을 나타내도록 다른 평면들이 시각적으로 변경되는 방식과는 별개인 방식으로 시각적으로 변경된다. 카메라(들)의 시야 내에서 식별되는 하나 이상의 각각의 평면들의 시각적 외관을 변경하는 것은 평면(예컨대, 상기 평면에 대해 가상 객체가 위치될 수 있음)이 식별되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, as the second contact moves along the first path, the device changes the visual appearance of one or more respective planes identified within the field of view of one or more cameras corresponding to the current location of the contact (e.g. , highlighting, marking, contouring, and/or otherwise visually altering the appearance of one or more planes) (846). For example, as contact 5042 drags virtual chair 5020 along a path as illustrated by arrows 5042 and 5044 in FIGS. 5O and 5P, floor surface 5038 (e.g., 5M before the movement of contact 5042) is highlighted. In some embodiments, upon determining that the contact is at a location corresponding to the first plane detected within the field of view of the camera(s), the first plane is emphasized. Upon determining that the contact has moved to a location corresponding to a second plane detected within the field of view of the camera(s) (e.g., as shown in FIGS. 5S-5U), a first plane (e.g., the floor surface (e.g., floor surface) 5038) stops being emphasized and the second plane (e.g., table surface 5046) is emphasized. In some embodiments, multiple planes are highlighted simultaneously. In some embodiments, a first plane of the multiple visually altered planes is visually altered in a manner that is independent of the way the other planes are visually altered to indicate that the contact is at a location corresponding to the first plane. . Changing the visual appearance of each of one or more planes identified within the field of view of the camera(s) provides feedback to the user indicating that a plane (eg, relative to which a virtual object may be positioned) has been identified. Providing improved visual feedback improves the operability of the device (e.g., by helping the user provide appropriate inputs when operating/interacting with the device and reducing user errors), which additionally allows the user to Reduces device power usage and improves battery life by enabling devices to be used more quickly and efficiently.
일부 실시예들에서, 접촉에 의한 제1 입력을 검출하는 것에 응답하여, 접촉에 의한 제1 입력이 제3 (예컨대, 스테이징 사용자 인터페이스 디스플레이) 기준들을 충족한다는 결정에 따라(예컨대, 스테이징 사용자 인터페이스 디스플레이 기준들은 스와이프 입력, 계속 터치하기 입력, 누르기 입력, 탭 입력, 또는 미리정의된 세기 임계치를 초과하는 세기를 갖는 강한 누르기를 식별하도록 구성된 기준들임), 디바이스는, (예컨대, 가상 객체의 2D 이미지를 대체한 가상 객체의 3D 모델을 포함하는) 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 대체하는 것을 포함하여, 디스플레이 상에 제3 사용자 인터페이스 영역을 디스플레이한다(848). 일부 실시예들에서, 스테이징 사용자 인터페이스(예컨대, 도 6i와 관련하여 기술된 바와 같은 스테이징 사용자 인터페이스(6010))를 디스플레이하는 동안, 디바이스는 (예컨대, 방법(900)을 참조하여 아래에서 더 상세히 설명되는 바와 같이) 스테이징 사용자 인터페이스에 대응하는 검출된 입력들에 기초하여 가상 객체의 표현의 외관을 업데이트한다. 일부 실시예들에서, 가상 객체가 스테이징 사용자 인터페이스에 디스플레이되는 동안 다른 입력이 검출되고 입력이 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 전이하기 위한 기준들을 충족하는 경우, 디바이스는 가상 객체를 연속적으로 디스플레이하면서 스테이징 사용자 인터페이스의 디스플레이를 제2 사용자 인터페이스 영역으로 대체한다. 더 많은 상세사항들이 방법(900)과 관련하여 기술된다. 제1 입력이 제3 기준들을 충족한다는 결정에 따라 제3 사용자 인터페이스를 디스플레이하는 것은, 디스플레이된 추가 제어부들(예컨대, 제1 사용자 인터페이스로부터 제3 사용자 인터페이스를 디스플레이하기 위한 제어부들)로 제1 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공한다. 디스플레이된 추가 제어부들로 제2 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting the first input by contact, determining that the first input by contact meets third (e.g., staging user interface display) criteria (e.g., staging user interface display) The criteria are criteria configured to identify a swipe input, a keep-touch input, a press input, a tap input, or a hard press with an intensity exceeding a predefined intensity threshold), and the device may generate a 2D image of a virtual object (e.g., Displaying a third user interface area on the display (848), including replacing the display of at least a portion of the first user interface area (including the 3D model of the virtual object that replaced the 3D model). In some embodiments, while displaying a staging user interface (e.g., staging user interface 6010 as described with respect to FIG. 6I), the device may update the appearance of the representation of the virtual object based on detected inputs corresponding to the staging user interface (as will be done). In some embodiments, if another input is detected while the virtual object is displayed in the staging user interface and the input meets the criteria for transitioning to displaying the second user interface area, the device continues to display the virtual object while Replaces the display of the staging user interface with the second user interface area. Further details are described with respect to method 900. Displaying the third user interface in accordance with a determination that the first input meets the third criteria comprises displaying the third user interface with the displayed additional controls (e.g., controls for displaying the third user interface from the first user interface). Provides additional control options without cluttering the interface. Providing additional control options without cluttering the secondary user interface with displayed additional controls improves the operability of the device, which additionally allows the user to use the device more quickly and efficiently. Reduces power usage and improves battery life.
일부 실시예들에서, 접촉에 의한 제1 입력(예컨대, 제1 사용자 인터페이스 영역을 스크롤하는 것에 대응하는 스와이프 입력 또는 제1 사용자 인터페이스 영역 내의 콘텐츠에 대응하는 이메일 또는 웹 페이지를 디스플레이하라는 요청에 대응하는 탭 입력)이 제1 (예컨대, AR 트리거) 기준들을 충족하지 않는다는 결정에 따라, 디바이스는 (예컨대, 도 6b 및 도 6c와 관련하여 기술된 바와 같이) 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야의 표현으로 대체하지 않으면서 제1 사용자 인터페이스 영역의 디스플레이를 유지한다(850). 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야로 대체하는 동안 제1 사용자 인터페이스 영역의 디스플레이를 유지할지 또는 가상 객체의 표현을 연속적으로 디스플레이할지를 결정하기 위한 제1 기준들을 사용함으로써 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. (예컨대, 사용자 인터페이스의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야로 대체함으로써, 또는 제1 사용자 인터페이스 영역의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야의 표현으로 대체하지 않으면서 제1 사용자 인터페이스 영역의 디스플레이를 유지함으로써) 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, a first input by contact (e.g., a swipe input corresponding to scrolling the first user interface area or a request to display an email or web page corresponding to content within the first user interface area) Upon determining that the tap input) does not meet the first (e.g., AR trigger) criteria, the device displays at least a portion of the first user interface area (e.g., as described with respect to FIGS. 6B and 6C). maintains the display of the first user interface area without replacing it with a representation of the field of view of one or more cameras (850). input by using first criteria to determine whether to maintain display of the first user interface area or to continuously display a representation of the virtual object while replacing the display of at least a portion of the first user interface area with the field of view of one or more cameras in response to enabling the performance of a number of different types of operations. (e.g., by replacing the display of at least a portion of the user interface with a representation of the field of view of one or more cameras, or without replacing the display of at least a portion of the first user interface region with a representation of the field of view of one or more cameras) Enabling the performance of multiple different types of actions in response to input (by maintaining the display) increases the efficiency with which the user can perform these actions, thereby improving the operability of the device, which additionally: It reduces device power usage and improves battery life by enabling users to use their devices more quickly and efficiently.
도 8a 내지 도 8e에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(900, 1000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 8a 내지 도 8e와 관련하여 전술된 방법(800)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(800)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 세기 임계치들, 촉각적 출력들, 시야들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(900, 1000, 16000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 세기 임계치들, 촉각적 출력들, 시야들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 8A-8E are described is by way of example only and is not intended to indicate that the described order is the only order in which the operations may be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g., methods 900, 1000) are similar to method 800 described above with respect to FIGS. 8A-8E. It should be noted that it is also applicable in a similar way. For example, contacts, inputs, virtual objects, user interface areas, intensity thresholds, tactile outputs, fields of view, movements, and/or animations described above with respect to method 800 may optionally be , contacts, inputs, virtual objects, user interfaces described herein in connection with other methods described herein (e.g., methods 900, 1000, 16000, 17000, 18000, 19000, 20000) Has one or more of the following properties: areas, intensity thresholds, tactile outputs, fields of view, movements, and/or animations. For brevity, these details are not repeated here.
도 9a 내지 도 9d는 일부 실시예들에 따른, 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을, 그리고 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하는 방법(900)을 예시하는 흐름도들이다. 방법(900)은 디스플레이, 터치 감응형 표면, 및 하나 이상의 카메라들(예컨대, 디스플레이 및 터치 감응형 표면과 반대편인 디바이스의 면 상의 하나 이상의 후방 카메라들)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고, 터치 감응형 표면은 디스플레이 상에 있거나 그와 통합된다. 일부 실시예들에서, 디스플레이는 터치 감응형 표면과는 별개이다. 방법(900)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.9A-9D illustrate a first representation of a virtual object in a first user interface area, a second representation of a virtual object in a second user interface area, and a representation of the field of view of one or more cameras, according to some embodiments. Together, flow diagrams illustrating a method 900 of displaying a third representation of a virtual object. Method 900 includes an electronic device (e.g., the device of FIG. 3 ) having a display, a touch-sensitive surface, and one or more cameras (e.g., one or more rear-facing cameras on a side of the device opposite the display and the touch-sensitive surface). 300, or the portable multi-function device 100 of FIG. 1A). In some embodiments, the display is a touch screen display and the touch-sensitive surface is on or integrated with the display. In some embodiments, the display is separate from the touch-sensitive surface. Some operations in method 900 are selectively combined and/or the order of some operations is selectively changed.
아래에 기술되는 바와 같이, 방법(900)은 제1 사용자 인터페이스(예컨대, 2차원 그래픽 사용자 인터페이스) 내에 가상 객체의 표현을 디스플레이하는 디바이스의 터치 감응형 표면에서 접촉에 의한 입력을 검출하는 것에 관한 것이다. 제1 입력에 응답하여, 디바이스는 제2 사용자 인터페이스(예컨대, 가상 객체의 3차원 표현이 이동, 크기 재설정, 및/또는 재배향될 수 있는 스테이징 사용자 인터페이스) 내에 가상 객체의 제2 표현을 디스플레이할지 여부를 결정하기 위한 기준들을 사용한다. 제2 사용자 인터페이스 내에 가상 객체의 제2 표현을 디스플레이하는 동안, 제2 입력에 응답하여, 디바이스는 제2 입력에 기초하여 가상 객체의 제2 표현의 디스플레이 속성을 변경하거나 또는 디바이스의 하나 이상의 카메라들의 시야를 포함하는 제3 사용자 인터페이스 내에 가상 객체의 제3 표현을 디스플레이한다. (예컨대, 가상 객체의 디스플레이 속성을 변경하거나 제3 사용자 인터페이스 내에 가상 객체를 디스플레이함으로써) 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.As described below, method 900 relates to detecting input by contact on a touch-sensitive surface of a device that displays a representation of a virtual object within a first user interface (e.g., a two-dimensional graphical user interface). . In response to the first input, the device may display a second representation of the virtual object within a second user interface (e.g., a staging user interface in which the three-dimensional representation of the virtual object can be moved, resized, and/or reoriented). Use criteria to determine whether or not. While displaying the second representation of the virtual object within the second user interface, in response to the second input, the device changes the display properties of the second representation of the virtual object based on the second input or the camera of one or more cameras of the device. Display a third representation of the virtual object within a third user interface that includes a field of view. Enabling the performance of multiple different types of operations in response to input (e.g., by changing the display properties of the virtual object or displaying the virtual object within a third user interface) increases the efficiency with which the user can perform these operations. increases, thereby improving the operability of the device, which additionally reduces power usage of the device and improves battery life by enabling users to use the device more quickly and efficiently.
디바이스는 디스플레이(112) 상의 제1 사용자 인터페이스 영역(예컨대, 2차원 그래픽 사용자 인터페이스 또는 그의 일부분(예컨대, 가구 이미지들의 열람가능 목록, 하나 이상의 선택가능 객체들을 포함하는 이미지 등)) 내에 가상 객체의 제1 표현(예컨대, 3차원 객체의 그래픽 표현, 예컨대, 가상 의자(5020), 가상 램프(5084), 신발, 가구, 수공구들, 장식물들, 사람, 이모지, 게임 캐릭터, 가상 가구, 등)을 디스플레이한다(902). 예를 들어, 제1 사용자 인터페이스 영역은 도 6a에 도시된 바와 같은 메시징 사용자 인터페이스(5008)이다. 일부 실시예들에서, 제1 사용자 인터페이스 영역은 디바이스 주위의 물리적 환경의 이미지 이외의 배경을 포함한다(예컨대, 제1 사용자 인터페이스 영역의 배경은 미리선택된 배경 색상/패턴, 또는 하나 이상의 카메라들에 의해 동시에 캡처된 출력 이미지와 구별되고 하나 이상의 카메라들의 시야 내의 라이브 콘텐츠와 구별되는 배경 이미지이다).The device may display a virtual object within a first user interface area (e.g., a two-dimensional graphical user interface or portion thereof (e.g., a viewable list of furniture images, an image containing one or more selectable objects, etc.)) on display 112. 1 representation (e.g., a graphical representation of a three-dimensional object, e.g., virtual chair 5020, virtual lamp 5084, shoes, furniture, hand tools, decorations, people, emojis, game characters, virtual furniture, etc.) Display (902). For example, the first user interface area is messaging user interface 5008 as shown in Figure 6A. In some embodiments, the first user interface area includes a background other than an image of the physical environment surrounding the device (e.g., the background of the first user interface area may be a preselected background color/pattern, or A background image that is distinct from simultaneously captured output images and live content within the field of view of one or more cameras).
디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 디스플레이하는 동안, 디바이스는 디스플레이 상의 가상 객체의 제1 표현에 대응하는 터치 감응형 표면 상의 위치에서 제1 접촉에 의한 제1 입력을 검출한다(예컨대, 제1 접촉은 터치 스크린 디스플레이 상의 가상 객체의 제1 표현 상에서 검출되거나, 제1 접촉은 가상 객체의 제1 표현과 함께 제1 사용자 인터페이스 영역 내에 동시에 디스플레이되는 그리고 제1 접촉에 의해 호출될 때 AR 뷰(예컨대, 카메라(들)의 시야(6036)) 및/또는 가상 객체(예컨대, 가상 의자(5020))의 표현을 포함하는 스테이징 사용자 인터페이스(6010)의 디스플레이를 트리거하도록 구성되는 어포던스(예컨대, 토글 제어부(6018)) 상에서 검출된다)(904). 예를 들어, 제1 입력은 도 6e 내지 도 6i와 관련하여 기술된 바와 같은 접촉(6006)에 의한 입력이다.While displaying a first representation of a virtual object within a first user interface area on the display, the device detects a first input by a first contact at a location on the touch-sensitive surface that corresponds to the first representation of the virtual object on the display. (e.g., the first contact is detected on a first representation of a virtual object on a touch screen display, or the first contact is simultaneously displayed within a first user interface area with a first representation of the virtual object and will be invoked by the first contact) When an affordance ( For example, it is detected on the toggle control unit 6018) (904). For example, the first input is an input by contact 6006 as described with respect to FIGS. 6E-6I.
제1 접촉에 의한 제1 입력을 검출하는 것에 응답하여 그리고 제1 접촉에 의한 제1 입력이 제1 (예컨대, 스테이징 트리거) 기준들을 충족한다는 결정에 따라(예컨대, 스테이징 트리거 기준들은 스와이프 입력, 계속 터치하기 입력, 누르기 입력, 탭 입력, 접촉의 터치다운, 접촉의 초기 이동, 또는 카메라(들)의 활성화 및/또는 카메라(들)의 시야 내의 시야 평면들의 검출을 트리거하는 것과 연관된 다른 유형의 미리정의된 입력 제스처를 식별하도록 구성된 기준들임), 디바이스는 제1 사용자 인터페이스 영역과 상이한 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 디스플레이한다(예컨대, 제2 사용자 인터페이스 영역은 카메라(들)의 시야를 포함하지 않는 그리고 가상 객체의 3차원 표현이 사용자 입력에 응답하여 조작(예컨대, 회전 및 이동)될 수 있는 시뮬레이션된 3차원 공간을 포함하는 스테이징 사용자 인터페이스(6010)이다)(906). 예를 들어, 도 6e 내지 도 6h에서, 접촉(6006)에 의한 입력이 깊게 누르기 세기 임계치(ITD)를 초과하여 증가하는 특성 세기를 갖는다는 결정에 따라, 가상 의자 객체(5020)는 (예컨대, 도 6e에 도시된 바와 같은) 메시징 사용자 인터페이스(5008)와 구별되는 (예컨대, 도 6i에 도시된 바와 같은) 스테이징 사용자 인터페이스(6010)에 디스플레이된다.In response to detecting the first input by the first contact and upon determining that the first input by the first contact meets first (e.g., staging trigger) criteria (e.g., the staging trigger criteria are a swipe input, Hold touch input, press input, tap input, touchdown of a contact, initial movement of a contact, or any other type associated with triggering activation of the camera(s) and/or detection of viewing planes within the field of view of the camera(s). criteria configured to identify a predefined input gesture), the device displays a second representation of the virtual object in a second user interface area that is different from the first user interface area (e.g., the second user interface area has camera(s) A staging user interface 6010 that does not include a field of view and includes a simulated three-dimensional space in which three-dimensional representations of virtual objects can be manipulated (e.g., rotated and moved) in response to user input (906). For example, in FIGS. 6E-6H , upon determining that the input by contact 6006 has a characteristic intensity that increases above the deep press intensity threshold ITD , virtual chair object 5020 may (e.g. , is displayed in a staging user interface 6010 (e.g., as shown in FIG. 6I), which is distinct from the messaging user interface 5008 (as shown in FIG. 6E).
일부 실시예들에서, 제1 입력을 검출하는 것에 응답하여 그리고 제1 입력이 스테이징 트리거 기준들을 충족한다는 결정에 따라, 디바이스는 가상 객체의 3차원 표현이 제1 사용자 인터페이스 영역에 도시된 바와 같은 제1 배향(예컨대, 도 6e의 메시징 사용자 인터페이스(5008)에 도시된 바와 같은 가상 의자(5020)의 제1 배향)으로부터 디바이스 주위의 물리적 환경에 대한 디바이스의 현재 배향과는 독립적으로 배향되는 디스플레이 상의 가상 평면에 기초하여 결정되는 제2 배향(예컨대, 도 6i에 도시된 바와 같은, 스테이지 평면(6014)에 기초하여 결정되는 가상 의자(5020)의 제2 배향)으로 이동되고 재배향되는 것을 보여주는 제1 애니메이션화된 전이를 디스플레이한다. 예를 들어, 가상 객체의 3차원 표현은 (예컨대, 2차원 그래픽 사용자 인터페이스에 도시된 바와 같은 가상 객체의 형상 및 배향에 기초한) 미리정의된 배향 및/또는 평면으로부터의 거리를 갖고, 스테이징 뷰(예컨대, 스테이징 사용자 인터페이스(6010))로 전이될 때, 3차원 표현은 디스플레이 상의 가상 객체의 원래 위치로부터 디스플레이 상의 새로운 위치(예컨대, 가상 스테이지(6014)의 중심)로 이동, 크기 재설정, 및 재배향되고, 이동 동안 또는 이동의 종료 시, 3차원 표현은 가상 객체가 디바이스 주위의 물리적 환경과 독립적으로 한정되는 미리정의된 스테이징 가상 평면(6014)에 대해 고정된 각도에 있도록 재배향된다.In some embodiments, in response to detecting the first input and in accordance with a determination that the first input meets the staging trigger criteria, the device displays a three-dimensional representation of the virtual object as shown in the first user interface area. 1 orientation (e.g., the first orientation of virtual chair 5020 as shown in messaging user interface 5008 in Figure 6E). A first showing being moved and reoriented to a second orientation determined based on a plane (e.g., a second orientation of virtual chair 5020 determined based on stage plane 6014, as shown in FIG. 6I). Displays an animated transition. For example, a three-dimensional representation of a virtual object may have a predefined orientation and/or distance from a plane (e.g., based on the shape and orientation of the virtual object as shown in a two-dimensional graphical user interface) and may be displayed in a staging view ( For example, when transitioning to the staging user interface 6010, the three-dimensional representation is moved, resized, and reoriented from the virtual object's original location on the display to a new location on the display (e.g., the center of the virtual stage 6014). During or at the end of the movement, the three-dimensional representation is reoriented such that the virtual object is at a fixed angle relative to a predefined staging virtual plane 6014, which is defined independently of the physical environment around the device.
제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 디스플레이하는 동안, 디바이스는 제2 입력(예컨대, 도 6q 내지 도 6t에 예시된 바와 같은 접촉(6034)에 의한 입력)을 검출한다(908). 일부 실시예들에서, 제2 입력을 검출하는 것은 가상 객체의 제2 표현에 대응하는 터치 스크린 상의 위치에서 하나 이상의 제2 접촉들을 검출하는 것, 제2 접촉에 의해 호출될 때 디바이스 주위의 물리적 환경의 증강 현실 뷰의 디스플레이를 트리거하도록 구성되는 어포던스 상에서의 제2 접촉을 검출하는 것, 제2 접촉(들)의 이동을 검출하는 것, 및/또는 제2 접촉(들)의 리프트오프를 검출하는 것을 포함한다. 일부 실시예들에서, 제2 입력은 동일한 접촉에 의한 제1 입력의 연속(예컨대, 제2 입력은 도 6e 내지 도 6i에 예시된 바와 같은 접촉(6006)에 의한 제1 입력에 이은 도 6q 내지 도 6t에 예시된 바와 같은 접촉(6034)에 의한 입력임(접촉의 리프트오프가 없음)), 또는 완전히 상이한 접촉에 의한 별개의 입력(예컨대, 제2 입력은 도 6e 내지 도 6i에 예시된 바와 같은 접촉(6006)에 의한 제1 입력에 이은 도 6q 내지 도 6t에 예시된 바와 같은 접촉(6034)에 의한 입력임(접촉의 리프트오프가 있음)), 또는 추가 접촉에 의한 입력의 연속(예컨대, 제2 입력은 도 6e 내지 도 6i에 예시된 바와 같은 접촉(6006)에 의한 제1 입력 후의 도 6j 내지 도 6l에 예시된 바와 같은 접촉(6006)에 의한 입력임)이다. 예를 들어, 제2 입력은 스와이프 입력의 연속, 제2 탭 입력, 제2 누르기 입력, 제1 입력에 뒤따른 누르기 입력, 제2 계속 터치하기 입력, 제1 입력으로부터 계속되는 지속된 터치 등일 수 있다.While displaying the second representation of the virtual object within the second user interface area, the device detects 908 a second input (e.g., input by contact 6034 as illustrated in FIGS. 6Q-6T). In some embodiments, detecting the second input includes detecting one or more second touches at a location on the touch screen that corresponds to a second representation of the virtual object and the physical environment surrounding the device when invoked by the second touch. detecting a second contact on an affordance configured to trigger display of an augmented reality view, detecting movement of the second contact(s), and/or detecting lift-off of the second contact(s). includes that In some embodiments, the second input is a continuation of the first input by the same contact (e.g., the second input is a continuation of the first input by contact 6006 as illustrated in FIGS. 6E-6I followed by the first input by contact 6006). an input by contact 6034 as illustrated in FIG. 6T (no lift-off of the contact)), or a separate input by a completely different contact (e.g., the second input is as illustrated in FIGS. 6E-6I an input by contact 6034 as illustrated in FIGS. 6Q-6T following a first input by the same contact 6006 (with lift-off of the contact), or a continuation of input by additional contacts (e.g. , the second input is an input by contact 6006 as illustrated in FIGS. 6J-6L following the first input by contact 6006 as illustrated in FIGS. 6E-6I. For example, the second input may be a series of swipe inputs, a second tap input, a second press input, a press input following the first input, a second continued touch input, a sustained touch continuing from the first input, etc. .
제2 입력을 검출하는 것에 응답하여, 제2 입력이 (예컨대, 증강 현실 뷰로 전이하지 않으면서) 제2 사용자 인터페이스 영역 내의 가상 객체를 조작하라는 요청에 대응한다는 결정에 따라, 디바이스는 제2 입력에 기초하여 제2 사용자 인터페이스 영역 내의 가상 객체의 제2 표현의 디스플레이 속성을 변경하고, 제2 입력이 증강 현실 환경에 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라, 디바이스는 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이한다(예컨대, 디바이스는 하나 이상의 카메라들의 시야(6036)를 포함하는 제3 사용자 인터페이스를 디스플레이하고, 디바이스 주위의 물리적 환경(5002) 내의 물리적 평면(예컨대, 바닥)에 대응하는 카메라(들)의 시야 내에서 검출되는 가상 평면(예컨대, 바닥 표면(5038)) 상에 가상 객체(예컨대, 가상 의자(5020))의 3차원 표현을 배치한다)(910).In response to detecting the second input, and determining that the second input corresponds to a request to manipulate a virtual object within the second user interface area (e.g., without transitioning to an augmented reality view), the device responds to the second input. Based on a determination that the second input corresponds to a request to display the virtual object in the augmented reality environment, the device determines that the display properties of the second representation of the virtual object in the second user interface area are in the field of view of the one or more cameras. Display a third representation of the virtual object with the representation (e.g., the device displays a third user interface including a field of
일부 실시예들에서, 제2 사용자 인터페이스 영역 내의 가상 객체를 조작하라는 요청에 대응하는 제2 입력은 제2 사용자 인터페이스 영역 내의 가상 객체의 제2 표현에 대응하는 터치 감응형 표면 상의 위치에서 제2 접촉(들)에 의한 핀치 또는 스와이프이다. 예를 들어, 제2 입력은 도 6j 내지 도 6l에 예시된 바와 같은 접촉(6006)에 의한 입력 또는 도 6n 및 도 6o에 예시된 바와 같은 접촉들(6026, 6030)에 의한 입력이다.In some embodiments, the second input corresponding to a request to manipulate a virtual object within the second user interface area includes a second contact at a location on the touch-sensitive surface that corresponds to a second representation of the virtual object within the second user interface area. It is a pinch or swipe by (s). For example, the second input is input by contact 6006 as illustrated in FIGS. 6J-6L or input by contacts 6026, 6030 as illustrated in FIGS. 6N and 6O.
일부 실시예들에서, 증강 현실 환경에 가상 객체를 디스플레이하라는 요청에 대응하는 제2 입력은, 제2 사용자 인터페이스 영역 내의 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서의 또는 그로부터의, 탭 입력, 누르기 입력, 또는 계속 터치하기 또는 누르기 입력에 이은 드래그 입력이다. 예를 들어, 제2 입력은 도 6q 내지 도 6t에 예시된 바와 같은 접촉(6034)에 의한 깊게 누르기 입력이다.In some embodiments, the second input corresponding to the request to display the virtual object in the augmented reality environment may include a tap at or from a location on the touch-sensitive surface corresponding to a representation of the virtual object in the second user interface area. This is an input, a press input, or a drag input followed by a continuous touch or press input. For example, the second input is a deep press input by contact 6034 as illustrated in FIGS. 6Q-6T.
일부 실시예들에서, 제2 입력에 기초하여 제2 사용자 인터페이스 영역 내의 가상 객체의 제2 표현의 디스플레이 속성을 변경하는 것은 (예컨대, 수직 및/또는 수평 스와이프를 통해) 하나 이상의 축들을 중심으로 회전시키는 것, 크기 재설정하는 것(예컨대, 크기 재설정하기 위한 핀치), (예컨대, 디바이스를 기울임으로써) 하나 이상의 축들을 중심으로 기울이는 것, (예컨대, 디바이스를 수평으로 이동시킴으로써 - 이는 일부 실시예들에서 하나 이상의 시야 평면들을 검출하기 위해 하나 이상의 카메라들의 시야의 분석을 위해 사용됨) 시점을 변경하는 것, 및/또는 가상 객체의 표현의 색상을 변경하는 것을 포함한다. 예를 들어, 가상 객체의 제2 표현의 디스플레이 속성을 변경하는 것은 도 6j 및 도 6k에 예시된 바와 같이 접촉(6006)에 의한 수평 스와이프 제스처에 응답하여 가상 의자(5020)를 회전시키는 것, 도 6k 및 도 6l에 예시된 바와 같이 접촉(6006)에 의한 대각선 스와이프 제스처에 응답하여 가상 의자(5020)를 회전시키는 것, 또는 도 6n 및 도 6o에 예시된 바와 같이 접촉들(6026, 6030)에 의한 디핀치 제스처에 응답하여 가상 의자(5020)의 크기를 증가시키는 것을 포함한다. 일부 실시예들에서, 가상 객체의 제2 표현의 디스플레이 속성이 변경되는 양은 제2 입력의 속성이 변하는 양(예컨대, 접촉(들)에 의한 이동의 거리 또는 속력, 접촉의 세기, 접촉의 지속시간 등)과 상관된다.In some embodiments, changing the display properties of the second representation of the virtual object within the second user interface area based on the second input (e.g., via vertical and/or horizontal swipes) about one or more axes. Rotating, resizing (e.g., pinching to resize), tilting about one or more axes (e.g., by tilting the device), (e.g., by moving the device horizontally - these are some embodiments (used for analysis of the field of view of one or more cameras to detect one or more viewing planes in a view), changing the viewpoint, and/or changing the color of the representation of the virtual object. For example, changing the display properties of the second representation of the virtual object may include rotating virtual chair 5020 in response to a horizontal swipe gesture by contact 6006, as illustrated in FIGS. 6J and 6K; Rotating virtual chair 5020 in response to a diagonal swipe gesture by contact 6006 as illustrated in FIGS. 6K and 6L, or contacts 6026, 6030 as illustrated in FIGS. 6N and 6O. ) and increasing the size of the virtual chair 5020 in response to the de-pinch gesture. In some embodiments, the amount by which the display properties of the second representation of the virtual object change is the amount by which the properties of the second input change (e.g., the distance or speed of movement by the contact(s), the intensity of the contact, the duration of the contact) etc.).
일부 실시예들에서, 제2 입력이 증강 현실 환경에 (예컨대, 도 6t와 관련하여 기술된 바와 같이, 하나 이상의 카메라들의 시야(6036) 내에) 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라, 디바이스는 가상 객체의 3차원 표현이 디스플레이 상의 가상 평면에 대한 각각의 배향(예컨대, 도 6r에 도시된 가상 의자(5020)의 배향)으로부터 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분의 현재 배향에 기초하여 결정되는 제3 배향(예컨대, 도 6t에 도시된 가상 의자(5020)의 배향)으로 재배향되는 것을 보여주는 제2 애니메이션화된 전이를 디스플레이한다. 예를 들어, 가상 객체의 3차원 표현은 가상 객체의 3차원 표현이 카메라(들)의 시야 내에서 캡처되는 물리적 환경(5002)의 라이브 이미지에서 식별되는 미리정의된 평면(예컨대, 바닥 표면(5038))(예컨대, 가상 객체의 3차원 표현을 지지할 수 있는 수직 벽 또는 수평 바닥 표면과 같은 물리적 표면)에 대해 고정된 각도에 있도록 재배향된다. 일부 실시예들에서, 증강 현실 뷰 내의 가상 객체의 배향은, 적어도 하나의 태양에서, 스테이징 사용자 인터페이스 내의 가상 객체의 배향에 의해 제약된다. 예를 들어, 3차원 좌표계의 적어도 하나의 축을 중심으로 하는 가상 객체의 회전 각은 가상 객체를 스테이징 사용자 인터페이스로부터 증강 현실 뷰로 전이시킬 때 유지된다(예컨대, 도 6q 내지 도 6u와 관련하여 기술된 바와 같이, 도 6j 및 도 6k와 관련하여 기술된 바와 같은 가상 의자(5020)의 회전이 유지된다). 일부 실시예들에서, 제2 사용자 인터페이스 영역 내의 가상 객체의 표현 상에 드리워진 광의 공급원은 가상 광원이다. 일부 실시예들에서, 제3 사용자 인터페이스 영역 내의 가상 객체의 제3 표현은 (예컨대, 하나 이상의 카메라들의 시야 내에서 검출되고/되거나 그로부터 결정되는 바와 같은) 실세계 광원에 의해 조명된다.In some embodiments, upon determining that the second input corresponds to a request to display a virtual object in an augmented reality environment (e.g., within the field of
일부 실시예들에서, 제1 기준들은, 제1 입력이 가상 객체 표시자(5022)(예컨대, 디스플레이 상의 가상 객체의 표현을 오버레이하고/하거나 그에 인접하게 디스플레이되는 표시자, 예컨대, 아이콘)에 대응하는 터치 감응형 표면 상의 위치에서 제1 접촉에 의한 탭 입력을 포함할 때 (예컨대, 포함한다는 결정에 따라) 만족되는 기준들을 포함한다(912). 예를 들어, 가상 객체 표시자(5022)는 그가 대응하는 가상 객체가 (예컨대, 방법(1000)을 참조하여 아래에서 더 상세히 설명되는 바와 같이) 스테이징 뷰(예컨대, 스테이징 사용자 인터페이스(6010)) 및 증강 현실 뷰(예컨대, 카메라(들)의 시야(6036))에서 관찰가능하다는 표시를 제공한다. 제1 입력이 탭 입력을 포함하는지 여부에 따라, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 디스플레이할지 여부를 결정하는 것은, 제1 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first criteria are such that the first input corresponds to a virtual object indicator 5022 (e.g., an indicator, e.g., an icon, that is displayed adjacent to and/or overlays a representation of the virtual object on the display). criteria that are satisfied when including (e.g., in accordance with a decision to include) a tap input by a first contact at a location on the touch-sensitive surface (912). For example, virtual object indicator 5022 may indicate that the virtual object it corresponds to is displayed in a staging view (e.g., staging user interface 6010) (e.g., as described in more detail below with reference to method 1000) and Provides an indication that it is viewable in an augmented reality view (e.g., in the field of
일부 실시예들에서, 제1 기준들은, 제1 접촉이 가상 객체의 제1 표현에 대응하는 터치 감응형 표면 상의 위치에서 적어도 미리정의된 임계 시간(예컨대, 길게 누르기 시간 임계치) 동안 임계량 미만의 이동으로 유지될 때 (예컨대, 유지된다는 결정에 따라) 만족되는 기준들을 포함한다(914). 예를 들어, 제1 기준들은 계속 터치하기 입력에 의해 충족된다. 일부 실시예들에서, 제1 기준들은, 기준이 충족되기 위하여, 제1 접촉이 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서 적어도 미리정의된 임계 시간 동안 임계량 미만의 이동으로 유지된 후 제1 접촉의 이동을 요구하는 기준을 포함한다. 예를 들어, 제1 기준들은 계속 터치하기 입력에 이은 드래그 입력에 의해 충족된다. 접촉이 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서 적어도 미리정의된 시간 동안 임계량 미만의 이동으로 유지되는지 여부에 따라, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 디스플레이할지 여부를 결정하는 것은, 제1 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first criteria are such that the first contact moves less than a threshold amount for at least a predefined threshold time (e.g., a press and hold time threshold) at a location on the touch-sensitive surface that corresponds to a first representation of the virtual object. Includes criteria that are satisfied when maintained (e.g., following a decision to be maintained) (914). For example, the first criteria are met by a keep touching input. In some embodiments, the first criteria may be such that, for the criteria to be met, the first contact is maintained with less than a threshold amount of movement for at least a predefined threshold time at a location on the touch-sensitive surface corresponding to a representation of the virtual object. Includes criteria requiring movement of the first contact. For example, the first criteria are met by a continuous touch input followed by a drag input. Whether to display the second representation of the virtual object within the second user interface area depending on whether the contact is maintained with less than a threshold amount of movement at a location on the touch-sensitive surface corresponding to the representation of the virtual object for at least a predefined period of time. Determining allows performance of a number of different types of operations in response to the first input. Enabling the performance of multiple different types of operations in response to input increases the efficiency with which the user can perform these operations, thereby improving the operability of the device, which additionally allows the user to use the device better. Reduces device power usage and improves battery life by enabling quick and efficient use.
일부 실시예들에서, 제1 기준들은, 제1 접촉의 특성 세기가 제1 세기 임계치(예컨대, 깊게 누르기 세기 임계치(ITD))를 초과하여 증가할 때 (예컨대, 증가한다는 결정에 따라) 만족되는 기준들을 포함한다(916). 예를 들어, 도 6q 내지 도 6t와 관련하여 기술된 바와 같이, 기준들은 접촉(6034)의 특성 세기가, 세기 레벨 측정기(5028)에 의해 나타낸 바와 같이, 깊게 누르기 세기 임계치(ITD)를 초과하여 증가할 때 만족된다. 일부 실시예들에서, 접촉이 다른 유형의 제스처(예컨대, 탭)를 인식하기 위한 기준들을 만족한다는 결정에 따라, 디바이스는 가상 객체의 디스플레이를 유지하는 동안 제2 (예컨대, 스테이징) 사용자 인터페이스를 트리거하는 것 이외의 다른 미리정의된 기능을 수행한다. 일부 실시예들에서, 제1 기준들은 제1 입력이 탭 입력(예컨대, 접촉의 리프트오프가 접촉의 초기 터치다운의 탭 시간 임계치 내에 검출되기 전에 임계 세기를 초과하여 도달하는 세기를 갖는 강한 탭 입력)이 아닐 것을 요구한다. 일부 실시예들에서, 제1 기준들은, 기준이 충족되기 위하여, 제1 접촉의 세기가 제1 세기 임계치를 초과한 후 제1 접촉의 이동을 요구하는 기준을 포함한다. 예를 들어, 제1 기준들은 누르기 입력에 이은 드래그 입력에 의해 충족된다. 접촉의 특성 세기가 제1 세기 임계치를 초과하여 증가하는지 여부에 따라, 제2 사용자 인터페이스 영역 내에 가상 객체를 디스플레이할지 여부를 결정하는 것은, 제1 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first criteria are met when (e.g., upon determining that the characteristic intensity of the first contact increases) above a first intensity threshold (e.g., a deep press intensity threshold (ITD )). Includes standards that are applicable (916). For example, as described with respect to FIGS. 6Q-6T, the criteria are such that the characteristic intensity of contact 6034 exceeds the deep pressing intensity threshold (ITD ), as indicated by intensity level meter 5028. It is satisfied when it increases. In some embodiments, upon determining that the contact meets criteria for recognizing another type of gesture (e.g., a tap), the device triggers a second (e.g., staging) user interface while maintaining display of the virtual object. It performs other predefined functions than In some embodiments, the first criteria may be that the first input is a tap input (e.g., a strong tap input with an intensity that reaches above the threshold intensity before lift-off of the contact is detected within the tap time threshold of the initial touchdown of the contact. ) is not required. In some embodiments, the first criteria include a criterion that requires movement of the first contact after the intensity of the first contact exceeds the first intensity threshold for the criterion to be met. For example, the first criteria are met by a press input followed by a drag input. Depending on whether the characteristic intensity of the contact increases beyond the first intensity threshold, determining whether to display the virtual object within the second user interface area may include performing a number of different types of actions in response to the first input. Make it possible. Enabling the performance of multiple different types of operations in response to input increases the efficiency with which the user can perform these operations, thereby improving the operability of the device, which additionally allows the user to use the device better. Reduces device power usage and improves battery life by enabling quick and efficient use.
일부 실시예들에서, 제1 접촉에 의한 제1 입력을 검출하는 것에 응답하여 그리고 제1 접촉에 의한 제1 입력이 제2 기준들(예컨대, 인터페이스 스크롤 기준들)을 충족한다는 결정에 따라 - 제2 기준들은 제1 입력이 터치 감응형 표면을 가로지르는 방향으로 임계 거리 초과 동안 제1 접촉의 이동을 포함할 것을 요구함(예컨대, 제2 기준들은 수직 스와이프 또는 수평 제스처와 같은 스와이프 제스처에 의해 충족됨) -, 디바이스는 제1 접촉의 이동의 방향에 대응하는 방향으로 제1 사용자 인터페이스 영역(및 가상 객체의 표현)을 스크롤한다(예컨대, 제1 기준들은 충족되지 않고 제2 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하는 것은 보류된다)(918). 예를 들어, 도 6b 및 도 6c와 관련하여 기술된 바와 같이, 접촉(6002)에 의한 상향 수직 스와이프 제스처는 메시징 사용자 인터페이스(5008) 및 가상 의자(5020)가 상향으로 스크롤되게 한다. 일부 실시예들에서, 제1 기준들은 또한, 제1 기준들이 충족되기 위하여 제1 입력이 임계 거리 초과 동안 제1 접촉의 이동을 포함할 것을 요구하고, 디바이스는 제1 입력의 초기 부분이 객체 선택 기준들(예컨대, 가상 객체의 표현 상에서의 계속 터치하기 또는 누르기)을 충족하는지 여부에 기초하여 제1 입력이 제1 기준들(예컨대, 스테이징 트리거 기준들)을 충족하는지 또는 제2 기준들(예컨대, 인터페이스 스크롤 기준들)을 충족하는지를 결정한다. 일부 실시예들에서, 제2 기준들은 가상 객체의 AR 아이콘 및 가상 객체의 위치의 외측의 터치 위치에서 개시되는 스와이프 입력에 의해 충족된다. 제1 입력이 제2 기준들을 충족하는지 여부에 따라, 제1 입력에 응답하여 제1 사용자 인터페이스 영역을 스크롤할지 여부를 결정하는 것은, 제1 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting the first input by the first contact and in accordance with a determination that the first input by the first contact meets second criteria (e.g., interface scroll criteria) - 2 Criteria require that the first input include movement of the first contact for more than a threshold distance in a direction across the touch-sensitive surface (e.g., by a swipe gesture, such as a vertical swipe or a horizontal gesture) met) -, the device scrolls the first user interface area (and the representation of the virtual object) in a direction corresponding to the direction of movement of the first contact (e.g., the first criteria are not met and within the second user interface area Displaying the representation of the virtual object is reserved) (918). For example, as described with respect to FIGS. 6B and 6C, an upward vertical swipe gesture by contact 6002 causes messaging user interface 5008 and virtual chair 5020 to scroll upward. In some embodiments, the first criteria also require that the first input include movement of the first contact for more than a threshold distance for the first criteria to be met, and the device selects the object if the initial portion of the first input is Based on whether the first input meets first criteria (e.g., staging trigger criteria) or second criteria (e.g., continuing to touch or press on a representation of the virtual object) , interface scroll criteria) are met. In some embodiments, the second criteria are met by a swipe input that is initiated at a touch location outside the AR icon of the virtual object and the location of the virtual object. Depending on whether the first input meets the second criteria, determining whether to scroll the first user interface area in response to the first input enables performing a number of different types of operations in response to the first input. Let it be done. Enabling the performance of multiple different types of operations in response to input increases the efficiency with which the user can perform these operations, thereby improving the operability of the device, which additionally allows the user to use the device better. Reduces device power usage and improves battery life by enabling quick and efficient use.
일부 실시예들에서, 제1 접촉에 의한 제1 입력을 검출하는 것에 응답하여 그리고 제1 접촉에 의한 제1 입력이 제3 (예컨대, AR 트리거) 기준들을 충족한다는 결정에 따라, 디바이스는 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이한다(920). 예를 들어, 도 6ad 내지 도 6ag와 관련하여 기술된 바와 같이, 접촉(6044)에 의한 긴 터치 입력에 이은 가상 의자(5020)를 드래그하는 접촉(6044)에 의한 상향 드래그 입력은 가상 의자(5020)가 카메라(들)의 시야(6036)와 함께 디스플레이되게 한다.In some embodiments, in response to detecting the first input by the first contact and in accordance with a determination that the first input by the first contact meets third (e.g., AR trigger) criteria, the device may trigger one or more A third representation of the virtual object is displayed along with a representation of the cameras' field of view (920). For example, as described with respect to FIGS. 6A-6A , a long touch input by contact 6044 followed by an upward drag input by contact 6044 that drags virtual chair 5020 causes virtual chair 5020 to ) is displayed along with the field of
일부 실시예들에서, 제3 기준들은, 예컨대, 하나 이상의 카메라들이 활성 상태에 있고/있거나, 디바이스 배향이 (예컨대, 한정된 원점 배향, 하나 이상의 축들을 중심으로 하는 한정된 회전 각으로부터) 한정된 범위 내에 속하고/하거나, 접촉에 의한 입력이 선택 입력(예컨대, 긴 터치)에 이은 드래그 입력(가상 객체를 디스플레이 상에서 (예컨대, 디스플레이의 에지로부터 미리결정된 거리 내까지) 이동시키는 접촉의 이동)을 포함하고/하거나, 접촉의 특성 세기가 AR 트리거 세기 임계치(예컨대, 가볍게 누르기 임계치(ITL) 또는 깊게 누르기 임계치(ITD))를 초과하여 증가하고/하거나, 접촉의 지속기간이 AR 트리거 지속기간 임계치(예컨대, 길게 누르기 임계치)를 초과하여 증가하고/하거나, 접촉이 이동한 거리가 AR 트리거 거리 임계치(예컨대, 긴 스와이프 임계치)를 초과하여 증가한다는 결정에 따라 만족되는 기준들을 포함한다. 일부 실시예들에서, 제2 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스(6010)) 내에 가상 객체의 표현을 디스플레이하기 위한 제어부(예컨대, 토글 제어부(6018))가 가상 객체의 표현 및 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스(예컨대, 제2 사용자 인터페이스 영역의 적어도 일부분을 대체하는 제3 사용자 인터페이스 영역)에 디스플레이된다.In some embodiments, the third criteria include, e.g., one or more cameras are active and/or the device orientation is within a defined range (e.g., from a defined origin orientation, a defined rotation angle about one or more axes). and/or the input by contact includes a selection input (e.g., a long touch) followed by a drag input (movement of a contact that moves the virtual object on the display (e.g., within a predetermined distance from the edge of the display)), and/or Or, the characteristic intensity of the contact increases beyond the AR trigger intensity threshold (e.g., the light press threshold (ITL ) or the deep press threshold (ITD )) and/or the duration of the contact increases beyond the AR trigger duration threshold (e.g., , a long press threshold) and/or the distance traveled by the contact increases beyond an AR trigger distance threshold (e.g., a long swipe threshold). In some embodiments, a control (e.g., a toggle control 6018) for displaying a representation of a virtual object within a second user interface area (e.g., staging user interface 6010) may control the representation of the virtual object and one or more cameras. displayed in a user interface including field of view 6036 (e.g., a third user interface area replacing at least a portion of a second user interface area).
일부 실시예들에서, 제1 사용자 인터페이스 영역(예컨대, 비-AR, 비-스테이징, 터치 스크린 UI 뷰)으로부터 제3 사용자 인터페이스 영역(예컨대, 증강 현실 뷰)으로 직접 전이될 때, 디바이스는 가상 객체의 3차원 표현이 디스플레이 상의 터치 스크린 UI(예컨대, 비-AR, 비-스테이징 뷰) 내에 표현된 각각의 배향으로부터 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분의 현재 배향에 대해 미리정의된 배향으로 재배향되는 것을 보여주는 애니메이션화된 전이를 디스플레이한다. 예를 들어, 도 6ad 내지 도 6aj에 도시된 바와 같이, 제1 사용자 인터페이스 영역(예컨대, 도 6ad에 도시된 바와 같은 메시징 사용자 인터페이스(5008))으로부터 제3 사용자 인터페이스 영역(예컨대, 도 6aj에 도시된 바와 같은 카메라(들)의 시야(6036)를 포함하는 증강 현실 사용자 인터페이스)으로 직접 전이될 때, 가상 의자(5020)는 도 6ad 내지 도 6ah에 도시된 바와 같은 제1 배향으로부터 (예컨대, 도 6aj에 도시된 바와 같은) 카메라(들)의 시야(6036) 내에서 캡처되는 바와 같은 물리적 환경(5002) 내의 바닥 표면(5038)에 대한 미리정의된 배향으로 변경된다. 예를 들어, 가상 객체의 3차원 표현은 가상 객체의 3차원 표현이 물리적 환경(5002)의 라이브 이미지에서 식별되는 미리정의된 평면(예컨대, 가상 객체의 3차원 표현을 지지할 수 있는 수직 벽 또는 수평 바닥 표면(예컨대, 바닥 표면(5038))과 같은 물리적 표면)에 대해 고정된 각도에 있도록 재배향된다. 제1 입력이 제3 기준들을 충족하는지 여부에 따라, 제1 입력에 응답하여 카메라(들)의 시야와 함께 가상 객체의 제3 표현을 디스플레이할지 여부를 결정하는 것은, 제1 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, when transitioning directly from a first user interface area (e.g., a non-AR, non-staging, touch screen UI view) to a third user interface area (e.g., an augmented reality view), the device displays a virtual object. A three-dimensional representation of a predefined representation of the current orientation of a portion of the physical environment captured within the field of view of one or more cameras from each orientation represented within a touch screen UI (e.g., non-AR, non-staging view) on the display. Displays an animated transition showing reorientation. For example, as shown in Figures 6A-6J, from a first user interface area (e.g., messaging user interface 5008 as shown in Figure 6A) to a third user interface area (e.g., as shown in Figure 6J). When transitioning directly to the augmented reality user interface (including the field of
일부 실시예들에서, 제1 접촉에 의한 제1 입력을 검출하는 것에 응답하여, 디바이스는, 하나 이상의 디바이스 배향 센서들에 의해, 디바이스의 현재 디바이스 배향(예컨대, 디바이스 주위의 물리적 환경에 대한 배향)을 결정하고, 제3 기준들(예컨대, AR 트리거 기준들)은 제3 기준들이 충족되기 위하여 현재 디바이스 배향이 제1 범위의 배향들 내에 있을 것을 요구한다(예컨대, 제2 기준들은 디바이스와 지면 사이의 각도가 임계 각도 미만일 때 충족되는데, 이는 디바이스가 (중간 상태(interstitial state)를 바이패스하도록) 지면에 충분히 평행한 것을 나타낸다)(922). 일부 실시예들에서, 제1 기준들(예컨대, 스테이징 트리거 기준들)은 제1 기준들이 충족되기 위하여 현재 디바이스 배향이 제2 범위의 배향들 내에 있을 것을 요구한다(예컨대, 제1 기준들은 디바이스와 지면 사이의 각도가 임계 값 내지 90도 내에 있을 때 충족되는데, 이는 디바이스가 지면에 대해 충분히 직립하여 먼저 중간 상태로 되는 것을 나타낸다). 디바이스 배향이 일정 범위의 배향들 내에 있는지 여부에 따라, 제1 입력에 응답하여 카메라(들)의 시야와 함께 가상 객체의 제3 표현을 디스플레이할지 여부를 결정하는 것은, 제1 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting the first input by the first contact, the device determines, by one or more device orientation sensors, the current device orientation of the device (e.g., orientation relative to the physical environment around the device). and the third criteria (e.g., AR trigger criteria) require that the current device orientation be within a first range of orientations for the third criteria to be met (e.g., the second criteria are is met when the angle of is less than the threshold angle, which indicates that the device is sufficiently parallel to the ground (to bypass the interstitial state) (922). In some embodiments, the first criteria (e.g., staging trigger criteria) require that the current device orientation be within a second range of orientations for the first criteria to be met (e.g., the first criteria are It is met when the angle between the ground is within the threshold value of 90 degrees, which indicates that the device is sufficiently upright relative to the ground to first enter the intermediate state). Depending on whether the device orientation is within a range of orientations, determining whether to display a third representation of the virtual object with the field of view of the camera(s) in response to the first input may include: It enables the performance of different types of operations. Enabling the performance of multiple different types of operations in response to input increases the efficiency with which the user can perform these operations, thereby improving the operability of the device, which additionally allows the user to use the device better. Reduces device power usage and improves battery life by enabling quick and efficient use.
일부 실시예들에서, 가상 객체의 제2 표현의 적어도 하나의 디스플레이 속성(예컨대, 크기, 형상, 요(yaw) 축, 피치 축 및 롤 축을 중심으로 하는 각각의 각도들 등)이 가상 객체의 제3 표현에 적용된다(924). 예를 들어, 도 6q 내지 도 6u와 관련하여 기술된 바와 같이, 도 6j 및 도 6k와 관련하여 기술된 바와 같은 스테이징 사용자 인터페이스(6010)에 적용되는 가상 의자(5020)의 제2 표현의 회전은, 가상 의자(5020)의 제3 표현이 (예컨대, 도 6u에 도시된 바와 같이) 카메라(들)의 시야(6036)를 포함하는 증강 현실 뷰에 디스플레이될 때 유지된다. 일부 실시예들에서, 증강 현실 뷰 내의 가상 객체의 배향은, 적어도 하나의 태양에서, 스테이징 사용자 인터페이스 내의 가상 객체의 배향에 의해 제약된다. 예를 들어, 미리정의된 3차원 좌표계의 적어도 하나의 축(예컨대, 요 축, 피치 축, 또는 롤 축)을 중심으로 하는 가상 객체의 회전 각은 가상 객체를 스테이징 뷰로부터 증강 현실 뷰로 전이시킬 때 유지된다. 일부 실시예들에서, 가상 객체의 제2 표현의 적어도 하나의 디스플레이 속성은 가상 객체의 제2 표현이 사용자 입력에 의해 (예컨대, 크기, 형상, 텍스처, 배향 등이 변경되는) 어떤 방식으로든 조작되었다면 가상 객체의 제3 표현에만 적용된다. 다시 말하면, 스테이징 뷰에서 이루어지는 변경들은 객체가 증강 현실 뷰에서 보여질 때 유지되거나 증강 현실 뷰에서 객체의 외관을 하나 이상의 방식들로 제약하는 데 사용된다. (예컨대, 가상 객체의 제2 표현 및 가상 객체의 제3 표현에 동일한 디스플레이 속성을 적용하기 위한 추가 사용자 입력을 요구하지 않으면서) 가상 객체의 제2 표현의 적어도 하나의 디스플레이 속성을 가상 객체의 제3 표현에 적용하는 것은 (예컨대, 가상 객체의 큰 형태가 제2 사용자 인터페이스에 디스플레이되는 동안 사용자가 제2 가상 객체에 회전을 적용하게 하고, 하나 이상의 카메라들의 시야의 표현과 함께 디스플레이되는 가상 객체의 제3 표현에 회전을 적용함으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, at least one display property of the second representation of the virtual object (e.g., size, shape, respective angles about the yaw axis, pitch axis, and roll axis, etc.) 3 Applies to expressions (924). For example, as described with respect to FIGS. 6Q-6U , rotation of the second representation of virtual chair 5020 applied to staging user interface 6010 as described with respect to FIGS. 6J and 6K may be , a third representation of virtual chair 5020 is maintained when displayed in an augmented reality view that includes the field of
일부 실시예들에서, 제1 접촉에 의한 제1 입력의 적어도 초기 부분을 검출하는 것(예컨대, 제1 접촉을 검출하는 것, 또는 제1 기준들을 충족하지 않으면서 각각의 미리정의된 기준들을 충족하는 제1 접촉에 의한 입력을 검출하는 것, 또는 제1 기준들을 충족하는 입력을 검출하는 것을 포함함)에 응답하여, 디바이스는 하나 이상의 카메라들을 활성화시키고(예컨대, 디스플레이 상의 카메라(들)의 시야를 즉시 디스플레이하지 않으면서 카메라(들)를 활성화시킴), 디바이스는 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들을 검출하기 위해 하나 이상의 카메라들의 시야를 분석한다(926). 일부 실시예들에서, 하나 이상의 카메라들의 시야(6036)를 디스플레이하는 것은 하나 이상의 카메라들을 활성화시킨 후에 (예컨대, 증강 현실 환경에서 가상 객체를 디스플레이하라는 요청에 대응하는 제2 입력이 검출될 때까지, 적어도 하나의 시야 평면이 검출될 때까지, 또는 가상 객체에 대해 한정된 앵커 평면에 대응하는 시야 평면이 검출될 때까지) 지연된다. 일부 실시예들에서, 하나 이상의 카메라들의 시야(6036)는 하나 이상의 카메라들의 활성화에 대응하는 시간에 (예컨대, 활성화와 동시에) 디스플레이된다. 일부 실시예들에서, 하나 이상의 카메라들의 시야(6036)는 하나 이상의 카메라들의 시야 내에서 평면이 검출되기 전에 디스플레이된다(예컨대, 하나 이상의 카메라들의 시야는 접촉에 의한 제1 입력을 검출하는 것에 응답하여 그리고 결정에 따라 디스플레이된다). (예컨대, 하나 이상의 카메라들의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하기 전에) 제1 입력의 초기 부분을 검출하는 것에 응답하여 카메라(들)를 활성화시키고 하나 이상의 시야 평면들을 검출하기 위해 카메라(들)의 시야를 분석하는 것은 (예컨대, 카메라(들)의 시야 내의 각각의 평면에 대한 가상 객체의 제3 표현의 위치 및/또는 배향을 결정하는 데 필요한 시간을 감소시킴으로써) 디바이스의 효율을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, detecting at least an initial portion of the first input by a first contact (e.g., detecting the first contact, or meeting respective predefined criteria without meeting the first criteria) In response (including detecting input by a first contact, or detecting input that meets the first criteria), the device activates one or more cameras (e.g., the field of view of the camera(s) on the display) Activating the camera(s) without immediately displaying 926), the device analyzes the field of view of one or more cameras to detect one or more planes within the field of view of the one or more cameras (926). In some embodiments, displaying the field of
일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 각각의 평면(예컨대, 바닥 표면(5038))을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야 내의 각각의 평면의 검출을 나타내기 위해 촉각적 출력을, 하나 이상의 촉각적 출력 생성기들(167)에 의해, 출력한다(928). 일부 실시예들에서, 시야(6036)는 시야 평면이 식별되기 전에 보여질 수 있다. 일부 실시예들에서, 적어도 하나의 시야 평면이 검출된 후에 또는 시야 평면들 모두가 식별된 후, 추가 사용자 인터페이스 제어부들 및/또는 아이콘들이 시야 내의 실세계 이미지 상에 오버레이된다. 카메라(들)의 시야 내의 평면의 검출을 나타내기 위해 촉각적 출력을 출력하는 것은 평면이 검출되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은, (예컨대, 사용자가 적절한 입력들을 제공하는 것을 돕고, 가상 객체를 배치하기 위한 불필요한 추가 입력들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting a respective plane (e.g., floor surface 5038) within the field of view of one or more cameras, the device uses a tactile sensor to indicate detection of the respective plane within the field of view of the one or more cameras. The tactile output is output (928) by one or more tactile output generators (167). In some embodiments, field of
일부 실시예들에서, 디스플레이 상의 가상 객체의 제3 표현의 크기는 가상 객체(예컨대, 가상 의자(5020))의 제3 표현과 고정된 공간적 관계를 갖는 하나 이상의 카메라들의 시야(6036) 내의 위치(예컨대, 가상 객체가 부착되는 바닥 표면(5038)과 같은 평면)와 하나 이상의 카메라들 사이의 거리 및 가상 객체의 시뮬레이션된 실세계 크기에 기초하여 결정된다(930). 일부 실시예들에서, 가상 객체의 제3 표현의 크기는 하나 이상의 카메라들의 시야에 대한 가상 객체의 제3 표현의 크기의 축척이 유지되도록 제약된다. 일부 실시예들에서, 하나 이상의 물리적 치수 파라미터들(예컨대, 길이, 폭, 깊이, 및/또는 반경)이 가상 객체에 대해 한정된다. 일부 실시예들에서, 제2 사용자 인터페이스(예컨대, 스테이징 사용자 인터페이스)에서, 가상 객체는 그의 한정된 물리적 치수 파라미터들에 의해 제약되지 않는다(예컨대, 가상 객체의 크기는 사용자 입력에 응답하여 변경가능하다). 일부 실시예들에서, 가상 객체의 제3 표현은 그의 한정된 치수 파라미터들에 의해 제약된다. 시야 내에 표현된 물리적 환경에 대한 증강 현실 뷰에서 가상 객체의 위치를 변경하기 위한 사용자 입력이 검출될 때, 또는 시야의 줌(zoom) 레벨을 변경하기 위한 사용자 입력이 검출될 때, 또는 디바이스 주위의 물리적 환경에 대해 이동하는 사용자 입력이 검출될 때, 가상 객체의 외관(예컨대, 크기, 관찰 시점)은 (예컨대, 가상 객체의 앵커 평면과 증강 현실 환경 사이의 고정된 공간적 관계에 의해 표현되는 바와 같이) 가상 객체와 물리적 환경 사이의 고정된 공간적 관계, 및 가상 객체의 미리정의된 치수 파라미터들 및 물리적 환경의 실제 치수들에 기초한 고정된 축척에 의해 제한되는 방식으로 변경될 것이다. (예컨대, 가상 객체의 실세계 크기를 시뮬레이션하기 위해 가상 객체의 제3 표현을 크기 재설정하기 위한 추가 사용자 입력을 요구하지 않으면서) 하나 이상의 카메라들과 카메라(들)의 시야 내의 위치 사이의 거리 및 가상 객체의 시뮬레이션된 실세계 크기에 기초하여 가상 객체의 제3 표현의 크기를 결정하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the size of the third representation of the virtual object on the display is determined by the location within the field of
일부 실시예들에서, 증강 현실 환경에 가상 객체를 디스플레이하라는 요청에 대응하는 제2 입력은, 가상 객체의 제2 표현을 (선택하고) (예컨대, 거리 임계치를 초과하여, 한정된 경계를 지나서, 그리고/또는 디스플레이 또는 제2 사용자 인터페이스 영역의 에지(예컨대, 하부 에지, 상부 에지, 및/또는 측부 에지)의 임계 거리 내에 있는 위치까지 증가하는 거리만큼) 드래그하는 입력을 포함한다(932). 증강 현실 환경에 가상 객체를 디스플레이하라는 요청에 대응하는 제2 입력을 검출하는 것에 응답하여 카메라(들)의 시야의 표현과 함께 가상 객체의 제3 표현을 디스플레이하는 것은 디스플레이된 추가 제어부들(예컨대, 제2 사용자 인터페이스로부터 증강 현실 환경을 디스플레이하기 위한 제어부들)로 제2 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공한다. 디스플레이된 추가 제어부들로 제2 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공하는 것은 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the second input corresponding to a request to display a virtual object in an augmented reality environment (selects) a second representation of the virtual object (e.g., beyond a distance threshold, past a defined boundary, and and/or dragging (932) an increasing distance to a position that is within a threshold distance of an edge (e.g., bottom edge, top edge, and/or side edge) of the display or second user interface area. Displaying a third representation of the virtual object together with a representation of the field of view of the camera(s) in response to detecting a second input corresponding to a request to display the virtual object in the augmented reality environment may be performed using displayed additional controls (e.g. controls for displaying an augmented reality environment from the second user interface) and providing additional control options without cluttering the second user interface. Providing additional control options without cluttering the secondary user interface with displayed additional controls improves the operability of the device, which additionally allows the user to use the device more quickly and efficiently. Reduces power usage and improves battery life.
일부 실시예들에서, 제2 사용자 인터페이스 영역(예컨대, 도 6z에 도시된 바와 같은 스테이징 사용자 인터페이스(6010)) 내에 가상 객체의 제2 표현을 디스플레이하는 동안, 디바이스는 제1 사용자 인터페이스 영역을 재디스플레이하기 위한 각각의 기준들을 충족하는 제4 입력(예컨대, 가상 객체의 제2 표현에 대응하는 터치 감응형 표면 상의 위치 또는 터치 감응형 표면 상의 다른 위치(예컨대, 제2 사용자 인터페이스 영역의 하부 또는 에지)에서의 탭, 강한 누르기, 또는 계속 터치하기 및 드래그 입력, 및/또는 제1 사용자 인터페이스 영역으로 복귀하기 위한 제어부에 대응하는 터치 감응형 표면 상의 위치에서의 입력)을 검출하고, 제4 입력을 검출하는 것에 응답하여, 디바이스는 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 디스플레이하는 것을 중지하고, 디바이스는 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 재디스플레이한다(934). 예를 들어, 도 6z 내지 도 6ac에 도시된 바와 같이, 스테이징 사용자 인터페이스(6010)에 디스플레이된 뒤로 가기 제어부(6016)에 대응하는 위치에서의 접촉(6042)에 의한 입력에 응답하여, 디바이스는 제2 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스(6010)) 내에 가상 의자(5020)의 제2 표현을 디스플레이하는 것을 중지하고, 디바이스는 제1 사용자 인터페이스 영역(예컨대, 메시징 사용자 인터페이스(5008)) 내에 가상 의자(5020)의 제1 표현을 재디스플레이한다. 일부 실시예들에서, 가상 객체의 제1 표현은 스테이징 뷰 및/또는 증강 현실 뷰로의 전이 전에 보여진 것들과 동일한 외관, 위치, 및/또는 배향으로 제1 사용자 인터페이스 영역 내에 디스플레이된다. 예를 들어, 도 6ac에서, 가상 의자(5020)는 도 6a의 메시징 사용자 인터페이스(5008)에 디스플레이된 가상 의자(5020)와 동일한 배향으로 메시징 사용자 인터페이스(5008)에 디스플레이된다. 일부 실시예들에서, 디바이스는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하는 것으로 다시 전이될 때 스크린 상에 가상 객체를 연속적으로 디스플레이한다. 예를 들어, 도 6y 내지 도 6c에서, 가상 의자(5020)는 스테이징 사용자 인터페이스(6010)를 디스플레이하는 것으로부터 메시징 사용자 인터페이스(5008)를 디스플레이하는 것으로의 전이 동안 연속적으로 디스플레이된다. 제2 사용자 인터페이스 내에 가상 객체의 제2 표현을 디스플레이하는 동안 검출된 제4 입력이 제1 사용자 인터페이스를 재디스플레이하기 위한 기준들을 충족하는지 여부에 따라, 제1 사용자 인터페이스 내에 가상 객체의 제1 표현을 재디스플레이할지 여부를 결정하는 것은, 제4 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a second representation of the virtual object within a second user interface area (e.g., staging user interface 6010 as shown in Figure 6Z), the device redisplays the first user interface area. a fourth input (e.g., a location on the touch-sensitive surface corresponding to a second representation of the virtual object or another location on the touch-sensitive surface (e.g., the bottom or edge of the second user interface area) a tap, hard press, or continued touch and drag input, and/or input at a location on the touch-sensitive surface corresponding to the control for returning to the first user interface area) and detecting a fourth input. In response to doing so, the device stops displaying the second representation of the virtual object within the second user interface area and the device redisplays the first representation of the virtual object within the first user interface area (934). For example, as shown in FIGS. 6Z-6AC, in response to input by contact 6042 at a location corresponding to back control 6016 displayed in staging user interface 6010, the device may 2 Stop displaying the second representation of the virtual chair 5020 within the user interface area (e.g., staging user interface 6010), and the device stops displaying the second representation of the virtual chair 5020 within the first user interface area (e.g., messaging user interface 5008). Redisplay the first representation of chair 5020. In some embodiments, the first representation of the virtual object is displayed within the first user interface area with the same appearance, location, and/or orientation as that seen before transitioning to the staging view and/or augmented reality view. For example, in Figure 6A, virtual chair 5020 is displayed in messaging user interface 5008 in the same orientation as virtual chair 5020 displayed in messaging user interface 5008 of Figure 6A. In some embodiments, the device continuously displays the virtual object on the screen when transitioning back to displaying the virtual object within the first user interface area. For example, in Figures 6Y-6C, virtual chair 5020 is displayed continuously during the transition from displaying staging user interface 6010 to displaying messaging user interface 5008. Depending on whether the fourth input detected while displaying the second representation of the virtual object within the second user interface meets the criteria for redisplaying the first user interface, the first representation of the virtual object within the first user interface Determining whether to redisplay allows performing a number of different types of operations in response to the fourth input. Enabling the performance of multiple different types of operations in response to input increases the efficiency with which the user can perform these operations, thereby improving the operability of the device, which additionally allows the user to use the device better. Reduces device power usage and improves battery life by enabling quick and efficient use.
일부 실시예들에서, (예컨대, 도 6u에 도시된 바와 같이) 하나 이상의 카메라들의 시야(5036)의 표현과 함께 가상 객체의 제3 표현을 디스플레이하는 동안, 디바이스는 제2 사용자 인터페이스 영역을 재디스플레이하기 위한 각각의 기준들을 충족하는 제5 입력(예컨대, 가상 객체의 제3 표현에 대응하는 터치 감응형 표면 상의 위치 또는 터치 감응형 표면 상의 다른 위치에서의 탭, 강한 누르기, 또는 터치 및 드래그 입력, 및/또는 제2 사용자 인터페이스 영역을 디스플레이하는 것으로 복귀하기 위한 제어부에 대응하는 터치 감응형 표면 상의 위치에서의 입력)을 검출하고, 제5 입력을 검출하는 것에 응답하여, 디바이스는 가상 객체의 제3 표현 및 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 것을 중지하고, 제2 사용자 인터페이스 영역 내에 가상 객체의 제2 표현을 재디스플레이한다(936). 예를 들어, 도 6v 내지 도 6y에 도시된 바와 같이, 카메라(들)의 시야(6036)를 포함하는 제3 사용자 인터페이스에 디스플레이된 토글 제어부(6018)에 대응하는 위치에서의 접촉(6040)에 의한 입력에 응답하여, 디바이스는 카메라(들)의 시야(6036)를 디스플레이하는 것을 중지하고, 스테이징 사용자 인터페이스(6010)를 재디스플레이한다. 일부 실시예들에서, 가상 객체의 제2 표현은 증강 현실 뷰에 보여진 것과 동일한 배향으로 제2 사용자 인터페이스 영역 내에 디스플레이된다. 일부 실시예들에서, 디바이스는 제2 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하는 것으로 다시 전이될 때 스크린 상에 가상 객체를 연속적으로 디스플레이한다. 예를 들어, 도 6v 내지 도 6y에서, 가상 의자(5020)는 카메라(들)의 시야(6036)를 디스플레이하는 것으로부터 스테이징 사용자 인터페이스(6010)를 디스플레이하는 것으로의 전이 동안 연속적으로 디스플레이된다. 카메라(들)의 시야와 함께 가상 객체의 제3 표현을 디스플레이하는 동안 검출된 제5 입력이 제2 사용자 인터페이스를 재디스플레이하기 위한 기준들을 충족하는지 여부에 따라, 제2 사용자 인터페이스 내에 가상 객체의 제2 표현을 재디스플레이할지 여부를 결정하는 것은, 제5 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying the third representation of the virtual object along with a representation of the field of view 5036 of one or more cameras (e.g., as shown in FIG. 6U), the device redisplays the second user interface area. a fifth input (e.g., a tap, hard press, or touch and drag input at a location on the touch-sensitive surface corresponding to a third representation of the virtual object or at another location on the touch-sensitive surface, and/or an input at a location on the touch-sensitive surface corresponding to the control for returning to displaying the second user interface area), and in response to detecting the fifth input, the device determines the third input of the virtual object. Stop displaying the representation and the representation of the field of view of one or more cameras and redisplay the second representation of the virtual object within the second user interface area (936). For example, as shown in FIGS. 6V-6Y, upon contact 6040 at a location corresponding to a toggle control 6018 displayed in a third user interface that includes a field of
일부 실시예들에서, 하나 이상의 카메라들의 시야의 표현(6036)과 함께 가상 객체의 제3 표현을 디스플레이하는 동안, 디바이스는 제1 사용자 인터페이스 영역(예컨대, 메시징 사용자 인터페이스(5008))을 재디스플레이하기 위한 각각의 기준들을 충족하는 제6 입력을 검출하고, 제6 입력을 검출하는 것에 응답하여, 디바이스는 (예컨대, 도 6u에 도시된 바와 같이) 가상 객체(예컨대, 가상 의자(5020))의 제3 표현 및 하나 이상의 카메라들의 시야(6036)의 표현을 디스플레이하는 것을 중지하고, 디바이스는 (예컨대, 도 6ac에 도시된 바와 같이) 제1 사용자 인터페이스 영역 내에 가상 객체의 제1 표현을 재디스플레이한다(938). 일부 실시예들에서, 제6 입력은, 예컨대, 가상 객체의 제3 표현에 대응하는 터치 감응형 표면 상의 위치 또는 터치 감응형 표면 상의 다른 위치에서의 탭, 강한 누르기, 또는 터치 및 드래그 입력, 및/또는 제1 사용자 인터페이스 영역을 디스플레이하는 것으로 복귀하기 위한 제어부에 대응하는 터치 감응형 표면 상의 위치에서의 입력이다. 일부 실시예들에서, 가상 객체의 제1 표현은 스테이징 뷰 및/또는 증강 현실 뷰로의 전이 전에 보여진 것들과 동일한 외관 및 위치로 제1 사용자 인터페이스 영역 내에 디스플레이된다. 일부 실시예들에서, 디바이스는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하는 것으로 다시 전이될 때 스크린 상에 가상 객체를 연속적으로 디스플레이한다. 카메라(들)의 시야와 함께 가상 객체의 제3 표현을 디스플레이하는 동안 검출된 제6 입력이 제1 사용자 인터페이스를 재디스플레이하기 위한 기준들을 충족하는지 여부에 따라, 제1 사용자 인터페이스 내에 가상 객체의 제1 표현을 재디스플레이할지 여부를 결정하는 것은, 제6 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a third representation of the virtual object along with a representation of the field of view of one or
일부 실시예들에서, 제1 접촉에 의한 제1 입력을 검출하는 것에 응답하여 그리고 제1 접촉에 의한 입력이 제1 기준들을 충족한다는 결정에 따라, 디바이스는, 제1 사용자 인터페이스 영역 내의 가상 객체의 제1 표현이 제2 사용자 인터페이스 영역 내의 가상 객체의 제2 표현으로 변환되는 애니메이션(예컨대, 이동, 하나 이상의 축들을 중심으로 하는 회전, 및/또는 축척조정)을 디스플레이하는 것을 포함하여, 제1 사용자 인터페이스 영역(예컨대, 메시징 사용자 인터페이스(5008))을 디스플레이하는 것으로부터 제2 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스(6010))을 디스플레이하는 것으로 전이될 때 가상 객체를 연속적으로 디스플레이한다(940). 예를 들어, 도 6e 내지 도 6i에서, 가상 의자(5020)는 메시징 사용자 인터페이스(5008)를 디스플레이하는 것으로부터 스테이징 사용자 인터페이스(6010)를 디스플레이하는 것으로의 전이 동안 연속적으로 디스플레이되고 애니메이션화된다(예컨대, 가상 의자(5020)의 배향이 변한다). 일부 실시예들에서, 가상 객체는 (예컨대, 제1 사용자 인터페이스 영역에서 보여지는 바와 같은 가상 객체의 제1 표현의 형상 및 배향에 기초하여 한정되는) 카메라(들)의 시야 내의 평면에 대한 한정된 배향, 위치 및/또는 거리를 가지며, 제2 사용자 인터페이스 영역으로 전이될 때, 가상 객체의 제1 표현은 디스플레이 상의 새로운 위치(예컨대, 제2 사용자 인터페이스 영역 내의 가상 스테이징 평면의 중심)에서 가상 객체의 제2 표현으로 이동, 크기 재설정, 및/또는 재배향되고, 이동 동안 또는 이동의 종료 시, 가상 객체는 가상 객체가 디바이스 주위의 물리적 환경과 독립적으로 한정되는 미리정의된 가상 스테이징 평면에 대해 미리결정된 각도에 있도록 재배향된다. 제1 사용자 인터페이스 내의 가상 객체의 제1 표현이 제2 사용자 인터페이스 내의 가상 객체의 제2 표현으로 변환됨에 따라 애니메이션을 디스플레이하는 것은 제1 입력이 제1 기준들을 충족한다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting the first input by the first contact and in accordance with a determination that the input by the first contact meets the first criteria, the device may: Comprising displaying an animation (e.g., translation, rotation about one or more axes, and/or scaling) of the first representation into a second representation of the virtual object within the second user interface area, the first user Continuously displays the virtual object when transitioning from displaying an interface area (e.g., messaging user interface 5008) to displaying a second user interface area (e.g., staging user interface 6010) (940). For example, in FIGS. 6E-6I , virtual chair 5020 is continuously displayed and animated during the transition from displaying messaging user interface 5008 to displaying staging user interface 6010 (e.g., The orientation of the virtual chair 5020 changes). In some embodiments, the virtual object has a defined orientation relative to a plane within the field of view of the camera(s) (e.g., defined based on the shape and orientation of the first representation of the virtual object as seen in the first user interface area). , location and/or distance, wherein when transferred to the second user interface area, the first representation of the virtual object is displayed at a new location on the display (e.g., the center of the virtual staging plane within the second user interface area). 2 When moved, resized, and/or reoriented in a representation, during or at the end of the movement, the virtual object moves at a predetermined angle with respect to a predefined virtual staging plane, where the virtual object is confined independently of the physical environment around the device. is reoriented so that Displaying the animation as the first representation of the virtual object in the first user interface is converted to a second representation of the virtual object in the second user interface provides feedback to the user indicating that the first input meets the first criteria. . Providing improved feedback improves the operability of the device (e.g., by helping the user provide appropriate inputs when operating/interacting with the device and reducing user errors), which additionally allows the user to: Reduces device power usage and improves battery life by enabling devices to be used more quickly and efficiently.
일부 실시예들에서, 제2 접촉에 의한 제2 입력을 검출하는 것에 응답하여 그리고 제2 접촉에 의한 제2 입력이 증강 현실 환경에 가상 객체를 디스플레이하라는 요청에 대응한다는 결정에 따라, 디바이스는, 제2 사용자 인터페이스 영역 내의 가상 객체의 제2 표현이 하나 이상의 카메라들의 시야를 포함하는 제3 사용자 인터페이스 영역 내의 가상 객체의 제3 표현으로 변환되는 애니메이션(예컨대, 이동, 하나 이상의 축들을 중심으로 하는 회전, 및/또는 축척조정)을 디스플레이하는 것을 포함하여, 제2 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스(6010))을 디스플레이하는 것으로부터 하나 이상의 카메라들의 시야(6036)를 포함하는 제3 사용자 인터페이스 영역을 디스플레이하는 것으로 전이될 때 가상 객체를 연속적으로 디스플레이한다(942). 예를 들어, 도 6q 내지 도 6u에서, 가상 의자(5020)는 스테이징 사용자 인터페이스(6010)를 디스플레이하는 것으로부터 카메라(들)의 시야(6036)를 디스플레이하는 것으로의 전이 동안 연속적으로 디스플레이되고 애니메이션화된다(예컨대, 가상 의자(5020)의 위치 및 크기가 변한다). 일부 실시예들에서, 가상 객체는 가상 객체가 하나 이상의 카메라들의 시야 내에서 검출되는 시야 평면(예컨대, 사용자 인터페이스 객체의 3차원 표현을 지지할 수 있는 수직 벽 또는 수평 바닥 표면과 같은 물리적 표면)에 대한 미리정의된 배향, 위치, 및/또는 거리에 있도록 재배향된다. 제2 사용자 인터페이스 내의 가상 객체의 제2 표현이 제3 사용자 인터페이스 내의 가상 객체의 제3 표현으로 변환됨에 따라 애니메이션을 디스플레이하는 것은 제2 입력이 증강 현실 환경에서 가상 객체를 디스플레이하라는 요청에 대응한다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 디바이스를 작동시킬 때/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting the second input by the second contact and in accordance with determining that the second input by the second contact corresponds to a request to display a virtual object in the augmented reality environment, the device: An animation (e.g., translation, rotation about one or more axes) in which a second representation of the virtual object in the second user interface area is transformed into a third representation of the virtual object in the third user interface area including the field of view of one or more cameras. , and/or scaling), and a third user interface area including a
도 9a 내지 도 9d에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 16000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 9a 내지 도 9d와 관련하여 전술된 방법(900)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(900)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 세기 임계치들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 16000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 세기 임계치들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 9A-9D are described is by way of example only and is not intended to indicate that the described order is the only order in which the operations may be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g., methods 800, 900, 16000, 17000, 18000, 19000, 20000) are provided in FIGS. 9A-9A. It should be noted that the method 900 described above with respect to FIG. 9D is also applicable in a similar manner. For example, contacts, inputs, virtual objects, user interface areas, intensity thresholds, fields of view, tactile outputs, movements, and/or animations described above with respect to method 900 may optionally be , contacts, inputs, virtual objects, user interfaces described herein in connection with other methods described herein (e.g., methods 800, 900, 16000, 17000, 18000, 19000, 20000) Has one or more of the following properties: areas, intensity thresholds, fields of view, tactile outputs, movements, and/or animations. For brevity, these details are not repeated here.
도 10a 내지 도 10d는 일부 실시예들에 따른, 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시를 갖는 아이템을 디스플레이하는 방법(1000)을 예시하는 흐름도들이다. 방법(1000)은 디스플레이 및 터치 감응형 표면(예컨대, 디스플레이 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고, 터치 감응형 표면은 디스플레이 상에 있거나 그와 통합된다. 일부 실시예들에서, 디스플레이는 터치 감응형 표면과는 별개이다. 방법(1000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.10A-10D are flow diagrams illustrating a method 1000 of displaying an item with a visual indication that the item corresponds to a virtual three-dimensional object, according to some embodiments. Method 1000 includes an electronic device (e.g., device 300 of FIG. 3, or a portable device of FIG. 1A) having a display and a touch-sensitive surface (e.g., a touch screen display that serves as both a display and a touch-sensitive surface). It is performed in the multi-function device 100). In some embodiments, the display is a touch screen display and the touch-sensitive surface is on or integrated with the display. In some embodiments, the display is separate from the touch-sensitive surface. Some of the operations in method 1000 are selectively combined and/or the order of some of the operations is selectively varied.
후술되는 바와 같이, 방법(1000)은 제1 및 제2 사용자 인터페이스들 내에 아이템들을 디스플레이하는 것에 관한 것이다. 각각의 아이템은, 아이템이 각각의 가상 3차원 객체에 대응하는지 여부에 따라, 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시와 함께 또는 시각적 표시 없이 디스플레이된다. 아이템이 가상 3차원 객체인지 여부에 대한 표시를 사용자에게 제공하는 것은 (예컨대, 아이템이 가상 3차원 객체인지 또는 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 제1 아이템에 대한 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.As described below, method 1000 relates to displaying items within first and second user interfaces. Each item is displayed with or without a visual indication that the item corresponds to a virtual three-dimensional object, depending on whether the item corresponds to a respective virtual three-dimensional object. Providing the user with an indication of whether an item is a virtual 3-D object allows the user to perform actions on the first item (e.g., by helping the user provide appropriate inputs depending on whether the item is a virtual 3-D object or not). It increases the efficiency with which it can perform, thereby improving the operability of the device, which additionally reduces the device's power usage and improves battery life by allowing users to use the device more quickly and efficiently. .
디바이스는 제1 아이템(예컨대, 아이콘, 섬네일(thumbnail) 이미지, 이미지, 이모지, 첨부물, 스티커, 앱 아이콘, 아바타, 등)을 포함하는 제1 사용자 인터페이스를 디스플레이하라는 요청을 수신한다(1002). 예를 들어, 일부 실시예들에서, 요청은 제1 아이템과 연관된 미리정의된 환경에서 제1 아이템의 표현을 디스플레이하기 위한 사용자 인터페이스(예컨대, 도 7b에 도시된 바와 같은 인터넷 브라우저 사용자 인터페이스(5060))를 열기 위한 (예컨대, 도 7a와 관련하여 기술된 바와 같은) 입력이다. 미리정의된 환경은 선택적으로, 애플리케이션(예컨대, 이메일 애플리케이션, 메시징 애플리케이션, 브라우저 애플리케이션, 워드 프로세싱 애플리케이션, 전자책 애플리케이션 등)의 사용자 인터페이스 또는 시스템 사용자 인터페이스(예컨대, 잠금 화면, 통지 인터페이스, 제안 인터페이스, 제어판 사용자 인터페이스, 홈 화면 사용자 인터페이스 등)이다.The device receives a request to display a first user interface including a first item (e.g., an icon, a thumbnail image, an image, an emoji, an attachment, a sticker, an app icon, an avatar, etc.) (1002). For example, in some embodiments, the request may be sent to a user interface to display a representation of the first item in a predefined environment associated with the first item (e.g., Internet browser user interface 5060 as shown in Figure 7B). ) (e.g., as described with respect to FIG. 7A) to open. The predefined environment optionally includes the user interface of an application (e.g., an email application, a messaging application, a browser application, a word processing application, an e-book application, etc.) or a system user interface (e.g., a lock screen, notification interface, suggestion interface, control panel, etc.). user interface, home screen user interface, etc.).
제1 사용자 인터페이스를 디스플레이하라는 요청에 응답하여, 디바이스는 제1 아이템의 표현과 함께 제1 사용자 인터페이스(예컨대, 도 7b에 도시된 바와 같은 인터넷 브라우저 사용자 인터페이스(5060))를 디스플레이한다(1004). 제1 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 디바이스는 제1 아이템이 제1 각각의 가상 3차원 객체(예컨대, 제1 아이템의 표현에 대응하는 위치에 디스플레이되는, 아이콘 및/또는 배경 패널과 같은 이미지; 윤곽; 및/또는 텍스트)에 대응한다는 것을 나타내는 시각적 표시와 함께 제1 아이템의 표현을 디스플레이한다. 제1 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 디바이스는 시각적 표시 없이 제1 아이템의 표현을 디스플레이한다. 예를 들어, 도 7b에 예시된 바와 같이, 인터넷 브라우저 사용자 인터페이스(5060)에서, (가상 3차원 램프 객체(5084)의 표현을 포함하는) 웹 객체(5068)는 가상 램프(8084)가 가상 3차원 객체인 것을 나타내는 시각적 표시(가상 객체 표시자(5080))와 함께 디스플레이되고 웹 객체(5074)는 웹 객체(5074)가 가상 3차원 객체에 대응하는 아이템을 포함하지 않기 때문에 시각적 객체 표시자 없이 디스플레이된다.In response to the request to display the first user interface, the device displays 1004 a first user interface (e.g., Internet browser user interface 5060 as shown in FIG. 7B) with a representation of the first item. Upon determining that the first item corresponds to a respective virtual three-dimensional object, the device displays the first item at a location corresponding to the first respective virtual three-dimensional object (e.g., a representation of the first item, and/or an icon and/or or display a representation of the first item with a visual indication that it corresponds to an image, such as a background panel, an outline, and/or text. Upon determining that the first item does not correspond to the respective virtual three-dimensional object, the device displays a representation of the first item without visual indication. For example, as illustrated in FIG. 7B, in Internet browser user interface 5060, web object 5068 (containing a representation of virtual three-dimensional lamp object 5084) is configured such that virtual lamp 8084 is a virtual three-dimensional ramp object 5068. It is displayed with a visual indicator (virtual object indicator 5080) indicating that it is a dimensional object, and the web object 5074 is displayed without a visual object indicator because the web object 5074 does not contain an item corresponding to a virtual three-dimensional object. It is displayed.
제1 아이템의 표현을 디스플레이한 후, 디바이스는 제2 아이템(예컨대, 아이콘, 섬네일 이미지, 이미지, 이모지, 첨부물, 스티커, 앱 아이콘, 아바타 등)을 포함하는 제2 사용자 인터페이스(예컨대, 도 7m에 예시된 바와 같은 메시징 사용자 인터페이스(5008))를 디스플레이하라는 요청(예컨대, 도 7h 내지 도 7l과 관련하여 기술된 바와 같은 입력)을 수신한다(1006). 제2 아이템은 제1 아이템과 구별되고, 제2 사용자 인터페이스는 제1 사용자 인터페이스와 구별된다. 예를 들어, 일부 실시예들에서, 요청은 제2 아이템과 연관된 미리정의된 환경에서 제2 아이템의 표현을 디스플레이하기 위한 사용자 인터페이스를 열기 위한 다른 입력이다. 미리정의된 환경은 선택적으로, 제1 아이템을 보여주는 데 사용되는 애플리케이션(예컨대, 이메일 애플리케이션, 메시징 애플리케이션, 브라우저 애플리케이션, 워드 프로세싱 애플리케이션, 전자책 애플리케이션 등) 이외의 애플리케이션의 사용자 인터페이스, 또는 제1 아이템을 보여주는 데 사용되는 시스템 사용자 인터페이스(예컨대, 잠금 화면, 통지 인터페이스, 제안 인터페이스, 제어판 사용자 인터페이스, 홈 화면 사용자 인터페이스 등) 이외의 시스템 사용자 인터페이스이다.After displaying a representation of the first item, the device displays a second user interface (e.g., Figure 7M) that includes a second item (e.g., an icon, thumbnail image, image, emoji, attachment, sticker, app icon, avatar, etc.) A request to display (e.g., input as described with respect to Figures 7H-7L) is received (1006) to display a messaging user interface (5008) as illustrated in . The second item is distinct from the first item, and the second user interface is distinct from the first user interface. For example, in some embodiments, the request is another input to open a user interface for displaying a representation of the second item in a predefined environment associated with the second item. The predefined environment optionally includes a user interface of an application other than the application used to display the first item (e.g., an email application, messaging application, browser application, word processing application, e-book application, etc.), or a user interface of an application other than the application used to display the first item. A system user interface other than the system user interface used to display (e.g., lock screen, notification interface, suggestions interface, control panel user interface, home screen user interface, etc.).
제2 사용자 인터페이스를 디스플레이하라는 요청에 응답하여, 디바이스는 제2 아이템의 표현과 함께 제2 사용자 인터페이스(예컨대, 도 7m에 도시된 바와 같은 메시징 사용자 인터페이스(5008))를 디스플레이한다(1008). 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 결정에 따라, 디바이스는 제2 아이템이 제2 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시(예컨대, 제1 아이템이 가상 3차원 객체에 대응한다는 것을 나타내는 동일한 시각적 표시)와 함께 제2 아이템의 표현을 디스플레이한다. 제2 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 결정에 따라, 디바이스는 시각적 표시 없이 제2 아이템의 표현을 디스플레이한다. 예를 들어, 도 7m에 예시된 바와 같이, 메시징 사용자 인터페이스(5008)에서, 가상 3차원 의자 객체(5020)는 가상 의자(5020)가 가상 3차원 객체인 것을 나타내는 시각적 표시(가상 객체 표시자(5022))와 함께 디스플레이되고, 이모지(7020)는 이모지(7020)가 가상 3차원 객체에 대응하는 아이템을 포함하지 않기 때문에 시각적 객체 표시자 없이 디스플레이된다.In response to the request to display the second user interface, the device displays 1008 a second user interface (e.g., messaging user interface 5008 as shown in Figure 7M) with a representation of the second item. Upon determining that the second item corresponds to the respective virtual three-dimensional object, the device displays a visual indication that the second item corresponds to the second respective virtual three-dimensional object (e.g., that the first item corresponds to the virtual three-dimensional object). display a representation of the second item along with the same visual indication indicating that it corresponds. Upon determining that the second item does not correspond to the respective virtual three-dimensional object, the device displays a representation of the second item without visual indication. For example, as illustrated in FIG. 7M, in messaging user interface 5008, virtual three-dimensional chair object 5020 displays a visual indication (virtual object indicator ( 5022), and the emoji 7020 is displayed without a visual object indicator because the emoji 7020 does not include an item corresponding to a virtual three-dimensional object.
일부 실시예들에서, 제1 아이템이 제1 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시(예컨대, 가상 객체 표시자(5080))와 함께 제1 아이템(예컨대, 가상 램프(5084))의 표현을 디스플레이하는 것은, (예컨대, 배향 센서(예컨대, 디바이스(100)의 하나 이상의 가속도계(168))에 의해 검출되는 바와 같이) 제1 디바이스 배향으로부터 제2 디바이스 배향으로의 변경을 야기하는 디바이스의 이동을 검출하는 것에 응답하여, 제1 디바이스 배향으로부터 제2 디바이스 배향으로의 변경에 대응하는 제1 아이템의 이동(예컨대, 제1 아이템의 기울어짐 및/또는 제1 사용자 인터페이스에 대한 제1 아이템의 이동)을 디스플레이하는 것을 포함한다(1010). 예를 들어, 제1 디바이스 배향은 도 7f1에 예시된 바와 같은 디바이스(100)의 배향이고, 제2 디바이스 배향은 도 7g1에 예시된 바와 같은 디바이스(100)의 배향이다. 도 7f1에서 도 7g1로 예시된 이동에 응답하여, 제1 아이템(예컨대, 가상 램프(5084))이 (예컨대, 도 7f2에서 도 7g2로 예시된 바와 같이) 기울어진다. 일부 실시예들에서, 제2 객체가 가상 3차원 객체에 대응하는 경우, 제2 객체는 또한 (예컨대, 제2 객체가 또한 가상 3차원 객체에 대응한다는 것을 나타내기 위해) 전술된 방식으로 디바이스의 이동을 검출하는 것에 응답한다.In some embodiments, a first item (e.g., virtual lamp 5084) along with a visual indication (e.g., virtual object indicator 5080) indicating that the first item corresponds to a first respective virtual three-dimensional object. Displaying a representation of the device causes a change from a first device orientation to a second device orientation (e.g., as detected by an orientation sensor (e.g., one or more accelerometers 168 of device 100)). In response to detecting movement of the first item, movement of the first item corresponding to a change from the first device orientation to the second device orientation (e.g., tilting of the first item and/or movement of the first item relative to the first user interface) movement) (1010). For example, the first device orientation is the orientation of device 100 as illustrated in FIG. 7F1 and the second device orientation is the orientation of device 100 as illustrated in FIG. 7G1. In response to the movement illustrated in FIGS. 7F1 to 7G1, the first item (e.g., virtual lamp 5084) is tilted (e.g., as illustrated in FIGS. 7F2 to 7G2). In some embodiments, when the second object corresponds to a virtual three-dimensional object, the second object also corresponds to a virtual three-dimensional object in the manner described above (e.g., to indicate that the second object also corresponds to a virtual three-dimensional object). Responds to detecting movement.
제1 디바이스 배향으로부터 제2 디바이스들 배향으로의 변경에 대응하는 제1 아이템의 이동을 디스플레이하는 것은 가상 3차원 객체의 거동을 나타내는 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은 (예컨대, 사용자가 추가 입력을 제공할 필요 없이 가상 3차원 객체를 일정 배향들로부터 관찰하게 함으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying movement of the first item corresponding to a change from the first device orientation to the second device orientation provides visual feedback to the user indicative of the behavior of the virtual three-dimensional object. Providing improved visual feedback to the user improves the operability of the device (e.g., by allowing the user to view a virtual three-dimensional object from certain orientations without having to provide additional input), which additionally allows the user to use the device. Reduces device power usage and improves battery life by enabling faster and more efficient use.
일부 실시예들에서, 제1 아이템이 제1 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시와 함께 제1 아이템의 표현을 디스플레이하는 것은, 제1 아이템의 표현이 제1 사용자 인터페이스에 디스플레이되는 동안 제1 사용자 인터페이스를 스크롤하는 제1 접촉에 의한 제1 입력(예컨대, 제1 사용자 인터페이스 상에서 제1 방향으로의 스와이프 입력, 또는 스크롤 바의 단부 상의 스크롤 버튼에 대한 계속 터치하기 입력)을 검출하는 것에 응답하여, 디바이스가 제1 사용자 인터페이스의 스크롤에 따라 디스플레이 상에서 제1 아이템의 표현을 병진시키는 것(예컨대, 제1 사용자 인터페이스에 대해 이루어진 스크롤 양에 기초한 거리만큼 그리고 스크롤의 반대 방향으로 제1 아이템의 앵커 위치를 이동시키는 것(예컨대, 제1 사용자 인터페이스가 터치 감응형 표면을 가로질러 이동하는 접촉에 의해 상향으로 드래그될 때, 제1 아이템의 표현은 제1 사용자 인터페이스와 함께 디스플레이 상에서 상향으로 이동함)) 및 제1 사용자 인터페이스가 스크롤되는 방향에 따라 디바이스가 제1 사용자 인터페이스(또는 디스플레이)에 의해 한정되는 평면에 대해 제1 아이템의 표현을 회전시키는 것을 포함한다(1012). 예를 들어, 도 7c 및 도 7d에 예시된 바와 같이, 가상 램프(5084)의 표현이 인터넷 브라우저 사용자 인터페이스(5060)에 디스플레이되는 동안 인터넷 브라우저 사용자 인터페이스(5060)를 스크롤하는 접촉(7002)에 의한 입력을 검출하는 것에 응답하여, 가상 램프(5084)는 인터넷 브라우저 사용자 인터페이스(5060)의 스크롤에 따라 병진되고, 가상 램프(5084)는 접촉(7002)의 이동 경로의 방향에 따라 디스플레이(112)에 대해 회전된다. 일부 실시예들에서, 제1 사용자 인터페이스가 상향으로 드래그된다는 결정에 따라, 제1 아이템의 표현은 제1 사용자 인터페이스와 함께 상향으로 이동하고, 제1 사용자 인터페이스 상에서 보여진 바와 같은 제1 아이템의 관찰 시점은 사용자가 상이한 시야각(예컨대, 더 낮은 각도)으로부터 제1 아이템을 보고 있는 것처럼 변한다. 일부 실시예들에서, 제2 사용자 인터페이스가 상향으로 드래그된다는 결정에 따라, 제2 아이템의 표현은 제2 사용자 인터페이스와 함께 상향으로 이동하고, 제2 사용자 인터페이스 상에서 보여진 바와 같은 제2 아이템의 관찰 시점은 사용자가 상이한 시야각(예컨대, 더 낮은 각도)으로부터 제2 아이템을 보고 있는 것처럼 변한다.In some embodiments, displaying a representation of the first item with a visual indication that the first item corresponds to a first respective virtual three-dimensional object may include displaying the representation of the first item in the first user interface. Detecting a first input by a first contact while scrolling the first user interface (e.g., a swipe input in a first direction on the first user interface, or a continue touch input on a scroll button on an end of a scroll bar) In response to doing so, the device translates the representation of the first item on the display in accordance with scrolling of the first user interface (e.g., by a distance based on the amount of scrolling made relative to the first user interface and in the opposite direction of the scrolling). Moving the anchor position of an item (e.g., when the first user interface is dragged upward by a contact that moves across the touch-sensitive surface, a representation of the first item moves upward on the display with the first user interface). moving) and the device rotating the representation of the first item about a plane defined by the first user interface (or display) according to the direction in which the first user interface is scrolled (1012). For example, as illustrated in FIGS. 7C and 7D, by contact 7002 scrolling Internet browser user interface 5060 while a representation of virtual lamp 5084 is displayed in Internet browser user interface 5060. In response to detecting input, virtual lamp 5084 is translated in accordance with scrolling of Internet browser user interface 5060, and virtual lamp 5084 is displayed on display 112 according to the direction of the path of movement of contact 7002. is rotated about In some embodiments, upon determining that the first user interface is dragged upward, the representation of the first item moves upward with the first user interface, and the view point of the first item as viewed on the first user interface. varies as if the user is viewing the first item from a different viewing angle (eg, a lower angle). In some embodiments, upon determining that the second user interface is dragged upward, the representation of the second item moves upward with the second user interface and the view point of the second item as viewed on the second user interface. changes as if the user is viewing the second item from a different viewing angle (eg, a lower angle).
이동이 제1 디바이스 배향으로부터 제2 디바이스 배향으로의 변경에 대응하는 아이템의 이동을 디스플레이하는 것은 디바이스 배향의 변경을 나타내는 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은 (예컨대, 사용자가 추가 입력을 제공할 필요 없이 가상 3차원 객체를 일정 배향들로부터 관찰하게 함으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying movement of an item whose movement corresponds to a change from a first device orientation to a second device orientation provides visual feedback to the user indicating the change in device orientation. Providing improved visual feedback to the user improves the operability of the device (e.g., by allowing the user to view a virtual three-dimensional object from certain orientations without having to provide additional input), which additionally allows the user to use the device. Reduces device power usage and improves battery life by enabling faster and more efficient use.
일부 실시예들에서, 제1 사용자 인터페이스(예컨대, 도 7b에 예시된 바와 같은 인터넷 브라우저 사용자 인터페이스(5060)) 내에 시각적 표시(예컨대, 시각적 객체 표시자(5080))와 함께 제1 아이템(예컨대, 램프 객체(5084))의 표현을 디스플레이하는 동안, 디바이스는 제3 아이템의 표현을 디스플레이하는데, 제3 아이템의 표현은 제3 아이템이 가상 3차원 객체에 대응하지 않는다는 것을 나타내기 위해 시각적 표시 없이 디스플레이된다(예컨대, 제3 아이템은 증강 현실 환경에서 렌더링될 수 있는 어떠한 3차원 객체에도 대응하지 않는다)(1014). 예를 들어, 도 7b에 예시된 바와 같이, 인터넷 브라우저 사용자 인터페이스(5060)에서, 웹 객체들(5074, 5070, 5076)은 웹 객체들(5074, 5070, 5076)이 가상 3차원 객체들에 대응하지 않기 때문에 시각적 객체 표시자들 없이 디스플레이된다.In some embodiments, a first item (e.g., While displaying a representation of a lamp object 5084, the device displays a representation of a third item, the representation of the third item being displayed without visual indication to indicate that the third item does not correspond to a virtual three-dimensional object. (e.g., the third item does not correspond to any three-dimensional object that can be rendered in the augmented reality environment) (1014). For example, as illustrated in FIG. 7B, in Internet browser user interface 5060, web objects 5074, 5070, and 5076 correspond to virtual three-dimensional objects. Because they do not, they are displayed without visual object indicators.
제1 사용자 인터페이스에, 제1 아이템이 가상 3차원 객체인 것을 나타내는 시각적 표시와 함께 제1 아이템을 그리고 시각적 표시 없이 디스플레이되는 제3 아이템을 디스플레이하는 것은, (예컨대, 사용자가 상호작용하고 있는 아이템이 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 제1 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying a first item in a first user interface with a visual indication that the first item is a virtual three-dimensional object and a third item displayed without a visual indication (e.g., increasing the efficiency with which a user can perform operations using the first user interface (by helping the user provide appropriate inputs depending on whether it is a virtual three-dimensional object or not), thereby improving the operability of the device, which Additionally, it reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 제2 사용자 인터페이스(예컨대, 도 7m에 예시된 바와 같은 메시징 사용자 인터페이스(5008)) 내에 시각적 표시(예컨대, 가상 객체 표시자(5022))와 함께 제2 아이템(예컨대, 가상 의자(5020))의 표현을 디스플레이하는 동안, 디바이스는 제4 아이템(예컨대, 이모지(7020))의 표현을 디스플레이하는데, 제4 아이템의 표현은 제4 아이템이 각각의 가상 3차원 객체에 대응하지 않는다는 것을 나타내기 위해 시각적 표시 없이 디스플레이된다(1016).In some embodiments, a second item (e.g., a virtual While displaying a representation of chair 5020, the device displays a representation of a fourth item (e.g., emoji 7020), wherein the fourth item corresponds to a respective virtual three-dimensional object. It is displayed without a visual indication to indicate that it is not done (1016).
제2 사용자 인터페이스에, 제2 아이템이 가상 3차원 객체인 것을 나타내는 시각적 표시와 함께 제2 아이템을 그리고 시각적 표시 없이 디스플레이되는 제4 아이템을 디스플레이하는 것은, (예컨대, 사용자가 상호작용하고 있는 아이템이 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 제2 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying, in a second user interface, a second item with a visual indication that the second item is a virtual three-dimensional object and a fourth item displayed without a visual indication (e.g., the item with which the user is interacting is increases the efficiency with which a user can perform operations using the second user interface (by helping the user provide appropriate inputs depending on whether it is a virtual three-dimensional object or not), thereby improving the operability of the device, which Additionally, it reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 제1 사용자 인터페이스(예컨대, 도 7b에 예시된 바와 같은 인터넷 브라우저 사용자 인터페이스(5060))는 제1 애플리케이션(예컨대, 인터넷 브라우저 애플리케이션)에 대응하고, 제2 사용자 인터페이스(예컨대, 도 7m에 예시된 바와 같은 메시징 사용자 인터페이스(5008))는 제1 애플리케이션과 구별되는 제2 애플리케이션(예컨대, 메시징 애플리케이션)에 대응하고, 시각적 표시(예컨대, 가상 객체 표시자(5080))와 함께 디스플레이되는 제1 아이템(예컨대, 램프 객체(5084))의 표현 및 시각적 표시(예컨대, 가상 객체 표시자(5022))와 함께 디스플레이되는 제2 아이템(예컨대, 가상 의자(5020))의 표현은 미리정의된 세트의 시각적 특성들 및/또는 거동 특성들을 공유한다(예컨대, 동일한 표시자 아이콘을 사용하거나, 미리정의된 유형의 입력들에 의해 호출될 때 동일한 텍스처 또는 렌더링 스타일, 및/또는 거동을 갖는다)(1018). 예를 들어, 가상 객체 표시자(5080) 및 가상 객체 표시자(5022)에 대한 아이콘들은 동일한 심볼을 포함한다.In some embodiments, a first user interface (e.g., Internet browser user interface 5060 as illustrated in Figure 7B) corresponds to a first application (e.g., an Internet browser application) and a second user interface (e.g., Messaging user interface 5008, as illustrated in FIG. 7M, corresponds to a second application (e.g., a messaging application) distinct from the first application and displays with a visual indication (e.g., virtual object indicator 5080). The representation of the first item (e.g., lamp object 5084) and the representation of the second item (e.g., virtual chair 5020) that is displayed together with the visual indication (e.g., virtual object indicator 5022) are predefined. share a set of visual and/or behavioral characteristics (e.g., use the same indicator icon, have the same texture or rendering style, and/or behavior when invoked by inputs of a predefined type) (1018). For example, the icons for virtual object indicator 5080 and virtual object indicator 5022 include the same symbol.
제1 애플리케이션의 제1 사용자 인터페이스 내에 시각적 표시와 함께 제1 아이템을 디스플레이하고 제2 애플리케이션의 제2 사용자 인터페이스 내에 시각적 표시와 함께 제2 아이템을 디스플레이하여 제1 아이템 및 제2 아이템의 시각적 표시들이 미리정의된 세트의 시각적 특성들 및/또는 거동 특성들을 공유하게 하는 것은 (예컨대, 사용자가 상호작용하고 있는 아이템이 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 제2 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying a first item with a visual indication within a first user interface of a first application and displaying a second item with a visual indication within a second user interface of a second application so that the visual indications of the first item and the second item are displayed in advance. Allowing a user to share a defined set of visual and/or behavioral characteristics allows the user to provide appropriate inputs depending on whether the item the user is interacting with is a virtual three-dimensional object or not. Increases the efficiency with which operations can be performed using the user interface, thereby improving the operability of the device, which additionally reduces the device's power usage by allowing the user to use the device more quickly and efficiently. Reduces battery life and improves battery life.
일부 실시예들에서, 제1 사용자 인터페이스는 인터넷 브라우저 애플리케이션 사용자 인터페이스(예컨대, 도 7b에 예시된 바와 같은 인터넷 브라우저 사용자 인터페이스(5060))이고, 제1 아이템은 웹 페이지의 요소이다(예컨대, 제1 아이템은 임베디드 이미지, 하이퍼링크, 애플릿, 이모지, 임베디드 미디어 객체 등으로서 웹페이지 내에 표현된다)(1020). 예를 들어, 제1 아이템은 웹 객체(5068)의 가상 램프 객체(5084)이다.In some embodiments, the first user interface is an Internet browser application user interface (e.g., Internet browser user interface 5060 as illustrated in Figure 7B) and the first item is an element of a web page (e.g., a first Items are expressed within a web page as embedded images, hyperlinks, applets, emojis, embedded media objects, etc.) (1020). For example, the first item is the virtual lamp object 5084 of the web object 5068.
웹 페이지 요소가 가상 3차원 객체인 것을 나타내는 시각적 표시를 갖는 웹 페이지 요소를 디스플레이하는 것은 (예컨대, 사용자가 상호작용하고 있는 웹 페이지 요소가 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 인터넷 브라우저 애플리케이션을 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying a web page element with a visual indication that the web page element is a virtual three-dimensional object (e.g., allowing the user to provide appropriate inputs depending on whether the web page element with which the user is interacting is a virtual three-dimensional object) (by helping) increase the efficiency with which the user can perform operations using the Internet browser application, thereby improving the operability of the device, which additionally enables the user to use the device more quickly and efficiently This reduces the device's power usage and improves battery life.
일부 실시예들에서, 제1 사용자 인터페이스는 이메일 애플리케이션 사용자 인터페이스(예컨대, 도 7p에 예시된 바와 같은 이메일 사용자 인터페이스(7052))이고, 제1 아이템은 이메일의 첨부물(예컨대, 첨부물(7060))이다(1022).In some embodiments, the first user interface is an email application user interface (e.g., email user interface 7052 as illustrated in Figure 7P) and the first item is an attachment to the email (e.g., attachment 7060) (1022).
이메일 첨부물이 가상 3차원 객체인 것을 나타내는 시각적 표시를 갖는 이메일 첨부물을 디스플레이하는 것은 (예컨대, 사용자가 상호작용하고 있는 이메일 첨부물이 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 이메일 애플리케이션 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying an email attachment with a visual indication that the email attachment is a virtual three-dimensional object (e.g., by helping the user provide appropriate inputs depending on whether the email attachment the user is interacting with is a virtual three-dimensional object) Increases the efficiency with which a user can perform operations using the email application user interface, thereby improving the operability of the device, which additionally allows the user to use the device more quickly and efficiently Reduces power usage and improves battery life.
일부 실시예들에서, 제1 사용자 인터페이스는 메시징 애플리케이션 사용자 인터페이스(예컨대, 도 7m에 예시된 바와 같은 메시징 사용자 인터페이스(5008))이고, 제1 아이템은 메시지 내의 첨부물 또는 요소(예컨대, 가상 의자(5020))이다(예컨대, 제1 아이템은 이미지, 하이퍼링크, 미니 프로그램, 이모지, 미디어 객체 등이다)(1024).In some embodiments, the first user interface is a messaging application user interface (e.g., messaging user interface 5008 as illustrated in FIG. 7M) and the first item is an attachment or element within the message (e.g., virtual chair 5020 )) (e.g., the first item is an image, hyperlink, mini-program, emoji, media object, etc.) (1024).
메시지 첨부물 또는 요소가 가상 3차원 객체인 것을 나타내는 시각적 표시를 갖는 메시지 첨부물 또는 요소를 디스플레이하는 것은 (예컨대, 사용자가 상호작용하고 있는 메시지 첨부물 또는 요소가 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 메시징 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying a message attachment or element with a visual indication that the message attachment or element is a virtual three-dimensional object (e.g., allowing the user to enter appropriate input depending on whether the message attachment or element with which the user is interacting is a virtual three-dimensional object) increases the efficiency with which a user can perform operations using the messaging user interface, thereby improving the operability of the device, which additionally allows the user to use the device more quickly and efficiently This reduces device power usage and improves battery life.
일부 실시예들에서, 제1 사용자 인터페이스는 파일 관리 애플리케이션 사용자 인터페이스(예컨대, 도 7o에 예시된 바와 같은 파일 관리 사용자 인터페이스(7036))이고, 제1 아이템은 파일 미리보기 객체(예컨대, 파일 정보 영역(7046) 내의 파일 미리보기 객체(7045))이다(1026).In some embodiments, the first user interface is a file management application user interface (e.g., file management user interface 7036 as illustrated in Figure 7O) and the first item is a file preview object (e.g., a file information area) (7046) is a file preview object (7045) in (1026).
파일 미리보기 객체가 가상 3차원 객체인 것을 나타내는 시각적 표시를 갖는 파일 미리보기 객체를 디스플레이하는 것은 (예컨대, 사용자가 상호작용하고 있는 파일 미리보기 객체가 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 파일 관리 애플리케이션 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying a file preview object with a visual indication that the file preview object is a virtual three-dimensional object (e.g., allowing the user to enter appropriate input depending on whether the file preview object the user is interacting with is a virtual three-dimensional object) increases the efficiency with which a user can perform operations using the file management application user interface, thereby improving the operability of the device, which additionally allows the user to operate the device more quickly and efficiently. By enabling use, it reduces the device's power usage and improves battery life.
일부 실시예들에서, 제1 사용자 인터페이스는 지도 애플리케이션 사용자 인터페이스(예컨대, 지도 애플리케이션 사용자 인터페이스(7024))이고, 제1 아이템은 지도 내의 관심 지점(예컨대, 관심 지점 객체(7028))의 표현(예컨대, 지도 상의 일정 위치에 대응하는 특징부의 3차원 표현(예컨대, 지도 상의 일정 위치에 대응하는 지형 및/또는 구조물의 3차원 표현을 포함함) 또는 작동되는 경우에 지도의 3차원 표현의 디스플레이를 야기하는 제어부의 3차원 표현)이다(1028).In some embodiments, the first user interface is a map application user interface (e.g., map application user interface 7024) and the first item is a representation of a point of interest (e.g., point of interest object 7028) within the map (e.g., , a three-dimensional representation of a feature corresponding to a location on a map (including, for example, a three-dimensional representation of landforms and/or structures corresponding to a location on a map) or, when activated, resulting in the display of a three-dimensional representation of a map. It is a three-dimensional representation of the control unit (1028).
지도 내의 관심 지점의 표현이 가상 3차원 객체인 것을 나타내는 시각적 표시를 갖는 관심 지점의 표현을 디스플레이하는 것은 (예컨대, 사용자가 상호작용하고 있는 관심 지점의 표현이 가상 3차원 객체인지 아닌지에 따라 사용자가 적절한 입력들을 제공하도록 도움으로써) 사용자가 지도 애플리케이션 사용자 인터페이스를 사용하여 동작들을 수행할 수 있는 효율을 증가시키고, 그에 의해, 디바이스의 작동성을 향상시키며, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying a representation of a point of interest within a map with a visual indication that the representation of the point of interest is a virtual three-dimensional object (e.g., allowing the user to increases the efficiency with which a user can perform actions using the map application user interface (by helping to provide appropriate inputs), thereby improving the operability of the device, which additionally allows the user to use the device more quickly and efficiently This reduces the power usage of the device and improves battery life.
일부 실시예들에서, 제1 아이템이 각각의 가상 3차원 객체에 대응한다는 시각적 표시는 각각의 3차원 객체의 표현에 대한 입력을 요구하지 않으면서 발생하는 제1 아이템의 애니메이션(예컨대, 시간 경과에 따라 제1 아이템에 적용되는 연속적인 이동 또는 변하는 시각적 효과(예컨대, 반짝임(sparkling), 아른거림(shimmering) 등))을 포함한다(1030).In some embodiments, the visual indication that the first item corresponds to a respective virtual three-dimensional object is an animation of the first item that occurs over time (e.g., over time) without requiring input for a representation of the respective three-dimensional object. Accordingly, it includes a continuous moving or changing visual effect (eg, sparkling, shimmering, etc.) applied to the first item (1030).
각각의 3차원 객체의 표현에 대한 입력 없이 발생하는 제1 아이템의 애니메이션을 디스플레이하는 것은 (예컨대, 사용자가 제1 아이템의 3차원 양태들을 보는 데 필요한 입력들의 수를 감소시킴으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Displaying an animation of a first item that occurs without input to a representation of the respective three-dimensional object improves the operability of the device (e.g., by reducing the number of inputs required for the user to view three-dimensional aspects of the first item). This additionally reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시(예컨대, 가상 객체 표시자(5022))와 함께 제2 아이템(예컨대, 가상 의자(5020))의 표현을 디스플레이하는 동안, 디바이스는 제2 아이템의 표현에 대응하는 터치 감응형 표면 상의 위치에서 제2 접촉에 의한 제2 입력(예컨대, 도 5c 내지 도 5f와 관련하여 기술된 바와 같은 입력)을 검출하고, 제2 접촉에 의한 제2 입력을 검출하는 것에 응답하여 그리고 제2 접촉에 의한 제2 입력이 제1 (예컨대, AR 트리거) 기준들을 충족한다는 결정에 따라, 디바이스는, 제2 사용자 인터페이스(예컨대, 메시징 사용자 인터페이스(5008))의 적어도 일부분의 디스플레이를 하나 이상의 카메라들의 시야(5036)의 표현으로 대체하는 것(예컨대, 도 5f 내지 도 5i와 관련하여 기술됨) 및 제2 사용자 인터페이스를 디스플레이하는 것으로부터 제3 사용자 인터페이스 영역을 디스플레이하는 것으로 스위칭하는 동안 제2 가상 3차원 객체를 연속적으로 디스플레이하는 것을 포함하여, 제3 사용자 인터페이스 영역을 디스플레이 상에 디스플레이한다(1032). (예컨대, 방법(800)을 참조하여 본 명세서에서 더 상세히 설명되는 바와 같음). 일부 실시예들에서, 디바이스는 (예컨대, 동작(834)을 참조하여 본 명세서에서 더 상세히 설명되는 바와 같이) 하나 이상의 카메라들의 시야의 표현과 함께 제2 사용자 인터페이스의 일부분을 디스플레이하는 것으로부터 스위칭하는 동안 가상 객체의 표현이 연속적으로 디스플레이됨에 따라 애니메이션을 디스플레이한다.In some embodiments, a representation of a second item (e.g., virtual chair 5020) along with a visual indication (e.g., virtual object indicator 5022) indicating that the second item corresponds to a respective virtual three-dimensional object. While displaying, the device detects a second input by a second contact (e.g., input as described with respect to FIGS. 5C-5F) at a location on the touch-sensitive surface that corresponds to the representation of the second item, and , in response to detecting the second input by the second contact and in accordance with a determination that the second input by the second contact meets the first (e.g., AR trigger) criteria, the device displays a second user interface (e.g., , replacing the display of at least a portion of the messaging user interface 5008) with a representation of the field of view 5036 of one or more cameras (e.g., described with respect to FIGS. 5F-5I) and displaying a second user interface. Displaying the third user interface area on the display, including continuously displaying the second virtual three-dimensional object while switching from displaying the third user interface area to displaying the third user interface area (1032). (e.g., as described in more detail herein with reference to method 800). In some embodiments, the device switches from displaying a portion of the second user interface with a representation of the field of view of one or more cameras (e.g., as described in greater detail herein with reference to operation 834). An animation is displayed as the representation of the virtual object is displayed continuously.
제3 사용자 인터페이스 영역을 디스플레이할지 여부를 결정하기 위해 제1 기준들을 사용하면, 제2 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Using the first criteria to determine whether to display a third user interface area enables performance of a number of different types of operations in response to the second input. Enabling the performance of multiple different types of operations in response to input increases the efficiency with which the user can perform these operations, thereby improving the operability of the device, which additionally allows the user to use the device better. Reduces device power usage and improves battery life by enabling quick and efficient use.
일부 실시예들에서, (예컨대, 방법(900)을 참조하여 본 명세서에서 더 상세히 기술되는 바와 같이) 제2 아이템이 각각의 가상 3차원 객체에 대응한다는 것을 나타내는 시각적 표시(예컨대, 가상 객체 표시자(5022))와 함께 제2 아이템(예컨대, 가상 의자(5020))을 디스플레이하는 동안, 디바이스는 제2 아이템의 표현에 대응하는 터치 감응형 표면 상의 위치에서 제3 접촉에 의한 제3 입력(예컨대, 도 6e 내지 도 6i와 관련하여 기술된 바와 같은 입력)을 검출하고, 제3 접촉에 의한 제3 입력을 검출하는 것에 응답하여 그리고 제3 접촉에 의한 제3 입력이 제1 (예컨대, 스테이징 트리거) 기준들을 충족한다는 결정에 따라, 디바이스는 제2 사용자 인터페이스와 상이한 제4 사용자 인터페이스(예컨대, 방법(900)을 참조하여 더 상세히 기술되는 바와 같은 스테이징 사용자 인터페이스(6010)) 내에 제2 가상 3차원 객체를 디스플레이한다(1034). 일부 실시예들에서, 제4 사용자 인터페이스(예컨대, 도 6i에 예시된 바와 같은 스테이징 사용자 인터페이스(6010)) 내에 제2 가상 3차원 객체를 디스플레이하는 동안, 디바이스는 제4 입력을 검출하고, 제4 입력을 검출하는 것에 응답하여, 제4 입력이 제4 사용자 인터페이스에서 제2 가상 3차원 객체를 조작하라는 요청에 대응한다는 결정에 따라, 디바이스는 (예컨대, 도 6j 내지 도 6m과 관련하여 기술된 바와 같이, 그리고/또는 도 6n 내지 도 6p와 관련하여 기술된 바와 같이) 제4 입력에 기초하여 제4 사용자 인터페이스 내의 제2 가상 3차원 객체의 디스플레이 속성을 변경하고, 제4 입력이 증강 현실 환경에 제2 가상 객체를 디스플레이하라는 요청(예컨대, 제2 사용자 인터페이스 영역 내의 가상 객체의 표현에 대응하는 터치 감응형 표면 상의 위치에서의 또는 그로부터의 탭 입력, 누르기 입력, 또는 계속 터치하기 또는 누르기 입력에 이은 드래그 입력)에 대응한다는 결정에 따라, 디바이스는 (예컨대, 도 6q 내지 도 6u와 관련하여 기술된 바와 같이) 하나 이상의 카메라들의 시야의 표현과 함께 제2 가상 3차원 객체를 디스플레이한다.In some embodiments, a visual indication (e.g., a virtual object indicator) indicating that the second item corresponds to a respective virtual three-dimensional object (e.g., as described in more detail herein with reference to method 900) While displaying a second item (e.g., virtual chair 5020) with 5022), the device receives a third input (e.g., by a third contact) at a location on the touch-sensitive surface that corresponds to a representation of the second item. , input as described with respect to FIGS. 6E-6I ), and in response to detecting the third input by the third contact and the third input by the third contact triggers the first (e.g., staging trigger) ) Upon determining that the criteria are met, the device displays a second virtual three-dimensional display within a fourth user interface that is different from the second user interface (e.g., staging user interface 6010, as described in more detail with reference to method 900). Display the object (1034). In some embodiments, while displaying a second virtual three-dimensional object within a fourth user interface (e.g., staging user interface 6010 as illustrated in Figure 6I), the device detects a fourth input and In response to detecting the input, upon determining that the fourth input corresponds to a request to manipulate a second virtual three-dimensional object in the fourth user interface, the device performs (e.g., as described with respect to FIGS. 6J-6M) change display properties of a second virtual three-dimensional object in the fourth user interface based on the fourth input (such as and/or as described in connection with FIGS. 6N-6P), wherein the fourth input is displayed in the augmented reality environment. A request to display a second virtual object (e.g., following a tap input, a press input, or a continued touch or press input at or from a location on the touch-sensitive surface corresponding to a representation of the virtual object within the second user interface area) Depending on the determination that the device corresponds to a drag input), the device displays a second virtual three-dimensional object with a representation of the field of view of one or more cameras (e.g., as described with respect to FIGS. 6Q-6U).
제4 사용자 인터페이스(예컨대, 스테이징 사용자 인터페이스(6010)) 내에 제2 3차원 객체를 디스플레이하는 동안, 제4 입력에 응답하여, 디바이스는 제4 입력에 기초하여 제2 3차원 객체의 디스플레이 속성을 변경하거나 또는 디바이스의 하나 이상의 카메라들의 시야의 표현과 함께 제2 3차원 객체를 디스플레이한다. (예컨대, 제2 3차원 객체의 디스플레이 특성을 변경하거나 디바이스의 하나 이상의 카메라들의 시야의 표현과 함께 제2 3차원 객체를 디스플레이함으로써) 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은, 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.While displaying a second three-dimensional object within a fourth user interface (e.g., staging user interface 6010), in response to the fourth input, the device changes display properties of the second three-dimensional object based on the fourth input. or display a second three-dimensional object with a representation of the field of view of one or more cameras of the device. enabling performance of a number of different types of operations in response to input (e.g., by changing the display characteristics of the second three-dimensional object or displaying the second three-dimensional object with a representation of the field of view of one or more cameras of the device) This increases the efficiency with which the user can perform these operations, thereby improving the operability of the device, which additionally reduces the device's power usage by allowing the user to use the device more quickly and efficiently. and improve battery life.
도 10a 내지 도 10d에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 16000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 10a 내지 도 10d와 관련하여 전술된 방법(1000)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(1000)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스들, 사용자 인터페이스 영역들, 시야들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 16000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스들, 사용자 인터페이스 영역들, 시야들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 10A-10D are described is by way of example only and is not intended to indicate that the described order is the only order in which the operations may be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g., methods 800, 900, 16000, 17000, 18000, 19000, 20000) are provided in FIGS. 10A-10A. It should be noted that the method 1000 described above with respect to Figure 10d is also applicable in a similar manner. For example, contacts, inputs, virtual objects, user interfaces, user interface areas, views, movements, and/or animations described above with respect to method 1000 are optionally described herein. Contacts, inputs, virtual objects, user interfaces, user interface areas described herein in connection with other methods (e.g., methods 800, 900, 16000, 17000, 18000, 19000, 20000). Has one or more of the following characteristics: fields, views, movements, and/or animations. For brevity, these details are not repeated here.
도 11a 내지 도 11v는 객체 배치 기준들이 충족되는지 여부에 따라 상이한 시각적 속성들을 갖는 가상 객체를 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.11A-11V illustrate example user interfaces for displaying a virtual object with different visual properties depending on whether object placement criteria are met. The user interfaces in these figures are FIGS. 8A-8E, 9A-9D, 10A-10D, 16A-16G, 17A-17D, 18A-18I, 19A-19H, and FIG. It is used to illustrate the processes described below, including the processes of Figures 20A through 20F. For ease of explanation, some of the embodiments will be discussed with reference to operations performed on a device with touch-sensitive display system 112. In these embodiments, the focus selector may optionally be: an individual finger or stylus contact, a representative point corresponding to a finger or stylus contact (e.g., the center of the individual contact, or a point associated with the individual contact), or It is the center of two or more contacts detected on the touch-sensitive display system 112. However, similar operations may optionally be performed on the display 450 and the display 450 in response to detecting contacts on the touch-sensitive surface 451 while displaying the user interfaces shown in the figures with a focus selector on the display 450. Performed on a device with a separate touch-sensitive surface 451.
도 11a 내지 도 11e는 가상 객체를 스테이징 뷰에 디스플레이하기 위한 입력을 예시한다. 예를 들어, 입력은 3차원 객체의 2차원 표현(예컨대, 섬네일)이 사용자 인터페이스(예컨대, 이메일 사용자 인터페이스(7052), 파일 관리 사용자 인터페이스(7036), 지도 사용자 인터페이스(7022), 메시징 사용자 인터페이스(5008), 인터넷 브라우저 사용자 인터페이스(5060), 또는 제3자 애플리케이션 사용자 인터페이스) 내에 디스플레이되는 동안 검출된다.11A-11E illustrate inputs for displaying a virtual object in a staging view. For example, the input may be a two-dimensional representation (e.g., a thumbnail) of a three-dimensional object in a user interface (e.g., an email user interface 7052, a file management user interface 7036, a maps user interface 7022, a messaging user interface ( 5008), an Internet browser user interface 5060, or a third-party application user interface).
도 11a에서, 인터넷 브라우저 사용자 인터페이스(5060)는 3차원 가상 객체(11002)(의자)의 2차원 표현을 포함한다. 접촉(11004)에 의한 입력(예컨대, 탭 입력)이 가상 객체(11002)에 대응하는 위치에서 검출된다. 탭 입력에 응답하여, 인터넷 브라우저 사용자 인터페이스(5060)의 디스플레이는 스테이징 사용자 인터페이스(6010)의 디스플레이로 대체된다.In Figure 11A, Internet browser user interface 5060 includes a two-dimensional representation of a three-dimensional virtual object 11002 (a chair). An input by contact 11004 (eg, a tap input) is detected at a location corresponding to the
도 11b 내지 도 11e는 인터넷 브라우저 사용자 인터페이스(5060)가 스테이징 사용자 인터페이스(6010)의 디스플레이로 대체됨에 따라 발생하는 전이를 예시한다. 일부 실시예들에서, 전이 동안, 가상 객체(10002)는 뷰로 점진적으로 페이드 인되고/되거나 스테이징 사용자 인터페이스(6010)의 제어부들(예컨대, 뒤로 가기 제어부(6016), 토글 제어부(6018), 및/또는 공유 제어부(6020))은 뷰로 점진적으로 페이드 인된다. 예를 들어, (예컨대, 가상 객체(11002)의 3차원 표현이 디스플레이 상에 렌더링되는 데 필요한 기간 동안 제어부들의 디스플레이를 지연시키기 위해) 가상 객체(11002)가 뷰로 페이드 인된 후에 스테이징 사용자 인터페이스(6010)의 제어부들이 뷰로 페이드 인된다. 일부 실시예들에서, 가상 객체(11002)의 "페이드 인"은 가상 객체(11002)의 저해상도, 2차원, 및/또는 홀로그래픽 형태를 디스플레이하는 것에 이어서 가상 객체(11002)의 최종 3차원 표현을 디스플레이하는 것을 포함한다. 도 11b 내지 도 11d는 가상 객체(11002)의 점진적인 페이드 인을 예시한다. 도 11d에는, 가상 객체(11002)의 그림자(11006)가 디스플레이되어 있다. 도 11d 및 도 11e는 제어부들(6016, 6018, 6020)의 점진적인 페이드 인을 예시한다.Figures 11B-11E illustrate the transition that occurs as the Internet browser user interface 5060 is replaced by the display of the staging user interface 6010. In some embodiments, during transition, virtual object 10002 gradually fades into view and/or controls controls of staging user interface 6010 (e.g., back control 6016, toggle control 6018, and/or Alternatively, the shared control unit 6020) gradually fades in to the view. For example, staging user interface 6010 may be displayed after
도 11f 및 도 11g는 가상 객체(11002)의 3차원 표현이 디바이스(100)의 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스에 디스플레이되게 하는 입력을 예시한다. 도 11f에서, 접촉(11008)에 의한 입력이 토글 제어부(6018)에 대응하는 위치에서 검출된다. 입력에 응답하여, 스테이징 사용자 인터페이스(6010)의 디스플레이는, 도 11g에 도시된 바와 같이, 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스의 디스플레이로 대체된다.11F and 11G illustrate input that causes a three-dimensional representation of
도 11g 및 도 11h에 예시된 바와 같이, 카메라(들)의 시야(6036)가 초기에 디스플레이되는 경우, 가상 객체의 반투명 표현이 (예컨대, 가상 객체에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 검출되지 않았을 때) 디스플레이될 수 있다.As illustrated in FIGS. 11G and 11H, when the camera(s)' field of
도 11g 및 도 11h는 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스에 디스플레이되는 가상 객체(11002)의 반투명 표현을 예시한다. 가상 객체(11002)의 반투명 표현은 디스플레이(112)에 대해 고정된 위치에 디스플레이된다. 예를 들어, 도 11g로부터 도 11h로, 디바이스(100)가 (예컨대, 카메라(들)의 시야(6036) 내의 테이블(5004)의 변경된 위치에 의해 나타낸 바와 같이) 물리적 환경(5002)에 대해 이동됨에 따라, 가상 객체(11002)는 디스플레이(112)에 대해 고정된 위치에 유지된다.11G and 11H illustrate a semi-transparent representation of
일부 실시예들에서, 가상 객체에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 검출되었다는 결정에 따라, 가상 객체는 검출된 평면 상에 배치된다.In some embodiments, upon determining that a plane corresponding to the virtual object has been detected within the field of
도 11i에서, 가상 객체(11002)에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 검출되었고, 가상 객체(11002)는 검출된 평면 상에 배치된다. 디바이스는 (예컨대, 적어도 하나의 평면(예컨대, 바닥 표면(5038))이 카메라(들)의 시야(6036) 내에서 검출되었다는 것을 나타내기 위해) 11010으로 예시된 바와 같은 촉각적 출력을 생성하였다. 가상 객체(11002)가 카메라(들)의 시야(6036) 내에서 검출되는 평면에 대해 일정 위치에 배치되는 경우, 가상 객체(11002)는 하나 이상의 카메라들에 의해 캡처되는 물리적 환경(5002)에 대해 고정된 위치에 유지된다. 도 11i로부터 도 11j로, 디바이스(100)가 (예컨대, 카메라(들)의 디스플레이된 시야(6036) 내의 테이블(5004)의 변경된 위치에 의해 나타낸 바와 같이) 물리적 환경(5002)에 대해 이동됨에 따라, 가상 객체(11002)는 물리적 환경(5002)에 대해 고정된 위치에 유지된다.In Figure 11I, a plane corresponding to
일부 실시예들에서, 카메라(들)의 시야(6036)가 디스플레이되는 동안, 제어부들(예컨대, 뒤로 가기 제어부(6016), 토글 제어부(6018), 및/또는 공유 제어부(6020))은 (예컨대, 입력이 수신되지 않은 일정 기간이 경과하였다는 결정에 따라) 디스플레이되는 것이 중지된다. 도 11j 내지 도 11l에서, 제어부들(6016, 6018, 6020)은 (예컨대, 도 11k에 도시된 바와 같이) 점진적으로 페이드 아웃되어, (예컨대, 도 11l에 도시된 바와 같이) 카메라(들)의 시야(6036)가 디스플레이되는 디스플레이(112)의 부분을 증가시킨다.In some embodiments, while the field of
도 11m 내지 도 11s는 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스에 가상 객체(11002)가 디스플레이될 때 그를 조작하기 위한 입력을 예시한다.11M-11S illustrate inputs for manipulating
도 11m 및 도 11n에서, 가상 객체(11002)의 시뮬레이션된 물리적 크기를 변경하기 위한 접촉들(11012, 11014)에 의한 입력(예컨대, 디핀치 제스처)이 검출된다. 입력의 검출에 응답하여, 제어부들(6016, 6018, 6020)이 재디스플레이된다. 접촉(11012)이 화살표(11016)로 표시된 경로를 따라서 이동하고 접촉(11014)이 화살표(11018)로 표시된 경로를 따라서 이동함에 따라, 가상 객체(11002)의 크기는 증가한다.11M and 11N, input (e.g., a de-pinch gesture) by contacts 11012 and 11014 to change the simulated physical size of
도 11n 내지 도 11p에서, 가상 객체(11002)의 시뮬레이션된 물리적 크기를 변경하기 위한 접촉들(11012, 1104)에 의한 입력(예컨대, 핀치 제스처)이 검출된다. 접촉(11012)이 화살표(11020)로 표시된 경로를 따라서 이동하고 접촉(11014)이 화살표(11022)로 표시된 경로를 따라서 이동함에 따라, 가상 객체(11002)의 크기는 (도 11n과 도 11o, 및 도 11o와 도 11p에 도시된 바와 같이) 감소한다. 도 11o에 예시된 바와 같이, 가상 객체(11002)의 크기가 물리적 환경(5002)에 대한 그의 원래 크기(예컨대, 도 11i에 도시된 바와 같이, 물리적 환경(5002) 내의 검출된 평면 상에 초기에 배치된 경우의 가상 객체(11002)의 크기)로 조정될 때, (11024로 예시된 바와 같은) 촉각적 출력이 (예컨대, 가상 객체(11002)가 그의 원래 크기로 복귀되었다는 것을 나타내는 피드백을 제공하기 위해) 발생한다. 도 11q에서, 접촉들(11012, 11014)은 터치 스크린 디스플레이(112)로부터 리프트되었다.11N-11P, input (eg, a pinch gesture) by contacts 11012 and 1104 to change the simulated physical size of
도 11r에서, 가상 객체(11002)를 물리적 환경(5002)에 대한 그의 원래 크기로 복귀시키기 위한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력은, 접촉(11026)에 의해 나타낸 바와 같이, 가상 객체(11002)에 대응하는 위치에서 검출된다. 입력에 응답하여, 가상 객체(11002)는 도 11r에 예시된 감소된 크기로부터 도 11s에 나타난 바와 같은 가상 객체(11002)의 원래 크기로 조정된다. 도 11s에 예시된 바와 같이, 가상 객체(11002)의 크기가 물리적 환경(5002)에 대한 그의 원래 크기로 조정될 때, (11028로 예시된 바와 같은) 촉각적 출력이 (예컨대, 가상 객체(11002)가 그의 원래 크기로 복귀되었다는 것을 나타내는 피드백을 제공하기 위해) 발생한다.In Figure 11R, an input (eg, a double tap input) is detected to return
도 11t에서, 접촉(11030)에 의한 입력이 토글 제어부(6018)에 대응하는 위치에서 검출된다. 입력에 응답하여, 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스의 디스플레이는, 도 11u에 도시된 바와 같이, 스테이징 사용자 인터페이스(6010)로 대체된다.In FIG. 11T, input by contact 11030 is detected at a position corresponding to toggle control 6018. In response to the input, the display of the user interface, including the field of
도 11u에서, 접촉(11032)에 의한 입력이 뒤로 가기 제어부(6016)에 대응하는 위치에서 검출된다. 입력에 응답하여, 스테이징 사용자 인터페이스(6010)의 디스플레이는, 도 11v에 도시된 바와 같이, 인터넷 브라우저 사용자 인터페이스(5060)로 대체된다.In FIG. 11U, input by contact 11032 is detected at a position corresponding to the rewind control unit 6016. In response to input, the display of staging user interface 6010 is replaced by Internet browser user interface 5060, as shown in FIG. 11V.
도 12a 내지 도 12l은 디바이스의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.12A-12L illustrate example user interfaces for displaying a calibration user interface object that is dynamically animated according to movement of one or more cameras of the device. The user interfaces in these figures are FIGS. 8A-8E, 9A-9D, 10A-10D, 16A-16G, 17A-17D, 18A-18I, 19A-19H, and FIG. It is used to illustrate the processes described below, including the processes of Figures 20A through 20F. For ease of explanation, some of the embodiments will be discussed with reference to operations performed on a device with touch-sensitive display system 112. In these embodiments, the focus selector may optionally be: an individual finger or stylus contact, a representative point corresponding to a finger or stylus contact (e.g., the center of the individual contact, or a point associated with the individual contact), or It is the center of two or more contacts detected on the touch-sensitive display system 112. However, similar operations may optionally be performed on the display 450 and the display 450 in response to detecting contacts on the touch-sensitive surface 451 while displaying the user interfaces shown in the figures with a focus selector on the display 450. Performed on a device with a separate touch-sensitive surface 451.
일부 실시예들에 따르면, 하나 이상의 카메라들의 시야를 포함하는 사용자 인터페이스에 가상 객체를 디스플레이하라는 요청이 수신되지만 추가 데이터가 디바이스의 캘리브레이션에 필요한 경우, 캘리브레이션 사용자 인터페이스 객체가 디스플레이된다.According to some embodiments, when a request is received to display a virtual object in a user interface that includes a field of view of one or more cameras, but additional data is needed for calibration of the device, a calibration user interface object is displayed.
도 12a는 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 가상 객체(11002)를 디스플레이할 것을 요청하는 입력을 예시한다. 접촉(12002)에 의한 입력이 토글 제어부(6018)에 대응하는 위치에서 검출된다. 입력에 응답하여, 스테이징 사용자 인터페이스(6010)의 디스플레이는, 도 12b에 도시된 바와 같이, 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스의 디스플레이로 대체된다. 가상 객체(11002)의 반투명 표현이 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스에 디스플레이된다. (예컨대, 가상 객체(11002)에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 검출되지 않았기 때문에) 캘리브레이션이 필요한 동안, 카메라(들)의 시야(6036)는 (예컨대, 후술되는 바와 같이, 프롬프트(prompt)들 및/또는 캘리브레이션 객체의 거동을 강조하기 위해) 블러링된다.FIG. 12A illustrates an input requesting to display a
도 12b 내지 도 12d는 디바이스를 이동시킬 것을 사용자에게 촉구하는 (예컨대, 캘리브레이션이 필요하다는 결정에 따라 디스플레이되는) 애니메이션화된 이미지 및 텍스트를 예시한다. 애니메이션화된 이미지는 (예컨대, 가상 객체(11002)에 대응하는 평면을 검출하기 위해 디바이스(100)가 평면에 대해 이동해야 하는 것을 나타내기 위해) 디바이스(100)의 표현(12004), 디바이스(100)의 좌우 이동이 필요한 것을 나타내는 화살표들(12006, 12008), 평면의 표현(12010)을 포함한다. 텍스트 프롬프트(12012)는 캘리브레이션에 필요한 디바이스(100)의 이동에 관한 정보를 제공한다. 도 12b와 도 12c, 및 도 12c와 도 12d에서, 디바이스(100)의 표현(12004) 및 화살표(12006)는 캘리브레이션에 필요한 디바이스(100)의 이동의 표시를 제공하기 위해 평면의 표현(12010)에 대해 조정된다. 도 12c로부터 도 12d로, 디바이스(100)는 (예컨대, 카메라(들)의 시야(6036) 내의 테이블(5004)의 변경된 위치에 의해 나타낸 바와 같이) 물리적 환경(5002)에 대해 이동된다. 디바이스(100)의 이동의 검출의 결과로서, 캘리브레이션 사용자 인터페이스 객체(12014)(입방체의 윤곽)가, 도 12e-1에 나타낸 바와 같이, 디스플레이된다.12B-12D illustrate animated images and text prompting the user to move the device (eg, displayed following a determination that calibration is needed). The animated image is a representation 12004 of device 100 (e.g., to indicate that device 100 must move relative to a plane to detect a plane corresponding to virtual object 11002). It includes arrows 12006 and 12008 indicating that left and right movement is required, and a plane representation 12010. The text prompt 12012 provides information about the movement of the device 100 required for calibration. 12B and 12C and 12C and 12D, the representation 12004 and arrow 12006 of device 100 are planar representations 12010 to provide an indication of the movement of device 100 required for calibration. is adjusted for. From Figure 12C to Figure 12D, device 100 is moved relative to physical environment 5002 (e.g., as indicated by the changed position of table 5004 within the field of
도 12e-1 내지 도 12i-1은, 도 12e-2 내지 도 12i-2에 각각 예시된 바와 같은, 물리적 환경(5002)에 대한 디바이스(100)의 이동에 대응하는 캘리브레이션 사용자 인터페이스 객체(12014)의 거동을 예시한다. (예컨대, 캘리브레이션에 도움이 되는 이동에 관한 피드백을 사용자에게 제공하기 위해) 디바이스(100)의 이동(예컨대, 측방향 이동)에 응답하여 캘리브레이션 사용자 인터페이스 객체(12014)는 애니메이션화된다(예컨대, 입방체의 윤곽은 회전한다). 도 12e-1에서, 캘리브레이션 사용자 인터페이스 객체(12014)는 디바이스(100)의 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스에서 제1 회전 각을 갖는 것으로 도시되어 있다. 도 12e-2에서, 디바이스(100)는 물리적 환경(5002)에 대한 제1 위치에서, 사용자의 손(5006)에 의해 보유되는 것으로 도시되어 있다. 도 12e-2로부터 도 12f-2로, 디바이스(100)는 물리적 환경(5002)에 대해 측방향으로 (우측으로) 이동하였다. 이동의 결과로서, 도 12f-1에 도시된 바와 같이, 디바이스(100)에 의해 디스플레이되는 바와 같은 카메라(들)의 시야(6036)는 업데이트되고 캘리브레이션 사용자 인터페이스 객체(12014)는 (도 12e-1에서의 그의 위치에 대해) 회전하였다. 도 12f-2로부터 도 12g-2로, 디바이스(100)는 물리적 환경(5002)에 대해 그의 우향 이동을 계속하였다. 이동의 결과로서, 도 12g-1에 도시된 바와 같이, 디바이스(100)에 의해 디스플레이되는 바와 같은 카메라(들)의 시야(6036)는 다시 업데이트되고 캘리브레이션 사용자 인터페이스 객체(12014)는 추가로 회전된다. 도 12g-2로부터 도 12h-2로, 디바이스(100)는 물리적 환경(5002)에 대해 상향으로 이동하였다. 이동의 결과로서, 디바이스(100)에 의해 디스플레이되는 바와 같은 카메라(들)의 시야(6036)는 업데이트된다. 도 12g-1에서 도 12h-1로 예시된 바와 같이, 캘리브레이션 사용자 인터페이스 객체(12014)는 (예컨대, 디바이스의 수직 이동이 캘리브레이션에 기여하지 않고 있다는 표시를 사용자에게 제공하기 위해) 도 12g-2에서 도 12h-2로 예시된 디바이스의 상향 이동에 응답하여 회전하지 않는다. 도 12h-2로부터 도 12i-2로, 디바이스(100)는 물리적 환경(5002)에 대해 추가로 우향으로 이동하였다. 이동의 결과로서, 도 12i-1에 도시된 바와 같이, 디바이스(100)에 의해 디스플레이되는 바와 같은 카메라(들)의 시야(6036)는 다시 업데이트되고 캘리브레이션 사용자 인터페이스 객체(12014)는 회전된다.12E-1 through 12I-1 illustrate calibration user interface objects 12014 corresponding to movement of device 100 relative to the physical environment 5002, as illustrated in FIGS. 12E-2 through 12I-2, respectively. illustrates the behavior of Calibration user interface object 12014 is animated (e.g., in response to movement (e.g., lateral movement) of device 100 (e.g., to provide feedback to the user regarding movement to aid calibration). The contour rotates). 12E-1, calibration user interface object 12014 is shown as having a first rotation angle in the user interface that includes a field of
도 12j에서, (예컨대, 도 12e 내지 도 12i에 예시된 바와 같은) 디바이스(100)의 이동은 요구되는 캘리브레이션을 만족하였다(예컨대, 그리고 가상 객체(11002)에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 검출되었다). 가상 객체(11002)는 검출된 평면 상에 배치되고, 카메라(들)의 시야(6036)는 블러링되는 것이 중지된다. 촉각적 출력 생성기들은 평면(예컨대, 바닥 표면(5038))이 카메라(들)의 시야(6036) 내에서 검출되었다는 것을 나타내기 위해 (12016으로 예시된 바와 같은) 촉각적 출력을 출력한다. 바닥 표면(5038)은 검출되었던 평면의 표시를 제공하도록 강조된다.In Figure 12J, the movement of device 100 (e.g., as illustrated in Figures 12E-12I) has satisfied the required calibration (e.g., and the plane corresponding to
가상 객체(11002)가 카메라(들)의 시야(6036) 내에서 검출되는 평면에 대해 일정 위치에 배치된 경우, 가상 객체(11002)는 하나 이상의 카메라들에 의해 캡처되는 물리적 환경(5002)에 대해 고정된 위치에 유지된다. 디바이스(100)가 (도 12k-2에서 도 12l-2로 도시된 바와 같이) 물리적 환경(5002)에 대해 이동됨에 따라, 가상 객체(11002)는 (도 12k-1에서 도 12l-1로 도시된 바와 같이) 물리적 환경(5002)에 대해 고정된 위치에 유지된다.When the
도 13a 내지 도 13m은 축을 중심으로 하는 가상 객체의 회전을 제약하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.13A-13M illustrate example user interfaces for constraining the rotation of a virtual object about an axis. The user interfaces in these figures are FIGS. 8A-8E, 9A-9D, 10A-10D, 16A-16G, 17A-17D, 18A-18I, 19A-19H, and FIG. It is used to illustrate the processes described below, including the processes of Figures 20A through 20F. For ease of explanation, some of the embodiments will be discussed with reference to operations performed on a device with touch-sensitive display system 112. In these embodiments, the focus selector may optionally be: an individual finger or stylus contact, a representative point corresponding to a finger or stylus contact (e.g., the center of the individual contact, or a point associated with the individual contact), or It is the center of two or more contacts detected on the touch-sensitive display system 112. However, similar operations may optionally be performed on the display 450 and the display 450 in response to detecting contacts on the touch-sensitive surface 451 while displaying the user interfaces shown in the figures with a focus selector on the display 450. Performed on a device with a separate touch-sensitive surface 451.
도 13a에서, 가상 객체(11002)가 스테이징 사용자 인터페이스(6010) 내에 도시된다. x-축, y-축, 및 z-축이 가상 객체(11002)에 대해 도시되어 있다.In Figure 13A,
도 13b 및 도 13c는 도 13a에 나타낸 y-축을 중심으로 가상 객체(11002)를 회전시키기 위한 입력을 예시한다. 도 13b에서, 접촉(13002)에 의한 입력이 가상 객체(11002)에 대응하는 위치에서 검출된다. 입력은 화살표(13004)로 표시된 경로를 따라서 거리(d1)만큼 이동한다. 입력이 경로를 따라서 이동함에 따라, 가상 객체(11002)는 도 13b에 나타낸 위치로 y-축을 중심으로 (예컨대, 35도만큼) 회전한다. 스테이징 사용자 인터페이스(6010)에서, 가상 객체(11002)에 대응하는 그림자(13006)가 디스플레이된다. 도 13b로부터 도 13c로, 그림자(13006)는 가상 객체(11002)의 변경된 위치에 따라 변한다.FIGS. 13B and 13C illustrate inputs for rotating
접촉(13002)이 터치 스크린(112)으로부터 리프트오프된 후, 가상 객체(11002)는 (예컨대, 가상 객체(11002)가 물리적 객체와 유사하게 거동하는 인상을 제공하기 위해, 접촉(13002)의 이동에 의해 부여되는 "운동량"에 따라) 도 13c 및 도 13d에 도시된 바와 같이, 계속 회전한다.After contact 13002 is lifted off touch screen 112,
도 13e 및 도 13f는 도 13a에 나타낸 x-축을 중심으로 가상 객체(11002)를 회전시키기 위한 입력을 예시한다. 도 13e에서, 접촉(13008)에 의한 입력이 가상 객체(11002)에 대응하는 위치에서 검출된다. 입력은 화살표(13010)로 표시된 경로를 따라서 거리(d1)만큼 이동한다. 입력이 경로를 따라서 이동함에 따라, 가상 객체(11002)는 도 13f에 나타낸 위치로 x-축을 중심으로 (예컨대, 5도만큼) 회전한다. 접촉(13002)이 도 13b 및 도 13c로부터 이동한 동일한 거리(d1)만큼 접촉(13008)이 도 13e 및 도 13f에서 x-축을 따라서 이동하더라도, 도 13e 및 도 13f에서 x-축을 중심으로 하는 가상 객체(11002)의 회전 각은 도 13b 및 도 13c에서 y-축을 중심으로 하는 가상 객체(11002)의 회전 각보다 작다.Figures 13E and 13F illustrate inputs for rotating
도 13f 및 도 13g는 도 13a에 나타낸 x-축을 중심으로 가상 객체(11002)를 회전시키기 위한 추가 입력을 예시한다. 도 13f에서, 접촉(13008)은 그의 이동을 계속하여, 화살표(13012)로 표시된 경로를 따라서 (거리(d1)보다 큰) 거리(d2)만큼 이동한다. 입력이 경로를 따라서 이동함에 따라, 가상 객체(11002)는 도 13g에 나타낸 위치로 x-축을 중심으로 (25도만큼) 회전한다. 도 13e 내지 도 13g에 예시된 바와 같이, 접촉(13008)의 거리(d1+ d2)만큼의 이동은 가상 객체(11002)가 x-축을 중심으로 30도로 회전하게 하는 반면, 도 13b 및 도 13c에서, 접촉(13004)의 거리(d1)만큼의 이동은 가상 객체(11002)가 y-축을 중심으로 35도로 회전하게 한다.Figures 13F and 13G illustrate additional inputs for rotating
접촉(13008)이 터치 스크린(112)으로부터 리프트오프된 후, 가상 객체(11002)는, 도 13g 및 도 13h에 도시된 바와 같이, (예컨대, 접촉(13008)의 이동이 회전 한계를 넘어서 도달한 가상 객체(11002)의 회전량을 야기한 것을 나타내기 위해) 접촉(13008)의 이동에 의해 야기되는 회전 방향과 반대인 방향으로 회전한다.After contact 13008 is lifted off touch screen 112,
도 13g 내지 도 13i에서, (예컨대, 객체를 아래에서 볼 때 가상 객체(11002)가 그림자를 드리우지 않기 때문에) 그림자(13006)는 도시되지 않는다.13G-13I, shadow 13006 is not shown (e.g., because
도 13i에서, 가상 객체(11002)를 (예컨대, 도 13a에 나타낸 바와 같이) 그가 원래 디스플레이되었던 시점으로 복귀시키기 위한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력은, 접촉(13014)에 의해 나타낸 바와 같이, 가상 객체(11002)에 대응하는 위치에서 발생한다. 입력에 응답하여, 가상 객체(11002)는 (도 13e로부터 도 13h로 발생한 회전을 역전시키기 위해) y-축을 중심으로 그리고 (도 13b로부터 도 13d로 발생한 회전을 역전시키기 위해) x-축을 중심으로 회전된다. 도 13j에서, 접촉(13016)에 의한 입력은 가상 객체(11002)가 원래 디스플레이된 시점으로 복귀하게 하였다.In Figure 13I, an input (eg, a double tap input) is detected to return the
일부 실시예들에서, 스테이징 사용자 인터페이스(6010)가 디스플레이되는 동안 가상 객체(11002)의 크기를 조정하기 위한 입력이 수신된다. 예를 들어, 가상 객체(11002)의 크기를 조정하기 위한 입력은 가상 객체(11002)의 크기를 증가시키기 위한 (예컨대, 도 6n 및 도 6o와 관련하여 기술된 바와 같은) 디핀치 제스처 또는 가상 객체(11002)의 크기를 감소시키기 위한 핀치 제스처이다.In some embodiments, input to resize
도 13j에서, 스테이징 사용자 인터페이스(6010)의 디스플레이를 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스의 디스플레이로 대체하기 위한 입력이 수신된다. 접촉(13016)에 의한 입력이 토글 제어부(6018)에 대응하는 위치에서 검출된다. 입력에 응답하여, 스테이징 사용자 인터페이스(6010)의 디스플레이는, 도 13k에 도시된 바와 같이, 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스로 대체된다.13J, input is received to replace the display of the staging user interface 6010 with a display of a user interface that includes a
도 13k에서, 가상 객체(11002)는 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스에 디스플레이된다. 가상 객체(11002)에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 검출되었다는 것을 나타내기 위해 (13018로 예시된 바와 같은) 촉각적 출력이 발생한다. 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스 내의 가상 객체(11002)의 회전 각은 스테이징 사용자 인터페이스(6010) 내의 가상 객체(11002)의 회전 각에 대응한다.In Figure 13K,
카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스가 디스플레이될 때, 측방향 이동을 포함하는 입력은, 도 13l 및 도 13m에 예시된 바와 같이, 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스 내의 가상 객체(11002)의 측방향 이동을 야기한다. 도 13l에서, 가상 객체(11002)에 대응하는 위치에서 접촉(13020)이 검출되고, 접촉은 화살표(13022)로 표시된 경로를 따라서 이동한다. 접촉이 이동함에 따라, 가상 객체(11002)는 (도 13l에 도시된 바와 같은) 제1 위치로부터 (도 13m에 도시된 바와 같은) 제2 위치로의 접촉(13020)의 이동에 대응하는 경로를 따라서 이동한다.When a user interface that includes a field of
일부 실시예들에서, 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스가 디스플레이될 때 제공되는 입력은, 도 5aj 내지 도 5am과 관련하여 기술된 바와 같이, 제1 평면(예컨대, 바닥 평면(5038))으로부터 제2 평면(예컨대, 테이블 표면 평면(5046))으로의 가상 객체(11002)의 이동을 야기할 수 있다.In some embodiments, the input provided when the user interface including the field of
도 14a 내지 도 14z는 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 14aa 내지 도 14ad, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.14A-14Z illustrate example user interfaces for increasing the second threshold amount of movement required for a second object manipulation behavior in accordance with a determination that the first threshold amount of movement is met for the first object manipulation behavior. . The user interfaces in these figures are FIGS. 8A to 8E, 9A to 9D, 10A to 10D, 14AA to 14AD, 16A to 16G, 17A to 17D, 18A to 18I, and 19A. Used to illustrate the processes described below, including the processes of FIGS. 20A-19H and FIGS. 20A-20F. For ease of explanation, some of the embodiments will be discussed with reference to operations performed on a device with touch-sensitive display system 112. In these embodiments, the focus selector may optionally be: an individual finger or stylus contact, a representative point corresponding to a finger or stylus contact (e.g., the center of the individual contact, or a point associated with the individual contact), or It is the center of two or more contacts detected on the touch-sensitive display system 112. However, similar operations may optionally be performed on the display 450 and the display 450 in response to detecting contacts on the touch-sensitive surface 451 while displaying the user interfaces shown in the figures with a focus selector on the display 450. Performed on a device with a separate touch-sensitive surface 451.
도 14a에서, 가상 객체(11002)는 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스에 디스플레이된다. 도 14b 내지 도 14z에 관하여 추가로 기술되는 바와 같이, 병진 이동 측정기(14002), 축척조정 이동 측정기(14004), 및 회전 이동 측정기(14006)는 객체 조작 거동들(예컨대, 병진 동작, 축척조정 동작, 및/또는 회전 동작)에 대응하는 이동의 각각의 크기들을 나타내는 데 사용된다. 병진 이동 측정기(14002)는 터치 스크린 디스플레이(112) 상의 한 세트의 접촉들의 측방향(예컨대, 좌향 또는 우향) 이동의 크기를 나타낸다. 축척조정 이동 측정기(14004)는 터치 스크린 디스플레이(112) 상의 한 세트의 접촉들 중 각각의 접촉들 사이의 증가 또는 감소하는 거리의 크기(예컨대, 핀치 또는 디핀치 제스처의 크기)를 나타낸다. 회전 이동 측정기(14006)는 터치 스크린 디스플레이(112) 상의 한 세트의 접촉들의 회전 이동의 크기를 나타낸다.In Figure 14A,
도 14b 내지 도 14e는 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스에서 가상 객체(11002)를 회전시키기 위한 입력을 예시한다. 가상 객체(11002)를 회전시키기 위한 입력은, 제1 접촉(14008)이 화살표(14010)로 표시된 경로를 따라서 시계 방향으로 회전 이동하고 제2 접촉(14012)이 화살표(14014)로 표시된 경로를 따라서 시계 방향으로 회전 이동하는 제스처를 포함한다. 도 14b에서, 터치 스크린(112)과의 접촉들(14008, 14012)이 검출된다. 도 14c에서, 접촉(14008)은 화살표(14010)로 표시된 경로를 따라서 이동하였고, 접촉(14012)은 화살표(14012)로 표시된 경로를 따라서 이동하였다. 도 14c에서 접촉(14008) 및 접촉(14012)의 회전 이동의 크기가 임계치(RT)에 도달하지 않았기 때문에, 가상 객체(11002)는 입력에 응답하여 아직 회전하지 않았다. 도 14d에서, 접촉(14008) 및 접촉(14012)의 회전 이동의 크기가 임계치(RT)를 초과하여 증가하였고, 가상 객체(11002)는 입력에 응답하여 (도 14b에 도시된 가상 객체(11002)의 위치에 대해) 회전하였다. 회전 이동의 크기가 임계치(RT)를 초과하여 증가할 때, 가상 객체(11002)를 축척조정하기 위한 이동의 요구되는 크기는 증가되고(예컨대, 축척조정 이동 측정기(14004)에 나타낸 바와 같이, 축척조정 임계치(ST)는 ST로부터 ST'으로 증가하였음), 가상 객체(11002)를 병진시키기 위한 이동의 요구되는 크기는 증가된다(예컨대, 병진 이동 측정기(14002)에 나타낸 바와 같이, 병진 임계치(TT)는 TT로부터 TT'으로 증가하였음). 도 14e에서, 접촉(14008) 및 접촉(14012)은 각각 화살표들(14010, 14014)로 표시된 회전 경로들을 따라 계속 이동하였고, 가상 객체(11002)는 입력에 응답하여 계속 회전하였다. 도 14f에서, 접촉들(14008, 14012)은 터치 스크린(112)으로부터 리프트오프되었다.14B-14E illustrate input for rotating a
도 14g 내지 도 14i는 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에서 가상 객체(11002)를 축척조정하기(예컨대, 그의 크기를 증가시키기) 위한 입력을 예시한다. 가상 객체(11002)의 크기를 증가시키기 위한 입력은, (예컨대, 접촉(14016)과 접촉(14020) 사이의 거리가 증가하도록) 제1 접촉(14016)이 화살표(14018)로 표시된 경로를 따라서 이동하고 제2 접촉(14020)이 화살표(14022)로 표시된 경로를 따라서 이동하는 제스처를 포함한다. 도 14g에서, 터치 스크린(112)과의 접촉들(14016, 14020)이 검출된다. 도 14h에서, 접촉(14016)은 화살표(14018)로 표시된 경로를 따라서 이동하였고, 접촉(14020)은 화살표(14022)로 표시된 경로를 따라서 이동하였다. 도 14h에서 접촉(14020)으로부터 멀어지는 접촉(14016)의 이동의 크기가 임계치(ST)에 도달하지 않았기 때문에, 가상 객체(11002)의 크기는 입력에 응답하여 아직 조정되지 않았다. 도 14i에서, 접촉(14016) 및 접촉(14020)의 축척조정 이동의 크기가 임계치(ST)를 초과하여 증가하였고, 가상 객체(11002)의 크기는 입력에 응답하여 (도 14h에 도시된 가상 객체(11002)의 크기에 비해) 증가되었다. 축척조정 이동의 크기가 임계치(ST)를 초과하여 증가할 때, 가상 객체(11002)를 회전시키기 위한 이동의 요구되는 크기는 증가되고(예컨대, 회전 이동 측정기(14006)에 나타낸 바와 같이, 회전 임계치(RT)는 RT로부터 RT'으로 증가하였음), 가상 객체(11002)를 병진시키기 위한 이동의 요구되는 크기는 증가된다(예컨대, 병진 이동 측정기(14002)에 나타낸 바와 같이, 병진 임계치(TT)는 TT로부터 TT'으로 증가하였음). 도 14j에서, 접촉들(14016, 14020)은 터치 스크린(112)으로부터 리프트오프되었다.14G-14I illustrate inputs for scaling (e.g., increasing its size) a
도 14k 내지 도 14m은 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스에서 가상 객체(11002)를 병진시키기 위한 (예컨대, 가상 객체(11002)를 좌측으로 이동시키기 위한) 입력을 예시한다. 가상 객체(11002)를 이동시키기 위한 입력은, (예컨대, 접촉(14024) 및 접촉(14028) 둘 모두가 좌향으로 이동하도록) 제1 접촉(14024)이 화살표(14026)로 표시된 경로를 따라서 이동하고 제2 접촉(14028)이 화살표(1430)로 표시된 경로를 따라서 이동하는 제스처를 포함한다. 도 14k에서, 터치 스크린(112)과의 접촉들(14024, 14028)이 검출된다. 도 14l에서, 접촉(14024)은 화살표(14026)로 표시된 경로를 따라서 이동하였고, 접촉(14028)은 화살표(14030)로 표시된 경로를 따라서 이동하였다. 도 14l에서 접촉들(14024, 14028)의 좌향하는 이동의 크기가 임계치(TT)에 도달하지 않았기 때문에, 가상 객체(11002)는 입력에 응답하여 아직 이동되지 않았다. 도 14m에서, 접촉(14024) 및 접촉(14028)의 좌향하는 이동의 크기는 임계치(TT)를 초과하여 증가하였고, 가상 객체(11002)는 접촉들(14024, 14028)의 이동 방향으로 이동되었다. 병진 이동의 크기가 임계치(TT)를 초과하여 증가할 때, 가상 객체(11002)를 축척조정하기 위한 이동의 요구되는 크기는 증가되고(예컨대, 축척조정 이동 측정기(14004)에 나타낸 바와 같이, 축척조정 임계치(ST)는 ST로부터 ST'으로 증가하였음), 가상 객체(11002)를 회전시키기 위한 이동의 요구되는 크기는 증가된다(예컨대, 회전 이동 측정기(14006)에 나타낸 바와 같이, 회전 임계치(RT)는 RT로부터 RT'으로 증가하였음). 도 14n에서, 접촉들(14024, 14028)은 터치 스크린(112)으로부터 리프트오프되었다.14K-14M illustrate input to translate virtual object 11002 (e.g., to move
도 14o 내지 도 14z는 가상 객체(11002)를 병진시키기(예컨대, 가상 객체(11002)를 우측으로 이동시키기), 가상 객체(11002)를 축척조정하기(예컨대, 가상 객체(11002)의 크기를 증가시키기), 그리고 가상 객체(11002)를 회전시키기 위한 제스처들을 포함하는 입력을 예시한다. 도 14o에서, 터치 스크린(112)과의 접촉들(14032, 14036)이 검출된다. 도 14o 및 도 14p에서, 접촉(14032)은 화살표(14034)로 표시된 경로를 따라서 이동하고, 접촉(14036)은 화살표(14038)로 표시된 경로를 따라서 이동한다. 접촉들(14032, 14036)의 우향하는 이동의 크기는 임계치(TT)를 초과하여 증가하였고, 가상 객체(11002)는 접촉들(14032, 14036)의 이동 방향으로 이동되었다. 접촉들(14032, 14036)의 이동에 의한 임계치(TT)의 만족의 결과로서, 가상 객체(11002)를 축척조정하기 위한 이동의 요구되는 크기는 ST'으로 증가되고, 가상 객체(11002)를 회전시키기 위한 이동의 요구되는 크기는 RT'으로 증가된다. (도 14q의 병진 이동 측정기(14002)에 도시된 높은 워터 마크(water mark)(14043)로 표시된 바와 같이) 임계치(TT)가 만족된 후, 접촉(14032, 14036)의 임의의 측방향 이동은 가상 객체(11002)의 측방향 이동을 야기할 것이다.14O-14Z show translation of the virtual object 11002 (e.g., moving the
도 14q 및 도 14r에서, 접촉(14032)은 화살표(14040)로 표시된 경로를 따라서 이동하고, 접촉(14036)은 화살표(14042)로 표시된 경로를 따라서 이동한다. 도 14r에서, 접촉(14036)으로부터 멀어지는 접촉(14032)의 이동의 크기는 원래 축척조정 임계치(ST)를 초과하였지만, 증가된 축척조정 임계치(ST')에 도달하지 않았다. 증가된 축척조정 이동 임계치(ST')가 적용되는 경우, 접촉(14036)으로부터 멀어지는 접촉(14032)의 이동의 크기가 증가된 축척조정 이동 임계치(ST')를 초과하여 증가할 때까지 축척조정이 발생하지 않아서, 가상 객체(11002)의 크기는 도 14q로부터 도 14r로 변화되지 않았다. 도 14r 및 도 14s에서, 접촉(14032)과 접촉(14046) 사이의 거리는, 접촉(14032)이 화살표(14044)로 표시된 경로를 따라서 이동하고 접촉(14036)이 화살표(14046)로 표시된 경로를 따라서 이동함에 따라 계속 증가한다. 도 14s에서, 접촉(14036)으로부터 멀어지는 접촉(14032)의 이동의 크기는 증가된 축척조정 임계치(ST')를 초과하였고, 가상 객체(11002)의 크기는 증가하였다. (도 14t의 축척조정 이동 측정기(14004)에 도시된 높은 워터 마크(14047)로 표시된 바와 같이) 임계치(ST')가 만족된 후, 접촉(14032, 14036)의 임의의 축척조정 이동은 가상 객체(11002)의 축척조정을 야기할 것이다.14Q and 14R, contact 14032 moves along the path indicated by arrow 14040, and contact 14036 moves along the path indicated by arrow 14042. 14R, the magnitude of the movement of contact 14032 away from contact 14036 exceeded the original scaling threshold (ST), but did not reach the increased scaling threshold (ST'). When an increased scaled movement threshold (ST') is applied, scaling is performed until the magnitude of the movement of contact 14032 away from contact 14036 increases beyond the increased scaled movement threshold (ST'). Since this did not occur, the size of
도 14t 및 도 14u에서, 접촉(14032)은 화살표(14048)로 표시된 경로를 따라서 이동하고, 접촉(14036)은 화살표(14050)로 표시된 경로를 따라서 이동한다. (병진 이동 측정기(14002)에 도시된 높은 워터 마크(14043)로 표시된 바와 같이) 임계치(TT)가 만족되었기 때문에, 가상 객체(11002)는 접촉들(14032, 14036)의 측방향 이동의 방향으로 자유롭게 이동한다.14T and 14U, contact 14032 moves along the path indicated by arrow 14048, and contact 14036 moves along the path indicated by arrow 14050. Because the threshold TT has been met (as indicated by the high water mark 14043 shown in the translation meter 14002), the
도 14v 및 도 14w에서, 접촉(14032)은 화살표(14052)로 표시된 경로를 따라서 이동하고, 접촉(14036)은 화살표(14054)로 표시된 경로를 따라서 이동한다. 접촉들(14032, 14036)의 이동은 병진 이동(접촉들(14032, 14036)의 좌향하는 이동) 및 축척조정 이동(접촉(14032)과 접촉(14036) 사이의 거리를 감소시키는 이동(예컨대, 핀치 제스처))을 포함한다. (병진 이동 측정기(14002)에 도시된 높은 워터 마크(14043)로 표시된 바와 같이) 병진 임계치(TT)가 만족되었기 때문에, 가상 객체(11002)는 접촉들(14032, 14036)의 측방향 이동의 방향으로 자유롭게 이동하고, (축척조정 이동 측정기(14004)에 도시된 높은 워터 마크(14047)로 표시된 바와 같이) 증가된 축척조정 임계치(ST')가 만족되었기 때문에, 가상 객체(11002)는 접촉(14036)을 향한 접촉(14032)의 이동에 응답하여 자유롭게 축척조정된다. 도 14v로부터 도 14w로, 가상 객체(11002)의 크기는 감소되었고, 가상 객체(11002)는 화살표(14052)로 표시된 경로를 따른 접촉(14032)의 이동 및 화살표(14054)로 표시된 경로를 따른 접촉(14036)의 이동에 응답하여 좌향으로 이동하였다.14V and 14W, contact 14032 moves along the path indicated by arrow 14052, and contact 14036 moves along the path indicated by arrow 14054. Movement of contacts 14032, 14036 may include translational movement (movement of contacts 14032, 14036 to the left) and scaling movement (movement that reduces the distance between contact 14032 and contact 14036 (e.g., pinch). Gestures))). Because the translation threshold (TT) has been met (as indicated by the high water mark 14043 shown in the translation meter 14002), the
도 14x 내지 도 14z에서, 접촉(14032)은 화살표(14056)로 표시된 경로를 따라 반시계 방향으로 회전 이동하고, 접촉(14036)은 화살표(14058)로 표시된 경로를 따라 반시계 방향으로 회전 이동한다. 도 14y에서, 접촉(14032) 및 접촉(14036)의 회전 이동의 크기는 원래 축척조정 임계치(RT)를 초과하였지만, 증가된 축척조정 임계치(RT')에 도달하지 않았다. 증가된 축척조정 이동 임계치(RT')가 적용되는 경우, 접촉들(14032, 14036)의 회전 이동의 크기가 증가된 회전 이동 임계치(RT')를 초과하여 증가할 때까지 가상 객체(11002)의 회전이 발생하지 않아서, 가상 객체(11002)는 도 14x로부터 도 14y로 회전하지 않았다. 도 14y 및 도 14z에서, 접촉(14032, 14046)은 접촉(14032)이 화살표(14060)로 표시된 경로를 따라서 이동하고 접촉(14036)이 화살표(14062)로 표시된 경로를 따라서 이동함에 따라 반시계 방향으로 계속 회전 이동한다. 도 14z에서, 접촉(14032) 및 접촉(14036)의 회전 이동의 크기는 증가된 축척조정 임계치(RT')를 초과하였고, 가상 객체(11002)는 입력에 응답하여 회전하였다.14X-14Z, contact 14032 rotates counterclockwise along the path indicated by arrow 14056, and contact 14036 rotates counterclockwise along the path indicated by arrow 14058. . 14Y, the magnitude of the rotational movement of contact 14032 and contact 14036 exceeded the original scale threshold (RT), but did not reach the increased scale threshold (RT'). When an increased scaled movement threshold (RT') is applied, the rotational movement of the
도 14aa 내지 도 14ad는 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키기 위한 동작들을 예시하는 흐름도들이다. 도 14aa 내지 도 14ad와 관련하여 기술된 동작들은 디스플레이 생성 컴포넌트(예컨대, 디스플레이, 프로젝터, 헤드 업 디스플레이 등) 및 터치 감응형 표면(예컨대, 터치 감응형 표면, 또는 디스플레이 생성 컴포넌트 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 도 14aa 내지 도 14ad와 관련하여 기술된 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.14AA-14A are flow diagrams illustrating operations for increasing a second threshold amount of movement required for a second object manipulation behavior, depending on a determination that the first threshold amount of movement is met for the first object manipulation behavior. The operations described with respect to FIGS. 14AA-14A may involve a display generating component (e.g., a display, a projector, a head up display, etc.) and a touch-sensitive surface (e.g., a touch-sensitive surface, or both a display generating component and a touch-sensitive surface). It is performed on an electronic device (e.g., device 300 of FIG. 3, or portable multifunction device 100 of FIG. 1A) with a touch screen display acting as both. Some of the operations described with respect to FIGS. 14AA-14A are selectively combined and/or the order of some of the operations is optionally changed.
동작(14066)에서, 하나 이상의 접촉들의 이동을 포함하는 사용자 입력의 제1 부분이 검출된다. 동작(14068)에서, (예컨대, 가상 객체(11002)에 대응하는 위치에서의) 하나 이상의 접촉들의 이동이 객체 회전 임계치(예컨대, 회전 이동 측정기(14006)에 의해 표시되는 회전 임계치(RT))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 (예컨대, 도 14b 내지 도 14d와 관련하여 기술된 바와 같이) 객체 회전 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14070)으로 진행한다. 하나 이상의 접촉들의 이동이 객체 회전 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14074)으로 진행한다.At operation 14066, a first portion of user input that includes movement of one or more contacts is detected. At operation 14068, movement of one or more contacts (e.g., at a location corresponding to virtual object 11002) determines an object rotation threshold (e.g., rotation threshold (RT) indicated by rotational movement meter 14006). It is determined whether the increase exceeds the limit. Upon determining that the movement of one or more contacts increases above the object rotation threshold (e.g., as described with respect to FIGS. 14B-14D), flow proceeds to operation 14070. Upon determining that movement of one or more contacts does not increase beyond the object rotation threshold, flow proceeds to operation 14074.
동작(14070)에서, 객체(예컨대, 가상 객체(11002))는 (예컨대, 도 14b 내지 도 14d와 관련하여 기술된 바와 같이) 사용자 입력의 제1 부분에 기초하여 회전된다. 동작(14072)에서, 객체 병진 임계치는 (예컨대, 도 14d와 관련하여 기술된 바와 같이, TT로부터 TT'으로) 증가되고, 객체 축척조정 임계치는 (예컨대, 도 14d와 관련하여 기술된 바와 같이, ST로부터 ST'으로) 증가된다. 흐름은, A에서 표시된 바와 같이, 동작(14072)으로부터 도 14ab의 동작(14086)으로 진행한다.At operation 14070, an object (e.g., virtual object 11002) is rotated based on a first portion of user input (e.g., as described with respect to FIGS. 14B-14D). In operation 14072, the object translation threshold is increased (e.g., from TT to TT', as described with respect to FIG. 14D), and the object scaling threshold is increased (e.g., as described with respect to FIG. 14D). from ST to ST') is increased. The flow proceeds from operation 14072, as indicated in A, to operation 14086 in Figure 14ab.
동작(14074)에서, (예컨대, 가상 객체(11002)에 대응하는 위치에서의) 하나 이상의 접촉들의 이동이 객체 병진 임계치(예컨대, 병진 이동 측정기(14002)에 의해 표시되는 병진 임계치(TT))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 (예컨대, 도 14k 내지 도 14m과 관련하여 기술된 바와 같이) 객체 병진 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14076)으로 진행한다. 하나 이상의 접촉들의 이동이 객체 병진 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14080)으로 진행한다.At operation 14074, movement of one or more contacts (e.g., at a location corresponding to virtual object 11002) results in an object translation threshold (e.g., translation threshold (TT) indicated by translation meter 14002). It is determined whether the increase exceeds the limit. Upon determining that the movement of one or more contacts increases beyond the object translation threshold (e.g., as described with respect to FIGS. 14K-14M), flow proceeds to operation 14076. Upon determining that movement of one or more contacts does not increase beyond the object translation threshold, flow proceeds to operation 14080.
동작(14076)에서, 객체(예컨대, 가상 객체(11002))는 (예컨대, 도 14k 내지 도 14m과 관련하여 기술된 바와 같이) 사용자 입력의 제1 부분에 기초하여 병진된다. 동작(14078)에서, 객체 회전 임계치는 (예컨대, 도 14m과 관련하여 기술된 바와 같이, RT로부터 RT'으로) 증가되고, 객체 축척조정 임계치는 (예컨대, 도 14m과 관련하여 기술된 바와 같이, ST로부터 ST'으로) 증가된다. 흐름은, B에서 표시된 바와 같이, 동작(14078)으로부터 도 14ac의 동작(14100)으로 진행한다.At operation 14076, an object (e.g., virtual object 11002) is translated based on a first portion of the user input (e.g., as described with respect to FIGS. 14K-14M). In operation 14078, the object rotation threshold is increased (e.g., from RT to RT', as described with respect to FIG. 14M) and the object scaling threshold is increased (e.g., as described with respect to FIG. 14M). from ST to ST') is increased. The flow proceeds from operation 14078, as indicated in B, to operation 14100 of Figure 14ac.
동작(14080)에서, (예컨대, 가상 객체(11002)에 대응하는 위치에서의) 하나 이상의 접촉들의 이동이 객체 축척조정 임계치(예컨대, 축척조정 이동 측정기(14004)에 의해 표시되는 축척조정 임계치(ST))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 (예컨대, 도 14g 내지 도 14i와 관련하여 기술된 바와 같이) 객체 축척조정 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14082)으로 진행한다. 하나 이상의 접촉들의 이동이 객체 축척조정 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14085)으로 진행한다.At operation 14080, movement of one or more contacts (e.g., at a location corresponding to virtual object 11002) is determined by an object scaling threshold (e.g., a scaling threshold (ST) indicated by scaling movement meter 14004. )) is determined. Upon determining that the movement of one or more contacts increases beyond the object scaling threshold (e.g., as described with respect to FIGS. 14G-14I), flow proceeds to operation 14082. Upon determining that movement of one or more contacts does not increase beyond the object scaling threshold, flow proceeds to operation 14085.
동작(14082)에서, 객체(예컨대, 가상 객체(11002))는 (예컨대, 도 14g 내지 도 14i와 관련하여 기술된 바와 같이) 사용자 입력의 제1 부분에 기초하여 축척조정된다. 동작(14084)에서, 객체 회전 임계치는 (예컨대, 도 14i와 관련하여 기술된 바와 같이, RT로부터 RT'으로) 증가되고, 객체 병진 임계치는 (예컨대, 도 14i와 관련하여 기술된 바와 같이, TT로부터 TT'으로) 증가된다. 흐름은, C에서 표시된 바와 같이, 동작(14084)으로부터 도 14ad의 동작(14114)으로 진행한다.At operation 14082, an object (e.g., virtual object 11002) is scaled based on a first portion of the user input (e.g., as described with respect to FIGS. 14G-14I). In operation 14084, the object rotation threshold is increased (e.g., from RT to RT', as described with respect to FIG. 14I), and the object translation threshold is increased (e.g., TT, as described with respect to FIG. 14I). to TT') is increased. The flow proceeds from operation 14084, as indicated in C, to operation 14114 of FIG. 14AD.
동작(14085)에서, 하나 이상의 접촉들의 이동을 포함하는 사용자 입력의 추가 부분이 검출된다. 흐름은 동작(14086)으로부터 동작(14066)으로 진행한다.At operation 14085, an additional portion of the user input that includes movement of one or more contacts is detected. The flow proceeds from operation 14086 to operation 14066.
도 14ab에서, 동작(14086)에서, 하나 이상의 접촉들의 이동을 포함하는 사용자 입력의 추가 부분이 검출된다. 흐름은 동작(14086)으로부터 동작(14088)으로 진행한다.In Figure 14ab, at operation 14086, an additional portion of user input is detected that includes movement of one or more contacts. The flow proceeds from operation 14086 to operation 14088.
동작(14088)에서, 하나 이상의 접촉들의 이동이 회전 이동인지 여부가 결정된다. 하나 이상의 접촉들의 이동이 회전 이동이라는 결정에 따라, 흐름은 동작(14090)으로 진행한다. 하나 이상의 접촉들의 이동이 회전 이동이 아니라는 결정에 따라, 흐름은 동작(14092)으로 진행한다.At operation 14088, it is determined whether the movement of the one or more contacts is a rotational movement. Upon determining that the movement of one or more contacts is a rotational movement, flow proceeds to operation 14090. Upon determining that the movement of one or more contacts is not a rotational movement, flow proceeds to operation 14092.
동작(14090)에서, 객체(예컨대, 가상 객체(11002))는 (예컨대, 도 14d 및 도 14e와 관련하여 기술된 바와 같이) 사용자 입력의 추가 부분에 기초하여 회전된다. 회전 임계치가 이전에 충족되었기 때문에, 객체는 추가 회전 입력에 따라 자유롭게 회전한다.In operation 14090, the object (e.g., virtual object 11002) is rotated based on additional portions of the user input (e.g., as described with respect to FIGS. 14D and 14E). Because the rotation threshold was previously met, the object is free to rotate upon further rotation input.
동작(14092)에서, 하나 이상의 접촉들의 이동이 증가된 객체 병진 임계치(예컨대, 도 14d의 병진 이동 측정기(14002)에 의해 표시된 병진 임계치(TT'))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 증가된 객체 병진 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14094)으로 진행한다. 하나 이상의 접촉들의 이동이 증가된 객체 병진 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14096)으로 진행한다.At operation 14092, it is determined whether the movement of one or more contacts increases beyond an increased object translation threshold (e.g., translation threshold TT' indicated by translation meter 14002 in FIG. 14D). Upon determining that the movement of one or more contacts increases beyond the increased object translation threshold, flow proceeds to operation 14094. Upon determining that movement of one or more contacts does not increase beyond the increased object translation threshold, flow proceeds to operation 14096.
동작(14094)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 병진된다.In operation 14094, an object (e.g., virtual object 11002) is translated based on additional portions of the user input.
동작(14096)에서, 하나 이상의 접촉들의 이동이 증가된 객체 축척조정 임계치(예컨대, 도 14d의 축척조정 이동 측정기(14004)에 의해 표시된 축척조정 임계치(ST'))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 증가된 객체 축척조정 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14098)으로 진행한다. 하나 이상의 접촉들의 이동이 증가된 객체 축척조정 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14086)으로 복귀한다.At operation 14096, determine whether movement of one or more contacts increases beyond an increased object scaling threshold (e.g., scaling threshold (ST') indicated by scaling movement meter 14004 in FIG. 14D). do. Upon determining that the movement of one or more contacts has increased beyond the increased object scaling threshold, flow proceeds to operation 14098. Upon determining that the movement of one or more contacts has not increased beyond the increased object scaling threshold, flow returns to operation 14086.
동작(14098)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 축척조정된다.In operation 14098, the object (e.g., virtual object 11002) is scaled based on additional portions of the user input.
도 14ac에서, 동작(14100)에서, 하나 이상의 접촉들의 이동을 포함하는 사용자 입력의 추가 부분이 검출된다. 흐름은 동작(14100)으로부터 동작(14102)으로 진행한다.14AC, in operation 14100, an additional portion of user input is detected that includes movement of one or more contacts. The flow proceeds from operation 14100 to operation 14102.
동작(14102)에서, 하나 이상의 접촉들의 이동이 병진 이동인지 여부가 결정된다. 하나 이상의 접촉들의 이동이 병진 이동이라는 결정에 따라, 흐름은 동작(140104)으로 진행한다. 하나 이상의 접촉들의 이동이 병진 이동이 아니라는 결정에 따라, 흐름은 동작(14106)으로 진행한다.At operation 14102, it is determined whether the movement of one or more contacts is a translational movement. Upon determining that the movement of one or more contacts is a translational movement, flow proceeds to operation 140104. Upon determining that the movement of one or more contacts is not a translational movement, flow proceeds to operation 14106.
동작(14104)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 병진된다. 병진 임계치가 이전에 충족되었기 때문에, 객체는 추가 병진 입력에 따라 자유롭게 병진한다.In operation 14104, an object (eg, virtual object 11002) is translated based on additional portions of the user input. Because the translation threshold was previously met, the object is free to translate upon further translation input.
동작(14106)에서, 하나 이상의 접촉들의 이동이 증가된 객체 회전 임계치(예컨대, 도 14m의 회전 이동 측정기(14006)에 의해 표시된 회전 임계치(RT'))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 증가된 객체 회전 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14108)으로 진행한다. 하나 이상의 접촉들의 이동이 증가된 객체 회전 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14110)으로 진행한다.At operation 14106, it is determined whether the movement of one or more contacts increases beyond an increased object rotation threshold (e.g., rotation threshold RT' indicated by rotational movement meter 14006 in FIG. 14M). Upon determining that the movement of one or more contacts increases beyond the increased object rotation threshold, flow proceeds to operation 14108. Upon determining that movement of one or more contacts does not increase beyond the increased object rotation threshold, flow proceeds to operation 14110.
동작(14108)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 회전된다.In operation 14108, the object (e.g., virtual object 11002) is rotated based on additional portions of the user input.
동작(14110)에서, 하나 이상의 접촉들의 이동이 증가된 객체 축척조정 임계치(예컨대, 도 14m의 축척조정 이동 측정기(14004)에 의해 표시된 축척조정 임계치(ST'))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 증가된 객체 축척조정 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14112)으로 진행한다. 하나 이상의 접촉들의 이동이 증가된 객체 축척조정 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14100)으로 복귀한다.At operation 14110, determine whether movement of one or more contacts increases beyond an increased object scaling threshold (e.g., scaling threshold ST' indicated by scaling movement meter 14004 in FIG. 14M). do. Upon determining that the movement of one or more contacts has increased beyond the increased object scaling threshold, flow proceeds to operation 14112. Upon determining that movement of one or more contacts has not increased beyond the increased object scaling threshold, flow returns to operation 14100.
동작(14112)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 축척조정된다.In operation 14112, the object (e.g., virtual object 11002) is scaled based on additional portions of the user input.
도 14ad에서, 동작(14114)에서, 하나 이상의 접촉들의 이동을 포함하는 사용자 입력의 추가 부분이 검출된다. 흐름은 동작(14114)으로부터 동작(14116)으로 진행한다.14A, at operation 14114, an additional portion of user input is detected that includes movement of one or more contacts. The flow proceeds from operation 14114 to operation 14116.
동작(14116)에서, 하나 이상의 접촉들의 이동이 축척조정 이동인지 여부가 결정된다. 하나 이상의 접촉들의 이동이 축척조정 이동이라는 결정에 따라, 흐름은 동작(140118)으로 진행한다. 하나 이상의 접촉들의 이동이 축척조정 이동이 아니라는 결정에 따라, 흐름은 동작(14120)으로 진행한다.At operation 14116, it is determined whether the movement of one or more contacts is a scaled movement. Upon determining that the movement of one or more contacts is a scaled movement, flow proceeds to operation 140118. Upon determining that the movement of one or more contacts is not a scaled movement, flow proceeds to operation 14120.
동작(14118)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 축척조정된다. 축척조정 임계치가 이전에 충족되었기 때문에, 객체는 추가 축척조정 입력에 따라 자유롭게 축척조정한다.In operation 14118, the object (e.g., virtual object 11002) is scaled based on additional portions of the user input. Because the scaling threshold has previously been met, the object is free to scale based on additional scaling input.
동작(14120)에서, 하나 이상의 접촉들의 이동이 증가된 객체 회전 임계치(예컨대, 도 14i의 회전 이동 측정기(14006)에 의해 표시된 회전 임계치(RT'))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 증가된 객체 회전 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14122)으로 진행한다. 하나 이상의 접촉들의 이동이 증가된 객체 회전 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14124)으로 진행한다.At operation 14120, it is determined whether the movement of one or more contacts increases beyond an increased object rotation threshold (e.g., rotation threshold RT' indicated by rotational movement meter 14006 in FIG. 14I). Upon determining that the movement of one or more contacts increases beyond the increased object rotation threshold, flow proceeds to operation 14122. Upon determining that movement of one or more contacts has not increased beyond the increased object rotation threshold, flow proceeds to operation 14124.
동작(14122)에서, 객체(예컨대, 가상 객체(11002))는 사용자 입력의 추가 부분에 기초하여 회전된다.In operation 14122, the object (e.g., virtual object 11002) is rotated based on additional portions of the user input.
동작(14124)에서, 하나 이상의 접촉들의 이동이 증가된 객체 병진 임계치(예컨대, 도 14i의 병진 이동 측정기(14002)에 의해 표시된 병진 임계치(TT'))를 초과하여 증가하는지 여부가 결정된다. 하나 이상의 접촉들의 이동이 증가된 객체 병진 임계치를 초과하여 증가한다는 결정에 따라, 흐름은 동작(14126)으로 진행한다. 하나 이상의 접촉들의 이동이 증가된 객체 병진 임계치를 초과하여 증가하지 않는다는 결정에 따라, 흐름은 동작(14114)으로 진행한다.At operation 14124, it is determined whether the movement of one or more contacts increases beyond an increased object translation threshold (e.g., translation threshold TT' indicated by translation meter 14002 in FIG. 14I). Upon determining that the movement of one or more contacts has increased beyond the increased object translation threshold, flow proceeds to operation 14126. Upon determining that movement of one or more contacts has not increased beyond the increased object translation threshold, flow proceeds to operation 14114.
도 15a 내지 도 15ai는 디바이스의 이동이 가상 객체로 하여금 하나 이상의 디바이스 카메라들의 디스플레이된 시야의 외측으로 이동하게 한다는 결정에 따라 오디오 경보를 생성하기 위한 예시적인 사용자 인터페이스들을 예시한다. 이들 도면의 사용자 인터페이스들은 도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f의 프로세스들을 포함하여 하기에 기술되는 프로세스들을 예시하는 데 사용된다. 용이한 설명을 위해, 실시예들의 일부는 터치 감응형 디스플레이 시스템(112)을 갖는 디바이스 상에서 수행되는 동작들을 참조하여 논의될 것이다. 이러한 실시예들에서, 포커스 선택자는, 선택적으로: 개개의 손가락 또는 스타일러스 접촉이거나, 손가락 또는 스타일러스 접촉에 대응하는 대표 지점(예컨대, 개개의 접촉의 중심, 또는 개개의 접촉과 연관된 지점)이거나, 또는 터치 감응형 디스플레이 시스템(112) 상에서 검출된 둘 이상의 접촉들의 중심이다. 그러나, 유사한 동작들이, 선택적으로, 도면에 도시된 사용자 인터페이스들을 디스플레이(450) 상에 포커스 선택자와 함께 디스플레이하면서, 터치 감응형 표면(451) 상에서의 접촉들을 검출하는 것에 응답하여 디스플레이(450) 및 별개의 터치 감응형 표면(451)을 갖는 디바이스 상에서 수행된다.15A-15AI illustrate example user interfaces for generating an audio alert upon determining that movement of the device causes a virtual object to move outside of the displayed field of view of one or more device cameras. The user interfaces in these figures are FIGS. 8A-8E, 9A-9D, 10A-10D, 16A-16G, 17A-17D, 18A-18I, 19A-19H, and FIG. It is used to illustrate the processes described below, including the processes of Figures 20A through 20F. For ease of explanation, some of the embodiments will be discussed with reference to operations performed on a device with touch-sensitive display system 112. In these embodiments, the focus selector may optionally be: an individual finger or stylus contact, a representative point corresponding to a finger or stylus contact (e.g., the center of the individual contact, or a point associated with the individual contact), or It is the center of two or more contacts detected on the touch-sensitive display system 112. However, similar operations may optionally be performed on the display 450 and the display 450 in response to detecting contacts on the touch-sensitive surface 451 while displaying the user interfaces shown in the figures with a focus selector on the display 450. Performed on a device with a separate touch-sensitive surface 451.
도 15a 내지 도 15ai는 액세스가능성 특징부가 활성일 때 발생하는 사용자 인터페이스들 및 디바이스 동작들을 예시한다. 일부 실시예들에서, 액세스가능성 특징부는 (예컨대, 전술된 입력 제스처들을 제공하는 제한된 능력을 갖는 사용자들에 대한 디바이스 특징부들에 액세스하는 것의 용이성을 증가시키기 위해) 감소된 수의 입력들 또는 대안적인 입력들이 디바이스 특징부들에 액세스하는 데 사용가능하게 하는 모드를 포함한다. 예를 들어, 액세스가능성 모드는, 제1 입력 제스처(예컨대, 스와이프 입력)가 이용가능한 디바이스 동작들을 통해 전진 또는 역진하는 데 사용되고 선택 입력(예컨대, 더블 탭 입력)이 현재 표시된 동작을 수행하는 데 사용되는 스위치 제어 모드이다. 사용자가 디바이스와 상호작용함에 따라, (예컨대, 동작이 수행되었다는 것을 나타내는 피드백을 사용자에게 제공하기, 디바이스의 하나 이상의 카메라들의 시야 또는 스테이징 사용자 인터페이스에 대한 가상 객체(11002)의 현재 디스플레이 상태를 나타내기 등을 위해) 오디오 경보들이 생성된다.15A-15AI illustrate user interfaces and device operations that occur when the accessibility feature is active. In some embodiments, an accessibility feature allows for a reduced number of inputs or alternative methods (e.g., to increase the ease of accessing device features for users with limited ability to provide the input gestures described above). Includes a mode that enables inputs to access device features. For example, an accessibility mode may be where a first input gesture (e.g., a swipe input) is used to advance or reverse through available device actions and a selection input (e.g., a double tap input) is used to perform the currently displayed action. This is the switch control mode used. As the user interacts with the device, (e.g., providing the user with feedback indicating that an action was performed, indicating the current display state of the
도 15a에서, 메시징 사용자 인터페이스(5008)는 3차원 가상 객체(11002)의 2차원 표현을 포함한다. 선택 커서(15001)가 (예컨대, 현재 선택된 동작이 가상 객체(11002)에 대해 수행될 동작이라는 것을 나타내기 위해) 3차원 가상 객체(11002)를 둘러싸서 도시되어 있다. 접촉(15002)에 의한 입력(예컨대, 더블 탭 입력)이 (예컨대, 스테이징 사용자 인터페이스(6010) 내에 가상 객체(11002)의 3차원 표현을 디스플레이하는) 현재 표시된 동작을 수행하기 위해 검출된다. 입력에 응답하여, 메시징 사용자 인터페이스(5060)의 디스플레이는, 도 15b에 도시된 바와 같이, 스테이징 사용자 인터페이스(6010)의 디스플레이로 대체된다.15A, messaging user interface 5008 includes a two-dimensional representation of a three-dimensional
도 15b에서, 가상 객체(11002)가 스테이징 사용자 인터페이스(6010) 내에 디스플레이된다. 디바이스의 상태를 나타내기 위해, 15008로 표시된 바와 같이, 오디오 경보가 (예컨대, 디바이스 스피커(111)에 의해) 생성된다. 예를 들어, 오디오 경보(15008)는 15010으로 나타낸 바와 같은 알림, "chair is now shown in the staging view(의자가 이제 스테이징 뷰 내에 보입니다)"를 포함한다.In Figure 15B,
도 15b에서, 선택 커서(15001)가 (예컨대, 현재 선택된 동작이 공유 동작이라는 것을 나타내기 위해) 공유 제어부(6020)를 둘러싸서 도시되어 있다. 접촉(15004)에 의한 입력(예컨대, 화살표(15006)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In Figure 15B, a selection cursor 15001 is shown surrounding the sharing control 6020 (e.g., to indicate that the currently selected action is a shared action). Input by contact 15004 (e.g., a right swipe along the path indicated by arrow 15006) is detected. In response to input, the selected action is advanced to the next action.
도 15c에서, 틸트 업(tilt up) 제어부(15012)가 (예컨대, 현재 선택된 동작이 디스플레이된 가상 객체(11002)를 상향으로 기울이기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보가 디바이스의 상태를 나타내기 위해, 15014로 표시된 바와 같이, 생성된다. 예를 들어, 오디오 경보는 15016으로 나타낸 바와 같은 알림, "selected: tilt up button(선택된 것: 틸트 업 버튼)"을 포함한다. 접촉(15018)에 의한 입력(예컨대, 화살표(15020)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In FIG. 15C , a tilt up control 15012 is displayed (e.g., to indicate that the currently selected operation is an operation to tilt the displayed
도 15d에서, 틸트 다운(tilt down) 제어부(15022)가 (예컨대, 현재 선택된 동작이 디스플레이된 가상 객체(11002)를 하향으로 기울이기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보가 디바이스의 상태를 나타내기 위해, 15024로 표시된 바와 같이, 생성된다. 예를 들어, 오디오 경보는 15026으로 나타낸 바와 같은 알림, "selected: tilt down button(선택된 것: 틸트 다운 버튼)"을 포함한다. 접촉(15028)에 의한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력에 응답하여, 선택된 동작이 수행된다(예컨대, 가상 객체(11002)는 스테이징 뷰 내에서 하향으로 기울어진다).In FIG. 15D , a tilt down control 15022 is displayed (e.g., to indicate that the currently selected action is an action to tilt the displayed
도 15e에서, 가상 객체(11002)는 스테이징 뷰 내에서 하향으로 기울어져 있다. 오디오 경보가 디바이스의 상태를 나타내기 위해, 15030으로 표시된 바와 같이, 생성된다. 예를 들어, 오디오 경보는 15032로 나타낸 바와 같은 알림, "Chair tilted five degrees down. Chair is now tilted 10 degrees toward the screen(의자가 아래로 5도 기울었습니다. 의자가 이제 스크린을 향해 10도 기울어집니다)"를 포함한다.In Figure 15E,
도 15f에서, 접촉(15034)에 의한 입력(예컨대, 화살표(15036)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In Figure 15F, input by contact 15034 (e.g., a right swipe along the path indicated by arrow 15036) is detected. In response to input, the selected action is advanced to the next action.
도 15g에서, 시계방향 회전 제어부(15038)가 (예컨대, 현재 선택된 동작이 디스플레이된 가상 객체(11002)를 시계방향으로 회전시키기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15040)는 15042로 나타낸 바와 같은 알림, "selected: rotate clockwise button(선택된 것: 시계방향 회전 버튼)"을 포함한다. 접촉(15044)에 의한 입력(예컨대, 화살표(15046)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In FIG. 15G , a clockwise rotation control 15038 is displayed (e.g., to indicate that the currently selected action is an action for rotating the displayed
도 15h에서, 반시계방향 회전 제어부(15048)가 (예컨대, 현재 선택된 동작이 디스플레이된 가상 객체(11002)를 반시계방향으로 회전시키기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15050)는 15052로 나타낸 바와 같은 알림, "selected: rotate counterclockwise button(선택된 것: 반시계방향 회전 버튼)"을 포함한다. 접촉(15054)에 의한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력에 응답하여, 선택된 동작이 수행된다(예컨대, 가상 객체(11002)는, 도 15i에 나타낸 바와 같이, 스테이징 뷰 내에서 반시계방향으로 회전된다).In FIG. 15H, a counterclockwise rotation control unit 15048 is displayed (e.g., to indicate that the currently selected operation is an operation to rotate the displayed
도 15i에서, 오디오 경보(15056)는 15058로 나타낸 바와 같은 알림, "Chair rotated by five degrees counterclockwise. Chair is now rotated five degrees away the screen(의자가 반시계방향으로 5도 회전하였습니다. 의자가 이제 스크린에서 멀어지게 5도 회전됩니다)"를 포함한다.In FIG. 15I, audio alert 15056 is a notification as indicated by 15058, “Chair rotated by five degrees counterclockwise. Chair is now rotated five degrees away the screen. is rotated 5 degrees away from)".
도 15j에서, 접촉(15060)에 의한 입력(예컨대, 화살표(15062)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In Figure 15J, input by contact 15060 (e.g., a right swipe along the path indicated by arrow 15062) is detected. In response to input, the selected action is advanced to the next action.
도 15k에서, 줌 제어부(15064)가 (예컨대, 현재 선택된 동작이 디스플레이된 가상 객체(11002)를 줌하기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15066)는 15068로 나타낸 바와 같은 알림, "scale: adjustable(축척: 조정가능)"을 포함한다. 알림 내의 제어부 이름과 함께 키워드 "adjustable(조정가능)"은 스와이프 입력(예컨대, 수직 스와이프 입력)이 제어부를 동작시키는 데 사용가능하다는 것을 나타낸다. 예를 들어, 상향 스와이프 입력은 접촉(5070)에 의해 그가 화살표(5072)로 표시된 경로를 따라서 상향으로 이동함에 따라 제공된다. 입력에 응답하여, 줌 동작이 수행된다(예컨대, 도 15k 및 도 15l에 나타낸 바와 같이, 가상 객체(11002)의 크기가 증가된다).In Figure 15K, a zoom control 15064 is displayed (e.g., to indicate that the currently selected operation is an operation to zoom the displayed virtual object 11002). Audio alert 15066 includes the notification, “scale: adjustable,” as indicated by 15068. The keyword “adjustable” along with the control name in the notification indicates that swipe input (e.g., vertical swipe input) is available to operate the control. For example, an upward swipe input is provided by contact 5070 as he moves upward along the path indicated by arrow 5072. In response to the input, a zoom operation is performed (e.g., the size of
도 15l에서, 오디오 경보(15074)는 15076으로 나타낸 바와 같은 알림, "Chair is now adjusted to 150 percent of original size(의자가 이제 원래 크기의 150 퍼센트로 조정됩니다)"를 포함한다. 가상 객체(11002)의 크기를 감소시키기 위한 입력(예컨대, 하향 스와이프 입력)은 화살표(5078)로 표시된 경로를 따라서 하향으로 이동하는 접촉(5078)에 의해 제공된다. 입력에 응답하여, 줌 동작이 수행된다(예컨대, 도 15l 및 도 15m에 나타낸 바와 같이, 가상 객체(11002)의 크기가 감소된다).In Figure 15L, audio alert 15074 includes the notification indicated by 15076, “Chair is now adjusted to 150 percent of original size.” Input to decrease the size of virtual object 11002 (e.g., a downward swipe input) is provided by contact 5078 moving downward along the path indicated by arrow 5078. In response to the input, a zoom operation is performed (e.g., the size of
도 15m에서, 오디오 경보(15082)는 15084로 나타낸 바와 같은 알림, "Chair is now adjusted to 100 percent of original size(의자가 이제 원래 크기의 100 퍼센트로 조정됩니다)"를 포함한다. 가상 객체(11002)의 크기가 스테이징 뷰(6010) 내에서 그의 원래 디스플레이된 크기로 조정되기 때문에, (15086으로 예시된 바와 같은) 촉각적 출력이 (예컨대, 가상 객체(11002)가 그의 원래 크기로 복귀되었다는 것을 나타내는 피드백을 제공하기 위해) 발생한다.15M, audio alert 15082 includes the notification indicated by 15084, “Chair is now adjusted to 100 percent of original size.” Because the size of
도 15n에서, 접촉(15088)에 의한 입력(예컨대, 화살표(15090)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In Figure 15N, input by contact 15088 (e.g., a right swipe along the path indicated by arrow 15090) is detected. In response to input, the selected action is advanced to the next action.
도 15o에서, 선택 커서(15001)가 (예컨대, 현재 선택된 동작이 이전 사용자 인터페이스로 복귀하기 위한 동작이라는 것을 나타내기 위해) 뒤로 가기 제어부(6016)를 둘러싸서 도시되어 있다. 오디오 경보(15092)는 15094로 나타낸 바와 같은 알림, "selected: return button(선택된 것: 복귀 버튼)"을 포함한다. 접촉(15096)에 의한 입력(예컨대, 화살표(15098)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In Figure 15O, a selection cursor 15001 is shown surrounding the back control 6016 (e.g., to indicate that the currently selected action is an action to return to the previous user interface). Audio alert 15092 includes the notification as indicated by 15094, “selected: return button.” Input by contact 15096 (e.g., a right swipe along the path indicated by arrow 15098) is detected. In response to input, the selected action is advanced to the next action.
도 15p에서, 선택 커서(15001)가 (예컨대, 현재 선택된 동작이 스테이징 사용자 인터페이스(6010)의 디스플레이와 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스의 디스플레이 사이에서 토글링하기 위한 동작이라는 것을 나타내기 위해) 토글 제어부(6018)를 둘러싸서 도시되어 있다. 오디오 경보(15098)는 50100으로 나타낸 바와 같은 알림, "selected: world view/staging view toggle(선택된 것: 실세계 뷰/스테이징 뷰 토글)"을 포함한다. 접촉(15102)에 의한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력에 응답하여, 스테이징 사용자 인터페이스(6010)의 디스플레이는 (도 15q에 나타낸 바와 같이) 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스의 디스플레이로 대체된다.15P, selection cursor 15001 indicates that the currently selected action is to toggle between the display of the staging user interface 6010 and the display of the user interface including the camera(s) field of
도 15q 내지 도 15t는 (예컨대, 가상 객체(11002)에 대응하는 평면이 카메라(들)의 시야(6036) 내에서 아직 검출되지 않았기 때문에) 카메라(들)의 시야(6036)가 디스플레이된 경우에 발생하는 캘리브레이션 시퀀스를 예시한다. 캘리브레이션 시퀀스 동안, 가상 객체(11002)의 반투명 표현이 디스플레이되고, 카메라(들)의 시야(6036)가 블러링되고, (디바이스(100)의 표현(12004) 및 평면의 표현(12010)을 포함하는) 애니메이션화된 이미지를 포함하는 프롬프트가 디스플레이되어 사용자에게 디바이스를 이동시킬 것을 촉구한다. 도 15q에서, 오디오 경보(15102)는 50104로 나타낸 바와 같은 알림, "move the device to detect a plane(평면을 검출하기 위해 디바이스를 이동시키세요)"를 포함한다. 도 15q로부터 도 15r로, 디바이스(100)는 (예컨대, 카메라(들)의 시야(6036) 내의 테이블(5004)의 변경된 위치에 의해 나타낸 바와 같이) 물리적 환경(5002)에 대해 이동된다. 디바이스(100)의 이동의 검출의 결과로서, 캘리브레이션 사용자 인터페이스 객체(12014)가, 도 15s에 나타낸 바와 같이, 디스플레이된다.15Q-15T show the case where the camera(s)' field of
도 15s에서, 오디오 경보(15106)는 50108로 나타낸 바와 같은 알림, "move the device to detect a plane"를 포함한다. 도 15s 및 도 15t에서, 캘리브레이션 사용자 인터페이스 객체(12014)는 디바이스(100)가 (예컨대, 카메라(들)의 시야(6036) 내의 테이블(5004)의 변경된 위치에 의해 나타낸 바와 같이) 물리적 환경(5002)에 대해 이동됨에 따라 회전한다. 도 15t에서, 카메라(들)의 시야(6036) 내에서 검출될 가상 객체(11002)에 대응하는 평면에 대해 충분한 모션이 발생했고, 오디오 경보(15110)는 50112로 나타낸 바와 같은 알림, "plane detected(평면이 검출)"을 포함한다. 도 15u 및 도 15v에서, 가상 객체(11002)의 반투명도가 감소되고, 가상 객체(11002)가 검출된 평면 상에 배치된다.In Figure 15S, audio alert 15106 includes an alert, as indicated by 50108, “move the device to detect a plane.” 15S and 15T, calibration user interface object 12014 allows device 100 to adjust to the physical environment 5002 (e.g., as indicated by the changed position of table 5004 within the field of
도 15v에서, 오디오 경보(15114)는 50116으로 나타낸 바와 같은 알림, "chair is now projected in the world, 100 percent visible, occupying 10 percent of the screen(의자가 이제 실세계에 투영되는데, 100 퍼센트 가시적이고, 스크린의 10 퍼센트를 차지합니다)"를 포함한다. 촉각적 출력 생성기들은 가상 객체(11002)가 평면 상에 배치되었다는 것을 나타내기 위해 (15118로 예시된 바와 같은) 촉각적 출력을 출력한다. 가상 객체(11002)는 물리적 환경(5002)에 대해 고정된 위치에 디스플레이된다.15V, audio alert 15114 is an alert, as indicated by 50116, “chair is now projected in the world, 100 percent visible, occupying 10 percent of the screen. occupies 10 percent of the screen)”. The tactile output generators output a tactile output (as illustrated by 15118) to indicate that the
도 15v 및 도 15w에서, 디바이스(100)는 가상 객체(11002)가 카메라(들)의 시야(6036) 내에서 더 이상 가시적이지 않도록 (예컨대, 카메라(들)의 시야(6036) 내의 테이블(5004)의 변경된 위치에 의해 나타낸 바와 같이) 물리적 환경(5002)에 대해 이동된다. 카메라(들)의 시야(6036) 밖으로의 가상 객체(11002)의 이동의 결과로서, 오디오 경보(15122)는 50124로 나타낸 바와 같은 알림, "chair is not on the screen(의자가 스크린 상에 있지 않습니다)"를 포함한다.15V and 15W, device 100 displays table 5004 within the field of
도 15w 및 도 15x에서, 디바이스(100)는 가상 객체(11002)가 도 15x의 카메라(들)의 시야(6036) 내에서 다시 가시적이도록 물리적 환경(5002)에 대해 이동하였다. 카메라(들)의 시야(6036) 내로의 가상 객체(11002)의 이동의 결과로서, 50120으로 나타낸 바와 같은 알림, "chair is now projected in the world, 100 percent visible, occupying 10 percent of the screen"을 포함하는 오디오 경보(15118)가 생성된다.15W and 15X, device 100 has moved relative to the physical environment 5002 such that
도 15x 및 도 15y에서, 디바이스(100)는 (예컨대, 디바이스(100)가 카메라(들)의 시야(6036)에 투영되는 바와 같이 가상 객체(11002)에 "더 가깝"도록, 그리고 가상 객체(11002)가 도 15y의 카메라(들)의 시야(6036) 내에서 부분적으로 가시적이도록) 물리적 환경(5002)에 대해 이동하였다. 부분적으로 카메라(들)의 시야(6036) 밖으로의 가상 객체(11002)의 이동의 결과로서, 오디오 경보(15126)는 50128로 나타낸 바와 같은 알림, "chair is 90 percent visible, occupying 20 percent of the screen(의자가 90 퍼센트 가시적이고, 스크린의 20 퍼센트를 차지합니다)"를 포함한다.15X and 15Y, device 100 is “closer” to virtual object 11002 (e.g., as device 100 is projected into the field of
일부 실시예들에서, 가상 객체(11002)에 대응하는 위치에 제공된 입력은 가상 객체(11002)에 관한 구두 정보를 포함하는 오디오 메시지가 제공되게 한다. 대조적으로, 입력이 가상 객체(11002) 및 제어부들로부터 멀리 있는 위치에 제공될 때, 가상 객체(11002)에 관한 구두 정보를 포함하는 오디오 메시지는 제공되지 않는다. 도 15z에서, 사용자 인터페이스 내의 제어부 또는 가상 객체(11002)의 위치에 대응하지 않는 위치에서 접촉(15132)이 검출되는 것을 나타내기 위해 오디오 출력(15130)(예컨대, "클릭" 또는 "버즈")이 발생한다. 도 15aa에서, 접촉(15134)에 의한 입력이 가상 객체(11002)의 위치에 대응하는 위치에서 검출된다. 입력에 응답하여, 50138로 나타낸 바와 같은 알림, "chair is 90 percent visible, occupying 20 percent of the screen"을 포함하는 (예컨대, 가상 객체(11002)의 상태를 나타내는) 가상 객체(11002)에 대응하는 오디오 경보(15136)가 생성된다.In some embodiments, input provided at a location corresponding to
도 15ab 내지 도 15ai는 카메라(들)의 시야(6036)를 포함하는 사용자 인터페이스가 디스플레이되는 동안 스위치 제어 모드에서 동작들의 선택 및 수행을 위한 입력을 예시한다.Figures 15ab-15ai illustrate inputs for selecting and performing actions in switch control mode while a user interface including a field of
도 15ab에서, 접촉(15140)에 의한 입력(예컨대, 화살표(15142)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 도 15ac에 나타낸 바와 같이, 동작이 선택된다.In Figure 15ab, input by contact 15140 (e.g., a right swipe along the path indicated by arrow 15142) is detected. In response to the input, an action is selected, as shown in Figure 15ac.
도 15ac에서, 우향하는 측방향 이동 제어부(15144)가 (예컨대, 현재 선택된 동작이 가상 객체(11002)를 우측으로 이동시키기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15146)는 15148로 나타낸 바와 같은 알림, "selected: move right button(선택된 것: 우측 이동 버튼)"을 포함한다. 접촉(15150)에 의한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력에 응답하여, 선택된 동작이 수행된다(예컨대, 가상 객체(11002)는, 도 15ad에 나타낸 바와 같이, 카메라(들)의 시야(6036) 내에서 우측으로 이동된다).In Figure 15ac, a rightward lateral movement control 15144 is displayed (e.g., to indicate that the currently selected action is an action to move
도 15ad에서, 가상 객체(11002)의 이동은 15154로 나타낸 바와 같은 알림, "chair is 100 percent visible, occupying 30 percent of the screen(의자가 100 퍼센트 가시적이고, 스크린의 30 퍼센트를 차지합니다)"를 포함하는 오디오 경보(15152)에 의해 보고된다.In Figure 15ad, the movement of
도 15ae에서, 접촉(15156)에 의한 입력(예컨대, 화살표(15158)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In Figure 15ae, input by contact 15156 (e.g., a right swipe along the path indicated by arrow 15158) is detected. In response to input, the selected action is advanced to the next action.
도 15af에서, 좌향하는 측방향 이동 제어부(15160)가 (예컨대, 현재 선택된 동작이 가상 객체(11002)를 좌측으로 이동시키기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15162)는 15164로 나타낸 바와 같은 알림, "selected: move left(선택된 것: 좌측 이동)"을 포함한다. 접촉(15166)에 의한 입력(예컨대, 화살표(15168)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In FIG. 15AF , a leftward lateral movement control 15160 is displayed (e.g., to indicate that the currently selected action is an action to move
도 15ag에서, 시계방향 회전 제어부(15170)가 (예컨대, 현재 선택된 동작이 가상 객체(11002)를 시계방향으로 회전시키기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15172)는 15174로 나타낸 바와 같은 알림, "selected: rotate clockwise(선택된 것: 시계방향 회전)"을 포함한다. 접촉(15176)에 의한 입력(예컨대, 화살표(15178)로 표시된 경로를 따른 우향하는 스와이프)이 검출된다. 입력에 응답하여, 선택된 동작은 다음 동작으로 전진된다.In Figure 15ag, a clockwise rotation control 15170 is displayed (e.g., to indicate that the currently selected action is an action for rotating the
도 15ah에서, 반시계방향 회전 제어부(15180)가 (예컨대, 현재 선택된 동작이 가상 객체(11002)를 시계방향으로 회전시키기 위한 동작인 것을 나타내기 위해) 디스플레이된다. 오디오 경보(15182)는 15184로 나타낸 바와 같은 알림, "selected: rotate counterclockwise(선택된 것: 반시계방향 회전)"을 포함한다. 접촉(15186)에 의한 입력(예컨대, 더블 탭 입력)이 검출된다. 입력에 응답하여, 선택된 동작이 수행된다(예컨대, 가상 객체(11002)는, 도 15ai에 나타낸 바와 같이, 반시계방향으로 회전된다).In FIG. 15Ah, a counterclockwise rotation control 15180 is displayed (e.g., to indicate that the currently selected operation is an operation to rotate the
도 15ai에서, 오디오 경보(15190)는 15164로 나타낸 바와 같은 알림, "Chair rotated by five degrees counterclockwise. Chair is now rotated by zero degrees relative to the screen(의자가 반시계방향으로 5도 회전하였습니다. 의자가 이제 스크린에 대해 0도 회전됩니다)"를 포함한다.In Figure 15ai, audio alert 15190 is a notification as indicated by 15164, "Chair rotated by five degrees counterclockwise. Chair is now rotated by zero degrees relative to the screen. It is now rotated 0 degrees relative to the screen)".
일부 실시예들에서, 반사상(reflection)이 객체(예컨대, 가상 객체(11002))의 적어도 하나의 표면(예컨대, 하부 표면) 상에 생성된다. 반사상은 디바이스(100)의 하나 이상의 카메라들에 의해 캡처되는 이미지 데이터를 사용하여 생성된다. 예를 들어, 반사상은 하나 이상의 카메라들의 시야(6036) 내에서 검출되는 수평 평면(예컨대, 바닥 평면(5038))에 대응하는 캡처된 이미지 데이터(예컨대, 이미지, 한 세트의 이미지들, 및/또는 비디오)의 적어도 일부분에 기초한다. 일부 실시예들에서, 반사상을 생성하는 것은 (예컨대, 캡처된 이미지 데이터를 가상 구체의 모델 상으로 맵핑함으로써) 캡처된 이미지 데이터를 포함하는 구형 모델을 생성하는 것을 포함한다.In some embodiments, a reflection is created on at least one surface (eg, bottom surface) of the object (eg, virtual object 11002). The reflection is created using image data captured by one or more cameras of device 100. For example, a reflection may be captured image data (e.g., an image, a set of images, and/or video). In some embodiments, generating a reflection includes creating a spherical model that includes the captured image data (eg, by mapping the captured image data onto a model of a virtual sphere).
일부 실시예들에서, 객체의 표면 상에 생성된 반사상은 (예컨대, 평면에 더 가까운 표면의 일부분이 평면으로부터 더 멀리 있는 표면의 일부분보다 더 높은 크기의 반사율을 갖도록) 반사 구배를 포함한다. 일부 실시예들에서, 객체의 표면 상에 생성된 반사상의 반사율의 크기는 표면에 대응하는 텍스처의 반사율 값에 기초한다. 예를 들어, 표면의 비반사 부분에서는 반사상이 생성되지 않는다.In some embodiments, the reflection created on the surface of the object includes a reflection gradient (eg, such that portions of the surface closer to the plane have a higher magnitude of reflectivity than portions of the surface farther from the plane). In some embodiments, the magnitude of the reflectivity of a reflection created on the surface of an object is based on the reflectance value of a texture corresponding to the surface. For example, no reflected images are created in non-reflective parts of the surface.
일부 실시예들에서, 반사상은 시간 경과에 따라 조정된다. 예를 들어, 반사상은 객체를 이동시키고/시키거나 축척조정하기 위한 입력이 수신됨에 따라 조정된다(예컨대, 객체가 이동함에 따라, 객체의 반사상은 객체에 대응하는 위치에 있는 평면의 일부분을 반영하도록 조정된다). 일부 실시예들에서, 반사상은 객체가 (예컨대, z-축을 중심으로) 회전될 때 조정되지 않는다.In some embodiments, the reflection is adjusted over time. For example, the reflection is adjusted as input is received to move and/or scale the object (e.g., as an object moves, the reflection of the object reflects the portion of the plane at the corresponding location for the object). adjusted). In some embodiments, the reflection is not adjusted when the object is rotated (eg, about the z-axis).
일부 실시예들에서, (예컨대, 객체에 대응하는 카메라(들)의 시야(6036) 내에서 검출되는 평면 상의) 결정된 위치에 객체를 디스플레이하기 전에, 객체의 표면 상에는 반사상이 생성되지 않는다. 예를 들어, 객체의 반투명 표현이 (예컨대, 도 11g 및 도 11h와 관련하여 기술된 바와 같이) 디스플레이될 때 그리고/또는 캘리브레이션이 (예컨대, 도 12b 내지 도 12i와 관련하여 기술된 바와 같이) 수행되고 있을 때 객체의 표면 상에는 반사상이 생성되지 않는다.In some embodiments, no reflection is created on the surface of the object prior to displaying the object at a determined location (e.g., on a plane detected within the field of
일부 실시예들에서, 객체의 반사상은 카메라(들)의 시야(6036) 내에서 검출되는 하나 이상의 평면들 상에 생성된다. 일부 실시예들에서, 객체의 반사상은 카메라(들)의 시야(6036) 내에서 생성되지 않는다.In some embodiments, a reflection of an object is created on one or more planes detected within the field of
도 16a 내지 도 16g는 객체 배치 기준들이 충족되는지 여부에 따라 상이한 시각적 속성들을 사용하여 하나 이상의 카메라들의 시야를 포함하는 사용자 인터페이스 내에 가상 객체를 디스플레이하는 방법(16000)을 예시하는 흐름도들이다. 방법(16000)은 디스플레이 생성 컴포넌트(예컨대, 디스플레이, 프로젝터, 헤드 업 디스플레이 등), 하나 이상의 입력 디바이스들(예컨대, 터치 감응형 표면, 또는 디스플레이 생성 컴포넌트 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이), 및 하나 이상의 카메라들(예컨대, 디스플레이 및 터치 감응형 표면과 반대편인 디바이스의 면 상의 하나 이상의 후방 카메라들)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고, 터치 감응형 표면은 디스플레이 상에 있거나 그와 통합된다. 일부 실시예들에서, 디스플레이는 터치 감응형 표면과는 별개이다. 방법(16000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.Figures 16A-16G are flow diagrams illustrating a method 16000 of displaying a virtual object within a user interface that includes the field of view of one or more cameras using different visual properties depending on whether object placement criteria are met. Method 16000 includes a display generating component (e.g., a display, projector, head up display, etc.), one or more input devices (e.g., a touch sensitive surface, or a touch device that serves as both a display generating component and a touch sensitive surface). screen display), and one or more cameras (e.g., one or more rear-facing cameras on the side of the device opposite the display and the touch-sensitive surface) (e.g., device 300 in FIG. 3 or FIG. 1A It is performed in a portable multi-function device 100). In some embodiments, the display is a touch screen display and the touch-sensitive surface is on or integrated with the display. In some embodiments, the display is separate from the touch-sensitive surface. Some of the operations in method 16000 are selectively combined and/or the order of some of the operations is optionally varied.
디바이스는 (예컨대, 가상 객체의 이동가능 표현을 포함하는 스테이징 사용자 인터페이스가 디스플레이되는 동안, 그리고 카메라들의 시야가 디스플레이되기 전에) 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하는 제1 사용자 인터페이스 영역(예컨대, 증강 현실 관찰자 인터페이스) 내에 가상 객체(예컨대, 3차원 모델의 표현)를 디스플레이하라는 요청을 수신한다(16002)(예컨대, 요청은 터치 스크린 디스플레이 상의 가상 객체의 표현 상에서 검출되는 접촉에 의한 입력이거나, 접촉은 가상 객체의 표현과 동시에 디스플레이되는 그리고 제1 접촉에 의해 호출될 때 AR 뷰의 디스플레이를 트리거하도록 구성되는 어포던스 상에서 검출된다(예컨대, "AR view" 또는 "world view" 버튼 상에서의 탭)). 예를 들어, 요청은, 도 11f와 관련하여 기술된 바와 같이, 하나 이상의 카메라들의 시야(6036) 내에 가상 객체(11002)를 디스플레이하기 위한 입력이다.The device displays a first user interface area (e.g., while a staging user interface containing a movable representation of a virtual object is displayed and before the cameras' field of view is displayed) that includes at least a portion of the field of view of one or more cameras. Receive 16002 a request to display a virtual object (e.g., a representation of a three-dimensional model) within an augmented reality viewer interface (e.g., the request is an input by a contact detected on a representation of the virtual object on a touch screen display, or a contact is detected on an affordance that is displayed simultaneously with the representation of the virtual object and is configured to trigger display of the AR view when invoked by a first contact (eg, a tap on the “AR view” or “world view” button). For example, the request is an input to display a
제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청(예컨대, 디바이스 주위의 물리적 환경의 뷰에 가상 객체를 디스플레이하라는 요청)에 응답하여, 디바이스는, 디스플레이 생성 컴포넌트를 통해, 제1 사용자 인터페이스 영역에 포함되는 하나 이상의 카메라들의 시야의 적어도 일부분 위에 가상 객체의 표현을 디스플레이하는데(예컨대, 하나 이상의 카메라들의 시야는 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청에 응답하여 디스플레이됨), 하나 이상의 카메라들의 시야는 하나 이상의 카메라들이 위치되는 물리적 환경의 뷰이다(16004). 예를 들어, 도 11g와 관련하여 기술된 바와 같이, 가상 객체(11002)는 하나 이상의 카메라들이 위치되는 물리적 환경(5002)의 뷰인 하나 이상의 카메라들의 시야(6036) 내에 디스플레이된다. 가상 객체의 표현을 디스플레이하는 것은, 객체 배치 기준들이 충족되지 않는다는 결정에 따라 - 객체 배치 기준들은 객체 배치 기준들이 충족되기 위해 가상 객체에 대한 배치 위치(예컨대, 평면)가 하나 이상의 카메라들의 시야 내에서 식별될 것을 요구함(예컨대, 객체 배치 기준들은, 디바이스가 제1 사용자 인터페이스 영역 내의 하나 이상의 카메라들의 시야에 대해 가상 객체를 배치하기 위한 위치 또는 평면을 식별하지 않았을 때 충족되지 않음(예컨대, 평면 식별은 여전히 진행 중이거나, 또는 평면을 식별하기에 충분한 이미지 데이터가 없음)) -, 제1 세트의 시각적 속성들로(예컨대, 제1 반투명 레벨, 또는 제1 밝기 레벨, 또는 제1 채도 레벨, 등으로) 그리고 물리적 환경의 어느 부분이 하나 이상의 카메라들의 시야 내에 디스플레이되는지와 독립적인 제1 배향으로 가상 객체의 표현을 디스플레이하는 것을 포함한다(예컨대, 가상 객체는 물리적 환경에 독립적인 미리정의된 평면에 대한 배향(예컨대, 스테이징 뷰 내에 설정된 배향)으로 그리고 카메라의 시야에서 발생하는 변경(예컨대, 물리적 환경에 대한 디바이스의 이동으로 인한 변경)과 독립적인 배향으로 카메라들의 시야 위에서 부유한다). 예를 들어, 도 11g 및 도 11h에서, 가상 객체(11002)에 대한 배치 위치가 카메라들의 시야(6036) 내에서 식별되지 않았기 때문에, 가상 객체(11002)의 반투명 형태가 디스플레이된다. 디바이스가 (도 11g로부터 도 11h로 도시된 바와 같이) 이동함에 따라, 가상 객체(11002)의 배향은 변경되지 않는다. 일부 실시예들에서, 객체 배치 기준들은 시야가 안정적이고 물리적 환경의 정지 뷰를 제공한다는 요건을 포함한다(예컨대, 카메라는 적어도 임계 시간 동안 임계량 미만으로 이동하고/하거나, 요청이 수신된 이후로 적어도 미리결정된 시간이 경과하였고/하였거나, 카메라는 디바이스의 충분한 이전 이동으로 평면 검출을 위해 캘리브레이션되었다). 객체 배치 기준들이 충족된다는 결정에 따라(예컨대, 객체 배치 기준들은, 디바이스가 제1 사용자 인터페이스 영역 내의 하나 이상의 카메라들의 시야에 대해 가상 객체를 배치하기 위한 위치 또는 평면을 식별하지 않았을 때 충족됨), 디바이스는 제1 세트의 시각적 속성들과 구별되는 제2 세트의 시각적 속성들로(예컨대, 제2 반투명 레벨, 또는 제2 밝기 레벨, 또는 제2 채도 레벨 등으로) 그리고 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 대응하는 제2 배향으로 가상 객체의 표현을 디스플레이한다. 예를 들어, 도 11i에서, 가상 객체(11002)에 대한 배치 위치(예컨대, 물리적 환경(5002) 내의 바닥 표면(5038)에 대응하는 평면)가 카메라들의 시야(6036) 내에서 식별되었기 때문에, 가상 객체(11002)의 반투명이 아닌 형태가 디스플레이된다. 가상 객체(11002)의 배향(예컨대, 터치 스크린 디스플레이(112) 상의 위치)은 도 11h에 도시된 제1 배향으로부터 도 11i에 도시된 제2 배향으로 변경되었다. 디바이스가 (도 11i로부터 도 11j로 도시된 바와 같이) 이동함에 따라, 가상 객체(11002)의 배향은 (가상 객체(11002)가 이제 물리적 환경(5002)에 대해 고정된 배향으로 디스플레이되기 때문에) 변경된다. 객체 배치 기준들이 충족되는지 여부에 따라, 제1 세트의 시각적 속성들 또는 제2 세트의 시각적 속성들로 가상 객체를 디스플레이하는 것은 (예컨대, 가상 객체를 디스플레이하라는 요청이 수신되었지만, 가상 객체를 하나 이상의 카메라들의 시야 내에 배치하기 위해 추가 시간 및/또는 캘리브레이션 정보가 필요하다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 평면에 대응하는 제2 배향으로의 객체의 배치 전에 사용자가 적절한 입력들을 제공하도록 그리고 가상 객체를 조작하기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In response to a request to display a virtual object within a first user interface area (e.g., a request to display a virtual object in a view of the physical environment around the device), the device, via a display creation component, includes in the first user interface area displaying a representation of a virtual object over at least a portion of the field of view of one or more cameras (e.g., the field of view of one or more cameras is displayed in response to a request to display a virtual object within a first user interface area), is a view of the physical environment in which one or more cameras are located (16004). For example, as described with respect to FIG. 11G,
일부 실시예들에서, 디바이스는 가상 객체의 표현이 제1 세트의 시각적 속성들 및 제1 배향으로 디스플레이되는 동안 객체 배치 기준들이 충족되는 것을 검출한다(16006)(예컨대, 가상 객체를 배치하기 위한 평면은 가상 객체가 디바이스 주위의 물리적 환경의 뷰 위에 반투명 상태로 현수되는 동안 식별된다). 객체 배치 기준들의 검출을 개시하기 위한 추가 사용자 입력을 요구하지 않으면서, 가상 객체가 제1 세트의 시각적 속성들로 (예컨대, 반투명 상태로) 디스플레이되는 동안 객체 배치 기준들이 충족되는 것을 검출하는 것은 객체 배치에 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device detects that object placement criteria are met (16006) while a representation of the virtual object is displayed with a first set of visual properties and a first orientation (e.g., a plane for placing the virtual object is identified while the virtual object is suspended in a semi-transparent state above the view of the physical environment around the device). Detecting that object placement criteria are met while the virtual object is displayed with the first set of visual properties (e.g., in a translucent state) can be achieved by detecting that the object placement criteria are met without requiring additional user input to initiate detection of the object placement criteria. Reduces the number of inputs required for batching. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thus improving the device's operability. Reduces power usage and improves battery life.
일부 실시예들에서, 객체 배치 기준들이 충족되는 것을 검출하는 것에 응답하여, 디바이스는, 디스플레이 생성 컴포넌트를 통해, 제1 배향으로부터 제2 배향으로 이동하고(예컨대, 회전하고/하거나, 축척조정하고/하거나, 병진하고/하거나, 상기의 조합으로 이동하고) 제1 세트의 시각적 속성들을 갖는 것으로부터 제2 세트의 시각적 속성들을 갖는 것으로 변하는 가상 객체의 표현을 보여주는 애니메이션화된 전이를 디스플레이한다(16008). 예를 들어, 일단 가상 객체를 배치하기 위한 평면이 카메라의 시야 내에서 식별되면, 가상 객체는 그의 배향, 크기, 및 반투명(등)의 가시적 조정으로 그 평면 상에 배치된다. (예컨대, 제1 사용자 인터페이스에서 가상 객체를 재배향하기 위한 추가 사용자 입력을 요구하지 않으면서) 제1 배향으로부터 제2 배향으로의 애니메이션화된 전이를 디스플레이하는 것은 객체 배치에 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting that object placement criteria are met, the device, via the display generation component, moves (e.g., rotates, scales, and/or) from a first orientation to a second orientation. display, translate, and/or move a combination of the above) and display an animated transition showing a representation of the virtual object changing from having a first set of visual properties to having a second set of visual properties (16008). For example, once a plane for placing a virtual object is identified within the camera's field of view, the virtual object is placed on that plane with visible adjustments to its orientation, size, and translucency (etc.). Displaying an animated transition from a first orientation to a second orientation (eg, without requiring additional user input to reorient the virtual object in the first user interface) reduces the number of inputs required for object placement. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thus improving the device's operability. Reduces power usage and improves battery life.
일부 실시예들에서, 객체 배치 기준들이 충족되는 것을 검출하는 것은, 하나 이상의 카메라들의 시야 내에서 평면이 식별되었다는 것을 검출하는 것; 적어도 임계 시간 동안 디바이스와 물리적 환경 사이에서 임계량 미만의 이동을 검출하는 것(예컨대, 카메라의 시야 내에서의 물리적 환경의 실질적으로 정지된 뷰로 이어짐); 및 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청을 수신한 이후로 적어도 미리결정된 시간이 경과하였다는 것을 검출하는 것 중 하나 이상을 포함한다(16010). (예컨대, 평면을 검출하기 위한 사용자 입력을 요구하지 않으면서 하나 이상의 카메라들의 시야 내에서 평면을 검출함으로써) 객체 배치 기준들이 충족되는 것을 검출하는 것은 객체 배치에 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, detecting that object placement criteria are met includes detecting that a plane has been identified within the field of view of one or more cameras; detecting less than a threshold amount of movement between the device and the physical environment for at least a threshold time (eg, resulting in a substantially stationary view of the physical environment within the camera's field of view); and detecting that at least a predetermined amount of time has passed since receiving a request to display the virtual object within the first user interface area (16010). Detecting that object placement criteria are met (e.g., by detecting a plane within the field of view of one or more cameras without requiring user input to detect the plane) reduces the number of inputs needed for object placement. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thus improving the device's operability. Reduces power usage and improves battery life.
일부 실시예들에서, 디바이스는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 제1 부분(예컨대, 물리적 환경의 제1 부분은 반투명 가상 객체를 통해 사용자에게 가시적임) 위에 가상 객체의 표현이 제1 세트의 시각적 속성들 및 제1 배향으로 디스플레이되는 동안(예컨대, 가상 객체가 디바이스 주위의 물리적 환경의 뷰 위에 반투명 상태로 현수되는 동안) 하나 이상의 카메라들의 제1 이동(예컨대, 디바이스 주위의 물리적 환경에 대한 디바이스의 회전 및/또는 병진)을 검출한다(16012). 예를 들어, 도 11g 및 도 11h에서, 하나 이상의 카메라들은, 가상 객체(11002)의 반투명 표현이 디스플레이되는 동안, (예컨대, 카메라들의 시야(6036) 내에서 테이블(5004)의 변경된 위치에 의해 표시된 바와 같이) 이동한다. 카메라들의 시야(6036) 내에서 캡처되고 사용자 인터페이스에 디스플레이되는 바와 같은 물리적 환경의 벽들 및 테이블은 반투명 가상 객체(11002)를 통해 가시적이다. 하나 이상의 카메라들의 제1 이동을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 제2 부분 위에 제1 세트의 시각적 속성들 및 제1 배향으로 가상 객체의 표현을 디스플레이하는데, 물리적 환경의 제2 부분은 물리적 환경의 제1 부분과 구별된다(16014). 예를 들어, 가상 객체의 반투명 형태가 카메라의 시야에 보여지는 물리적 환경 위에서 호버링하는 것으로 디스플레이되는 동안, 카메라의 시야 내의 물리적 환경의 뷰는 디바이스가 물리적 환경에 대해 이동할 때 (예컨대, 반투명 가상 객체 뒤에서) 시프트 및 축척조정된다. 따라서, 디바이스의 이동 동안, 가상 객체의 반투명 형태는, 카메라의 시야 내에서의 물리적 환경의 뷰의 병진 및 축척조정의 결과로서, 시야 내에 표현된 물리적 환경의 상이한 부분들의 상부에 오버레이된다. 예를 들어, 도 11h에서, 카메라들의 시야(6036)는 도 11g에 디스플레이된 물리적 환경(5002)의 제1 부분과 구별되는 물리적 환경(5002)의 제2 부분을 디스플레이한다. 가상 객체(11002)의 반투명 표현의 배향은 하나 이상의 카메라들의 이동이 도 11g 및 도 11h에서 발생할 때 변경되지 않는다. 하나 이상의 카메라들의 이동을 검출하는 것에 응답하여 제1 배향으로 가상 객체를 디스플레이하는 것은 (예컨대, 가상 객체가 물리적 환경에 대해 고정된 위치에 아직 배치되지 않았고, 따라서 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분이 하나 이상의 카메라들의 이동에 따라 변함에 따라 이동하지 않는다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 평면에 대응하는 제2 배향으로의 객체의 배치 전에 사용자가 가상 객체를 조작하기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device displays a representation of a virtual object over a first portion of the physical environment that is captured within the field of view of one or more cameras (e.g., the first portion of the physical environment is visible to the user through a semi-transparent virtual object). First movement of one or more cameras (e.g., while the virtual object is suspended in a translucent state over a view of the physical environment around the device) while being displayed with a set of visual properties and a first orientation (e.g., while the virtual object is suspended in a translucent state over a view of the physical environment around the device) Detect (16012) the rotation and/or translation of the device. For example, in FIGS. 11G and 11H , one or more cameras may be displayed while a semi-transparent representation of
일부 실시예들에서, 디바이스는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 제3 부분(예컨대, 물리적 환경의 제3 부분(예컨대, 가상 객체를 지지하는 검출된 평면의 일부분)의 직접적인 뷰는 가상 객체에 의해 차단됨) 위에 가상 객체의 표현이 제2 세트의 시각적 속성들 및 제2 배향으로 디스플레이되는 동안(예컨대, 객체 배치 기준들이 충족되었고 가상 객체가 카메라들의 시야 내의 물리적 환경에서 검출되는 평면 상에 배치된 후) 하나 이상의 카메라들의 제2 이동(예컨대, 디바이스 주위의 물리적 환경에 대한 디바이스의 회전 및/또는 병진)을 검출한다(16016). 예를 들어, 도 11i 및 도 11j에서, 하나 이상의 카메라들은, 가상 객체(11002)의 반투명이 아닌 표현이 디스플레이되는 동안, (예컨대, 카메라들의 시야(6036) 내에서 테이블(5004)의 변경된 위치에 의해 표시된 바와 같이) 이동한다. 디바이스의 제2 이동을 검출하는 것에 응답하여, 디바이스는, 하나 이상의 카메라들의 시야 내에서 캡처되는 바와 같은 물리적 환경이 디바이스의 제2 이동에 따라 이동(예컨대, 시프트 및 축척조정)하고, 제2 배향이 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 계속 대응하는 동안, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 제3 부분 위에 제2 세트의 시각적 속성들 및 제2 배향으로 가상 객체의 표현의 디스플레이를 유지한다(16018). 예를 들어, 가상 객체의 반투명이 아닌 형태가 카메라의 시야에 보여진 물리적 환경에서 검출되는 평면 상의 정지 위치에서 낙하된 후, 가상 객체의 위치 및 배향은 카메라의 시야 내의 물리적 환경에 대해 고정되고, 가상 객체는 디바이스가 물리적 환경에 대해 이동함에 따라 카메라들의 시야 내의 물리적 환경과 함께 시프트 및 축척조정될 것이다(예컨대, 가상 객체(11002)의 반투명이 아닌 표현은 하나 이상의 카메라들의 이동이 도 11i 및 도 11j에서 발생함에 따라 물리적 환경(5002) 내의 바닥 평면에 대해 일정 배향으로 고정된 채로 유지된다). 하나 이상의 카메라들의 이동을 검출하는 것에 응답하여 제2 배향으로 가상 객체를 디스플레이하는 것을 유지하는 것은 (예컨대, 가상 객체가 물리적 환경에 대해 고정된 위치에 배치되었고, 따라서 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분이 하나 이상의 카메라들의 이동에 따라 변함에 따라 이동한다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 평면에 대응하는 제2 배향으로 배치된 가상 객체에 대해 사용자가 적절한 입력들을 제공하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device may provide a direct view of a third portion of the physical environment (e.g., a portion of a detected plane supporting a virtual object) captured within the field of view of one or more cameras. occluded by the virtual object) while a representation of the virtual object is displayed with a second set of visual properties and a second orientation (e.g., on a plane in which the object placement criteria are met and the virtual object is detected in the physical environment within the field of view of the cameras). 16016) detect (16016) a second movement of the one or more cameras (e.g., rotation and/or translation of the device relative to the physical environment around the device). For example, in FIGS. 11I and 11J , one or more cameras are positioned at altered positions of table 5004 (e.g., within the cameras' field of view 6036) while a non-translucent representation of
일부 실시예들에서, 객체 배치 기준들이 충족된다는 (예컨대, 디바이스가 제1 사용자 인터페이스 영역 내에서 하나 이상의 카메라들의 시야에 대해 가상 객체를 배치하기 위한 위치 또는 평면을 식별하지 않았을 때 객체 배치 기준들이 충족된다는) 결정에 따라, 디바이스는 제2 세트의 시각적 속성들로 (예컨대, 감소된 반투명 레벨, 또는 더 높은 밝기 레벨, 또는 더 높은 채도 레벨 등으로) 그리고 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 대응하는 제2 배향으로 가상 객체의 표현을 디스플레이하는 것과 함께 촉각적 출력을 (예컨대, 디바이스의 하나 이상의 촉각적 출력 생성기들로) 생성한다(예컨대, 촉각적 출력의 생성은 가상 객체의 반투명이 아닌 외관으로의 전이의 완료 및 물리적 환경에서 검출되는 평면 상의 낙하 위치에 정착하도록 하는 가상 객체의 회전 및 병진의 완료와 동기화된다)(16020). 예를 들어, 도 11i에 도시된 바와 같이, 가상 객체(11002)에 대응하는 평면(예컨대, 바닥 표면(5038))에 부착된 가상 객체(11002)의 반투명이 아닌 표현을 디스플레이하는 것과 함께 11010으로 표시된 바와 같은 촉각적 출력이 생성된다. 객체 배치 기준들이 충족된다는 결정에 따라 촉각적 출력을 생성하는 것은 (예컨대, 가상 객체를 배치하는 동작이 성공적으로 실행되었다는 것을 나타내는) 개선된 촉각적 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 디스플레이된 정보로 사용자 인터페이스를 혼란스럽게 하지 않으면서 객체 배치 기준들이 충족되었다는 것을 사용자가 인지하게 하는 감각적 정보를 제공함으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, object placement criteria are met (e.g., when the device has not identified a location or plane for placing the virtual object relative to the field of view of one or more cameras within the first user interface area). Depending on the determination, the device displays a second set of visual properties (e.g., a reduced translucency level, or a higher brightness level, or a higher saturation level, etc.) and the physical environment detected within the field of view of one or more cameras. Generate tactile output (e.g., with one or more tactile output generators of the device) along with displaying a representation of the virtual object in a second orientation corresponding to a plane within synchronized with the completion of the transition to a non-translucent appearance and the completion of the rotation and translation of the virtual object to allow it to settle into a falling position on a plane detected in the physical environment) (16020). For example, as shown in Figure 11I, with displaying a non-translucent representation of
일부 실시예들에서, 제2 세트의 시각적 속성들로 그리고 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 대응하는 제2 배향으로 가상 객체의 표현을 디스플레이하는 동안, 디바이스는 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면의 적어도 위치 또는 배향에 관한 업데이트를 수신한다(예컨대, 업데이트된 평면 위치 및 배향은 초기 평면 검출 결과가 가상 객체를 배치하는 데 사용된 후 축적된 추가 데이터에 기초한 더 정확한 계산, 또는 더 많은 시간 소모적인 계산 방법들(예컨대, 더 적은 근사치들 등)의 결과이다)(16022). 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면의 적어도 위치 또는 배향에 관한 업데이트를 수신하는 것에 응답하여, 디바이스는 업데이트에 따라 가상 객체의 표현의 적어도 위치 및/또는 배향을 조정한다(예컨대, 가상 객체를 업데이트된 평면에 더 가깝게 점진적으로 이동(예컨대, 병진 및 회전)시킨다)(16024). (예컨대, 평면에 대해 가상 객체를 배치하기 위한 사용자 입력을 요구하지 않으면서) 물리적 환경 내의 평면에 관한 업데이트를 수신하는 것에 응답하여 가상 객체의 위치 및/또는 배향을 조정하는 것은 가상 객체를 조정하는 데 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a representation of a virtual object with a second set of visual properties and in a second orientation corresponding to a plane within the physical environment detected within the field of view of one or more cameras, the device Receive updates regarding at least the location or orientation of a plane within the physical environment detected within the field of view (e.g., updated plane location and orientation based on additional data accumulated after the initial plane detection results were used to position the virtual object). more accurate calculations, or more time-consuming calculation methods (e.g., less approximations, etc.) (16022). In response to receiving an update regarding at least the location or orientation of a plane in the physical environment detected within the field of view of one or more cameras, the device adjusts at least the location and/or orientation of the representation of the virtual object according to the update (e.g., Gradually move (e.g., translate and rotate) the virtual object closer to the updated plane) (16024). Adjusting the position and/or orientation of a virtual object in response to receiving updates regarding a plane within the physical environment (e.g., without requiring user input to position the virtual object relative to the plane) may involve adjusting the virtual object. Reduces the number of inputs needed. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thus improving the device's operability. Reduces power usage and improves battery life.
일부 실시예들에서, 제1 세트의 시각적 속성들은 제1 크기 및 제1 반투명 레벨을 포함하고(예컨대, AR 뷰로 낙하되기 전에, 객체는 디스플레이에 대한 고정된 크기 및 고정된 높은 반투명 레벨을 가짐)(16026), 제2 세트의 시각적 속성들은 제1 크기와 구별되는 제2 크기(예컨대, 일단 AR 뷰에서 낙하되면, 객체는 물리적 환경에서의 낙하 위치 및 크기와 관련하여 시뮬레이션된 물리적 크기로 디스플레이됨) 및 제1 반투명 레벨보다 낮은 (예컨대, 그보다 더 불투명한) 제2 반투명 레벨(예컨대, 객체는 AR 뷰에서 더 이상 반투명하지 않음)을 포함한다(16028). 예를 들어, 도 11h에서, 가상 객체(11002)의 반투명 표현이 제1 크기로 도시되어 있고, 도 11i에서, 가상 객체(11004)의 반투명이 아닌 표현이 제2 (더 작은) 크기로 도시되어 있다. 객체 배치 기준들이 충족되는지 여부에 따라, 제1 크기 및 제1 반투명 레벨로 또는 제2 크기 및 제2 반투명 레벨로 가상 객체를 디스플레이하는 것은 (예컨대, 가상 객체를 디스플레이하라는 요청이 수신되었지만, 가상 객체를 하나 이상의 카메라들의 시야 내에 배치하기 위해 추가 시간 및/또는 캘리브레이션 정보가 필요하다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 평면에 대응하는 제2 배향으로의 객체의 배치 전에 사용자가 적절한 입력들을 제공하도록 그리고 가상 객체를 조작하기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first set of visual properties includes a first size and a first translucency level (e.g., before being dropped into the AR view, an object has a fixed size and a fixed high translucency level relative to the display). (16026), the second set of visual properties is a second size that is distinct from the first size (e.g., once dropped in the AR view, the object is displayed at a simulated physical size relative to the location and size of the fall in the physical environment) ) and a second translucency level that is lower (e.g., more opaque) than the first translucency level (e.g., the object is no longer translucent in the AR view) (16028). For example, in Figure 11H, a semi-transparent representation of
일부 실시예들에서, 가상 객체가 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하지 않는 각각의 사용자 인터페이스(예컨대, 스테이징 사용자 인터페이스) 내에 디스플레이되는 동안(예컨대, 가상 객체는 디바이스의 물리적 환경과 독립적인 배향을 갖는 가상 스테이지에 대해 배향됨), 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하는 제1 사용자 인터페이스 영역(예컨대, AR 뷰) 내에 가상 객체를 디스플레이하라는 요청이 수신된다(16030). 제1 배향은 요청이 수신되는 시간에 가상 객체가 각각의 사용자 인터페이스 내에 디스플레이되는 동안 가상 객체의 배향에 대응한다. 예를 들어, 도 11f와 관련하여 기술된 바와 같이, (카메라들의 시야를 포함하지 않는) 스테이징 사용자 인터페이스(6010)가 디스플레이되는 동안 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 가상 객체(11002)를 디스플레이하라는 요청이 수신된다. 가상 객체(11002)가 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 디스플레이되는 도 11g의 가상 객체(11002)의 배향은, 가상 객체(11002)가 스테이징 사용자 인터페이스(6010) 내에 디스플레이되는 도 11f의 가상 객체(11002)의 배향에 대응한다. (이전에 디스플레이된) 인터페이스(예컨대, 스테이징 사용자 인터페이스) 내에 디스플레이된 바와 같은 가상 객체의 배향에 대응하는 배향으로 제1 사용자 인터페이스(예컨대, 디스플레이된 증강 현실 뷰) 내에 가상 객체를 디스플레이하는 것은 (예컨대, 스테이징 사용자 인터페이스가 디스플레이되는 동안 제공되는 객체 조작 입력이 AR 뷰 내에 객체의 배향을 확립하는 데 사용될 수 있다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 평면에 대응하는 제2 배향으로의 객체의 배치 전에 사용자가 적절한 입력들을 제공하도록 그리고 가상 객체를 조작하기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while a virtual object is displayed within a respective user interface (e.g., a staging user interface) that does not include at least a portion of the field of view of one or more cameras (e.g., the virtual object is oriented independently of the physical environment of the device) A request is received (16030) to display a virtual object within a first user interface area (e.g., an AR view) that includes at least a portion of the field of view of one or more cameras. The first orientation corresponds to the orientation of the virtual object while the virtual object is displayed within the respective user interface at the time the request is received. For example, as described with respect to FIG. 11F , a
일부 실시예들에서, 제1 배향은 미리정의된 배향(예컨대, 가상 객체가 하나 이상의 카메라들의 시야의 적어도 일부분을 포함하지 않는 각각의 사용자 인터페이스 내에 처음으로 디스플레이될 때 가상 객체가 디스플레이되는 배향과 같은 디폴트 배향)에 대응한다(16032). 제1 세트의 시각적 속성들로 그리고 미리정의된 배향으로 가상 객체를 제1 사용자 인터페이스(예컨대, 디스플레이된 증강 현실 뷰) 내에 디스플레이하는 것은 (예컨대, 스테이징 사용자 인터페이스 내에서 확립된 배향에 따라 반투명 표현을 렌더링하기보다는 가상 객체의 미리생성된 반투명 표현이 디스플레이되는 것을 허용함으로써) 디바이스의 전력 사용을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first orientation is a predefined orientation (e.g., the orientation in which the virtual object is displayed when the virtual object is first displayed within the respective user interface that does not include at least a portion of the field of view of one or more cameras). corresponds to the default orientation (16032). Displaying a virtual object within a first user interface (e.g., a displayed augmented reality view) with a first set of visual properties and with a predefined orientation (e.g., using a translucent representation according to the orientation established within the staging user interface) (by allowing pre-generated semi-transparent representations of virtual objects to be displayed rather than rendered) reduces the device's power usage and improves battery life.
일부 실시예들에서, 제2 세트의 시각적 속성들로 그리고 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 대응하는 제2 배향으로 가상 객체를 제1 사용자 인터페이스 영역(예컨대, AR 뷰) 내에 디스플레이하는 동안, 디바이스는 (예컨대, 축척조정 입력(예컨대, 가상 객체에 대한 핀치 또는 디핀치 제스처)의 결과로서) 가상 객체의 시뮬레이션된 물리적 크기를 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에 대해 제1 시뮬레이션된 물리적 크기로부터 제2 시뮬레이션된 물리적 크기로 (예컨대, 디폴트 크기의 80%로부터 디폴트 크기의 120%로, 또는 그 반대로) 변경하라는 요청을 검출한다(16034). 예를 들어, 가상 객체(11002)의 시뮬레이션된 물리적 크기를 감소시키기 위한 입력은 도 11n 내지 도 11p와 관련하여 기술된 바와 같은 핀치 제스처이다. 가상 객체의 시뮬레이션된 물리적 크기를 변경하라는 요청을 검출하는 것에 응답하여, 디바이스는 가상 객체의 시뮬레이션된 물리적 크기의 제1 시뮬레이션된 물리적 크기로부터 제2 시뮬레이션된 물리적 크기로의 점진적인 변경에 따라 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이된 크기를 점진적으로 변경하고(예컨대, 가상 객체의 디스플레이된 크기는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 디스플레이된 크기가 변경되지 않은 채로 유지되는 동안 증가하거나 줄어듬), 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이된 크기의 점진적인 변경 동안, 가상 객체의 시뮬레이션된 물리적 크기가 미리정의된 시뮬레이션된 물리적 크기(예컨대, 디폴트 크기의 100%)에 도달하였다는 결정에 따라, 디바이스는 가상 객체의 시뮬레이션된 물리적 크기가 미리정의된 시뮬레이션된 물리적 크기에 도달하였다는 것을 나타내기 위해 촉각적 출력을 생성한다(16036). 예를 들어, 도 11n 내지 도 11p와 관련하여 기술된 바와 같이, 가상 객체(11002)의 표현의 디스플레이된 크기는 핀치 제스처 입력에 응답하여 점진적으로 감소한다. 도 11o에서, 가상 객체(11002)의 표현의 디스플레이된 크기가 가상 객체(11002)의 크기의 100%(예컨대, 도 11i에 나타낸 바와 같이, 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 원래 디스플레이된 바와 같은 가상 객체(11002)의 크기)에 도달할 때, 11024로 표시된 바와 같은 촉각적 출력이 생성된다. 가상 객체의 시뮬레이션된 물리적 크기가 미리정의된 시뮬레이션된 물리적 크기에 도달하였다는 결정에 따라 촉각적 출력을 생성하는 것은 (예컨대, 가상 객체의 시뮬레이션된 크기를 미리정의된 크기로 복귀시키기 위해 추가 입력이 필요하지 않다는 것을 나타내는) 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은 (예컨대, 디스플레이된 정보로 사용자 인터페이스를 혼란스럽게 하지 않으면서 가상 객체의 미리정의된 시뮬레이션된 물리적 크기에 도달하였다는 것을 사용자가 인지하게 하는 감각적 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, a virtual object is displayed in a first user interface area (e.g., an AR view) with a second set of visual properties and with a second orientation corresponding to a plane in the physical environment detected within the field of view of one or more cameras. During display, the device may scale the virtual object's simulated physical size (e.g., as a result of a scaling input (e.g., a pinch or de-pinch gesture to the virtual object)) relative to the physical environment captured within the field of view of one or more cameras. Detect 16034 a request to change from a first simulated physical size to a second simulated physical size (e.g., from 80% of the default size to 120% of the default size, or vice versa). For example, an input to decrease the simulated physical size of
일부 실시예들에서, 미리정의된 시뮬레이션된 물리적 크기와 구별되는 가상 객체의 제2 시뮬레이션된 물리적 크기(예컨대, 축척조정 입력(예컨대, 가상 객체에 대한 핀치 또는 디핀치 제스처)의 결과로서, 디폴트 크기의 120%, 또는 디폴트 크기의 80%)로 가상 객체를 제1 사용자 인터페이스 영역(예컨대, AR 뷰) 내에 디스플레이하는 동안, 디바이스는 가상 객체를 미리정의된 시뮬레이션된 물리적 크기로 복귀시키라는 요청을 검출한다(예컨대, 터치 스크린 상에서 (예컨대, 가상 객체 상에서, 또는 대안적으로 가상 객체의 외측에서) 탭 또는 더블 탭 입력을 검출함)(16038).In some embodiments, a second simulated physical size of the virtual object that is distinct from the predefined simulated physical size (e.g., a default size, as a result of a scaling input (e.g., a pinch or de-pinch gesture for the virtual object)) While displaying a virtual object within a first user interface area (e.g., an AR view) at 120% of the size, or 80% of the default size, the device detects a request to return the virtual object to the predefined simulated physical size. (e.g., detect a tap or double tap input on the touch screen (e.g., on the virtual object, or alternatively outside the virtual object)) 16038.
예를 들어, 핀치 입력이 (도 11n 내지 도 11p와 관련하여 기술된 바와 같이) 가상 객체(11002)의 크기의 감소를 야기한 후, 더블 탭 입력이 (도 11r과 관련하여 기술된 바와 같이) 가상 객체(11002)에 대응하는 위치에서 검출된다. 가상 객체를 미리정의된 시뮬레이션된 물리적 크기로 복귀시키라는 요청을 검출하는 것에 응답하여, 디바이스는 가상 객체의 시뮬레이션된 물리적 크기의 미리정의된 시뮬레이션된 물리적 크기로의 변경에 따라 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이된 크기를 변경한다(예컨대, 가상 객체의 디스플레이된 크기는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 디스플레이된 크기가 변경되지 않은 채로 유지되는 동안 증가하거나 줄어든다)(16040). 예를 들어, 도 11r과 관련하여 기술된 더블 탭 입력에 응답하여, 가상 객체(11002)의 크기는 도 11i에 디스플레이된 바와 같은 가상 객체(11002)의 크기(하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 원래 디스플레이된 바와 같은 가상 객체(11002)의 크기)로 복귀한다. 일부 실시예들에서, 가상 객체의 시뮬레이션된 물리적 크기가 미리정의된 시뮬레이션된 물리적 크기(예컨대, 디폴트 크기의 100%)에 도달하였다는 결정에 따라, 디바이스는 가상 객체의 시뮬레이션된 물리적 크기가 미리정의된 시뮬레이션된 물리적 크기에 도달하였다는 것을 나타내기 위해 촉각적 출력을 생성한다. 가상 객체를 미리정의된 시뮬레이션된 물리적 크기로 복귀시키라는 요청을 검출하는 것에 응답하여 가상 객체의 디스플레이된 크기를 미리정의된 크기로 변경하는 것은 (예컨대, 디스플레이 크기를 조정하기 위해 제공되는 입력이 가상 객체를 미리정의된 시뮬레이션된 물리적 크기로 디스플레이하기에 충분할 때를 사용자가 추정하도록 요구하기보다는, 디스플레이된 크기를 미리정의된 시뮬레이션된 물리적 크기로 정밀하게 조정하는 옵션을 제공함으로써) 객체를 미리정의된 크기로 디스플레이하는 데 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.For example, after a pinch input causes a decrease in the size of virtual object 11002 (as described with respect to FIGS. 11N-11P), a double tap input causes a decrease in the size of virtual object 11002 (as described with respect to FIG. 11R). It is detected at a location corresponding to object 11002. In response to detecting a request to return the virtual object to a predefined simulated physical size, the device may respond to a change in the simulated physical size of the virtual object to the predefined simulated physical size in the first user interface area. Change the displayed size of the representation of the virtual object (e.g., the displayed size of the virtual object increases or decreases while the displayed size of the physical environment captured within the field of view of one or more cameras remains unchanged) (16040 ). For example, in response to a double tap input described with respect to FIG. 11R, the size of
일부 실시예들에서, 디바이스는 물리적 환경에 대한 하나 이상의 카메라들의 각각의 위치 및 배향에 따라 제2 세트의 시각적 속성들을 갖는 가상 객체의 표현의 제2 배향(예컨대, 객체 배치 기준들이 충족될 때의 현재 위치 및 배향)을 설정하기 위한 평면을 선택하는데, 여기서 평면을 선택하는 것은, 가상 객체의 표현이 (예컨대, 디바이스가 물리적 환경에서 제1 방향으로 지향한 결과로서) 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 제1 부분 위에 디스플레이되었을 때(예컨대, 반투명 객체의 베이스는 물리적 환경의 제1 부분 내의 평면과 중첩하고 있음) 객체 배치 기준들이 충족되었다는 결정에 따라, 제2 세트의 시각적 속성들을 갖는 가상 객체의 표현의 제2 배향을 설정하기 위한 평면으로서 하나 이상의 카메라들의 시야 내의 물리적 환경에서 검출되는 다수의 평면들 중 제1 평면을 (예컨대, 디스플레이 상의 제1 평면과 객체의 베이스 사이의 더 큰 근접성 및 물리적 세계 내의 물리적 환경의 제1 부분과 제1 평면 사이의 더 큰 근접성에 따라) 선택하는 것; 및 가상 객체의 표현이 (예컨대, 디바이스가 물리적 환경에서 제2 방향으로 지향한 결과로서) 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 제2 부분 위에 디스플레이되었을 때(예컨대, 반투명 객체의 베이스는 물리적 환경의 제2 부분 내의 평면과 중첩하고 있음) 객체 배치 기준들이 충족되었다는 결정에 따라, 제2 세트의 시각적 속성들을 갖는 가상 객체의 표현의 제2 배향을 설정하기 위한 평면으로서 하나 이상의 카메라들의 시야 내의 물리적 환경에서 검출되는 다수의 평면들 중 제2 평면을 (예컨대, 디스플레이 상의 제2 평면과 객체의 베이스 사이의 더 큰 근접성 및 물리적 세계 내의 물리적 환경의 제2 부분과 제2 평면 사이의 더 큰 근접성에 따라) 선택하는 것을 포함하고, 물리적 환경의 제1 부분은 물리적 환경의 제2 부분과 구별되고, 제1 평면은 제2 평면과 구별된다(16042). (예컨대, 많은 검출된 평면들 중 어느 평면이 가상 객체가 설정되는 평면일 것인지를 지정하기 위한 사용자 입력을 요구하지 않으면서) 가상 객체가 설정될 평면으로서 제1 평면 또는 제2 평면을 선택하는 것은 평면을 선택하는 데 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device is configured to perform a second orientation of a representation of a virtual object with a second set of visual properties (e.g., when object placement criteria are met) according to the respective location and orientation of the one or more cameras relative to the physical environment. Select a plane to set the current location and orientation), where selecting a plane means that the representation of the virtual object will be within the field of view of one or more cameras (e.g., as a result of the device being oriented in a first direction in the physical environment). Upon determining that the object placement criteria have been met when displayed over the first portion of the physical environment being captured (e.g., the base of the translucent object is overlapping a plane within the first portion of the physical environment), the second set of visual properties a first of a plurality of planes detected in the physical environment within the field of view of one or more cameras as a plane for establishing the second orientation of the representation of the virtual object (e.g., between the first plane on the display and the base of the object) selecting according to greater proximity and greater proximity between the first plane and a first part of the physical environment within the physical world); and when the representation of the virtual object is displayed over a second portion of the physical environment that is captured within the field of view of one or more cameras (e.g., as a result of the device being oriented in a second direction in the physical environment) (e.g., the base of the translucent object is the field of view of one or more cameras as a plane for establishing a second orientation of the representation of the virtual object having the second set of visual properties, upon determining that the object placement criteria have been met (overlapping a plane within a second portion of the physical environment) a second plane among multiple planes detected in the physical environment within the physical world (e.g., a greater proximity between the second plane on the display and the base of the object and a greater proximity between the second plane and a second portion of the physical environment within the physical world) (based on proximity), wherein the first portion of the physical environment is distinct from the second portion of the physical environment, and the first plane is distinct from the second plane (16042). Selecting the first or second plane as the plane on which the virtual object will be set (e.g., without requiring user input to specify which of the many detected planes will be the plane on which the virtual object is set) Reduces the number of inputs needed to select a plane. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thus improving the device's operability. Reduces power usage and improves battery life.
일부 실시예들에서, 디바이스는 제2 세트의 시각적 속성들 및 제2 배향으로 가상 객체를 제1 사용자 인터페이스 영역(예컨대, AR 뷰) 내에 디스플레이하는 것과 동시에 스냅샷(snapshot) 어포던스(예컨대, 카메라 셔터 버튼)를 디스플레이한다(16044). 스냅샷 어포던스의 활성화에 응답하여, 디바이스는 하나 이상의 카메라들의 시야 내의 물리적 환경 내의 일정 배치 위치에 있는 가상 객체의 표현의 현재 뷰를 포함하는 스냅샷 이미지를, 제2 세트의 시각적 속성들 및 하나 이상의 카메라들의 시야 내에서 검출되는 물리적 환경 내의 평면에 대응하는 제2 배향으로, 캡처한다(16046). 객체의 현재 뷰의 스냅샷 이미지를 캡처하기 위한 스냅샷 어포던스를 디스플레이하는 것은 객체의 스냅샷 이미지를 캡처하는 데 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device displays a virtual object with a second set of visual properties and a second orientation within a first user interface area (e.g., an AR view) while simultaneously displaying a snapshot affordance (e.g., a camera shutter) button) is displayed (16044). In response to activation of a snapshot affordance, the device may generate a snapshot image comprising a current view of a representation of the virtual object at a location within the physical environment within the field of view of one or more cameras, a second set of visual properties, and one or more Capture 16046, with a second orientation corresponding to a plane within the physical environment detected within the cameras' field of view. Displaying a snapshot affordance for capturing a snapshot image of the current view of an object reduces the number of inputs required to capture a snapshot image of the object. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thus improving the device's operability. Reduces power usage and improves battery life.
일부 실시예들에서, 디바이스는 제1 사용자 인터페이스 영역 내에 제2 세트의 시각적 속성들을 갖는 가상 객체의 표현과 함께 하나 이상의 제어부 어포던스들(예컨대, 스테이징 사용자 인터페이스로 다시 스위칭하기 위한 어포던스, AR 뷰어를 빠져나가기 위한 어포던스, 스냅샷을 캡처하기 위한 어포던스 등)을 디스플레이한다(16048). 예를 들어, 도 11j에는 뒤로 가기 제어부(6016), 토글 제어부(6018), 및 공유 제어부(6020)를 포함하는 한 세트의 제어부들이 디스플레이되어 있다. 제2 세트의 시각적 속성들을 갖는 가상 객체의 표현과 함께 하나 이상의 제어부 어포던스들을 디스플레이하는 동안, 디바이스는 제어부 페이딩(control-fading) 기준들이 충족되는 것을 (예컨대, (예컨대, 디바이스의 이동 및 카메라들의 시야에 대한 업데이트가 있거나 없거나) 임계 시간 동안 터치 감응형 표면 상에서 사용자 입력이 검출되지 않았음을) 검출한다(16050). 제어부 페이딩 기준들이 충족되는 것을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야를 포함하는 제1 사용자 인터페이스 영역 내에 제2 세트의 시각적 속성들을 갖는 가상 객체의 표현을 계속 디스플레이하는 동안 하나 이상의 제어부 어포던스들을 디스플레이하는 것을 중지한다(16052). 예를 들어, 도 11k 및 도 11l과 관련하여 기술된 바와 같이, 제어부들(6016, 6018, 6020)은 어떠한 사용자 입력도 임계 시간 동안 검출되지 않을 때 점진적으로 페이드 아웃되고 디스플레이되는 것이 중지된다. 일부 실시예들에서, 제어부 어포던스들이 페이드 아웃된 후, 터치 감응형 표면 상에서의 탭 입력 또는 가상 객체와의 상호작용은 디바이스가 제어부 어포던스들을 제1 사용자 인터페이스 영역 내의 가상 객체의 표현과 동시에 재디스플레이하게 한다. 제어부 페이딩 기준들이 충족된다고 결정하는 것에 응답하여 제어부들을 디스플레이하는 것을 자동으로 중지하는 것은 제어부들을 디스플레이하는 것을 중지하는 데 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device displays one or more control affordances (e.g., an affordance for switching back to the staging user interface, exiting the AR viewer) along with a representation of a virtual object with a second set of visual properties within the first user interface area. Affordance to exit, affordance to capture snapshot, etc.) are displayed (16048). For example, Figure 11J displays a set of controls including a back control 6016, a toggle control 6018, and a share control 6020. While displaying one or more control affordances with a representation of a virtual object having a second set of visual properties, the device determines that control-fading criteria are met (e.g., movement of the device and field of view of the cameras). detect (16050) that no user input has been detected on the touch-sensitive surface for a threshold period of time. In response to detecting that the control fading criteria are met, the device displays one or more control affordances while continuing to display a representation of the virtual object having the second set of visual properties within a first user interface area that includes the field of view of one or more cameras. Stop displaying them (16052). For example, as described with respect to FIGS. 11K and 11L, controls 6016, 6018, and 6020 gradually fade out and stop being displayed when no user input is detected for a threshold period of time. In some embodiments, after the control affordances have faded out, a tap input on the touch-sensitive surface or interaction with a virtual object causes the device to redisplay the control affordances concurrently with the representation of the virtual object within the first user interface area. do. Automatically stopping displaying controls in response to determining that control fading criteria are met reduces the number of inputs required to stop displaying controls. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thus improving the device's operability. Reduces power usage and improves battery life.
일부 실시예들에서, 제1 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청에 응답하여, 제1 사용자 인터페이스 영역에 포함되는 하나 이상의 카메라들의 시야의 적어도 일부분 위에 가상 객체의 표현을 디스플레이하기 전에, (예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에 대한 치수 및 공간적 관계 데이터를 생성하기에 상이한 시야각들로부터 충분한 양의 이미지들이 없기 때문에) 캘리브레이션 기준들이 충족되지 않는다는 결정에 따라, 디바이스는 사용자가 디바이스를 물리적 환경에 대해 이동시키기 위한 프롬프트를 디스플레이한다(예컨대, 방법(17000)을 참조하여 아래에서 더 상세히 설명되는 바와 같이, 디바이스를 이동시키기 위한 시각적 프롬프트를 디스플레이하고, 선택적으로, 제1 사용자 인터페이스 영역 내에 캘리브레이션 사용자 인터페이스 객체(예컨대, 디바이스의 이동에 따라 이동하는 탄력성 와이어프레임 볼(bouncy wireframe ball) 또는 입방체)를 디스플레이한다(예컨대, 캘리브레이션 사용자 인터페이스 객체는 하나 이상의 카메라들의 시야의 블러링된 이미지 상에 오버레이된다))(16054). 사용자가 디바이스를 물리적 환경에 대해 이동시키기 위한 프롬프트를 디스플레이하는 것은 (예컨대, 디바이스의 이동이 카메라(들)의 시야 내에 가상 객체를 배치하기 위한 정보를 획득하는 데 필요하다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 사용자가 캘리브레이션 입력을 제공하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to a request to display a virtual object within the first user interface area, prior to displaying a representation of the virtual object over at least a portion of the field of view of one or more cameras included in the first user interface area (e.g. Upon determining that the calibration criteria are not met (because there are not a sufficient amount of images from different viewing angles to generate dimensional and spatial relationship data about the physical environment captured within the field of view of one or more cameras), the device Display a prompt to move the device relative to the physical environment (e.g., as described in more detail below with reference to method 17000), and optionally, display a visual prompt to move the device in a first user interface area. Displays a calibration user interface object (e.g., a bouncy wireframe ball or cube that moves with movement of the device) within (e.g., a calibration user interface object on a blurred image of the field of view of one or more cameras) overlaid))(16054). Displaying a prompt for the user to move the device relative to the physical environment provides visual feedback to the user (e.g., indicating that movement of the device is necessary to obtain information to place a virtual object within the field of view of the camera(s)). provide to Providing improved visual feedback to the user improves the operability of the device (e.g., by helping the user provide calibration input) and makes the user-device interface more efficient, which additionally allows the user to operate the device more quickly. It reduces device power usage and improves battery life by enabling efficient use.
도 16a 내지 도 16g에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 1000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 16a 내지 도 16g와 관련하여 전술된 방법(16000)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(16000)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 1000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 16A-16G are described is by way of example only and is not intended to indicate that the described order is the only order in which the operations may be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g., methods 800, 900, 1000, 17000, 18000, 19000, 20000) are provided in FIGS. 16A-16A. It should be noted that method 16000 described above with respect to Figure 16g is also applicable in a similar manner. For example, contacts, inputs, virtual objects, user interface areas, fields of view, tactile outputs, movements, and/or animations described above with respect to method 16000 are optionally described herein. Contacts, inputs, virtual objects, user interface areas, and fields of view described herein in connection with other methods described (e.g., methods 800, 900, 1000, 17000, 18000, 19000, 20000). has one or more of the following characteristics: fields, tactile outputs, movements, and/or animations. For brevity, these details are not repeated here.
도 17a 내지 도 17d는 디바이스의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 방법(17000)을 예시하는 흐름도들이다. 방법(17000)은 디스플레이 생성 컴포넌트(예컨대, 디스플레이, 프로젝터, 헤드 업 디스플레이 등), 하나 이상의 입력 디바이스들(예컨대, 터치 감응형 표면, 또는 디스플레이 생성 컴포넌트 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이), 하나 이상의 카메라들(예컨대, 디스플레이 및 터치 감응형 표면과 반대편인 디바이스의 면 상의 하나 이상의 후방 카메라들), 및 하나 이상의 카메라들을 포함하는 디바이스의 자세(예컨대, 주위의 물리적 환경에 대한 배향(예컨대, 회전 각, 요 각, 및/또는 기울기 각) 및 위치)의 변경들을 검출하기 위한 하나 이상의 자세 센서들(예컨대, 가속도계들, 자이로스코프들, 및/또는 자력계들)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 방법(17000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.17A-17D are flow diagrams illustrating a method 17000 of displaying a calibration user interface object that is dynamically animated according to movement of one or more cameras of a device. Method 17000 includes a display generating component (e.g., a display, projector, head up display, etc.), one or more input devices (e.g., a touch sensitive surface, or a touch device that serves as both a display generating component and a touch sensitive surface). screen display), one or more cameras (e.g., one or more rear-facing cameras on the side of the device opposite the display and touch-sensitive surface), and a pose of the device including one or more cameras (e.g., relative to the surrounding physical environment). An electronic device with one or more attitude sensors (e.g., accelerometers, gyroscopes, and/or magnetometers) to detect changes in orientation (e.g., rotation angle, yaw angle, and/or tilt angle) and position) (e.g., the device 300 of FIG. 3 or the portable multi-function device 100 of FIG. 1A). Some of the operations in method 17000 are selectively combined and/or the order of some of the operations is optionally varied.
디바이스는 하나 이상의 카메라들의 시야의 표현을 포함하는(예컨대, 시야는 물리적 환경의 적어도 일부분을 캡처함) 제1 사용자 인터페이스 영역 내에 물리적 환경(예컨대, 하나 이상의 카메라들을 포함하는 디바이스 주위의 물리적 환경)의 증강 현실 뷰를 디스플레이하라는 요청을 수신한다(17002). 일부 실시예들에서, 요청은 가상 객체의 스테이징 뷰로부터 가상 객체의 증강 현실 뷰로 스위칭하기 위한 버튼 상에서 검출되는 탭 입력이다. 일부 실시예들에서, 요청은 2차원 사용자 인터페이스 내의 가상 객체의 표현 다음에 디스플레이되는 증강 현실 어포던스의 선택이다. 일부 실시예들에서, 요청은 증강 현실 측정 애플리케이션(예컨대, 물리적 환경의 측정을 용이하게 하는 측정 앱)의 활성화이다. 예를 들어, 요청은, 도 12a와 관련하여 기술된 바와 같이, 하나 이상의 카메라들의 시야(6036) 내에 가상 객체(11002)를 디스플레이하기 위한 토글(6018)에서 검출되는 탭 입력이다.The device displays a physical environment (e.g., the physical environment surrounding the device including one or more cameras) within a first user interface area that includes a representation of the field of view of one or more cameras (e.g., the field of view captures at least a portion of the physical environment). A request to display an augmented reality view is received (17002). In some embodiments, the request is a tap input detected on a button to switch from a staging view of the virtual object to an augmented reality view of the virtual object. In some embodiments, the request is a selection of an augmented reality affordance to be displayed following a representation of a virtual object within a two-dimensional user interface. In some embodiments, the request is activation of an augmented reality measurement application (eg, a measurement app that facilitates measurements of the physical environment). For example, the request is a tap input detected on a toggle 6018 to display a
물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야의 표현을 디스플레이한다(예컨대, 디바이스는 캘리브레이션 기준들이 충족되지 않을 때 하나 이상의 카메라들의 시야 내의 물리적 환경의 블러링된 형태를 디스플레이한다)(17004). 예를 들어, 디바이스는 도 12e-1에 도시된 바와 같이, 하나 이상의 카메라들의 시야(6036)의 블러링된 표현을 디스플레이한다. (예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에 대한 치수 및 공간적 관계 데이터를 생성하기에 (예컨대, 상이한 시야각들로부터의) 충분한 양의 이미지 데이터가 없기 때문에, 가상 객체에 대응하는 평면이 하나 이상의 카메라들의 시야 내에서 검출되지 않기 때문에, 그리고/또는 카메라들로부터의 이용가능한 이미지 데이터에 기초하여 평면 검출을 시작하거나 진행하기에 충분한 정보가 없기 때문에) 캘리브레이션 기준들이 물리적 환경의 증강 현실 뷰에 대해 충족되지 않는다는 결정에 따라, 디바이스는 (예컨대, 디스플레이 생성 컴포넌트를 통해, 그리고 하나 이상의 카메라들의 시야의 표현(예컨대, 시야의 블러링된 형태)을 포함하는 제1 사용자 인터페이스 영역에) 물리적 환경에서의 하나 이상의 카메라들의 이동에 따라 동적으로 애니메이션화되는 캘리브레이션 사용자 인터페이스 객체(예컨대, 탄력성 입방체 또는 와이어프레임 객체와 같은 스캔 프롬프트 객체)를 디스플레이한다. 예를 들어, 도 12e-1 내지 도 12i-1에서, 캘리브레이션 사용자 인터페이스 객체(12014)가 디스플레이된다. 하나 이상의 카메라들의 이동에 따른 캘리브레이션 사용자 인터페이스 객체의 애니메이션이, 예컨대, 도 12e-1 및 도 12f-1과 관련하여 기술된다. 일부 실시예들에서, 하나 이상의 카메라들의 시야 내에서 하나 이상의 평면들(예컨대, 바닥, 벽, 테이블, 등)을 검출하기 위해 하나 이상의 카메라들의 시야를 분석하는 것은 증강 현실 뷰의 표현을 디스플레이하라는 요청에 대응하는 입력의 초기 부분이 수신될 때 발생한다. 일부 실시예들에서, 분석은 (예컨대, 가상 객체가 스테이징 뷰 내에 디스플레이되는 동안) 요청을 수신하기 전에 발생한다. 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것은, 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 동안, 하나 이상의 자세 센서들을 통해, 물리적 환경에서의 하나 이상의 카메라들의 자세(예컨대, 위치 및/또는 배향(예컨대, 회전 각, 기울기 각, 요 각))의 변경을 검출하는 것, 및 물리적 환경에서의 하나 이상의 카메라들의 자세의 변경을 검출하는 것에 응답하여, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체(예컨대, 탄력성 입방체 또는 와이어프레임 객체와 같은 스캔 프롬프트 객체)의 적어도 하나의 디스플레이 파라미터(예컨대, 디스플레이 상에서의 배향, 크기, 회전, 또는 위치)를 조정하는 것을 포함한다. 예를 들어, 도 12e-2 및 도 12f-2에 각각 대응하는 도 12e-1 및 도 12f-1은 물리적 환경(5002)에 대한 디바이스(100)의 측방향 이동, 및 디바이스의 하나 이상의 카메라들의 디스플레이된 시야(6036)의 대응하는 변경을 예시한다. 도 12e-2 및 도 12f-2에서, 캘리브레이션 사용자 인터페이스 객체(12014)는 하나 이상의 카메라들의 이동에 응답하여 회전한다.In response to receiving a request to display an augmented reality view of the physical environment, the device displays a representation of the field of view of one or more cameras (e.g., the device displays a representation of the physical environment within the field of view of one or more cameras when calibration criteria are not met). Display blurred shape) (17004). For example, the device displays a blurred representation of the field of
물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 디스플레이 상에서 이동하는 캘리브레이션 사용자 인터페이스 객체(예컨대, 탄력성 입방체 또는 와이어프레임 객체와 같은 스캔 프롬프트 객체)를 디스플레이하는 동안, 디바이스는 캘리브레이션 기준들이 충족되는 것을 검출한다(17006). 예를 들어, 도 12e 내지 도 12j와 관련하여 기술된 바와 같이, 디바이스는 도 12e-1로부터 도 12i-1로 발생하는 디바이스의 이동에 응답하여 캘리브레이션 기준들이 충족된다고 결정한다.While displaying a calibration user interface object (e.g., a scan prompt object such as a bouncy cube or a wireframe object) that moves on the display in response to a detected change in the pose of one or more cameras in the physical environment, the device determines whether the calibration criteria are met. Detect (17006). For example, as described with respect to Figures 12E-12J, the device determines that the calibration criteria are met in response to movement of the device that occurs from Figure 12E-1 to Figure 12I-1.
캘리브레이션 기준들이 충족되는 것을 검출하는 것에 응답하여, 디바이스는 캘리브레이션 사용자 인터페이스 객체(예컨대, 탄력성 입방체 또는 와이어프레임 객체와 같은 스캔 프롬프트 객체)를 디스플레이하는 것을 중지한다(17008). 일부 실시예들에서, 디바이스가 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지한 후, 디바이스는 블러링 없이 카메라들의 시야의 표현을 디스플레이한다. 일부 실시예들에서, 가상 객체의 표현은 카메라들의 시야의 블러링되지 않은 표현 위에 디스플레이된다. 예를 들어, 도 12j에서, 도 12e-1 내지 도 12i-1과 관련하여 기술된 디바이스의 이동에 응답하여, 캘리브레이션 사용자 인터페이스 객체(12014)는 더 이상 디스플레이되지 않고, 가상 객체(11002)는 카메라(들)의 시야의 블러링되지 않은 표현(6036) 위에 디스플레이된다. 하나 이상의 카메라들(예컨대, 디바이스의 물리적 환경을 캡처하는 디바이스 카메라들)의 이동에 따라 캘리브레이션 사용자 인터페이스 객체의 디스플레이 파라미터를 조정하는 것은 (예컨대, 디바이스의 이동이 캘리브레이션에 필요하다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 캘리브레이션 기준들을 충족시키는 데 필요한 정보를 제공하는 방식으로 사용자가 디바이스를 이동시키도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In response to detecting that the calibration criteria are met, the device stops displaying a calibration user interface object (eg, a scan prompt object such as a springy cube or a wireframe object) (17008). In some embodiments, after the device stops displaying the calibration user interface object, the device displays a representation of the cameras' field of view without blurring. In some embodiments, a representation of the virtual object is displayed over an unblurred representation of the cameras' field of view. For example, in Figure 12J, in response to movement of the device described with respect to Figures 12E-1 through 12I-1, calibration user interface object 12014 is no longer displayed and
일부 실시예들에서, 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 물리적 환경(예컨대, 하나 이상의 카메라들을 포함하는 디바이스 주위의 물리적 환경)의 증강 현실 뷰를 디스플레이하라는 요청은 물리적 환경의 증강 현실 뷰 내에 가상 3차원 객체(예컨대, 3차원 모델을 갖는 가상 객체)의 표현을 디스플레이하라는 요청을 포함한다(17010). 일부 실시예들에서, 요청은 가상 객체의 스테이징 뷰로부터 가상 객체의 증강 현실 뷰로 스위칭하기 위한 버튼 상에서 검출되는 탭 입력이다. 일부 실시예들에서, 요청은 2차원 사용자 인터페이스 내의 가상 객체의 표현 다음에 디스플레이되는 증강 현실 어포던스의 선택이다. 예를 들어, 도 12a에서, 토글 제어부(6018)에 대응하는 위치에서의 접촉(12002)에 의한 입력은, 도 12b에 도시된 바와 같이, 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 가상 객체(11002)를 디스플레이하라는 요청이다. 증강 현실 뷰 내에 가상 객체를 디스플레이하라는 요청에 응답하여 물리적 환경의 증강 현실 뷰를 디스플레이하는 것은 (예컨대, 물리적 환경의 뷰 및 가상 객체 둘 모두를 디스플레이하기 위한) 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 (예컨대, 사용자가 캘리브레이션 입력을 제공하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, a request to display an augmented reality view of the physical environment (e.g., the physical environment surrounding a device comprising one or more cameras) within a first user interface area that includes a representation of the field of view of one or more cameras Includes a request to display a representation of a virtual three-dimensional object (e.g., a virtual object with a three-dimensional model) within the augmented reality view (17010). In some embodiments, the request is a tap input detected on a button to switch from a staging view of the virtual object to an augmented reality view of the virtual object. In some embodiments, the request is a selection of an augmented reality affordance to be displayed following a representation of a virtual object within a two-dimensional user interface. For example, in FIG. 12A, input by contact 12002 at a location corresponding to toggle control 6018 generates a virtual object within the user interface including the field of view of the
일부 실시예들에서, 디바이스는 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지한 후에 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 표현을 (예컨대, 캘리브레이션 기준들이 충족된 후) 디스플레이한다(17012). 일부 실시예들에서, 요청에 응답하여, 캘리브레이션이 완료되고 카메라의 시야가 완전히 선명하게 디스플레이된 후, 가상 객체는 하나 이상의 카메라들의 시야에서 식별된 미리정의된 평면(예컨대, 가상 객체의 3차원 표현에 대한 지지 평면으로서 역할을 할 수 있는 수직 벽 또는 수평 바닥 표면과 같은 물리적 표면)에 대한 미리정의된 위치 및/또는 배향으로 낙하한다. 예를 들어, 도 12j에서, 디바이스는 도 12e 내지 도 12i에 디스플레이되었던 캘리브레이션 사용자 인터페이스 객체(12014)를 디스플레이하는 것을 중지하였고, 가상 객체(11002)는 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내에 디스플레이된다. 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지한 후 디스플레이된 증강 현실 뷰 내에 가상 객체를 디스플레이하는 것은 (예컨대, 캘리브레이션 기준들이 충족되었다는 것을 나타내기 위한) 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 캘리브레이션 기준들이 충족되기 전에 사용자가 적절한 입력들을 제공하도록 그리고 가상 객체를 조작하기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device stops displaying the calibration user interface object and then displays a representation of the virtual three-dimensional object within a first user interface area that includes a representation of the field of view of one or more cameras (e.g., if calibration criteria are met). After) display (17012). In some embodiments, in response to a request, after calibration is complete and the camera's field of view is displayed fully clearly, the virtual object is displayed in a predefined plane identified in the field of view of one or more cameras (e.g., a three-dimensional representation of the virtual object). It falls into a predefined position and/or orientation relative to a physical surface (such as a vertical wall or a horizontal floor surface) that can act as a support plane for the object. For example, in Figure 12J, the device has stopped displaying the calibration user interface object 12014 that was displayed in Figures 12E-12I, and
일부 실시예들에서, 디바이스는 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 표현을 캘리브레이션 사용자 인터페이스 객체와 동시에 (예컨대, 캘리브레이션 사용자 인터페이스 객체 뒤에) (예컨대, 캘리브레이션 기준들이 충족되기 전에) 디스플레이하는데, 가상 3차원 객체의 표현은 물리적 환경에서 하나 이상의 카메라들의 이동 동안(예컨대, 캘리브레이션 사용자 인터페이스 객체가 하나 이상의 카메라들의 이동에 따라 제1 사용자 인터페이스 영역 내에서 이동되는 동안) 제1 사용자 인터페이스 영역 내의 고정된 위치에 유지된다(예컨대, 가상 3차원 객체는 물리적 환경 내의 위치에 배치되지 않는다)(17014). 예를 들어, 도 12e-1 내지 도 12i-1에서, 가상 객체(1102)의 표현은 캘리브레이션 사용자 인터페이스 객체(12014)와 동시에 디스플레이된다. 하나 이상의 카메라들을 포함하는 디바이스(100)가 (예컨대, 도 12e-1 및 도 12f-1 그리고 대응하는 도 12e-2 및 도 12f-2에 예시된 바와 같이) 이동함에 따라, 가상 객체(1102)는 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 내의 고정된 위치에 유지된다. 가상 객체를 캘리브레이션 사용자 인터페이스 객체와 동시에 디스플레이하는 것은 (예컨대, 캘리브레이션이 수행되고 있는 객체를 나타내기 위한) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 가상 객체가 배치될 평면에 대응하는 캘리브레이션 입력을 사용자가 제공하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device displays a representation of the virtual three-dimensional object within the first user interface area simultaneously with the calibration user interface object (e.g., after the calibration user interface object) (e.g., before the calibration criteria are met), The representation of the three-dimensional object may be at a fixed location within a first user interface area during movement of one or more cameras in the physical environment (e.g., while a calibration user interface object is moved within the first user interface area in accordance with movement of one or more cameras). (e.g., the virtual three-dimensional object is not placed in a location within the physical environment) (17014). For example, in FIGS. 12E-1 through 12I-1, a representation of virtual object 1102 is displayed simultaneously with calibration user interface object 12014. As device 100, which includes one or more cameras, moves (e.g., as illustrated in FIGS. 12E-1 and 12F-1 and corresponding FIGS. 12E-2 and 12F-2), virtual object 1102 is maintained at a fixed location within the user interface including the field of
일부 실시예들에서, 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 물리적 환경(예컨대, 하나 이상의 카메라들을 포함하는 디바이스 주위의 물리적 환경)의 증강 현실 뷰를 디스플레이하라는 요청은 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경 내의 어떠한 가상 3차원 객체(예컨대, 3차원 모델을 갖는 가상 객체)의 표현의 디스플레이도 요청하지 않으면서 (예컨대, 하나 이상의 사용자 인터페이스 객체들 및/또는 제어부들(예컨대, 평면들, 객체들, 포인터들, 아이콘들, 마커들, 등의 윤곽들)과 함께) 하나 이상의 카메라들의 시야의 표현을 디스플레이하라는 요청을 포함한다(17016). 일부 실시예들에서, 요청은 2차원 사용자 인터페이스 내의 가상 객체의 표현 다음에 디스플레이되는 증강 현실 어포던스의 선택이다. 일부 실시예들에서, 요청은 증강 현실 측정 애플리케이션(예컨대, 물리적 환경의 측정을 용이하게 하는 측정 앱)의 활성화이다. 어떠한 가상 3차원 객체의 표현의 디스플레이도 요청하지 않으면서 하나 이상의 카메라들의 시야의 표현을 디스플레이하도록 요청하는 것은 (예컨대, 가상 객체가 디스플레이되는지 여부에 관계없이 캘리브레이션이 필요하다는 것을 나타내기 위해 동일한 캘리브레이션 사용자 인터페이스 객체를 사용함으로써) 피드백을 제공한다. 사용자에게 개선된 피드백을 제공하는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, a request to display an augmented reality view of the physical environment (e.g., the physical environment surrounding a device that includes one or more cameras) within a first user interface area that includes a representation of the field of view of one or more cameras Without requiring the display of a representation of any virtual three-dimensional object (e.g., a virtual object with a three-dimensional model) within the physical environment captured within the field of view of the cameras (e.g., one or more user interface objects and/or controls (e.g., 17016). In some embodiments, the request is a selection of an augmented reality affordance to be displayed following a representation of a virtual object within a two-dimensional user interface. In some embodiments, the request is activation of an augmented reality measurement application (eg, a measurement app that facilitates measurements of the physical environment). Requesting to display a representation of the field of view of one or more cameras without requesting display of a representation of any virtual three-dimensional object (e.g., using the same calibration user to indicate that calibration is needed regardless of whether the virtual object is displayed) Provides feedback (by using interface objects). Providing improved feedback to the user improves the operability of the device and makes the user-device interface more efficient, which additionally reduces the device's power usage by allowing the user to use the device more quickly and efficiently. and improve battery life.
일부 실시예들에서, 물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야의 표현을 디스플레이하고(예컨대, 캘리브레이션 기준들이 충족되지 않을 때 하나 이상의 카메라들의 시야 내의 물리적 환경의 블러링된 형태를 디스플레이함); (예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에 대한 치수 및 공간적 관계 데이터를 생성하기에 (예컨대, 상이한 시야각들로부터의) 충분한 양의 이미지 데이터가 있기 때문에, 가상 객체에 대응하는 평면이 하나 이상의 카메라들의 시야 내에서 검출되었기 때문에, 그리고/또는 카메라들로부터의 이용가능한 이미지 데이터에 기초하여 평면 검출을 시작하거나 진행하기에 충분한 정보가 있기 때문에) 캘리브레이션 기준들이 물리적 환경의 증강 현실 뷰에 대해 충족된다는 결정에 따라, 디바이스는 캘리브레이션 사용자 인터페이스 객체(예컨대, 탄력성 입방체 또는 와이어프레임 객체와 같은 스캔 프롬프트 객체)의 디스플레이를 보류한다(17018). 일부 실시예들에서, 평면들에 대한 물리적 환경의 스캐닝은 가상 3차원 객체가 스테이징 사용자 인터페이스 내에 디스플레이되는 동안 시작되는데, 이는 디바이스가, (예컨대, 카메라들의 시야가 물리적 공간 내에서 하나 이상의 평면들을 검출하기에 충분한 데이터를 제공하기 위해 충분히 이동한) 일부 환경들에서, 증강 현실 뷰를 디스플레이하기 전에 물리적 공간 내에서 하나 이상의 평면들을 검출하는 것을 가능하게 하여, 캘리브레이션 사용자 인터페이스가 디스플레이될 필요가 없게 한다. 캘리브레이션 기준들이 물리적 환경의 증강 현실 뷰에 대해 충족된다는 결정에 따라 캘리브레이션 사용자 인터페이스 객체의 디스플레이를 보류하는 것은 (예컨대, 캘리브레이션 사용자 인터페이스 객체가 없는 것이 캘리브레이션 기준들이 충족되었다는 것 및 디바이스의 이동이 캘리브레이션에 필요하지 않다는 것을 나타내는) 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 사용자가 캘리브레이션을 목적으로 디바이스를 불필요하게 이동하는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to receiving a request to display an augmented reality view of the physical environment, the device displays a representation of the field of view of one or more cameras (e.g., the field of view of one or more cameras when calibration criteria are not met). displays a blurred version of the physical environment within); (e.g., because there is a sufficient amount of image data (e.g., from different viewing angles) to generate dimensional and spatial relationship data for the physical environment captured within the field of view of one or more cameras, the plane corresponding to the virtual object is Calibration criteria are applied to an augmented reality view of the physical environment (because they are detected within the field of view of one or more cameras, and/or because there is sufficient information to initiate or proceed with planar detection based on available image data from the cameras). Depending on the determination that it is met, the device withholds display of a calibration user interface object (e.g., a scan prompt object such as a bouncy cube or wireframe object) (17018). In some embodiments, scanning the physical environment for planes begins while the virtual three-dimensional object is displayed in the staging user interface, as the device (e.g., the field of view of the cameras detects one or more planes in physical space). In some environments, it is possible to detect one or more planes within physical space prior to displaying the augmented reality view, thereby eliminating the need for a calibration user interface to be displayed. Withholding display of the calibration user interface object upon determining that the calibration criteria are met relative to the augmented reality view of the physical environment (e.g., the absence of a calibration user interface object determines that the calibration criteria have been met and that movement of the device is not required for calibration). Provide visual feedback to the user (indicating that it is not being done). Providing improved visual feedback to the user improves the operability of the device (e.g., by helping the user avoid moving the device unnecessarily for calibration purposes) and makes the user-device interface more efficient, which Additionally, it reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 디바이스는, 증강 현실 뷰의 캘리브레이션을 개선하기 위해 사용자에 의해 취해질 수 있는 액션들에 관한 정보를 제공하는 캘리브레이션 사용자 인터페이스 객체와 동시에(예컨대, 캘리브레이션 사용자 인터페이스 객체 다음에), 제1 사용자 인터페이스 영역 내에 텍스트 객체(예컨대, 현재 검출되는 에러 상태를 설명하는 텍스트 설명 및/또는 (예컨대, 검출된 에러 상태를 정정하기 위한) 사용자 액션을 요청하는 텍스트 프롬프트)를 (예컨대, 캘리브레이션 기준들이 충족되기 전에) 디스플레이한다(17020). 일부 실시예들에서, 텍스트 객체는, "excessive movement(과도한 이동)", "low detail(낮은 디테일)", "move closer(더 가깝게 이동)" 등과 같은 디바이스의 이동에 대한 프롬프트를 (예컨대, 현재 검출된 에러 상태와 함께) 사용자에게 제공한다. 일부 실시예들에서, 디바이스는 캘리브레이션 프로세스 동안의 사용자의 액션들 및 사용자의 액션들에 기초하여 검출되는 새로운 에러 상태들에 따라 텍스트 객체를 업데이트한다. 캘리브레이션 사용자 인터페이스 객체와 동시에 텍스트를 디스플레이하는 것은 (예컨대, 캘리브레이션에 필요한 이동의 유형의 구두 표시를 제공하는) 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device provides a first calibration user interface object concurrently with (e.g., following a calibration user interface object) that provides information regarding actions that can be taken by the user to improve the calibration of the augmented reality view. 1 A text object within the user interface area (e.g., a text description describing the currently detected error condition and/or a text prompt requesting user action (e.g., to correct the detected error condition)) containing (e.g., calibration criteria) (before being satisfied) is displayed (17020). In some embodiments, the text object provides prompts for movement of the device, such as “excessive movement,” “low detail,” “move closer,” etc. (e.g., (along with the detected error condition) is provided to the user. In some embodiments, the device updates the text object according to the user's actions during the calibration process and new error conditions that are detected based on the user's actions. Displaying text concurrently with a calibration user interface object provides visual feedback to the user (eg, providing a verbal indication of the type of movement required for calibration). Providing improved visual feedback to the user improves the operability of the device (e.g., by helping the user provide appropriate inputs when operating/interacting with the device and reducing user errors) and improves the user-device interface. This additionally reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 캘리브레이션 기준들이 충족됨을 (예컨대, 캘리브레이션 사용자 인터페이스 객체가 디스플레이되기도 전에 기준들이 충족됨을, 또는 캘리브레이션 사용자 인터페이스 객체가 일정 기간 동안 디스플레이 및 애니메이션화된 후에 기준들이 충족됨을) 검출하는 것에 응답하여, 디바이스는 (예컨대, 캘리브레이션 사용자 인터페이스 객체가 초기에 디스플레이된 경우 캘리브레이션 사용자 인터페이스 객체를 디스플레이하는 것을 중지한 후) 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면의 시각적 표시를 디스플레이한다(예컨대, 검출된 평면 둘레에 윤곽을 디스플레이하거나, 검출된 평면을 강조함)(17022). 예를 들어, 도 12j에서, 평면(바닥 표면(5038))은 평면이 하나 이상의 카메라들의 디스플레이된 시야(6036) 내에서 캡처된 바와 같이 물리적 환경(5002)에서 검출되었다는 것을 나타내기 위해 강조된다. 검출된 평면의 시각적 표시를 디스플레이하는 것은 (예컨대, 디바이스 카메라(들)에 의해 캡처되는 물리적 환경에서 평면이 검출되었다는 것을 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting that the calibration criteria are met (e.g., the criteria are met before the calibration user interface object is even displayed, or the criteria are met after the calibration user interface object has been displayed and animated for a period of time) Thus, the device displays a visual representation of a plane detected in the physical environment captured within the field of view of one or more cameras (e.g., after ceasing to display the calibration user interface object if the calibration user interface object was initially displayed). (e.g., display a contour around the detected plane, or highlight the detected plane) (17022). For example, in Figure 12J, a plane (floor surface 5038) is highlighted to indicate that the plane has been detected in the physical environment 5002 as captured within the displayed field of
일부 실시예들에서, 물리적 환경의 증강 현실 뷰를 디스플레이하라는 요청을 수신하는 것에 응답하여, 캘리브레이션 기준들이 충족되지 않는다는 결정에 따라 그리고 캘리브레이션 사용자 인터페이스 객체를 디스플레이하기 전에, 디바이스는 (예컨대, 디스플레이 생성 컴포넌트를 통해, 그리고 하나 이상의 카메라들의 시야의 표현(예컨대, 시야의 블러링된 형태)을 포함하는 제1 사용자 인터페이스 영역에) 평면의 표현에 대해 이동하는 디바이스의 표현을 포함하는 애니메이션화된 프롬프트 객체(예컨대, 탄력성 입방체 또는 와이어프레임 객체와 같은 스캔 프롬프트 객체)를 디스플레이한다(예컨대, 평면의 표현에 대한 디바이스의 표현의 이동은 사용자에 의해 이루어질 디바이스의 요구되는 이동을 나타낸다)(17024). 예를 들어, 애니메이션화된 프롬프트 객체는, 도 12b 내지 도 12d와 관련하여 기술된 바와 같이, 평면의 표현(12010)에 대해 이동하는 디바이스(100)의 표현(12004)을 포함한다. 일부 실시예들에서, 디바이스는 디바이스가 디바이스의 이동을 검출할 때 애니메이션화된 프롬프트 객체를 디스플레이하는 것을 중지한다(예컨대, 캘리브레이션이 진행되는 것을 가능하게 할 방식으로 사용자가 디바이스를 이동시키기 시작했다는 것을 나타냄). 일부 실시예들에서, 디바이스는, 디바이스의 캘리브레이션에 대해 추가로 사용자를 안내하기 위해 디바이스가 디바이스의 이동을 검출할 때 그리고 캘리브레이션이 완료되기 전에, 애니메이션화된 프롬프트 객체의 디스플레이를 캘리브레이션 사용자 인터페이스 객체로 대체한다. 예를 들어, 도 12c 내지 도 12e와 관련하여 기술된 바와 같이, 디바이스의 이동이 (도 12c 및 도 12d에 도시된 바와 같이) 검출된 경우, 디바이스(100)의 표현(12004)을 포함하는 애니메이션화된 프롬프트가 디스플레이되는 것이 중지되고, 캘리브레이션 사용자 인터페이스 객체(12014)가 도 12e에 디스플레이된다. 평면의 표현에 대해 이동하는 디바이스의 표현을 포함하는 애니메이션화된 프롬프트 객체를 디스플레이하는 것은 (예컨대, 캘리브레이션에 필요한 디바이스의 이동의 유형을 예시하는) 시각적 피드백을 사용자에게 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 캘리브레이션 기준들을 충족시키는 데 필요한 정보를 제공하는 방식으로 사용자가 디바이스를 이동시키도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to receiving a request to display an augmented reality view of the physical environment, upon determining that calibration criteria are not met and prior to displaying a calibration user interface object, the device (e.g., a display creation component) an animated prompt object (e.g., a representation of a device moving relative to a representation of a plane) via and in a first user interface area that includes a representation of the field of view of one or more cameras (e.g., a blurred form of the field of view) , a scan prompt object, such as a bouncy cube or a wireframe object) (e.g., movement of the representation of the device relative to the representation of the plane indicates the desired movement of the device to be made by the user) (17024). For example, the animated prompt object includes a representation 12004 of device 100 moving relative to a representation of a plane 12010, as described with respect to FIGS. 12B-12D. In some embodiments, the device stops displaying the animated prompt object when the device detects movement of the device (e.g., indicating that the user has begun to move the device in a way that will allow calibration to proceed) ). In some embodiments, the device replaces the display of an animated prompt object with a calibration user interface object when the device detects movement of the device and before calibration is complete to further guide the user regarding calibration of the device. do. For example, as described with respect to FIGS. 12C-12E, when movement of the device is detected (as shown in FIGS. 12C and 12D), animation comprising a representation 12004 of device 100 The displayed prompt stops displaying, and the calibration user interface object 12014 is displayed in FIG. 12E. Displaying an animated prompt object that includes a representation of the device moving relative to the representation of the plane provides visual feedback to the user (eg, illustrating the type of movement of the device needed for calibration). Providing improved visual feedback to the user improves the operability of the device (e.g., by helping the user move the device in a way that provides the information needed to meet calibration criteria) and makes the user-device interface more refined. This additionally reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것은, 물리적 환경에서의 하나 이상의 카메라들의 이동의 제1 크기에 따라 캘리브레이션 사용자 인터페이스 객체를 제1 양만큼 이동시키는 것; 및 물리적 환경에서의 하나 이상의 카메라들의 이동의 제2 크기에 따라 캘리브레이션 사용자 인터페이스 객체를 제2 양만큼 이동시키는 것을 포함하고, 제1 양은 제2 양과는 구별되고(예컨대, 제2 양보다 크고), 이동의 제1 크기는 이동의 제2 크기와 구별된다(예컨대, 제2 크기보다 크다)(예컨대, 이동의 제1 및 제2 크기들은 물리적 환경에서의 동일한 방향으로의 이동에 기초하여 측정된다)(17026). 하나 이상의 (디바이스) 카메라들의 이동의 크기에 대응하는 양만큼 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것은 (예컨대, 캘리브레이션 사용자 인터페이스 객체의 이동이 캘리브레이션에 필요한 디바이스의 이동에 대한 가이드인 것을 사용자에게 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, adjusting at least one display parameter of the calibration user interface object according to the detected change in the pose of the one or more cameras in the physical environment includes adjusting the at least one display parameter of the calibration user interface object in response to the first magnitude of movement of the one or more cameras in the physical environment. moving the calibration user interface object a first amount according; and moving the calibration user interface object by a second amount in accordance with a second amount of movement of the one or more cameras in the physical environment, the first amount being distinct from the second amount (e.g., greater than the second amount); The first amount of movement is distinct from (e.g., greater than) the second amount of movement (e.g., the first and second amounts of movement are measured based on movement in the same direction in the physical environment) (17026). Moving the calibration user interface object by an amount that corresponds to the amount of movement of one or more (device) cameras provides visual feedback (e.g., indicating to the user that the movement of the calibration user interface object is a guide to the movement of the device required for calibration). provides. Providing improved visual feedback to the user improves the operability of the device (e.g., by helping the user provide appropriate inputs when operating/interacting with the device and reducing user errors) and improves the user-device interface. This additionally reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것은, 하나 이상의 카메라들의 자세의 검출된 변경이 제1 유형의 이동(예컨대, 좌향하는, 우향하는, 또는 전후 좌우 이동과 같은 좌우 이동)에 대응한다는 (그리고 제2 유형의 이동(예컨대, 상향, 하향, 또는 상하 이동과 같은 수직 이동)에 대응하지 않는다는) 결정에 따라, 제1 유형의 이동에 기초하여 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것(예컨대, 캘리브레이션 사용자 인터페이스 객체를 제1 방식으로 이동시키는 것(예컨대, 캘리브레이션 사용자 인터페이스 객체를 통과하는 수직 축을 중심으로 캘리브레이션 사용자 인터페이스 객체를 회전시키는 것)); 및 하나 이상의 카메라들의 자세의 검출된 변경이 제2 유형의 이동에 대응한다는 (그리고 제1 유형의 이동에 대응하지 않는다는) 결정에 따라, 제2 유형의 이동에 기초하여 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것을 보류하는 것(예컨대, 캘리브레이션 사용자 인터페이스 객체를 제1 방식으로 이동시키는 것을 보류하거나 캘리브레이션 사용자 인터페이스 객체를 정지 상태로 유지하는 것)을 포함한다(17028). 예를 들어, (예컨대, 도 12f-1과 도 12g-1, 및 도 12f-2와 도 12g-2와 관련하여 기술된 바와 같이) 하나 이상의 카메라들을 포함하는 디바이스(100)의 좌우 이동은 캘리브레이션 사용자 인터페이스 객체(12014)가 회전하게 하는 반면, (예컨대, 도 12g-1과 도 12h-1, 및 도 12g-2와 도 12h-2와 관련하여 기술된 바와 같은) 디바이스(100)의 수직 이동은 캘리브레이션 사용자 인터페이스 객체(12014)가 회전하게 하지 않는다. 디바이스 카메라(들)의 자세의 검출된 변경이 제2 유형의 이동에 대응한다는 결정에 따라 캘리브레이션 사용자 인터페이스 객체의 이동을 보류하는 것은 (예컨대, 하나 이상의 카메라들의 제2 유형의 이동이 캘리브레이션에 필요하지 않다는 것을 사용자에게 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 사용자가 불필요한 입력을 제공하는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, adjusting at least one display parameter of the calibration user interface object in accordance with the detected change in the pose of one or more cameras in the physical environment comprises adjusting the at least one display parameter of the calibration user interface object when the detected change in pose of the one or more cameras is of a first type. Determination that corresponds to a movement (e.g., side-to-side movement, such as leftward, rightward, or back-and-forth movement) (and does not correspond to a second type of movement (e.g., vertical movement, such as upward, downward, or up-and-down movement)) Accordingly, moving the calibration user interface object based on a first type of movement (e.g., moving the calibration user interface object in a first manner (e.g., moving the calibration user interface object about a vertical axis passing through the calibration user interface object) rotating an interface object)); and moving the calibration user interface object based on the second type of movement in accordance with the determination that the detected change in pose of the one or more cameras corresponds to the second type of movement (and does not correspond to the first type of movement). and withholding (e.g., withholding moving the calibration user interface object in a first manner or keeping the calibration user interface object in a stationary state) (17028). For example, left-right movement of device 100 including one or more cameras (e.g., as described with respect to FIGS. 12F-1 and 12G-1 and FIGS. 12F-2 and 12G-2) may be calibrated. causing user interface object 12014 to rotate, while vertical movement of device 100 (e.g., as described with respect to FIGS. 12G-1 and 12H-1 and FIGS. 12G-2 and 12H-2) does not cause the calibration user interface object 12014 to rotate. Withholding movement of the calibration user interface object upon determining that the detected change in pose of the device camera(s) corresponds to a second type of movement (e.g., determining that a second type of movement of one or more cameras is not necessary for calibration) Provides visual feedback (indicating to the user that something is not right). Providing improved visual feedback to the user improves the operability of the device (e.g., by helping the user avoid providing unnecessary input) and makes the user-device interface more efficient, which additionally allows the user to interact with the device. Reduces device power usage and improves battery life by enabling faster and more efficient use of devices.
일부 실시예들에서, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것은, 제1 사용자 인터페이스 영역 위에서 캘리브레이션 사용자 인터페이스 객체의 특성 디스플레이 위치(예컨대, 디스플레이 상의 캘리브레이션 사용자 인터페이스 객체의 기하학적 중심 또는 축의 위치)를 변경하지 않고서 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체를 이동시키는 (예컨대, 회전시키는 그리고/또는 기울이는) 것을 포함한다(예컨대, 캘리브레이션 사용자 인터페이스 객체가 디스플레이 상의 고정된 위치에 고정되어 있는 한편, 물리적 환경은 캘리브레이션 사용자 인터페이스 객체 아래의 하나 이상의 카메라들의 시야 내에서 이동한다)(17030). 예를 들어, 도 12e-1 내지 도 12i-1에서, 캘리브레이션 사용자 인터페이스 객체(12014)는 디스플레이(112)에 대해 고정된 위치에 유지하면서 회전한다. 캘리브레이션 사용자 인터페이스 객체의 특성 디스플레이 위치를 변경하지 않고서 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것은 (예컨대, 캘리브레이션 사용자 인터페이스 객체가 디스플레이된 증강 현실 환경에 대해 일정 위치에 배치되는 가상 객체와 구별되는 것을 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 사용자가 적절한 입력들을 제공하도록 그리고 사용자 입력 실수들을 감소시키도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, adjusting at least one display parameter of the calibration user interface object in response to a detected change in the pose of one or more cameras in the physical environment comprises: a characteristic display position of the calibration user interface object over the first user interface area; Moving (e.g., rotating and/or) a calibration user interface object according to a detected change in the pose of one or more cameras in the physical environment without changing the position of the geometric center or axis of the calibration user interface object on the display. including tilting (e.g., the calibration user interface object is fixed at a fixed location on the display while the physical environment moves within the field of view of one or more cameras below the calibration user interface object) (17030). For example, in FIGS. 12E-1 through 12I-1, calibration user interface object 12014 rotates while remaining in a fixed position relative to display 112. Characteristics of a Calibration User Interface Object Moving a calibration user interface object without changing its display position provides visual feedback (e.g., indicating that the calibration user interface object is distinct from a virtual object positioned relative to the displayed augmented reality environment). provides. Providing improved visual feedback to the user improves the operability of the device (e.g., by helping the user provide appropriate inputs and reduces user input mistakes) and makes the user-device interface more efficient, which Additionally, it reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것은, 물리적 환경에서의 하나 이상의 카메라들의 이동 방향에 수직인 축을 중심으로 캘리브레이션 사용자 인터페이스 객체를 회전시키는 것을 포함한다(예컨대, 캘리브레이션 사용자 인터페이스 객체는 (예컨대, 카메라들을 포함하는) 디바이스가 x-y 평면 상에서 전후로 이동할 때 z-축을 중심으로 회전하거나, 캘리브레이션 사용자 인터페이스 객체는 (예컨대, 카메라들을 포함하는) 디바이스가 x-축을 따라서 좌우로 이동할 때 y-축을 중심으로 회전한다(예컨대, x-축은, 예를 들어, 물리적 환경에 대해 수평 방향으로서 정의되고 터치 스크린 디스플레이의 평면 내에 놓인다))(17032). 예를 들어, 도 12e-1 내지 도 12g-1에서, 캘리브레이션 사용자 인터페이스 객체(12014)는 도 12e-2 내지 도 12g-2에 도시된 디바이스의 좌우 이동에 수직인 수직 축을 중심으로 회전한다. 디바이스 카메라(들)의 이동에 수직인 축을 중심으로 캘리브레이션 사용자 인터페이스 객체를 회전시키는 것은 (예컨대, 캘리브레이션 사용자 인터페이스 객체의 이동이 캘리브레이션에 필요한 디바이스의 이동에 대한 가이드인 것을 사용자에게 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, adjusting at least one display parameter of the calibration user interface object in response to a detected change in the pose of one or more cameras in the physical environment comprises adjusting an axis perpendicular to the direction of movement of the one or more cameras in the physical environment. Rotating the calibration user interface object about a center (e.g., the calibration user interface object rotates about the z-axis as the device (e.g., containing cameras) moves back and forth in the x-y plane, or the calibration user interface object rotates about the z-axis (e.g., including cameras). The device (e.g., including cameras) rotates about the y-axis as it moves left and right along the x-axis (e.g., the x-axis is defined as a horizontal direction relative to the physical environment and within the plane of the touch screen display). placed))(17032). For example, in FIGS. 12E-1 through 12G-1, the calibration user interface object 12014 rotates about a vertical axis perpendicular to the left-right movement of the device shown in FIGS. 12E-2 through 12G-2. Rotating the calibration user interface object about an axis perpendicular to the movement of the device camera(s) provides visual feedback (e.g., indicating to the user that the movement of the calibration user interface object is a guide to movement of the device required for calibration). do. Providing improved visual feedback to the user improves the operability of the device (e.g., by helping the user provide appropriate inputs when operating/interacting with the device and reducing user errors) and improves the user-device interface. This additionally reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것은, 하나 이상의 카메라들의 시야 내에서 검출되는 변경의 속도(예컨대, 물리적 환경의 이동 속도)에 따라 결정되는 속도로 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것을 포함한다(17034). 디바이스 카메라(들)의 자세의 변경에 따라 결정되는 속도로 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것은 (예컨대, 캘리브레이션 사용자 인터페이스 객체의 이동이 캘리브레이션에 필요한 디바이스의 이동에 대한 가이드인 것을 사용자에게 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, adjusting at least one display parameter of the calibration user interface object in response to a detected change in the pose of one or more cameras in the physical environment may include adjusting the rate of change detected within the field of view of the one or more cameras (e.g. , moving the calibration user interface object at a speed determined according to the movement speed of the physical environment (17034). Moving the calibration user interface object at a rate determined by changes in the pose of the device camera(s) provides visual feedback (e.g., indicating to the user that the movement of the calibration user interface object is a guide to the movement of the device required for calibration). provides. Providing improved visual feedback to the user improves the operability of the device (e.g., by helping the user provide appropriate inputs when operating/interacting with the device and reducing user errors) and improves the user-device interface. This additionally reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 물리적 환경에서의 하나 이상의 카메라들의 자세의 검출된 변경에 따라 캘리브레이션 사용자 인터페이스 객체의 적어도 하나의 디스플레이 파라미터를 조정하는 것은, 하나 이상의 카메라들의 시야 내에서 검출되는 변경(예컨대, 물리적 환경의 이동 속도)의 방향에 따라 결정되는 방향으로 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것을 포함한다(예컨대, 디바이스는 우측으로부터 좌측으로의 디바이스의 이동에 대해 캘리브레이션 사용자 인터페이스 객체를 시계방향으로 회전시키고 좌측으로부터 우측으로의 디바이스의 이동에 대해 캘리브레이션 사용자 인터페이스 객체를 반시계방향으로 회전시키거나, 또는 디바이스는 우측으로부터 좌측으로의 디바이스의 이동에 대해 캘리브레이션 사용자 인터페이스 객체를 반시계방향으로 회전시키고 좌측으로부터 우측으로의 디바이스의 이동에 대해 캘리브레이션 사용자 인터페이스 객체를 시계방향으로 회전시킨다)(17036). 디바이스 카메라(들)의 자세의 변경에 따라 결정되는 방향으로 캘리브레이션 사용자 인터페이스 객체를 이동시키는 것은 (예컨대, 캘리브레이션 사용자 인터페이스 객체의 이동이 캘리브레이션에 필요한 디바이스의 이동에 대한 가이드인 것을 사용자에게 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, adjusting at least one display parameter of the calibration user interface object according to a detected change in the pose of one or more cameras in the physical environment may include adjusting at least one display parameter of the calibration user interface object according to a detected change within the field of view of the one or more cameras (e.g., physical moving the calibration user interface object in a direction determined by the direction of the environment (e.g., the device rotates the calibration user interface object clockwise for movement of the device from right to left and from left to right). Rotates the calibration user interface object counterclockwise for movement of the device from right to left, or Rotates the calibration user interface object counterclockwise for movement of the device from right to left and rotates the calibration user interface object counterclockwise for movement of the device from left to right. Rotate the calibration user interface object clockwise relative to the movement of the device) (17036). Moving the calibration user interface object in a direction determined by changes in the pose of the device camera(s) provides visual feedback (e.g., indicating to the user that the movement of the calibration user interface object is a guide to the movement of the device required for calibration). provides. Providing improved visual feedback to the user improves the operability of the device (e.g., by helping the user provide appropriate inputs when operating/interacting with the device and reducing user errors) and improves the user-device interface. This additionally reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
도 17a 내지 도 17d에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 1000, 16000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 17a 내지 도 17d와 관련하여 전술된 방법(17000)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(17000)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 1000, 16000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 17A-17D are described is by way of example only and is not intended to indicate that the described order is the only order in which the operations may be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g., methods 800, 900, 1000, 16000, 18000, 19000, 20000) are provided in FIGS. 17A-17A. It should be noted that method 17000 described above with respect to FIG. 17D is also applicable in a similar manner. For example, contacts, inputs, virtual objects, user interface areas, views, tactile outputs, movements, and/or animations described above in connection with method 17000 are optionally described herein. Contacts, inputs, virtual objects, user interface areas, and fields of view described herein in connection with other methods described (e.g., methods 800, 900, 1000, 16000, 18000, 19000, 20000). has one or more of the following characteristics: fields, tactile outputs, movements, and/or animations. For brevity, these details are not repeated here.
도 18a 내지 도 18i는 축을 중심으로 하는 가상 객체의 회전을 제약하는 방법(18000)을 예시하는 흐름도들이다. 방법(18000)은 디스플레이 생성 컴포넌트(예컨대, 디스플레이, 프로젝터, 헤드 업 디스플레이 등), 하나 이상의 입력 디바이스들(예컨대, 터치 감응형 표면, 또는 디스플레이 생성 컴포넌트 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이), 하나 이상의 카메라들(예컨대, 디스플레이 및 터치 감응형 표면과 반대편인 디바이스의 면 상의 하나 이상의 후방 카메라들), 및 하나 이상의 카메라들을 포함하는 디바이스의 자세(예컨대, 주위의 물리적 환경에 대한 배향(예컨대, 회전 각, 요 각, 및/또는 기울기 각) 및 위치)의 변경들을 검출하기 위한 하나 이상의 자세 센서들(예컨대, 가속도계들, 자이로스코프들, 및/또는 자력계들)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 방법(18000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.Figures 18A-18I are flow charts illustrating a method 18000 of constraining the rotation of a virtual object about an axis. Method 18000 includes a display generating component (e.g., a display, projector, head up display, etc.), one or more input devices (e.g., a touch sensitive surface, or a touch device that serves as both a display generating component and a touch sensitive surface). screen display), one or more cameras (e.g., one or more rear-facing cameras on the side of the device opposite the display and touch-sensitive surface), and a pose of the device including one or more cameras (e.g., relative to the surrounding physical environment). An electronic device with one or more attitude sensors (e.g., accelerometers, gyroscopes, and/or magnetometers) to detect changes in orientation (e.g., rotation angle, yaw angle, and/or tilt angle) and position) (e.g., the device 300 of FIG. 3 or the portable multi-function device 100 of FIG. 1A). Some of the operations in method 18000 are selectively combined and/or the order of some of the operations is optionally varied.
디바이스는, 디스플레이 생성 컴포넌트에 의해, 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스 또는 증강 현실 사용자 인터페이스) 내에 가상 3차원 객체의 제1 시점의 표현을 디스플레이한다(18002). 예를 들어, 가상 객체(11002)는, 도 13b에 도시된 바와 같이, 스테이징 사용자 인터페이스(6010) 내에 보여진다.The device displays, by the display creation component, a representation of the first view of the virtual three-dimensional object within a first user interface area (e.g., a staging user interface or an augmented reality user interface) (18002). For example,
디스플레이 상의 제1 사용자 인터페이스 영역 내에 가상 3차원 객체의 제1 시점의 표현을 디스플레이하는 동안, 디바이스는 가상 3차원 객체의 제1 시점으로부터 가시적이지 않은 가상 3차원 객체의 일부분을 디스플레이하기 위해 가상 3차원 객체를 디스플레이(예컨대, 터치 스크린 디스플레이의 평면과 같은 디스플레이 생성 컴포넌트에 대응하는 디스플레이 평면)에 대해 회전시키라는 요청에 대응하는 제1 입력(예컨대, 터치 감응형 표면 상에서의 (예컨대, 한 손가락 또는 두 손가락 접촉들에 의한) 스와이프 입력, 또는 피봇 입력(예컨대, 두 손가락 회전, 또는 한 손가락 접촉이 다른 손가락 접촉을 중심으로 피벗))을 검출한다(18004). 예를 들어, 요청은 도 13b 및 도 13c와 관련하여 기술된 바와 같은 입력 또는 도 13e 및 도 13f와 관련하여 기술된 바와 같은 입력이다.While displaying a representation of a first view of the virtual 3-D object within a first user interface area on the display, the device displays a portion of the virtual 3-D object that is not visible from the first view of the virtual 3-D object. A first input (e.g., a motion on a touch-sensitive surface (e.g., one finger or two Detect 18004 a swipe input (by finger contacts), or a pivot input (e.g., two finger rotation, or one finger contact pivoting around another finger contact). For example, the request is an input as described in relation to FIGS. 13B and 13C or an input as described in relation to FIGS. 13E and 13F.
제1 입력을 검출하는 것에 응답하여, 제1 입력이 제1 축(예컨대, 디스플레이의 평면(예컨대, x-y 평면)에 수평 방향으로 평행한 제1 축, 예컨대, x-축)을 중심으로 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 디바이스는 제1 입력의 크기(예컨대, 터치 감응형 표면(예컨대, 디스플레이의 x-y 평면에 대한 대응하는 x-y 평면)의 수직 축(예컨대, y-축)을 따르는 스와이프 입력의 속도 및/또는 거리)에 기초하여 결정되는 그리고 제1 축에 대한 임계량 초과의 회전에 의해 가상 3차원 객체의 회전을 제한하는 이동에 대한 한계에 의해 제약되는 양만큼 가상 3차원 객체를 제1 축에 대해 회전시킨다(예컨대, 제1 축을 중심으로 하는 회전은 제1 축을 중심으로 +/-30도 각도의 범위로 제한되고, 그 범위를 넘는 회전은 제1 입력의 크기에 상관없이 금지된다)(18006). 예를 들어, 도 13e 내지 도 13g와 관련하여 기술된 바와 같이, 가상 객체(11002)의 회전은 한계에 의해 제약된다. 제1 입력이 제1 축과 상이한 제2 축(예컨대, 디스플레이의 평면(예컨대, x-y 평면)에 수직 방향으로 평행한 제2 축, 예컨대, y-축)을 중심으로 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 디바이스는 제1 입력의 크기(예컨대, 터치 감응형 표면(예컨대, 디스플레이의 x-y 평면에 대한 대응하는 x-y 평면)의 수평 축(예컨대, x-축)을 따르는 스와이프 입력의 속도 및/또는 거리)에 기초하여 결정되는 양만큼 가상 3차원 객체를 제2 축에 대해 회전시키는데, 각각의 임계치 초과의 크기를 갖는 입력의 경우, 디바이스는 임계량 초과의 회전만큼 제2 축에 대해 가상 3차원 객체를 회전시킨다. 일부 실시예들에서, 제2 축에 대한 회전의 경우, 디바이스는 제1 축에 대한 회전에 대한 제약조건보다 큰 회전에 대한 제약조건을 부과한다(예컨대, 3차원 객체는 30도 대신에 60도로 회전하도록 허용된다). 일부 실시예들에서, 제2 축에 대한 회전의 경우, 디바이스는 회전에 대한 제약조건을 부과하지 않아서, 3차원 객체가 제2 축을 중심으로 자유롭게 회전할 수 있게 한다(예컨대, 하나 이상의 접촉들의 이동을 포함하는 빠른 또는 긴 스와이프 입력과 같은 충분히 큰 크기를 갖는 입력의 경우, 3차원 객체는 제2 축에 대해 360도 초과로 회전할 수 있다). 예를 들어, 도 13e 내지 도 13g와 관련하여 기술된 입력에 응답하여 x-축을 중심으로 하는 가상 객체(11002)의 회전량보다 큰 가상 객체(11002)의 회전량이 도 13b 및 도 13c와 관련하여 기술된 입력에 응답하여 y-축을 중심으로 발생한다. 입력이 객체를 제1 축을 중심으로 회전시키라는 요청인지 또는 제2 축을 중심으로 회전시키라는 요청인지에 따라 객체를 임계량으로 제약되는 양만큼 회전시킬지 또는 객체를 임계량 초과만큼 회전시킬지를 결정하는 것은 상이한 유형들의 회전 동작들을 제어하는 능력을 개선시킨다. 디스플레이된 추가 제어부들로 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공하는 것은 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만든다.In response to detecting the first input, the first input is displayed in three dimensions about a first axis (e.g., a first axis horizontally parallel to the plane of the display (e.g., x-y plane), e.g., the x-axis). Upon determining that it responds to a request to rotate an object, the device determines the size of the first input (e.g., the vertical axis (e.g., y-axis) of the touch-sensitive surface (e.g., the corresponding x-y plane relative to the x-y plane of the display)). virtual by an amount constrained by a limit on movement that is determined based on the speed and/or distance of the swipe input along the Rotate a three-dimensional object about a first axis (e.g., rotation about the first axis is limited to an angle of +/-30 degrees about the first axis, rotation beyond that range is limited to the size of the first input) prohibited regardless) (18006). For example, as described with respect to Figures 13E-13G, the rotation of
일부 실시예들에서, 제1 입력을 검출하는 것에 응답하여, 제1 입력이 제1 방향(예컨대, y-방향, 터치 감응형 표면 상의 수직 방향)으로 터치 감응형 표면을 가로지르는 접촉의 제1 이동을 포함한다는 그리고 제1 방향으로의 접촉의 제1 이동이 제1 축에 대해 가상 객체의 표현을 회전시키기 위한 제1 기준들을 충족한다는 결정에 따라 - 제1 기준들은 제1 기준들이 충족되기 위해 제1 입력이 제1 방향으로의 제1 임계량 초과의 이동을 포함한다는 요건을 포함함(예컨대, 디바이스가 제1 방향으로의 제1 임계량 초과의 이동을 검출할 때까지 디바이스는 제1 축을 중심으로 하는 3차원 객체의 회전을 개시하지 않음) -, 디바이스는 제1 입력이 제1 축(예컨대, x-축, 디스플레이에 평행한 수평 축, 또는 가상 객체를 통과하는 수평 축)을 중심으로 3차원 객체를 회전시키라는 요청에 대응하는 것으로 결정하고; 제1 입력이 제2 방향(예컨대, x-방향, 터치 감응형 표면 상의 수평 방향)으로 터치 감응형 표면을 가로지르는 접촉의 제2 이동을 포함한다는 그리고 제2 방향으로의 접촉의 제2 이동이 제2 축에 대해 가상 객체의 표현을 회전시키기 위한 제2 기준들을 충족한다는 결정에 따라 - 제2 기준들은 제2 기준들이 충족되기 위해 제1 입력이 제2 방향으로의 제2 임계량 초과의 이동을 포함한다는 요건을 포함함(예컨대, 디바이스가 제2 방향으로의 제2 임계량 초과의 이동을 검출할 때까지 디바이스는 제2 축을 중심으로 하는 3차원 객체의 회전을 개시하지 않음) -, 디바이스는 제1 입력이 제2 축(예컨대, 디스플레이에 평행한 수직 축, 또는 가상 객체를 통과하는 수직 축)을 중심으로 3차원 객체를 회전시키라는 요청에 대응하는 것으로 결정하는데, 제1 임계치는 제2 임계치보다 크다(예컨대, 사용자는 수직 축을 중심으로 하는 회전을 트리거하기 위해(예컨대, 객체를 회전시키기 위해) 수평 방향으로 스와이프하는 것보다 수평 축을 중심으로 하는 회전을 트리거하기 위해(예컨대, 사용자에 대해 객체를 전방으로 또는 후방으로 기울이기 위해) 더 큰 양만큼 수직 방향으로 스와이프할 필요가 있다)(18008). 입력이 객체를 제1 축을 중심으로 회전시키라는 요청인지 또는 제2 축을 중심으로 회전시키라는 요청인지에 따라, 객체를 임계량으로 제약되는 양만큼 회전시킬지 또는 객체를 임계량 초과만큼 회전시킬지를 결정하는 것은 객체를 회전시키라는 요청에 대응하는 입력에 응답하여 상이한 유형들의 회전 동작들을 제어하는 능력을 개선시킨다. 디스플레이된 추가 제어부들로 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공하는 것은 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만든다.In some embodiments, in response to detecting the first input, the first input causes a first of a contact across the touch-sensitive surface in a first direction (e.g., the y-direction, a vertical direction on the touch-sensitive surface). Upon determining that the first movement of the contact in the first direction satisfies the first criteria for rotating the representation of the virtual object about the first axis - the first criteria are such that the first criteria are met. Includes a requirement that the first input includes movement greater than a first threshold amount in a first direction (e.g., until the device detects movement greater than a first threshold amount in the first direction, the device is rotated about the first axis). does not initiate rotation of the three-dimensional object) - the device determines whether the first input is three-dimensional about a first axis (e.g., the x-axis, a horizontal axis parallel to the display, or a horizontal axis passing through the virtual object) determine to respond to a request to rotate an object; wherein the first input includes a second movement of the contact across the touch-sensitive surface in a second direction (e.g., an x-direction, a horizontal direction on the touch-sensitive surface) and wherein the second movement of the contact in the second direction is Upon determining that the second criteria for rotating the representation of the virtual object about the second axis are met - the second criteria require that the first input be moved more than a second threshold amount in the second direction for the second criteria to be met. (e.g., the device does not initiate rotation of the three-dimensional object about the second axis until the device detects movement of more than a second threshold amount in the second direction) -, the device 1 Determine that the input corresponds to a request to rotate a three-dimensional object about a second axis (e.g., a vertical axis parallel to the display, or a vertical axis passing through the virtual object), where the first threshold is equal to a second threshold. greater (e.g., the user must swipe horizontally to trigger a rotation about a horizontal axis (e.g., relative to the user) than to swipe horizontally to trigger a rotation about a vertical axis (e.g., to rotate an object). To tilt an object forward or backward, you need to swipe vertically by a larger amount (18008). Depending on whether the input is a request to rotate the object about a first axis or a request to rotate the object about a second axis, determining whether to rotate the object an amount constrained by a threshold amount or to rotate the object more than a threshold amount Improves the ability to control different types of rotation operations in response to input corresponding to a request to rotate an object. Providing additional control options without cluttering the user interface with additional displayed controls improves the operability of the device and makes the user-device interface more efficient.
일부 실시예들에서, 제1 축에 대한 가상 3차원 객체의 회전은 제1 입력의 제1 입력 파라미터의 특성 값(예컨대, 스와이프 거리, 또는 스와이프 속도)과 제1 축을 중심으로 하는 가상 3차원 객체에 적용되는 회전량 사이의 제1 대응 정도(degree of correspondence)로 발생하고, 제2 축에 대한 가상 3차원 객체의 회전은 제2 입력 제스처의 제1 입력 파라미터의 특성 값(예컨대, 스와이프 거리, 또는 스와이프 속도)과 제2 축을 중심으로 하는 가상 3차원 객체에 적용되는 회전량 사이의 제2 대응 정도로 발생하고, 제1 대응 정도는 제2 대응 정도보다 제1 입력 파라미터에 대한 가상 3차원 객체의 더 작은 회전을 수반한다(예컨대, 제1 축을 중심으로 하는 회전은 제2 축을 중심으로 하는 회전보다 큰 마찰 또는 걸림을 갖는다)(18010). 예를 들어, 가상 객체(11002)의 제1 회전량은 (도 13b 및 도 13c와 관련하여 기술된 바와 같이) y-축을 중심으로 하는 회전을 위한, 스와이프 거리(d1)를 갖는 스와이프 입력에 응답하여 발생하고, 제1 회전량보다 작은 가상 객체(11002)의 제2 회전량은 (도 13e 내지 도 13g와 관련하여 기술된 바와 같이) x-축을 중심으로 하는 회전을 위한, 스와이프 거리(d1)를 갖는 스와이프 입력에 응답하여 발생한다. 입력이 객체를 제1 축을 중심으로 회전시키라는 요청인지 또는 제2 축을 중심으로 회전시키라는 요청인지에 따라, 입력에 응답하여 가상 객체를 회전의 더 큰 정도 또는 더 작은 정도로 회전시키는 것은 객체를 회전시키라는 요청에 대응하는 입력에 응답하여 상이한 유형들의 회전 동작들을 제어하는 능력을 개선시킨다. 디스플레이된 추가 제어부들로 사용자 인터페이스를 혼란스럽게 하지 않으면서 추가 제어 옵션들을 제공하는 것은 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만든다.In some embodiments, the rotation of the virtual three-dimensional object about the first axis includes a characteristic value of the first input parameter (e.g., swipe distance, or swipe speed) of the first input and the virtual three-dimensional object about the first axis. A first degree of correspondence occurs between the amounts of rotation applied to the dimensional object, and the rotation of the virtual three-dimensional object about the second axis corresponds to the characteristic value of the first input parameter of the second input gesture (e.g. a second degree of correspondence between the wipe distance, or swipe speed) and the amount of rotation applied to the virtual three-dimensional object about a second axis, wherein the first degree of correspondence is greater than the second degree of correspondence. Involves smaller rotations of the three-dimensional object (e.g., rotation about a first axis has greater friction or jamming than rotation about a second axis) (18010). For example, the first amount of rotation of
일부 실시예들에서, 디바이스는 제1 입력의 종료를 검출한다(예컨대, 입력은 터치 감응형 표면 상에서의 하나 이상의 접촉들의 이동을 포함하고, 제1 입력의 종료를 검출하는 것은 터치 감응형 표면으로부터 하나 이상의 접촉들의 리프트오프를 검출하는 것을 포함한다)(18012). 제1 입력의 종료를 검출한 후(예컨대, 그에 응답하여), 디바이스는 입력의 종료를 검출하기 전의 제1 입력의 크기에 기초하여(예컨대, 접촉의 리프트오프 직전의 접촉의 이동의 속도에 기초하여) 3차원 객체를 계속 회전시키는데, 이는 3차원 객체가 제1 축에 대해 회전하고 있다는 결정에 따라, 제1 축에 대한 3차원 객체의 회전의 크기에 비례하는 제1 양만큼 제1 축에 대한 객체의 회전을 느리게 하는 것(예컨대, 제1 마찰 계수를 갖는 시뮬레이션된 마찰과 같은 제1 시뮬레이션된 물리적 파라미터에 기초하여 제1 축을 중심으로 하는 3차원 객체의 회전을 느리게 하는 것); 및 3차원 객체가 제2 축에 대해 회전하고 있다는 결정에 따라, 제2 축에 대한 3차원 객체의 회전의 크기에 비례하는 제2 양만큼 제2 축에 대한 객체의 회전을 느리게 하는 것(예컨대, 제1 마찰 계수보다 작은 제2 마찰 계수를 갖는 시뮬레이션된 마찰과 같은 제2 시뮬레이션된 물리적 파라미터에 기초하여 제2 축을 중심으로 하는 3차원 객체의 회전을 느리게 하는 것)을 포함하고, 제2 양은 제1 양과 상이하다(18014). 예를 들어, 도 13c 및 도 13d에서, 가상 객체(11002)는 도 13b 및 도 13c와 관련하여 기술된 바와 같은 가상 객체(11002)의 회전을 야기한 접촉(13002)의 리프트오프 후에 계속 회전한다. 일부 실시예들에서, 제2 양은 제1 양보다 크다. 일부 실시예들에서, 제2 양은 제1 양보다 작다. 입력이 객체를 제1 축을 중심으로 회전시키라는 요청인지 또는 제2 축을 중심으로 회전시키라는 요청인지에 따라, 입력의 종료를 검출한 후에 제1 양 또는 제2 양만큼 가상 객체의 회전을 느리게 하는 것은 제1 축 및 제2 축을 중심으로 하는 회전에 대해 회전 동작들이 가상 객체에 상이하게 적용된다는 것을 나타내는 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 평면에 대응하는 제2 배향으로의 객체의 배치 전에 사용자가 적절한 입력들을 제공하도록 그리고 가상 객체를 조작하기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device detects the end of the first input (e.g., the input includes movement of one or more contacts on the touch-sensitive surface, and detecting the end of the first input is from the touch-sensitive surface). and detecting lift-off of one or more contacts) (18012). After detecting (e.g., in response to) the end of the first input, the device may be configured to: ) continues to rotate the three-dimensional object, which, upon determining that the three-dimensional object is rotating about the first axis, rotates the three-dimensional object about the first axis by a first amount proportional to the magnitude of the rotation of the three-dimensional object about the first axis. slowing the rotation of an object about a first axis (e.g., slowing the rotation of a three-dimensional object about a first axis based on a first simulated physical parameter, such as simulated friction having a first coefficient of friction); and, upon determining that the three-dimensional object is rotating about the second axis, slowing the rotation of the object about the second axis by a second amount proportional to the magnitude of the rotation of the three-dimensional object about the second axis (e.g. , slowing the rotation of the three-dimensional object about the second axis based on a second simulated physical parameter, such as simulated friction having a second coefficient of friction that is less than the first coefficient of friction, wherein the second quantity is Different from the first quantity (18014). For example, in FIGS. 13C and 13D,
일부 실시예들에서, 디바이스는 제1 입력의 종료를 검출한다(예컨대, 입력은 터치 감응형 표면 상에서의 하나 이상의 접촉들의 이동을 포함하고, 제1 입력의 종료를 검출하는 것은 터치 감응형 표면으로부터 하나 이상의 접촉들의 리프트오프를 검출하는 것을 포함한다)(18016). 제1 입력의 종료를 검출한 후(예컨대, 그에 응답하여), 3차원 객체가 제1 축에 대해 각각의 회전 임계치를 넘어서 회전되었다는 결정에 따라, 디바이스는 제1 축에 대한 3차원 객체의 회전의 적어도 일부분을 역전시키고; 3차원 객체가 제1 축에 대해 각각의 회전 임계치를 넘어서 회전되지 않았다는 결정에 따라, 디바이스는 제1 축에 대한 3차원 객체의 회전을 역전시키는 것을 보류한다(18018). (예컨대, 제1 축에 대한 3차원 객체의 회전을 중지하는 것 및/또는 입력의 종료를 검출하기 전에 입력의 크기에 의해 결정된 크기만큼 입력의 모션의 방향으로 제1 축에 대한 3차원 객체의 회전을 계속하는 것). 예를 들어, 도 13e 내지 도 13g와 관련하여 기술된 바와 같이, 가상 객체(11002)가 회전 임계치를 넘어서 회전한 후, 도 13g 및 도 13h에 의해 예시된 바와 같이, 가상 객체(11002)의 회전은 역전된다. 일부 실시예들에서, 3차원 객체의 회전의 역전의 양은 3차원 객체가 각각의 회전 임계치를 넘어서 얼마나 더 회전하였는지에 기초하여 결정된다(예컨대, 3차원 객체의 회전이 각각의 회전 임계치를 넘어서 회전한 양이 더 작은 경우에 제1 축에 대한 회전을 역전시키는 더 작은 양과 비교하여 3차원 객체의 회전이 각각의 회전 임계치를 넘어서 회전한 양이 더 큰 경우에 제1 축에 대해 더 큰 양만큼 3차원 객체의 회전이 역전된다). 일부 실시예들에서, 회전의 역전은 더 큰 힘으로 당기는 탄성 효과와 같은 시뮬레이션된 물리적 파라미터에 의해 구동되고, 추가로 3차원 객체가 제1 축에 대해 각각의 회전 임계치를 넘어서 회전된다. 일부 실시예들에서, 회전의 역전은 각각의 회전 임계치를 넘어서 회전한 제1 축에 대한 회전의 방향에 기초하여 결정되는 회전의 방향으로 이루어진다(예컨대, 3차원 객체가 회전되어 객체의 상부가 디스플레이 내로 후방으로 이동하였으면, 회전의 역전은 객체의 상부를 디스플레이 외부로 전방으로 회전시키는 것이고/것이거나; 3차원 객체의 상부가 디스플레이 외부로 전방으로 회전되도록 객체가 회전되었으면, 회전의 역전은 객체의 상부를 디스플레이 내로 후방으로 회전시키는 것이고/것이거나; 3차원 객체가 회전되어 객체의 우측이 디스플레이 내로 후방으로 이동하였으면, 회전의 역전은 객체의 우측을 디스플레이 외부로 전방으로 회전시키는 것이고/것이거나; 3차원 객체의 좌측이 디스플레이 외부로 전방으로 회전되도록 객체가 회전되었으면, 회전의 역전은 객체의 좌측을 디스플레이 내로 후방으로 회전시키는 것이다). 일부 실시예들에서, 예를 들어, 제2 축에 대한 회전이 각도들의 각각의 범위로 제약되는 경우, 유사한 러버밴딩(rubberbanding)(예컨대, 회전의 조건부 역전)이 제2 축을 중심으로 하는 회전에 대해 수행된다. 일부 실시예들에서, 예를 들어, 3차원 객체가 디바이스에 의해 360도로 회전하게 하도록 제2 축에 대한 회전이 제약되지 않는 경우, (예컨대, 디바이스가 제2 축에 대한 회전에 대해 회전 임계치를 부과하지 않기 때문에) 제2 축을 중심으로 하는 회전에 대해 러버밴딩이 수행되지 않는다. 객체가 회전 임계치를 넘어서 회전되었는지 여부에 따라, 입력의 종료를 검출한 후에 제1 축에 대한 3차원 객체의 회전의 적어도 일부분을 역전시키거나, 제1 축에 대한 3차원 객체의 회전의 일부분을 역전시키는 것을 보류하는 것은, 가상 객체의 회전에 적용가능한 회전 임계치를 나타내는 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 사용자가 가상 객체를 회전 임계치를 넘어서 회전시키기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device detects the end of the first input (e.g., the input includes movement of one or more contacts on the touch-sensitive surface, and detecting the end of the first input is from the touch-sensitive surface). and detecting lift-off of one or more contacts) (18016). After detecting (e.g., in response to) the end of the first input, upon determining that the three-dimensional object has been rotated beyond the respective rotation threshold about the first axis, the device may rotate the three-dimensional object about the first axis. reversing at least a portion of; Upon determining that the three-dimensional object has not been rotated beyond the respective rotation threshold about the first axis, the device withholds reversing the rotation of the three-dimensional object about the first axis (18018). (e.g., stopping rotation of the three-dimensional object about the first axis and/or rotating the three-dimensional object about the first axis in the direction of motion of the input by an amount determined by the magnitude of the input before detecting the end of the input) continuing rotation). For example, after
일부 실시예들에서, 제1 입력이 제1 축 및 제2 축과 상이한 제3 축(예컨대, z-축과 같은, 디스플레이의 평면(예컨대, x-y 평면)에 수직인 제3 축)을 중심으로 3차원 객체를 회전시키라는 요청에 대응한다는 결정에 따라, 디바이스는 제3 축에 대해 가상 3차원 객체를 회전시키는 것을 보류한다(예컨대, z-축을 중심으로 하는 회전은 금지되고, z-축을 중심으로 객체를 회전시키라는 요청은 디바이스에 의해 무시된다)(18020). 일부 실시예들에서, 디바이스는 경보(예컨대, 입력의 실패를 나타내는 촉각적 출력)를 제공한다. 회전 입력이 제3 축을 중심으로 가상 객체를 회전시키라는 요청에 대응한다는 결정에 따라 가상 객체의 회전을 보류하는 것은 제3 축을 중심으로 하는 회전이 제한되는 것을 나타내는 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 사용자가 가상 객체를 제3 축을 중심으로 회전시키기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first input is about a third axis that is different from the first and second axes (e.g., a third axis perpendicular to the plane of the display (e.g., x-y plane), such as the z-axis). Upon determining that it is responding to a request to rotate a three-dimensional object, the device withholds rotating the virtual three-dimensional object about a third axis (e.g., rotation around the z-axis is prohibited, and rotation around the z-axis is prohibited). The request to rotate the object is ignored by the device) (18020). In some embodiments, the device provides an alert (eg, a tactile output indicating failure of input). Suspending rotation of the virtual object upon determining that the rotation input corresponds to a request to rotate the virtual object about the third axis provides visual feedback indicating that rotation about the third axis is limited. Providing improved visual feedback to the user improves the operability of the device (e.g., by helping the user avoid attempts to provide input to rotate a virtual object about a third axis) and improves the user-device interface. This makes it more efficient, which additionally reduces the device's power usage and improves battery life by allowing users to use the device more quickly and efficiently.
일부 실시예들에서, 디바이스는 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내에 가상 3차원 객체의 제1 시점의 표현을 디스플레이하는 동안 가상 3차원 객체에 의해 드리워진 그림자의 표현을 디스플레이한다(18022). 디바이스는 제1 축 및/또는 제2 축에 대한 가상 3차원 객체의 회전에 따라 그림자의 표현의 형상을 가변시킨다. 예를 들어, 가상 객체(11002)의 그림자(13006)의 형상은 가상 객체(11002)가 회전함에 따라 도 13b로부터 도 13f로 가변한다. 일부 실시예들에서, 그림자는 가상 객체의 미리정의된 하부 면을 지지하는 스테이징 사용자 인터페이스에서 비가시적 기준 평면에 대한 가상 객체의 현재 배향을 나타내기 위해 형상이 시프트 및 변경된다. 일부 실시예들에서, 가상 3차원 객체의 표면은 스테이징 사용자 인터페이스에서 표현되는 가상 공간 내에서 미리정의된 방향으로 위치된 시뮬레이션된 광원으로부터의 광을 반사하는 것으로 보인다. 가상 객체의 회전에 따라 그림자의 형상을 가변시키는 것은 (예컨대, 가상 객체가 배향되는 가상 평면(예컨대, 스테이징 뷰의 스테이지)을 나타내는) 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 사용자가 제1 축 또는 제2 축을 중심으로 하는 회전을 야기하기 위해 스와이프 입력에 대한 적절한 방향을 결정하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device displays a representation of a shadow cast by the virtual three-dimensional object while displaying a representation of the first view of the virtual three-dimensional object within a first user interface area (e.g., a staging user interface). 18022). The device changes the shape of the shadow representation according to the rotation of the virtual three-dimensional object about the first axis and/or the second axis. For example, the shape of the shadow 13006 of the
일부 실시예들에서, 제1 사용자 인터페이스 영역 내에서 가상 3차원 객체를 회전시키는 동안, 가상 3차원 객체가 가상 3차원 객체의 미리정의된 하부를 드러내는 제2 시점으로 디스플레이된다는 결정에 따라, 디바이스는 가상 3차원 객체의 제2 시점의 표현으로 그림자의 표현을 디스플레이하는 것을 보류한다(18024). 예를 들어, 디바이스는 (예컨대, 도 13g 내지 도 13i와 관련하여 기술된 바와 같이) 가상 객체가 아래에서 보이고 있을 때 가상 객체의 그림자를 디스플레이하지 않는다. 가상 객체의 하부가 디스플레이된다는 결정에 따라 가상 객체의 그림자의 디스플레이를 보류하는 것은 (예컨대, 객체가 가상 평면(예컨대, 스테이징 뷰의 스테이지)에 더 이상 대응하지 않는 위치로 회전하였다는 것을 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while rotating the virtual 3-D object within the first user interface area, upon determining that the virtual 3-D object is displayed at a second viewpoint revealing a predefined lower portion of the virtual 3-D object, the device: Suspend displaying the representation of the shadow as a second-view representation of the virtual three-dimensional object (18024). For example, the device does not display a shadow of a virtual object when the virtual object is visible from below (e.g., as described with respect to FIGS. 13G-13I). Suspending display of the shadow of a virtual object following a determination that the bottom of the virtual object is displayed may result in visual impairment (e.g., indicating that the object has been rotated to a position that no longer corresponds to the virtual plane (e.g., the stage in the staging view)). Provide feedback. Providing improved visual feedback to the user improves the operability of the device and makes the user-device interface more efficient, which additionally reduces the device's power usage by allowing the user to use the device more quickly and efficiently. reduces and improves battery life.
일부 실시예들에서, 제1 사용자 인터페이스 영역(예컨대, 스테이징 뷰) 내에서 가상 3차원 객체를 회전시킨 후, 디바이스는 제1 사용자 인터페이스 영역 내에 가상 3차원 객체를 재설정하라는 요청에 대응하는 제2 입력(예컨대, 제2 입력은 제1 사용자 인터페이스 영역 상에서의 더블 탭임)을 검출한다(18026). 제2 입력을 검출하는 것에 응답하여, 디바이스는 제1 사용자 인터페이스 영역 내에서 가상 3차원 객체의 미리정의된 원래 시점(예컨대, 제1 시점, 또는 (예컨대, 제1 시점이 스테이징 사용자 인터페이스 내에서의 사용자 조작 후의 디스플레이된 시점인 경우에) 제1 시점과는 구별되는 디폴트 시작 시점)의 표현을 (예컨대, 가상 객체의 회전 및 크기 재설정을 통해) 디스플레이한다(예컨대, 더블 탭에 응답하여, 디바이스는 가상 객체의 배향을 (예컨대, 전방 면이 사용자를 향하고 하부 면이 미리정의된 기준 평면 상에 안착된, 직립하는) 미리정의된 원래 배향으로 재설정한다)(18028). 예를 들어, 도 13i 및 도 13j는 가상 객체(11002)의 시점이 (도 13b 내지 도 13g와 관련하여 기술된 회전 입력의 결과로서) 변경된 시점으로부터 (도 13a에 도시된 가상 객체(11002)의 시점과 동일한) 도 13j의 원래 시점으로 변경되게 하는 입력을 예시한다. 일부 실시예들에서, 가상 3차원 객체를 재설정하라는 지시에 대응하는 제2 입력을 검출하는 것에 응답하여, 디바이스는 또한, 가상 3차원 객체의 디폴트 디스플레이 크기를 반영하도록 가상 3차원 객체를 크기 재설정한다. 일부 실시예들에서, 더블 탭 입력이 스테이징 사용자 인터페이스에서 가상 객체의 배향 및 크기 둘 모두를 재설정하는 한편, 더블 탭 입력은 증강 현실 사용자 인터페이스에서 가상 객체의 배향이 아닌 크기만을 재설정한다. 일부 실시예들에서, 디바이스는 증강 현실 사용자 인터페이스에서 가상 객체의 크기를 재설정하기 위해 더블 탭이 가상 객체에 대한 것임을 요구하는 한편, 디바이스는 가상 객체 상에서 검출되는 더블 탭들 및 가상 객체 주위에서 검출되는 더블 탭들에 응답하여 가상 객체의 배향 및 크기를 재설정한다. 증강 현실 뷰에서, 단일 손가락 스와이프는 (예컨대, 스테이징 뷰에서와 달리) 가상 객체를 회전시키기보다는 가상 객체를 드래그한다. 가상 객체를 재설정하라는 요청을 검출하는 것에 응답하여 가상 객체의 미리정의된 원래의 시점을 디스플레이하는 것은 (예컨대, 객체의 속성들을 조정하기 위해 제공되는 입력이 객체를 미리정의된 원래의 시점으로 복귀시키는 때를 사용자가 추정할 것을 요구하기보다는 객체를 재설정하는 옵션을 제공함으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만든다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 개선하는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, after rotating the virtual three-dimensional object within the first user interface area (e.g., a staging view), the device sends a second input corresponding to a request to reset the virtual three-dimensional object within the first user interface area. Detect (e.g., the second input is a double tap on the first user interface area) (18026). In response to detecting the second input, the device displays a predefined original viewpoint (e.g., a first viewpoint) of the virtual three-dimensional object within the first user interface area (e.g., a first viewpoint, or (e.g., the first viewpoint is within the staging user interface) Display (e.g., through rotation and resizing of the virtual object) a representation (e.g., through rotation and resizing of the virtual object) of the default starting point (in the case of the displayed point of view after user manipulation) that is distinct from the first point of view (e.g., in response to a double tap, the device Reset the orientation of the virtual object to its original predefined orientation (e.g., upright, with the front face facing the user and the bottom face resting on a predefined reference plane) (18028). For example, FIGS. 13I and 13J show the perspective of virtual object 11002 (as shown in FIG. 13A ) from the point in time when the viewpoint of
일부 실시예들에서, 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내에 가상 3차원 객체를 디스플레이하는 동안, 디바이스는 가상 3차원 객체를 크기 재설정하라는 요청에 대응하는 제3 입력을 검출한다(예컨대, 제3 입력은 제1 사용자 인터페이스 영역 상에 표현되는 가상 객체에 대한 핀치 또는 디핀치 제스처이며, 제3 입력은 크기 재설정 동작을 개시하기 위한 기준들(예컨대, (방법(19000)을 참조하여 아래에서 더 상세히 설명되는 바와 같은) 원래 또는 증강된 기준들)을 충족하는 크기를 갖는다)(18030). 제3 입력을 검출하는 것에 응답하여, 디바이스는 입력의 크기에 따라 제1 사용자 인터페이스 영역 내의 가상 3차원 객체의 표현의 크기를 조정한다(18032). 예를 들어, (예컨대, 도 6n 및 도 6o와 관련하여 기술된 바와 같은) 디핀치 제스처를 포함하는 입력에 응답하여, 가상 객체(11002)의 크기는 감소된다. 일부 실시예들에서, 디바이스는 가상 3차원 객체의 표현의 크기가 조정될 때 가상 객체의 현재 줌 레벨을 나타내기 위한 표시자를 디스플레이한다. 일부 실시예들에서, 디바이스는 제3 입력의 종료 시 줌 레벨의 표시자를 디스플레이하는 것을 중지한다. 객체를 크기 재설정하기 위한 입력의 크기에 따라 가상 객체의 크기를 조정하는 것은 (예컨대, 객체를 원하는 양만큼 크기 재설정하는 옵션을 제공함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a virtual three-dimensional object within a first user interface area (e.g., a staging user interface), the device detects a third input corresponding to a request to resize the virtual three-dimensional object (e.g. , the third input is a pinch or de-pinch gesture for a virtual object represented on the first user interface area, and the third input is a pinch or de-pinch gesture for initiating a resize operation (e.g., (see method 19000 below) (18030). In response to detecting the third input, the device adjusts the size of the representation of the virtual three-dimensional object within the first user interface area according to the size of the input (18032). For example, in response to an input that includes a de-pinch gesture (e.g., as described with respect to FIGS. 6N and 6O), the size of
일부 실시예들에서, 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내의 가상 3차원 객체의 표현의 크기를 조정하는 동안, 디바이스는 가상 3차원 객체의 크기가 가상 3차원 객체의 미리정의된 디폴트 디스플레이 크기에 도달했다는 것을 검출한다(18034). 가상 3차원 객체의 크기가 가상 3차원 객체의 미리정의된 디폴트 디스플레이 크기에 도달했다는 것을 검출하는 것에 응답하여, 디바이스는 가상 3차원 객체가 미리정의된 디폴트 디스플레이 크기로 디스플레이되는 것을 나타내기 위해 촉각적 출력(예컨대, 별개의 촉각적 출력)을 생성한다(18036). 도 11o는 (예컨대, 도 11m 내지 도 11o와 관련하여 기술된 바와 같이) 가상 객체(11002)의 크기가 가상 객체(11002)의 이전의 미리정의된 크기에 도달하였다는 것을 검출하는 것에 응답하여 제공되는 촉각적 출력(11024)의 예를 제공한다. 일부 실시예들에서, 디바이스는 가상 객체의 크기가 더블 탭 입력에 응답하여 디폴트 디스플레이 크기로 재설정될 때 동일한 촉각적 출력을 생성한다. 가상 객체의 크기가 미리정의된 디폴트 디스플레이 크기에 도달하였다는 결정에 따라 촉각적 출력을 생성하는 것은 (예컨대, 가상 객체의 시뮬레이션된 크기를 미리정의된 크기로 복귀시키기 위해 추가 입력이 필요하지 않다는 것을 나타내는) 피드백을 사용자에게 제공한다. 개선된 촉각적 피드백을 제공하는 것은 (예컨대, 디스플레이된 정보로 사용자 인터페이스를 혼란스럽게 하지 않으면서 가상 객체의 미리정의된 시뮬레이션된 물리적 크기에 도달하였다는 것을 사용자가 인지하게 하는 감각적 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while resizing a representation of a virtual 3-D object within a first user interface area (e.g., a staging user interface), the device determines that the size of the virtual 3-D object is a predefined default value of the virtual 3-D object. Detect that the display size has been reached (18034). In response to detecting that the size of the virtual three-dimensional object has reached the predefined default display size of the virtual three-dimensional object, the device displays a tactile display to indicate that the virtual three-dimensional object is displayed at the predefined default display size. Generates an output (e.g., a discrete tactile output) (18036). 11O provides in response to detecting that the size of
일부 실시예들에서, 줌 레벨의 시각적 표시(예컨대, 현재 줌 레벨에 대응하는 값을 나타내는 슬라이더)가 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내에 디스플레이된다. 가상 3차원 객체의 표현의 크기가 조정됨에 따라, 줌 레벨의 시각적 표시는 가상 3차원 객체의 표현의 조정된 크기에 따라 조정된다.In some embodiments, a visual indication of the zoom level (eg, a slider indicating a value corresponding to the current zoom level) is displayed within the first user interface area (eg, a staging user interface). As the representation of the virtual three-dimensional object is resized, the visual indication of the zoom level is adjusted according to the adjusted size of the representation of the virtual three-dimensional object.
일부 실시예들에서, 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내의 가상 3차원 객체의 제3 시점의 표현을 디스플레이하는 동안, 디바이스는 하나 이상의 카메라들(예컨대, 디바이스 내에 내장된 카메라들)의 시야를 포함하는 제2 사용자 인터페이스 영역(예컨대, 증강 현실 사용자 인터페이스) 내에 가상 3차원 객체를 디스플레이하라는 요청에 대응하는 제4 입력을 검출한다(18042). 제4 입력을 검출하는 것에 응답하여, 디바이스는, 디스플레이 생성 컴포넌트를 통해, 제2 사용자 인터페이스 영역에 포함되는 하나 이상의 카메라들의 시야의 적어도 일부분 위에 가상 객체의 표현을 디스플레이하는데(예컨대, 하나 이상의 카메라들의 시야는 제2 사용자 인터페이스 영역 내에 가상 객체를 디스플레이하라는 요청에 응답하여 디스플레이됨), 하나 이상의 카메라들의 시야는 하나 이상의 카메라들이 위치되는 물리적 환경의 뷰이다(18044). 가상 객체의 표현을 디스플레이하는 것은, 가상 3차원 객체를 제1 축(예컨대, x-축과 같은, 디스플레이의 평면(예컨대, x-y 평면)에 수평 방향으로 평행한 축)을 중심으로 미리정의된 각도로 (예컨대, 0도와 같은 디폴트 요 각으로; 또는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 정렬되는(예컨대, 그에 평행한) 각도로) 회전시키는 것을 포함한다. 일부 실시예들에서, 디바이스는 3차원 객체가 제1 축에 대해 미리정의된 각도로 점진적으로 회전하는 애니메이션을 디스플레이한다. 제2 축(예컨대, y-축과 같은, 디스플레이의 평면(예컨대, x-y 평면)에 수직 방향으로 평행한 축)에 대한 가상 3차원 객체의 현재 각도를 유지하는 것. (예컨대, 가상 객체를 평면에 대한 미리정의된 배향으로 재위치시키기 위한 추가 입력을 요구하지 않으면서) 하나 이상의 카메라들의 시야 내에 가상 객체를 디스플레이하라는 요청에 응답하여 제1 축을 중심으로 가상 객체를 미리정의된 각도로 회전시키는 것은 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a third-view representation of a virtual three-dimensional object within a first user interface area (e.g., a staging user interface), the device uses one or more cameras (e.g., cameras embedded within the device) A fourth input corresponding to a request to display a virtual three-dimensional object within a second user interface area (e.g., an augmented reality user interface) containing a field of view is detected (18042). In response to detecting the fourth input, the device, via the display generation component, displays a representation of the virtual object over at least a portion of the field of view of one or more cameras included in the second user interface area (e.g., one or more cameras of The field of view is displayed in response to a request to display a virtual object within a second user interface area), and the field of view of one or more cameras is a view of the physical environment in which the one or more cameras are located (18044). Displaying a representation of a virtual object involves rotating the virtual three-dimensional object at a predefined angle about a first axis (e.g., an axis horizontally parallel to the plane of the display (e.g., x-y plane), such as the x-axis). and rotating (e.g., to a default yaw angle, such as 0 degrees; or to an angle that is aligned with (e.g., parallel to) a plane detected in the physical environment captured within the field of view of one or more cameras. In some embodiments, the device displays an animation in which a three-dimensional object gradually rotates at a predefined angle about a first axis. Maintaining the current angle of the virtual three-dimensional object about a second axis (eg, an axis perpendicularly parallel to the plane of the display (eg, x-y plane), such as the y-axis). Preset the virtual object about a first axis in response to a request to display the virtual object within the field of view of one or more cameras (e.g., without requiring additional input to reposition the virtual object to a predefined orientation with respect to the plane) Rotating to a defined angle improves the operability of the device. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently. Reduces power usage and improves battery life.
일부 실시예들에서, 제1 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내에 가상 3차원 객체의 제4 시점의 표현을 디스플레이하는 동안, 디바이스는 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스로 복귀하라는 요청에 대응하는 제5 입력을 검출한다(18046). 제5 입력을 검출하는 것에 응답하여, 디바이스는 가상 3차원 객체의 2차원 표현에 대응하는 가상 3차원 객체의 시점의 표현을 보여주도록 가상 3차원 객체를 (예컨대, 2차원 사용자 인터페이스 및 가상 3차원 객체의 2차원 표현을 디스플레이하기 전에) 회전시키고; 가상 3차원 객체가 가상 3차원 객체의 2차원 표현에 대응하는 각각의 시점의 표현을 보여주도록 회전된 후에 가상 3차원 객체의 2차원 표현을 디스플레이한다(18048). 일부 실시예들에서, 디바이스는 가상 3차원 객체의 2차원 표현에 대응하는 가상 3차원 객체의 시점의 표현을 보여주도록 3차원 객체가 점진적으로 회전하는 애니메이션을 디스플레이한다. 일부 실시예들에서, 디바이스는 또한, 2차원 사용자 인터페이스 내에 디스플레이되는 가상 3차원 객체의 2차원 표현의 크기와 매칭하도록 회전 동안 또는 회전 후에 가상 3차원 객체를 크기 재설정한다. 일부 실시예들에서, 2차원 사용자 인터페이스 내에서 2차원 표현(예컨대, 가상 객체의 섬네일 이미지)의 위치를 향해 이동하여 그 위치에 정착하는 회전된 가상 3차원 객체를 보여주기 위해 애니메이션화된 전이가 디스플레이된다. 가상 3차원 객체의 2차원 표현을 디스플레이하는 것으로 복귀하기 위한 입력에 응답하여 가상 3차원 객체의 2차원 표현에 대응하는 시점으로 가상 3차원 객체를 회전시키는 것은 (예컨대, 디스플레이된 객체가 2차원인 것을 나타내기 위해) 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 사용자가 적절한 입력들을 제공하도록 그리고 2차원 객체의 회전이 이용불가능한 축을 따라서 2차원 객체를 회전시키기 위한 입력을 제공하려는 시도를 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a fourth-view representation of a virtual three-dimensional object within a first user interface area (e.g., a staging user interface), the device displays a two-dimensional user interface that includes a two-dimensional representation of the virtual three-dimensional object. A fifth input corresponding to a request to return to the interface is detected (18046). In response to detecting the fifth input, the device displays the virtual 3-D object (e.g., a 2-D user interface and a virtual 3-D display) to show a representation of a viewpoint of the virtual 3-D object corresponding to the 2-D representation of the virtual 3-D object. rotate (before displaying a two-dimensional representation of the object); The two-dimensional representation of the virtual three-dimensional object is displayed after the virtual three-dimensional object is rotated to show the representation of each viewpoint corresponding to the two-dimensional representation of the virtual three-dimensional object (18048). In some embodiments, the device displays an animation of a three-dimensional object gradually rotating to show a representation of a viewpoint of the virtual three-dimensional object that corresponds to the two-dimensional representation of the virtual three-dimensional object. In some embodiments, the device also resizes the virtual three-dimensional object during or after rotation to match the size of a two-dimensional representation of the virtual three-dimensional object displayed within the two-dimensional user interface. In some embodiments, an animated transition is displayed within a two-dimensional user interface to show a rotated virtual three-dimensional object moving toward and settling in a position of a two-dimensional representation (e.g., a thumbnail image of the virtual object). do. Rotating a virtual three-dimensional object to a viewpoint corresponding to the two-dimensional representation of the virtual three-dimensional object in response to an input to return to displaying the two-dimensional representation of the virtual three-dimensional object (e.g., when the displayed object is two-dimensional) (to indicate that) provides visual feedback. Providing improved visual feedback to the user (e.g., by helping the user provide appropriate inputs and avoid attempts to provide input for rotating a two-dimensional object along an axis for which rotation of the two-dimensional object is not available) It improves the operability of the device and makes the user-device interface more efficient, which additionally reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
일부 실시예들에서, 가상 3차원 객체의 제1 시점의 표현을 디스플레이하기 전에, 디바이스는 각각의 시점으로부터의 가상 3차원 객체의 뷰의 표현(예컨대, 가상 3차원 객체에 대응하는 2차원 이미지와 같은 정적 표현)을 포함하는 가상 3차원 객체의 표현(예컨대, 섬네일 또는 아이콘)을 포함하는 사용자 인터페이스를 디스플레이한다(18050). 가상 3차원 객체의 표현을 디스플레이하는 동안, 디바이스는 가상 3차원 객체를 디스플레이하라는 요청(예컨대, 가상 3차원 객체의 표현에 대한 탭 입력 또는 다른 선택 입력)을 검출한다(18052). 가상 3차원 객체를 디스플레이하라는 요청을 검출하는 것에 응답하여, 디바이스는 가상 3차원 객체의 표현의 디스플레이를 가상 3차원 객체의 표현의 각각의 시점과 매칭하도록 회전된 가상 3차원 객체로 대체한다(18054). 도 11a 내지 도 11e는 가상 객체(11002)의 표현을 디스플레이하는 사용자 인터페이스(5060)의 예를 제공한다. 가상 객체(11002)를 디스플레이하라는 요청에 응답하여, 도 11a와 관련하여 기술되는 바와 같이, 사용자 인터페이스(5060)의 디스플레이는 도 11e에 도시된 바와 같이, 스테이징 사용자 인터페이스(6010) 내의 가상 객체(11002)의 디스플레이로 대체된다. 도 11e의 가상 객체(11002)의 시점은 도 11a의 가상 객체(11002)의 표현의 시점과 동일하다. 일부 실시예들에서, 가상 3차원 객체의 표현은 그가 가상 3차원 객체로 대체되기 전에 (예컨대, 가상 3차원 객체의 크기와 매칭하는 크기로) 축척이 증가(scale up)된다. 일부 실시예들에서, 가상 3차원 객체는 초기에 가상 3차원 객체의 표현의 크기로 디스플레이되고, 이어서 축척이 증가된다. 일부 실시예들에서, 가상 3차원 객체의 표현으로부터 가상 3차원 객체로의 전이 동안, 디바이스는 가상 3차원 객체의 표현을 점진적으로 확대시키고, 가상 3차원 객체의 표현을 가상 3차원 객체로 크로스 페이드(cross fade)시키고, 이어서 가상 3차원 객체를 점진적으로 확대시켜서 가상 3차원 객체의 표현과 가상 3차원 객체 사이의 매끄러운 전이를 생성하게 한다. 일부 실시예들에서, 가상 3차원 객체의 초기 위치는 가상 3차원 객체의 표현의 위치에 대응하도록 선택된다. 일부 실시예들에서, 가상 3차원 객체의 표현은 가상 3차원 객체가 디스플레이될 위치에 대응하도록 선택된 위치로 시프트된다. 가상 3차원 객체의 (2차원) 표현의 디스플레이를 (2차원) 표현의 시점과 매칭하도록 회전된 가상 3차원 객체로 대체하는 것은 (예컨대, 3차원 객체가 가상 3차원 객체의 2차원 표현과 동일 객체라는 것을 나타내는) 시각적 피드백을 제공한다. 사용자에게 개선된 시각적 피드백을 제공하는 것은, 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, prior to displaying the representation of the first viewpoint of the virtual three-dimensional object, the device displays a representation of the view of the virtual three-dimensional object from each viewpoint (e.g., a two-dimensional image corresponding to the virtual three-dimensional object). A user interface including a representation (e.g., a thumbnail or an icon) of a virtual three-dimensional object including the same static representation is displayed (18050). While displaying a representation of a virtual three-dimensional object, the device detects a request to display the virtual three-dimensional object (e.g., a tap input or other selection input on the representation of the virtual three-dimensional object) (18052). In response to detecting a request to display a virtual three-dimensional object, the device replaces the display of a representation of the virtual three-dimensional object with a virtual three-dimensional object rotated to match each viewpoint of the representation of the virtual three-dimensional object (18054 ). 11A-11E provide an example of a user interface 5060 displaying a representation of a
일부 실시예들에서, 제1 사용자 인터페이스를 디스플레이하기 전에, 디바이스는 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스를 디스플레이한다(18056). 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스를 디스플레이하는 동안, 디바이스는 가상 3차원 객체의 2차원 표현에 대응하는 터치 감응형 표면 상의 위치에서 미리보기 기준들(예컨대, 미리보기 기준들은 누르기 입력의 세기가 제1 세기 임계치(예컨대, 가볍게 누르기 세기 임계치)를 초과할 것을 요구하고/하거나 미리보기 기준들은 누르기 입력의 지속기간이 제1 지속기간 임계치를 초과할 것을 요구함)을 충족하는 터치 입력의 제1 부분(예컨대, 접촉의 세기의 증가)을 검출한다(18058). 미리보기 기준들을 충족하는 터치 입력의 제1 부분을 검출하는 것에 응답하여, 디바이스는 가상 3차원 객체의 2차원 표현보다 큰 가상 3차원 객체의 미리보기를 디스플레이한다(예컨대, 미리보기는 가상 3차원 객체의 상이한 시점들을 보여주도록 애니메이션화된다)(18060). 일부 실시예들에서, 디바이스는 (예컨대, 입력의 지속기간 또는 압력에 기초하여 또는 애니메이션의 미리결정된 속도에 기초하여) 3차원 객체가 점진적으로 확대되는 애니메이션을 디스플레이한다. (예컨대, 현재 디스플레이된 사용자 인터페이스의 디스플레이를 상이한 사용자 인터페이스로 대체하지 않으면서) 가상 3차원 객체의 미리보기를 디스플레이하는 것은 (예컨대, 사용자가 가상 3차원 객체를 디스플레이하는 것을 그리고 사용자 인터페이스들 사이에서 내비게이팅하기 위한 입력을 제공하지 않고서 가상 3차원 객체의 2차원 표현을 관찰하는 것으로 복귀하는 것을 가능하게 함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, prior to displaying the first user interface, the device displays a two-dimensional user interface including a two-dimensional representation of a virtual three-dimensional object (18056). While displaying a two-dimensional user interface that includes a two-dimensional representation of a virtual three-dimensional object, the device displays preview criteria (e.g., preview criteria) at a location on the touch-sensitive surface that corresponds to the two-dimensional representation of the virtual three-dimensional object. require that the intensity of the press input exceed a first intensity threshold (e.g., a light press intensity threshold) and/or the preview criteria require that the duration of the press input exceed a first duration threshold) A first portion of the touch input (e.g., an increase in intensity of contact) is detected (18058). In response to detecting a first portion of touch input that meets the preview criteria, the device displays a preview of the virtual 3-D object that is larger than a two-dimensional representation of the virtual 3-D object (e.g., the preview is a preview of the virtual 3-D object). animated to show different views of the object) (18060). In some embodiments, the device displays an animation in which a three-dimensional object gradually enlarges (eg, based on the duration or pressure of an input or based on a predetermined speed of the animation). Displaying a preview of a virtual three-dimensional object (e.g., without replacing the display of the currently displayed user interface with a different user interface) allows the user to display the virtual three-dimensional object and switch between user interfaces. improves the operability of the device (by allowing it to return to observing a two-dimensional representation of a virtual three-dimensional object without providing input for navigation). Reducing the number of inputs required to perform an operation improves the operability of the device, which additionally reduces the device's power usage and battery life by allowing users to use the device more quickly and efficiently. improve it
일부 실시예들에서, 가상 3차원 객체의 미리보기를 디스플레이하는 동안, 디바이스는 (예컨대, 동일한 연속적으로 유지되는 접촉에 의해) 터치 입력의 제2 부분을 검출한다(18062). 터치 입력의 제2 부분을 검출하는 것에 응답하여, 터치 입력의 제2 부분이 메뉴 디스플레이 기준들(예컨대, 메뉴 디스플레이 기준들은 접촉이 미리정의된 방향(예컨대, 상향)으로 임계량 초과만큼 이동할 것을 요구함)을 충족한다는 결정에 따라, 디바이스는 가상 객체와 연관된 복수의 동작들에 대응하는 복수의 선택가능한 옵션들(예컨대, 공유 메뉴)(예컨대, 가상 객체를 다른 디바이스 또는 사용자와 공유하는 다양한 수단들과 같은 공유 옵션들)을 디스플레이하고; 터치 입력의 제2 부분이 스테이징 기준들(예컨대, 스테이징 기준들은 접촉의 세기가 제1 임계 세기보다 큰 제2 임계 세기(예컨대, 깊게 누르기 세기 임계치)를 초과할 것을 요구함)을 충족한다는 결정에 따라, 디바이스는 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스의 디스플레이를 가상 3차원 객체를 포함하는 제1 사용자 인터페이스로 대체한다(18064). 스테이징 기준들이 충족되는지 여부에 따라, 가상 객체와 연관된 메뉴를 디스플레이하는 것 또는 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스의 디스플레이를 가상 3차원 객체를 포함하는 제1 사용자 인터페이스로 대체하는 것은, 입력에 응답하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 한다. 제1 유형의 입력을 이용하여 다수의 상이한 유형들의 동작들의 수행을 가능하게 하는 것은 사용자가 이들 동작들을 수행할 수 있는 효율을 증가시키며, 이에 의해 디바이스의 작동성을 향상시키고, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a preview of the virtual three-dimensional object, the device detects a second portion of the touch input (e.g., by contact remaining the same continuously) (18062). In response to detecting the second portion of the touch input, the second portion of the touch input may comply with menu display criteria (e.g., the menu display criteria require that the contact move more than a threshold amount in a predefined direction (e.g., upward)) Upon determining that the display sharing options); Upon determining that the second portion of the touch input meets staging criteria (e.g., the staging criteria require that the intensity of the contact exceed a second threshold intensity (e.g., a deep press intensity threshold) that is greater than the first threshold intensity) , the device replaces the display of the two-dimensional user interface including the two-dimensional representation of the virtual three-dimensional object with a first user interface including the virtual three-dimensional object (18064). Depending on whether the staging criteria are met, displaying a menu associated with the virtual object or replacing the display of a two-dimensional user interface containing a two-dimensional representation of the virtual three-dimensional object with a first user interface containing the virtual three-dimensional object. Doing so enables performance of a number of different types of operations in response to input. Enabling the performance of multiple different types of operations using a first type of input increases the efficiency with which the user can perform these operations, thereby improving the operability of the device, which additionally allows the user to: Reduces device power usage and improves battery life by enabling devices to be used more quickly and efficiently.
일부 실시예들에서, 제1 사용자 인터페이스는 복수의 제어부들(예컨대, 실세계 뷰로 스위칭하기를 위한, 뒤로 가기를 위한, 등을 위한 버튼들)을 포함한다(18066). 제1 사용자 인터페이스를 디스플레이하기 전에, 디바이스는 가상 3차원 객체의 2차원 표현을 포함하는 2차원 사용자 인터페이스를 디스플레이한다(18068). 제1 사용자 인터페이스 내에 가상 3차원 객체를 디스플레이하라는 요청을 검출하는 것에 응답하여, 디바이스는 가상 3차원 객체와 연관된 한 세트의 하나 이상의 제어부들을 디스플레이하지 않으면서 제1 사용자 인터페이스 내에 가상 3차원 객체를 디스플레이하고; 제1 사용자 인터페이스 내에 가상 3차원 객체를 디스플레이한 후, 디바이스는 한 세트의 하나 이상의 제어부들을 디스플레이한다(18070). 예를 들어, 도 11a 내지 도 11e와 관련하여 기술된 바와 같이, 가상 객체(11002)의 2차원 표현을 포함하는 사용자 인터페이스(5060)의 디스플레이는 스테이징 사용자 인터페이스(6010) 전에 디스플레이된다. (도 11a와 관련하여 기술된 바와 같이) 스테이징 사용자 인터페이스(6010) 내에 가상 객체(11002)를 디스플레이하라는 요청에 응답하여, 가상 객체(11002)는 스테이징 사용자 인터페이스(6010)의 제어부들(6016, 6018, 6020) 없이 (도 11b 및 도 11c에 도시된 바와 같이) 디스플레이된다. 도 11d 및 도 11e에서, 스테이징 사용자 인터페이스(6010)의 제어부들(6016, 6018, 6020)은 사용자 인터페이스 내에서 뷰로 페이드 인된다. 일부 실시예들에서, 한 세트의 하나 이상의 제어부들은, 가상 3차원 객체가 디바이스의 하나 이상의 카메라들의 시야 내에서 검출되는 평면에 대해 고정된 위치에 배치되는 증강 현실 환경에서 가상 3차원 객체를 디스플레이하기 위한 제어부를 포함한다. 일부 실시예들에서, 제1 사용자 인터페이스 내에 가상 3차원 객체를 디스플레이하라는 요청을 검출하는 것에 응답하여, 가상 3차원 객체가 제1 사용자 인터페이스 내에 디스플레이될 준비가 되어 있지 않다는(예컨대, 제1 사용자 인터페이스가 디스플레이될 준비가 된 시점에 가상 객체의 3차원 모델이 완전히 로딩되지 않는다는)(예컨대, 가상 객체의 로딩 시간이 임계 시간보다 길다는(예컨대, 사용자에게 인지가능하고 유의함)) 결정에 따라, 디바이스는 제1 사용자 인터페이스 상에 복수의 제어부들을 디스플레이하지 않으면서 제1 사용자 인터페이스의 일부분(예컨대, 제1 사용자 인터페이스의 배경 윈도우)을 디스플레이하고; (예컨대, 제1 사용자 인터페이스의 일부분이 제어부들 없이 디스플레이된 후) 가상 3차원 객체가 제1 사용자 인터페이스 내에 디스플레이될 준비가 되어 있다는 결정에 따라, 디바이스는 제1 사용자 인터페이스 내에 가상 3차원 객체를 (예컨대, 페이드 인으로) 디스플레이하고; 디바이스는 가상 3차원 객체가 제1 사용자 인터페이스 내에 디스플레이된 후 제어부들을 (예컨대, 페이드 인으로) 디스플레이한다. 제1 사용자 인터페이스 내에 가상 3차원 객체를 디스플레이하라는 요청을 검출하는 것에 응답하여, 그리고 가상 3차원 객체가 디스플레이될 준비가 되어 있다는(예컨대, 제1 사용자 인터페이스가 디스플레이될 준비가 된 경우에 가상 객체의 3차원 모델이 로딩되었다는)(예컨대, 가상 객체의 로딩 시간은 임계 시간보다 짧다는(예컨대, 사용자에게 인지가능하지 않고 무시할 수 있음)) 결정에 따라, 디바이스는 복수의 제어부들이 제1 사용자 인터페이스 상에 있는 상태로 제1 사용자 인터페이스를 디스플레이하고; 디바이스는 복수의 제어부들과 함께 제1 사용자 인터페이스 내에 가상 3차원 객체를 (예컨대, 페이드 인 없이) 디스플레이한다. 일부 실시예들에서, (예컨대, "뒤로 가라"는 요청에 응답하여) 2차원 사용자 인터페이스로 복귀하기 위해 스테이징 사용자 인터페이스가 존재하는 경우, 가상 3차원 객체가 가상 3차원 객체의 2차원 표현으로 변환되기 전에 제어부들이 먼저 페이드 아웃된다. 사용자 인터페이스 내에 가상 3차원 객체를 디스플레이한 후에 제어부들을 디스플레이하는 것은 (예컨대, 가상 객체를 조작하는 제어부들이 가상 객체를 로딩하는 데 필요한 시간 동안 이용불가능하다는 것을 나타내는) 시각적 피드백을 제공한다. 개선된 시각적 피드백을 사용자에게 제공하는 것은, (예컨대, 가상 객체에 대한 로딩 시간 중에 조작 동작들이 이용불가능한 동안 사용자가 객체를 조작하기 위한 입력을 제공하는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first user interface includes a plurality of controls (e.g., buttons for switching to a real-world view, for going back, etc.) 18066. Before displaying the first user interface, the device displays a two-dimensional user interface including a two-dimensional representation of a virtual three-dimensional object (18068). In response to detecting a request to display a virtual three-dimensional object within the first user interface, the device displays the virtual three-dimensional object within the first user interface without displaying a set of one or more controls associated with the virtual three-dimensional object. do; After displaying the virtual three-dimensional object within the first user interface, the device displays a set of one or more controls (18070). For example, as described with respect to FIGS. 11A-11E , the display of user interface 5060 containing a two-dimensional representation of
도 18a 내지 도 18i에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 1000, 16000, 17000, 19000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 18a 내지 도 18i와 관련하여 전술된 방법(18000)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(18000)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 1000, 17000, 18000, 19000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 18A-18I are described is by way of example only and is not intended to indicate that the described order is the only order in which the operations may be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g., methods 800, 900, 1000, 16000, 17000, 19000, 20000) are provided in FIGS. 18A-18A. It should be noted that method 18000 described above with respect to Figure 18I is also applicable in a similar manner. For example, contacts, inputs, virtual objects, user interface areas, views, tactile outputs, movements, and/or animations described above in connection with method 18000 are optionally described herein. Contacts, inputs, virtual objects, user interface areas, and fields of view described herein in connection with other methods described (e.g., methods 800, 900, 1000, 17000, 18000, 19000, 20000). has one or more of the following characteristics: fields, tactile outputs, movements, and/or animations. For brevity, these details are not repeated here.
도 19a 내지 도 19h는 이동의 제1 임계치 크기가 제1 객체 조작 거동에 대해 충족된다는 결정에 따라, 제2 객체 조작 거동에 필요한 이동의 제2 임계치 크기를 증가시키는 방법(19000)을 예시하는 흐름도들이다. 방법(19000)은 디스플레이 생성 컴포넌트(예컨대, 디스플레이, 프로젝터, 헤드 업 디스플레이 등) 및 터치 감응형 표면(예컨대, 터치 감응형 표면, 또는 디스플레이 생성 컴포넌트 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이)을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 방법(19000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.19A-19H are flow diagrams illustrating a method 19000 of increasing a second threshold amount of movement required for a second object manipulation behavior in response to a determination that the first threshold amount of movement is met for the first object manipulation behavior. admit. Method 19000 includes a display generating component (e.g., a display, projector, head up display, etc.) and a touch-sensitive surface (e.g., a touch-sensitive surface, or a touch screen that serves as both a display generating component and a touch-sensitive surface). It is performed on an electronic device (e.g., device 300 of FIG. 3 or portable multi-function device 100 of FIG. 1A) having a display. Some of the operations in method 19000 are selectively combined and/or the order of some of the operations is optionally varied.
디바이스는, 디스플레이 생성 컴포넌트를 통해, 제1 제스처 인식 기준들(예컨대, 회전 기준들)을 충족하는 입력들에 응답하여 수행되는 제1 객체 조작 거동(예컨대, 각각의 축을 중심으로 하는 사용자 인터페이스 객체의 회전) 및 제2 제스처 인식 기준들(예컨대, 병진 기준들 및 축척조정 기준들 중 하나)을 충족하는 입력들에 응답하여 수행되는 제2 객체 조작 거동(예컨대, 사용자 인터페이스 객체의 병진 또는 사용자 인터페이스 객체의 축척조정 중 하나)을 포함하는 복수의 객체 조작 거동들과 연관된 사용자 인터페이스 객체를 포함하는 제1 사용자 인터페이스 영역(예컨대, 가상 객체의 표현을 포함하는 사용자 인터페이스 영역)을 디스플레이한다(19002). 예를 들어, 디스플레이된 가상 객체(11002)는 (예컨대, 도 14b 내지 도 14e와 관련하여 기술된 바와 같은) 각각의 축을 중심으로 하는 회전, (예컨대, 도 14k 내지 도 14m과 관련하여 기술된 바와 같은) 병진, 및 (예컨대, 도 14g 내지 도 14i와 관련하여 기술된 바와 같은) 축척조정을 포함하는 조작 거동들과 연관된다.The device, through the display creation component, performs a first object manipulation behavior (e.g., a user interface object about a respective axis) performed in response to inputs that meet first gesture recognition criteria (e.g., rotation criteria). rotation) and a second object manipulation behavior (e.g., translation of a user interface object or a second object manipulation behavior performed in response to inputs that meet the second gesture recognition criteria (e.g., one of the translation criteria and the scaling criteria) A first user interface area (e.g., a user interface area containing a representation of a virtual object) containing a user interface object associated with a plurality of object manipulation behaviors including one of scale adjustments is displayed (19002). For example, displayed
제1 사용자 인터페이스 영역을 디스플레이하는 동안, 디바이스는, 터치 감응형 표면을 가로지르는 하나 이상의 접촉들의 이동을 검출하는 것을 포함하여, 사용자 인터페이스 객체에 대한 입력의 제1 부분을 검출하고(예컨대, 디바이스는 사용자 인터페이스 객체의 디스플레이 위치에 대응하는 터치 감응형 표면 상의 위치들에서 하나 이상의 접촉들을 검출함), 하나 이상의 접촉들이 터치 감응형 표면 상에서 검출되는 동안, 디바이스는 제1 제스처 인식 기준들 및 제2 제스처 인식 기준들 양자 모두에 대한 하나 이상의 접촉들의 이동을 평가한다(19004).While displaying the first user interface area, the device detects a first portion of input to the user interface object, including detecting movement of one or more contacts across the touch-sensitive surface (e.g., the device detecting one or more contacts at locations on the touch-sensitive surface that correspond to the display location of the user interface object), while the one or more contacts are detected on the touch-sensitive surface, the device detects the first gesture recognition criteria and the second gesture Evaluate the movement of one or more contacts relative to both recognition criteria (19004).
입력의 제1 부분을 검출하는 것에 응답하여, 디바이스는 입력의 제1 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는데, 이는 입력의 제1 부분이 제2 제스처 인식 기준들을 충족하기 전에 제1 제스처 인식 기준들을 충족한다는 결정에 따라, 입력의 제1 부분에 기초하여(예컨대, 입력의 제1 부분의 방향 및/또는 크기에 기초하여) 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것(예컨대, 사용자 인터페이스 객체를 회전시키는 것); 및 (예컨대, 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서) 제2 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제2 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제2 제스처 인식 기준들을 업데이트하는 것을 포함한다(19006). 예를 들어, 도 14e에서, (축척조정 기준들이 충족되기 전에) 회전 기준들이 충족되었다는 결정에 따라 가상 객체(1102)가 회전하였고, 축척조정 기준들에 대한 임계치 ST가 ST'으로 증가된다. 일부 실시예들에서, 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (병진 또는 축척조정에 대한 기준들이 이전에 충족되지 않았다고 가정하면) 병진 또는 축척조정을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 더 어려워지고(예컨대, 병진 및 축척조정에 대한 기준들은 이동 파라미터에 대한 증가된 임계치들로 업데이트됨), 객체 조작은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의(bias)된다. 입력이 제1 제스처 인식 기준들을 충족하기 전에 제2 제스처 인식 기준들을 충족한다는 결정에 따라, 디바이스는 입력의 제1 부분에 기초하여(예컨대, 입력의 제1 부분의 방향 및/또는 크기에 기초하여) 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고(예컨대, 사용자 인터페이스 객체를 병진시키거나 사용자 인터페이스 객체를 크기 재설정함); (예컨대, 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서) 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제1 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제1 제스처 인식 기준들을 업데이트한다. 예를 들어, 도 14i에서, (회전 기준들이 충족되기 전에) 축척조정 기준들이 충족되었다는 결정에 따라 가상 객체(1102)의 크기가 증가하였고, 회전 기준들에 대한 임계치 RT가 RT'으로 증가된다. 일부 실시예들에서, 객체를 병진 또는 축척조정하기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 이전에 충족되지 않았다고 가정하면) 회전을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 회전 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 병진 또는 축척조정하기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 회전 동작을 개시하는 것은 더 어려워지고(예컨대, 객체를 회전시키기 위한 기준들은 이동 파라미터에 대한 증가된 임계치로 업데이트됨), 객체 조작 거동은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 일부 실시예들에서, 사용자 인터페이스 객체의 외관은 입력의 각각의 이동 파라미터의 값들에 따라 동적으로 그리고 연속적으로 변경된다(예컨대, 상이한 크기들, 위치들, 시점들, 반사상들, 그림자들 등을 보여줌). 일부 실시예들에서, 디바이스는 이동 파라미터(예컨대, 각각의 유형의 조작 거동에 대한 각각의 이동 파라미터)와 사용자 인터페이스 객체의 외관(예컨대, 각각의 유형의 조작 거동에 대한 외관의 각각의 양태)에 대해 이루어진 변경들 사이의 미리설정된 대응관계(예컨대, 각각의 유형의 조작 거동에 대한 각각의 대응관계)를 따른다. 입력 이동이 제2 객체 조작에 대한 제2 임계치를 초과하여 증가할 때 제1 객체 조작에 필요한 입력 이동에 대한 제1 임계치를 증가시키는 것은 (예컨대, 제1 객체 조작을 수행하기 위한 입력을 제공하려고 시도하는 동안 사용자가 제2 객체 조작을 우발적으로 수행하는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시킨다. 상이한 유형들의 객체 조작을 제어할 수 있는 사용자의 능력을 개선하는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만든다.In response to detecting the first portion of input, the device updates the appearance of the user interface object based on the first portion of input, including the first gesture before the first portion of input meets the second gesture recognition criteria. Depending on the determination that the recognition criteria are met, change the appearance of the user interface object according to the first object manipulation behavior based on the first portion of the input (e.g., based on the direction and/or size of the first portion of the input). (e.g., rotating a user interface object); and by increasing the threshold for the second gesture recognition criteria (e.g., without changing the appearance of the user interface object according to the second object manipulation behavior) (e.g., by increasing the movement parameter (e.g., movement distance) in the second gesture recognition criteria. , speed, etc.) and updating the second gesture recognition criteria (19006). For example, in Figure 14E, virtual object 1102 has been rotated upon a determination that the rotation criteria have been met (before the scale criteria have been met) and the threshold ST for the scale criteria is increased to ST'. In some embodiments, before the criteria for recognizing a gesture for rotating an object are met, a method for recognizing a gesture for translation or scaling is provided (assuming the criteria for translation or scaling have not previously been met). It is relatively easy to initiate translation or scaling operations on an object by meeting the criteria. Once the criteria for recognizing a gesture for rotating an object are met, initiating translation or scaling operations on the object becomes more difficult (e.g., the criteria for translation and scaling require increased thresholds for movement parameters). ), object manipulation is biased towards manipulation behaviors that correspond to gestures already recognized and used to manipulate these objects. Upon determining that the input meets the second gesture recognition criteria before meeting the first gesture recognition criteria, the device determines that the device may use the first portion of the input (e.g., based on the direction and/or size of the first portion of the input). ) change the appearance of the user interface object (e.g., translate the user interface object or resize the user interface object) according to the second object manipulation behavior; By increasing the threshold for the first gesture recognition criteria (e.g. without changing the appearance of the user interface object according to the first object manipulation behavior) (e.g. movement parameters (e.g. movement distance, Update the first gesture recognition criteria (by increasing the threshold required for speed, etc.). For example, in Figure 14I, the size of virtual object 1102 has been increased upon a determination that the scaling criteria have been met (before the rotation criteria have been met), and the threshold RT for the rotation criteria is increased to RT'. In some embodiments, before the criteria for recognizing a gesture for translating or scaling an object are met, a gesture for rotation (assuming the criteria for recognizing a gesture for rotating an object have not previously been met) It is relatively easy to initiate a rotational motion for an object by meeting the criteria for recognizing . Once the criteria for recognizing a gesture to translate or scale an object are met, initiating a rotational motion on the object becomes more difficult (e.g., the criteria for rotating an object are updated with increased thresholds for the movement parameters). ), object manipulation behaviors are biased towards manipulation behaviors that correspond to gestures already recognized and used to manipulate these objects. In some embodiments, the appearance of a user interface object dynamically and continuously changes (e.g., showing different sizes, positions, viewpoints, reflections, shadows, etc.) depending on the values of each movement parameter of the input. ). In some embodiments, the device determines the movement parameters (e.g., each movement parameter for each type of manipulation behavior) and the appearance of the user interface object (e.g., each aspect of the appearance for each type of manipulation behavior). It follows a preset correspondence relationship between changes made to each other (e.g., each correspondence relationship for each type of operating behavior). Increasing the first threshold for input movement required for the first object manipulation when the input movement increases beyond the second threshold for the second object manipulation (e.g., to provide input to perform the first object manipulation) Improves the operability of the device (by helping the user avoid accidentally performing a second object manipulation during an attempt). Improving the user's ability to control the manipulation of different types of objects improves the operability of the device and makes the user-device interface more efficient.
일부 실시예들에서, 입력의 제1 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트한 후, 디바이스는 (예컨대, 입력의 제1 부분 내의 동일한 연속적으로 유지되는 접촉들, 또는 입력의 제1 부분 내의 접촉들의 종료(예컨대, 리프트오프) 후에 검출되는 상이한 접촉들에 의해) 입력의 제2 부분을 검출한다(19008). 일부 실시예들에서, 입력의 제2 부분은 사용자 인터페이스 객체에 대한 것인 연속적으로 검출된 입력들에 기초하여 검출된다. 입력의 제2 부분을 검출하는 것에 응답하여, 디바이스는 입력의 제2 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는데, 이는 입력의 제1 부분이 제1 제스처 인식 기준들을 충족하였고 입력의 제2 부분이 업데이트된 제2 제스처 인식 기준들을 충족하지 않는다는 결정에 따라, (예컨대, 입력의 제2 부분이 제1 제스처 인식 기준들 또는 원래의 제2 제스처 인식 기준들을 충족하는지 여부에 관계없이) (예컨대, 입력의 제2 부분이 업데이트되기 전의 원래의 제2 제스처 인식 기준들을 충족하는 경우에도) 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서 입력의 제2 부분에 기초하여(예컨대, 입력의 제2 부분의 방향 및/또는 크기에 기초하여) 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것; 및 입력의 제1 부분이 제2 제스처 인식 기준들을 충족하였고 입력의 제2 부분이 업데이트된 제1 제스처 인식 기준들을 충족하지 않는다는 결정에 따라, (예컨대, 입력의 제2 부분이 제2 제스처 인식 기준들 또는 원래의 제1 제스처 인식 기준들을 충족하는지 여부에 관계없이) (예컨대, 입력의 제2 부분이 업데이트되기 전의 원래의 제1 제스처 인식을 충족하는 경우에도) 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서 입력의 제2 부분에 기초하여(예컨대, 입력의 제2 부분의 방향 및/또는 크기에 기초하여) 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것을 포함한다(19010).In some embodiments, after updating the appearance of a user interface object based on the first portion of input, the device may Detect a second portion of the input (19008) by different contacts being detected after termination of the contacts (e.g., liftoff). In some embodiments, the second portion of input is detected based on continuously detected inputs that are for a user interface object. In response to detecting the second portion of input, the device updates the appearance of the user interface object based on the second portion of input, wherein the first portion of input met the first gesture recognition criteria and the second portion of input Upon determining that the portion does not meet the updated second gesture recognition criteria (e.g., regardless of whether the second portion of input meets the first gesture recognition criteria or the original second gesture recognition criteria) (e.g. Based on the second part of the input (e.g., changing the appearance of the user interface object according to the first object manipulation behavior (based on the direction and/or size of the second portion of the input); and in accordance with a determination that the first portion of input met the second gesture recognition criteria and the second portion of input did not meet the updated first gesture recognition criteria (e.g., the second portion of input met the second gesture recognition criteria). or a user interface according to the first object manipulation behavior (regardless of whether it meets the original first gesture recognition criteria) (e.g., even if it meets the original first gesture recognition before the second part of the input was updated) changing the appearance of the user interface object according to the second object manipulation behavior based on the second portion of the input (e.g., based on the direction and/or size of the second portion of the input) without changing the appearance of the object. Handa (19010).
일부 실시예들에서, 입력의 제1 부분이 제1 제스처 인식 기준들을 충족한 후 입력의 제2 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관이 변경되는 동안, 입력의 제2 부분은 (예컨대, 임계치(들)가 증가되기 전의 제2 제스처 인식 기준들 내의 입력의 이동 파라미터(들)에 대한 원래의 임계치(들)로) 제2 제스처 인식 기준들이 업데이트되기 전의 제2 제스처 인식 기준들을 충족하는 입력을 포함한다(예컨대, 입력의 제2 부분은 업데이트된 제2 제스처 인식 기준들을 충족하는 입력을 포함하지 않는다)(19012).In some embodiments, while the appearance of the user interface object is changed according to the first object manipulation behavior based on the second portion of the input after the first portion of the input meets the first gesture recognition criteria, the second portion of the input The portion refers to the second gesture recognition criteria before the second gesture recognition criteria are updated (e.g., with the original threshold(s) for the movement parameter(s) of the input within the second gesture recognition criteria before the threshold(s) are increased). Include input that meets the criteria (e.g., the second portion of input does not include input that meets the updated second gesture recognition criteria) 19012.
일부 실시예들에서, 입력의 제1 부분이 제2 제스처 인식 기준들을 충족한 후 입력의 제2 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관이 변경되는 동안, 입력의 제2 부분은 (예컨대, 임계치(들)가 증가되기 전의 제1 제스처 인식 기준들 내의 입력의 이동 파라미터(들)에 대한 원래의 임계치(들)로) 제1 제스처 인식 기준들이 업데이트되기 전의 제1 제스처 인식 기준들을 충족하는 입력을 포함한다(예컨대, 입력의 제2 부분은 업데이트된 제1 제스처 인식 기준들을 충족하는 입력을 포함하지 않는다)(19014).In some embodiments, while the appearance of the user interface object is changed according to the second object manipulation behavior based on the second portion of the input after the first portion of the input meets the second gesture recognition criteria, the second portion of the input The portion refers to the first gesture recognition criteria before the first gesture recognition criteria are updated (e.g., with the original threshold(s) for the movement parameter(s) of the input within the first gesture recognition criteria before the threshold(s) are increased). Include input that meets the criteria (e.g., the second portion of input does not include input that meets the updated first gesture recognition criteria) 19014.
일부 실시예들에서, 입력의 제1 부분이 제1 제스처 인식 기준들을 충족한 후 입력의 제2 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관이 변경되는 동안, 입력의 제2 부분은 (예컨대, 제1 제스처 인식 기준들 내의 입력의 이동 파라미터(들)에 대한 원래의 임계치(들)로) 제1 제스처 인식 기준들을 충족하는 입력을 포함하지 않는다(19016). 예를 들어, 제1 제스처 인식 기준들이 한 번 충족된 후, 입력은 제1 객체 조작 거동을 야기하기 위해 제1 제스처 인식 기준들을 더 이상 계속 충족할 필요가 없다.In some embodiments, while the appearance of the user interface object is changed according to the first object manipulation behavior based on the second portion of the input after the first portion of the input meets the first gesture recognition criteria, the second portion of the input The portion does not include input that meets the first gesture recognition criteria (e.g., with the original threshold(s) for the movement parameter(s) of the input within the first gesture recognition criteria) (19016). For example, after the first gesture recognition criteria are met once, the input no longer needs to continue to meet the first gesture recognition criteria to cause the first object manipulation behavior.
일부 실시예들에서, 입력의 제1 부분이 제2 제스처 인식 기준들을 충족한 후 입력의 제2 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관이 변경되는 동안, 입력의 제2 부분은 (예컨대, 제2 제스처 인식 기준들 내의 입력의 이동 파라미터(들)에 대한 원래의 임계치(들)로) 제2 제스처 인식 기준들을 충족하는 입력을 포함하지 않는다(19018). 예를 들어, 제2 제스처 인식 기준들이 한 번 충족된 후, 입력은 제2 객체 조작 거동을 야기하기 위해 제2 제스처 인식 기준들을 더 이상 계속 충족할 필요가 없다. 입력의 제2 부분이 증가된 임계치를 초과하여 증가하는 이동을 포함할 때 제1 객체 조작 거동을 수행하는 것은 (예컨대, 사용자가 새로운 입력을 제공할 것을 요구하지 않으면서, 증가된 기준들을 충족함으로써 제1 객체 조작을 수행한 후에 제2 객체 조작을 의도적으로 수행할 수 있는 능력을 사용자에게 제공함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while the appearance of the user interface object is changed according to the second object manipulation behavior based on the second portion of the input after the first portion of the input meets the second gesture recognition criteria, the second portion of the input The portion does not include input that meets the second gesture recognition criteria (e.g., with the original threshold(s) for the movement parameter(s) of the input within the second gesture recognition criteria) (19018). For example, once the second gesture recognition criteria are met, the input no longer needs to continue to meet the second gesture recognition criteria to cause the second object manipulation behavior. Performing the first object manipulation behavior when the second portion of the input includes increasing movement beyond the increased threshold (e.g., by meeting the increased criteria, without requiring the user to provide new input) Improves the operability of the device (by providing the user with the ability to intentionally perform a second object manipulation after performing the first object manipulation). Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thus improving the device's operability. Reduces power usage and improves battery life.
일부 실시예들에서, 입력의 제2 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는 것은, 입력의 제1 부분이 제2 제스처 인식 기준들을 충족하였고 입력의 제2 부분이 업데이트된 제1 제스처 인식 기준들을 충족한다는 결정에 따라, 입력의 제2 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고, 입력의 제2 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것; 및 입력의 제1 부분이 제1 제스처 인식 기준들을 충족하였고 입력의 제2 부분이 업데이트된 제2 제스처 인식 기준들을 충족한다는 결정에 따라, 입력의 제2 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고, 입력의 제2 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것을 포함한다(19020). 예를 들어, 제1 제스처 인식 기준들이 먼저 충족되고 이어서 입력이 업데이트된 제2 제스처 인식 기준들을 충족한 후, 입력은 이제 제1 및 제2 객체 조작 거동들 둘 모두를 야기할 수 있다. 예를 들어, 제2 제스처 인식 기준들이 먼저 충족되고 이어서 입력이 업데이트된 제1 제스처 인식 기준들을 충족한 후, 입력은 이제 제1 및 제2 객체 조작 거동들 둘 모두를 야기할 수 있다. 제2 제스처 인식 기준들 및 업데이트된 제1 제스처 인식 기준들이 충족된 후에 검출된 입력의 일부분에 응답하여 제1 객체 조작 거동 및 제2 객체 조작 거동에 따라 객체를 업데이트하는 것은 (예컨대, 사용자가 새로운 입력을 제공할 것을 요구하지 않으면서 증가된 임계치를 만족한 후에 제1 객체 조작 및 제2 객체 조작을 사용하여 객체를 자유롭게 조작할 수 있는 능력을 사용자에게 제공함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, updating the appearance of a user interface object based on the second portion of input comprises first gesture recognition where the first portion of input has met the second gesture recognition criteria and the second portion of input has been updated. In accordance with a determination that the criteria are met, change the appearance of the user interface object according to the first object manipulation behavior based on the second portion of input, and change the appearance of the user interface object according to the second object manipulation behavior based on the second portion of input. changing the appearance of; and according to a first object manipulation behavior based on the second portion of input, in accordance with a determination that the first portion of input met the first gesture recognition criteria and that the second portion of input met updated second gesture recognition criteria. and changing the appearance of the user interface object according to a second object manipulation behavior based on the second portion of the input (19020). For example, after the first gesture recognition criteria are first met and then the input satisfies the updated second gesture recognition criteria, the input may now result in both first and second object manipulation behaviors. For example, after the second gesture recognition criteria are first met and then the input satisfies the updated first gesture recognition criteria, the input may now result in both first and second object manipulation behaviors. Updating an object according to the first object manipulation behavior and the second object manipulation behavior in response to a portion of input detected after the second gesture recognition criteria and the updated first gesture recognition criteria are met (e.g., when the user creates a new improves the operability of the device (by providing the user with the ability to freely manipulate objects using first object manipulation and second object manipulation after satisfying an increased threshold without requiring them to provide input). Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently. Reduces power usage and improves battery life.
일부 실시예들에서, 입력의 제2 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트한 후(예컨대, 제1 제스처 인식 기준들 및 업데이트된 제2 제스처 인식 기준들 양자 모두가 충족된 후, 또는 제2 제스처 인식 기준들 및 업데이트된 제1 제스처 인식 기준들 양자 모두가 충족된 후), 디바이스는 (예컨대, 입력의 제1 및 제2 부분 내의 동일한 연속적으로 유지되는 접촉들, 또는 입력의 제1 부분 및 제2 부분 내의 접촉들의 종료(예컨대, 리프트오프) 후에 검출되는 상이한 접촉들에 의해) 입력의 제3 부분을 검출한다(19022). 입력의 제3 부분을 검출하는 것에 응답하여, 디바이스는 입력의 제3 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는데, 이는 입력의 제3 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것; 및 입력의 제3 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것을 포함한다(19024). 예를 들어, 제1 제스처 인식 기준들 및 업데이트된 제2 제스처 인식 기준들 양자 모두가 충족된 후, 또는 제2 제스처 인식 기준들 및 업데이트된 제1 제스처 인식 기준들 양자 모두가 충족된 후, 입력은 원래의 또는 업데이트된 제1 및 제2 제스처 인식 기준들에서의 임계치들과 상관없이 제1 및 제2 객체 조작 거동들 둘 모두를 후속하여 야기할 수 있다. 제2 제스처 인식 기준들 및 업데이트된 제1 제스처 인식 기준들이 충족된 후에 검출된 입력의 일부분에 응답하여 제1 객체 조작 거동 및 제2 객체 조작 거동에 따라 객체를 업데이트하는 것은 (예컨대, 사용자가 새로운 입력을 제공할 것을 요구하지 않으면서, 증가된 임계치를 만족함으로써 제1 객체 조작 유형을 수행하고자 하는 의도를 입증한 후에 제1 객체 조작 및 제2 객체 조작을 사용하여 객체를 자유롭게 조작할 수 있는 능력을 사용자에게 제공함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, after updating the appearance of the user interface object based on the second portion of the input (e.g., after both the first gesture recognition criteria and the updated second gesture recognition criteria are met, or After both the 2 gesture recognition criteria and the updated first gesture recognition criteria are met), the device performs (e.g., identical continuously maintained contacts within the first and second portions of the input, or the first portion of the input and detecting a third portion of the input (19022) by different contacts being detected after termination (e.g., liftoff) of contacts in the second portion. In response to detecting the third portion of input, the device updates the appearance of the user interface object based on the third portion of input, including updating the appearance of the user interface object according to the first object manipulation behavior based on the third portion of input. changing the appearance of; and changing the appearance of the user interface object according to the second object manipulation behavior based on the third portion of the input (19024). For example, after both the first gesture recognition criteria and the updated second gesture recognition criteria are met, or after both the second gesture recognition criteria and the updated first gesture recognition criteria are met, the input may subsequently cause both first and second object manipulation behaviors regardless of thresholds in the original or updated first and second gesture recognition criteria. Updating an object according to the first object manipulation behavior and the second object manipulation behavior in response to a portion of input detected after the second gesture recognition criteria and the updated first gesture recognition criteria are met (e.g., when the user creates a new The ability to freely manipulate an object using a first object manipulation and a second object manipulation after demonstrating an intention to perform the first type of object manipulation by satisfying an increased threshold, without requiring that input be provided. improves the operability of the device by providing it to the user. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thus improving the device's operability. Reduces power usage and improves battery life.
일부 실시예들에서, 입력의 제3 부분은 제1 제스처 인식 기준들을 충족하는 입력 또는 제2 제스처 인식 기준들을 충족하는 입력을 포함하지 않는다(19026). 예를 들어, 제1 제스처 인식 기준들 및 업데이트된 제2 제스처 인식 기준들 양자 모두가 충족된 후, 또는 제2 제스처 인식 기준들 및 업데이트된 제1 제스처 인식 기준들 양자 모두가 충족된 후, 입력은 원래의 또는 업데이트된 제1 및 제2 제스처 인식 기준들에서의 임계치들과 상관없이 제1 및 제2 객체 조작 거동들 둘 모두를 후속하여 야기할 수 있다. 제2 제스처 인식 기준들 및 업데이트된 제1 제스처 인식 기준들이 충족된 후에 검출된 입력의 일부분에 응답하여 제1 객체 조작 거동 및 제2 객체 조작 거동에 따라 객체를 업데이트하는 것은 (예컨대, 사용자가 새로운 입력을 제공할 것을 요구하지 않으면서, 강화된 기준들을 만족한 후에 제1 객체 조작 및 제2 객체 조작을 사용하여 객체를 자유롭게 조작할 수 있는 능력을 사용자에게 제공함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the third portion of input does not include input that meets the first gesture recognition criteria or input that meets the second gesture recognition criteria (19026). For example, after both the first gesture recognition criteria and the updated second gesture recognition criteria are met, or after both the second gesture recognition criteria and the updated first gesture recognition criteria are met, the input may subsequently cause both first and second object manipulation behaviors regardless of thresholds in the original or updated first and second gesture recognition criteria. Updating an object according to the first object manipulation behavior and the second object manipulation behavior in response to a portion of input detected after the second gesture recognition criteria and the updated first gesture recognition criteria are met (e.g., when the user creates a new improves the operability of the device (by providing the user with the ability to freely manipulate objects using first object manipulation and second object manipulation after satisfying reinforced criteria, without requiring them to provide input) . Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thus improving the device's operability. Reduces power usage and improves battery life.
일부 실시예들에서, 복수의 객체 조작 거동들은 제3 제스처 인식 기준들(예컨대, 축척조정 기준들)을 충족하는 입력들에 응답하여 수행되는 제3 객체 조작 거동(예컨대, 각각의 축을 중심으로 하는 사용자 인터페이스 객체의 회전)을 포함한다(19028). 입력의 제1 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는 것은, 입력의 제1 부분이 제2 제스처 인식 기준들을 충족하기 또는 제3 제스처 인식 기준들을 충족하기 전에 제1 제스처 인식 기준들을 충족한다는 결정에 따라, 입력의 제1 부분에 기초하여(예컨대, 입력의 제1 부분의 방향 및/또는 크기에 기초하여) 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것(예컨대, 사용자 인터페이스 객체를 회전시키는 것); 및 (예컨대, 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서) 제2 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제2 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제2 제스처 인식 기준들을 업데이트하는 것을 포함한다(19030). 예를 들어, 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (병진 또는 축척조정에 대한 기준들이 이전에 충족되지 않았다고 가정하면) 병진 또는 축척조정을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 더 어려워지고(예컨대, 병진 및 축척조정에 대한 기준들은 이동 파라미터에 대한 증가된 임계치들로 업데이트됨), 객체 조작은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 디바이스는 제3 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제3 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제3 제스처 인식 기준들을 업데이트한다. 예를 들어, 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (병진 또는 축척조정에 대한 기준들이 이전에 충족되지 않았다고 가정하면) 병진 또는 축척조정을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 더 어려워지고(예컨대, 병진 및 축척조정에 대한 기준들은 이동 파라미터에 대한 증가된 임계치들로 업데이트됨), 객체 조작은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 입력이 제1 제스처 인식 기준들을 충족하기 또는 제3 제스처 인식 기준들을 충족하기 전에 제2 제스처 인식 기준들을 충족한다는 결정에 따라, 디바이스는 입력의 제1 부분에 기초하여(예컨대, 입력의 제1 부분의 방향 및/또는 크기에 기초하여) 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고(예컨대, 사용자 인터페이스 객체를 병진시키거나 사용자 인터페이스 객체를 크기 재설정함); (예컨대, 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서) 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제1 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제1 제스처 인식 기준들을 업데이트한다. 예를 들어, 객체를 병진 또는 축척조정하기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 이전에 충족되지 않았다고 가정하면) 회전을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 회전 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 병진 또는 축척조정하기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 회전 동작을 개시하는 것은 더 어려워지고(예컨대, 객체를 회전시키기 위한 기준들은 이동 파라미터에 대한 증가된 임계치로 업데이트됨), 객체 조작 거동은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 일부 실시예들에서, 사용자 인터페이스 객체의 외관은 입력의 각각의 이동 파라미터의 값들에 따라 동적으로 그리고 연속적으로 변경된다(예컨대, 상이한 크기들, 위치들, 시점들, 반사상들, 그림자들 등을 보여줌). 일부 실시예들에서, 디바이스는 이동 파라미터(예컨대, 각각의 유형의 조작 거동에 대한 각각의 이동 파라미터)와 사용자 인터페이스 객체의 외관(예컨대, 각각의 유형의 조작 거동에 대한 외관의 각각의 양태)에 대해 이루어진 변경들 사이의 미리설정된 대응관계(예컨대, 각각의 유형의 조작 거동에 대한 각각의 대응관계)를 따른다. 디바이스는 제3 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제3 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제3 제스처 인식 기준들을 업데이트한다. 예를 들어, 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (병진 또는 축척조정에 대한 기준들이 이전에 충족되지 않았다고 가정하면) 병진 또는 축척조정을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 더 어려워지고(예컨대, 병진 및 축척조정에 대한 기준들은 이동 파라미터에 대한 증가된 임계치들로 업데이트됨), 객체 조작은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 입력이 제1 제스처 인식 기준들을 충족하기 또는 제2 제스처 인식 기준들을 충족하기 전에 제3 제스처 인식 기준들을 충족한다는 결정에 따라, 디바이스는 입력의 제1 부분에 기초하여(예컨대, 입력의 제1 부분의 방향 및/또는 크기에 기초하여) 제3 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하고(예컨대, 사용자 인터페이스 객체를 크기 재설정함); (예컨대, 제1 객체 조작 거동 및 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하지 않고서) 디바이스는 제1 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제1 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제1 제스처 인식 기준들을 업데이트한다. 예를 들어, 객체를 병진 또는 축척조정하기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 이전에 충족되지 않았다고 가정하면) 회전을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 회전 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 병진 또는 축척조정하기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 회전 동작을 개시하는 것은 더 어려워지고(예컨대, 객체를 회전시키기 위한 기준들은 이동 파라미터에 대한 증가된 임계치로 업데이트됨), 객체 조작 거동은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 일부 실시예들에서, 사용자 인터페이스 객체의 외관은 입력의 각각의 이동 파라미터의 값들에 따라 동적으로 그리고 연속적으로 변경된다(예컨대, 상이한 크기들, 위치들, 시점들, 반사상들, 그림자들 등을 보여줌). 일부 실시예들에서, 디바이스는 이동 파라미터(예컨대, 각각의 유형의 조작 거동에 대한 각각의 이동 파라미터)와 사용자 인터페이스 객체의 외관(예컨대, 각각의 유형의 조작 거동에 대한 외관의 각각의 양태)에 대해 이루어진 변경들 사이의 미리설정된 대응관계(예컨대, 각각의 유형의 조작 거동에 대한 각각의 대응관계)를 따른다. 디바이스는 제2 제스처 인식 기준들에 대한 임계치를 증가시킴으로써(예컨대, 제2 제스처 인식 기준들에서 이동 파라미터(예컨대, 이동 거리, 속도 등)에 필요한 임계치를 증가시킴으로써) 제2 제스처 인식 기준들을 업데이트한다. 예를 들어, 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되기 전에, (병진 또는 축척조정에 대한 기준들이 이전에 충족되지 않았다고 가정하면) 병진 또는 축척조정을 위한 제스처를 인식하기 위한 기준들을 충족함으로써 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 비교적 용이하다. 일단 객체를 회전시키기 위한 제스처를 인식하기 위한 기준들이 충족되면, 객체에 대한 병진 또는 축척조정 동작을 개시하는 것은 더 어려워지고(예컨대, 병진 및 축척조정에 대한 기준들은 이동 파라미터에 대한 증가된 임계치들로 업데이트됨), 객체 조작은 이러한 객체를 조작하기 위해 이미 인식되고 사용되는 제스처에 대응하는 조작 거동을 향해 편의된다. 대응하는 제3 제스처 인식 기준들이 충족될 때에만 검출되는 입력의 일부분에 응답하여 제3 객체 조작 거동에 따라 객체를 업데이트하는 것은 (예컨대, 제1 객체 조작 또는 제2 객체 조작을 수행하기 위한 입력을 제공하려고 시도하는 동안 사용자가 제3 객체 조작을 우발적으로 수행하는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the plurality of object manipulation behaviors may include a third object manipulation behavior (e.g., about a respective axis) performed in response to inputs that meet third gesture recognition criteria (e.g., scaling criteria). rotation of user interface objects) (19028). Updating the appearance of a user interface object based on the first portion of input may include satisfying the first gesture recognition criteria before the first portion of input satisfies the second gesture recognition criteria or satisfies the third gesture recognition criteria. According to the determination, change the appearance of the user interface object according to the first object manipulation behavior (e.g., based on the first portion of the input (e.g., based on the direction and/or size of the first portion of the input)) rotating an interface object); and by increasing the threshold for the second gesture recognition criteria (e.g., without changing the appearance of the user interface object according to the second object manipulation behavior) (e.g., by increasing the movement parameter (e.g., movement distance) in the second gesture recognition criteria. , speed, etc.) and updating the second gesture recognition criteria (19030). For example, before the criteria for recognizing a gesture for rotating an object are met, the criteria for recognizing a gesture for translation or scaling are met (assuming the criteria for translation or scaling have not been met previously). It is relatively easy to initiate a translation or scaling operation on an object by satisfying the Once the criteria for recognizing a gesture for rotating an object are met, initiating translation or scaling operations on the object becomes more difficult (e.g., the criteria for translation and scaling require increased thresholds for movement parameters). ), object manipulation is biased towards manipulation behaviors that correspond to gestures already recognized and used to manipulate these objects. The device updates the third gesture recognition criteria by increasing the threshold for the third gesture recognition criteria (e.g., by increasing the threshold required for the movement parameter (e.g., movement distance, speed, etc.) in the third gesture recognition criteria). . For example, before the criteria for recognizing a gesture for rotating an object are met, the criteria for recognizing a gesture for translation or scaling are met (assuming the criteria for translation or scaling have not been met previously). It is relatively easy to initiate a translation or scaling operation on an object by satisfying the Once the criteria for recognizing a gesture for rotating an object are met, initiating translation or scaling operations on the object becomes more difficult (e.g., the criteria for translation and scaling require increased thresholds for movement parameters). ), object manipulation is biased towards manipulation behaviors that correspond to gestures already recognized and used to manipulate these objects. Upon determining that the input meets the first gesture recognition criteria or meets the second gesture recognition criteria before meeting the third gesture recognition criteria, the device determines the input based on the first portion of the input (e.g., change the appearance of the user interface object (e.g., translate the user interface object or resize the user interface object) according to the second object manipulation behavior (based on the direction and/or size of the object); By increasing the threshold for the first gesture recognition criteria (e.g. without changing the appearance of the user interface object according to the first object manipulation behavior) (e.g. movement parameters (e.g. movement distance, Update the first gesture recognition criteria (by increasing the threshold required for speed, etc.). For example, recognizing a gesture for rotation (assuming the criteria for recognizing a gesture for rotating an object were not previously met) before the criteria for recognizing a gesture for translating or scaling an object have been met. It is relatively easy to initiate a rotational motion on an object by meeting the criteria for doing so. Once the criteria for recognizing a gesture to translate or scale an object are met, initiating a rotational motion on the object becomes more difficult (e.g., the criteria for rotating an object are updated with increased thresholds for the movement parameters). ), object manipulation behaviors are biased towards manipulation behaviors that correspond to gestures already recognized and used to manipulate these objects. In some embodiments, the appearance of a user interface object dynamically and continuously changes (e.g., showing different sizes, positions, viewpoints, reflections, shadows, etc.) depending on the values of each movement parameter of the input. ). In some embodiments, the device determines the movement parameters (e.g., each movement parameter for each type of manipulation behavior) and the appearance of the user interface object (e.g., each aspect of the appearance for each type of manipulation behavior). It follows a preset correspondence relationship between changes made to each other (e.g., each correspondence relationship for each type of operating behavior). The device updates the third gesture recognition criteria by increasing the threshold for the third gesture recognition criteria (e.g., by increasing the threshold required for the movement parameter (e.g., movement distance, speed, etc.) in the third gesture recognition criteria). . For example, before the criteria for recognizing a gesture for rotating an object are met, the criteria for recognizing a gesture for translation or scaling are met (assuming the criteria for translation or scaling have not been met previously). It is relatively easy to initiate a translation or scaling operation on an object by satisfying the Once the criteria for recognizing a gesture for rotating an object are met, initiating translation or scaling operations on the object becomes more difficult (e.g., the criteria for translation and scaling require increased thresholds for movement parameters). ), object manipulation is biased towards manipulation behaviors that correspond to gestures already recognized and used to manipulate these objects. Upon determining that the input meets the first gesture recognition criteria or meets the third gesture recognition criteria before meeting the second gesture recognition criteria, the device determines that the input is based on the first portion of the input (e.g., change the appearance of the user interface object (e.g., resize the user interface object) according to the third object manipulation behavior (based on the direction and/or size of the object); (e.g., without changing the appearance of the user interface object according to the first object manipulation behavior and the second object manipulation behavior) by increasing the threshold for the first gesture recognition criteria (e.g., in the first gesture recognition criteria). Update the first gesture recognition criteria (by increasing the required threshold for movement parameters (e.g. movement distance, speed, etc.)). For example, recognizing a gesture for rotation (assuming the criteria for recognizing a gesture for rotating an object were not previously met) before the criteria for recognizing a gesture for translating or scaling an object have been met. It is relatively easy to initiate a rotational motion on an object by meeting the criteria for doing so. Once the criteria for recognizing a gesture to translate or scale an object are met, initiating a rotational motion on the object becomes more difficult (e.g., the criteria for rotating an object are updated with increased thresholds for the movement parameters). ), object manipulation behaviors are biased towards manipulation behaviors that correspond to gestures already recognized and used to manipulate these objects. In some embodiments, the appearance of a user interface object dynamically and continuously changes (e.g., showing different sizes, positions, viewpoints, reflections, shadows, etc.) depending on the values of each movement parameter of the input. ). In some embodiments, the device determines the movement parameters (e.g., each movement parameter for each type of manipulation behavior) and the appearance of the user interface object (e.g., each aspect of the appearance for each type of manipulation behavior). It follows a preset correspondence relationship between changes made to each other (e.g., each correspondence relationship for each type of operating behavior). The device updates the second gesture recognition criteria by increasing the threshold for the second gesture recognition criteria (e.g., by increasing the threshold required for the movement parameter (e.g., movement distance, speed, etc.) in the second gesture recognition criteria). . For example, before the criteria for recognizing a gesture for rotating an object are met, the criteria for recognizing a gesture for translation or scaling are met (assuming the criteria for translation or scaling have not been met previously). It is relatively easy to initiate a translation or scaling operation on an object by satisfying the Once the criteria for recognizing a gesture for rotating an object are met, initiating translation or scaling operations on the object becomes more difficult (e.g., the criteria for translation and scaling require increased thresholds for movement parameters). ), object manipulation is biased towards manipulation behaviors that correspond to gestures already recognized and used to manipulate these objects. Updating an object according to third object manipulation behavior in response to a portion of input that is detected only when the corresponding third gesture recognition criteria are met (e.g., receiving input to perform a first object manipulation or a second object manipulation) improves the operability of the device (by helping users avoid accidentally performing third-party object manipulation while attempting to provide Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thus improving the device's operability. Reduces power usage and improves battery life.
일부 실시예들에서, 복수의 객체 조작 거동들은 제3 제스처 인식 기준들을 충족하는 입력들에 응답하여 수행되는 제3 객체 조작 거동을 포함하고, 입력의 제1 부분은 제1 제스처 인식 기준들 또는 제2 제스처 인식 기준들을 충족하기 전에 제3 제스처 인식 기준들을 충족하지 않았고, 디바이스는 입력의 제1 부분이 제1 제스처 인식 기준들 또는 제2 제스처 인식 기준들을 충족한 후에 제3 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 제3 제스처 인식 기준들을 업데이트하였고, 입력의 제2 부분은 업데이트된 제1 제스처 인식 기준들 또는 업데이트된 제2 제스처 인식 기준들을 충족하기 전에 업데이트된 제3 제스처 인식 기준들을 충족하지 않았다(예컨대, 디바이스는 입력의 제1 부분이 제1 또는 제2 제스처 인식 기준들 중 하나를 충족한 후에 제3 제스처 인식 기준들에 대한 임계치를 증가시킴으로써 제3 제스처 인식 기준들을 업데이트하였다)(19032). 입력의 제3 부분을 검출하는 것에 응답하여, (예컨대, 입력의 제3 부분이 (예컨대, 업데이트된 또는 원래의) 제1 또는 제2 제스처 인식 기준들을 충족하는지 여부에 관계없이) 입력의 제3 부분이 업데이트된 제3 제스처 인식 기준들을 충족한다는 결정에 따라, 디바이스는 (예컨대, (예를 들어, 입력의 제3 부분이 원래의 제1 및 제2 제스처 인식 기준들을 충족하지 않더라도) 제1 및 제2 객체 조작 거동들에 따라 사용자 인터페이스 객체의 외관을 변경하는 동안) 입력의 제3 부분에 기초하여(예컨대, 입력의 제3 부분의 방향 및/또는 크기에 기초하여) 제3 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경한다(19034). 입력의 제3 부분이 업데이트된 제3 제스처 인식 기준들을 충족하지 않는다는 결정에 따라, 디바이스는 (예컨대, (예를 들어, 입력의 제3 부분이 원래의 제1 및 제2 제스처 인식 기준들을 충족하지 않더라도) 제1 및 제2 객체 조작 거동들에 따라 사용자 인터페이스 객체의 외관을 변경하는 동안) 입력의 제3 부분에 기초하여 제3 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것을 보류한다. 제2 제스처 인식 기준들, 업데이트된 제1 제스처 인식 기준들, 및 업데이트된 제3 제스처 인식 기준들이 충족된 후에 검출된 입력의 일부분에 응답하여 제1 객체 조작 거동, 제2 객체 조작 거동, 및 제3 객체 조작 거동에 따라 객체를 업데이트하는 것은 (예컨대, 사용자가 새로운 입력을 제공할 것을 요구하지 않으면서, 증가된 임계치들을 만족함으로써 모든 3개의 객체 조작 유형들을 수행하고자 하는 의도를 확립한 후에 제1, 제2, 제3 객체 조작 유형들을 사용하여 객체를 자유롭게 조작할 수 있는 능력을 사용자에게 제공함으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the plurality of object manipulation behaviors include a third object manipulation behavior performed in response to inputs that meet the third gesture recognition criteria, and wherein the first portion of the input is configured to meet the first gesture recognition criteria or the first portion of the input. 2 The third gesture recognition criteria are not met before the gesture recognition criteria are met, and the device determines the third gesture recognition criteria after the first part of the input meets the first gesture recognition criteria or the second gesture recognition criteria. The third gesture recognition criteria were updated by increasing the threshold, and the second part of the input did not meet the updated third gesture recognition criteria before meeting the updated first gesture recognition criteria or the updated second gesture recognition criteria. (e.g., the device updated the third gesture recognition criteria by increasing the threshold for the third gesture recognition criteria after the first portion of the input met one of the first or second gesture recognition criteria) (19032) . In response to detecting the third portion of the input, the third portion of the input (e.g., regardless of whether the third portion of the input meets the first or second gesture recognition criteria (e.g., updated or original)) Upon determining that the portion meets the updated third gesture recognition criteria, the device may perform the first and second gesture recognition criteria (e.g., even if the third portion of the input does not meet the original first and second gesture recognition criteria). to a third object manipulation behavior based on the third portion of the input (e.g., based on the direction and/or size of the third portion of the input) while changing the appearance of the user interface object according to the second object manipulation behaviors. Change the appearance of the user interface object accordingly (19034). Upon determining that the third portion of input does not meet the updated third gesture recognition criteria, the device determines that the third portion of input does not meet the original first and second gesture recognition criteria (e.g., refrain from changing the appearance of the user interface object according to the third object manipulation behavior based on the third portion of the input (while also changing the appearance of the user interface object according to the first and second object manipulation behaviors). A first object manipulation behavior, a second object manipulation behavior, and a second object manipulation behavior in response to the portion of input detected after the second gesture recognition criteria, the updated first gesture recognition criteria, and the updated third gesture recognition criteria are met. 3 Updating an object according to object manipulation behavior (e.g., by satisfying increased thresholds, without requiring the user to provide new input) , improving the operability of the device) by providing the user with the ability to freely manipulate objects using the second and third object manipulation types. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thus improving the device's operability. Reduces power usage and improves battery life.
일부 실시예들에서, 입력의 제3 부분은 업데이트된 제3 제스처 인식 기준들을 충족하였다(19036). 입력의 제3 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트한 후(예컨대, 제1 제스처 인식 기준들 및 업데이트된 제2 및 제3 제스처 인식 기준들 양자 모두가 충족된 후, 또는 제2 제스처 인식 기준들 및 업데이트된 제1 및 제3 제스처 인식 기준들 양자 모두가 충족된 후), 디바이스는 (예컨대, 입력의 제1, 제2 및 제3 부분 내의 동일한 연속적으로 유지되는 접촉들, 또는 입력의 제1 부분, 제2 부분, 및 제3 부분 내의 접촉들의 종료(예컨대, 리프트오프) 후에 검출되는 상이한 접촉들에 의해) 입력의 제4 부분을 검출한다(19038). 입력의 제4 부분을 검출하는 것에 응답하여, 디바이스는 입력의 제4 부분에 기초하여 사용자 인터페이스 객체의 외관을 업데이트하는데, 이는 입력의 제4 부분에 기초하여 제1 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것; 입력의 제4 부분에 기초하여 제2 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것; 및 입력의 제4 부분에 기초하여 제3 객체 조작 거동에 따라 사용자 인터페이스 객체의 외관을 변경하는 것을 포함한다(19040). 예를 들어, 제1 제스처 인식 기준들 및 업데이트된 제2 및 제3 제스처 인식 기준들이 충족된 후, 또는 제2 제스처 인식 기준들 및 업데이트된 제1 및 제3 제스처 인식 기준들이 충족된 후, 입력은 원래의 또는 업데이트된 제1, 제2, 및 제3 제스처 인식 기준들에서의 임계치들과 상관없이 모든 3개 유형의 조작 거동들을 후속하여 야기할 수 있다.In some embodiments, the third portion of the input met the updated third gesture recognition criteria (19036). After updating the appearance of the user interface object based on the third portion of the input (e.g., after both the first gesture recognition criteria and the updated second and third gesture recognition criteria are met, or after recognizing the second gesture After both the criteria and the updated first and third gesture recognition criteria are met), the device determines whether the same continuously maintained contacts within the first, second and third portions of the input, or Detect a fourth portion of the input (19038) by different contacts being detected after termination (e.g., liftoff) of contacts in the first portion, second portion, and third portion. In response to detecting the fourth portion of input, the device updates the appearance of the user interface object based on the fourth portion of input, including updating the appearance of the user interface object according to the first object manipulation behavior based on the fourth portion of input. changing the appearance of; changing the appearance of the user interface object according to the second object manipulation behavior based on the fourth portion of input; and changing the appearance of the user interface object according to the third object manipulation behavior based on the fourth portion of the input (19040). For example, after the first gesture recognition criteria and the updated second and third gesture recognition criteria are met, or after the second gesture recognition criteria and the updated first and third gesture recognition criteria are met, the input can subsequently cause all three types of manipulation actions regardless of the thresholds in the original or updated first, second and third gesture recognition criteria.
일부 실시예들에서, 입력의 제4 부분은 제1 제스처 인식 기준들을 충족하는 입력, 제2 제스처 인식 기준들을 충족하는 입력, 또는 제3 제스처 인식 기준들을 충족하는 입력을 포함하지 않는다(19042). 예를 들어, 제1 제스처 인식 기준들 및 업데이트된 제2 및 제3 제스처 인식 기준들이 충족된 후, 또는 제2 제스처 인식 기준들 및 업데이트된 제1 및 제3 제스처 인식 기준들이 충족된 후, 입력은 원래의 또는 업데이트된 제1, 제2, 및 제3 제스처 인식 기준들에서의 임계치들과 상관없이 모든 3개 유형의 조작 거동들을 후속하여 야기할 수 있다. 제스처에 대해 다수의 동시에 검출된 접촉들을 요구하는 것은 (예컨대, 필요한 수 미만의 동시에 검출된 접촉들을 갖는 입력을 제공하는 동안 사용자가 객체 조작을 우발적으로 수행하는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the fourth portion of input does not include input that meets the first gesture recognition criteria, input that meets the second gesture recognition criteria, or input that meets the third gesture recognition criteria (19042). For example, after the first gesture recognition criteria and the updated second and third gesture recognition criteria are met, or after the second gesture recognition criteria and the updated first and third gesture recognition criteria are met, the input can subsequently cause all three types of manipulation actions regardless of the thresholds in the original or updated first, second and third gesture recognition criteria. Requiring multiple simultaneously detected contacts for a gesture improves the operability of the device (e.g., by helping users avoid accidentally performing object manipulation while providing input with fewer than the required number of simultaneously detected contacts). improves Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thus improving the device's operability. Reduces power usage and improves battery life.
일부 실시예들에서, 제1 제스처 인식 기준들 및 제2 제스처 인식 기준들(및 제3 제스처 인식 기준들) 양자 모두는 충족되기 위해 제1 개수의 동시에 검출되는 접촉들(예컨대, 2개의 접촉들)을 요구한다(19044). 일부 실시예들에서, 단일 손가락 제스처가 또한 병진을 위해 사용될 수 있고, 단일 손가락 병진 임계치는 두 손가락 병진 임계치보다 낮다. 일부 실시예들에서, 두 손가락 병진 제스처에 대해 설정된 원래의 이동 임계치 및 업데이트된 이동 임계치는 각각 40 포인트들 및 70 포인트들의 접촉들의 도심(centroid)에 의한 이동이다. 일부 실시예들에서, 두 손가락 회전 제스처에 대해 설정된 원래의 이동 임계치 및 업데이트된 이동 임계치는 각각 12도 및 18도의 접촉들에 의한 회전 이동이다. 일부 실시예들에서, 두 손가락 축척조정 제스처에 대해 설정된 원래의 이동 임계치 및 업데이트된 이동 임계치는 각각 50 포인트들(접촉들 사이의 거리) 및 90 포인트들이다. 일부 실시예들에서, 단일 손가락 드래그 제스처에 대해 설정된 임계치는 30 포인트들이다.In some embodiments, both the first gesture recognition criteria and the second gesture recognition criteria (and the third gesture recognition criteria) require a first number of simultaneously detected contacts (e.g., two contacts) to be met. ) is requested (19044). In some embodiments, a single finger gesture may also be used for translation, and the single finger translation threshold is lower than the two finger translation threshold. In some embodiments, the original and updated movement thresholds set for a two-finger translation gesture are movement by centroid of contacts of 40 points and 70 points, respectively. In some embodiments, the original and updated translation thresholds set for the two-finger rotation gesture are rotational movement by contacts of 12 degrees and 18 degrees, respectively. In some embodiments, the original and updated movement thresholds set for a two-finger scaling gesture are 50 points (distance between contacts) and 90 points, respectively. In some embodiments, the threshold set for a single finger drag gesture is 30 points.
일부 실시예들에서, 제1 객체 조작 거동은 사용자 인터페이스 객체의 줌 레벨 또는 디스플레이된 크기를 변경하고(예를 들면, 예컨대 핀치 제스처(예컨대, 접촉들의 서로를 향하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제1 제스처 인식 기준들에 기초하여 인식된 후, 핀치 제스처에 의해 객체를 크기 재설정함), 제2 객체 조작 거동은 사용자 인터페이스 객체의 회전 각을 변경한다(예를 들면, 예컨대 트위스트/피봇 제스처(예컨대, 접촉들의 공통 궤적을 중심으로 하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제2 제스처 인식 기준들에 의해 인식된 후, 트위스트/피봇 제스처에 의해 외부 또는 내부 축을 중심으로 사용자 인터페이스 객체의 관찰 시점을 변경함)(19046). 예를 들어, 제1 객체 조작 거동은 도 14g 내지 도 14i와 관련하여 기술된 바와 같이 가상 객체(11002)의 디스플레이된 크기를 변경하고, 제2 객체 조작 거동은 도 14b 내지 도 14e와 관련하여 기술된 바와 같이 가상 객체(11002)의 회전 각을 변경한다. 일부 실시예들에서, 제2 객체 조작 거동은 사용자 인터페이스 객체의 줌 레벨 또는 디스플레이된 크기를 변경하고(예를 들면, 예컨대 핀치 제스처(예컨대, 접촉들의 서로를 향하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제2 제스처 인식 기준들에 기초하여 인식된 후, 핀치 제스처에 의해 객체를 크기 재설정함), 제1 객체 조작 거동은 사용자 인터페이스 객체의 회전 각을 변경한다(예를 들면, 예컨대 트위스트/피봇 제스처(예컨대, 접촉들의 공통 궤적을 중심으로 하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제1 제스처 인식 기준들에 의해 인식된 후, 트위스트/피봇 제스처에 의해 외부 또는 내부 축을 중심으로 사용자 인터페이스 객체의 관찰 시점을 변경함).In some embodiments, the first object manipulation behavior is to change the zoom level or displayed size of the user interface object (e.g., such as a pinch gesture (e.g., moving the contacts toward each other) to change the zoom level or displayed size of the user interface object (e.g., to change the original or After recognition based on the first gesture recognition criteria (updated), resize the object by a pinch gesture), the second object manipulation behavior changes the rotation angle of the user interface object (e.g. twist/resize the object) After a pivot gesture (e.g., movement around a common trajectory of contacts) is recognized by the second gesture recognition criteria (e.g., original or updated), the user twists/pivots about an external or internal axis by a twist/pivot gesture. Changed observation point of interface objects) (19046). For example, the first object manipulation behavior changes the displayed size of
일부 실시예들에서, 제1 객체 조작 거동은 사용자 인터페이스 객체의 줌 레벨 또는 디스플레이된 크기를 변경하고(예를 들면, 예컨대 핀치 제스처(예컨대, 접촉들의 서로를 향하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제1 제스처 인식 기준들에 기초하여 인식된 후, 핀치 제스처에 의해 객체를 크기 재설정함), 제2 객체 조작 거동은 제1 사용자 인터페이스 영역 내의 사용자 인터페이스 객체의 위치를 변경한다(예를 들면, 예컨대, 한 손가락 또는 두 손가락 드래그 제스처(예컨대, 접촉들의 각각의 방향으로의 이동)가 (예컨대, 원래의 또는 업데이트된) 제2 제스처 인식 기준들에 의해 인식된 후, 드래그 제스처에 의해 사용자 인터페이스 객체를 드래그함)(19048). 예를 들어, 제1 객체 조작 거동은 도 14g 내지 도 14i와 관련하여 기술된 바와 같이 가상 객체(11002)의 디스플레이된 크기를 변경하고, 제2 객체 조작 거동은 도 14b 내지 도 14e와 관련하여 기술된 바와 같이 사용자 인터페이스 내에서 가상 객체(11002)의 위치를 변경한다. 일부 실시예들에서, 제2 객체 조작 거동은 사용자 인터페이스 객체의 줌 레벨 또는 디스플레이된 크기를 변경하고(예를 들면, 예컨대 핀치 제스처(예컨대, 접촉들의 서로를 향하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제2 제스처 인식 기준들에 기초하여 인식된 후, 핀치 제스처에 의해 객체를 크기 재설정함), 제1 객체 조작 거동은 제1 사용자 인터페이스 영역 내의 사용자 인터페이스 객체의 위치를 변경한다(예를 들면, 예컨대, 한 손가락 또는 두 손가락 드래그 제스처(예컨대, 접촉들의 각각의 방향으로의 이동)가 (예컨대, 원래의 또는 업데이트된) 제1 제스처 인식 기준들에 의해 인식된 후, 드래그 제스처에 의해 사용자 인터페이스 객체를 드래그함).In some embodiments, the first object manipulation behavior is to change the zoom level or displayed size of the user interface object (e.g., such as a pinch gesture (e.g., moving the contacts toward each other) to change the zoom level or displayed size of the user interface object (e.g., to change the original or After recognition based on the first gesture recognition criteria (updated), resize the object by a pinch gesture), the second object manipulation behavior changes the position of the user interface object within the first user interface area (e.g. For example, after a one-finger or two-finger drag gesture (e.g., movement of contacts in each direction) is recognized by the second gesture recognition criteria (e.g., original or updated), the user dragging interface objects) (19048). For example, the first object manipulation behavior changes the displayed size of
일부 실시예들에서, 제1 객체 조작 거동은 제1 사용자 인터페이스 영역 내의 사용자 인터페이스 객체의 위치를 변경하고(예를 들면, 예컨대, 한 손가락 또는 두 손가락 드래그 제스처(예컨대, 접촉들의 각각의 방향으로의 이동)가 (예컨대, 원래의 또는 업데이트된) 제1 제스처 인식 기준들에 의해 인식된 후, 드래그 제스처에 의해 사용자 인터페이스 객체를 드래그함), 제2 객체 조작 거동은 사용자 인터페이스 객체의 회전 각을 변경한다(예를 들면, 예컨대 트위스트/피봇 제스처(예컨대, 접촉들의 공통 궤적을 중심으로 하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제2 제스처 인식 기준들에 의해 인식된 후, 트위스트/피봇 제스처에 의해 외부 또는 내부 축을 중심으로 사용자 인터페이스 객체의 관찰 시점을 변경함)(19050). 예를 들어, 제1 객체 조작 거동은 도 14b 내지 도 14e와 관련하여 기술된 바와 같이 사용자 인터페이스 내에서 가상 객체(11002)의 위치를 변경하고, 제2 객체 조작 거동은 도 14b 내지 도 14e와 관련하여 기술된 바와 같이 가상 객체(11002)의 회전 각을 변경한다. 일부 실시예들에서, 제2 객체 조작 거동은 제1 사용자 인터페이스 영역 내의 사용자 인터페이스 객체의 위치를 변경하고(예를 들면, 예컨대, 한 손가락 또는 두 손가락 드래그 제스처(예컨대, 접촉들의 각각의 방향으로의 이동)가 (예컨대, 원래의 또는 업데이트된) 제2 제스처 인식 기준들에 의해 인식된 후, 드래그 제스처에 의해 사용자 인터페이스 객체를 드래그함), 제1 객체 조작 거동은 사용자 인터페이스 객체의 회전 각을 변경한다(예를 들면, 예컨대 트위스트/피봇 제스처(예컨대, 접촉들의 공통 궤적을 중심으로 하는 이동)가 (예컨대, 원래의 또는 업데이트된) 제1 제스처 인식 기준들에 의해 인식된 후, 트위스트/피봇 제스처에 의해 외부 또는 내부 축을 중심으로 사용자 인터페이스 객체의 관찰 시점을 변경함).In some embodiments, the first object manipulation behavior is to change the position of the user interface object within the first user interface area (e.g., using a one-finger or two-finger drag gesture (e.g., After the movement (e.g., original or updated) has been recognized by the first gesture recognition criteria, dragging the user interface object by a drag gesture), the second object manipulation behavior changes the rotation angle of the user interface object. (e.g., after a twist/pivot gesture (e.g., movement around a common trajectory of contacts) is recognized by the second gesture recognition criteria (e.g., original or updated), the twist/pivot gesture (Change the viewing point of view of a user interface object around an external or internal axis by) (19050). For example, the first object manipulation behavior changes the position of
일부 실시예들에서, 입력의 제1 부분 및 입력의 제2 부분은 복수의 연속적으로 유지되는 접촉들에 의해 제공된다(19052). 디바이스는 복수의 연속적으로 유지되는 접촉들의 리프트오프를 검출한 후에 추가의 제1 및 제2 객체 조작 거동들을 개시하기 위해 제1 제스처 인식 기준들 및 제2 제스처 인식 기준들을 (예컨대, 원래의 임계치들로) 재확립한다(19054). 예를 들어, 접촉들의 리프트오프 후, 디바이스는 새롭게 검출된 터치 입력에 대해 회전, 병진, 및 축척조정에 대한 제스처 인식 임계치들을 재확립한다. 입력이 접촉들의 리프트오프에 의해 종료된 후에 입력 이동에 대해 임계치를 재확립하는 것은 (예컨대, 새로운 입력이 제공될 때마다 증가된 이동 임계치들을 재설정함으로써 객체 조작을 수행하는 데 필요한 입력의 정도를 감소시킴으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력의 정도를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first portion of input and the second portion of input are provided by a plurality of continuously maintained contacts (19052). The device determines the first gesture recognition criteria and the second gesture recognition criteria (e.g., the original thresholds) to initiate additional first and second object manipulation behaviors after detecting lift-off of the plurality of continuously maintained contacts. ) was re-established (19054). For example, after liftoff of contacts, the device re-establishes gesture recognition thresholds for rotation, translation, and scaling for newly detected touch input. Re-establishing thresholds for input movement after input is terminated by liftoff of contacts reduces the degree of input required to perform object manipulation (e.g., by resetting increased movement thresholds each time a new input is provided). (by doing so) improves the operability of the device. Reducing the degree of input required to perform an action improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently. Reduces power usage and improves battery life.
일부 실시예들에서, 제1 제스처 인식 기준들은 제1 축을 중심으로 하는 회전에 대응하고, 제2 제스처 인식 기준들은 제1 축에 직교하는 제2 축을 중심으로 하는 회전에 대응한다(19056). 일부 실시예들에서, 상이한 유형들의 제스처들에 대한 임계치들을 업데이트하는 대신, 업데이트는 또한, 인식된 제스처 유형(예컨대, 트위스트/피봇 제스처)에 대응하는 유형의 조작 거동 내의 상이한 하위 유형들의 조작 거동(예컨대, 제1 축을 중심으로 하는 회전 대 상이한 축을 중심으로 하는 회전)에 대해 설정된 임계치들에 적용된다. 예를 들어, 일단 제1 축을 중심으로 하는 회전이 인식되고 수행되면, 상이한 축을 중심으로 하는 회전에 대해 설정된 임계치는 업데이트되고(예컨대, 증가되고) 상이한 축을 중심으로 회전을 트리거하기 위해 후속 입력에 의해 극복되어야 한다. 입력 이동이 제2 축을 중심으로 객체를 회전시키는 데 필요한 입력 이동에 대한 임계치를 초과하여 증가할 때 제1 축을 중심으로 객체를 회전시키는 데 필요한 입력 이동에 대한 임계치를 증가시키는 것은 (예컨대, 제1 축을 중심으로 객체를 회전시키려는 시도 동안 사용자가 제2 축을 중심으로 객체를 우발적으로 회전시키는 것을 피하도록 도움으로써) 디바이스의 작동성을 향상시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은, 디바이스의 작동성을 개선하고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the first gesture recognition criteria correspond to a rotation about a first axis and the second gesture recognition criteria correspond to a rotation about a second axis orthogonal to the first axis (19056). In some embodiments, instead of updating the thresholds for different types of gestures, the update also includes different subtypes of manipulation behavior within the type of manipulation behavior corresponding to the recognized gesture type (e.g., twist/pivot gesture). This applies to thresholds set for rotation about a first axis versus rotation about a different axis, for example. For example, once a rotation about a first axis is recognized and performed, the threshold set for a rotation about a different axis is updated (e.g., increased) and triggered by subsequent inputs to trigger a rotation about a different axis. It must be overcome. Increasing the threshold for the input movement required to rotate an object about a first axis when the input movement increases beyond the threshold for the input movement required to rotate the object about the second axis (e.g., Improves the operability of the device (by helping a user avoid accidentally rotating an object about a second axis while attempting to rotate the object about that axis). Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently. Reduces power usage and improves battery life.
도 19a 내지 도 19h에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 1000, 16000, 17000, 18000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 19a 내지 도 19h와 관련하여 전술된 방법(19000)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(19000)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 1000, 16000, 17000, 18000, 20000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 19A-19H are described is by way of example only and is not intended to indicate that the described order is the only order in which the operations may be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g., methods 800, 900, 1000, 16000, 17000, 18000, 20000) are provided in FIGS. 19A-19A. It should be noted that method 19000 described above with respect to Figure 19h is also applicable in a similar manner. For example, contacts, inputs, virtual objects, user interface areas, fields of view, tactile outputs, movements, and/or animations described above with respect to method 19000 are optionally described herein. Contacts, inputs, virtual objects, user interface areas, and fields of view described herein in connection with other methods described (e.g., methods 800, 900, 1000, 16000, 17000, 18000, 20000). has one or more of the following characteristics: fields, tactile outputs, movements, and/or animations. For brevity, these details are not repeated here.
도 20a 내지 도 20f는 디바이스의 이동이 가상 객체로 하여금 하나 이상의 디바이스 카메라들의 디스플레이된 시야의 외측으로 이동하게 한다는 결정에 따라 오디오 경보를 생성하는 방법(20000)을 예시하는 흐름도들이다. 방법(20000)은 디스플레이 생성 컴포넌트(예컨대, 디스플레이, 프로젝터, 헤드 업 디스플레이 등), 하나 이상의 입력 디바이스들(예컨대, 터치 감응형 표면, 또는 디스플레이 생성 컴포넌트 및 터치 감응형 표면 둘 모두로서의 역할을 하는 터치 스크린 디스플레이), 하나 이상의 오디오 출력 생성기들, 및 하나 이상의 카메라들을 갖는 전자 디바이스(예컨대, 도 3의 디바이스(300), 또는 도 1a의 휴대용 다기능 디바이스(100))에서 수행된다. 방법(20000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.20A-20F are flow diagrams illustrating a method 20000 of generating an audio alert upon determining that movement of a device causes a virtual object to move outside of the displayed field of view of one or more device cameras. Method 20000 includes a display generating component (e.g., a display, projector, head up display, etc.), one or more input devices (e.g., a touch sensitive surface, or a touch device that serves as both a display generating component and a touch sensitive surface). screen display), one or more audio output generators, and one or more cameras (e.g., device 300 in FIG. 3 or portable multifunction device 100 in FIG. 1A). Some of the operations in method 20000 are selectively combined and/or the order of some of the operations is optionally varied.
디바이스는, (예컨대, 카메라를 포함하는 디바이스 주위의 물리적 환경의 증강 현실 뷰 내에 가상 객체를 배치하라는 요청에 응답하여(예컨대, 가상 객체의 스테이징 뷰와 함께 디스플레이된 "실세계" 버튼 상에서의 탭에 응답하여)), 디스플레이 생성 컴포넌트를 통해, 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역(예컨대, 제1 사용자 인터페이스 영역은 카메라를 포함하는 디바이스 주위의 물리적 환경의 증강 현실 뷰를 디스플레이하는 사용자 인터페이스임) 내에 가상 객체의 표현을 디스플레이하는데, 디스플레이하는 것은 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 가상 객체의 표현 사이의 제1 공간적 관계를 유지하는 것을 포함한다(예컨대, 가상 객체는 가상 객체의 표현과 평면 사이의 고정된 각도가 유지되도록 하는 배향 및 위치로 디스플레이 상에 디스플레이된다(예컨대, 가상 객체는 평면 상의 고정된 위치에 머무르거나 시야 평면을 따라서 구르는 것으로 보인다))(20002). 예를 들어, 도 15v에 도시된 바와 같이, 가상 객체(11002)는 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 영역 내에 디스플레이된다.The device may respond to a request to place a virtual object (e.g., in an augmented reality view of the physical environment around the device, including a camera) (e.g., in response to a tap on a “real world” button displayed with a staging view of the virtual object). )), via a display creation component, a first user interface area comprising a representation of the field of view of one or more cameras (e.g., the first user interface area displays an augmented reality view of the physical environment surrounding the device containing the camera) displaying a representation of the virtual object within a user interface), wherein displaying includes maintaining a first spatial relationship between the representation of the virtual object and a plane detected in the physical environment captured within the field of view of one or more cameras (e.g. , the virtual object is displayed on the display with an orientation and position such that a fixed angle between the representation of the virtual object and the plane is maintained (e.g., the virtual object appears to stay in a fixed position on the plane or roll along the viewing plane ))(20002). For example, as shown in Figure 15V,
디바이스는 하나 이상의 카메라들의 시야를 조정하는 디바이스의 이동(예컨대, 하나 이상의 카메라들을 포함하는 디바이스의 측방향 이동 및/또는 회전)을 검출한다(20004). 예를 들어, 도 15v 및 도 15w와 관련하여 기술된 바와 같이, 디바이스(100)의 이동은 하나 이상의 카메라들의 시야를 조정한다.The device detects movement of the device (eg, lateral movement and/or rotation of the device including one or more cameras) that adjusts the field of view of the one or more cameras (20004). For example, as described with respect to FIGS. 15V and 15W, movement of device 100 adjusts the field of view of one or more cameras.
하나 이상의 카메라들의 시야를 조정하는 디바이스의 이동을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야가 조정됨에 따라 하나 이상의 카메라들의 시야 내에서 검출되는 평면과 가상 객체 사이의 제1 공간적 관계(예컨대, 배향 및/또는 위치)에 따라 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이를 조정하고, (예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 가상 객체의 표현 사이의 공간적 관계가 물리적 환경에 대한 디바이스의 이동 동안 고정된 채로 유지되기 때문에) 디바이스의 이동이 임계량(예컨대, 100%, 50%, 또는 20%) 초과의 가상 객체로 하여금 하나 이상의 카메라들의 시야의 디스플레이된 부분의 외측으로 이동하게 한다는 결정에 따라, 디바이스는, 하나 이상의 오디오 출력 생성기들을 통해, 제1 오디오 경보(예컨대, 임계량 초과의 가상 객체가 카메라 뷰 내에 더 이상 디스플레이되지 않는다는 것을 나타내는 음성 알림)를 생성한다(20006). 예를 들어, 도 15w와 관련하여 기술된 바와 같이, 가상 객체(11002)가 하나 이상의 카메라들의 시야(6036)의 디스플레이된 부분의 외측으로 이동하게 하는 디바이스(100)의 이동에 응답하여, 오디오 경보(15118)가 생성된다. 디바이스의 이동이 가상 객체로 하여금 디스플레이된 증강 현실 뷰의 외측으로 이동하게 한다는 결정에 따라 오디오 출력을 생성하는 것은 디바이스의 이동이 증강 현실 뷰에 대한 가상 객체의 디스플레이에 영향을 미친 정도를 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 가상 객체가 디스플레이로부터 벗어나게 이동하였는지 여부를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In response to detecting movement of the device that adjusts the field of view of the one or more cameras, the device determines a first spatial relationship between a virtual object and a plane detected within the field of view of the one or more cameras as the field of view of the one or more cameras is adjusted (e.g., adjust the display of the representation of the virtual object within the first user interface area according to (e.g., orientation and/or position), and (e.g., between the representation of the virtual object and a plane detected in the physical environment captured within the field of view of one or more cameras). Because the spatial relationship remains fixed during movement of the device relative to the physical environment, movement of the device causes more than a threshold amount (e.g., 100%, 50%, or 20%) of the virtual object to be displayed in the field of view of one or more cameras. Upon the decision to move out of the portion, the device generates, via one or more audio output generators, a first audio alert (e.g., a voice notification indicating that a virtual object exceeding a threshold is no longer displayed within the camera view). Hana (20006). For example, as described with respect to FIG. 15W, in response to movement of device 100 that causes
일부 실시예들에서, 제1 오디오 경보를 출력하는 것은 하나 이상의 카메라들의 시야의 디스플레이된 부분 상에서 가시적으로 유지되는 가상 객체의 양을 나타내는 오디오 출력을 생성하는 것을 포함한다(예컨대, 가시적으로 유지되는 가상 객체의 양은 현재 관찰 시점으로부터의 가상 객체의 전체 크기에 대해 측정된다(예컨대, 20%, 25%, 50% 등))(예컨대, 오디오 출력은 "object x is 20% visible(객체 x는 20% 가시적입니다)"라고 한다)(20008). 예를 들어, 도 15x 및 도 15y와 관련하여 기술된 바와 같이, 가상 객체(11002)가 하나 이상의 카메라들의 시야(6036)의 디스플레이된 부분의 외측으로 부분적으로 이동하게 하는 디바이스(100)의 이동에 응답하여, "chair is 90 percent visible, occupying 20 percent of the screen"을 나타내는 알림(15128)을 포함하는 오디오 경보(15126)가 생성된다. 디스플레이된 증강 현실 뷰 내에서 가시적인 가상 객체의 양을 나타내는 오디오 출력을 생성하는 것은 (예컨대, 디바이스의 이동이 가상 객체가 가시적인 정도를 변경한 정도를 나타내는) 피드백을 사용자에게 제공한다. (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 가상 객체가 디스플레이로부터 벗어나게 이동하였는지 여부를 사용자가 인지하게 하는 정보를 제공함으로써) 개선된 피드백을 사용자에게 제공하는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, outputting the first audio alert includes generating audio output indicative of the amount of the virtual object remaining visible on the displayed portion of the field of view of the one or more cameras (e.g., the virtual object remaining visible). The amount of the object is measured relative to the total size of the virtual object from the current observation point (e.g., 20%, 25%, 50%, etc.) (e.g., the audio output is "object x is 20% visible") It is visible)" (20008). For example, as described with respect to FIGS. 15X and 15Y, movement of device 100 causes
일부 실시예들에서, 제1 오디오 경보를 출력하는 것은 가상 객체에 의해 가려진 시야의 디스플레이된 부분의 양을 나타내는 오디오 출력을 생성하는 것을 포함한다(예컨대, 가상 객체에 의해 점유된 물리적 환경의 증강 현실 뷰의 양(예컨대, 20%, 25%, 50% 등))(예컨대, 오디오 출력은 "object x occupying 15% of the world view(객체 x는 실세계 뷰의 15%를 차지합니다)"라고 하는 알림을 포함한다)(20010). 일부 실시예들에서, 오디오 출력은 또한, 가상 객체의 디스플레이 상태의 변경들을 야기하는 사용자에 의해 수행되는 액션의 설명을 포함한다. 예를 들어, 오디오 출력은 "device moved to the left; object x is 20% visible, occupying 15% of the world view(디바이스가 좌측으로 이동되고; 객체 x는 20% 가시적이어서, 실세계 뷰의 15%를 차지합니다)"라고 하는 알림을 포함한다. 예를 들어, 도 15y에서, "chair is 90 percent visible, occupying 20 percent of the screen"을 나타내는 알림(15128)을 포함하는 오디오 경보(15126)가 생성된다. 가상 객체에 의해 가려진 증강 현실 뷰의 양을 나타내는 오디오 출력을 생성하는 것은 (예컨대, 디바이스의 이동이 증강 현실 뷰가 가려진 정도를 변경한 정도를 나타내는) 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 디스플레이에 대한 가상 객체의 크기를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, outputting the first audio alert includes generating audio output indicative of the amount of the displayed portion of the field of view that is occluded by the virtual object (e.g., augmented reality of the physical environment occupied by the virtual object). Amount of view (e.g., 20%, 25%, 50%, etc.) (e.g., the audio output is a notification saying "object x occupying 15% of the world view") (20010). In some embodiments, the audio output also includes a description of the action performed by the user that causes changes in the display state of the virtual object. For example, the audio output might be "device moved to the left; object x is 20% visible, occupying 15% of the world view" It is occupied)”. For example, in Figure 15Y, an audio alert 15126 is generated that includes notification 15128 indicating “chair is 90 percent visible, occupying 20 percent of the screen.” Generating audio output indicating the amount of the augmented reality view that is occluded by the virtual object provides feedback to the user (eg, indicating the extent to which movement of the device has changed the degree to which the augmented reality view has been occluded). Providing improved feedback to the user (e.g., information that makes the user aware of the size of the virtual object relative to the display without cluttering the display with additional displayed information and without requiring the user to look at the display) ) improves the operability of the device and makes the user-device interface more efficient, which additionally allows users to use the device more quickly and efficiently, thereby reducing the device's power usage and improving battery life. improve it
일부 실시예들에서, 디바이스는 하나 이상의 카메라들의 시야의 표현에 대응하는 터치 감응형 표면 상의 위치에서 접촉에 의한 입력을 검출한다(예컨대, 물리적 환경의 증강 현실 뷰를 디스플레이하는 터치 스크린의 일부분 상에서 탭 입력 또는 더블 탭 입력을 검출함)(20012). 입력을 검출하는 것에 응답하여, 그리고 가상 객체에 의해 점유되지 않은 하나 이상의 카메라들의 시야의 제1 부분에 대응하는 터치 감응형 표면 상의 제1 위치에서 입력이 검출된다는 결정에 따라, 디바이스는 제2 오디오 경보(예컨대, 탭핑된 영역 내에서 가상 객체의 위치를 찾지 못한 것을 나타내는 클릭 또는 버즈)를 생성한다(20014). 예를 들어, 도 15z와 관련하여 기술된 바와 같이, 가상 객체(11002)에 의해 점유되지 않은 하나 이상의 카메라들의 시야(6036)의 일부분에 대응하는 터치 스크린(112) 상의 위치에서 검출되는 입력에 응답하여, 디바이스는 오디오 경보(15130)를 생성한다. 일부 실시예들에서, 입력을 검출하는 것에 응답하여, 입력이 가상 객체에 의해 점유된 하나 이상의 카메라들의 시야의 제2 부분에 대응하는 제2 위치에서 검출된다는 결정에 따라, 제2 오디오 경보를 생성하는 것을 보류한다. 일부 실시예들에서, 사용자가 가상 객체의 위치를 찾지 못한 것을 나타내는 제2 오디오 경보를 생성하는 대신, 디바이스는 사용자가 가상 객체의 위치를 찾은 것을 나타내는 상이한 오디오 경보를 생성한다. 일부 실시예들에서, 제2 오디오 경보를 생성하는 대신, 디바이스는 가상 객체에 대해 수행되는 동작을 설명하는 오디오 알림(예컨대, "Object x selected(객체 x가 선택)", "Object x is resized to a default size(객체 x가 디폴트 크기로 크기 재설정됩니다)", "Object x is rotated to a default orientation(객체 x가 디폴트 배향으로 회전됩니다)" 등) 또는 가상 객체의 상태를 설명하는 오디오 알림(예컨대, "Object x, 20% visible, occupying 15% of the world view(객체 x, 20% 가시적이고, 실세계 뷰의 15%를 점유합니다)")을 출력한다. 가상 객체에 의해 점유되지 않은 디스플레이된 증강 현실 뷰의 일부에 대응하는 위치에서 검출되는 입력에 응답하여 오디오 출력을 생성하는 것은 (예컨대, 입력이 (예컨대, 가상 객체에 관한 정보를 획득하고/하거나 동작을 수행하기 위해) 상이한 위치에 제공되어야 한다는 것을 나타내는) 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 입력이 가상 객체와 성공적으로 연결되었는지 여부를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device detects input by contact at a location on the touch-sensitive surface that corresponds to a representation of the field of view of one or more cameras (e.g., a tap on a portion of a touch screen that displays an augmented reality view of the physical environment). Detect input or double tap input) (20012). In response to detecting the input, and in accordance with a determination that the input is detected at a first location on the touch-sensitive surface corresponding to a first portion of the field of view of the one or more cameras that is not occupied by the virtual object, the device transmits the second audio Generates an alert (e.g., a click or buzz indicating that the location of the virtual object within the tapped area has not been found) (20014). In response to input detected at a location on the touch screen 112 that corresponds to a portion of the field of
일부 실시예들에서, 제1 오디오 경보를 출력하는 것은 가상 객체에 대해 수행되는 동작(예컨대, 오디오 출력을 생성하기 전에, 디바이스는 현재 선택된 동작을 결정하고, 현재 선택된 동작을 실행하려는 사용자의 의도를 확인하는 입력(예컨대, 더블 탭)에 응답하여 동작을 수행함) 및 동작의 수행 후 가상 객체의 결과 상태를 나타내는 오디오 출력을 생성하는 것을 포함한다(20016). 예를 들어, 오디오 출력은 "device moved to the left; object x is 20% visible, occupying 15% of the world view", "object x is rotated clockwise by 30 degrees; object is 50 degrees rotated around the y-axis(객체 x는 30도만큼 시계방향으로 회전되고; 객체는 y-축을 중심으로 50도 회전됩니다)", 또는 "object x enlarged by 20% and occupies 50% of the world view(객체 x는 20%만큼 확대되고 실세계 뷰의 50%를 차지합니다)"라고 하는 알림을 포함한다. 예를 들어, 도 15ah 및 도 15ai와 관련하여 기술된 바와 같이, 가상 객체(11002)에 대한 회전 동작의 수행에 응답하여, "Chair is rotated by five degrees counterclockwise. Chair is now rotated by zero degrees relative to the screen(의자가 반시계방향으로 5도 회전됩니다. 의자는 이제 화면에 대해 0도 회전되어 있습니다)"을 나타내는 알림(15192)을 포함하는 오디오 경보(15190)가 생성된다. 가상 객체에 대해 수행되는 동작을 나타내는 오디오 출력을 생성하는 것은 제공된 입력이 가상 객체에 어떻게 영향을 미치는지를 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 동작이 가상 객체를 어떻게 변경하였는지를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, outputting the first audio alert may determine an action performed on the virtual object (e.g., prior to generating audio output, the device determines the currently selected action and determines the user's intent to perform the currently selected action). performing an action in response to a confirming input (e.g., a double tap)) and generating audio output indicating the resulting state of the virtual object after performing the action (20016). For example, the audio output would be "device moved to the left; object x is 20% visible, occupying 15% of the world view", "object x is rotated clockwise by 30 degrees; object is 50 degrees rotated around the y-axis "object x is rotated clockwise by 30 degrees; object is rotated 50 degrees around the y-axis", or "object x enlarged by 20% and occupies 50% of the world view" enlarged and takes up 50% of the real world view)”. For example, as described in connection with FIGS. 15ah and 15ai, in response to performing a rotation operation on
일부 실시예들에서, 동작의 수행 후 가상 객체의 결과 상태는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에 대응하는 기준 프레임과 관련하여 제1 오디오 경보에서 오디오 출력으로 설명된다(예컨대, (예컨대, 터치 기반 제스처 또는 디바이스의 이동에 응답하여) 객체를 조작한 후, 디바이스는 (예컨대, 가상 객체가 초기에 물리적 환경의 증강 현실 뷰 내로 배치될 때의 가상 객체의 초기 위치/배향에 대해 30도로 회전된, 60도로 회전된, 또는 좌측으로 이동된) 객체의 새로운 상태를 설명하는 보이스 오버(voice over)를 생성한다)(20018). 예를 들어, 도 15ah 및 도 15ai와 관련하여 기술된 바와 같이, 가상 객체(11002)에 대한 회전 동작의 수행에 응답하여, "Chair is rotated by five degrees counterclockwise. Chair is now rotated by zero degrees relative to the screen"을 나타내는 알림(15192)을 포함하는 오디오 경보(15190)가 생성된다. 일부 실시예들에서, 동작은 물리적 환경에 대한 디바이스의 이동을 포함하고(예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경의 일부분의 표현에 대한 가상 객체의 이동을 야기함), 보이스 오버는 물리적 환경에 대한 디바이스의 이동에 응답하여 가상 객체의 새로운 상태를 설명한다. 동작이 객체에 대해 수행된 후 가상 객체의 상태를 나타내는 오디오 출력을 생성하는 것은 동작이 가상 객체를 어떻게 변경하였는지를 사용자가 인지하게 하는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 동작이 가상 객체를 어떻게 변경하였는지를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the resulting state of the virtual object after performance of the action is described with an audio output in a first audio alert relative to a frame of reference corresponding to the physical environment captured within the field of view of one or more cameras (e.g. After manipulating the object (in response to a touch-based gesture or movement of the device), the device rotates (e.g., at 30 degrees relative to the virtual object's initial position/orientation when the virtual object was initially placed within the augmented reality view of the physical environment). (20018). For example, as described in connection with FIGS. 15ah and 15ai, in response to performing a rotation operation on
일부 실시예들에서, 디바이스는 제1 오디오 경보의 생성 후에 하나 이상의 카메라들의 시야를 추가로 조정하는 디바이스의 추가 이동(예컨대, 하나 이상의 카메라들을 포함하는 디바이스의 측방향 이동 및/또는 회전)을 검출한다(20020). 예를 들어, 도 15w 및 도 15x와 관련하여 기술된 바와 같이, 디바이스(100)의 이동은 (도 15v 및 도 15w로부터의 디바이스(100)의 이동에 응답하여 발생하는 하나 이상의 카메라들의 시야의 조정 이후에) 하나 이상의 카메라들의 시야를 추가로 조정한다. 하나 이상의 카메라들의 시야를 추가로 조정하는 디바이스의 추가 이동을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야가 추가로 조정됨에 따라 하나 이상의 카메라들의 시야 내에서 검출되는 평면과 가상 객체 사이의 제1 공간적 관계(예컨대, 배향 및/또는 위치)에 따라 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이를 조정하고, (예컨대, 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 가상 객체의 표현 사이의 공간적 관계가 물리적 환경에 대한 디바이스의 이동 동안 고정된 채로 유지되기 때문에) 디바이스의 추가 이동이 제2 임계량(예컨대, 50%, 80%, 또는 100%) 초과의 가상 객체로 하여금 하나 이상의 카메라들의 시야의 디스플레이된 부분 내로 이동하게 한다는 결정에 따라, 디바이스는, 하나 이상의 오디오 출력 생성기들을 통해, 제3 오디오 경보(예컨대, 임계량 초과의 가상 객체가 다시 카메라 뷰 내로 이동되는 것을 나타내는 알림을 포함하는 오디오 출력)를 생성한다(20022). 예를 들어, 도 15x와 관련하여 기술된 바와 같이, 가상 객체(11002)가 하나 이상의 카메라들의 시야(6036)의 디스플레이된 부분 내로 이동하게 하는 디바이스(100)의 이동에 응답하여, (예컨대, 알림, "Chair is now projected in the world, 100 percent visible, occupying 10 percent of the screen(의자는 이제 실세계에 투영되고, 100 퍼센트 가시적이고, 스크린의 10 퍼센트를 차지합니다)"을 포함하는) 오디오 경보(15122)가 생성된다. 디바이스의 이동이 가상 객체로 하여금 디스플레이된 증강 현실 뷰 내로 이동하게 한다는 결정에 따라 오디오 출력을 생성하는 것은 디바이스의 이동이 증강 현실 뷰에 대한 가상 객체의 디스플레이에 영향을 미친 정도를 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 가상 객체가 디스플레이 내로 이동하였는지 여부를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device detects further movement of the device (e.g., lateral movement and/or rotation of the device comprising one or more cameras) after generation of the first audio alert to further adjust the field of view of the one or more cameras. Hana (20020). For example, as described with respect to FIGS. 15W and 15X, movement of device 100 may include (adjustment of the field of view of one or more cameras occurring in response to movement of device 100 from FIGS. 15V and 15W) later) further adjust the field of view of one or more cameras. In response to detecting further movement of the device, which further adjusts the field of view of the one or more cameras, the device determines the distance between the virtual object and the plane detected within the field of view of the one or more cameras as the field of view of the one or more cameras is further adjusted. 1 adjust the display of a representation of a virtual object within a first user interface area according to a spatial relationship (e.g., orientation and/or position) (e.g., a plane and a virtual object detected in the physical environment captured within the field of view of one or more cameras) Because the spatial relationships between representations of objects remain fixed during movement of the device relative to the physical environment, further movement of the device causes the virtual object to exceed a second threshold amount (e.g., 50%, 80%, or 100%). Upon determining to move into the displayed portion of the field of view of one or more cameras, the device may, through one or more audio output generators, send a third audio alert (e.g., a notification indicating that more than a threshold amount of virtual objects have been moved back into the camera view). (20022). For example, as described with respect to FIG. 15X, in response to movement of device 100 that causes
일부 실시예들에서, 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하고 가상 객체에 적용가능한 복수의 객체 조작 유형들 중 제1 객체 조작 유형이 가상 객체에 대해 현재 선택되어 있는 동안, 디바이스는 가상 객체에 적용가능한 다른 객체 조작 유형으로 스위칭하라는 요청을 검출한다(예컨대, 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 제1 사용자 인터페이스 영역의 일부분에 대응하는 터치 감응형 표면 상의 위치에서 (예컨대, 수평 방향으로의 접촉의 이동을 포함하는) 접촉에 의한 스와이프 입력을 검출함)(20024). 예를 들어, 도 15ag와 관련하여 기술된 바와 같이, 시계방향 회전 제어부(15170)가 현재 선택되어 있는 동안, (가상 객체(15160)를 반시계방향으로 회전시키기 위해) 반시계방향 회전 제어부(15180)로 스위칭하기 위한 스와이프 입력이 검출된다. 가상 객체에 적용가능한 다른 객체 조작 유형으로 스위칭하라는 요청을 검출하는 것에 응답하여, 디바이스는 가상 객체에 적용가능한 복수의 객체 조작 유형들 중 제2 객체 조작 유형을 명명하는 오디오 출력(예컨대, 오디오 출력은 "rotate object around x-axis(x 축을 중심으로 객체를 회전시키세요)", "resize object(객체 크기를 재설정하세요)", 또는 "move object on the plane(평면 상에서 객체를 이동시키세요)" 등이라고 하는 알림을 포함함)을 생성하는데, 제2 객체 조작 유형은 제1 객체 조작 유형과 구별된다(20026). 예를 들어, 도 15ah에서, 도 15ag와 관련하여 기술된 요청의 검출에 응답하여, 알림(15184)("selected: rotate counterclockwise")을 포함하는 오디오 경보(15182)가 생성된다. 일부 실시예들에서, 디바이스는 동일한 방향으로의 연속적인 스와이프 입력들에 응답하여 적용가능한 객체 조작 유형들의 미리정의된 목록을 반복한다. 일부 실시예들에서, 바로 앞서 선행하는 스와이프 입력으로부터 반대 방향으로의 스와이프 입력을 검출하는 것에 응답하여, 디바이스는 가상 객체에 적용가능한 이전에 알려진 객체 조작 유형(예컨대, 마지막 바로 전에 알려진 객체 조작 유형)을 명명하는 알림을 포함하는 오디오 출력을 생성한다. 일부 실시예들에서, 디바이스는 가상 객체에 적용가능한 각각의 객체 조작 유형들에 대한 대응하는 제어부를 디스플레이하지 않는다(예컨대, 제스처들에 의해 개시되는 동작들(예컨대, 회전, 크기 재설정, 병진 등)에 대해 디스플레이되는 버튼이나 제어부가 없다). 객체 조작 유형을 스위칭하라는 요청에 응답하여 오디오 출력을 생성하는 것은 스위치 동작이 수행되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 스위칭 입력이 성공적으로 수행되었다는 것을 확인하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, while displaying a representation of the virtual object within a first user interface area and a first object manipulation type of a plurality of object manipulation types applicable to the virtual object is currently selected for the virtual object, the device Detect a request to switch to a different type of object manipulation applicable to the object (e.g., at a location on the touch-sensitive surface corresponding to a portion of the first user interface area displaying a representation of the field of view of one or more cameras (e.g., in a horizontal direction) Detecting swipe input by contact (including movement of the contact to) (20024). For example, as described with respect to FIG. 15Ag, while clockwise rotation control 15170 is currently selected, counterclockwise rotation control 15180 (to rotate virtual object 15160 counterclockwise) ) A swipe input for switching is detected. In response to detecting a request to switch to another object manipulation type applicable to the virtual object, the device outputs audio naming a second object manipulation type of the plurality of object manipulation types applicable to the virtual object (e.g., the audio output “rotate object around x-axis”, “resize object”, or “move object on the plane”, etc. (including a notification called), where the second object manipulation type is distinguished from the first object manipulation type (20026). For example, in Figure 15ah, in response to detection of the request described with respect to Figure 15ag, an audio alert 15182 is generated that includes a notification 15184 (“selected: rotate counterclockwise”). In some embodiments, the device repeats a predefined list of applicable object manipulation types in response to successive swipe inputs in the same direction. In some embodiments, in response to detecting a swipe input in the opposite direction from the immediately preceding swipe input, the device determines a type of previously known object manipulation applicable to the virtual object (e.g., a previously known object manipulation type applicable to the virtual object) Generates audio output containing a notification naming the type. In some embodiments, the device does not display corresponding controls for each type of object manipulation applicable to the virtual object (e.g., operations initiated by gestures (e.g., rotation, resize, translation, etc.) There are no buttons or controls displayed for ). Generating audio output in response to a request to switch the type of object manipulation provides feedback to the user indicating that the switch action has been performed. Providing improved feedback to the user (e.g., by providing information confirming that the switching input was successfully performed without cluttering the display with additional displayed information and without requiring the user to look at the display) ) improves the operability of the device and makes the user-device interface more efficient, which additionally reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently.
가상 객체에 적용가능한 복수의 객체 조작 유형들 중 제2 객체 조작 유형을 명명하는 오디오 출력(예컨대, 오디오 출력은 "rotate object around x-axis", "resize object", 또는 "move object on the plane" 등이라고 하는 알림을 포함함)을 생성한 후, 디바이스는 현재 선택된 객체 조작 유형에 대응하는 객체 조작 거동을 실행하라는 요청을 검출한다(예컨대, 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 제1 사용자 인터페이스 영역의 일부분에 대응하는 터치 감응형 표면 상의 위치에서 접촉에 의한 더블 탭 입력을 검출함)(20028). 예를 들어, 도 15ah와 관련하여 기술된 바와 같이, 가상 객체(11002)를 반시계방향으로 회전시키기 위한 더블 탭 입력이 검출된다. 현재 선택된 객체 조작 유형에 대응하는 객체 조작 거동을 수행하라는 요청을 검출하는 것에 응답하여, 디바이스는 제2 객체 조작 유형에 대응하는 객체 조작 거동을 실행한다(예컨대, 가상 객체를 y-축을 중심으로 5도만큼 회전시키거나, 객체의 크기를 5%만큼 증가시키거나, 객체를 평면 상에서 20픽셀만큼 이동시킴)(예컨대, 제2 객체 조작 유형에 따라 제1 사용자 인터페이스 영역 내의 가상 객체의 표현의 디스플레이를 조정함)(20030). 예를 들어, 도 15ai에서, 도 15ah와 관련하여 기술된 요청의 검출에 응답하여, 가상 객체(11002)는 반시계방향으로 회전된다. 일부 실시예들에서, 디바이스는, 제2 객체 조작 유형에 대응하는 객체 조작 거동을 실행하는 것에 더하여, 가상 객체에 대해 실행되는 객체 조작 거동 및 객체 조작 거동의 실행 후 가상 객체의 결과 상태를 나타내는 알림을 포함하는 오디오 출력을 출력한다. 예를 들어, 도 15ai에서, 알림(15192)("Chair rotated by five degrees counterclockwise. Chair is now rotated by zero degrees relative to the screen")을 포함하는 오디오 출력(15190)이 생성된다. 동작이 선택되는 동안 검출된 입력에 응답하여 객체 조작 동작을 수행하는 것은 동작을 수행하기 위한 추가 제어 옵션을 제공한다(예컨대, 2-접촉 입력을 요구하기보다는 탭 입력을 제공함으로써 사용자가 동작을 수행하게 함). 추가의 디스플레이된 제어부들로 사용자 인터페이스를 혼란스럽게 하지 않으면서 입력을 제공하기 위한 추가 제어 옵션을 제공하는 것은 (예컨대, 다중 접촉 제스처들을 제공할 수 있는 제한된 능력을 갖는 사용자들에게 객체를 조작하기 위한 옵션을 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.Audio output naming a second object manipulation type among a plurality of object manipulation types applicable to the virtual object (e.g., the audio output is “rotate object around x-axis”, “resize object”, or “move object on the plane”) After generating a notification, the device detects a request to perform an object manipulation action corresponding to the currently selected object manipulation type (e.g., a first user interface that displays a representation of the field of view of one or more cameras). Detecting a double-tap input by contact at a location on a touch-sensitive surface corresponding to a portion of an area) (20028). For example, as described with respect to Figure 15ah, a double tap input to rotate the
일부 실시예들에서, 가상 객체에 적용가능한 다른 객체 조작 유형으로 스위칭하라는 요청을 검출하는 것에 응답하여, 제2 객체 조작 유형이 연속적으로 조정가능한 조작 유형이라는 결정에 따라, 디바이스는, 제2 객체 조작 유형이 연속적으로 조정가능한 조작 유형인 것을 나타내기 위해, 제2 객체 조작 유형을 명명하는 오디오 출력과 함께 오디오 경보를 생성하고(예컨대, 제2 객체 조작 유형을 명명하는 오디오 알림(예컨대, "rotate object clockwise around the y axis(객체를 y-축을 중심으로 시계방향으로 회전시키세요)") 후에 "adjustable(조정가능)"이라고 하는 오디오 출력을 출력함); 디바이스는, (예컨대, 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 제1 사용자 인터페이스 영역의 일부분에 대응하는 터치 감응형 표면 상의 위치에서 접촉에 의한 더블 탭 입력을 검출한 후) 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 제1 사용자 인터페이스 영역의 일부분에 대응하는 터치 감응형 표면 상의 위치에서 스와이프 입력을 검출하는 것을 포함하여, 제2 객체 조작 유형에 대응하는 객체 조작 거동을 실행하라는 요청을 검출하고; 제2 객체 조작 유형에 대응하는 객체 조작 거동을 실행하라는 요청을 검출하는 것에 응답하여, 디바이스는 스와이프 입력의 크기에 대응하는 양만큼 제2 객체 조작 유형에 대응하는 객체 조작 거동을 실행한다(예컨대, 스와이프 입력의 크기가 제1 양인지 또는 제1 양보다 큰 제2 양인지 여부에 따라, 가상 객체를 y 축을 중심으로 5도 또는 10도만큼 회전시키거나, 객체의 크기를 5% 또는 10%만큼 증가시키거나, 객체를 평면 상에서 20픽셀 또는 40픽셀만큼 이동시킴)(20032). 예를 들어, 도 15j 및 도 15k와 관련하여 기술된 바와 같이, 시계방향 회전 제어부(15038)가 현재 선택되어 있는 동안, 줌 제어부(15064)로의 스위칭을 위한 스와이프 입력이 검출된다. 알림(15068)("scale: adjustable")을 포함하는 오디오 경보(15066)가 생성된다. 도 15k 및 도 15l과 관련하여 기술된 바와 같이, 가상 객체(11002)에 대해 줌 인하기 위한 스와이프 입력이 검출되고, 입력에 응답하여, 줌 동작이 가상 객체(11002)에 대해 수행된다(도 15k 및 도 15l의 예시적인 예에서, 스테이징 뷰 인터페이스(6010)가 디스플레이되는 동안 연속적으로 조정가능한 조작을 위한 입력이 검출되지만, 하나 이상의 카메라들의 시야의 표현을 디스플레이하는 제1 사용자 인터페이스 영역의 일부분에 대응하는 터치 감응형 표면 상의 위치에서 유사한 입력이 검출될 수 있다는 것이 인식될 것이다). 일부 실시예들에서, 디바이스는, 제2 객체 조작 거동을 실행하는 것에 더하여, 가상 객체에 대해 실행되는 객체 조작 거동의 양 및 그 양만큼의 객체 조작 거동의 실행 후 가상 객체의 결과 상태를 나타내는 오디오 알림을 출력한다. 스와이프 입력에 응답하여 객체 조작 동작을 수행하는 것은 동작을 수행하기 위한 추가 제어 옵션을 제공한다(예컨대, 2-접촉 입력을 요구하기보다는 스와이프 입력을 제공함으로써 사용자가 동작을 수행하게 함). 추가의 디스플레이된 제어부들로 사용자 인터페이스를 혼란스럽게 하지 않으면서 입력을 제공하기 위한 추가 제어 옵션을 제공하는 것은 (예컨대, 다중 접촉 제스처들을 제공할 수 있는 제한된 능력을 갖는 사용자들에게 객체를 조작하기 위한 옵션을 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, in response to detecting a request to switch to another object manipulation type applicable to the virtual object, upon determining that the second object manipulation type is a continuously adjustable manipulation type, the device may: To indicate that the type is a continuously adjustable manipulation type, generate an audio alert with an audio output naming the second object manipulation type (e.g., an audio alert naming the second object manipulation type (e.g., "rotate object "rotate an object clockwise around the y-axis") followed by an audio output called "adjustable"); The device controls the field of view of one or more cameras (e.g., after detecting a double-tap input by contact at a location on the touch-sensitive surface corresponding to a portion of the first user interface area that displays a representation of the field of view of the one or more cameras). detect a request to perform an object manipulation action corresponding to a second object manipulation type, including detecting a swipe input at a location on the touch-sensitive surface corresponding to a portion of the first user interface area displaying the representation; In response to detecting a request to perform an object manipulation behavior corresponding to the second object manipulation type, the device executes the object manipulation behavior corresponding to the second object manipulation type in an amount corresponding to the size of the swipe input (e.g. , depending on whether the size of the swipe input is a first amount or a second amount greater than the first amount, rotates the virtual object by 5 or 10 degrees around the y axis, or reduces the size of the object by 5% or 10%. increases by % or moves the object by 20 or 40 pixels on the plane) (20032). For example, as described with respect to FIGS. 15J and 15K, while clockwise rotation control 15038 is currently selected, a swipe input for switching to zoom control 15064 is detected. An audio alert 15066 is generated containing notification 15068 (“scale: adjustable”). As described with respect to FIGS. 15K and 15L, a swipe input to zoom in on
일부 실시예들에서, 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하기 전에, 디바이스는 제2 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내에 가상 객체의 표현을 디스플레이하는데, 제2 사용자 인터페이스 영역은 하나 이상의 카메라들의 시야의 표현을 포함하지 않는다(예컨대, 제2 사용자 인터페이스 영역은 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면에 대한 고정된 관계를 유지하지 않으면서 가상 객체가 조작(예컨대, 회전, 크기 재설정, 및 이동)될 수 있는 스테이징 사용자 인터페이스이다)(20034). 제2 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하고 가상 객체에 적용가능한 복수의 동작들 중 제1 동작이 가상 객체에 대해 현재 선택되어 있는 동안, 디바이스는 (예컨대, 제2 사용자 인터페이스 영역 내의 가상 객체에 적용가능한 객체 조작 유형(예컨대, 크기 재설정, 회전, 기울기 등) 또는 제2 사용자 인터페이스 영역 내의 가상 객체에 적용가능한 사용자 인터페이스 동작(예컨대, 2D 사용자 인터페이스로 다시 돌아가기, 객체를 물리적 환경의 증강 현실 뷰 내로 낙하하기)을 스위칭하라는 요청을 포함하여) 가상 객체에 적용가능한 다른 동작으로 스위칭하라는 요청을 검출한다(예컨대, 요청을 검출하는 것은 제1 사용자 인터페이스 영역에 대응하는 터치 감응형 표면 상의 위치에서 (예컨대, 접촉의 수평 방향으로의 이동을 포함한) 접촉에 의한 스와이프 입력을 검출하는 것을 포함한다)(20036). 예를 들어, 도 15f 및 도 15g와 관련하여 기술된 바와 같이, 스테이징 사용자 인터페이스(6010)가 디스플레이되고 틸트 다운 제어부(15022)가 현재 선택되어 있는 동안, 시계방향 회전 제어부(15038)로 스위칭하기 위한 스와이프 입력이 검출된다. 제2 사용자 인터페이스 영역 내의 가상 객체에 적용가능한 다른 동작으로 스위칭하라는 요청을 검출하는 것에 응답하여, 디바이스는 가상 객체에 적용가능한 복수의 동작들 중 제2 동작을 명명하는 오디오 출력(예컨대, 오디오 출력은 "rotate object around x-axis", "resize object", "tilt the object toward the display(디스플레이를 향하여 객체를 기울이세요)", 또는 "display object in the augmented reality view(증강 현실 뷰 내에 객체를 디스플레이하세요)" 등이라고 하는 알림을 포함함)을 생성하는데, 제2 동작은 제1 동작과 구별된다(20038). 일부 실시예들에서, 디바이스는 동일한 방향으로의 연속적인 스와이프 입력들에 응답하여 적용가능한 동작들의 미리정의된 목록을 반복된다. 예를 들어, 도 15g에서, 도 15f와 관련하여 기술된 요청의 검출에 응답하여, 알림(15042)("selected: rotate clockwise button")을 포함하는 오디오 경보(15040)가 생성된다. 동작 유형을 스위칭하라는 요청에 응답하여 선택된 동작 유형을 명명하는 오디오 출력을 생성하는 것은 스위칭 입력이 성공적으로 수신되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 동작 유형을 스위칭하라는 요청에 응답하여 선택된 동작 유형을 명명하는 오디오 출력을 생성하는 것은 스위칭 입력이 성공적으로 수신되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 선택된 제어부가 변경되었을 때를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, prior to displaying a representation of the virtual object in a first user interface area, the device displays a representation of the virtual object in a second user interface area (e.g., a staging user interface), where the second user interface area includes: Does not include a representation of the field of view of one or more cameras (e.g., the second user interface area allows virtual objects to be manipulated (e.g., It is a staging user interface that can be rotated, resized, and moved (20034). While displaying a representation of the virtual object within the second user interface area and a first of a plurality of operations applicable to the virtual object is currently selected for the virtual object, the device (e.g., Types of object manipulations applicable to (e.g., resizing, rotating, tilting, etc.) or user interface actions applicable to virtual objects within the second user interface area (e.g., returning back to the 2D user interface, placing the object in augmented reality of the physical environment) Detect a request to switch to another action applicable to the virtual object (including a request to switch (fall into view)) (e.g., detecting the request may be performed at a location on the touch-sensitive surface corresponding to the first user interface area). (including detecting swipe input by contact (e.g., including movement of the contact in the horizontal direction)) (20036). For example, as described with respect to FIGS. 15F and 15G , while the staging user interface 6010 is displayed and the tilt down control 15022 is currently selected, there are instructions for switching to the clockwise rotation control 15038. Swipe input is detected. In response to detecting a request to switch to another operation applicable to the virtual object within the second user interface area, the device outputs audio naming a second operation of the plurality of operations applicable to the virtual object (e.g., the audio output “rotate object around x-axis”, “resize object”, “tilt the object toward the display”, or “display object in the augmented reality view” )", etc.), where the second operation is distinguished from the first operation (20038). In some embodiments, the device repeats a predefined list of applicable actions in response to consecutive swipe inputs in the same direction. For example, in Figure 15G, in response to detection of the request described with respect to Figure 15F, an audio alert 15040 is generated that includes notification 15042 (“selected: rotate clockwise button”). Generating audio output naming the selected motion type in response to a request to switch motion types provides feedback to the user indicating that the switching input has been successfully received. Generating audio output naming the selected motion type in response to a request to switch motion types provides feedback to the user indicating that the switching input has been successfully received. Providing improved feedback to the user (e.g., providing information that lets the user know when the selected control has changed without cluttering the display with additional displayed information and without requiring the user to look at the display) improves the operability of the device and makes the user-device interface more efficient, which additionally reduces the device's power usage and improves battery life by enabling users to use the device more quickly and efficiently Let's do it.
일부 실시예들에서, 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하기 전에, 하나 이상의 카메라들의 시야의 표현을 포함하지 않는 제2 사용자 인터페이스 영역(예컨대, 스테이징 사용자 인터페이스) 내에 가상 객체의 표현을 디스플레이하는 동안(예컨대, 제2 사용자 인터페이스 영역은 물리적 환경 내의 평면에 대한 고정된 관계를 유지하지 않으면서 가상 객체가 조작(예컨대, 회전, 크기 재설정, 및 이동)될 수 있는 스테이징 사용자 인터페이스임), 디바이스는 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하라는 요청을 검출한다(예컨대, 현재 선택된 동작이 "display the object in the augmented reality view(증강 현실 뷰 내에 객체를 디스플레이하세요)"일 때 그리고 디바이스가 (예컨대, 더블 탭 입력 직전에 수신된) 스와이프 입력에 응답하여 현재 선택된 동작을 명명하는 오디오 알림을 바로 출력한 후에 더블 탭 입력을 검출함)(20040). 예를 들어, 도 15p 내지 도 15v와 관련하여 기술된 바와 같이, 스테이징 사용자 인터페이스(6010)가 디스플레이되고 토글 제어부(6018)가 선택되어 있는 동안, 하나 이상의 카메라들의 시야(6036)의 표현을 포함하는 사용자 인터페이스 영역에 가상 객체(11002)의 표현을 디스플레이하기 위한 더블 탭 입력이 검출된다. 하나 이상의 카메라들의 시야의 표현을 포함하는 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하라는 요청을 검출하는 것에 응답하여, 디바이스는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면과 가상 객체의 표현 사이의 제1 공간적 관계에 따라 제1 사용자 인터페이스 영역 내에 가상 객체의 표현을 디스플레이하고(예컨대, 가상 객체가 증강 현실 뷰 내에 표현된 물리적 환경 내로 낙하될 때 스테이징 뷰 내의 가상 객체의 회전 각 및 크기는 증강 현실 뷰 내에 유지되고, 기울기 각은 시야 내에서 캡처되는 물리적 환경에서 검출되는 평면의 배향에 따라 증강 현실 뷰 내에서 재설정됨); 디바이스는 가상 객체가 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경과 관련하여 증강 현실 뷰 내에 배치되는 것을 나타내는 제4 오디오 경보를 생성한다. 예를 들어, 도 15v와 관련하여 기술된 바와 같이, 하나 이상의 카메라들의 시야(6036)의 표현을 포함하는 사용자 인터페이스 영역 내에 가상 객체(11002)의 표현을 디스플레이하기 위한 입력에 응답하여, 가상 객체(11002)의 표현이 하나 이상의 카메라들의 시야(6036)를 포함하는 사용자 인터페이스 영역 내에 디스플레이되고, 알림(15116)("chair is now projected in the world, 100 percent visible, occupying 10 percent of the screen")을 포함하는 오디오 경보(15114)가 생성된다. 객체를 증강 현실 뷰 내에 배치하라는 요청에 응답하여 오디오 출력을 생성하는 것은 가상 객체를 배치하는 동작이 성공적으로 실행되었다는 것을 나타내는 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 객체가 증강 현실 뷰 내에 디스플레이된 것을 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, prior to displaying a representation of the virtual object within a first user interface area, displaying a representation of the virtual object within a second user interface area (e.g., a staging user interface) that does not include a representation of the field of view of one or more cameras. During display (e.g., the second user interface area is a staging user interface where the virtual object can be manipulated (e.g., rotated, resized, and moved) without maintaining a fixed relationship to a plane within the physical environment); The device detects a request to display a representation of a virtual object in a first user interface area that includes a representation of the field of view of one or more cameras (e.g., if the currently selected action is "display the object in the augmented reality view"). Detect a double-tap input when "display the object" and immediately after the device outputs an audio notification naming the currently selected action in response to the swipe input (e.g., received immediately before the double-tap input) (20040) ). For example, as described with respect to FIGS. 15P-15V, while the staging user interface 6010 is displayed and the toggle control 6018 is selected, it includes a representation of the field of
일부 실시예들에서, 제3 오디오 경보는 하나 이상의 카메라들의 시야의 일부분에 대한 가상 객체의 외관에 관한 정보를 나타낸다(예컨대, 제3 오디오 경보는 "object x is placed in the world, object x is 30% visible, occupying 90% of the screen(객체 x가 실세계에 배치되고, 객체 x가 30% 가시적이고, 스크린의 90%를 차지합니다)"라고 하는 알림을 포함하는 오디오 출력을 포함한다)(20042). 예를 들어, 도 15v와 관련하여 기술된 바와 같이, 알림(15116)("chair is now projected in the world, 100 percent visible, occupying 10 percent of the screen")을 포함하는 오디오 경보(15114)가 생성된다. 디스플레이된 증강 현실 뷰에 대해 가시적인 가상 객체의 외관을 나타내는 오디오 출력을 생성하는 것은 (예컨대, 증강 현실 뷰 내의 객체의 배치가 가상 객체의 외관에 영향을 미치는 정도를 나타내는) 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 추가의 디스플레이된 정보로 디스플레이를 혼란스럽게 하지 않으면서 그리고 사용자가 디스플레이를 볼 것을 요구하지 않으면서 객체가 어떻게 증강 현실 뷰 내에 디스플레이되는지를 사용자가 인지하게 하는 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the third audio alert indicates information about the appearance of the virtual object to a portion of the field of view of one or more cameras (e.g., the third audio alert may state “object x is placed in the world, object x is 30 % visible, occupying 90% of the screen (20042) . For example, as described with respect to FIG. 15V, an audio alert 15114 is generated that includes notification 15116 (“chair is now projected in the world, 100 percent visible, occupying 10 percent of the screen”). do. Generating audio output indicative of the appearance of a virtual object visible to the displayed augmented reality view provides feedback to the user (e.g., indicating the extent to which the placement of the object within the augmented reality view affects the appearance of the virtual object). . Providing improved feedback to the user (e.g., allowing the user to perceive how objects are displayed within the augmented reality view without cluttering the display with additional displayed information and without requiring the user to look at the display) improves the operability of the device and makes the user-device interface more efficient, which additionally allows users to use the device more quickly and efficiently, reducing the device's power usage and battery life Improves lifespan.
일부 실시예들에서, 디바이스는 하나 이상의 카메라들의 시야 내에서 캡처되는 물리적 환경과 관련하여 증강 현실 뷰 내의 가상 객체의 배치와 함께 촉각적 출력을 생성한다(20044). 예를 들어, 객체가 카메라들의 시야 내에서 검출되는 평면 상에 배치될 때, 디바이스는 평면 상으로의 객체의 랜딩을 나타내는 촉각적 출력을 생성한다. 일부 실시예들에서, 디바이스는 객체의 크기 재설정 동안 객체가 미리정의된 디폴트 크기에 도달할 때 촉각적 출력을 생성한다. 일부 실시예들에서, 디바이스는 가상 객체에 대해 수행되는 각각의 동작에 대한 (예컨대, 미리 설정된 각도만큼의 각각의 회전, 가상 객체를 상이한 평면 상으로 드래그하는 것, 객체를 원래의 배향 및/또는 크기로 재설정하는 것 등에 대한) 촉각적 출력을 생성한다. 일부 실시예들에서, 이러한 촉각적 출력들은 수행되는 동작 및 가상 객체의 결과 상태를 설명하는 대응하는 오디오 경보들에 선행한다. 예를 들어, 도 15v와 관련하여 기술된 바와 같이, 하나 이상의 카메라들의 시야(6036) 내에서의 가상 객체(11002)의 배치와 함께 촉각적 출력(15118)이 생성된다. 하나 이상의 카메라들에 의해 캡처되는 물리적 환경과 관련하여 가상 객체의 배치와 함께 촉각적 출력을 생성하는 것은 (예컨대, 가상 객체를 배치하기 위한 동작이 성공적으로 실행되었다는 것을 나타내는) 피드백을 사용자에게 제공한다. 개선된 피드백을 사용자에게 제공하는 것은 (예컨대, 디스플레이된 정보로 사용자 인터페이스를 혼란스럽게 하지 않으면서 가상 객체의 배치가 발생하였다는 것을 사용자가 인지하게 하는 감각적 정보를 제공함으로써) 디바이스의 작동성을 향상시키고, 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device generates a tactile output with the placement of a virtual object in an augmented reality view in relation to the physical environment captured within the field of view of one or more cameras (20044). For example, when an object is placed on a plane detected within the cameras' field of view, the device generates a tactile output indicating the object's landing on the plane. In some embodiments, the device generates a tactile output when the object reaches a predefined default size during resizing of the object. In some embodiments, the device may configure the device for each operation performed on the virtual object (e.g., each rotation by a preset angle, dragging the virtual object onto a different plane, reorienting the object to its original orientation, and/or generates tactile output (for resetting to size, etc.) In some embodiments, these tactile outputs are preceded by corresponding audio alerts that describe the action being performed and the resulting state of the virtual object. For example, as described with respect to FIG. 15V, tactile output 15118 is generated with placement of
일부 실시예들에서, 디바이스는, 하나 이상의 카메라들의 시야의 표현과 동시에, 제1 사용자 인터페이스 영역 내의 제1 위치에 (예컨대, 제1 사용자 인터페이스 영역 내의 상이한 위치들에 디스플레이된 복수의 제어부들 중) 제1 제어부를 디스플레이한다(20046). 제어부 페이딩 기준들이 충족된다는 (예컨대, 터치 입력이 터치 감응형 표면 상에서 검출되지 않으면서 제1 사용자 인터페이스 영역이 적어도 임계 시간 동안 디스플레이될 때 제어부 페이딩 기준들이 충족된다는) 결정에 따라, 디바이스는 제1 사용자 인터페이스 영역 내에 하나 이상의 카메라들의 시야의 표현의 디스플레이를 유지하는 동안 (예컨대, 제1 사용자 인터페이스 영역 내의 모든 다른 제어부들과 함께) 제1 사용자 인터페이스 영역 내에 제1 제어부를 디스플레이하는 것을 중지한다(예컨대, 사용자가 디바이스를 물리적 환경에 대해 이동시킬 때 제어부들은 재디스플레이되지 않는다)(20048). 제1 사용자 인터페이스 영역 내에 제1 제어부를 디스플레이하지 않으면서 제1 사용자 인터페이스 영역을 디스플레이하는 동안, 디바이스는 제1 사용자 인터페이스 영역 내의 제1 위치에 대응하는 터치 감응형 표면 상의 각각의 위치에서 터치 입력을 검출한다(20050). 터치 입력을 검출하는 것에 응답하여, 디바이스는 제1 제어부에 대응하는 동작을 특정하는 오디오 출력(예컨대, "go back to staging view(스테이징 뷰로 다시 가세요)" 또는 "rotate object around the y-axis(y-축을 중심으로 객체를 회전시키세요)")을 포함하는 제5 오디오 경보를 생성한다(20052). 일부 실시예들에서, 디바이스는 또한, 터치 입력을 검출하는 것에 응답하여 제1 위치에서 제1 제어부를 재디스플레이한다. 일부 실시예들에서, 제어부를 재디스플레이하고 디스플레이 상의 제어부의 통상 위치에서의 터치 입력 시, 제어부를 현재 선택된 제어부로 만드는 것은, 일단 사용자가 디스플레이 상의 제어부들의 위치들을 알면 일련의 스와이프 입력들을 사용하여 이용가능한 제어부들을 통해 스캐닝하는 것보다 빠른, 제어부에 액세스하는 방식을 제공한다. 제어부 페이딩 기준들이 충족된다고 결정하는 것에 응답하여 제어부를 디스플레이하는 것을 자동으로 중지하는 것은 제어부들을 디스플레이하는 것을 중지하는 데 필요한 입력들의 수를 감소시킨다. 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것은 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스를 더 효율적으로 만드는데, 이는 추가적으로, 사용자가 디바이스를 더 신속하고 효율적으로 사용하는 것을 가능하게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다.In some embodiments, the device is displayed at a first location within the first user interface area (e.g., among a plurality of controls displayed at different locations within the first user interface area) simultaneously with presentation of the field of view of one or more cameras. The first control unit is displayed (20046). Upon determining that the control fading criteria are met (e.g., the control fading criteria are met when the first user interface area is displayed for at least a threshold period of time without a touch input being detected on the touch-sensitive surface), the device Stop displaying the first control within the first user interface area (e.g., along with all other controls within the first user interface area) while maintaining display of a representation of the field of view of one or more cameras within the interface area (e.g., Controls are not redisplayed when the user moves the device relative to the physical environment) (20048). While displaying the first user interface area without displaying the first control within the first user interface area, the device receives a touch input at each location on the touch-sensitive surface corresponding to the first location within the first user interface area. Detect (20050). In response to detecting the touch input, the device outputs an audio output specifying an action corresponding to the first control (e.g., “go back to staging view” or “rotate object around the y-axis (y -Create a fifth audio alert containing "Rotate the object around its axis") (20052). In some embodiments, the device also redisplays the first control at the first location in response to detecting the touch input. In some embodiments, redisplaying a control and making it the currently selected control upon a touch input at the control's normal location on the display can be achieved by using a series of swipe inputs once the user knows the locations of the controls on the display. Provides a faster way to access controls than scanning through available controls. Automatically stopping displaying controls in response to determining that control fading criteria are met reduces the number of inputs required to stop displaying controls. Reducing the number of inputs required to perform an operation improves the operability of the device and makes the user-device interface more efficient, which additionally allows the user to use the device more quickly and efficiently, thereby improving the device's operability. Reduces power usage and improves battery life.
도 20a 내지 도 20f에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 추가적으로, 본 명세서에 기술된 다른 방법들(예를 들어, 방법들(800, 900, 1000, 16000, 17000, 18000, 20000))과 관련하여 본 명세서에 기술된 다른 프로세스들의 상세사항들이 도 20a 내지 도 20f와 관련하여 전술된 방법(20000)과 유사한 방식으로 또한 적용가능하다는 것이 주목되어야 한다. 예를 들어, 방법(20000)과 관련하여 전술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들은 선택적으로, 본 명세서에 기술된 다른 방법들(예컨대, 방법들(800, 900, 1000, 16000, 17000, 18000, 19000))과 관련하여 본 명세서에 기술된 접촉들, 입력들, 가상 객체들, 사용자 인터페이스 영역들, 시야들, 촉각적 출력들, 이동들, 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.It should be understood that the specific order in which the operations in FIGS. 20A-20F are described is by way of example only and is not intended to indicate that the described order is the only order in which the operations may be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. Additionally, details of other processes described herein in connection with other methods described herein (e.g., methods 800, 900, 1000, 16000, 17000, 18000, 20000) are provided in FIGS. 20A-20A. It should be noted that method 20000 described above in relation to Figure 20f is also applicable in a similar manner. For example, contacts, inputs, virtual objects, user interface areas, views, tactile outputs, movements, and/or animations described above in connection with method 20000 are optionally described herein. Contacts, inputs, virtual objects, user interface areas, and fields of view described herein in connection with other methods described (e.g., methods 800, 900, 1000, 16000, 17000, 18000, 19000). has one or more of the following characteristics: fields, tactile outputs, movements, and/or animations. For brevity, these details are not repeated here.
도 8a 내지 도 8e, 도 9a 내지 도 9d, 도 10a 내지 도 10d, 도 16a 내지 도 16g, 도 17a 내지 도 17d, 도 18a 내지 도 18i, 도 19a 내지 도 19h, 및 도 20a 내지 도 20f를 참조하여 전술된 동작들은, 선택적으로, 도 1a 및 도 1b에 도시된 컴포넌트들에 의해 구현된다. 예를 들어, 디스플레이 동작들(802, 806, 902, 906, 910, 1004, 1008, 16004, 17004, 18002, 19002, 20002); 검출 동작들(804, 904, 908, 17006, 18004, 19004, 20004); 변경 동작(910), 수신 동작들(1002, 1006, 16002, 17002); 중지 동작들(17008); 회전 동작(18006); 업데이트 동작(19006); 조정 동작(20006); 및 생성 동작(20006)은, 선택적으로, 이벤트 분류기(170), 이벤트 인식기(180) 및 이벤트 핸들러(190)에 의해 구현된다. 이벤트 분류기(170) 내의 이벤트 모니터(171)는 터치 감응형 디스플레이(112) 상에서의 접촉을 검출하고, 이벤트 디스패처 모듈(174)은 이벤트 정보를 애플리케이션(136-1)에 전달한다. 애플리케이션(136-1)의 각자의 이벤트 인식기(180)는 이벤트 정보를 각자의 이벤트 정의들(186)과 비교하고, 터치 감응형 표면 상의 제1 위치에서의 제1 접촉(또는 디바이스의 회전)이 사용자 인터페이스 상의 객체의 선택, 또는 하나의 배향으로부터 다른 배향으로의 디바이스의 회전과 같은 미리정의된 이벤트 또는 서브-이벤트에 대응하는지 여부를 결정한다. 각각의 미리정의된 이벤트 또는 서브이벤트가 검출될 때, 이벤트 인식기(180)는 이벤트 또는 서브이벤트의 검출과 연관된 이벤트 핸들러(190)를 활성화시킨다. 이벤트 핸들러(190)는, 선택적으로, 데이터 업데이터(176) 또는 객체 업데이터(177)를 이용하거나 호출하여 애플리케이션 내부 상태(192)를 업데이트한다. 일부 실시예들에서, 이벤트 핸들러(190)는 각각의 GUI 업데이터(178)에 액세스하여, 애플리케이션에 의해 디스플레이되는 것을 업데이트한다. 유사하게, 다른 프로세스들이 도 1a 및 도 1b에 도시된 컴포넌트들에 기초하여 어떻게 구현될 수 있는지는 당업자에게 자명할 것이다.See FIGS. 8A-8E, 9A-9D, 10A-10D, 16A-16G, 17A-17D, 18A-18I, 19A-19H, and 20A-20F. The operations described above are, optionally, implemented by the components shown in FIGS. 1A and 1B. For example, display operations 802, 806, 902, 906, 910, 1004, 1008, 16004, 17004, 18002, 19002, 20002; detection operations (804, 904, 908, 17006, 18004, 19004, 20004); change operation 910, receive operations 1002, 1006, 16002, 17002; stop operations (17008); RotationMotion(18006); updateaction(19006); Coordinated Motion (20006); and creation operation 20006, optionally, is implemented by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 in event sorter 170 detects contact on touch-sensitive display 112, and event dispatcher module 174 delivers event information to application 136-1. The respective event recognizer 180 of application 136-1 compares the event information with the respective event definitions 186 and determines whether the first contact (or rotation of the device) at a first location on the touch-sensitive surface Determine whether it corresponds to a predefined event or sub-event, such as selection of an object on a user interface, or rotation of a device from one orientation to another. When each predefined event or sub-event is detected, event recognizer 180 activates an event handler 190 associated with detection of the event or sub-event. Event handler 190 optionally uses or calls data updater 176 or object updater 177 to update application internal state 192. In some embodiments, event handler 190 accesses each GUI updater 178 to update what is displayed by the application. Similarly, it will be apparent to those skilled in the art how other processes may be implemented based on the components shown in FIGS. 1A and 1B.
전술한 설명은, 설명의 목적을 위해, 특정 실시예들을 참조하여 설명되었다. 그러나, 상기의 예시적인 논의들은 본 발명을 개시된 정확한 형태들로 규명하거나 제한하려는 의도는 아니다. 많은 수정들 및 변형들이 상기 교시 내용들의 관점에서 가능하다. 본 발명의 원리들 및 그의 실제적인 응용들을 가장 잘 설명하여, 그에 의해 당업자들이 본 발명 및 다양한 설명된 실시예들을 고려되는 특정 용도에 적합한 바와 같은 다양한 변형들을 갖고서 가장 잘 이용하는 것을 가능하게 하도록, 실시예들이 선택 및 설명되었다.The foregoing description, for purposes of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teachings. The practice is intended to best explain the principles of the invention and its practical applications, thereby enabling those skilled in the art to best utilize the invention and the various described embodiments with various modifications as appropriate to the particular application contemplated. Examples have been selected and explained.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862621529P | 2018-01-24 | 2018-01-24 | |
| US62/621,529 | 2018-01-24 | ||
| US201862679951P | 2018-06-03 | 2018-06-03 | |
| US62/679,951 | 2018-06-03 | ||
| DKPA201870346 | 2018-06-11 | ||
| DKPA201870346ADK201870346A1 (en) | 2018-01-24 | 2018-06-11 | Devices, Methods, and Graphical User Interfaces for System-Wide Behavior for 3D Models |
| US16/145,035US11099707B2 (en) | 2018-01-24 | 2018-09-27 | Devices, methods, and graphical user interfaces for system-wide behavior for 3D models |
| US16/145,035 | 2018-09-27 | ||
| PCT/US2019/014791WO2019147699A2 (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
| KR1020227015606AKR102666508B1 (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020227015606ADivisionKR102666508B1 (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
| Publication Number | Publication Date |
|---|---|
| KR20240075927Atrue KR20240075927A (en) | 2024-05-29 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020247015723APendingKR20240075927A (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
| KR1020207024313AActiveKR102397481B1 (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3D models |
| KR1020227015606AActiveKR102666508B1 (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020207024313AActiveKR102397481B1 (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3D models |
| KR1020227015606AActiveKR102666508B1 (en) | 2018-01-24 | 2019-01-23 | Devices, methods, and graphical user interfaces for system-wide behavior for 3d models |
| Country | Link |
|---|---|
| JP (3) | JP7039714B2 (en) |
| KR (3) | KR20240075927A (en) |
| CN (1) | CN120406805A (en) |
| AU (3) | AU2019212150B2 (en) |
| WO (1) | WO2019147699A2 (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2022056036A2 (en) | 2020-09-11 | 2022-03-17 | Apple Inc. | Methods for manipulating objects in an environment |
| US12236546B1 (en) | 2020-09-24 | 2025-02-25 | Apple Inc. | Object manipulations with a pointing device |
| EP3993449A1 (en)* | 2020-11-02 | 2022-05-04 | Inter IKEA Systems B.V. | Method and device for communicating a soundscape in an environment |
| KR102442715B1 (en)* | 2020-12-02 | 2022-09-14 | 한국전자기술연구원 | Apparatus and method for reproducing augmented reality image based on divided rendering image |
| EP4295218A1 (en) | 2021-03-22 | 2023-12-27 | Apple Inc. | Methods for manipulating objects in an environment |
| US12242706B2 (en) | 2021-07-28 | 2025-03-04 | Apple Inc. | Devices, methods and graphical user interfaces for three-dimensional preview of objects |
| US12288285B2 (en) | 2021-07-28 | 2025-04-29 | Apple Inc. | System and method for interactive three-dimensional preview |
| US12283020B2 (en) | 2022-05-17 | 2025-04-22 | Apple Inc. | Systems, methods, and user interfaces for generating a three-dimensional virtual representation of an object |
| CN120469584A (en) | 2022-09-23 | 2025-08-12 | 苹果公司 | Methods for manipulating virtual objects |
| US20240104875A1 (en) | 2022-09-24 | 2024-03-28 | Apple Inc. | Systems and methods of creating and editing virtual objects using voxels |
| KR20250041794A (en)* | 2023-09-19 | 2025-03-26 | 삼성전자주식회사 | Electronic apparatus and control method thereof |
| WO2025071026A1 (en)* | 2023-09-25 | 2025-04-03 | 삼성전자 주식회사 | Electronic device comprising camera and operation method thereof |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3761106B2 (en)* | 1996-03-04 | 2006-03-29 | シャープ株式会社 | Image forming apparatus having magnification setting device |
| JP2004046326A (en)* | 2002-07-09 | 2004-02-12 | Dainippon Screen Mfg Co Ltd | Device and method for displaying picture and program |
| JP2007047294A (en)* | 2005-08-08 | 2007-02-22 | Nippon Hoso Kyokai <Nhk> | Stereoscopic image display device |
| US20080071559A1 (en)* | 2006-09-19 | 2008-03-20 | Juha Arrasvuori | Augmented reality assisted shopping |
| US9740340B1 (en)* | 2009-07-31 | 2017-08-22 | Amazon Technologies, Inc. | Visually consistent arrays including conductive mesh |
| US10198854B2 (en)* | 2009-08-14 | 2019-02-05 | Microsoft Technology Licensing, Llc | Manipulation of 3-dimensional graphical objects for view in a multi-touch display |
| US8922583B2 (en)* | 2009-11-17 | 2014-12-30 | Qualcomm Incorporated | System and method of controlling three dimensional virtual objects on a portable computing device |
| JP2012089112A (en)* | 2010-09-22 | 2012-05-10 | Nikon Corp | Image display device |
| JP5799521B2 (en) | 2011-02-15 | 2015-10-28 | ソニー株式会社 | Information processing apparatus, authoring method, and program |
| KR101852428B1 (en)* | 2011-03-09 | 2018-04-26 | 엘지전자 주식회사 | Mobile twrminal and 3d object control method thereof |
| US8581901B2 (en)* | 2011-07-28 | 2013-11-12 | Adobe Systems Incorporated | Methods and apparatus for interactive rotation of 3D objects using multitouch gestures |
| JP5966834B2 (en)* | 2012-02-29 | 2016-08-10 | 株式会社Jvcケンウッド | Image processing apparatus, image processing method, and image processing program |
| US20130234926A1 (en) | 2012-03-07 | 2013-09-12 | Qualcomm Incorporated | Visually guiding motion to be performed by a user |
| HK1208275A1 (en)* | 2012-05-09 | 2016-02-26 | 苹果公司 | Device, method, and graphical user interface for moving and dropping a user interface object |
| US9159153B2 (en)* | 2012-06-05 | 2015-10-13 | Apple Inc. | Method, system and apparatus for providing visual feedback of a map view change |
| JP6214981B2 (en)* | 2012-10-05 | 2017-10-18 | 株式会社ファイン | Architectural image display device, architectural image display method, and computer program |
| US20140282220A1 (en)* | 2013-03-14 | 2014-09-18 | Tim Wantland | Presenting object models in augmented reality images |
| US9286727B2 (en)* | 2013-03-25 | 2016-03-15 | Qualcomm Incorporated | System and method for presenting true product dimensions within an augmented real-world setting |
| US9245387B2 (en)* | 2013-04-12 | 2016-01-26 | Microsoft Technology Licensing, Llc | Holographic snap grid |
| WO2014201176A1 (en) | 2013-06-11 | 2014-12-18 | Qualcomm Incorporated | Interactive and automatic 3-d object scanning method for the purpose of database creation |
| JP2015001875A (en) | 2013-06-17 | 2015-01-05 | ソニー株式会社 | Image processing apparatus, image processing method, program, print medium, and print-media set |
| US10175483B2 (en)* | 2013-06-18 | 2019-01-08 | Microsoft Technology Licensing, Llc | Hybrid world/body locked HUD on an HMD |
| JP5937128B2 (en)* | 2014-03-17 | 2016-06-22 | 富士フイルム株式会社 | Augmented reality providing system, method and program |
| US9495008B2 (en)* | 2014-06-27 | 2016-11-15 | Amazon Technologies, Inc. | Detecting a primary user of a device |
| TWI600322B (en) | 2014-09-02 | 2017-09-21 | 蘋果公司 | Method for operating an electronic device with an integratd camera and related electronic device and non-transitory computer readable storage medium |
| US9436369B2 (en)* | 2014-09-26 | 2016-09-06 | Disney Enterprises, Inc. | Touch interface for precise rotation of an object |
| US10289755B2 (en)* | 2015-01-30 | 2019-05-14 | Technology Research Association For Future Additive Manufacturing | Three-dimensional fabricating system, information processing apparatus, three-dimensional fabricating model arrangement method, and three-dimensional fabricating model arrangement program |
| JP6292344B2 (en)* | 2015-03-23 | 2018-03-14 | 株式会社村田製作所 | Touch input device |
| US10176641B2 (en)* | 2016-03-21 | 2019-01-08 | Microsoft Technology Licensing, Llc | Displaying three-dimensional virtual objects based on field of view |
| WO2017208637A1 (en)* | 2016-05-31 | 2017-12-07 | ソニー株式会社 | Information processing device, information processing method, and program |
| Publication number | Publication date |
|---|---|
| KR102666508B1 (en) | 2024-05-20 |
| KR20200110788A (en) | 2020-09-25 |
| JP2024026250A (en) | 2024-02-28 |
| JP7625063B2 (en) | 2025-01-31 |
| CN120406805A (en) | 2025-08-01 |
| KR20220065899A (en) | 2022-05-20 |
| WO2019147699A8 (en) | 2020-08-06 |
| JP7397899B2 (en) | 2023-12-13 |
| AU2022201389B2 (en) | 2023-10-12 |
| JP7039714B2 (en) | 2022-03-22 |
| KR102397481B1 (en) | 2022-05-12 |
| WO2019147699A3 (en) | 2019-09-19 |
| AU2022201389A1 (en) | 2022-03-24 |
| AU2019212150B2 (en) | 2021-12-16 |
| JP2022091798A (en) | 2022-06-21 |
| AU2024200149A1 (en) | 2024-01-25 |
| AU2019212150A1 (en) | 2020-08-20 |
| WO2019147699A2 (en) | 2019-08-01 |
| JP2021518935A (en) | 2021-08-05 |
| Publication | Publication Date | Title |
|---|---|---|
| US20210333979A1 (en) | Devices, Methods, and Graphical User Interfaces for System-Wide Behavior for 3D Models | |
| JP6745852B2 (en) | Devices, methods, and graphical user interfaces for system-wide behavior of 3D models | |
| AU2022201389B2 (en) | Devices, methods, and graphical user interfaces for system-wide behavior for 3D models | |
| KR102543095B1 (en) | Devices and methods for measuring using augmented reality | |
| AU2019101597B4 (en) | Devices, methods, and graphical user interfaces for system-wide behavior for 3D models |
| Date | Code | Title | Description |
|---|---|---|---|
| A107 | Divisional application of patent | ||
| PA0104 | Divisional application for international application | Comment text:Divisional Application for International Patent Patent event code:PA01041R01D Patent event date:20240510 Application number text:1020227015606 Filing date:20220509 | |
| PA0201 | Request for examination | ||
| PG1501 | Laying open of application |