KR20220040493A - 3차원 환경들과 상호작용하기 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들 - Google Patents

3차원 환경들과 상호작용하기 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들 Download PDF

Info

Publication number
KR20220040493A
KR20220040493A KR1020227007798A KR20227007798A KR20220040493A KR 20220040493 A KR20220040493 A KR 20220040493A KR 1020227007798 A KR1020227007798 A KR 1020227007798A KR 20227007798 A KR20227007798 A KR 20227007798A KR 20220040493 A KR20220040493 A KR 20220040493A
Authority
KR
South Korea
Prior art keywords
user
hand
physical
environment
computer system
Prior art date
Application number
KR1020227007798A
Other languages
English (en)
Inventor
제프리 엠. 폴크너
이스라엘 파스트라나 빈센트
필립 록켈
웨슬리 엠. 홀더
폴 플라 아이. 코네사
로버트 티. 틸튼
스티븐 오. 르메이
윌리엄 에이. 3세 소렌티노
크리스티 이. 에스. 바우얼리
Original Assignee
애플 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 애플 인크. filed Critical 애플 인크.
Publication of KR20220040493A publication Critical patent/KR20220040493A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1637Details related to the display arrangement, including those related to the mounting of the display in the housing
    • G06F1/1643Details related to the display arrangement, including those related to the mounting of the display in the housing the display being associated to a digitizer, e.g. laptops that can be used as penpads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1686Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/16Using real world measurements to influence rendering

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

3차원 환경의 뷰를 디스플레이하는 동안, 컴퓨터 시스템은 카메라를 사용하여 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출한다. 이동이 제1 방향으로의 검지 위에서의 엄지의 스와이프라는 결정에 따라, 컴퓨터 시스템은 제1 동작을 수행하고; 이동이 검지 상의 제1 위치에서의 검지 위에서의 엄지의 탭이라는 결정에 따라, 컴퓨터 시스템은 제1 동작과는 상이한 제2 동작을 수행한다.
추가 요약들
3차원 환경을 디스플레이하는 동안, 컴퓨터 시스템은 3차원 환경의 일부분에 대응하는 제1 위치에서 손을 검출한다. 제1 위치에서 손을 검출하는 것에 응답하여: 손이 제1 미리정의된 구성으로 유지되고 있다는 결정에 따라, 컴퓨터 시스템은 3차원 환경에 손 제스처들을 사용한 제스처 입력에 대한 제1 동작 콘텍스트의 시각적 표시를 디스플레이하고; 손이 제1 미리정의된 구성으로 유지되고 있지 않다는 결정에 따라, 컴퓨터 시스템은 시각적 표시의 디스플레이를 보류한다.
컴퓨터 시스템은, 물리적 환경의 표현을 디스플레이하는 것을 포함하여, 3차원 환경을 디스플레이한다. 물리적 환경의 표현을 디스플레이하는 동안, 컴퓨터 시스템은 제스처를 검출한다. 제스처를 검출하는 것에 응답하여: 사용자의 시선이 물리적 환경 내의 미리정의된 물리적 위치에 대응하는 위치로 지향된다는 결정에 따라, 컴퓨터 시스템은 3차원 환경에 시스템 사용자 인터페이스를 디스플레이하고; 사용자의 시선이 물리적 환경 내의 미리정의된 물리적 위치에 대응하는 위치로 지향되지 않는다는 결정에 따라, 컴퓨터 시스템은 시스템 사용자 인터페이스를 디스플레이하지 않고서 3차원 환경의 현재 콘텍스트 내의 동작을 수행한다.
컴퓨터 시스템은, 하나 이상의 가상 객체들을 포함하여, 3차원 환경을 디스플레이한다. 컴퓨터 시스템은 3차원 환경 내의 제1 객체를 향해 지향되는 시선을 검출하며, 여기에서 시선은 제1 기준들을 충족시키고, 제1 객체는 적어도 하나의 제스처 입력에 응답한다. 제1 기준들을 충족시키고, 적어도 하나의 제스처 입력에 응답하는 제1 객체를 향하는 시선을 검출하는 것에 응답하여: 손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태에 있다는 결정에 따라, 컴퓨터 시스템은 3차원 환경에 제1 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시를 디스플레이하고; 손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태에 있지 않다는 결정에 따라, 컴퓨터 시스템은 제1 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시를 디스플레이하는 것을 보류한다.
컴퓨터 시스템은 디스플레이 생성 컴포넌트를 사용자에 대해 미리정의된 위치에 배치하는 것을 검출한다. 배치를 검출하는 것에 응답하여, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트를 통해, 사용자를 둘러싸는 실제 세계의 표현을 포함하는 패스 스루 부분을 포함하는 3차원 환경의 제1 뷰를 디스플레이한다. 패스 스루 부분을 포함하는 제1 뷰를 디스플레이하는 동안, 컴퓨터 시스템은 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 손의 그립의 변화를 검출한다. 하우징에 대한 손의 그립의 변화가 제1 기준들을 충족시킨다는 결정에 따라, 컴퓨터 시스템은 3차원 환경의 제1 뷰를 3차원 환경의 제2 뷰로 대체하며, 여기에서 제2 뷰는 패스 스루 부분의 적어도 일부분을 가상 콘텐츠로 대체한다.
사용자가 위치되는 물리적 환경에 존재하는 물리적 객체의 제1 부분의 시각적 표현을 포함하지 않는 가상 환경의 뷰를 디스플레이하는 동안, 컴퓨터 시스템은 물리적 환경에서의 사용자의 이동을 검출한다. 사용자가 가상 환경에 대한 사용자의 시야에 기초하여 사용자에게 잠재적으로 보이는 범위를 갖는 물리적 객체의 제1 부분의 임계 거리 내에 있다는 결정에 따라, 컴퓨터 시스템은, 가상 환경에 대한 사용자의 시야에 기초하여 사용자에게 잠재적으로 보이는 물리적 객체의 제2 부분을 나타내지 않고서, 물리적 객체의 제1 부분의 물리적 특성을 나타내는 방식으로 가상 환경의 뷰의 외관을 변경한다.

Description

3차원 환경들과 상호작용하기 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들
관련 출원
본 출원은 2019년 9월 27일자로 출원된 미국 가특허 출원 제62/907,480호, 및 2020년 9월 23일자로 출원된 미국 특허 출원 제17/030,200호에 대한 우선권을 주장하고, 2020년 9월 23일자로 출원된 미국 특허 출원 제17/030,200호의 계속 출원이다.
기술분야
본 발명은, 대체적으로, 디스플레이를 통해 가상 현실 및 혼합 현실 경험들을 제공하는 전자 디바이스들을 포함하지만 이에 제한되지 않는, 컴퓨터 생성 경험들을 제공하는, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템들에 관한 것이다.
증강 현실을 위한 컴퓨터 시스템들의 개발은 최근에 상당히 증가하였다. 예시적인 증강 현실 환경들은 물리적 세계를 대체하거나 증강시키는 적어도 일부 가상 요소들을 포함한다. 컴퓨터 시스템들 및 다른 전자 컴퓨팅 디바이스들에 대한, 카메라들, 제어기들, 조이스틱들, 터치 감응형 표면들, 및 터치 스크린 디스플레이들과 같은 입력 디바이스들은 가상/증강 현실 환경들과 상호작용하는 데 사용된다. 예시적인 가상 요소들은, 디지털 이미지들, 비디오, 텍스트, 아이콘들, 및 제어 요소들, 예를 들어 버튼들 및 다른 그래픽들을 포함하는 가상 객체들을 포함한다.
그러나, 적어도 일부 가상 요소들(예를 들어, 애플리케이션들, 증강 현실 환경들, 혼합 현실 환경들, 및 가상 현실 환경들)을 포함하는 환경들과 상호작용하기 위한 방법들 및 인터페이스들은 번거롭고, 비효율적이고, 제한된다. 예를 들어, 가상 객체들과 연관된 액션들을 수행하기 위한 불충분한 피드백을 제공하는 시스템들, 증강 현실 환경에서 원하는 결과를 달성하기 위해 일련의 입력들을 필요로 하는 시스템들, 및 가상 객체들의 조작이 복잡하고 지루하며 오류가 발생하기 쉬운 시스템들은 사용자에 대한 상당한 인지적 부담을 야기하고, 가상/증강 현실 환경에 대한 경험을 저하시킨다. 게다가, 이러한 방법들은 필요 이상으로 오래 걸려서, 에너지가 낭비된다. 이러한 후자의 고려사항은 배터리-작동형 디바이스들에서 특히 중요하다.
따라서, 컴퓨터 시스템들과의 상호작용을 사용자에게 더 직관적이고 더 효율적으로 만드는 컴퓨터 생성 경험들을 사용자들에게 제공하기 위한 개선된 방법들 및 인터페이스들을 갖는 컴퓨터 시스템들이 필요하다. 그러한 방법들 및 인터페이스들은, 선택적으로, 컴퓨터 생성 현실 경험들을 사용자들에게 제공하기 위한 종래의 방법들을 보완하거나 대체한다. 그러한 방법들 및 인터페이스들은, 사용자가 제공된 입력들과 입력들에 대한 디바이스 응답들 사이의 접속을 이해하는 것을 도움으로써 사용자로부터의 입력들의 수, 크기, 및/또는 종류를 줄여서, 이에 의해 더 효율적인 인간-기계 인터페이스를 생성한다.
디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템들을 위한 사용자 인터페이스들과 연관된 위의 결함들 및 다른 문제들은 개시된 시스템들에 의해 감소되거나 제거된다. 일부 실시예들에서, 컴퓨터 시스템은 연관된 디스플레이를 갖는 데스크톱 컴퓨터이다. 일부 실시예들에서, 컴퓨터 시스템은 휴대용 디바이스(예컨대, 노트북 컴퓨터, 태블릿 컴퓨터, 또는 핸드헬드 디바이스)이다. 일부 실시예들에서, 컴퓨터 시스템은 개인용 전자 디바이스(예컨대, 워치와 같은 웨어러블 전자 디바이스, 또는 헤드 장착형 디바이스)이다. 일부 실시예들에서, 컴퓨터 시스템은 터치패드를 갖는다. 일부 실시예들에서, 컴퓨터 시스템은 하나 이상의 카메라들을 갖는다. 일부 실시예들에서, 컴퓨터 시스템은 터치 감응형 디스플레이("터치 스크린" 또는 "터치 스크린 디스플레이"로도 알려짐)를 갖는다. 일부 실시예들에서, 컴퓨터 시스템은 하나 이상의 눈 추적 컴포넌트들을 갖는다. 일부 실시예들에서, 컴퓨터 시스템은 하나 이상의 손 추적 컴포넌트들을 갖는다. 일부 실시예들에서, 컴퓨터 시스템은 디스플레이 생성 컴포넌트에 더하여 하나 이상의 출력 디바이스들을 가지며, 출력 디바이스들은 하나 이상의 촉각적 출력 생성기들 및 하나 이상의 오디오 출력 디바이스들을 포함한다. 일부 실시예들에서, 컴퓨터 시스템은 그래픽 사용자 인터페이스(GUI), 하나 이상의 프로세서들, 메모리, 및 다수의 기능들을 수행하기 위해 메모리에 저장되는 하나 이상의 모듈들, 프로그램들 또는 명령어들의 세트들을 갖는다. 일부 실시예들에서, 사용자는, 터치 감응형 표면 상에서의 스타일러스 및/또는 손가락 접촉들 및 제스처들, GUI 또는 카메라들 및 다른 이동 센서들에 의해 캡처된 바와 같은 사용자의 신체에 대한 공간 내에서의 사용자의 눈들 및 손의 이동, 및 하나 이상의 오디오 입력 디바이스들에 의해 캡처된 바와 같은 음성 입력들을 통해, GUI와 상호작용한다. 일부 실시예들에서, 상호작용들을 통해 수행되는 기능들은, 선택적으로, 이미지 편집, 드로잉, 프레젠팅(presenting), 워드 프로세싱, 스프레드시트 작성, 게임 하기, 전화 걸기, 화상 회의, 이메일 보내기, 인스턴트 메시징(instant messaging), 운동 지원, 디지털 사진촬영, 디지털 비디오 녹화, 웹 브라우징, 디지털 음악 재생, 메모하기(note taking), 및/또는 디지털 비디오 재생을 포함한다. 이러한 기능들을 수행하기 위한 실행가능 명령어들은, 선택적으로, 하나 이상의 프로세서들에 의한 실행을 위해 구성된 비일시적 컴퓨터 판독가능 저장 매체 또는 다른 컴퓨터 프로그램 제품에 포함된다.
3차원 환경과 상호작용하기 위한 개선된 방법들 및 인터페이스들을 갖는 전자 디바이스들이 필요하다. 그러한 방법들 및 인터페이스들은 3차원 환경과 상호작용하기 위한 종래의 방법들을 보완하거나 대체할 수 있다. 그러한 방법들 및 인터페이스들은 사용자로부터의 입력들의 수, 크기, 및/또는 종류를 줄이고 더 효율적인 인간-기계 인터페이스를 생성한다.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트 및 하나 이상의 카메라들을 포함하는 컴퓨터 시스템에서 방법이 수행되고, 본 방법은 3차원 환경의 뷰를 디스플레이하는 단계; 상기 3차원 환경의 뷰를 디스플레이하는 동안, 상기 하나 이상의 카메라들을 사용하여 사용자의 제1 손의 상기 사용자의 검지 위에서의 상기 사용자의 엄지의 이동을 검출하는 단계; 및 상기 하나 이상의 카메라들을 사용하여 상기 사용자의 검지 위에서의 상기 사용자의 엄지의 이동을 검출하는 것에 응답하여: 상기 이동이 제1 방향으로의 상기 제1 손의 상기 검지 위에서의 상기 엄지의 스와이프(swipe)라는 결정에 따라, 제1 동작을 수행하고; 상기 이동이 상기 제1 손의 검지 상의 제1 위치에서의 상기 검지 위에서의 상기 엄지의 탭이라는 결정에 따라, 상기 제1 동작과는 상이한 제2 동작을 수행하는 단계를 포함한다.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 포함하는 컴퓨팅 시스템에서 방법이 수행되고, 본 방법은 3차원 환경의 뷰를 디스플레이하는 단계; 상기 3차원 환경을 디스플레이하는 동안, 상기 3차원 환경의 일부분에 대응하는 제1 위치에서 손을 검출하는 단계; 및 상기 3차원 환경의 일부분에 대응하는 상기 제1 위치에서 상기 손을 검출하는 것에 응답하여: 상기 손이 제1 미리정의된 구성으로 유지되고 있다는 결정에 따라, 상기 3차원 환경에 손 제스처들을 사용한 제스처 입력에 대한 제1 동작 콘텍스트의 시각적 표시를 디스플레이하고; 상기 손이 상기 제1 미리정의된 구성으로 유지되고 있지 않다는 결정에 따라, 상기 3차원 환경에 손 제스처들을 사용한 제스처 입력에 대한 상기 제1 동작 콘텍스트의 시각적 표시를 디스플레이하는 것을 보류하는 단계를 포함한다.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 포함하는 컴퓨터 시스템에서 방법이 수행되고, 본 방법은 물리적 환경의 표현을 디스플레이하는 것을 포함하여, 3차원 환경을 디스플레이하는 단계; 상기 물리적 환경의 표현을 디스플레이하는 동안, 제스처를 검출하는 단계; 및 상기 제스처를 검출하는 것에 응답하여: 사용자의 시선이 상기 물리적 환경 내의 미리정의된 물리적 위치에 대응하는 위치로 지향된다는 결정에 따라, 상기 3차원 환경에 시스템 사용자 인터페이스를 디스플레이하고; 상기 사용자의 시선이 상기 물리적 환경 내의 상기 미리정의된 물리적 위치에 대응하는 상기 위치로 지향되지 않는다는 결정에 따라, 상기 시스템 사용자 인터페이스를 디스플레이하지 않고서 상기 3차원 환경의 현재 콘텍스트 내의 동작을 수행하는 단계를 포함한다.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 포함하는 전자 디바이스에서 방법이 수행되고, 본 방법은 하나 이상의 가상 객체들을 포함하여, 3차원 환경을 디스플레이하는 단계; 상기 3차원 환경 내의 제1 객체를 향해 지향되는 시선을 검출하는 단계 - 상기 시선은 제1 기준들을 충족시키고, 상기 제1 객체는 적어도 하나의 제스처 입력에 응답함 -; 및 상기 제1 기준들을 충족시키고, 적어도 하나의 제스처 입력에 응답하는 상기 제1 객체를 향하는 상기 시선을 검출하는 것에 응답하여: 손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태에 있다는 결정에 따라, 상기 3차원 환경에 상기 제1 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시를 디스플레이하고; 상기 손이 제스처 입력들을 제공하기 위한 상기 미리정의된 준비 상태에 있지 않다는 결정에 따라, 상기 제1 객체에 이용가능한 상기 하나 이상의 상호작용 옵션들의 표시를 디스플레이하는 것을 보류하는 단계를 포함한다.
3차원 환경과 상호작용하기 위한 전자 디바이스들의 사용자의 사용을 용이하게 하기 위한 개선된 방법들 및 인터페이스들을 갖는 전자 디바이스들이 필요하다. 그러한 방법들 및 인터페이스들은 3차원 환경과 상호작용하기 위한 전자 디바이스들의 사용자의 사용을 용이하게 하기 위해 종래의 방법들을 보완하거나 대체할 수 있다. 그러한 방법들 및 인터페이스들은 더 효율적인 인간-기계 인터페이스를 생성하고, 사용자가 디바이스를 더 제어하도록 허용하며, 사용자가 더 양호한 안전성, 감소된 인지적 부담 및 개선된 사용자 경험을 갖고서 디바이스를 사용하도록 허용한다.
일부 실시예들에서, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 포함하는 컴퓨터 시스템에서 방법이 수행되고, 본 방법은 상기 디스플레이 생성 컴포넌트를 상기 전자 디바이스의 사용자에 대해 미리정의된 위치에 배치하는 것을 검출하는 단계; 상기 디스플레이 생성 컴포넌트를 상기 컴퓨터 시스템의 사용자에 대해 상기 미리정의된 위치에 배치하는 것을 검출하는 것에 응답하여, 상기 디스플레이 생성 컴포넌트를 통해, 패스 스루 부분(pass-through portion)을 포함하는 3차원 환경의 제1 뷰를 디스플레이하는 단계 - 상기 패스 스루 부분은 상기 사용자를 둘러싸는 실제 세계의 적어도 일부분의 표현을 포함함 -; 상기 패스 스루 부분을 포함하는 상기 3차원 환경의 제1 뷰를 디스플레이하는 동안, 상기 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 상기 손의 그립의 변화를 검출하는 단계; 및 상기 디스플레이 생성 컴포넌트와 물리적으로 결합되는 상기 하우징에 대한 상기 손의 그립의 상기 변화를 검출하는 것에 응답하여: 상기 디스플레이 생성 컴포넌트와 물리적으로 결합되는 상기 하우징에 대한 상기 손의 그립의 상기 변화가 제1 기준들을 충족시킨다는 결정에 따라, 상기 3차원 환경의 제1 뷰를 상기 3차원 환경의 제2 뷰로 대체하는 단계 - 상기 제2 뷰는 상기 패스 스루 부분의 적어도 일부분을 가상 콘텐츠로 대체함 - 를 포함한다.
일부 실시예들에서, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스를 포함하는 컴퓨터 시스템에서 방법이 수행되고, 본 방법은 상기 디스플레이 생성 컴포넌트를 통해, 가상 환경의 뷰를 디스플레이하는 단계; 상기 가상 환경의 뷰를 디스플레이하는 동안 그리고 상기 가상 환경의 뷰가, 사용자가 위치되는 물리적 환경에 존재하는 제1 물리적 객체의 제1 부분의 시각적 표현을 포함하지 않는 동안, 상기 물리적 환경에서의 상기 사용자의 제1 이동을 검출하는 단계; 및 상기 물리적 환경에서의 상기 사용자의 제1 이동을 검출하는 것에 응답하여: 상기 사용자가 상기 제1 물리적 객체의 제1 부분의 임계 거리 내에 있다는 결정에 따라 - 상기 제1 물리적 객체는 상기 가상 환경에 대한 상기 사용자의 시야에 기초하여 상기 사용자에게 잠재적으로 보이는 범위를 가짐 -, 상기 가상 환경에 대한 상기 사용자의 시야에 기초하여 상기 사용자에게 잠재적으로 보이는 상기 제1 물리적 객체의 범위의 일부인 상기 제1 물리적 객체의 제2 부분을 나타내기 위해 상기 가상 환경의 뷰의 외관을 변경하지 않고서, 상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 제1 방식으로 상기 가상 환경의 뷰의 외관을 변경하고; 상기 사용자가 상기 사용자를 둘러싸는 상기 물리적 환경에 존재하는 상기 제1 물리적 객체의 임계 거리 내에 있지 않다는 결정에 따라, 상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 상기 제1 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 것을 보류하는 단계를 포함한다.
일부 실시예들에 따르면, 컴퓨터 시스템은 디스플레이 생성 컴포넌트(예컨대, 디스플레이, 프로젝터, 헤드 장착형 디스플레이 등), 하나 이상의 입력 디바이스들(예컨대, 하나 이상의 카메라들, 터치 감응형 표면, 선택적으로, 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들), 선택적으로 하나 이상의 촉각적 출력 생성기들, 하나 이상의 프로세서들, 및 하나 이상의 프로그램들을 저장하는 메모리를 포함하고; 하나 이상의 프로그램들은 하나 이상의 프로세서들에 의해 실행되도록 구성되고, 하나 이상의 프로그램들은 본 명세서에 기술되는 방법들 중 임의의 방법의 동작들을 수행하거나 또는 그의 수행을 야기하기 위한 명령어들을 포함한다. 일부 실시예들에 따르면, 비일시적 컴퓨터 판독가능 저장 매체는, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들(예컨대, 하나 이상의 카메라들, 터치 감응형 표면, 선택적으로, 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들), 및 선택적으로 하나 이상의 촉각적 출력 생성기들을 갖는 컴퓨터 시스템에 의해 실행될 때, 디바이스로 하여금 본 명세서에 기술되는 방법들 중 임의의 방법의 동작들을 수행하게 하거나 또는 그의 수행을 야기하는 명령어들을 저장하고 있다. 일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들(예컨대, 하나 이상의 카메라들, 터치 감응형 표면, 선택적으로, 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들), 선택적으로 하나 이상의 촉각적 출력 생성기들, 메모리, 및 메모리에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 갖는 컴퓨터 시스템 상의 그래픽 사용자 인터페이스는, 본 명세서에 기술되는 방법들 중 임의의 방법에서 기술된 바와 같이, 입력들에 응답하여 업데이트되는, 본 명세서에 기술된 방법들 중 임의의 방법에서 디스플레이되는 요소들 중 하나 이상을 포함한다. 일부 실시예들에 따르면, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들(예컨대, 하나 이상의 카메라들, 터치 감응형 표면, 선택적으로, 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들), 및 선택적으로 하나 이상의 촉각적 출력 생성기들; 및 본 명세서에 기술되는 방법들 중 임의의 방법의 동작들을 수행하거나 또는 그의 수행을 야기하기 위한 수단을 포함한다. 일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들(예컨대, 하나 이상의 카메라들, 터치 감응형 표면, 선택적으로, 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들), 및 선택적으로 하나 이상의 촉각적 출력 생성기들을 갖는 컴퓨터 시스템에 사용하기 위한 정보 프로세싱 장치는, 본 명세서에 기술되는 방법들 중 임의의 방법의 동작들을 수행하거나 또는 그의 수행을 야기하기 위한 수단을 포함한다.
따라서, 디스플레이 생성 컴포넌트들을 갖는 컴퓨터 시스템들에는 3차원 환경과 상호작용하기 위한 그리고 3차원 환경과 상호작용할 때 컴퓨터 시스템들의 사용자의 사용을 용이하게 하기 위한 개선된 방법들 및 인터페이스들이 제공되어, 그에 의해 그러한 컴퓨터 시스템들의 유효성, 효율성, 및 사용자 안전성 및 만족도를 증가시킨다. 그러한 방법들 및 인터페이스들은, 3차원 환경과 상호작용하기 위해 그리고 3차원 환경과 상호작용할 때 컴퓨터 시스템들의 사용자의 사용을 용이하게 하기 위해 종래의 방법들을 보완하거나 대체할 수 있다.
전술된 다양한 실시예들이 본 명세서에 기술된 임의의 다른 실시예들과 조합될 수 있음에 주목한다. 본 명세서에 기술된 특징들 및 이점들은 모두를 포함하는 것은 아니며, 특히, 많은 추가적인 특징들 및 이점들이 도면, 명세서 및 청구범위를 고려하여 당업자에게 명백할 것이다. 그에 부가하여, 본 명세서에 사용된 표현은 주로 이해의 편의 및 설명을 위해 선택되었고, 본 발명의 요지를 상세히 기술하거나 제한하기 위해 선택되지 않았을 수 있다는 것에 주목해야 한다.
다양하게 기술된 실시예들의 더 양호한 이해를 위해, 유사한 도면 부호들이 도면 전체에 걸쳐서 대응 부분들을 나타내는 하기의 도면들과 관련하여 하기의 발명을 실시하기 위한 구체적인 내용이 참조되어야 한다.
도 1은 일부 실시예들에 따른, CGR 경험들을 제공하기 위한 컴퓨터 시스템의 동작 환경을 예시하는 블록도이다.
도 2는 일부 실시예들에 따른, 사용자에 대한 CGR 경험을 관리 및 조정하도록 구성되는 컴퓨터 시스템의 제어기를 예시하는 블록도이다.
도 3은 일부 실시예들에 따른, CGR 경험의 시각적 컴포넌트를 사용자에게 제공하도록 구성되는 컴퓨터 시스템의 디스플레이 생성 컴포넌트를 예시하는 블록도이다.
도 4는 일부 실시예들에 따른, 사용자의 제스처 입력들을 캡처하도록 구성되는 컴퓨터 시스템의 손 추적 유닛을 예시하는 블록도이다.
도 5는 일부 실시예들에 따른, 사용자의 시선 입력들을 캡처하도록 구성되는 컴퓨터 시스템의 눈 추적 유닛을 예시하는 블록도이다.
도 6은 일부 실시예들에 따른, 글린트(glint) 보조 시선 추적 파이프라인을 예시하는 흐름도이다.
도 7a 내지 도 7j는 일부 실시예들에 따른, 3차원 환경과의 사용자 상호작용들을 예시하는 블록도들이다.
도 7k 내지 도 7p는 일부 실시예들에 따른, 컴퓨터 생성 3차원 환경과 상호작용하기 위한 물리적 환경에서의 디바이스의 사용자의 사용을 용이하게 하기 위한 방법들을 예시하는 블록도들이다.
도 8은 일부 실시예들에 따른, 3차원 환경과 상호작용하는 방법의 흐름도이다.
도 9는 일부 실시예들에 따른, 3차원 환경과 상호작용하는 방법의 흐름도이다.
도 10은 일부 실시예들에 따른, 3차원 환경과 상호작용하는 방법의 흐름도이다.
도 11은 일부 실시예들에 따른, 3차원 환경과 상호작용하는 방법의 흐름도이다.
도 12는 일부 실시예들에 따른, 3차원 환경 내외로의 사용자의 전이를 용이하게 하는 방법의 흐름도이다.
도 13은 일부 실시예들에 따른, 3차원 환경 내외로의 사용자의 전이를 용이하게 하는 방법의 흐름도이다.
본 발명은 일부 실시예들에 따른, 컴퓨터 생성 현실(computer generated reality, CGR) 경험을 사용자에게 제공하기 위한 사용자 인터페이스들에 관한 것이다.
본 명세서에 설명되는 시스템들, 방법들, 및 GUI들은 다수의 방식들로 가상/증강 현실 환경들과의 사용자 인터페이스 상호작용들을 개선시킨다.
일부 실시예들에서, 컴퓨터 시스템은 사용자가 동일한 손의 다른 손가락들 또는 부분들에 대한 손가락들의 작은 이동들로 수행되는 마이크로 제스처들을 사용하여 3차원 환경(예컨대, 가상 또는 혼합 현실 환경)과 상호작용하도록 허용한다. 마이크로 제스처들은, 예컨대 터치 감응형 표면들 또는 다른 물리적 제어기들과는 대조적으로, 카메라들(예컨대, 헤드 장착형 디바이스와 통합되거나 사용자로부터 멀리(예컨대, CGR 방 내에) 설치된 카메라들)을 사용하여 검출된다. 마이크로 제스처들의 상이한 이동들 및 위치들과 다양한 이동 파라미터들이 3차원 환경에서 수행되는 동작들을 결정하는 데 사용된다. 3차원 환경과 상호작용하기 위한 마이크로 제스처들을 캡처하기 위해 카메라들을 사용하는 것은 사용자가 물리적 입력 장비에 의해 방해받지 않고서 물리적 환경을 이러저리 자유롭게 이동하도록 허용하며, 이는 사용자가 3차원 환경을 더 자연스럽고 효율적으로 탐색하도록 허용한다. 게다가, 마이크로 제스처들은 개별적이고 눈에 띄지 않으며, 공공장소에서 발생하고/하거나 예의를 필요로 할 수 있는 상호작용들에 적합하다.
일부 실시예들에서, 손의 준비 상태 구성이 정의된다. 디스플레이된 3차원 환경의 일부분에 대응하는 위치에서 손이 검출되는 추가 요건은 손의 준비 상태 구성이 컴퓨터 시스템에 의해 우발적으로 인식되지 않는 것을 보장한다. 손의 준비 상태 구성은 사용자가 현재 디스플레이된 동작 콘텍스트와는 상이한 미리정의된 동작 콘텍스트에서 컴퓨터 시스템과 상호작용하려고 의도한다는 표시로서 컴퓨터 시스템에 의해 사용된다. 예를 들어, 미리정의된 동작 콘텍스트는 현재 디스플레이된 애플리케이션(예컨대, 게임, 통신 세션, 미디어 재생 세션, 내비게이션 등)의 외측에 있는 디바이스와의 하나 이상의 상호작용들이다. 미리정의된 동작 콘텍스트는, 선택적으로, 다른 경험들 및/또는 애플리케이션들이 시작될 수 있는 홈 또는 시작 사용자 인터페이스, 최근에 디스플레이된 경험들 및/또는 애플리케이션들이 선택되고 재시작될 수 있는 멀티태스킹 사용자 인터페이스, 컴퓨터 시스템의 하나 이상의 디바이스 파라미터들(예컨대, 디스플레이의 밝기, 오디오 볼륨, 네트워크 연결 등)을 조정하기 위한 제어 사용자 인터페이스를 디스플레이하는 것과 같은 시스템 상호작용들이다. 현재 디스플레이된 동작 콘텍스트와 구별되는, 제스처 입력들에 대한 미리정의된 동작 콘텍스트의 시각적 표시의 디스플레이를 트리거하기 위해 특별한 손 제스처를 사용하는 것은, 시각적 제어부들로 3차원 환경을 혼란스럽게 하지 않고서 그리고 미리정의된 동작 콘텍스트에서 상호작용들을 우발적으로 트리거하지 않고서, 사용자가 미리정의된 동작 콘텍스트에 용이하게 액세스하도록 허용한다.
일부 실시예들에서, 물리적 객체 또는 그의 일부분(예컨대, 사용자의 손 또는 하드웨어 디바이스)은 3차원 환경(예컨대, 혼합 현실 환경)에 현재 디스플레이되지 않은 시스템 사용자 인터페이스(예컨대, 디바이스에 대한 제어 사용자 인터페이스)와 연관되도록 사용자 또는 컴퓨터 시스템에 의해 선택된다. 사용자의 시선이 미리정의된 물리적 객체 또는 그의 일부분에 대응하는 것 이외의 3차원 환경 내의 위치로 지향될 때, 사용자의 손에 의해 수행되는 제스처는, 시스템 사용자 인터페이스의 디스플레이를 야기하지 않고서, 현재 디스플레이된 콘텍스트 내의 동작의 수행을 야기하고; 사용자의 시선이 미리정의된 물리적 객체 또는 그의 옵션에 대응하는 3차원 환경 내의 위치로 지향될 때, 사용자의 손에 의해 수행되는 제스처는 시스템 사용자 인터페이스의 디스플레이를 야기한다. 사용자의 시선이 미리정의된 물리적 객체(예컨대, 제스처를 수행하는 사용자의 손 또는 사용자가 제스처를 사용하여 제어하려고 의도하는 물리적 객체)로 지향되고 있는지 여부에 기초하여, 현재 디스플레이된 동작 콘텍스트 내의 동작을 선택적으로 수행하거나 입력 제스처에 응답하여 시스템 사용자 인터페이스를 디스플레이하는 것은, 다수의 제어부들로 3차원 환경을 시각적으로 혼란스럽게 하지 않고서, 사용자가 하나 초과의 콘텍스트에서 3차원 환경과 효율적으로 상호작용하도록 허용하고, 사용자 인터페이스들의 상호작용 효율을 개선한다(예컨대, 원하는 결과를 달성하는 데 필요한 입력들의 수를 감소시킴).
일부 실시예들에서, 제스처 입력들에 응답하는 3차원 환경 내의 가상 객체로 지향되는 사용자의 시선은, 사용자의 손이, 또한, 제스처 입력들을 제공하기 위한 미리정의된 준비 상태에 있는 것으로 발견되는 경우에만, 가상 객체에 이용가능한 하나 이상의 상호작용 옵션들의 시각적 표시가 디스플레이되게 한다. 사용자의 손이 제스처 입력들을 제공하기 위한 준비 상태로 발견되지 않는 경우, 가상 객체로 지향되는 사용자의 시선은 시각적 표시의 디스플레이를 트리거하지 않는다. 사용자의 시선과 사용자의 손의 준비 상태의 조합을 사용하여, 가상 객체가 제스처 입력들에 대한 연관된 상호작용 옵션들을 갖는지 여부의 시각적 표시를 디스플레이할지 여부를 결정하는 것은, 사용자가 그녀의 시선을 3차원 환경 주위로 시프트시킬 때 디스플레이된 환경의 지속적인 변화들로 사용자에게 불필요하게 충격을 주지 않고서, 사용자가 그/그녀의 눈들을 사용하여 3차원 환경을 탐색할 때 사용자에게 유용한 피드백을 제공하여, 3차원 환경을 탐색할 때 사용자에 대한 혼란을 감소시킨다.
일부 실시예들에서, 사용자가 컴퓨터 시스템의 디스플레이 생성 컴포넌트를 사용자에 대해 미리정의된 위치에 배치할 때(예컨대, 디스플레이를 그/그녀의 눈들 앞에 놓거나, 또는 헤드 장착형 디바이스를 그/그녀의 머리에 씀), 실제 세계의 사용자의 뷰는 디스플레이 생성 컴포넌트에 의해 차단되고, 디스플레이 생성 컴포넌트에 의해 제시되는 콘텐츠는 사용자의 뷰를 좌우한다. 때때로, 사용자는 실제 세계로부터 컴퓨터 생성 경험들로 전이하기 위한 더 점진적이고 제어된 프로세스로부터 이익을 얻는다. 이와 같이, 디스플레이 생성 컴포넌트를 통해 사용자에게 콘텐츠를 디스플레이할 때, 컴퓨터 시스템은 사용자를 둘러싸는 실제 세계의 적어도 일부분의 표현을 포함하는 패스 스루 부분을 디스플레이하고, 디스플레이 생성 컴포넌트의 하우징에 대한 사용자의 손의 그립의 변화를 검출하는 것에 응답하여서만 패스 스루 부분의 적어도 일부분을 대체하는 가상 콘텐츠를 디스플레이한다. 사용자의 손의 그립의 변화는 사용자가 디스플레이 생성 컴포넌트를 통해 현재 제시된 것보다 더 몰입적인 경험으로 전이할 준비가 되어 있다는 표시로서 사용된다. 디스플레이 생성 컴포넌트의 하우징에 대한 사용자의 손 그립의 변화에 의해 제어되는 바와 같은 몰입형 환경 내외로의 단계적인 전이는 사용자에게 직관적이고 자연스러우며, 컴퓨터 생성 몰입형 경험들을 위해 컴퓨터 시스템을 사용할 때 사용자의 경험과 편안함을 개선한다.
일부 실시예들에서, 컴퓨터 시스템이 가상 3차원 환경을 디스플레이할 때, 컴퓨터 시스템은, 사용자의 임계 거리 내에 있는 물리적 객체의 일부분들의 위치들에 대응하고 잠재적으로 가상 환경에 대한 사용자의 시야 내에 있는 위치들에서 가상 환경의 일부분에 시각적 변화들을 적용한다(예컨대, 물리적 객체의 일부분들은, 사용자 주위의 실제 세계의 사용자의 뷰를 차단하는 디스플레이 생성 컴포넌트가 존재하지 않는다면, 사용자에게 보일 것임). 게다가, 잠재적으로 시야 내에 있는 물리적 객체의 모든 부분들을 단순히 제시하는 대신에, 사용자의 임계 거리 내에 있지 않은 물리적 객체의 일부분들은 (예컨대, 사용자의 임계 거리 내에 있지 않은 물리적 객체의 이들 부분들에 대응하는 위치들에서 가상 환경의 일부분들의 외관을 변경함으로써) 사용자에게 시각적으로 표현되지 않는다. 일부 실시예들에서, 가상 환경의 일부분들에 적용되는 시각적 변화들은, 가상 환경의 그들 부분들을 디스플레이하는 것을 완전히 중지하거나 또는 몰입형 가상 경험을 사용자에게 제공하는 것을 완전히 중지하지 않고서, 사용자의 임계 거리 내에 있는 물리적 객체의 일부분들의 하나 이상의 물리적 특성들이 가상 환경에 표현되도록 한다. 이러한 기법은, 사용자의 몰입형 가상 경험에 과도하게 개입하고 그를 방해하지 않고서, 사용자가 몰입형 가상 환경을 탐색하면서 물리적 환경에서 이리저리 이동함에 따라, 사용자가 사용자에 가까운 물리적 장애물들에 대해 경고받도록 허용한다. 따라서, 더 안전하고 더 매끄러운 몰입형 가상 경험이 사용자에게 제공될 수 있다.
도 1 내지 도 6은 사용자에게 CGR 경험들을 제공하기 위한 예시적인 컴퓨터 시스템들의 설명을 제공한다. 도 7a 내지 도 7g는 일부 실시예들에 따른, 제스처 입력들 및/또는 시선 입력들을 사용한 3차원 환경과의 예시적인 상호작용들을 예시한다. 도 7k 내지 도 7m은 일부 실시예들에 따른, 사용자가 3차원 환경과의 상호작용들 내외로 전이할 때 디스플레이되는 예시적인 사용자 인터페이스들을 예시한다. 도 7n 내지 도 7p는 일부 실시예들에 따른, 사용자가 가상 환경과 상호작용하는 동안 물리적 환경을 돌아다닐 때 디스플레이되는 예시적인 사용자 인터페이스들을 예시한다. 도 8 내지 도 11은 다양한 실시예들에 따른, 3차원 환경과 상호작용하는 방법들의 흐름도들이다. 도 7a 내지 도 7g의 사용자 인터페이스들은 각각 도 8 내지 도 11의 프로세스들을 예시하기 위해 사용된다. 도 12는 다양한 실시예들에 따른, 3차원 환경과 상호작용하기 위한 컴퓨터 시스템의 사용자의 사용을 용이하게 하는 방법들의 흐름도이다. 도 7k 내지 도 7m의 사용자 인터페이스들은 각각 도 12 및 도 13의 프로세스들을 예시하기 위해 사용된다.
일부 실시예들에서, 도 1에 도시된 바와 같이, CGR 경험은 컴퓨터 시스템(101)을 포함하는 동작 환경(100)을 통해 사용자에게 제공된다. 컴퓨터 시스템(101)은 제어기(110)(예컨대, 휴대용 전자 디바이스 또는 원격 서버의 프로세서들), 디스플레이 생성 컴포넌트(120)(예컨대, 헤드 장착형 디바이스(head-mounted device, HMD), 디스플레이, 프로젝터, 터치 스크린 등), 하나 이상의 입력 디바이스들(125)(예컨대, 눈 추적 디바이스(130), 손 추적 디바이스(140), 다른 입력 디바이스들(150)), 하나 이상의 출력 디바이스들(155)(예컨대, 스피커(160), 촉각적 출력 생성기들(170), 및 다른 출력 디바이스들(180)), 하나 이상의 센서들(190)(예컨대, 이미지 센서들, 광 센서들, 심도 센서들, 촉각 센서들, 배향 센서들, 근접 센서들, 온도 센서들, 위치 센서들, 모션 센서들, 속도 센서들 등), 및 선택적으로 하나 이상의 주변 디바이스들(195)(예컨대, 가전 제품들, 웨어러블 디바이스들 등)을 포함한다. 일부 실시예들에서, 입력 디바이스들(125), 출력 디바이스들(155), 센서들(190), 및 주변 디바이스들(195) 중 하나 이상은 (예컨대, 헤드 장착형 디바이스 또는 핸드헬드 디바이스에서) 디스플레이 생성 컴포넌트(120)와 통합된다.
CGR 경험을 설명할 때, 사용자가 감지할 수 있고/있거나 (예컨대, CGR 경험을 생성하는 컴퓨터 시스템으로 하여금 컴퓨터 시스템(101)에 제공된 다양한 입력들에 대응하는 오디오, 시각적 및/또는 촉각적 피드백을 생성하게 하는, CGR 경험을 생성하는 컴퓨터 시스템(101)에 의해 검출된 입력들로) 사용자가 상호작용할 수 있는 여러 관련되지만 별개인 환경들을 구별하여 지칭하기 위해 다양한 용어들이 사용된다. 하기는 이들 용어들의 서브세트이다:
물리적 환경: 물리적 환경은 사람들이 전자 시스템들의 도움없이 감지하고 그리고/또는 상호작용할 수 있는 물리적 세계를 지칭한다. 물리적 공원과 같은 물리적 환경들은 물리적 물품들, 예컨대 물리적 나무들, 물리적 건물들, 및 물리적 사람들을 포함한다. 사람들은, 예컨대 시각, 촉각, 청각, 미각, 및 후각을 통해, 물리적 환경을 직접 감지하고/하거나 그와 상호작용할 수 있다.
컴퓨터 생성 현실: 대조적으로, 컴퓨터 생성 현실(CGR) 환경은 사람들이 전자 시스템을 통해 감지하고/하거나 그와 상호작용하는 완전히 또는 부분적으로 시뮬레이션된 환경을 지칭한다. CGR에서, 사람의 신체적 움직임들, 또는 이들의 표현들의 서브세트가 추적되고, 이에 응답하여, CGR 환경에서 시뮬레이션된 하나 이상의 가상 객체들의 하나 이상의 특성들이 적어도 하나의 물리 법칙에 따르는 방식으로 조정된다. 예를 들어, CGR 시스템은 사람이 고개를 돌리는 것을 검출할 수 있고, 이에 응답하여, 그 사람에게 제시되는 그래픽 콘텐츠 및 음장(acoustic field)을 물리적 환경에서 그러한 뷰들 및 소리들이 변경되는 방식과 유사한 방식으로 조정할 수 있다. 일부 상황들에서(예를 들어, 접근성 이유들 때문에), CGR 환경에서의 가상 객체(들)의 특성(들)에 대한 조정들은 신체적 움직임들의 표현들(예를 들어, 음성 커맨드들)에 응답하여 이루어질 수 있다. 사람은, 시각, 청각, 촉각, 미각, 및 후각을 포함하는 그들의 감각들 중 임의의 하나를 사용하여 CGR 객체를 감지하고/하거나 그와 상호작용할 수 있다. 예를 들어, 사람은 3D 공간에서의 포인트 오디오 소스들의 지각을 제공하는 3D 또는 공간적 오디오 환경을 생성하는 오디오 객체들을 감지하고/하거나 그와 상호작용할 수 있다. 다른 예에서, 오디오 객체들은 오디오 투명성을 가능하게 할 수 있으며, 이는 선택적으로, 물리적 환경으로부터의 주변 소리들을 컴퓨터 생성 오디오와 함께 또는 그것 없이 통합한다. 일부 CGR 환경들에서, 사람은 오디오 객체들만을 감지하고/하거나 그와 상호작용할 수 있다.
CGR의 예들은 가상 현실 및 혼합 현실을 포함한다.
가상 현실: 가상 현실(VR) 환경은 하나 이상의 감각들에 대한 컴퓨터-생성 감각 입력들에 전적으로 기초하도록 설계된 시뮬레이션된 환경을 지칭한다. VR 환경은 사람이 감지하고/하거나 그와 상호작용할 수 있는 복수의 가상 객체들을 포함한다. 예를 들어, 나무들, 빌딩들, 및 사람들을 표현하는 아바타들의 컴퓨터 생성 형상화가 가상 객체들의 예들이다. 사람은, 컴퓨터 생성 환경에서의 사람의 존재의 시뮬레이션을 통해 그리고/또는 컴퓨터 생성 환경에서의 사람의 신체적 움직임들의 서브세트의 시뮬레이션을 통해 VR 환경에서 가상 객체들을 감지하고/하거나 그와 상호작용할 수 있다.
혼합 현실: 컴퓨터-생성 감각 입력들에 전적으로 기초하도록 설계되는 VR 환경과는 대조적으로, 혼합 현실(MR) 환경은 컴퓨터-생성 감각 입력들(예를 들어, 가상 객체들)을 포함하는 것에 부가하여, 물리적 환경으로부터의 감각 입력들, 또는 그들의 표현을 통합하도록 설계된 시뮬레이션된 환경을 지칭한다. 가상 연속체(virtuality continuum)에서, 혼합 현실 환경은 한쪽의 완전히 물리적인 환경과 다른 쪽의 가상 현실 환경 사이의 임의의 곳에 있지만, 포함하지는 않는다. 일부 MR 환경들에서, 컴퓨터 생성 감각 입력들은 물리적 환경으로부터의 감각 입력들의 변경들에 응답할 수 있다. 또한, MR 환경을 제시하기 위한 일부 전자 시스템들은 물리적 환경에 대한 위치 및/또는 배향을 추적하여 가상 객체들이 실제 객체들(즉, 물리적 환경으로부터의 물리적 물품들 또는 물리적 물품들의 표현들)과 상호작용할 수 있게 할 수 있다. 예를 들어, 시스템은 움직임들을 고려하여 가상 나무가 물리적 땅에 대하여 고정되어 있는 것처럼 보이도록 할 수 있다.
혼합 현실들의 예들은 증강 현실 및 증강 가상을 포함한다.
증강 현실: 증강 현실(AR) 환경은 하나 이상의 가상 객체들이 물리적 환경, 또는 그의 표현 위에 중첩되어 있는 시뮬레이션된 환경을 지칭한다. 예를 들어, AR 환경을 제시하기 위한 전자 시스템은 사람이 직접 물리적 환경을 볼 수 있는 투명 또는 반투명 디스플레이를 가질 수 있다. 시스템은, 사람이 시스템을 사용하여 물리적 환경 위에 중첩된 가상 객체들을 인지하도록, 투명 또는 반투명 디스플레이 상에 가상 객체들을 제시하도록 구성될 수 있다. 대안적으로, 시스템은 불투명 디스플레이, 및 물리적 환경의 표현들인 물리적 환경의 이미지들 또는 비디오를 캡처하는 하나 이상의 이미징 센서들을 가질 수 있다. 시스템은 이미지들 또는 비디오를 가상 객체들과 합성하고, 합성물을 불투명 디스플레이 상에 제시한다. 사람은 시스템을 사용하여 물리적 환경의 이미지들 또는 비디오에 의해 물리적 환경을 간접적으로 보고, 물리적 환경 위에 중첩된 가상 객체들을 인지한다. 본 명세서에 사용되는 바와 같이, 불투명 디스플레이 상에 보여지는 물리적 환경의 비디오는 "패스 스루(pass-through) 비디오"로 불리는데, 이는 시스템이 하나 이상의 이미지 센서(들)를 사용하여 물리적 환경의 이미지들을 캡처하고, AR 환경을 불투명 디스플레이 상에 제시할 시에 이들 이미지들을 사용하는 것을 의미한다. 추가로 대안적으로, 시스템은, 사람이 시스템을 사용하여 물리적 환경 위에 중첩된 가상 객체들을 인지하도록, 가상 객체들을 물리적 환경에, 예를 들어, 홀로그램으로서 또는 물리적 표면 상에 투영하는 투영 시스템을 가질 수 있다. 증강 현실 환경은 또한 물리적 환경의 표현이 컴퓨터 생성 감각 정보에 의해 변환되는 시뮬레이션된 환경을 지칭한다. 예를 들어, 패스 스루 비디오를 제공할 시에, 시스템은 하나 이상의 센서 이미지들을 변환하여 이미징 센서들에 의해 캡처된 관점과 상이한 선택 관점(예를 들어, 시점)을 부과할 수 있다. 다른 예를 들어, 물리적 환경의 표현은 그것의 일부들을 그래픽적으로 수정(예를 들어, 확대)함으로써 변환될 수 있어서, 수정된 부분은 원래 캡처된 이미지들의 표현일 수 있지만, 실사 버전은 아닐 수 있다. 추가적인 예로서, 물리적 환경의 표현은 그의 일부들을 그래픽적으로 제거하거나 또는 흐리게 함으로써 변환될 수 있다.
증강 가상: 증강 가상(AV) 환경은 가상 또는 컴퓨터 생성 환경이 물리적 환경으로부터의 하나 이상의 감각 입력들을 통합하는 시뮬레이션된 환경을 지칭한다. 감각 입력들은 물리적 환경의 하나 이상의 특성들의 표현들일 수 있다. 예를 들어, AV 공원은 가상 나무들 및 가상 빌딩들을 가질 수 있지만, 사람들의 안면들은 물리적 사람들을 촬영한 이미지들로부터 실사처럼 재현될 수 있다. 다른 예로서, 가상 객체는 하나 이상의 이미징 센서들에 의해 이미징되는 물리적 물품의 형상 또는 색상을 채용할 수 있다. 추가적인 예로서, 가상 객체는 물리적 환경에서 태양의 위치에 부합하는 그림자들을 채용할 수 있다.
하드웨어: 사람이 다양한 CGR 환경들을 감지하고/하거나 그와 상호작용할 수 있게 하는 많은 상이한 유형의 전자 시스템들이 있다. 예들은 헤드 장착형 시스템들, 투영 기반 시스템들, 헤드업(head-up) 디스플레이(HUD)들, 디스플레이 능력이 통합된 차량 앞유리들, 디스플레이 능력이 통합된 윈도우들, 사람의 눈들에 배치되도록 설계된 렌즈들로서 형성된 디스플레이들(예를 들어, 콘택트 렌즈들과 유사함), 헤드폰들/이어폰들, 스피커 어레이들, 입력 시스템들(예를 들어, 햅틱 피드백이 있거나 또는 없는 웨어러블 또는 핸드헬드 제어기들), 스마트폰들, 태블릿들, 및 데스크톱/랩톱 컴퓨터들을 포함한다. 헤드 장착형 시스템은 하나 이상의 스피커(들) 및 통합 불투명 디스플레이를 가질 수 있다. 대안적으로, 헤드 장착형 시스템은 외부 불투명 디스플레이(예를 들어, 스마트폰)를 수용하도록 구성될 수 있다. 헤드 장착형 시스템은 물리적 환경의 이미지들 또는 비디오를 캡처하기 위한 하나 이상의 이미징 센서들, 및/또는 물리적 환경의 오디오를 캡처하기 위한 하나 이상의 마이크로폰들을 통합할 수 있다. 헤드 장착형 시스템은 불투명 디스플레이보다는, 투명 또는 반투명 디스플레이를 가질 수 있다. 투명 또는 반투명 디스플레이는 이미지들을 표현하는 광이 사람의 눈들로 지향되는 매체를 가질 수 있다. 디스플레이는 디지털 광 프로젝션, OLED들, LED들, uLED들, 실리콘 액정 표시장치, 레이저 스캐닝 광원, 또는 이들 기술들의 임의의 조합을 이용할 수 있다. 매체는 광학 도파관, 홀로그램 매체, 광학 조합기, 광학 반사기, 또는 이들의 임의의 조합일 수 있다. 일 실시예에서, 투명 또는 반투명 디스플레이는 선택적으로 불투명하게 되도록 구성될 수 있다. 투영-기반 시스템들은 그래픽 이미지들을 사람의 망막 상에 투영하는 망막 투영 기술을 이용할 수 있다. 투영 시스템들은, 또한, 가상 객체들을 물리적 환경 내에, 예를 들어 홀로그램으로서, 또는 물리적 표면 상에 투영하도록 구성될 수 있다. 일부 실시예들에서, 제어기(110)는 사용자에 대한 CGR 경험을 관리 및 조정하도록 구성된다. 일부 실시예들에서, 제어기(110)는 소프트웨어, 펌웨어, 및/또는 하드웨어의 적합한 조합을 포함한다. 제어기(110)는 도 2와 관련하여 아래에서 더욱 상세히 설명된다. 일부 실시예들에서, 제어기(110)는 장면(105)(예컨대, 물리적 설정/환경)에 대해 로컬 또는 원격인 컴퓨팅 디바이스이다. 예를 들어, 제어기(110)는 장면(105) 내에 위치된 로컬 서버이다. 다른 예에서, 제어기(110)는 장면(105)의 외부에 위치된 원격 서버(예를 들어, 클라우드 서버, 중앙 서버 등)이다. 일부 실시예들에서, 제어기(110)는 하나 이상의 유선 또는 무선 통신 채널들(144)(예컨대, 블루투스, IEEE 802.11x, IEEE 802.16x, IEEE 802.3x 등)을 통해 디스플레이 생성 컴포넌트(120)(예컨대, HMD, 디스플레이, 프로젝터, 터치 스크린 등)와 통신가능하게 결합된다. 다른 예에서, 제어기(110)는 디스플레이 생성 컴포넌트(120)(예컨대, HMD, 또는 디스플레이 및 하나 이상의 프로세서들을 포함하는 휴대용 전자 디바이스 등)의 인클로저(예컨대, 물리적 하우징), 입력 디바이스들(125) 중 하나 이상, 출력 디바이스들(155) 중 하나 이상, 센서들(190) 중 하나 이상, 및/또는 주변 디바이스들(195) 중 하나 이상 내에 포함되거나, 상기 중 하나 이상과 동일한 물리적 인클로저 또는 지지 구조물을 공유한다.
일부 실시예들에서, 디스플레이 생성 컴포넌트(120)는 CGR 경험(예컨대, CGR 경험의 적어도 시각적 컴포넌트)을 사용자에게 제공하도록 구성된다. 일부 실시예들에서, 디스플레이 생성 컴포넌트(120)는 소프트웨어, 펌웨어, 및/또는 하드웨어의 적합한 조합을 포함한다. 디스플레이 생성 컴포넌트(120)는 도 3과 관련하여 아래에서 더 상세히 설명된다. 일부 실시예들에서, 제어기(110)의 기능들은 디스플레이 생성 컴포넌트(120)에 의해 제공되고/되거나 그와 조합된다.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트(120)는 사용자가 장면(105) 내에 가상으로 그리고/또는 물리적으로 존재하는 동안 CGR 경험을 사용자에게 제공한다.
일부 실시예들에서, 디스플레이 생성 컴포넌트는 사용자의 신체의 일부(예컨대, 그/그녀의 머리, 그/그녀의 손 등) 상에 착용된다. 이와 같이, 디스플레이 생성 컴포넌트(120)는 CGR 콘텐츠를 디스플레이하기 위해 제공되는 하나 이상의 CGR 디스플레이들을 포함한다. 예를 들어, 다양한 실시예들에서, 디스플레이 생성 컴포넌트(120)는 사용자의 시야를 둘러싼다. 일부 실시예들에서, 디스플레이 생성 컴포넌트(120)는 CGR 콘텐츠를 제시하도록 구성된 (스마트폰 또는 태블릿과 같은) 핸드헬드 디바이스이고, 사용자는, 디스플레이가 사용자의 시야를 향해 지향되고 카메라가 장면(105)을 향해 지향된 상태로 디바이스를 보유한다. 일부 실시예들에서, 핸드헬드 디바이스는, 선택적으로, 사용자의 머리 상에 착용되는 인클로저 내에 배치된다. 일부 실시예들에서, 핸드헬드 디바이스는, 선택적으로, 사용자 앞의 지지부(예컨대, 삼각대) 상에 배치된다. 일부 실시예들에서, 디스플레이 생성 컴포넌트(120)는, 사용자가 디스플레이 생성 컴포넌트(120)를 착용하거나 보유하지 않는, CGR 콘텐츠를 제시하도록 구성된 CGR 챔버, 인클로저, 또는 방이다. CGR 콘텐츠를 디스플레이하기 위한 하나의 유형의 하드웨어(예컨대, 핸드헬드 디바이스 또는 삼각대 상의 디바이스)를 참조하여 설명된 많은 사용자 인터페이스들은 CGR 콘텐츠를 디스플레이하기 위한 다른 유형의 하드웨어(예컨대, HMD 또는 다른 웨어러블 컴퓨팅 디바이스) 상에서 구현될 수 있다. 예를 들어, 핸드헬드 또는 삼각대 장착형 디바이스 앞의 공간에서 발생하는 상호작용들에 기초하여 트리거된 CGR 콘텐츠와의 상호작용들을 보여주는 사용자 인터페이스는, 상호작용들이 HMD 앞의 공간에서 발생하고 CGR 콘텐츠의 응답들이 HMD를 통해 디스플레이되는 HMD로 유사하게 구현될 수 있다. 유사하게, 물리적 환경(예컨대, 장면(105) 또는 사용자의 신체의 일부(예컨대, 사용자의 눈(들), 머리, 또는 손))에 대한 핸드헬드 또는 삼각대 장착형 디바이스의 이동에 기초하여 트리거된 CRG 콘텐츠와의 상호작용들을 보여주는 사용자 인터페이스는, 이동이 물리적 환경(예컨대, 장면(105) 또는 사용자의 신체의 일부(예컨대, 사용자의 눈(들), 머리, 또는 손))에 대한 HMD의 이동에 의해 야기되는 HMD로 유사하게 구현될 수 있다.
동작 환경(100)의 관련 특징부들이 도 1에 도시되어 있지만, 당업자들은, 본 발명으로부터, 간결함을 위해 그리고 본 명세서에 개시되는 예시적인 실시예들의 더 많은 관련 태양들을 불명료하게 하지 않기 위해 다양한 다른 특징부들이 예시되지 않았음을 인식할 것이다.
도 2는 일부 실시예들에 따른, 제어기(110)의 일례의 블록도이다. 소정의 특정 특징부들이 예시되어 있지만, 당업자들은 본 발명으로부터, 간결함을 위해 그리고 본 명세서에 개시되는 실시예들의 더 많은 관련 태양들을 불명료하게 하지 않기 위해 다양한 다른 특징부들이 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 일부 실시예들에서, 제어기(110)는 하나 이상의 프로세싱 유닛들(202)(예를 들어, 마이크로프로세서들, 주문형 집적 회로(ASIC)들, 필드-프로그래밍가능 게이트 어레이(FPGA)들, 그래픽 프로세싱 유닛(GPU)들, 중앙 프로세싱 유닛(CPU)들, 프로세싱 코어들 등), 하나 이상의 입력/출력(I/O) 디바이스들(206), 하나 이상의 통신 인터페이스들(208)(예를 들어, 범용 직렬 버스(USB), 파이어와이어, 썬더볼트, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, 모바일 통신들을 위한 글로벌 시스템(GSM), 코드 분할 다중 액세스(CDMA), 시분할 다중 액세스(TDMA), 글로벌 포지셔닝 시스템(GPS), 적외선(IR), 블루투스, 지그비, 및/또는 유사한 유형의 인터페이스), 하나 이상의 프로그래밍(예를 들어, I/O) 인터페이스들(210), 메모리(220), 및 이들 및 다양한 다른 컴포넌트들을 상호연결시키기 위한 하나 이상의 통신 버스들(204)을 포함한다.
일부 실시예들에서, 하나 이상의 통신 버스들(204)은 시스템 컴포넌트들 사이의 통신을 상호연결시키고 제어하는 회로부를 포함한다. 일부 실시예들에서, 하나 이상의 I/O 디바이스들(206)은 키보드, 마우스, 터치패드, 조이스틱, 하나 이상의 마이크로폰들, 하나 이상의 스피커들, 하나 이상의 이미지 센서들, 하나 이상의 디스플레이들 등 중 적어도 하나를 포함한다.
메모리(220)는 동적-랜덤 액세스 메모리(DRAM), 정적 랜덤-액세스 메모리(SRAM), 더블-데이터-레이트 랜덤-액세스 메모리(DDR RAM), 또는 다른 랜덤-액세스 솔리드-스테이트(solid-state) 메모리 디바이스들과 같은 고속 랜덤-액세스 메모리를 포함한다. 일부 실시예들에서, 메모리(220)는 하나 이상의 자기 디스크 저장 디바이스들, 광 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비휘발성 솔리드-스테이트 저장 디바이스들과 같은 비휘발성 메모리를 포함한다. 메모리(220)는 선택적으로, 하나 이상의 프로세싱 유닛들(202)로부터 원격으로 위치된 하나 이상의 저장 디바이스들을 포함한다. 메모리(220)는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 일부 실시예들에서, 메모리(220) 또는 메모리(220)의 비일시적 컴퓨터 판독가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 선택적인 운영 체제(230) 및 CGR 경험 모듈(240)을 포함하는 그들의 서브세트를 저장한다.
운영 체제(230)는 다양한 기본 시스템 서비스들을 처리하기 위한 그리고 하드웨어 의존 태스크들을 수행하기 위한 명령어들을 포함한다. 일부 실시예들에서, CGR 경험 모듈(240)은 하나 이상의 사용자들에 대한 하나 이상의 CGR 경험들(예를 들어, 하나 이상의 사용자들에 대한 단일 CGR 경험, 또는 하나 이상의 사용자들의 개개의 그룹들에 대한 다수의 CGR 경험들)을 관리하고 조정하도록 구성된다. 이를 위해, 다양한 실시예들에서, CGR 경험 모듈(240)은 데이터 획득 유닛(242), 추적 유닛(244), 조정 유닛(246), 및 데이터 송신 유닛(248)을 포함한다.
일부 실시예들에서, 데이터 획득 유닛(242)은, 적어도 도 1의 디스플레이 생성 컴포넌트(120), 및 선택적으로, 입력 디바이스들(125), 출력 디바이스들(155), 센서들(190), 및/또는 주변 디바이스들(195) 중 하나 이상으로부터 데이터(예컨대, 제시 데이터, 상호작용 데이터, 센서 데이터, 위치 데이터 등)를 획득하도록 구성된다. 이를 위해, 다양한 실시예들에서, 데이터 획득 유닛(242)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
일부 실시예들에서, 추적 유닛(244)은 장면(105)을 맵핑하도록 그리고 도 1의 장면(105), 및 선택적으로, 입력 디바이스들(125), 출력 디바이스들(155), 센서들(190), 및/또는 주변 디바이스들(195) 중 하나 이상에 대한 적어도 디스플레이 생성 컴포넌트(120)의 위치/지점을 추적하도록 구성된다. 이를 위해, 다양한 실시예들에서, 추적 유닛(244)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다. 일부 실시예들에서, 추적 유닛(244)은 손 추적 유닛(243) 및/또는 눈 추적 유닛(245)을 포함한다. 일부 실시예들에서, 손 추적 유닛(243)은 도 1의 장면(105)에 대한, 디스플레이 생성 컴포넌트(120)에 대한, 그리고/또는 사용자의 손에 대해 정의된 좌표계에 대한 사용자의 손들의 하나 이상의 부분들의 위치/지점 및/또는 사용자의 손들의 하나 이상의 부분들의 모션들을 추적하도록 구성된다. 손 추적 유닛(243)은 도 4와 관련하여 아래에서 더 상세히 설명된다. 일부 실시예들에서, 눈 추적 유닛(245)은 장면(105)에 대한(예컨대, 물리적 환경 및/또는 사용자(예컨대, 사용자의 손)에 대한) 또는 디스플레이 생성 컴포넌트(120)를 통해 디스플레이된 CGR 콘텐츠에 대한 사용자의 시선(또는 더 광범위하게는, 사용자의 눈들, 얼굴, 또는 머리)의 위치 및 이동을 추적하도록 구성된다. 눈 추적 유닛(245)은 도 5와 관련하여 아래에서 더 상세히 설명된다.
일부 실시예들에서, 조정 유닛(246)은 디스플레이 생성 컴포넌트(120)에 의해, 그리고 선택적으로, 출력 디바이스들(155) 및/또는 주변 디바이스들(195) 중 하나 이상에 의해 사용자에게 제시되는 CGR 경험을 관리 및 조정하도록 구성된다. 이를 위해, 다양한 실시예들에서, 조정 유닛(246)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
일부 실시예들에서, 데이터 송신 유닛(248)은, 적어도 디스플레이 생성 컴포넌트(120), 및 선택적으로, 입력 디바이스들(125), 출력 디바이스들(155), 센서들(190), 및/또는 주변 디바이스들(195) 중 하나 이상으로 데이터(예컨대, 제시 데이터, 위치 데이터 등)를 송신하도록 구성된다. 이를 위해, 다양한 실시예들에서, 데이터 송신 유닛(248)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
데이터 획득 유닛(242), 추적 유닛(244)(예컨대, 눈 추적 유닛(243) 및 손 추적 유닛(244)을 포함함), 조정 유닛(246), 및 데이터 송신 유닛(248)이 단일 디바이스(예컨대, 제어기(110)) 상에 존재하는 것으로 도시되어 있지만, 다른 실시예들에서, 데이터 획득 유닛(242), 추적 유닛(244)(예컨대, 눈 추적 유닛(243) 및 손 추적 유닛(244)을 포함함), 조정 유닛(246), 및 데이터 송신 유닛(248)의 임의의 조합이 별개의 컴퓨팅 디바이스들 내에 위치될 수 있다는 것을 이해해야 한다.
게다가, 도 2는 본 명세서에 설명된 실시예들의 구조적 개략도와는 대조적으로 특정 구현예에 존재할 수 있는 다양한 특징부들의 기능 설명으로서 더 의도된다. 당업자들에 의해 인식되는 바와 같이, 별개로 도시된 아이템들은 조합될 수 있고 일부 아이템들은 분리될 수 있다. 예를 들어, 도 2에 별개로 도시된 일부 기능 모듈들은 단일 모듈로 구현될 수 있고, 단일 기능 블록들의 다양한 기능들은 다양한 실시예들에서 하나 이상의 기능 블록들에 의해 구현될 수 있다. 모듈들의 실제 수량 및 특정 기능들의 분할 그리고 특징부들이 그들 사이에서 어떻게 할당되는지는 구현예들마다 다를 것이고, 일부 실시예들에서, 특정 구현예에 대해 선택된 하드웨어, 소프트웨어, 및/또는 펌웨어의 특정 조합에 부분적으로 의존한다.
도 3은 일부 실시예들에 따른, 디스플레이 생성 컴포넌트(120)의 일례의 블록도이다. 소정의 특정 특징부들이 예시되어 있지만, 당업자들은 본 발명으로부터, 간결함을 위해 그리고 본 명세서에 개시되는 실시예들의 더 많은 관련 태양들을 불명료하게 하지 않기 위해 다양한 다른 특징부들이 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 일부 실시예들에서, HMD(120)는 하나 이상의 프로세싱 유닛들(302)(예를 들어, 마이크로프로세서들, ASIC들, FPGA들, GPU들, CPU들, 프로세싱 코어들 등), 하나 이상의 입/출력(I/O) 디바이스들 및 센서들(306), 하나 이상의 통신 인터페이스들(308)(예를 들어, USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, 블루투스, 지그비, 및/또는 유사한 유형의 인터페이스), 하나 이상의 프로그래밍(예를 들어, I/O) 인터페이스들(310), 하나 이상의 CGR 디스플레이들(312), 하나 이상의 선택적인 내부 및/또는 외부 대면 이미지 센서들(314), 메모리(320), 및 이들 및 다양한 다른 컴포넌트들을 상호연결시키기 위한 하나 이상의 통신 버스들(304)을 포함한다.
일부 실시예들에서, 하나 이상의 통신 버스들(304)은 시스템 컴포넌트들 사이의 통신을 상호연결시키고 제어하는 회로부를 포함한다. 일부 실시예들에서, 하나 이상의 I/O 디바이스들 및 센서들(306)은 관성 측정 유닛(inertial measurement unit, IMU), 가속도계, 자이로스코프, 온도계, 하나 이상의 생리학적 센서들(예를 들어, 혈압 모니터, 심박수 모니터, 혈중 산소 센서, 혈당 센서 등), 하나 이상의 마이크로폰들, 하나 이상의 스피커들, 햅틱 엔진, 하나 이상의 심도 센서들(예를 들어, 구조화된 광, 빛의 비행시간 등) 등 중 적어도 하나를 포함한다.
일부 실시예들에서, 하나 이상의 CGR 디스플레이들(312)은 CGR 경험을 사용자에게 제공하도록 구성된다. 일부 실시예들에서, 하나 이상의 CGR 디스플레이들(312)은 홀로그래픽, 디지털 광 프로세싱(DLP), 액정 디스플레이(LCD), 실리콘 액정 표시장치(LCoS), 유기 발광 전계-효과 트랜지터리(OLET), 유기 발광 다이오드(OLED), 표면-전도 전자-방출기 디스플레이(SED), 전계-방출 디스플레이(FED), 양자점 발광 다이오드(QD-LED), 마이크로-전자기계 시스템(MEMS), 및/또는 유사한 디스플레이 유형들에 대응한다. 일부 실시예들에서, 하나 이상의 CGR 디스플레이들(312)은 회절, 반사, 편광, 홀로그래픽 등의 도파관 디스플레이들에 대응한다. 예를 들어, HMD(120)는 단일 CGR 디스플레이를 포함한다. 다른 예에서, HMD(120)는 사용자의 각각의 눈에 대한 CGR 디스플레이를 포함한다. 일부 실시예들에서, 하나 이상의 CGR 디스플레이들(312)은 MR 및 VR 콘텐츠를 제시할 수 있다. 일부 실시예들에서, 하나 이상의 CGR 디스플레이들(312)은 MR 또는 VR 콘텐츠를 제시할 수 있다.
일부 실시예들에서, 하나 이상의 이미지 센서들(314)은 사용자의 눈들을 포함하는 사용자의 얼굴의 적어도 일부분에 대응하는 이미지 데이터를 획득하도록 구성된다(그리고 눈 추적 카메라로 지칭될 수 있음). 일부 실시예들에서, 하나 이상의 이미지 센서들(314)은 사용자의 손(들)의 적어도 일부분 및 선택적으로 사용자의 팔(들)에 대응하는 이미지 데이터를 획득하도록 구성된다(그리고 손 추적 카메라로 지칭될 수 있음). 일부 실시예들에서, 하나 이상의 이미지 센서들(314)은 HMD(120)가 존재하지 않았다면 사용자에 의해 보여질 장면에 대응하는 이미지 데이터를 획득하기 위해 전방-대면하도록 구성된다(그리고 장면 카메라로 지칭될 수 있음). 하나 이상의 선택적인 이미지 센서들(314)은 하나 이상의 RGB 카메라들(예를 들어, 상보성 금속-산화물-반도체(CMOS) 이미지 센서 또는 CCD(charge-coupled device) 이미지 센서를 가짐), 하나 이상의 적외선(IR) 카메라들, 하나 이상의 이벤트-기반 카메라들 등을 포함할 수 있다.
메모리(320)는 DRAM, SRAM, DDR RAM, 또는 다른 랜덤-액세스 솔리드-스테이트 메모리 디바이스들과 같은 고속 랜덤-액세스 메모리를 포함한다. 일부 실시예들에서, 메모리(320)는 하나 이상의 자기 디스크 저장 디바이스들, 광 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비휘발성 솔리드-스테이트 저장 디바이스들과 같은 비휘발성 메모리를 포함한다. 메모리(320)는 선택적으로, 하나 이상의 프로세싱 유닛들(302)로부터 원격으로 위치된 하나 이상의 저장 디바이스들을 포함한다. 메모리(320)는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 일부 실시예들에서, 메모리(320) 또는 메모리(320)의 비일시적 컴퓨터 판독가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 선택적인 운영 체제(330) 및 CGR 제시 모듈(340)을 포함하는 그들의 서브세트를 저장한다.
운영 체제(330)는 다양한 기본 시스템 서비스들을 처리하기 위한 그리고 하드웨어 의존 태스크들을 수행하기 위한 명령어들을 포함한다. 일부 실시예들에서, CGR 제시 모듈(340)은 하나 이상의 CGR 디스플레이들(312)을 통해 CGR 콘텐츠를 사용자에게 제시하도록 구성된다. 이를 위해, 다양한 실시예들에서, CGR 제시 모듈(340)은 데이터 획득 유닛(342), CGR 제시 유닛(344), CGR 맵 생성 유닛(346), 및 데이터 송신 유닛(348)을 포함한다.
일부 실시예들에서, 데이터 획득 유닛(342)은 적어도 도 1의 제어기(110)로부터 데이터(예컨대, 제시 데이터, 상호작용 데이터, 센서 데이터, 위치 데이터 등)를 획득하도록 구성된다. 이를 위해, 다양한 실시예들에서, 데이터 획득 유닛(342)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
일부 실시예들에서, CGR 제시 유닛(344)은 하나 이상의 CGR 디스플레이들(312)을 통해 CGR 콘텐츠를 제시하도록 구성된다. 이를 위해, 다양한 실시예들에서, CGR 제시 유닛(344)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
일부 실시예들에서, CGR 맵 생성 유닛(346)은 미디어 콘텐츠 데이터에 기초하여 CGR 맵(예컨대, 혼합 현실 장면의 3D 맵, 또는 컴퓨터 생성 객체들이 배치되어 컴퓨터 생성 현실을 생성할 수 있는 물리적 환경의 맵)을 생성하도록 구성된다. 이를 위해, 다양한 실시예들에서, CGR 맵 생성 유닛(346)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
일부 실시예들에서, 데이터 송신 유닛(348)은, 적어도 제어기(110), 및 선택적으로, 입력 디바이스들(125), 출력 디바이스들(155), 센서들(190), 및/또는 주변 디바이스들(195) 중 하나 이상으로 데이터(예컨대, 제시 데이터, 위치 데이터 등)를 송신하도록 구성된다. 이를 위해, 다양한 실시예들에서, 데이터 송신 유닛(348)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
데이터 획득 유닛(342), CGR 제시 유닛(344), CGR 맵 생성 유닛(346), 및 데이터 송신 유닛(348)이 단일 디바이스(예컨대, 도 1의 디스플레이 생성 컴포넌트(120)) 상에 존재하는 것으로 도시되어 있지만, 다른 실시예들에서, 데이터 획득 유닛(342), CGR 제시 유닛(344), CGR 맵 생성 유닛(346), 및 데이터 송신 유닛(348)의 임의의 조합이 별개의 컴퓨팅 디바이스들 내에 위치될 수 있다는 것을 이해해야 한다.
게다가, 도 3은 본 명세서에 설명된 실시예들의 구조적 개략도와는 대조적으로 특정 구현예에 존재할 수 있는 다양한 특징부들의 기능 설명으로서 더 의도된다. 당업자들에 의해 인식되는 바와 같이, 별개로 도시된 아이템들은 조합될 수 있고 일부 아이템들은 분리될 수 있다. 예를 들어, 도 3에 별개로 도시된 일부 기능 모듈들은 단일 모듈로 구현될 수 있고, 단일 기능 블록들의 다양한 기능들은 다양한 실시예들에서 하나 이상의 기능 블록들에 의해 구현될 수 있다. 모듈들의 실제 수량 및 특정 기능들의 분할 그리고 특징부들이 그들 사이에서 어떻게 할당되는지는 구현예들마다 다를 것이고, 일부 실시예들에서, 특정 구현예에 대해 선택된 하드웨어, 소프트웨어, 및/또는 펌웨어의 특정 조합에 부분적으로 의존한다.
도 4는 손 추적 디바이스(140)의 예시적인 실시예의 개략적인 그림 예시이다. 일부 실시예들에서, 손 추적 디바이스(140)(도 1)는 도 1의 장면(105)에 대한(예컨대, 사용자를 둘러싸는 물리적 환경의 일부분에 대한, 디스플레이 생성 컴포넌트(120)에 대한, 또는 사용자의 일부분(예컨대, 사용자의 얼굴, 눈들, 또는 머리)에 대한), 그리고/또는 사용자의 손에 대해 정의된 좌표계에 대한 사용자의 손들의 하나 이상의 부분들의 위치/지점 및/또는 사용자의 손들의 하나 이상의 부분들의 모션들을 추적하도록 손 추적 유닛(243)(도 2)에 의해 제어된다. 일부 실시예들에서, 손 추적 디바이스(140)는 디스플레이 생성 컴포넌트(120)의 일부이다(예컨대, 헤드 장착형 디바이스 내에 내장되거나 그에 부착됨). 일부 실시예들에서, 손 추적 디바이스(140)는 디스플레이 생성 컴포넌트(120)와는 별개이다(예컨대, 별개의 하우징들 내에 위치되거나 별개의 물리적 지지 구조물들에 부착됨).
일부 실시예들에서, 손 추적 디바이스(140)는, 적어도 인간 사용자의 손(406)을 포함하는 3차원 장면 정보를 캡처하는 이미지 센서들(404)(예컨대, 하나 이상의 IR 카메라들, 3D 카메라들, 심도 카메라들, 및/또는 컬러 카메라들 등)을 포함한다. 이미지 센서들(404)은 손가락들 및 그들의 각각의 위치들이 구별될 수 있게 하기에 충분한 해상도로 손 이미지들을 캡처한다. 이미지 센서들(404)은, 전형적으로, 사용자의 신체의 다른 부분들, 또한, 또는 가능하게는 신체 전체의 이미지들을 캡처하고, 원하는 해상도로 손의 이미지들을 캡처하기 위해 줌 능력들, 또는 향상된 배율을 갖는 전용 센서를 가질 수 있다. 일부 실시예들에서, 이미지 센서들(404)은, 또한, 손(406) 및 장면의 다른 요소들의 2D 컬러 비디오 이미지들을 캡처한다. 일부 실시예들에서, 이미지 센서들(404)은 장면(105)의 물리적 환경을 캡처하기 위해 다른 이미지 센서들과 함께 사용되거나, 장면(105)의 물리적 환경을 캡처하는 이미지 센서들로서의 역할을 한다. 일부 실시예들에서, 이미지 센서들(404)은, 이미지 센서들 또는 그의 일부분의 시야가 이미지 센서들에 의해 캡처된 손 이동이 제어기(110)에 대한 입력들로서 처리되는 상호작용 공간을 정의하는 데 사용되는 방식으로, 사용자 또는 사용자의 환경에 대해 위치된다.
일부 실시예들에서, 이미지 센서들(404)은 3D 맵 데이터(및 가능하게는, 또한, 컬러 이미지 데이터)를 포함하는 프레임들의 시퀀스를 제어기(110)로 출력하며, 이는 맵 데이터로부터 고레벨 정보를 추출한다. 이러한 고레벨 정보는, 전형적으로, 애플리케이션 프로그램 인터페이스(Application Program Interface, API)를 통해, 제어기 상에서 실행되는 애플리케이션에 제공되며, 이는 그에 따라 디스플레이 생성 컴포넌트(120)를 구동한다. 예를 들어, 사용자는, 그의 손(408)을 이동시키고 그의 손 자세를 변경함으로써, 제어기(110) 상에서 실행되는 소프트웨어와 상호작용할 수 있다.
일부 실시예들에서, 이미지 센서들(404)은 손(406)을 포함하는 장면 상에 스폿(spot)들의 패턴을 투영하고, 투영된 패턴의 이미지를 캡처한다. 일부 실시예들에서, 제어기(110)는, 패턴 내의 스폿들의 횡방향 시프트들에 기초하여, 삼각측량법(triangulation)에 의해 (사용자의 손의 표면 상의 지점들을 포함하는) 장면 내의 지점들의 3D 좌표들을 계산한다. 이러한 접근법은, 그가 사용자가 임의의 종류의 비컨(beacon), 센서 또는 다른 마커를 보유하거나 착용할 것을 요구하지 않는다는 점에서 유리하다. 그는, 이미지 센서들(404)로부터의 소정 거리에서, 미리결정된 기준 평면에 대한 장면 내의 지점들의 심도 좌표들을 제공한다. 본 발명에서, 이미지 센서들(404)은 x, y, z 축들의 직교 세트를 정의하는 것으로 가정되어서, 장면 내의 지점들의 심도 좌표들이 이미지 센서들에 의해 측정된 z 컴포넌트들에 대응하게 한다. 대안적으로, 손 추적 디바이스(440)는 단일 또는 다수의 카메라들 또는 다른 유형들의 센서들에 기초한, 입체 이미징 또는 비행시간 측정들과 같은, 3D 맵핑의 다른 방법들을 사용할 수 있다.
일부 실시예들에서, 손 추적 디바이스(140)는, 사용자가 그의 손(예컨대, 전체 손 또는 하나 이상의 손가락들)을 이동시키는 동안, 사용자의 손을 포함하는 심도 맵들의 시간적 시퀀스를 캡처하고 프로세싱한다. 이미지 센서들(404) 및/또는 제어기(110) 내의 프로세서 상에서 실행되는 소프트웨어는 3D 맵 데이터를 프로세싱하여 이들 심도 맵들에서 손의 패치 서술자(patch descriptor)들을 추출한다. 소프트웨어는, 각각의 프레임에서의 손의 자세를 추정하기 위해, 이전 학습 프로세스에 기초하여, 이들 서술자들을 데이터베이스(408)에 저장된 패치 서술자들에 매칭시킨다. 자세는, 전형적으로, 사용자의 손 관절들 및 손가락 끝들의 3D 위치들을 포함한다.
소프트웨어는, 또한, 제스처들을 식별하기 위해 시퀀스 내의 다수의 프레임들에 걸쳐 손들 및/또는 손가락들의 궤적을 분석할 수 있다. 본 명세서에 설명된 자세 추정 기능들은 모션 추적 기능들과 인터리빙될 수 있어서, 패치 기반 자세 추정이 2개의(또는 그 초과의) 프레임들마다 1회만 수행되게 하는 한편, 추적은 나머지 프레임들에 걸쳐 발생하는 자세의 변화들을 찾는 데 사용된다. 자세, 모션 및 제스처 정보는, 위에 언급된 API를 통해, 제어기(110) 상에서 실행되는 애플리케이션 프로그램에 제공된다. 이러한 프로그램은, 예를 들어, 자세 및/또는 제스처 정보에 응답하여, 디스플레이 생성 컴포넌트(120) 상에 제시된 이미지들을 이동시키고 수정하거나 또는 다른 기능들을 수행할 수 있다.
일부 실시예들에서, 소프트웨어는, 예를 들어 네트워크를 통해, 전자적 형태로 제어기(110)에 다운로드될 수 있거나, 또는 그는, 대안적으로, 광학, 자기, 또는 전자 메모리 매체들과 같은 유형 비일시적 매체들 상에 제공될 수 있다. 일부 실시예들에서, 데이터베이스(408)는, 마찬가지로, 제어기(110)와 연관된 메모리에 저장된다. 대안적으로 또는 추가적으로, 컴퓨터의 설명된 기능들 중 일부 또는 전부는 주문형 또는 반주문형 집적 회로 또는 프로그래밍가능 디지털 신호 프로세서(DSP)와 같은 전용 하드웨어로 구현될 수 있다. 제어기(110)가, 예로서, 이미지 센서들(440)과는 별개의 유닛으로서 도 4에 도시되어 있지만, 제어기의 프로세싱 기능들 중 일부 또는 전부는 적합한 마이크로프로세서 및 소프트웨어에 의해, 또는 손 추적 디바이스(402)의 하우징 내의 또는 달리 이미지 센서들(404)과 연관된 전용 회로부에 의해 수행될 수 있다. 일부 실시예들에서, 이들 프로세싱 기능들 중 적어도 일부는, (예컨대, 예를 들어, 텔레비전 수상기, 핸드헬드 디바이스, 또는 헤드 장착형 디바이스 내의) 디스플레이 생성 컴포넌트(120) 또는 게임 콘솔 또는 미디어 플레이어와 같은 임의의 다른 적합한 컴퓨터화된 디바이스와 통합되는 적합한 프로세서에 의해 수행될 수 있다. 이미지 센서들(404)의 감지 기능들은, 마찬가지로, 센서 출력에 의해 제어될 컴퓨터 또는 다른 컴퓨터화된 장치 내에 통합될 수 있다.
도 4는 일부 실시예들에 따른, 이미지 센서들(404)에 의해 캡처된 심도 맵(410)의 개략적인 표현을 추가로 포함한다. 심도 맵은, 위에서 설명된 바와 같이, 각각의 심도 값들을 갖는 픽셀들의 매트릭스를 포함한다. 손(406)에 대응하는 픽셀들(412)은 이러한 맵에서 배경 및 손목으로부터 세그먼트화되었다. 심도 맵(410) 내의 각각의 픽셀의 밝기는 그의 심도 값, 즉 이미지 센서들(404)로부터의 측정된 z 거리에 반대로 대응하며, 이때 회색의 음영은 깊이가 증가함에 따라 더 어두워진다. 제어기(110)는 이들 심도 값들을 프로세싱하여, 인간의 손의 특성들을 갖는 이미지(즉, 이웃 픽셀들의 그룹)의 컴포넌트를 식별 및 세그먼트화한다. 이들 특성들은, 예를 들어, 심도 맵들의 시퀀스의 프레임으로부터 프레임까지의 전체 크기, 형상 및 모션을 포함할 수 있다.
도 4는, 또한, 일부 실시예들에 따른, 제어기(110)가 손(406)의 심도 맵(410)으로부터 궁극적으로 추출하는 손 골격(hand skeleton)(414)을 개략적으로 예시한다. 도 4에서, 골격(414)은 원래의 심도 맵으로부터 세그먼트화된 손 배경(416) 상에 중첩된다. 일부 실시예들에서, 손의 주요 특징점들(예컨대, 너클(knuckle)들, 손가락 끝들, 손바닥의 중심, 손목에 연결되는 손의 끝 등에 대응하는 지점들) 및 선택적으로, 손에 연결된 손목 또는 팔 상의 주요 특징점들이 식별되고 손 골격(414) 상에 위치된다. 일부 실시예들에서, 다수의 이미지 프레임들에 걸친 이들 주요 특징점들의 위치 및 이동들은, 일부 실시예들에 따르면, 손에 의해 수행되는 손 제스처들 또는 손의 현재 상태를 결정하기 위해 제어기(110)에 의해 사용된다.
도 5는 눈 추적 디바이스(130)(도 1)의 예시적인 실시예를 예시한다. 일부 실시예들에서, 눈 추적 디바이스(130)는 장면(105)에 대한 또는 디스플레이 생성 컴포넌트(120)를 통해 디스플레이된 CGR 콘텐츠에 대한 사용자의 시선의 위치 및 이동을 추적하도록 눈 추적 유닛(245)(도 2)에 의해 제어된다. 일부 실시예들에서, 눈 추적 디바이스(130)는 디스플레이 생성 컴포넌트(120)와 통합된다. 예를 들어, 일부 실시예들에서, 디스플레이 생성 컴포넌트(120)가 헤드셋, 헬멧, 고글, 또는 안경과 같은 헤드 장착형 디바이스, 또는 웨어러블 프레임 내에 배치된 핸드헬드 디바이스일 때, 헤드 장착형 디바이스는 사용자에 의해 보기 위한 CGR 콘텐츠를 생성하는 컴포넌트 및 CGR 콘텐츠에 대한 사용자의 시선을 추적하기 위한 컴포넌트 둘 모두를 포함한다. 일부 실시예들에서, 눈 추적 디바이스(130)는 디스플레이 생성 컴포넌트(120)와는 별개이다. 예를 들어, 디스플레이 생성 컴포넌트가 핸드헬드 디바이스 또는 CGR 챔버일 때, 눈 추적 디바이스(130)는, 선택적으로, 핸드헬드 디바이스 또는 CGR 챔버와는 별개의 디바이스이다. 일부 실시예들에서, 눈 추적 디바이스(130)는 헤드 장착형 디바이스, 또는 헤드 장착형 디바이스의 일부이다. 일부 실시예들에서, 헤드 장착형 눈 추적 디바이스(130)는, 선택적으로, 역시 헤드 장착형인 디스플레이 생성 컴포넌트, 또는 헤드 장착형이 아닌 디스플레이 생성 컴포넌트와 함께 사용된다. 일부 실시예들에서, 눈 추적 디바이스(130)는 헤드 장착형 디바이스가 아니며, 선택적으로, 헤드 장착형 디스플레이 생성 컴포넌트와 함께 사용된다. 일부 실시예들에서, 눈 추적 디바이스(130)는 헤드 장착형 디바이스가 아니며, 선택적으로, 헤드 장착형이 아닌 디스플레이 생성 컴포넌트의 일부이다.
일부 실시예들에서, 디스플레이 생성 컴포넌트(120)는 사용자의 눈들 앞에 좌측 및 우측 이미지들을 포함하는 프레임들을 디스플레이하기 위해 디스플레이 메커니즘(예컨대, 좌측 및 우측 근안 디스플레이 패널들)을 사용하여, 그에 따라 사용자에게 3D 가상 뷰들을 제공한다. 예를 들어, 헤드 장착형 디스플레이 생성 컴포넌트는 디스플레이와 사용자의 눈들 사이에 위치되는 좌측 및 우측 광학 렌즈들(본 명세서에서 눈 렌즈들로 지칭됨)을 포함할 수 있다. 일부 실시예들에서, 디스플레이 생성 컴포넌트는 디스플레이를 위해 사용자의 환경의 비디오를 캡처하는 하나 이상의 외부 비디오 카메라들을 포함하거나 그에 결합될 수 있다. 일부 실시예들에서, 헤드 장착형 디스플레이 생성 컴포넌트는 투명 또는 반투명 디스플레이를 가질 수 있으며, 이를 통해 사용자는 물리적 환경을 직접 볼 수 있고 투명 또는 반투명 디스플레이 상에 가상 객체들을 디스플레이할 수 있다. 일부 실시예들에서, 디스플레이 생성 컴포넌트는 가상 객체들을 물리적 환경 내에 투영한다. 가상 객체들은, 예를 들어, 물리적 표면 상에 또는 홀로그래프로서 투영될 수 있어서, 개인이, 시스템을 사용하여, 물리적 환경 위에 중첩된 가상 객체들을 관찰하게 한다. 그러한 경우들에, 좌안 및 우안에 대한 별개의 디스플레이 패널들 및 이미지 프레임들이 필요하지 않을 수 있다.
도 5에 도시된 바와 같이, 일부 실시예들에서, 시선 추적 디바이스(130)는 적어도 하나의 눈 추적 카메라(예컨대, 적외선(IR) 또는 근적외선(NIR) 카메라들), 및 사용자의 눈들을 향해 광(예컨대, IR 또는 NIR 광)을 방출하는 조명원들(예컨대, LED들의 어레이 또는 링과 같은 IR 또는 NIR 광원들)을 포함한다. 눈 추적 카메라들은 광원들로부터의 반사된 IR 또는 NIR 광을 눈들로부터 직접 수신하기 위해 사용자의 눈들을 향할 수 있거나, 또는 대안적으로, 가시광이 통과하도록 허용하면서 눈들로부터 눈 추적 카메라들로 IR 또는 NIR 광을 반사하는, 사용자의 눈들과 디스플레이 패널들 사이에 위치된 "핫(hot)" 미러를 향할 수 있다. 시선 추적 디바이스(130)는, 선택적으로, (예컨대, 초당 60 내지 120 프레임(초당 프레임 수: fps)으로 캡처된 비디오 스트림으로서) 사용자의 눈들의 이미지들을 캡처하고, 이미지들을 분석하여 시선 추적 정보를 생성하며, 시선 추적 정보를 제어기(110)로 전달한다. 일부 실시예들에서, 사용자의 두 눈들은 각각의 눈 추적 카메라들 및 조명원들에 의해 별도로 추적된다. 일부 실시예들에서, 사용자의 하나의 눈만이 각각의 눈 추적 카메라 및 조명원들에 의해 추적된다.
일부 실시예들에서, 눈 추적 디바이스(130)는 특정 동작 환경(100)에 대한 눈 추적 디바이스의 파라미터들, 예를 들어 LED들, 카메라들, 핫 미러들(존재하는 경우), 눈 렌즈들, 및 디스플레이 스크린의 3D 기하학적 관계 및 파라미터들을 결정하기 위해 디바이스 특정 보정 프로세스를 사용하여 보정된다. 디바이스 특정 보정 프로세스는 최종 사용자에게 AR/VR 장비를 전달하기 전에 공장 또는 다른 설비에서 수행될 수 있다. 디바이스 특정 보정 프로세스는 자동화된 보정 프로세스 또는 수동 보정 프로세스일 수 있다. 사용자 특정 보정 프로세스는 특정 사용자의 눈 파라미터들, 예를 들어 동공 위치, 중심와 위치, 광축, 시축, 눈 간격 등의 추정을 포함할 수 있다. 일단 디바이스 특정 및 사용자 특정 파라미터들이 눈 추적 디바이스(130)에 대해 결정되면, 눈 추적 카메라들에 의해 캡처된 이미지들은, 일부 실시예들에 따르면, 디스플레이에 대한 사용자의 현재 시축 및 응시점(point of gaze)을 결정하기 위해 글린트 보조 방법을 사용하여 프로세싱될 수 있다.
도 5에 도시된 바와 같이, 눈 추적 디바이스(130)(예컨대, 130A 또는 130B)는 눈 렌즈(들)(520) 및 시선 추적 시스템을 포함하며, 시선 추적 시스템은 눈 추적이 수행되는 사용자의 얼굴의 측부 상에 위치되는 적어도 하나의 눈 추적 카메라(540)(예컨대, 적외선(IR) 또는 근적외선(NIR) 카메라들), 및 사용자의 눈(들)(592)을 향해 광(예컨대, IR 또는 NIR 광)을 방출하는 조명원(530)(예컨대, NIR 발광 다이오드(LED)들의 어레이 또는 링과 같은 IR 또는 NIR 광원들)을 포함한다. 눈 추적 카메라(540)는, (예컨대, 도 5의 상부 부분에 도시된 바와 같이) 가시광이 통과하도록 허용하면서 눈(들)(592)으로부터 IR 또는 NIR 광을 반사하는, 사용자의 눈(들)(592)과 디스플레이(510)(예컨대, 헤드 장착형 디스플레이의 좌측 또는 우측 디스플레이 패널, 또는 핸드헬드 디바이스, 프로젝터 등의 디스플레이) 사이에 위치된 미러들(550)을 향할 수 있거나, 또는 대안적으로, (예컨대, 도 5의 하부 부분에 도시된 바와 같이) 눈(들)(592)으로부터 반사된 IR 또는 NIR 광을 수신하기 위해 사용자의 눈(들)(592)을 향할 수 있다.
일부 실시예들에서, 제어기(110)는 AR 또는 VR 프레임들(562)(예컨대, 좌측 및 우측 디스플레이 패널들에 대한 좌측 및 우측 프레임들)을 렌더링하고, 프레임들(562)을 디스플레이(510)에 제공한다. 제어기(110)는 다양한 목적들을 위해, 예를 들어 디스플레이를 위해 프레임들(562)을 프로세싱할 시에, 눈 추적 카메라들(540)로부터의 시선 추적 입력(542)을 사용한다. 제어기(110)는, 선택적으로, 글린트 보조 방법들 또는 다른 적합한 방법들을 사용하여 눈 추적 카메라들(540)로부터 획득된 시선 추적 입력(542)에 기초하여, 디스플레이(510) 상의 사용자의 응시점을 추정한다. 시선 추적 입력(542)으로부터 추정된 응시점은, 선택적으로, 사용자가 현재 보고 있는 방향을 결정하는 데 사용된다.
하기는 사용자의 현재 시선 방향에 대한 여러 가능한 사용 사례들을 설명하며, 제한하려는 의도는 아니다. 예시적인 사용 사례로서, 제어기(110)는 사용자의 시선의 결정된 방향에 기초하여 가상 콘텐츠를 상이하게 렌더링할 수 있다. 예를 들어, 제어기(110)는 주변 영역들에서보다 사용자의 현재 시선 방향으로부터 결정된 중심와 영역에서 더 높은 해상도로 가상 콘텐츠를 생성할 수 있다. 다른 예로서, 제어기는 사용자의 현재 시선 방향에 적어도 부분적으로 기초하여 뷰에서 가상 콘텐츠를 위치 또는 이동시킬 수 있다. 다른 예로서, 제어기는 사용자의 현재 시선 방향에 적어도 부분적으로 기초하여 뷰에 특정 가상 콘텐츠를 디스플레이할 수 있다. AR 애플리케이션들에서의 다른 예시적인 사용 사례로서, 제어기(110)는 CGR 경험의 물리적 환경을 캡처하기 위한 외부 카메라들에 결정된 방향으로 초점을 맞추도록 지시할 수 있다. 이어서, 외부 카메라들의 자동초점 메커니즘은 사용자가 디스플레이(510) 상에서 현재 보고 있는 환경 내의 객체 또는 표면에 초점을 맞출 수 있다. 다른 예시적인 사용 사례로서, 눈 렌즈들(520)은 초점을 맞출 수 있는 렌즈들일 수 있고, 시선 추적 정보는, 사용자가 현재 보고 있는 가상 객체가 사용자의 눈들(592)의 눈모음(convergence)과 매칭되는 적절한 이향운동(vergence)을 갖도록 눈 렌즈들(520)의 초점을 조정하기 위해 제어기에 의해 사용된다. 제어기(110)는 시선 추적 정보를 활용하여, 사용자가 보고 있는 가까운 객체들이 올바른 거리에 나타나도록 눈 렌즈들(520)에 초점을 조정하도록 지시할 수 있다.
일부 실시예들에서, 눈 추적 디바이스는, 웨어러블 하우징 내에 장착되는, 디스플레이(예컨대, 디스플레이(510)), 2개의 눈 렌즈들(예컨대, 눈 렌즈(들)(520)), 눈 추적 카메라들(예컨대, 눈 추적 카메라(들)(540)), 및 광원들(530)(예컨대, IR 또는 NIR LED들)을 포함하는 헤드 장착형 디바이스의 일부이다. 광원들은 사용자의 눈(들)(592)을 향해 광(예컨대, IR 또는 NIR 광)을 방출한다. 일부 실시예들에서, 광원들은 도 5에 도시된 바와 같이 렌즈들 각각 주위에 링들 또는 원들로 배열될 수 있다. 일부 실시예들에서, 일례로서 8개의 광원들(530)(예컨대, LED들)이 각각의 렌즈(520) 주위에 배열된다. 그러나, 더 많거나 더 적은 광원들(530)이 사용될 수 있고, 광원들(530)의 다른 배열들 및 위치들이 사용될 수 있다.
일부 실시예들에서, 디스플레이(510)는 가시광 범위에서 광을 방출하고, IR 또는 NIR 범위에서 광을 방출하지 않으며, 그에 따라 시선 추적 시스템에 노이즈를 도입하지 않는다. 눈 추적 카메라(들)(540)의 위치 및 각도는 예로서 주어진 것이고, 제한하고자 의도된 것은 아님에 유의한다. 일부 실시예들에서, 단일 눈 추적 카메라(540)가 사용자의 얼굴의 각각의 측부 상에 위치된다. 일부 실시예들에서, 2개 이상의 NIR 카메라들(540)이 사용자의 얼굴의 각각의 측부 상에 사용될 수 있다. 일부 실시예들에서, 더 넓은 시야(FOV)를 갖는 카메라(540) 및 더 좁은 FOV를 갖는 카메라(540)가 사용자의 얼굴의 각각의 측부 상에 사용될 수 있다. 일부 실시예들에서, 하나의 파장(예컨대, 850 nm)에서 동작하는 카메라(540) 및 상이한 파장(예컨대, 940 nm)에서 동작하는 카메라(540)가 사용자의 얼굴의 각각의 측부 상에 사용될 수 있다.
도 5에 예시된 바와 같은 시선 추적 시스템의 실시예들은, 예를 들어, 컴퓨터 생성 현실(예컨대, 가상 현실, 및/또는 혼합 현실을 포함함) 애플리케이션들에 사용되어 컴퓨터 생성 현실(예컨대, 가상 현실, 증강 현실, 및/또는 증강 가상을 포함함) 경험들을 사용자에게 제공할 수 있다.
도 6은 일부 실시예들에 따른, 글린트 보조 시선 추적 파이프라인을 예시한다. 일부 실시예들에서, 시선 추적 파이프라인은 글린트 보조 시선 추적 시스템(예컨대, 도 1 및 도 5에 예시된 바와 같은 눈 추적 디바이스(130))에 의해 구현된다. 글린트 보조 시선 추적 시스템은 추적 상태를 유지할 수 있다. 초기에, 추적 상태는 오프 또는 "아니오(NO)" 상태이다. 추적 상태에 있을 때, 글린트 보조 시선 추적 시스템은 현재 프레임에서 동공 윤곽 및 글린트들을 추적하기 위해 현재 프레임을 분석할 때 이전 프레임으로부터의 이전 정보를 사용한다. 추적 상태에 있지 않을 때, 글린트 보조 시선 추적 시스템은 현재 프레임에서 동공 및 글린트들을 검출하려고 시도하고, 성공하면, 추적 상태를 "예(YES)"로 초기화하고 추적 상태에서 다음 프레임을 계속한다.
도 6에 도시된 바와 같이, 시선 추적 카메라들은 사용자의 좌안 및 우안의 좌측 및 우측 이미지들을 캡처할 수 있다. 이어서, 캡처된 이미지들은 610에서 시작하는 프로세싱을 위해 시선 추적 파이프라인에 입력된다. 요소(600)로 복귀하는 화살표에 의해 표시된 바와 같이, 시선 추적 시스템은, 예를 들어 초당 60 내지 120 프레임의 속도로, 사용자의 눈들의 이미지들을 계속해서 캡처할 수 있다. 일부 실시예들에서, 캡처된 이미지들의 각각의 세트는 프로세싱을 위해 파이프라인에 입력될 수 있다. 그러나, 일부 실시예들에서 또는 일부 조건들 하에서, 모든 캡처된 프레임들이 파이프라인에 의해 프로세싱되는 것은 아니다.
610에서, 현재 캡처된 이미지들에 대해, 추적 상태가 "예"인 경우, 본 방법은 요소(640)로 진행한다. 610에서, 추적 상태가 "아니오"인 경우, 620에 나타낸 바와 같이, 이미지들은 이미지들에서 사용자의 동공들 및 글린트들을 검출하기 위해 분석된다. 630에서, 동공들 및 글린트들이 성공적으로 검출되면, 본 방법은 요소(640)로 진행한다. 그렇지 않으면, 본 방법은 사용자의 눈들의 다음 이미지들을 프로세싱하기 위해 요소(610)로 복귀한다.
640에서, 요소(410)로부터 진행하는 경우, 현재 프레임들은 이전 프레임들로부터의 이전 정보에 부분적으로 기초하여 동공들 및 글린트들을 추적하기 위해 분석된다. 640에서, 요소(630)로부터 진행하는 경우, 추적 상태는 현재 프레임들에서의 검출된 동공들 및 글린트들에 기초하여 초기화된다. 요소(640)에서의 프로세싱의 결과들은 추적 또는 검출의 결과들이 신뢰될 수 있는지 확인하기 위해 체크된다. 예를 들어, 결과들은, 동공 및 시선 추정을 수행하기에 충분한 수의 글린트들이 현재 프레임들에서 성공적으로 추적되거나 검출되는지를 결정하기 위해 체크될 수 있다. 650에서, 결과들이 신뢰될 수 없는 경우, 추적 상태는 "아니오"로 설정되고, 본 방법은 사용자의 눈들의 다음 이미지들을 프로세싱하기 위해 요소(610)로 복귀한다. 650에서, 결과들이 신뢰되는 경우, 본 방법은 요소(670)로 진행한다. 670에서, 추적 상태는 (이미 '예"가 아닌 경우) "예"로 설정되고, 동공 및 글린트 정보는 사용자의 응시점을 추정하기 위해 요소(680)로 전달된다.
도 6은 특정 구현예에 사용될 수 있는 눈 추적 기술의 하나의 예로서의 역할을 하도록 의도된다. 당업자에 의해 인식되는 바와 같이, 다양한 실시예들에 따르면, 현재 존재하거나 미래에 개발되는 다른 눈 추적 기술들이 사용자들에게 CGR 경험들을 제공하기 위해 컴퓨터 시스템(101)에서 본 명세서에 설명된 글린트 보조 눈 추적 기술 대신에 또는 그와 조합하여 사용될 수 있다.
본 발명에서, 컴퓨터 시스템과의 상호작용들과 관련하여 다양한 입력 방법들이 설명된다. 일례가 하나의 입력 디바이스 또는 입력 방법을 사용하여 제공되고, 다른 예가 다른 입력 디바이스 또는 입력 방법을 사용하여 제공될 때, 각각의 예가 다른 예와 관련하여 설명된 입력 디바이스 또는 입력 방법과 호환가능할 수 있고 선택적으로 그를 이용한다는 것을 이해해야 한다. 유사하게, 컴퓨터 시스템과의 상호작용들과 관련하여 다양한 출력 방법들이 설명된다. 일례가 하나의 출력 디바이스 또는 출력 방법을 사용하여 제공되고, 다른 예가 다른 출력 디바이스 또는 출력 방법을 사용하여 제공될 때, 각각의 예가 다른 예와 관련하여 설명된 출력 디바이스 또는 출력 방법과 호환가능할 수 있고 선택적으로 그를 이용한다는 것을 이해해야 한다. 유사하게, 컴퓨터 시스템을 통한 가상 환경 또는 혼합 현실 환경과의 상호작용들과 관련하여 다양한 방법들이 설명된다. 일례가 가상 환경과의 상호작용들을 사용하여 제공되고, 다른 예가 혼합 현실 환경을 사용하여 제공될 때, 각각의 예가 다른 예와 관련하여 설명된 방법들과 호환가능할 수 있고 선택적으로 그를 이용한다는 것을 이해해야 한다. 이와 같이, 본 발명은, 각각의 예시적인 실시예의 설명에서 실시예의 모든 특징부들을 철저하게 열거하지 않고서, 다수의 예들의 특징부들의 조합들인 실시예들을 개시한다.
사용자 인터페이스들 및 연관된 프로세스들
이제, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 및 (선택적으로) 하나 이상의 카메라들을 갖는, 휴대용 다기능 디바이스 또는 헤드 장착형 디바이스와 같은 컴퓨터 시스템 상에서 구현될 수 있는 사용자 인터페이스("UI")들 및 연관된 프로세스들의 실시예들에 주목한다.
도 7a 내지 도 7c는 일부 실시예들에 따른, 가상 또는 혼합 현실 환경과 상호작용하기 위한 입력 제스처들(예컨대, 선택적으로, 제스처 직전에 또는 그 동안에 동작들을 수행하기 위해 사용자의 전체 손 또는 팔의 그들의 자연스러운 위치(들) 및 자세(들)로부터 멀어지는 큰 이동을 요구하지 않고서, 사용자의 손의 다른 손가락(들) 또는 부분(들)에 대한 사용자의 손가락(들)의 이동에 의해 수행되는 개별적인 작은 모션 제스처들)의 예들을 예시한다. 도 7a 내지 도 7c와 관련하여 설명된 입력 제스처들은, 도 8의 프로세스들을 포함하여, 아래에 설명되는 프로세스들을 예시하기 위해 사용된다.
일부 실시예들에서, 도 7a 내지 도 7c와 관련하여 설명된 입력 제스처들은 센서 시스템(예컨대, 도 1의 센서들(190); 도 3의 이미지 센서들(314))에 의해 캡처된 데이터 또는 신호들을 분석함으로써 검출된다. 일부 실시예들에서, 센서 시스템은 하나 이상의 이미징 센서들(예컨대, 모션 RGB 카메라들, 적외선 카메라들, 심도 카메라들 등과 같은 하나 이상의 카메라들)을 포함한다. 예를 들어, 하나 이상의 이미징 센서들은 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120)(예컨대, 디스플레이 및 터치 감응형 표면으로서의 역할을 하는 터치 스크린 디스플레이, 입체 디스플레이, 패스 스루 부분을 갖는 디스플레이 등))를 포함하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101)(예컨대, 도 7c에 예시된 바와 같은 휴대용 전자 디바이스(7100) 또는 HMD))의 컴포넌트들이거나 그에 데이터를 제공한다. 일부 실시예들에서, 하나 이상의 이미징 센서들은 디바이스의 디스플레이의 반대편에 있는 디바이스의 측부 상에 하나 이상의 후방 대면 카메라들을 포함한다. 일부 실시예들에서, 입력 제스처들은 헤드 장착형 시스템(예컨대, 사용자의 좌안에 대한 좌측 이미지 및 사용자의 우안에 대한 우측 이미지를 제공하는 입체 디스플레이를 포함하는 VR 헤드셋)의 센서 시스템에 의해 검출된다. 예를 들어, 헤드 장착형 시스템의 컴포넌트들인 하나 이상의 카메라들은 헤드 장착형 시스템의 전면 및/또는 밑면 상에 장착된다. 일부 실시예들에서, 하나 이상의 이미징 센서들은 헤드 장착형 시스템이 사용되는 공간 내에 위치되어서(예컨대, 방 내의 다양한 위치들에서 헤드 장착형 시스템 주위에 배열됨), 이미징 센서들이 헤드 장착형 시스템 및/또는 헤드 장착형 시스템의 사용자의 이미지들을 캡처하게 한다. 일부 실시예들에서, 입력 제스처들은 (헤드업 디스플레이, 그래픽을 디스플레이하는 능력을 갖는 자동차 앞유리, 그래픽을 디스플레이하는 능력을 갖는 윈도우, 그래픽을 디스플레이하는 능력을 갖는 렌즈와 같은) 헤드업 디바이스의 센서 시스템에 의해 검출된다. 예를 들어, 하나 이상의 이미징 센서들은 자동차의 내부 표면들에 부착된다. 일부 실시예들에서, 센서 시스템은 하나 이상의 심도 센서들(예컨대, 센서들의 어레이)을 포함한다. 예를 들어, 하나 이상의 심도 센서들은 하나 이상의 광 기반(예컨대, 적외선) 센서들 및/또는 하나 이상의 소리 기반(예컨대, 초음파) 센서들을 포함한다. 일부 실시예들에서, 센서 시스템은, 광 방출기(예컨대, 적외선 방출기) 및/또는 소리 방출기(예컨대, 초음파 방출기)와 같은 하나 이상의 신호 방출기들을 포함한다. 예를 들어, 광(예컨대, 미리결정된 패턴을 갖는 적외선 광 방출기들의 어레이로부터의 광)이 손(예컨대, 도 71c와 관련하여 설명된 바와 같은 손(7200)) 상에 투영되는 동안, 광의 조명 하에서의 손의 이미지가 하나 이상의 카메라들에 의해 캡처되고, 캡처된 이미지는 손의 위치 및/또는 구성을 결정하기 위해 분석된다. 터치 감응형 표면들 또는 다른 직접 접촉 메커니즘 또는 근접 기반 메커니즘들의 신호들을 사용하는 것과는 대조적으로, 입력 제스처들을 결정하기 위해 손으로 지향되는 이미지 센서들로부터의 신호들을 사용하는 것은, 특정 입력 디바이스 또는 입력 영역에 의해 부과되는 제약들을 경험하지 않고서, 사용자가 그/그녀의 손으로 입력 제스처들을 제공할 때 큰 모션들을 실행할지 또는 상대적으로 정지된 상태로 유지될지를 자유롭게 선택하도록 허용한다.
도 7a의 부분 (A)는 사용자의 손의 검지(7108) 위에서의(예컨대, 엄지(7106)에 인접한 검지(7108)의 측부 위에서의) 엄지(7106)의 탭 입력을 예시한다. 엄지(7106)는, 상승 위치(7102)로부터 (예컨대, 엄지(7106)가 검지(7110)와 접촉하였고 검지(7110) 상에 놓여 유지되는) 터치다운 위치(7104)로 이동하는 것 및 선택적으로, 엄지(7106)가 검지(7110)와 접촉한 후 임계 시간(예컨대, 탭 시간 임계치) 내에 다시 터치다운 위치(7104)로부터 상승 위치(7102)로 이동하는 것을 포함하여, 화살표(7110)에 의해 예시된 축을 따라 이동한다. 일부 실시예들에서, 검지의 측부로부터의 엄지의 리프트오프(lift-off)를 요구하지 않고서 탭 입력이 검출된다. 일부 실시예들에서, 엄지가 임계 시간 미만 동안 검지의 측부와 접촉하는 상태로, 엄지의 하향 이동 후에 엄지의 상향 이동이 이어진다는 결정에 따라 탭 입력이 검출된다. 일부 실시예들에서, 엄지가 상승 위치(7102)로부터 터치다운 위치(7104)로 이동하고 적어도 제1 임계 시간(예컨대, 탭 시간 임계치 또는 탭 시간 임계치보다 긴 다른 시간 임계치) 동안 터치다운 위치(7104)에 유지된다는 결정에 따라 탭하여 유지하기(tap-hold) 입력이 검출된다. 일부 실시예들에서, 컴퓨터 시스템은 검지 상에서의 엄지에 의한 탭하여 유지하기 입력을 검출하기 위해 손 전체가 적어도 제1 임계 시간 동안 위치가 실질적으로 정지된 상태로 유지될 것을 요구한다. 일부 실시예들에서, 터치하여 유지하기 입력은 손 전체가 실질적으로 정지된 상태로 유지될 것을 요구하지 않고서 검출된다(예컨대, 엄지가 검지의 측부 상에 놓여 있는 동안 손 전체가 이동할 수 있음). 일부 실시예들에서, 엄지가 검지의 측부 상에 터치다운하고, 엄지가 검지의 측부 상에 놓여 있는 동안 손 전체가 이동할 때, 탭하여 유지하여서 드래그하기(tap-hold-drag) 입력이 검출된다.
도 71a의 부분 (B)는 (예컨대, 검지의 손바닥 측부로부터 후방 측부로) 검지(7118)를 가로지르는 엄지(7116)의 이동에 의한 푸시 또는 플릭(flick) 입력을 예시한다. 엄지(7116)는 후퇴 위치(7112)로부터 연장 위치(7114)로 화살표(7120)에 의해 예시된 축을 따라 검지(7118)를 가로질러(예컨대, 검지(7118)의 중위 지골을 가로질러) 이동한다. 일부 실시예들에서, 엄지의 연장 이동은, 예컨대 엄지에 의한 상향 플릭 입력에서와 같이, 검지의 측부로부터 멀어지는 상향 이동을 수반한다. 일부 실시예들에서, 검지는 엄지의 전방 및 상향 이동 동안 엄지의 것과 반대 방향으로 이동한다. 일부 실시예들에서, 엄지가 연장 위치(7114)로부터 후퇴 위치(7112)로 이동함으로써 역방향 플릭 입력이 수행된다. 일부 실시예들에서, 검지는 엄지의 후방 및 하향 이동 동안 엄지의 것과 반대 방향으로 이동한다.
도 7a의 부분 (C)는 검지(7128)를 따른(예컨대, 엄지(7126)에 인접한 또는 손바닥의 측부 상의 검지(7128)의 측부를 따른) 엄지(7126)의 이동에 의한 스와이프 입력을 예시한다. 엄지(7126)는 검지(7128)의 (예컨대, 검지(7118)의 근위 지골에 있거나 그 근처에 있는) 근위 위치(7122)로부터 (예컨대, 검지(7118)의 원위 지골에 있거나 그 근처에 있는) 원위 위치(7124)로 그리고/또는 원위 위치(7124)로부터 근위 위치(7122)로 화살표(7130)에 의해 예시된 축을 따라 검지(7128)의 길이를 따라 이동한다. 일부 실시예들에서, 검지는, 선택적으로, 연장 상태(예컨대, 실질적으로 똑바른 상태) 또는 말린 상태에 있다. 일부 실시예들에서, 검지는 스와이프 입력 제스처에서 엄지의 이동 동안 연장 상태와 말린 상태 사이에서 이동한다.
도 7a의 부분 (D)는 다양한 손가락들(예컨대, 검지, 중지, 약지, 및 선택적으로 새끼손가락)의 다양한 지골들 위에서의 엄지(7106)의 탭 입력을 예시한다. 예를 들어, 부분 (A)에 예시된 바와 같은 엄지(7106)는 상승 위치(7102)로부터 부분 (D)에 예시된 7130 내지 7148 중 임의의 것에 예시된 바와 같은 터치다운 위치로 이동한다. 터치다운 위치(7130)에서, 엄지(7106)는 검지(7108)의 근위 지골 상의 위치(7150)와 접촉하는 것으로 도시되어 있다. 터치다운 위치(7134)에서, 엄지(7106)는 검지(7108)의 중위 지골 상의 위치(7152)와 접촉한다. 터치다운 위치(7136)에서, 엄지(7106)는 검지(7108)의 원위 지골 상의 위치(7154)와 접촉한다.
7138, 7140 및 7142에 예시된 터치다운 위치들에서, 엄지(7106)는, 각각, 중지의 근위 지골, 중지의 중위 지골 및 중지의 원위 지골에 대응하는 위치들(7156, 7158, 7160)과 접촉한다.
7144, 7146 및 7150에 예시된 터치다운 위치들에서, 엄지(7106)는, 각각, 약지의 근위 지골, 약지의 중위 지골 및 약지의 원위 지골에 대응하는 위치들(7162, 7164, 7166)과 접촉한다.
다양한 실시예들에서, 다른 손가락의 상이한 부분들 또는 2개의 나란히 있는 손가락들의 상이한 부분들 상에서의 엄지(7106)에 의한 탭 입력들은 상이한 입력들에 대응하고, 각각의 사용자 인터페이스 콘텍스트에서 상이한 동작들을 트리거한다. 유사하게, 일부 실시예들에서, 각각의 사용자 인터페이스 접촉에서 상이한 동작들을 트리거하기 위해 상이한 푸시 또는 클릭 입력들이 상이한 손가락들 및/또는 손가락의 상이한 부분들을 가로질러 엄지에 의해 수행될 수 있다. 유사하게, 일부 실시예들에서, 상이한 손가락들을 따라 그리고/또는 상이한 방향들로(예컨대, 손가락의 원위 또는 근위 단부를 향해) 엄지에 의해 수행되는 상이한 스와이프 입력들이 각각의 사용자 인터페이스 콘텍스트에서 상이한 동작들을 트리거한다.
일부 실시예들에서, 컴퓨터 시스템은 엄지의 이동 유형들에 기초하여 상이한 유형들의 입력들로서 처리되는 탭 입력들, 플릭 입력들, 및 스와이프 입력들을 처리한다. 일부 실시예들에서, 컴퓨터 시스템은, 엄지에 의해 탭핑되거나 터치되거나 또는 스와이프되는 상이한 손가락 위치들을 갖는 입력들을, 주어진 입력 유형(예컨대, 탭 입력 유형, 플릭 입력 유형, 스와이프 입력 유형 등)의 상이한 하위 입력 유형들(예컨대, 근위, 중위, 원위 하위유형들, 또는 검지, 중지, 약지, 또는 새끼손가락 하위유형들)로서 처리한다. 일부 실시예들에서, 이동하는 손가락(예컨대, 엄지)에 의해 수행되는 이동의 양 및/또는 손가락의 이동과 연관된 다른 이동 메트릭(metric)들(예컨대, 속도, 초기 속도, 종료 속도, 지속시간, 방향, 이동 패턴 등)은 손가락 입력에 의해 트리거되는 동작에 정량적으로 영향을 미치기 위해 사용된다.
일부 실시예들에서, 컴퓨터 시스템은, 탭하여 스와이프하기(tap-swipe) 입력(예컨대, 손가락 상에서의 엄지의 터치다운에 이어서 손가락의 측부를 따라 스와이프하는 것), 탭하여 플릭하기(tap-flick) 입력(예컨대, 손가락 위에서의 엄지의 터치다운에 이어서 손가락의 손바닥 측부로부터 후방 측부로 손가락을 가로지르는 플릭), 이중 탭 입력(예컨대, 대략 동일한 위치에서의 손가락의 측부 상에서의 2회의 연속적인 탭들) 등과 같은, 엄지에 의한 이동들의 시퀀스를 조합하는 조합 입력 유형들을 인식한다.
일부 실시예들에서, 제스처 입력들은 엄지 대신에 검지에 의해 수행된다(예컨대, 검지가 엄지 상에서 탭 또는 스와이프를 수행하거나, 또는 엄지와 검지가 핀치 제스처를 수행하기 위해 서로를 향해 이동하거나, 기타 등등임). 일부 실시예들에서, 손목 이동(예컨대, 수평 방향 또는 수직 방향으로의 손목의 플릭)이, 손목 이동에 의한 수정자 입력이 없는 손가락 이동 입력들과 비교하여, 현재 사용자 인터페이스 콘텍스트에서 추가 동작들, 상이한 동작들, 또는 수정된 동작들을 트리거하기 위해 손가락 이동 입력들 직전에, 그 직후에(예컨대, 임계 시간 내에), 또는 그와 동시에 수행된다. 일부 실시예들에서, 사용자의 손바닥이 사용자 얼굴을 향하는 상태로 수행되는 손가락 입력 제스처들은 사용자의 손바닥이 사용자의 얼굴로부터 멀리 향하는 상태로 수행되는 손가락 입력 제스처들과는 상이한 유형의 제스처들로서 처리된다. 예를 들어, 사용자의 손바닥이 사용자를 향하는 상태로 수행되는 탭 제스처는, 사용자의 손바닥이 사용자의 얼굴로부터 멀리 향하는 상태로 수행되는 탭 제스처에 응답하여 수행되는 동작(예컨대, 동일한 동작)과 비교하여 프라이버시 보호수단이 추가된(또는 감소된) 동작을 수행한다.
본 발명에 제공된 예들에서 하나의 유형의 손가락 입력이 일 유형의 동작을 트리거하는 데 사용될 수 있지만, 다른 실시예들에서 다른 유형들의 손가락 입력이, 선택적으로, 동일한 유형의 동작을 트리거하기 위해 사용된다.
도 7b는 일부 실시예들에서, 사용자 인터페이스 객체들(7172 내지 7194)을 포함하는 메뉴(7170)를 보여주는 예시적인 사용자 인터페이스 콘텍스트를 예시한다.
일부 실시예들에서, 메뉴(7170)는 혼합 현실 환경에 디스플레이된다(예컨대, 공중에 부유하거나 3차원 환경 내의 물리적 객체를 오버레이하고, 혼합 현실 환경과 연관된 동작들 또는 물리적 객체와 연관된 동작들에 대응함). 예를 들어, 메뉴(7170)는 디바이스(7100)의 하나 이상의 후방 대면 카메라들에 의해 캡처된 물리적 환경의 뷰의 적어도 일부분과 함께(예컨대, 그를 오버레이하는) 디바이스(예컨대, 디바이스(7100)(도 7c) 또는 HMD)의 디스플레이에 의해 디스플레이된다. 일부 실시예들에서, 메뉴(7170)는, 물리적 환경이 그를 통해 보이는 디바이스(예컨대, 헤드업 디스플레이, 또는 HMD)의 투명 또는 반투명 디스플레이 상에 디스플레이된다. 일부 실시예들에서, 메뉴(7170)는 가상 콘텐츠에 의해 둘러싸이는 패스 스루 부분(예컨대, 물리적 주위가 그를 통해 보이는 투명 또는 반투명 부분, 또는 주위 물리적 환경의 카메라 뷰를 디스플레이하는 부분)을 포함하는 사용자 인터페이스 내에 디스플레이된다. 일부 실시예들에서, 동작이 혼합 현실 환경에서 수행되게 하는 제스처 입력을 수행하는 사용자의 손은 디바이스의 디스플레이 상에서 사용자에게 보인다. 일부 실시예들에서, 동작이 혼합 현실 환경에서 수행되게 하는 제스처 입력을 수행하는 사용자의 손은 디바이스의 디스플레이 상에서 사용자에게 보이지 않는다(예컨대, 사용자에게 물리적 세계의 뷰를 제공하는 카메라는 사용자의 손가락 입력들을 캡처하는 카메라와는 상이한 시야를 가짐).
일부 실시예들에서, 메뉴(7170)는 가상 현실 환경에 디스플레이된다(예컨대, 가상 공간에서 호버링(hovering)하거나, 또는 가상 표면을 오버레이함). 일부 실시예들에서, 손(7200)은 가상 현실 환경에서 보인다(예컨대, 하나 이상의 카메라들에 의해 캡처된 손(7200)의 이미지가 가상 현실 설정에서 렌더링됨). 일부 실시예들에서, 손(7200)의 표현(예컨대, 손(7200)의 카툰(cartoon) 버전)이 가상 현실 설정에서 렌더링된다. 일부 실시예들에서, 손(7200)은 가상 현실 환경에서 보이지 않는다(예컨대, 그로부터 생략됨). 일부 실시예들에서, 디바이스(7100)(도 7c)는 (예컨대, 디바이스(7100)가 HMD일 때) 가상 현실 환경에서 보이지 않는다. 일부 실시예들에서, 디바이스(7100)의 이미지 또는 디바이스(7100)의 표현이 가상 현실 환경에서 보인다.
일부 실시예들에서, 사용자 인터페이스 객체들(7172 내지 7194) 중 하나 이상은 (예컨대, 대응하는 애플리케이션들을 시작하기 위한 동작을 수행하기 위한) 애플리케이션 시작 아이콘들이다. 일부 실시예들에서, 사용자 인터페이스 객체들(7172 내지 7194) 중 하나 이상은 애플리케이션 내에서 각각의 동작들(예컨대, 볼륨 증가, 볼륨 감소, 재생, 일시정지, 빨리 감기, 되감기, 원격 디바이스와의 통신 개시, 원격 디바이스와의 통신 종료, 원격 디바이스로의 통신 전송, 게임 시작 등)을 수행하기 위한 제어부들이다. 일부 실시예들에서, 사용자 인터페이스 객체들(7172 내지 7194) 중 하나 이상은 (예컨대, 원격 디바이스들의 각각의 사용자들과의 통신을 개시하기 위한 동작을 수행하기 위한) 원격 디바이스들의 사용자들의 각각의 표현들(예컨대, 아바타들)이다. 일부 실시예들에서, 사용자 인터페이스 객체들(7172 내지 7194) 중 하나 이상은 미디어(예컨대, 이미지들, 가상 객체들, 오디오 파일들, 및/또는 비디오 파일들)의 표현들(예컨대, 섬네일들, 2차원 이미지들, 또는 앨범 커버들)이다. 예를 들어, 이미지의 표현인 사용자 인터페이스 객체를 활성화하는 것은 이미지가 (예컨대, 하나 이상의 카메라들에 의해 검출된 표면에 대응하는 위치에) 디스플레이되게 그리고 (예컨대, 물리적 환경 내의 표면에 대응하는 위치에서 또는 가상 공간에 디스플레이된 표면에 대응하는 위치에서) 컴퓨터 생성 현실 뷰 내에 디스플레이되게 한다.
손(7200)의 엄지가 도 7a와 관련하여 설명된 입력 제스처들을 수행함에 따라, 메뉴(7170)에 대응하는 동작들이 검출되는 입력 제스처의 위치 및/또는 유형에 따라 수행된다. 예를 들어, y 축을 따른 엄지의 이동(예컨대, 도 7a의 부분 (C)와 관련하여 설명된 바와 같은, 검지 상의 근위 위치로부터 검지 상의 원위 위치로의 이동)을 포함하는 입력에 응답하여, 현재 선택 표시자(7198)(예컨대, 선택자 객체, 또는 외형선 또는 객체의 외관의 변화에 의한 객체의 강조와 같은 이동가능한 시각적 효과)가 아이템(7190)으로부터 후속 사용자 인터페이스 객체(7192)로 우측으로 반복된다. 일부 실시예들에서, 검지 상의 원위 위치로부터 검지 상의 근위 위치로의 y 축을 따른 엄지의 이동을 포함하는 입력에 응답하여, 현재 선택 표시자(7198)가 아이템(7190)으로부터 이전 사용자 인터페이스 객체(7188)로 좌측으로 반복된다. 일부 실시예들에서, 검지 위에서의 엄지의 탭 입력(예컨대, 도 7a의 부분 (A)와 관련하여 설명된 바와 같은, z 축을 따른 엄지의 이동)을 포함하는 입력에 응답하여, 현재 선택된 사용자 인터페이스 객체(7190)가 활성화되고, 현재 선택된 사용자 인터페이스 객체(7190)에 대응하는 동작이 수행된다. 예를 들어, 사용자 인터페이스 객체(7190)는 애플리케이션 시작 아이콘이고, 사용자 인터페이스 객체(7190)가 선택되는 동안 탭 입력에 응답하여, 사용자 인터페이스 객체(7190)에 대응하는 애플리케이션이 시작되고 디스플레이 상에 디스플레이된다. 일부 실시예들에서, 후퇴 위치로부터 연장 위치로의 x 축을 따른 엄지의 이동을 포함하는 입력에 응답하여, 현재 선택 표시자(7198)는 아이템(7190)으로부터 상향 사용자 인터페이스 객체(7182)로 상향으로 이동된다. 사용자 인터페이스 객체들(7172 내지 7194) 중 하나 이상과 관련하여 제공되는 다른 유형들의 손가락 입력들이 가능하고, 선택적으로, 입력들을 받는 사용자 인터페이스 객체(들)에 대응하는 다른 유형들의 동작들의 수행을 야기한다.
도 7c는 컴퓨터 시스템(예컨대, 디바이스(7100) 또는 HMD)에 의해 디스플레이되는 혼합 현실 뷰(예컨대, 물리적 환경의 증강 현실 뷰)에서 보이는 메뉴(7170)의 시각적 표시를 예시한다. 일부 실시예들에서, 물리적 환경 내의 손(7200)은, 7200'에 예시된 바와 같이, (예컨대, 카메라에 의해 캡처된 물리적 환경의 뷰의 일부로서) 디스플레이된 증강 현실 뷰에서 보인다. 일부 실시예들에서, 손(7200)은 메뉴(7170)가 디스플레이되는 투명 또는 반투명 디스플레이 표면을 통해 보인다(예컨대, 디바이스(7100)는 패스 스루 부분을 갖는 헤드업 디스플레이 또는 HMD임).
일부 실시예들에서, 도 7c에 도시된 바와 같이, 메뉴(7170)는 사용자의 손의 미리정의된 부분(예컨대, 엄지의 끝)에 대응하는 혼합 현실 환경 내의 위치에 그리고 사용자의 손의 배향에 대응하는 배향을 갖고서 디스플레이된다. 일부 실시예들에서, 사용자의 손이 물리적 환경(예컨대, 사용자의 손, 또는 사용자의 눈들, 또는 사용자를 둘러싸는 물리적 객체 또는 벽을 캡처하는 카메라)에 대해 이동할(예컨대, 측방향으로 이동하거나 회전할) 때, 메뉴(7170)는 사용자의 손과 함께 혼합 현실 환경에서 이동하는 것으로 도시되어 있다. 일부 실시예들에서, 메뉴(7170)는 혼합 현실 환경으로 지향되는 사용자의 시선의 이동에 따라 이동한다. 일부 실시예들에서, 메뉴(7170)는, 디스플레이 상에 표시된 물리적 환경의 뷰에 상관없이, 디스플레이 상의 고정 위치에 디스플레이된다.
일부 실시예들에서, 메뉴(7170)는 사용자 손의 준비 자세(예컨대, 엄지가 검지의 측부 상에 놓여 있는 것)를 검출하는 것에 응답하여 디스플레이 상에 디스플레이된다. 일부 실시예들에서, 준비 자세에 있는 손을 검출하는 것에 응답하여 디스플레이되는 사용자 인터페이스 객체들은 현재 사용자 인터페이스 콘텍스트 및/또는 혼합 현실 환경에서의 사용자의 시선의 위치에 따라 상이하다.
도 7d 및 도 7e는 일부 실시예들에 따른, 예시적인 미준비(non-ready) 상태 구성(예컨대, 휴지 구성(resting configuration))(도 7d) 및 예시적인 준비 상태 구성(도 7e)에 있는 손(7200)을 예시한다. 도 7d 및 도 7e와 관련하여 설명된 입력 제스처들은, 도 9의 프로세스들을 포함하여, 아래에 설명되는 프로세스들을 예시하기 위해 사용된다.
도 7d에서, 손(7200)은 예시적인 미준비 상태 구성(예컨대, 휴지 구성(예컨대, 손이 이완된 또는 임의의 상태에 있고, 엄지(7202)가 검지(7204) 상에 놓여 있지 않음)으로 도시되어 있다. 예시적인 사용자 인터페이스 콘텍스트에서, 사용자 인터페이스 객체(7208, 7210, 7212)(예컨대, 애플리케이션 아이콘들, 미디어 객체들, 제어부들, 메뉴 아이템들 등)를 포함하는 컨테이너 객체(7206)(예컨대, 애플리케이션 도크(application dock), 폴더, 제어 패널, 메뉴, 플래터(platter), 프리뷰 등)가 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101)(예컨대, 디바이스(7100), HMD, 또는 다른 디바이스들 중에서 상기를 포함하는 시스템))의 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 2 및 도 4의 디스플레이 생성 컴포넌트(120)(예컨대, 터치 스크린 디스플레이, 입체 프로젝터, 헤드업 디스플레이, HMD 등))에 의해 3차원 환경(예컨대, 가상 환경 또는 혼합 현실 환경)에 디스플레이된다. 일부 실시예들에서, 손의 휴지 구성은 준비 상태 구성이 아닌 손 구성의 하나의 예이다. 예를 들어, 반드시 이완되고 휴지 상태이지는 않지만 (예컨대, 엄지가 검지(예컨대, 검지의 중위 지골) 상에 놓여 있는) 준비 상태 제스처를 검출하기 위한 기준들을 충족시키지 않는 다른 손 구성들도 미준비 상태 구성에 있는 것으로 범주적으로 인식된다. 예를 들어, 일부 실시예들에 따르면, 사용자가 공중에서 그의 손을 흔들거나, 객체를 유지하거나, 그의 주먹을 쥐거나, 기타 등등을 할 때, 컴퓨터 시스템은 사용자의 손이 손의 준비 상태를 검출하기 위한 기준들을 충족시키지 않는다고 결정하고, 사용자의 손이 미준비 상태 구성에 있다고 결정한다. 일부 실시예들에서, 손의 준비 상태 구성을 검출하기 위한 기준들은, 사용자가 그/그녀의 손 구성을 변경하였고, 이러한 변경이 사용자의 엄지가 사용자의 검지의 미리정의된 부분(예컨대, 검지의 중위 지골) 상에 놓여 있게 하였다는 것을 검출하는 것을 포함한다. 일부 실시예들에서, 준비 상태 구성을 검출하기 위한 기준들은, 손 제스처의 변화가, 컴퓨터 시스템이 손이 준비 상태 구성에 있다는 것을 인식하기 위해 사용자의 엄지가 적어도 제1 임계 시간 동안 사용자의 검지의 미리정의된 부분 상에 놓여 있게 하였다는 것을 요구한다. 일부 실시예들에서, 사용자가 그/그녀의 손 구성을 변경하지 않았고 준비 상태 구성에 진입한 후 적어도 제2 임계 시간 동안 어떠한 유효한 입력 제스처들도 제공하지 않은 경우, 컴퓨터 시스템은 현재 손 구성을 미준비 상태 구성으로 처리한다. 컴퓨터 시스템은 준비 상태 구성이 다시 인식되기 위해 사용자가 그/그녀의 현재 손 구성을 변경한 다음에 준비 상태 구성으로 복귀할 것을 요구한다. 일부 실시예들에서, 준비 상태 구성은, 예컨대 사용자가 손의 의도된 준비 상태 구성 및 선택적으로, 준비 상태 구성의 허용가능한 변형들의 범위를 컴퓨터 시스템에 의해 제공되는 제스처 설정 환경에서 컴퓨터 시스템에 보여줌으로써, 사용자 구성가능하고 사용자 자체 정의가능하다.
일부 실시예들에서, 컨테이너(7206)는 (예컨대, 도 7d 및 도 7e에 도시된 바와 같이) 혼합 현실 환경에 디스플레이된다. 예를 들어, 컨테이너(7206)는 디바이스(7100)의 하나 이상의 후방 대면 카메라들에 의해 캡처된 물리적 환경의 뷰의 적어도 일부분과 함께 디바이스(7100)의 디스플레이에 의해 디스플레이된다. 일부 실시예들에서, 물리적 환경 내의 손(7200)은, 7200b에 예시된 바와 같이, 또한, 예컨대 손과 물리적 환경 사이의 실제 공간 관계가 혼합 현실 환경의 디스플레이된 뷰 내에 표현된 상태로, 디스플레이된 혼합 현실 환경에서 보인다. 일부 실시예들에서, 컨테이너(7206) 및 손(7200)은, 사용자로부터 원격으로 위치되고 원격 물리적 환경과 병치된 카메라의 라이브 피드를 통해 디스플레이되는 물리적 환경에 대해 디스플레이된다. 일부 실시예들에서, 컨테이너(7206)는 사용자를 둘러싸는 물리적 환경(예컨대, 7200b에 예시된 바와 같은 손(7200)을 포함함)이 그를 통해 보이는 디바이스의 투명 또는 반투명 디스플레이 상에 디스플레이된다.
일부 실시예들에서, 컨테이너(7206)는 가상 현실 환경에 디스플레이된다(예컨대, 가상 공간에서 호버링함). 일부 실시예들에서, 손(7200)은 가상 현실 설정에서 보인다(예컨대, 하나 이상의 카메라들에 의해 캡처된 손(7200)의 이미지가 가상 현실 환경에서 렌더링됨). 일부 실시예들에서, 손(7200)의 표현이 가상 현실 환경에서 보인다. 일부 실시예들에서, 손(7200)은 가상 현실 환경에서 보이지 않는다(예컨대, 그로부터 생략됨). 일부 실시예들에서, 디바이스(7100)는 가상 현실 환경에서 보이지 않는다. 일부 실시예들에서, 디바이스(7100)의 이미지 또는 디바이스(7100)의 표현이 가상 현실 환경에서 보인다.
일부 실시예들에서, 손(7200)이 준비 상태 구성에 있지 않은(예컨대, 임의의 미준비 상태 구성에 있거나 (예컨대, 손 자세의 변화 또는 준비 상태 구성에 진입하는 임계 시간 내에 유효한 입력 제스처를 제공하지 못함으로 인해) 준비 상태 구성으로 유지되는 것을 중지하는) 동안, 컴퓨터 시스템은 현재 사용자 인터페이스 콘텍스트 내의 동작들을 수행하기 위한 (손이 준비 상태 구성에 진입하였는지 여부에 대한 결정 이외의) 입력 제스처 인식을 수행하지 않으며, 그 결과, 손에 의해 수행되는 입력 제스처들(예컨대, 도 7a의 부분 (A)와 관련하여 설명된 바와 같은, 화살표(7110)에 의해 예시된 축을 따른 엄지의 이동을 포함하는 검지 위에서의 엄지의 탭; 도 7a의 부분 (B)와 관련하여 설명된 바와 같은, 화살표(7120)에 의해 표시된 축을 따른 검지를 가로지르는 엄지의 이동; 및/또는 도 7a의 부분 (C)와 관련하여 설명된 바와 같은, 화살표(7130)에 의해 표시된 축을 따른 검지 위에서의 엄지의 이동)에 응답하여 동작들이 수행되지 않는다. 다시 말해서, 컴퓨터 시스템은, 입력 제스처를 유효한 것으로 인식하고 현재 사용자 인터페이스 콘텍스트에서 대응하는 동작을 수행하기 위해, 사용자가 손을 준비 상태 구성에 둔(예컨대, 미준비 상태 구성으로부터 준비 상태 구성으로 변경함) 다음에 (예컨대, 손이 준비 상태 구성에 진입하는 임계 시간 내에) 현재 사용자 인터페이스 콘텍스트에 대한 유효한 입력 제스처를 제공할 것을 요구한다. 일부 실시예들에서, 컴퓨터 시스템은, 준비 상태 구성에 있는 손을 먼저 검출하지 않고서 유효한 입력 제스처들이 검출되는 경우, (예컨대, 현재 디스플레이된 사용자 인터페이스 객체들과 상호작용하는(예컨대, 그를 스크롤하거나 활성화하는)) 소정 유형들의 동작들을 수행하고, (예컨대, 새로운 사용자 인터페이스들을 호출하는, 시스템 레벨 동작들을 트리거하는(예컨대, 멀티태스킹 사용자 인터페이스 또는 애플리케이션 시작 사용자 인터페이스로 내비게이팅하는, 디바이스 기능 제어 패널을 활성화하는, 기타 등등 하는)) 다른 유형들의 동작들을 금지한다. 이들 보호수단들은, 사용자가 현재 사용자 인터페이스 콘텍스트 내의 동작 또는 소정 유형들의 동작들을 수행하기를 원하지 않을 때, 동작들의 우발적이고 의도하지 않은 트리거링을 방지하고 감소시키며 사용자의 자유로운 손 이동을 불필요하게 제한하는 것을 회피하는 데 도움이 된다. 게다가, 준비 상태 구성에 대해 작고 개별적인 모션 요건을 부과하는 것은 사용자에게 (예컨대, 사용자의 팔 또는 손을 과도하게 이동시키기 위한) 과도한 신체적 부담을 부과하지 않으며, 소셜 설정(social setting)에서 사용자 인터페이스와 상호작용할 때 사용자에게 어색함을 덜 야기하는 경향이 있다.
컨테이너(7206)의 사용자 인터페이스 객체들(7208 내지 7212)은, 예를 들어, (예컨대, 사용자 인터페이스 객체들(7172 내지 7194)과 관련하여 위에 설명된 바와 같이) 하나 이상의 애플리케이션 시작 아이콘들, 애플리케이션 내의 동작들을 수행하기 위한 하나 이상의 제어부들, 원격 디바이스들의 사용자들의 하나 이상의 표현들, 및/또는 미디어의 하나 이상의 표현들을 포함한다. 일부 실시예들에서, 사용자 인터페이스 객체가 선택되고, 손이 컴퓨터 시스템에 의해 준비 상태 구성으로 먼저 발견되지 않고서 입력 제스처가 검출될 때, 컴퓨터 시스템은 입력 제스처에 따라 선택된 사용자 인터페이스 객체에 대해 제1 동작을 수행하고(예컨대, 선택된 애플리케이션 아이콘에 대응하는 애플리케이션을 시작함, 선택된 제어부의 제어 값을 변경함, 사용자의 선택된 표현의 사용자와의 통신을 개시함, 그리고/또는 미디어 아이템의 선택된 표현에 대응하는 미디어 아이템의 재생을 개시함); 사용자 인터페이스 객체가 선택되고, 손이 컴퓨터 시스템에 의해 준비 상태 구성으로 먼저 발견된 상태에서 동일한 입력 제스처가 검출될 때, 컴퓨터 시스템은 제1 동작과 구별되는 제2 동작을 수행한다(예컨대, 제2 동작은 현재 선택된 사용자 인터페이스 객체에 특정되지 않는 시스템 동작임(예컨대, 시스템 동작은 손이 준비 상태 구성으로 발견되는 것에 응답하여 시스템 어포던스를 디스플레이하는 것 및 입력 제스처에 응답하여 시스템 메뉴를 시작하는 것을 포함함)). 일부 실시예들에서, 손을 준비 상태 구성에 두는 것은 현재 사용자 인터페이스 콘텍스트에서 어떠한 기능들과도 쌍을 이루지 않는 소정 입력 제스처들(예컨대, 엄지 플릭 제스처)을 인에이블하고, 손이 준비 상태 구성으로 발견된 후 새롭게 인에이블된 입력 제스처들의 검출은 컴퓨터 시스템으로 하여금 새롭게 인에이블된 입력 제스처들과 연관된 추가 기능들을 수행하게 한다. 일부 실시예들에서, 컴퓨터 시스템은, 선택적으로, 준비 상태 구성에 있는 손을 검출하는 것에 응답하여 사용자 인터페이스 표시(예컨대, 추가 옵션들, 시스템 어포던스 또는 시스템 메뉴)를 디스플레이하고, 사용자가 사용자 인터페이스 표시와 상호작용하도록 또는 새롭게 인에이블된 입력 제스처들을 사용하여 추가 기능들을 트리거하도록 허용한다(예컨대, 시스템 어포던스가 디스플레이될 때 검출되는 엄지 플릭 제스처는 시스템 메뉴가 디스플레이되게 하고, 시스템 메뉴가 디스플레이될 때 검출되는 엄지 플릭 제스처가 시스템 메뉴를 통한 내비게이션 또는 시스템 메뉴의 확장을 야기함).
도 7e에서, 손(7200)은 준비 상태 구성으로 도시되어 있다(예컨대, 엄지(7202)가 검지(7204) 상에 놓여 있음). 손(7200)이 준비 상태 구성으로 이동하였다는 결정에 따라, 컴퓨터 시스템은 (예컨대, 엄지의 끝에 대응하는 혼합 현실 환경의 영역 내에) 시스템 어포던스 아이콘(7214)을 디스플레이한다. 시스템 어포던스 아이콘(7214)은 하나 이상의 사용자 인터페이스 객체들(예컨대, 상이한 애플리케이션들에 대응하는 애플리케이션 아이콘들의 메뉴, 현재 열려 있는 애플리케이션들의 메뉴, 디바이스 제어 사용자 인터페이스 등)이 (예컨대, 엄지 플릭 제스처 또는 다른 미리정의된 입력 제스처들에 응답하여) 디스플레이되고/되거나 액세스될 수 있는 영역을 나타낸다. 일부 실시예들에서, 시스템 어포던스 아이콘(7214)이 디스플레이되는 동안, 컴퓨터 시스템은 (예컨대, 도 7f와 관련하여 아래에 설명되는 바와 같이) 손(7200)에 의해 수행되는 입력 제스처들에 응답하여 동작들을 수행한다.
일부 실시예들에서, 미준비 상태 구성으로부터 준비 상태 구성으로의 손(7200)의 이동은 도 7a 내지 도 7c와 관련하여 위에 설명된 바와 같이 센서 시스템(예컨대, 이미지 센서들, 또는 다른 센서들(예컨대, 모션 센서들, 터치 센서들, 진동 센서들 등))에 의해 캡처된 데이터를 분석함으로써 검출된다. 일부 실시예들에서, 센서 시스템은 하나 이상의 이미징 센서들(예컨대, 휴대용 디바이스 또는 헤드 장착형 시스템과 연관된 하나 이상의 카메라들), 하나 이상의 심도 센서들, 및/또는 하나 이상의 광 방출기들을 포함한다.
일부 실시예들에서, 시스템 어포던스 아이콘(7214)은 혼합 현실 환경에 디스플레이된다. 예를 들어, 시스템 어포던스 아이콘(7214)은 컴퓨터 시스템의 하나 이상의 카메라들(예컨대, 디바이스(7100)의 하나 이상의 후방 대면 카메라들, 또는 HMD의 전방 또는 하향 대면 카메라들)에 의해 캡처된 물리적 환경의 뷰의 적어도 일부분과 함께 디스플레이 생성 컴포넌트(예컨대, 디바이스(7100) 또는 HMD의 디스플레이)에 의해 디스플레이된다. 일부 실시예들에서, 시스템 어포던스 아이콘(7214)은, 물리적 환경이 그를 통해 보이는 디바이스(예컨대, 헤드업 디스플레이, 또는 패스 스루 부분을 갖는 HMD)의 투명 또는 반투명 디스플레이 상에 디스플레이된다. 일부 실시예들에서, 시스템 어포던스 아이콘(7214)은 가상 현실 환경에 디스플레이된다(예컨대, 가상 공간에서 호버링함).
일부 실시예들에서, 컴퓨터 시스템은, 손이 현재 사용자 인터페이스 콘텍스트에 대한 유효한 입력 제스처를 제공하지 않고서 그의 자세를 변경하고 더 이상 준비 상태 구성에 있지 않다는 것을 검출하는 것에 응답하여, 시스템 어포던스 아이콘(7214)을 디스플레이하는 것을 중지한다. 일부 실시예들에서, 컴퓨터 시스템은, 손이 임계 시간 초과 동안 유효한 입력 제스처를 제공하지 않고서 준비 상태 자세로 유지되었다는 것을 검출하는 것에 응답하여, 시스템 어포던스 아이콘(7214)을 디스플레이하는 것을 중지하고, 준비 상태 구성을 검출하기 위한 기준들이 더 이상 만족되지 않는다고 결정한다. 일부 실시예들에서, 시스템 어포던스 아이콘(7214)을 디스플레이하는 것을 중지한 후에, 사용자의 손 자세들의 변화가 준비 상태 구성을 검출하기 위한 기준들이 다시 충족되게 한다는 결정에 따라, 컴퓨터 시스템은 시스템 어포던스 아이콘을 (예컨대, 새로운 손 위치에서 엄지의 끝에) 재디스플레이한다.
일부 실시예들에서, 손의 하나 초과의 준비 상태 구성들이, 선택적으로, 컴퓨터 시스템에 의해 정의되고 인식되며, 손의 각각의 준비 상태 구성은 컴퓨터 시스템으로 하여금 상이한 종류의 어포던스를 디스플레이하게 하고, 입력 제스처들 및/또는 동작들의 상이한 세트가 현재 사용자 인터페이스 콘텍스트에서 수행될 수 있게 한다. 예를 들어, 제2 준비 상태 구성은, 선택적으로, 엄지가 검지 이외의 손가락들 상에 놓여 있는 상태로 모든 손가락들이 함께 주먹을 쥐는 것이다. 컴퓨터 시스템이 이러한 제2 준비 상태 구성을 검출할 때, 컴퓨터 시스템은 아이콘(7214)과는 상이한 시스템 어포던스 아이콘을 디스플레이하고, 후속 입력 제스처(예컨대, 검지를 가로지르는 엄지 스와이프)는 컴퓨터 시스템으로 하여금 시스템 셧다운 동작을 개시하게 하거나, 또는 전력 옵션들(예컨대, 셧다운, 슬립, 일시보류 등)의 메뉴를 디스플레이하게 한다.
일부 실시예들에서, 컴퓨터가 준비 상태 구성에 있는 손을 검출하는 것에 응답하여 디스플레이되는 시스템 어포던스 아이콘은, 복수의 현재 설치된 애플리케이션들을 포함하는 선택 사용자 인터페이스가 미리정의된 입력 제스처(예컨대, 엄지 플릭 입력, 엄지 푸시 입력, 또는 도 7a 내지 도 7c와 관련하여 설명된 바와 같은 다른 입력)의 검출에 응답하여 디스플레이될 것이라는 것을 나타내는 홈 어포던스이다. 일부 실시예들에서, 각각의 애플리케이션들을 시작하기 위한 다수의 애플리케이션 아이콘들을 포함하는 애플리케이션 도크가 컴퓨터가 준비 상태 구성에 있는 손을 검출하는 것에 응답하여 디스플레이되고, 손에 의한 후속 활성화 또는 선택 입력 제스처가 컴퓨터 시스템으로 하여금 대응하는 애플리케이션을 시작하게 한다.
도 7f 및 도 7g는 다양한 실시예들에 따른, 준비 상태 구성으로 발견된 손으로 검출된 입력 제스처들에 응답하여 수행되는 동작들의 다양한 예들을 제공한다. 도 7f 및 도 7g가 사용자의 시선에 따라 수행되는 상이한 동작들을 설명하지만, 일부 실시예들에서, 시선은 그들 다양한 동작들의 수행을 트리거하기 위한 준비 상태 제스처 및/또는 입력 제스처들의 검출에 필요한 컴포넌트가 아니라는 것을 이해해야 한다. 일부 실시예들에서, 사용자의 시선과 손의 구성의 조합들은 어떤 동작이 수행될 것인지를 결정하기 위해 컴퓨터 시스템에 의해 현재 사용자 인터페이스 콘텍스트와 함께 사용된다.
도 7f는 일부 실시예들에 따른, 준비 상태 구성으로 발견된 손으로 수행된 예시적인 입력 제스처들, 및 디스플레이된 3차원 환경(예컨대, 가상 현실 환경 또는 혼합 현실 환경)의 예시적인 응답들을 예시한다. 일부 실시예들에서, 컴퓨터 시스템(예컨대, 디바이스(7100) 또는 HMD)은, 손의 준비 상태 구성이 검출되었고, 예컨대 현재 사용자 인터페이스 콘텍스트에서 이미 이용가능한 다른 입력 제스처들(예컨대, 사용자 인터페이스 객체들을 스크롤하기 위한 엄지 스와이프 입력 등)에 더하여, 시스템 제스처(예컨대, 도크 또는 시스템 메뉴를 디스플레이하기 위한 엄지 플릭 제스처, 음성 기반 어시스턴트를 활성화하기 위한 엄지 탭 제스처)의 입력이 미리정의된 시스템 동작들을 트리거하도록 인에이블된다는 것을 나타내기 위해, 엄지의 끝에 시스템 어포던스(예컨대, 시스템 어포던스 아이콘(7214))를 디스플레이한다. 일부 실시예들에서, 시스템 어포던스는 제스처 입력들을 제공할 때 공간에서의 손 전체의 이동 및/또는 엄지의 이동에 따라 이동하여서, 시스템 어포던스의 위치가 손의 미리정의된 부분(예컨대, 손(7200)의 엄지의 끝)에 대해 고정된 상태로 유지되게 한다.
일부 실시예들에 따르면, 도 7f의 부분들 (A) 내지 (C)는 컴퓨터 시스템의 디스플레이 생성 컴포넌트(예컨대, 디바이스(7100)의 터치 스크린 디스플레이 또는 입체 프로젝터 또는 HMD의 디스플레이)에 의해 디스플레이된 3차원 환경(7300)(예컨대, 가상 현실 환경 또는 혼합 현실 환경)을 예시한다. 일부 실시예들에서, 디바이스(7100)는, 디스플레이, 터치 감응형 디스플레이 등을 포함하는 핸드헬드 디바이스(예컨대, 이동 전화, 태블릿, 또는 다른 모바일 전자 디바이스)이다. 일부 실시예들에서, 디바이스(7100)는, 헤드업 디스플레이, 헤드 장착형 디스플레이 등을 포함하는 웨어러블 헤드셋을 나타낸다.
일부 실시예들에서, 3차원 환경(7300)은 가상 객체들(예컨대, 사용자 인터페이스 객체들(7208, 7210, 7212)을 포함하는 가상 현실 환경이다. 일부 실시예들에서, 가상 현실 환경은 디바이스(7100)가 위치되는 물리적 환경에 대응하지 않는다. 일부 실시예들에서, 가상 현실 환경은 물리적 환경에 대응한다(예컨대, 가상 객체들 중 적어도 일부는, 디바이스(7100)의 하나 이상의 카메라들을 사용하여 결정되는 바와 같은 물리적 환경 내의 물리적 객체들의 위치들에 기초하여, 대응하는 물리적 환경 내의 물리적 객체들의 위치들에 대응하는 가상 현실 환경 내의 위치들에 디스플레이됨). 일부 실시예들에서, 3차원 환경(7300)은 혼합 현실 환경이다. 일부 실시예들에서, 디바이스(7100)는 하나 이상의 카메라들을 포함하고, 이는 디바이스(7100)의 하나 이상의 카메라들의 시야 내에 있는 주위 물리적 환경의 적어도 일부분의 라이브 뷰를 연속적으로 제공하도록 구성되며, 혼합 현실 환경은 디바이스(7100)의 하나 이상의 카메라들의 시야 내에 있는 주위 물리적 환경의 일부분에 대응한다. 일부 실시예들에서, 혼합 현실 환경은 디바이스(7100)의 하나 이상의 카메라들의 라이브 뷰를 적어도 부분적으로 포함한다. 일부 실시예들에서, 혼합 현실 환경은 (예컨대, 디바이스(7100)의 하나 이상의 카메라들을 사용하여 또는 디바이스의 하나 이상의 카메라들의 라이브 뷰를 사용하여 결정되는 바와 같은 물리적 환경 내의 물리적 객체들의 위치들에 기초하여, 물리적 환경 내의 물리적 객체들의 위치들에 대응하는 3차원 환경(7300) 내의 위치들에) 라이브 카메라 뷰 대신에 디스플레이되는(예컨대, 그 위에 중첩되거나, 그를 오버레이하거나, 또는 그를 대체함) 하나 이상의 가상 객체들을 포함한다. 일부 실시예들에서, 디바이스(7100)의 디스플레이는 적어도 부분적으로 투명한(예컨대, 25%, 20%, 15%, 10%, 또는 5% 미만과 같은 임계 불투명도 미만의 불투명도를 갖거나, 또는 패스 스루 부분을 가짐) 헤드업 디스플레이를 포함하여서, 사용자가 디스플레이의 적어도 부분적으로 투명한 영역을 통해 주위 물리적 환경의 적어도 일부분을 볼 수 있게 한다. 일부 실시예들에서, 3차원 환경(7300)은 디스플레이 상에 디스플레이되는 하나 이상의 가상 객체들(예컨대, 사용자 인터페이스 객체들(7208, 7210, 7212)을 포함하는 컨테이너(7206))을 포함한다. 일부 실시예들에서, 3차원 환경(7300)은 디스플레이의 투명 영역을 통해 보이는 주위 물리적 환경의 일부분 위에 중첩된 것으로 보이도록 디스플레이의 투명 영역 상에 디스플레이되는 하나 이상의 가상 객체들을 포함한다. 일부 실시예들에서, 하나 이상의 각각의 가상 객체들은 (예컨대, 디스플레이의 투명 영역을 통해 보이는 물리적 환경의 일부분을 모니터링하는 디바이스(7100)의 하나 이상의 카메라들을 사용하여 결정되는 바와 같은 물리적 환경 내의 물리적 객체들의 위치들에 기초하여) 물리적 환경 내의 물리적 객체들의 위치들에 대응하는 3차원 환경(7300) 내의 위치들에 디스플레이되어서, 각각의 가상 객체가 각각의 물리적 객체 대신에 디스플레이되게(예컨대, 그의 뷰를 가리고 대체하게) 한다.
일부 실시예들에서, 컴퓨터 시스템의 센서 시스템(예컨대, 디바이스(7100) 또는 HMD의 하나 이상의 카메라들)이 사용자의 손들과 같은 사용자의 하나 이상의 특징부들의 위치 및/또는 이동을 추적한다. 일부 실시예들에서, 사용자의 손(들)(예컨대, 손가락들)의 위치 및/또는 이동은 컴퓨터 시스템(예컨대, 디바이스(7100) 또는 HMD)에 대한 입력들로서의 역할을 한다. 일부 실시예들에서, 사용자의 손(들)이 컴퓨터 시스템(예컨대, 디바이스(7100) 또는 HMD)의 하나 이상의 카메라들의 시야 내에 있고, 사용자의 손(들)의 위치 및/또는 이동이 컴퓨터 시스템(예컨대, 디바이스(7100) 또는 HMD의 제어 유닛)에 대한 입력들로서 컴퓨터 시스템(예컨대, 디바이스(7100) 또는 HMD)의 센서 시스템에 의해 추적되지만, 사용자의 손(들)은 3차원 환경(7300)에 표시되지 않는다(예컨대, 3차원 환경(7300)은 하나 이상의 카메라들로부터의 라이브 뷰를 포함하지 않거나, 손은 하나 이상의 카메라들의 라이브 뷰로부터 편집되거나, 또는 사용자의 손은 3차원 환경(7300)에서 라이브 뷰 내에 디스플레이되는 시야의 일부분의 외측의 하나 이상의 카메라들의 시야 내에 있음). 일부 실시예들에서, 도 7f에 도시된 예에서와 같이, 손(7200)(예컨대, 디바이스(7100)의 하나 이상의 카메라들의 시야 내에 있는, 사용자의 손의 표현, 또는 손의 일부분의 표현)은 3차원 환경(7100)에서 보인다(예컨대, 렌더링된 표현으로서 디스플레이되거나, 라이브 카메라 뷰의 일부로서 디스플레이되거나, 또는 디스플레이의 패스 스루 부분을 통해 보임). 도 7f에서, 손(7200)은 제스처 입력들(예컨대, 손 제스처 입력들)을 제공하기 위한 준비 상태 구성(예컨대, 엄지가 검지의 중간 상에 놓여 있음)에 있는 것으로 검출된다. 일부 실시예들에서, 컴퓨터 시스템(예컨대, 디바이스(7100) 또는 HMD)은 하나 이상의 카메라들의 라이브 뷰에 대한 이미지 분석을 수행함으로써 손(7200)이 준비 상태 구성에 있다고 결정한다. 손 및 입력 제스처들의 준비 상태 구성에 관한 더 많은 상세사항들은 적어도 도 7a 내지 도 7e 및 수반되는 설명들에서 제공되며, 간결함을 위해 여기에서 반복되지 않는다.
일부 실시예들에 따르면, 도 7f의 부분 (A)는 (예컨대, 도 7f의 A(1)으로부터 A(2)로의 손 구성의 전이에 의해 도시된 바와 같이) 화살표(7120)에 의해 예시된 축을 따른, 손(7200)의 검지의 일부분을 가로지르는(예컨대, 검지의 손바닥 측부로부터 후방 측부로 중위 지골을 가로지르는) 손(7200)의 엄지의 이동을 포함하는 제1 유형의 입력 제스처(예컨대, 엄지 플릭 제스처, 또는 엄지 푸시 제스처)를 예시한다. 위에서 언급된 바와 같이, 일부 실시예들에서, 도 7f에 도시된 것들과 같은 제스처들을 수행하는 동안의 (예컨대, 손 전체의 이동 및 개별 손가락들의 상대 이동을 포함하는) 손(7200)의 이동, 및 제스처들 동안의 (예컨대, 손 전체의 위치들 및 손가락들의 상대 위치들을 포함하는) 손(7200)의 위치들은 디바이스(7100)의 하나 이상의 카메라들에 의해 추적된다. 일부 실시예들에서, 디바이스(7100)는, 하나 이상의 카메라들의 라이브 뷰에 대한 이미지 분석을 수행함으로써, 손(7200)에 의해 수행되는 제스처를 검출한다. 일부 실시예들에서, 엄지 플릭 제스처가 손의 준비 상태 구성으로부터 시작하여 손에 의해 제공되었다는 결정에 따라, 컴퓨터 시스템은 엄지 플릭 제스처에 대응하는 제1 동작(예컨대, 복수의 애플리케이션 시작 아이콘들을 포함하는 메뉴(7170)를 디스플레이하는 것과 같은 시스템 동작, 또는 손이 먼저 준비 상태 구성으로 발견되지 않았다면 인에이블되지 않았을 현재 사용자 인터페이스 콘텍스트에 대응하는 동작)을 수행한다. 일부 실시예들에서, 추가 제스처들이 메뉴와 상호작용하기 위해 손(7200)에 의해 제공된다. 예를 들어, 메뉴(7170)의 디스플레이에 이은 후속 엄지 플릭 제스처는 메뉴(7170)가 3차원 환경 내로 푸싱되게 하고, 가상 공간에서 향상된 상태로(예컨대, 메뉴 아이템들의 더 크고 애니메이션화된 표현들로) 디스플레이되게 한다. 일부 실시예들에서, 후속 엄지 스와이프 제스처가 선택 표시자를 메뉴의 현재 선택된 행 내에서 수평으로 스크롤하고, 후속 엄지 푸시 또는 엄지 풀 제스처가 선택 표시자를 메뉴의 상이한 행들을 따라 상하로 스크롤한다. 일부 실시예들에서, 후속 엄지 탭 제스처는 현재 선택된 메뉴 아이템(예컨대, 애플리케이션 아이콘)의 활성화가 3차원 환경에서 시작되게 한다.
일부 실시예들에 따르면, 도 7f의 부분 (B)는 (예컨대, 도 7f의 B(1)으로부터 B(2)로의 손 구성의 전이에 의해 도시된 바와 같이) 화살표(7130)에 의해 예시된 축을 따른, 손(7200)의 검지의 길이를 따른 손(7200)의 엄지의 이동을 포함하는 제2 유형의 제스처(예컨대, 엄지 스와이프 제스처)를 예시한다. 일부 실시예들에서, 제스처는 손이 먼저 준비 상태 구성으로 발견되었는지 여부에 상관없이 현재 사용자 인터페이스 콘텍스트 내의 가상 객체들(예컨대, 컨테이너 객체(7206) 내의 가상 객체들(7208, 7210, 7212))과의 상호작용을 위해 인에이블된다. 일부 실시예들에서, 컨테이너 객체(7206)에 대한 상이한 유형의 상호작용들이 엄지 스와이프 제스처가 준비 상태 구성으로부터 시작되었는지 여부에 따라 인에이블된다. 일부 실시예들에서, 엄지 스와이프 제스처가 손의 준비 상태 구성으로부터 시작하여 손에 의해 제공되었다는 결정에 따라, 컴퓨터 시스템은 엄지 스와이프 제스처에 대응하는 제2 동작(예컨대, 초기에 사용자에게 보이지 않았던 컨테이너 객체(7206) 내의 하나 이상의 가상 객체들을 드러내기 위해 컨테이너 객체(7206)의 뷰를 스크롤하는 것, 또는 손이 먼저 준비 상태 구성으로 발견되지 않았다면 인에이블되지 않았을 현재 사용자 인터페이스 콘텍스트에 대응하는 다른 동작)을 수행한다. 일부 실시예들에서, 추가 제스처들이, 컨테이너 객체와 상호작용하거나 시스템 동작을 수행하기 위해 손(7200)에 의해 제공된다. 예를 들어, 후속 엄지 플릭 제스처는 (예컨대, 도 7f의 부분 (A)에 도시된 바와 같이) 메뉴(7170)가 디스플레이되게 한다. 일부 실시예들에서, 상이한 방향으로의 후속 엄지 스와이프 제스처는 컨테이너 객체(7206)의 뷰를 반대 방향으로 스크롤한다. 일부 실시예들에서, 후속 엄지 탭 제스처는 컨테이너(7206) 내의 현재 선택된 가상 객체의 활성화를 야기한다. 일부 실시예들에서, 엄지 스와이프 제스처가 준비 상태 구성으로부터 시작되지 않으면, 엄지 스와이프 제스처에 응답하여, 선택 표시자가 손(7200)의 엄지의 이동 방향으로 컨테이너(7206) 내의 가상 객체들을 통해 시프트된다.
일부 실시예들에 따르면, 도 7f의 부분 (C)는 (예컨대, 도 7f의 C(1)으로부터 C(2)로의 손 구성의 전이에 의해 도시된 바와 같이) 제3 유형의 제스처 입력(예컨대, 엄지 탭 제스처)(예컨대, (예컨대, 엄지가 상승 위치로부터, 화살표(7110)에 의해 예시된 축을 따라 하향으로 이동함으로써) 손(7200)의 검지의 미리정의된 부분(예컨대, 중위 지골) 상에서의 손(7200)의 엄지의 탭)을 예시한다. 일부 실시예들에서, 검지로부터의 엄지의 리프트오프가 엄지 탭 제스처의 완료를 위해 요구된다. 일부 실시예들에서, 제스처는 손이 먼저 준비 상태 구성으로 발견되었는지 여부에 상관없이 현재 사용자 인터페이스 콘텍스트 내의 가상 객체들(예컨대, 컨테이너 객체(7206) 내의 가상 객체들(7208, 7210, 7212))과의 상호작용을 위해 인에이블된다. 일부 실시예들에서, 컨테이너 객체(7206)에 대한 상이한 유형의 상호작용들이 엄지 탭 제스처가 준비 상태 구성으로부터 시작되었는지 여부에 따라 인에이블된다. 일부 실시예들에서, 엄지 탭 제스처가 손의 준비 상태 구성으로부터 시작하여 손에 의해 제공되었다는 결정에 따라(예컨대, 제스처는 검지 상에서의 엄지의 탭 전에 검지로부터 멀어지는 엄지의 상향 이동을 포함함), 컴퓨터 시스템은 엄지 탭 제스처에 대응하는 제3 동작(예컨대, 음성 기반 어시스턴트(7302) 또는 통신 채널(예컨대, 음성 통신 애플리케이션)의 활성화), 또는 손이 먼저 준비 상태 구성으로 발견되지 않았다면 인에이블되지 않았을 현재 사용자 인터페이스 콘텍스트에 대응하는 다른 동작)을 수행한다. 일부 실시예들에서, 추가 제스처들이 음성 기반 어시스턴트 또는 통신 채널과 상호작용하기 위해 손(7200)에 의해 제공된다. 예를 들어, 후속 엄지 플릭 제스처는 음성 기반 어시스턴트 또는 음성 통신 사용자 인터페이스가 사용자의 손 옆의 위치로부터 3차원 환경 내의 공간 내의 더 먼 위치로 푸싱되게 한다. 일부 실시예들에서, 후속 엄지 스와이프 제스처는 음성 기반 어시스턴트의 상이한 미리설정된 기능들을 통해 스크롤하거나, 음성 통신 채널의 잠재적 수신자들의 목록을 통해 스크롤한다. 일부 실시예들에서, 후속 엄지 탭 제스처는 음성 기반 어시스턴트 또는 음성 통신 채널의 해제를 야기한다. 일부 실시예들에서, 엄지 탭 제스처가 준비 상태 구성으로부터 시작되지 않으면, 도 7e의 부분 (C)에서의 엄지 탭 제스처에 응답하여, 현재 사용자 인터페이스 콘텍스트에서 이용가능한 동작이 활성화될 것이다(예컨대, 현재 선택된 가상 객체가 활성화될 것임).
도 7f에 도시된 예들은 단지 예시적인 것이다. 손의 준비 상태 구성으로부터 시작하는 입력 제스처들의 검출에 응답하여 추가 및/또는 상이한 동작들을 제공하는 것은, 사용자가 제어부들로 사용자 인터페이스를 혼란스럽게 하지 않고서 추가 기능들을 수행하도록 그리고 그들 기능들을 수행하기 위한 사용자 입력들의 수를 감소시키도록 허용하여, 그에 따라 사용자 인터페이스를 더 효율적으로 만들고, 사용자와 디바이스 사이의 상호작용들 동안 시간을 절약한다.
도 7a 내지 도 7f에 예시된 사용자 인터페이스 상호작용들은 사용자의 시선의 위치에 상관없이 설명된다. 일부 실시예들에서, 상호작용들은 3차원 환경의 일부분들 내에서의 사용자의 시선의 위치 또는 사용자의 시선의 정확한 위치에 대해 무관하다. 그러나, 일부 실시예들에서, 시선은 시스템의 응답 거동을 수정하기 위해 이용되고, 동작들 및 사용자 인터페이스 피드백은 사용자 입력들이 검출될 때 사용자의 시선의 상이한 위치들에 따라 변경된다. 도 7g는 일부 실시예들에 따른, 준비 상태에서 손으로 수행된 예시적인 제스처들, 및 사용자의 시선에 의존하는 디스플레이된 3차원 환경의 예시적인 응답들을 예시한다. 예를 들어, 도면들의 좌측 열(예컨대, 부분들 A-0, A-1, A-2 및 A-3)은, (예컨대, 도 7g의 부분 A-0에 도시된 바와 같이) 사용자의 시선이 사용자의 손에 초점이 맞춰져 있는 동안 하나 이상의 제스처 입력들(예컨대, 엄지 플릭 제스처, 엄지 스와이프 제스처, 엄지 탭 제스처, 또는 상기 중 둘 이상의 제스처들의 시퀀스)이 준비 상태 구성(예컨대, 엄지가 검지 상에 놓여 있음)(예컨대, 도 7e 및 도 7f와 관련하여 설명된 준비 상태 구성)으로부터 시작한 손에 의해 제공되는 예시적인 시나리오들을 예시한다. 도면들의 우측 열(예컨대, 부분들 B-0, B-1, B-2 및 B-3)은, (예컨대, 도 7g의 부분 A-0에 도시된 바와 같이) 사용자의 시선이 준비 상태 구성에 있는 사용자의 손 이외의 사용자 인터페이스 환경(예컨대, 3차원 환경 내의 사용자 인터페이스 객체 또는 물리적 객체)에 초점이 맞춰져 있는 동안 하나 이상의 제스처 입력들(예컨대, 엄지 플릭 제스처, 엄지 스와이프 제스처, 엄지 탭 제스처, 또는 상기 중 둘 이상의 제스처들의 시퀀스)이, 선택적으로 역시 준비 상태 구성(예컨대, 엄지가 검지 상에 놓여 있음)(예컨대, 도 7e 및 도 7f와 관련하여 설명된 준비 상태 구성)으로부터 시작한 손에 의해 제공되는 예시적인 시나리오들을 예시한다. 일부 실시예들에서, 도 7g와 관련하여 설명된 사용자 인터페이스 응답들 및 상호작용들은 다른 물리적 객체 또는 그의 미리정의된 부분(예컨대, 입력 제스처들을 제공하는 사용자의 손과는 대조적으로, 물리적 미디어 플레이어 디바이스의 하우징의 상부 또는 전방 표면, 방 내의 벽 상의 물리적 윈도우, 물리적 제어기 디바이스 등)에 대해 구현되어서, 사용자의 시선이 상기 다른 물리적 객체 또는 그의 미리정의된 부분에 초점이 맞춰져 있는 동안 준비 상태 구성으로부터 시작하는 손에 의해 제공되는 입력 제스처들에 대해 특별한 상호작용들이 인에이블되게 한다. 도 7g의 동일한 행 내의 좌측 열 도면들 및 우측 열 도면들(예컨대, A-1 및 B-1, A-2 및 B-2, A-3 및 B-3)은 일부 실시예들에 따른, 사용자의 시선이 사용자의 손(또는 제어하는 또는 제어되는 물리적 객체로서 컴퓨터 시스템에 의해 정의되는 다른 물리적 객체)에 초점이 맞춰져 있는지 여부에 따라 동일한 사용자 인터페이스 콘텍스트에서 제공되는 동일한 입력 제스처에 대한 상이한 사용자 인터페이스 응답들을 예시한다. 도 7g와 관련하여 설명된 입력 제스처들은, 도 10의 프로세스들을 포함하여, 아래에 설명되는 프로세스들을 예시하기 위해 사용된다.
일부 실시예들에서, 도 7g에 도시된 바와 같이, 시스템 어포던스(예컨대, 어포던스(7214))가, 선택적으로, 준비 상태 구성에 있는 손에 대응하는 3차원 내의 미리정의된 위치에 디스플레이된다. 일부 실시예들에서, 시스템 어포던스는, 손이 정상 상태 구성에 있는 것으로 결정될 때마다, 미리정의된 위치(예컨대, 정적 위치 또는 동적으로 결정된 위치)에 항상 디스플레이된다. 일부 실시예들에서, 시스템 어포던스의 동적으로 결정된 위치는, 예컨대 사용자의 손이 준비 상태 구성으로 유지되는 동안 전체적으로 이동함에 따라, 준비 상태 구성에 있는 사용자의 손에 대해 고정된다. 일부 실시예들에서, 시스템 어포던스는 사용자의 손이 준비 상태 구성으로 유지되는 동안 사용자의 시선이 미리정의된 물리적 객체(예컨대, 준비 상태 구성에 있는 사용자의 손, 또는 환경 내의 다른 미리정의된 물리적 객체)로 지향되는 것에 응답하여 (예컨대, 정적 위치에 또는 엄지의 끝 근처에) 디스플레이되고, 사용자의 손이 준비 상태 구성을 빠져나가고/빠져나가거나 사용자의 시선이 미리정의된 물리적 객체로부터 멀리 이동하는 것에 응답하여 디스플레이되는 것이 중지된다. 일부 실시예들에서, 컴퓨터 시스템은 사용자의 손이 준비 상태 구성으로 유지되는 동안 사용자의 시선이 미리정의된 물리적 객체(예컨대, 준비 상태 구성에 있는 사용자의 손, 또는 환경 내의 다른 미리정의된 물리적 객체)로 지향되는 것에 응답하여 제1 외관(예컨대, 확대되고 눈에 띄는 외관)으로 시스템 어포던스를 디스플레이하고, 사용자의 손이 준비 상태 구성을 빠져나가고/빠져나가거나 사용자의 시선이 미리정의된 물리적 객체로부터 멀리 이동하는 것에 응답하여 제2 외관(예컨대, 작고 눈에 띄지 않는 외관)으로 시스템 어포던스를 디스플레이한다. 일부 실시예들에서, 시스템 어포던스는 (예컨대, 사용자의 시선이 사용자의 손 상에 있는지 여부에 상관없이) 사용자가 입력을 제공할 준비가 되어 있다는 표시들(예컨대, 사용자의 손이 준비 상태 구성으로 유지되는 동안 사용자의 손이 신체에 대해 이전 레벨로부터 상승됨)에 응답하여서만 (예컨대, 정적 위치에 또는 엄지의 끝 근처에) 디스플레이되고, 사용자의 손이 상승된 상태로부터 하강되는 것에 응답하여 디스플레이되는 것이 중지된다. 일부 실시예들에서, 시스템 어포던스는 사용자가 입력을 제공할 준비가 되어 있다는 표시들(예컨대, 사용자의 손이 준비 상태 구성으로 유지되고/되거나 사용자의 시선이 준비 상태 구성에 있는 사용자의 손 또는 미리정의된 물리적 객체에 초점이 맞춰져 있는 동안 사용자의 손이 신체에 대해 이전 레벨로부터 상승됨)에 응답하여 (예컨대, 단순 표시자로부터 객체들의 메뉴로) 시스템 어포던스의 외관을 변경하고, 사용자가 입력을 제공할 준비가 되어 있다는 표시들의 중지(예컨대, 사용자의 손이 상승된 상태로부터 하강되고/되거나 사용자의 시선이 사용자의 손 또는 미리정의된 물리적 객체로부터 멀리 이동함)에 응답하여 (예컨대, 다시 단순 표시자로) 시스템 어포던스의 외관을 복원한다. 일부 실시예들에서, 사용자가 입력을 제공할 준비가 되어 있다는 표시들은, 사용자의 손가락이 물리적 제어기 또는 사용자의 손을 터치하고 있는 것(예컨대, 검지가 제어기 상에 놓여 있음, 또는 엄지가 검지 상에 놓여 있음), 사용자의 손이 사용자의 신체에 대해 더 낮은 레벨로부터 더 높은 레벨로 상승되는 것(예컨대, 준비 상태 구성에 있는 손의 상향 손목 회전, 또는 손이 준비 상태 구성에 있는 상태에서의 팔꿈치의 굽힘 이동이 있음), 손 구성을 준비 상태 구성으로 변경하는 것 등 중 하나 이상을 포함한다. 일부 실시예들에서, 이들 실시예들에서 사용자의 시선의 위치와 비교되는 미리정의된 물리적 객체의 물리적 위치는 3차원 환경에 대해 정적이다(예컨대, "세계에 고정되는" 것으로도 지칭됨). 예를 들어, 시스템 어포던스는 3차원 환경 내의 벽 상에 디스플레이된다. 일부 실시예들에서, 이들 실시예들에서 사용자의 시선의 위치와 비교되는 미리정의된 물리적 객체의 물리적 위치는 디스플레이(예컨대, 디스플레이 생성 컴포넌트)에 대해 정적이다(예컨대, "사용자에게 고정되는" 것으로도 지칭됨). 예를 들어, 시스템 어포던스는 디스플레이 또는 사용자의 시야의 저부에 디스플레이된다. 일부 실시예들에서, 이들 실시예들에서 사용자의 시선의 위치와 비교되는 미리정의된 물리적 객체의 물리적 위치는 사용자의 이동 부분(예컨대, 사용자의 손) 또는 물리적 환경의 이동 부분(예컨대, 고속도로 상의 이동 차량)에 대해 정적이다.
일부 실시예들에 따르면, 도 7g의 부분 A-0은, 사용자(7320)가 3차원 환경 내의 미리정의된 물리적 객체(예컨대, 준비 상태 구성에 있는 그/그녀의 손)를 향해 그/그녀의 시선을 지향시키는 것을 예시한다(예컨대, 사용자의 손(7200) 또는 그의 표현이 디바이스(7100)의 하나 이상의 카메라들의 시야 내에서, 또는 HMD 또는 헤드업 디스플레이의 패스 스루 또는 투명 부분을 통해 보임). 일부 실시예들에서, 디바이스(7100)는, 사용자의 시선의 방향 및/또는 객체를 결정하기 위해, 사용자의 눈의 이동을 추적하기 위해(또는 사용자의 눈들 둘 모두의 이동을 추적하기 위해) 사용자를 향하는 하나 이상의 카메라들(예컨대, 전방 대면 카메라들)을 사용한다. 예시적인 시선 추적 기법들의 더 많은 상세사항들은, 일부 실시예들에 따르면, 도 1 내지 도 6과 관련하여, 특히 도 5 및 도 6과 관련하여 제공된다. 도 7g의 부분 A-0에서, 손(7200)이 준비 상태 구성에 있는 동안 (예컨대, 사용자의 안구(7512)를 사용자의 손(7200) 또는 사용자의 손의 표현(7200')(예컨대, 실제 손 또는 디스플레이 생성 컴포넌트를 통해 제시된 바와 같은 손의 표현)과 연결하는 점선에 의해 표시된 바와 같이) 사용자의 시선이 손(7200)을 향해 지향되기 때문에, 시스템 사용자 인터페이스 동작들(예컨대, 사용자 인터페이스의 다른 영역들 또는 요소들과 연관된 또는 디바이스(7100) 상에서 실행되는 개별 소프트웨어 애플리케이션들과 연관된 사용자 인터페이스 동작들보다는, 시스템 어포던스(7214) 또는 시스템 어포던스와 연관된 시스템 메뉴(예컨대, 메뉴(7170))와 연관된 사용자 인터페이스 동작들)은 손(7200)을 사용하여 수행되는 제스처들에 응답하여 수행된다. 도 7g의 부분 B-0은, 사용자의 손이 준비 상태 구성에 있는 동안 사용자가 3차원 환경 내의 미리정의된 물리적 객체(예컨대, 준비 상태 구성에 있는 그/그녀의 손 또는 다른 미리정의된 물리적 객체)(예컨대, 디바이스(7100)의 하나 이상의 카메라들의 시야 내에서 또는 HMD 또는 헤드업 디스플레이의 패스 스루 또는 투명 부분을 통해 보이는 사용자의 손(7200) 또는 상기 다른 미리정의된 물리적 객체 또는 그의 표현)로부터 멀리 그/그녀의 시선을 지향시키고 있는 것을 예시한다. 일부 실시예들에서, 컴퓨터 시스템은, 손의 입력 제스처들이 입력 제스처들에 대응하는 시스템 응답들을 제공하기 위해 프로세싱되는 동안 사용자의 시선이 미리정의된 물리적 객체(예컨대, 사용자의 손 또는 다른 미리정의된 물리적 객체) 상에 유지될 것을 요구한다. 일부 실시예들에서, 컴퓨터 시스템은, 입력 제스처들에 대응하는 시스템 응답들을 제공하기 위해 사용자의 시선이 임계 시간 초과 동안 그리고 미리설정된 양의 안정성으로 미리정의된 물리적 객체 상에 유지될(예컨대, 임계 시간 동안 실질적으로 정지된 상태로 또는 임계량 미만의 이동으로 유지됨) 것을 요구하는데, 예컨대, 선택적으로, 시선은 시간 및 안정성 요건들이 충족된 후에 그리고 입력 제스처들이 완전히 완료되기 전에 미리정의된 입력 제스처들로부터 멀리 이동할 수 있다.
일례에서, 도 7g의 부분 A-1은, 손의 준비 상태 구성으로부터 시작하고 화살표(7120)에 의해 예시된 축을 따른, 손(7200)의 검지를 가로지르는 엄지의 전방 이동을 포함하는 엄지 플릭 제스처를 예시한다. 도 7g의 부분 A-1에서 준비 상태 구성으로부터 시작한 엄지 플릭 제스처에 응답하여, 그리고 사용자의 시선이 미리정의된 물리적 객체(예컨대, 실제 세계에서 또는 컴퓨터 시스템의 디스플레이 생성 컴포넌트를 통해 볼 수 있는 바와 같은 손(7200))를 향해 지향되고 있다는 결정에 따라, 컴퓨터 시스템은 3차원 환경에 (예컨대, 사용자의 엄지의 끝에 있는 시스템 어포던스(7214)를 대체하는) 시스템 메뉴(7170)(예컨대, 애플리케이션 아이콘들의 메뉴)를 디스플레이한다.
다른 예에서, 도 7g의 부분 A-2는, 준비 상태 구성으로부터 시작하였고 화살표(7130)에 의해 예시된 축을 따른, 손(7200)의 검지의 길이를 따른 손(7200)의 엄지의 이동을 포함하는 엄지 스와이프 제스처를 예시한다. 이러한 예에서, 도 7g의 부분 A-2에서의 손 제스처는 컴퓨터 시스템이 시스템 메뉴(예컨대, 메뉴(7170))를 디스플레이하고 있는 동안 수행된다(예컨대, 시스템 메뉴(7170)는 도 7g의 부분 A-1을 참조하여 본 명세서에 설명된 엄지 플릭 제스처에 응답하여 디스플레이되었음). 준비 상태 구성으로부터 시작한 도 7g의 부분 A-2에서의 엄지 스와이프 제스처에 응답하여, 그리고 사용자의 시선이 미리정의된 물리적 객체(예컨대, 손(7200))를 향해 지향된다는 결정에 따라(예컨대, 시선은 미리정의된 위치, 지속시간, 및 안정성 요건들을 충족시킴), 컴퓨터 시스템은 시스템 메뉴(예컨대, 메뉴(7170)) 상의 현재 선택 표시자(7198)를 (예컨대, 메뉴(7170) 상의 인접한 사용자 인터페이스 객체로) 손(7200)의 엄지의 이동 방향으로 이동시킨다. 일부 실시예들에서, 엄지 스와이프 제스처는, 준비 상태 구성에 있는 손으로부터 시작하였고 시스템 사용자 인터페이스 요소들(예컨대, 시스템 메뉴, 또는 시스템 제어 객체들 등)과의 연속적인 일련의 사용자 상호작용들을 나타내는 둘 이상의 입력 제스처들의 시퀀스 중 하나이다. 이와 같이, 일부 실시예들에서, 시선이 미리정의된 물리적 객체(예컨대, 사용자의 손) 상에 유지되는 요건은, 선택적으로, 제1 입력 제스처(예컨대, 도 7g의 부분 A-1에서의 엄지 플릭 제스처)의 시작에 대해서만 적용되고, 사용자의 시선이 후속 입력 제스처들 동안 시스템 사용자 인터페이스 요소들로 지향되는 한, 후속 입력 제스처들에 부과되지 않는다. 예를 들어, 사용자의 시선이 사용자의 손 상에 있다는 결정 또는 사용자의 시선이 사용자의 손에 대해 고정된 위치(예컨대, 엄지의 끝)에 배치된 시스템 메뉴 상에 있다는 결정에 따라, 컴퓨터 시스템은 엄지 스와이프 제스처에 응답하여 (예컨대, 시스템 메뉴 내에서 내비게이팅하는) 시스템 동작을 수행한다.
또 다른 예에서, 도 7g의 부분 A-3은, 손의 준비 상태 구성으로부터 시작하고 (예컨대, 엄지가 검지로부터 상승 위치로 위로 이동한 다음에 상승 위치로부터, 화살표(7110)에 의해 예시된 축을 따라 하향으로, 엄지가 다시 검지와 접촉하는 손 위치로 이동함으로써) 손(7200)의 검지 상에서 탭핑하는 손(7200)의 엄지의 이동을 포함하는 엄지 탭 제스처를 예시한다. 이러한 예에서, 도 7g의 부분 A-3에서의 엄지 탭 제스처는 (예컨대, 도 7g의 부분 A-2를 참조하여 본 명세서에 설명된 엄지 스와이프 제스처에 응답하여) 현재 선택 표시자가 각각의 사용자 인터페이스 객체 상에 디스플레이된 상태로 컴퓨터 시스템이 시스템 메뉴(예컨대, 메뉴(7170))를 디스플레이하고 있는 동안 수행된다. 도 7g의 부분 A-3에서의 엄지 탭 제스처에 응답하여, 그리고 사용자의 시선이 미리정의된 물리적 객체(예컨대, 손(7200))를 향해 지향된다는 결정에 따라, 현재 선택된 사용자 인터페이스 객체(7190)가 활성화되고, 사용자 인터페이스 객체(7190)에 대응하는 동작이 수행된다(예컨대, 메뉴(7170)가 디스플레이되는 것이 중지되고/되거나, 사용자 인터페이스 객체(7190)와 연관된 사용자 인터페이스 객체(7306)(예컨대, 프리뷰 또는 제어 패널 등)가 디스플레이되고/되거나, 사용자 인터페이스 객체(7190)에 대응하는 애플리케이션이 시작됨). 일부 실시예들에서, 사용자 인터페이스 객체(7306)는 손(7200)의 위치에 대응하는 3차원 환경 내의 위치에 디스플레이된다. 일부 실시예들에서, 엄지 탭 제스처는, 준비 상태 구성에 있는 손으로부터 시작하였고 시스템 사용자 인터페이스 요소들(예컨대, 시스템 메뉴, 또는 시스템 제어 객체들 등)과의 연속적인 일련의 사용자 상호작용들을 나타내는 둘 이상의 입력 제스처들의 시퀀스 중 하나이다. 이와 같이, 일부 실시예들에서, 시선이 미리정의된 물리적 객체(예컨대, 사용자의 손) 상에 유지되는 요건은, 선택적으로, 제1 입력 제스처(예컨대, 도 7g의 부분 A-1에서의 엄지 플릭 제스처)의 시작에 대해서만 적용되고, 사용자의 시선이 후속 입력 제스처들(예컨대, 도 7g의 부분 A-2에서의 엄지 스와이프 제스처 및 부분 A-3에서의 엄지 탭 제스처) 동안 시스템 사용자 인터페이스 요소들로 지향되는 한, 후속 입력 제스처들에 부과되지 않는다. 예를 들어, 사용자의 시선이 사용자의 손 상에 있다는 결정 또는 사용자의 시선이 사용자의 손에 대해 고정된 위치(예컨대, 엄지의 끝)에 배치된 시스템 메뉴 상에 있다는 결정에 따라, 컴퓨터 시스템은 엄지 탭 제스처에 응답하여 (예컨대, 시스템 메뉴 내의 현재 선택된 사용자 인터페이스 객체를 활성화하는) 시스템 동작을 수행한다.
도 7g의 부분 A-0과는 대조적으로, 도 7g의 부분 B-0은, 사용자가 3차원 환경 내의 미리정의된 물리적 객체(예컨대, 준비 상태 구성에 있는 그/그녀의 손)로부터 멀리 그/그녀의 시선을 지향시키는 것을 예시한다(예컨대, 사용자의 손(7200) 또는 그의 표현이 디바이스(7100)의 하나 이상의 카메라들의 시야 내에 있지만, 사용자의 시선은 (예컨대, 직접적으로도, HMD 또는 헤드업 디스플레이의 패스 스루 또는 투명 부분을 통해서도, 카메라 뷰를 통해서도) 손(7100) 상에 있지 않음). 대신에, 사용자의 시선은 (예컨대, 도 7d 및 도 7e의 컨테이너(7206)를 참조하여 본 명세서에 설명된 바와 같은) 사용자 인터페이스 객체들의 컨테이너(7206)(예컨대, 메뉴 행) 또는 일반적으로, 디스플레이된 사용자 인터페이스를 향해 지향된다(예컨대, 사용자의 시선은 3차원 환경 내의 특정 위치 또는 객체에 대한 안정성 및 지속시간 요건들을 충족시키지 않음). 사용자의 시선이 미리정의된 물리적 객체(예컨대, 손(7200))로부터 멀리 지향된다는 결정에 따라, 컴퓨터 시스템은 손(7200)을 사용하여 수행되는 엄지 플릭 제스처에 응답하여 시스템 사용자 인터페이스 동작들(예컨대, (예컨대, 도 7g의 부분 A-1에 예시된 바와 같이) 시스템 어포던스(7214) 또는 시스템 어포던스와 연관된 시스템 메뉴(예컨대, 애플리케이션 아이콘들의 메뉴)를 디스플레이하는 기능과 연관된 사용자 인터페이스 동작들)을 수행하는 것을 보류한다. 선택적으로, 시스템 사용자 인터페이스 동작들 대신에, 사용자 인터페이스의 다른 영역들 또는 요소들과 연관된 또는 컴퓨터 시스템(예컨대, 디바이스(100) 또는 HMD) 상에서 실행되는 개별 소프트웨어 애플리케이션들과 연관된 사용자 인터페이스 동작들이, 사용자의 시선이 미리정의된 물리적 객체(예컨대, 준비 상태에 있는 손(7200))로부터 멀리 지향되는 동안, 손(7200)을 사용하여 수행되는 엄지 플릭 제스처에 응답하여 수행된다. 하나의 예에서, 도 7g에 도시된 바와 같이, 컨테이너(7206)를 포함하는 전체 사용자 인터페이스가 상향 엄지 플릭 제스처에 따라 상향으로 스크롤된다. 다른 예에서, 컨테이너(7206)와 연관된 사용자 인터페이스 동작들이, (예컨대, 시스템 메뉴를 디스플레이하는) 시스템 사용자 인터페이스 동작들 대신에, 사용자의 시선이 손(7200)으로부터 멀리 그리고 컨테이너(7206)를 향해 지향되는 동안, 손(7200)을 사용하여 수행되는 제스처들에 응답하여 수행된다.
도 7g의 부분 A-1과 유사하게, 도 7g의 부분 B-1도 준비 상태 구성으로부터 시작한 손(7200)에 의한 엄지 플릭 제스처를 예시한다. 도 7g의 부분 A-1에 도시된 거동과는 대조적으로, 도 7g의 부분 B-1에서, 사용자의 시선이 미리정의된 물리적 객체(예컨대, 준비 상태 구성에 있는 사용자의 손)로 지향되지 않는다는 결정에 따라, 컴퓨터 시스템은 엄지 플릭 제스처에 응답하여 시스템 메뉴를 디스플레이하는 것을 보류한다. 대신에, 사용자 인터페이스가 엄지 플릭 제스처에 따라 상향으로 스크롤되는데, 예컨대, 컨테이너(7206)가 손(7200)의 검지를 가로지르는 손(7200)의 엄지의 이동에 따라, 그리고 사용자의 시선이 손(7200)으로부터 멀리 그리고 컨테이너(7206)를 향해 지향되는 것에 따라 3차원 환경에서 상향으로 이동된다. 이러한 예에서, 시스템 동작이 수행되지 않지만, 시스템 어포던스(7214)가 사용자의 엄지 옆에 디스플레이된 상태로 유지되어 (예컨대, 사용자의 손이 준비 상태 구성에 있기 때문에) 시스템 동작이 이용가능하다는 것을 나타내고, 시스템 어포던스(7214)는 입력 제스처 동안 그리고 사용자 인터페이스가 입력 제스처에 응답하여 상향으로 스크롤되는 동안 사용자의 엄지와 함께 이동한다.
도 7g의 부분 A-2와 유사하게, 도 7g의 부분 B-2도 준비 상태 구성으로부터 시작한 손(7200)에 의한 엄지 스와이프 제스처를 예시한다. 도 7g의 부분 A-2와는 대조적으로, 도 7g의 부분 B-2에서의 엄지 스와이프 제스처는 (예컨대, 메뉴(7170)가 도 7g의 부분 B-1을 참조하여 본 명세서에 설명된 엄지 플릭 제스처에 응답하여 디스플레이되지 않았기 때문에) 시스템 메뉴(예컨대, 메뉴(7170))가 디스플레이되지 않는 동안 그리고 사용자의 시선이 미리정의된 물리적 객체(예컨대, 사용자의 손)에 초점이 맞춰져 있지 않은 동안 수행된다. 도 7g의 부분 B-2에서의 엄지 스와이프 제스처에 응답하여, 그리고 사용자의 시선이 미리정의된 물리적 객체(예컨대, 손(7200))로부터 멀리 그리고 컨테이너(7206)를 향해 지향되고 있다는 결정에 따라, 컨테이너(7206) 내의 현재 선택 표시자가 손(7200)의 엄지의 이동 방향으로 스크롤된다.
도 7g의 부분 A-3과 유사하게, 도 7g의 부분 B-3도 준비 상태 구성으로부터 시작한 손(7200)에 의한 엄지 탭 제스처를 예시한다. 도 7g의 부분 A-3과는 대조적으로, 도 7g의 부분 B-3에서의 엄지 탭 제스처는 (예컨대, 메뉴(7170)가 도 7g의 부분 B-1을 참조하여 본 명세서에 설명된 엄지 플릭 제스처에 응답하여 디스플레이되지 않았기 때문에) 시스템 메뉴(예컨대, 메뉴(7170))가 디스플레이되지 않는 동안 그리고 사용자의 시선이 미리정의된 물리적 객체(예컨대, 사용자의 손)에 초점이 맞춰져 있지 않은 동안 수행된다. 도 7g의 부분 A-3에서의 엄지 탭 제스처에 응답하여, 그리고 사용자의 시선이 미리정의된 물리적 객체(예컨대, 손(7200), 및 이전에 수신된 입력 제스처들에 응답하여 디스플레이된 어떠한 시스템 사용자 인터페이스 요소도 없는 경우)로부터 멀리 지향되는 것에 따라, 컴퓨터 시스템은 시스템 동작을 수행하는 것을 보류한다. 사용자의 시선이 컨테이너(7206)를 향해 지향된다는 결정에 따라, 컨테이너(7206) 내의 현재 선택된 사용자 인터페이스 객체가 활성화되고, 현재 선택된 사용자 인터페이스 객체들에 대응하는 동작이 수행된다(예컨대, 컨테이너(7206)가 디스플레이되는 것이 중지됨, 활성화된 사용자 인터페이스 객체에 대응하는 사용자 인터페이스(7308)가 디스플레이됨). 이러한 예에서, 시스템 동작이 수행되지 않지만, 시스템 어포던스(7214)가 사용자의 엄지 옆에 디스플레이된 상태로 유지되어 (예컨대, 사용자의 손이 준비 상태 구성에 있기 때문에) 시스템 동작이 이용가능하다는 것을 나타내고, 시스템 어포던스(7214)는 입력 제스처 동안 그리고 사용자 인터페이스가 입력 제스처에 응답하여 상향으로 스크롤되는 동안 사용자의 엄지와 함께 이동한다. 일부 실시예들에서, 사용자 인터페이스 객체(7308)가 컨테이너(7206)로부터 활성화되었기 때문에, 사용자 인터페이스 객체(7308)는, 도 7g의 부분 A-3에서의 사용자 인터페이스 객체(7306)와는 대조적으로, 손(7200)의 위치에 대응하지 않는 3차원 환경 내의 위치에 디스플레이된다.
도 7g에 도시된 예들에서, 컴퓨터 시스템은, 사용자의 손(7200)을, 미리정의된 제스처 입력에 응답하여 시스템 동작이 수행되어야 하는지 여부를 결정하기 위해 (예컨대, 사용자의 시선과 비교하여) 그의 위치가 사용되는 미리정의된 물리적 객체로서 처리한다는 것을 이해해야 한다. 도 7g의 좌측 및 우측 열들에 도시된 예들에서 손(7200)의 위치가 디스플레이 상에서 상이하게 보이지만, 이는 단지 사용자의 시선의 위치가 3차원 환경에 대해 변경되었다는 것을 나타내는 것이며, 반드시 3차원 환경에 대한 사용자의 손의 위치에 제한을 부과하지는 않는다. 실제로, 대부분의 상황들에서, 사용자의 손 전체는, 흔히, 입력 제스처들 동안 위치가 고정되지 않고, 시선은 사용자의 손의 이동하는 물리적 위치와 비교되어 시선이 사용자의 손에 초점이 맞춰져 있는지를 결정한다. 일부 실시예들에서, 사용자의 손 이외의 사용자의 환경 내의 다른 물리적 객체가, 미리정의된 제스처 입력에 응답하여 시스템 동작이 수행되어야 하는지 여부를 결정하기 위한 미리정의된 물리적 객체로서 사용되는 경우, 시선은, 물리적 객체가 환경 또는 사용자에 대해 이동하고 있을 수 있을 때에도, 그리고/또는 사용자가 물리적 객체에 대해 이동하고 있을 때, 물리적 객체의 물리적 위치와 비교된다.
도 7g에 도시된 예들에서, 일부 실시예들에 따르면, 사용자의 시선이 미리정의된 물리적 위치로 지향되는지(예컨대, 미리정의된 물리적 객체(예컨대, 준비 상태 구성에 있는 사용자의 손, 또는 미리정의된 물리적 객체에 대해 고정 위치에 디스플레이되는 시스템 사용자 인터페이스 객체)에 초점이 맞춰져 있는지) 여부는 (예컨대, 시스템 사용자 인터페이스 또는 시스템 사용자 인터페이스 객체를 디스플레이하는) 시스템 동작을 수행할지 또는 시스템 동작을 수행하지 않고서 3차원 환경의 현재 콘텍스트 내의 동작을 수행할지를 결정하기 위해 입력 제스처가 준비 상태 구성에 있는 손으로부터 시작되는지 여부와 함께 사용된다. 도 7h 내지 도 7j는 일부 실시예들에 따른, 사용자가 제스처 입력을 제공할 준비가 되어 있는지 여부(예컨대, 사용자의 시선이 미리정의된 요건을 충족시키는(예컨대, 활성화가능 가상 객체에 초점이 맞춰져 응시되고 안정성 및 지속시간 요건들을 충족시킴) 것과 함께 사용자의 손이 미리정의된 요건들을 충족시키는지(예컨대, 미리정의된 레벨로 상승되고 적어도 임계 시간 동안 준비 상태 구성으로 자세가 취해짐) 여부)에 의존하는 디스플레이된 3차원 환경(예컨대, 가상 현실 또는 혼합 현실 환경)의 예시적인 거동을 예시한다. 도 7h 내지 도 7j와 관련하여 설명된 입력 제스처들은, 도 11의 프로세스들을 포함하여, 아래에 설명되는 프로세스들을 예시하기 위해 사용된다.
도 7h는 물리적 환경에 대응하는 예시적인 컴퓨터 생성 환경을 예시한다. 도 7h를 참조하여 본 명세서에 설명된 바와 같이, 컴퓨터 생성 환경은 가상 현실 환경, 증강 현실 환경, 또는 컴퓨터 생성 환경이 디스플레이의 투명 부분을 통해 보이는 물리적 환경의 뷰 위에 중첩되도록 디스플레이 상에 디스플레이되는 컴퓨터 생성 환경일 수 있다. 도 7h에 도시된 바와 같이, 사용자(7502)는 컴퓨터 시스템(예컨대, 컴퓨터 시스템(101))을 동작시키는(예컨대, 디바이스(7100)를 유지하거나 HMD를 착용함) 물리적 환경(예컨대, 장면(105)) 내에 서 있다. 일부 실시예들에서, 도 7h에 도시된 예에서와 같이, 디바이스(7100)는, 디스플레이, 터치 감응형 디스플레이 등을 포함하는 핸드헬드 디바이스(예컨대, 이동 전화, 태블릿, 또는 다른 모바일 전자 디바이스)이다. 일부 실시예들에서, 디바이스(7100)는, 헤드업 디스플레이, 헤드 장착형 디스플레이 등을 포함하는 웨어러블 헤드셋을 나타내고 선택적으로 그로 대체된다. 일부 실시예들에서, 물리적 환경은 사용자(7502)를 둘러싸는 하나 이상의 물리적 표면들 및 물리적 객체들(예컨대, 방의 벽, (예컨대, 음영처리된 3D 박스들(7504)에 의해 표현되는) 가구)을 포함한다.
도 7h의 부분 (B)에 도시된 예에서, 물리적 환경에 대응하는 컴퓨터 생성 3차원 환경(예컨대, 디바이스(7100)의 하나 이상의 카메라들의 시야 내에 있거나 디바이스(7100)의 디스플레이의 투명 부분을 통해 보이는 물리적 환경의 일부분)이 디바이스(7100) 상에 디스플레이된다. 물리적 환경은 디스플레이 상에 표시된 컴퓨터 생성 환경에서 객체(7504')에 의해 표현되는 물리적 객체(7504)를 포함한다(예컨대, 컴퓨터 생성 환경은 물리적 객체(7504)의 가상 표현을 포함하는 가상 현실 환경이거나, 컴퓨터 생성 환경은 디바이스(7100)의 하나 이상의 카메라들의 라이브 뷰의 일부로서 물리적 객체(7504)의 표현(7504')을 포함하는 증강 현실 환경이거나, 또는 물리적 객체(7504)는 디바이스(7100)의 디스플레이의 투명 부분을 통해 보임). 게다가, 디스플레이 상에 표시된 컴퓨터 생성 환경은 가상 객체들(7506, 7508, 7510)을 포함한다. 가상 객체(7508)는 객체(7504')에 부착된(예컨대, 물리적 객체(7504)의 평평한 전방 표면을 오버레이함) 것으로 보이도록 디스플레이된다. 가상 객체(7506)는 컴퓨터 생성 환경의 벽에 부착된(예컨대, 벽 또는 물리적 환경의 벽의 표현의 일부분을 오버레이함) 것으로 보이도록 디스플레이된다. 가상 객체(7510)는 컴퓨터 생성 환경의 바닥에 부착된(예컨대, 바닥 또는 물리적 환경의 바닥의 표현의 일부분을 오버레이함) 것으로 보이도록 디스플레이된다. 일부 실시예들에서, 가상 객체들(7506, 7508, 7510)은, 사용자 입력에 의해 활성화될 때 객체 특정 동작들의 수행을 야기하는 활성화가능 사용자 인터페이스 객체들이다. 일부 실시예들에서, 컴퓨터 생성 환경은, 또한, 사용자 입력에 의해 활성화가능하지 않은 가상 객체들을 포함하며, 이는, 컴퓨터 생성 환경의 미적 품질들을 개선하고 사용자에게 정보를 제공하기 위해 디스플레이된다. 도 7h의 부분 (C)는 일부 실시예들에 따른, 디바이스(7100) 상에 표시된 컴퓨터 생성 환경이 3차원 환경이고: 물리적 환경에 대한 디바이스(7100)의 관찰 관점이 변화함에 따라(예컨대, 물리적 환경에 대한 디바이스(7100) 또는 디바이스(7100)의 하나 이상의 카메라들의 시야각이 물리적 환경에서의 디바이스(7100)의 이동 및/또는 회전에 응답하여 변화함에 따라), 디바이스(7100) 상에 디스플레이된 바와 같은 컴퓨터 생성 환경의 관찰 관점이 그에 따라 변화되는(예컨대, 물리적 표면들 및 객체들(예컨대, 벽, 바닥, 물리적 객체(7504))과 가상 객체들(7506, 7508, 7510)의 관찰 관점을 변경하는 것을 포함함) 것을 예시한다.
도 7i는, 사용자(7502)가 제스처 입력을 제공할 준비가 되어 있지 않은 동안(예컨대, 사용자의 손이 준비 상태 구성에 있지 않음), 사용자가 컴퓨터 생성 환경 내의 각각의 가상 객체들을 향해 그/그녀의 시선을 지향시키는 것에 응답한 컴퓨터 생성 환경의 예시적인 거동을 예시한다. 도 7i의 부분들 (A) 내지 (C)에 도시된 바와 같이, 사용자는 제스처 입력들을 제공하기 위한 준비 상태 이외의 상태(예컨대, 제1 미리정의된 준비 상태 구성 이외의 위치)로 그/그녀의 왼손(7200)을 유지하고 있다. 일부 실시예들에서, 컴퓨터 시스템은, 사용자의 손가락의 미리정의된 부분이 물리적 제어 요소를 터치하고 있다는(예컨대, 엄지가 검지의 중간을 터치함, 또는 검지가 물리적 제어기를 터치함 등) 것을 검출하는 것에 따라, 사용자의 손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태에 있다고 결정한다. 일부 실시예들에서, 컴퓨터 시스템은, 사용자의 손이 사용자에 대해 미리정의된 레벨을 초과하여 상승된다는(예컨대, 손이 팔꿈치 관절 주위로의 팔 회전, 또는 손목 주위로의 손목 회전, 또는 손에 대해 들어올려진 손가락 등에 응답하여 들어올려짐) 것을 검출하는 것에 따라, 사용자의 손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태에 있다고 결정한다. 일부 실시예들에서, 컴퓨터 시스템은, 사용자의 손의 자세가 미리정의된 구성(예컨대, 엄지가 검지의 중간 상에 놓여 있음, 손가락들이 접혀져 주먹을 형성함 등)으로 변경된다는 것을 검출하는 것에 따라, 사용자의 손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태에 있다고 결정한다. 일부 실시예들에서, 위의 요건들 중 다수가 조합되어, 사용자의 손이 제스처 입력들을 제공하기 위한 준비 상태에 있는지 여부를 결정한다. 일부 실시예들에서, 컴퓨터 시스템은, 또한, 손이 제스처 입력들을 제공할 준비가 되어 있다고 결정하기 위해, 사용자의 손 전체가 정지될(예컨대, 임계 시간 없는 임계량 미만의 이동) 것을 요구한다. 일부 실시예들에 따르면, 사용자의 손이 제스처 입력들을 제공하기 위한 준비 상태에 있는 것으로 발견되지 않고, 사용자의 시선이 활성화가능 가상 객체에 초점이 맞춰져 있을 때, 사용자의 손의 후속 이동들(예컨대, 자유 이동 또는 미리정의된 제스처들을 모방한 이동)은 인식되지 않고/않거나 사용자의 시선의 초점인 가상 객체들에 대한 사용자 입력들로서 처리되지 않는다.
이러한 예에서, 손(7200)의 표현이 컴퓨터 생성 환경에 디스플레이된다. 컴퓨터 생성 환경은 (예컨대, 오른손이 디바이스(7100)의 하나 이상의 카메라들의 시야 내에 있지 않기 때문에) 사용자의 오른손의 표현을 포함하지 않는다. 게다가, 일부 실시예들에서, 예컨대 디바이스(7100)가 핸드헬드 디바이스인 도 7i에 도시된 예에서, 사용자는 디바이스(7100) 상에 디스플레이된 물리적 환경의 임의의 표현들과는 별도로 주위 물리적 환경의 일부분들을 볼 수 있다. 예를 들어, 사용자의 손의 일부분들은 디바이스(7100)의 디스플레이 외측에서 사용자에게 보인다. 일부 실시예들에서, 이들 예들의 디바이스(7100)는 주위 물리적 환경의 사용자의 뷰를 완전히 차단하는 디스플레이(예컨대, 헤드 장착형 디스플레이)를 갖는 헤드셋을 나타내고 그에 의해 대체될 수 있다. 일부 그러한 실시예들에서, 물리적 환경의 어떠한 부분들도 사용자에게 직접적으로 보이지 않고; 대신에, 물리적 환경은 디바이스에 의해 디스플레이되는 물리적 환경의 일부분들의 표현들을 통해 사용자에게 보인다. 일부 실시예들에서, 사용자의 손(들)이 제스처 입력들을 제공하기 위한 준비 상태에 진입하였는지를 결정하기 위해 사용자의 손(들)의 현재 상태가 디바이스에 의해 연속적으로 또는 주기적으로 모니터링되는 동안, 사용자의 손(들)은 직접적으로 또는 디바이스(7100)의 디스플레이를 통해 사용자에게 보이지 않는다. 일부 실시예들에서, 디바이스는 사용자의 손이 입력 제스처들을 제공하기 위한 준비 상태에 있는지 여부의 표시자를 디스플레이하여, 사용자에게 피드백을 제공하고, 사용자에게 그/그녀가 입력 제스처를 제공하기를 원하는 경우 그/그녀의 손 위치들을 조정하도록 경고한다.
도 7i의 부분 (A)에서, 사용자의 시선은 (예컨대, 사용자의 안구(7512)의 표현과 가상 객체(7506)를 연결하는 점선에 의해 표시된 바와 같이) 가상 객체(7506)를 향해 지향된다. 일부 실시예들에서, 디바이스(7100)는, 사용자의 시선의 방향 및/또는 객체를 결정하기 위해, 사용자의 눈의 이동을 추적하기 위해(또는 사용자의 눈들 둘 모두의 이동을 추적하기 위해) 사용자를 향하는 하나 이상의 카메라들(예컨대, 전방 대면 카메라들)을 사용한다. 눈 추적 또는 시선 추적 기술들의 더 많은 상세사항들은 도 1 내지 도 6, 특히 도 5 및 도 6, 및 수반되는 설명들에서 제공된다. 도 7i의 부분 (A)에서, 사용자의 손이 제스처 입력들을 제공하기 위한 준비 상태에 있지 않다는 결정에 따라(예컨대, 왼손은 정지되어 있지 않고, 임계 시간 초과 동안 제1 미리정의된 준비 상태 구성으로 유지되지 않음), 사용자가 가상 객체(7506)를 향해 그/그녀의 시선을 지향시키는 것에 응답하여 가상 객체(7506)에 대해 어떠한 동작도 수행되지 않는다. 유사하게, 도 7i의 부분 (B)에서, 사용자의 시선은 가상 객체(7506)를 떠났고, 이제 (예컨대, 사용자의 안구(7512)의 표현과 가상 객체(7508)를 연결하는 점선에 의해 표시된 바와 같이) 가상 객체(7508)를 향해 지향되며, 사용자의 손이 제스처 입력들을 제공하기 위한 준비 상태에 있지 않다는 결정에 따라, 사용자가 가상 객체(7508)를 향해 그/그녀의 시선을 지향시키는 것에 응답하여 가상 객체(7508)에 대해 어떠한 동작도 수행되지 않는다. 마찬가지로, 도 7i의 부분 (C)에서, 사용자의 시선은 (예컨대, 사용자의 안구(7512)의 표현과 가상 객체(7510)를 연결하는 점선에 의해 표시된 바와 같이) 가상 객체(7510)를 향해 지향된다. 사용자의 손이 제스처 입력들을 제공하기 위한 준비 상태에 있지 않다는 결정에 따라, 사용자가 가상 객체(7510)를 향해 그/그녀의 시선을 지향시키는 것에 응답하여 가상 객체(7510)에 대해 어떠한 동작도 수행되지 않는다. 일부 실시예들에서, 사용자의 시선 하의 가상 객체가 제스처 입력들에 의해 활성화가능하다는 것을 나타내는 시각적 변화들을 트리거하기 위해 사용자의 손이 제스처 입력들을 제공하기 위한 준비 상태에 있을 것을 요구하는 것이 유리한데, 그 이유는, 사용자가 환경 내의 임의의 특정 가상 객체와 상호작용하기보다는 단지 환경을 검사하기를(예컨대, 다양한 가상 객체들을 일정 기간 동안 잠시 또는 집중적으로 응시함) 원할 때, 그가 디스플레이된 환경에서의 불필요한 시각적 변화들을 방지하는 경향이 있을 것이기 때문이다. 이는, 컴퓨터 시스템을 사용하여 컴퓨터 생성 3차원 환경을 경험할 때, 사용자의 시각적 피로 및 주의산만들을 감소시키고, 그에 따라 사용자 실수들을 감소시킨다.
도 7i에 도시된 예시적인 시나리오들과는 대조적으로, 도 7j는 일부 실시예들에 따른, 사용자가 제스처 입력을 제공할 준비가 되어 있는 동안, 사용자가 컴퓨터 생성 환경 내의 각각의 가상 객체들을 향해 그/그녀의 시선을 지향시키는 것에 응답한 컴퓨터 생성 환경의 예시적인 거동을 예시한다. 도 7j의 부분들 (A) 내지 (C)에 도시된 바와 같이, 가상 객체들(7506, 7608, 7510)이 3차원 환경에 디스플레이되는 동안, 사용자는 제스처 입력들을 제공하기 위한 제1 준비 상태 구성으로(예컨대, 엄지가 검지 상에 놓여 있고, 손이 사용자의 신체에 대해 미리설정된 레벨을 초과하여 상승된 상태로) 그/그녀의 왼손을 유지하고 있다.
도 7j의 부분 (A)에서, 사용자의 시선은 (예컨대, 사용자의 안구(7512)의 표현과 가상 객체(7506)를 연결하는 점선에 의해 표시된 바와 같이) 가상 객체(7506)를 향해 지향된다. 사용자의 왼손이 제스처 입력들을 제공하기 위한 준비 상태에 있다는 결정에 따라, 사용자가 가상 객체(7506)를 향해 그/그녀의 시선을 지향시키는 것에 응답하여(예컨대, 시선은 가상 객체(7506)에서 지속시간 및 안정성 요건들을 충족시킴), 컴퓨터 시스템은 가상 객체(7506)가 제스처 입력들에 의해 활성화가능하다는 것을 나타내는 시각적 피드백을 제공한다(예컨대, 가상 객체(7506)는, 가상 객체(7506)가 상호작용형이라는 것을 나타내기 위해, 추가 정보 또는 사용자 인터페이스 상세사항들로 강조, 확장 또는 증강됨(예컨대, 가상 객체(7506)와 연관된 하나 이상의 동작들이 사용자의 제스처 입력들에 응답하여 수행되는 데 이용가능함)). 유사하게, 도 7j의 부분 (B)에서, 사용자의 시선은 가상 객체(7506)로부터 멀리 이동하였고, 이제 (예컨대, 사용자의 안구(7512)의 표현과 가상 객체(7508)를 연결하는 점선에 의해 표시된 바와 같이) 가상 객체(7508)를 향해 지향된다. 사용자의 손이 제스처 입력들을 제공하기 위한 준비 상태에 있다는 결정에 따라, 컴퓨터 시스템은, 사용자가 가상 객체(7508)를 향해 그/그녀의 시선을 지향시키는 것에 응답하여(예컨대, 시선은 가상 객체(7508)에서 안정성 및 지속시간 요건들을 충족시킴), 가상 객체(7506)가 제스처 입력들에 의해 활성화가능하다는 것을 나타내는 시각적 피드백을 제공한다(예컨대, 가상 객체(7508)는, 가상 객체(7508)가 상호작용형이라는 것을 나타내기 위해, 추가 정보 또는 사용자 인터페이스 상세사항들로 강조, 확장 또는 증강됨(예컨대, 가상 객체(7508)와 연관된 하나 이상의 동작들이 사용자의 제스처 입력들에 응답하여 수행되는 데 이용가능함)). 마찬가지로, 도 7j의 부분 (C)에서, 사용자의 시선은 가상 객체(7508)로부터 멀리 이동하였고, 이제 (예컨대, 사용자의 안구(7512)의 표현과 가상 객체(7510)를 연결하는 점선에 의해 표시된 바와 같이) 가상 객체(7510)를 향해 지향된다. 사용자의 손이 제스처 입력들을 제공하기 위한 준비 상태에 있다는 결정에 따라, 컴퓨터 시스템은, 사용자가 가상 객체(7510)를 향해 그/그녀의 시선을 지향시키는 것에 응답하여, 가상 객체(7506)가 제스처 입력들에 의해 활성화가능하다는 것을 나타내는 시각적 피드백을 제공한다(예컨대, 가상 객체(7510)는, 가상 객체(7510)가 상호작용형이라는 것을 나타내기 위해, 추가 정보 또는 사용자 인터페이스 상세사항들로 강조, 확장 또는 증강됨(예컨대, 가상 객체(7510)와 연관된 하나 이상의 동작들이 제스처 입력들에 응답하여 수행되는 데 이용가능함)).
일부 실시예들에서, 가상 객체가 제스처 입력들에 의해 활성화가능하다는 것을 나타내는 시각적 피드백이 디스플레이되는 동안, 그리고 준비 상태에 있는 사용자의 손으로부터 시작되는 제스처 입력을 검출하는 것에 응답하여, 컴퓨터 시스템은 사용자의 제스처 입력에 따라 사용자의 시선의 대상인 가상 객체에 대응하는 동작을 수행한다. 일부 실시예들에서, 각각의 가상 객체가 제스처 입력들에 의해 활성화가능하다는 것을 나타내는 시각적 피드백은 사용자의 시선이 각각의 가상 객체로부터 멀리 이동하는 것에 응답하여 디스플레이되는 것이 중지되고/되거나, 사용자의 손은 유효한 제스처 입력을 제공하지 않고서 제스처 입력들을 제공하기 위한 준비 상태에 있는 것을 중지한다.
일부 실시예들에서, 각각의 가상 객체(예컨대, 가상 객체(7506, 7508 또는 7510))는 애플리케이션에 대응하고(예컨대, 각각의 가상 객체는 애플리케이션 아이콘임), 수행되는 데 이용가능한, 각각의 가상 객체와 연관된 동작들은 대응하는 애플리케이션을 시작하는 것, 애플리케이션 내에서 하나 이상의 동작들을 수행하는 것, 또는 애플리케이션에 대해 또는 그 내에서 수행될 동작들의 메뉴를 디스플레이하는 것을 포함한다. 예를 들어, 각각의 가상 객체가 미디어 플레이어 애플리케이션에 대응하는 경우, 하나 이상의 동작들은 (예컨대, 제1 방향으로의 엄지 스와이프 제스처 또는 핀치 및 트위스트 제스처에 응답하여) 미디어의 출력 볼륨을 증가시키는 것, (예컨대, 제1 방향과 반대되는 제2 방향으로의 엄지 스와이프 제스처 또는 핀치 및 트위스트 제스처에 응답하여) 출력 볼륨을 감소시키는 것, (예컨대, 엄지 탭 제스처에 응답하여) 미디어의 재생을 토글링하는 것(예컨대, 재생하거나 일시정지하는 것), 빨리 감기하는 것, 되감기하는 것, (예컨대, 동일한 방향으로의 다수의 연속적인 엄지 스와이프 제스처들에 응답하여) 재생을 위해 미디어를 통해 브라우징하는 것, 또는 달리 미디어 재생을 제어하는 것(예컨대, 엄지 플릭 제스처에 이은 엄지 스와이프 제스처들에 응답한 메뉴 내비게이션)을 포함한다. 일부 실시예들에서, 각각의 가상 객체는 각각의 가상 객체 밑에 있는 물리적 객체(예컨대, 전자 기기, 스마트 스피커, 스마트 램프 등)를 제어하기 위한 (예컨대, 온/오프 버튼들만을 보여주는) 단순화된 사용자 인터페이스이고, 각각의 가상 객체가 상호작용형이라는 시각적 표시가 디스플레이되는 동안 검출되는 손목 플릭 제스처 또는 엄지 플릭 제스처는 컴퓨터 시스템으로 하여금 물리적 객체를 제어하기 위한 (예컨대, 온/오프 버튼 및 현재 재생된 미디어 앨범, 및 추가 재생 제어부들 및 출력 조정 제어부들 등을 보여주는) 증강된 사용자 인터페이스를 디스플레이하게 한다.
일부 실시예들에서, 가상 객체가 상호작용형이라는 것(예컨대, 제스처 입력들, 및 오디오 입력들 및 터치 입력들 등과 같은 다른 유형들의 입력들을 포함한 사용자 입력들에 응답함)을 나타내는 시각적 피드백은 하나 이상의 사용자 인터페이스 객체들 또는 정보, 가상 객체에 대한 사용자의 시선 입력 이전에 디스플레이되지 않았던 프롬프트들을 디스플레이하는 것을 포함한다. 하나의 예에서, 각각의 가상 객체가 3차원 환경에 표현된 물리적 벽 상에 오버레이된 가상 윈도우인 경우, 사용자의 손이 제스처 입력들을 제공하기 위한 준비 상태에 있는 동안 사용자가 가상 윈도우를 향해 그/그녀의 시선을 지향시키는 것에 응답하여, 컴퓨터 시스템은 가상 윈도우를 통해 보이는 가상 풍경과 연관된 위치 및/또는 하루중 시간을 디스플레이하여, (예컨대, 사용자에 의한 후속 제스처 입력들에 따라 이루어지는 위치, 하루중 시간, 계절 등의 변화를 통해) 풍경이 변화될 수 있다는 것을 나타낸다. 다른 예에서, 각각의 가상 객체가 디스플레이된 스틸 사진을 포함하는 경우(예컨대, 각각의 가상 객체는 액자임), 사용자의 손이 제스처 입력들을 제공하기 위한 준비 상태에 있는 동안 사용자가 디스플레이된 사진을 향해 그/그녀의 시선을 지향시키는 것에 응답하여, 컴퓨터 시스템은 디스플레이된 스틸 사진과 연관된 다중 프레임 사진 또는 비디오 클립을 디스플레이하여, 사진이 상호작용형이라는 것을 나타내고, 선택적으로, (예컨대, 사용자에 의한 후속 제스처 입력들에 따라 사진 앨범을 브라우징하는 것을 통해) 사진이 변경될 수 있다는 것을 나타낸다.
도 7k 내지 도 7m은, 컴퓨터 시스템의 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120))가 디바이스의 사용자에 대해 미리정의된 위치에 배치되는 동안(예컨대, 사용자가 초기에 컴퓨터 생성 현실 경험에 진입할 때(예컨대, 사용자가 디바이스를 그/그녀의 눈들 앞에서 유지할 때, 또는 사용자가 HMD를 그의 머리에 쓸 때)), 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101)(예컨대, 핸드헬드 디바이스 또는 HMD))의 디스플레이 생성 컴포넌트의 하우징에 대한 사용자의 손 그립의 변화들의 검출에 응답하여 변화하는 3차원 환경(예컨대, 가상 현실 환경 또는 혼합 현실 환경)의 예시적인 뷰들을 예시한다. 3차원 환경의 뷰의 변화들은, 사용자 입력 없이 컴퓨터 시스템에 의해 완전히 결정되기보다는, (예컨대, 디바이스 또는 디스플레이 생성 컴포넌트의 하우징에 대한 그/그녀의 그립을 변경함으로써) 사용자에 의해 제어되는 컴퓨터 생성 현실 경험으로의 초기 전이를 형성한다. 도 7g와 관련하여 설명된 입력 제스처들은, 도 12의 프로세스들을 포함하여, 아래에 설명되는 프로세스들을 예시하기 위해 사용된다.
도 7k의 부분 (A)는 사용자(예컨대, 사용자(7802))가 컴퓨터 시스템을 사용하고 있는 물리적 환경(7800)을 예시한다. 물리적 환경(7800)은 하나 이상의 물리적 표면들(예컨대, 벽들, 바닥들, 물리적 객체들의 표면들 등) 및 물리적 객체들(예컨대, 물리적 객체(7504), 사용자의 손들, 신체 등)을 포함한다. 도 7k의 부분 (B)는 컴퓨터 시스템(예컨대, 디바이스(7100) 또는 HMD)의 디스플레이 생성 컴포넌트에 의해 디스플레이된 3차원 환경의 예시적인 뷰(7820)("3차원 환경의 제1 뷰(7820)" 또는 "제1 뷰(7820)"로도 지칭됨)를 예시한다. 일부 실시예들에서, 제1 뷰(7820)는 디스플레이 생성 컴포넌트(예컨대, 디바이스(7100) 또는 HMD의 디스플레이)가 사용자(7802)에 대해 미리정의된 위치에 배치될 때 디스플레이된다. 예를 들어, 도 7k에서, 디바이스(7100)의 디스플레이는 사용자의 눈들 앞에 배치된다. 다른 예에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트(예컨대, HMD)가 사용자의 머리 상에 배치되어서, 물리적 환경의 사용자의 뷰가 디스플레이 생성 컴포넌트를 통해서만 가능하게 한다는 결정에 따라, 디스플레이 생성 컴포넌트가 사용자에 대해 미리정의된 위치에 배치된다고 결정한다. 일부 실시예들에서, 컴퓨터 시스템은, 사용자가 컴퓨터 시스템의 헤드업 디스플레이 앞에 앉았다는 결정에 따라, 디스플레이 생성 컴포넌트가 사용자에 대해 미리정의된 위치에 배치된다고 결정한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트를 사용자에 대해 미리정의된 위치에 배치하거나, 또는 사용자를 디스플레이 생성 컴포넌트에 대해 미리정의된 위치에 배치하는 것은, 사용자가 디스플레이 생성 컴포넌트를 통해 콘텐츠(예컨대, 실제 또는 가상 콘텐츠)를 보도록 허용한다. 일부 실시예들에서, 일단 디스플레이 생성 컴포넌트와 사용자가 미리정의된 상대 위치에 있으면, 물리적 환경의 사용자의 뷰는 디스플레이 생성 컴포넌트에 의해 적어도 부분적으로(또는 완전히) 차단될 수 있다.
일부 실시예들에서, 컴퓨터 시스템의 디스플레이 생성 컴포넌트의 배치는 센서 시스템에 의해 캡처된 데이터의 분석에 기초하여 결정된다. 일부 실시예들에서, 센서 시스템은 컴퓨터 시스템의 컴포넌트들(예컨대, 디바이스(7100) 또는 HMD의 디스플레이 생성 컴포넌트와 동일한 하우징으로 둘러싸인 내부 컴포넌트들)인 하나 이상의 센서들을 포함한다. 일부 실시예들에서, 센서 시스템은 외부 시스템이고, 컴퓨터 시스템의 디스플레이 생성 컴포넌트와 동일한 하우징으로 둘러싸이지 않는다(예를 들어, 센서들은 데이터 분석을 위해 컴퓨터 시스템에 캡처된 이미지 데이터를 제공하는 외부 카메라들임).
일부 실시예들에서, 센서 시스템은 사용자 및/또는 컴퓨터 시스템의 디스플레이 생성 컴포넌트의 이동을 추적하는 하나 이상의 이미징 센서들(예컨대, 하나 이상의 카메라들)을 포함한다. 일부 실시예들에서, 하나 이상의 이미징 센서들은, 사용자 또는 사용자의 미리정의된 부분(예컨대, 머리, 눈들 등)에 대한 디스플레이 생성 컴포넌트의 배치를 검출하기 위해, 사용자의 손(들) 및/또는 사용자의 머리와 같은 사용자의 하나 이상의 특징부들의 위치 및/또는 이동을 추적한다. 예를 들어, 이미지 데이터는 사용자가 사용자의 눈들 앞에서 디바이스(7100)의 디스플레이를 유지하고 있는지 여부 또는 사용자가 헤드 장착형 디스플레이를 사용자의 머리에 쓰고 있는지 여부를 결정하기 위해 실시간으로 분석된다. 일부 실시예들에서, 하나 이상의 이미징 센서들은 사용자가 보고 있는 곳(예컨대, 사용자가 디스플레이를 보고 있는지 여부)을 결정하기 위해 사용자의 눈 시선을 추적한다. 일부 실시예들에서, 센서 시스템은, 디바이스(7100)를 한 손 또는 두 손으로 그리고/또는 디바이스의 에지들 상에서 유지하는 것, 또는 헤드 장착형 디스플레이를 사용자의 머리에 쓰기 위해 헤드 장착형 디스플레이를 두 손을 사용하여 유지하는 것과 같은, 디스플레이의 사용자의 손 그립을 검출하기 위한 (예컨대, 디스플레이 상에 장착되는) 하나 이상의 터치 기반 센서들을 포함한다. 일부 실시예들에서, 센서 시스템은 사용자에 대한 디스플레이의 배치를 결정하기 위해 전자 디바이스의 디스플레이의 모션 및/또는 위치 정보(예컨대, 위치, 높이, 및/또는 배향)를 검출하는 하나 이상의 모션 센서들(예컨대, 가속도계) 및/또는 위치 센서들(예컨대, 자이로스코프, GPS 센서들, 및/또는 근접 센서들)을 포함한다. 예를 들어, 모션 및/또는 위치 데이터는, 모바일 디바이스가 상승되고 있고 사용자의 눈들을 향하고 있는지 여부, 또는 헤드 장착형 디스플레이가 들어올려지고 있고 사용자의 머리에 씌워지고 있는지 여부를 결정하기 위해 분석된다. 일부 실시예들에서, 센서 시스템은 사용자의 머리 상에서의 헤드 장착형 디스플레이의 위치설정을 검출하는 하나 이상의 적외선 센서들을 포함한다. 일부 실시예들에서, 센서 시스템은 사용자에 대한 디스플레이 생성 컴포넌트의 배치를 결정하기 위한 데이터를 제공하기 위해 상이한 유형들의 센서들의 조합을 포함한다. 예를 들어, 디스플레이 생성 컴포넌트의 하우징에 대한 사용자의 손 그립, 디스플레이 생성 컴포넌트의 모션 및/또는 배향 정보, 및 사용자의 눈 시선 정보는 사용자에 대한 디스플레이 생성 컴포넌트의 배치를 결정하기 위해 조합하여 분석된다.
일부 실시예들에서, 센서 시스템에 의해 캡처된 데이터의 분석에 기초하여, 전자 디바이스의 디스플레이가 사용자에 대해 미리정의된 위치에 배치된다고 결정된다. 일부 실시예들에서, 사용자에 대한 디스플레이의 미리정의된 위치는 사용자가 컴퓨터 시스템을 사용하여 가상의 몰입형 경험을 막 개시하려고 한다는(예컨대, 3차원 영화를 시작함, 3차원 가상 세계에 진입함 등) 것을 나타낸다. 예를 들어, 센서 데이터는 사용자의 눈 시선이 디스플레이 스크린을 향해 지향되는 동안 사용자가 모바일 디바이스를 사용자의 두 손바닥으로 유지하고 있다는 것(예컨대, 도 7k에 도시된 손 구성), 또는 사용자가 헤드 장착형 디스플레이를 사용자의 머리에 쓰기 위해 그를 두 손을 사용하여 유지하고 있고 들어올리고 있다는 것을 나타낸다. 일부 실시예들에서, 컴퓨터 시스템은 (예컨대, 착용감이 편안하고 디스플레이들이 눈들과 잘 정렬되도록 HMD를 시프트시키기 위해) 사용자가 사용자에 대한 디스플레이 생성 컴포넌트의 위치를 조정할 기간을 허용하고, 이러한 시간 동안의 손 그립 및 위치의 변화는 디스플레이된 제1 뷰의 어떠한 변화들도 트리거하지 않는다. 일부 실시예들에서, 변화에 대해 모니터링되는 초기 손 그립은 디스플레이 생성 컴포넌트를 유지하기 위한 그립이 아니라, 디스플레이 생성 컴포넌트의 특정 부분(예컨대, HMD를 켜거나 가상 콘텐츠의 디스플레이를 시작하기 위한 스위치 또는 제어부) 상에서의 손 또는 손가락의 터치이다. 일부 실시예들에서, HMD를 사용자의 머리에 씌우고 몰입형 경험을 시작하기 위한 제어부를 활성화하는 손 그립의 조합은 변화에 대해 모니터링되는 초기 손 그립이다.
도 7k의 부분 (B)에 도시된 바와 같은 일부 실시예들에서, 디스플레이가 사용자에 대해 미리정의된 위치에 있다는 것을 검출하는 것에 응답하여, 3차원 환경의 제1 뷰(7820)가 컴퓨터 시스템의 디스플레이 생성 컴포넌트에 의해 디스플레이된다. 일부 실시예들에서, 3차원 환경의 제1 뷰(7820)는 웰컴(welcome)/도입(introductory) 사용자 인터페이스이다. 일부 실시예들에서, 제1 뷰(7820)는 사용자(7802)를 둘러싸는 물리적 환경(7800)의 적어도 일부분의 표현을 포함하는 패스 스루 부분을 포함한다.
일부 실시예들에서, 패스 스루 부분은, 사용자(7802)를 둘러싸고 그의 시야 내에 있는 물리적 환경(7800)의 적어도 일부분을 드러내는 디스플레이 생성 컴포넌트의 투명 또는 반투명(예컨대, 시스루(see-through)) 부분이다. 예를 들어, 패스 스루 부분은 반투명(예컨대, 50%, 40%, 30%, 20%, 15%, 10% 또는 5% 미만의 불투명도) 또는 투명하게 만들어진 헤드 장착형 디스플레이의 일부분이어서, 사용자가 디스플레이 생성 컴포넌트를 제거하지 않고서 사용자를 둘러싸는 실제 세계를 보도록 그를 통해 볼 수 있게 한다. 일부 실시예들에서, 패스 스루 부분은, 예를 들어 사용자가 완전 몰입형 환경에 들어갈 준비가 되어 있다는 것을 나타내는 사용자의 손 그립의 후속 변화에 응답하여, 웰컴/도입 사용자 인터페이스가 몰입형 가상 또는 혼합 현실 환경으로 변화함에 따라 반투명 또는 투명으로부터 완전 불투명으로 점진적으로 전이한다.
일부 실시예들에서, 제1 뷰(7820)의 패스 스루 부분은 하나 이상의 카메라들(예컨대, 모바일 디바이스의 또는 헤드 장착형 디스플레이와 연관된 후방 대면 카메라(들), 또는 이미지 데이터를 전자 디바이스에 공급하는 다른 카메라들)에 의해 캡처된 물리적 환경(7800)의 적어도 일부분의 이미지들 또는 비디오의 라이브 피드를 디스플레이한다. 예를 들어, 패스 스루 부분은 물리적 환경(7800)의 라이브 이미지들 또는 비디오를 디스플레이하는 디스플레이 스크린의 전부 또는 일부를 포함한다. 일부 실시예들에서, 하나 이상의 카메라들은 사용자의 눈들 바로 앞에 있는(예컨대, 디스플레이 생성 컴포넌트 뒤에 있는) 물리적 환경의 일부분을 향한다. 일부 실시예들에서, 하나 이상의 카메라들은 사용자의 눈들 바로 앞에 있지 않은(예컨대, 상이한 물리적 환경에 있는, 또는 사용자 옆이나 뒤에 있는) 물리적 환경의 일부분을 향한다.
일부 실시예들에서, 3차원 환경의 제1 뷰(7820)는 3차원 가상 현실(VR) 콘텐츠를 포함한다. 일부 실시예들에서, VR 콘텐츠는 물리적 환경(7800) 내의 하나 이상의 물리적 객체들(예컨대, 선반, 및/또는 벽들)에 대응하는 하나 이상의 가상 객체들을 포함한다. 예를 들어, 가상 객체들 중 적어도 일부는 대응하는 물리적 환경(7800) 내의 물리적 객체들의 위치들에 대응하는 가상 현실 환경 내의 위치들에 디스플레이된다(예컨대, 물리적 환경 내의 물리적 객체들의 위치들은 하나 이상의 카메라들을 사용하여 결정됨). 일부 실시예들에서, VR 콘텐츠는 패스 스루 부분을 통해 보이는 물리적 환경(7800)에 대응하지 않고/않거나, 패스 스루 부분 내의 물리적 객체들로부터 독립적으로 디스플레이된다. 예를 들어, VR 콘텐츠는 가상 사용자 인터페이스 요소들(예컨대, 사용자 인터페이스 객체들을 포함하는 가상 도크, 또는 가상 메뉴), 또는 물리적 환경(7800)과 관련되지 않은 다른 가상 객체들을 포함한다.
일부 실시예들에서, 3차원 환경의 제1 뷰(7820)는 3차원 증강 현실(AR) 콘텐츠를 포함한다. 일부 실시예들에서, 하나 이상의 카메라들(예컨대, 모바일 디바이스의 또는 헤드 장착형 디스플레이와 연관된 후방 대면 카메라(들), 또는 이미지 데이터를 컴퓨터 시스템에 공급하는 다른 카메라들)은 하나 이상의 카메라들의 시야 내에 있는 주위 물리적 환경(7800)의 적어도 일부분의 라이브 뷰를 연속적으로 제공하고, AR 콘텐츠는 하나 이상의 카메라들의 시야 내에 있는 주위 물리적 환경(7800)의 일부분에 대응한다. 일부 실시예들에서, AR 콘텐츠는 하나 이상의 카메라들의 라이브 뷰를 적어도 부분적으로 포함한다. 일부 실시예들에서, AR 콘텐츠는 라이브 뷰의 일부분 대신에 디스플레이되는(예컨대, 라이브 뷰의 일부분 위에 중첩된 것으로 보이거나 그를 차단함) 하나 이상의 가상 객체들을 포함한다. 일부 실시예에서, 가상 객체들은 물리적 환경(7800) 내의 대응하는 객체들의 위치들에 대응하는 가상 환경(7820) 내의 위치들에 디스플레이된다. 예를 들어, 각각의 가상 객체가 물리적 환경(7800) 내의 대응하는 물리적 객체 대신에 디스플레이된다(예컨대, 그의 뷰 위에 중첩되고/되거나 그를 가리고/가리거나 그를 대체함).
일부 실시예들에서, 3차원 환경의 제1 뷰(7820)에서, (예컨대, 물리적 환경(7800)의 적어도 일부분을 나타내는) 패스 스루 부분은 가상 콘텐츠(예컨대, VR 및/또는 AR 콘텐츠)에 의해 둘러싸인다. 예를 들어, 패스 스루 부분은 디스플레이 상의 가상 콘텐츠와 중첩되지 않는다. 일부 실시예들에서, 3차원 가상 환경의 제1 뷰(7820)에서, VR 및/또는 AR 가상 콘텐츠는 패스 스루 부분 대신에 디스플레이된다(예컨대, 그에 디스플레이된 콘텐츠 위에 중첩되거나 그를 대체함). 예를 들어, 가상 콘텐츠(예컨대, 복수의 가상 사용자 인터페이스 요소들을 열거하는 가상 도크 또는 가상 시작 메뉴)는 반투명 또는 투명 패스 스루 부분을 통해 드러나는 물리적 환경(7800)의 일부분 위에 중첩되거나 그를 차단한다. 일부 실시예들에서, 3차원 환경의 제1 뷰(7820)는, 초기에, 어떠한 가상 콘텐츠도 없이 패스 스루 부분만을 포함한다. 예를 들어, 사용자가 초기에 (예컨대, 도 7l에 도시된 바와 같이) 디바이스를 사용자의 손바닥들로 유지할 때, 또는 사용자가 초기에 헤드 장착형 디스플레이를 사용자의 머리에 쓸 때, 사용자는 시스루 부분을 통해 사용자의 눈들의 시야 내의 또는 라이브 피드 카메라들의 시야 내의 물리적 환경의 일부분을 본다. 이어서, 가상 콘텐츠(예컨대, 가상 메뉴/아이콘들을 갖는 웰컴/도입 사용자 인터페이스)는 사용자의 손 그립이 변경되지 않은 상태로 유지되는 동안 일정 기간에 걸쳐 패스 스루 부분 위에 중첩되거나 그를 차단하도록 점진적으로 페이드인(fade in)된다. 일부 실시예들에서, 사용자의 손 그립이 변경되지 않는 한, 웰컴/도입 사용자 인터페이스는 디스플레이된 상태로(예컨대, 물리적 세계를 보여주는 패스 스루 부분 및 가상 콘텐츠 둘 모두를 갖는 안정된 상태로) 유지된다.
일부 실시예들에서, 사용자의 가상 몰입형 경험을 가능하게 하는 것은 주위 실제 세계의 사용자의 현재 뷰가 디스플레이 생성 컴포넌트에 의해(예컨대, 사용자의 눈들 앞에 가까운 디스플레이의 존재 및 헤드 장착형 디스플레이의 소리 머플링 소거(sound muffling cancelation) 기능들에 의해) 일시적으로 차단되게 한다. 이는 사용자에 대한 가상 몰입형 경험의 시작 이전인 시점에 발생한다. 웰컴/도입 사용자 인터페이스 내에 패스 스루 부분을 가짐으로써, 사용자를 둘러싸는 물리적 환경을 보는 것으로부터 사용자의 가상 몰입형 경험으로의 전이는 더 양호하게 제어되고 더 매끄러운 전이(예컨대, 인지적으로 부드러운 전이)로부터 이익을 얻는다. 이는, 컴퓨터 시스템 또는 콘텐츠 제공자가 모든 사용자들에 대해 완전 몰입형 경험으로 전이하기 위한 타이밍을 지시하게 하는 것과는 대조적으로, 사용자가, 그/그녀가 웰컴/도입 사용자 인터페이스를 본 후에 완전 몰입형 경험을 위해 준비할 필요가 있는 시간을 더 제어하도록 허용한다.
도 7m은 컴퓨터 시스템의 디스플레이 생성 컴포넌트에 의해 (예컨대, 디바이스(7100)의 디스플레이 상에) 디스플레이된 3차원 환경의 다른 예시적인 뷰(7920)("3차원 환경의 제2 뷰(7920)" 또는 "제2 뷰(7920)"로도 지칭됨)를 예시한다. 일부 실시예들에서, 3차원 환경의 제2 뷰(7920)는 제1 미리결정된 기준들(예컨대, 사용자의 제어 또는 보호의 충분한 감소의 검출에 대응하는 기준들)을 만족시키는 컴퓨터 시스템의 디스플레이 생성 컴포넌트의 하우징에 대한 사용자의 손의 그립의 변화(예컨대, 도 7k의 부분 (B)에서의 손 구성(예컨대, 두 손 그립)으로부터 도 7l의 부분 (B)에서의 손 구성(예컨대, 한 손 그립)으로의 변화)의 검출에 응답하여 3차원 환경의 제1 뷰(7820)를 대체한다.
일부 실시예들에서, 사용자의 손(들)의 그립의 변화는 도 7k를 참조하여 위에서 논의된 바와 같이 센서 시스템에 의해 검출된다. 예를 들어, 하나 이상의 이미징 센서들이 사용자의 손의 그립의 변화를 검출하기 위해 사용자의 손의 이동 및/또는 위치를 추적한다. 다른 예에서, 디스플레이 상의 하나 이상의 터치 기반 센서들이 사용자의 손의 그립의 변화를 검출한다.
일부 실시예들에서, 사용자의 손의 그립의 변화의 제1 미리결정된 기준들은 (예컨대, 두 손으로부터 한 손으로의, 또는 한 손으로부터 손 없음으로의, 또는 두 손으로부터 손 없음으로의) 디스플레이 상에서 검출되는 손들의 총 수의 변화, (예컨대, 8개의 손가락들로부터 6개의 손가락들로의, 4개의 손가락들로부터 2개의 손가락들로의, 2개의 손가락들로부터 손가락 없음으로의, 기타 등등의) 디스플레이 생성 컴포넌트들과 접촉하는 손가락들의 총 수의 변화, 디스플레이 생성 컴포넌트 상에서의 손 접촉으로부터 손 접촉 없음으로의 변화, (예컨대, 손바닥으로부터 손가락(들)으로의) 접촉 위치(들)의 변화, 및/또는 (예컨대, 손 자세, 배향, 디스플레이 생성 컴포넌트에 대한 상이한 손가락들의 상대 그립력들 등의 변화에 기인하는) 디스플레이 상에서의 접촉 세기들을 요구한다. 일부 실시예들에서, 디스플레이에 대한 손의 그립의 변화는 사용자에 대한 디스플레이의 미리정의된 위치의 변화를 야기하지 않는다(예컨대, 헤드 장착형 디스플레이는 여전히 사용자의 머리 상에 있어 사용자의 눈들을 덮음). 일부 실시예들에서, 손의 그립의 변화는, 사용자가 (예컨대, 점진적으로 또는 확고하게(resolutely)) 디스플레이로부터 손을 놓고 가상 몰입형 경험에 몰입할 준비가 되어 있다는 것을 나타낸다.
일부 실시예들에서, 변화에 대해 모니터링되는 초기 손 그립은 디스플레이 생성 컴포넌트를 유지하기 위한 그립이 아니라, 디스플레이 생성 컴포넌트의 특정 부분(예컨대, HMD를 켜거나 가상 콘텐츠의 디스플레이를 시작하기 위한 스위치 또는 제어부) 상에서의 손 또는 손가락의 터치이고, 사용자의 손의 그립의 변화의 제1 미리결정된 기준들은 디스플레이 생성 컴포넌트의 특정 부분을 터치한 손가락(들)(예컨대, HMD를 켜거나 가상 콘텐츠의 디스플레이를 시작하기 위한 스위치 또는 제어부를 활성화하는 손가락들)이 디스플레이 생성 컴포넌트의 특정 부분을 터치하는 것을 중지할 것을 요구한다.
일부 실시예들에서, 3차원 환경의 제2 뷰(7920)는 제1 뷰(7820) 내의 패스 스루 부분의 적어도 일부분을 가상 콘텐츠로 대체한다. 일부 실시예들에서, 3차원 환경의 제2 뷰(7920) 내의 가상 콘텐츠는 VR 콘텐츠(예컨대, 가상 객체(7510)(예컨대, 가상 사용자 인터페이스 요소, 또는 시스템 어포던스)), AR 콘텐츠(예컨대, 가상 객체(7506)(예컨대, 하나 이상의 카메라들에 의해 캡처된 벽의 라이브 뷰 상에 오버레이된 가상 윈도우), 및/또는 가상 객체(7508)(예컨대, 물리적 환경 내의 물리적 객체(7504)의 표현(7504')의 일부분 또는 전체 대신에 디스플레이되거나 그 위에 중첩된 사진 또는 가상 제어부들))를 포함한다.
일부 실시예들에서, 제1 뷰(7820)를 제2 뷰(7920)로 대체하는 것은 (예컨대, 패스 스루 부분이 디스플레이의 반투명 또는 투명 상태로 구현될 때) 패스 스루 부분의 불투명도를 증가시키는 것을 포함하여서, 디스플레이의 반투명 또는 투명 부분 위에 중첩된 가상 콘텐츠가 더 잘 보이고 색 포화되게 한다. 일부 실시예들에서, 제2 뷰(7920) 내의 가상 콘텐츠는 제1 뷰(7820) 내의 가상 콘텐츠보다 더 몰입적인 경험을 사용자에게 제공한다. 예를 들어, 제1 뷰(7820) 내의 가상 콘텐츠는 사용자 앞에 디스플레이되는 반면, 제2 뷰(7920) 내의 가상 콘텐츠는, 사용자가 그/그녀의 머리를 돌리고/돌리거나 걸어다닐 때 사용자가 볼 수 있는 파노라마 또는 360도 뷰로 표현되는 3차원 세계를 포함한다. 일부 실시예들에서, 제2 뷰(7920)는, 제1 뷰(7820)와 비교하여 사용자를 둘러싸는 물리적 환경(7800)의 더 적은 부분들 또는 더 작은 부분을 드러내는 더 작은 패스 스루 부분을 포함한다. 예를 들어, 제1 뷰(7820)의 패스 스루 부분은 사용자가 위치되는 방의 벽들 중 하나 상의 실제 윈도우를 보여주고, 제2 뷰(7920)의 패스 스루 부분은 가상 윈도우로 대체된 벽들 중 하나 상의 윈도우를 보여주어서, 제2 뷰(7920)에서 패스 스루 부분의 면적이 감소되게 한다.
도 7m은 (예컨대, 도 7l에 도시된 바와 같이, 손 그립의 요구되는 변화를 검출하는 것에 응답하여 제2 뷰(7920)가 디스플레이된 후에) 다시 디스플레이 생성 컴포넌트의 하우징에 대한 초기 손 그립 구성을 검출하는 것에 응답하여 컴퓨터 시스템의 디스플레이 생성 컴포넌트에 의해 디스플레이되는 또 다른 예시적인 제3 뷰(7821)(예컨대, 3차원 환경의 제1 뷰(7820) 또는 그의 수정된 버전, 또는 상이한 뷰)를 예시한다. 일부 실시예들에서, 제3 뷰(7821)는 컴퓨터 시스템의 디스플레이 생성 컴포넌트에 대한 사용자의 손의 그립의 다른 변화(예컨대, 도 7l에서의 손 구성으로부터, 또는 손 그립 없음으로부터, 도 7m에서의 손 구성으로의 변화)의 검출에 응답하여 패스 스루 부분을 재확립한다. 일부 실시예들에서, 사용자의 손의 그립의 변화는 디스플레이 생성 컴포넌트의 하우징에 대한 사용자의 손 그립의 재확립을 나타내고, 사용자가 (예컨대, 부분적으로 또는 완전히, 점진적으로 또는 즉시) 가상 몰입형 경험을 빠져나가기를 원한다는 것을 나타낸다.
일부 실시예들에서, 센서 시스템은 (예컨대, 한 손으로부터 두 손으로의, 또는 손 없음으로부터 두 손으로의) 디스플레이 생성 컴포넌트의 하우징 상에서 검출되는 손들의 총 수의 변화, 디스플레이 생성 컴포넌트의 하우징과 접촉하는 손가락들의 총 수의 증가된 수, 디스플레이 생성 컴포넌트의 하우징 상에서의 손 접촉 없음으로부터 손 접촉으로의 변화, (예컨대, 손가락(들)으로부터 손바닥으로의) 접촉 위치의 변화, 및/또는 디스플레이 생성 컴포넌트의 하우징 상에서의 접촉 세기의 변화를 검출한다. 일부 실시예들에서, 사용자의 손 그립의 재확립은 디스플레이 생성 컴포넌트의 위치 및/또는 배향의 변화(예컨대, 도 7l의 부분 (A)에서의 각도와 비교하여 도 7m의 부분 (A)에서의 환경에 대한 디바이스(7100)의 위치 및 각도의 변화)를 야기한다. 일부 실시예들에서, 사용자의 손의 그립의 변화는 물리적 환경(7800)에 대한 사용자의 관찰 관점의 변화를 야기한다(예컨대, 물리적 환경(7800)에 대한 디바이스(7100) 또는 디바이스(7100)의 하나 이상의 카메라들의 시야각이 변화함). 그 결과, 디스플레이된 바와 같은 제3 뷰(7821)의 관찰 관점이 그에 따라 변경된다(예컨대, 디스플레이 상의 패스 스루 부분 및/또는 가상 객체들의 관찰 관점을 변경하는 것을 포함함).
일부 실시예들에서, 제3 뷰(7821) 내의 패스 스루 부분은 제1 뷰(7820) 내의 패스 스루 부분과 동일하거나, 또는 적어도, 만약 있다면, 제2 뷰(7920) 내의 패스 스루 부분에 비해 증가된다. 일부 실시예들에서, 제3 뷰(7821) 내의 패스 스루 부분은 제1 뷰(7820) 내의 패스 스루 부분과 비교하여 물리적 환경(7800) 내의 물리적 객체(7504)의 상이한 관찰 관점을 보여준다. 일부 실시예들에서, 제3 뷰(7821) 내의 패스 스루 부분은, 투명하거나 반투명한 디스플레이 생성 컴포넌트의 시스루 부분이다. 일부 실시예들에서, 제3 뷰(7821) 내의 패스 스루 부분은 물리적 환경(7800)의 적어도 일부분의 이미지 데이터를 캡처하도록 구성된 하나 이상의 카메라들로부터의 라이브 피드를 디스플레이한다. 일부 실시예들에서, 제3 뷰(7821) 내의 패스 스루 부분과 함께 디스플레이되는 가상 콘텐츠가 없다. 일부 실시예들에서, 가상 콘텐츠는 제3 뷰(7821)에서 일시정지되거나 반투명하게 또는 덜 색 포화되게 만들어지고, 제3 뷰(7821) 내의 패스 스루 부분과 동시에 디스플레이된다. 제3 뷰가 디스플레이될 때, 사용자는, 도 7k 및 도 7l과 관련하여 설명된 바와 같이, 다시 손 그립을 변경함으로써 완전 몰입형 경험을 재개할 수 있다.
도 7n 내지 도 7p는 일부 실시예들에 따른, 사용자를 둘러싸는 물리적 환경 내의 객체(예컨대, 장애물, 또는 타깃)에 대한 사용자의 위치의 변화들의 검출에 응답하여 변화하는 3차원 가상 환경의 예시적인 뷰들을 예시한다. 도 7n 내지 도 7p와 관련하여 설명된 입력 제스처들은, 도 13의 프로세스들을 포함하여, 아래에 설명되는 프로세스들을 예시하기 위해 사용된다.
도 7n의 부분 (A)에서, 사용자(7802)는 물리적 환경(7800)에서 디바이스(7100)를 유지하고 있다. 물리적 환경은 하나 이상의 물리적 표면들 및 물리적 객체들(예컨대, 벽들, 바닥들, 물리적 객체(7602))을 포함한다. 디바이스(7100)는, 사용자를 둘러싸는 물리적 환경을 보여주는 패스 스루 부분을 디스플레이하지 않고서, 가상 3차원 환경(7610)을 디스플레이한다. 일부 실시예들에서, 디바이스(7100)는, 가상 환경(7610)을 디스플레이할 때 물리적 환경의 사용자의 뷰를 차단하는 디스플레이 생성 컴포넌트를 포함하는 HMD 또는 다른 컴퓨터 시스템을 나타내고 그에 의해 대체될 수 있다. 일부 실시예들에서, HMD 또는 컴퓨터 시스템의 디스플레이 생성 컴포넌트는 적어도 사용자의 눈들을 둘러싸고, 물리적 환경의 사용자의 뷰는 디스플레이 생성 컴포넌트에 의해 디스플레이되는 가상 콘텐츠, 및 디스플레이 생성 컴포넌트 또는 그의 하우징에 의해 형성되는 다른 물리적 장벽들에 의해 부분적으로 또는 완전히 차단된다.
도 7n의 부분 (B)는 컴퓨터 시스템(예컨대, 디바이스(7100) 또는 HMD)의 디스플레이 생성 컴포넌트("디스플레이"로도 지칭됨)에 의해 디스플레이되는 3차원 환경의 제1 뷰(7610)를 예시한다.
일부 실시예들에서, 제1 뷰(7610)는 몰입형 가상 경험(예컨대, 3차원 영화 또는 게임)을 제공하는 3차원 가상 환경이다. 일부 실시예들에서, 제1 뷰(7610)는 3차원 가상 현실(VR) 콘텐츠를 포함한다. 일부 실시예들에서, VR 콘텐츠는 사용자를 둘러싸는 물리적 환경(7800)에 대응하지 않는 물리적 환경 내의 하나 이상의 물리적 객체들에 대응하는 하나 이상의 가상 객체들을 포함한다. 예를 들어, 가상 객체들 중 적어도 일부는 물리적 환경(7800)으로부터 멀리 떨어진 물리적 환경 내의 물리적 객체들의 위치들에 대응하는 가상 현실 환경 내의 위치들에 디스플레이된다. 일부 실시예들에서, 제1 뷰는 가상 사용자 인터페이스 요소들(예컨대, 사용자 인터페이스 객체들을 포함하는 가상 도크, 또는 가상 메뉴), 또는 물리적 환경(7800)과 관련되지 않은 다른 가상 객체들을 포함한다.
일부 실시예들에서, 제1 뷰(7610)는, 사용자(7802)를 둘러싸는 물리적 환경(7800)의 임의의 표현을 포함하지 않고 그와 구별되는 100% 가상 콘텐츠(예컨대, 가상 객체들(7612) 및 가상 표면들(7614)(예컨대, 가상 벽들 및 바닥들))를 포함한다. 일부 실시예들에서, 제1 뷰(7610) 내의 가상 콘텐츠(예컨대, 가상 객체들(7612) 및 가상 표면들(7614))는 물리적 환경(7800) 내의 임의의 물리적 객체의 존재, 위치들 및/또는 물리적 구조들에 대응하지 않거나 그를 시각적으로 전달하지 않는다. 일부 실시예들에서, 제1 뷰(7610)는, 선택적으로, 물리적 환경(7800) 내의 제1 물리적 객체의 존재 및 위치를 나타내지만, 사용자의 뷰가 디스플레이 생성 컴포넌트에 의해 차단되지 않으면 둘 모두 사용자의 시야 내에 있을 물리적 환경(7800) 내의 제2 물리적 객체의 존재, 위치들 및/또는 물리적 구조들을 시각적으로 전달하지 않는 가상 표현을 포함한다. 다시 말해서, 제1 뷰(7610)는 사용자의 정상 시야(예컨대, 디스플레이 생성 컴포넌트가 사용자의 눈들 앞에 배치되지 않은 상태에서의 사용자의 시야)에 존재할 적어도 일부 물리적 객체들 또는 그의 일부분들의 디스플레이를 대체하는 가상 콘텐츠를 포함한다.
도 7o는 컴퓨터 시스템의 디스플레이 생성 컴포넌트에 의해 디스플레이되는 3차원 가상 환경의 다른 예시적인 뷰(7620)("3차원 환경의 제2 뷰(7620)", "가상 환경의 제2 뷰(7620)" 또는 "제2 뷰(7620)"로도 지칭됨)를 예시한다. 일부 실시예들에서, 센서 시스템은 사용자(7802)가 물리적 환경(7800) 내의 물리적 객체(7602)를 향해 이동한다는 것을 검출하고, 센서 시스템에 의해 획득된 센서 데이터는 사용자(7802)와 물리적 객체(7602) 사이의 거리가 미리정의된 임계 거리 내에(예컨대, 팔의 길이, 또는 사용자의 정상 보행 거리 내에) 있는지 여부를 결정하기 위해 분석된다. 일부 실시예들에서, 물리적 객체(7602)의 일부분이 사용자(7602)까지 임계 거리 내에 있다고 결정될 때, 가상 환경의 뷰의 외관이 물리적 객체(7602)의 일부분의 물리적 특성을 나타내도록 변경된다(예컨대, 역시, 부분(7604)과 동일한 사용자의 시야 내에 있지만, 사용자의 임계 거리 내에 있지 않은 물리적 객체(7602)의 다른 부분들을 보여주지 않고서, 사용자(7802)로부터 임계 거리 내에 있는 도 7o의 부분 (B)에서의 제2 뷰(7620) 내의 물리적 객체(7602)의 일부분(7604)을 보여줌). 일부 실시예들에서, 가상 콘텐츠의 일부분을 물리적 객체의 일부분(7604)의 직접 뷰 또는 카메라 뷰로 대체하는 대신에, 물리적 객체의 일부분(7604)에 대응하는 위치에서의 가상 콘텐츠의 일부분의 시각적 특성들(예컨대, 불투명도, 색상, 텍스처, 가상 재료 등)이 물리적 객체의 일부분(7604)의 물리적 특성들(예컨대, 크기, 색상, 패턴, 구조, 윤곽, 형상, 표면 등)을 나타내도록 변경된다. 물리적 객체(7602)의 일부분(7604)에 대응하는 위치에서의 가상 콘텐츠에 대한 변화는 일부분(7604)의 외측에 있는 물리적 객체(7602)의 일부분들에 대응하는 위치들에서의 가상 콘텐츠의 일부분을 포함한, 가상 콘텐츠의 다른 부분들에 적용되지 않는다. 일부 실시예들에서, 컴퓨터 시스템은 물리적 객체의 일부분(7604)에 대응하는 위치들에서의 가상 콘텐츠의 일부분과 물리적 객체의 일부분(7604)에 대응하는 위치들 바로 외측에 있는 가상 콘텐츠의 일부분 사이의 (예컨대, 시각적 전이들을 매끄럽게 하는) 블렌딩을 제공한다.
일부 실시예들에서, 물리적 객체(7602)는, 벽, 의자, 또는 테이블과 같은, 물리적 환경(7800) 내의 정적 객체이다. 일부 실시예들에서, 물리적 객체(7602)는, 사용자(7802)가 물리적 환경(7800)에 대해 정적인 동안 사용자(7802)에 대해 이동하는 물리적 환경(7800) 내의 다른 사람 또는 개(예컨대, 사용자가 소파에 앉아서 영화를 보고 있는 동안 사용자의 애완동물이 돌아다님)와 같은, 물리적 환경(7800) 내의 이동 객체이다.
일부 실시예들에서, 사용자(7802)가 (예컨대, 서라운드 사운드 효과들을 갖는 파노라마 3차원 디스플레이들, 및 다른 가상 지각적 감각들을 포함하는) 3차원 몰입형 가상 경험을 즐기고 있고, 컴퓨터 시스템과 결합된 센서 시스템으로부터의 센서 데이터의 실시간 분석이, 사용자(7802)가 (예컨대, 물리적 객체를 향한 사용자의 이동, 또는 사용자를 향한 물리적 객체의 이동에 의해) 물리적 객체(7602)에 충분히 가까워진다는 것을 나타내는 동안, 사용자(7802)는 매끄럽고 덜 방해하는 방식으로 가상 환경과 블렌딩되는 경고를 수신하는 것으로부터 이익을 얻을 수 있다. 이는, 사용자가, 경험의 몰입 품질을 잃지 않고서, 그/그녀의 이동을 수정할지 그리고/또는 몰입형 경험을 중지/계속할지 여부에 관한, 더 많은 정보에 입각한 결정을 내리도록 허용한다.
일부 실시예들에서, 제2 뷰(7620)는, 센서 데이터의 분석이, 사용자(7802)가 물리적 환경(7800) 내의 물리적 객체(7602)의 적어도 일부분의 임계 거리 내에 있다는 것을 보여줄 때 디스플레이된다(예컨대, 물리적 객체(7602)는 가상 환경에 대한 사용자의 시야에 기초하여 사용자에게 잠재적으로 보이는 범위를 가짐). 일부 실시예들에서, 컴퓨터 시스템은, 물리적 환경(7800)에서 사용자에 대한 물리적 객체의 일부의 위치가 주어지면, 디스플레이가 패스 스루 부분을 가졌거나 디스플레이 생성 컴포넌트가 사용자의 눈들 앞에 존재하지 않았다면, 물리적 객체의 일부가 사용자의 시야에서 보였을 것을 요구한다.
일부 실시예들에서, 가상 환경의 제2 뷰(7620) 내의 일부분(7604)은 물리적 객체(7602)의 대응하는 부분의 반투명 시각적 표현을 포함한다. 예를 들어, 반투명 표현은 가상 콘텐츠를 오버레이한다. 일부 실시예들에서, 가상 환경의 제2 뷰(7620) 내의 일부분(7604)은 물리적 객체(7602)의 대응하는 부분의 유리 같은 외관을 포함한다. 예를 들어, 사용자(7802)가 몰입형 가상 경험을 즐기는 동안 방에 배치된 테이블에 가까워짐에 따라, 사용자에게 가장 가까운 테이블의 일부분은 가상 콘텐츠(예컨대, 가상 뷰 내의 가상 볼 또는 가상 초원)를 오버레이하는 광택 있는, 반투명한, 시스루 외관으로 표시되고, 테이블의 일부분 뒤의 가상 콘텐츠는 유리 같이 보이는 테이블의 일부분을 통해 보인다. 일부 실시예들에서, 가상 환경의 제2 뷰(7620)는 사용자(7802)에게 가장 가까운 물리적 객체(7602)의 일부분에 대응하는 일부분(7604)에 적용되는 미리정의된 왜곡 또는 다른 시각적 효과들(예컨대, 쉬머링(shimmering), 리플링(rippling), 글로잉(glowing), 암화(darkening), 블러링(blurring), 스월링(swirling) 시각적 효과, 또는 상이한 텍스트 효과)을 보여준다.
일부 실시예들에서, 가상 환경의 제2 뷰(7620)는, 사용자에게 적시의 경고를 제공하기 위해, 사용자가 물리적 객체(7602)의 대응하는 부분을 향해 이동하고 그의 임계 거리 내에 들어옴에 따라 제1 뷰(7610)를 순간적으로 대체한다. 일부 실시예들에서, 가상 환경의 제2 뷰(7620)는, 예컨대 페이드인/페이드아웃(fade-out) 효과와 함께, 점진적으로 디스플레이되어, 더 매끄러운 전이 및 덜 방해하는/개입하는 사용자 경험을 제공한다. 일부 실시예들에서, 컴퓨터 시스템은 사용자가 물리적 환경에서 이동함으로써 3차원 환경 내에서 내비게이팅하도록 허용하고, 사용자에게 제시된 3차원 환경의 뷰를 변경하여서, 그가 3차원 환경 내에서의 컴퓨터 생성 이동을 반영하게 한다. 예를 들어, 도 7n 및 도 7o에 도시된 바와 같이, 사용자가 물리적 객체(7602)를 향해 걸을 때, 사용자는 가상 객체(7612)를 향해 3차원 가상 환경에서 동일한 방향으로 이동하는 것으로 그/그녀의 이동을 인식한다(예컨대, 가상 객체(7612)가 가까워지고 커지는 것을 봄). 일부 실시예들에서, 사용자에게 제시된 가상 콘텐츠는 물리적 환경에서의 사용자의 이동과 관련되지 않고, 사용자가 물리적 환경 내의 물리적 객체의 임계 거리 내에 도달하였을 때를 제외하고는, 물리적 환경에서의 사용자의 이동에 따라 변경되지 않는다.
도 7p는 컴퓨터 시스템(예컨대, 디바이스(7100) 또는 HMD)의 디스플레이 생성 컴포넌트에 의해 디스플레이되는 3차원 환경의 또 다른 예시적인 뷰(7630)("3차원 환경의 제3 뷰(7630)", "가상 환경의 제3 뷰(7630)" 또는 "제3 뷰(7630)"로도 지칭됨)를 예시한다. 일부 실시예들에서, 도 7o를 참조하여 논의된 바와 같이 가상 3차원 환경의 제2 뷰(7620)의 디스플레이 후에 사용자(7802)가 물리적 환경(7800)에서 물리적 객체(7602)를 향해 계속 이동함에 따라, 센서 데이터의 분석은 사용자(7802)와 물리적 객체(7602)의 일부분(7606) 사이의 거리가 미리정의된 임계 거리 미만이라는 것을 보여준다. 이에 응답하여, 디스플레이는 제2 뷰(7620)로부터 제3 뷰(7630)로 전이한다. 일부 실시예들에서, 구조(예컨대, 크기, 형상, 길이, 폭 등) 및 사용자와 물리적 객체(7602)의 상대 위치에 따라, 사용자가 물리적 환경(7800)에서 상이한 위치들에 있을 때 사용자의 미리정의된 임계 거리 내에 있었던 물리적 객체(7602)의 일부분(7606) 및 일부분(7604)은, 선택적으로, 완전히 별개이고 물리적 객체의 비중첩 부분들이거나, 일부분(7606)은, 선택적으로, 일부분(7604)을 완전히 둘러싸거나, 일부분(7606) 및 일부분(7604)은, 선택적으로, 부분적으로만 중첩되거나, 또는 일부분(7604)은, 선택적으로, 일부분(7606)을 완전히 둘러싼다. 일부 실시예들에서, 하나 이상의 다른 물리적 객체의 일부분들 또는 전체들은, 그들 물리적 객체들이 사용자의 미리정의된 임계 거리 내에 있는지 또는 그 밖에 있는지에 따라, 사용자가 그들 물리적 객체들에 대해 방을 돌아다님에 따라 가상 3차원 환경의 현재 디스플레이된 뷰 내에 시각적으로 표현되거나 표현되는 것이 중지될 수 있다.
일부 실시예들에서, 컴퓨터 시스템은, 선택적으로, 사용자가, 사용자와 미리선택된 물리적 객체들 사이의 거리가 모니터링되고 시각적 변화들이 가상 환경에 적용되는 물리적 환경(7800) 내의 물리적 객체들의 서브세트를 미리선택하도록 허용한다. 예를 들어, 사용자는, 물리적 객체들의 서브세트로서 가구 및 애완동물들을 미리선택하고 물리적 객체들의 서브세트로서 의류, 커튼들 등을 선택하지 않기를 원할 수 있고, 시각적 변화는 사용자가 의류 및 커튼들에 부딪치는 경우에도 그들의 존재에 대해 사용자에게 경고하도록 가상 환경에 적용되지 않을 것이다. 일부 실시예들에서, 컴퓨터 시스템은, 사용자가 물리적 객체들의 임계 거리 내에 있는지 여부에 상관없이, 사용자가, 물리적 객체들의 각각의 위치들에 대응하는 가상 환경의 일부분에 시각적 효과(예컨대, 투명도, 불투명도, 글로우, 굴절률 등의 변화)를 적용함으로써 가상 환경에 항상 시각적으로 표현되는 하나 이상의 물리적 객체들을 미리지정하도록 허용한다. 이들 시각적 표시들은, 사용자가 가상 세계에 몰입하는 동안에도, 사용자가 실제 세계에 대해 그/그녀 자신을 배향시키는 것을 돕고, 가상 세계를 탐색할 때 더 안전하고 안정된 느낌을 준다.
일부 실시예들에서, 도 7p에 도시된 바와 같이, 제3 뷰(7630)는, 사용자가 물리적 객체에 더 가깝게 이동함에 따라, 사용자로부터 임계 거리 내에 있는 물리적 객체(7602)의 일부분(7606)의 렌더링을 포함한다. 일부 실시예들에서, 컴퓨터 시스템은, 선택적으로, 사용자와 물리적 객체의 일부분 사이의 감소된 거리에 따라, 물리적 객체(7602)의 대응하는 부분의 물리적 특성을 나타내는 가상 환경의 일부분에 적용되는 시각적 효과의 디스플레이 속성의 값을 추가로 증가시킨다. 예를 들어, 컴퓨터 시스템은, 선택적으로, 사용자가 물리적 객체의 일부분에 더 가깝게 점진적으로 이동함에 따라, 제3 뷰(7630) 내의 물리적 객체의 일부분에 대응하는 가상 환경의 일부분의 굴절률, 색 포화도, 시각적 효과, 불투명도, 및/또는 선명도를 증가시킨다. 일부 실시예들에서, 시각적 효과의 공간적 범위는 사용자(7802)가 물리적 객체(7602)에 더 가깝게 이동함에 따라 증가하고, 물리적 객체(7602)의 대응하는 부분은 가상 환경에 대한 사용자의 시야에서 더 크게 보인다. 예를 들어, 제3 뷰(7630) 내의 일부분(7606)은, 적어도 하기의 2가지 이유들: (1) 물리적 객체(7602)의 더 많은 부분이 사용자의 미리정의된 거리 내에 있다는 이유, 및 (2) 물리적 객체(7602)의 동일한 부분(예컨대, 일부분(7604))이 그가 사용자의 눈들에 더 가깝기 때문에 가상 환경의 사용자의 시야의 더 큰 부분을 차지한다는 이유로, 사용자(7802)가 물리적 환경(7800) 내의 물리적 객체(7602)에 더 가깝게 이동함에 따라, 제2 뷰(7620) 내의 일부분(7604)에 비해 점진적으로 그의 크기를 증가시키고 가상 객체(7612)로부터 밖으로 그리고 사용자의 방향을 향해 연장되는 것으로 보인다.
일부 실시예들에서, 컴퓨터 시스템은, 부분적으로 사용자의 임계 거리 내에 있는 물리적 객체 또는 가상 환경의 사용자의 시야에서 잠재적으로 보이는 모든 물리적 객체들의 일부분들(예컨대, 가상 환경의 사용자의 시야 내에서 잠재적으로 보이는 모든 부분들)이, 물리적 객체 또는 모든 물리적 객체들의 그들 부분들에 대응하는 위치들에서 가상 환경의 디스플레이 속성을 수정함으로써 가상 환경에 시각적으로 표현되게 하는 제스처 입력(예컨대, 사용자가 임계 시간 내에 사용자의 신체에 대해 미리설정된 레벨로 한쪽 팔 또는 양쪽 팔을 상승시키는 것(예컨대, 무언가에 빠지거나 부딪치는 것을 방지하기 위한 근육 반사인 급격하고 갑작스러운 이동))을 정의한다. 이러한 특징은, 사용자가, 몰입형 경험을 완전히 빠져나가지 않고서, 그/그녀가 물리적 환경에서 그/그녀의 신체 위치에 대해 확신을 가질 때 그/그녀 자신을 신속하게 재배향시키도록 허용하는 것을 돕는다.
도 7a 내지 도 7p에 관한 추가 설명들은 아래의 도 8 내지 도 13과 관련하여 설명되는 방법들(8000, 9000, 10000, 11000, 12000, 13000)을 참조하여 아래에서 제공된다.
도 8은 일부 실시예들에 따른, 미리정의된 입력 제스처들을 사용하여 3차원 환경과 상호작용하기 위한 예시적인 방법(8000)의 흐름도이다. 일부 실시예들에서, 본 방법(8000)은, 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120))(예컨대, 헤드업 디스플레이, 디스플레이, 터치스크린, 프로젝터 등) 및 하나 이상의 카메라들(예컨대, 사용자의 손에서 하향으로 향하는 카메라(예컨대, 컬러 센서들, 적외선 센서들, 및 다른 심도 감지 카메라들) 또는 사용자의 머리로부터 전방으로 향하는 카메라)을 포함하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 본 방법(8000)은, 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터 시스템의 하나 이상의 프로세서들, 예컨대 컴퓨터 시스템(101)의 하나 이상의 프로세서들(202)(예컨대, 도 1a의 제어 유닛(110))에 의해 실행되는 명령어들에 의해 통제된다. 방법(8000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.
본 방법(8000)에서, 컴퓨터 시스템은 3차원 환경(예컨대, 가상 또는 혼합 현실 환경)의 뷰를 디스플레이한다(8002). 3차원 환경의 뷰를 디스플레이하는 동안, 컴퓨터 시스템은 하나 이상의 카메라들을 사용하여(예컨대, 터치 감응형 장갑, 또는 손 제어식 입력 디바이스 상의 터치 감응형 표면, 또는 다른 비이미지 기반 수단(예컨대, 음파들 등)을 사용하는 것과는 대조적으로, HMD의 하부 에지 상에 위치된 하나 이상의 카메라들을 사용하여) 사용자의 제1 손(예컨대, 장갑을 끼지 않은 또는 입력 디바이스/표면으로 덮이지 않거나 그에 부착되지 않은 왼손 또는 오른손)의 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출한다(8004). 이는, 예를 들어, 도 7a 및 수반되는 설명들(예컨대, 엄지 탭, 엄지 스와이프, 및 엄지 플릭 제스처들)에 예시되어 있다. 일부 실시예들에서, 사용자의 손 또는 그의 그래픽 표현은 3차원 환경의 뷰 내에(예컨대, 디스플레이 생성 컴포넌트의 패스 스루 부분 내에 또는 사용자를 둘러싸는 물리적 환경의 증강 현실 뷰의 일부로서) 디스플레이된다. 일부 실시예들에서, 사용자의 손 또는 그의 그래픽 표현은 3차원 환경의 뷰 내에 표시되지 않거나, 또는 3차원 환경의 뷰의 외측에 있는 디스플레이의 일부분 내에(예컨대, 별개의 또는 부유하는 윈도우 내에) 디스플레이된다. 하나 이상의 카메라들, 특히 HMD의 일부인 카메라들을 사용하는 것의 이점은, 사용자의 손의 공간적 위치 및 크기가 사용자가 상호작용하는 물리적 환경 또는 가상 환경에서 그들이 얼마나 자연스러운지 그/그녀에 의해 알게 되고, 사용자가, 입력 디바이스의 공간을 3차원 환경에 매칭시키고/시키거나 달리, 사용자의 손의 표현을 디스플레이된 3차원 환경에 배치하기 전에 그를 스케일링, 회전 및 병진시키는 데 필요한 추가 계산 없이, 디스플레이 상의 3차원 환경을 인식하기 위한 스케일, 배향 및 앵커 위치의 직관적 감각을 제공받는 것을 포함한다. 다시 도 8을 참조하면, 하나 이상의 카메라들을 사용하여 (예컨대, 손가락(들) 또는 손을 공중에서 흔들거나 터치 감응형 표면 상에서 슬라이딩시키는 것을 사용한 더 과장된 제스처들과는 대조적으로) 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출하는 것에 응답하여, 이동이 제1 방향으로의 제1 손의 검지 위에서의 엄지의 스와이프(예컨대, x 축 및 y 축 중 제1 축(예컨대, x 축)을 따른 이동, 여기에서 x 축을 따른 이동은 검지의 길이를 따른 이동이고, y 축을 따른 이동은 검지를 가로지르는 방향으로의(검지의 길이를 따른 이동에 실질적으로 수직인) 이동임)라는 결정에 따라, 컴퓨터 시스템은 제1 동작(예컨대, 디스플레이된 사용자 인터페이스에서 선택된 사용자 인터페이스 객체를 변경하는 것(예컨대, 제1 방향에 대응하는 아이템들의 목록을 통해 제1 방향으로(아이템들의 행에서 좌우로) 아이템의 선택을 반복하는 것), 디스플레이된 사용자 인터페이스에서 사용자 인터페이스 객체의 위치를 조정하는 것(예컨대, 제1 방향에 대응하는 사용자 인터페이스에서의 방향으로(예컨대, 좌측 및 우측으로) 객체를 이동시키는 것), 및/또는 디바이스의 시스템 설정을 조정하는 것(예컨대, 볼륨 조정, 후속 목록 아이템으로의 이동, 이전 목록 아이템으로의 이동, 앞으로 건너뛰기(예컨대, 다음 챕터, 오디오 트랙 및/또는 콘텐츠 아이템으로의 빨리 감기 및/또는 진행), 뒤로 건너뛰기(예컨대, 이전 챕터, 오디오 트랙 및/또는 콘텐츠 아이템으로의 되감기 및/또는 이동)))을 수행한다(8006). 일부 실시예들에서, (예컨대, 검지의 길이를 따른) 제1 방향의 (예컨대, 검지의 끝을 향하는) 제1 하위 방향으로 스와이프하는 것은 하나의 방식으로 제1 동작을 수행하는 것에 대응하고, 제1 방향의 (예컨대, 검지의 베이스를 향하는) 제2 하위 방향으로 스와이프하는 것은 다른 방식으로 제1 동작을 수행하는 것에 대응한다. 이는, 예를 들어, 도 7b, 도 7c 및 도 7f, 및 수반되는 설명들에 예시되어 있다. 다시 도 8을 참조하면, 하나 이상의 카메라들을 사용하여 (예컨대, 손가락(들) 또는 손을 공중에서 흔들거나 터치 감응형 표면 상에서 슬라이딩시키는 것을 사용한 더 과장된 제스처들과는 대조적으로) 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출하는 것에 응답하여, 이동이 제1 손의 검지 상의 제1 위치에서의(예컨대, 원위 지골, 중위 지골, 및/또는 근위 지골과 같은, 검지의 제1 부분에서의) 검지 위에서의 (임계 시간 내에서의 검지 상에서의 엄지의 터치다운 및 리프트오프를 포함하는) 엄지의 탭이라는 결정에 따라, 컴퓨터 시스템은 제1 동작과는 상이한 제2 동작(예컨대, 현재 선택된 사용자 인터페이스 객체에 대응하는 동작을 수행하는 것 및/또는 디스플레이된 사용자 인터페이스에서 선택된 사용자 인터페이스 객체를 변경하는 것)을 수행한다(8006). 일부 실시예들에서, 제1/제2 동작을 수행하는 것은 3차원 사용자 인터페이스의 뷰를 변경하는 것을 포함하고, 변경은 현재 동작 콘텍스트에 의존한다. 다시 말해서, 각각의 제스처는, 현재 동작 콘텍스트(예컨대, 사용자가 보고 있는 객체, 사용자가 향하고 있는 방향, 현재 제스처 직전에 수행된 마지막 기능, 및/또는 현재 선택된 객체)에 따라, 각각의 방식으로 상이한 동작들, 및 3차원 환경의 뷰의 대응하는 변화들을 트리거한다. 이는, 예를 들어, 도 7b, 도 7c 및 도 7f, 및 수반되는 설명들에 예시되어 있다.
일부 실시예들에서, 하나 이상의 카메라들을 사용하여 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출하는 것에 응답하여, 이동이 제1 방향에 실질적으로 수직인 제2 방향으로의 제1 손의 검지 위에서의 엄지의 스와이프(예컨대, x 축 및 y 축 중 제2 축(예컨대, y 축)을 따른 이동, 여기에서 x 축을 따른 이동은 검지의 길이를 따른 이동이고, y 축을 따른 이동은 검지를 가로지르는 방향으로의(검지의 길이를 따른 이동에 실질적으로 수직인) 이동임)라는 결정에 따라, 컴퓨터 시스템은, 제1 동작과 상이하고 제2 동작과 상이한 제3 동작(예컨대, 디스플레이된 사용자 인터페이스에서 선택된 사용자 인터페이스 객체를 변경하는 것(예컨대, 제2 방향에 대응하는 아이템들의 목록에서 제2 방향으로(2D 메뉴 내의 아이템들의 다수의 행들을 따라 상하로, 또는 수직으로 배열된 목록을 따라 상하로) 선택을 반복하는 것), 디스플레이된 사용자 인터페이스에서 사용자 인터페이스 객체의 위치를 조정하는 것(예컨대, 제2 방향에 대응하는 사용자 인터페이스에서의 방향으로(예컨대, 상향 및 하향으로) 객체를 이동시키는 것), 및/또는 디바이스의 시스템 설정(예컨대, 볼륨)을 조정하는 것)을 수행한다. 일부 실시예들에서, 제3 동작은 제1 동작 및/또는 제2 동작과 구별된다. 일부 실시예들에서, (예컨대, 검지 주위로의) 제2 방향의 (예컨대, 손바닥으로부터 멀리 검지 주위로의) 제1 하위 방향으로 스와이프하는 것은 하나의 방식으로 제3 동작을 수행하는 것에 대응하고, 제2 방향의 (예컨대, 손바닥을 향해 검지 주위로의) 제2 하위 방향으로 스와이프하는 것은 다른 방식으로 제3 동작을 수행하는 것에 대응한다.
일부 실시예들에서, 하나 이상의 카메라들을 사용하여 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출하는 것에 응답하여, 이동이 제1 방향(및 제2 방향)과는 상이한 제3 방향으로의(그리고 검지 위에서의 엄지의 탭이 아닌) 검지 위에서의 엄지의 이동이라는 결정에 따라, 컴퓨터 시스템은, 제1 동작과 상이하고 제2 동작과 상이한(그리고 제3 동작과 상이한) 제4 동작을 수행한다. 일부 실시예들에서, 제3 방향은 검지로부터 멀어지는 검지로부터의 상향 방향이고(예컨대, 검지의 측부 상에서의 탭핑과 반대임), 제스처는 검지 및 손바닥으로부터 멀어지는 검지의 측부로부터의 엄지의 플릭이다. 일부 실시예들에서, 엄지를 사용하여 검지의 중간을 가로지르는 이러한 상향 플릭 제스처는 현재 선택된 사용자 인터페이스 객체가 3차원 환경 내로 푸싱되게 하고, 현재 선택된 사용자 인터페이스 객체(예컨대, 영화 아이콘, 앱 아이콘, 이미지 등)에 대응하는 몰입형 경험(예컨대, 3D 영화, 또는 3D 가상 경험, 파노라마 디스플레이 모드, 전체 화면 모드 등)을 개시한다. 일부 실시예들에서, 몰입형 경험이 진행 중인 동안 손바닥을 향해 검지의 중간을 가로질러 하향으로 스와이프하는 것(예컨대, 검지의 중간 상에서의 탭핑과는 대조적으로, 제2 방향의 하위 방향들 중 하나로의 이동)은 몰입형 경험이 일시정지, 중단, 및/또는 감소된 몰입 상태(예컨대, 비전체 화면, 2D 모드 등)로 감소되게 한다.
일부 실시예들에서, 제1 동작을 수행하는 것은: 제1 동작에 대응하는 값(예컨대, 시스템 설정의 값, 사용자 인터페이스의 적어도 일부분(예컨대, 사용자 인터페이스 객체)의 위치 및/또는 선택을 나타내는 값, 및/또는 선택된 콘텐츠 또는 콘텐츠의 일부분에 대응하는 값)을 증가시키는 것을 포함한다. 예를 들어, 값을 증가시키는 것은, 제1 방향(예컨대, 검지의 길이를 따른 방향, 또는 검지 주위로의 방향)으로의 검지 위에서의 엄지의 스와이프가 검지의 제1 미리정의된 부분을 향해(예컨대, 검지의 끝을 향해, 또는 검지의 후방 측부를 향해) 이동한다는 결정에 따라, 볼륨을 증가시키는 것, 객체를 증가 방향으로(예컨대, 상향 및/또는 우측으로) 이동시키는 것, 및/또는 (예컨대, 목록 및/또는 콘텐츠 아이템에서의) 위치를 후속 또는 달리 전진된 위치로 조정하는 것을 포함한다. 일부 실시예들에서, 제1 동작을 수행하는 것은: 제1 방향(예컨대, 검지의 길이를 따른 방향, 또는 검지 주위로의 방향)으로의 검지 위에서의 엄지의 스와이프가 검지의 제1 미리정의된 부분으로부터 멀리(예컨대, 검지의 끝으로부터 멀리, 또는 검지의 (손의 후방 측부 상의) 후방 측부로부터 멀리), 검지의 제2 미리정의된 부분을 향해(예컨대, 검지의 베이스를 향해, 또는 검지의 (손의 손바닥 측부 상의) 전방 측부를 향해) 이동한다는 결정에 따라, 제1 동작에 대응하는 값을 감소시키는 것을 추가로 포함한다(예컨대, 값을 감소시키는 것은 볼륨을 감소시키는 것, 객체를 감소 방향으로(예컨대, 하향 및/또는 좌측으로) 이동시키는 것, 및/또는 (예컨대, 목록 및/또는 콘텐츠 아이템에서의) 위치를 이전 또는 다른 이전 위치로 조정하는 것을 포함함). 일부 실시예들에서, 제2 방향으로의 검지 위에서의 엄지의 스와이프 방향은, 또한, 제1 방향으로의 스와이프 방향이 제1 동작의 방향을 결정하는 방법과 유사한 방식으로 제3 동작의 방향을 결정한다.
일부 실시예들에서, 제1 동작을 수행하는 것은: 제1 동작에 대응하는 값(예컨대, 시스템 설정의 값, 사용자 인터페이스의 적어도 일부분(예컨대, 사용자 인터페이스 객체)의 위치 및/또는 선택을 나타내는 값, 및/또는 선택된 콘텐츠 또는 콘텐츠의 일부분에 대응하는 값)을 검지 위에서의 엄지의 이동의 양에 대응하는 양만큼 조정하는 것을 포함한다. 일부 실시예들에서, 엄지의 이동은 검지 상의 임계 위치들에 대해 측정되고, 제1 동작에 대응하는 값은 어떤 임계 위치에 도달하는지에 따라 다수의 개별 레벨들 사이에서 조정된다. 일부 실시예들에서, 엄지의 이동은 연속적으로 측정되고, 제1 동작에 대응하는 값은 검지 상에서의(예컨대, 그를 따른 또는 그 주위에서의) 엄지의 현재 위치에 기초하여 연속적으로 그리고 동적으로 조정된다. 일부 실시예들에서, 엄지의 이동 속도는 동작의 크기, 및/또는 동작의 상이한 개별 값들이 트리거될 때를 결정하는 데 사용되는 임계치를 결정하는 데 사용된다.
일부 실시예들에서, 하나 이상의 카메라들을 사용하여 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출하는 것에 응답하여, 이동이 검지 상의, 제1 위치와 구별되는 제2 위치에서의(예컨대, 검지의 일부분 및/또는 지골에서의) 검지 위에서의 엄지의 탭이라는 결정에 따라, 컴퓨터 시스템은 제2 동작과는 상이한 제5 동작(예컨대, 현재 선택된 사용자 인터페이스 객체에 대응하는 동작을 수행하는 것 및/또는 디스플레이된 사용자 인터페이스에서 선택된 사용자 인터페이스 객체를 변경하는 것)을 수행한다. 일부 실시예들에서, 제5 동작은 제1 동작, 제3 동작 및/또는 제4 동작과 구별된다. 일부 실시예들에서, 검지의 중간 부분을 탭핑하는 것은 현재 선택된 객체를 활성화하고, 검지의 끝 상에서의 탭핑은 현재 활성화된 애플리케이션 또는 경험을 최소화/일시정지/닫는다. 일부 실시예들에서, 검지 위에서의 엄지의 탭을 검출하는 것은 검지로부터의 엄지의 리프트오프를 검출하는 것을 요구하지 않고, 엄지가 검지 상에 유지되는 동안, 엄지 또는 전체 손의 이동은, 예컨대 객체를 드래그하기 위한, 엄지의 탭하여 유지하기 입력과 조합된 이동으로서 처리될 수 있다.
일부 실시예들에서, 컴퓨터 시스템은 (예컨대, 사용자의 검지가 중지로부터 멀리 연장되었다는 것을 검출하는 동안) 하나 이상의 카메라들을 사용하여 사용자의 중지 위에서의 사용자의 엄지의 스와이프를 검출한다. 사용자의 중지 위에서의 사용자의 엄지의 스와이프를 검출하는 것에 응답하여, 컴퓨터 시스템은 제6 동작을 수행한다. 일부 실시예들에서, 제6 동작은 제1 동작, 제2 동작, 제3 동작, 제4 동작 및/또는 제5 동작과는 상이하다. 일부 실시예들에서, 중지 위에서의 사용자의 엄지의 스와이프는 중지의 길이를 따른(예컨대, 중지의 베이스로부터 끝을 향하는, 또는 그 반대의) 엄지의 이동을 포함하고, 중지 위에서의 사용자의 엄지의 스와이프가 중지의 끝으로부터 베이스를 향하는, 중지의 길이를 따른 엄지의 이동 및/또는 중지의 손바닥 측부로부터 중지의 상부로 중지를 가로지르는 이동을 포함한다는 결정에 따라 하나 이상의 상이한 동작들이 수행된다.
일부 실시예들에서, 컴퓨터 시스템은 (예컨대, 사용자의 검지가 중지로부터 멀리 연장되었다는 것을 검출하는 동안) 하나 이상의 카메라들을 사용하여 사용자의 중지 위에서의 사용자의 엄지의 탭을 검출한다. 사용자의 중지 위에서의 사용자의 엄지의 탭을 검출하는 것에 응답하여, 컴퓨터 시스템은 제7 동작을 수행한다. 일부 실시예들에서, 제7 동작은 제1 동작, 제2 동작, 제3 동작, 제4 동작, 제5 동작 및/또는 제6 동작과는 상이하다. 일부 실시예들에서, 중지 위에서의 사용자의 엄지의 탭은 중지 상의 제1 위치에서 행해지고, 중지 위에서의 사용자의 엄지의 탭이 중지 상의 제1 위치와 구별되는 제2 위치에서 행해진다는 결정에 따라 상이한 동작이 수행된다. 일부 실시예들에서, 중지 상의 제1 및/또는 제2 위치들로부터의 상향 플릭은 디바이스로 하여금 제1, 제2, ... 및/또는 제7 동작들과 구별되는 다른 동작들을 수행하게 한다.
일부 실시예들에서, 컴퓨터 시스템은 3차원 환경에 엄지 제스처들(예컨대, 손의 다른 손가락들 상에서의 엄지 스와이핑/탭핑/플리킹)의 동작 콘텍스트의 시각적 표시(예컨대, 선택가능 옵션들의 메뉴를 디스플레이하는 것, 값을 조정하기 위한 다이얼, 디지털 어시스턴트의 아바타, 현재 선택된 객체의 선택 표시자, 상호작용형 객체의 강조 등)를 디스플레이하며(예컨대, 디바이스가 하나 이상의 카메라들을 사용하여 사용자의 손이 미리정의된 준비 상태(예컨대, 엄지가 검지의 측부 상에 놓여 있는 것, 또는 검지의 측부 위에서 호버링하는 것, 및/또는 엄지의 후부가 상향으로 향하거나/검지의 측부 상에 놓여 있는 상태에서의 손목의 플릭)에 있거나 그에 진입한다는 것을 검출하고/하거나 손의 엄지 측부가 카메라들을 향해 상향으로 향하고 있을 때 3차원 환경에 복수의 사용자 인터페이스 객체들을 디스플레이함), 여기에서 사용자 인터페이스 객체들은 손의 다른 손가락들 상에서의 엄지의 스와이프 및 탭 제스처들에 응답하고, 여기에서 제1 동작(또는 제2, 제3 등의 동작들)을 수행하는 것은: 제1 동작(또는 제2, 제3 등의 동작)의 수행에 대응하는 시각적 변화를 3차원 환경에 디스플레이하는 것을 포함한다(예컨대, 시각적 변화를 디스플레이하는 것은 복수의 사용자 인터페이스 객체들의 각각의 사용자 인터페이스 객체의 활성화, 및 각각의 사용자 인터페이스 객체와 연관된 동작이 수행되게 하는 것을 포함함).
일부 실시예들에서, 엄지 제스처들의 동작 콘텍스트의 시각적 표시를 디스플레이하는 동안(예컨대, 사용자의 손이 미리정의된 준비 상태에 있다는 것을 검출하는 것에 응답하여 3차원 환경에 복수의 사용자 인터페이스 객체들을 디스플레이하는 동안), 컴퓨터 시스템은 (예컨대, 3차원 환경에서의 손/손목의 이동 및/또는 회전을 검출하는) 하나 이상의 카메라들을 사용하여 사용자의 제1 손의 이동(예컨대, 서로에 대한 손가락들의 내부 이동과는 대조적으로, 카메라들에 대한 물리적 환경에서의 전체 손의 이동)을 검출한다(예컨대, 손이 준비 상태로 유지되는 동안 손의 이동을 검출함). 제1 손의 이동을 검출하는 것에 응답하여, 컴퓨터 시스템은 (예컨대, 손의 이동 동안 손의 미리정의된 거리 내에 복수의 사용자 인터페이스 객체들의 디스플레이를 유지하기 위해(예컨대, 객체들의 메뉴는 엄지의 끝에 붙어 있음)) 손의 위치의 검출된 변화에 따라 3차원 환경에서 엄지 제스처들의 동작 콘텍스트의 시각적 표시(예컨대, 복수의 사용자 인터페이스 객체들)의 디스플레이된 위치를 변경한다. 일부 실시예들에서, 시각적 표시는 시스템 어포던스(예컨대, 애플리케이션 시작 사용자 인터페이스 또는 도크를 위한 표시자)이다. 일부 실시예들에서, 시각적 표시는 복수의 애플리케이션 시작 아이콘들을 포함하는 도크이다. 일부 실시예들에서, 도크는 손의 구성(예컨대, 엄지의 위치, 검지/중지의 위치)이 변화함에 따라 변화한다. 일부 실시예들에서, 시각적 표시는 손이 마이크로 제스처 배향(예컨대, 손이 어깨들 아래에 있는 상태에서 엄지를 치켜드는 것)으로부터 이동될 때 사라진다. 일부 실시예들에서, 시각적 표시는 손이 마이크로 제스처 배향으로 이동될 때 다시 나타난다. 일부 실시예들에서, 시각적 표시는 제스처(예컨대, 사용자가 손을 보고 있는 동안의 검지 상에서의 엄지의 위로 스와이프)에 응답하여 나타난다. 일부 실시예들에서, 시각적 표시는 손의 비활동의 시간 임계치(예컨대, 8초) 후에 리셋된다(예컨대, 사라짐). 더 많은 상세사항들은, 예를 들어, 도 7d 내지 도 7f 및 도 9, 및 수반되는 설명들과 관련하여 설명된다.
일부 실시예들에서, 컴퓨터 시스템은 (예컨대, (예컨대, 두 손 제스처 시나리오에서) 제1 손의 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출하는 동안; 또는 (예컨대, 한 손 제스처 시나리오에서) 제1 손의 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출하지 않는 동안) 하나 이상의 카메라들을 사용하여 (예컨대, 제1 손과 구별되는) 사용자의 제2 손의 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출한다. 하나 이상의 카메라들을 사용하여 제2 손의 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출하는 것에 응답하여: 이동이 제1 방향으로의(예컨대, 검지의 길이를 따른, 또는 검지 주위로의, 또는 검지의 측부로부터 멀리 상향으로의) 제2 손의 검지 위에서의 엄지의 스와이프라는 결정에 따라, 컴퓨터 시스템은 제1 동작과는 상이한 제8 동작을 수행하고; 이동이 제2 손의 검지 상의 제1 위치에서의(예컨대, 원위 지골, 중위 지골, 및/또는 근위 지골과 같은, 검지의 제1 부분에서의) 제2 손의 검지 위에서의 엄지의 탭이라는 결정에 따라, 컴퓨터 시스템은 제2 동작(및 제8 동작)과는 상이한 제9 동작을 수행한다. 일부 실시예들에서, 제8 및/또는 제9 동작은 제1 동작, 제2 동작, 제3 동작, 제4 동작, 제5 동작, 제6 동작, 및/또는 제7 동작과 구별된다. 일부 실시예들에서, 양손이 두 손 제스처를 수행하는 데 사용되는 경우, 양손 상에서의 엄지의 이동은 동시 입력들로서 처리되고, 어떤 기능들이 트리거되는지를 결정하기 위해 함께 사용된다. 예를 들어, 양손 상에서 엄지가 검지의 끝으로부터 멀리 검지의 베이스를 향해 이동하는(그리고 손들이 서로 향하고 있는) 경우, 디바이스는 현재 선택된 객체를 확장시키고, 양손 상에서 엄지가 검지의 베이스로부터 검지의 끝을 향해 이동하는(그리고 손들이 서로 향하고 있는) 경우, 디바이스는 현재 선택된 객체를 최소화한다. 일부 실시예들에서, 동시에 양손 상에서 엄지가 검지를 아래로 탭핑하는 경우, 디바이스는 현재 선택된 객체를 제1 방식으로 활성화하고(예컨대, 카메라 앱을 사용하여 비디오 기록을 시작함), 왼손 상에서 엄지가 검지를 아래로 탭핑하는 경우, 디바이스는 현재 선택된 객체를 제2 방식으로 활성화하며(예컨대, 카메라 앱을 사용하여 자동초점을 수행함), 오른손 상에서 엄지가 검지를 아래로 탭핑하는 경우, 디바이스는 현재 선택된 객체를 제3 방식으로 활성화한다(예컨대, 카메라 앱을 사용하여 스냅샷을 탭핑함).
일부 실시예들에서, 하나 이상의 카메라들을 사용하여 (예컨대, 손가락(들) 또는 손을 공중에서 흔들거나 터치 감응형 표면 상에서 슬라이딩시키는 것을 사용한 더 과장된 제스처들과는 대조적으로) 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출하는 것에 응답하여, 그리고 이동이 제1 손의 검지 상에서의 엄지의 터치다운에 이은 제1 손의 손목 플릭 제스처(예컨대, 제1 손의 손목에 대한 제1 손의 상향 이동)라는 결정에 따라, 컴퓨터 시스템은 제1 동작과는 상이한(예컨대, 사용자의 손가락들의 다른 유형들의 이동 패턴들에 대응하는 제1 내지 제9 동작들 각각 또는 그들의 서브세트와는 상이한) 제10 동작(예컨대, 선택된 사용자 인터페이스 객체를 동작시키기 위한 입력을 제공하는 것, 객체(예컨대, 사용자에 의해 선택되고/되거나 유지되는 가상 객체)를 선택하기 위한 입력을 제공하는 것, 및/또는 객체를 폐기하기 위한 입력을 제공하는 것)을 수행한다. 일부 실시예들에서, 디바이스가 사용자의 시선이 3차원 환경 내의 선택가능 객체(예컨대, 사진 파일 아이콘, 영화 파일 아이콘, 통지 배너 등)로 지향된다는 것을 검출하는 동안, 디바이스는 검지 상에서의 사용자의 엄지의 터치다운에 이은 상향 손목 플릭 제스처를 검출하고, 디바이스는 객체에 대응하는 경험을 시작한다(예컨대, 공중에서 사진을 엶, 3D 영화를 시작함, 확장된 통지를 엶 등).
일부 실시예들에서, 하나 이상의 카메라들을 사용하여 (예컨대, 손가락(들) 또는 손을 공중에서 흔들거나 터치 감응형 표면 상에서 슬라이딩시키는 것을 사용한 더 과장된 제스처들과는 대조적으로) 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출하는 것에 응답하여, 그리고 이동이 제1 손의 검지 상에서의 엄지의 터치다운에 이은 제1 손의 손 회전 제스처(예컨대, 제1 손의 손목에 대한 제1 손의 적어도 일부분의 회전)라는 결정에 따라, 컴퓨터 시스템은 제1 동작과는 상이한(예컨대, 사용자의 손가락들의 다른 유형들의 이동 패턴들에 대응하는 제1 내지 제10 동작들 각각 또는 그들의 서브세트와는 상이한) 제11 동작(예컨대, 손의 회전의 양에 대응하는 양만큼 값을 조정하는 것)을 수행한다. 예를 들어, 제11 동작은 (예컨대, 사용자에 의해(예컨대, 시선을 사용하여) 선택되고/되거나 유지되는) 가상 객체 또는 사용자 인터페이스 객체(예컨대, 가상 다이얼 제어부)로 하여금 손 회전 제스처에 따라 회전하게 한다.
일부 실시예들에서, 3차원 환경의 뷰를 디스플레이하는 동안, 컴퓨터 시스템은 사용자의 얼굴을 향하는 사용자의 제1 손의 손바닥의 이동을 검출하고, 사용자의 얼굴을 향하는 사용자의 제1 손의 손바닥의 이동이 호출 기준들을 충족시킨다는 결정에 따라, 컴퓨터 시스템은 제1 동작과는 상이한(예컨대, 사용자의 손가락들의 다른 유형들의 이동 패턴들에 대응하는 제1 내지 제11 동작들 각각 또는 그들의 서브세트와는 상이한) 제12 동작(예컨대, 가상 어시스턴트와 연관된 사용자 인터페이스 객체를 디스플레이하는 것, 및/또는 제1 손의 손바닥에 대응하는 위치에, 이미지(예컨대, 사용자의 가상 표현, 사용자의 카메라 뷰, 3차원 환경의 확대 뷰, 및/또는 객체(예컨대, 3차원 환경 내의 가상 객체 및/또는 실제 객체)의 확대 뷰)를 디스플레이하는 것)을 수행한다. 일부 실시예들에서, 호출 기준들은 사용자의 손바닥과 사용자의 얼굴 사이의 거리가 임계 거리 미만으로 감소한다는 결정에 따라 충족되는 기준을 포함한다. 일부 실시예들에서, 호출 기준들은 손의 손가락들이 연장된다는 결정에 따라 충족되는 기준을 포함한다.
도 8에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에서 설명되는 다른 방법들(예컨대, 방법들(9000, 10000, 11000, 12000, 13000))과 관련하여 본 명세서에서 설명되는 다른 프로세스들의 상세사항들이 도 8과 관련하여 위에서 설명된 방법(8000)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(8000)을 참조하여 위에 설명된 제스처들, 시선 입력들, 물리적 객체들, 사용자 인터페이스 객체들 및/또는 애니메이션들은, 선택적으로, 본 명세서에 설명된 다른 방법들(예컨대, 방법들(9000, 10000, 11000, 12000, 13000))을 참조하여 본 명세서에 설명되는 제스처들, 시선 입력들, 물리적 객체들, 사용자 인터페이스 객체들 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.
도 9는 일부 실시예들에 따른, 미리정의된 입력 제스처들을 사용하여 3차원 환경과 상호작용하기 위한 예시적인 방법(9000)의 흐름도이다. 일부 실시예들에서, 본 방법(9000)은, 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120))(예컨대, 헤드업 디스플레이, 디스플레이, 터치스크린, 프로젝터 등) 및 하나 이상의 카메라들(예컨대, 사용자의 손에서 하향으로 향하는 카메라(예컨대, 컬러 센서들, 적외선 센서들, 및 다른 심도 감지 카메라들) 또는 사용자의 머리로부터 전방으로 향하는 카메라)을 포함하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 본 방법(9000)은, 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터 시스템의 하나 이상의 프로세서들, 예컨대 컴퓨터 시스템(101)의 하나 이상의 프로세서들(202)(예컨대, 도 1a의 제어 유닛(110))에 의해 실행되는 명령어들에 의해 통제된다. 방법(9000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.
본 방법(9000)에서, 컴퓨터 시스템은 3차원 환경(예컨대, 가상 환경, 또는 증강 현실 환경)의 뷰를 디스플레이한다(9002). 3차원 환경을 디스플레이하는 동안, 컴퓨터 시스템은 3차원 환경의 일부분에 대응하는 제1 위치에서 손을 검출한다(예컨대, 3차원 환경의 사용자의 현재 시야에 따라 손을 사용자에게 보이게 하는 물리적 환경의 위치에서 손을 검출함(예컨대, 사용자의 손은, 사용자의 시선과 교차하거나 그 근처에 있는 위치로 이동하였음)). 일부 실시예들에서, 물리적 환경 내의 제1 위치에서 손을 검출하는 것에 응답하여, 사용자의 손의 표현 또는 이미지가 3차원 환경의 일부분에 디스플레이된다. 3차원 환경의 일부분에 대응하는 제1 위치에서 손을 검출하는 것에 응답하여: 손이 제1 미리정의된 구성(예컨대, 카메라 또는 터치 감응형 장갑 또는 터치 감응형 손가락 부착물들을 사용하여 엄지가 검지 상에 놓여 있는 것을 검출하는 것과 같은 미리정의된 준비 상태)으로 유지되고 있다는 결정에 따라, 3차원 환경에 손 제스처들을 사용한 제스처 입력에 대한 제1 동작 콘텍스트의 시각적 표시(예컨대, 시스템 어포던스(예컨대, 도 7e, 도 7f 및 도 7g의 시스템 어포던스(7214)), 도크, 메뉴, 음성 기반 가상 어시스턴트에 대한 아바타, 손 제스처 입력에 응답하여 조작될 수 있는 사용자 인터페이스 요소들에 관한 추가 정보를 3차원 환경에 디스플레이하는 것 등과 같은 시각적 표시)를 (예컨대, 3차원 환경의 일부분에 디스플레이된 손의 표현에 근접하게) 디스플레이하고; 손이 제1 미리정의된 구성으로 유지되고 있지 않다는 결정에 따라, 3차원 환경에 손 제스처들을 사용한 제스처 입력에 대한 제1 동작 콘텍스트의 시각적 표시를 디스플레이하는 것을 보류한다(예컨대, 도 7d에 도시된 바와 같이, 손의 표현에 근접하게 시각적 표시를 디스플레이하지 않고서, 3차원 환경의 일부분에 손의 표현을 디스플레이함)(9004).
일부 실시예들에서, 손 제스처들을 사용한 제스처 입력에 대한 제1 동작 콘텍스트의 시각적 표시는 제1 위치(예컨대, 검출된 손 위치)에 대응하는 3차원 환경의 일부분 내의 위치에 디스플레이된다. 예를 들어, 시각적 표시(예컨대, 홈 어포던스 또는 도크 등)는, 검출된 손 위치의 미리정의된 거리에 있고/있거나 그 내에 있는 위치에 디스플레이된다. 일부 실시예들에서, 시각적 표시는 손의 특정 부분에 대응하는(예컨대, 검출된 손의 상부 부분 위에 있는, 검출된 손의 하부 부분 아래에 있는, 그리고/또는 손 상에 오버레이되는) 위치에 디스플레이된다.
일부 실시예들에서, 3차원 환경의 일부분에 시각적 표시를 디스플레이하는 동안, 컴퓨터 시스템은 제1 위치로부터 제2 위치로의 손의 위치의 변화를 검출한다(예컨대, 3차원 환경에서 (예컨대, 손이 제1 미리정의된 구성 또는 역시 손의 준비 상태를 나타내는 어떤 다른 미리정의된 구성에 있는 동안) 손의 이동 및/또는 회전을 검출함). 제1 위치로부터 제2 위치로의 손의 위치의 변화를 검출하는 것에 응답하여, 컴퓨터 시스템은 (예컨대, 3차원 환경에서 손의 미리정의된 거리 내에 시각적 표시의 디스플레이를 유지하기 위해) 손의 위치의 검출된 변화에 따라 시각적 표시의 디스플레이된 위치를 변경한다.
일부 실시예들에서, 시각적 표시는 하나 이상의 사용자 인터페이스 객체들을 포함한다. 일부 실시예들에서, 시각적 표시자는, 하나 이상의 사용자 인터페이스 객체들이 그로부터 디스플레이되고/되거나 액세스될 수 있는 영역을 나타내는 시스템 어포던스 아이콘(예컨대, 도 7e의 시스템 어포던스(7120))이다. 예를 들어, 도 7f의 부분 (A)에 도시된 바와 같이, 손(7200)의 엄지가 방향(7120)으로 검지를 가로질러 이동함에 따라, 시각적 표시자(7214)의 디스플레이가 사용자 인터페이스 객체들의 세트(7170)의 디스플레이에 의해 대체된다. 일부 실시예들에서, 사용자의 손 근처에 시스템 어포던스 아이콘이 존재하는 것은 손에 의해 제공되는 다음 제스처가 시스템 레벨 동작(예컨대, 비-객체 또는 애플리케이션 특정 동작, 예컨대 애플리케이션과는 관계없이 운영 체제에 의해 수행되는 동작)이 수행되게 할 것이라는 것을 나타내고, 사용자의 손 근처에 시스템 어포던스가 없는 것은 손에 의해 제공되는 다음 제스처가 애플리케이션 또는 객체 특정 동작(예컨대, 현재 선택된 객체 또는 애플리케이션에 특정되는 또는 그 내의 동작, 예컨대 애플리케이션에 의해 수행되는 동작)이 수행되게 할 것이라는 것을 나타낸다. 일부 실시예들에서, 디바이스는 사용자의 시선이 준비 상태에 있는 손으로 지향된다는 결정에 따라 손 근처에 시스템 어포던스를 디스플레이한다.
일부 실시예들에서, 하나 이상의 사용자 인터페이스 객체들은 복수의 애플리케이션 시작 아이콘들을 포함하며(예컨대, 하나 이상의 사용자 인터페이스 객체들은 복수의 빈번하게 사용되는 애플리케이션들 또는 경험들에 대한 애플리케이션 시작 아이콘들의 행을 포함하는 도크임), 여기에서 애플리케이션 시작 아이콘들의 각각의 애플리케이션 시작 아이콘의 활성화는 대응하는 애플리케이션과 연관된 동작이 수행되게 한다(예컨대, 대응하는 애플리케이션이 시작되게 함).
일부 실시예들에서, 시각적 표시를 디스플레이하는 동안, 컴퓨터 시스템은 제1 미리정의된 구성으로부터 제2 미리정의된 구성으로의 손의 구성의 변화를 검출한다(예컨대, 다른 손가락을 가로지르는 이동과 같은, (예컨대, 다른 손가락에 대한) 엄지의 위치의 변화를 검출함). 제1 미리정의된 구성으로부터 제2 미리정의된 구성으로의 검출된 손의 구성의 변화를 검출하는 것에 응답하여, 컴퓨터 시스템은 (예컨대, 시각적 표시에 더하여 그리고/또는 시각적 표시의 디스플레이를 대체하여) 사용자 인터페이스 객체들의 제1 컬렉션(collection)(예컨대, 홈 영역 또는 애플리케이션 시작 사용자 인터페이스)을 디스플레이하며, 여기에서 사용자 인터페이스 객체들의 제1 컬렉션의 각각의 사용자 인터페이스 객체의 활성화는 각각의 사용자 인터페이스 객체와 연관된 동작이 수행되게 한다. 일부 실시예들에서, 시각적 표시자는, 홈 영역 또는 애플리케이션 시작 사용자 인터페이스가 그로부터 디스플레이되고/되거나 액세스될 수 있는 영역을 나타내는 시스템 어포던스 아이콘(예컨대, 도 7e 및 도 7f의 시스템 어포던스(7214))이다. 예를 들어, 도 7f의 부분 (A)에 도시된 바와 같이, 손(7200)의 엄지가 방향(7120)으로 검지를 가로질러 이동함에 따라, 시각적 표시자(7214)의 디스플레이가 사용자 인터페이스 객체들의 세트(7170)의 디스플레이에 의해 대체된다. 일부 실시예들에서, 사용자 인터페이스 객체들 애플리케이션 시작 아이콘들의 제1 컬렉션의 사용자 인터페이스 객체들 중 적어도 일부, 여기에서 애플리케이션 시작 아이콘의 활성화는 대응하는 애플리케이션이 시작되게 한다.
일부 실시예들에서, 시각적 표시를 디스플레이하는 동안, 컴퓨터 시스템은, 일정 시간 윈도우(예컨대, 제1 위치에서 준비 상태에 있는 손을 검출하는 것에 응답하여 시각적 표시가 디스플레이된 시간으로부터의 5초, 8초, 15초 등의 시간 윈도우) 동안, 손의 이동이 상호작용 기준들을 충족시키는지 여부를 결정한다(예컨대, 상호작용 기준들은, 손의 적어도 하나의 손가락 및/또는 엄지가 임계 거리를 초과하여 증가하는 거리만큼 이동하고/하거나 미리정의된 제스처에 따라 이동한다는 결정에 따라 충족됨). 손의 이동이 일정 시간 윈도우 동안 상호작용 기준들을 충족시키지 않는다는 결정에 따라, 컴퓨터 시스템은 시각적 표시를 디스플레이하는 것을 중지한다. 일부 실시예들에서, 디바이스는, 사용자의 손이 사용자의 시야를 빠져나가거나 또는 사용자의 손이 손의 준비 상태에 대응하는 제1 또는 다른 미리정의된 구성이 아닌 다른 구성으로 변경된 후에, 손이 사용자의 시야에서 제1 미리정의된 구성으로 다시 검출될 때 시각적 표시를 재디스플레이한다.
일부 실시예들에서, 시각적 표시를 디스플레이하는 동안, 컴퓨터 시스템은 제1 미리정의된 구성으로부터 입력 기준들을 충족시키는 제2 미리정의된 구성으로의 손 구성의 변화를 검출한다(예컨대, 손의 구성은 변경되었지만, 손은 여전히 사용자의 시야 내에 있음). 예를 들어, 검출된 변화는 손의 (예컨대, 다른 손가락과의 접촉 및/또는 그로부터의 접촉의 해제, 다른 손가락의 길이를 따른 이동 및/또는 다른 손가락을 가로지르는 이동과 같은, 다른 손가락에 대한) 엄지의 위치의 변화, 및/또는 검지 및/또는 중지의 위치의 변화(예컨대, 손가락의 연장 및/또는 손에 대한 손가락의 다른 이동)이다. 제1 미리정의된 구성으로부터 입력 기준들을 충족시키는 제2 구성으로의 손 구성의 변화를 검출하는 것에 응답하여(예컨대, 사용자의 손이 제1 허용된 제스처의 시작 상태인 구성으로부터 제2 허용된 제스처의 시작 상태로 변화한다는 결정에 따라), 컴퓨터 시스템은 시각적 표시를 조정한다(예컨대, 하나 이상의 사용자 인터페이스 객체들의 세트의 선택된 각각의 사용자 인터페이스 객체를 제1 각각의 사용자 인터페이스 객체로부터 제2 각각의 사용자 인터페이스 객체로 조정함; 하나 이상의 사용자 인터페이스 객체들의 디스플레이된 위치를 변경함; 및/또는 하나 이상의 사용자 인터페이스 객체들의 각각의 사용자 인터페이스 객체를 디스플레이하고/하거나 디스플레이하는 것을 중지함).
일부 실시예들에서, 시각적 표시를 디스플레이하는 동안, 컴퓨터 시스템은 제1 미리정의된 구성으로부터 입력 기준들을 충족시키지 않는 제3 구성으로의 손 구성의 변화를 검출한다(예컨대, 구성은 손의 적어도 일부분이 사용자의 시야 밖에 있다는 결정에 따라 입력 기준들을 충족시키지 않음). 일부 실시예들에서, 디바이스는, 사용자의 손이 제1 허용된 제스처의 시작 상태인 구성으로부터 어떠한 허용된 제스처들의 시작 상태에도 대응하지 않는 상태로 변화한다는 결정에 따라, 제3 구성이 입력 기준들을 충족시키지 않는다고 결정한다. 제1 미리정의된 구성으로부터 입력 기준들을 충족시키지 않는 제3 구성으로의 검출된 손의 구성의 변화를 검출하는 것에 응답하여, 컴퓨터 시스템은 시각적 표시를 디스플레이하는 것을 중지한다.
일부 실시예들에서, 시각적 표시를 디스플레이하는 것을 중지한 후에, 컴퓨터 시스템은 제1 미리정의된 구성으로의 손 구성의 변화(및 손이 사용자의 시야 내에 있다는 것)를 검출한다. 제1 미리정의된 구성으로의 검출된 손의 구성의 변화를 검출하는 것에 응답하여, 컴퓨터 시스템은 시각적 표시를 재디스플레이한다.
일부 실시예들에서, 3차원 환경의 일부분에 대응하는 제1 위치에서 손을 검출하는 것에 응답하여, 손이 제1 미리정의된 구성으로 유지되고 있지 않다는 결정에 따라, 컴퓨터 시스템은 손 제스처들을 사용한 제스처 입력에 대한 제1 동작 콘텍스트의 시각적 표시를 디스플레이하는 것과 구별되는 동작을 수행한다(예컨대, 시각적 표시 없이 손의 표현을 디스플레이하고/하거나 손이 제1 미리정의된 구성으로 유지되고 있지 않다는 것을 나타내기 위한 프롬프트를 제공함).
도 9에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에서 설명되는 다른 방법들(예컨대, 방법들(8000, 10000, 11000, 12000, 13000))과 관련하여 본 명세서에서 설명되는 다른 프로세스들의 상세사항들이 도 9와 관련하여 위에서 설명된 방법(9000)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(9000)을 참조하여 위에 설명된 제스처들, 시선 입력들, 물리적 객체들, 사용자 인터페이스 객체들 및/또는 애니메이션들은, 선택적으로, 본 명세서에 설명된 다른 방법들(예컨대, 방법들(8000, 10000, 11000, 12000, 13000))을 참조하여 본 명세서에 설명되는 제스처들, 시선 입력들, 물리적 객체들, 사용자 인터페이스 객체들 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.
도 10은 일부 실시예들에 따른, 미리정의된 입력 제스처들을 사용하여 3차원 환경과 상호작용하기 위한 예시적인 방법(10000)의 흐름도이다. 일부 실시예들에서, 본 방법(10000)은, 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120))(예컨대, 헤드업 디스플레이, 디스플레이, 터치스크린, 프로젝터 등) 및 하나 이상의 카메라들(예컨대, 사용자의 손에서 하향으로 향하는 카메라(예컨대, 컬러 센서들, 적외선 센서들, 및 다른 심도 감지 카메라들) 또는 사용자의 머리로부터 전방으로 향하는 카메라)을 포함하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 본 방법(10000)은, 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터 시스템의 하나 이상의 프로세서들, 예컨대 컴퓨터 시스템(101)의 하나 이상의 프로세서들(202)(예컨대, 도 1a의 제어 유닛(110))에 의해 실행되는 명령어들에 의해 통제된다. 방법(10000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.
본 방법(10000)에서, 컴퓨터 시스템은, 물리적 환경의 표현을 디스플레이하는 것을 포함하여(예컨대, 사용자를 둘러싸는 물리적 환경의 카메라 뷰를 디스플레이함, 또는 사용자를 둘러싸는 물리적 환경을 드러내는 디스플레이된 사용자 인터페이스 또는 가상 환경 내의 패스 스루 부분을 포함함), 3차원 환경(예컨대, 증강 현실 환경)을 디스플레이한다(10002). 물리적 환경의 표현을 디스플레이하는 동안, 컴퓨터 시스템은 (예컨대, 카메라 또는 하나 이상의 모션 센서들을 사용하여) 제스처(예컨대, 사용자의 손, 손가락, 손목 또는 팔의 미리정의된 이동을 수반하는 제스처, 또는 손의 자연스러운 휴지 자세와 구별되는 손의 미리정의된 정지 자세)를 검출한다(10004). 제스처를 검출하는 것에 응답하여: 사용자의 시선이 물리적 환경 내의 미리정의된 물리적 위치(예컨대, 사용자의 손)에 대응하는 (예컨대, 3차원 환경 내의) 위치로 지향된다는 결정에 따라(예컨대, 제스처가 개시되고 완료되는 시간 동안 시선이 그 위치로 지향되고 그에 유지된다는 결정에 따라, 또는 손이 제스처의 최종 상태(예컨대, 손의 준비 상태(예컨대, 손의 미리정의된 정지 자세))에 있는 동안 시선이 손으로 지향된다는 결정에 따라), 컴퓨터 시스템은 3차원 환경에 시스템 사용자 인터페이스(예컨대, 3차원 환경에 이용가능한 상호작용 옵션들에 대한 시각적 표시들 및/또는 선택가능 옵션들을 포함하는 사용자 인터페이스, 그리고 사용자 인터페이스는 제스처에 응답하여 디스플레이되고, (예컨대, 시선이 그로 지향되었을 때) 제스처의 검출 전에 디스플레이되지 않았음)를 디스플레이한다(10006). 이는, 예를 들어, 도 7g의 부분들 A-1, A-2 및 A-3에 예시되어 있으며, 여기에서 손(7200)에 의한 입력 제스처들은 시스템 어포던스(7214), 시스템 메뉴(7170), 및 애플리케이션 아이콘(7190) 등과 같은 시스템 사용자 인터페이스 요소들과의 상호작용들을 야기한다. 일부 실시예들에서, 미리정의된 물리적 위치에 대응하는 위치는 미리정의된 물리적 위치(예컨대, 물리적 환경 내에서 이동가능한 사용자의 손, 또는 물리적 환경에서 정지되어 있는 물리적 객체)의, 3차원 환경 내의 표현(예컨대, 비디오 이미지 또는 그래픽 추상물(abstraction))이다. 일부 실시예들에서, 시스템 사용자 인터페이스는 하나 이상의 애플리케이션 아이콘들(예컨대, 이들의 각각의 애플리케이션 아이콘은, 활성화될 때, 각각의 대응하는 애플리케이션을 시작함)을 포함한다. 제스처를 검출하는 것에 응답하여: 사용자의 시선이 물리적 환경 내의 미리정의된 물리적 위치에 대응하는 (예컨대, 3차원 환경 내의) 위치로 지향되지 않는다는 결정에 따라(예컨대, 제스처가 개시되고 완료되는 시간 동안 시선이 다른 위치로 지향되고/되거나 그에 유지되거나 또는 시선이 그 위치에서 검출되지 않는다는 결정에 따라, 또는 손이 제스처의 최종 상태(예컨대, 손의 준비 상태(예컨대, 손의 미리정의된 정지 자세))에 있는 동안 시선이 손으로 지향되지 않는다는 결정에 따라), 시스템 사용자 인터페이스를 디스플레이하지 않고서 3차원 환경의 현재 콘텍스트 내의 동작을 수행한다(10006). 이는, 예를 들어, 도 7g의 부분들 B-1, B-2 및 B-3에 예시되어 있다. 일부 실시예들에서, 동작은 3차원 환경에서 시각적 변화를 생성하지 않는 전자 디바이스의 상태를 변경하는(예컨대, 디바이스의 출력 볼륨을 변경함) 제1 동작을 포함한다. 일부 실시예들에서, 동작은, 손이 제스처를 행하는 것을 디스플레이하고 3차원 환경과의 추가 상호작용을 야기하지 않는 제2 동작을 포함한다. 일부 실시예들에서, 동작은 시선이 현재 지향되는 가상 객체의 상태를 변경하기 위한 동작을 포함한다. 일부 실시예들에서, 동작은 사용자가 3차원 환경에서 마지막으로 상호작용한 가상 객체의 상태를 변경하는 동작을 포함한다. 일부 실시예들에서, 동작은, 현재 선택되고 입력 초점을 갖는 가상 객체의 상태를 변경하는 동작을 포함한다.
일부 실시예들에서, 컴퓨터 시스템은 미리정의된 물리적 위치에 대응하는 위치에 대해 미리정의된 위치에 시스템 어포던스(예컨대, 디바이스가 (애플리케이션 레벨과는 대조적으로) 시스템 레벨 동작들에 대한 사용자 인터페이스를 디스플레이하기 위한 하나 이상의 시스템 제스처들을 검출할 준비가 되어 있다는 것을 나타내는 홈 어포던스)를 디스플레이한다. 일부 실시예들에서, 미리정의된 물리적 위치에 대응하는 위치는 3차원 환경 내의 위치이다. 일부 실시예들에서, 미리정의된 물리적 위치에 대응하는 위치는 디스플레이 상의 위치이다. 일부 실시예들에서, 시스템 어포던스는, 시스템 어포던스의 미리정의된 위치가 디스플레이된 3차원 환경 내의 위치인 한, 미리정의된 물리적 위치에 대응하는 위치가 3차원 환경의 디스플레이된 부분에서 더 이상 보이지 않더라도 디스플레이된 상태로 유지된다(예컨대, 시스템 어포던스는 미리정의된 물리적 위치가 전자 디바이스의 하나 이상의 카메라들의 시야 밖으로 이동하더라도 계속 디스플레이됨). 일부 실시예들에서, 시스템 어포던스는 사용자의 손, 손목 또는 손가락에 대해, 또는 3차원 환경 내의 사용자의 손, 손목 또는 손가락의 표현에 대해 미리정의된 고정 위치에 디스플레이된다(예컨대, 사용자의 손, 손목 또는 손가락으로부터 오프셋된 고정 위치에서 사용자의 손, 손목 또는 손가락의 일부분의 디스플레이 상에 중첩되거나 그를 대체함). 일부 실시예들에서, 시스템 어포던스는 사용자의 시선이 3차원 환경 내의 위치로 지향된 상태로 유지되는지 여부에 상관없이 미리정의된 물리적 위치에 대응하는 위치에 대해 미리정의된 위치에 디스플레이된다(예컨대, 사용자의 시선이 준비 상태에 있는 사용자의 손으로부터 멀리 이동한 후에도 또는 제스처가 완료된 후에도, 시스템 어포던스는 미리정의된 타임아웃 기간 내에 디스플레이된 상태로 유지됨).
일부 실시예들에서, 미리정의된 물리적 위치에 대응하는 위치에 대해 미리정의된 위치에 시스템 어포던스를 디스플레이하는 것은: 3차원 환경 내의, 미리정의된 물리적 위치에 대응하는 위치의 이동을 검출하는 것(예컨대, 3차원 환경에 표시된 사용자의 손의 위치가 사용자의 머리 또는 손의 이동에 따라 변경되었다는 것을 검출함); 및 3차원 환경 내의, 미리정의된 물리적 위치에 대응하는 위치의 이동을 검출하는 것에 응답하여, 시스템 어포던스와 미리정의된 물리적 위치에 대응하는 위치의 상대 위치가 3차원 환경에서 변경되지 않은 상태로 유지되도록 3차원 환경에서 시스템 어포던스를 이동시키는 것(예컨대, 사용자의 손의 위치가 3차원 환경에서 변화할 때, 시스템 어포던스는 사용자의 손의 위치를 따름(예컨대, 시스템 어포던스는 3차원 환경의 디스플레이된 뷰에서 사용자의 엄지의 상부에 대응하는 위치에 디스플레이됨))을 포함한다.
일부 실시예들에서, 시스템 어포던스는, 사용자의 시선이 미리정의된 물리적 위치에 대응하는 위치로 지향된다는 결정에 따라, 미리정의된 물리적 위치에 대응하는 위치에 대해 미리정의된 위치(예컨대, 때때로 "미리정의된 상대 위치"로 불리움)에 디스플레이된다. 일부 실시예들에서, 시스템 어포던스는, 사용자의 시선이 미리정의된 물리적 위치 근처의(예컨대, 미리정의된 물리적 위치의 미리정의된 임계 거리 내의) 위치로 지향된다는 결정에 따라, 미리정의된 상대 위치에 디스플레이된다. 일부 실시예들에서, 사용자의 시선이 미리정의된 물리적 위치로 지향되지 않을 때(예컨대, 사용자의 시선이 미리정의된 물리적 위치로부터 멀리 지향되거나, 또는 그로부터 적어도 미리정의된 거리만큼 떨어져 지향될 때), 시스템 어포던스는 디스플레이되지 않는다. 일부 실시예들에서, 3차원 환경 내의, 미리정의된 물리적 위치에 대응하는 위치에 대해 미리정의된 위치에 시스템 어포던스를 디스플레이하는 동안, 디바이스는 사용자의 시선이 미리정의된 물리적 위치에 대응하는 위치로부터 멀리 이동한다는 것을 검출하고, 사용자의 시선이 3차원 환경 내의, 미리정의된 물리적 위치에 대응하는 위치로부터 멀리 이동한다는 것을 검출하는 것에 응답하여, 디바이스는 3차원 환경 내의 미리정의된 위치에 시스템 어포던스를 디스플레이하는 것을 중지한다.
일부 실시예들에서, 3차원 환경 내의, 미리정의된 물리적 위치에 대응하는 위치에 대해 미리정의된 위치에 시스템 어포던스를 디스플레이하는 것은: 사용자의 시선이 미리정의된 물리적 위치에 대응하는 위치로 지향되지 않는다는 결정에 따라, 시스템 어포던스를 제1 외관(예컨대, 형상, 크기, 색상 등)으로 디스플레이하는 것; 및 사용자의 시선이 미리정의된 물리적 위치에 대응하는 위치로 지향된다는 결정에 따라, 시스템 어포던스를 제1 외관과는 상이한 제2 외관으로 디스플레이하는 것을 포함한다. 일부 실시예들에서, 시스템 어포던스는 사용자의 시선이 미리정의된 물리적 위치에 대응하는 위치로부터 멀리 지향되는 동안 제1 외관을 갖는다. 일부 실시예들에서, 시스템 어포던스는 사용자의 시선이 미리정의된 물리적 위치에 대응하는 위치로 지향되는 동안 제2 외관을 갖는다. 일부 실시예들에서, 시스템 어포던스는 사용자의 시선이 미리정의된 물리적 위치에 대응하는 위치로(예컨대, 그의 임계 거리 내로) 시프트할 때 제1 외관으로부터 제2 외관으로, 그리고 사용자의 시선이 미리정의된 물리적 위치에 대응하는 위치로부터 멀리(예컨대, 적어도 임계 거리만큼 멀리) 시프트할 때 제2 외관으로부터 제1 외관으로 변화한다.
일부 실시예들에서, 시스템 어포던스는, 사용자가 제스처를 수행할 준비가 되어 있다는 결정에 따라, 미리정의된 물리적 위치에 대응하는 위치에 대해 미리정의된 위치에 디스플레이된다. 일부 실시예들에서, 사용자가 제스처를 수행할 준비가 되어 있다고 결정하는 것은, 예를 들어 미리정의된 물리적 위치(예컨대, 사용자의 손, 손목, 또는 손가락(들))가 미리정의된 구성(예컨대, 물리적 환경 내의 디바이스에 대한 미리정의된 자세)에 있다는(또는 그에 이르게 되었다는) 것을 검출함으로써, 사용자가 제스처를 수행할 준비가 되어 있다는 표시를 검출하는 것을 포함한다. 하나의 예에서, 시스템 어포던스는, 디바이스가, 준비 상태에 있는 손에 대한 시선을 검출하는 것에 더하여, 물리적 환경에서 사용자가 그의 손을 미리정의된 준비 상태(예컨대, 손의 특정 위치 및/또는 배향)에 이르게 하였다는 것을 검출할 때, 3차원 환경에서 사용자의 손의 디스플레이된 표현에 대해 미리정의된 위치에 디스플레이된다. 일부 실시예들에서, 미리정의된 구성은 미리정의된 물리적 위치(예컨대, 사용자의 손)가 하나 이상의 카메라들의 시야 내에 있는 것과 같은, 전자 디바이스 또는 전자 디바이스의 하나 이상의 입력 디바이스들에 대한 특정 위치를 가질 것을 요구한다.
일부 실시예들에서, 미리정의된 물리적 위치에 대응하는 위치에 대해 미리정의된 위치에 시스템 어포던스를 디스플레이하는 것은: 사용자가 제스처를 수행할 준비가 되어 있지 않다는 결정에 따라, 시스템 어포던스를 제1 외관으로 디스플레이하는 것을 포함한다. 일부 실시예들에서, 사용자가 제스처를 수행할 준비가 되어 있지 않다고 결정하는 것은, 사용자가 제스처를 수행할 준비가 되어 있지 않다는 표시를 검출하는 것(예컨대, 사용자의 손이 미리정의된 준비 상태에 있지 않다는 것을 검출함)을 포함한다. 일부 실시예들에서, 사용자가 준비되어 있지 않다고 결정하는 것은, 사용자가 준비되어 있다는 표시를 검출하지 못하는 것(예컨대, 예를 들어 사용자의 손이 전자 디바이스의 하나 이상의 카메라들의 시야 밖에 있는 경우, 사용자의 손이 미리정의된 준비 상태에 있다는 것을 검출하지 못하거나 검출할 수 없음)을 포함한다. 제스처를 수행하기 위한 사용자의 준비의 표시를 검출하는 것은 도 7e 및 연관된 설명들을 참조하여 본 명세서에 추가로 상세히 설명된다. 일부 실시예들에서, 미리정의된 물리적 위치에 대응하는 위치에 대해 미리정의된 위치에 시스템 어포던스를 디스플레이하는 것은: 사용자가 제스처를 수행할 준비가 되어 있다는 결정에 따라(예컨대, 도 7e 및 수반되는 설명들을 참조하여 본 명세서에 설명된 바와 같이, 사용자가 제스처를 수행할 준비가 되어 있다는 표시를 검출하는 것에 따라), 시스템 어포던스를 제1 외관과는 상이한 제2 외관으로 디스플레이하는 것을 추가로 포함한다. 당업자는 시스템 어포던스의 존재 또는 부재, 및 시스템 어포던스의 특정 외관이, 어떤 정보가 그 특정 콘텍스트에서 사용자에게 전달되도록 의도되는지(예컨대, 어떤 동작(들)이 제스처에 응답하여 수행될 것인지, 및/또는 제스처가 시스템 사용자 인터페이스를 호출하기 위해 추가 기준들이 충족될 필요가 있는지 여부)에 따라 수정될 수 있다는 것을 인식할 것이다. 일부 실시예들에서, 시스템 어포던스가 3차원 환경 내의, 미리정의된 물리적 위치에 대응하는 위치에 대해 미리정의된 위치에 디스플레이되는 동안, 디바이스는 사용자 손이 제1 상태로부터 제2 상태로 변화한다는 것을 검출하고, 제1 상태로부터 제2 상태로의 변화를 검출하는 것에 응답하여: 제1 상태가 준비 상태이고 제2 상태가 준비 상태가 아니라는 결정에 따라, 디바이스는 시스템 어포던스를 제2 외관으로 디스플레이하고(제1 외관으로부터 변화함); 제1 상태가 준비 상태가 아니고 제2 상태가 준비 상태라는 결정에 따라, 디바이스는 시스템 어포던스를 제1 외관으로 디스플레이한다(예컨대, 제2 외관으로부터 변화함). 일부 실시예들에서, 컴퓨터 시스템이 사용자의 손에 대한 사용자의 시선을 검출하지 않고 사용자의 손이 준비 상태 구성에 있지 않은 경우, 컴퓨터 시스템은 시스템 어포던스를 디스플레이하지 않거나, 또는 선택적으로, 시스템 어포던스를 제1 외관으로 디스플레이한다. (예컨대, 시스템 어포던스가 디스플레이되지 않거나 제1 외관으로 디스플레이될 때) 후속 입력 제스처가 검출되는 경우, 컴퓨터 시스템은 입력 제스처에 대응하는 시스템 동작을 수행하지 않거나, 또는 선택적으로, 입력 제스처에 대응하는 현재 사용자 인터페이스 콘텍스트 내의 동작을 수행한다. 일부 실시예들에서, 컴퓨터 시스템이 사용자의 손에 대한 사용자의 시선을 검출하지만 손이 준비 상태 구성에 있지 않은 경우, 컴퓨터 시스템은 시스템 어포던스를 디스플레이하지 않거나, 또는 선택적으로, 시스템 어포던스를 제1 외관 또는 제2 외관으로 디스플레이한다. (예컨대, 시스템 어포던스가 디스플레이되지 않거나 제1 외관 또는 제2 외관으로 디스플레이될 때) 후속 제스처 입력이 검출되는 경우, 컴퓨터 시스템은 입력 제스처에 대응하는 시스템 동작을 수행하지 않거나, 또는 선택적으로, 시스템 사용자 인터페이스(예컨대, 도크 또는 시스템 메뉴)를 디스플레이하는 것을 수행한다. 일부 실시예들에서, 컴퓨터 시스템이 사용자의 손에 대한 사용자의 시선을 검출하지 않지만 손이 준비 상태 구성에 있는 경우, 컴퓨터 시스템은 시스템 어포던스를 디스플레이하지 않거나, 또는 선택적으로, 시스템 어포던스를 제1 외관 또는 제2 외관으로 디스플레이한다. (예컨대, 시스템 어포던스가 디스플레이되지 않거나 제1 외관 또는 제2 외관으로 디스플레이될 때) 후속 제스처 입력이 검출되는 경우, 컴퓨터 시스템은 입력 제스처에 대응하는 시스템 동작을 수행하지 않거나, 또는 선택적으로, 현재 사용자 인터페이스 콘텍스트 내의 동작을 수행한다. 일부 실시예들에서, 컴퓨터 시스템이 사용자의 손에 대한 사용자의 시선을 검출하고 손이 준비 상태 구성에 있는 경우, 컴퓨터 시스템은 시스템 어포던스를 제2 외관 또는 제3 외관으로 디스플레이한다. (예컨대, 시스템 어포던스가 제2 외관 또는 제3 외관으로 디스플레이될 때) 후속 제스처 입력이 검출되는 경우, 컴퓨터 시스템은 시스템 동작을 수행한다(예컨대, 시스템 사용자 인터페이스를 디스플레이함). 일부 실시예들에서, 상기 중 다수가 동일한 구현예에서 조합된다.
일부 실시예들에서, 미리정의된 물리적 위치는 사용자의 손이고, 사용자가 제스처를 수행할 준비가 되어 있다고(예컨대, 손이 현재 미리정의된 준비 상태에 있다고, 또는 시작 제스처가 방금 검출되었다고) 결정하는 것은 손의 미리정의된 부분(예컨대, 지정된 손가락)이 물리적 제어 요소와 접촉하고 있다고 결정하는 것을 포함한다. 일부 실시예들에서, 물리적 제어 요소는 사용자로부터 분리된 제어기(예컨대, 각각의 입력 디바이스)이다(예컨대, 준비 상태는 사용자의 엄지가 사용자의 검지에 부착된 터치 감응형 스트립 또는 링과 접촉하는 것임). 일부 실시예들에서, 물리적 제어 요소는 사용자의 손의 상이한 부분이다(예컨대, 준비 상태는 엄지가 검지의 상부 측부(예컨대, 제2 너클 근처)와 접촉하는 것임). 일부 실시예들에서, 디바이스는 카메라를 사용하여 손이 미리정의된 준비 상태에 있는지 여부를 검출하고, 3차원 환경의 뷰 내에 준비 상태에 있는 손을 디스플레이한다. 일부 실시예들에서, 디바이스는, 터치 감응형이고 전자 디바이스로 터치 입력을 전송하기 위해 전자 디바이스에 통신가능하게 결합되는 물리적 제어 요소를 사용하여, 손이 미리정의된 준비 상태에 있는지 여부를 검출한다.
일부 실시예들에서, 미리정의된 물리적 위치는 사용자의 손이고, 사용자가 제스처를 수행할 준비가 되어 있다고 결정하는 것은 손이 사용자에 대해 미리정의된 레벨을 초과하여 상승되어 있다고 결정하는 것을 포함한다. 일부 실시예들에서, 손이 상승되어 있다고 결정하는 것은 손이 사용자에 대해 특정 횡방향 평면 위에(예컨대, 사용자의 허리 위에, 즉 사용자의 발보다 사용자의 머리에 더 가깝게) 위치된다고 결정하는 것을 포함한다. 일부 실시예들에서, 손이 상승되어 있다고 결정하는 것은 사용자의 손목 또는 팔꿈치가 적어도 소정 양만큼(예컨대, 90도 각도 내에서) 구부러져 있다고 결정하는 것을 포함한다. 일부 실시예들에서, 디바이스는 카메라를 사용하여 손이 미리정의된 준비 상태에 있는지 여부를 검출하고, 선택적으로, 3차원 환경의 뷰 내에 준비 상태에 있는 손을 디스플레이한다. 일부 실시예들에서, 디바이스는, 사용자의 손, 손목 또는 팔에 부착되고 전자 디바이스로 이동 입력을 전송하기 위해 전자 디바이스에 통신가능하게 결합되는 하나 이상의 센서들(예컨대, 모션 센서들)을 사용하여, 손이 미리정의된 준비 상태에 있는지 여부를 검출한다.
일부 실시예들에서, 미리정의된 물리적 위치는 사용자의 손이고, 사용자가 제스처를 수행할 준비가 되어 있다고 결정하는 것은 손이 미리정의된 구성에 있다고 결정하는 것을 포함한다. 일부 실시예들에서, 미리정의된 구성은 손의 각각의 손가락(예컨대, 엄지)이 사용자의 손의 상이한 부분(예컨대, 검지와 같은 반대편 손가락, 또는 검지의 중위 지골 또는 중간 너클과 같은, 반대편 손가락의 미리정의된 부분)과 접촉하고 있을 것을 요구한다. 일부 실시예들에서, 미리정의된 구성은, 위에 설명된 바와 같이, 손이 특정 횡방향 평면 위에(예컨대, 사용자의 허리 위에) 있을 것을 요구한다. 일부 실시예들에서, 미리정의된 구성은 (예컨대, 팔의 축방향 회전 없이) 엄지 측부를 향하는 그리고 새끼손가락 측부로부터 멀어지는 손목의 굽힘(예컨대, 요측 굴곡)을 요구한다. 일부 실시예들에서, 손이 미리정의된 구성에 있을 때, 하나 이상의 손가락들은 자연스러운 휴지 위치에 있고(예컨대, 말려 있음), 전체 손은 제스처를 수행하기 위한 사용자의 준비를 나타내기 위해 손, 손목 또는 팔의 자연스러운 휴지 위치로부터 멀리 기울어지거나 이동된다. 당업자는, 사용되는 특정 미리정의된 준비 상태가, 직관적이고 자연스러운 사용자 상호작용을 갖도록 선택될 수 있고, 전술한 기준들의 임의의 조합을 요구할 수 있다는 것을 인식할 것이다. 일부 실시예들에서, 미리정의된 구성은 사용자가 3차원 환경에 입력을 제공하고 그와 상호작용하기보다는 단지 3차원 환경을 보기를 원할 때의 사용자의 손의 자연스러운 휴지 자세(예컨대, 사람의 무릎, 테이블 상판 또는 신체의 측부 상에서의 이완되고 휴지 상태인 자세)와 구별된다. 자연스러운 휴지 자세로부터 미리정의된 구성으로의 변화는 의도적이며, 미리정의된 구성으로의 사용자의 손의 의도적인 이동을 요구한다.
일부 실시예들에서, 미리정의된 물리적 위치에 대응하는 위치는 3차원 환경 내의 고정 위치이다(예컨대, 대응하는 미리정의된 물리적 위치는 물리적 환경 내의 고정 위치임). 일부 실시예들에서, 물리적 환경은 사용자의 기준계(frame of reference)이다. 즉, 당업자는, 물리적 환경 내의 "고정" 위치들로 지칭되는 위치들이 공간 내의 절대 위치들이 아닐 수 있고, 사용자의 기준계에 대해 고정된다는 것을 인식할 것이다. 일부 예들에서, 사용자가 건물의 방에 있는 경우, 위치는 방 내의(예컨대, 방의 벽, 바닥 또는 천장 상의) 고정 위치에 대응하는(예컨대, 그의 표현인) 3차원 환경 내의 고정 위치이다. 일부 예들에서, 사용자가 이동 차량의 내측에 있는 경우, 위치는 차량의 내부를 따른 고정 위치에 대응하는(예컨대, 그의 표현인) 3차원 환경 내의 고정 위치이다. 일부 실시예들에서, 위치는 3차원 환경에 디스플레이된 콘텐츠에 대해 고정되며, 여기에서 디스플레이된 콘텐츠는 물리적 환경 내의 고정된 미리정의된 물리적 위치에 대응한다.
일부 실시예들에서, 미리정의된 물리적 위치에 대응하는 위치는 3차원 환경의 디스플레이에 대한(예컨대, 디스플레이 생성 컴포넌트에 대한) 고정 위치이다. 일부 실시예들에서, 위치는, 사용자의 관점이 변화함에 따라(예컨대, 사용자의 관점의 변화에 응답하여 또는 그와 함께) 대체적으로 업데이트되는, 3차원 환경 내에 디스플레이되는 특정 콘텐츠에 상관없이, 3차원 환경의 사용자 관점에 대해 고정된다(예컨대, 디스플레이 생성 컴포넌트에 의해 3차원 환경의 디스플레이에 대해 고정되는 위치). 일부 예들에서, 위치는 3차원 환경의 디스플레이의 에지를 따른(예컨대, 그의 미리정의된 거리 내의) 고정 위치이다. 일부 예들에서, 위치는 3차원 환경의 디스플레이에 대해 중심에 있다(예컨대, 3차원 환경의 디스플레이의 저부, 상부, 좌측 또는 우측 에지를 따라 디스플레이 영역 내의 중심에 있음).
일부 실시예들에서, 미리정의된 물리적 위치는 사용자 상의 고정 위치이다. 일부 예들에서, 미리정의된 물리적 위치는 사용자의 손 또는 손가락이다. 일부 그러한 예들에서, 미리정의된 물리적 위치에 대응하는 위치는 3차원 환경 내의 사용자의 손 또는 손가락의 디스플레이된 표현을 포함한다.
일부 실시예들에서, 3차원 환경에 시스템 사용자 인터페이스를 디스플레이한 후에, 컴퓨터 시스템은 (예컨대, 제1 제스처, 및 미리정의된 물리적 위치에 대응하는 위치로 지향된 시선을 검출한 후에 시스템 사용자 인터페이스를 디스플레이하는 동안) 제2 제스처(예컨대, 사용자의 손, 손목, 손가락(들) 또는 팔에 의해 수행되는 제2 제스처)를 검출한다. 제2 제스처를 검출하는 것에 응답하여, 시스템 사용자 인터페이스(예컨대, 애플리케이션 시작 사용자 인터페이스)를 디스플레이한다. 일부 실시예들에서, 제2 제스처는 제1 제스처의 연속이다. 예를 들어, 제1 제스처는 (예컨대, 동일한 손 상의 사용자의 검지 위에서의 사용자의 엄지의 이동에 의한) 스와이프 제스처이고, 제2 제스처는 스와이프 제스처의 연속(예컨대, 검지 위에서의 엄지의 계속되는 이동)이다(예컨대, 제2 제스처는, 제2 제스처의 시작 위치를 제1 제스처의 것으로 리세팅하지 않고서, 제1 제스처의 종료 위치로부터 시작함). 일부 실시예들에서, 제2 제스처는 제1 제스처의 반복이다(예컨대, 제1 제스처를 수행한 후에, 제2 제스처에 대한 시작 위치는 제1 제스처의 시작 위치의 미리정의된 거리 내로 리세팅되고, 제2 제스처는 미리정의된 허용오차 내에서 제1 제스처의 이동을 다시 따라감). 일부 실시예들에서, 홈 사용자 인터페이스를 디스플레이하는 것은, 디스플레이된 3차원 환경의 더 큰 부분을 차지하고 추가 사용자 인터페이스 객체들 및 옵션들을 보여주기 위해, 미리정의된 물리적 위치에 대응하는 위치에 대해 미리정의된 위치로부터 시스템 어포던스를 확장시키는 것을 포함한다. 일부 실시예들에서, 시스템 어포던스는 각각의 콘텐츠가 없는 표시자이며, 각각의 콘텐츠(예컨대, 최근에 사용된 또는 빈번하게 사용되는 애플리케이션들에 대한 애플리케이션 아이콘들의 행을 갖는 도크)는 손에 의한 제1 스와이프 제스처에 응답하여 표시자를 대체하고; 설치된 애플리케이션들 모두에 대한 애플리케이션 아이콘들의 2차원 그리드가 손에 의한 제2 스와이프 제스처에 응답하여 도크를 대체하며; 3차원 작업 환경 내의 상이한 심도들 및 위치들에 현수된 상호작용형 애플리케이션 아이콘들을 갖는 3차원 작업 환경이 손에 의한 제3 스와이프 제스처에 응답하여 2차원 그리드를 대체한다.
일부 실시예들에서, 3차원 환경의 현재 콘텍스트는 수신된 통지의 표시의 디스플레이(예컨대, 수신된 통지에 관한 정보의 서브세트의 초기 디스플레이)를 포함하고, 3차원 환경의 현재 콘텍스트 내의 동작을 수행하는 것은 수신된 통지에 관한 추가 정보를 포함하는 확장된 통지를 디스플레이하는 것(예컨대, 초기에 디스플레이된 서브세트를 초과하는 정보의 디스플레이)을 포함한다. 일부 실시예들에서, 3차원 환경의 현재 콘텍스트는 시선이 현재 지향되는 위치에 기초하여 결정된다. 일부 실시예들에서, 통지가 3차원 환경에서 수신되고 표시되며, 사용자의 시선이 통지를 향하도록 지향될 때(그리고 미리정의된 물리적 위치(예컨대, 사용자의 손)에 대응하는 위치로 지향되지 않음), 디바이스는 현재 콘텍스트가 통지와의 상호작용이라고 결정하고, 사용자의 제스처(예컨대, 엄지 또는 손목에 의한 상향 플릭 제스처)를 검출하는 것에 응답하여 3차원 환경에 확장된 통지 콘텐츠를 디스플레이한다.
일부 실시예들에서, 3차원 환경의 현재 콘텍스트는 하나 이상의 사진들의 표시(예컨대, 하나 이상의 사진들의 하나 이상의 각각의 섬네일들)의 디스플레이를 포함하고, 3차원 환경의 현재 콘텍스트 내의 동작을 수행하는 것은 3차원 환경에 하나 이상의 사진들 중 적어도 하나를 디스플레이하는 것(예컨대, 사진을 증강된 방식으로(예컨대, 확장된 방식으로, 애니메이션화된 방식으로, 향상된 방식으로, 3D로, 기타 등등으로) 디스플레이함)을 포함한다. 일부 실시예들에서, 3차원 환경의 현재 콘텍스트는 시선이 현재 지향되는 위치에 기초하여 결정된다. 일부 실시예들에서, 이미지가 3차원 환경에 디스플레이되고, 사용자의 시선이 이미지를 향하도록 지향될 때(그리고 미리정의된 물리적 위치(예컨대, 사용자의 손)에 대응하는 위치로 지향되지 않음), 디바이스는 현재 콘텍스트가 이미지와의 상호작용이라고 결정하고, 사용자의 제스처(예컨대, 엄지 또는 손목에 의한 상향 플릭 제스처)를 검출하는 것에 응답하여 이미지를 3차원 환경에 증강된 방식으로 디스플레이한다.
도 10에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에서 설명되는 다른 방법들(예컨대, 방법들(8000, 9000, 11000, 12000, 13000))과 관련하여 본 명세서에서 설명되는 다른 프로세스들의 상세사항들이 도 10과 관련하여 위에서 설명된 방법(10000)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(10000)을 참조하여 위에 설명된 제스처들, 시선 입력들, 물리적 객체들, 사용자 인터페이스 객체들 및/또는 애니메이션들은, 선택적으로, 본 명세서에 설명된 다른 방법들(예컨대, 방법들(8000, 9000, 11000, 12000, 13000))을 참조하여 본 명세서에 설명되는 제스처들, 시선 입력들, 물리적 객체들, 사용자 인터페이스 객체들 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.
도 11은 일부 실시예들에 따른, 미리정의된 입력 제스처들을 사용하여 3차원 환경과 상호작용하기 위한 예시적인 방법(11000)의 흐름도이다. 일부 실시예들에서, 본 방법(11000)은, 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120))(예컨대, 헤드업 디스플레이, 디스플레이, 터치스크린, 프로젝터 등) 및 하나 이상의 카메라들(예컨대, 사용자의 손에서 하향으로 향하는 카메라(예컨대, 컬러 센서들, 적외선 센서들, 및 다른 심도 감지 카메라들) 또는 사용자의 머리로부터 전방으로 향하는 카메라)을 포함하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 본 방법(11000)은, 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터 시스템의 하나 이상의 프로세서들, 예컨대 컴퓨터 시스템(101)의 하나 이상의 프로세서들(202)(예컨대, 도 1a의 제어 유닛(110))에 의해 실행되는 명령어들에 의해 통제된다. 방법(11000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.
본 방법(11000)에서, 컴퓨터 시스템은, 하나 이상의 가상 객체들(및 선택적으로, 가상 객체들(예컨대, 아이콘들, 사진들, 아바타들 등)이 물리적 환경 내의 하나 이상의 물리적 표면들(예컨대, 벽들, 윈도우들, 테이블 상판 등)의 표현들 상에 오버레이된 상태의, 물리적 환경의 일부분으로 지향된 카메라의 시야의 표현)을 포함하여, 3차원 환경(예컨대, 가상 환경 또는 증강 현실 환경)을 디스플레이한다(11002). 컴퓨터 시스템은 3차원 환경 내의 제1 객체(예컨대, 전자 디바이스를 제어하는 데 사용되는 핸드헬드 제어기 이외의, 그리고 사용자의 손, 손목, 또는 팔 또는 그의 표현(들) 이외의 물리적 객체 또는 가상 객체)를 향해 지향되는 (예컨대, 사용자의) 시선을 검출하며(예컨대, 시선은 카메라의 시야의 표현 내에 디스플레이된 물리적 객체, 또는 물리적 환경 또는 순수 가상 환경의 증강 현실 뷰 내에 디스플레이된 가상 객체에서 검출됨), 여기에서 시선은 제1 기준들(예컨대, 안정성, 지속시간 요건들)을 충족시키고, 제1 객체는 적어도 하나의 제스처 입력에 응답한다(11004). 일부 실시예들에서, 제1 객체를 향한 시선을 검출하는 것은, 제1 객체가 존재하지 않는 제1 위치로부터 제1 객체가 존재하는 제2 위치로의 시선의 이동을 검출하는 것을 포함한다. 제2 위치에의 시선의 도달은, 아래에 설명되는 바와 같이, 3차원 환경 내의 제1 객체와 연관된 상호작용 옵션들의 표시를 표시할지 여부를 결정하기 위한 휴리스틱을 트리거한다. 일부 실시예들에서, 제1 객체를 향한 시선을 검출하는 것은 시선을 검출하는 것, 및 시선이 적어도 임계 시간 동안 제1 객체의 위치에 실질적으로 정지된 상태로 유지되었다고 결정하는 것을 포함한다. 제1 기준들을 충족시키고, 적어도 하나의 제스처 입력에 응답하는 제1 객체를 향하는 시선을 검출하는 것에 응답하여: (예컨대, 사용자의) 손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태(예컨대, 손이 준비 자세에 있는 것, 또는 손이 제어기 상에 있는 것)에 있다는 결정에 따라(예컨대, 시선이 제1 기준들을 충족시키고 제1 객체를 향하는 동안 손이 준비 상태가 됨, 또는 손이 이미 준비 상태로 배치되고 그로 유지되는 동안, 시선이 제1 객체로 지향되는 동안 시선이 제1 기준들을 충족시킴), 컴퓨터 시스템은 3차원 환경에 제1 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시를 디스플레이한다(예컨대, 3차원 환경에 표시된 제1 객체의 외관을 변경함, 또는 3차원 환경에서 제1 객체 근처에 하나 이상의 추가 가상 객체들을 디스플레이함)(11006). 이는 도 7j 및 수반되는 설명들에 예시되어 있으며, 여기에서 가상 객체들(7506, 7508, 또는 7510)은 사용자의 손이 준비 상태 구성에 있는 동안 시선이 제1 기준들을 충족시키는 것에 응답하여 강조된다. 일부 실시예들에서, 상호작용 옵션은 사용자가 디바이스를 통해 각각의 가상 또는 물리적 객체와 상호작용할 수 있는 방식이다. 예를 들어, 상호작용은 3차원 환경에서 제1 객체의 외관을 제어하는 것을 수반할 수 있다. 다른 예에서, 상호작용은 제1 객체와 연관된 콘텐츠의 출력(예컨대, 시각적, 청각적, 및/또는 촉각적 출력들)을 제어하는 것을 수반할 수 있다. 일부 실시예들에서, 제1 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시는 (예컨대, 상호작용 옵션들이 어떤 것인지를 식별하지 않고서) 단지 하나 이상의 상호작용 옵션들이 이용가능하다는 표시일 뿐이다. 일부 실시예들에서, 하나 이상의 상호작용 옵션들의 표시는 이용가능한 상호작용 옵션들 중 하나 이상을 식별한다. 일부 실시예들에서, 제1 객체는 가상 객체(예컨대, 사진, 가상 모델, 가상 어시스턴트, 아바타 등)이고, 표시는 가상 객체와 연관된 선택가능 옵션들의 메뉴의 디스플레이, 또는 가상 객체의 시각적 특성들(예컨대, 색상, 적용된 시각적 효과, 크기, 불투명도, 포화도 등)의 변화이다. 일부 실시예들에서, 제1 객체는 물리적 객체(예컨대, 전구, 스피커, 전기 벽난로, 팬 등)이고, 표시는 물리적 객체와 연관된 다양한 제어가능 기능들에 대한 선택가능 옵션들 또는 제스처 프롬프트들의 메뉴의 디스플레이, 또는 3차원 환경 내의 물리적 객체의 외관의 증강(예컨대, 마스크 또는 장식으로 오버레이됨, 주밍(zooming)됨, 강조됨 등)이다. 제1 기준들을 충족시키고, 적어도 하나의 제스처 입력에 응답하는 제1 객체를 향하는 시선을 검출하는 것에 응답하여: 손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태에 있지 않다는 결정에 따라, 제1 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시를 디스플레이하는 것을 보류한다(예컨대, 제1 객체의 외관을 포함하는 3차원 환경의 외관은, 카메라의 변경된 시야에 기인하는 변화들을 제외하고는, 어떠한 방식으로도 변경되지 않음)(11006). 이는 도 7i 및 수반되는 설명들에 예시되어 있으며, 여기에서 가상 객체들(7506, 7508, 또는 7510)은 사용자의 손이 준비 상태 구성에 있지 않은 동안 시선이 제1 기준들을 충족시키는 것에 응답하여 강조되지 않는다. 일부 실시예들에서, 디바이스는 사용자의 시선을 연속적으로 추적하고, 사용자의 시선이 3차원 환경 내의 상호작용형 객체 상에서 검출되고 미리정의된 기준들(예컨대, 안정성, 지속시간)을 충족시킬 때마다, 디바이스는 제1 객체에 이용가능한 하나 이상의 상호작용 옵션들의 시각적 표시가 디스플레이되어야 하는지를 결정하기 위해 사용자의 손이 준비 상태에 있는지 여부에 기초하여 위의 휴리스틱을 사용한다. 일부 실시예들에서, 디바이스는 사용자의 손을 연속적으로 추적하며, 디바이스가 사용자의 손이 준비 상태에 들어간다는 것을 검출할 때, 디바이스는 상호작용 옵션들에 대한 시각적 표시를 디스플레이하기 위한 상태에 진입하고, 사용자의 시선이 상호작용 옵션들을 갖는 객체에 대한 제1 기준들을 충족시킬 때마다 상호작용 옵션들의 표시들을 디스플레이한다. 위의 인간-기계 인터페이스 설계들은, 사용자가 환경과 상호작용하기보다는 단지 환경을 관찰하기를 원하는 경우 시각적 혼란 및 주의산만을 감소시키면서, 사용자가 3차원 환경을 자유롭게 보도록 허용한다. 사용자가 환경과 상호작용하는 데 관심이 있고, 어떤 객체들이 상호작용형이고 어떤 상호작용 옵션들이 이용가능하는지를 보기를 원하는 경우, 사용자는 그의 손을 준비 상태에 둘 수 있고, 그의 시선을 사용하여 환경을 탐색할 수 있다. 사용자는, 또한, 객체를 동시에 응시하고 그/그녀의 손을 준비 상태에 두어 상호작용 옵션들의 표시를 본 다음에 객체에 대한 원하는 상호작용 옵션에 대한 제스처를 수행함으로써, 객체와 직접 상호작용할 수 있다. 현재 개시된 인간-기계 인터페이스 설계는, 시선(또는 다른 유형들의 입력)만을 사용하여 객체들을 선택하고 선택의 시각적 표시를 트리거한 다음에, 객체가 시선(또는 다른 입력)에 의해 선택된 후에 사용자가 손 제스처들을 사용하여 선택된 객체와 상호작용하도록 허용하는 설계와 구별된다. 사용자가 그의 손을 준비 상태에 두었는지 여부에 상관없이 시선만(또는 다른 단일 유형의 입력)을 사용하여 객체를 선택하고 시각적 피드백의 디스플레이를 트리거하는 것은, 사용자가 실제로 환경 내의 객체들과 상호작용하지 않고서 단지 환경을 가볍게 시각적으로 스캐닝하기를 원할 때 사용자에게 많은 시각적 주의산만들을 야기한다. 일부 시스템은 시스템이 추가 제스처 입력을 위한 제스처 인식 절차를 개시하기 전에 사용자가 그/그녀의 손을 준비 상태에 배치할 것을 요구하지만, 이들 종래의 시스템들은 객체에 대한 상호작용 옵션들의 시각적 표시를 트리거하기 위해 시선과 준비 상태가 동시에 존재할 것을 요구하지 않는다.
일부 실시예들에서, 손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태에 있다고 결정하는 것은 손의 미리정의된 부분(예컨대, 지정된 손가락)이 물리적 제어 요소와 접촉하고 있다고 결정하는 것을 포함한다. 일부 실시예들에서, 물리적 제어 요소는 사용자로부터 분리된 제어기(예컨대, 각각의 입력 디바이스)이다(예컨대, 준비 상태는 사용자의 엄지가 사용자의 검지에 부착된 터치 감응형 스트립 또는 링과 접촉하는 것임). 일부 실시예들에서, 물리적 제어 요소는 사용자의 손의 상이한 부분이다(예컨대, 준비 상태는 엄지가 검지의 상부 측부(예컨대, 제2 너클 근처)와 접촉하는 것임). 일부 실시예들에서, 물리적 제어 요소는 제1 객체를 식별하는 데 또는 상호작용 옵션들의 표시가 표시되어야 하는 객체의 위치를 특정하는 데 사용되지 않고(예컨대, 물리적 제어 요소는 포인팅 디바이스로서 사용되지 않음), 그 목적을 위해 시선이 사용된다. 일부 실시예들에서, 디바이스는 카메라를 사용하여 손이 미리정의된 준비 상태에 있는지 여부를 검출하고, 3차원 환경의 뷰 내에 준비 상태에 있는 손을 디스플레이한다. 일부 실시예들에서, 디바이스는, 터치 감응형이고 전자 디바이스로 터치 입력을 전송하기 위해 전자 디바이스에 통신가능하게 결합되는 물리적 제어 요소를 사용하여, 손이 미리정의된 준비 상태에 있는지 여부를 검출한다.
일부 실시예들에서, 손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태에 있다고 결정하는 것은 손이 사용자에 대해 미리정의된 레벨을 초과하여 상승되어 있다고 결정하는 것을 포함한다. 일부 실시예들에서, 손이 상승되어 있다고 결정하는 것은 손이 특정 횡방향 평면 위에(예컨대, 사용자의 허리 위에) 위치된다고 결정하는 것을 포함한다. 일부 실시예들에서, 손이 상승되어 있다고 결정하는 것은 사용자의 손목 또는 팔꿈치가 적어도 소정 양만큼(예컨대, 90도 각도 내에서) 구부러져 있다고 결정하는 것을 포함한다. 일부 실시예들에서, 디바이스는 카메라를 사용하여 손이 미리정의된 준비 상태에 있는지 여부를 검출하고, 3차원 환경의 뷰 내에 준비 상태에 있는 손을 디스플레이한다. 일부 실시예들에서, 디바이스는, 사용자의 손, 손목 또는 팔에 부착되고 전자 디바이스로 이동 입력을 전송하기 위해 전자 디바이스에 통신가능하게 결합되는 하나 이상의 센서들(예컨대, 모션 센서들)을 사용하여, 손이 미리정의된 준비 상태에 있는지 여부를 검출한다.
일부 실시예들에서, 손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태에 있다고 결정하는 것은 손이 미리정의된 구성에 있다고 결정하는 것을 포함한다. 일부 실시예들에서, 미리정의된 구성은 손의 각각의 손가락(예컨대, 엄지)이 사용자의 손의 상이한 부분(예컨대, 검지와 같은 반대편 손가락, 또는 검지의 중위 지골 또는 중간 너클과 같은, 반대편 손가락의 미리정의된 부분)과 접촉하고 있을 것을 요구한다. 일부 실시예들에서, 미리정의된 구성은, 위에 설명된 바와 같이, 손이 특정 횡방향 평면 위에(예컨대, 사용자의 허리 위에) 있을 것을 요구한다. 일부 실시예들에서, 미리정의된 구성은 (예컨대, 팔의 축방향 회전 없이) 엄지 측부를 향하는 그리고 새끼손가락 측부로부터 멀어지는 손목의 굽힘(예컨대, 요측 굴곡)을 요구한다. 일부 실시예들에서, 손이 미리정의된 구성에 있을 때, 하나 이상의 손가락들은 자연스러운 휴지 위치에 있고(예컨대, 말려 있음), 전체 손은 제스처를 수행하기 위한 사용자의 준비를 나타내기 위해 손, 손목 또는 팔의 자연스러운 휴지 위치로부터 멀리 기울어지거나 이동된다. 당업자는, 사용되는 특정 미리정의된 준비 상태가, 직관적이고 자연스러운 사용자 상호작용을 갖도록 선택될 수 있고, 전술한 기준들의 임의의 조합을 요구할 수 있다는 것을 인식할 것이다. 일부 실시예들에서, 미리정의된 구성은 사용자가 3차원 환경에 입력을 제공하고 그와 상호작용하기보다는 단지 3차원 환경을 보기를 원할 때의 사용자의 손의 자연스러운 휴지 자세(예컨대, 사람의 무릎, 테이블 상판 또는 신체의 측부 상에서의 이완되고 휴지 상태인 자세)와 구별된다. 자연스러운 휴지 자세로부터 미리정의된 구성으로의 변화는 의도적이며, 미리정의된 구성으로의 사용자의 손의 의도적인 이동을 요구한다.
일부 실시예들에서, 제1 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시를 디스플레이하는 것은 후속 입력(예컨대, 음성 입력, 손 제스처 등)에 응답하여 조정가능한 제1 가상 객체에 관한 정보를 디스플레이하는 것을 포함한다. 일부 실시예들에서, 제1 가상 객체에 관한 정보의 디스플레이(여기에서 정보는 이전에 디스플레이되지 않았음)는 가상 객체가 상호작용형이라는 것을 나타내고(예컨대, 객체가 추가 제스처 입력들을 수신할 준비가 되어 있다는 것을 나타내는 어포던스 또는 시각적 표시), 후속 입력은 선택가능 옵션들의 메뉴가 디스플레이되게 한다. 예를 들어, 객체는 3D 영화의 아이콘이고, 표시는 영화의 소개이며, 디바이스는 시선이 아이콘 상에 있는 동안 그리고 소개가 디스플레이되는 동안 제스처 입력에 응답하여 영화에 대한 재생 제어부들을 디스플레이한다. 일부 실시예들에서, 제1 가상 객체에 관한 정보의 디스플레이는 제한된 상호작용형 옵션들의 세트를 포함한다. 예를 들어, 객체는 물리적 스피커이고, 표시는 재생 제어부들의 감소된 세트이며; 시선이 물리적 스피커 상에 있는 동안 그리고 재생 제어부들의 감소된 세트가 디스플레이되는 동안 제스처 입력에 응답하여, 미디어 플레이어에 대한 추가 콘텐츠 및 제어부들을 갖는 확장된 제어 인터페이스가 디스플레이된다. 일부 실시예들에서, 제1 가상 객체에 관한 정보는 제1 가상 객체와 연관된(예컨대, 제1 가상 객체와 함께 디스플레이되거나 그에 의해 표현되는 콘텐츠(예컨대, 사진이 촬영되었을 때의 시간 및 위치)와 연관된) 시간 및/또는 위치를 포함한다. 제1 가상 객체가 가상 풍경(예컨대, 정적 이미지 또는 비디오)을 디스플레이하는 가상 윈도우인 일부 예들에서, 제1 가상 객체에 관한 정보는 디스플레이된 가상 풍경의 위치(예컨대, 가상 풍경에 대한 이미지들이 촬영된 지리적 위치) 및/또는 디스플레이된 가상 풍경의 하루중 시간을 포함하고; 위치 및/또는 시간이 디스플레이되는 동안 수신된 후속 입력에 응답하여, 디바이스는 상이한 위치 및/또는 하루중/연중 시간의 풍경을 디스플레이하거나, 또는 풍경의 시간 시퀀스(상이한 건설 단계에서의 건물, 상이한 계절들 또는 하루중 시간에서의 지리적 위치)를 시작한다.
일부 실시예들에서, 제1 객체(예컨대, 3차원 캐릭터, 2차원 이미지, 아이콘, 아바타 등과 같은 제1 가상 객체)에 이용가능한 하나 이상의 상호작용 옵션들의 표시를 디스플레이하는 것은 제1 객체의 애니메이션을 디스플레이하는 것을 포함한다. 일부 예들에서, 제1 가상 객체는, 사진 또는 하나의 예술작품과 같은 이미지이고, 제1 가상 객체의 애니메이션을 디스플레이하는 것은 이미지 자체를 애니메이션화하는 것 및/또는 이미지 내에 디스플레이된 하나 이상의 요소들을 애니메이션화하는 것을 포함한다. 일부 예들에서, 제1 가상 객체는 비디오 콘텐츠를 (선택적으로, 대응하는 오디오 콘텐츠와 함께) 포함하는 모션 사진 또는 다중 프레임 사진을 나타내는 정지 이미지를 포함하고, 애니메이션을 디스플레이하는 것은 모션 또는 다중 프레임 사진의 비디오 콘텐츠(및 선택적으로, 대응하는 오디오 콘텐츠)의 적어도 일부분을 디스플레이하는 것을 포함한다. 일부 실시예들에서, 제1 객체는 영화의 아이콘이고, 정보는 영화로부터의 짧은 컷 장면을 포함한다.
일부 실시예들에서, 제1 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시를 디스플레이하는 것은 제1 객체의 적어도 일부분 위에 선택 표시자를 디스플레이하는 것(예컨대, 제1 객체의 에지들과 같은 적어도 일부분 또는 전체를 강조함, 애니메이션화함, 그에 시각적 효과(예컨대, 쉬머링, 스포트라이팅(spotlighting), 지글링(jiggling) 등)를 적용함)을 포함한다.
일부 실시예들에서, 컴퓨터 시스템은 3차원 환경 내의 제2 객체(예컨대, 전자 디바이스를 제어하는 데 사용되는 핸드헬드 제어기 이외의, 그리고 사용자의 손, 손목, 또는 팔 또는 그의 표현(들) 이외의 물리적 객체 또는 가상 객체)를 향해 지향되는 (예컨대, 사용자의) 시선을 검출하며(예컨대, 제1 객체로부터 제1 객체와 구별되는 제2 객체로의 시선의 이동을 검출함), 여기에서 시선은 제1 기준들(예컨대, 안정성, 지속시간 요건들)을 충족시키고, 제2 가상 객체는 적어도 하나의 제스처 입력에 응답한다. 제1 기준들을 충족시키고, 적어도 하나의 제스처 입력에 응답하는 제2 가상 객체를 향하는 시선을 검출하는 것에 응답하여: 손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태(예컨대, 손이 준비 자세에 있는 것, 또는 손이 제어기 상에 있는 것)에 있다는 결정에 따라(예컨대, 시선이 제1 기준들을 충족시키고 제2 객체를 향하는 동안 손이 준비 상태가 됨, 또는 손이 이미 준비 상태로 배치되고 그로 유지되는 동안, 시선이 제2 객체로 지향되는 동안 시선이 제1 기준들을 충족시킴), 컴퓨터 시스템은 제2 가상 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시를 디스플레이한다. 일부 실시예들에서, 사용자의 시선이 하나의 객체로부터 다른 객체로 시프트함에 따라(그리고 일부 실시예들에서, 손이 미리정의된 준비 상태에 있다는 결정에 따라), 하나 이상의 상호작용 옵션들이 이용가능하다는 표시도 하나의 가상 객체로부터 다른 하나의 가상 객체로 시프트한다. 다시 말해서, 제2 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시가 디스플레이될 때, 디바이스는 제1 객체에 대한 하나 이상의 상호작용 옵션들의 표시를 디스플레이하는 것을 중지한다.
일부 실시예들에서, 제1 기준들을 충족시키고, 적어도 하나의 제스처 입력에 응답하는 제1 객체를 향하는 시선을 검출하는 것에 응답하여: (예컨대, 시선이 제1 객체 상에 유지되는 동안 그리고 제1 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시가 디스플레이되는 동안) 손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태에 있다는 결정에 따라: 컴퓨터 시스템은 (예컨대, 카메라 또는 물리적 제어기 디바이스 상의 하나 이상의 센서들을 사용하여) 손에 의한 제1 제스처 입력(예컨대, 반대편 손가락 상에서의 엄지의 탭과 같은 탭 제스처, 또는 하나 이상의 손가락들 또는 전체 손을 사용한 스와이프 제스처)을 검출한다. 일부 실시예들에서, 손에 의한 제1 제스처 입력을 검출하는 것은 미리정의된 이동 패턴/경로를 만족시키는 미리정의된 준비 상태로부터의 손의 이동인, 미리정의된 준비 상태로부터 제1 미리설정된 상태로의 손의 이동을 검출하는 것을 포함한다. 손에 의한 제1 제스처 입력을 검출하는 것에 응답하여, 컴퓨터 시스템은 제1 객체와의 상호작용(예컨대, 제1 제스처 입력과 연관되는 상호작용)을 수행한다. 예를 들어, 제1 객체는 이미지이고, 표시는 이미지의 애니메이션이며, 제1 제스처 입력은 엄지에 의한 검지 상에서의 또는 그를 가로지르는 탭 입력 또는 스와이프 입력이고; 제1 객체와의 상호작용을 수행하는 것은 이미지를 확대하는 것, 및 이미지를 3차원 환경 내에 배치하여 이미지와 연관된 몰입형 경험(예컨대, 이미지와 연관된 단편 영화의 3D 뷰)을 제공하는 것을 포함한다. 다른 예에서, 제1 객체는, 가상 윈도우에 표시되거나 실제 윈도우 상에 오버레이된 제1 가상 풍경이고, 표시는 제1 가상 풍경과 연관된 위치 및 시간에 관한 텍스트 정보이며, 제1 제스처 입력은 팔, 손, 또는 손가락의 스와이프 제스처이고; 제1 객체와의 상호작용을 수행하는 것은 제1 위치 및/또는 제1 시간을 갖는 제1 가상 풍경의 디스플레이를 제1 위치 및/또는 제1 시간과 구별되는 제2 위치 및/또는 제2 시간을 갖는 제2 가상 풍경으로 스위칭하는 것을 포함한다.
일부 실시예들에서, 제1 객체는 제1 이미지(예컨대, 제1 사진 또는 모션 사진)를 포함하고, 제1 객체와의 상호작용을 수행하는 것은 제1 이미지를 제1 이미지와는 상이한 제2 이미지(예컨대, 제2 사진 또는 모션 사진)로 대체하는 것을 포함한다. 예를 들어, 사용자가 그/그녀의 손이 준비 상태에 있는 상태에서 벽(예컨대, 물리적 벽) 상에 오버레이된 사진을 응시할 때, 사진은 사진이 하나 이상의 상호작용 옵션들과 연관되어 있다는 것을 나타내기 위해 애니메이션화되고; 이어서, 사용자가 사진을 응시하면서 그/그녀의 손을 사용하여 스와이프 제스처를 제공할 때, 디바이스는 현재 사진을 (예컨대, 사진첩(photo library) 내의 사진들의 목록으로부터의) 다른 사진으로 대체한다.
일부 실시예들에서, 제1 객체는 제1 재생가능 미디어 콘텐츠(예컨대, 제1 비디오 콘텐츠, 제1 오디오 콘텐츠, 또는 제1 멀티미디어 콘텐츠)를 포함하고, 제1 객체와의 상호작용을 수행하는 것은 제1 재생가능 미디어 콘텐츠의 재생을 토글링하는 것(예컨대, 재생하거나 일시정지하는 것)(예컨대, 제1 비디오 콘텐츠, 제1 오디오 콘텐츠, 또는 제1 멀티미디어 콘텐츠를 재생하는 것과 그를 일시정지하는 것 사이에서 토글링함)을 포함한다. 일부 예들에서, 제1 객체는 제1 비디오 콘텐츠의 각각의 프레임(예컨대, 정지 이미지)을 디스플레이하고, 상호작용은 (예컨대, 비디오 콘텐츠의 시작 부분으로부터 재생을 개시하거나 재시작함으로써, 또는 비디오 콘텐츠를 통한 도중 지점으로부터 재생을 재개함으로써) 디스플레이된 각각의 프레임에 대응하는 제1 비디오 콘텐츠 내의 현재 지점으로부터 제1 비디오 콘텐츠의 재생을 개시한다. 일부 예들에서, 제1 객체는 재생되고 있는 비디오 콘텐츠를 디스플레이하고, 상호작용은 비디오 콘텐츠의 재생을 일시정지한다. 일부 실시예들에서, 제1 재생가능 미디어 콘텐츠의 능동적 재생은 제1 재생가능 미디어 콘텐츠의 제시 영역을 확대하는 것(예컨대, 디스플레이의 더 큰 부분을 차지하기 위해, 또는 2D 디스플레이 모드로부터 3D 디스플레이 모드로 스위칭함)을 포함한다.
일부 실시예들에서, 제1 객체는 제1 가상 풍경을 디스플레이하는 가상 윈도우이고, 제1 객체와의 상호작용을 수행하는 것은 제1 가상 풍경의 디스플레이를 제1 가상 풍경과는 상이한 제2 가상 풍경의 디스플레이로 대체하는 것을 포함한다. 일부 실시예들에서, 각각의 가상 풍경은 경관, 도시 경관, 조감도, 파노라마 등의 이미지를 포함하고, 선택적으로, 3차원 환경 내의 가상 윈도우의 사용자의 관점이 변화함에 따라(예컨대, 사용자가 전자 디바이스 또는 전자 디바이스의 하나 이상의 카메라들을 이동시킴에 따라) 업데이트된다.
일부 실시예들에서, 제1 제스처 입력은 상향 플릭 제스처(예컨대, 선택적으로, 엄지가 검지와 같은 반대편 손가락 상에 놓여 있거나 달리 그와 접촉하고 있는 상태에서의, 엄지 측부를 향한 손목의 상향 플릭(예컨대, 요측 굴곡))이다. 제1 객체(예컨대, 가상 스테레오, 또는 물리적 스피커)와의 상호작용을 수행하는 것은 제1 객체에 대한 하나 이상의 상호작용 옵션들(또는 일부 실시예들에서, 하나 이상의 추가 상호작용 옵션들)을 갖는 사용자 인터페이스를 디스플레이하는 것을 포함한다. 일부 실시예들에서, 제1 객체와의 상호작용(예컨대, 하나 이상의 추가 제어부들 및 앨범들의 세트를 갖는 확장된 제어 사용자 인터페이스를 디스플레이하는 것)은 제스처가 상향 플릭 제스처라는 결정에 따라 수행되고, 다른 유형들의 제스처들(예컨대, 손목이 상향으로 플리킹하지 않고서, 엄지가 검지 상에서 탭핑하거나 스와이프하는 것)이 제1 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시로서 초기에 디스플레이되는 하나 이상의 재생 제어부들을 활성화하는 데 사용된다.
일부 실시예들에서, 제1 제스처 입력은 손의 회전(예컨대, 손목 및 전완의 축방향 회전)(손목의 회내운동 또는 회외운동으로도 불리움), 또는 손바닥을 향한 또는 그로부터 멀어지는 손목의 굽힘(굴곡 및 신전으로도 불리움), 또는 검지의 손가락 끝 주위에서의 엄지의 원형 시계 방향 또는 반시계 방향 이동)을 포함한다. 제1 객체(예컨대, 가상 스테레오, 앨범 커버, 또는 물리적 스피커)와의 상호작용을 수행하는 것은 제1 객체와 연관된 콘텐츠(예컨대, 현재 재생되거나 마지막 재생된 오디오 콘텐츠)의 출력 볼륨을 변경하는 것을 포함한다. 일부 실시예들에서, 제1 제스처 입력은 제1 객체와 연관된 콘텐츠를 출력하는 동안 검출된다. 일부 실시예들에서, 손바닥이 하향으로 회전하도록 하는 손목의 회전(예컨대, 회내운동)은 콘텐츠의 출력 볼륨의 감소를 야기하는 반면, 손바닥이 상향으로 회전하도록 하는 손목의 회전(예컨대, 회외운동)은 콘텐츠의 출력 볼륨의 증가를 야기한다. 일부 실시예들에서, 손목 또는 손가락의 반시계 방향 회전은 (왼손이 사용되는지 또는 오른손이 사용되는지에 상관없이) 출력 볼륨의 감소를 야기하는 반면, 손목 또는 손가락의 시계 방향 회전은 (예컨대, 사용자가 물리적 볼륨 노브를 조정하는 것처럼) 콘텐츠의 출력 볼륨의 증가를 야기한다.
일부 실시예들에서, 제1 기준들은 시선이 (예컨대, 제1 객체로부터의 임계량 미만의 편차를 갖고서) 적어도 임계 시간 동안 제1 객체를 향해 지향된 상태로 유지되는 요건을 포함한다.
도 11에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에서 설명되는 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 12000, 13000))과 관련하여 본 명세서에서 설명되는 다른 프로세스들의 상세사항들이 도 11과 관련하여 위에서 설명된 방법(13000)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(11000)을 참조하여 위에 설명된 제스처들, 시선 입력들, 물리적 객체들, 사용자 인터페이스 객체들 및/또는 애니메이션들은, 선택적으로, 본 명세서에 설명된 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 12000, 13000))을 참조하여 본 명세서에 설명되는 제스처들, 시선 입력들, 물리적 객체들, 사용자 인터페이스 객체들 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.
도 12는 일부 실시예들에 따른, 3차원 환경으로 전이하기 위한 예시적인 방법(12000)의 흐름도이다. 일부 실시예들에서, 본 방법(12000)은, 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120))(예컨대, 헤드업 디스플레이, 디스플레이, 터치스크린, 프로젝터 등) 및 하나 이상의 카메라들(예컨대, 사용자의 손에서 하향으로 향하는 카메라(예컨대, 컬러 센서들, 적외선 센서들, 및 다른 심도 감지 카메라들) 또는 사용자의 머리로부터 전방으로 향하는 카메라)을 포함하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 본 방법(12000)은, 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터 시스템의 하나 이상의 프로세서들, 예컨대 컴퓨터 시스템(101)의 하나 이상의 프로세서들(202)(예컨대, 도 1a의 제어 유닛(110))에 의해 실행되는 명령어들에 의해 통제된다. 방법(12000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.
본 방법(12000)에서, 컴퓨터 시스템은 디스플레이 생성 컴포넌트를 전자 디바이스의 사용자에 대해 미리정의된 위치에 배치하는 것을 검출한다(예컨대, (예컨대, 디바이스 배향, 및/또는 착용 상태를 검출하는 HMD 상의 센서들을 통해) 사용자가 HMD를 그 또는 그녀의 머리에 쓰는 것을 검출함, (예컨대, 디스플레이 생성 컴포넌트 상에 구현된 모션 센서 및 눈 추적 기술을 통해) 사용자의 시선이 디스플레이를 보는 것과 조합하여 디스플레이 배향을 검출함, (예컨대, 디스플레이 생성 컴포넌트 상의 카메라를 사용하여) 사용자의 눈들이 디스플레이 바로 앞에 있는 것을 검출함, 또는 (예컨대, 디스플레이 생성 컴포넌트 상의 터치 센서들 및 모션 센서들을 사용하여) 디스플레이 생성 컴포넌트의 이동과 손 그립의 조합을 검출함)(12002). 예를 들어, 디바이스는 사용자가 (예컨대, HMD를 착용하기 위해 HMD 배향과 사용자의 두 손 그립의 조합을 사용하여) HMD를 그의 머리에 방금 썼다는 것, 또는 사용자가 방금 그의 두 손을 사용하여 디스플레이를 사용자의 눈들을 향해 바로 유지, 상승 및 배향시켰다는 것, 또는 웰컴 인터페이스를 개시하기 위해 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징 상의 버튼이 사용자에 의해 방금 활성화되었다는 것을 검출한다. 디스플레이 생성 컴포넌트를 컴퓨터 시스템의 사용자에 대해 미리정의된 위치에 배치하는 것은 사용자가 전자 디바이스를 사용하여 가상 및 몰입형 경험을 막 개시하려고 한다는(예컨대, 3차원 영화를 시작함, 3차원 가상 세계에 진입함 등) 것을 나타내며, 여기에서 사용자의 가상 몰입형 경험을 가능하게 하는 것은 사용자를 둘러싸는 실제 세계의 사용자의 현재 뷰가 전자 디바이스에 의해(예컨대, 사용자의 눈들 앞에 가까운 디스플레이의 존재 및 HMD의 소리 머플링 소거 기능들에 의해) 일시적으로 차단될 것을 요구한다. 이는 사용자에 대한 가상 몰입형 경험의 시작 전인 시점에 발생하고, 가상 몰입형 경험으로의 초기 전이는, 실제 세계의 뷰를 일시적으로 드러내기 위해 진행 중인 몰입형 경험을 후속적으로 일시정지한 다음에 일시정지된 몰입형 경험을 재개하기 위한 전이들보다 더 제어되고 점진적인 전이(예컨대, 인지적으로 부드러운 전이)로부터 이익을 얻는다. 다시 도 12를 참조하면, 디스플레이 생성 컴포넌트를 컴퓨터 시스템의 사용자에 대해 미리정의된 위치에 배치하는 것을 검출하는 것에 응답하여, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트를 통해, 패스 스루 부분을 포함하는 3차원 환경의 제1 뷰를 디스플레이하며, 여기에서 패스 스루 부분은 사용자를 둘러싸는 실제 세계의 적어도 일부분의 표현을 포함한다(12004). 이는, 예를 들어, 사용자가 디바이스(7100)를 그의 눈들 앞에서 두 손으로 유지하고 있을 때 디바이스(7100)가 물리적 환경(7800)을 디스플레이하는 도 7k에 예시되어 있다. 예를 들어, 제1 뷰는, 전자 디바이스가 처음 켜지거나 사용자의 눈들 앞에 배치될 때 디스플레이되는 웰컴/도입 사용자 인터페이스이다. 일부 실시예들에서, 패스 스루 부분은 사용자를 둘러싸는 물리적 환경을 드러내는 반투명 또는 시스루 부분이다. 일부 실시예들에서, 패스 스루 부분은 카메라에 의한 사용자 주위의 물리적 환경의 캡처된 이미지들 또는 비디오의 라이브 피드를 디스플레이한다. 일부 실시예들에서, 패스 스루 부분은, 전자 디바이스로부터의 제어 명령에 응답하여 투명 또는 반투명하게 만들어지는 디스플레이 생성 컴포넌트(예컨대, 디스플레이 또는 HMD)의 일부분이다(예컨대, 따라서, 사용자가, 사용자에 대해 미리정의된 위치로부터 디스플레이 생성 컴포넌트를 제거하지 않고서, 사용자를 둘러싸는 실제 세계를 보도록 그를 통해 볼 수 있게 함). 일부 실시예들에서, 패스 스루 부분은 패스 스루 부분을 둘러싸는 다른 가상 콘텐츠(예컨대, 2차원 및/또는 3차원 가상 객체들 및 사용자 인터페이스 요소들)와 함께 도입 사용자 인터페이스 내에 디스플레이된다. 일부 실시예들에서, 제1 뷰에서, 패스 스루 부분은 사용자가 디스플레이 생성 컴포넌트를 미리정의된 위치에 처음 배치할 때(예컨대, 사용자가 HMD를 그/그녀의 머리에 처음 쓸 때) 임의의 다른 가상 콘텐츠와 함께 디스플레이되지 않는다. 일부 실시예들에서, 제1 뷰에서, 패스 스루 부분은 사용자가 디스플레이 생성 컴포넌트를 미리정의된 위치에 처음 배치할 때 다른 가상 콘텐츠(예컨대, 2차원 데스크톱 또는 도크 또는 사용자의 뷰에서 부유하는 다른 사용자 인터페이스 요소들)와 함께 디스플레이된다. 다시 도 12를 참조하면, 패스 스루 부분을 포함하는 3차원 환경의 제1 뷰를 디스플레이하는 동안(그리고 디스플레이 생성 컴포넌트가 컴퓨터 시스템의 사용자에 대해 미리정의된 위치에 있는 동안), 컴퓨터 시스템은 디스플레이 생성 컴포넌트와 물리적으로 결합되는(예컨대, 둘러쌈, 부분적으로 둘러쌈, 직접 결합됨 또는 디바이스의 중간 부분을 통해 결합됨) 하우징에 대한 손의 그립의 변화를 검출한다(12006). 예를 들어, 손의 그립의 변화는 (예컨대, 두 손으로부터 한 손으로의, 또는 한 손으로부터 손 없음으로의, 또는 두 손으로부터 손 없음으로의) 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징 상에서 검출되는 손들의 총 수의 변화, (예컨대, 8개의 손가락들로부터 6개의 손가락들로의, 4개의 손가락들로부터 2개의 손가락들로의, 2개의 손가락들로부터 손가락 없음으로의, 기타 등등의) 디스플레이 생성 컴포넌트들과 접촉하는 손가락들의 총 수의 변화, 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징 상에서의 손 접촉으로부터 손 접촉 없음으로의 변화, 및/또는 (예컨대, 손 자세, 배향, 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 상이한 손가락들의 상대 그립력들 등의 변화에 기인하는) 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징 상에서의 접촉 위치(들) 및/또는 접촉 세기들의 변화를 포함한다. 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 손의 그립의 변화는, 선택적으로, 사용자에 대한 디스플레이 생성 컴포넌트의 미리정의된 위치의 변화를 야기하지 않고(예컨대, HMD는 여전히 사용자의 머리 상에 있어 사용자의 눈들을 덮음), 손의 그립의 변화는, 사용자가 (예컨대, 점진적으로 또는 확고하게) 디스플레이 생성 컴포넌트로부터 손을 놓고 가상 몰입형 경험에 몰입할 준비가 되어 있다는 것을 나타낸다. 일부 실시예들에서, 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 손의 그립의 변화를 검출하는 것은, 사용자의 손(들)에 의한 디스플레이 생성 컴포넌트의 감소된 수동 제어를 나타내는, 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 손 그립의 상태들의 둘 이상의 전이들을 검출하는 것을 포함한다. 다시 도 12를 참조하면, 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 손의 그립의 변화를 검출하는 것에 응답하여: 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 손의 그립의 변화가 제1 기준들을 충족시킨다는 결정에 따라, 3차원 환경의 제1 뷰를 3차원 환경의 제2 뷰로 대체하며, 여기에서 제2 뷰는 패스 스루 부분의 적어도 일부분을 가상 콘텐츠(예컨대, 제1 뷰 내의 기존 가상 콘텐츠의 확장 및 변환, 및/또는 제1 뷰에 존재하지 않았던 추가 가상 콘텐츠)로 대체한다. 이는, 예를 들어, 디바이스(7100)의 디스플레이를 향할 때의 (예컨대, 두 손으로부터 한 손으로의) 사용자의 그립의 변화에 응답하여 디바이스(7100) 상에 표시된 물리적 환경의 일부 부분들이 가상 콘텐츠(예컨대, 가상 객체들(7506, 7508, 7510))로 대체되는 도 7l에 예시되어 있다. 일부 실시예들에서, 제1 기준들은, 제1 기준들이 충족되기 위해, 제1 미리정의된 수로부터 제1 미리정의된 수보다 작은 제2 미리정의된 수로의(예컨대, 2개로부터 1개로의, 2개로부터 0개로의, 또는 1개로부터 0개로의, 기타 등등의), 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징 상에서 검출되는 손들(또는 손가락들)의 총 수의 감소를 요구한다. 예를 들어, 제1 기준들은, 사용자가 두 손을 사용하여 HMD를 사용자의 머리에 쓴 후 사용자의 두 손 중 한 손이 HMD로부터 제거될 때, 또는 사용자가 두 손을 사용하여 디스플레이를 사용자의 눈들 바로 앞에 배치한 후 사용자의 손들 중 한 손이 디스플레이로부터 제거될 때, 또는 사용자가 손(들)을 사용하여 디스플레이 또는 HMD를 미리정의된 위치에(예컨대, 사용자의 머리에 또는 사용자의 눈들 앞에) 배치한 후 사용자가 그의 손(들)을 디스플레이 또는 HMD로부터 완전히 뗄 때 충족된다. 일부 실시예들에서, 제1 기준들은 제1 수/양으로부터 제1 수/양보다 작은 제2 수/양으로의 접촉들의 수(예컨대, 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징 상에서 검출되는 손가락들의 총 수) 또는 접촉들의 총 양(예컨대, 사용자의 손(들)과의 접촉의 총 면적)의 감소를 요구한다. 예를 들어, 제1 기준들은, 사용자가, 디스플레이 생성 컴포넌트를 유지하고 그를 디스플레이 생성 컴포넌트 상의/로부터의 미리정의된 위치에 배치하는 데 사용되는 손가락들 중 일부 또는 전부를 이완/제거할 때 충족된다. 제1 기준들은, 사용자가, 그/그녀 주위의 물리적 세계로부터 차폐되고, 전자 디바이스에 의해 제공되는 가상 몰입형 경험에 완전히 몰입할 준비가 되어 있다는 것을 나타내기 위한, 디스플레이 생성 컴포넌트에 대한 수동 제어의 양의 요구되는 감소를 나타낸다. 일부 실시예들에서, 제2 뷰는 제1 뷰보다 증가된 양의 가상 콘텐츠를 포함하는, 전자 디바이스의 시스템 사용자 인터페이스이다. 예를 들어, 제2 뷰는, 사용자를 둘러싸는 실제 세계의 뷰를 더 적게 포함하거나 전혀 포함하지 않고 더 많은 가상 콘텐츠를 포함하거나 완전 몰입형 가상 콘텐츠를 포함하는 가상 환경의 3D 뷰를 포함한다. 일부 실시예들에서, 제1 뷰를 제2 뷰로 대체하는 것은 패스 스루 부분의 일부분을 가상 콘텐츠로 대체하는 것(예컨대, 새로운 가상 콘텐츠가 패스 스루 부분의 일부분 상에 오버레이됨)을 포함한다. 일부 실시예들에서, 제1 뷰를 제2 뷰로 대체하는 것은 (예컨대, 패스 스루 부분이 디스플레이의 반투명 또는 투명 상태로 구현될 때) 패스 스루 부분의 불투명도를 증가시키는 것을 포함하여서, 디스플레이의 반투명 또는 투명 부분 상에 디스플레이된 가상 콘텐츠가 더 잘 보이고 색 포화되게 한다. 일부 실시예들에서, 제2 뷰 내의 가상 콘텐츠는 제1 뷰 내의 가상 콘텐츠보다 더 몰입적인 경험을 사용자에게 제공한다(예컨대, 제1 뷰 내의 가상 콘텐츠는 사용자 앞에(예컨대, 사용자로부터의 상이한 심도들로) 디스플레이되는 2차원 객체들 및/또는 3차원 객체들이고, 제2 뷰 내의 가상 콘텐츠는 사용자로부터의 파노라마 또는 360도 뷰로 표현되는 3차원 세계를 포함함). 일부 실시예들에서, 제2 뷰는, 제1 뷰와 비교하여 사용자를 둘러싸는 물리적 환경의 더 적은 부분들 또는 더 작은 부분을 드러내는 더 작은 패스 스루 부분을 포함한다. 예를 들어, 제1 뷰의 패스 스루 부분은 사용자가 위치되는 방의 4개의 벽들을 보여주고, 제2 뷰의 패스 스루 부분은 가상 윈도우로 대체된 4개의 벽들 중 하나 상의 윈도우를 보여주며, 따라서 제2 뷰에서 패스 스루 부분의 면적이 감소된다.
일부 실시예들에서, 제1 뷰는 사용자의 눈들 앞에서 제1 시야각 또는 관찰 심도 범위에 걸쳐 있는 가상 객체들의 제1 세트를 포함하고; 제2 뷰는 제1 시야각 또는 관찰 심도 범위보다 큰 제2 시야각 또는 관찰 심도 범위에 걸쳐 있는 가상 객체들의 제2 세트를 포함한다. 예를 들어, 제1 뷰에서, 도입 사용자 인터페이스의 가상 객체들(예컨대, 2차원 사용자 인터페이스 객체들, 2차원 이미지들, 또는 3차원 사용자 인터페이스 객체들)은 사용자로부터의 동일하거나 상이한 심도들로 60도의 원추 내에 디스플레이되고; 제2 뷰에서, 시스템 사용자 인터페이스의 가상 객체들은 사용자의 눈들 앞에 중심설정된 100도, 180도, 또는 210도의 원추 내에 디스플레이된다. 일부 실시예들에서, 제1 뷰에서, 가상 객체들은 서로의 작은 심도 내에 디스플레이되고(예컨대, 공간 내의 표면 또는 얇은 층에 한정됨); 제2 뷰에서, 가상 객체들은 더 넓은 범위의 심도들로 디스플레이된다.
일부 실시예들에서, 제1 뷰는 사용자를 둘러싸는 실제 세계 내의 제1 물리적 객체에 대응하는 3차원 환경 내의 제1 표면을 오버레이하는 제1 가상 콘텐츠를 포함하고, 제2 뷰는, 제1 표면을 오버레이하는 제1 가상 콘텐츠에 더하여, 사용자를 둘러싸는 실제 세계 내의 제2 물리적 객체에 대응하는 3차원 환경 내의 제2 표면을 오버레이하는 제2 가상 콘텐츠를 포함한다. 예를 들어, 제1 뷰에서, 실제 세계에 존재하는 벽 또는 테이블 상판이 가상 객체들(예컨대, 아이콘들, 이미지들, 또는 다른 2D 또는 3D 객체들)로 오버레이되고(예컨대, 완전히 또는 부분적으로 덮이거나 차단되거나 드레이핑됨, 또는 장식됨 등); 제2 뷰에서, 더 많은 벽들 또는 전체 방이 가상 객체들로 오버레이된다(예컨대, 완전히 또는 부분적으로 덮이거나 차단되거나 드레이핑됨, 또는 장식됨 등). 일부 실시예들에서, 제2 뷰는 완전히 가상 콘텐츠로 구성되고, 사용자를 둘러싸는 실제 세계의 구조의 가시적인 증거를 거의 또는 전혀 남기지 않는다.
일부 실시예들에서, 제1 뷰는 제1 가상 콘텐츠를 포함하고, 제2 뷰는, 제1 가상 콘텐츠 및 패스 스루 부분을 대체하는 제2 가상 콘텐츠를 포함한다. 일부 실시예들에서, 제1 뷰는, 활성화될 때 3차원 환경에서 다양한 몰입형 애플리케이션 환경들 및/또는 경험들을 생성하는 복수의 사용자 인터페이스 객체들을 포함한다. 사용자가 그/그녀의 손(들)을 사용하여 사용자에 대해 미리정의된 위치에 디스플레이 생성 컴포넌트를 처음 배치할 때, 복수의 사용자 인터페이스 객체들 및 사용자를 둘러싸는 물리적 세계의 일부분을 보여주는 패스 스루 부분과 함께, 제1 뷰가 디스플레이된다. 사용자가 요구되는 방식으로 그/그녀의 손 그립을 변경할 때(예컨대, 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징 상의 손가락들 중 일부를 해제하거나 디스플레이 생성 컴포넌트로부터 완전히 손을 놓음), 복수의 사용자 인터페이스 객체 및 패스 스루 부분을 완전 몰입형 가상 경험 또는 환경으로 대체하는 제2 뷰가 디스플레이된다. 일부 실시예들에서, 사용자는, 선택적으로, 시선 또는 음성 명령들을 사용하여 제1 뷰 내의 복수의 사용자 인터페이스 객체들 중 하나를 활성화하여서 애플리케이션 또는 경험을 개시하지만, 애플리케이션 및 경험은, 제1 기준들이 사용자의 손(들)의 그립의 변화에 의해 충족될 때까지, 완전 몰입형 모드에 들어가지 않는다(예컨대, 일시보류된 상태로 유지됨).
일부 실시예들에서, 제2 뷰는, 하나 이상의 애플리케이션들 및 가상 경험들을 각각 표현하는 하나 이상의 선택가능 가상 객체들을 포함하는 것을 포함한다. 예를 들어, 일부 실시예들에서, 제1 뷰는 전자 디바이스의 가상 데스크톱을 디스플레이하지 않고서 패스 스루 부분을 포함하고, 제2 뷰는 3차원 환경에서 시작될 수 있는 상이한 애플리케이션들 및 가상 경험들을 나타내는 다양한 사용자 인터페이스 객체들을 포함하는 가상 데스크톱을 디스플레이한다. 일부 실시예들에서, 가상 데스크톱을 디스플레이하는 동안, 전자 디바이스는 사용자 입력에 응답하여 애플리케이션을 나타내는 가상 객체를 선택 및 활성화하기 위한 사용자 입력(예컨대, 카메라에 의해 검출된 시선, 제어기 상에서의 사용자 입력, 터치 감응형 표면 상에서 검출된 터치 등)을 수신하고, 디바이스는, 디스플레이 생성 컴포넌트를 통해, 선택된 애플리케이션(예컨대, 3D 영화 또는 게임)과 연관된 가상 몰입형 환경을 디스플레이한다.
일부 실시예들에서, 3차원 환경의 제2 뷰를 디스플레이하는 동안(그리고 디스플레이 생성 컴포넌트가 컴퓨터 시스템의 사용자에 대해 미리정의된 위치에 있는 동안), 컴퓨터 시스템은 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 손의 그립의 제2 변화를 검출한다. 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 손의 그립의 제2 변화를 검출하는 것에 응답하여: 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 손의 그립의 변화가 제2 기준들을 충족시킨다는 결정에 따라(예컨대, 제2 기준들은 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한, 제1 기준들을 충족시킨 손의 제1 상태로부터 수동 제어의 추가 감소(예컨대, 접촉들의 감소된 수, 손들의 감소된 수, 접촉들의 감소된 면적, 접촉들의 감소된 세기들, 접촉들의 위치들의 변경, 또는 상기 중 둘 이상의 조합 등에 의해 표현되는 요구되는 양의 감소)를 갖는 제2 상태로의 손의 그립의 변화를 요구함), 컴퓨터 시스템은 3차원 환경의 제2 뷰를 패스 스루 부분을 포함하지 않는 3차원 환경의 제3 뷰(예컨대, 3차원 몰입형 가상 콘텐츠를 포함하는 제3 뷰)로 대체한다. 예를 들어, 제3 뷰는 3D 극장 모드이며: 제2 기준들을 충족시키는 사용자의 손의 그립의 변화는, 이전의 하나 이상의 두 손 그립 후에, 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 손 그립이 없다는 것을 검출하는 것을 포함하고, 전자 디바이스는, 영화 또는 게임을 재생하거나 3D 몰입형 VR 뷰에서 다른 유형들의 가상 콘텐츠를 보여주기 시작할 것이다. 일부 실시예들에서, 제1 뷰로부터 제2 뷰로 그리고 이어서 제3 뷰로의 변화는, (1) HMD를 착용하기 위한 두 손 그립으로부터, (2) 한 손 그립 또는 HMD 상에서의 접촉 면적 또는 세기들의 다른 유형들의 감소로, 이어서 (3) HMD 상에서 손/접촉이 검출되지 않음으로의 사용자의 손의 그립의 변화들에 응답하여, (1) 실제 세계의 시스루 뷰(예컨대, 심지어 실제 세계 뷰의 전체 화면)를 포함하는 제1 뷰로부터, (2) 시스루 뷰와 가상 콘텐츠의 혼합(예컨대, 가상 콘텐츠가 실제 세계 콘텐츠를 오버레이하는 것을 포함함)의 제2 뷰로, (3) 완전 가상 현실 몰입형 콘텐츠의 제3 뷰로의 점진적인 전이를 포함한다.
일부 실시예들에서, 사용자를 둘러싸는 실제 세계의 적어도 일부분을 보여주기 위한 패스 스루 부분을 포함하지 않는 3차원 환경의 각각의 뷰(예컨대, 제2 뷰 또는 제3 뷰)를 디스플레이하는 동안(그리고 디스플레이 생성 컴포넌트가 사용자에 대해 미리정의된 위치에 있는 동안), 컴퓨터 시스템은 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징 상에서의 사용자 입력(예컨대, 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징 상에서의 사용자 터치)을 검출한다. 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징 상에서의 사용자 입력을 검출하는 것에 응답하여, 사용자 입력이 제3 기준들을 충족시킨다는 결정에 따라, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트를 통해, 실제 세계의 적어도 일부분의 표현을 포함하는 패스 스루 부분을 포함하는 제1 뷰를 재디스플레이한다. 이는, 예를 들어, 도 7l 및 도 7m에 예시되어 있다. 일부 실시예들에서, 제3 기준들은, 제3 기준들이 충족되기 위해, 디스플레이 생성 컴포넌트가 사용자에 대해 미리정의된 위치에 있고 사용자 입력이 디스플레이 생성 컴포넌트의 미리정의된 영역(예컨대, 사용자가 HMD를 벗기 위해 일반적으로 파지할 HMD의 전면 및 측부들 상의 영역들) 내에서의 사용자의 손 접촉일 것을 요구한다. 일부 실시예들에서, 제3 기준들은 제3 기준들이 충족되기 위해 손 접촉이 한 손 접촉일 것을 요구한다(예컨대, 손 접촉 없음으로부터 HMD의 어느 한 측부(또는 사용자의 능한 손에 대응하는 측부) 상에서의 한 손 접촉으로의 전이가 요구됨). 일부 실시예들에서, 제3 기준들은 제3 기준들이 충족되기 위해 손 접촉이 두 손 접촉일 것을 요구한다(예컨대, 손 접촉 없음으로부터 HMD의 양쪽 측부들 상에서의 두 손 접촉으로의 전이가 요구됨). 일부 실시예들에서, 디스플레이 생성 컴포넌트의 하우징 상에서의 사용자 입력을 검출하는 것에 응답하여, 사용자 입력이 제3 기준들을 충족시키지 않는다는 결정에 따라, 컴퓨터 시스템은 디스플레이 생성 컴포넌트를 통해 제1 뷰를 재디스플레이하는 것을 보류한다(예컨대, 사용자는 몰입형 환경에 남아 있음).
일부 실시예들에서, 디스플레이 생성 컴포넌트의 하우징에 대한 손의 그립의 변화를 검출하는 것에 응답하여: 손의 그립의 변화가 제1 기준들을 충족시키지 않는다는 결정에 따라, 3차원 환경의 제1 뷰가 유지된다(그리고 3차원 환경의 제2 뷰로 대체되지 않음). 3차원 환경의 제1 뷰를 디스플레이하는 동안, 컴퓨터 시스템은 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 손의 그립의 변화와 구별되는 사용자 입력을 검출하며, 여기에서 사용자 입력은 전자 디바이스의 제1 입력 디바이스(예컨대, 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징 상의 기계적 버튼)의 활성화를 야기한다. 전자 디바이스의 제1 입력 디바이스의 활성화를 야기하는 사용자 입력을 검출하는 것에 응답하여, 컴퓨터 시스템은 (예컨대, 손의 그립의 변화가 제1 기준들을 충족시킬 때와 동일한 방식으로) 3차원 환경의 제1 뷰를 3차원 환경의 제2 뷰로 대체한다. 일부 실시예들에서, 디바이스는, 또한, 실제 세계를 캡처하는 데 사용되는 카메라 렌즈가 사용자의 손에 의해 차단된다는 것을 검출하는 것에 응답하여, 또는 사용자가 가상 몰입형 환경에 진입할 준비가 되어 있다는 다른 표시들을 검출하는 것에 응답하여(예컨대, 사용자가 HMD를 쓴 후 미리설정된 기간이 만료된 후에), 제1 뷰를 3차원 환경의 제2 뷰로 대체한다.
도 12에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에서 설명되는 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 11000, 13000))과 관련하여 본 명세서에서 설명되는 다른 프로세스들의 상세사항들이 도 12와 관련하여 위에서 설명된 방법(12000)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(12000)을 참조하여 위에 설명된 제스처들, 시선 입력들, 물리적 객체들, 사용자 인터페이스 객체들 및/또는 애니메이션들은, 선택적으로, 본 명세서에 설명된 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 11000, 13000))을 참조하여 본 명세서에 설명되는 제스처들, 시선 입력들, 물리적 객체들, 사용자 인터페이스 객체들 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.
도 13은 일부 실시예들에 따른, 3차원 환경으로 전이하기 위한 예시적인 방법(13000)의 흐름도이다. 일부 실시예들에서, 본 방법(13000)은, 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120))(예컨대, 헤드업 디스플레이, 디스플레이, 터치스크린, 프로젝터 등) 및 하나 이상의 카메라들(예컨대, 사용자의 손에서 하향으로 향하는 카메라(예컨대, 컬러 센서들, 적외선 센서들, 및 다른 심도 감지 카메라들) 또는 사용자의 머리로부터 전방으로 향하는 카메라)을 포함하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 본 방법(13000)은, 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터 시스템의 하나 이상의 프로세서들, 예컨대 컴퓨터 시스템(101)의 하나 이상의 프로세서들(202)(예컨대, 도 1a의 제어 유닛(110))에 의해 실행되는 명령어들에 의해 통제된다. 방법(13000)에서의 일부 동작들이 선택적으로 조합되고/되거나, 일부 동작들의 순서가 선택적으로 변경된다.
본 방법(13000)에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트를 통해, 가상 환경(예컨대, 몰입형 가상 경험(예컨대, 영화 또는 게임)을 제공하는 3차원 가상 환경)의 뷰를 디스플레이한다. 이는, 예를 들어, 가상 환경(7610)이 디바이스(7100) 상에 디스플레이되는 도 7n에 예시되어 있다. 일부 실시예들에서, 뷰는 디스플레이 생성 컴포넌트를 둘러싸는 실제 세계의 일부분의 표현을 디스플레이하는 패스 스루 부분을 포함하지 않고서 100% 가상 콘텐츠를 포함한다. 일부 실시예들에서, 가상 환경의 뷰는 디스플레이 생성 컴포넌트를 둘러싸는 실제 세계의 일부분의 표현과 구별되고, 디스플레이 생성 컴포넌트를 둘러싸는 실제 세계 내의 물리적 객체들의 존재, 위치들 및/또는 물리적 구조들을 시각적으로 전달하지 않는다. 일부 실시예들에서, 가상 환경의 뷰는 선택된 물리적 객체의 존재 및 위치의 표시를 포함하지만, 디스플레이 생성 컴포넌트들을 둘러싸는 실제 세계 내의 하나 이상의 다른 물리적 객체들의 존재, 위치들 및/또는 물리적 구조들을 시각적으로 전달하지 않는다. 다시 말해서, 가상 환경의 뷰는 디스플레이 상에서 사용자의 정상 시야(예컨대, 디스플레이 생성 컴포넌트가 사용자의 눈들 앞에 배치되지 않은 상태에서의 사용자의 시야)에 존재할 물리적 객체들의 디스플레이를 대체하는 가상 콘텐츠를 포함한다. 가상 환경의 뷰를 디스플레이하는 동안 그리고 가상 환경의 뷰가, 사용자가 위치되는 물리적 환경에 존재하는 제1 물리적 객체의 제1 부분의 시각적 표현을 포함하지 않는 동안, 컴퓨터는 물리적 환경에서의 사용자의 제1 이동을 검출한다(13004). 예를 들어, 가상 환경의 뷰는 제1 물리적 객체와 연관된 존재 및 실제 크기, 형상, 위치, 및/또는 다른 종류들의 특성들을 반영하는 물리적 객체의 제1 부분의 어떠한 유형의 시각적 표현(예컨대, 가상 콘텐츠 또는 시스루 뷰)도 포함하지 않는다. 일부 실시예들에서, 사용자의 제1 이동은 사용자의 전신 또는 사용자의 손 또는 팔과 같은 사용자의 일부분의 이동을 포함한다. 일부 실시예들에서, 제1 물리적 객체는, 벽, 의자, 테이블 등과 같은, 물리적 환경 내의 정적 객체, 또는 사용자가 물리적 환경에 대해 정적인 동안 사용자에 대해 이동하는 물리적 환경 내의 다른 사람 또는 개(예컨대, 사용자가 소파에 앉아서 영화를 보고 있는 동안 사용자의 애완동물이 돌아다님)와 같은, 물리적 환경 내의 이동 객체를 포함한다. 가상 환경의 뷰가 사용자가 위치되는 물리적 환경에 존재하는 제1 물리적 객체의 제1 부분의 시각적 표현을 포함하지 않을 때, 제1 물리적 객체의 동일한 제1 부분은, 물리적 환경에서 사용자에 대한 그의 위치가 주어지면(예컨대, 제1 물리적 객체의 제1 부분은 제1 물리적 환경 내의 다른 물리적 객체에 의해 차단되어 있지 않음), 디스플레이 생성 컴포넌트가 패스 스루 부분을 가졌거나 디스플레이 생성 컴포넌트가 사용자의 눈들 앞에 존재하지 않았다면, 사용자의 시야에서 보였을 것이다. 다시 도 13을 참조하면, 물리적 환경에서의 사용자의 제1 이동을 검출하는 것에 응답하여: 사용자(예컨대, 사용자의 중심, 사용자의 임의의 부분, 또는 사용자의 미리정의된 부분(예컨대, 사용자의 손 또는 발))가 제1 물리적 객체의 제1 부분의 임계 거리 내에 있다는 결정에 따라 - 제1 물리적 객체(예컨대, 제1 물리적 객체의 제1 부분 및 제2 부분을 포함함)는 가상 환경에 대한 사용자의 시야(예컨대, 인간의 전형적인 시야(예컨대, 약 200도) 또는 HMD의 시야(예컨대, 약 100 내지 200도))에 기초하여(예컨대, 현재 순간의 시야와 사용자의 현재 위치 및 진행 방향에 기초하여) 사용자에게 잠재적으로 보이는 범위를 가짐(예컨대, 디스플레이 생성 컴포넌트 상에 표시된 사용자의 시야가 패스 스루 부분으로 대체되면, 제1 물리적 객체의 전부 또는 일부가 사용자 앞에 물리적 환경을 디스플레이하는 패스 스루 부분에서 보일 것임) -, 컴퓨터 시스템은, 가상 환경에 대한 사용자의 시야에 기초하여 사용자에게 잠재적으로 보이는 제1 물리적 객체의 범위의 일부인 제1 물리적 객체의 제2 부분을 나타내기 위해 가상 환경의 뷰의 외관을 변경하지 않고서, 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 제1 방식으로 가상 환경의 뷰의 외관을 변경한다(예컨대, 제1 물리적 객체의 제1 부분은 사용자에게 가장 가까운, 잠재적으로 보이는 제1 물리적 객체의 범위의 제1 부분이고, 제1 물리적 객체의 제2 부분은 제1 물리적 객체의 제1 부분보다 사용자로부터 더 멀리 떨어져 있는, 잠재적으로 보이는 제1 물리적 객체의 범위의 제2 부분임)(13006). 이는, 예를 들어, 물리적 객체(7602)의 일부분(7604)이 가상 환경(7620)에 시각적으로 표현되는 반면, 물리적 객체(7602)의 일부 부분들은 가상 환경의 사용자의 시야에 따라 그들 부분들도 잠재적으로 보인다는(예컨대, 사용자의 시선 내에 있고 물리적 환경 내의 다른 물리적 객체들에 의해 차단되지 않음) 사실에도 불구하고 시각적으로 표현되지 않는 도 7o에 예시되어 있다. 일부 실시예들에서, 제1 물리적 객체의 제1 부분의 물리적 특성은 물리적 환경에서의 크기, 형상, 색상, 패턴, 및 대응하는 위치 중 하나 이상을 포함하고; 제1 방식으로의 가상 환경의 뷰의 외관의 변화는 단순 시각적 경보/통지를 생성하는 것 또는 물리적 환경의 패스 스루 뷰를 디스플레이하는 것(예컨대, 패스-스루 부분 내에 카메라의 비디오 피드를 디스플레이하는 것, 또는 디스플레이의 미리정의된 부분을 시스루 상태로 만드는 것(예컨대, 패스 스루 뷰는 제1 물리적 객체의 형상 및 크기와 관련되지 않은 미리정의된 형상 또는 크기를 가짐))과 구별된다. 일부 실시예들에서, 가상 환경의 뷰의 일부분은 가상 환경의 뷰의 다른 부분들과 매끄럽게 연결되고 블렌딩된 상태로 유지되어, 그에 따라, 가상 환경의 뷰에 의해 제공되는 몰입형 경험에 적당한 정도의 중단들만을 제공한다. 일부 실시예들에서, "가상 환경에 대한 사용자의 시야"는 (1) 전자 디바이스의 하나 이상의 센서들(예컨대, 카메라들(예컨대, 가시광 또는 적외선 카메라들))에 의해 검출가능한/검출되는 물리적 환경의 범위; (2) 사용자의 눈들의 현재 위치 및 방향을 갖는 평균 사용자(예컨대, 정상 관찰 거리 내에 있고 다른 물리적 객체들에 의해 차단되지 않음)에 의한 물리적 환경의 육안 뷰; 및/또는 (3) 가상 환경에 대한 디스플레이된 시야의 경계(예컨대, 뷰포트의 각도 범위) 내에 한정되는 (1) 및 (2)에서의 물리적 환경의 범위 또는 물리적 환경의 육안 뷰에 대응한다. 일부 실시예들에서, 뷰의 외관을 변경하는 것은 물리적 환경 내의 제1 물리적 객체의 제1 부분의 지점/위치/거리/배향에 대응하는 가상 환경의 뷰의 일부분을 물리적 객체의 제1 부분의 시각적 표현으로 대체하는 것을 포함한다. 일부 실시예들에서, 가상 환경의 외관을 변경하는 데 사용되는 제1 물리적 객체의 제1 부분은 카메라의 시야 내에서 현재 캡처된 제1 물리적 객체의 전체 범위로부터 (예컨대, 제1 물리적 객체의 제1 부분의 경계들을 따라) 세그먼트화되고, 카메라의 시야 내에서 현재 캡처된 주위 물리적 환경(예컨대, 제1 물리적 객체에 인접하거나 또는 제1 물리적 객체의 일부분을 차단하거나 그에 의해 차단되는 주위 물리적 환경의 일부분)으로부터 (예컨대, 제1 물리적 객체의 제1 부분의 시각적 경계들을 따라) 세그먼트화되며, 따라서, 전자 디바이스가, 제1 물리적 객체의 더 큰 범위에 기초하여 가상 환경의 뷰의 외관을 변경하고 제1 물리적 객체의 주위 물리적 환경의 일부분에 기초하여 가상 환경의 뷰의 외관을 변경하기 위한 이미지 데이터를 보유하고 있더라도, 전자 디바이스는 설계에 의해 그렇게 하는 것을 보류한다. 다시 말해서, 가상 환경의 뷰의 외관을 변경하는 데 사용되는 제1 물리적 객체의 일부분 및 양은, 제1 물리적 객체의 어떤 부분이, 현재, 카메라 뷰 내에 있는지에 더하여, 제1 물리적 객체의 형상 및 크기와 사용자까지의 제1 물리적 객체의 상이한 부분들의 거리들에 기초하여 결정된다. 게다가, 전자 디바이스는 카메라 뷰에서 제1 물리적 객체의 제1 부분에 바로 인접하게 나타나는 물리적 환경의 일부분들의 이미지 데이터에 기초하여 가상 환경의 외관을 변경하는 것을 보류하여서, 제1 물리적 객체의 제1 부분의 물리적 경계들이 가상 환경의 뷰의 변경된 외관으로 시각적으로 표현되게 한다. 다시 도 13을 참조하면, 물리적 환경에서의 사용자의 제1 이동을 검출하는 것에 응답하여: 사용자(예컨대, 사용자의 중심, 사용자의 임의의 부분, 또는 사용자의 미리정의된 부분(예컨대, 사용자의 손 또는 발))가 사용자를 둘러싸는 물리적 환경에 존재하는 제1 물리적 객체의 임계 거리 내에 있지 않다는 결정에 따라, (예컨대, 제1 물리적 객체가 가상 환경에 대한 사용자의 시야(예컨대, 인간의 전형적인 시야(예컨대, 약 200도) 또는 HMD의 시야(예컨대, 약 100 내지 200도))에 기초하여 사용자에게 잠재적으로 보이는 범위를 갖는다는 사실에도 불구하고) 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 제1 방식으로 가상 환경의 뷰의 외관을 변경하는 것을 보류한다(13006).
일부 실시예들에서, 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 제1 방식으로 가상 환경의 뷰의 외관을 변경하는 것은: 가상 환경의 제2 부분에서 가상 환경의 뷰의 외관을 변경하면서 가상 환경의 제1 부분에서 가상 환경의 뷰의 외관을 유지하는 것을 추가로 포함하며, 여기에서 가상 환경의 변경된 뷰에서 가상 환경의 제1 부분과 가상 환경의 제2 부분 사이의 경계는 제1 물리적 객체의 제1 부분의 물리적 경계에 대응한다(예컨대, 가상 환경의 변경된 부분과 가상 환경의 변경되지 않은 부분 사이의 경계의 위치 및 형상은, 미리정의된 컷아웃 영역의 인위적인 경계보다는, 카메라 뷰에서 캡처된 바와 같은 제1 물리적 객체의 제1 부분의 위치 및 형상에 대응함). 이는 컷아웃 또는 패스 스루 영역에 포함된 물리적 객체들의 형상들 및 크기들과는 관계없는, 카메라 뷰를 디스플레이하기 위한 미리정의된 형상 및 크기를 갖는 컷아웃 또는 패스 스루 영역(예컨대, 카메라 피드를 디스플레이하는 시뮬레이션된 플래시라이트 조명 영역)과 구별된다.
일부 실시예들에서, 컴퓨터 시스템은 (예컨대, 사용자의 제1 이동이 검출된 후에) 물리적 환경 내의 제1 물리적 객체에 대한 사용자의 제2 이동을 검출한다. 물리적 환경 내의 제1 물리적 객체에 대한 사용자의 제2 이동을 검출하는 것에 응답하여: 사용자가 가상 환경에 대한 사용자의 시야에 기초하여(예컨대, 현재 순간의 시야와 사용자의 현재 위치 및 진행 방향에 기초하여) 사용자에게 잠재적으로 보이는 제1 물리적 객체의 범위의 일부인 제1 물리적 객체의 제2 부분의 임계 거리 내에 있다는 결정에 따라(예컨대, 디스플레이 생성 컴포넌트 상에 표시된 사용자의 시야가 패스 스루 부분으로 대체되면, 제1 물리적 객체의 전부 또는 일부가 사용자 앞에 물리적 환경을 디스플레이하는 패스 스루 부분에서 보일 것임), 컴퓨터 시스템은 제1 물리적 객체의 제2 부분의 물리적 특성을 나타내는 제2 방식으로 가상 환경의 뷰의 외관을 변경한다. 일부 실시예들에서, 제1 물리적 객체에 대한 사용자의 제2 이동에 응답하여, 사용자가 제2 이동 후에 더 이상 물리적 객체의 제1 부분의 임계 거리 내에 있지 않다는 결정에 따라, 물리적 객체의 제1 부분(예컨대, 테이블의 일부분)의 물리적 특성에 대응하는 가상 환경의 뷰의 일부분은 그 위치에서 원래의 가상 콘텐츠(예컨대, 잔디)로 다시 변경되고; 사용자가 제2 이동 후에 여전히 물리적 객체의 제1 부분의 임계 거리 내에 있다는 결정에 따라, 가상 환경의 뷰는 제1 물리적 객체의 제1 및 제2 부분들 둘 모두의 물리적 특성들을 나타내는 방식으로 변경된다.
일부 실시예들에서, 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 제1 방식으로 가상 환경의 뷰의 외관을 변경하는 것은: 가상 환경의 뷰 내에 제1 물리적 객체의 제1 부분의 반투명 시각적 표현을 디스플레이하는 것(예컨대, 가상 환경에 대한 사용자의 시야에서 제1 물리적 객체의 제1 부분에 대응하는 위치에 표시된 가상 콘텐츠를 반투명하게 만들어서, 제1 물리적 객체의 제1 부분의 이미지가 반투명 방식으로 그 위치에서 보이게 하는 것, 또는 제1 물리적 객체의 제1 부분의 이미지를 반투명하게 만들고 그를 그 위치에 표시된 가상 콘텐츠 상에 오버레이하는 것)을 추가로 포함한다. 일부 실시예들에서, 가상 환경의 뷰는, 사용자에게 적시의 경고를 제공하기 위해, 사용자가 제1 물리적 객체의 제1 부분을 향해 이동하고 임계 거리 내에 들어옴에 따라 순간적으로 변경된다. 일부 실시예들에서, 가상 환경의 뷰는, 예컨대 페이드인/페이드아웃 효과와 함께, 점진적으로 변경되어, 더 매끄러운 전이 및 덜 방해하는/개입하는 사용자 경험을 제공한다.
일부 실시예들에서, 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 제1 방식으로 가상 환경의 뷰의 외관을 변경하는 것은: 제1 물리적 객체의 제1 부분의 형상을 나타내는 형상으로 가상 환경의 일부분을 왜곡시키는 것(예컨대, 제1 물리적 객체가 유리 또는 다른 반투명 재료로 제조되고 가상 환경의 일부분 위에 배치되는 것처럼 외관을 생성하기 위해 가상 환경의 일부분을 유리 같은 외관으로 생성하는 것)을 추가로 포함한다(예컨대, 제1 물리적 객체의 제1 부분의 표현은 제1 물리적 객체의 제1 부분의 표현 밑에 있는 가상 콘텐츠의 일부분으로부터 나오는 광을 구부리는 시뮬레이션된 굴절률을 가짐). 예를 들어, 사용자가 방에 배치된 테이블에 가까워짐에 따라, 디바이스는 사용자에게 가장 가까운 테이블의 일부분을 가상 환경(예컨대, 가상 뷰 내의 볼 또는 가상 초원) 앞에 배치된 광택 있는, 반투명한, 시스루 객체로서 보여주고, 테이블의 일부분 뒤의 가상 객체들은 유리 같이 보이는 테이블의 일부분을 통해 보인다.
일부 실시예들에서, 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 제1 방식으로 가상 환경의 뷰의 외관을 변경하는 것은 제1 물리적 객체의 제1 부분에 대응하는 가상 환경의 뷰의 일부분의 미리정의된 왜곡을 디스플레이하는 것을 추가로 포함한다. 일부 실시예들에서, 물리적 객체의 제1 부분에 대응하는 가상 환경의 뷰 내의 위치에 표시된 가상 콘텐츠를 왜곡시키는 것은 제1 물리적 객체의 제1 부분의 형상, 크기, 경계, 및/또는 위치와 같은 특성들을 반영하는 방식으로서 사용된다. 일부 실시예들에서, 가상 콘텐츠를 왜곡시키는 것은 가상 환경의 뷰의 일부분을 신장시키는 것, 가상 콘텐츠에, 쉬머링, 리플링, 글로잉, 암화, 블러링, 또는 스월링 시각적 효과를 적용하는 것과 같은, 정적 또는 애니메이션화된 시각적 효과를 적용하는 것, 또는 가상 콘텐츠에 상이한 텍스처(예컨대, 상이한 색조, 반사율, 거칠기, 입상성 등)를 적용하는 것을 포함한다.
일부 실시예들에서, 컴퓨터 시스템은 제1 이동 후의 물리적 환경에서의 사용자의 계속되는 이동을 검출한다. 제1 이동 후의 물리적 환경에서의 사용자의 계속되는 이동을 검출하는 것에 응답하여 그리고 사용자(예컨대, 사용자의 중심, 사용자의 임의의 부분, 또는 사용자의 미리정의된 부분(예컨대, 사용자의 손 또는 발))가 제1 물리적 객체의 제1 부분의 임계 거리 내에 유지된다는 결정에 따라: 사용자와 제1 물리적 객체의 제1 부분 사이의 거리가 물리적 환경에서의 사용자의 계속되는 이동의 결과로서 증가하였다는 결정에 따라, 컴퓨터 시스템은 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 가상 환경의 뷰에 현재 적용된 시각적 효과의 제1 디스플레이 속성을 감소시킨다(예컨대, 사용자가 제1 물리적 객체의 제1 부분으로부터 더 멀리 점진적으로 이동함에 따라, 제1 물리적 객체의 제1 부분에 대응하는 위치에서 가상 환경의 뷰에 적용된 굴절도, 색 포화도, 시각적 효과, 불투명도, 선명도 등을 점진적으로 감소시켜서, 제1 물리적 객체의 제1 부분의 물리적 특성에 의해 생성된 시각적 영향이 사용자가 제1 물리적 객체의 제1 부분으로부터 멀리 이동할 때 디스플레이 상에서 점진적으로 감소되게 함). 제1 이동 후의 물리적 환경에서의 사용자의 계속되는 이동을 검출하는 것에 응답하여 그리고 사용자와 제1 물리적 객체의 제1 부분 사이의 거리가 물리적 환경에서의 사용자의 계속되는 이동의 결과로서 감소하였다는 결정에 따라, 컴퓨터 시스템은 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 가상 환경의 뷰에 현재 적용된 시각적 효과의 제1 디스플레이 속성을 증가시킨다(예컨대, 사용자가 제1 물리적 객체의 제1 부분에 더 가깝게 점진적으로 이동함에 따라, 제1 물리적 객체의 제1 부분에 대응하는 위치에서 가상 환경의 뷰에 적용된 굴절도, 색 포화도, 시각적 효과, 불투명도, 선명도 등을 점진적으로 증가시켜서, 제1 물리적 객체의 제1 부분의 물리적 특성에 의해 생성된 시각적 영향이 사용자가 제1 물리적 객체의 제1 부분을 향해 더 가깝게 이동할 때 디스플레이 상에서 점진적으로 증가되게 함). 일부 실시예들에서, 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 가상 환경의 뷰에 적용되는 시각적 효과의 제1 디스플레이 속성은 시각적 효과의 공간적 범위, 경계, 또는 애플리케이션 위치와 구별된다. 시각적 효과의 공간적 범위는 사용자가 제1 물리적 객체에 더 가깝게 이동함에 따라 증가하고, 제1 물리적 객체의 제1 부분은 가상 환경에 대한 사용자의 시야에서 더 크게 보인다.
일부 실시예들에서, 컴퓨터 시스템은 제1 이동 후의 물리적 환경에서의 사용자의 계속되는 이동을 검출한다. 제1 이동 후의 물리적 환경에서의 사용자의 계속되는 이동을 검출하는 것에 응답하여 그리고 제1 물리적 객체(예컨대, 제1 물리적 객체의 제1 부분 및 제2 부분을 포함함)가 가상 환경에 대한 사용자의 시야에 기초하여(예컨대, 현재 순간의 시야와 사용자의 현재 위치 및 진행 방향에 기초하여) 사용자에게 잠재적으로 보이는 동안(예컨대, 디스플레이 생성 컴포넌트 상에 표시된 사용자의 시야가 패스 스루 부분으로 대체되면, 제1 물리적 객체의 전부 또는 일부가 사용자 앞에 물리적 환경을 디스플레이하는 패스 스루 부분에서 보일 것임): 사용자와 제1 물리적 객체의 제1 부분 사이의 거리가 물리적 환경에서의 사용자의 계속되는 이동의 결과로서 임계 거리를 초과하여 증가하였다는 결정, 및 사용자와 제1 물리적 객체의 제2 부분 사이의 거리가 물리적 환경에서의 사용자의 계속되는 이동의 결과로서 임계 거리 미만으로 감소하였다는 결정에 따라: 컴퓨터 시스템은, 가상 환경에 대한 사용자의 시야에 기초하여 사용자에게 잠재적으로 보이는 제1 물리적 객체의 범위의 일부인 제1 물리적 객체의 제2 부분을 나타내기 위해 가상 환경의 뷰의 외관을 변경하지 않고서, 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 제1 방식으로 가상 환경의 뷰의 외관을 변경하는 것을 중지하고(예컨대, 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 가상 환경의 뷰에 시각적 효과를 적용하는 것을 중지함(예컨대, 사용자가 제1 물리적 객체의 제1 부분의 임계 거리 밖으로 이동함에 따라, 제1 물리적 객체의 제1 부분에 대응하는 위치에서 가상 환경의 뷰에 굴절, 색 포화도, 시각적 효과, 불투명도, 선명도 등을 적용하는 것을 중지하여서, 사용자가 제1 물리적 객체의 제1 부분으로부터 충분히 멀리 이동할 때 제1 물리적 객체의 제1 부분이 더 이상 디스플레이 상에 시각적 효과에 의해 시각적으로 표현되지 않게 함)); 컴퓨터 시스템은, 가상 환경에 대한 사용자의 시야에 기초하여 사용자에게 잠재적으로 보이는 제1 물리적 객체의 범위의 일부인 제1 물리적 객체의 제1 부분을 나타내기 위해 가상 환경의 뷰의 외관을 변경하지 않고서, 제1 물리적 객체의 제2 부분의 물리적 특성을 나타내는 제2 방식으로 가상 환경의 뷰의 외관을 변경한다(예컨대, (예컨대, 사용자가 제1 물리적 객체의 제2 부분의 임계 거리 내에서 이동함에 따라, 제1 물리적 객체의 제2 부분에 대응하는 위치에서 가상 환경의 뷰에 굴절, 색 포화도, 시각적 효과, 불투명도, 선명도 등을 적용하여서, 제1 물리적 객체의 제1 부분이 더 이상 디스플레이 상에 시각적 효과에 의해 시각적으로 표현되지 않고 제1 물리적 객체의 제2 부분이 디스플레이 상에 시각적 효과에 의해 시각적으로 표현되게 하기 위해) 제1 물리적 객체의 제2 부분의 물리적 특성을 나타내는 가상 환경의 뷰에 시각적 효과를 적용함).
일부 실시예들에서, 컴퓨터 시스템은, 물리적 환경 내의 제1 물리적 객체에 대한 사용자의 제1 이동의 속도에 따라, 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 가상 환경의 뷰의 외관을 변경하는 속도를 변경한다. 예를 들어, 사용자가 물리적 환경 내의 제1 물리적 객체에 비해 더 빠르게 이동하는 경우, 가상 환경의 외관은 더 빠르게 변화하고(예컨대, 제1 물리적 객체의 제1 부분의 물리적 특성을 반영하는 데 사용되는 시각적 효과의 시각적 영향은 디스플레이 상에서 더 신속하게 증가함); 사용자가 물리적 환경 내의 제1 물리적 객체에 비해 더 느리게 이동하는 경우, 가상 환경의 외관은 더 느리게 변화한다(예컨대, 제1 물리적 객체의 제1 부분의 물리적 특성을 반영하는 데 사용되는 시각적 효과의 시각적 영향은 디스플레이 상에서 더 점진적으로 그리고 느리게 증가함).
일부 실시예들에서, 컴퓨터 시스템은 제2 물리적 객체의 물리적 특성(예컨대, 형상, 크기, 위치, 경계 등)을 나타내는 가상 환경의 뷰 내에 제2 물리적 객체의 적어도 일부분의 표현을 지속적으로 디스플레이하며, 여기에서 제2 물리적 객체는 사용자에 의해 선택된다(예컨대, 가상 환경의 뷰를 디스플레이하기 전에 또는 가상 환경의 뷰 내에 제2 물리적 객체의 시각적 표현을 디스플레이하는 동안, 디바이스는, 사용자와 물리적 환경 내의 제2 물리적 객체 사이의 거리에 상관없이, 제2 물리적 객체의 물리적 특성(예컨대, 위치, 형상, 크기, 경계 등)을 나타내기 위해 가상 환경에 지속적으로 표현될(또는 달리 시각적으로 표현될) 제2 물리적 객체를 선택하는 사용자 입력을 검출하였음). 일부 실시예들에서, 사용자는, 메뉴로부터 제2 물리적 객체를 선택하거나 방의 패스스루 뷰에서 방 내의 벽 또는 객체를 가리키거나 방 내의 벽들의 표현을 디스플레이하기 위한 미리결정된 제스처(예컨대, 팔을 상승시키는 것)에 의해, 가상 환경의 뷰 내에 지속적으로 표현될 제2 물리적 객체를 선택한다. 일부 실시예들에서, 사용자가 가상 환경에서 몰입형 가상 경험을 하는 동안 그/그녀 자신을 배향시키는 것을 돕기 위해, 사용자는 물리적 객체들(예컨대, 피해야 할 위험한 장애물(예컨대, 벽난로 또는 히터), 방의 경계(예컨대, 벽들, 윈도우들, 문들 또는 계단들))을 식별하도록 허용되어서, 그들의 위치들, 형상들 및/또는 경계들이 가상 환경의 뷰 내에 시각적으로 지속적으로 표현되게 한다.
일부 실시예들에서, 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 제1 방식으로 가상 환경의 뷰의 외관을 변경한 후에, 컴퓨터 시스템은 물리적 환경에서 사용자의 자세의 변화를 검출한다(예컨대, 사용자는 손바닥들을 펼친 상태에서 한쪽 팔 또는 양쪽 팔을 상승시키거나, 또는 앞으로 이동하면서 그/그녀의 상체를 약간 뒤로 기울이거나, 또는 달리 물리적 환경 내의 장애물에 대한 그/그녀의 위치의 불확실성을 나타냄). 일부 실시예들에서, 사용자의 자세의 변화는 임계 시작 속도를 초과한 상향으로의 사용자의 양손의 이동(예컨대, 갑작스러운 이동)을 포함한다. 자세의 변화를 검출하는 것에 응답하여, 그리고 자세의 변화가 제1 미리정의된 자세 기준들을 충족시킨다는 결정에 따라(예컨대, 손들/팔을 든 자세, 손바닥을 펼친 자세, 등을 아치형으로 구부린 자세, 또는 다른 자세 유형(들)을 인식하기 위한 기준들은 제조업체에서 그리고/또는 개별 사용자들에 의한 맞춤화 동안 미리설정될 수 있음), 컴퓨터 시스템은 가상 환경의 뷰에서 제1 물리적 객체의 가시성을 증가시키는 각각의 방식으로 가상 환경의 뷰의 외관을 변경한다. 사용자가 제스처 또는 자세 변화를 사용하도록 허용하여 시스템으로 하여금 물리적 환경을 드러내게 하는 것은 사용자에게 인지적 부담을 주지 않는 빠르고 효율적인 사용자 안전 특징부이다. 사용자가 무언가에 부딪치는 것에 대해 우려한다는 것을 나타내는 자연스러운 제스처(예컨대, 갑자기 양손을 함께 상승시키는 것)가 사용자를 둘러싸는 물리적 공간 내의 잠재적 장애물들에 관한 추가 정보의 디스플레이를 트리거할 때, 시스템은 사용자가 환경에서 그 자신을 신속하게 재배향시키고 그/그녀의 안전에 대해 안심하도록 허용한다.
일부 실시예들에서, 가상 환경의 뷰에서 제1 물리적 객체의 가시성을 증가시키는 각각의 방식으로 가상 환경의 뷰의 외관을 변경하는 것은: 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 가상 환경의 일부분에 현재 적용된 시각적 효과의 디스플레이 속성(예컨대, 불투명도, 포화도, 선명도, 콘트라스트, 왜곡 등)을 증가시키는 것을 포함한다. 예를 들어, 사용자가 손바닥을 펼친 상태에서 그의 오른팔을 상승시킨다는 것을 검출할 때, 제1 물리적 객체의 제1 부분에 대응하는 변경된 뷰는 더 선명한 콘트라스트로 더 밝아지며, 따라서 제1 물리적 객체의 제1 부분의 물리적 특성은 사용자에게 더 잘 보이게 된다.
일부 실시예들에서, 가상 환경의 뷰에서 제1 물리적 객체의 가시성을 증가시키는 각각의 방식으로 가상 환경의 뷰의 외관을 변경하는 것은: (예컨대, 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 가상 환경의 뷰의 외관의 변화를 유지하는 동안) 제1 물리적 객체의 추가 부분의 물리적 특성을 나타내도록 외관이 변경되는 가상 환경의 뷰의 범위를 증가시키는 것을 포함한다. 예를 들어, 일부 실시예들에서, 사용자가 손바닥들을 앞으로 향하여 펼친 상태에서 양손을 급격히 상승시킬 때, 또는 사용자가 앞으로 이동할 때 그의 팔들을 약간 상승시킬 때, 디바이스는 (예컨대, 가상 환경의 뷰 내의 가상 콘텐츠의 일부분에 허용된 시각적 효과를 통해) 제1 물리적 객체의 더 많은 부분들 또는 전부를 가상 환경의 뷰 내에서 보이게 한다. 일부 실시예들에서, 사용자가 그/그녀의 팔들을 상승시킨 속도는 가상 환경에서 제1 물리적 객체가 얼마나 많이 보이게 되는지를 결정하는 데 사용된다. 일부 실시예들에서, 가상 환경에 대한 사용자의 시야에 기초하여 사용자에게 잠재적으로 보이는 제1 물리적 객체의 모든 부분들은 제1 미리정의된 자세 기준들이 사용자의 자세의 변화에 의해 충족될 때 사용자에게 드러난다.
일부 실시예들에서, 가상 환경의 뷰에서 제1 물리적 객체의 가시성을 증가시키는 각각의 방식으로 가상 환경의 뷰의 외관을 변경하는 것은: 가상 환경에 대한 사용자의 시야에 기초하여 사용자에게 잠재적으로 보이는 모든 물리적 객체들(예컨대, 제1 물리적 객체, 및 가상 환경의 뷰 내에 표현되지 않은 하나 이상의 다른 물리적 객체들을 포함함)의 물리적 특성을 나타내도록 외관이 변경되는 가상 환경의 뷰의 범위를 증가시키는 것을 포함한다. 예를 들어, 일부 실시예들에서, 가상 환경에 대한 사용자의 시야에 기초하여 사용자에게 잠재적으로 보이는 모든 물리적 객체들은 제1 미리정의된 자세 기준들이 사용자의 자세의 변화에 의해 충족될 때 사용자에게 드러난다.
일부 실시예들에서, 제1 미리정의된 자세 기준들을 충족시키는 자세의 변화를 검출한 후에, 컴퓨터 시스템은 물리적 환경에서 사용자의 자세의 역전된 변화를 검출한다(예컨대, 사용자는 상승된 팔들 중 하나 또는 둘 모두를 내리거나, 또는 앞으로 이동하면서 그/그녀의 상체를 똑바른 자세로 복원하거나, 또는 달리 물리적 환경 내의 장애물에 대한 그/그녀의 위치에 대한 확신을 나타냄). 자세의 역전된 변화를 검출하는 것에 응답하여, 그리고 자세의 역전된 변화가 제2 미리정의된 자세 기준들(예컨대, 정상 자세의 복원을 인식하기 위한 기준들)을 충족시킨다는 결정에 따라, 컴퓨터 시스템은 가상 환경의 뷰에서 제1 물리적 객체의 증가된 가시성을 역전시키는 각각의 방식으로 가상 환경의 뷰의 외관을 변경한다(예컨대, 표시되는 제1 물리적 객체의 양을 감소시킴, 또는 제1 물리적 객체의 물리적 특성을 나타내는 데 사용되는 시각적 효과의 하나 이상의 전술한 디스플레이 속성들을 감소시킴).
일부 실시예들에서, 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 제1 방식으로 가상 환경의 뷰의 외관을 변경한 후에, 가상 뷰 복원(virtual-view-restoration) 기준들이 충족된다는 결정에 따라 - 가상 뷰 복원 기준들은 사용자 및 제1 물리적 객체의 제1 부분의 위치가 제1 임계 시간 동안 변경되지 않은 상태로 유지되었음을 요구함 -, 컴퓨터 시스템은 (예컨대, 가상 환경의 뷰에서 제1 물리적 객체의 제1 부분의 가시성을 감소시키기 위해) 제1 방식으로 가상 환경의 뷰의 외관의 변화를 역전시킨다(예컨대, 변화를 한꺼번에 중지함, 또는 미리정의된 기간에 걸쳐 변화의 양을 점진적으로 감소시킴)(예컨대, 역전의 속도는, 선택적으로, 초기에 변화를 적용하는 속도보다 느리거나, 또는 역전의 속도는 사용자에 의해 제공되는 역전 제스처의 이동 메트릭에 따름).
도 13에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 기술된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에서 설명되는 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 11000, 12000))과 관련하여 본 명세서에서 설명되는 다른 프로세스들의 상세사항들이 도 13과 관련하여 위에서 설명된 방법(13000)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(13000)을 참조하여 위에 설명된 제스처들, 시선 입력들, 물리적 객체들, 사용자 인터페이스 객체들 및/또는 애니메이션들은, 선택적으로, 본 명세서에 설명된 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 11000, 12000))을 참조하여 본 명세서에 설명되는 제스처들, 시선 입력들, 물리적 객체들, 사용자 인터페이스 객체들 및/또는 애니메이션들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.
도 8, 도 9, 도 10, 도 11, 도 12 및 도 13을 참조하여 전술된 동작들은, 선택적으로, 도 1 내지 도 6에 도시된 컴포넌트들에 의해 구현된다. 일부 실시예들에서, 방법들(8000, 9000, 10000, 11000, 12000, 13000)의 태양들/동작들은 이들 방법들 사이에서 상호교환, 대체, 및/또는 추가될 수 있다. 간결함을 위해, 이러한 상세사항들은 여기서 반복되지 않는다.
전술한 설명은, 설명의 목적을 위해, 특정 실시예들을 참조하여 기술되었다. 그러나, 상기의 예시적인 논의들은 본 발명을 개시된 정확한 형태들로 규명하거나 제한하려는 의도는 아니다. 많은 수정들 및 변형들이 상기 교시 내용들의 관점에서 가능하다. 본 발명의 원리들 및 그의 실제적인 응용들을 가장 잘 설명하여, 그에 의해 당업자들이 본 발명 및 다양한 기술된 실시예들을 고려되는 특정 용도에 적합한 바와 같은 다양한 변형들을 갖고서 가장 잘 이용하는 것을 가능하게 하도록, 실시예들이 선택 및 설명되었다.

Claims (103)

  1. 방법으로서,
    디스플레이 생성 컴포넌트 및 하나 이상의 카메라들을 포함하는 컴퓨터 시스템에서:
    3차원 환경의 뷰를 디스플레이하는 단계;
    상기 3차원 환경의 뷰를 디스플레이하는 동안, 상기 하나 이상의 카메라들을 사용하여 사용자의 제1 손의 상기 사용자의 검지 위에서의 상기 사용자의 엄지의 이동을 검출하는 단계; 및
    상기 하나 이상의 카메라들을 사용하여 상기 사용자의 검지 위에서의 상기 사용자의 엄지의 이동을 검출하는 것에 응답하여:
    상기 이동이 제1 방향으로의 상기 제1 손의 상기 검지 위에서의 상기 엄지의 스와이프(swipe)라는 결정에 따라, 제1 동작을 수행하고;
    상기 이동이 상기 제1 손의 검지 상의 제1 위치에서의 상기 검지 상에서의 상기 엄지의 터치다운(touch-down)에 이은 상기 제1 손의 손목 플릭 제스처(wrist flick gesture)를 포함한다는 결정에 따라, 상기 제1 동작과는 상이한 제2 동작을 수행하는 단계를 포함하는, 방법.
  2. 제1항에 있어서, 상기 하나 이상의 카메라들을 사용하여 상기 사용자의 검지 위에서의 상기 사용자의 엄지의 이동을 검출하는 것에 응답하여, 상기 이동이 상기 제1 방향에 실질적으로 수직인 제2 방향으로의 상기 제1 손의 상기 검지 위에서의 상기 엄지의 스와이프라는 결정에 따라, 상기 제1 동작과 상이하고 상기 제2 동작과 상이한 제3 동작을 수행하는 단계를 포함하는, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 하나 이상의 카메라들을 사용하여 상기 사용자의 검지 위에서의 상기 사용자의 엄지의 이동을 검출하는 것에 응답하여, 상기 이동이 상기 제1 방향과는 상이한 제3 방향으로의 상기 검지 위에서의 상기 엄지의 이동이라는 결정에 따라, 상기 제1 동작과 상이하고 상기 제2 동작과 상이한 제4 동작을 수행하는 단계를 포함하는, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 제1 동작을 수행하는 것은:
    상기 제1 방향으로의 상기 검지 위에서의 상기 엄지의 스와이프가 상기 검지의 제1 미리정의된 부분을 향해 이동한다는 결정에 따라, 상기 제1 동작에 대응하는 값을 증가시키는 것; 및
    상기 제1 방향으로의 상기 검지 위에서의 상기 엄지의 스와이프가 상기 검지의 제1 미리정의된 부분으로부터 멀리, 상기 검지의 제2 미리정의된 부분을 향해 이동한다는 결정에 따라, 상기 제1 동작에 대응하는 상기 값을 감소시키는 것을 포함하는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 제1 동작을 수행하는 것은 상기 제1 동작에 대응하는 값을 상기 검지 위에서의 상기 엄지의 이동의 양에 대응하는 양만큼 조정하는 것을 포함하는, 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 하나 이상의 카메라들을 사용하여 상기 사용자의 검지 위에서의 상기 사용자의 엄지의 이동을 검출하는 것에 응답하여:
    상기 이동이 상기 제1 위치에서의 상기 검지 위에서의 상기 엄지의 탭이라는 결정에 따라, 제1 각각의 동작을 수행하는 단계; 및
    상기 이동이 상기 검지 상의, 상기 제1 위치와 구별되는 제2 위치에서의 상기 검지 위에서의 상기 엄지의 탭이라는 결정에 따라, 상기 제1 각각의 동작과는 상이한 제5 동작을 수행하는 단계를 포함하는, 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 하나 이상의 카메라들을 사용하여 상기 사용자의 중지 위에서의 상기 사용자의 엄지의 스와이프를 검출하는 단계; 및
    상기 사용자의 중지 위에서의 상기 사용자의 엄지의 스와이프를 검출하는 것에 응답하여, 제6 동작을 수행하는 단계를 포함하는, 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 하나 이상의 카메라들을 사용하여 상기 사용자의 중지 위에서의 상기 사용자의 엄지의 탭을 검출하는 단계; 및
    상기 사용자의 중지 위에서의 상기 사용자의 엄지의 탭을 검출하는 것에 응답하여, 제7 동작을 수행하는 단계를 포함하는, 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 3차원 환경에 엄지 제스처들의 동작 콘텍스트의 시각적 표시를 디스플레이하는 단계를 포함하고, 상기 제1 동작을 수행하는 것은:
    상기 제1 동작의 수행에 대응하는 시각적 변화를 상기 3차원 환경에 디스플레이하는 것을 포함하는, 방법.
  10. 제9항에 있어서,
    상기 엄지 제스처들의 동작 콘텍스트의 시각적 표시를 디스플레이하는 동안, 상기 하나 이상의 카메라들을 사용하여 상기 사용자의 제1 손의 이동을 검출하는 단계; 및
    상기 제1 손의 이동을 검출하는 것에 응답하여, 상기 손의 위치의 상기 검출된 변화에 따라 상기 3차원 환경에서 상기 엄지 제스처들의 동작 콘텍스트의 시각적 표시의 디스플레이된 위치를 변경하는 단계를 포함하는, 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 하나 이상의 카메라들을 사용하여 상기 사용자의 제2 손의 상기 사용자의 검지 위에서의 사용자의 엄지의 이동을 검출하는 단계; 및
    상기 하나 이상의 카메라들을 사용하여 상기 제2 손의 상기 사용자의 검지 위에서의 상기 사용자의 엄지의 이동을 검출하는 것에 응답하여:
    상기 이동이 상기 제1 방향으로의 상기 제2 손의 상기 검지 위에서의 상기 엄지의 스와이프라는 결정에 따라, 상기 제1 동작과는 상이한 제8 동작을 수행하고;
    상기 이동이 상기 제2 손의 검지 상의 상기 제1 위치에서의 상기 제2 손의 상기 검지 위에서의 상기 엄지의 탭이라는 결정에 따라, 상기 제2 동작과는 상이한 제9 동작을 수행하는 단계를 포함하는, 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 하나 이상의 카메라들을 사용하여 상기 사용자의 검지 위에서의 상기 사용자의 엄지의 이동을 검출하는 것에 응답하여, 그리고 상기 이동이 상기 제1 손의 상기 검지 상에서의 상기 엄지의 터치다운에 이은 상기 제1 손의 손 회전 제스처라는 결정에 따라, 상기 제1 동작과는 상이한 제11 동작을 수행하는 단계를 포함하는, 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 3차원 환경의 뷰를 디스플레이하는 동안, 상기 사용자의 얼굴을 향하는 상기 사용자의 제1 손의 손바닥의 이동을 검출하는 단계; 및
    상기 사용자의 얼굴을 향하는 상기 사용자의 제1 손의 손바닥의 이동이 호출 기준들을 충족시킨다는 결정에 따라, 상기 제1 동작과는 상이한 제12 동작을 수행하는 단계를 포함하는, 방법.
  14. 실행가능한 명령어들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 실행가능한 명령어들은, 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 제1항 내지 제13항 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
  15. 컴퓨터 시스템으로서,
    하나 이상의 프로세서들;
    디스플레이 생성 컴포넌트; 및
    상기 하나 이상의 프로세서들에 의한 실행을 위해 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램들은 제1항 내지 제13항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.
  16. 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템으로서,
    제1항 내지 제13항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  17. 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템에서 사용하기 위한 정보 프로세싱 장치로서,
    제1항 내지 제13항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.
  18. 방법으로서,
    디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 포함하는 컴퓨팅 시스템에서:
    3차원 환경의 뷰를 디스플레이하는 단계;
    상기 3차원 환경을 디스플레이하는 동안, 상기 3차원 환경의 일부분에 대응하는 제1 위치에서 손을 검출하는 단계; 및
    상기 3차원 환경의 일부분에 대응하는 상기 제1 위치에서 상기 손을 검출하는 것에 응답하여:
    상기 손이 제1 미리정의된 구성으로 유지되고 있다는 결정에 따라, 상기 3차원 환경에 손 제스처들을 사용한 제스처 입력에 대한 제1 동작 콘텍스트의 시각적 표시를 디스플레이하고;
    상기 손이 상기 제1 미리정의된 구성으로 유지되고 있지 않다는 결정에 따라, 상기 3차원 환경에 손 제스처들을 사용한 제스처 입력에 대한 상기 제1 동작 콘텍스트의 시각적 표시를 디스플레이하는 것을 보류하는 단계를 포함하는, 방법.
  19. 제18항에 있어서, 손 제스처들을 사용한 제스처 입력에 대한 상기 제1 동작 콘텍스트의 시각적 표시는 상기 제1 위치에 대응하는 상기 3차원 환경의 일부분 내의 위치에 디스플레이되는, 방법.
  20. 제19항에 있어서,
    상기 3차원 환경의 일부분에 상기 시각적 표시를 디스플레이하는 동안, 상기 제1 위치로부터 제2 위치로의 상기 손의 위치의 변화를 검출하는 단계; 및
    상기 제1 위치로부터 상기 제2 위치로의 상기 손의 위치의 상기 변화를 검출하는 것에 응답하여, 상기 손의 위치의 상기 검출된 변화에 따라 상기 시각적 표시의 디스플레이된 위치를 변경하는 단계를 포함하는, 방법.
  21. 제18항 내지 제20항 중 어느 한 항에 있어서, 상기 시각적 표시는 하나 이상의 사용자 인터페이스 객체들을 포함하는, 방법.
  22. 제21항에 있어서, 상기 하나 이상의 사용자 인터페이스 객체들은 복수의 애플리케이션 시작 아이콘들을 포함하고, 상기 애플리케이션 시작 아이콘들의 각각의 애플리케이션 시작 아이콘의 활성화는 대응하는 애플리케이션과 연관된 동작이 수행되게 하는, 방법.
  23. 제18항 내지 제20항 중 어느 한 항에 있어서,
    상기 시각적 표시를 디스플레이하는 동안, 상기 제1 미리정의된 구성으로부터 제2 미리정의된 구성으로의 상기 손의 구성의 변화를 검출하는 단계; 및
    상기 제1 미리정의된 구성으로부터 상기 제2 미리정의된 구성으로의 상기 검출된 손의 구성의 상기 변화를 검출하는 것에 응답하여, 사용자 인터페이스 객체들의 제1 컬렉션(collection)을 디스플레이하는 단계 - 상기 사용자 인터페이스 객체들의 제1 컬렉션의 각각의 사용자 인터페이스 객체의 활성화는 상기 각각의 사용자 인터페이스 객체와 연관된 동작이 수행되게 함 - 를 포함하는, 방법.
  24. 제23항에 있어서,
    상기 시각적 표시를 디스플레이하는 동안, 일정 시간 윈도우 동안, 상기 손의 이동이 상호작용 기준들을 충족시키는지 여부를 결정하는 단계; 및
    상기 손의 이동이 상기 일정 시간 윈도우 동안 상기 상호작용 기준들을 충족시키지 않는다는 결정에 따라, 상기 시각적 표시를 디스플레이하는 것을 중지하는 단계를 포함하는, 방법.
  25. 제18항 내지 제24항 중 어느 한 항에 있어서,
    시각적 표시를 디스플레이하는 동안, 상기 제1 미리정의된 구성으로부터 입력 기준들을 충족시키는 제2 미리정의된 구성으로의 손 구성의 변화를 검출하는 단계; 및
    상기 제1 미리정의된 구성으로부터 입력 기준들을 충족시키는 상기 제2 구성으로의 상기 손 구성의 상기 변화를 검출하는 것에 응답하여, 상기 시각적 표시를 조정하는 단계를 포함하는, 방법.
  26. 제25항에 있어서,
    상기 시각적 표시를 디스플레이하는 동안, 상기 제1 미리정의된 구성으로부터 상기 입력 기준들을 충족시키지 않는 제3 구성으로의 상기 손 구성의 변화를 검출하는 단계; 및
    상기 제1 미리정의된 구성으로부터 상기 입력 기준들을 충족시키지 않는 상기 제3 구성으로의 상기 검출된 손의 구성의 상기 변화를 검출하는 것에 응답하여, 상기 시각적 표시를 디스플레이하는 것을 중지하는 단계를 포함하는, 방법.
  27. 제26항에 있어서,
    상기 시각적 표시를 디스플레이하는 것을 중지한 후에, 상기 제1 미리정의된 구성으로의 상기 손 구성의 변화를 검출하는 단계; 및
    상기 제1 미리정의된 구성으로의 상기 검출된 손의 구성의 상기 변화를 검출하는 것에 응답하여, 상기 시각적 표시를 재디스플레이하는 단계를 포함하는, 방법.
  28. 제18항 내지 제27항 중 어느 한 항에 있어서,
    상기 3차원 환경의 일부분에 대응하는 상기 제1 위치에서 상기 손을 검출하는 것에 응답하여, 상기 손이 상기 제1 미리정의된 구성으로 유지되고 있지 않다는 결정에 따라, 손 제스처들을 사용한 제스처 입력에 대한 상기 제1 동작 콘텍스트의 시각적 표시를 디스플레이하는 것과 구별되는 동작을 수행하는 단계를 포함하는, 방법.
  29. 실행가능한 명령어들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 실행가능한 명령어들은, 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 제18항 내지 제28항 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
  30. 컴퓨터 시스템으로서,
    하나 이상의 프로세서들;
    디스플레이 생성 컴포넌트; 및
    상기 하나 이상의 프로세서들에 의한 실행을 위해 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램들은 제18항 내지 제28항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.
  31. 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템으로서,
    제18항 내지 제28항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  32. 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템에서 사용하기 위한 정보 프로세싱 장치로서,
    제18항 내지 제28항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.
  33. 방법으로서,
    디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 포함하는 컴퓨터 시스템에서:
    물리적 환경의 표현을 디스플레이하는 것을 포함하여, 3차원 환경을 디스플레이하는 단계;
    상기 물리적 환경의 표현을 디스플레이하는 동안, 제스처를 검출하는 단계; 및
    상기 제스처를 검출하는 것에 응답하여:
    사용자의 시선이 상기 물리적 환경 내의 미리정의된 물리적 위치에 대응하는 위치로 지향된다는 결정에 따라, 상기 3차원 환경에 시스템 사용자 인터페이스를 디스플레이하고;
    상기 사용자의 시선이 상기 물리적 환경 내의 상기 미리정의된 물리적 위치에 대응하는 상기 위치로 지향되지 않는다는 결정에 따라, 상기 시스템 사용자 인터페이스를 디스플레이하지 않고서 상기 3차원 환경의 현재 콘텍스트 내의 동작을 수행하는 단계를 포함하는, 방법.
  34. 제33항에 있어서, 상기 미리정의된 물리적 위치에 대응하는 상기 위치에 대해 미리정의된 위치에 시스템 어포던스를 디스플레이하는 단계를 포함하는, 방법.
  35. 제34항에 있어서, 상기 미리정의된 물리적 위치에 대응하는 상기 위치에 대해 상기 미리정의된 위치에 상기 시스템 어포던스를 디스플레이하는 단계는:
    상기 3차원 환경 내의, 상기 미리정의된 물리적 위치에 대응하는 상기 위치의 이동을 검출하는 단계; 및
    상기 3차원 환경 내의, 상기 미리정의된 물리적 위치에 대응하는 상기 위치의 이동을 검출하는 것에 응답하여, 상기 시스템 어포던스와 상기 미리정의된 물리적 위치에 대응하는 상기 위치의 상대 위치가 상기 3차원 환경에서 변경되지 않은 상태로 유지되도록 상기 3차원 환경에서 상기 시스템 어포던스를 이동시키는 단계를 포함하는, 방법.
  36. 제34항 또는 제35항에 있어서, 상기 시스템 어포던스는, 상기 사용자의 시선이 상기 미리정의된 물리적 위치에 대응하는 상기 위치로 지향된다는 결정에 따라, 상기 미리정의된 물리적 위치에 대응하는 상기 위치에 대해 상기 미리정의된 위치에 디스플레이되는, 방법.
  37. 제34항 또는 제35항에 있어서, 상기 3차원 환경 내의, 상기 미리정의된 물리적 위치에 대응하는 상기 위치에 대해 상기 미리정의된 위치에 상기 시스템 어포던스를 디스플레이하는 단계는:
    상기 사용자의 시선이 상기 미리정의된 물리적 위치에 대응하는 상기 위치로 지향되지 않는다는 결정에 따라, 상기 시스템 어포던스를 제1 외관으로 디스플레이하는 단계; 및
    상기 사용자의 시선이 상기 미리정의된 물리적 위치에 대응하는 상기 위치로 지향된다는 결정에 따라, 상기 시스템 어포던스를 상기 제1 외관과는 상이한 제2 외관으로 디스플레이하는 단계를 포함하는, 방법.
  38. 제34항 또는 제35항에 있어서, 상기 시스템 어포던스는, 상기 사용자가 제스처를 수행할 준비가 되어 있다는 결정에 따라, 상기 미리정의된 물리적 위치에 대응하는 상기 위치에 대해 상기 미리정의된 위치에 디스플레이되는, 방법.
  39. 제34항 또는 제35항에 있어서, 상기 미리정의된 물리적 위치에 대응하는 상기 위치에 대해 상기 미리정의된 위치에 상기 시스템 어포던스를 디스플레이하는 단계는:
    상기 사용자가 제스처를 수행할 준비가 되어 있지 않다는 결정에 따라, 상기 시스템 어포던스를 제1 외관으로 디스플레이하는 단계; 및
    상기 사용자가 제스처를 수행할 준비가 되어 있다는 결정에 따라, 상기 시스템 어포던스를 상기 제1 외관과는 상이한 제2 외관으로 디스플레이하는 단계를 포함하는, 방법.
  40. 제38항 또는 제39항에 있어서, 상기 미리정의된 물리적 위치는 상기 사용자의 손이고, 상기 사용자가 제스처를 수행할 준비가 되어 있다고 결정하는 것은 상기 손의 미리정의된 부분이 물리적 제어 요소와 접촉하고 있다고 결정하는 것을 포함하는, 방법.
  41. 제38항 또는 제39항에 있어서, 상기 미리정의된 물리적 위치는 상기 사용자의 손이고, 상기 사용자가 제스처를 수행할 준비가 되어 있다고 결정하는 것은 상기 손이 상기 사용자에 대해 미리정의된 레벨을 초과하여 상승되어 있다고 결정하는 것을 포함하는, 방법.
  42. 제38항 또는 제39항에 있어서, 상기 미리정의된 물리적 위치는 상기 사용자의 손이고, 상기 사용자가 제스처를 수행할 준비가 되어 있다고 결정하는 것은 상기 손이 미리정의된 구성에 있다고 결정하는 것을 포함하는, 방법.
  43. 제33항 내지 제42항 중 어느 한 항에 있어서, 상기 미리정의된 물리적 위치에 대응하는 상기 위치는 상기 3차원 환경 내의 고정 위치인, 방법.
  44. 제33항 내지 제42항 중 어느 한 항에 있어서, 상기 미리정의된 물리적 위치에 대응하는 상기 위치는 상기 3차원 환경의 디스플레이에 대한 고정 위치인, 방법.
  45. 제33항 내지 제42항 중 어느 한 항에 있어서, 상기 미리정의된 물리적 위치는 상기 사용자 상의 고정 위치인, 방법.
  46. 제33항 내지 제45항 중 어느 한 항에 있어서, 상기 3차원 환경에 상기 시스템 사용자 인터페이스를 디스플레이한 후에:
    제2 제스처를 검출하는 단계; 및
    상기 제2 제스처를 검출하는 것에 응답하여, 시스템 사용자 인터페이스를 디스플레이하는 단계를 포함하는, 방법.
  47. 제33항 내지 제46항 중 어느 한 항에 있어서, 상기 3차원 환경의 현재 콘텍스트는 수신된 통지의 표시의 디스플레이를 포함하고, 상기 3차원 환경의 현재 콘텍스트 내의 상기 동작을 수행하는 단계는 상기 수신된 통지에 관한 추가 정보를 포함하는 확장된 통지를 디스플레이하는 단계를 포함하는, 방법.
  48. 제33항 내지 제46항 중 어느 한 항에 있어서, 상기 3차원 환경의 현재 콘텍스트는 하나 이상의 사진들의 표시의 디스플레이를 포함하고, 상기 3차원 환경의 현재 콘텍스트 내의 상기 동작을 수행하는 단계는 상기 3차원 환경에 상기 하나 이상의 사진들 중 적어도 하나를 디스플레이하는 단계를 포함하는, 방법.
  49. 실행가능한 명령어들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 실행가능한 명령어들은, 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 제33항 내지 제48항 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
  50. 컴퓨터 시스템으로서,
    하나 이상의 프로세서들;
    디스플레이 생성 컴포넌트; 및
    상기 하나 이상의 프로세서들에 의한 실행을 위해 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램들은 제33항 내지 제48항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.
  51. 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템으로서,
    제33항 내지 제48항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  52. 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템에서 사용하기 위한 정보 프로세싱 장치로서,
    제33항 내지 제48항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.
  53. 방법으로서,
    디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 포함하는 전자 디바이스에서:
    하나 이상의 가상 객체들을 포함하여, 3차원 환경을 디스플레이하는 단계;
    상기 3차원 환경 내의 제1 객체를 향해 지향되는 시선을 검출하는 단계 - 상기 시선은 제1 기준들을 충족시키고, 상기 제1 객체는 적어도 하나의 제스처 입력에 응답함 -; 및
    상기 제1 기준들을 충족시키고, 적어도 하나의 제스처 입력에 응답하는 상기 제1 객체를 향하는 상기 시선을 검출하는 것에 응답하여:
    손이 제스처 입력들을 제공하기 위한 미리정의된 준비 상태에 있다는 결정에 따라, 상기 3차원 환경에 상기 제1 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시를 디스플레이하고;
    상기 손이 제스처 입력들을 제공하기 위한 상기 미리정의된 준비 상태에 있지 않다는 결정에 따라, 상기 제1 객체에 이용가능한 상기 하나 이상의 상호작용 옵션들의 표시를 디스플레이하는 것을 보류하는 단계를 포함하는, 방법.
  54. 제53항에 있어서, 상기 손이 제스처 입력들을 제공하기 위한 상기 미리정의된 준비 상태에 있다고 결정하는 것은 상기 손의 미리정의된 부분이 물리적 제어 요소와 접촉하고 있다고 결정하는 것을 포함하는, 방법.
  55. 제53항에 있어서, 상기 손이 제스처 입력들을 제공하기 위한 상기 미리정의된 준비 상태에 있다고 결정하는 것은 상기 손이 상기 사용자에 대해 미리정의된 레벨을 초과하여 상승되어 있다고 결정하는 것을 포함하는, 방법.
  56. 제53항에 있어서, 상기 손이 제스처 입력들을 제공하기 위한 상기 미리정의된 준비 상태에 있다고 결정하는 것은 상기 손이 미리정의된 구성에 있다고 결정하는 것을 포함하는, 방법.
  57. 제53항 내지 제56항 중 어느 한 항에 있어서, 상기 제1 객체에 이용가능한 상기 하나 이상의 상호작용 옵션들의 표시를 디스플레이하는 것은 후속 입력에 응답하여 조정가능한 상기 제1 가상 객체에 관한 정보를 디스플레이하는 것을 포함하는, 방법.
  58. 제53항 내지 제57항 중 어느 한 항에 있어서, 상기 제1 객체에 이용가능한 상기 하나 이상의 상호작용 옵션들의 표시를 디스플레이하는 것은 상기 제1 객체의 애니메이션을 디스플레이하는 것을 포함하는, 방법.
  59. 제53항 내지 제58항 중 어느 한 항에 있어서, 상기 제1 객체에 이용가능한 상기 하나 이상의 상호작용 옵션들의 표시를 디스플레이하는 것은 상기 제1 객체의 적어도 일부분 위에 선택 표시자를 디스플레이하는 것을 포함하는, 방법.
  60. 제53항 내지 제59항 중 어느 한 항에 있어서,
    상기 3차원 환경 내의 제2 객체를 향해 지향되는 상기 시선을 검출하는 단계 - 상기 시선은 상기 제1 기준들을 충족시키고, 상기 제2 가상 객체는 적어도 하나의 제스처 입력에 응답함 -; 및
    상기 제1 기준들을 충족시키고, 적어도 하나의 제스처 입력에 응답하는 상기 제2 가상 객체를 향하는 상기 시선을 검출하는 것에 응답하여:
    상기 손이 제스처 입력들을 제공하기 위한 상기 미리정의된 준비 상태에 있다는 결정에 따라, 상기 제2 가상 객체에 이용가능한 하나 이상의 상호작용 옵션들의 표시를 디스플레이하는 단계를 포함하는, 방법.
  61. 제53항 내지 제60항 중 어느 한 항에 있어서,
    상기 제1 기준들을 충족시키고, 적어도 하나의 제스처 입력에 응답하는 상기 제1 객체를 향하는 상기 시선을 검출하는 것에 응답하여:
    상기 손이 제스처 입력들을 제공하기 위한 상기 미리정의된 준비 상태에 있다는 결정에 따라:
    상기 손에 의한 제1 제스처 입력을 검출하고;
    상기 손에 의한 상기 제1 제스처 입력을 검출하는 것에 응답하여, 상기 제1 객체와의 상호작용을 수행하는 단계를 포함하는, 방법.
  62. 제61항에 있어서, 상기 제1 객체는 제1 이미지를 포함하고, 상기 제1 객체와의 상기 상호작용을 수행하는 단계는 상기 제1 이미지를 상기 제1 이미지와는 상이한 제2 이미지로 대체하는 단계를 포함하는, 방법.
  63. 제61항에 있어서, 상기 제1 객체는 제1 재생가능 미디어 콘텐츠를 포함하고, 상기 제1 객체와의 상기 상호작용을 수행하는 단계는 상기 제1 재생가능 미디어 콘텐츠의 재생을 토글링(toggling)하는 단계를 포함하는, 방법.
  64. 제61항에 있어서, 상기 제1 객체는 제1 가상 풍경을 디스플레이하는 가상 윈도우이고, 상기 제1 객체와의 상기 상호작용을 수행하는 단계는 상기 제1 가상 풍경의 디스플레이를 상기 제1 가상 풍경과는 상이한 제2 가상 풍경의 디스플레이로 대체하는 단계를 포함하는, 방법.
  65. 제61항에 있어서,
    상기 제1 제스처 입력은 상향 플릭 제스처이고;
    상기 제1 객체와의 상기 상호작용을 수행하는 단계는 상기 제1 객체에 대한 하나 이상의 상호작용 옵션들을 갖는 사용자 인터페이스를 디스플레이하는 단계를 포함하는, 방법.
  66. 제61항에 있어서,
    상기 제1 제스처 입력은 상기 손의 회전을 포함하고;
    상기 제1 객체와의 상기 상호작용을 수행하는 단계는 상기 제1 객체와 연관된 콘텐츠의 출력 볼륨을 변경하는 단계를 포함하는, 방법.
  67. 제53항 내지 제66항 중 어느 한 항에 있어서, 상기 제1 기준들은 상기 시선이 적어도 임계 시간 동안 상기 제1 객체를 향해 지향된 상태로 유지되는 요건을 포함하는, 방법.
  68. 실행가능한 명령어들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 실행가능한 명령어들은, 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 제53항 내지 제67항 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
  69. 컴퓨터 시스템으로서,
    하나 이상의 프로세서들;
    디스플레이 생성 컴포넌트; 및
    상기 하나 이상의 프로세서들에 의한 실행을 위해 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램들은 제53항 내지 제67항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.
  70. 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템으로서,
    제53항 내지 제67항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  71. 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템에서 사용하기 위한 정보 프로세싱 장치로서,
    제53항 내지 제67항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.
  72. 방법으로서,
    디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 포함하는 컴퓨터 시스템에서:
    상기 디스플레이 생성 컴포넌트를 상기 컴퓨터 시스템의 사용자에 대해 미리정의된 위치에 배치하는 것을 검출하는 단계;
    상기 디스플레이 생성 컴포넌트를 상기 컴퓨터 시스템의 사용자에 대해 상기 미리정의된 위치에 배치하는 것을 검출하는 것에 응답하여, 상기 디스플레이 생성 컴포넌트를 통해, 패스 스루 부분(pass-through portion)을 포함하는 3차원 환경의 제1 뷰를 디스플레이하는 단계 - 상기 패스 스루 부분은 상기 사용자를 둘러싸는 실제 세계의 적어도 일부분의 표현을 포함함 -;
    상기 패스 스루 부분을 포함하는 상기 3차원 환경의 제1 뷰를 디스플레이하는 동안, 상기 디스플레이 생성 컴포넌트와 물리적으로 결합되는 하우징에 대한 상기 손의 그립의 변화를 검출하는 단계; 및
    상기 디스플레이 생성 컴포넌트와 물리적으로 결합되는 상기 하우징에 대한 상기 손의 그립의 상기 변화를 검출하는 것에 응답하여:
    상기 디스플레이 생성 컴포넌트와 물리적으로 결합되는 상기 하우징에 대한 상기 손의 그립의 상기 변화가 제1 기준들을 충족시킨다는 결정에 따라, 상기 3차원 환경의 제1 뷰를 상기 3차원 환경의 제2 뷰로 대체하는 단계 - 상기 제2 뷰는 상기 패스 스루 부분의 적어도 일부분을 가상 콘텐츠로 대체함 - 를 포함하는, 방법.
  73. 제72항에 있어서, 상기 제1 뷰는 상기 사용자의 눈들 앞에서 제1 시야각 또는 관찰 심도 범위에 걸쳐 있는 가상 객체들의 제1 세트를 포함하고; 상기 제2 뷰는 상기 제1 시야각 또는 관찰 심도 범위보다 큰 제2 시야각 또는 관찰 심도 범위에 걸쳐 있는 가상 객체들의 제2 세트를 포함하는, 방법.
  74. 제72항에 있어서, 상기 제1 뷰는 상기 사용자를 둘러싸는 상기 실제 세계 내의 제1 물리적 객체에 대응하는 상기 3차원 환경 내의 제1 표면을 오버레이하는 제1 가상 콘텐츠를 포함하고, 상기 제2 뷰는, 상기 제1 표면을 오버레이하는 상기 제1 가상 콘텐츠에 더하여, 상기 사용자를 둘러싸는 상기 실제 세계 내의 제2 물리적 객체에 대응하는 상기 3차원 환경 내의 제2 표면을 오버레이하는 제2 가상 콘텐츠를 포함하는, 방법.
  75. 제72항에 있어서, 상기 제1 뷰는 제1 가상 콘텐츠를 포함하고, 상기 제2 뷰는, 상기 제1 가상 콘텐츠 및 상기 패스 스루 부분을 대체하는 제2 가상 콘텐츠를 포함하는, 방법.
  76. 제72항 내지 제75항 중 어느 한 항에 있어서, 상기 제2 뷰는, 하나 이상의 애플리케이션들 및 가상 경험들을 각각 표현하는 하나 이상의 선택가능 가상 객체들을 포함하는 것을 포함하는, 방법.
  77. 제72항 내지 제76항 중 어느 한 항에 있어서,
    상기 3차원 환경의 제2 뷰를 디스플레이하는 동안, 상기 디스플레이 생성 컴포넌트와 물리적으로 결합되는 상기 하우징에 대한 상기 손의 그립의 제2 변화를 검출하는 단계; 및
    상기 디스플레이 생성 컴포넌트와 물리적으로 결합되는 상기 하우징에 대한 상기 손의 그립의 상기 제2 변화를 검출하는 것에 응답하여:
    상기 디스플레이 생성 컴포넌트와 물리적으로 결합되는 상기 하우징에 대한 상기 손의 그립의 상기 변화가 제2 기준들을 충족시킨다는 결정에 따라, 상기 3차원 환경의 제2 뷰를 패스 스루 부분을 포함하지 않는 상기 3차원 환경의 제3 뷰로 대체하는 단계를 추가로 포함하는, 방법.
  78. 제72항 내지 제77항 중 어느 한 항에 있어서,
    상기 사용자를 둘러싸는 상기 실제 세계의 적어도 일부분을 보여주기 위한 상기 패스 스루 부분을 포함하지 않는 상기 3차원 환경의 각각의 뷰를 디스플레이하는 동안, 상기 디스플레이 생성 컴포넌트와 물리적으로 결합되는 상기 하우징 상에서의 사용자 입력을 검출하는 단계; 및
    상기 디스플레이 생성 컴포넌트와 물리적으로 결합되는 상기 하우징 상에서의 상기 사용자 입력을 검출하는 것에 응답하여, 상기 사용자 입력이 제3 기준들을 충족시킨다는 결정에 따라, 상기 디스플레이 생성 컴포넌트를 통해, 상기 실제 세계의 적어도 일부분의 표현을 포함하는 상기 패스 스루 부분을 포함하는 상기 제1 뷰를 재디스플레이하는 단계를 추가로 포함하는, 방법.
  79. 제72항 내지 제78항 중 어느 한 항에 있어서,
    상기 디스플레이 생성 컴포넌트의 하우징에 대한 상기 손의 그립의 상기 변화를 검출하는 것에 응답하여:
    상기 손의 그립의 상기 변화가 상기 제1 기준들을 충족시키지 않는다는 결정에 따라, 상기 3차원 환경의 제1 뷰를 유지하는 단계;
    상기 3차원 환경의 제1 뷰를 디스플레이하는 동안, 상기 디스플레이 생성 컴포넌트와 물리적으로 결합되는 상기 하우징에 대한 상기 손의 그립의 변화와 구별되는 사용자 입력을 검출하는 단계 - 상기 사용자 입력은 상기 전자 디바이스의 제1 입력 디바이스의 활성화를 야기함 -; 및
    상기 전자 디바이스의 제1 입력 디바이스의 활성화를 야기하는 상기 사용자 입력을 검출하는 것에 응답하여, 상기 3차원 환경의 제1 뷰를 상기 3차원 환경의 제2 뷰로 대체하는 단계를 추가로 포함하는, 방법.
  80. 실행가능한 명령어들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 실행가능한 명령어들은, 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 제72항 내지 제79항 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
  81. 컴퓨터 시스템으로서,
    하나 이상의 프로세서들;
    디스플레이 생성 컴포넌트; 및
    상기 하나 이상의 프로세서들에 의한 실행을 위해 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램들은 제72항 내지 제79항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.
  82. 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템으로서,
    제72항 내지 제79항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  83. 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템에서 사용하기 위한 정보 프로세싱 장치로서,
    제72항 내지 제79항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.
  84. 방법으로서,
    디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 포함하는 컴퓨터 시스템에서:
    상기 디스플레이 생성 컴포넌트를 통해, 가상 환경의 뷰를 디스플레이하는 단계;
    상기 가상 환경의 뷰를 디스플레이하는 동안 그리고 상기 가상 환경의 뷰가, 사용자가 위치되는 물리적 환경에 존재하는 제1 물리적 객체의 제1 부분의 시각적 표현을 포함하지 않는 동안, 상기 물리적 환경에서의 상기 사용자의 제1 이동을 검출하는 단계; 및
    상기 물리적 환경에서의 상기 사용자의 제1 이동을 검출하는 것에 응답하여:
    상기 사용자가 상기 제1 물리적 객체의 제1 부분의 임계 거리 내에 있다는 결정에 따라 - 상기 제1 물리적 객체는 상기 가상 환경에 대한 상기 사용자의 시야에 기초하여 상기 사용자에게 잠재적으로 보이는 범위를 가짐 -, 상기 가상 환경에 대한 상기 사용자의 시야에 기초하여 상기 사용자에게 잠재적으로 보이는 상기 제1 물리적 객체의 범위의 일부인 상기 제1 물리적 객체의 제2 부분을 나타내기 위해 상기 가상 환경의 뷰의 외관을 변경하지 않고서, 상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 제1 방식으로 상기 가상 환경의 뷰의 외관을 변경하고;
    상기 사용자가 상기 사용자를 둘러싸는 상기 물리적 환경에 존재하는 상기 제1 물리적 객체의 임계 거리 내에 있지 않다는 결정에 따라, 상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 상기 제1 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 것을 보류하는 단계를 포함하는, 방법.
  85. 제84항에 있어서, 상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 상기 제1 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 것은:
    상기 가상 환경의 제2 부분에서 상기 가상 환경의 뷰의 외관을 변경하면서 상기 가상 환경의 제1 부분에서 상기 가상 환경의 뷰의 외관을 유지하는 것 - 상기 가상 환경의 변경된 뷰에서 상기 가상 환경의 제1 부분과 상기 가상 환경의 제2 부분 사이의 경계는 상기 제1 물리적 객체의 제1 부분의 물리적 경계에 대응함 - 을 추가로 포함하는, 방법.
  86. 제84항 또는 제85항에 있어서,
    상기 물리적 환경 내의 상기 제1 물리적 객체에 대한 상기 사용자의 제2 이동을 검출하는 단계; 및
    상기 물리적 환경 내의 상기 제1 물리적 객체에 대한 상기 사용자의 제2 이동을 검출하는 것에 응답하여:
    상기 사용자가 상기 가상 환경에 대한 상기 사용자의 시야에 기초하여 상기 사용자에게 잠재적으로 보이는 상기 제1 물리적 객체의 범위의 일부인 상기 제1 물리적 객체의 제2 부분의 임계 거리 내에 있다는 결정에 따라, 상기 제1 물리적 객체의 제2 부분의 물리적 특성을 나타내는 제2 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 단계를 추가로 포함하는, 방법.
  87. 제84항 내지 제86항 중 어느 한 항에 있어서, 상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 상기 제1 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 것은: 상기 가상 환경의 뷰 내에 상기 제1 물리적 객체의 제1 부분의 반투명 시각적 표현을 디스플레이하는 것을 추가로 포함하는, 방법.
  88. 제84항 내지 제86항 중 어느 한 항에 있어서, 상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 상기 제1 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 것은: 상기 제1 물리적 객체의 제1 부분의 형상을 나타내는 형상으로 상기 가상 환경의 일부분을 왜곡시키는 것을 추가로 포함하는, 방법.
  89. 제84항 내지 제86항 중 어느 한 항에 있어서, 상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 상기 제1 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 것은: 상기 제1 물리적 객체의 제1 부분에 대응하는 상기 가상 환경의 뷰의 일부분의 미리정의된 왜곡을 디스플레이하는 것을 추가로 포함하는, 방법.
  90. 제84항 내지 제89항 중 어느 한 항에 있어서,
    상기 제1 이동 후의 상기 물리적 환경에서의 상기 사용자의 계속되는 이동을 검출하는 단계; 및
    상기 제1 이동 후의 상기 물리적 환경에서의 상기 사용자의 계속되는 이동을 검출하는 것에 응답하여 그리고 상기 사용자가 상기 제1 물리적 객체의 제1 부분의 임계 거리 내에 유지된다는 결정에 따라:
    상기 사용자와 상기 제1 물리적 객체의 제1 부분 사이의 상기 거리가 상기 물리적 환경에서의 상기 사용자의 계속되는 이동의 결과로서 증가하였다는 결정에 따라, 상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 상기 가상 환경의 뷰에 현재 적용된 시각적 효과의 제1 디스플레이 속성을 감소시키고;
    상기 사용자와 상기 제1 물리적 객체의 제1 부분 사이의 상기 거리가 상기 물리적 환경에서의 상기 사용자의 계속되는 이동의 결과로서 감소하였다는 결정에 따라, 상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 상기 가상 환경의 뷰에 현재 적용된 상기 시각적 효과의 제1 디스플레이 속성을 증가시키는 단계를 포함하는, 방법.
  91. 제84항 내지 제90항 중 어느 한 항에 있어서,
    상기 제1 이동 후의 상기 물리적 환경에서의 상기 사용자의 계속되는 이동을 검출하는 단계; 및
    상기 제1 이동 후의 상기 물리적 환경에서의 상기 사용자의 계속되는 이동을 검출하는 것에 응답하여 그리고 상기 제1 물리적 객체가 상기 가상 환경에 대한 상기 사용자의 시야에 기초하여 상기 사용자에게 잠재적으로 보이는 동안:
    상기 사용자와 상기 제1 물리적 객체의 제1 부분 사이의 상기 거리가 상기 물리적 환경에서의 상기 사용자의 계속되는 이동의 결과로서 상기 임계 거리를 초과하여 증가하였다는 결정, 및 상기 사용자와 상기 제1 물리적 객체의 제2 부분 사이의 상기 거리가 상기 물리적 환경에서의 상기 사용자의 계속되는 이동의 결과로서 상기 임계 거리 미만으로 감소하였다는 결정에 따라:
    상기 가상 환경에 대한 상기 사용자의 시야에 기초하여 상기 사용자에게 잠재적으로 보이는 상기 제1 물리적 객체의 범위의 일부인 상기 제1 물리적 객체의 제2 부분을 나타내기 위해 상기 가상 환경의 뷰의 외관을 변경하지 않고서, 상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 상기 제1 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 것을 중지하고;
    상기 가상 환경에 대한 상기 사용자의 시야에 기초하여 상기 사용자에게 잠재적으로 보이는 상기 제1 물리적 객체의 범위의 일부인 상기 제1 물리적 객체의 제1 부분을 나타내기 위해 상기 가상 환경의 뷰의 외관을 변경하지 않고서, 상기 제1 물리적 객체의 제2 부분의 물리적 특성을 나타내는 제2 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 단계를 포함하는, 방법.
  92. 제84항 내지 제91항 중 어느 한 항에 있어서,
    상기 물리적 환경 내의 상기 제1 물리적 객체에 대한 상기 사용자의 제1 이동의 속도에 따라, 상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 상기 가상 환경의 뷰의 외관을 변경하는 속도를 변경하는 단계를 추가로 포함하는, 방법.
  93. 제84항 내지 제92항 중 어느 한 항에 있어서,
    제2 물리적 객체의 물리적 특성을 나타내는 상기 가상 환경의 뷰 내에 상기 제2 물리적 객체의 적어도 일부분의 표현을 지속적으로 디스플레이하는 단계 - 상기 제2 물리적 객체는 상기 사용자에 의해 선택됨 - 를 추가로 포함하는, 방법.
  94. 제84항 내지 제93항 중 어느 한 항에 있어서,
    상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 상기 제1 방식으로 상기 가상 환경의 뷰의 외관을 변경한 후에, 상기 물리적 환경에서 상기 사용자의 자세의 변화를 검출하는 단계; 및
    상기 자세의 변화를 검출하는 것에 응답하여, 그리고 상기 자세의 변화가 제1 미리정의된 자세 기준들을 충족시킨다는 결정에 따라, 상기 가상 환경의 뷰에서 상기 제1 물리적 객체의 가시성을 증가시키는 각각의 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 단계를 추가로 포함하는, 방법.
  95. 제94항에 있어서, 상기 가상 환경의 뷰에서 상기 제1 물리적 객체의 가시성을 증가시키는 각각의 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 단계는:
    상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 상기 가상 환경의 일부분에 현재 적용된 시각적 효과의 디스플레이 속성을 증가시키는 단계를 포함하는, 방법.
  96. 제94항에 있어서, 상기 가상 환경의 뷰에서 상기 제1 물리적 객체의 가시성을 증가시키는 각각의 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 단계는:
    상기 제1 물리적 객체의 추가 부분의 물리적 특성을 나타내도록 상기 외관이 변경되는 상기 가상 환경의 뷰의 범위를 증가시키는 단계를 포함하는, 방법.
  97. 제94항에 있어서, 상기 가상 환경의 뷰에서 상기 제1 물리적 객체의 가시성을 증가시키는 각각의 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 단계는:
    상기 가상 환경에 대한 상기 사용자의 시야에 기초하여 상기 사용자에게 잠재적으로 보이는 모든 물리적 객체들의 물리적 특성을 나타내도록 상기 외관이 변경되는 상기 가상 환경의 뷰의 범위를 증가시키는 단계를 포함하는, 방법.
  98. 제94항에 있어서,
    상기 제1 미리정의된 자세 기준들을 충족시키는 상기 자세의 변화를 검출한 후에, 상기 물리적 환경에서 상기 사용자의 자세의 역전된 변화를 검출하는 단계; 및
    상기 자세의 역전된 변화를 검출하는 것에 응답하여, 그리고 상기 자세의 역전된 변화가 제2 미리정의된 자세 기준들을 충족시킨다는 결정에 따라, 상기 가상 환경의 뷰에서 상기 제1 물리적 객체의 증가된 가시성을 역전시키는 각각의 방식으로 상기 가상 환경의 뷰의 외관을 변경하는 단계를 추가로 포함하는, 방법.
  99. 제84항 내지 제98항 중 어느 한 항에 있어서,
    상기 제1 물리적 객체의 제1 부분의 물리적 특성을 나타내는 상기 제1 방식으로 상기 가상 환경의 뷰의 외관을 변경한 후에, 가상 뷰 복원(virtual-view-restoration) 기준들이 충족된다는 결정에 따라 - 상기 가상 뷰 복원 기준들은 상기 사용자 및 상기 제1 물리적 객체의 제1 부분의 위치가 제1 임계 시간 동안 변경되지 않은 상태로 유지되었음을 요구함 -, 상기 제1 방식으로 상기 가상 환경의 뷰의 외관의 상기 변화를 역전시키는 단계를 추가로 포함하는, 방법.
  100. 실행가능한 명령어들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 실행가능한 명령어들은, 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 제84항 내지 제99항 중 어느 한 항의 방법을 수행하게 하는, 컴퓨터 판독가능 저장 매체.
  101. 컴퓨터 시스템으로서,
    하나 이상의 프로세서들;
    디스플레이 생성 컴포넌트; 및
    상기 하나 이상의 프로세서들에 의한 실행을 위해 구성된 하나 이상의 프로그램들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램들은 제84항 내지 제99항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.
  102. 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템으로서,
    제84항 내지 제99항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  103. 하나 이상의 프로세서들 및 디스플레이 생성 컴포넌트를 갖는 컴퓨터 시스템에서 사용하기 위한 정보 프로세싱 장치로서,
    제84항 내지 제99항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.
KR1020227007798A 2019-09-27 2020-09-25 3차원 환경들과 상호작용하기 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들 KR20220040493A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962907480P 2019-09-27 2019-09-27
US62/907,480 2019-09-27
US17/030,200 US11340756B2 (en) 2019-09-27 2020-09-23 Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US17/030,200 2020-09-23
PCT/US2020/052640 WO2021062098A1 (en) 2019-09-27 2020-09-25 Devices, methods, and graphical user interfaces for interacting with three-dimensional environments

Publications (1)

Publication Number Publication Date
KR20220040493A true KR20220040493A (ko) 2022-03-30

Family

ID=75163140

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227007798A KR20220040493A (ko) 2019-09-27 2020-09-25 3차원 환경들과 상호작용하기 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들

Country Status (7)

Country Link
US (3) US11340756B2 (ko)
EP (1) EP4034970A1 (ko)
JP (2) JP7465952B2 (ko)
KR (1) KR20220040493A (ko)
CN (2) CN114450650A (ko)
AU (2) AU2020351739B2 (ko)
WO (1) WO2021062098A1 (ko)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11734477B2 (en) * 2018-03-08 2023-08-22 Concurrent Technologies Corporation Location-based VR topological extrusion apparatus
US11450297B1 (en) * 2018-08-30 2022-09-20 Apple Inc. Electronic device with central and peripheral displays
KR102225342B1 (ko) * 2019-02-13 2021-03-09 주식회사 브이터치 객체 제어를 지원하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
US11275453B1 (en) 2019-09-30 2022-03-15 Snap Inc. Smart ring for manipulating virtual objects displayed by a wearable device
FR3102592B1 (fr) * 2019-10-29 2022-02-11 Immersion Procédé d’interaction avec un utilisateur d’un système immersif et dispositif pour la mise en œuvre d’un tel procédé
WO2021162769A1 (en) * 2020-02-10 2021-08-19 Magic Leap, Inc. Body-centric content positioning relative to three-dimensional container in a mixed reality environment
US11277597B1 (en) 2020-03-31 2022-03-15 Snap Inc. Marker-based guided AR experience
US11348300B2 (en) * 2020-04-03 2022-05-31 Magic Leap, Inc. Avatar customization for optimal gaze discrimination
US11798429B1 (en) 2020-05-04 2023-10-24 Snap Inc. Virtual tutorials for musical instruments with finger tracking in augmented reality
US11520399B2 (en) 2020-05-26 2022-12-06 Snap Inc. Interactive augmented reality experiences using positional tracking
US11698680B2 (en) * 2020-06-23 2023-07-11 Immersion Corporation Methods and systems for decoding and rendering a haptic effect associated with a 3D environment
US20210405761A1 (en) * 2020-06-29 2021-12-30 Ilteris Canberk Augmented reality experiences with object manipulation
US11925863B2 (en) * 2020-09-18 2024-03-12 Snap Inc. Tracking hand gestures for interactive game control in augmented reality
US11615596B2 (en) 2020-09-24 2023-03-28 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US11567625B2 (en) 2020-09-24 2023-01-31 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US11546505B2 (en) * 2020-09-28 2023-01-03 Snap Inc. Touchless photo capture in response to detected hand gestures
CN112527107B (zh) * 2020-11-30 2023-04-07 京东方科技集团股份有限公司 手势识别方法、装置、电子设备及存储介质
US11249556B1 (en) 2020-11-30 2022-02-15 Microsoft Technology Licensing, Llc Single-handed microgesture inputs
US20220197393A1 (en) * 2020-12-22 2022-06-23 Snap Inc. Gesture control on an eyewear device
US11782577B2 (en) 2020-12-22 2023-10-10 Snap Inc. Media content player on an eyewear device
US11797162B2 (en) 2020-12-22 2023-10-24 Snap Inc. 3D painting on an eyewear device
KR20230124703A (ko) 2020-12-29 2023-08-25 스냅 인코포레이티드 증강 현실 컴포넌트들을 위한 신체 ui
US11500454B2 (en) * 2020-12-29 2022-11-15 Snap Inc. Body UI for augmented reality components
US11740313B2 (en) 2020-12-30 2023-08-29 Snap Inc. Augmented reality precision tracking and display
CN112817443A (zh) * 2021-01-22 2021-05-18 歌尔科技有限公司 基于手势的显示界面控制方法、装置、设备及存储介质
US11860641B2 (en) * 2021-01-28 2024-01-02 Caterpillar Inc. Visual overlays for providing perception of depth
JP2024507749A (ja) 2021-02-08 2024-02-21 サイトフル コンピューターズ リミテッド エクステンデッドリアリティにおけるコンテンツ共有
US12013985B1 (en) * 2021-02-25 2024-06-18 Snap Inc. Single-handed gestures for reviewing virtual content
US11531402B1 (en) 2021-02-25 2022-12-20 Snap Inc. Bimanual gestures for controlling virtual and graphical elements
US11931114B2 (en) 2021-03-05 2024-03-19 MediVis, Inc. Virtual interaction with instruments in augmented reality
US11861070B2 (en) * 2021-04-19 2024-01-02 Snap Inc. Hand gestures for animating and controlling virtual and graphical elements
US11947728B2 (en) * 2021-04-30 2024-04-02 Samsung Electronics Co., Ltd. Electronic device for executing function based on hand gesture and method for operating thereof
CN113282169B (zh) * 2021-05-08 2023-04-07 青岛小鸟看看科技有限公司 头戴式显示设备的交互方法、装置及头戴式显示设备
US11579752B1 (en) * 2021-07-20 2023-02-14 Sony Interactive Entertainment Inc. Augmented reality placement for user feedback
WO2023009580A2 (en) 2021-07-28 2023-02-02 Multinarity Ltd Using an extended reality appliance for productivity
US11334178B1 (en) * 2021-08-06 2022-05-17 Kinoo, Inc. Systems and methods for bimanual control of virtual objects
US11409359B1 (en) * 2021-08-06 2022-08-09 Kinoo, Inc. Systems and methods for collective control of virtual objects
EP4388502A1 (en) * 2021-09-22 2024-06-26 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
WO2023048911A1 (en) * 2021-09-24 2023-03-30 Chinook Labs Llc Object-based glint grouping
US20230114043A1 (en) * 2021-09-24 2023-04-13 Apple Inc. Devices, Methods, and Graphical User Interfaces for Interacting with Three-Dimensional Environments
WO2023055907A1 (en) * 2021-09-29 2023-04-06 MediVis, Inc. Virtual interaction with instruments in augmented reality
US20230113125A1 (en) * 2021-10-08 2023-04-13 Jpmorgan Chase Bank, N.A. Systems and methods for dynamic detection and presentation of obscured real-world objects in augmented or mixed reality virtual content
US20230135974A1 (en) * 2021-11-04 2023-05-04 Microsoft Technology Licensing, Llc Multi-factor intention determination for augmented reality (ar) environment control
US20230206572A1 (en) * 2021-12-23 2023-06-29 Apple Inc. Methods for sharing content and interacting with physical devices in a three-dimensional environment
US20230221797A1 (en) * 2022-01-13 2023-07-13 Meta Platforms Technologies, Llc Ephemeral Artificial Reality Experiences
US11948263B1 (en) 2023-03-14 2024-04-02 Sightful Computers Ltd Recording the complete physical and extended reality environments of a user
US11768544B2 (en) 2022-02-01 2023-09-26 Microsoft Technology Licensing, Llc Gesture recognition based on likelihood of interaction
US11614619B1 (en) * 2022-04-11 2023-03-28 Voyetra Turtle Beach, Inc. Headset dynamic windowing
US12026527B2 (en) 2022-05-10 2024-07-02 Meta Platforms Technologies, Llc World-controlled and application-controlled augments in an artificial-reality environment
WO2023230354A1 (en) * 2022-05-27 2023-11-30 Meta Platforms Technologies, Llc Systems for interpreting thumb movements of in-air hand gestures for controlling user interfaces based on spatial orientations of a user's hand, and method of use thereof
US11972521B2 (en) * 2022-08-31 2024-04-30 Snap Inc. Multisensorial presentation of volumetric content
WO2024059755A1 (en) * 2022-09-14 2024-03-21 Apple Inc. Methods for depth conflict mitigation in a three-dimensional environment
WO2024064388A1 (en) * 2022-09-24 2024-03-28 Apple Inc. Devices, methods, for interacting with graphical user interfaces
CN116225209A (zh) * 2022-11-03 2023-06-06 溥畅(杭州)智能科技有限公司 一种基于眼动追踪的人机交互方法及系统
US12020361B1 (en) * 2022-12-30 2024-06-25 Theai, Inc. Real-time animation of artificial intelligence characters
US11991222B1 (en) 2023-05-02 2024-05-21 Meta Platforms Technologies, Llc Persistent call control user interface element in an artificial reality environment
CN117373135B (zh) * 2023-12-07 2024-03-15 湖北星纪魅族集团有限公司 基于视觉的滑动手势识别方法、系统及相关设备

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5528735A (en) 1993-03-23 1996-06-18 Silicon Graphics Inc. Method and apparatus for displaying data within a three-dimensional information landscape
US6480210B1 (en) 1999-06-30 2002-11-12 Koninklijke Philips Electronics N.V. Video browsing space
US20100241525A1 (en) 2009-03-18 2010-09-23 Microsoft Corporation Immersive virtual commerce
US8405680B1 (en) 2010-04-19 2013-03-26 YDreams S.A., A Public Limited Liability Company Various methods and apparatuses for achieving augmented reality
US9075434B2 (en) * 2010-08-20 2015-07-07 Microsoft Technology Licensing, Llc Translating user motion into multiple object responses
US20120113223A1 (en) * 2010-11-05 2012-05-10 Microsoft Corporation User Interaction in Augmented Reality
KR101896947B1 (ko) * 2011-02-23 2018-10-31 엘지이노텍 주식회사 제스쳐를 이용한 입력 장치 및 방법
US20120254791A1 (en) 2011-03-31 2012-10-04 Apple Inc. Interactive menu elements in a virtual three-dimensional space
US20130050069A1 (en) * 2011-08-23 2013-02-28 Sony Corporation, A Japanese Corporation Method and system for use in providing three dimensional user interface
US9323325B2 (en) 2011-08-30 2016-04-26 Microsoft Technology Licensing, Llc Enhancing an object of interest in a see-through, mixed reality display device
JP6110938B2 (ja) 2012-05-30 2017-04-05 コピン コーポレーション 仮想表示機能を改善させた頭部装着コンピュータ
US9495068B2 (en) * 2012-07-27 2016-11-15 Nec Solution Innovators, Ltd. Three-dimensional user interface apparatus and three-dimensional operation method
US20140282220A1 (en) 2013-03-14 2014-09-18 Tim Wantland Presenting object models in augmented reality images
US10514767B2 (en) * 2013-04-02 2019-12-24 Sony Corporation Information processing apparatus and information processing method
US10168882B2 (en) * 2013-06-09 2019-01-01 Apple Inc. Device, method, and graphical user interface for switching between camera interfaces
US9741169B1 (en) 2014-05-20 2017-08-22 Leap Motion, Inc. Wearable augmented reality devices with object detection and tracking
US10156908B2 (en) * 2015-04-15 2018-12-18 Sony Interactive Entertainment Inc. Pinch and hold gesture navigation on a head-mounted display
US9690374B2 (en) 2015-04-27 2017-06-27 Google Inc. Virtual/augmented reality transition system and method
US10620437B2 (en) 2016-05-25 2020-04-14 Lenovo (Singapore) Pte. Ltd. Systems and methods for presentation of images from camera concurrently with presentation of virtual reality content
JP6093473B1 (ja) * 2016-08-19 2017-03-08 株式会社コロプラ 情報処理方法及び当該情報処理方法をコンピュータに実行させるためのプログラム
US20180095636A1 (en) 2016-10-04 2018-04-05 Facebook, Inc. Controls and Interfaces for User Interactions in Virtual Spaces
US10262036B2 (en) 2016-12-29 2019-04-16 Microsoft Technology Licensing, Llc Replacing pronouns with focus-specific objects in search queries
US10261595B1 (en) 2017-05-19 2019-04-16 Facebook Technologies, Llc High resolution tracking and response to hand gestures through three dimensions
US10304239B2 (en) * 2017-07-20 2019-05-28 Qualcomm Incorporated Extended reality virtual assistant
US10262446B2 (en) 2017-07-26 2019-04-16 Lenovo (Singapore) Pte. Ltd. Systems and methods to alter presentation of virtual rendition based on real world object
WO2019046597A1 (en) * 2017-08-31 2019-03-07 Apple Inc. GRAPHIC USER SYSTEMS, METHODS AND INTERFACES FOR INTERACTING WITH ENHANCED AND VIRTUAL REALITY ENVIRONMENTS
DK180470B1 (en) 2017-08-31 2021-05-06 Apple Inc Systems, procedures, and graphical user interfaces for interacting with augmented and virtual reality environments
US20190066385A1 (en) * 2017-08-31 2019-02-28 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
CN107992814A (zh) 2017-11-28 2018-05-04 北京小米移动软件有限公司 对象寻找方法及装置
WO2019217163A1 (en) 2018-05-08 2019-11-14 Zermatt Technologies Llc Techniques for switching between immersion levels
CN112105983B (zh) 2018-05-08 2023-07-07 苹果公司 增强的视觉能力
US11494988B2 (en) 2018-05-22 2022-11-08 Agilent Technologies, Inc. Method and system for implementing augmented reality (AR)-based assistance within work environment
US10607083B2 (en) 2018-07-19 2020-03-31 Microsoft Technology Licensing, Llc Selectively alerting users of real objects in a virtual environment
US10740918B2 (en) * 2018-09-12 2020-08-11 Dell Products, L.P. Adaptive simultaneous localization and mapping (SLAM) using world-facing cameras in virtual, augmented, and mixed reality (xR) applications
US11032532B2 (en) 2018-10-04 2021-06-08 Samsung Electronics Co., Ltd. Electronic device and method for providing virtual device via at least portion of content
US10725308B1 (en) 2018-10-08 2020-07-28 Facebook Technologies, Llc Dynamic attenuator for combining real world and virtual content
EP3693846A1 (en) 2019-02-06 2020-08-12 Nokia Technologies Oy An apparatus, method or computer program for rendering sound scenes defined by spatial audio content to a user
US11086475B1 (en) * 2019-06-07 2021-08-10 Facebook Technologies, Llc Artificial reality systems with hand gesture-contained content window
US11231827B2 (en) 2019-08-03 2022-01-25 Qualcomm Incorporated Computing device and extended reality integration
US11636438B1 (en) 2019-10-18 2023-04-25 Meta Platforms Technologies, Llc Generating smart reminders by assistant systems
US20210233341A1 (en) 2020-01-23 2021-07-29 Eric Hayes Digital identification validation system
US11436828B1 (en) 2020-06-02 2022-09-06 State Farm Mutual Automobile Insurance Company Insurance inventory and claim generation
US11567625B2 (en) 2020-09-24 2023-01-31 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US11615596B2 (en) 2020-09-24 2023-03-28 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments

Also Published As

Publication number Publication date
US20210096726A1 (en) 2021-04-01
JP2024069187A (ja) 2024-05-21
WO2021062098A1 (en) 2021-04-01
AU2020351739B2 (en) 2024-02-08
US11340756B2 (en) 2022-05-24
JP2022546502A (ja) 2022-11-04
JP7465952B2 (ja) 2024-04-11
CN114637376A (zh) 2022-06-17
US20220244835A1 (en) 2022-08-04
WO2021062098A4 (en) 2021-04-29
CN114450650A (zh) 2022-05-06
AU2020351739A1 (en) 2022-03-10
EP4034970A1 (en) 2022-08-03
US11768579B2 (en) 2023-09-26
AU2024202163A1 (en) 2024-05-02
US20230418432A1 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
US11768579B2 (en) Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
JP2022547930A (ja) 三次元環境と相互作用するためのデバイス、方法、及びグラフィカルユーザインタフェース
CN116719452A (zh) 用于与用于移动虚拟环境中的虚拟对象的虚拟控件和/或示能表示交互的方法
CN117043713A (zh) 用于与三维环境进行交互的设备、方法和图形用户界面
CN116438505A (zh) 用于操纵环境中的对象的方法
US20220083197A1 (en) Devices, Methods, and Graphical User Interfaces for Providing Computer-Generated Experiences
US20230094522A1 (en) Devices, methods, and graphical user interfaces for content applications
US11934569B2 (en) Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US20230093979A1 (en) Devices, methods, and graphical user interfaces for content applications
KR20240091221A (ko) 미디어를 캡처 및 디스플레이하기 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들
US20230092874A1 (en) Devices, Methods, and Graphical User Interfaces for Interacting with Three-Dimensional Environments
US20230106627A1 (en) Devices, Methods, And Graphical User Interfaces for Interacting with Three-Dimensional Environments
US20230152935A1 (en) Devices, methods, and graphical user interfaces for presenting virtual objects in virtual environments
CN117957581A (zh) 用于与三维环境交互的设备、方法和图形用户界面
KR20240048522A (ko) 3차원 환경들과 상호작용하기 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들
CN118043766A (zh) 用于与三维环境进行交互的设备、方法和图形用户界面
KR20240047458A (ko) 미디어 및 3차원 환경들과의 상호작용을 위한 디바이스들, 방법들 및 그래픽 사용자 인터페이스들
CN117032519A (zh) 用于与三维环境进行交互的设备、方法和图形用户界面
CN117940880A (zh) 用于与媒体和三维环境交互的设备、方法和图形用户界面
CN117999534A (zh) 用于与三维环境进行交互的设备、方法和图形用户界面

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal