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

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

Info

Publication number
KR20240049345A
KR20240049345A KR1020247009674A KR20247009674A KR20240049345A KR 20240049345 A KR20240049345 A KR 20240049345A KR 1020247009674 A KR1020247009674 A KR 1020247009674A KR 20247009674 A KR20247009674 A KR 20247009674A KR 20240049345 A KR20240049345 A KR 20240049345A
Authority
KR
South Korea
Prior art keywords
user interface
interface element
computer
appearance
environment
Prior art date
Application number
KR1020247009674A
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 KR20240049345A publication Critical patent/KR20240049345A/ko

Links

Images

Classifications

    • 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/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/0482Interaction with lists of selectable items, e.g. menus
    • 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/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/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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
    • 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/04804Transparency, e.g. transparent or translucent windows
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

컴퓨터 시스템은 물리적 환경의 뷰; 및 물리적 환경의 뷰 상에 오버레이된 컴퓨터 생성 사용자 인터페이스 요소를 동시에 디스플레이한다. 컴퓨터 생성 사용자 인터페이스 요소의 외관은 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 뷰의 외관에 기초한다. 물리적 환경의 외관이 변화하는 것에 응답하여, 컴퓨터 생성 사용자 인터페이스 요소의 외관은, 제1 시간 이전인 제2 시간에서의 물리적 환경의 제1 부분의 외관; 및 제2 시간 이전인 제3 시간에서의 물리적 환경의 제2 부분의 외관을 포함하는, 제1 시간 이전의 상이한 시간들에 물리적 환경의 하나 이상의 부분들의 외관의 그래픽 조성에 기초하여 제1 시간에 업데이트된다.

Description

3차원 환경들과의 상호작용을 위한 디바이스들, 방법들 및 그래픽 사용자 인터페이스들
관련 출원
본 출원은, 2022년 4월 7일자로 출원된 미국 가출원 일련번호 제63/328,686호 및 2021년 9월 24일자로 출원된 미국 가출원 일련번호 제63/248,381호에 대한 우선권을 주장하는 2022년 9월 21일자로 출원된 미국 특허 출원 일련번호 제17/950,035의 계속 출원이며, 이로써 이들 각각은 그 전체가 참조로 통합된다.
기술분야
본 개시내용은 일반적으로 디스플레이 생성 컴포넌트를 통해 가상 현실 및 혼합 현실 경험들을 제공하는 전자 디바이스들을 포함하지만 이에 제한되지 않는 컴퓨터 생성 확장 현실(XR) 경험들을 제공하는 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템들에 관한 것이다.
가상 현실, 증강 현실, 및 확장 현실을 위한 컴퓨터 시스템들의 개발은 최근 몇 년 동안 상당히 증가되었다. 예시적인 증강 현실 및 확장 현실 환경들은 물리적 세계를 대체하거나 증강시키는 적어도 일부 가상 요소들을 포함한다. 컴퓨터 시스템들 및 다른 전자 컴퓨팅 디바이스들에 대한 입력 디바이스들, 이를테면 카메라들, 제어기들, 조이스틱들, 터치 감응형 표면들, 및 터치 스크린 디스플레이들이 가상/증강/확장 현실 환경들과 상호작용하기 위해 사용된다. 예시적인 가상 요소들은 디지털 이미지들, 비디오, 텍스트, 아이콘들, 및 버튼들 및 다른 그래픽들과 같은 제어 요소들과 같은 가상 객체들을 포함한다.
그러나, 적어도 일부 가상 요소들(예컨대, 애플리케이션들, 증강 현실 환경들, 혼합 현실 환경들, 가상 현실 환경들, 및 확장 현실 환경들)을 포함하는 환경들과 상호작용하기 위한 방법들 및 인터페이스들은 번거롭고, 비효율적이고, 제한된다. 예를 들어, 가상 객체들과 연관된 액션들을 수행하기 위한 불충분한 피드백을 제공하는 시스템들, 가상/증강/확장 현실 환경에서 원하는 결과를 달성하기 위해 일련의 입력들을 요구하는 시스템들, 및 가상 객체들의 조작이 복잡하고, 지루하며, 에러가 발생하기 쉬운 시스템들은 사용자에게 상당한 인지 부담을 생성하고, 가상/증강/확장 현실 환경과의 경험을 손상시킨다. 게다가, 이러한 방법들은 필요 이상으로 오래 걸려서, 에너지가 낭비된다. 이러한 후자의 고려사항은 배터리-작동형 디바이스들에서 특히 중요하다.
따라서, 컴퓨터 시스템들과의 상호작용을 사용자에게 더 효율적이고 직관적으로 만드는 컴퓨터 생성 경험들을 사용자들에게 제공하기 위한 개선된 방법들 및 인터페이스들을 갖는 컴퓨터 시스템들에 대한 필요성이 존재한다. 개시된 시스템들, 방법들 및 사용자 인터페이스들에 의해, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템들에 대한 사용자 인터페이스들과 연관된 위의 결점들 및 다른 문제들이 감소되거나 제거된다. 그러한 시스템들, 방법들 및 인터페이스들은, 선택적으로, 확장 현실 경험들을 사용자들에게 제공하기 위한 종래의 시스템들, 방법들 및 사용자 인터페이스들을 보완하거나 대체한다. 그러한 방법들 및 인터페이스들은, 사용자가 제공된 입력들과 입력들에 대한 디바이스 응답들 사이의 접속을 이해하는 것을 도움으로써 사용자로부터의 입력들의 수, 크기, 및/또는 종류를 줄여서, 이에 의해 더 효율적인 인간-기계 인터페이스를 생성한다.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템에서 방법이 수행된다. 방법은 디스플레이 생성 컴포넌트를 통해, 물리적 환경의 뷰, 및 물리적 환경의 뷰의 적어도 일부 상에 오버레이된 컴퓨터 생성 사용자 인터페이스 요소를 동시에 디스플레이하는 단계를 포함한다. 컴퓨터 생성 사용자 인터페이스 요소의 외관은 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 뷰의 하나 이상의 부분들의 외관에 기초한다. 물리적 환경의 뷰 및 컴퓨터 생성 사용자 인터페이스 요소를 동시에 디스플레이하는 동안, 물리적 환경의 일부의 외관은 변화한다. 물리적 환경의 일부의 외관의 변화에 응답하여, 컴퓨터 생성 사용자 인터페이스 요소의 외관은, 제1 시간 이전인 제2 시간에서의 물리적 환경의 제1 부분의 외관; 및 제2 시간 이전인 제3 시간에서의 물리적 환경의 제2 부분의 외관을 포함하는, 제1 시간 이전의 상이한 시간들에 물리적 환경의 하나 이상의 부분들의 외관의 그래픽 조성에 기초하여 제1 시간에 업데이트된다.
일부 실시예들에서, 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템에서 방법이 수행된다. 방법은 디스플레이 생성 컴포넌트를 통해, 물리적 환경의 뷰; 및 물리적 환경의 뷰의 적어도 일부 상에 오버레이된 컴퓨터 생성 사용자 인터페이스 요소를 동시에 디스플레이하는 단계를 포함한다. 컴퓨터 생성 사용자 인터페이스 요소의 외관은 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된 제1 세트의 대표 색상들 사이의 개개의 구배에 기초한다. 제1 세트의 대표 색상들은, 제1 시간 기간에서 컴퓨터 생성 사용자 인터페이스 요소의 제1 부분 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는 제1 색상; 및 제1 시간 기간에서 컴퓨터 생성 사용자 인터페이스 요소의 제2 부분 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는 제2 색상을 포함한다. 물리적 환경의 뷰 및 컴퓨터 생성 사용자 인터페이스 요소를 동시에 디스플레이하는 동안, 물리적 환경의 일부의 외관은 변화한다. 방법은, 물리적 환경의 일부의 외관에서의 변화에 응답하여, 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된 제2 세트의 대표 색상들 사이의 개개의 구배에 기초하여 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트하는 단계를 포함한다. 제2 세트의 대표 색상들은, 제1 시간 기간과 상이한 제2 시간 기간에서 컴퓨터 생성 사용자 인터페이스 요소의 제1 부분 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는 제3 색상; 및 제2 시간 기간에서 컴퓨터 생성 사용자 인터페이스 요소의 제2 부분 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는 제4 색상을 포함한다.
일부 실시예들에서, 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템에서 방법이 수행된다. 방법은, 디스플레이 생성 컴포넌트를 통해, 3차원 환경의 제1 뷰를 디스플레이하는 단계를 포함하고, 디스플레이하는 단계는, 3차원 환경의 제1 뷰에 제1 사용자 인터페이스 객체를 디스플레이하는 단계 및 3차원 환경에 제1 사용자 인터페이스 객체 뒤의 배경 콘텐츠를 디스플레이하는 단계를 포함한다. 제1 사용자 인터페이스 객체는 제1 부분을 포함하고, 제1 부분은 3차원 환경에서 제1 사용자 인터페이스 객체의 제1 부분 뒤에 위치된 배경 콘텐츠의 외관에 기초하여 선택된 외관을 갖는다. 제1 사용자 인터페이스 객체는 제1 사용자 인터페이스 객체의 제1 부분과 전방 사이에 시뮬레이션된 두께를 갖고; 제1 사용자 인터페이스 객체의 제1 부분과 제1 사용자 인터페이스 객체의 전방 사이의 제1 사용자 인터페이스 객체에 콘텐츠가 디스플레이된다. 방법은, 제1 사용자 인터페이스 객체를 디스플레이하는 동안, 콘텐츠를 이동시키기 위한 요청을 검출하는 단계; 및 콘텐츠를 이동시키기 위한 요청을 검출하는 것에 응답하여, 콘텐츠가 제1 사용자 인터페이스 객체의 제1 부분과 제1 사용자 인터페이스 객체의 전방 사이에서 유지되는 동안 제1 사용자 인터페이스 객체 내에서 콘텐츠를 이동시키는 단계를 포함한다. 제1 사용자 인터페이스 객체 내에서 콘텐츠를 이동시키는 단계는 제1 사용자 인터페이스 객체의 시뮬레이션된 두께에 기초하여 콘텐츠에 적용되는 시각적 효과를 디스플레이하는 단계를 포함한다.
일부 실시예들에서, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 방법은, 디스플레이 생성 컴포넌트를 통해, 3차원 환경의 뷰를 포함하는 사용자 인터페이스; 개개의 시뮬레이션된 재료에 대응하는 외관으로 디스플레이되는 3차원 환경 내의 시뮬레이션된 3차원 객체 - 시뮬레이션된 3차원 객체의 제1 구역은 개개의 시뮬레이션된 재료의 일부의 외관이 시뮬레이션된 3차원 객체의 표면으로부터 제거된 채로 디스플레이됨 -; 및 시뮬레이션된 3차원 객체의 제1 구역을 포함하는 제1 사용자 인터페이스 요소를 디스플레이하는 단계를 포함한다. 방법은, 제1 사용자 인터페이스 요소로 지향된 제1 입력을 검출하는 단계; 및 제1 사용자 인터페이스 요소로 지향된 제1 입력을 검출하는 것에 응답하여, 사용자 인터페이스에서, 제1 사용자 인터페이스 요소와 연관된 개개의 동작을 수행하는 단계를 포함한다.
일부 실시예들에서, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 방법은, 디스플레이 생성 컴포넌트를 통해, 3차원 환경의 뷰를 포함하는 사용자 인터페이스 및 3차원 환경 내의 개개의 표면과 연관된 사용자 인터페이스 요소를 디스플레이하는 단계를 포함한다. 사용자 인터페이스 요소의 제1 세트의 하나 이상의 부분들은 사용자 인터페이스 요소의 제1 층과 연관되고; 사용자 인터페이스 요소의 제2 세트의 하나 이상의 부분들은 사용자 인터페이스 요소의 제2 층과 연관되고; 사용자 인터페이스 요소는 제1 층과 제2 층 사이의 제1 분리 정도를 표시하는 외관으로 디스플레이된다. 방법은, 사용자가 사용자 인터페이스 요소에 주의를 기울이는 것에 대응하는 제1 입력을 검출하는 단계; 및 사용자가 사용자 인터페이스 요소에 주의를 기울이는 것에 대응하는 제1 입력을 검출하는 것에 응답하여, 제1 층과 제2 층 사이의 제2 분리 정도를 표시하기 위해 사용자 인터페이스 요소의 외관을 변경하는 단계를 포함한다. 제2 정도는 제1 정도와 상이하다.
일부 실시예들에서, 방법은, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들과 통신하는 컴퓨터 시스템에서 수행된다. 방법은, 디스플레이 생성 컴포넌트를 통해, 3차원 환경의 제1 뷰가 가시적인 동안 사용자 인터페이스 객체를 디스플레이하는 단계를 포함한다. 사용자 인터페이스 객체는 3차원 환경에서 개개의 동작을 수행하도록 활성화가능한 제1 선택가능한 객체를 포함한다. 방법은 제1 선택가능한 객체에 대응하는 제1 입력을 검출하는 단계를 포함한다. 방법은, 제1 선택가능한 객체에 대응하는 제1 입력을 검출하는 것에 응답하여, 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다는 결정에 따라, 제1 선택가능한 객체의 두께를 변경하는 단계를 더 포함한다.
일부 실시예들에서, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템에서 방법이 수행된다. 방법은 디스플레이 생성 컴포넌트를 통해, 3차원 환경의 뷰의 제1 부분 상에 오버레이된 컴퓨터 생성 사용자 인터페이스 객체를 디스플레이하는 단계를 포함한다. 컴퓨터 생성 사용자 인터페이스 객체의 외관은, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 제1 부분의 블러링된 표현에 기초한다. 방법은, 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역에 대응하는, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제1 서브세트에 제2 변환을 적용하지 않으면서 제1 변환을 적용하는 것; 및 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역에 대응하는, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제2 서브세트에 제1 변환을 적용하지 않으면서 제2 변환을 적용하는 것에 의해 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역을 상기 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역으로부터 시각적으로 구별하는 단계를 포함한다. 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제2 서브세트는 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제1 서브세트와 상이하다. 방법은, 3차원 환경의 뷰의 제1 부분의 외관이 변화함에 따라, 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현에 기초하여 컴퓨터 생성 사용자 인터페이스 객체의 외관을 업데이트하는 단계를 포함하고, 업데이트하는 단계는, 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역에 대응하는, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제1 서브세트에 제2 변환을 적용하지 않으면서 제1 변환을 적용하는 단계; 및 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역에 대응하는, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제2 서브세트에 제1 변환을 적용하지 않으면서 제2 변환을 적용하는 단계를 포함한다. 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제2 서브세트는 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제1 서브세트와 상이하다.
일부 실시예들에 따르면, 컴퓨터 시스템은 디스플레이 생성 컴포넌트(예컨대, 하나 이상의 디스플레이 디바이스들을 포함하는 하드웨어 요소, 이를테면, 디스플레이, 프로젝터, 헤드-업 디스플레이, 머리 장착형 디스플레이, 터치스크린 등), 하나 이상의 입력 디바이스들(예컨대, 하나 이상의 카메라들, 터치 감응형 표면, 선택적으로, 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들), 선택적으로 하나 이상의 오디오 출력 컴포넌트들, 선택적으로 하나 이상의 촉각 출력 생성기들, 하나 이상의 프로세서들, 및 하나 이상의 프로그램들을 저장하는 메모리를 포함하거나 이들과 통신하고; 하나 이상의 프로그램들은 하나 이상의 프로세서들에 의해 실행되도록 구성되고, 하나 이상의 프로그램들은 본 명세서에 설명되는 방법들 중 임의의 방법의 동작들을 수행하거나 또는 이들의 수행을 야기하기 위한 명령어들을 포함한다. 일부 실시예들에 따르면, 비일시적 컴퓨터 판독가능 저장 매체는, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들(예컨대, 하나 이상의 카메라들, 터치 감응형 표면, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들), 선택적으로 하나 이상의 오디오 출력 컴포넌트들, 및 선택적으로 하나 이상의 촉각적 출력 생성기들을 갖는 컴퓨터 시스템에 의해 실행될 때, 디바이스로 하여금 본 명세서에 기술되는 방법들 중 임의의 방법의 동작들을 수행하게 하거나 또는 그의 수행을 야기하는 명령어들을 저장하고 있다. 일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들(예컨대, 하나 이상의 카메라들, 터치 감응형 표면, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들), 선택적으로 하나 이상의 오디오 출력 컴포넌트들, 선택적으로 하나 이상의 촉각적 출력 생성기들, 메모리, 및 메모리에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 갖는 컴퓨터 시스템 상에서의 그래픽 사용자 인터페이스는, 본 명세서에 기술되는 방법들 중 임의의 방법에서 기술된 바와 같이, 입력들에 응답하여 업데이트되는, 본 명세서에 기술된 방법들 중 임의의 방법에서 디스플레이되는 요소들 중 하나 이상을 포함한다. 일부 실시예들에 따르면, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들(예컨대, 하나 이상의 카메라들, 터치 감응형 표면, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들), 선택적으로 하나 이상의 오디오 출력 컴포넌트들, 및 선택적으로 하나 이상의 촉각적 출력 생성기들; 및 본 명세서에 기술되는 방법들 중 임의의 방법의 동작들을 수행하거나 또는 그의 수행을 야기하기 위한 수단을 포함한다. 일부 실시예들에 따르면, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들(예컨대, 하나 이상의 카메라들, 터치 감응형 표면, 선택적으로 터치 감응형 표면과의 접촉들의 세기들을 검출하기 위한 하나 이상의 센서들), 선택적으로 하나 이상의 오디오 출력 컴포넌트들, 및 선택적으로 하나 이상의 촉각적 출력 생성기들을 갖는 컴퓨터 시스템에 사용하기 위한 정보 프로세싱 장치는, 본 명세서에 기술되는 방법들 중 임의의 방법의 동작들을 수행하거나 또는 그의 수행을 야기하기 위한 수단을 포함한다.
따라서, 디스플레이 생성 컴포넌트들을 갖는 컴퓨터 시스템들에는, 3차원 환경과 상호작용하고 3차원 환경과 상호작용할 때 컴퓨터 시스템들의 사용자의 사용을 용이하게 하기 위한 개선된 방법들 및 인터페이스들이 제공되고, 이로써 이러한 컴퓨터 시스템들의 유효성, 효율 및 사용자 안전 및 만족도를 증가시킨다. 그러한 방법들 및 인터페이스들은, 3차원 환경과 상호작용하고 3차원 환경과 상호작용할 때 컴퓨터 시스템들의 사용자의 사용을 용이하게 하기 위한 종래의 방법들을 보완 또는 대체할 수 있다.
전술된 다양한 실시예들이 본 명세서에 기술된 임의의 다른 실시예들과 조합될 수 있음에 주목한다. 본 명세서에 기술된 특징들 및 이점들은 모두를 포함하는 것은 아니며, 특히, 많은 추가적인 특징들 및 이점들이 도면, 명세서 및 청구범위를 고려하여 당업자에게 명백할 것이다. 그에 부가하여, 본 명세서에 사용된 표현은 주로 이해의 편의 및 설명을 위해 선택되었고, 본 발명의 요지를 상세히 기술하거나 제한하기 위해 선택되지 않았을 수 있다는 것에 주목해야 한다.
다양하게 기술된 실시예들의 더 양호한 이해를 위해, 유사한 도면 부호들이 도면 전체에 걸쳐서 대응 부분들을 나타내는 하기의 도면들과 관련하여 하기의 발명을 실시하기 위한 구체적인 내용이 참조되어야 한다.
도 1은 일부 실시예들에 따른 확장 현실(XR) 경험들을 제공하기 위한 컴퓨터 시스템의 동작 환경을 예시하는 블록도이다.
도 2는 일부 실시예들에 따른 사용자에 대한 XR 경험을 관리 및 조정하도록 구성된 컴퓨터 시스템의 제어기를 예시하는 블록도이다.
도 3은 일부 실시예들에 따른 XR 경험의 시각적 컴포넌트를 사용자에게 제공하도록 구성된 컴퓨터 시스템의 디스플레이 생성 컴포넌트를 예시하는 블록도이다.
도 4는 일부 실시예들에 따른 사용자의 제스처 입력들을 캡처하도록 구성된 컴퓨터 시스템의 손 추적 유닛을 예시하는 블록도이다.
도 5는 일부 실시예들에 따른 사용자의 시선 입력들을 캡처하도록 구성된 컴퓨터 시스템의 눈 추적 유닛을 예시하는 블록도이다.
도 6은 일부 실시예들에 따른 글린트-보조(glint-assisted) 시선 추적 파이프라인을 예시하는 흐름도이다.
도 7a 내지 도 7g는 물리적 환경의 뷰 위에 사용자 인터페이스 요소를 디스플레이하는 것을 예시하며, 여기서 사용자 인터페이스 요소는 일부 실시예들에 따른, 다수의 상이한 시점들에서 사용자 인터페이스 요소 뒤에 있는 물리적 환경의 콘텐츠의 그래픽 조성에 기초하는 외관을 갖는다.
도 7h 내지 도 7j는 3차원 환경의 뷰 위에 사용자 인터페이스 요소를 디스플레이하는 것을 예시하며, 여기서 사용자 인터페이스 요소는 일부 실시예들에 따른, 3차원 환경의 다수의 포인트들로부터 샘플링된 하나 이상의 색상들로부터 생성된 색상 구배에 기초하는 외관을 갖는다.
도 7k 내지 도 7o는 사용자 인터페이스 요소의 에지들을 따라 시뮬레이션된 두께 및 곡률을 갖는 시뮬레이션된 재료의 외관을 갖는 사용자 인터페이스 요소를 디스플레이하는 것을 예시하며, 여기서 사용자 인터페이스 요소의 에지들은 일부 실시예들에 따른 3차원 환경에서 광과 상호작용하는 시뮬레이션된 광학 속성들을 갖는다.
도 7p는 일부 실시예들에 따른, 사용자가 사용자 인터페이스 요소로 주의를 돌리는 것을 포함하여, 상이한 사용자 상호작용들에 응답하여 사용자 인터페이스 요소의 층들을 상이한 정도로 분리하는 것을 예시한다.
도 7q 내지 도 7w는 일부 실시예들에 따른, 선택가능한 사용자 인터페이스 객체에 대응하고 그와 상호작용하기 위한 준비를 표시하는 입력에 응답하여 선택가능한 사용자 인터페이스 객체의 외관을 변경하는 것을 예시한다.
도 7x 내지 7z는 일부 실시예들에 따른, 기본 콘텐츠의 표현에 상이한 변환들을 적용함으로써, 사용자 인터페이스 객체 뒤에 있는 주변 3차원 환경의 콘텐츠 내의 콘텐츠에 기초한 외관을 갖는 컴퓨터 생성 사용자 인터페이스 객체의 상이한 부분들을 시각적으로 구별하는 것을 예시한다.
도 8은 물리적 환경의 뷰 위에 사용자 인터페이스 요소를 디스플레이하는 방법의 흐름도이며, 여기서 사용자 인터페이스 요소는 일부 실시예들에 따른, 다수의 상이한 시점들에서 사용자 인터페이스 요소 뒤에 있는 물리적 환경의 콘텐츠의 그래픽 조성에 기초하는 외관을 갖는다.
도 9는 3차원 환경의 뷰 위에 사용자 인터페이스 요소를 디스플레이하는 방법의 흐름도이며, 여기서 사용자 인터페이스 요소는 일부 실시예들에 따른, 3차원 환경의 다수의 포인트들로부터 샘플링된 하나 이상의 색상들로부터 생성된 색상 구배에 기초하는 외관을 갖는다.
도 10은 사용자 인터페이스 요소의 에지들을 따라 시뮬레이션된 두께 및 곡률을 갖는 시뮬레이션된 재료의 외관을 갖는 사용자 인터페이스 요소를 디스플레이하는 방법의 흐름도이며, 여기서 사용자 인터페이스 요소의 에지들은 일부 실시예들에 따른 3차원 환경에서 광과 상호작용하는 시뮬레이션된 광학 속성들을 갖는다.
도 11은 사용자 인터페이스 요소의 에지들을 따라 시뮬레이션된 두께 및 곡률을 갖는 시뮬레이션된 재료의 외관을 갖는 사용자 인터페이스 요소를 디스플레이하는 방법의 흐름도이며, 여기서 사용자 인터페이스 요소의 에지들은 일부 실시예들에 따른 3차원 환경에서 광과 상호작용하는 시뮬레이션된 광학 속성들을 갖는다.
도 12는 일부 실시예들에 따른, 사용자가 사용자 인터페이스 요소로 주의를 돌리는 것을 포함하여, 상이한 사용자 상호작용들에 응답하여 사용자 인터페이스 요소의 층들을 상이한 정도로 분리하는 방법의 흐름도이다.
도 13은 일부 실시예들에 따른, 선택가능한 사용자 인터페이스 객체에 대응하고 그와 상호작용하기 위한 준비를 표시하는 입력에 응답하여 선택가능한 사용자 인터페이스 객체의 외관을 변경하는 방법의 흐름도이다.
도 14는 일부 실시예들에 따른, 기본 콘텐츠의 표현에 상이한 변환들을 적용함으로써, 사용자 인터페이스 객체 뒤에 있는 주변 3차원 환경의 콘텐츠 내의 콘텐츠에 기초한 외관을 갖는 컴퓨터 생성 사용자 인터페이스 객체의 상이한 부분들을 시각적으로 구별하는 방법의 흐름도이다.
본 개시내용은 일부 실시예들에 따른, 컴퓨터 생성 확장 현실(XR) 경험을 사용자에게 제공하기 위한 사용자 인터페이스들에 관한 것이다.
본 명세서에 설명되는 시스템들, 방법들, 및 GUI들은 다수의 방식들로 가상/증강 현실 환경들과의 사용자 인터페이스 상호작용들을 개선한다.
일부 실시예들에서, 컴퓨터 시스템은 물리적 환경의 뷰 및 물리적 환경의 뷰의 적어도 일부 상에 오버레이된 컴퓨터 생성 사용자 인터페이스 요소(예컨대, 애플리케이션 사용자 인터페이스, 파일 또는 문서의 뷰, 또는 통신 세션)를 동시에 디스플레이한다. 일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 외관은 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 뷰의 하나 이상의 부분들의 외관에 기초한다. 일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 외관은 상이한 시간들에서의 물리적 환경의 하나 이상의 부분들의 외관의 그래픽 조성에 기초한다. 일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 일부의 외관의 변화들에 응답하여, 컴퓨터 생성 사용자 인터페이스 요소의 외관은, 제1 시간 이전인 제2 시간에서의 물리적 환경의 제1 부분의 외관; 및 제2 시간 이전인 제3 시간에서의 물리적 환경의 제2 부분의 외관을 포함하는, 제1 시간 이전의 상이한 시간들에 물리적 환경의 하나 이상의 부분들의 외관의 그래픽 조성에 기초하여 제1 시간에 업데이트된다.
일부 실시예들에서, 컴퓨터 시스템은 물리적 환경의 뷰 및 물리적 환경의 뷰의 적어도 일부 상에 오버레이된 컴퓨터 생성 사용자 인터페이스 요소(예컨대, 애플리케이션 사용자 인터페이스, 파일 또는 문서의 뷰, 또는 통신 세션)를 동시에 디스플레이한다. 일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 외관은 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된 제1 세트의 대표 색상들 사이의 개개의 구배에 기초한다. 일부 실시예들에서, 제1 세트의 대표 색상들은, 제1 시간 기간에서 컴퓨터 생성 사용자 인터페이스 요소의 상이한 부분들 뒤에 있는 물리적 환경의 뷰의 상이한 부분들로부터 샘플링된 적어도 2개의 색상들을 포함한다. 일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 부분의 외관의 변화들에 응답하여, 컴퓨터 시스템은, 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된 제2 세트의 대표 색상들 사이의 개개의 구배에 기초하여 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트한다. 일부 실시예들에서, 제2 세트의 대표 색상들은, 제1 시간 기간과 상이한 제2 시간 기간에서 상기 컴퓨터 생성 사용자 인터페이스 요소의 상이한 부분들 뒤에 있는 물리적 환경의 뷰의 상이한 부분들로부터 샘플링된 적어도 2개의 색상들을 포함한다.
일부 실시예들에서, 컴퓨터 시스템은, 3차원 환경의 제1 뷰에 제1 사용자 인터페이스 객체를 디스플레이하고 3차원 환경에 제1 사용자 인터페이스 객체 뒤에 있는 배경 콘텐츠를 디스플레이한다. 일부 실시예들에서, 제1 사용자 인터페이스 객체는, 3차원 환경에서 제1 사용자 인터페이스 객체의 제1 부분 뒤에 위치된 배경 콘텐츠의 외관에 기초하여 선택된 외관을 갖는 후방 부분, 및 제1 사용자 인터페이스 객체의 후방 부분과 제1 사용자 인터페이스 객체의 전방 사이의 제1 사용자 인터페이스 객체에 임베딩되어 디스플레이된 콘텐츠를 포함한다. 일부 실시예들에서, 콘텐츠를 이동시키기 위한 요청에 응답하여, 컴퓨터 시스템은, 콘텐츠가 제1 사용자 인터페이스 객체의 전방 부분과 후방 부분 사이에 유지되는 동안, 제1 사용자 인터페이스 객체 내에서 콘텐츠를 이동시키고, 제1 사용자 인터페이스 객체의 시뮬레이션된 두께의 에지 주위에서 반사, 굴절 또는 래핑 또는 달리 만곡되는 콘텐츠의 외관을 시뮬레이션하기 위해 제1 사용자 인터페이스 객체의 시뮬레이션된 두께에 기초하여 콘텐츠에 적용되는 시각적 효과를 디스플레이한다.
일부 실시예들에서, 컴퓨터 시스템은 3차원 환경의 뷰를 포함하는 사용자 인터페이스, 및 개개의 시뮬레이션된 재료에 대응하는 외관으로 디스플레이되는 3차원 환경의 시뮬레이션된 3차원 객체를 동시에 디스플레이한다. 시뮬레이션된 3차원 객체의 제1 구역은 리세스된 구역으로서 디스플레이되고, 제1 사용자 인터페이스 요소와 연관된다. 일부 실시예들에서, 컴퓨터 시스템은 제1 사용자 인터페이스 요소로 지향된 제1 입력을 검출하고, 제1 사용자 인터페이스 요소로 지향된 제1 입력을 검출하는 것에 응답하여, 사용자 인터페이스에서, 제1 사용자 인터페이스 요소와 연관된 개개의 동작을 수행한다. 일부 실시예들에서, 시뮬레이션된 3차원 객체의 에지들은 에지들로부터 반사되는 3차원 환경으로부터의 광을 시뮬레이션하는 정반사(들)의 시각적 효과로 디스플레이된다. 일부 실시예들에서, 정반사(들)는 디스플레이된 3차원 환경에 대응하는 물리적 환경에서 하나 이상의 시뮬레이션된 광원들 및/또는 하나 이상의 물리적 광원들에 기초한다. 일부 실시예들에서, 시뮬레이션된 3차원 객체가 3차원 환경에서 이동됨에 따라, 시뮬레이션된 3차원 객체에 대한 사용자의 시점이 변화함에 따라 그리고/또는 3차원 환경에서의 조명이 변화함에 따라, 정반사(들)의 외관이 변경된다.
일부 실시예들에서, 컴퓨터 시스템은, 3차원 환경의 뷰를 포함하는 사용자 인터페이스 및 3차원 환경 내의 개개의 표면과 연관된 제어부를 디스플레이한다. 일부 실시예들에서, 제어부의 일부인 제1 세트의 그래픽 요소들은 사용자 인터페이스 요소의 제1 층과 연관되고; 제어부의 일부인 제2 세트의 그래픽 요소들은 사용자 인터페이스 요소의 제2 층과 연관된다. 일부 실시예들에서, 제어부는, 제1 층과 제2 층(그리고 예컨대, 선택적으로, 제어부의 하나 이상의 다른 층들) 사이의 개개의 분리 정도를 표시하는 외관으로 디스플레이된다. 일부 실시예들에서, 사용자가 사용자 인터페이스 요소로 주의를 기울이는 것에 대응하는 제1 입력을 검출하는 것에 응답하여, 컴퓨터 시스템은 제1 층과 제2 층(그리고, 예컨대, 선택적으로 제어부의 하나 이상의 다른 층들) 사이의 상이한 분리 정도를 표시하기 위해 사용자 인터페이스 요소의 외관을 변경한다. 일부 실시예들에서, 제어부의 층들 사이의 분리 정도(들)는 제어부와의 사용자에 의한 상호작용의 유형 및 정도에 의존한다. 일부 실시예들에서, 제어부의 층들 사이의 분리 정도(들)는 미리 정의된 제스처를 진행시키는 사용자 상호작용에 응답하여 변경되고, 분리 정도(들)의 변경은 미리 정의된 제스처를 반전시키는 사용자 상호작용에 응답하여 반전된다. 일부 실시예들에서, 제어부의 하나 이상의 그래픽 요소들은 사용자 상호작용에 응답하여 애니메이션화된다.
일부 실시예들에서, 컴퓨터 시스템은 뷰에 있는 3차원 환경에서 사용자 인터페이스 객체의 일부로서, 3차원 환경에서 동작을 수행하도록 활성화될 수 있는 선택가능한 객체를 디스플레이한다. 일부 실시예들에서, 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는 사용자 입력에 응답하여, 컴퓨터 시스템은 선택가능한 객체의 두께를 변경하면서(예컨대, 증가시키면서), 선택적으로, 선택가능한 객체의 하나 이상의 추가적인 시각적 속성들을 변경하고/하거나 선택가능한 객체의 하나 이상의 시각적 속성들을 동일하게 유지한다. 선택가능한 객체와 상호작용하기 위한 사용자 의도를 표시하는 입력에 응답하여 선택가능한 객체의 두께를 변경하는 것은 환경의 어느 부분이 현재 추가 상호작용에 초점을 맞추고 있는지를 사용자가 이해하는 데 도움이 된다.
일부 실시예들에서, 컴퓨터 시스템은 3차원 환경의 뷰의 일분 상에 오버레이된 컴퓨터 생성 사용자 인터페이스 객체를 디스플레이하고, 컴퓨터 생성 사용자 인터페이스 객체의 외관은 3차원 환경의 뷰의 기본 부분의 블러링된 표현에 기초한다. 일부 실시예들에서, 컴퓨터 시스템은 상이한(예컨대, 상호 배타적인) 변환들을 블러링된 표현의 상이한(예컨대, 상호 배타적인) 영역들에 적용함으로써 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역을 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역으로부터 시각적으로 구별한다. 일부 실시예들에서, 컴퓨터 시스템은, 뷰의 변경된 기본 부분의 블러링된 표현의 상이한 영역들에 상이한 변환들을 각각 적용하는 것을 포함하여, 3차원 환경의 뷰의 기본 부분의 외관이 변화함에 따라 컴퓨터 생성 사용자 인터페이스 객체의 외관을 업데이트한다. 컴퓨터 생성 객체의 상이한 구역들에 상이한 변환들을 적용하는 것은 일부 구역들을 다른 구역들로부터 시각적으로 구별하여, 구역이 상호작용적인지 여부 및/또는 구역이 (예컨대, 글리프들 및/또는 텍스트를 통해) 시맨틱(semantic) 의미를 전달하는지 여부와 같은 구역들의 특정 속성들을 표시 및/또는 강조하고, 일부 경우들에서, 이러한 구역들의 가독성을 개선한다.
도 1 내지 도 6은 사용자들에게 XR 경험들을 제공하기 위한 예시적인 컴퓨터 시스템들의 설명을 제공한다. 도 7a 내지 도 7z의 사용자 인터페이스들이 도 8 내지 도 14의 프로세스들을 예시하기 위해 사용된다.
아래에서 설명되는 프로세스들은, 사용자에게 개선된 시각적, 오디오 및/또는 햅틱 피드백을 제공하는 것, 사용자 안전을 증가시키고 XR 경험들과 종종 연관된 멀미를 감소시키는 것, 동작을 수행하는 데 필요한 입력들의 수를 감소시키는 것, 추가의 디스플레이된 제어부들로 사용자 인터페이스를 혼란스럽게 하지 않고서 추가 제어 옵션들을 제공하는 것, 추가 사용자 입력을 요구하지 않고서 조건들의 세트가 충족되었을 때 동작을 수행하는 것, 사용자 인터페이스들을 디스플레이하는 것과 연관된 계산 부담을 감소시키는 것, 프라이버시 및/또는 보안을 개선시키는 것, 저장 공간을 절감하면서 더 다양하고, 상세하고 그리고/또는 현실적인 사용자 경험을 제공하는 것 및/또는 추가 기법들을 포함한 다양한 기법들을 통해 (예컨대, 디바이스를 작동시키고/그와 상호작용할 때 사용자가 적절한 입력들을 제공하는 것을 돕고 사용자 실수들을 감소시킴으로써) 디바이스의 작동성을 향상시키고 사용자-디바이스 인터페이스들을 더 효율적으로 만든다. 이러한 기법들은 또한, 사용자가 디바이스를 더 신속하고 효율적으로 사용할 수 있게 함으로써 디바이스의 전력 사용량을 감소시키고 배터리 수명을 개선시킨다. 배터리 전력 및 그에 따른 중량을 절약하는 것은 디바이스의 인체공학적 특성을 개선한다. 이러한 기법들은 또한 실시간 통신을 가능하게 하고, 더 적은 수의 그리고/또는 덜 정밀한 센서들의 사용을 가능하게 하여, 더 작고, 더 가볍고, 더 저렴한 디바이스를 초래하고, 디바이스가 다양한 조명 조건들에서 사용될 수 있게 한다. 이러한 기법들은 에너지 사용량을 감소시키고, 이로써 디바이스에 의해 방출되는 열을 감소시키며, 이는, 디바이스 컴포넌트들에 대한 동작 파라미터들 내의 디바이스가 너무 많은 열을 생성하는 경우 사용자가 착용하기에 불편하게 될 수 있는 웨어러블 디바이스에 대해 특히 중요하다.
부가적으로, 하나 이상의 단계들이 하나 이상의 조건들이 충족되었음을 조건으로 하는 본 명세서에서 설명되는 방법들에서, 설명된 방법은 다수의 반복들로 반복될 수 있어서, 반복들 동안, 방법의 단계들이 조건으로 하는 조건들 모두가 방법의 상이한 반복들로 충족되게 할 수 있다는 것이 이해되어야 한다. 예를 들어, 방법이, 조건이 만족되면 제1 단계를 그리고 조건이 만족되지 않으면 제2 단계를 수행할 것을 요구하는 경우, 당업자는, 조건이 만족되고 만족되지 않을 때까지, 청구된 단계들이 특정 순서 없이 반복된다는 것을 인식할 것이다. 따라서, 하나 이상의 조건들이 충족되었음을 조건으로 하는 하나 이상의 단계들로 설명되는 방법은, 방법에서 설명되는 조건들 각각이 충족될 때까지 반복되는 방법으로서 재작성될 수 있다. 그러나, 이는, 시스템 또는 컴퓨터 판독가능 매체가 대응하는 하나 이상의 조건들의 만족에 기초하여 조건부(contingent) 동작들을 수행하기 위한 명령어들을 포함하고, 그에 따라, 방법의 단계들이 조건으로 하는 조건들 모두가 충족될 때까지 방법의 단계들을 명시적으로 반복하지 않고서 우연성(contingency)이 만족되었는지 또는 만족되지 않았는지를 결정할 수 있는 시스템 또는 컴퓨터 판독가능 매체 청구항들에서는 요구되지 않는다. 당업자는, 또한, 조건부 단계들을 갖는 방법과 유사하게, 시스템 또는 컴퓨터 판독가능 저장 매체가 조건부 단계들 모두가 수행되었음을 보장하는 데 필요한 횟수만큼 방법의 단계들을 반복할 수 있다는 것을 이해할 것이다.
일부 실시예들에서, 도 1에 도시된 바와 같이, XR 경험은 컴퓨터 시스템(101)을 포함하는 동작 환경(100)을 통해 사용자에게 제공된다. 컴퓨터 시스템(101)은 제어기(110)(예를 들어, 휴대용 전자 디바이스 또는 원격 서버의 프로세서들), 디스플레이 생성 컴포넌트(120)(예를 들어, 머리 장착형 디바이스(HMD), 디스플레이, 프로젝터, 터치-스크린 등), 하나 이상의 입력 디바이스들(125)(예를 들어, 눈 추적 디바이스(130), 손 추적 디바이스(140), 다른 입력 디바이스들(150)), 하나 이상의 출력 디바이스들(155)(예를 들어, 스피커들(160), 촉각적 출력 생성기들(170), 및 다른 출력 디바이스들(180)), 하나 이상의 센서들(190)(예를 들어, 이미지 센서들, 광 센서들, 깊이 센서들, 촉각 센서들, 배향 센서들, 근접 센서들, 온도 센서들, 위치 센서들, 모션 센서들, 속도 센서들 등), 그리고 선택적으로, 하나 이상의 주변 디바이스들(195)(예를 들어, 홈 어플라이언스들, 웨어러블 디바이스들 등)을 포함한다. 일부 실시예들에서, 입력 디바이스들(125), 출력 디바이스들(155), 센서들(190) 및 주변 디바이스들(195) 중 하나 이상은 (예를 들어, 머리-장착 디바이스 또는 핸드헬드 디바이스에서) 디스플레이 생성 컴포넌트(120)와 통합된다.
XR 경험을 설명할 때, (예컨대, XR 경험을 생성하는 컴퓨터 시스템으로 하여금 컴퓨터 시스템(101)에 제공된 다양한 입력들에 대응하는 오디오, 시각적 및/또는 촉각적 피드백을 생성하게 하는, XR 경험을 생성하는 컴퓨터 시스템(101)에 의해 검출된 입력들로) 사용자가 감지할 수 있고/있거나 사용자가 상호작용할 수 있는 몇몇 관련되지만 구별되는 환경들을 구별하여 지칭하기 위해 다양한 용어들이 사용된다. 다음은 이들 용어의 서브세트이다:
물리적 환경: 물리적 환경은 사람들이 전자 시스템들의 도움없이 감지하고 그리고/또는 상호작용할 수 있는 물리적 세계를 지칭한다. 물리적 공원과 같은 물리적 환경들은 물리적 물품들, 예컨대 물리적 나무들, 물리적 건물들, 및 물리적 사람들을 포함한다. 사람들은, 예컨대 시각, 촉각, 청각, 미각, 및 후각을 통해, 물리적 환경을 직접 감지하고/하거나 그와 상호작용할 수 있다.
확장 현실: 대조적으로, 확장 현실(XR) 환경은 사람들이 전자 시스템을 통해 감지하고/하거나 그와 상호작용하는 완전히 또는 부분적으로 시뮬레이션된 환경을 지칭한다. XR에서, 사람의 신체적 움직임들, 또는 이들의 표현들의 서브세트가 추적되고, 이에 응답하여, XR 환경에서 시뮬레이션된 하나 이상의 가상 객체들의 하나 이상의 특성들이 적어도 하나의 물리 법칙에 따르는 방식으로 조정된다. 예를 들어, XR 시스템은 사람이 고개를 돌리는 것을 검출할 수 있고, 이에 응답하여, 그 사람에게 제시되는 그래픽 콘텐츠 및 음장(acoustic field)을 물리적 환경에서 그러한 뷰들 및 소리들이 변경되는 방식과 유사한 방식으로 조정할 수 있다. 일부 상황들에서(예컨대, 액세스가능성 이유들 때문에), XR 환경에서의 가상 객체(들)의 특성(들)에 대한 조정들은 신체적 움직임들의 표현들(예컨대, 음성 커맨드들)에 응답하여 이루어질 수 있다. 사람은, 시각, 청각, 촉각, 미각, 및 후각을 포함하는 그들의 감각들 중 임의의 하나를 사용하여 XR 객체를 감지하고/하거나 그와 상호작용할 수 있다. 예를 들어, 사람은 3D 공간에서 오디오 소스들의 인지 지점을 제공하는 3D 또는 공간적 오디오 환경을 생성하는 오디오 객체들을 감지하고/하거나 그와 상호작용할 수 있다. 다른 예에서, 오디오 객체들은 오디오 투명성을 가능하게 할 수 있으며, 이는 선택적으로, 물리적 환경으로부터의 주변 소리들을 컴퓨터 생성 오디오와 함께 또는 그것 없이 통합한다. 일부 XR 환경들에서, 사람은 오디오 객체들만을 감지하고/하거나 그와 상호작용할 수 있다.
XR의 예들은 가상 현실 및 혼합 현실(mixed reality)을 포함한다.
가상 현실: 가상 현실(VR) 환경은 하나 이상의 감각들에 대한 컴퓨터-생성 감각 입력들에 전적으로 기초하도록 설계된 시뮬레이션된 환경을 지칭한다. VR 환경은 사람이 감지하고/하거나 그와 상호작용할 수 있는 복수의 가상 객체들을 포함한다. 예를 들어, 나무들, 빌딩들, 및 사람들을 표현하는 아바타들의 컴퓨터 생성 형상화가 가상 객체들의 예들이다. 사람은, 컴퓨터 생성 환경에서의 사람의 존재의 시뮬레이션을 통해 그리고/또는 컴퓨터 생성 환경에서의 사람의 신체적 움직임들의 서브세트의 시뮬레이션을 통해 VR 환경에서 가상 객체들을 감지하고/하거나 그와 상호작용할 수 있다.
혼합 현실: 컴퓨터-생성 감각 입력들에 전적으로 기초하도록 설계되는 VR 환경과는 대조적으로, 혼합 현실(MR) 환경은 컴퓨터-생성 감각 입력들(예를 들어, 가상 객체들)을 포함하는 것에 부가하여, 물리적 환경으로부터의 감각 입력들, 또는 그들의 표현을 통합하도록 설계된 시뮬레이션된 환경을 지칭한다. 가상 연속체(virtuality continuum)에서, 혼합 현실 환경은 한쪽의 완전히 물리적인 환경과 다른 쪽의 가상 현실 환경 사이의 임의의 곳에 있지만, 포함하지는 않는다. 일부 MR 환경들에서, 컴퓨터 생성 감각 입력들은 물리적 환경으로부터의 감각 입력들의 변화들에 응답할 수 있다. 또한, MR 환경을 제시하기 위한 일부 전자 시스템들은 물리적 환경에 대한 위치 및/또는 배향을 추적하여 가상 객체들이 실제 객체들(즉, 물리적 환경으로부터의 물리적 물품들 또는 물리적 물품들의 표현들)과 상호작용할 수 있게 할 수 있다. 예를 들어, 시스템은 가상 나무가 물리적 땅에 대하여 고정되어 있는 것처럼 보이도록 움직임들을 고려할 수 있다.
혼합 현실들의 예들은 증강 현실 및 증강 가상을 포함한다.
증강 현실: 증강 현실(AR) 환경은 하나 이상의 가상 객체들이 물리적 환경, 또는 그의 표현 위에 중첩되어 있는 시뮬레이션된 환경을 지칭한다. 예를 들어, AR 환경을 제시하기 위한 전자 시스템은 사람이 직접 물리적 환경을 볼 수 있는 투명 또는 반투명 디스플레이를 가질 수 있다. 시스템은, 사람이 시스템을 사용하여 물리적 환경 위에 중첩된 가상 객체들을 인지하도록, 투명 또는 반투명 디스플레이 상에 가상 객체들을 제시하도록 구성될 수 있다. 대안적으로, 시스템은 불투명 디스플레이, 및 물리적 환경의 표현들인 물리적 환경의 이미지들 또는 비디오를 캡처하는 하나 이상의 이미징 센서들을 가질 수 있다. 시스템은 이미지들 또는 비디오를 가상 객체들과 합성하고, 조성을 불투명 디스플레이 상에 제시한다. 사람은 시스템을 사용하여 물리적 환경의 이미지들 또는 비디오에 의해 물리적 환경을 간접적으로 보고, 물리적 환경 위에 중첩된 가상 객체들을 인지한다. 본 명세서에 사용되는 바와 같이, 불투명 디스플레이 상에 보여지는 물리적 환경의 비디오는 "패스 스루(pass-through) 비디오"로 불리는데, 이는 시스템이 하나 이상의 이미지 센서(들)를 사용하여 물리적 환경의 이미지들을 캡처하고, AR 환경을 불투명 디스플레이 상에 제시할 시에 이들 이미지들을 사용하는 것을 의미한다. 추가로 대안적으로, 시스템은, 사람이 시스템을 사용하여 물리적 환경 위에 중첩된 가상 객체들을 인지하도록, 가상 객체들을 물리적 환경에, 예를 들어, 홀로그램으로서 또는 물리적 표면 상에 투영하는 투영 시스템을 가질 수 있다. 증강 현실 환경은 또한 물리적 환경의 표현이 컴퓨터 생성 감각 정보에 의해 변환되는 시뮬레이션된 환경을 지칭한다. 예를 들어, 패스 스루 비디오를 제공할 시에, 시스템은 하나 이상의 센서 이미지들을 변환하여 이미징 센서들에 의해 캡처된 관점과 상이한 선택 관점(예를 들어, 시점)을 부과할 수 있다. 다른 예로서, 물리적 환경의 표현은 그것의 일부들을 그래픽적으로 수정(예를 들어, 확대)함으로써 변환될 수 있어서, 수정된 부분은 원래 캡처된 이미지들의 표현일 수 있지만, 실사 버전은 아닐 수 있다. 추가적인 예로서, 물리적 환경의 표현은 그의 일부들을 그래픽적으로 제거하거나 또는 흐리게 함으로써 변환될 수 있다.
증강 가상: 증강 가상(AV) 환경은 가상 또는 컴퓨터 생성 환경이 물리적 환경으로부터의 하나 이상의 감각 입력들을 통합하는 시뮬레이션된 환경을 지칭한다. 감각 입력들은 물리적 환경의 하나 이상의 특성들의 표현들일 수 있다. 예를 들어, AV 공원은 가상 나무들 및 가상 빌딩들을 가질 수 있지만, 사람들의 얼굴들은 물리적 사람들을 촬영한 이미지들로부터 실사처럼 재현될 수 있다. 다른 예로서, 가상 객체는 하나 이상의 이미징 센서들에 의해 이미징되는 물리적 물품의 형상 또는 색상을 채용할 수 있다. 추가적인 예로서, 가상 객체는 물리적 환경에서 태양의 위치에 부합하는 그림자들을 채용할 수 있다.
시점-록킹(viewpoint-locked) 가상 객체: 사용자의 시점이 시프트(예를 들어, 변경)되더라도, 컴퓨터 시스템이 사용자의 시점의 동일한 위치 및/또는 포지션에서 가상 객체를 디스플레이할 때 가상 객체가 시점-록킹된다. 컴퓨터 시스템이 머리 장착형 디바이스인 실시예들에서, 사용자의 시점은 사용자의 머리의 전방 대면 방향에 록킹되고(예를 들어, 사용자의 시점은 사용자가 정면을 보고 있을 때 사용자의 시야의 적어도 일부임); 따라서, 사용자의 시선이 시프트되더라도, 사용자의 머리를 이동시키지 않으면서, 사용자의 시점이 고정된 상태로 유지된다. 컴퓨터 시스템이 사용자의 머리에 대해 리포지셔닝될 수 있는 디스플레이 생성 컴포넌트(예를 들어, 디스플레이 스크린)를 갖는 실시예들에서, 사용자의 시점은 컴퓨터 시스템의 디스플레이 생성 컴포넌트 상에서 사용자에게 제시되고 있는 증강 현실 뷰이다. 예를 들어, 사용자의 시점의 상부 좌측 코너에서 디스플레이되는 시점-록킹 가상 객체는, 사용자의 시점이 제1 배향(예를 들어, 사용자의 머리가 북쪽을 향함)에 있을 때, 사용자의 시점이 제2 배향(예를 들어, 사용자의 머리가 서쪽을 향함)으로 변경되더라도, 사용자의 시점의 상부 좌측 코너에서 계속 디스플레이된다. 다시 말하면, 시점-록킹된 가상 객체가 사용자의 시점에서 디스플레이되는 위치 및/또는 포지션은 물리적 환경 내의 사용자의 포지션 및/또는 배향과 독립적이다. 컴퓨터 시스템이 머리 장착형 디바이스인 실시예들에서, 사용자의 시점은 사용자의 머리의 배향에 록킹되므로, 가상 객체는 또한 "머리-록킹 가상 객체"로 지칭된다.
환경-록킹 가상 객체: 컴퓨터 시스템이 3차원 환경(예를 들어, 물리적 환경 또는 가상 환경) 내의 위치 및/또는 객체에 기초하는(예를 들어, 이를 참조하여 선택되고 그리고/또는 이에 고정된) 사용자의 시점 내의 위치 및/또는 포지션에서 가상 객체를 디스플레이할 때, 가상 객체는 환경-록킹(대안적으로는, "세계-록킹")된다. 사용자의 시점이 시프트됨에 따라, 사용자의 시점에 대한 환경 내의 위치 및/또는 객체가 변경되며, 이는 환경-록킹된 가상 객체가 사용자의 시점 내의 상이한 위치 및/또는 포지션에서 디스플레이되는 것을 초래한다. 예를 들어, 사용자의 바로 전방에 있는 나무에 록킹되는 환경-록킹된 가상 객체는 사용자의 시점의 중심에서 디스플레이된다. 사용자의 시점이 우측으로 시프트되어(예를 들어, 사용자의 머리가 우측으로 회전되어), 나무가 이제 사용자의 시점에서 중심 좌측에 있을 때(예를 들어, 사용자의 시점 내의 나무의 포지션이 시프트될 때), 나무에 록킹되는 환경-록킹된 가상 객체는 사용자의 시점에서 중심 좌측에 디스플레이된다. 다시 말하면, 환경-록킹된 가상 객체가 사용자의 시점에서 디스플레이되는 위치 및/또는 포지션은 가상 객체가 록킹되는 환경 내의 위치 및/또는 객체의 포지션 및/또는 배향에 의존한다. 일부 실시예들에서, 컴퓨터 시스템은 사용자의 시점에서 환경-록킹된 가상 객체를 디스플레이할 포지션을 결정하기 위해 고정 기준 프레임(예를 들어, 물리적 환경 내의 고정 위치 및/또는 객체에 고정되는 좌표계)을 사용한다. 환경-록킹된 가상 객체는 환경의 고정 부분(예를 들어, 바닥, 벽, 테이블, 또는 다른 고정 객체)에 록킹될 수 있거나, 또는 환경의 이동가능 부분(예를 들어, 차량, 동물, 사람, 또는 심지어 사용자의 시점과 독립적으로 이동되는 사용자 신체의 일부, 예컨대 사용자의 손, 손목, 팔, 또는 다리의 표현)에 록킹될 수 있어서, 가상 객체는 가상 객체와 환경의 일부 사이의 고정된 관계를 유지하기 위해 시점 또는 환경의 일부가 이동됨에 따라 이동된다.
일부 실시예들에서, 환경-록킹되거나 시점-록킹된 가상 객체는 가상 객체가 따르는 기준 포인트의 이동에 대한 환경-록킹되거나 시점-록킹된 가상 객체의 모션을 감소시키거나 지연시키는 느린(lazy) 후속 거동을 나타낸다. 일부 실시예들에서, 느린 후속 거동을 나타낼 때, 컴퓨터 시스템은, 가상 객체가 따르고 있는 기준 포인트(예를 들어, 환경의 일부, 시점, 또는 시점에 대해 고정된 포인트, 예컨대 시점으로부터 5 내지 300 cm인 포인트)의 이동을 검출할 때 가상 객체의 이동을 의도적으로 지연시킨다. 예를 들어, 기준 포인트(예를 들어, 환경의 일부 또는 시점)가 제1 속도로 이동할 때, 가상 객체는 (예를 들어, 기준 포인트가 이동하는 것을 중지하거나 기준 포인트가 느려질 때까지(그 포인트에서, 가상 객체는 기준 포인트를 따라잡기 시작함)) 기준 포인트에 록킹된 상태로 유지되기 위해 디바이스에 의해 이동되지만, 제1 속도보다 느린 제2 속도로 이동한다. 일부 실시예들에서, 가상 객체가 느린 후속 거동을 나타낼 때, 디바이스는 기준 포인트의 작은 양들의 이동을 무시한다(예를 들어, 0 내지 5도만큼의 이동 또는 0 내지 50 cm만큼의 이동과 같은 임계량의 이동 미만인 기준 포인트의 이동을 무시함). 예를 들어, 기준 포인트(예를 들어, 가상 객체가 록킹되는 환경의 일부 또는 시점)가 제1 양만큼 이동할 때, (예를 들어, 가상 객체가 록킹되는 기준 포인트와 상이한 시점 또는 환경의 일부에 대해 고정된 또는 실질적으로 고정된 포지션을 유지하기 위해 가상 객체가 디스플레이되고 있기 때문에) 기준 포인트와 가상 객체 사이의 거리가 증가되고, 기준 포인트(예를 들어, 가상 객체가 록킹되는 환경의 일부 또는 시점)가 제1 양보다 큰 제2 양만큼 이동할 때, (예를 들어, 가상 객체가 록킹되는 기준 포인트와 상이한 시점 또는 환경의 일부에 대해 고정된 또는 실질적으로 고정된 포지션을 유지하기 위해 가상 객체가 디스플레이되고 있기 때문에) 기준 포인트와 가상 객체 사이의 거리는 초기에 증가되며, 이어서, 기준 포인트에 대해 고정된 또는 실질적으로 고정된 포지션을 유지하기 위해 가상 객체가 컴퓨터 시스템에 의해 이동되기 때문에, 기준 포인트의 이동의 양이 임계치(예를 들어, "느린 후속" 임계치) 초과로 증가됨에 따라 감소된다. 일부 실시예들에서, 가상 객체가 기준 포인트에 대해 실질적으로 고정된 포지션을 유지하는 것은 가상 객체가 하나 이상의 차원들(예를 들어, 기준 포인트의 포지션에 대해 위/아래, 좌측/우측, 및/또는 전방/후방)로 기준 포인트의 임계 거리(예를 들어, 1, 2, 3, 5, 15, 20, 50 cm) 내에서 디스플레이되는 것을 포함한다.
하드웨어: 사람이 다양한 XR 환경들을 감지하고/하거나 그와 상호작용할 수 있게 하는 많은 상이한 유형의 전자 시스템들이 있다. 예들은 머리 장착형 시스템들, 투영 기반 시스템들, 헤드업 디스플레이(HUD)들, 디스플레이 능력이 통합된 차량 앞유리들, 디스플레이 능력이 통합된 창문들, 사람의 눈 위에 놓이도록 설계된 렌즈들로서 형성된 디스플레이들(예를 들어, 콘택트 렌즈들과 유사함), 헤드폰들/이어폰들, 스피커 어레이들, 입력 시스템들(예를 들어, 햅틱 피드백이 있거나 또는 없는 웨어러블 또는 핸드헬드 제어기들), 스마트폰들, 태블릿들, 및 데스크톱/랩톱 컴퓨터들을 포함한다. 머리 장착형 시스템은 하나 이상의 스피커(들) 및 통합된 불투명 디스플레이를 가질 수 있다. 대안적으로, 머리 장착형 시스템은 외부 불투명 디스플레이(예를 들어, 스마트폰)를 수용하도록 구성될 수 있다. 머리 장착형 시스템은 물리적 환경의 이미지들 또는 비디오를 캡처하기 위한 하나 이상의 이미징 센서들, 및/또는 물리적 환경의 오디오를 캡처하기 위한 하나 이상의 마이크로폰들을 통합할 수 있다. 머리 장착형 시스템은 불투명 디스플레이보다는, 투명 또는 반투명 디스플레이를 가질 수 있다. 투명 또는 반투명 디스플레이는 이미지들을 표현하는 광이 사람의 눈들로 지향되는 매체를 가질 수 있다. 디스플레이는 디지털 광 프로젝션, OLED들, LED들, uLED들, 실리콘 액정 표시장치, 레이저 스캐닝 광원, 또는 이들 기술들의 임의의 조합을 이용할 수 있다. 매체는 광학 도파관, 홀로그램 매체, 광학 조합기, 광학 반사기, 또는 이들의 임의의 조합일 수 있다. 일 실시예에서, 투명 또는 반투명 디스플레이는 선택적으로 불투명하게 되도록 구성될 수 있다. 투사-기반 시스템들은 그래픽 이미지들을 사람의 망막 상에 투사하는 망막 투사 기술을 채용할 수 있다. 투영 시스템들은 또한 가상 객체들을 물리적 환경에, 예를 들어, 홀로그램으로서 또는 물리적 표면 상에 투영하도록 구성될 수 있다. 일부 실시예들에서, 제어기(110)는 사용자에 대한 XR 경험을 관리 및 조정하도록 구성된다. 일부 실시예들에서, 제어기(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)는 XR 경험(예를 들어, 적어도 XR 경험의 시각적 컴포넌트)을 사용자에게 제공하도록 구성된다. 일부 실시예들에서, 디스플레이 생성 컴포넌트(120)는 소프트웨어, 펌웨어, 및/또는 하드웨어의 적합한 조합을 포함한다. 디스플레이 생성 컴포넌트(120)는 도 3과 관련하여 아래에서 더욱 상세히 기술된다. 일부 실시예들에서, 제어기(110)의 기능성들은 디스플레이 생성 컴포넌트(120)에 의해 제공되고/되거나 이와 조합된다.
일부 실시예들에 따르면, 디스플레이 생성 컴포넌트(120)는 사용자가 장면(105) 내에 가상으로 그리고/또는 물리적으로 존재하는 동안 XR 경험을 사용자에게 제공한다.
일부 실시예들에서, 디스플레이 생성 컴포넌트는 사용자의 신체의 일부(예를 들어, 그의 머리에, 그의 손에 등)에 착용된다. 이와 같이, 디스플레이 생성 컴포넌트(120)는 XR 콘텐츠를 디스플레이하기 위해 제공되는 하나 이상의 XR 디스플레이들을 포함한다. 예를 들어, 다양한 실시예들에서, 디스플레이 생성 컴포넌트(120)는 사용자의 시야를 둘러싼다. 일부 실시예들에서, 디스플레이 생성 컴포넌트(120)는 XR 콘텐츠를 제시하도록 구성된 핸드헬드 디바이스(예를 들어, 스마트폰 또는 태블릿)이고, 사용자는 사용자의 시야를 향해 지향된 디스플레이 및 장면(105)을 향해 지향된 카메라를 갖는 디바이스를 유지한다. 일부 실시예들에서, 핸드헬드 디바이스는 선택적으로 사용자의 머리에 착용된 인클로저 내에 배치된다. 일부 실시예들에서, 핸드헬드 디바이스는 선택적으로 사용자 전방의 지지부(예를 들어, 삼각대) 상에 배치된다. 일부 실시예들에서, 디스플레이 생성 컴포넌트(120)는 사용자가 디스플레이 생성 컴포넌트(120)를 착용하거나 유지하지 않는 XR 콘텐츠를 제시하도록 구성된 XR 챔버, 인클로저 또는 방이다. XR 콘텐츠를 디스플레이하기 위한 하나의 유형의 하드웨어(예를 들어, 핸드헬드 디바이스 또는 삼각대 상의 디바이스)를 참조하여 설명된 많은 사용자 인터페이스들은 XR 콘텐츠를 디스플레이하기 위한 다른 유형의 하드웨어(예를 들어, HMD 또는 다른 웨어러블 컴퓨팅 디바이스) 상에서 구현될 수 있다. 예를 들어, 핸드헬드 또는 삼각대 장착형 디바이스 전방의 공간에서 발생하는 상호작용들에 기초하여 트리거된 XR 콘텐츠와의 상호작용들을 보여주는 사용자 인터페이스는, 상호작용들이 HMD 전방의 공간에서 발생하고 XR 콘텐츠의 응답들이 HMD를 통해 디스플레이되는 HMD를 이용하여 유사하게 구현될 수 있다. 유사하게, 물리적 환경(예를 들어, 장면(105) 또는 사용자의 신체의 일부(예를 들어, 사용자의 눈(들), 머리 또는 손)에 대한 핸드헬드 또는 삼각대 장착형 디바이스의 이동에 기초하여 트리거되는 XR 콘텐츠와의 상호작용들을 보여주는 사용자 인터페이스는 유사하게, 물리적 환경(예를 들어, 장면(105) 또는 사용자의 신체의 일부(예를 들어, 사용자의 눈(들), 머리 또는 손)에 대한 HMD의 이동에 의해 이동이 야기되는 HMD로 구현될 수 있다.
동작 환경(100)의 관련 특징부들이 도 1에 도시되어 있지만, 당업자들은 본 개시내용으로부터, 간결함을 위해 그리고 본 명세서에 개시되는 예시적인 실시예들의 더 많은 관련 양태들을 불명료하게 하지 않기 위해 다양한 다른 특징부들이 예시되지 않았음을 인식할 것이다.
도 2는 일부 실시예들에 따른 제어기(110)의 일례의 블록도이다. 소정의 특정 특징부들이 예시되어 있지만, 당업자들은 본 개시내용으로부터, 간결함을 위해 그리고 본 명세서에 개시되는 실시예들의 더 많은 관련 양태들을 불명료하게 하지 않기 위해 다양한 다른 특징부들이 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 일부 실시예들에서, 제어기(110)는 하나 이상의 프로세싱 유닛들(202)(예를 들어, 마이크로프로세서들, 주문형 집적 회로(ASIC)들, 필드-프로그래밍가능 게이트 어레이(FPGA)들, 그래픽 프로세싱 유닛(GPU)들, 중앙 프로세싱 유닛(CPU)들, 프로세싱 코어들 등), 하나 이상의 입/출력(I/O) 디바이스들(206), 하나 이상의 통신 인터페이스들(208)(예를 들어, 범용 직렬 버스(USB), FIREWIRE, THUNDERBOLT, 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) 및 XR 경험 모듈(240)을 포함하는 그들의 서브세트를 저장한다.
운영 체제(230)는 다양한 기본 시스템 서비스들을 처리하고 하드웨어 의존 태스크들을 수행하기 위한 명령어들을 포함한다. 일부 실시예들에서, XR 경험 모듈(240)은 하나 이상의 사용자들에 대한 하나 이상의 XR 경험들(예를 들어, 하나 이상의 사용자들에 대한 단일 XR 경험, 또는 하나 이상의 사용자들의 각자의 그룹들에 대한 다수의 XR 경험들)을 관리하고 조정하도록 구성된다. 이를 위해, 다양한 실시예들에서, XR 경험 모듈(240)은 데이터 획득 유닛(242), 추적 유닛(244), 조정 유닛(246), 및 데이터 송신 유닛(248)을 포함한다.
일부 실시예들에서, 데이터 획득 유닛(242)은 적어도 도 1의 디스플레이 생성 컴포넌트(120) 및 선택적으로, 입력 디바이스들(125), 출력 디바이스들(155), 센서들(190), 및/또는 주변 디바이스들(195) 중 하나 이상으로부터 데이터(예를 들어, 제시 데이터, 상호작용 데이터, 센서 데이터, 위치 데이터 등)를 획득하도록 구성된다. 이를 위해, 다양한 실시예들에서, 데이터 획득 유닛(242)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
일부 실시예들에서, 추적 유닛(244)은 장면(105)을 맵핑하도록 그리고 도 1의 장면(105)에 대해 그리고 선택적으로, 입력 디바이스들(125), 출력 디바이스들(155), 센서들(190), 및/또는 주변 디바이스들(195) 중 하나 이상에 대해 적어도 디스플레이 생성 컴포넌트(120)의 포지션/위치를 추적하도록 구성된다. 이를 위해, 다양한 실시예들에서, 추적 유닛(244)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다. 일부 실시예들에서, 추적 유닛(244)은 손 추적 유닛(245), 및/또는 눈 추적 유닛(243)을 포함한다. 일부 실시예들에서, 손 추적 유닛(245)은 도 1의 장면(105)에 대해, 디스플레이 생성 컴포넌트(120)에 대해, 및/또는 사용자의 손에 대해 정의된 좌표계에 대해 사용자의 손들의 하나 이상의 부분들의 포지션/위치 및/또는 사용자의 손들의 하나 이상의 부분들의 모션들을 추적하도록 구성된다. 손 추적 유닛(245)은 도 4와 관련하여 아래에서 더욱 상세히 설명된다. 일부 실시예들에서, 눈 추적 유닛(243)은 장면(105)에 대해(예를 들어, 물리적 환경 및/또는 사용자(예를 들어, 사용자의 손)에 대해) 또는 디스플레이 생성 컴포넌트(120)를 통해 디스플레이되는 XR 콘텐츠에 대해 사용자의 시선(또는 더 광범위하게는 사용자의 눈들, 얼굴 또는 머리)의 위치 및 이동을 추적하도록 구성된다. 눈 추적 유닛(243)은 도 5와 관련하여 아래에서 더욱 상세히 설명된다.
일부 실시예들에서, 조정 유닛(246)은 디스플레이 생성 컴포넌트(120)에 의해 그리고 선택적으로, 출력 디바이스들(155) 및/또는 주변 디바이스들(195) 중 하나 이상에 의해 사용자에게 제시되는 XR 경험을 관리 및 조정하도록 구성된다. 이를 위해, 다양한 실시예들에서, 조정 유닛(246)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
일부 실시예들에서, 데이터 송신 유닛(248)은 적어도 디스플레이 생성 컴포넌트(120) 및 선택적으로, 입력 디바이스들(125), 출력 디바이스들(155), 센서들(190), 및/또는 주변 디바이스들(195) 중 하나 이상에 데이터(예를 들어, 제시 데이터, 위치 데이터 등)를 송신하도록 구성된다. 이를 위해, 다양한 실시예들에서, 데이터 송신 유닛(248)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
데이터 획득 유닛(242), 추적 유닛(244)(예를 들어, 눈 추적 유닛(243) 및 손 추적 유닛(245)을 포함함), 조정 유닛(246), 및 데이터 송신 유닛(248)이 단일 디바이스(예를 들어, 제어기(110)) 상에 존재하는 것으로 도시되어 있지만, 다른 실시예들에서, 데이터 획득 유닛(242), 추적 유닛(244)(예를 들어, 눈 추적 유닛(243) 및 손 추적 유닛(245)을 포함함), 조정 유닛(246), 및 데이터 송신 유닛(248)의 임의의 조합이 별개의 컴퓨팅 디바이스들 내에 위치될 수 있다는 것을 이해해야 한다.
게다가, 도 2는 본 명세서에 설명된 실시예들의 구조적 개략도와는 대조적으로 특정 구현예에 존재할 수 있는 다양한 특징부들의 기능 설명으로서 더 의도된다. 당업자들에 의해 인식되는 바와 같이, 별개로 도시된 아이템들은 조합될 수 있고 일부 아이템들은 분리될 수 있다. 예를 들어, 다양한 실시예들에서, 도 2에 별개로 도시된 일부 기능 모듈들은 단일 모듈로 구현될 수 있고, 단일 기능 블록들의 다양한 기능들은 하나 이상의 기능 블록들에 의해 구현될 수 있다. 모듈들의 실제 수량 및 특정 기능들의 분할 그리고 특징부들이 그들 사이에서 어떻게 할당되는지는 구현예들마다 다를 것이고, 일부 실시예들에서, 특정 구현예에 대해 선택된 하드웨어, 소프트웨어, 및/또는 펌웨어의 특정 조합에 부분적으로 의존한다.
도 3은 일부 실시예들에 따른 디스플레이 생성 컴포넌트(120)의 일례의 블록도이다. 소정의 특정 특징부들이 예시되어 있지만, 당업자들은 본 개시내용으로부터, 간결함을 위해 그리고 본 명세서에 개시되는 실시예들의 더 많은 관련 양태들을 불명료하게 하지 않기 위해 다양한 다른 특징부들이 예시되지 않았음을 인식할 것이다. 이를 위해, 비제한적인 예로서, 일부 실시예들에서, 디스플레이 생성 컴포넌트(120)(예를 들어, HMD)는 하나 이상의 프로세싱 유닛들(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), 하나 이상의 XR 디스플레이들(312), 하나 이상의 선택적인 내부 및/또는 외부 대면 이미지 센서들(314), 메모리(320), 및 이들 및 다양한 다른 컴포넌트들을 상호연결하기 위한 하나 이상의 통신 버스들(304)을 포함한다.
일부 실시예들에서, 하나 이상의 통신 버스들(304)은 시스템 컴포넌트들 사이의 통신을 상호연결하고 제어하는 회로부를 포함한다. 일부 실시예들에서, 하나 이상의 I/O 디바이스들 및 센서들(306)은 관성 측정 유닛(inertial measurement unit, IMU), 가속도계, 자이로스코프, 온도계, 하나 이상의 생리학적 센서들(예를 들어, 혈압 모니터, 심박수 모니터, 혈중 산소 센서, 혈당 센서 등), 하나 이상의 마이크로폰들, 하나 이상의 스피커들, 햅틱 엔진, 하나 이상의 깊이 센서들(예를 들어, 구조화된 광, 빛의 비행시간 등) 등 중 적어도 하나를 포함한다.
일부 실시예들에서, 하나 이상의 XR 디스플레이들(312)은 XR 경험을 사용자에게 제공하도록 구성된다. 일부 실시예들에서, 하나 이상의 XR 디스플레이들(312)은 홀로그래픽, 디지털 광 프로세싱(digital light processing; DLP), 액정 디스플레이(liquid-crystal display; LCD), 실리콘 액정 표시장치(liquid-crystal on silicon; LCoS), 유기 발광 전계-효과 트랜지스터(organic light-emitting field-effect transistor; OLET), 유기 발광 다이오드(organic light-emitting diode; OLED), 표면-전도 전자-방출기 디스플레이(surface-conduction electron-emitter display; SED), 전계-방출 디스플레이(field-emission display; FED), 양자점 발광 다이오드(quantum-dot light-emitting diode; QD-LED), 마이크로-전자기계 시스템(micro-electro-mechanical system; MEMS), 및/또는 유사한 디스플레이 유형들에 대응한다. 일부 실시예들에서, 하나 이상의 XR 디스플레이들(312)은 회절, 반사, 편광, 홀로그래픽 등의 도파관 디스플레이들에 대응한다. 예를 들어, 디스플레이 생성 컴포넌트(120)(예를 들어, HMD)는 단일 XR 디스플레이를 포함한다. 다른 예에서, 디스플레이 생성 컴포넌트(120)는 사용자의 각각의 눈에 대한 XR 디스플레이를 포함한다. 일부 실시예들에서, 하나 이상의 XR 디스플레이들(312)은 MR 및 VR 콘텐츠를 제시할 수 있다. 일부 실시예들에서, 하나 이상의 XR 디스플레이들(312)은 MR 또는 VR 콘텐츠를 제시할 수 있다.
일부 실시예들에서, 하나 이상의 이미지 센서들(314)은 사용자의 눈들을 포함하는 사용자의 얼굴의 적어도 일부분에 대응하는 이미지 데이터를 획득하도록 구성된다(그리고 눈-추적 카메라로 지칭될 수 있음). 일부 실시예들에서, 하나 이상의 이미지 센서들(314)은 사용자의 손(들) 및 선택적으로 사용자의 팔(들)의 적어도 일부에 대응하는 이미지 데이터를 획득하도록 구성된다(그리고 손-추적 카메라로 지칭될 수 있음). 일부 실시예들에서, 하나 이상의 이미지 센서들(314)은, 디스플레이 생성 컴포넌트(120)(예를 들어, HMD)가 존재하지 않았다면 사용자가 봤을 장면에 대응하는 이미지 데이터를 획득하기 위해 전방-대면하도록 구성된다(그리고 이들은 장면 카메라로 지칭될 수 있다). 하나 이상의 선택적인 이미지 센서들(314)은 하나 이상의 RGB 카메라들(예를 들어, 상보성 금속-산화물-반도체(CMOS) 이미지 센서 또는 CCD(charge-coupled device) 이미지 센서를 가짐), 하나 이상의 적외선(IR) 카메라들, 하나 이상의 이벤트-기반 카메라들 등을 포함할 수 있다.
메모리(320)는 DRAM, SRAM, DDR RAM, 또는 다른 랜덤-액세스 솔리드-스테이트 메모리 디바이스들과 같은 고속 랜덤-액세스 메모리를 포함한다. 일부 실시예들에서, 메모리(320)는 하나 이상의 자기 디스크 저장 디바이스들, 광 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비휘발성 솔리드-스테이트 저장 디바이스들과 같은 비휘발성 메모리를 포함한다. 메모리(320)는 선택적으로, 하나 이상의 프로세싱 유닛들(302)로부터 원격으로 위치된 하나 이상의 저장 디바이스들을 포함한다. 메모리(320)는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다. 일부 실시예들에서, 메모리(320) 또는 메모리(320)의 비일시적 컴퓨터 판독가능 저장 매체는 다음의 프로그램들, 모듈들 및 데이터 구조들, 또는 선택적인 운영 체제(330) 및 XR 제시 모듈(340)을 포함하는 그들의 서브세트를 저장한다.
운영 체제(330)는 다양한 기본 시스템 서비스들을 처리하고 하드웨어 의존 태스크들을 수행하기 위한 명령어들을 포함한다. 일부 실시예들에서, XR 제시 모듈(340)은 하나 이상의 XR 디스플레이들(312)을 통해 XR 콘텐츠를 사용자에게 제시하도록 구성된다. 이를 위해, 다양한 실시예들에서, XR 제시 모듈(340)은 데이터 획득 유닛(342), XR 제시 유닛(344), XR 맵 생성 유닛(346), 및 데이터 송신 유닛(348)을 포함한다.
일부 실시예들에서, 데이터 획득 유닛(342)은 적어도 도 1의 제어기(110)로부터 데이터(예컨대, 제시 데이터, 상호작용 데이터, 센서 데이터, 위치 데이터 등)를 획득하도록 구성된다. 이를 위해, 다양한 실시예들에서, 데이터 획득 유닛(342)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
일부 실시예들에서, XR 제시 유닛(344)은 하나 이상의 XR 디스플레이들(312)을 통해 XR 콘텐츠를 제시하도록 구성된다. 이를 위해, 다양한 실시예들에서, XR 제시 유닛(344)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
일부 실시예들에서, XR 맵 생성 유닛(346)은 미디어 콘텐츠 데이터에 기초하여 XR 맵(예컨대, 확장 현실을 생성하기 위해 컴퓨터 생성 객체들이 배치될 수 있는 혼합 현실 장면의 3D 맵 또는 물리적 환경의 맵)을 생성하도록 구성된다. 이를 위해, 다양한 실시예들에서, XR 맵 생성 유닛(346)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
일부 실시예들에서, 데이터 송신 유닛(348)은 적어도 제어기(110) 및 선택적으로, 입력 디바이스들(125), 출력 디바이스들(155), 센서들(190), 및/또는 주변 디바이스들(195) 중 하나 이상에 데이터(예를 들어, 제시 데이터, 위치 데이터 등)를 송신하도록 구성된다. 이를 위해, 다양한 실시예들에서, 데이터 송신 유닛(348)은 그에 대한 명령어들 및/또는 로직, 및 그에 대한 휴리스틱 및 메타데이터를 포함한다.
데이터 획득 유닛(342), XR 제시 유닛(344), XR 맵 생성 유닛(346), 및 데이터 송신 유닛(348)이 단일 디바이스(예컨대, 도 1의 디스플레이 생성 컴포넌트(120)) 상에 존재하는 것으로 도시되어 있지만, 다른 실시예들에서, 데이터 획득 유닛(342), XR 제시 유닛(344), XR 맵 생성 유닛(346), 및 데이터 송신 유닛(348)의 임의의 조합이 별개의 컴퓨팅 디바이스들 내에 위치될 수 있다는 것을 이해해야 한다.
게다가, 도 3은 본 명세서에 설명된 실시예들의 구조적 개략도와는 대조적으로 특정 구현예에 존재할 수 있는 다양한 특징부들의 기능 설명으로서 더 의도된다. 당업자들에 의해 인식되는 바와 같이, 별개로 도시된 아이템들은 조합될 수 있고 일부 아이템들은 분리될 수 있다. 예를 들어, 다양한 실시예들에서, 도 3에 별개로 도시된 일부 기능 모듈들은 단일 모듈로 구현될 수 있고, 단일 기능 블록들의 다양한 기능들은 하나 이상의 기능 블록들에 의해 구현될 수 있다. 모듈들의 실제 수량 및 특정 기능들의 분할 그리고 특징부들이 그들 사이에서 어떻게 할당되는지는 구현예들마다 다를 것이고, 일부 실시예들에서, 특정 구현예에 대해 선택된 하드웨어, 소프트웨어, 및/또는 펌웨어의 특정 조합에 부분적으로 의존한다.
도 4는 손 추적 디바이스(140)의 예시적인 실시예의 개략적인 그림 예시이다. 일부 실시예들에서, 손 추적 디바이스(140)(도 1)는 사용자의 손들의 하나 이상의 부분들의 포지션/위치 및/또는 도 1의 장면(105)에 대해(예를 들어, 사용자를 둘러싸는 물리적 환경의 일부에 대해, 디스플레이 생성 컴포넌트(120)에 대해, 또는 사용자의 일 부분(예를 들어, 사용자의 얼굴, 눈들, 또는 손)에 대해, 및/또는 사용자의 손에 대해 정의된 좌표계에 대해) 사용자의 손들의 하나 이상의 부분들의 모션들을 추적하기 위해 손 추적 유닛(245)(도 2)에 의해 제어된다. 일부 실시예들에서, 손 추적 디바이스(140)는 디스플레이 생성 컴포넌트(120)(예를 들어, 머리 장착형 디바이스에 임베딩되거나 그에 부착됨)의 일부이다. 일부 실시예들에서, 손 추적 디바이스(140)는 디스플레이 생성 컴포넌트(120)와 별개이다(예를 들어, 별개의 하우징들에 위치되거나 또는 별개의 물리적 지지 구조들에 부착됨).
일부 실시예들에서, 손 추적 디바이스(140)는 적어도 인간 사용자의 손(406)을 포함하는 3차원 장면 정보를 캡처하는 이미지 센서들(404)(예를 들어, 하나 이상의 IR 카메라들, 3D 카메라들, 깊이 카메라들 및/또는 컬러 카메라들 등)을 포함한다. 이미지 센서들(404)은 손가락들 및 이들 각자의 위치들이 구별될 수 있게 하기에 충분한 해상도로 손 이미지들을 캡처한다. 이미지 센서들(404)은 통상적으로, 또한 사용자의 신체의 다른 부분들, 또는 가능하게는 신체 전부의 이미지들을 캡처하고, 원하는 해상도로 손의 이미지들을 캡처하기 위한 향상된 배율을 갖는 전용 센서 또는 줌 능력들을 가질 수 있다. 일부 실시예들에서, 이미지 센서들(404)은 또한 손(406) 및 장면의 다른 요소들의 2D 컬러 비디오 이미지들을 캡처한다. 일부 실시예들에서, 이미지 센서들(404)은 장면(105)의 물리적 환경을 캡처하거나 또는 장면(105)의 물리적 환경을 캡처하는 이미지 센서들의 역할을 하기 위해 다른 이미지 센서들과 함께 사용된다. 일부 실시예들에서, 이미지 센서들(404)은, 이미지 센서들에 의해 캡처된 손 이동이 제어기(110)로의 입력들로서 취급되는 상호작용 공간을 정의하기 위해 이미지 센서들의 시야 또는 그의 일부가 사용되는 방식으로 사용자 또는 사용자의 환경에 대해 포지셔닝된다.
일부 실시예들에서, 이미지 센서들(404)은 3D 맵 데이터(및 가능하게는 또한 컬러 이미지 데이터)를 포함하는 프레임들의 시퀀스를, 맵 데이터로부터 고레벨 정보를 추출하는 제어기(110)에 출력한다. 이러한 고레벨 정보는 통상적으로, 애플리케이션 프로그램 인터페이스(API)를 통해 제어기 상에서 실행되는 애플리케이션에 제공되며, 제어기는 그에 따라 디스플레이 생성 컴포넌트(120)를 구동시킨다. 예를 들어, 사용자는 자신의 손(406)을 이동시키고/시키거나 자신의 손 포즈를 변경함으로써 제어기(110) 상에서 실행되는 소프트웨어와 상호작용할 수 있다.
일부 실시예들에서, 이미지 센서들(404)은 손(406)을 포함하는 장면 상에 스팟들의 패턴을 투영하고 투영된 패턴의 이미지를 캡처한다. 일부 실시예들에서, 제어기(110)는 패턴 내의 스팟들의 횡방향 시프트들에 기초하여, 삼각측량에 의해 장면 내의 포인트들(사용자의 손의 표면 상의 포인트들을 포함함)의 3D 좌표들을 컴퓨팅한다. 이러한 접근법은 그것이 사용자가 임의의 종류의 비콘(beacon), 센서 또는 다른 마커를 유지하거나 착용할 것을 요구하지 않는다는 점에서 유리하다. 이는 이미지 센서들(404)로부터 특정 거리에서 미리 결정된 기준 평면에 대한 장면 내의 포인트들의 깊이 좌표들을 제공한다. 본 개시내용에서, 이미지 센서들(404)은, 장면 내의 포인트들의 깊이 좌표들이 이미지 센서들에 의해 측정된 z 성분들에 대응하도록 x, y, z 축들의 직교 세트를 정의하는 것으로 가정된다. 대안적으로, 이미지 센서들(404)(예를 들어, 손 추적 디바이스)은 단일 또는 다수의 카메라들 또는 다른 유형들의 센서들에 기초하여, 입체 이미징 또는 비행 시간 측정들과 같은 다른 3D 맵핑 방법들을 사용할 수 있다.
일부 실시예들에서, 손 추적 디바이스(140)는 사용자의 손(예를 들어, 전체 손 또는 하나 이상의 손가락들)을 이동시키는 동안 사용자의 손을 포함하는 깊이 맵들의 시간적 시퀀스를 캡처 및 프로세싱한다. 이미지 센서들(404) 및/또는 제어기(110) 내의 프로세서 상에서 실행되는 소프트웨어는 이러한 깊이 맵들에서 손의 패치 디스크립터들을 추출하기 위해 3D 맵 데이터를 프로세싱한다. 소프트웨어는, 각각의 프레임에서 손의 포즈를 추정하기 위해, 이전 학습 프로세스에 기초하여, 데이터베이스(408)에 저장된 패치 디스크립터들에 이들 디스크립터들을 매칭한다. 포즈는 전형적으로 사용자의 손 관절들 및 손가락 팁들의 3D 위치들을 포함한다.
소프트웨어는 또한 제스처들을 식별하기 위해 시퀀스에서 다수의 프레임들에 걸친 손들 및/또는 손가락들의 궤적을 분석할 수 있다. 본 명세서에 설명된 포즈 추정 기능들은 모션 추적 기능들과 인터리빙될 수 있어서, 패치-기반 포즈 추정은 2개(또는 그 초과)의 프레임들마다 단 한번만 수행되는 한편, 나머지 프레임들에 걸쳐 발생하는 포즈의 변화들을 발견하기 위해 추적이 사용된다. 포즈, 모션 및 제스처 정보는 위에서 언급된 API를 통해 제어기(110) 상에서 실행되는 애플리케이션 프로그램에 제공된다. 이 프로그램은, 예를 들어, 포즈 및/또는 제스처 정보에 응답하여, 디스플레이 생성 컴포넌트(120) 상에 제시된 이미지들을 이동 및 수정하거나, 또는 다른 기능들을 수행할 수 있다.
일부 실시예들에서, 제스처는 에어 제스처를 포함한다. 에어 제스처는 디바이스(예를 들어, 컴퓨터 시스템(101), 하나 이상의 입력 디바이스(125) 및/또는 손 추적 디바이스(140))의 일부인 입력 요소를 사용자가 터치하지 않으면서(또는 이와 독립적으로) 검출되는 제스처이며, 사용자 신체의 다른 부분에 대한 절대적 기준(예를 들어, 지면에 대한 사용자의 팔의 각도 또는 지면에 대한 사용자의 손의 거리)에 대한 사용자의 신체의 모션(예를 들어, 사용자의 어깨에 대한 사용자의 손의 움직임, 사용자의 다른 손에 대한 사용자의 하나의 손의 움직임, 및/또는 사용자의 다른 손가락 또는 손의 일부에 대한 사용자의 손가락의 움직임), 및/또는 사용자의 신체의 일부의 절대적 모션(예를 들어, 미리 결정된 양 및/또는 속도만큼 미리 결정된 포즈에서 손의 움직임을 포함하는 탭 제스처, 또는 사용자의 신체의 일부의 미리 결정된 회전 속도 또는 양을 포함하는 셰이크 제스처)을 포함하는 공중을 통한 사용자의 신체의 일부(예를 들어, 머리, 하나 이상의 팔들, 하나 이상의 손들, 하나 이상의 손가락들 및/또는 하나 이상의 다리들)의 검출된 모션에 기초한다.
일부 실시예들에서, 본 명세서에서 설명된 다양한 예들 및 실시예들에서 사용된 입력 제스처들은, 일부 실시예들에 따른, XR 환경(예를 들어, 가상 또는 혼합 현실 환경)과 상호작용하기 위해 다른 손가락(들) 또는 사용자의 손의 일부(들)에 대한 사용자의 손가락(들)의 움직임에 의해 수행되는 에어 제스처들을 포함한다. 일부 실시예들에서, 에어 제스처는, 사용자가 디바이스의 일부인 입력 요소를 터치하지 않으면서(또는 디바이스의 일부인 입력 요소와 독립적으로) 검출되고, 절대적 기준에 대한 사용자의 신체의 모션(예를 들어, 지면에 대한 사용자의 팔의 각도 또는 지면에 대한 사용자의 손의 거리), 사용자의 신체의 다른 부분에 대한 사용자의 신체의 모션(예를 들어, 사용자의 어깨에 대한 사용자의 손의 이동, 사용자의 하나의 손의 사용자의 다른 손에 대한 이동, 및/또는 사용자의 손가락의 사용자의 손의 다른 손가락 또는 부분에 대한 이동), 및/또는 사용자의 신체의 부분의 절대적 모션(예를 들어, 미리 결정된 양 및/또는 속도만큼의 미리 결정된 포즈에서의 손의 이동을 포함하는 탭 제스처, 또는 사용자의 신체의 부분의 미리 결정된 회전 속도 또는 회전량을 포함하는 셰이크 제스처)을 포함하는 에어를 통한 사용자의 신체의 부분의 검출된 모션에 기초하는 제스처이다.
입력 제스처가 에어 제스처인 일부 실시예들에서(예를 들어, 터치스크린 상에 디스플레이된 사용자 인터페이스 요소와의 접촉 또는 사용자 인터페이스 요소에 대해 커서를 이동시키는 마우스 또는 트랙패드와의 접촉과 같이, 사용자 인터페이스 요소가 사용자 입력의 타겟인 것에 대한 정보를 컴퓨터 시스템에 제공하는 입력 디바이스와의 물리적 접촉의 부재 시에), 제스처는 (예를 들어, 아래에서 설명되는 바와 같은 직접 입력들에 대한) 사용자 입력의 타겟을 결정하기 위해 사용자의 주의(예를 들어, 시선)를 고려한다. 따라서, 에어 제스처들을 수반하는 구현들에서, 입력 제스처는, 예를 들어, 아래에서 더 상세히 설명되는 바와 같이, 핀치 및/또는 탭 입력을 수행하기 위해 사용자의 손가락(들) 및/또는 손들의 움직임과 조합하여(예를 들어, 동시에) 사용자 인터페이스 요소를 향한 검출된 주의(예를 들어, 시선)이다.
일부 실시예들에서, 사용자 인터페이스 객체로 지향되는 입력 제스처들은 사용자 인터페이스 객체를 참조하여 간접적으로 또는 직접적으로 수행된다. 예를 들어, (예를 들어, 사용자의 현재 시점에 기초하여 결정되는 바와 같이) 3차원 환경에서 사용자 인터페이스 객체의 포지션에 대응하는 포지션에서 사용자의 손으로 입력 제스처를 수행하는 것에 따라 사용자 인터페이스 객체 상에서 직접 사용자 입력이 수행된다. 일부 실시예들에서, 사용자 인터페이스 객체 상에서 사용자의 주의(예를 들어, 시선)를 검출하면서 사용자의 손의 포지션이 3차원 환경에서 사용자 인터페이스 객체의 포지션에 대응하는 포지션에 있지 않은 동안 사용자가 입력 제스처를 수행하는 것에 따라 사용자 인터페이스 객체 상에서 간접적으로 입력 제스처가 수행된다. 예를 들어, 직접적인 입력 제스처의 경우, 사용자는, 사용자 인터페이스 객체의 디스플레이된 포지션에 대응하는 포지션에서 또는 그 근처에서(예를 들어, 옵션의 외측 에지 또는 옵션의 중심 부분으로부터 측정되는 바와 같이 0.5 cm, 1 cm, 5 cm, 또는 0 내지 5 cm의 거리 내에서) 제스처를 개시함으로써 사용자 인터페이스 객체로 사용자의 입력을 지향시키는 것이 가능하게 된다. 간접적인 입력 제스처의 경우, 사용자는 사용자 인터페이스 객체에 주의를 기울임으로써(예를 들어, 사용자 인터페이스 객체를 응시함으로써) 사용자의 입력을 사용자 인터페이스 객체로 지향시키는 것이 가능하게 되고, 옵션에 주의를 기울이는 동안, 사용자는 (예를 들어, 컴퓨터 시스템에 의해 검출가능한 임의의 포지션에서)(예를 들어, 사용자 인터페이스 객체의 디스플레이된 포지션에 대응하지 않는 포지션에서) 입력 제스처를 개시한다.
일부 실시예들에서, 본 명세서에서 설명된 다양한 예들 및 실시예들에서 사용된 입력 제스처들(예를 들어, 에어 제스처들)은 일부 실시예들에 따른, 가상 또는 혼합 현실 환경과 상호작용하기 위한 핀치 입력들 및 탭 입력들을 포함한다. 예를 들어, 아래에서 설명되는 핀치 입력들 및 탭 입력들은 에어 제스처들로서 수행된다.
일부 실시예들에서, 핀치 입력은 핀치 제스처, 롱 핀치 제스처, 핀치 및 드래그 제스처 또는 더블 핀치 제스처 중 하나 이상을 포함하는 에어 제스처의 일부이다. 예를 들어, 에어 제스처인 핀치 제스처는 서로 접촉하기 위한 손의 2개 이상의 손가락들의 움직임을 포함하고, 이는, 선택적으로, 즉각적인(예를 들어, 0 내지 1 초 이내에) 서로로부터의 접촉 해제가 후속된다. 에어 제스처인 롱 핀치 제스처는, 서로로부터의 접촉 해제를 검출하기 전에 적어도 임계 시간(예를 들어, 적어도 1 초) 동안 서로 접촉하기 위한 손의 2개 이상의 손가락들의 움직임을 포함한다. 예를 들어, 롱 핀치 제스처는 사용자가 핀치 제스처를 유지하는 것(예를 들어, 2개 이상의 손가락들이 접촉함)을 포함하고, 롱 핀치 제스처는 2개 이상의 손가락들 사이의 접촉 해제가 검출될 때까지 계속된다. 일부 실시예들에서, 에어 제스처인 더블 핀치 제스처는 서로 즉각적인(예를 들어, 미리 정의된 기간 내인) 연속으로 검출되는 2개(예를 들어, 또는 그 이상)의 핀치 입력들(예를 들어, 동일한 손에 의해 수행됨)을 포함한다. 예컨대, 사용자는 제1 핀치 입력(예를 들어, 핀치 입력 또는 롱 핀치 입력)을 수행하고, 제1 핀치 입력을 해제하고(예를 들어, 2개 이상의 손가락들 사이의 접촉을 해제함), 제1 핀치 입력을 해제한 이후 미리 정의된 시간 내에(예를 들어, 1초 이내 또는 2초 내에) 제2 핀치 입력을 수행한다.
일부 실시예들에서, 에어 제스처인 핀치 및 드래그 제스처는, 핀치 제스처(예를 들어, 핀치 제스처 또는 롱 핀치 제스처)를 포함하고, 이는 사용자의 손의 포지션을 제1 포지션(예를 들어, 드래그의 시작 포지션)으로부터 제2 포지션(예를 들어, 드래그의 종료 포지션)으로 변경하는 드래그 입력과 함께 수행된다(예를 들어, 그에 후속함). 일부 실시예들에서, 사용자는 드래그 입력을 수행하는 동안 핀치 제스처를 유지하고, (예를 들어, 제2 포지션에서) 드래그 제스처를 종료하기 위해 핀치 제스처를 해제한다(예를 들어, 자신의 2개 이상의 손가락들을 개방함). 일부 실시예들에서, 핀치 입력 및 드래그 입력은 동일한 손에 의해 수행된다(예를 들어, 사용자는 2개 이상의 손가락들을 핀칭하여 서로 접촉하게 하고, 드래그 제스처를 이용하여 동일한 손을 공중에서 제2 포지션으로 이동시킨다). 일부 실시예들에서, 핀치 입력은 사용자의 제1 손에 의해 수행되고 드래그 입력은 사용자의 제2 손에 의해 수행된다(예를 들어, 사용자의 제2 손이 공중에서 제1 포지션으로부터 제2 포지션으로 이동하는 동안 사용자는 사용자의 제1 손으로 핀치 입력을 계속한다). 일부 실시예들에서, 에어 제스처인 입력 제스처는 사용자의 두 손들 둘 모두를 사용하여 수행되는 입력들(예를 들어, 핀치 및/또는 탭핑 입력들)을 포함한다. 예컨대, 입력 제스처는 서로 함께(예를 들어, 동시에 또는 미리 정의된 기간 내에) 수행되는 2개(예를 들어, 그 이상)의 핀치 입력들을 포함한다. 예를 들어, 제1 핀치 제스처는 사용자의 제1 손을 사용하여 수행되고(예를 들어, 핀치 입력, 롱 핀치 입력 또는 핀치 및 드래그 입력), 제1 손을 사용하여 핀치 입력을 수행하는 것과 관련하여, 다른 손(예를 들어, 사용자의 두 손들 중 두 번째 손)을 사용하는 제2 핀치 입력을 수행한다. 일부 실시예들에서, 사용자의 두 손들 사이의 움직임은 (예컨대, 사용자의 두 손들 사이의 거리 또는 상대적인 배향을 증가 및/또는 감소시키기 위한 것이다).
일부 실시예들에서, 에어 제스처로서 수행되는 (예를 들어, 사용자 인터페이스 요소로 지향되는) 탭 입력은 사용자 인터페이스 요소를 향한 사용자의 손가락(들)의 움직임, 선택적으로 사용자 인터페이스 요소를 향해 연장된 사용자의 손가락(들)과 함께 사용자 인터페이스 요소를 향한 사용자의 손의 움직임, 사용자의 손가락의 하향 모션(예를 들어, 터치스크린 상의 마우스 클릭 모션 또는 탭을 모방함), 또는 사용자의 손의 다른 미리 정의된 움직임을 포함한다. 일부 실시예들에서, 에어 제스처로서 수행되는 탭 입력은 사용자의 시점으로부터 멀어지게 그리고/또는 탭 입력의 타겟인 객체를 향해 손가락 또는 손의 탭 제스처 움직임을 수행하는 손가락 또는 손과 후속되는 움직임의 종료의 움직임 특성들에 기초하여 검출된다. 일부 실시예들에서, 움직임의 종료는 탭 제스처를 수행하는 손가락 또는 손의 움직임 특징들의 변화(예를 들어, 사용자의 시점으로부터 멀어지는 그리고/또는 탭 입력의 타겟인 객체를 향한 움직임의 종료, 손가락 또는 손의 움직임의 방향의 반전, 및/또는 손가락 또는 손의 움직임의 가속의 방향의 반전)에 기초하여 검출된다.
일부 실시예들에서, 사용자의 주의는 (선택적으로는 다른 조건들을 요구하지 않으면서) 3차원 환경의 일부로 지향되는 시선의 검출에 기초하여 3차원 환경의 일부로 지향되는 것으로 결정된다. 일부 실시예들에서, 사용자의 주의는, 시선이 적어도 임계 지속기간(예컨대, 체류(dwell) 지속기간) 동안 3차원 환경의 일부로 지향되는 것을 요구하는 것 및/또는 사용자의 주의가 3차원 환경의 일부로 지향된다고 디바이스가 결정하기 위해 사용자의 시점이 3차원 환경의 일부로부터 거리 임계치 내에 있는 동안 시선이 3차원 환경의 일부로 지향되는 것을 요구하는 것과 같은 하나 이상의 부가적인 조건들과 함께, 3차원 환경의 일부로 지향되는 시선의 검출에 기초하여 3차원 환경의 일부로 지향되는 것으로 결정되며, 여기서 부가적인 조건들 중 하나가 충족되지 않으면, 디바이스는 (예를 들어, 하나 이상의 부가적인 조건들이 충족될 때까지) 시선이 지향되는 3차원 환경의 일부로 주의가 지향되지 않는다고 결정한다.
일부 실시예들에서, 사용자 또는 사용자의 일부의 준비 상태 구성의 검출은 컴퓨터 시스템에 의해 검출된다. 손의 준비 상태 구성의 검출은 사용자가 손에 의해 수행된 하나 이상의 에어 제스처 입력들(예를 들어, 핀치, 탭, 핀치 및 드래그, 더블 핀치, 롱 핀치, 또는 본 명세서에 설명된 다른 에어 제스처)을 사용하여 컴퓨터 시스템과 상호작용하도록 준비할 가능성이 있다는 표시로서 컴퓨터 시스템에 의해 사용된다. 예를 들어, 손이 미리 결정된 손 형상(예를 들어, 엄지 및 하나 이상의 손가락들이 핀치 또는 파지(grab) 제스처를 만들 준비가 되게 펼쳐지고 간격을 두고 있는 사전-핀치 형상 또는 하나 이상의 손가락들이 펼쳐지고 손바닥이 사용자로부터 멀어지는 쪽을 향하는 사전-탭)을 갖는지 여부에 기초하여, 손이 사용자의 시점에 대해 미리 결정된 포지션(예를 들어, 사용자의 머리 아래 그리고 사용자의 허리 위, 및 적어도 15, 20, 25, 30, 또는 50 cm만큼 신체로부터 펼쳐짐)에 있는지 여부에 기초하여, 그리고/또는 손이 특정 방식으로 이동되는지(예를 들어, 사용자의 허리 위 그리고 사용자의 머리 아래로 사용자의 정면의 구역을 향해 이동되는지 또는 사용자의 신체 또는 다리로부터 멀어지게 이동되는지) 여부에 기초하여, 손의 준비 상태가 결정된다. 일부 실시예들에서, 준비 상태는 사용자 인터페이스의 상호작용 요소들이 주의(예를 들어, 시선) 입력들에 응답하는지 여부를 결정하는 데 사용된다.
일부 실시예들에서, 소프트웨어는, 예를 들어 네트워크를 통해 전자적 형태로 제어기(110)에 다운로드될 수 있거나, 또는 그것은 대안적으로는 광학, 자기, 또는 전자 메모리 매체들과 같은 유형적인 비일시적 매체들 상에 제공될 수 있다. 일부 실시예들에서, 데이터베이스(408)는 마찬가지로 제어기(110)와 연관된 메모리에 저장된다. 대안적으로 또는 추가적으로, 컴퓨터의 설명된 기능들 중 일부 또는 전부는 주문형 또는 반-주문형 집적회로 또는 프로그래밍가능 디지털 신호 프로세서(DSP)와 같은 전용 하드웨어로 구현될 수 있다. 제어기(110)가 예시적으로 이미지 센서들(404)과 별개의 유닛으로서 도 4에 도시되지만, 제어기의 프로세싱 기능들의 일부 또는 전부는 적합한 마이크로프로세서 및 소프트웨어에 의해, 또는 이미지 센서들(404)(예를 들어, 손 추적 디바이스)의 하우징 내의 또는 달리 이미지 센서들(404)과 관련된 전용 회로부에 의해 수행될 수 있다. 일부 실시예들에서, 이들 프로세싱 기능들의 적어도 일부가 (예를 들어, 텔레비전 세트, 핸드헬드 디바이스, 또는 머리 장착형 디바이스 내의) 디스플레이 생성 컴포넌트(120) 또는 게임 콘솔 또는 미디어 플레이어와 같은, 임의의 다른 적합한 컴퓨터화된 디바이스와 통합된 적합한 프로세서에 의해 수행될 수 있다. 이미지 센서들(404)의 감지 기능들은 센서 출력에 의해 제어될 컴퓨터 또는 다른 컴퓨터화된 장치 내에 마찬가지로 통합될 수 있다.
도 4는 일부 실시예들에 따른, 이미지 센서들(404)에 의해 캡처된 깊이 맵(410)의 개략적인 표현을 더 포함한다. 위에서 설명된 바와 같이, 깊이 맵은 각자의 깊이 값들을 갖는 픽셀들의 행렬을 포함한다. 손(406)에 대응하는 픽셀들(412)은 이 맵에서 배경 및 손목으로부터 분할되었다. 깊이 맵(410) 내의 각각의 픽셀의 밝기는 그의 깊이 값, 즉, 이미지 센서들(404)로부터 측정된 z 거리에 역으로 대응하며, 회색 음영은 깊이가 증가함에 따라 더 어두워진다. 제어기(110)는 인간 손의 특성들을 갖는 이미지의 컴포넌트(즉, 이웃 픽셀들의 그룹)를 식별 및 분할하기 위해 이러한 깊이 값들을 프로세싱한다. 이러한 특성들은, 예를 들어, 깊이 맵들의 시퀀스의 프레임마다 전체 크기, 형상 및 모션을 포함할 수 있다.
도 4는 또한, 일부 실시예들에 따른, 제어기(110)가 궁극적으로 손(406)의 깊이 맵(410)으로부터 추출하는 손 골격(414)을 개략적으로 예시한다. 도 4에서, 손 골격(414)은 오리지널 깊이 맵으로부터 분할된 손 배경(416) 상에 중첩된다. 일부 실시예들에서, 손(예를 들어, 손가락 관절(knuckle)들, 손가락 팁들, 손바닥의 중심, 손목에 연결되는 손의 단부 등에 대응하는 포인트들) 및 선택적으로, 손에 연결된 손목 또는 팔 상의 핵심 특징 포인트들이 손 골격(414) 상에 식별 및 위치된다. 일부 실시예들에서, 다수의 이미지 프레임들에 걸친 이러한 핵심 특징 포인트들의 위치 및 이동들은, 일부 실시예들에 따라, 손에 의해 수행되는 손 제스처들 또는 손의 현재 상태를 결정하기 위해 제어기(110)에 의해 사용된다.
도 5는 눈 추적 디바이스(130)(도 1)의 예시적인 실시예를 예시한다. 일부 실시예들에서, 눈 추적 디바이스(130)는 장면(105)에 대한 또는 디스플레이 생성 컴포넌트(120)를 통해 디스플레이된 XR 콘텐츠에 대한 사용자의 시선의 위치 및 이동을 추적하기 위해 눈 추적 유닛(243)(도 2)에 의해 제어된다. 일부 실시예들에서, 눈 추적 디바이스(130)는 디스플레이 생성 컴포넌트(120)와 통합된다. 예를 들어, 일부 실시예들에서, 디스플레이 생성 컴포넌트(120)가 머리 장착형 디바이스, 예를 들어, 헤드셋, 헬멧, 고글, 또는 안경, 또는 웨어러블 프레임에 배치된 핸드헬드 디바이스일 때, 머리 장착형 디바이스는 사용자가 보기 위한 XR 콘텐츠를 생성하는 컴포넌트 및 XR 콘텐츠에 대한 사용자의 시선을 추적하기 위한 컴포넌트 둘 모두를 포함한다. 일부 실시예들에서, 눈 추적 디바이스(130)는 디스플레이 생성 컴포넌트(120)와 별개이다. 예를 들어, 디스플레이 생성 컴포넌트가 핸드헬드 디바이스 또는 XR 챔버일 때, 눈 추적 디바이스(130)는 선택적으로 핸드헬드 디바이스 또는 XR 챔버와 별개의 디바이스이다. 일부 실시예들에서, 눈 추적 디바이스(130)는 머리 장착형 디바이스 또는 머리 장착형 디바이스의 일부이다. 일부 실시예들에서, 머리 장착형 눈 추적 디바이스(130)는 선택적으로, 또한 머리 장착된 디스플레이 생성 컴포넌트 또는 머리 장착되지 않은 디스플레이 생성 컴포넌트와 함께 사용된다. 일부 실시예들에서, 눈 추적 디바이스(130)는 머리 장착형 디바이스가 아니며, 선택적으로 머리 장착형 디스플레이 생성 컴포넌트와 함께 사용된다. 일부 실시예들에서, 눈 추적 디바이스(130)는 머리 장착형 디바이스가 아니며, 선택적으로 머리 장착되지 않은 디스플레이 생성 컴포넌트의 일부이다.
일부 실시예들에서, 디스플레이 생성 컴포넌트(120)는 사용자의 눈들 전방에서 좌측 및 우측 이미지들을 포함하는 프레임들을 디스플레이하기 위한 디스플레이 메커니즘(예를 들어, 좌측 및 우측 근안 디스플레이 패널들)을 사용하여 3D 가상 뷰들을 사용자에게 제공한다. 예를 들어, 머리 장착형 디스플레이 생성 컴포넌트는 디스플레이와 사용자의 눈들 사이에 위치된 좌측 및 우측 광학 렌즈들(본 명세서에서 눈 렌즈들로 지칭됨)을 포함할 수 있다. 일부 실시예들에서, 디스플레이 생성 컴포넌트는 디스플레이를 위해 사용자의 환경의 비디오를 캡처하는 하나 이상의 외부 비디오 카메라들을 포함하거나 그에 결합될 수 있다. 일부 실시예들에서, 머리 장착형 디스플레이 생성 컴포넌트는 사용자가 물리적 환경을 직접 보고 투명 또는 반투명 디스플레이 상에 가상 객체들을 디스플레이할 수 있게 하는 투명 또는 반투명 디스플레이를 가질 수 있다. 일부 실시예들에서, 디스플레이 생성 컴포넌트는 가상 객체들을 물리적 환경에 투영한다. 가상 객체들은, 예를 들어, 물리적 표면 상에 또는 홀로그래프로서 투영되어, 개인이 시스템을 사용하여, 물리적 환경 상에 중첩된 가상 객체들을 관찰하게 할 수 있다. 그러한 경우들에서, 좌측 및 우측 눈들에 대한 별개의 디스플레이 패널들 및 이미지 프레임들이 필요하지 않을 수 있다.
도 5에 도시된 바와 같이, 일부 실시예들에서, 눈 추적 디바이스(130)(예를 들어, 시선 추적 디바이스)는 적어도 하나의 눈 추적 카메라(예를 들어, 적외선(IR) 또는 NIR(near-IR) 카메라들), 및 사용자의 눈들을 향해 광(예를 들어, IR 또는 NIR 광)을 방출하는 조명 소스들(예를 들어, LED들의 어레이 또는 링과 같은 IR 또는 NIR 광원들)을 포함한다. 눈 추적 카메라들은 눈들로부터 직접적으로 광원들로부터 반사된 IR 또는 NIR 광을 수신하기 위해 사용자의 눈들을 향해 지향될 수 있거나, 또는 대안적으로, 가시광이 통과할 수 있게 하면서 눈들로부터 눈 추적 카메라들로 IR 또는 NIR 광을 반사하는 디스플레이 패널들과 사용자의 눈들 사이에 위치된 "핫" 미러들을 향해 지향될 수 있다. 눈 추적 디바이스(130)는 선택적으로 사용자의 눈들의 이미지들을 (예를 들어, 60-120 fps(frames per second)로 캡처된 비디오 스트림으로서) 캡처하고, 이미지들을 분석하여 시선 추적 정보를 생성하고, 시선 추적 정보를 제어기(110)에 통신한다. 일부 실시예들에서, 사용자의 2개의 눈들은 각자의 눈 추적 카메라들 및 조명원들에 의해 개별적으로 추적된다. 일부 실시예들에서, 사용자의 오직 하나의 눈만이 각자의 눈 추적 카메라 및 조명원들에 의해 추적된다.
일부 실시예들에서, 눈 추적 디바이스(130)는, 특정 동작 환경(100)에 대한 눈 추적 디바이스의 파라미터들, 예를 들어 LED들, 카메라들, 핫 미러들(존재하는 경우), 눈 렌즈들 및 디스플레이 스크린의 3D 기하학적 관계 및 파라미터들을 결정하기 위해 디바이스-특정 교정 프로세스를 사용하여 교정된다. 디바이스-특정 교정 프로세스는 AR/VR 장비를 최종 사용자에게 전달하기 전에 공장 또는 다른 설비에서 수행될 수 있다. 디바이스-특정 교정 프로세스는 자동화된 교정 프로세스 또는 수동 교정 프로세스일 수 있다. 사용자-특정 교정 프로세스는 특정 사용자의 눈 파라미터들, 예를 들어 동공 위치, 중심와 위치, 광학 축, 시각 축, 눈 간격 등의 추정을 포함할 수 있다. 디바이스-특정 및 사용자-특정 파라미터들이 눈 추적 디바이스(130)에 대해 결정되면, 일부 실시예들에 따라, 눈 추적 카메라들에 의해 캡처된 이미지들은 디스플레이에 대한 사용자의 현재의 시각 축 및 시선 포인트를 결정하기 위해 글린트-보조 방법을 사용하여 프로세싱될 수 있다.
도 5에 도시된 바와 같이, 눈 추적 디바이스(130)(예를 들어, 130A 또는 130B)는 눈 렌즈(들)(520), 및 눈 추적이 수행되는 사용자의 얼굴의 측부 상에 포지셔닝된 적어도 하나의 눈 추적 카메라(540)(예를 들어, 적외선(IR) 또는 NIR(near-IR) 카메라들)를 포함하는 시선 추적 시스템, 및 사용자의 눈(들)(592)을 향해 광(예를 들어, IR 또는 NIR 광)을 방출하는 조명원(530)(예를 들어, NIR 발광 다이오드(LED)들의 어레이 또는 링과 같은 IR 또는 NIR 광원들)을 포함한다. 눈 추적 카메라들(540)은 (예를 들어, 도 5의 상단 부분에 도시된 바와 같이) 가시광이 통과하게 허용하면서 눈(들)(592)으로부터 IR 또는 NIR 광을 반사하는 디스플레이(510)(예를 들어, 머리 장착형 디스플레이의 좌측 또는 우측 디스플레이 패널, 또는 핸드헬드 디바이스의 디스플레이, 프로젝터 등)와 사용자의 눈(들)(592) 사이에 위치된 미러들(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)는 결정된 방향으로 포커싱하도록 XR 경험의 물리적 환경들을 캡처하기 위한 외부 카메라들에 지시할 수 있다. 이어서, 외부 카메라들의 자동 초점 메커니즘은 사용자가 현재 디스플레이(510) 상에서 보고 있는 환경 내의 객체 또는 표면에 포커싱할 수 있다. 다른 예시적인 사용 사례로서, 눈 렌즈들(520)은 포커싱가능한 렌즈들일 수 있고, 시선 추적 정보는, 사용자가 현재 보고 있는 가상 객체가 사용자의 눈들(592)의 수렴에 매칭하기 위해 적절한 버전스(vergence)를 갖도록 눈 렌즈들(520)의 초점을 조정하기 위해 제어기에 의해 사용된다. 제어기(110)는, 사용자가 보고 있는 가까운 객체들이 올바른 거리에 나타나게 초점을 조정하도록 눈 렌즈들(520)을 지향시키기 위해 시선 추적 정보를 레버리지할 수 있다.
일부 실시예들에서, 눈 추적 디바이스는 디스플레이(예를 들어, 디스플레이(510)), 2개의 눈 렌즈들(예를 들어, 눈 렌즈(들)(520)), 눈 추적 카메라들(예를 들어, 눈 추적 카메라(들)(540)) 및 웨어러블 하우징에 장착된 광원들(예를 들어, 광원들(530)(예를 들어, IR 또는 NIR LED들))을 포함하는 머리 장착형 디바이스의 일부이다. 광원들은 광(예를 들어, IR 또는 NIR 광)을 사용자의 눈(들)(592)을 향해 방출한다. 일부 실시예들에서, 광원들은 도 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))에 의해 구현된다. 글린트-보조 시선 추적 시스템은 추적 상태를 유지할 수 있다. 초기에, 추적 상태는 오프 또는 "아니오"이다. 추적 상태에 있을 때, 글린트-보조 시선 추적 시스템은 현재 프레임에서 동공 윤곽 및 글린트를 추적하기 위해 현재 프레임을 분석할 때 이전 프레임으로부터의 이전 정보를 사용한다. 추적 상태에 있지 않을 때, 글린트-보조 시선 추적 시스템은 현재 프레임에서 동공 및 글린트를 검출하려고 시도하고, 성공적인 경우, 추적 상태를 "예"로 초기화하고, 추적 상태에서 다음 프레임으로 계속된다.
도 6에 도시된 바와 같이, 시선 추적 카메라들은 사용자의 좌측 및 우측 눈들의 좌측 및 우측 이미지들을 캡처할 수 있다. 이어서, 캡처된 이미지들은 610에서 시작하는 프로세싱을 위해 시선 추적 파이프라인에 입력된다. 요소(600)로 돌아가는 화살표에 의해 표시된 바와 같이, 시선 추적 시스템은, 예를 들어 초당 60 내지 120 프레임의 레이트로 사용자의 눈들의 이미지들을 캡처하는 것을 계속할 수 있다. 일부 실시예들에서, 캡처된 이미지들의 각각의 세트는 프로세싱을 위해 파이프라인에 입력될 수 있다. 그러나, 일부 실시예들에서 또는 일부 조건들 하에서, 캡처된 모든 프레임들이 파이프라인에 의해 프로세싱되는 것은 아니다.
610에서, 현재 캡처된 이미지들에 대해, 추적 상태가 예이면, 방법은 요소(640)로 진행한다. 610에서, 추적 상태가 아니오이면, 620에서 표시된 바와 같이, 이미지들에서 사용자의 동공들 및 글린트들을 검출하기 위해 이미지들이 분석된다. 630에서, 동공들 및 글린트들이 성공적으로 검출되면, 방법은 요소(640)로 진행한다. 그렇지 않으면, 방법은 사용자의 눈들의 다음 이미지들을 프로세싱하기 위해 요소(610)로 복귀한다.
640에서, 요소(610)로부터 진행하는 경우, 이전 프레임들로부터의 이전 정보에 부분적으로 기초하여 동공들 및 글린트들을 추적하기 위해 현재 프레임들이 분석된다. 640에서, 요소(630)로부터 진행하면, 추적 상태는 현재 프레임들에서 검출된 동공들 및 글린트들에 기초하여 초기화된다. 요소(640)에서의 프로세싱의 결과들은 추적 또는 검출의 결과들이 신뢰할 수 있음을 검증하기 위해 체크된다. 예를 들어, 동공 및 시선 추정을 수행하기에 충분한 수의 글린트들이 현재 프레임들에서 성공적으로 추적되거나 검출되는지를 결정하기 위해 결과들이 체크될 수 있다. 650에서, 결과들이 신뢰될 수 없으면, 요소(660)에서 추적 상태는 아니오로 설정되고, 방법은 사용자의 눈들의 다음 이미지들을 프로세싱하기 위해 요소(610)로 복귀한다. 650에서, 결과들이 신뢰되면, 방법은 요소(670)로 진행한다. 670에서, 추적 상태는 (이미 예가 아니라면) 예로 설정되고, 동공 및 글린트 정보는 사용자의 시선 포인트를 추정하기 위해 요소(680)에 전달된다.
도 6은 특정 구현에서 사용될 수 있는 눈 추적 기술의 일 예로서의 역할을 하도록 의도된다. 당업자들에 의해 인식되는 바와 같이, 현재 존재하거나 미래에 개발될 다른 눈 추적 기술들은, 다양한 실시예들에 따라, 사용자들에게 XR 경험들을 제공하기 위해 컴퓨터 시스템(101)에서 본 명세서에 설명된 글린트-보조 눈 추적 기술 대신에 또는 그와 조합하여 사용될 수 있다.
본 개시내용에서, 컴퓨터 시스템과의 상호작용들과 관련하여 다양한 입력 방법들이 설명된다. 하나의 입력 디바이스 또는 입력 방법을 사용하여 일 예가 제공되고 다른 입력 디바이스 또는 입력 방법을 사용하여 다른 예가 제공되는 경우, 각각의 예는 다른 예와 관련하여 설명된 입력 디바이스 또는 입력 방법과 호환가능할 수 있고 선택적으로 이를 활용한다는 것을 이해해야 한다. 유사하게, 컴퓨터 시스템과의 상호작용들과 관련하여 다양한 출력 방법들이 설명된다. 하나의 출력 디바이스 또는 출력 방법을 사용하여 일 예가 제공되고 다른 출력 디바이스 또는 출력 방법을 사용하여 다른 예가 제공되는 경우, 각각의 예는 다른 예와 관련하여 설명된 출력 디바이스 또는 출력 방법과 호환가능할 수 있고 선택적으로 이를 활용한다는 것을 이해해야 한다. 유사하게, 컴퓨터 시스템을 통한 가상 환경 또는 혼합 현실 환경과의 상호작용들과 관련하여 다양한 방법들이 설명된다. 가상 환경과의 상호작용들을 사용하여 일 예가 제공되고 혼합 현실 환경을 사용하여 다른 예가 제공되는 경우, 각각의 예는 다른 예와 관련하여 설명된 방법들과 호환가능할 수 있고 선택적으로 이를 활용한다는 것을 이해해야 한다. 따라서, 본 개시내용은, 각각의 예시적인 실시예의 설명에서 실시예의 모든 특징들을 철저히 열거하지 않으면서 다수의 예들의 특징들의 조합들인 실시예들을 개시한다.
사용자 인터페이스들 및 연관된 프로세스들
이제, 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들 및 선택적으로 하나 이상의 카메라들과 통신하는 컴퓨터 시스템, 예를 들어 휴대용 다기능 디바이스 또는 머리 장착형 디바이스 상에서 구현될 수 있는 사용자 인터페이스("UI") 및 연관된 프로세스들의 실시예들에 대해 주목한다.
도 7a 내지 도 7z는 컴퓨터 시스템(예컨대, 컴퓨터 시스템(101))의 디스플레이 생성 컴포넌트(예컨대, 디스플레이 생성 컴포넌트(7100) 또는 디스플레이 생성 컴포넌트(120))를 통해 가시적인 3차원 환경들, 및 3차원 환경들로 지향된 사용자 입력들 및/또는 다른 컴퓨터 시스템들 및/또는 센서들로부터 수신된 입력들에 의해 야기되는, 3차원 환경들에서 발생하는 상호작용들을 예시한다. 일부 실시예들에서, 입력은 가상 객체에 의해 점유된 구역에서 검출된 사용자의 시선에 의해 또는 가상 객체의 구역에 대응하는 물리적 환경 내의 위치에서 수행되는 손 제스처에 의해 3차원 환경 내의 가상 객체로 지향된다. 일부 실시예들에서, 가상 객체가 입력 초점을 갖는 동안(예컨대, 가상 객체가 동시에 및/또는 이전에 검출된 시선 입력에 의해 선택되고, 동시에 또는 이전에 검출된 포인터 입력에 의해 선택되고, 그리고/또는 동시에 및/또는 이전에 검출된 제스처 입력에 의해 선택된 동안) 입력은 (예컨대, 선택적으로, 3차원 환경 내의 가상 객체의 구역과 독립적인 물리적 환경 내의 위치에서) 수행되는 손 제스처에 의해 3차원 환경 내의 가상 객체로 지향된다. 일부 실시예들에서, 입력은 가상 객체의 포지션에 초점 선택기 객체(예컨대, 포인터 객체 또는 선택기 객체)를 포지셔닝한 입력 디바이스에 의해 3차원 환경 내의 가상 객체로 지향된다. 일부 실시예들에서, 입력은 다른 수단(예컨대, 음성 및/또는 제어 버튼)을 통해 3차원 환경 내의 가상 객체로 지향된다. 일부 실시예들에서, 입력은 사용자의 손 이동(예컨대, 전체 손 이동, 각자의 자세에서의 전체 손 이동, 사용자의 손의 다른 부분에 대한 손의 한 부분의 이동, 및/또는 두 손들 사이의 상대 이동) 및/또는 물리적 객체에 대한 조작(예컨대, 터치, 스와이핑, 탭핑, 열기, ~를 향한 이동 및/또는 ~에 대한 이동 등)에 의한, 물리적 객체 또는 물리적 객체에 대응하는 가상 객체의 표현에 대한 것이다. 일부 실시예들에서, 컴퓨터 시스템은 센서들(예컨대, 이미지 센서들, 온도 센서들, 생체측정 센서들, 모션 센서들, 및/또는 근접 센서들)로부터의 입력들 및 콘텍스트 조건들(예컨대, 위치, 시간, 및/또는 환경에서의 다른 사람들의 존재)에 따라 3차원 환경의 일부 변화들을 디스플레이한다(예컨대, 추가적인 가상 콘텐츠를 디스플레이함, 기존의 가상 콘텐츠를 디스플레이하는 것을 중지함, 및/또는 시각적 콘텐츠가 디스플레이되고 있는 상이한 몰입 레벨들 사이에서 전이함). 일부 실시예들에서, 컴퓨터 시스템은 (예컨대, 공유 컴퓨터 생성 경험에서, 공유 가상 환경에서, 및/또는 통신 세션의 공유 가상 또는 증강 현실 환경에서) 컴퓨터 시스템의 사용자와 컴퓨터 생성 환경을 공유하고 있는 다른 사용자들에 의해 사용되는 다른 컴퓨터들로부터의 입력들에 따라 3차원 환경의 일부 변화들을 디스플레이한다(예컨대, 추가 가상 콘텐츠를 디스플레이함, 기존의 가상 콘텐츠를 디스플레이하는 것을 중지함, 및/또는 시각적 콘텐츠가 디스플레이되고 있는 상이한 몰입 레벨들 사이에서 전이함). 컴퓨터 시스템은 컴퓨터 시스템의 연관된 동작을 트리거하기 위한 인식된 제스처 입력으로서의 품질이 아닐 수 있는 사용자의 이동 및 다른 사람들 및 객체들의 이동을 검출하는 센서들로부터의 입력들에 따라, 3차원 환경의 일부 변화들을 디스플레이한다(예컨대, 사용자 인터페이스, 가상 표면, 사용자 인터페이스 객체 및/또는 가상 풍경의 이동, 변형 및/또는 시각적 특성들의 변화들을 디스플레이함).
일부 실시예들에서, 본 명세서에 설명된 디스플레이 생성 컴포넌트를 통해 디스플레이되는 또는 가시적인 3차원 환경은 물리적 환경의 표현 없이 3차원 환경 내의 상이한 가상 위치들에 가상 객체들 및 콘텐츠를 포함하는 가상 3차원 환경이다. 일부 실시예들에서, 3차원 환경은 물리적 환경의 하나 이상의 물리적 양태들(예컨대, 벽들, 바닥들, 표면들의 위치들 및 배향들, 중력의 방향, 하루 중 시간, 및/또는 물리적 객체들 사이의 공간 관계들)에 의해 제한되는 3차원 환경 내의 상이한 가상 위치들에 가상 객체들을 디스플레이하는 혼합 현실 환경이다. 일부 실시예들에서, 3차원 환경은 물리적 환경의 표현을 포함하는 증강 현실 환경이다. 일부 실시예들에서, 물리적 환경의 표현은 3차원 환경 내의 상이한 위치들에 물리적 객체들 및 표면들의 각자의 표현들을 포함하여서, 물리적 환경 내의 상이한 물리적 객체들 및 표면들 사이의 공간적 관계들이 3차원 환경 내의 물리적 객체들 및 표면들의 표현들 사이의 공간적 관계들에 의해 반영되게 한다. 일부 실시예들에서, 가상 객체들이 3차원 환경에서 물리적 객체들 및 표면들의 표현들의 위치들에 대해 배치될 때, 그들은 물리적 환경 내의 물리적 객체들 및 표면들과 대응하는 공간적 관계들을 갖는 것으로 보인다. 일부 실시예들에서, 컴퓨터 시스템은 사용자 입력들 및/또는 콘텍스트 조건들에 기초하여 상이한 유형들의 환경들을 디스플레이하는 것 사이에서 전이한다(예컨대, 컴퓨터 생성 환경 또는 경험을 상이한 몰입 레벨들로 제시하는 것 사이에서 전이함, 가상 콘텐츠로부터의 그리고 물리적 환경의 표현으로부터의 오디오/시각적 감각 입력들의 상대적 두드러짐을 조정함).
일부 실시예들에서, 디스플레이 생성 컴포넌트는 물리적 환경의 표현이 디스플레이되는 또는 가시적인 패스 스루 부분을 포함한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트의 패스 스루 부분은, 사용자를 둘러싸고 그의 시야 내에 있는 물리적 환경의 적어도 일부분을 드러내는 디스플레이 생성 컴포넌트의 투명 또는 반투명(예컨대, 시스루(see-through)) 부분이다(때때로, "광학 패스 스루"로 지칭됨). 예를 들어, 패스 스루 부분은 반투명(예컨대, 50%, 40%, 30%, 20%, 15%, 10% 또는 5% 미만의 불투명도) 또는 투명하게 만들어진 머리 장착형 디스플레이 또는 헤드업 디스플레이의 일부분이어서, 사용자가, 머리 장착형 디스플레이를 제거하거나 헤드업 디스플레이로부터 멀리 이동하지 않고서, 사용자를 둘러싸는 실제 세계를 보도록 그를 통해 볼 수 있게 한다. 일부 실시예들에서, 패스 스루 부분은 가상 또는 혼합 현실 환경을 디스플레이할 때 반투명 또는 투명으로부터 완전 불투명으로 점진적으로 전이한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트의 패스 스루 부분은 하나 이상의 카메라들(예컨대, 모바일 디바이스의 또는 머리 장착형 디스플레이와 연관된 후방 대면 카메라(들), 또는 이미지 데이터를 컴퓨터 시스템에 공급하는 다른 카메라들)에 의해 캡처된 물리적 환경의 적어도 일부분의 이미지들 또는 비디오의 라이브 피드를 디스플레이한다(때때로 "디지털 패스 스루"로 지칭됨). 일부 실시예들에서, 하나 이상의 카메라들은 사용자의 눈들 바로 앞에 있는(예컨대, 디스플레이 생성 컴포넌트의 사용자에 대한 디스플레이 생성 컴포넌트 뒤에 있는) 물리적 환경의 일부분을 향한다. 일부 실시예들에서, 하나 이상의 카메라들은 사용자의 눈들 바로 앞에 있지 않은(예컨대, 상이한 물리적 환경에 있는, 또는 사용자 옆이나 뒤에 있는) 물리적 환경의 일부분을 향한다.
일부 실시예들에서, 물리적 환경 내의 하나 이상의 물리적 객체들의 위치들에 대응하는 위치들에(예컨대, 가상 현실 환경, 혼합 현실 환경, 또는 증강 현실 환경 내의 포지션들에) 가상 객체들을 디스플레이할 때, 가상 객체들 중 적어도 일부는 카메라들의 라이브 뷰의 일부분(예컨대, 라이브 뷰 내에 캡처된 물리적 환경의 일부분) 대신에 디스플레이된다(예컨대, 그의 디스플레이를 대체함). 일부 실시예들에서, 가상 객체 및 콘텐츠의 적어도 일부는 물리적 환경 내의 물리적 표면들 또는 빈 공간 상에 투영되고, 디스플레이 생성 컴포넌트의 패스 스루 부분을 통해 보인다(예컨대, 물리적 환경의 카메라 뷰의 일부로서, 또는 디스플레이 생성 컴포넌트의 투명 또는 반투명 부분을 통해 볼 수 있음). 일부 실시예들에서, 가상 객체들 및 가상 콘텐츠 중 적어도 일부는 디스플레이의 일부분을 오버레이하도록 디스플레이되고, 디스플레이 생성 컴포넌트의 투명 또는 반투명 부분을 통해 보이는 물리적 환경의 적어도 일부분의 뷰를 차단한다.
일부 실시예들에서, 디스플레이 생성 컴포넌트는 3차원 환경에 대한 3차원 환경의 현재 디스플레이된 뷰의 시점의 가상 위치를 변경하는 사용자 입력들 또는 이동들에 따라 3차원 환경의 상이한 뷰들을 디스플레이한다. 일부 실시예들에서, 3차원 환경이 가상 환경일 때, 시점은 물리적 환경에서의 사용자의 머리, 몸통, 및/또는 디스플레이 생성 컴포넌트의 이동을 요구하지 않고서 내비게이션 또는 로코모션(locomotion) 요청들(예컨대, 인 에어(in-air) 손 제스처들, 및/또는 손의 다른 부분에 대한 손의 한 부분의 이동에 의해 수행되는 제스처들)에 따라 이동한다. 일부 실시예들에서, 물리적 환경에 대한, 사용자의 머리 및/또는 몸통의 이동, 및/또는 (예컨대, 사용자가 디스플레이 생성 컴포넌트를 유지하거나 HMD를 착용하는 것으로 인한) 디스플레이 생성 컴포넌트 또는 컴퓨터 시스템의 다른 위치 감지 요소들의 이동은, 3차원 환경에 대한 (예컨대, 대응하는 이동 방향, 이동 거리, 이동 속도, 및/또는 배향의 변화를 갖는) 시점의 대응하는 이동을 야기하여, 3차원 환경의 현재 디스플레이된 뷰의 대응하는 변화를 가져온다. 일부 실시예들에서, 가상 객체가 시점에 대해 미리 설정된 공간적 관계를 가질 때(예컨대, 시점에 대해 앵커링 또는 고정될 때), 3차원 환경에 대한 시점의 이동은 시야 내의 가상 객체의 위치가 유지되는 동안(예컨대, 가상 객체는 머리 록킹된다고 함) 3차원 환경에 대한 가상 객체의 이동을 야기할 것이다. 일부 실시예들에서, 가상 객체는 사용자에게 바디 록킹되고(body-locked), 사용자가 물리적 환경에서 전체적으로 이동할 때(예컨대, 디스플레이 생성 컴포넌트 및/또는 컴퓨터 시스템의 다른 위치 감지 컴포넌트를 휴대하거나 착용함) 3차원 환경에 대해 이동하지만, 사용자의 머리 이동(예컨대, 디스플레이 생성 컴포넌트 및/또는 컴퓨터 시스템의 다른 위치 감지 컴포넌트가 물리적 환경에서 사용자의 고정된 위치 주위로 회전하는 것)에만 응답하여 3차원 환경에서 이동하지 않을 것이다. 일부 실시예들에서, 가상 객체는 선택적으로, 사용자의 다른 부분, 이를테면 사용자의 손 또는 사용자의 손목에 록킹되고, 물리적 환경에서 사용자의 부분의 이동에 따라 3차원 환경에서 이동하여, 3차원 환경에서 가상 객체의 포지션과 사용자의 부분의 가상 포지션 사이의 미리 설정된 공간 관계를 유지한다. 일부 실시예들에서, 가상 객체는 디스플레이 생성 컴포넌트에 의해 제공되는 시야의 미리 설정된 부분에 록킹되고, 시야의 변화를 초래하지 않는 사용자의 이동에 관계없이, 시야의 이동에 따라 3차원 환경에서 이동한다.
일부 실시예들에서, 도 7a 내지 도 7z에 도시된 바와 같이, 3차원 환경의 뷰들은 때때로 사용자의 손(들), 팔(들) 및/또는 손목(들)의 표현(들)을 포함하지 않는다. 일부 실시예들에서, 사용자의 손(들), 팔(들) 및/또는 손목(들)의 표현(들)은 3차원 환경의 뷰들에 포함된다. 일부 실시예들에서, 사용자의 손(들), 팔(들) 및/또는 손목(들)의 표현(들)은 디스플레이 생성 컴포넌트를 통해 제공된 물리적 환경의 표현의 일부로서 3차원 환경의 뷰들에 포함된다. 일부 실시예들에서, 표현들은 물리적 환경의 표현의 일부가 아니며, (예컨대, 사용자의 손(들), 팔(들), 및 손목(들)을 향하는 하나 이상의 카메라들에 의해) 개별적으로 캡처되고 3차원 환경의 현재 디스플레이된 뷰와 독립적으로 3차원 환경 내에 디스플레이된다. 일부 실시예들에서, 표현(들)은 컴퓨터 시스템(들)의 하나 이상의 카메라들에 의해 캡처된 바와 같은 카메라 이미지들, 또는 다양한 센서들에 의해 캡처된 정보에 기초한 팔(들), 손목(들) 및/또는 손(들)의 양식화된 버전들을 포함한다. 일부 실시예들에서, 표현(들)은 물리적 환경의 표현의 일부분의 디스플레이를 대체하거나, 그 상에 오버레이되거나, 또는 그의 뷰를 차단한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트가 물리적 환경의 뷰를 제공하지 않고, 완전 가상 환경(예컨대, 카메라 뷰 없음 및 투명 패스 스루 부분 없음)을 제공할 때, 사용자의 한쪽 또는 양쪽 팔들, 손목들, 및/또는 손들의 실시간 시각적 표현들(예컨대, 양식화된 표현들 또는 분할된 카메라 이미지들)이 선택적으로 여전히 가상 환경 내에 디스플레이된다. 일부 실시예들에서, 사용자의 손의 표현이 3차원 환경의 뷰에서 제공되지 않는 경우, 사용자의 손에 대응하는 포지션은 선택적으로, 예컨대, 물리적 환경에서 사용자의 손의 위치에 대응하는 3차원 환경 내의 포지션들에서 가상 콘텐츠의 변화하는 외관에 의해 (예컨대, 반투명도 및/또는 시뮬레이션된 반사율을 통해) 3차원 환경에서 표시된다. 일부 실시예들에서, 사용자의 손 또는 손목의 표현은, 사용자의 손 또는 손목의 위치에 대응하는 3차원 환경 내의 가상 포지션이 디스플레이 생성 컴포넌트를 통해 제공된 현재 시야 외부에 있는 동안 3차원 환경의 현재 디스플레이된 뷰 외부에 있고; 사용자의 손 또는 손목의 표현은, 사용자의 손 또는 손목의 위치에 대응하는 가상 포지션이 디스플레이 생성 컴포넌트, 사용자의 손 또는 손목, 사용자의 머리 및/또는 사용자 전체의 이동으로 인해 현재 시야 내에서 이동하고 있는 것에 응답하여 3차원 환경의 뷰에서 가시적이 된다.
도 7a 내지 도 7g는 물리적 환경(또는 선택적으로 물리적 환경의 하나 이상의 부분들의 표현에 대응하고 그리고/또는 이를 포함하는 3차원 환경)의 뷰 위에 사용자 인터페이스 요소를 디스플레이하는 것을 예시하며, 여기서 사용자 인터페이스 요소는 일부 실시예들에 따른, 다수의 상이한 시점들에서 사용자 인터페이스 요소 뒤에 있는 물리적 환경의 콘텐츠의 그래픽 조성에 기초하는 외관을 갖는다. 도 7a 내지 도 7g의 사용자 인터페이스들은 도 8의 프로세스들을 포함하여 아래에 설명되는 프로세스들을 예시하기 위해 사용된다.
일부 실시예들에서, 사용자 인터페이스 요소는 예를 들어, 애플리케이션, 운영 체제 또는 경고의 사용자 인터페이스를 제시한다. 일부 실시예들에서, 사용자 인터페이스 요소는 3차원 공간의 위치에서 3차원 객체로서 디스플레이된다. 사용자 인터페이스 요소는 전형적으로, 기본 환경의 외관에 기초하는 배경, 및 사용자가 상호작용할 수 있는 콘텐츠(예컨대, 배경은 전형적으로 비상호작용적임), 이를테면, 스크롤링되고, 주밍되고 그리고/또는 선택될 수 있는 텍스트 또는 그래픽 및/또는 눌러지거나 활성화될 수 있는(예컨대, 눌러지거나 활성화되도록 구성될 수 이는) 아이콘들 또는 버튼들을 포함한다. 일부 예들에서 사용자 인터페이스 요소들에 대해 도 7a 내지 도 7g에 설명된 거동들은, 설명들에서 달리 언급되지 않는 한, 다양한 실시예들에 따라 다른 예들에서의 사용자 인터페이스 요소들에 적용가능하다.
도 7a 내지 도 7z는 디스플레이 생성 컴포넌트(예컨대, 디스플레이 생성 컴포넌트(7100) 또는 다른 디스플레이 생성 컴포넌트)와 통신하는 예시적인 컴퓨터 시스템(예컨대, 디바이스(101) 또는 다른 컴퓨터 시스템)을 일반적으로 도시한다. 도 7a 내지 도 7z의 예들에 도시된 바와 같이, 디스플레이 생성 컴포넌트(7100)는 사용자(7002)에 의해 보유된 터치스크린이다. 일부 실시예들에서, 컴퓨터 시스템(101)의 디스플레이 생성 컴포넌트는 사용자의 머리에 착용된 머리 장착형 디스플레이이다(예컨대, 컴퓨터 시스템(101)의 디스플레이 생성 컴포넌트(7100)를 통해 가시적인 것으로 도 7a 내지 도 7z에서 도시된 것은 머리 장착형 디스플레이를 착용할 때 사용자(7002)의 시야에 대응한다). 일부 실시예들에서, 디스플레이 생성 컴포넌트는 독립형 디스플레이, 프로젝터 또는 다른 유형의 디스플레이이다. 일부 실시예들에서, 컴퓨터 시스템은, 물리적 환경에서 사용자의 손(들)의 이동, 전체로서의 사용자의 신체의 이동 및/또는 사용자의 머리의 이동을 검출하는 카메라들 또는 다른 센서들 및 입력 디바이스들을 포함하는 하나 이상의 입력 디바이스들과 통신한다. 일부 실시예들에서, 하나 이상의 입력 디바이스들은 사용자의 손(들), 얼굴 및/또는 신체 전체의 이동 및 현재 자세들, 배향들 및 포지션들을 검출한다. 일부 실시예들에서, 사용자 입력들은 터치 감응형 표면 또는 터치스크린을 통해 검출된다. 일부 실시예들에서, 하나 이상의 입력 디바이스들은 사용자의 시선의 위치 및 이동을 검출하는 눈 추적 컴포넌트를 포함한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트, 그리고 선택적으로, 하나 이상의 입력 디바이스들 및 컴퓨터 시스템은, 물리적 환경에서 사용자의 머리를 이동 및 회전시키고, 디스플레이 생성 컴포넌트를 통해 제공된 3차원 환경에서 사용자의 시점을 변경하는 머리 장착형 디바이스(예컨대, HMD 또는 한 쌍의 고글)의 일부이다. 일부 실시예들에서, 디스플레이 생성 컴포넌트는, 사용자의 머리 또는 사용자의 신체 전체와 함께 이동 또는 회전하지 않지만, 선택적으로, 디스플레이 생성 컴포넌트에 대한 사용자의 머리 또는 신체의 이동에 따라 3차원 환경에서 사용자의 시점을 변경하는 헤드-업 디스플레이이다. 일부 실시예들에서, 디스플레이 생성 컴포넌트(예컨대, 터치스크린)는 선택적으로, 물리적 환경에 대해 또는 사용자의 머리에 대해 사용자의 손에 의해 이동 및 회전되고, 사용자의 머리 또는 얼굴에 대한 또는 물리적 환경에 대한 디스플레이 생성 컴포넌트의 이동에 따라 3차원 환경에서 사용자의 시점을 변경한다.
도 7b 내지 7g에 도시된 바와 같이, 컴퓨터 시스템은 3차원 환경(예컨대, 환경(7104), 가상 3차원 환경, 증강 현실 환경, 물리적 환경의 패스 스루 뷰, 또는 물리적 환경의 카메라 뷰)의 뷰를 디스플레이한다. 일부 실시예들에서, 3차원 환경은 물리적 환경의 표현이 없는 가상 3차원 환경이다. 일부 실시예들에서, 3차원 환경은 물리적 환경에 대응하는 센서 데이터에 의해 증강되는 가상 환경인 혼합 현실 환경이다. 일부 실시예들에서, 3차원 환경은 하나 이상의 가상 객체들 및 디스플레이 생성 컴포넌트(7100)를 둘러싸는 물리적 환경(예컨대, 벽들의 표현들(7004' 및 7006'), 바닥의 표현(7008'), 및 물리적 객체(7014)의 표현(7014'))의 적어도 일부의 표현을 포함하는 증강 현실 환경이다. 일부 실시예들에서, 물리적 환경의 표현은 물리적 환경의 카메라 뷰를 포함한다. 일부 실시예들에서, 물리적 환경의 표현은 디스플레이 생성 컴포넌트의 투명 또는 반투명 부분을 통한 물리적 환경의 뷰를 포함한다.
도 7a는 예시적인 물리적 환경(7102)에서 예시적인 장면(105)을 예시한다. 도 7a의 장면(105)에서, 사용자(7002)는 사용자의 손(7022)에 컴퓨터 시스템의 디스플레이(7100)를 들고 물리적 환경(7102)에 있다. 물리적 환경(7102)은 벽들(7004 및 7006) 및 바닥(7008)을 포함한다. 물리적 박스(7014)는 바닥(7008) 상에 포지셔닝된다. 또한, 물리적 박스(7012)는 공간에서 바닥(7008)을 향해 떨어지고 있다.
도 7b는 디스플레이(7100)를 통해 디스플레이되는 3차원 환경(7104)을 예시한다. 도 7b에 도시된 예에서, 환경(7104)은 선택적으로, 디스플레이(7100)를 포함하는 컴퓨터 시스템의 시야(또는 더 구체적으로는 컴퓨터 시스템의 하나 이상의 카메라들의 하나의 시야)에 있는 장면(105)의 부분에 기초하여 장면(105)의 하나 이상의 부분들의 뷰를 포함한다. 예를 들어, 환경(7104)은 각각 물리적 벽들(7004 및 7006)의 표현들인 디스플레이된 벽들(7004' 및 7006'), 물리적 바닥(7008)의 표현인 디스플레이된 바닥(7008') 및 물리적 박스(7014)의 표현인 박스(7014')를 포함한다. 도 7b에 도시된 예에서, 물리적 박스(7012)는 컴퓨터 시스템의 하나 이상의 카메라들의 시야에 있지 않으므로, (예를 들어, 본 명세서에서 설명된 도 7c에 도시된 바와 같이, 예컨대, 환경(7104)에 디스플레이되고 있는 물리적 박스(7012)의 표현인 박스(7012')와 대조적으로) 물리적 박스(7012)의 어떠한 표현도 환경(7104)에 디스플레이되지 않는다. 도 7b의 예에 도시된 바와 같이, 환경(7104)은 또한 선택적으로, 벽(7004) 상에 배치된 물리적 객체가 나타날 때 벽(7004') 상에 포지셔닝되어 나타나는 컴퓨터 생성 벽걸이(7106), 및 물리적 공들이 바닥(7008) 상에 나타날 때 바닥(7008') 상의 컴퓨터 생성 공들(7108 및 7110)과 같은 컴퓨터 생성 객체들(예컨대, 물리적 객체들의 표현들에 대응하지 않음)을 포함한다. 공(7110)은 공(7108)보다 사용자의 시점에 더 가깝고, 공(7110) 및 공(7108) 둘 모두는 벽걸이(7106)보다 사용자의 시점에 더 가깝다. 도 7b에서, 디스플레이되는 환경(7104)의 뷰는 시간 T=t0에 대응한다.
도 7c는 도 7b에 예시된 시간 T=t0과 상이한 그리고 이 예에서는 그보다 늦은 시간 T=t1에서의 환경(7104)의 뷰를 예시한다. 도 7c에 도시된 바와 같은 환경(7104)은 (예컨대, 컴퓨터 시스템 또는 더 구체적으로는 벽(7004)에 대해 공간에서 하향으로 및 후방으로 컴퓨터 시스템의 하나 이상의 카메라들의 이동에 응답하여) 벽(7004)으로부터 공간에서 하향으로 그리고 후방으로(예컨대, 멀어지는) 사용자의 시점의 이동을 반영한다. 따라서, 도 7c의 환경(7104) 내의 벽(7004')은 사용자의 시점에서 더 멀리 나타나며, 벽(7006') 및 바닥(7008')이 더 많이 보인다. 또한, 박스(7014')는 사용자의 시점에서 더 멀리 그리고 도 7b에서보다 도 7c에서 디스플레이(7100)의 최하부 에지로부터 더 멀리 나타난다. 또한, 가상으로 벽(7004) 상에 포지셔닝되고 따라서 도 7b에서보다 도 7c에서 사용자의 관점으로부터 더 멀리 포지셔닝된 벽걸이(7106)는 도 7b에서보다 도 7c에서의 환경(7104)에서 더 작게 디스플레이된다. 도 7c는 또한, 물리적 박스(7012)가 하강함에 따라, 물리적 박스(7012)가 컴퓨터 시스템의 시야(또는 더 구체적으로는, 컴퓨터 시스템의 하나 이상의 카메라들의 시야)에 진입하도록 박스(7012')가 환경(7104)에 디스플레이되는 것을 도시한다. 또한, 도 7c에서, 공(7108)의 시프트된 포지션에 의해 그리고 시계 방향으로 회전하는 공(7108) 상의 마킹들에 의해 표시된 바와 같이, 공(7108)은 우측을 향해 롤링된다.
도 7d는 도 7c에 예시된 시간 t1 및 도 7b에 예시된 시간 t0보다 늦은 시간 T=t2에서 환경(7104)의 뷰를 예시한다. 도 7d는 시계 방향 회전을 통한(예컨대, 컴퓨터 시스템의 시계 방향 회전을 통한) 사용자의 시점의 이동에 기초한 도 7c로부터의 전환을 표현한다. 환경(7104)의 배향이 컴퓨터 시스템이 위치된 물리적 환경(7102)(도 7a)에 앵커링된 상태로 유지되기 때문에, 도 7d에 도시된 환경(7104)은 컴퓨터 시스템의 디스플레이(7100)에 대해 기울어진(예컨대, 반시계 방향으로 회전된) 것처럼 보인다. 물리적 박스(7012)는 공간에서(예컨대, 물리적 환경(7102)에서) 계속 하강하여, 물리적 박스(7012)가 더 많이 컴퓨터 시스템의 시야에 진입하였고, 따라서 물리적 박스(7012)를 표현하는 박스(7012')가 환경(7104)에서 더 많이 디스플레이된다. 또한, 공(7108)은 공(7108)의 시프트된 포지션에 의해, 그리고 도 7c에 대해 시계 방향으로 추가로 회전한 공(7108) 상의 마킹들에 의해 표시된 바와 같이, 환경(7104)에서 우측을 향해 추가로 롤링하였다.
도 7d는 또한 컴퓨터 시스템(101)이 사용자 인터페이스 요소(7030)의 디스플레이를 트리거하는 이벤트를 검출하는 것에 응답하여 디스플레이되는 환경(7104)의 뷰를 예시한다. 일부 실시예들에서, 사용자 인터페이스 요소(7030)는 환경(7104) 내에 디스플레이되는 사용자 인터페이스, 이를테면, 애플리케이션 사용자 인터페이스 또는 시스템 사용자 인터페이스이다. 도 7d의 예에서, 사용자 인터페이스 요소(7030)는 (사용자 인터페이스 요소(7030)가 아래에서 더 상세히 설명되는 도 7e에서 환경(7104)에 대해 직립된 것과 대조적으로) 도 7d에서 환경(7104)에 대해 기울어진 사용자 인터페이스 요소(7030)에 의해 예시된 바와 같이, 환경(7104)보다 사용자의 시점에 대해 앵커링된다. 사용자 인터페이스 요소(7030)는, 애플리케이션을 개시하기 위한 사용자 입력에 응답하여 디스플레이되는, 컴퓨터 시스템 상에서 실행되는 애플리케이션의 사용자 인터페이스일 수 있다. 사용자 인터페이스 요소(7030)는 컴퓨터 시스템에서 발생하는 이벤트(예컨대, 스케줄링된 시간에 도달되는 것과 같이 리마인더를 디스플레이하기 위한 에러 조건 또는 조건들이 충족됨)에 응답하여 디스플레이되는 경고 또는 통지일 수 있다. 도 7d는 환경(7104)의 일부 위에, 그리고 구체적으로는 박스(7012')의 일부, 벽걸이(7106)의 일부, 공(7108)의 일부 및 벽(7004')의 일부 위에 디스플레이된 사용자 인터페이스 요소(7030)를 도시한다.
사용자 인터페이스 요소(7030)의 적어도 일부의 외관은 시간 t2 이전의 하나 이상의 시간들에서 그리고/또는 시간 t2에서 환경(7104)의 기본 부분들의 외관에 기초한다. 환경(7104)의 기본 부분들에 기초하여 사용자 인터페이스 요소(7030)의 외관을 생성하는 것은 도 7g를 참조하여 본 명세서에서 더 상세히 설명된다.
도 7e는 도 7d에 예시된 시간 t2, 도 7c에 예시된 시간 t1 및 도 7b에 예시된 시간 t0과 상이한(예컨대, 그보다 늦은) 시간 T=t3에서의 환경(7104)의 뷰를 도시한다. 도 7e는 도 7d로부터의 전환을 표현한다. 도 7e에 도시된 환경(7104)은, 환경(7104)이 도 7e에서 디스플레이(7100)에 대해 수평으로 나타나도록 반시계 방향 회전(예컨대, 컴퓨터 시스템을 교정하고, 도 7c에서 도 7d로의 전환에서 도시된 사용자의 시점의 시계 방향 회전을 반전시킴)을 통한 사용자의 시점의 이동을 반영한다. 또한, 물리적 박스(7012)는 컴퓨터 시스템의 시야에 대해 공간에서 더 멀리 떨어져서, 모든 대응하는 박스(7012')가 사용자 인터페이스 요소(7030) 뒤에 있고 그에 의해 가려진다. 또한, 공(7108)은 공(7108)의 시프트된 포지션에 의해, 그리고 도 7d에 도시된 환경(7104)에 대해 시계 방향으로 추가로 회전한 공(7108) 상의 마킹들에 의해 표시된 바와 같이, 환경(7104)에서 우측을 향해 추가로 롤링한 것으로 도시된다.
도 7e의 사용자 인터페이스 요소(7030)는 환경(7104)보다는 사용자의 시점(예컨대, 컴퓨터 시스템의 시점)에 앵커링된 상태로 유지된다. 따라서, 사용자의 시점이 도 7e에 도시된 환경(7104)에 대해 실질적으로 수평이 되도록 반시계 방향으로 회전되는 것에 응답하여, 사용자 인터페이스 요소(7030)는 또한 환경(7104)에 대해 실질적으로 직립하도록 반시계 방향으로 회전된다(예컨대, 컴퓨터 시스템에 대한 사용자 인터페이스 요소(7030)의 배향이 유지된다). 사용자 인터페이스 요소(7030)와 같은 사용자 인터페이스 요소들은 대안적으로, 사용자 인터페이스 요소(예컨대, 사용자 인터페이스 요소(7030))가 환경(7104)에 대한 사용자의 시점에서의 변화들에도 불구하고 환경(7104)에 대해 이동되지 않도록 환경(7104)에 대해 앵커링될 수 있다. 도 7e에서 환경(7104) 위에 디스플레이된 사용자 인터페이스 요소(7030)의 외관은 사용자 인터페이스 요소(7030)의 외관과 상이하다. 구체적으로, 도 7e의 사용자 인터페이스 요소(7030)의 외관은 도 7d의 사용자 인터페이스 요소(7030)의 외관에 사용된 시간들과 상이한 시간들에서의 환경(7104)의 기본 부분들의 외관에 기초한다. 예를 들어, 도 7e의 사용자 인터페이스 요소(7030)의 외관은 도 7g를 참조하여 본 명세서에서 더 상세히 설명되는 바와 같이, 시간 t3 이전의 하나 이상의 시간들에서 및/또는 시간 t3에서 환경(7104)의 기본 부분들의 외관에 기초한다.
도 7f는 환경(7104)의 하향식 뷰(7034)에 도시된 바와 같이, 환경(7104)에 대한 사용자 인터페이스 요소(7030)의 상이한 시뮬레이션된 포지션들을 예시한다. 하향식 뷰(7034)는 환경(7104)에서의 사용자의 시점(7032)의 위치, 공(7110) 및 공(7108)의 포지션들, 및 3차원 환경에서 사용자 인터페이스 요소(7030)의 몇몇 상이한 포지션들(7030-1 내지 7030-4)을 도시한다. 도 7f에 도시된 상이한 시뮬레이션된 포지션들은 도 7d 및 도 7e에 도시된 사용자 인터페이스 요소(7030)의 환경(7104) 내의 가능한 시뮬레이션된 포지션들이다. 예를 들어, 도 7d 및/또는 도 7e의 사용자 인터페이스 요소(7030)는 사용자의 시점(7032)으로부터, 공(7110) 및 박스(7012')와 같은 환경(7104)에 도시된 다른 객체들의 전방에 있는 도 7f의 포지션(7030-1)에 대응하는 환경(7104) 내의 시뮬레이션된 포지션에 있을 수 있다.
다른 예에서, 도 7d 및/또는 도 7e의 사용자 인터페이스 요소(7030)는 도 7f의 포지션(7030-2)에 대응하는 환경(7104)의 시뮬레이션된 포지션에 있을 수 있으며, 여기서 포지션(7030-2)은 포지션(7030-1)보다 시점(7032)으로부터 더 멀리 있고(예컨대, 포지션(7030-2)과 시점(7032) 사이의 거리는 포지션(7030-1)과 시점(7032) 사이의 거리보다 큼), 박스(7012')보다 시점(7032)으로부터 더 멀리 있고(예컨대, 물리적 환경(7102)에서 박스(7012)의 물리적 포지션에 대응하는 환경(7104) 내의 박스(7012')의 시뮬레이션된 포지션), 공(7110)보다 시점(7032)으로부터 더 멀리 있고, 공(7108)(예컨대, 공의 시뮬레이션된 포지션)(및 예컨대 벽걸이(7106) 및 벽(7004')과 같은 공(7108) 뒤의 다른 객체들)보다 시점(7032)에 더 가까이 있다.
다른 예에서, 도 7d 및/또는 도 7e의 사용자 인터페이스 요소(7030)는 도 7f의 포지션(7030-3)에 대응하는 환경(7104)의 시뮬레이션된 포지션에 있을 수 있으며, 여기서 포지션(7030-3)은 포지션(7030-1 및 7030-2)보다 시점(7032)으로부터 더 멀리 있고(예컨대, 포지션(7030-3)과 시점(7032) 사이의 거리는 포지션(7030-2)과 시점(7032) 사이의 거리보다 큼), 공(7108)(예컨대, 공의 시뮬레이션된 포지션)보다 시점(7032)으로부터 더 멀리 있고, 벽걸이(7106) 및 벽(7004')보다 시점(7032)에 더 가까이 있다.
또 다른 예에서, 도 7d 및/또는 도 7e의 사용자 인터페이스 요소(7030)는 도 7f의 포지션(7030-4)에 대응하는 환경(7104)의 시뮬레이션된 포지션에 있을 수 있으며, 여기서 포지션(7030-4)은 포지션(7030-1 내지 7030-3)보다 시점(7032)으로부터 더 멀리 있고(예컨대, 포지션(7030-4)과 시점(7032) 사이의 거리는 포지션(7030-3)과 시점(7032) 사이의 거리보다 큼), 심지어 벽(7004')보다 시점(7032)으로부터 더 멀리 있다.
도 7g를 참조하여 본 명세서에서 더 상세히 설명되는 바와 같이, 일부 실시예들에서, 사용자 인터페이스 요소(7030)의 외관은, 중첩되는 부분들이 사용자 인터페이스 요소(7030)의 시뮬레이션된 포지션 뒤에 있는지 또는 사용자 인터페이스 요소(7030)의 시뮬레이션된 포지션의 전방에 있는지와 무관하게 사용자 인터페이스 요소(7030)와 중첩하는 환경(7104)의 부분들에 기초한다. 일부 경우들에서, 사용자 인터페이스 요소(7030)의 외관은 사용자 인터페이스 요소(7030) 뒤에 있는 환경(7104)의 부분들에 기초한다. 일부 경우들에서, 사용자 인터페이스 요소(7030)의 외관은 사용자 인터페이스 요소(7030)의 시뮬레이션된 포지션 전방에 있는 환경(7104)의 부분들에 기초한다(예컨대, 사용자 인터페이스 요소(7030)가 오버레이되어 디스플레이되고 이로써 환경(7104)의 중첩 부분을 가린다).
도 7g는 사용자 인터페이스 요소가 오버레이되는 3차원 환경(예컨대, 환경(7104))의 중첩 부분들의 외관의 그래픽 조성에 기초하여 사용자 인터페이스 요소(예컨대, 사용자 인터페이스 요소(7030))의 외관을 생성하는 방식을 예시한다. 도 7g의 시나리오(7036)에서, 사용자 인터페이스 요소(7030-d)는 도 7d의 사용자 인터페이스 요소(7030)와 동일한 외관을 갖는다. 시나리오(7036)는, 시간 t2에서 사용자 인터페이스 요소(7030-d)의 외관(예컨대, 시간 t2에서 환경(7104)의 뷰를 도시하는 도 7d에 도시된 바와 같은 사용자 인터페이스 요소(7030)의 외관)이 다수의 프레임들의 t2에서 생성된 합성물에 기초한다는 것을 예시하고, 상이한 프레임들은 상이한 시간들에서 환경(7104)의 뷰의 일부에 대응한다. 일부 실시예들에서, 도 7g를 참조하여 본 명세서에서 설명된 바와 같이, 개개의 사용자 인터페이스 요소의 외관을 합성물에 기초할 때, 도 7x 내지 도 7z를 참조하여 본 명세서에 더 상세히 설명된 바와 같이, 사용자 인터페이스 요소의 결과적 외관을 생성하기 위해 합성물의 하나 이상의 구역들에 하나 이상의 시각적 변환들이 적용된다. 시나리오(7036)의 합성물은, 조밀한 점선으로 표시된, 도 7d의 사용자 인터페이스 요소(7030)가 디스플레이되는 환경(7104)의 부분에 대응하는 시간 t0(도 7b)에서 환경(7104)의 제1 뷰의 부분; 파선 및 점선으로 표시된, 도 7d의 사용자 인터페이스 요소(7030)가 디스플레이되는 환경(7104)의 부분에 대응하는 시간 t1(도 7c)에서 환경(7104)의 제2 뷰의 부분; 및 파선으로 표시된, 도 7d의 사용자 인터페이스 요소(7030)가 디스플레이되는 시간 t2에서 환경(7104)의 제3 뷰의 부분의 외관에 기초한다. 시나리오(7036)의 예에서, 실선으로 표시된 합성물의 중앙 부분은 사용자 인터페이스 요소(7030-d)의 외관을 정의한다.
일부 실시예들에서, 도 7d에 도시된 바와 같이, 사용자 인터페이스 요소(7030)는 배경 부분(7030-a), 제1 콘텐츠 부분(7030-b) 및 제2 콘텐츠 부분(7030-c)을 포함한다. 콘텐츠 부분들(7030-a 및 7030-b)은 선택적으로 텍스트 또는 그래픽들과 같은 시각적 콘텐츠 또는 버튼들 또는 제어부들과 같은 선택가능한 및/또는 활성화가능한 객체들을 포함한다. 일부 실시예들에서, 사용자 인터페이스 요소의 배경 부분(예컨대, 사용자 인터페이스 요소(7030)의 배경 부분(7030-a))의 외관은 상이한 이전 시간들에서의 기본 3차원 환경의 외관의 합성물에 기초한다. 일부 실시예들에서, 사용자 인터페이스 요소의 콘텐츠 부분(들)(예컨대, 콘텐츠 부분들(7030-b 및/또는 7030-c))의 외관은 콘텐츠 부분(들)에 디스플레이된 콘텐츠에 기초하며, 선택적으로 (예컨대, 도 7g에 표시된 바와 같이, 콘텐츠 부분(들)은, 합성물에 기초한 외관을 갖는 배경 부분의 적어도 일부가 가시적이도록 투명하거나 부분적으로 투명할 수 있지만) 합성물에 기초하지 않는다.
일부 상황들에서, 합성물은 사용자 인터페이스 요소가 디스플레이되지 않은 시간에 3차원 환경의 뷰의 일부의 외관에 기초한다. 예를 들어, 도 7d의 사용자 인터페이스 요소(7030)의 외관은, (예컨대, 사용자 인터페이스 요소(7030)가 시간 t1 이후 및 시간 t2 이전에 컴퓨터 시스템에서 발생한 이벤트에 응답하여 디스플레이되기 때문에) 사용자 인터페이스 요소(7030)가 시간 t0 및 시간 t1에 디스플레이되지 않더라도 도 7b 및 도 7c의 환경(7104)의 대응하는 부분들의 외관에 기초한다. 일부 실시예들에서, 합성물에 통합된 환경(7104)의 뷰의 부분은 사용자 인터페이스 요소(7030)에 의해 점유된 디스플레이(7100)의 구역에 대응한다. 예를 들어, 도 7d는 디스플레이(7100)의 개개의 구역을 점유하는 사용자 인터페이스 요소(7030)를 도시한다. 사용자 인터페이스 요소(7030)가 도 7c에 디스플레이되지 않지만, 일부 실시예들에서, 합성물에 통합되는 것은 도 7c의 디스플레이(7100)의 대응하는 구역을 점유하는 환경(7104)의 뷰의 부분이다. 일부 실시예들에서, 합성물에 통합된 환경(7104)의 뷰의 부분은 사용자 인터페이스 요소(7030)에 의해 점유된(또는 나중에 점유된) 디스플레이(7100)의 대응하는 구역에 디스플레이된 부분의 전부 또는 실질적으로 전부(예컨대, 90% 이상)를 포함한다. 일부 실시예들에서, 합성물에 통합된 환경(7104)의 뷰의 부분은 사용자 인터페이스 요소(7030)에 의해 점유된(또는 나중에 점유된) 디스플레이(7100)의 대응하는 구역을 넘어 연장된다(예컨대, 프레임들(t0, t1, 및 t2)은 사용자 인터페이스 요소(7030-d)를 선택적으로 묘사하는 합성물의 중앙 부분의 실선 윤곽을 넘어 연장된다).
시나리오(7036)의 예에서, 시간 t0으로부터의 프레임에 포함되고 합성물에 통합되는 도 7b로부터의 환경(7104)의 뷰의 부분은, 프레임의 좌측 부분에서 벽걸이(7106)의 좌측의 부분 및 프레임의 최하부 부분에서 공(7108)의 최상부 부분을 포함한다. 프레임(t0)은, 시간 t0에 환경(7104)의 뷰에 디스플레이되지 않았던 박스(7012')의 어떠한 부분도 포함하지 않는다(예컨대, 물리적 박스(7012)가 환경(7104)의 디스플레이된 부분에 대응하는 하나 이상의 카메라들의 시야에 아직 진입하지 않았기 때문이다).
시간 t1로부터의 프레임에 포함되고 시나리오(7036)에서 합성물에 통합되는 도 7c로부터의 환경(7104)의 뷰의 부분은 사용자의 시점의 변화 및 환경(7104)의 변화들에 따라 프레임(t0)의 뷰와 상이하다. 구체적으로, 프레임(t1)은 프레임의 좌측 부분에서, 프레임(t0)에 있는 벽걸이(7106)의 일부보다 더 높은 포지션 및 더 작은 스케일로 벽걸이(7106)의 좌측의 부분을 포함한다(예컨대, 도 7c의 사용자의 사용자의 시선이 도 7b의 사용자의 시점보다 하향으로 그리고 벽(7004') 및 벽걸이(7106)로부터 더 멀리 이동했기 때문이다). 프레임(t1)은 또한, 프레임(t0)에 포함된 것보다 공(7108)의 최상부의 더 큰 부분인 공(7108)의 최상부의 부분을 프레임의 최하부 부분에 포함한다. 구체적으로, 프레임(t1)의 환경(7104)의 도 7c 뷰의 부분은 도 7c의 사용자의 시점이 도 7b의 사용자의 시점보다 하향으로 그리고 벽(7004')으로부터 더 멀리 이동했기 때문에 공(7108)을 더 많이 포함한다. 공(7108)은 또한, 공(7108)이 도 7b에 비해 도 7c에서 우측을 향해 더 멀리 롤링되었기 때문에, 프레임(t0)에서보다 프레임(t1)에서 우측으로 더 멀리 있다. 프레임(t1)은 또한 (예컨대, 물리적 박스(7012)가 공간에 하강하고 프레임(t1)에서 환경(7104)의 뷰의 부분에 대응하는 컴퓨터 시스템의 시야에 진입하는 것에 따라) 프레임의 최상부 부분에서, 도 7c의 환경(7104)의 뷰에 디스플레이되는 박스(7012')의 최하부의 부분을 포함한다.
시간 t2로부터의 프레임에 포함되고 시나리오(7036)에서 합성물에 통합되는 도 7d로부터의 환경(7104)의 뷰의 부분은 환경(7104)의 변화들을 반영하고, 사용자의 시점의 도 7d에 도시된 시점으로의 시계 방향 회전에 따라, 프레임들(t0 및 t1)에서 환경(7104)의 뷰의 부분들에 대해 기울어진다. 구체적으로, 프레임(t2)은, 프레임의 좌측 부분에서, 프레임(t1)보다 벽걸이(7106)의 좌측을 더 많이 포함하고, 벽걸이(7106)의 포함된 부분은 반시계 방향으로 기울어진다. 프레임(t2)은 또한, 공(7108)이 우측을 향해 훨씬 더 멀리 롤링된 것에 기인하여, 프레임의 최하부 부분에서, 공(7108)의 최상부를 더 적게 포함하고, 공(7108)의 포함된 부분은 또한 (예컨대, 공(7108)이 원형인 것을 고려하면, 식별가능한 정도까지) 반시계 방향으로 기울어진다. 또한, 프레임(t2)은 프레임의 최상부 부분에서 (예컨대, 박스(7012)가 환경(7104)의 디스플레이된 뷰에 대응하는 컴퓨터 시스템의 시야에 더 많이 있고, 그에 따라 박스(7012')가 도 7d의 사용자 인터페이스 요소(7030)가 디스플레이된 환경(7104)의 부분에 더 많이 있도록 물리적 박스(7012)가 공간에서 하강하는 것에 따라) 박스(7012')를 더 많이 포함하고, 박스(7012')의 포함된 부분은 또한 프레임(t2)에 대해 반시계 방향으로 기울어진다.
일부 실시예들에서, 도 7g에 도시된 바와 같이, 합성물에 사용된 프레임들은 각각의 프레임과 연관된 시간에서 사용자의 시점에 기초하여 서로 오프셋될 수 있다. 예를 들어, 프레임(t0)은, (프레임(t0)에 대한) 도 7b의 사용자의 시점이 (프레임(t1)에 대한) 도 7c의 사용자의 시점과 상이하고, 사용자의 시점이 도 7b 및 도 7c로부터의 벽(7004')으로부터 하향으로 그리고 더 멀리 이동한 것에 따라, 합성물을 형성할 시에 우측에 포지셔닝되고/되거나 스케일 업(예컨대, 확대)되고, 프레임(t1)보다 아래에 포지셔닝된다. 달리 말하면, 프레임(t0)에 대한 프레임(t1)의 오프셋 및/또는 스케일링은 프레임(t1)의 콘텐츠들이 프레임(t0)의 콘텐츠에 대해 더 높게 시프트되고 줌 아웃되게 하는 사용자의 시점의 변화와 일치한다. 유사하게, 프레임(t2)의 콘텐츠는, 도 7b 및 도 7c에 대해 도 7d에서 시계 방향으로 회전되는 사용자의 시점에 따라, 프레임들(t0 및 t1)의 콘텐츠에 대해 반시계 방향으로 기울어진다.
일부 실시예들에서, 사용자 인터페이스 요소(7030)의 외관은, 도 7f를 참조하여 위에서 논의된 바와 같이, 사용자 인터페이스 요소(7030)의 시뮬레이션된 포지션이 환경(7104)의 그 부분들보다 사용자의 시점으로부터 더 멀리 있더라도 환경(7104)의 부분들의 외관의 합성물에 기초한다. 예를 들어, 도 7d의 사용자 인터페이스 요소(7030)의 시뮬레이션된 포지션은 도 7f에 도시된 바와 같은 포지션(7030-4)일 수 있다. 이 예에서, 사용자 인터페이스 요소(7030-d)의 외관은 프레임들(t0, t1, 및 t2)의 외관에 기초하고, 이는, 도 7d의 사용자 인터페이스 요소(7030)가 그러한 더 가까운 객체들의 부분들의 뷰들 상에 오버레이되거나 이를 대체하더라도, 포지션(7030-4)보다 환경(7104)의 사용자의 시점(7032)에 더 가까이 있는 객체들(예컨대, 벽걸이(7106), 공(7108) 및 프레임들(t1 및 t2)에서, 박스(7012'))의 부분들의 뷰들을 포함한다. 다른 예에서, 도 7d의 사용자 인터페이스 요소(7030)의 시뮬레이션된 포지션은 도 7f에 도시된 바와 같은 포지션(7030-3)이고, 사용자 인터페이스 요소(7030-d)의 외관은, 포지션(7030-3)이 공(7108) 및 박스(7012')보다 사용자의 시점(7032)으로부터 더 멀리 있더라도, 벽걸이(7106), 공(7108) 및 박스(7012')의 부분들을 포함하는 환경(7104)의 부분들의 외관들에 기초한다. 또 다른 예에서, 도 7d의 사용자 인터페이스 요소(7030)의 시뮬레이션된 포지션은 포지션(7030-2)이고, 사용자 인터페이스 요소(7030-d)의 외관은 마찬가지로, 박스(7012')가 포지션(7030-2)보다 시점(7032)에 더 가깝더라도 박스(7012')의 외관에 적어도 부분적으로 기초한다. 마지막으로, 도 7f와 관련하여, 사용자 인터페이스 요소(7030)는 포지션(7030-1)인 시뮬레이션된 포지션을 가질 수 있으며, 이는 박스(7012'), 공(7108) 및 벽걸이(7106) 중 임의의 것보다 사용자의 시점(7032)에 더 가깝다.
일부 실시예들에서, 합성물을 생성하는 것은 상이한 프레임들에 상이한 가중치들을 할당하는 것을 포함한다. 선택적으로, 합성물을 생성할 때 더 큰 가중치가 주어지는 프레임은 더 적은 가중치가 주어진 프레임보다 사용자 인터페이스 요소(7030)의 외관에 더 큰 영향을 미친다. 시나리오(7036)에서, 사용자 인터페이스 요소(7030-d)의 외관은 프레임(t0)에 대한 (예컨대, 제1 정도 또는 범위까지의) 제1 양, 프레임(t1)에 대한 상이한 (예컨대, 제2 정도 또는 범위까지의) 제2 양, 및 프레임(t2)에 대한 상이한 (예컨대, 제3 정도 또는 범위까지의) 제3 양에 기초할 수 있다. 예를 들어, 프레임(t2)이 프레임(t1)보다 더 무겁게 가중되고, 차례로 프레임(t1)이 프레임(t0)보다 더 무겁게 가중되면, 사용자 인터페이스 요소(7030-d)의 최상부 부분(예컨대, 합성물의 실선에 의해 묘사됨)은 프레임(t1)(여기서 예컨대, 박스(7012')는 실선 윤곽 외부에 있음)의 대응하는 부분보다 더 그리고 프레임(t0)(여기서 예컨대, 박스(7012')는 디스플레이되지 않음)의 대응하는 부분보다 훨씬 더 프레임(t2)(여기서 예컨대, 박스(7012')는 실선 윤곽에 걸쳐 있음)의 박스(7012')의 최하부 부분의 외관에 기초한다. 달리 말하면, 시나리오(7036)에 도시된 바와 같이 사용자 인터페이스 요소(7030-d)의 외관에 대한 박스(7012')의 기여는 프레임(t2)가 덜 무겁게 가중된 경우보다 더 두드러진다. 동일한 예를 계속하면, 사용자 인터페이스 요소(7030-d)의 하부 우측 부분은 프레임(t1) 및 프레임(t0)의 대응하는 부분들의 외관보다 프레임(t2)에서 공(7108)의 최상부 부분의 외관에 더 기초한다. 달리 말하면, 시나리오(7036)에 도시된 바와 같이 사용자 인터페이스 요소(7030-d)의 외관에 대한 공(7108)의 기여는 프레임(t1)이 더 무겁게 가중되었다면 더 두드러질 것인데, 이는, 프레임(t1)에서 공(7108)이 프레임들(t0 및 t2)에서보다 실선 윤곽으로 더 멀리 연장되기 때문이다.
일부 실시예들에서, 합성물에서 프레임들의 가중은 프레임들이 합성물이 생성된 시간에 더 가까운 시간들로부터의 것인지 또는 더 먼 시간 시간들로부터의 것인지에 기초한다. 예를 들어, 합성물이 생성되는 시간에 더 가까운 시간들로부터의 프레임들(예컨대, 나중의, 더 최근의 프레임들)의 기여는 일부 실시예들에서, 합성물이 생성된 시간으로부터 더 먼 시간들로부터의 프레임들(예컨대, 더 앞선, 덜 최근의 프레임들)의 기여보다 더 크다. 시나리오(7036)의 예를 사용하면, 시간 t0이 시간 t2에 대한 것보다 시간 t1이 시간 t2에 더 가까운 것에 따라, 시간 t2에서 생성된 합성물은 선택적으로, 프레임(t0)으로부터 박스(7012')의 부재의 기여보다 프레임(t1)으로부터 박스(7012')의 더 큰 기여와 같이 프레임(t0)으로부터의 것보다 프레임(t1)으로부터의 더 큰 기여를 포함한다.
일부 실시예들에서, 합성물을 생성하는 데 하나 이상의 변환들 또는 변경들이 적용된다(예컨대, 합성물을 생성하는 데 프레임들이 사용되기 전에 프레임들에 먼저 적용되거나, 또는 최종 합성물을 생성하기 위해 변경되지 않은 프레임들의 중간 합성물에 적용됨). 일부 경우들에서, 변환들/변경들은 프레임들 및/또는 결과적인 합성물의 외관을 매끄럽게 하는 역할을 하며, 이는 사용자 인터페이스 요소 상에 오버레이되어 디스플레이되는 콘텐츠의 가독성을 개선한다. 예를 들어, 합성물 및/또는 합성물을 생성하는 데 사용되는 프레임들은 블러링될 수 있다. 다른 예에서, 프레임들 및/또는 결과적인 합성물 내의 이미지 또는 그래픽 정보의 해상도는 (예컨대, 다운샘플링에 의해) 감소될 수 있다. 다른 예에서, 합성물 및/또는 합성물을 생성하는 데 사용되는 프레임들에 잡음 패턴이 적용될 수 있다. 따라서, 도 7g의 시나리오(7036)는 시간 t2에서 합성물을 생성할 때 프레임들(t0, t1, 및/또는 t2)에 잡음 패턴을 적용하고 그리고/또는 블러링함으로써 달성되는 블러링된 외관을 갖는 사용자 인터페이스 요소(7030-d)를 도시한다. 일부 실시예들에서, 합성물 및/또는 결과적인 합성물을 생성하기 위해 프레임들이 부분적으로 반투명하게 되고, 이는 기본 환경(7104)이 사용자 인터페이스 요소(7030) 아래에서 적어도 부분적으로 가시적이 되게 할 것이다.
도 7g로 돌아가면, 시나리오(7038)는 도 7e의 사용자 인터페이스 요소(7030)와 동일한 외관을 갖는 사용자 인터페이스 요소(7030-e)의 외관을 생성하는 방식을 예시한다. 시나리오(7038)는, 시간 t3에서 사용자 인터페이스 요소(7030)의 외관(예컨대, 시간 t3에서 환경(7104)의 뷰를 도시하는 도 7e에 도시된 바와 같은 사용자 인터페이스 요소(7030)의 외관)이 다수의 프레임들의 t3에서 생성된 합성물에 기초한다는 것을 예시하고, 상이한 프레임들은 상이한 시간들에서 환경(7104)의 뷰의 일부에 대응한다. 시간 t3(도 7e)에서의 사용자 인터페이스 요소(7030)의 외관은 시간 t2(도 7d)에서의 사용자 인터페이스 요소(7030)의 외관에 대한 기초로서의 역할을 하는 합성물을 생성하기 위해 사용된 프레임들과 상이한 프레임들에 선택적으로 기초한다. 구체적으로, 시나리오(7038)의 합성물은, 파선 및 점선으로 표시된, 도 7e의 사용자 인터페이스 요소(7030)가 디스플레이되는 환경(7104)의 부분에 대응하는 시간 t1(도 7c)에서 환경(7104)의 제1 뷰의 부분; 파선으로 표시된, 사용자 인터페이스 요소(7030)가 디스플레이되는 시간 t2(도 7d)에서 환경(7104)의 제2 뷰의 부분(또는 대안적으로, 도 7e에 도시된 바와 같이 시간 t3에 사용자 인터페이스 요소(7030)가 나중에 디스플레이되는 환경(7104)의 부분에 대응하는 시간 t2에서의 환경(7104)의 뷰의 부분); 드문 점선으로 표시된, 도 7e의 사용자 인터페이스 요소(7030)가 디스플레이되는 시간 t3에서의 환경(7104)의 제3 뷰의 부분의 외관에 기초한다. 시나리오(7038)의 예에서, 실선으로 표시된 합성물의 중앙 부분은 사용자 인터페이스 요소(7030-e)의 외관을 정의한다. 도 7g에 도시된 예에서, 시나리오(7038)의 합성물은 시나리오(7038)의 합성물이 프레임(t3)을 포함하고 프레임(t0)을 포함하지 않는다는 점에서 시나리오(7036)의 합성물과 상이하다. 당업자는, 현재 및/또는 이전 프레임들의 상이한 조합들이, 다른 시점들에서의 사용자 인터페이스 요소의 외관을 결정하는 합성물들에 사용된 프레임들에 비해, 주어진 시점에 사용자 인터페이스 요소의 외관을 정의하는 합성물에 포함될 수 있음(또는 그로부터 배제될 수 있음)을 인식할 것이다.
시나리오(7036)를 참조하여 위에서 논의된 바와 같이, 합성물은 일부 상황들에서, 사용자 인터페이스 요소(7030)가 디스플레이되지 않은 시간에 환경(7104)의 뷰의 일부의 외관에 기초할 수 있다. 시나리오(7038)는 합성물이 사용자 인터페이스 요소(7030)의 디스플레이 이전에 도 7c에 예시된 시간 t1에서 환경(7104)의 뷰의 일부의 외관에 기초한다는 것을 예시한다. 그러한 상황들에서, 합성물에 통합된 환경(7104)의 뷰의 부분은 t2 또는 t3과 같은 나중의 시간에 사용자 인터페이스 요소(7030)에 의해 점유된 디스플레이(7100)의 구역에 대응한다. 또한, 일부 실시예들에서, 합성물에 통합된 특정 프레임에 포함된 환경(7104)의 뷰의 부분은 사용자 인터페이스 요소(7030)의 경계들을 넘어 연장된다(예컨대, 프레임들(t1, t2, 및 t3)은 사용자 인터페이스 요소(7030-e)를 선택적으로 묘사하는 합성물의 중앙 부분의 실선 윤곽을 넘어 연장된다).
시나리오(7038)에서 합성물에 사용되고 도 7c 및 도 7d를 각각 참조하여 설명된 바와 같이 환경(7104)의 뷰들로부터 취해진 프레임들(t1 및 t2)은 시나리오(7036)를 참조하여 위에서 설명된 합성물에서 사용된 것들과 동일하다. (예컨대, 프레임(t0) 대신에) 시간 t3으로부터의 프레임에 포함되고 시나리오(7038)에서 합성물에 통합되는 도 7e로부터의 환경(7104)의 뷰의 부분은, 시간 t3이 환경(7104)의 수평한 뷰를 포함하도록 도 7d로부터 7e로의 전환에서 사용자의 시점의 반시계 방향 회전에 따라, 프레임(t2)의 것에 비해 시계 방향으로 회전된다. 구체적으로, 프레임(t3)은, 프레임의 좌측 부분에, 벽걸이(7106)의 좌측의 일부를 그리고 프레임의 최하부 부분에, 공(7108)의 최상부의 일부를 포함한다. 프레임(t3)은 또한 (예컨대, 물리적 박스(7012)가 공간적에서 하강하는 것에 따라, 도 7e의 사용자 인터페이스 요소(7030)가 디스플레이되는 환경(7104)의 부분에 박스(7012')의 더 많은 부분이 있도록) 프레임의 최상부 부분에 박스(7012')를 더 많이 포함한다.
따라서, 시나리오(7038)에서의 사용자 인터페이스 요소(7030-e)는 시나리오(7036)에서의 사용자 인터페이스 요소(7030-d)와 상이한 외관을 갖는데, 이는, 사용자 인터페이스 요소(7030-e)가 사용자 인터페이스 요소(7030-d)가 기초로 하는 합성물에 사용된 프레임들과 상이한 콘텐츠를 갖는 상이한 프레임들의 합성물들에 기초하기 때문이다. 예를 들어, 박스(7012')가 프레임(t3)으로 연장되는 정도 때문에, 그리고 사용자 인터페이스 요소(7030-e)는 프레임(t3)을 포함하는 합성물에 기초하기 때문에, 시나리오(7038)에 도시된 바와 같은 사용자 인터페이스 요소(7030-e)의 외관에 대한 박스(7012')의 기여는 시나리오(7036)에 도시된 바와 같은 사용자 인터페이스 요소(7030-d)의 외관에 대한 박스(7012')의 기여도보다 더 두드러진다.
시나리오(7036)를 참조하여 위에서 논의된 바와 같이, 합성물에 사용된 프레임들은 각각의 프레임과 연관된 시간에서 사용자의 시점에 기초하여 서로 오프셋될 수 있다. 예를 들어, 시나리오(7038)에서, 프레임(t2)의 콘텐츠는, 도 7c 및 도 7e에서 사용자의 시점에 대해 (예컨대, 시계 방향으로) 회전되는 사용자의 시점에 따라, 프레임들(t1 및 t3)의 콘텐츠에 대해 (예컨대, 반시계 방향으로) 회전된다.
시나리오(7036)를 참조하여 위에서 또한 논의된 바와 같이, 사용자 인터페이스 요소(7030)의 외관은 선택적으로, 사용자 인터페이스 요소(7030)의 시뮬레이션된 포지션이 환경(7104)의 그 부분들보다 사용자의 시점으로부터 더 멀리 있더라도 환경(7104)의 부분들의 외관의 합성물에 기초한다. 예를 들어, 도 7e에서 사용자 인터페이스 요소의 시뮬레이션된 포지션은 포지션들(7030-1 내지 7030-4) 중 임의의 것일 수 있고, 사용자 인터페이스 요소(7030-e)는 그러한 시뮬레이션된 포지션들 중 임의의 포지션에 대해 동일한 외관을 가질 수 있다.
또한, 시나리오(7036)를 참조하여 위에서 논의된 바와 같이, 일부 실시예들에서, 블러링, 잡음 패턴 적용, 및/또는 이미지 또는 그래픽 정보의 다운샘플링과 같은 하나 이상의 변환들 또는 변경들이 시나리오(7038)의 시간 t3에서 합성물을 생성할 때 적용된다. 따라서, 시나리오(7038)는 시간 t3에서 합성물을 생성할 때 프레임들(t1, t2, 및/또는 t3)에 잡음 패턴을 블러링, 다운샘플링 및/또는 적용함으로써 달성되는 블러링된 외관을 갖는 사용자 인터페이스 요소(7030-e)를 도시한다.
유사하게, 시나리오(7038)에서, 합성물을 생성하는 것은 선택적으로 상이한 프레임들에 상이한 가중치들을 할당하는 것을 포함한다. 예를 들어, 사용자 인터페이스 요소(7030-e)의 외관은 프레임(t1)에 대한 제1 양, 프레임(t2)에 대한 상이한 제2 양, 및 프레임(t3)에 대한 상이한 제3 양에 기초할 수 있다. 예를 들어, 프레임(t3)이 프레임(t2)보다 더 무겁게 가중되고, 차례로 프레임(t2)이 프레임(t1)보다 더 무겁게 가중되면, 사용자 인터페이스 요소(7030-e)의 최상부 부분(예컨대, 합성물의 실선에 의해 묘사됨)은 프레임(t2)(예컨대, 여기서 박스(7012')는 프레임 내로 덜 연장되고 또한 프레임에 대해 반시계 방향으로 회전됨)의 대응하는 부분보다 프레임(t3)(예컨대, 여기서 박스(7012')는 프레임 내로 더 연장됨)의 박스(7012')의 최하부 부분의 외관에 더 기초한다. 달리 말하면, 시나리오(7038)에 도시된 바와 같이 사용자 인터페이스 요소(7030-e)의 외관에 대한 박스(7012')의 기여는 프레임(t3)가 덜 무겁게 가중된 경우보다 더 두드러진다. 동일한 예를 계속하면, 사용자 인터페이스 요소(7030-e)의 우측 부분은 프레임(t2 및 t1)의 대응하는 부분들의 외관보다 프레임(t3)에서 벽걸이(7106)의 좌측 부분의 외관에 더 기초한다. 달리 말하면, 시나리오(7038)에 도시된 바와 같이 사용자 인터페이스 요소(7030-e)의 외관에 대한 벽걸이(7106)의 기여는 프레임(t2)이 더 무겁게 가중되었다면 더 두드러질 것인데, 이는, 프레임(t2)에서 벽걸이(7106)가 프레임들(t1 및 t3)에서보다 실선 윤곽으로 더 멀리 연장되기 때문이다.
합성물이 생성되는 시간으로부터 더 먼 시간들로부터의 프레임들(예컨대, 더 앞선, 덜 최근의 프레임들)보다 합성물이 생성되는 시간에 더 가까운 시간들로부터의 프레임들(예컨대, 나중의, 더 최근의 프레임들)에 더 큰 가중치들을 할당하는 추가의 예로서, 시나리오(7038)에서, 시간 t1보다 나중에 발생하는 시간 t3에 생성된 합성물과 일치하는 프레임(t3)이 프레임(t1)보다 더 많이 가중된다. 따라서, 시간 t3에 생성된 합성물은, 프레임(t1)의 박스(7012')의 더 작은 부분으로부터의 것보다 프레임(t3)의 박스(7012')로부터의 더 큰 기여와 같이, 프레임(t1)으로부터의 것보다 프레임(t3)으로부터 더 큰 기여를 포함한다.
합성물에 대한 더 나중의 프레임들의 더 큰 기여는 또한 시간 t2에 생성된 합성물(시나리오(7036))과 시간 t3에 생성된 합성물(시나리오(7038))의 비교에서 명백하다. 예를 들어, 합성물들 둘 모두는 프레임(t1)을 포함한다. 그러나, 시간 t1은 시간 t3보다 시간 t2에 더 가깝고, 따라서 시간 t2에서 생성된 합성물(시나리오(7036))은 시간 t3에서 생성된 합성물보다 프레임(t1)으로부터 더 큰 기여를 포함한다. 구체적으로, 시간 t2에서 생성된 합성물(시나리오(7036))에 대한 프레임(t1)의 공(7108)의 기여는 시간 t3에서 생성된 합성물(시나리오(7038))에 대한 프레임(t1)의 공(7108)의 기여도보다 더 커서, 공(7108)의 효과는 사용자 인터페이스 요소(7030-e)에서보다 사용자 인터페이스 요소(7030-d)에서 더 두드러진다. 다른 예에서, 프레임(t0)으로부터의 박스(7012')의 부재는 시간 t2에서 생성된 합성물(시나리오(7036))에 기여하는 반면, 프레임(t0)은 시간 t3에서 생성된 합성물(시나리오(7038))에 포함되지 않고 그에 기여하지 않으며, 대신에, 시간 t3에서 생성된 합성물은 박스(7012')의 일부를 포함하는 추가적인 프레임(t3)에 기초하여, 사용자 인터페이스 요소(7030-d)의 결과적인 최상부 부분은 사용자 인터페이스 요소(7030-e)의 최상부 부분보다 박스(7012')의 존재에 의해 덜 영향을 받는다.
일부 실시예들에서, 합성에 포함된 프레임들의 수는 사용자의 시점의 이동의 양에 기초한다. 예를 들어, 도 7g에서, 시간 t2에서 생성된 합성물은 도 7b 내지 도 7d 사이의 사용자의 시점의 이동의 양에 기초하여 3개의 프레임들(t0, t1, 및 t2)을 포함한다. 유사하게, 시간 t3에서 생성된 합성물은 도 7c 내지 도 7e 사이의 사용자의 시점의 이동의 양에 기초하여 3개의 프레임들(t1, t2, 및 t3)을 포함한다. 당업자는, 사용자의 시점의 이동이 더 적은 경우, 합성물을 생성할 때 더 적은 프레임들이 포함될 수 있음을 인식할 것이다. 예를 들어, 환경(7104)의 뷰가 도 7c에서와 같이 도 7d에서 동일하게 유지되었다면, t2에서 생성된 합성물은 3개 대신 2개의 프레임들(예컨대, 프레임(t0) 및 프레임들(t1 및 t2)로부터 선택된 오직 하나의 다른 프레임)을 포함할 수 있다. 달리 말하면, 기본 환경의 외관은 사용자의 시점이 더 많이 이동할 때 더 빈번하게 샘플링되어, 사용자의 시점의 이동이 더 적을 때 합성물에 포함된 상이한 프레임들 사이의 시간 간격들이 더 크고, 사용자의 시점의 더 많은 이동에 대해 더 작다.
도 7h 내지 도 7j는 3차원 환경의 뷰 위에 사용자 인터페이스 요소를 디스플레이하는 것을 예시하며, 여기서 사용자 인터페이스 요소는 일부 실시예들에 따른, 3차원 환경의 다수의 포인트들로부터 샘플링된 하나 이상의 색상들로부터 생성된 색상 구배에 기초하는 외관을 갖는다. 도 7h 내지 도 7j의 사용자 인터페이스들은 도 9의 프로세스들을 포함하여 아래에 설명되는 프로세스들을 예시하기 위해 사용된다.
일부 실시예들에서, 도 7a 내지 도 7g를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소는 사용자 인터페이스를 제시하고/하거나 3차원 공간의 위치에서 3차원 객체로서 디스플레이된다. 사용자 인터페이스 요소는 통상적으로, 기본 환경으로부터 샘플링된 하나 이상의 색상들로부터 생성된 색상 구배에 기초하는 배경, 및 사용자가 상호작용할 수 있는 콘텐츠를 포함한다. 일부 예들에서 사용자 인터페이스 요소들에 대해 도 7h 내지 도 7j에 설명된 거동들은, 설명들에서 달리 언급되지 않는 한, 다양한 실시예들에 따라 다른 예들에서의 사용자 인터페이스 요소들에 적용가능하다. 일부 실시예들에서, 도 7h 내지 도 7j를 참조하여 본 명세서에서 설명된 바와 같이, 개개의 사용자 인터페이스 요소의 외관을 색상 구배에 기초할 때, 도 7x 내지 도 7z를 참조하여 본 명세서에 더 상세히 설명된 바와 같이, 사용자 인터페이스 요소의 결과적 외관을 생성하기 위해 색상 구배의 하나 이상의 구역들에 하나 이상의 시각적 변환들이 적용된다.
도 7h는 시간 T=t2에서 환경(7104)의 뷰를 예시한다(예컨대, 도 7h는 도 7d에 도시된 시나리오에 대한 대안적인 시나리오이다). 도 7h에서, 디스플레이 생성 컴포넌트(7100)는 컴퓨터 시스템(101)이 사용자 인터페이스 요소(7030) 대신 사용자 인터페이스 요소(7040)의 디스플레이를 트리거하는 이벤트를 검출하는 것에 응답하여 환경(7104)의 뷰를 디스플레이한다. 사용자 인터페이스 요소(7030)(도 7d)와 같이, 사용자 인터페이스 요소(7040)는 (예컨대, 애플리케이션을 개시하기 위한 사용자 입력에 응답하여 디스플레이되는) 애플리케이션 사용자 인터페이스, 경고, 통지, 운영 체제 사용자 인터페이스 또는 다른 컴퓨터 생성 객체일 수 있다. 사용자 인터페이스 요소(7030)가 시간 t2 이전의 시간들(및 선택적으로 t2를 포함함)을 포함하는 상이한 시간들에서 환경(7104)의 기본 부분들의 그래픽 조성에 기초하는 외관으로 디스플레이되는 도 7d와 대조적으로, 도 7h에서, 사용자 인터페이스 요소(7040)는 환경(7104)으로부터 샘플링된 색상들로부터 생성된 색상 구배에 기초한 외관으로 디스플레이된다. 도 7h에 도시된 예에서, 색상 구배는 시간 t2에 대응하는 시간에(예컨대, 시간 t2에, 구배를 발생시키는 t2 직전의 시간에, 생성될 시에, 도 7h에 도시된 바와 같이 시간 t2에 디스플레이될 시에, 또는 t2를 포함하거나 종료되는 시간들의 범위 동안) 환경(7104)으로부터 샘플링된 색상들로부터 생성된다. 일부 실시예들에서, 주어진 시간 또는 시간들의 범위에 대한 색상 구배를 생성하는 것은 상이한 시점들로부터 다수의 프레임들의 그래픽 조성을 생성하는 것보다 덜 계산 집약적이다.
구체적으로, 색상 구배는, 도 7h(좌측)에서 구역(7042)으로 표시된, 사용자 인터페이스 요소(7040)가 오버레이되는 환경(7104)의 뷰의 부분으로부터 샘플링된 색상들로부터 생성된다. 즉, 사용자 인터페이스 요소(7040)의 외관은 환경(7104)의 구역(7042)으로부터 샘플링된 복수의 색상들(예컨대, 2개 이상의 색상들) 사이의 색상 구배에 기초한다. 도 7h의 예에서, 샘플링된 색상들은 박스(7012')로부터 취해진 제1 색상(7044-1), 벽걸이(7106)로부터 취해진 제2 색상(7044-2), 및 벽(7004')으로부터 취해진 제3 색상(7044-3)를 포함한다. 따라서, 사용자 인터페이스 요소(7040)는 색상들(7044-1, 7044-2 및 7044-3) 사이에서 색상 구배로 도 7h(우측)에 디스플레이된다. 특히, 박스(7012') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최상부 좌측 코너로부터 벽걸이(7106) 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최상부 우측 코너까지의 색상 구배는 박스(7012')로부터 샘플링된 색상(7044-1)으로부터 박스(7106)로부터 샘플링된 색상(7044-2)으로 전환된다. 유사하게, 박스(7012') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최상부 좌측 코너로부터 벽(7004') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최하부 좌측 코너까지의 색상 구배는 박스(7012')로부터 샘플링된 색상(7044-1)으로부터 벽(7004')으로부터 샘플링된 색상(7044-3)으로 전환된다. 마찬가지로, 벽걸이(7106) 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최상부 우측 코너로부터 벽(7004') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최하부 우측 코너까지의 색상 구배는 박스(7106)로부터 샘플링된 색상(7044-2)으로부터 벽(7004')으로부터 샘플링된 색상(7044-3)으로 전환된다. 사용자 인터페이스 요소(7040)의 최하부 에지 구역을 따른 색상 구배는 벽(7004')으로부터 샘플링된 2개의 색상들 둘 모두에 기초하며, 이는 도 7h의 예에서 동일한 색상이고, 따라서 사용자 인터페이스 요소(7040)의 최하부 에지 구역은 식별가능한 구배 없이 도시된다.
일부 실시예들에서, 도 7h에 도시된 바와 같이, 사용자 인터페이스 요소(7040)는 배경 부분(7040-a), 제1 콘텐츠 부분(7040-b) 및 제2 콘텐츠 부분(7040-c)을 포함한다. 콘텐츠 부분들(7040-a 및 7040-b)은 선택적으로 텍스트 또는 그래픽들과 같은 시각적 콘텐츠 또는 버튼들 또는 제어부들과 같은 선택가능한 및/또는 활성화가능한 객체들을 포함한다. 일부 실시예들에서, 사용자 인터페이스 요소의 배경 부분(예컨대, 사용자 인터페이스 요소(7040)의 배경 부분(7040-a))의 외관은 기본 3차원 환경의 상이한 부분들로부터 샘플링된 색상들로부터 생성된 색상 구배에 기초한다. 일부 실시예들에서, 사용자 인터페이스 요소의 콘텐츠 부분(들)(예컨대, 콘텐츠 부분들(7040-b 및/또는 7040-c))의 외관은 콘텐츠 부분(들)에 디스플레이된 콘텐츠에 기초하며, 선택적으로 (예컨대, 도 7h에 표시된 바와 같이, 콘텐츠 부분(들)은, 색상 구배에 기초한 외관을 갖는 배경 부분의 적어도 일부가 가시적이도록 투명하거나 부분적으로 투명할 수 있지만) 색상 구배에 기초하지 않는다.
일부 실시예들에서, 도 7h 내지 도 7j에 도시된 바와 같이, 사용자 인터페이스 요소(7040)와 같은 사용자 인터페이스 요소는 불투명하다. 즉, 구체적으로 배경 부분(7040-a)을 포함하는 사용자 인터페이스 요소(7040)는 생성된 색상 구배에 기초한 외관으로 디스플레이되고, 기본 3차원 환경이 사용자 인터페이스 요소(7040)를 통해 적어도 부분적으로 가시적이게 허용하는 투명도로 디스플레이되지 않는다. 일부 실시예들에서, 도 7h 내지 도 7j에 도시된 바와 같이, 사용자 인터페이스 요소(7040)의 외관에 대한 색상 구배의 효과는 구체적으로 배경 부분(7040-a)을 포함하여 사용자 인터페이스 요소(7040)의 에지들로 확장된다.
도 7i는 도 7h에 예시된 시간 t2와 상이한(예컨대, 이후의) 시간 T=t3에서의 환경(7104)의 뷰를 예시한다(예컨대, 도 7i는 도 7e에 도시된 시나리오에 대한 대안적인 시나리오임). 도 7i는 도 7h로부터의 예시적인 전환을 표현한다. 도 7i에 도시된 환경(7104)은, 환경(7104)이 도 7i에서 디스플레이(7100)에 대해 수평으로 나타나도록 (예컨대, 도 7d로부터 도 7e로의 사용자의 시점의 변화와 유사하게) 반시계 방향 회전을 통한 사용자의 시점의 이동을 반영한다. 사용자 인터페이스 요소(7040)는 환경(7104)보다는 사용자의 시점(예컨대, 컴퓨터 시스템의 시점)에 앵커링된 상태로 유지된다. 따라서, 사용자의 시점이 환경(7104)에 대해 실질적으로 수평이 되도록 반시계 방향으로 회전되는 것에 응답하여, 사용자 인터페이스 요소(7040)는 또한 환경(7104)에 대해 실질적으로 직립하도록 반시계 방향으로 회전된다(예컨대, 컴퓨터 시스템에 대한 사용자 인터페이스 요소(7040)의 배향이 유지된다). 도 7i에서 환경(7104) 위에 디스플레이된 사용자 인터페이스 요소(7040)의 외관은 시간 t3에 대응하는 시간 또는 시간들의 범위에(예컨대, 시간 t3에, 도 7i에 도시된 바와 같이 시간 t3에 구배가 디스플레이되게 하는 시간 t3 직전의 시간에, 또는 t3을 포함하거나 종료되는 시간들의 범위 동안) 환경(7104)으로부터 그리고 특히 사용자 인터페이스 요소(7040)가 디스플레이되는 환경(7104)의 부분들로부터 샘플링된 색상들로부터 생성된 색상 구배에 기초한다.
구체적으로, 색상 구배는 도 7i(좌측)의 구역(7046)으로부터 샘플링된 색상들로부터 생성되며, 이는 사용자 인터페이스 요소(7040)가 오버레이되는 환경(7104)의 뷰의 부분을 표시한다. 도 7i의 예에서, 샘플링된 색상들은 박스(7012')로부터 취해진 제1 색상(7044-4)(예컨대, 도 7h의 색상(7044-1)과 상이함), 벽걸이(7106)로부터 취해진 제2 색상(7044-5)(예컨대, 도 7h의 색상(7044-2)과 상이함) 및 벽(7004')으로부터 취해진 제3 색상(7044-6)(예컨대, 도 7h의 색상(7044-3)과 상이함)을 포함한다. 따라서, 사용자 인터페이스 요소(7040)는 색상들(7044-4, 7044-5 및 7044-6) 사이에서 색상 구배로 도 7i(우측)에 디스플레이된다. 특히, 박스(7012') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최상부 좌측 코너로부터 벽걸이(7106) 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최상부 우측 코너까지의 색상 구배는 박스(7012')로부터 샘플링된 색상(7044-4)으로부터 박스(7106)로부터 샘플링된 색상(7044-5)으로 전환된다. 유사하게, 박스(7012') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최상부 좌측 코너로부터 벽(7004') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최하부 좌측 코너까지의 색상 구배는 박스(7012')로부터 샘플링된 색상(7044-4)으로부터 벽(7004')으로부터 샘플링된 색상(7044-6)으로 전환된다. 마찬가지로, 벽걸이(7106) 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최상부 우측 코너로부터 벽(7004') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최하부 우측 코너까지의 색상 구배는 박스(7106)로부터 샘플링된 색상(7044-5)으로부터 벽(7004')으로부터 샘플링된 색상(7044-6)으로 전환된다. 사용자 인터페이스 요소(7040)의 최하부 에지 구역을 따른 색상 구배는 벽(7004')으로부터 샘플링된 2개의 색상들 둘 모두에 기초하며, 이는 도 7i의 예에서 동일한 색상이고, 따라서 사용자 인터페이스 요소(7040)의 최하부 에지 구역은 식별가능한 구배 없이 도시된다.
일부 상황들에서, 사용자 인터페이스 요소(7040) 뒤에 있는 환경(7104)의 부분들의 색상들 및 이를테면 샘플링된 색상들은, 이를테면 사용자의 시점이 도 7h로부터 도 7i로 변경되지 않고, 도 7i에서 사용자 인터페이스 요소(7040) 뒤에 있던 환경(7104)의 부분들이 도 7h의 것들과 동일한 경우(예컨대, 색상(7044-4)이 색상(7044-1)과 동일한 경우, 색상(7044-5)이 색상(7044-2)과 동일한 경우, 및 색상(7044-6)이 색상(7044-3)과 동일한 경우), 시점마다 동일하다. 이러한 상황들에서, 사용자 인터페이스 요소(7040)의 외관의 색상 구배 양태는 도 7h에서와 같이 도 7i에서 동일할 것이다. 일부 실시예들에서, 시간 t2에서 사용자 인터페이스 요소(7040)의 외관에 대한 색상 구배를 생성한 후에, 컴퓨터 시스템은 시간 t3에서 사용자 인터페이스 요소(7040)의 외관에 대한 색상 구배를 재생성할 필요가 없을 것이며, 이는 사용자 인터페이스 요소(7040)의 외관을 생성하고/하거나 디스플레이하는 계산 부담을 감소시킬 것이다.
도 7j는 도 7i에 예시된 시간 t3과 상이한(예컨대, 이후의) 시간 T=t4에서의 환경(7104)의 뷰를 예시한다. 도 7j는 도 7i로부터의 예시적인 전환을 표현한다. 도 7j에 도시된 바와 같은 환경(7104)은 도 7i에 도시된 바와 같은 사용자 인터페이스 요소(7040)의 포지션으로부터 우측으로 그리고 약간 하향으로의 사용자 인터페이스 요소(7040)의 이동을 반영한다. 도 7j의 사용자 인터페이스 요소(7040)의 외관은 시간 t4에 대응하는 시간 또는 시간들의 범위에서 환경(7104)으로부터, 그리고 특히 사용자 인터페이스 요소(7040)가 디스플레이된 환경(7104)의 부분들로부터 샘플링된 색상들로부터 생성된 색상 구배에 기초한다.
도 7j(좌측)의 구역(7048)은 사용자 인터페이스 요소(7040)가 오버레이되는 환경(7104)의 뷰의 부분을 표시한다. 도 7j(우측)에서, 사용자 인터페이스 요소(7040)는 벽걸이(7106) 및 박스(7014')를 포함하는 환경(7104)의 부분 상에 오버레이된다. 따라서, 사용자 인터페이스 요소(7040)의 외관은 환경(7104)의 구역(7048)으로부터 샘플링된 복수의 색상들 사이의 색상 구배에 기초한다. 도 7h의 예에서, 샘플링된 색상들은 벽걸이(7106)로부터 취해진 제1 색상(7044-7), 벽(7004')으로부터 취해진 제2 색상(7044-8), 박스(7014')로부터 취해진 제3 색상(7044-9) 및 벽(7004')으로부터 취해진 제4 색상(7044-10)을 포함한다. 따라서, 사용자 인터페이스 요소(7040)는 색상들(7044-7, 7044-8, 7044-9 및 7044-10) 사이에서 색상 구배로 도 7j(우측)에 디스플레이된다. 특히, 벽걸이(7106) 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최상부 우측 코너로부터 벽(7004') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최상부 우측 코너까지의 색상 구배는 벽걸이(7106)로부터 샘플링된 색상(7044-7)으로부터 벽(7004')으로부터 샘플링된 색상(7044-8)으로 전환된다. 유사하게, 벽걸이(7106) 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최상부 좌측 코너로부터 벽(7004') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최하부 좌측 코너까지의 색상 구배는 벽걸이(7106)로부터 샘플링된 색상(7044-7)으로부터 벽(7004')으로부터 샘플링된 색상(7044-10)으로 전환된다. 마찬가지로, 벽(7004') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최상부 우측 코너로부터 박스(7014') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최하부 우측 코너까지의 색상 구배는 벽(7004')으로부터 샘플링된 색상(7044-8)으로부터 박스(7014')로부터 샘플링된 색상(7044-9)으로 전환된다. 또한, 벽(7004') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최하부 좌측 코너로부터 박스(7014') 상에 오버레이되는 사용자 인터페이스 요소(7040)의 최하부 우측 코너까지의 사용자 인터페이스 요소(7040)의 최하부 에지 구역을 따른 색상 구배는 벽(7004')으로부터 샘플링된 색상(7044-10)으로부터 박스(7014')로부터 샘플링된 색상(7044-9)으로 전환된다.
일부 실시예들에서, 시간 t2에서 사용자 인터페이스 요소(7040)와 같은 주어진 시간에서의 사용자 인터페이스 요소의 외관은, 시간 t1 또는 시간 t0과 같은 주어진 시간 이전의 시간들에 대응하는 시간들에 샘플링된 색상들을 사용하지 않고 주어진 시간에 대응하는 시간에 샘플링된 색상들을 사용하는 색상 구배에 기초하며, 이에 따라 색상 구배를 생성하고 이에 따라 사용자 인터페이스 요소를 생성하는 계산 부담을 감소시킨다. 다른 예에서, 시간 t4에서의 사용자 인터페이스 요소(7040)의 외관은, t2, 또는 t3과 같이, t4 이전의 시간들에 대응하는 시간들에 샘플링된 색상들을 사용하지 않고, 시간 t4대응하는 시간에 샘플링된 색상들을 사용하는 색상 구배에 기초한다.
사용자 인터페이스 요소의 외관이 사용자 인터페이스 요소 뒤의 환경의 부분들로부터 샘플링된 색상들 사이의 구배에 기초하는 일부 실시예들에서, 색상들은 하나 이상의 다른 컴퓨터 생성 사용자 인터페이스 요소들로부터 샘플링되고, 그의 외관들은 차례로 또한 그러한 다른 컴퓨터 생성 요소들 뒤의 환경의 부분들로부터 샘플링된 색상들 사이의 개개의 구배들에 기초하며, 전경 사용자 인터페이스 요소와 유사하게 시간이 지남에 따라 업데이트된다. 예를 들어, 도 7h 내지 도 7j에서, 벽걸이(7106)의 하나 이상의 구역들의 외관이 벽걸이(7106) 뒤의 환경(7104)의 하나 이상의 부분들(예컨대, 벽(7004')의 하나 이상의 부분들)로부터 샘플링된 복수의 색상들 사이의 색상 구배에 기초한다면, 사용자 인터페이스 요소(7040)의 외관은 다른 컴퓨터 생성 객체인 벽걸이(7106)로부터 샘플링된 색상들에 기초할 것이고, 그 외관은 또한 도 7h 내지 도 7j에서 사용자 인터페이스 요소(7040)를 참조하여 위에서 설명된 바와 같은 기법들에 따라 시간이 지남에 따라 업데이트된다.
일부 상황들에서, (예컨대, 그래픽 조성들 및/또는 색상 구배들에 기초한) 3차원 환경의 중첩 부분들에 기초하는 외관들을 갖는 다수의 사용자 인터페이스 요소들은 서로 적어도 부분적으로 중첩하는 것으로 디스플레이된다(예컨대, 도 7k를 참조하여 본 명세서에서 설명된 바와 같이 중첩하는 사용자 인터페이스 요소들(7050 및 7052)). 일부 실시예들에서, 배경에서의 사용자 인터페이스 요소의 외관은 (예컨대, 그래픽 조성들 및/또는 색상 구배들에 기초하여) 본 명세서에서 설명된 기법들 중 하나 이상을 사용하여 생성되고, 배경의 사용자 인터페이스 요소와 중첩되는 전경의 사용자 인터페이스 요소의 부분의 외관은 기본 사용자 인터페이스 요소의 대응하는 부분의 외관에 기초하거나, 그에 의해 정의되거나 그와 동일하다. 예를 들어, 위에서 설명된 바와 같이, 벽걸이(7106)의 외관이 벽(7004') 및 벽걸이(7106) 뒤의 환경(7104)의 다른 하부 부분들로부터 샘플링된 색상들 사이의 색상 구배에 기초한 경우, 벽걸이(7106) 상에 오버레이된 사용자 인터페이스 요소(7040)의 부분의 외관은 선택적으로, 벽걸이(7106)의 대응하는 기본 부분에 기초하거나, 그와 동일하거나 또는 그의 사본이고, 따라서 사용자 인터페이스 요소(7040)를 생성하는 계산 부담을 감소시킨다.
일부 실시예들에서, 사용자 인터페이스 요소의 외관은 사용자 인터페이스 요소와 중첩하지만 반드시 뒤에 있는 것은 아닌 환경의 부분들로부터 샘플링된 색상들 사이의 색상 구배에 기초한다. 예를 들어, 도 7f를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030)가 시점(7032)에 가까운 것보다 사용자의 시점(7032)에 더 가까운 환경(7104)의 부분들은 사용자 인터페이스 요소(7030)의 외관에 기여할 수 있다. 유사하게, 환경(7104) 내의 사용자 인터페이스 요소(7040)의 시뮬레이션된 포지션은 박스(7012'), 벽걸이(7106 및/또는 7014')가 사용자의 시점에 대해 먼 것보다 도 7h 내지 도 7j에서 사용자의 시점으로부터 더 멀리 있을 수 있지만, 사용자 인터페이스 요소(7040)의 외관에 대한 색상 구배는 박스(7012'), 벽걸이(7106 및/또는 7014') 및 선택적으로 사용자 인터페이스 요소(7040)의 시뮬레이션된 포지션보다 사용자의 시점에 더 가까운 환경(7104)의 하나 이상의 다른 부분들로부터 샘플링된 색상들로부터 생성될 수 있다(예컨대, 도 7h 내지 도 7j에서 환경(7104)에 대한 사용자 인터페이스 요소(7040)의 시뮬레이션된 포지션이 도 7f에 도시된 포지션(7030-4)인 경우).
도 7k 내지 도 7o는 사용자 인터페이스 요소의 에지들을 따라 시뮬레이션된 두께 및 곡률을 갖는 시뮬레이션된 재료의 외관을 갖는 사용자 인터페이스 요소(예컨대, 사용자 인터페이스 요소(7050) 및 사용자 인터페이스 요소(7052))를 디스플레이하는 것을 예시하며, 여기서 사용자 인터페이스 요소의 에지들은 일부 실시예들에 따른 3차원 환경에서 광과 상호작용하는 시뮬레이션된 광학 속성들을 갖는다. 도 7k 내지 도 7o의 사용자 인터페이스들은 도 10 및 도 11의 프로세스들을 포함하여 아래에 설명되는 프로세스들을 예시하기 위해 사용된다. 도 7k 내지 도 7o를 참조하여 설명된 사용자 인터페이스 요소들은 선택적으로, 설명들에서 달리 언급되지 않는 한, 일부 실시예들에 따라, 도 7a 내지 도 7g, 도 7h 내지 도 7j, 도 7p, 도 7q 내지 도 7w, 및/또는 도 7x 내지 도 7z의 예들과 같은 다른 예들에 대해 본 명세서에서 설명된 사용자 인터페이스 요소들의 특성들 및/또는 거동들 중 하나 이상을 갖는다.
도 7k는 디스플레이 생성 컴포넌트(7100)를 통해 디스플레이된 환경(7104)의 뷰를 예시한다. 환경(7104)의 디스플레이된 뷰는 박스(7012')의 일부의 뷰, 벽걸이(7106)의 뷰, 및 박스(7014')의 일부의 뷰를 포함한다. 도 7k는 환경(7104)의 뷰 위에 디스플레이된 제1 사용자 인터페이스 요소(7050) 및 제2 사용자 인터페이스 요소(7052)를 도시한다. 도 7k의 사용자 인터페이스 요소(7050)는 시뮬레이션된 재료(예컨대, 투명 또는 반투명 재료와 같은 시뮬레이션된 재료의 판유리(pane) 또는 플래터)로 만들어진 외관을 갖는 3차원 객체로서 디스플레이된다. 또한, 도 7k의 사용자 인터페이스 요소(7052)는 시뮬레이션된 재료(예컨대, 투명 또는 반투명 재료와 같은 시뮬레이션된 재료의 판유리 또는 플래터)로 만들어진 외관을 갖는 3차원 객체로서 디스플레이된다. 사용자 인터페이스 요소(7050)는 도 7a 내지 도 7g를 참조하여 본 명세서에서 설명된 바와 같은 상이한 시간들로부터의 프레임들의 그래픽 조성, 도 7h 내지 도 7j를 참조하여 설명된 바와 같은 색상 구배, 또는 본 명세서에서 설명된 임의의 다른 예시적인 기법을 사용하여, 벽(7004') 및/또는 박스(7012')와 같은 환경(7104)의 중첩 부분들의 외관에 기초하는 외관을 갖는다. 또한, 일부 실시예들에서, 사용자 인터페이스 요소(7050)의 외관은 도 7a 내지 도 7j를 참조하여 본 명세서에서 설명된 사용자 인터페이스 요소들과 유사하게, 환경(7104)의 중첩 부분들의 외관의 변화들에 기초하여 시간이 지남에 따라 업데이트된다. 유사하게, 사용자 인터페이스 요소(7052)는, 상이한 시간들로부터의 프레임들의 그래픽 조성, 색상 구배, 또는 본 명세서에 설명된 다른 예시적인 기법을 사용하여 벽(7004'), 박스(7012') 및/또는 벽걸이(7106)와 같은 환경(7104)의 기본 부분들의 외관에 기초하는 외관을 갖는다. 일부 실시예들에서, 사용자 인터페이스 요소(7050)의 외관은 또한, 도 7a 내지 도 7j를 참조하여 본 명세서에서 설명된 사용자 인터페이스 요소들 및 사용자 인터페이스 요소(7050)와 유사하게, 환경(7104)의 중첩 부분들의 외관의 변화들에 기초하여 시간이 지남에 따라 업데이트된다.
도 7k의 예에서, 사용자 인터페이스 요소(7050)는 사용자의 시점에서 환경(7104) 내의 사용자 인터페이스 요소(7052) 전방에 있다(예컨대, 사용자 인터페이스 요소(7050)는 사용자 인터페이스 요소(7052)보다 사용자의 시점에 더 가깝게 포지셔닝되고, 사용자 인터페이스 요소(7050)는 선택적으로 사용자 인터페이스 요소(7052)의 좌측의 일부를 가린다). 또한, 사용자 인터페이스 요소(7052)는 사용자의 시점에서 박스(7012'), 벽걸이(7106) 및 벽(7004')의 전방에 있고, 선택적으로 이들을 가린다(예컨대, 사용자 인터페이스 요소(7052)는 박스(7012'), 벽걸이(7106) 및 벽(7004')보다 사용자의 시점에 더 가깝게 포지셔닝된다). 도 7h 내지 도 7j를 참조하여 본 명세서에서 설명된 바와 같이, 도 7k에서, 배경 사용자 인터페이스 요소(7052)와 중첩하는 전경 사용자 인터페이스 요소(7050)의 부분의 외관은 선택적으로 사용자 인터페이스 요소(7052)의 대응하는 기본 부분에 기초하거나, 그와 동일하거나 또는 그의 사본이다(예컨대, 벽(7004') 및 박스(7012')에 부분적으로 기초하여 사용자 인터페이스 요소(7052)의 대응하는 부분의 외관을 생성하는 것과 별개로, 벽(7004') 및 박스(7012')의 외관들에 기초하여 사용자 인터페이스 요소(7050)의 중첩 부분의 외관을 독립적으로 생성하지 않음).
또한, 도 7k는 사용자 인터페이스 요소(7050)의 에지(7050-e)의 표현을 도시한다. 에지(7050-e)는 사용자 인터페이스 요소(7050)가 사용자 인터페이스 요소(7050)의 전면과 사용자 인터페이스 요소(7050)의 후면 사이에 시뮬레이션된 두께로 디스플레이되는 것을 표현한다. 에지(7050-e)는 도 7k에서 (예컨대, 사용자의 시점으로부터 둥근 직사각형의 형상을 사용자 인터페이스 요소(7050)에 제공하는) 2차원에서 만곡된 것으로 도시된다. 대안적으로 또는 추가로, 에지(7050-e)는 (예컨대, 2개의 면들이 일정 각도로 만나는 것으로 인한 직선 에지들이 없는) 3차원의 곡률을 표현한다. 대안적으로, 에지(7050-e)는 도 7l의 사용자 인터페이스 요소(7054)의 최상부, 최하부 및 측면들과 같은 (예컨대, 직사각형 프리즘의) 복수의 면들을 표현한다. 일부 실시예들에서, 사용자 인터페이스 요소(7050)의 에지(7050-e)는 환경(7104)에서 하나 이상의 광원들로부터의 광을 반사하는 시각적 효과로 디스플레이된다. 예를 들어, 사용자 인터페이스 요소(7050)의 외측 표면으로부터의 반사를 시뮬레이션하기 위해, 반사(때때로 정반사로 지칭됨)가 선택적으로 에지(7050-e) 상의 제1 포지션에 디스플레이된다. 일부 실시예들에서, 사용자 인터페이스 요소(7050)의 내측 표면으로부터의 (예컨대, 외부 정반사의 위치에서 반사되지 않았고 사용자 인터페이스 요소(7050)의 반대편 측을 통해 이동한 광 중 일부의) 내부 반사를 시뮬레이션하기 위해, 제1 포지션과 반대인 에지(7050-e) 상의 제2 포지션(예컨대, 최상부 좌측 코너와 반대인 최하부 우측 코너, 또는 그 반대도 마찬가지임)에 반사가 선택적으로 디스플레이된다. 일부 실시예들에서, 에지(7050-e)를 따라 디스플레이되는 정반사의 양은 사용자 인터페이스 요소(7050)의 에지(7050-e)의 시뮬레이션된 두께에 기초한다(예컨대, 더 얇은 판유리가 더 두꺼운 판유리보다 더 적은 광을 반사함).
유사하게, 에지(7052-e)는 사용자 인터페이스 요소(7052)가 사용자 인터페이스 요소(7052)의 전면과 사용자 인터페이스 요소(7052)의 후면 사이에 시뮬레이션된 두께로 디스플레이되는 것을 표현한다. 사용자 인터페이스 요소(7052)의 에지(7052-e)는 도 7k에서 2차원으로 만곡되는 것으로 도시되지만, 선택적으로 3차원으로 만곡되거나 또는 대안적으로, 도 7l에서 사용자 인터페이스 요소(7054)의 최상부, 최하부 및 측면들과 같은 복수의 평면들을 표현한다. 또한, 일부 실시예들에서, 사용자 인터페이스 요소(7052)의 에지(7052-e)는 환경(7104)에서 하나 이상의 광원들로부터의 광을 반사하는 시각적 효과로 디스플레이된다. 예를 들어, 사용자 인터페이스 요소(7052)의 외측 표면으로부터의 반사를 시뮬레이션하기 위해 에지(7052-e) 상의 제1 포지션에 선택적으로 정반사가 디스플레이되고, 선택적으로, 사용자 인터페이스 요소(7052)의 내측 표면으로부터의 (예컨대, 외부 정반사의 위치에서 반사되지 않았고 사용자 인터페이스 요소(7052)의 반대편 측을 통해 이동한 광 중 일부의) 내부 반사를 시뮬레이션하기 위해, 제1 포지션과 반대인 에지(7052-e) 상의 제2 포지션(예컨대, 최상부 에지와 반대인 최하부 에지, 또는 그 반대도 마찬가지임)에 다른 정반사가 디스플레이된다. 일부 실시예들에서, 에지(7052-e)를 따라 디스플레이되는 정반사의 양은 사용자 인터페이스 요소(7052)의 에지(7052-e)의 시뮬레이션된 두께에 기초한다(예컨대, 더 얇은 판유리가 더 두꺼운 판유리보다 더 적은 광을 반사함).
일부 실시예들에서, 도 7k의 사용자 인터페이스 요소들(7050 및/또는 7052)에 대한 정반사(들)는 환경(7104)에서 하나 이상의 광원들로부터의 광의 반사를 시뮬레이션한다. 일부 실시예들에서, 하나 이상의 광원들은 환경(7104)에 대응하는 물리적 환경(예컨대, 도 7a의 환경(7102))에서 검출된 하나 이상의 물리적 광원들을 포함한다. 일부 실시예들에서, 하나 이상의 광원들은 환경(7104) 내의 하나 이상의 시뮬레이션된 광원들을 포함한다. 컴퓨터 생성 사용자 인터페이스 객체로부터의 시뮬레이션된 정반사는 도 7l 내지 도 7o를 참조하여 본 명세서에서 더 상세히 설명된다.
일부 실시예들에서, 임의의 정반사(들)를 포함하는 사용자 인터페이스 요소의 외관은 3차원 환경의 상이한 콘텍스트들에 기초하여 변경된다. 예를 들어, 사용자 인터페이스 요소(7050)의 외관 및/또는 사용자 인터페이스 요소(7052)의 외관은 하루 중 상이한 시간들(예컨대, 여명 또는 황혼 대 정오, 일광 대 환경(7104)에 대응하는 물리적 환경(7102)(도 7a) 내의 인공 조명), 상이한 룸 색상 온도들(예컨대, 환경(7104)에서 더 따뜻한 톤 대 더 차가운 톤), (예컨대, 환경(7104)에서 광 및/또는 색상들의) 상이한 밝기, 및 환경(7104)의 다른 주변 특성들과 같은 환경(7104)의 상이한 콘텍스트들에 기초하여 변경된다.
위에서 언급된 바와 같이, 사용자 인터페이스 요소(7050)는 예를 들어, 시뮬레이션된 투명 또는 부분적으로 투명한 재료의 판유리로서 디스플레이된다. 일부 실시예들에서, 사용자 인터페이스 요소(7050)와 연관된 콘텐츠가 디스플레이된다. 일부 실시예들에서, 콘텐츠는 사용자 인터페이스 요소(7050)의 전면 뒤에 포지셔닝되고, 시뮬레이션된 재료의 판유리 내에(예컨대, 사용자 인터페이스 요소(7050)의 전면과 후면 사이에, 사용자 인터페이스 요소(7050)의 시뮬레이션된 두께 미만인 깊이로) 임베딩되는 시각적 효과로 디스플레이된다. 일부 실시예들에서, 에지(7050-e) 근처에(예컨대, 그의 임계 거리 내에) 있는 사용자 인터페이스 요소(7050)의 콘텐츠는, (예컨대, 유리의 렌즈 또는 판유리의 에지에 나타나는 것과 같이) 콘텐츠의 사용자 인터페이스 요소(7050) 내에서 내부 반사 및/또는 굴절의 외관을 시뮬레이션하기 위해, 에지(7050-e)의 시뮬레이션된 두께 주위에서 만곡되거나 래핑하는 시각적 효과로 디스플레이된다. 콘텐츠는 사용자 입력에 응답하여 이동(예컨대, 스크롤링, 리포지셔닝, 리사이징, 리스케일링, 회전, 및/또는 다른 변환이 적용)되도록 구성된다. 콘텐츠가 이동됨에 따라, 콘텐츠의 상이한 부분들은 에지(7050-e)의 임계 거리 내에 있다. 따라서, 내부 반사 및/또는 굴절의 광학 효과는 에지(7050-e)의 임계 거리 내에 있는 콘텐츠의 업데이트된 부분들에 기초하여 업데이트된다.
유사하게, 일부 실시예들에서, 사용자 인터페이스 요소(7052)는 시뮬레이션된 투명 또는 부분적으로 투명한 재료의 판유리로서 디스플레이된다. 일부 실시예들에서, 사용자 인터페이스 요소(7052)와 연관된 콘텐츠는 시뮬레이션된 재료의 판유리 내에 임베딩된, 사용자 인터페이스 요소(7052)의 전면 뒤에 포지셔닝되는 시각적 효과로 디스플레이된다. 일부 실시예들에서, 사용자 인터페이스 요소(7052)의 에지(7052-e) 근처에 있는 사용자 인터페이스 요소(7052)의 콘텐츠는 에지(7052-e)의 시뮬레이션된 두께 주위에서 만곡되거나 래핑되는 시각적 효과로 디스플레이되고, 콘텐츠의 상이한 부분들이 에지(7052-e)의 임계 거리 내에서 이동하도록 콘텐츠가 이동됨에 따라 업데이트된다.
일부 실시예들에서, 사용자 인터페이스 요소 내에 임베딩된 것으로 디스플레이되는 콘텐츠는 사용자 인터페이스 요소의 전방에서 볼 수 있고 사용자 인터페이스 요소의 후방으로부터 명확하게 가시적이 아니거나 전혀 가시적이 아니다. 예를 들어, 도 7k는 사용자 인터페이스 요소들(7050 및 7052)의 정면도를 도시한다. 일부 실시예들에서, 사용자 인터페이스 요소(7050) 및/또는 사용자 인터페이스 요소(7052) 내에 임베딩된 것으로 디스플레이된 콘텐츠는 도 7k에 도시된 바와 같이 사용자 인터페이스 요소들(7050 및 7052)의 시점으로부터 가시적이다. 사용자의 시점이 사용자 인터페이스 요소(7050)에 대해 사용자 인터페이스 요소(7050)의 후방의 뷰로 (예컨대, 사용자 인터페이스 요소(7050)의 후방으로의 사용자의 시점의 이동 또는 사용자 인터페이스 요소(7050)를 뒤집거나 회전시키는 사용자 인터페이스 요소(7050)의 이동을 통해) 변경되려면, 일부 실시예들에서, 콘텐츠는 이를테면 블러링, 페이딩, 셰이딩, 또는 어두워짐, 또는 콘텐츠가 디스플레이되지 않는 것에 의해 시각적으로 강조해제된다. 사용자 인터페이스 요소(7052)는 선택적으로, 사용자 인터페이스 요소(7050)와 유사한 거동을 나타낸다.
도 7k에서, 사용자 인터페이스 요소들(7050 및 7052)은 환경(7104)의 다른 객체들에 하나 이상의 그림자들을 캐스팅한다. 도 7l 내지 도 7o와 관련하여 본 명세서에서 더 상세히 설명된 바와 같이, 일부 실시예들에서, 디스플레이된 3차원 환경에서 사용자 인터페이스 요소들에 의해 캐스팅된 그림자들은 디스플레이된 3차원 환경에 대응하는 물리적 환경 내의 시뮬레이션된 또는 컴퓨터 생성 광원들 및/또는 물리적 광원들과 같은 3차원 환경의 하나 이상의 광원들에 기초한다. 도 7k에서, 사용자 인터페이스 요소(7050)는 사용자 인터페이스 요소(7050) 뒤의 사용자 인터페이스 요소(7052) 상에 그림자들(7050-s)을 캐스팅한다. 사용자 인터페이스 요소(7052)는 사용자 인터페이스 요소(7052) 뒤의 박스(7012'), 벽걸이(7106) 및 벽(7004')에 그림자들(7052-s)을 캐스팅한다.
도 7l은 환경(7104)의 뷰 위에 디스플레이된 사용자 인터페이스 요소(7054)를 예시한다. 사용자 인터페이스 요소(7054)는 도 7l의 사용자의 시점에서 사용자 인터페이스 요소(7054)의 최상부 및 좌측 에지들을 따라 가시적인 두께로 디스플레이된다. 또한, 사용자 인터페이스 요소(7054)가 투명하거나 부분적으로 투명한 재료로서 디스플레이되는 경우, 사용자 인터페이스 요소(7054)의 두께는 선택적으로, 도 7l의 사용자의 시점으로부터 사용자 인터페이스 요소(7054)를 통해 부분적으로 가시적인 것으로 디스플레이될 우측 및 최하부 에지들로부터 명백하다.
또한, 사용자 인터페이스 요소(7054)는 복수의 구역들을 포함한다. 구체적으로, 사용자 인터페이스 요소(7054)는 사용자 인터페이스 요소(7054)의 전면(예컨대, 전면 또는 전방 평면)을 정의하는 제1 구역(7054-a)(예컨대, 시뮬레이션된 재료의 판유리 또는 플래터)을 포함한다. 일부 실시예들에서, 사용자 인터페이스 요소(7054)의 구역(7054-a)은 사용자 인터페이스 요소(7030)(도 7d)의 배경 부분(7030-a) 및/또는 사용자 인터페이스 요소(7040)(도 7h)의 배경 부분(7040-a)과 유사하다. 사용자 인터페이스 요소(7054)는 또한 사용자 인터페이스 요소(7054-a)에 의해 정의된 전면에 대해 상이한 깊이들을 갖는 구역들(7054-b, 7054-c 및 7054-d)을 포함한다. 일부 실시예들에서, 구역(7054-a)은 사용자 인터페이스 요소(7054)의 배경 부분이다. 일부 실시예들에서, 구역들(7054-a 내지 7054-c)은 텍스트 또는 그래픽과 같은 시각적 콘텐츠, 또는 버튼들 또는 제어부들과 같은 선택가능한 및/또는 활성화가능한 객체들을 포함하는 콘텐츠 구역들이다. 도 7l에 도시된 바와 같이, 구역들(7054-b 및 7054-c)은 사용자 인터페이스 요소(7054)의 전면 내로 리세스들의 외관을 갖는다(예컨대, 표면의 함몰부들 또는 이를테면 에칭 또는 절단에 의해 표면으로부터 제거된 재료의 부분들의 외관을 가짐). 대조적으로, 구역(7054-d)은 사용자 인터페이스 요소(7054)의 전면에 대해 상승된 재료의 외관(예컨대, 재료의 부분들이 표면으로부터 압출되거나, 엠보싱되거나, 그 위에 추가되거나 배치되거나, 또는 상승된 외관)을 갖는다. 일부 실시예들에서, 사용자 인터페이스 요소는 상승된 구역(7054-d)과 유사한 하나 이상의 상승된 구역들을 포함한다. 일부 실시예들에서, 사용자 인터페이스 요소(7054)의 상승된 구역들은 사용자 인터페이스 또는 환경(7104) 내의 동작들을 수행하도록 활성화가능한 사용자 인터페이스 요소들, 이를테면 버튼들, 메뉴들 또는 다른 제어부들에 대응한다. 일부 실시예들에서, 사용자 인터페이스 요소(7054)의 리세스된 구역들은 텍스트 입력 박스들과 같은 콘텐츠 입력 구역들인 사용자 인터페이스 요소들에 대응한다.
사용자 인터페이스 요소(7054)는 환경(7104)의 광과 상호작용하는 광학 속성들을 갖는 재료로서 디스플레이된다. 또한, 사용자 인터페이스 요소(7054)의 상이한 구역들은 이들 구역들의 특성들에 따라 그리고 광원(들)에 따라 환경(7104)의 광과 상호작용한다. 도 7l은 2개의 광원들, 즉 광원(7056) 및 광원(7058)을 도시한다. 광원(7056)은 (예컨대, 물리적 환경(7102)(도 7a)에 물리적으로 존재하는) 물리적 광원 또는 환경(7104)의 시뮬레이션된 광원일 수 있다. 유사하게, 광원(7058)은 물리적 광원 또는 시뮬레이션된 광원일 수 있다. 예를 들어, 광원들(7056 및 7058) 둘 모두는 물리적 광원들일 수 있거나; 광원들(7056 및 7058) 둘 모두는 시뮬레이션된 광원들일 수 있거나; 또는 하나의 광원은 물리적 광원인 한편 다른 광원은 시뮬레이션된 광원일 수 있다.
도 7l에 도시된 바와 같이, 사용자 인터페이스 요소(7054)는, 사용자 인터페이스 요소(7054)가 도 7l의 환경(7104)에서의 자신의 포지션에서, 그리고 도 7l의 사용자의 시점으로부터, 사용자 인터페이스 요소(7054)를 보는 사람에게 나타나는 것처럼 광원(7058)으로부터 광을 반사하는 외관으로 디스플레이된다. 예를 들어, 사용자 인터페이스 요소(7054)의 최상부 에지는 광원(7058)을 향하고, 광원(7058)에 대응하는 반사(또한 때때로, 본 명세서에서 사용되는 정반사로 지칭됨)로 디스플레이된다. 일부 실시예들에서, 본 명세서에서 언급된 바와 같이, 광원(7058)은 물리적 환경(7102)의 물리적 광원이고, 사용자 인터페이스 요소(7054)의 최상부 에지로부터의 정반사는 광원(7058)으로부터 광을 반사하는 물리적 환경(7102)의 물리적 객체의 외관을 시뮬레이션하기 위해 컴퓨터 시스템에 의해 생성 및 디스플레이된다. 일부 실시예들에서, 본 명세서에서 언급된 바와 같이, 광원(7058)은 환경(7104)의 시뮬레이션된 광원이고, 사용자 인터페이스 요소(7058)의 최상부 에지로부터의 정반사가 또한 시뮬레이션된다. 일부 실시예들에서, 사용자 인터페이스 요소(7054)의 최상부 에지로부터의 정반사의 양은 사용자 인터페이스 요소(7054)의 시뮬레이션된 두께에 기초한다.
다른 예에서, 상승된 구역(7054-d)은 사용자 인터페이스(7054)의 최상부 에지와 유사한 방식으로 광원(7058)을 향하는 그의 최상부 에지를 따라 광을 반사한다. 도 7l에 도시된 예에서, 상승된 구역(7054-d)의 최상부 에지로부터의 정반사의 양은 사용자 인터페이스 요소(7054)의 최상부 에지로부터의 정반사의 양보다 작은데, 이는, 사용자 인터페이스 요소(7054)의 전면에 대한 상승된 구역(7054-d)의 두께가 (예컨대, 상승된 구역(7054-d)이 사용자 인터페이스 요소(7054)의 표면으로부터 돌출되는 정도까지) 사용자 인터페이스 요소(7054)의 최상부 에지의 두께보다 작기 때문이다.
사용자 인터페이스 요소(7054)의 최상부 에지 및 상승된 구역(7054-d)과 대조적으로, 리세스된 구역들(7054-b 및 7054-c)은 이들의 최하부 에지들로부터 광을 반사하는데, 이는, 이것이 광원(7058)을 향하는 리세스된 구역들(7054-b 및 7054-c)의 최하부 에지들이기 때문이다. 사용자 인터페이스 요소(7054)의 전면에 대한 리세스된 구역들(7054-b 및 7054-c)의 깊이가 사용자 인터페이스 요소(7054)의 전면에 대한 상승된 구역(7054-d)의 두께와 동일하지만, 리세스된 구역(7054-b)의 최하부 에지로부터의 정반사의 양은 상승된 구역(7054-c)의 최상부 에지로부터의 정반사의 양보다 적다. 이는, 상승된 구역(7054-c)의 최상부 에지에 도달하는 광이 비교적 덜 가려지는 것과 대조적으로, 광이 사용자 인터페이스 요소(7054)의 시뮬레이션된 재료를 통해 이동해야 하는 것으로 인해 리세스된 구역(7054-b)의 최하부 에지에는 더 적은 광이 도달하는 원리와 일치한다. 결국, 리세스된 구역(7054-c)의 최하부 에지로부터의 정반사의 양은, 리세스된 구역(7054-b)의 최하부 에지로부터의 정반사의 양보다 적고, 이는, 예를 들어, 광이 사용자 인터페이스 요소(7054)의 시뮬레이션된 재료를 통해 (그리고, 예컨대, 상승된 구역(7054-c)를 지나) 더 먼 거리를 이동해야 하는 것으로 인해, 리세스된 구역(7054-b)의 최하부 에지에 도달하는 양보다 리세스된 구역(7054-b)의 최하부 에지에 도달하는 광이 더 많이 가려질 것이라는 원리와 일치한다.
일부 실시예들에서, 사용자 인터페이스 요소(7054)는 또한 광원에 대향하는 사용자 인터페이스 요소(7054)의 에지로부터 사용자 인터페이스 요소(7054) 내로 반사되는 광의 외관으로 디스플레이된다. 예를 들어, 도 7l은, 광원(7058)으로부터 사용자 인터페이스 요소(7054)를 통해 이동하는 광의 내부 반사에 따른, 그리고 사용자 인터페이스 요소(7054)가 투명한 또는 부분적으로 투명한 재료로서 디스플레이되는 것에 따른, 사용자 인터페이스 요소(7054)의 최하부 에지로부터의 정반사를 도시한다(예컨대, 내부 정반사는 외부 정반사의 위치 반대편의 사용자 인터페이스 요소(7054)의 에지의 내부를 따라 도시됨). 도 7l에 도시된 바와 같이, 사용자 인터페이스 요소(7054)의 최하부 에지로부터의 정반사의 양은, 사용자 인터페이스 요소(7054)의 최하부 에지로부터의 정반사가 내부 반사와 연관되는 것에 따라, 그리고/또는 사용자 인터페이스 요소(7054)의 최하부 에지가 사용자 인터페이스 요소(7054)의 최상부 에지보다 광원(7058)으로부터 더 멀리 있는 것에 따라, 사용자 인터페이스 요소(7054)의 최상부 에지로부터의 정반사의 양보다 적다.
사용자 인터페이스 요소(7054) 및 그의 구성 구역들은 일반적으로 직사각형 코너들(또한 꼭지점들로 지칭됨) 및 직사각형 에지들을 갖는 것으로 도시되지만(예컨대, 구역들(7054-a 내지 7054-d)은 직사각형 리세스들을 갖는 직사각형 프리즘들로서 도시됨), 당업자는 다른 3차원 형상들이 가능함을 인식할 것이다. 예를 들어, 사용자 인터페이스 요소(7054)의 코너들 및/또는 구역들(7054-a 내지 7054-d)은 선택적으로, 도 7l 내지 도 7o에 도시된 바와 같이 직사각형보다는 둥글다(예컨대, 사용자의 시점에서 볼 때 둥근 직사각형 형상을 갖는데, 예를 들어, 도 7k의 사용자 인터페이스 요소들(7050 및 7052)의 형상과 유사하게, 사용자 인터페이스 요소(7054)의 최상부 면이 일 에지에서 우측 면과 만나고 다른 에지에서 좌측 면과 만나는 대신에, 하향으로 만곡되고 사용자 인터페이스 요소(7054)의 측면들이 된다). 대안적으로 또는 추가로, 사용자 인터페이스 요소(7054)의 에지들 및/또는 구역들(7054-a 내지 7054-d)은 선택적으로, 도 7l 내지 도 7o에 도시된 바와 같이 직사각형보다는 둥글다(예컨대, 사용자 인터페이스 요소(7054)의 주연부를 따라 베벨링(beveling) 또는 곡률을 갖는데, 예를 들어, 구역(7054-a)에 대응하는 사용자 인터페이스 요소(7054)의 전면이 일 에지에서 우측 면과 만나고 다른 에지에서 좌측 면과 만나는 대신에, 사용자로부터 멀리 후방으로 만곡되고 사용자 인터페이스 요소(7054)의 측면들이 된다). 일부 실시예들에서, 사용자 인터페이스 요소(7054) 상의 정반사(들)는 코너들 및 에지들에서 사용자 인터페이스 요소의 표면의 형상에 따라 포지셔닝된다(예컨대, 직사각형 코너보다는 둥근 코너에 대해 상이한 정반사가 도시된다).
정반사에 추가하여, 사용자 인터페이스 요소들은 다른 객체들에 그림자를 캐스팅할 수 있다. 예를 들어, 도 7l에서, 상승된 구역(7054-d)이, 광원(7058)으로부터의 광의 일부가 상승된 구역(7054-d) 아래 약간 좌측에 있는 사용자 인터페이스 요소(7054)의 부분에 도달하는 것을 차단하는 것에 따라, 상승된 구역(7054-d)은 사용자 인터페이스 요소(7054) 상에 그림자(7054-s2)를 캐스팅한다. 또한, 사용자 인터페이스 요소(7054)가, 광원(7058)으로부터의 광의 일부가 사용자 인터페이스 요소(7054) 아래 약간 좌측에 있는 환경(7104)의 부분들에 도달하는 것을 차단하는 것에 따라, 사용자 인터페이스 요소(7054)는 환경(7104)에서 그림자(7054-s1)를 캐스팅하는 것으로 도시된다. 당업자는, 정반사 및/또는 그림자들에 관한 유사한 원리들이 다른 컴퓨터 생성 객체들 및/또는 물리적 객체들의 표현들을 포함하지만 이에 제한되지 않는 한경(7104) 내의 다른 객체들에 적용될 수 있음(예컨대, 시뮬레이션된 광은 물리적 객체들 상에 캐스팅되어 시뮬레이션된 정반사를 초래하고, 물리적 객체들은 시뮬레이션된 그림자들을 캐스팅할 수 있음)을 인식할 것이다.
일부 실시예들에서, 환경(7104) 내의 객체들로부터 디스플레이된 정반사(들)는 환경(7104) 및/또는 대응하는 물리적 환경(7102) 내의 광원들의 서브세트에 기초한다. 당업자는 환경(7104)의 뷰를 생성 및 제시할 때 하나 이상의 광원들이 선택적으로 무시될 수 있다는 것을 인식할 것이다. 예를 들어, 2개의 광원들(7056 및 7058)이 도 7l에 도시되지만, 도 7l에 도시된 정반사들은 광원(7056)이 아닌 광원(7058)에 기초한다. 일부 경우들에서, 광원(7506)은 물리적 광원이고, 광원(7508)은 시뮬레이션된 광원이며, 정반사(들)는 광원(7508)에 기초하는 반면, 물리적 광원(7506)은 무시된다. 이는 광원들이 컴퓨터 시스템에 의해 완전히 생성되는 환경(7104)의 보다 몰입적인 뷰잉 경험을 사용자에게 제공할 수 있다. 대안적으로, 광원(7508)은 물리적 광원이고, 물리적 광원(7508)에 기초하여 정반사(들)를 디스플레이하는 것은 사용자의 주변 물리적 환경과 더 밀접하게 묶인 뷰잉 경험을 사용자에게 제공함으로써 사용자 안전을 개선한다.
도 7m은 환경(7104)에 대해 상이한 포지션에 디스플레이된 사용자 인터페이스 요소(7054)를 도시한다. 도 7m에서, 사용자 인터페이스 요소(7054)는 도 7l에서보다 사용자의 시점에 더 근접하다. 따라서, 사용자 인터페이스 요소(7054)는 도 7l에서보다 도 7m에서 더 큰 스케일로(예컨대, 더 넓고 더 높게) 도시되고, 도 7l의 사용자 인터페이스 요소(7054)의 두께(h1)보다 더 큰 두께(h2)를 갖는다. 도 7m의 사용자 인터페이스 요소(7054)의 증가된 두께(h2)는, 객체들이 사용자에게 더 가깝게 포지셔닝될 때 더 크게 나타나는 것에 따라, 사용자 인터페이스 요소(7054)가 사용자의 시점에 더 가깝게 리포지셔닝되는 것에 부분적으로 기인한다. 또한, 일부 실시예들에서, 사용자 인터페이스 요소(7054)의 두께는 사용자 인터페이스 요소(7054)를 리포지셔닝하는 것과 연관된 양보다 더 증가된다. 예를 들어, 객체를 도 7l에 도시된 포지션으로부터 포지션(7M)으로 리포지셔닝하는 것이 객체의 디스플레이된 두께의 제1 양의 증가와 연관된다면(예컨대, 사용자 인터페이스 요소(7054)는 h1보다 크고 h2 보다 작은 두께 h3으로 디스플레이됨), 사용자 인터페이스 요소(7054)는 디스플레이 두께에서 제2 양의 증가로 디스플레이되고, 제2 양은 제1 양보다 크다. 일부 실시예들에서, 디스플레이된 3차원 환경에서 사용자에게 더 근접하게 이동된 객체의 디스플레이된 두께의 증가를 과장하는 것은 사용자가 리포지셔닝된 객체를 더 양호하게 인식하는 것을 돕는다.
도 7m은 또한 사용자 인터페이스 요소(7054)의 프로파일 뷰를 도시하는 측면도(7055)를 포함한다. 측면도(7055)는 사용자 인터페이스 요소(7054)에 대한 리세스된 구역(7054-b), 리세스된 구역(7054-c) 및 상승된 구역(7054-d)의 두께(예컨대, 사용자 인터페이스 요소(7054)의 전면에 대한 리세스된 구역들(7054-b 및 7054-c)의 깊이, 및 사용자 인터페이스 요소(7054)의 전면에 대한 상승된 구역(7054-d)의 두께)를 표현한다.
또한, 도 7m에서, 사용자 인터페이스 요소(7054) 상의 정반사들은 도 7l에서보다 사용자 인터페이스 요소(7054) 상에서 상이한 포지션들에 위치된다. 구체적으로, 도 7m의 정반사들은 도 7l에서와 같이 광원(7058) 대신 광원(7056)에 기초하며, 사용자 인터페이스 요소(7054)가 도 7m의 환경(7104) 내의 포지션에서 그리고 도 7m의 사용자의 시점으로부터 사용자 인터페이스 요소(7054)를 보는 사람에게 나타나는 것처럼 광원(7056)으로부터의 광이 사용자 인터페이스 요소(7054)로부터 반사된 것을 시뮬레이션한다. 예를 들어, 도 7m은 (예컨대, 광원(7056)을 향하는, 사용자 인터페이스 요소(7054)의 외측 에지를 따르는 장소에서) 사용자 인터페이스 요소(7054)의 (예컨대, 최상부 에지의) 최상부 좌측 코너에서의 정반사 및 (예컨대, 광원(7056)을 향하는, 상승된 구역(7054-d)의 외측 에지를 따르는 위치에서) 상승된 구역(7054-d)의 최상부 좌측 코너에서의 정반사를 도시한다. 정반사들은 또한 (예컨대, 광원(7056)에 대향하는, 리세스된 구역(7054-b)의 에지를 따르는 장소에서) 리세스된 구역(7054-b)의 내측 최하부 우측 코너에 및 (예컨대, 광원(7056)에 대향하는, 리세스된 구역(7054-c)의 에지를 따르는 장소에서) 리세스된 구역(7054-c)의 내측 최하부 우측 코너에 디스플레이된다. 사용자 인터페이스 요소(7054)는 또한 그의 최하부 우측 코너로부터 사용자 인터페이스 요소(7054) 내로 반사되는 광의 외관으로 디스플레이되며(예컨대, 내부 정반사는 외부 정반사의 위치에 대향하는, 사용자 인터페이스 요소(7054)의 에지의 내부를 따라 도시됨), 여기서, 최하부 우측 코너에서의 내부 정반사의 양은 최상부 좌측 코너에서의 외부 정반사의 양보다 적다.
일부 상황들에서, 도 7l에 도시된 위치들로부터 도 7m에 도시된 위치들로의 사용자 인터페이스 요소(7054)로부터의 정반사들의 위치들의 변화는 적어도 부분적으로, (예컨대, 사용자 인터페이스 요소(7054)가 광원(7058)의 환경(7104) 내의 공간 위치로부터 더 멀리 그리고/또는 덜 바로 아래로 그리고 광원(7056)의 환경(7104) 내의 공간 위치에 더 가깝게 그리고/또는 더 바로 아래로 이동하는 것에 따라) 사용자 인터페이스 요소(7054)의 변경된 포지션에 기인한다. 일부 상황들에서, 사용자 인터페이스 요소(7054)로부터의 정반사들의 위치들의 변화는 적어도 부분적으로, 사용자 인터페이스 요소(7054)에 대한 사용자의 시점의 변화에 기인한다. 일부 상황들에서, 도 7l에 도시된 위치들로부터 도 7m에 도시된 위치들로의 사용자 인터페이스 요소(7054)로부터의 정반사들의 위치들의 변화는 적어도 부분적으로 광원(7056) 및/또는 광원(7058)의 변화들에 기인한다(예컨대, 도 7l과 대조적으로, 광원(7058)은 도 7m에서 밝기가 감소되거나 턴 오프되었고 그리고/또는 광원(7056)은 도 7m에서 밝기가 증가되거나 턴 온되었다). 일부 실시예들에서, 컴퓨터 시스템은, 예를 들어, 하루 중 시간(예컨대, 일광은 주간 동안 광원으로서 사용될 수 있는 반면, 야간에는 램프가 광원으로서 사용될 수 있음), 룸 색상 온도(예컨대, 더 따뜻한 색상 톤들을 갖는 룸에서의 정반사를 위해 그리고/또는 환경(7104)에서 더 따뜻한 분위기를 달성하기 위해, 더 따뜻한 온도의 광원이 사용될 수 있음), 밝기(예컨대, 더 밝게 조명된 룸에서의 정반사를 위해, 또는 더 밝게 조명된 룸을 달성하기 위해 더 밝은 광원이 사용될 수 있음)과 같은 콘텍스트 고려사항들로 인해 그리고/또는 하나 이상의 특정 광원들의 사용자 선택에 응답하여, 정반사들이 어느 광원에 기초할지를 선택한다.
도 7l을 참조하여 본 명세서에서 논의된 바와 같이, 사용자 인터페이스 요소(7054) 및 그의 부분들은 다른 객체들 상에 그림자들을 캐스팅할 수 있다. 예를 들어, 도 7m에서, 상승된 구역(7054-d)이, 광원(7056)으로부터의 광의 일부가 상승된 구역(7054-d) 아래 우측에 있는 사용자 인터페이스 요소(7054)의 부분에 도달하는 것을 차단하는 것에 따라, 상승된 구역(7054-d)은 사용자 인터페이스 요소(7054) 상에 그림자(7054-s3)를 캐스팅한다. 또한, 사용자 인터페이스 요소(7054)가, 광원(7056)으로부터의 광의 일부가 사용자 인터페이스 요소(7054) 아래 우측에 있는 환경(7104)의 부분들에 도달하는 것을 차단하는 것에 따라, 사용자 인터페이스 요소(7054)는 환경(7104)에서 그림자(7054-s4)를 캐스팅하는 것으로 도시된다.
도 7l을 참조하여 본 명세서에서 또한 논의된 바와 같이, 사용자 인터페이스 요소(7054)로부터의 정반사들은 일부 실시예들에서 환경(7104) 및/또는 대응하는 물리적 환경(7102) 내의 광원들의 서브세트에 기초한다. 예를 들어, 도 7m에 도시된 정반사들은 (도 7l의 경우와 같이) 광원(7058) 대신에 광원(7056)에 기초한다. 당업자는, 광원(7056) 및 광원(7058) 둘 모두에 대한 정반사들이 사용자 인터페이스 요소(7054) 및/또는 환경(7104) 내의 다른 객체들 상에 디스플레이되는 다른 실시예들이 가능함을 인식할 것이다.
도 7n은 사용자 인터페이스 요소(7054)와의 사용자 상호작용에 응답하여 사용자 인터페이스 요소(7054)에서의 전환을 예시한다. 도 7n은 사용자(7002)의 눈으로부터 상승된 구역(7054-d)으로 연장되는 파선에 의해 도 7n에 표시된 상승된 구역(7054-d)으로 주의를 돌리는(예컨대, 응시하는) 사용자(7002)를 도시한다. 사용자(7002)가 상승된 구역(7054-d)으로 주의를 돌리는 것에 응답하여, 상승된 구역(7054-d)은 사용자 인터페이스 요소(7054)의 표면으로부터(예컨대, 구역(7054-a)에 의해 정의된 전면으로부터) 훨씬 더 많이 상승된다. 측면도(7055)는, 상승된 구역들(7054-b 및 7054-c)의 두께들(예컨대, 깊이들)에서의 어떠한 변화도 없이 (예컨대, 도 7m의 측면도(7055)와 비교하여) 사용자 인터페이스 요소(7054)의 표면에 대한 상승된 구역(7054-d)의 두께의 증가를 예시하는 프로파일 도면을 도시한다. 상승된 구역(7054-d)의 증가된 두께에 따라, 상승된 구역(7054-d)의 최상부 좌측 코너로부터의 정반사의 더 많은 양이 도시되고, 상승된 구역(7054-d)은 상승된 구역(7054-d)의 아래 및 우측에 있는 사용자 인터페이스 요소(7054)의 부분들 상에 더 긴 그림자를 캐스팅하는 것으로 도시된다.
일부 실시예들에서, 사용자가 상승된 구역으로 주의를 돌리는 것에 응답하여, 사용자 인터페이스 요소의 표면에 대한 사용자 인터페이스 요소의 상승된 구역의 두께가 변경된다(예컨대, 상승된 구역(7054-d)의 두께는 도 7n에 도시된 바와 같이 증가되고; 대안적으로, 두께는 감소된다). 일부 실시예들에서, 사용자 인터페이스 요소의 상승된 구역의 두께는, 상승된 구역으로 주의를 돌리는 사용자 입력의 제1 부분에 응답하여 제1 양만큼(예컨대, 상승된 구역을 응시하는 것에 응답하여 두께가 증가됨), 이어서 사용자 입력의 제2의 후속 부분에 응답하여 제2 양만큼 변경된다(예컨대, 상승된 구역의 선택 또는 활성화, 또는 더 구체적으로는 상승된 구역에 대응하거나 그에 의해 정의된 제어에 응답하여 두께에서 감소됨). 일부 실시예들에서, 사용자 인터페이스 요소의 리세스된 구역의 깊이는 사용자가 리세스된 구역으로 주의를 돌리는 것에 응답하여 변경되지 않는다(예컨대, 리세스된 구역(7054-b 또는 7054-c)의 깊이는 사용자의 시선에 응답하여 변경되지 않을 것이다). 대안적으로, 일부 실시예들에서, 사용자 인터페이스 요소의 리세스된 구역의 깊이는, 도 7o를 참조하여 본 명세서에서 더 상세히 설명된 바와 같이, 사용자가 리세스된 구역으로 주의를 돌리는 것에 응답하여 변경된다(예컨대, 깊이가 증가되거나, 또는 리세스된 구역이 상승된 구역으로 변경됨).
일부 실시예들에서, 사용자 인터페이스 요소의 상승된 구역은 다수의 층들을 포함하며, 다수의 층들 각각은 사용자 인터페이스 요소의 표면에 대해 상이한 정도로 상승된다. 예를 들어, 상승된 구역(7054-d)은 도 7l 내지 도 7m에서 사용자 인터페이스 요소(7054)의 전면에 대한 제1 두께 및 도 7n의 사용자 인터페이스 요소(7054)의 전면에 대한 제2의 더 큰 두께를 갖는 단일 층으로서 도시되고, 당업자는, 상승된 구역(7054-d)이 개개의 두께를 각각 갖는 층들의 스택을 포함할 수 있음을 인식할 것이다. 상이한 층들을 갖는 사용자 인터페이스 요소들, 및 이러한 사용자 인터페이스 요소들과의 상호작용들이 도 7p를 참조하여 본 명세서에서 더 상세히 설명된다.
도 7o는 도 7n에 도시된 상호작용과는 상이한 사용자 인터페이스 요소(7054)와의 사용자 상호작용에 응답하여 사용자 인터페이스 요소(7054)의 전환을 예시한다. 도 7o는 사용자(7002)의 눈으로부터 리세스된 구역(7054-b)으로 연장되는 파선에 의해 도 7o에 표시된 리세스된 구역(7054-b)으로 주의를 돌리는(예컨대, 응시하는) 사용자(7002)를 도시한다(예컨대, 사용자(7002)가 리세스된 구역(7054-b)으로 주의를 돌리는 것으로 인한 도 7m으로부터의 전환, 또는 대신에 사용자(7002)의 주의가 구역(7054-d)으로부터 구역(7054-b)으로 이동하는 것으로 인한 도 7n으로부터의 전환). 사용자(7002)가 리세스된 구역(7054-b)으로 주의를 돌리는 것에 응답하여, 리세스된 구역(7054-b)은 사용자 인터페이스 요소(7054)의 표면으로부터(예컨대, 구역(7054-a)에 의해 정의된 전면으로부터) 훨씬 더 리세스된다. 측면도(7055)는, 리세스된 구역(7054-c)의 두께의 어떠한 변화도 없이 그리고 리세스된 구역(7054-d)의 두께(예컨대, 높이)의 어떠한 변화도 없이 (예컨대, 도 7m의 측면도(7055)와 비교하여) 사용자 인터페이스 요소(7054)의 표면에 대한 리세스된 구역(7054-b)의 깊이의 증가를 예시하는 프로파일 도면을 도시한다. 리세스된 구역(7054-b)의 증가된 깊이에 따라, (예컨대, 리세스된 구역(7054-c) 및 상승된 구역(7054-d)으로부터의 정반사들에서 어떠한 변화들도 없이) 리세스된 구역(7054-b)의 내측 최하부 우측 코너로부터의 정반사의 더 큰 양이 도시된다. 도 7o의 예에서, 리세스된 구역(7054-b)으로부터의 정반사의 변화는 3차원 환경에서 시뮬레이션된된 및/또는 물리적 하나 이상의 광원들의 변화들보다는 (예컨대, 리세스된 구역(7054-b) 및/또는 더 일반적으로 사용자 인터페이스 요소(7054)를 형성하는 시뮬레이션된 재료의 시뮬레이션된 광학 속성들에서) 사용자 인터페이스 요소(7054)의 변화들에 기인한다(이는, 본 명세서에서 설명된 바와 같이, 또한 일부 실시예들에서 고려될 수 있음). 일부 실시예들에서, 사용자 인터페이스 요소(7054)는 7054-b 및/또는 7054-c와 같은 리세스된 구역들 상에 그림자를 캐스팅하는 것으로 도시되고(예컨대, 리세스된 구역들에 인접한 사용자 인터페이스 요소(7054)의 에지들에 의해 캐스팅된 그림자들), 선택적으로, 리세스된 구역(7054-b)의 깊이의 증가에 따라, 더 큰 양의 그림자가 사용자 인터페이스 요소(7054)에 의해 리세스된 구역(7054-b) 상에 캐스팅되는 것으로 도시된다.
일부 실시예들에서, 사용자가 리세스된 구역으로 주의를 돌리는 것에 응답하여, 사용자 인터페이스 요소의 표면에 대한 사용자 인터페이스 요소의 리세스된 구역의 깊이가 변경된다(예컨대, 리세스된 구역(7054-b)의 깊이는 도 7o에 도시된 바와 같이 증가되고; 대안적으로, 깊이는 감소된다). 일부 실시예들에서, 사용자 인터페이스 요소의 리세스된 구역의 깊이는, 리세스된 구역으로 주의를 돌리는 사용자 입력의 제1 부분에 응답하여 제1 양만큼(예컨대, 리세스된 구역을 응시하는 것에 응답하여 두께가 증가됨), 이어서 사용자 입력의 제2의 후속 부분에 응답하여 제2 양만큼 변경된다(예컨대, 리세스된 구역의 선택 또는 활성화, 또는 더 구체적으로는 리세스된 구역에 대응하거나 그에 의해 정의된 제어에 응답하여 깊이에서 감소됨). 일부 실시예들에서, 사용자 인터페이스 요소의 리세스된 구역의 깊이는 사용자가 리세스된 구역으로 주의를 돌리는 것에 응답하여 변경되지 않는다(예컨대, 리세스된 구역(7054-b 또는 7054-c)의 깊이는 사용자의 시선에 응답하여 변경되지 않을 것이다). 대안적으로, 일부 실시예들에서, 사용자 인터페이스 요소의 리세스된 구역의 깊이는 사용자가 리세스된 구역으로 주의를 돌리는 것에 응답하여 리세스된 구역을 상승된 구역으로 변경함으로써 변경된다.
일부 상황들에서, 이를테면, 리세스된 구역들이 텍스트 입력과 같은 입력 필드들인 실시예들에서, 리세스된 구역은 텍스트를 포함한다. 예를 들어, 검색 바인 리세스된 구역은 리세스된 구역의 목적 및 그와 상호작용하는 방법에 대한 시각적 프롬프트로서 텍스트 라벨, 이를테면 "Search"라는 단어를 포함할 수 있다. 다른 예에서, 입력 필드인 리세스된 구역은 사용자에 의해 이전에 입력된 텍스트(예컨대, 음성 커맨드, 키보드 또는 다른 입력 디바이스를 통해 제공되는 입력된 검색 용어 또는 검색 질의)를 포함한다. 도 7m 및 도 7n의 예를 사용하면, 일부 실시예들에서, 사용자의 주의가 리세스된 구역(7054-b)으로 지향되지 않는 동안, 텍스트는 리세스된 구역(7054-b)에 대해 제1 깊이에 포지셔닝된다. 일부 실시예들에서, 텍스트는, 구역이 리세스되는 표면과 동일한 평면(예컨대, 시뮬레이션된의 시점으로부터, 구역(7054-a)에 의해 정의된 사용자 인터페이스 요소(7054)의 전면과 동일한 시뮬레이션된 거리에서, 사용자 인터페이스 요소(7054)에 대해 제로 깊이)에 있다. 일부 실시예들에서, 텍스트는, 구역이 리세스된 표면의 평면을 지나 리세스된 구역 내에 있다(예컨대, 사용자 인터페이스 요소(7054)의 전면보다 사용자의 시점으로부터 더 큰 시뮬레이션된 거리에서, 사용자 인터페이스 요소(7054)에 대한 0이 아닌 깊이). 일부 실시예들에서, 텍스트는 구역(7054-b)의 리세스된 표면의 전방에(예컨대, 그보다 더 작은 깊이에) 있다. 일부 실시예들에서, 텍스트는 사용자(7002)의 시점이 이동할 때 리세스된 표면에 대해 시차를 나타내며, 이는 환경(7104) 내의 사용자의 깊이 지각을 개선한다.
일부 실시예들에서, 리세스된 구역(7054-b)의 깊이의 변화(예컨대, 증가)와 함께, 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 사용자(7002)가 리세스된 구역(7054-b)에 주의를 기울이는 것에 응답하여, 리세스된 구역(7054-b)의 텍스트의 깊이는 또한 선택적으로 리세스된 구역(7054-b)의 깊이의 변화량에 대응하는 양만큼 변경된다(예컨대, 증가된다). 일부 실시예들에서, 리세스된 구역(7054-b) 내의 텍스트의 깊이는, 사용자(7002)가 리세스된 구역(7054-b)과 상호작용할 때까지, 사용자(7002)가 리세스된 구역(7054-b)에 주의를 기울이는 것(예컨대, 단지 상호작용하기 위한 준비를 표시함)에 응답하여, 변경되지 않는다. 일부 그러한 실시예들에서, 사용자(7002)가 이를테면, 본 명세서에서 설명된 도 7u의 입력 제스처와 같은 입력 제스처로, 리세스된 구역(7054-b)과 상호작용하는 것에 응답하여, 리세스된 구역(7054-b)에서의 텍스트의 깊이는, 입력 제스처의 제1 부분에 응답하여, 선택적으로, 사용자(7002)가 리세스된 구역(7054-b)에 주의를 기울이는 것에 응답하여 이전에 발생한 리세스된 구역(7054-b)의 깊이의 변화의 양에 대응하는 양만큼 변경된다(예컨대, 증가된다)(예컨대, 텍스트의 깊이의 변화는 리세스된 구역(7054-b)의 깊이의 변화에 비해 지연된다). 일부 실시예들에서, 리세스된 구역(7054-b)의 깊이는 입력 제스처의 제1 부분에 응답하여 추가로 변경되지 않는다. 일부 실시예들에서, 입력 제스처의 제1 부분에 응답하여, 리세스된 구역(7054b) 내의 텍스트의 깊이는, 사용자(7002)가 리세스된 구역(7054-b)으로 주의를 기울이는 것에 응답하여, 선택적으로 리세스된 구역(7054-b)의 깊이를 유지하면서, 존재하는 경우 이전에 발생한 변화량을 넘어서 추가로 변경된다(예컨대, 추가로 증가됨). 일부 실시예들에서, 입력 제스처의 종료에 응답하여, 리세스된 구역(7054-b) 내의 텍스트의 깊이의 변화가 반전된다. 예를 들어, 입력 제스처의 종료에 응답하여, 텍스트는, 입력 제스처의 제1 부분에 응답하여 동일한 깊이로, 사용자(7002)가 리세스된 구역(7054-b)으로 주의를 기울이는 것에 응답하여 동일한 깊이로, 사용자(7002)가 리세스된 구역(7054-b)으로 주의를 돌리기 직전의 디폴트 깊이로, 또는 입력 제스처의 제1 부분에 응답하여 리세스된 구역(7054-b)의 텍스트의 깊이와 상이한 임의의 다른(예컨대, 그보다 작은) 깊이로 복귀된다. 일부 실시예들에서, 텍스트의 깊이의 변화는, 사용자(7002)의 주의가 리세스된 구역(7054-b)으로 계속 지향되는 한 입력 제스처의 종료 후에 중간 깊이로(예컨대, 사용자(7002)가 리세스된 구역(7054-b)으로 주의를 돌리는 것에 응답한 것과 동일한 깊이) 부분적으로 반전되고, 이어서 사용자(7002)의 주의가 더 이상 리세스된 구역(7054-b)으로 지향되지 않는 것에 응답하여 추가로 반전된다. 일부 실시예들에서, 리세스된 구역(7054-b)의 변경된 깊이는, 사용자(7002)의 주의가 리세스된 구역(7054-b)으로 계속 지향되는 한, 입력 제스처의 종료 후에 유지된다. 일부 실시예들에서, 텍스트의 깊이의 변화는 (예컨대, 사용자(7002)의 주의가 리세스된 구역(7054-b)으로 계속 지향되는지 여부에 관계없이, 그리고 지향되더라도) 입력 제스처의 종료에 응답하여 완전히 반전된다. 일부 실시예들에서, 리세스된 구역(7054-b)의 깊이의 변화는 또한, (예컨대, 사용자(7002)의 주의가 리세스된 구역(7054-b)으로 계속 지향되는지 여부에 관계없이, 그리고 지향되더라도) 입력 제스처의 종료에 응답하여 완전히 반전된다.
도 7p는 일부 실시예들에 따른, 사용자가 사용자 인터페이스 요소로 주의를 돌리는 것을 포함하여, 상이한 사용자 상호작용들에 응답하여 사용자 인터페이스 요소(예컨대, 사용자 인터페이스 요소(7060))의 층들을 상이한 정도로 분리하는 것을 예시한다. 도 7p의 사용자 인터페이스들은 도 12의 프로세스들을 포함하여 아래에 설명되는 프로세스들을 예시하기 위해 사용된다. 도 7p를 참조하여 설명된 사용자 인터페이스 요소들은 선택적으로, 설명들에서 달리 언급되지 않는 한, 일부 실시예들에 따라, 도 7a 내지 도 7g, 도 7h 내지 도 7j, 도 7k 내지 도 7o, 도 7q 내지 도 7w, 및/또는 도 7x 내지 도 7z의 예들과 같은 다른 예들에 대해 본 명세서에서 설명된 사용자 인터페이스 요소들의 특성들 및/또는 거동들 중 하나 이상을 갖는다.
도 7p에서, 시나리오(7062)는 본 명세서에서 설명된 바와 같이, 물리적 환경(7102)(도 7a)의 일부의 표현을 포함하는 환경(7104)의 뷰를 (예컨대, 디스플레이 생성 컴포넌트(7100)를 통해) 디스플레이하는 컴퓨터 시스템(101)을 도시한다. 또한, 도 7p의 환경(7104)에는 복수의 사용자 인터페이스 요소들(또한 본 명세서에서 아이콘들로 지칭됨)이 디스플레이된다. 복수의 사용자 인터페이스 요소들은 아이콘들(7070)의 클러스터로서 디스플레이되고, 컴퓨터 시스템(101)에 대한 홈 사용자 인터페이스 또는 론치 패드, 이를테면 애플리케이션들을 개시하기 위한 아이콘들, 통신 세션들을 시작하기 위한 아이콘들(예컨대, 사용자(7002) 이외의 다른 사용자들에 대응하는 아이콘들), 컴퓨터 생성 경험들을 시작하기 위한 아이콘들, 사용자 인터페이스 객체들의 상이한 카테고리들에 대한 그룹 아이콘들, 콘테이너 객체들, 이를테면 폴더들 또는 그룹들, 홈 버튼, 도크, 루트 메뉴, 또는 3차원 환경 내에서 동작들을 수행하고 그와 상호작용하기 위한 다른 사용자 인터페이스 요소들을 표현한다. 아이콘들의 클러스터(7070) 내의 개개의 아이콘들은 환경(7104)에서 하나 이상의 동작들(예컨대, 애플리케이션들 또는 경험들을 개시하는 것, 파일들 또는 폴더들을 여는 것 등)을 수행하도록 활성화가능하다.
도 7p는 또한, 아이콘(7060)이 상이한 아이콘 층들과 연관된 복수의 아이콘 요소들을 포함하는 것을 예시하는 개개의 아이콘(7060)의 확대도(7072)를 도시한다. 예를 들어, 엔벨로프 그래픽은 전경 층(7060-1)과 연관되고(예컨대, 그에 할당됨); 원 요소는 중간 층(706-2)과 연관되고(예컨대, 그에 할당됨); 정사각형 백킹 요소는 배경 층(7030-3)과 연관된다(예컨대, 그에 할당됨). 당업자는 추가적인 요소들(예컨대, 한 번에 하나 초과)이 아이콘(7060)의 개개의 층과 연관될 수 있고 사용자 인터페이스 요소(7060)가 더 많거나 더 적은 층들을 포함할 수 있음을 인식할 것이다.
도 7p는 또한 층들(7060-1, 7060-2 및 7060-3) 사이에 상이한 분리 정도를 갖는 아이콘(7060)을 예시한다. 예를 들어, 뷰(7074)는 층들(7060-1 내지 7060-3) 사이에 분리가 없는 아이콘(7060)을 도시한다. 뷰(7076)는 층들(7060-1 내지 7060-3) 각각 사이의 제1 양(또는 정도)의 분리를 갖는 아이콘(7060)을 도시한다. 뷰(7078)는, 제1 양의 분리보다 큰, 층들(7060-1 내지 7060-3) 각각 사이의 제2 양(또는 정도)의 분리를 갖는 아이콘(7060)을 도시한다. 당업자는, 상이한 세트들의 층들에 대해 상이한 양들의 분리가 사용될 수 있음(예컨대, 선택적으로, 층들(7060-1 및 7060-2) 사이의 분리의 양은 뷰(7076 및/또는 7078)에서 층들(7060-2) 및 층들(7060-3) 사이의 분리의 양과 상이함)을 인식할 것이다.
일부 실시예들에서, 사용자 인터페이스 요소의 층은 사용자 인터페이스 요소의 하나 이상의 다른 층들 상에 광 및/또는 그림자를 캐스팅한다. 예를 들어, 도 7n을 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)의 상승된 구역(7054-d)과 같은 사용자 인터페이스 요소의 상승된 구역(예컨대, 상호작용형 제어 또는 콘텐츠 입력 구역에 대응함)은 선택적으로 사용자 인터페이스 요소(7054) 및/또는 환경(7104)의 다른 부분들 상에 그림자를 캐스팅한다. 또한, 도 7n을 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소의 상승된 구역은 선택적으로, 개개의 두께를 각각 갖는 층들의 스택을 포함한다. 예를 들어, 도 7p의 뷰(7074)에 도시된 바와 같이, 층들(7060-1 내지 7060-3) 각각은 개개의 두께를 가지며, 층들(7060-1 내지 7060-3) 사이에 어떠한 분리도 없이, 층들(7060-1 내지 7060-3)은 (예컨대, 사용자 인터페이스 요소(7060)의 총 두께가 층들(7060-1 내지 7060-3) 각각의 두께들의 합이 되도록) 적층되어 나타난다. 일부 실시예들에서, 층(7060-1)은 층(7060-1)의 두께에 따라 층(7060-2 및/또는 7060-3) 상에 그림자를 캐스팅한다. 유사하게, 일부 실시예들에서, 층(7060-2)은 층(7060-2)의 두께에 따라 층(7060-1) 및/또는 층(7060-3) 상에 그림자를 캐스팅한다. 마찬가지로, 일부 실시예들에서, 층(7060-3)은 층(7060-3)의 두께에 따라 층(7060-1) 및/또는 층(7060-2) 상에 그림자를 캐스팅한다. 일부 실시예들에서, 층들(7060-1 내지 7060-3)은 (예컨대, 도 7n에 도시되고 이를 참조하여 본 명세서에 설명된 바와 같이) 층들 사이에 분리 없이도 그림자(들)를 캐스팅한다. 일부 실시예들에서, 예를 들어, 뷰(7076)에 도시된 바와 같이, 층들(7060-1 내지 7060-3)은 분리되어 있으면서 서로 상에 그림자를 캐스팅하고: 층(7060-1)은 층(7060-2)의 음영 구역으로 표시된 층(7060-2) 상에 그림자를 캐스팅하고; 이어서 층(7060-2)은 층(7060-3)의 음영 구역으로 표시된 층(7060-3) 상에 그림자를 캐스팅한다. 일부 실시예들에서, 그림자의 외관은 층들 사이의 분리 정도에 기초한다. 예를 들어, 뷰(7078)에 도시된 바와 같이, 뷰(7076)에 도시된 분리 정도에 대해 뷰(7078)의 층들(7060-1)과 층들(7060-2) 사이의 증가된 분리 정도에 따라, 층(7060-1)은 뷰(7076)에서의 그림자보다 더 확산된 그림자를 층(7060-2) 상에 캐스팅한다. 유사하게, 뷰(7078)에 도시된 바와 같이, 뷰(7076)에 도시된 분리 정도에 대해 뷰(7078)의 층들(7060-2)과 층들(7060-3) 사이의 증가된 분리 정도에 따라, 층(7060-2)은 뷰(7076)에서의 그림자보다 더 확산된 그림자를 층(7060-3) 상에 캐스팅한다.
일부 실시예들에서, 사용자 인터페이스 요소의 층들은 서로 상에 광을 캐스팅한다. 예를 들어, 본 명세서에서 그림자들로서 설명된, 도 7p의 뷰들(7074, 7076 및 7078)의 음영 구역들은 대안적으로 광을 표현할 수 있다. 따라서, 그림자들을 참조하여 위에서 설명된 거동들과 유사하게, 일부 실시예들에서, 층들(7060-1 내지 7060-3)에 의해 서로 상에 캐스팅된 광은 층들 사이의 분리 정도(들)에 기초하여 상이한 외관들을 갖는다. 예를 들어, 뷰(7078) 내의 층들(7060-1 및 7060-2)(예컨대, 음영으로 표현됨)에 의해 캐스팅된 광은 뷰(7076)에서보다 뷰(7078)에서 층들(7060-1 내지 7060-3) 사이의 더 큰 분리 정도에 따라, 뷰(7076)에서 층들(7060-1 및 7060-2)에 의해 캐스팅된 광보다 더 확산된다. 일부 실시예들에서, 제1 층에 의해 제2 층 상에(또는 다른 곳에서 환경(7104)으로) 캐스팅된 광은 제1 층에 의해 방출되는 광을 시뮬레이션하도록 디스플레이된다. 일부 실시예들에서, 제1 층에 의해 제2 층(또는 다른 곳에서 환경(7104)으로)으로 캐스팅된 광은 제1 층으로부터 반사되는, 환경(7104)에서 하나 이상의 별개의 광원들(예컨대, 하나 이상의 물리적 및/또는 시뮬레이션된 광원들)로부터의 광을 시뮬레이션하도록 디스플레이된다.
일부 실시예들에서, 아이콘(7060)은 아이콘(7060)에 지향된 상이한 유형들의 사용자 입력들 및/또는 사용자 입력들이 진행되는 상이한 범위들에 기초하여 층들(7060-1 내지 7060-3) 사이에 상이한 양들의 분리로 디스플레이된다. 도 7p의 시나리오(7062)에서, 사용자(7002)는 아이콘(7060)과 상호작용하지 않는다. 도 7p의 시나리오(7064)에서, 사용자(7002)는 아이콘(7060)을 응시하고 있다. 도 7p의 시나리오(7066)에서, 사용자(7002)는 아이콘(7060)을 응시하고 있고, 사용자의 손(7020)은 준비 상태(예컨대, 사용자의 시선이 아이콘으로 지향되는 동안의 핀치 또는 아이콘에 대응하는 3차원 환경 내의 위치에서의 탭과 같이 사용자가 에어 제스처를 수행할 준비가 되었음을, 사용자의 손 및/또는 손가락들의 포지션이 표시하는 상태)에 있고, 손(7020)은 컴퓨터 시나리오(101)을 향해 상승될 뿐만 아니라 집게 손가락이 컴퓨터 시스템(101)을 향해 연장된 구성을 상승된다. 사용자의 왼손(7020)이 도 7p에 도시되지만, 당업자는 사용자의 오른손(7022)을 사용하여 입력들이 추가적으로 또는 대안적으로 제공될 수 있음을 인식할 것이다.
일부 실시예들에서, 시나리오(7062)에 도시된 바와 같이, 아이콘(7060)과의 사용자 상호작용의 부재 시에, 아이콘(7060)은 뷰(7074)에 도시된 바와 같이, 층들(7060-1 내지 7060-3) 사이에 어떠한 분리도 없이 디스플레이된다. 일부 실시예들에서, 시나리오(7064)에 도시된 바와 같이, 사용자(7002)가 시선에 기초하여 아이콘(7060)에 주의를 향하는 것에 응답하여, 아이콘(7060)은 환경(7104)에서 시각적으로 구별되며, 구체적으로는 아이콘들의 클러스터(7070) 내의 다른 아이콘들에 비해 스케일이 약간 증가될 뿐만 아니라 환경(7104)에서 그 뒤에(예컨대, 아이콘들(7070)의 클러스터 내의 다른 아이콘들 상에) 그림자를 캐스팅하는 것으로 디스플레이되는 윤곽을 갖는다. 일부 실시예들에서, 시나리오(7064)에 도시된 바와 같이 시선에 기초하여 사용자(7002)가 아이콘(7060)에 주의를 기울이는 것에 응답하여, 아이콘(7060)의 층들(7060-1 내지 7060-3)은 뷰(7076)에 도시된 제1 범위로 분리된다.
일부 실시예들에서, 시나리오(7066)에 도시된 바와 같이, 사용자(7002)가 시선 및 손 상태(예컨대, 손 포지션 및 구성)에 기초하여 아이콘(7060)에 주의를 돌리는 것에 응답하여, 아이콘(7060)은 환경(7104) 내의 아이콘들(7070)의 클러스터 내의 다른 아이콘들에 대해 시각적으로 계속 구별된다(예컨대, 아이콘들(7070)의 클러스터 내의 다른 아이콘들에 비해 스케일이 약간 증가되고, 윤곽이 그려지고, 그리고/또는 그림자를 캐스팅함). 선택적으로, 사용자 입력이 진행됨에 따라(예컨대, 사용자(7002)가 아이콘(7060)을 응시하면서 손(7020)을 준비 상태로 가져옴에 따라, 또는 손(7020)이 준비 상태인 동안 사용자(7002)가 아이콘(7060)으로 시선을 시프트시킴에 따라), 예를 들어, 아이콘(7060)의 스케일을 변경함으로써, 아이콘(7060)의 윤곽을 변경함으로써, 및/또는 아이콘(7060)에 의해 환경(7104) 내로 캐스팅된 시뮬레이션된 그림자를 변경함으로써, 사용자의 주의의 대상인 아이콘과 다른 아이콘들 사이의 시각적 구별의 유형이 변경된다. 일부 실시예들에서, 시나리오(7066)에 도시된 바와 같이 시선 및 손 상태에 기초하여 사용자(7002)가 아이콘(7060)에 주의를 기울이는 것에 응답하여, 아이콘(7060)의 층들(7060-1 내지 7060-3)은 뷰(7078)에 도시된 제2 범위로 분리된다.
일부 실시예들에서, 시나리오(7066)로부터의 전환에서, 아이콘(7060)이 뷰(7078)에 표시된 분리 정도와 함께 디스플레이되는 동안, 그리고 사용자(7002)의 시선이 7060으로 지향되고 사용자(7002)의 손(7020)이 준비 상태에 있는 동안, 사용자(7002)는 아이콘(7060)을 선택하기 위한 선택 제스처(예컨대, 사용자의 시선이 아이콘으로 지향되는 동안의 핀치 또는 아이콘에 대응하는 3차원 환경 내의 위치에서의 탭과 같은 에어 제스처)를 수행한다. 일부 실시예들에서, 선택 제스처는 손의 2개 이상의 손가락들(예컨대, 엄지 및 검지 손가락)의 서로를 향한 이동을 포함하는 핀치 제스처이다. 일부 실시예들에서, 선택 제스처가 진행됨에 따라(예컨대, 2개의 손가락들이 접촉하기 전에 서로를 향해 이동됨), 층들(7060-1 내지 7060-3) 사이의 분리의 양은 감소된다(예컨대, 아이콘(7060)은, 뷰(7078)에 도시된 분리 정도를 갖는 외관으로부터 뷰(7076)에 도시된 분리 정도를 갖는 외관으로 전환, 또는 적어도 부분적으로 전환됨). 일부 실시예들에서, 선택 제스처의 진행에 응답하여 분리 정도의 감소와 함께, 아이콘(7060)은 스케일이 변경된다(예컨대, 스케일이 감소됨). 일부 실시예들에서, 선택 제스처의 진행이 반전됨에 따라(예컨대, 2개의 손가락들이 접촉하기 전에 서로로부터 멀리 이동됨), 아이콘(7060)의 변환이 반전되는데, 예를 들어, 층들(7060-1 내지 7060-3) 사이의 분리의 양은 증가되고(예컨대, 아이콘(7060)은, 뷰(7076)에 도시된 분리 정도를 갖는 외관으로부터 뷰(7078)에 도시된 분리 정도를 갖는 외관으로 전환, 또는 적어도 부분적으로 전환됨) 그리고/또는 아이콘(7060)은 스케일이 변경된다(예컨대, 스케일이 증가됨).
일부 실시예들에서, 선택 제스처가 완료됨에 따라(예컨대, 2개의 손가락들이 접촉하고 그리고/또는 접촉을 행한 후에 분리됨), 선택적으로, 사용자(7002)의 시선이 아이콘(7060) 상에 유지되는 동안, 층들(7060-1 내지 7060-3) 사이의 분리의 양은 다시 증가되고/되거나 아이콘(7060)은 스케일이 변경된다(예컨대, 스케일이 증가됨). 일부 실시예들에서, 선택 제스처의 완료에 응답하는 아이콘(7060)의 변환은 선택 제스처의 개시(예컨대, 접촉하기 전에 서로를 향한 2개의 손가락들의 초기 이동)에 응답하는 아이콘(7060)의 변환을 적어도 부분적으로 반전시킨다. 일부 실시예들에서, 선택 제스처의 완료에 응답하여, 아이콘(7060)과 연관된 동작이 환경(7104)에서 수행된다. 예를 들어, 애플리케이션(이를테면, 아이콘(7060)과 연관된 이메일 애플리케이션)이 개시되고, 애플리케이션과 연관된 사용자 인터페이스(이를테면, 이메일 애플리케이션 사용자 인터페이스)가 디스플레이된다(예컨대, 도 7a 내지 도 7o를 참조하여 본 명세서에서 설명된 사용자 인터페이스 요소들(7030, 7040 및/또는 7054)의 특성들 및 거동을 갖는 애플리케이션 플래터). 다른 예에서, 파일이 열리고, 그 콘텐츠들이 디스플레이된다. 다른 예에서, 통신 세션이 개시된다.
일부 실시예들에서, 사용자(7002)가 아이콘(7060)으로 주의를 돌리는 것에 응답하여, 아이콘(7060)의 변환은 (예컨대, 층들(7060-1 내지 7060-3)의 분리 및/또는 아이콘(7060)의 리스케일링에 추가하여) 아이콘(7060)의 하나 이상의 요소들의 애니메이션을 포함한다. 예를 들어, 엔벨로프 그래픽은 (예컨대, 엔벨로프의 최상부 플랩을 올림으로써) 엔벨로프가 개방되는 것, 엔벨로프가 흔들리거나 또는 진동하는 것, 또는 다른 애니메이션을 도시하도록 선택적으로 애니메이션화된다. 일부 실시예들에서, 아이콘(7060)의 애니메이션은 사용자(7002)가 아이콘(7060)으로 지향된 선택 제스처를 수행하는 것에 응답하여 디스플레이되거나 진행된다.
도 7q 내지 도 7w는 일부 실시예들에 따른, 선택가능한 사용자 인터페이스 객체에 대응하고 그와 상호작용하기 위한 준비를 표시하는 입력에 응답하여 선택가능한 사용자 인터페이스 객체의 외관을 변경하는 것을 예시한다. 도 7q 내지 도 7w의 사용자 인터페이스들은 도 13의 프로세스들을 포함하여 아래에 설명되는 프로세스들을 예시하기 위해 사용된다. 도 7q 내지 도 7w를 참조하여 설명된 사용자 인터페이스 요소들은 선택적으로, 설명들에서 달리 언급되지 않는 한, 일부 실시예들에 따라, 도 7a 내지 도 7g, 도 7h 내지 도 7j, 도 7k 내지 도 7o, 도 7p, 및/또는 도 7x 내지 도 7z의 예들과 같은 다른 예들에 대해 본 명세서에서 설명된 사용자 인터페이스 요소들의 특성들 및/또는 거동들 중 하나 이상을 갖는다.
도 7q 내지 도 7w의 예들에 도시된 바와 같이, 컴퓨터 시스템(101)의 디스플레이 생성 컴포넌트(7100)를 통해 가시적인 콘텐츠는 사용자(7002)가 들고 있는 터치 스크린 상에 디스플레이된다. 일부 실시예들에서, 컴퓨터 시스템(101)의 디스플레이 생성 컴포넌트(7100)는 사용자(7002)의 머리에 착용된 머리 장착형 디스플레이이다(예컨대, 컴퓨터 시스템(101)의 디스플레이 생성 컴포넌트(7100)를 통해 가시적인 것으로 도 7q 내지 도 7w에서 도시된 것은 머리 장착형 디스플레이를 착용할 때 사용자(7002)의 시야에 대응한다).
도 7q는 디스플레이 생성 컴포넌트(7100)를 통해 가시적인 환경(7104)의 뷰를 예시한다(예컨대, 디스플레이 생성 컴포넌트를 통해 디스플레이되는 하나 이상의 부분들 및/또는 투명 또는 반투명 디스플레이를 통해 가시적인 하나 이상의 패스 스루 부분들을 가짐). 환경(7104)의 뷰는 벽걸이(7106)의 뷰, 가상 공(7108)의 뷰 및 박스(7014')의 뷰를 포함한다. 도 7q는 또한 환경(7104)의 뷰 위에 디스플레이된 사용자 인터페이스 요소(7080)를 예시한다. 사용자 인터페이스 요소(7080)는 컴퓨터 시스템(101) 상에서 실행되는 애플리케이션의 사용자 인터페이스, 시스템 사용자 인터페이스(예컨대, 설정 사용자 인터페이스 또는 애플리케이션 개시 사용자 인터페이스), 경고 또는 통지, 또는 설정 메뉴일 수 있다. 사용자 인터페이스 요소(7080)는, 도 7q에서 사용자의 시점으로부터 사용자 인터페이스 요소(7080)의 최상부 및 좌측 에지들을 따라 가시적인 두께로, 시뮬레이션된 재료(예컨대, 투명 또는 반투명 재료와 같은 시뮬레이션된 재료의 판유리 또는 플래터)로 제조된 외관을 갖는 3차원 객체로서 디스플레이된다. 또한, 사용자 인터페이스 요소(7080)가 투명하거나 부분적으로 투명한 재료로서 디스플레이되는 것에 따라, 사용자 인터페이스 요소(7080)의 두께는, 도 7q의 사용자의 시점으로부터 우측 및 최하부 에지들로부터 명백하다. 사용자 인터페이스 요소(7080)는, 선택적으로 상이한 시간들로부터의 프레임들의 그래픽 조성, 색상 구배, 또는 본 명세서에 설명된 다른 예시적인 기법을 사용하여 벽(7004'), 벽걸이(7106), 공(7108) 및/또는 박스(7014')와 같은 환경(7104)의 기본 부분들의 외관에 기초하는 외관을 갖는다. 일부 실시예들에서, 사용자 인터페이스 요소(7080)의 외관은 또한 도 7a 내지 도 7j를 참조하여 본 명세서에서 설명된 사용자 인터페이스 요소들과 유사하게, 환경(7104)의 중첩 부분들의 외관의 변화들에 기초하여 시간이 지남에 따라 업데이트된다.
사용자 인터페이스 요소(7080)는 복수의 구역들을 포함한다. 구체적으로, 사용자 인터페이스 요소(7080)는 사용자 인터페이스 요소(7080)의 전면(예컨대, 전면 또는 전방 평면)을 정의하는 제1 구역(7080-a)(예컨대, 시뮬레이션된 재료의 판유리 또는 플래터)을 포함한다. 일부 실시예들에서, 사용자 인터페이스 요소(7080)의 구역(7080-a)은 사용자 인터페이스 요소(7030)(도 7d)의 배경 부분(7030-a), 사용자 인터페이스 요소(7040)(도 7h)의 배경 부분(7040-a) 및/또는 사용자 인터페이스 요소(7054)(도 7l)의 제1 구역(7054-a)과 유사하다. 사용자 인터페이스 요소(7080)는 또한 환경(7104)에서 개개의 연관된 동작들을 수행하도록 활성화가능한 버튼들, 메뉴들 또는 다른 제어부들과 같은 선택가능한 객체들에 대응하는 구역들(7080-b, 7080-c 및 7080-d)을 포함한다. 도 7q에 도시된 바와 같이, 구역들(7080-b, 7080-c, 및 7080-d)은, 사용자 인터페이스 요소(7080) 및 그의 구역들(7080-b, 7080-c, 및 7080-d)의 하향식 뷰를 도시하는 평면도(7082)에 표시된 바와 같이, (예컨대, 사용자(7002)가 이를테면, 구역들(7080-b, 7080-c, 및 7080-d) 중 어느 구역에도 주의를 기울이지 않음으로써 상호작용하기 위한 준비를 표시하지 않는 동안) 평평하고 사용자 인터페이스 요소(7080)의 표면과 동일 평면에 있다. 도 7q의 구역들(7080-b, 7080-c 및 7080-d)의 외관들은 선택적으로, 구역들(7080-b, 7080-c, 및 7080-d)이 현재 추가의 상호작용을 위해 선택되지 않은 것을 표시하고 선택적으로 구역들(7080-b, 7080-c, 및 7080-d)이 제1(예컨대, 오프 또는 비활성화) 상태에 있는 것을 표시하는 (예컨대, 밝기 또는 어두움, 불투명도 또는 투명도, 크기, 두께, 정반사의 양, 블러링 정도 및/또는 사용자 인터페이스 요소(7080)로부터의 분리 정보와 같은 하나 이상의 시각적 속성들에 대한 디폴트 설정들 또는 값들에 기초한) 디폴트 외관들이다.
사용자 인터페이스 요소(7080)는 환경(7104)의 광과 상호작용하는 광학 속성들을 갖는 재료로서 디스플레이된다. 도 7q에 도시된 바와 같이, 사용자 인터페이스 요소(7080)는, 사용자 인터페이스 요소(7080)가 도 7q의 환경(7104)에서의 자신의 포지션에서, 그리고 도 7q의 사용자의 시점으로부터, 사용자 인터페이스 요소(7080)를 보는 사람에게 나타나는 것처럼 하나 이상의 광원들(예컨대, 컴퓨터 시스템(101)을 둘러싸는 물리적 환경의 하나 이상의 물리적 광원들 및/또는 환경(7104) 내의 하나 이상의 시뮬레이션된 광원들, 또는 이들의 서브세트)로부터의 광을 반사하는 (예컨대, 시각적 효과에 기초한) 외관으로 디스플레이된다. 예를 들어, 사용자 인터페이스 요소(7080) 위의 그리고 좌측의 광원에 따라, 도 7q는 (예컨대, 주어진 광원을 향하는 사용자 인터페이스 요소(7080)의 외측 에지를 따른 장소에서) 사용자 인터페이스 요소(7080)의 (예컨대, 최상부 에지의) 최상부 좌측 코너에서의 정반사 및 사용자 인터페이스 요소(7080)의 내측 최하부 우측 코너에서의 정반사를 도시한다(예컨대, 내부 정반사는 최상부 좌측 코너에서 외부 정반사의 위치에 대향하는, 사용자 인터페이스 요소(7080)의 에지 내부를 따라 도시되고, 여기서 최하부 우측 코너의 내부 정반사의 양은 최상부 좌측 코너에서 외부 정반사의 양보다 작다). 도 7q에 도시된 바와 같이, 정반사들은 선택적으로, 구역들(7080-b, 7080-c, 및 7080-d)에 대해 디스플레이되지 않는데, 이는 이들 구역들이 평평하고 사용자 인터페이스 요소(7080)의 표면과 동일 평면에 있기 때문이다.
도 7r은 사용자(7002)가 사용자 인터페이스 요소(7080)와 상호작용하기 위한 준비를 표시하는 것에 응답하여 사용자 인터페이스 요소(7080)에서의 전환을 예시한다. 도 7r은 사용자(7002)의 눈으로부터 구역(7080-b)으로 연장되는 파선에 의해 도 7r에 표시된, 구역(7080-b)으로 주의를 돌리는(예컨대, 응시하는) 사용자(7002)를 도시한다. 구역(7080-b)으로 사용자(7002)의 주의를 돌리는 것은, 구역(7080-b)으로 지향된 상호작용 입력이 수신되기 전에, 구역(7080-b)과 상호작용하기 위한 사용자(7002)의 준비를 표시한다. 일부 실시예들에서, 사용자(7002)가 개개의 구역, 이를테면 구역(7080-b)과 상호작용하기 위한 준비를 입력이 나타내기 위해, 사용자(7002)의 손(예컨대, 왼손(7020) 또는 오른손(7022)으로 컴퓨터 시스템(101)을 잡지 않았다면, (예컨대, 사용자(7002)가 개개의 구역으로 주의를 돌리는 요건 대신에 또는 그에 추가로) 오른손(7022))은 준비 상태에 있어야 한다.
도 7r에 도시된 바와 같이, 사용자(7002)가 구역(7080-b)으로 주의를 돌리는 것에 응답하여, 구역(7080-b)의 시각적 외관은 (예컨대, 추가적인 상호작용을 위한 구역(7080-b)의 선택을 표시하는 외관으로) 변경되어: 구역(7080-b)의 두께가 증가되고; 구역(7080-b)이 더 투명하게 되도록) 구역(7080-b)의 불투명도가 감소되고; 구역(7080-b)은, 구역(7080-a)의 표면으로부터 멀리 그리고 더 일반적으로는 사용자 인터페이스 요소(7080)의 표면으로부터 멀리 올려져서, 사용자 인터페이스 요소(7080)의 표면 위에서 (예컨대, 사용자 인터페이스 요소(7080)의 전면이 x-y 평면을 정의하는 x-y-z 좌표계의 z-방향에서와 같이 사용자 인터페이스 요소(7080)의 표면으로부터의 분리에 의해) 호버링하고, 도 7r의 평면도(7082)에 표시되고 환경(7104)에 도시된 바와 같이, 사용자(7002)의 시점에 더 가깝게 이동되는 것으로 보인다. 따라서, 그림자는 (예컨대, 구역(7080-b)의 증가된 두께 및/또는 사용자 인터페이스 요소(7080)의 표면으로부터 구역(7080-b)의 분리로 인해) 올려진 구역(7080-b)에 의해 사용자 인터페이스 요소(7080)의 표면 상에 캐스팅되는 것으로 디스플레이된다. 일부 실시예들에서, 구역(7080-b)의 두께의 증가는, 두께가 점진적으로 증가하는 구역(7080-b)의 애니메이션과 같은 애니메이션화된 전환을 통해 디스플레이된다. 선택적으로, 다른 시각적 변화들이 또한 애니메이션화된다. 일부 실시예들에서, 사용자(7002)가 구역(7080-b)으로 주의를 돌리는 것에 응답하여, 구역(7080-b)의 (예컨대, x- 및 y-차원의) 크기가 유지된다. 일부 실시예들에서, 구역(7080b)은 밝기가 증가된다.
일부 실시예들에서, 도 7r에 예시된 바와 같이, 구역(7080-b)은 환경(7104)의 광과 상호작용하는 광학 속성들을 갖는 재료로서 디스플레이되고, 구역(7080-b)의 두께의 증가에 따라, 올려진 구역(7080-b)은, (예컨대, 도 7q를 참조하여 본 명세서에서 설명된 바와 같이, 도 7r의 사용자 인터페이스 요소(7080) 상에 디스플레이된 다른 정반사들에 대응하는 광원(들)과 일치하여) 올려진 구역(7080-b)의 최상부 좌측 코너로부터의 정반사에 의해 표시된 바와 같이, 반사 광으로 보이도록 디스플레이된다. 일부 실시예들에서, 정반사의 양 및/또는 정반사가 구역(7080-b)의 하나 이상의 에지들을 따라 연장되는 정도는 구역(7080-b)의 두께의 크기를 표시한다(예컨대, 구역(7080-b)으로부터의 정반사의 양 및/또는 정도는 구역(7080-b)의 두께가 각각 (예컨대, 애니메이션 동안) 점진적으로 증가 또는 감소됨에 따라 점진적으로 증가 또는 감소된다). 일부 실시예들에서, 도 7r에 예시된 바와 같이, 구역(7080-b)이 두께가 증가되고 사용자 인터페이스(7080)로부터 멀어지게 올려짐에 따라, 사용자(7002)가 구역(7080-b)으로 주의를 돌리는 것에 응답하여 구역(7080-b)의 블러링의 양이 증가된다(예컨대, 반투명 재료가 기본 객체로부터 멀리 올려지는 시각적 효과를 향상시키기 위해, 이는 멀리 올려지는 재료를 통해 기본 객체를 더 흐리게 보이게 할 것임).
구역들(7080-c 및 7080-d)의 외관들은, 사용자(7002)가 그러한 구역들과 상호작용하기 위한 준비를 표시하지 않음(예컨대, 그러한 구역들을 응시하는 것과 같이 그 구역들에 주의를 기울이지 않음)에 따라, 도 7r에서 변경되지 않고 유지된다.
일부 상황들에서, 환경(7104)은 (예컨대, 다수의 값들의 세트 또는 범위로부터 특정 설정의 값, 이를테면 오디오 볼륨 레벨 또는 밝기 레벨을 선택하기 위해, 또는 콘텐츠 내의 포지션, 이를테면 오디오 및/또는 비디오 내의 재생 포지션을 선택하기 위해) 슬라이더를 포함하는 사용자 인터페이스 요소를 포함한다. 예를 들어, 사용자 인터페이스 요소(7080)는 선택적으로 또한 슬라이더를 포함한다. 일부 실시예들에서, 슬라이더와 상호작용하려는 사용자(7002)의 의도를 표시하는 입력 전에, 슬라이더는 슬라이더의 현재 값을 변경하기 위한 제어부(예컨대, 슬라이더 엄지 또는 화살표 버튼) 없이 디스플레이된다. 일부 실시예들에서, 슬라이더의 현재 값을 변경하기 위한 제어부는 슬라이더와 상호작용하려는 사용자(7002)의 의도를 표시하는 입력에 응답하여 디스플레이된다. 일부 실시예들에서, 슬라이더 제어부의 디스플레이는, 사용자(7002)의 주의가 슬라이더로 지향되는 것 및 사용자(7002)의 손이 준비 상태에 있는 것 둘 모두를 요구한다(반면, 일부 실시예들에서는, 2개의 조건들 중 단지 하나만이 슬라이더 제어부의 디스플레이를 트리거하기에 충분하다). 일부 실시예들에서, 디스플레이된 슬라이더 제어부는 도 7r을 참조하여 위에서 설명된, 올려진 구역(7080-b)의 시각적 속성들 중 하나 이상과 동일한 거동의 일부를 나타내고 그리고/또는 그 시각적 속성들 중 하나 이상을 갖는다. 예를 들어, 일부 실시예들에서, 슬라이더 제어부는 슬라이더가 그 일부인 사용자 인터페이스 요소로부터 0이 아닌 두께 및/또는 0이 아닌 정도의 분리를 갖는다. 선택적으로, 슬라이더 제어부는, 올려진 구역(7080-b)의 불투명도에 대응하는(예컨대, 그와 동일하거나 그에 비례하는) 불투명도를 갖는다. 선택적으로, 슬라이더 및/또는 슬라이더 제어부는 정반사를 나타내는 반면, 일부 실시예들에서, 슬라이더 또는 슬라이더 제어부 중 하나 또는 둘 모두는 (예컨대, 버튼 및 다른 제어 구역들과 달리) 정반사를 나타내지 않는다. 선택적으로, 슬라이더 제어부는 슬라이더 및/또는 포괄하는 사용자 인터페이스 요소와 같은 기본 콘텐츠에 그림자를 캐스팅한다. 일부 실시예들에서, 사용자(7002)의 슬라이더로 주의를 돌리는 것을 중단하는 경우, 또는 사용자(7002)의 손이 더 이상 준비 상태에 있는 것을 중단하거나, 또는 일부 실시예들에서, 조건들 둘 모두가 발생하는 경우, 슬라이더 제어부가 디스플레이되는 것이 중단된다.
일부 상황들에서, 환경(7104)은 (예컨대, 특정 설정의 다수의, 통상적으로 2개의 상호 배타적인 값들 중 하나를 선택하기 위해, 이를테면, 기능 또는 특징을 인에이블 또는 디스에이블하거나 또는 2개의 모드들 사이에서 스위칭하기 위해) 토글 스위치를 포함하는 사용자 인터페이스 요소를 포함한다. 예를 들어, 사용자 인터페이스 요소(7080)는 선택적으로 또한 토글 스위치를 포함한다. 토글 스위치는 통상적으로 배경 요소 상에 중첩된 이동가능한 요소(예컨대, 디스크 또는 다른 형상)를 포함하며, 이의 상이한 영역들은 설정의 상이한 값들 표현한다(예컨대, 하나의 단부는 하나의 값을 표현하고, 대향 단부는 다른 값을 표현하는 바 또는 웰). 일부 실시예들에서, (예컨대, 사용자(7002)의 주의가 토글 스위치로 지향되지 않은 동안 그리고/또는 사용자(7002)의 손이 준비 상태에 있지 않은 동안 디스플레이되는) 토글 스위치의 디폴트 외관에서, 배경 요소는 리세스된 구역(7002)이고(예컨대, 리세스된 구역(7054-c)(도 7m)과 유사하고), 포괄하는 사용자 인터페이스 요소의 전면에 대한 개개의 깊이를 갖는다. 일부 실시예들에서, 이동가능한 요소는 리세스된 배경 구역에 포지셔닝된다. 일부 실시예들에서, 이동가능한 요소는 도 7r을 참조하여 위에서 설명된 올려진 구역(7080-b)의 시각적 속성들(예컨대, 감소된 불투명도, 증가된 밝기, 유지된 크기, 및/또는 기본 콘텐츠 상으로의, 이를테면, 배경 요소 상으로의 그림자의 캐스팅) 중 하나 이상과 동일한 거동 중 일부 또는 전부를 나타내고 그리고/또는 그 시각적 속성들 중 하나 이상을 갖는다. 일부 실시예들에서, 디폴트 상태에서, 이동가능한 요소는 리세스된 배경 구역에 대해 개개의 두께 및/또는 높이를 갖는다. 일부 이러한 실시예들에서, 사용자(7002)의 주의가 토글 스위치로 지향되는 것에 응답하여, 이동가능한 요소는 두께가 증가하지 않고(예컨대, 이는 이동가능한 요소가 이미 0이 아닌 두께를 갖기 때문임) 그리고/또는 리세스된 배경 구역으로부터 멀리 올려지지 않거나 달리 높이가 변경되지 않으며, 따라서 기본 콘텐츠 상에 캐스팅된 그림자는 강화되지 않고, 이동가능한 요소는 선택적으로 동일한 크기를 유지하고, 불투명도가 변하고 그리고/또는 밝기가 변하는 것과 같이 구역(7080-b)(도 7r)과 유사한 다른 거동을 나타낸다.
도 7s는 사용자(7002)가 도 7r에서와는 상이한 사용자 인터페이스 요소(7080)의 부분과 상호작용하기 위한 준비를 표시하는 것에 응답하여 사용자 인터페이스 요소(7080)에서의 전환을 예시한다. 도 7s는 사용자(7002)의 눈으로부터 도 7r에서와 같은 구역(7080-b) 대신에 구역(7080-c)으로 연장되는 파선에 의해 도 7s에 표시된, 구역(7080-c)으로 주의를 돌리는(예컨대, 응시하는) 사용자(7002)를 도시한다. 구역(7080-c)으로 사용자(7002)의 주의를 돌리는 것은, 구역(7080-c)으로 지향된 상호작용 입력이 수신되기 전에, 구역(7080-c)과 상호작용하기 위한 사용자(7002)의 준비를 표시한다. 도 7s에 도시된 바와 같이, 사용자(7002)가 구역(7080-c)으로 주의를 돌리는 것에 응답하여, 구역(7080-c)의 시각적 외관은, 구역(7080-b)(도 7r)을 참조하여 본 명세서에서 이전에 설명된 것과 유사한 방식으로, 구역(7080-c)이 추가 상호작용을 위해 선택된 것을 표시하는 외관으로 변경된다(뿐만 아니라 구역(7080-b)(도 7r)을 참조하여 본 명세서에서 이전에 설명된 것과 유사한 방식으로, 크기와 같은 일부 시각적 속성들에 대해 변경되지 않음). 예를 들어, 구역(7080-c)의 두께가 증가되고, 구역(7080-c)의 불투명도가 감소되고(이에 따라, 구역(7080-c)이 더 투명하게 되고), 구역(7080-c)은 사용자 인터페이스 요소(7080)의 표면으로부터 멀어지게 올려져서, 도 7s의 평면도(7082)에 표시되고 환경(7104)에 도시된 바와 같이, 사용자 인터페이스 요소(7080)의 표면 위에서 호버링하고 사용자(7002)의 시점에 더 가깝게 나타난다. 따라서, 그림자는 올려진 구역(7080-c)에 의해 사용자 인터페이스 요소(7080)의 표면 상에 캐스팅되는 것으로 디스플레이된다. 일부 실시예들에서, 구역(7080-c)은 밝기가 증가된다. 일부 실시예들에서, 구역(7080-b)과 같이, 구역(7080-c)은 환경(7104)의 광과 상호작용하는 광학 속성들을 갖는 재료로서 디스플레이되고, 구역(7080-c)의 두께의 증가에 따라, 올려진 구역(7080-c)은, (예컨대, 도 7q 및 도 7r을 참조하여 본 명세서에서 설명된 바와 같이, 환경(7104) 내의 동일한 광원(들)과 일치하여) 올려진 구역(7080-c)의 최상부 좌측 코너로부터의 정반사에 의해 표시된 바와 같이, 반사 광으로 보이도록 디스플레이된다. 사용자 인터페이스 요소(7080)의 구역(7080-a)과 같은 기본 콘텐츠의 블러는 올려진 구역(7080-c)을 통해 보일 때 또한 증가된다.
또한, 사용자(7002)의 주의가 더 이상 구역(7080-b)으로 지향되지 않는 것에 응답하여, 구역(7080-b)의 시각적 외관은 도 7q에 도시되고 도 7q를 참조하여 설명된 바와 같은 자신의 외관으로 복귀된다(예컨대, 구역(7080-b)을 표시하는 디폴트 외관은 추가 상호작용을 위해 현재 선택되지 않는다). 예를 들어, 구역(7080-b)은 두께가 감소되고(예컨대, 평탄한 것으로 복원됨), 따라서 더 이상 정반사와 함께 도시되지 않고, 불투명도가 증가되고, (이를테면, 구역(7080-a)의) 기본 콘텐츠의 블러링의 양이 감소되고, 사용자 인터페이스 요소(7080)의 표면 상에서 대체되고(예컨대, 사용자 인터페이스 요소(7080)의 표면과 같은 높이가 되도록 복원됨), 따라서, 도 7s의 평면도(7082)에 표시되고 환경(7104)에 도시된 바와 같이 사용자 인터페이스 요소(7080) 상에 그림자를 캐스팅하는 것으로 더 이상 도시되지 않는다. 일부 실시예들에서, 구역(7080-b)은 밝기가 감소된다. 사용자(7002)가 구역(7080-d)과 상호작용하기 위한 준비를 표시하지 않는 것에 따라, 구역(7080-d)의 외관은 도 7s에서 변경되지 않고 유지된다.
도 7t는, 사용자(7002)가 (예컨대, 다시, 도 7r 시나리오에서의 경우와 같이) 구역(7080-b)에 주의를 돌리는(예컨대, 응시하는) 것에 응답하여 사용자 인터페이스 요소(7080)의 전환을 예시하고, 이는 사용자(7002)의 눈으로부터 도 7s에서와 같은 구역(7080-c) 대신에 구역(7080-b)으로 연장되는 파선으로 도 7t에 표시된다. 사용자(7000)의 주의를 구역(7080-b)으로 돌리는 것은 사용자(7002)가 구역(7080-b)과 (예컨대, 다시) 상호작용하기 위한 준비를 표시한다. 도 7t에 도시된 바와 같이, 사용자(7002)가 구역(7080-b)으로 주의를 돌리는 것에 응답하여, 구역(7080-b)의 시각적 외관은 도 7r의 구역(7080-b) 및 도 7s의 구역(7080-c)을 참조하여 본 명세서에서 이전에 설명된 것과 유사한 방식으로, 도 7r에서와 동일한 외관으로 변경되어, 추가 상호작용을 위해 구역(7080-b)이 선택(예컨대, 재선택)된 것을 표시하여: 구역(7080-b)의 두께가 증가되고; 구역(7080-b)의 불투명도가 감소되고; 기본 콘텐츠의 블러링 정도가 증가되고; 구역(7080-b)은 사용자 인터페이스 요소(7080)의 표면으로부터 멀어지게 올려져서, 도 7t의 평면도(7082)에 표시되고 환경(7104)에 도시된 바와 같이, 사용자 인터페이스 요소(7080)의 표면 위에서 호버링하고 사용자(7002)의 시점에 더 가깝게 나타난다. 따라서, 그림자는 올려진 구역(7080-b)에 의해 사용자 인터페이스 요소(7080)의 표면 상에 캐스팅되는 것으로 디스플레이되고, 올려진 구역(7080-b)은, 올려진 구역(7080-b)의 최상부 좌측 코너로부터의 정반사 및 선택적으로 구역(7080-b)의 증가된 밝기로 디스플레이된다.
또한, 사용자(7002)의 주의가 더 이상 구역(7080-c)으로 지향되지 않는 것에 응답하여, 구역(7080-c)의 시각적 외관은, 도 7s의 구역(7080-b)에 대한 변화들과 유사한 변화들로, 도 7q에 도시되고 도 7q를 참조하여 설명된 바와 같은 자신의 외관으로 복귀된다(예컨대, 구역(7080-c)을 표시하는 디폴트 외관은 추가 상호작용을 위해 현재 선택되지 않는다). 예를 들어, 구역(7080-c)은 두께가 감소되고(예컨대, 평탄화됨), 따라서 더 이상 정반사와 함께 도시되지 않고, 불투명도가 증가되고, 기본 콘텐츠의 블러링의 양이 감소되고, 사용자 인터페이스 요소(7080)의 표면 상에서 대체되고(따라서 예컨대, 그와 같은 높이가 됨), 따라서, 도 7r의 평면도(7082)에 표시되고 환경(7104)에 도시된 바와 같이 사용자 인터페이스 요소(7080) 상에 그림자를 캐스팅하는 것으로 더 이상 도시되지 않을 뿐만 아니라 선택적으로 밝기가 감소된다(예컨대, 복원됨). 사용자(7002)가 구역(7080-d)과 상호작용하기 위한 준비를 표시하지 않는 것에 따라, 구역(7080-d)의 외관은 도 7t에서 변경되지 않고 여전히 유지된다.
도 7u는 도 7u의 손(7020)과 나란한 화살표들로 도시된 손(7020)에 의해 표시된 바와 같이, 사용자(7002)가 자신의 손(7020)으로 입력 제스처(예컨대, 구역(7080-b)에 대응하는 3차원 환경의 위치에서의 핀치 또는 탭과 같은 에어 제스처)를 수행하는 것에 기초하여 도 7t로부터의(또는 도 7r로부터의) 전환을 예시한다. 일부 실시예들에서, 입력 제스처는 사용자(7002)의 주의가 사용자 인터페이스 요소(7080)(예컨대, 구체적으로는 구역(7080-b))로 지향되는 동안 개시된다. 일부 실시예들에서, 입력 제스처는 손(7020)이 준비 상태가 된 후에 개시된다(예컨대, 입력 제스처가 준비 상태로부터 개시됨). 도 7u는 사용자(7002)의 왼손(7020)을 도시하지만, 당업자는 사용자의 오른손(7022)을 사용하여 입력들이 추가적으로 또는 대안적으로 제공될 수 있음을 인식할 것이다. 도 7u에서, 사용자(7002)가 구역(7080-b)에 주의를 기울이고 입력 제스처를 수행하여 구역(7080-b)과 상호작용하는 것에 응답하여, 구역(7080-b)의 시각적 외관은 평면도(7082)에 표시되고 환경(7104)에 도시된 바와 같이 도 7t의 자신의 외관으로부터 변경된다(예컨대, 도 7q의 자신의 외관으로부터 추가로 변경됨). 예를 들어, 올려진 구역(7080-b)의 크기가 감소되고, 올려진 구역(7080-b)의 불투명도가 (예컨대, 추가로) 감소되고, 올려진 구역(7080-b)은 어두워진다(예컨대, 선택적으로 도 7q에 도시된 바와 같은 디폴트 밝기 미만의 밝기로 밝기가 감소됨). 또한, 올려진 구역(7080-b)에 의해 사용자 인터페이스 요소(7080)의 표면 상에 캐스팅되는 것으로 디스플레이되는 그림자가 강화(예컨대, 길어지고 그리고/또는 어두워진다)된다. 선택적으로, 입력 제스처에 응답하여, 도 7u의 평면도(7082)에 표시되고 환경(7104)에 또한 도시된 바와 같이, 이를테면 두께, 대응하는 정반사, 기본 콘텐츠의 블러링의 양 및/또는 사용자 인터페이스 요소(7080)로부터의 분리와 같은 올려진 구역(7080-b)의 하나 이상의 시각적 속성들이 유지된다. 구역들(7080-c 및 7080-d)의 외관들은 그러한 구역들을 향해 지향되는 입력의 부재(예컨대, 상호작용하기 위한 준비를 표시하는 임의의 입력도, 이들 구역들과 실제로 상호작용하는 임의의 입력도 검출되지 않음)에 따라 도 7u 내지 도 7w 전체에 걸쳐 유지된다.
위에서 언급된 바와 같이, 일부 상황들에서, 환경(7104)의 개개의 사용자 인터페이스 요소는 슬라이더를 포함한다. 일부 실시예들에서, 슬라이더의 현재 값을 변경하기 위한 제어부는, 사용자(7002)가 슬라이더와 상호작용할 의도를 표시하는 것에 응답하는 외관으로 디스플레이되면서, (예컨대, 손(7020)에 의한 입력 제스처에 응답하여) 도 7u를 참조하여 위에서 설명된 올려진 구역(7080-b)의 시각적 속성들 중 하나 이상과 동일한 거동 중 일부를 나타내고 그리고/또는 그 시각적 속성들 중 하나 이상을 갖는다. 예를 들어, 도 7u의 입력 제스처와 같은 입력 제스처에 응답하여, 일부 실시예들에서 슬라이더 제어부는 크기가 감소되고, 불투명도가 감소되고, 그리고/또는 어두워진다(반면, 일부 실시예들에서는 불투명도 및/또는 밝기가 유지됨). 선택적으로, 슬라이더 제어부에 의해 기본 콘텐츠 상에 캐스팅되는 그림자가 강화된다. 일부 실시예들에서, 슬라이더 제어부의 시각적 속성들 중 하나 이상, 이를테면 두께, 존재하는 경우 대응하는 정반사, 기본 콘텐츠의 블러링의 양 및/또는 존재하는 경우, 슬라이더가 그 일부인 사용자 인터페이스 요소로부터의 분리의 양이 유지된다. 슬라이더에 의해 표시된 값은 선택적으로, 입력 제스처의 이동에 응답하여(예컨대, 에어 핀치 또는 에어 탭 구성에 있는 동안 손(7020)의 측방향 이동에 응답하여) 입력 제스처 동안 변경되고, 슬라이더의 값의 변경의 양은 선택적으로, 입력 제스처의 이동의 양에 기초한다(예컨대, 그에 비례하거나 가속됨).
위에서 언급된 바와 같이, 일부 실시예들에서, 환경(7104)의 개개의 사용자 인터페이스 요소는 토글 스위치를 포함한다. 일부 실시예들에서, 토글 스위치의 이동가능한 요소(예컨대, 디스크)는, 사용자(7002)가 토글 스위치와 상호작용할 의도를 표시하는 것에 응답하는 외관으로 디스플레이되면서, (예컨대, 손(7020)에 의한 입력 제스처에 응답하여) 도 7u를 참조하여 위에서 설명된 올려진 구역(7080-b)의 시각적 속성들 중 하나 이상과 동일한 거동 중 일부를 나타내고 그리고/또는 그 시각적 속성들 중 하나 이상을 갖는다. 예를 들어, 도 7u의 입력 제스처와 같은 입력 제스처에 응답하여, 일부 실시예들에서 이동가능한 토글 요소는 크기가 감소되고, 불투명도가 감소되고, 그리고/또는 어두워진다(반면, 일부 실시예들에서는 불투명도 및/또는 밝기가 유지됨). 선택적으로, 이동가능한 토글 요소에 의해, 예를 들어, 배경 요소를 포함하는 기본 콘텐츠에 캐스팅되는 그림자가 강화된다. 일부 실시예들에서, 이동가능한 요소의 시각적 속성들 중 하나 이상, 이를테면 두께, 존재하는 경우 대응하는 정반사, 기본 콘텐츠의 블러링의 양 및/또는 존재하는 경우, 포괄 사용자 인터페이스 요소로부터의 분리의 양이 유지된다.
도 7v는 사용자(7002)에 의해 수행된 입력 제스처의 완료에 응답하여 그리고 사용자(7002)의 주의가 구역(7080-b)으로 계속 지향된 상태로 있는 도 7u로부터의 전환을 예시한다. 입력 제스처의 종료에 응답하여, 컴퓨터 시스템(101)은 구역(7080-b)과 연관된 개개의 동작(예컨대, 구역(7080-b)에 의해 표현된 버튼 또는 제어부를 활성화하는 것, 애플리케이션을 개시하는 것, 메뉴를 공개하는 것, 경고를 무시하는 것, 기능 또는 다른 동작을 토글링하는 것)을 수행하고, 구역(7080-b)의 시각적 외관을 도 7u의 그의 외관으로부터 변경한다. 특히, 도 7v에서, 올려진 구역(7080-b)의 크기는 증가되고(예컨대, 도 7q 내지 도 7t 중 임의의 것에서와 동일한 크기로 복원되거나, 또는 도 7q에서보다 큰 크기와 같은 상이한 크기로 증가됨), 올려진 구역(7080-b)의 불투명도가 증가되고(예컨대, 도 7t와 동일한 불투명도로 복구되거나, 도 7q와 동일한 불투명도로 복구되거나, 또는 도 7q보다 큰 불투명도와 같이 상이한 레벨의 불투명도로 증가됨), 올려진 구역(7080-b)의 밝기가 증가된다(예컨대, 도 7t와 동일한 밝기로 복구되거나, 도 7q와 동일한 밝기로 복구되거나, 또는 도 7q보다 큰 밝기와 같이 상이한 밝기 레벨로 증가됨), 또한, 올려진 구역(7080-b)에 의해 사용자 인터페이스 요소(7080)의 표면 상에 캐스팅되는 것으로 디스플레이되는 그림자는 세기가 감소된다(예를 들어, 도 7t 또는 도 7q에서와 동일한 세기로, 예컨대, 단축되고 그리고/또는 밝아진다). 선택적으로, 입력 제스처의 종료 후에 사용자(7002)의 주의가 올려진 구역(7080-b)으로 계속 지향되는 동안, 도 7v의 평면도(7082)에 표시되고 환경(7104)에 도시된 바와 같이, 올려진 구역(7080-b)의 하나 이상의 시각적 속성들, 이를테면 두께, 정반사, 사용자 인터페이스 요소(7080)의 표면으로부터의 분리, 및 그림자 세기가 유지된다. 일부 실시예들에서, 구역(7080-b)과 연관된 개개의 동작은, 도 7u의 입력 제스처의 종료에 응답하여 그리고 사용자(7002)의 주의가 구역(7080-b)으로부터 지향되어 남아 있는지 여부와 무관하게(예컨대, 지향되더라도) 수행된다. 일부 실시예들에서, 구역(7080-b)과 연관된 개개의 동작은, 도 7u의 입력 제스처의 종료 및 사용자(7002)의 주의가 구역(7080-b)으로부터 멀리 이동된 것에 응답하여 수행된다(예컨대, 제스처 입력의 종료에 응답하여, 사용자(7002)의 주의가 또한 더 이상 구역(7080-b)으로 지향되지 않는 경우까지 개개의 동작의 수행이 지연됨).
위에서 언급된 바와 같이, 일부 상황들에서, 환경(7104)은 슬라이더를 포함하는 사용자 인터페이스 요소를 포함하고, 일부 실시예들에서, 슬라이더의 현재 값을 변경하기 위한 제어부는, 디스플레이되는 동안 (예컨대, 도 7u의 손(7020)에 의한 입력 제스처에 응답하여) 도 7u를 참조하여 위에서 설명된 올려진 구역(7080-b)의 시각적 속성들 중 하나 이상과 동일한 거동 중 일부를 나타내고 그리고/또는 그 시각적 속성들 중 하나 이상을 갖는다. 또한, 일부 실시예들에서, 슬라이더 제어부는 (도 7u의 입력 제스처의 종료에 응답하여) 도 7v을 참조하여 위에서 설명된, 올려진 구역(7080-b)의 시각적 속성들 중 하나 이상과 동일한 거동의 일부를 나타내고 그리고/또는 그 시각적 속성들 중 하나 이상을 갖는다. 예를 들어, 도 7u의 입력 제스처와 유사한 입력 제스처의 종료에 응답하여, 일부 실시예들에서 슬라이더 제어부는 크기가 증가(예컨대, 복원)되고, 불투명도가 증가(예컨대, 복원)되고, 그리고/또는 밝아진다(예컨대, 입력 제스처 이전에, 사용자(7002)가 슬라이더 제어부와 상호작용할 의도를 나타낼 때와 동일한 밝기로 복원됨)(반면, 일부 실시예들에서는, 불투명도 및/또는 밝기가 유지됨). 선택적으로, 슬라이더 제어부에 의해 기본 콘텐츠 상에 캐스팅된 그림자는 세기가 (예컨대, 사용자(7002)가 슬라이더 제어부와 상호작용할 의도를 표시했을 때와 동일한 세기로 또는 사용자(7002)가 상호작용할 의도를 표시하기 전과 동일한 세기로) 감소된다. 일부 실시예들에서, 사용자(7002)의 주의가 슬라이더 또는 특히 슬라이더 제어부로 계속 향하는 동안, 슬라이더 제어부는 하나 이상의 시각적 속성들, 이를테면 두께, 대응하는 정반사(존재하는 경우), 기본 콘텐츠의 블러링의 양 및/또는 슬라이더가 그 일부인 사용자 인터페이스 요소로부터의 분리로 계속 디스플레이되고, 사용자(7002)의 주의가 슬라이더로부터 멀리 이동한 후, 슬라이더 제어부는 디스플레이가 중단된다(예컨대, 페이드 어웨이됨). 일부 실시예들에서, 슬라이더 제어부는 (예컨대, 사용자(7002)의 주의가 슬라이더로 계속 향하는 것과 무관하게, 그리고 계속 향하더라도) 입력 제스처의 종료 후에 디스플레이되는 것을 중단한다.
위에서 언급된 바와 같이, 일부 상황들에서, 환경(7104)은 이동가능한 요소를 갖는 토글 스위치를 포함하는 사용자 인터페이스 요소를 포함하고, 이는 일부 실시예들에서, (예컨대, 도 7u의 손(7020)에 의한 입력 제스처에 응답하여) 도 7u를 참조하여 위에서 설명된 올려진 구역(7080-b)의 시각적 속성들 중 하나 이상과 동일한 거동 중 일부를 나타내고 그리고/또는 그 시각적 속성들 중 하나 이상을 갖는다. 또한, 일부 실시예들에서, 이동가능한 요소는 (도 7u의 입력 제스처의 종료에 응답하여) 도 7v을 참조하여 위에서 설명된, 올려진 구역(7080-b)의 시각적 속성들 중 하나 이상과 동일한 거동의 일부를 나타내고 그리고/또는 그 시각적 속성들 중 하나 이상을 갖는다. 예를 들어, 도 7u의 입력 제스처와 유사한 입력 제스처의 종료에 응답하여, 일부 실시예들에서 이동가능한 요소는 크기가 증가(예컨대, 복원)되고, 불투명도가 증가(예컨대, 복원)되고, 그리고/또는 밝아진다(예컨대, 사용자(7002)가 토글 스위치와 상호작용할 의도를 표시하기 전과 동일한 디폴트 밝기로 복원되거나, 사용자(7002)가 토글 스위치와 상호작용할 의도를 표시하는 것에 응답하여 동일한 밝기로 복원되거나, 디폴트 밝기보다 큰 밝기와 같은 상이한 밝기 레벨로 증가됨)(반면, 일부 실시예들에서는, 불투명도 및/또는 밝기가 유지됨). 선택적으로, 이동가능한 요소에 의해 기본 콘텐츠 상에 캐스팅된 그림자는 세기가 (예컨대, 사용자(7002)가 토글 스위치와 상호작용할 의도를 표시했을 때와 동일한 세기로 또는 사용자(7002)가 상호작용할 의도를 표시하기 전과 동일한 세기로) 감소된다. 일부 실시예들에서, 입력 제스처의 완료에 응답하여, 이동가능한 요소의 측방향 이동이 디스플레이된다. 예를 들어, 이동가능한 요소는, 하나의 스위치 값에 대응하는 토글 스위치의 배경 요소에 대한 포지션으로부터 상이한 스위치 값에 대응하는 토글 스위치의 배경 요소에 대한 상이한 포지션으로 이동된다(예컨대, 배경 요소의 일 단부로부터 대향 단부로 이동됨). 또한, 새로운 스위치 값을 표시하기 위해 토글 스위치의 외관이 (예컨대, 이를테면 그레이 또는 백색으로부터 녹색으로 또는 그 반대로의 색상의 변경, 또는 다른 시각적 속성 변경을 통해) 변경된다. 일부 실시예들에서, 입력 제스처의 종료 후에, 사용자(7002)의 주의가 토글 스위치로 계속 지향되는 동안, 이동가능한 요소는 하나 이상의 시각적 속성들이 유지되면서 계속 디스플레이되고(예컨대, 사용자(7002)가 토글 스위치와 상호작용하려는 의도를 표시하는 증가된 밝기를 유지함, 여기서 증가된 밝기는 새로운 스위치 값에 대응하는 그의 외관을 갖는 토글 스위치에 적용됨), 이어서, 사용자(7002)의 주의가 토글 스위치로부터 멀리 이동한 후에, 하나 이상의 시각적 속성들이 복귀된다(예컨대, 토글 스위치와 상호작용하려는 사용자 의도의 부재 시에, 토글 스위치의 밝기가 디폴트 밝기로 복귀되는 한편, 그렇지 않으면 토글 스위치는 새로운 스위치 값에 대응하는 동일한 외관을 유지함).
도 7w는 사용자(7002)의 눈으로부터 멀리 그리고 사용자 인터페이스 요소(7080)의 좌측으로 연장되는 도 7w의 파선에 의해 표시된 바와 같이, 구역(7080-b)으로부터 사용자(7002)의 주의가 멀리 이동하는 것에 응답하여 그리고/또는 7u에서 사용자(7002)에 의해 수행된 입력 제스처가 종료되는 것(예컨대, 완료됨)에 응답하여, 도 7v로부터의 전환을 예시한다. 일부 실시예들에서, 도 7w는 도 7u의 사용자(7002)에 의해 수행된 입력 제스처가 이미 종료된 후에 사용자(7002)의 주의가 구역(7080-b)으로부터 멀리 이동하는 것에 응답하여 도 7v로부터의 전환을 표현한다. 일부 실시예들에서, 도 7w는 도 7u의 사용자(7002)에 의해 수행된 입력 제스처가 종료한 것과 함께 사용자(7002)의 주의가 구역(7080-b)으로부터 멀리 이동하는 것에 응답하여 도 7u로부터의 전환을 표현한다. 일부 실시예들에서, 도 7w는 사용자(7002)의 주의가 구역(7080-b)으로부터 멀리 이동한 후에 사용자(7002)에 의해 수행된 입력 제스처가 종료되는 것에 응답하여 도 7u로부터의 전환을 표현한다. 일부 실시예들에서, 도 7w의 환경(7104)의 외관은, 사용자(7002)의 주의가 구역(7080-b)으로부터 멀리 이동했는지 여부와 무관하게, 사용자(7002)에 의해 수행된 입력 제스처가 종료되는 것에 응답하여 도 7u로부터의 전환을 표현한다(예컨대, 전환은 사용자(7002)의 주의가 구역(7080-b) 상에 남아 있더라도 입력 제스처의 종료에 응답하여 발생함). 도 7w에서, 구역(7080-b)의 시각적 외관은 도 7v에서의 그의 외관으로부터 변경되는데: 구역(7080-b)의 두께는 감소되고(예컨대, 도 7q에서와 동일한 제로 두께로 복원되며, 여기서 구역(7080-b)은 평탄함), 도 7w의 평면도(7082)에 표시되고 환경(7104)에 도시된 바와 같이, 구역(7080-b)과 사용자 인터페이스 요소(7080)의 표면 사이의 분리는 감소된다(예컨대, 도 7q에서와 동일한 0 분리로 복원되며, 여기서 구역(7080-b)은 사용자 인터페이스 요소(7080)의 표면과 동일 평면에 있음). 도 7w의 구역(7080-b)은 도 7q의 구역(7080-b)보다 더 밝고 불투명하다(예컨대, 덜 투명함). 일부 실시예들에서, 도 7w의 구역(7080-b)의 시각적 외관은, 구역(7080-b)이 제2 상태, 이를테면 온 또는 활성화 상태임(예컨대, 컴퓨터 시스템(101)의 설정을 변경하고 그리고/또는 컴퓨터 시스템(101) 상에서 개개의 동작을 수행하도록 활성화됨)을 표시한다.
도 7x 내지 7z는 일부 실시예들에 따른, 기본 콘텐츠의 표현에 상이한 변환들을 적용함으로써, 사용자 인터페이스 객체 뒤에 있는 주변 3차원 환경의 콘텐츠 내의 콘텐츠에 기초한 외관을 갖는 컴퓨터 생성 사용자 인터페이스 객체의 상이한 부분들을 시각적으로 구별하는 것을 예시한다. 도 7x 내지 도 7z의 사용자 인터페이스들은 도 14의 프로세스들을 포함하여 아래에 설명되는 프로세스들을 예시하기 위해 사용된다. 도 7x 내지 도 7z를 참조하여 설명된 사용자 인터페이스 요소들은 선택적으로, 설명들에서 달리 언급되지 않는 한, 일부 실시예들에 따라, 도 7a 내지 도 7g, 도 7h 내지 도 7j, 도 7k 내지 도 7o, 도 7p, 및/또는 도 7q 내지 도 7w의 예들과 같은 다른 예들에 대해 본 명세서에서 설명된 사용자 인터페이스 요소들의 특성들 및/또는 거동들 중 하나 이상을 갖는다.
도 7x 내지 도 7z의 예들에 도시된 바와 같이, 컴퓨터 시스템(101)의 디스플레이 생성 컴포넌트(7100)를 통해 가시적인 콘텐츠는 사용자(7002)가 들고 있는 터치 스크린 상에 디스플레이된다. 일부 실시예들에서, 컴퓨터 시스템(101)의 디스플레이 생성 컴포넌트(7100)는 사용자(7002)의 머리에 착용된 머리 장착형 디스플레이이다(예컨대, 컴퓨터 시스템(101)의 디스플레이 생성 컴포넌트(7100)를 통해 가시적인 것으로 도 7x 내지 도 7z에서 도시된 것은 머리 장착형 디스플레이를 착용할 때 사용자(7002)의 시야에 대응한다).
도 7x는 도 7d와 동일한 시나리오를 도시하며, 여기서 시간 T=t2에서의 환경(7104)의 뷰가 컴퓨터 시스템(101)의 디스플레이(7100)를 통해 가시적이다. 시간 t2에서 사용자 인터페이스 요소(7030)는 사용자 인터페이스 요소(7030)의 기본이 되는 환경(7104)의 하나 이상의 부분들의 외관에 기초한 외관을 갖는다. 도 7x 내지 도 7z는 도 7d 내지 도 7g의 사용자 인터페이스 요소(7030)에 기초한 예들을 예시하지만, 그의 외관은 도 7g를 참조하여 본 명세서에 설명된 바와 같이 하나 이상의 시간들에서 환경(7104)의 기본 부분들의 외관의 그래픽 조성에 기초하고, 도 7x 내지 도 7z를 참조하여 본 명세서에서 설명된 개념들은 도 7h 내지 도 7j의 사용자 인터페이스 요소(7040)에 유사하게 적용되며, 그의 외관은 환경(7104)의 기본 부분들로부터 샘플링된 색상들로부터 생성된 색상 구배에 기초한다. 도 7g의 그래픽 조성 및 도 7h 내지 도 7j의 색상 구배 둘 모두는 환경(7104)의 기본 부분들의 블러링된 표현으로서 본 명세서에서 지칭되는 것의 예들이다.
도 7x는 또한 사용자 인터페이스 요소(7030)의 확대도(7084)를 도시한다. 확대도(7084)는 사용자 인터페이스 요소(7030)의 일부인 4개의 구역들을 예시한다. 구역(7084-a)은 예를 들어, 비-상호작용형 영역들, 이를테면 텍스트, 이미지들, 버튼들 및/또는 다른 제어부들(예컨대, 구역(7030-a)(도 7d), 구역(7040-a)(도 7h) 및/또는 구역(7054-a)(도 7l)과 유사함)을 포함하지 않는 구역들에 대응하는 사용자 인터페이스(7030)의 배경 부분이다. 구역들(7084-b)은 상호작용형(예컨대, 선택가능한) 객체들, 이를테면 버튼들, 토글 스위치들, 슬라이더들 및/또는 다른 제어부들(예컨대, 구역들(7030-b 및 7030-c)(도 7d), 구역들(7040-b 및 7040-c)(도 7h) 및/또는 구역(7054-d)(도 7l)과 유사함)을 표현한다. 구역(7084-c)은 텍스트 "TEXT1"에 대응하고, "TEXT1"의 문자들에 의해 점유된 영역들을 포함한다. 구역(7084-d)은 텍스트 "TEXT2"에 대응하고, "TEXT2"의 문자들에 의해 점유된 영역들을 포함한다. 일부 실시예들에서, 도 7x의 예에서와 같이, 배경 구역(7084-a), 제어 구역들(7084-b), 텍스트 구역(7084-c) 및 텍스트 구역(7084-d)은 상호 배타적인 구역들이다(예컨대, 사용자 인터페이스 요소(7030)의 상호 배타적인 구역들을 포함한다).
도 7x에 도시된 바와 같이, 사용자 인터페이스 요소(7030)의 외관은 환경(7104)의 하나 이상의 기본 부분들의 시작 포인트 표현(또한 블러링된 표현으로 지칭됨)의 별개의 구역들에 적용된 상이한 시각적 변환들의 결과이다. 일부 실시예들에서, 시작 포인트 표현은, 사용자 인터페이스 요소(7030-d)의 외관이 기초하는 도 7g의 시나리오(7036)의 시간 t2에서의 그래픽 조성으로부터 기인한 합성물이다. 일부 실시예들에서, 시작 포인트 표현은 도 7h의 시간 t2에서의 사용자 인터페이스 요소(7040)의 외관이 기초하는 생성된 색상 구배이다. 일부 실시예들에서, (예컨대, 시간 t2 및/또는 시간 t3을 포함하는 임의의 주어진 시간에) 시작 포인트 표현에서의 색상 채도는, 시작 포인트 표현이 기초하는 환경(7104)의 기본 부분들의 외관들에 비해 증가된다(예컨대, 합성물 또는 색상 구배를 생성하는 것은 색상 채도를 증가시키는 것을 포함하거나, 색상 채도를 증가시키는 추가적인 단계가 생성된 합성물 또는 색상 구배에 적용되어 시작 포인트 표현을 생성함). 도 7x에서, 사용자 인터페이스 요소(7084)의 배경 구역(7084-a)의 외관은, 본 명세서에서 "변환 XA"로 지칭되는 제1 변환을, (예컨대, (예컨대, 다른 구역들이 컷 아웃된) 배경 구역(7084-a)의 형상의 이미지 마스크가 변환 XA를 적용하기 전에 시작 포인트 표현에 적용된 것처럼) 배경 구역(7084-a)에 포함된 영역들에 대응하는 시작 포인트 표현의 영역들에 선택적으로 적용함으로써 생성된다. 일부 실시예들에서, 변환 XA는 변환 XA가 적용되는 영역들을 어둡게 한다(예컨대, 밝기를 감소시킴). 일부 실시예들에서, 변환XA는 (예컨대, 변환 XA가 적용되는 영역들을 어둡게 하고, 이 영역들의 그레이니스를 증가시키고, 그리고/또는 그 영역들의 색상 채도를 감소시키기 위해(예컨대, 시작 포인트 표현의 증가된 색상 채도를 오프셋 또는 복귀시킴)) 그레이 필터를 적용한다. 변환 XA의 효과의 더 큰 뷰가 도 7z에 도시되며, 여기서 패널(7088-a)은 시간 t2의 시작 포인트 표현 전체에 적용된 변환 XA의 결과를 도시한다. 변환 XA는 사용자 인터페이스 요소(7084)의 특정한 다른 구역들에 적용되지 않는다. 도 7x의 예에서, 변환 XA는 구역들(7084-b, 7084-c, 및 7084-d) 중 어느 것에도 적용되지 않는다. 대신에, 상이한 변환들이 그러한 구역들에 적용된다.
제어 구역들(7084-b)의 외관은, 예를 들어, 본 명세서에서 "변환 XB"로 지칭되는 상이한 제2 변환을, (예컨대, 변환 XB를 적용하기 전에 제어 구역들(7084-b)(예컨대, 2개의 직사각형들)의 형상의 이미지 마스크가 시작 포인트 표현에 적용된 것처럼) 제어 구역들(7084-b)에 포함된 영역들에 대응하는 시작 포인트 표현의 영역들에 선택적으로 적용함으로써 생성되고, 일부 실시예들에서, 변환 XB는 변환 XB가 적용되는 영역들을 밝게 한다(예컨대, 밝기를 증가시킴). 변환 XB의 효과의 더 큰 뷰가 도 7z에 도시되며, 여기서 패널(7088-b)은 시간 t2의 시작 포인트 표현 전체에 변환 XB이 적용된 경우의 결과를 도시한다. 도 7x의 예에서, 변환 XB는 구역들(7084-a, 7084-c, 및 7084-d) 중 어느 것에도 적용되지 않는다.
도 7x의 사용자 인터페이스 요소(7084)의 구역들(7084-c 및 7084-d)은 텍스트 구역들에 적용된 변환들의 2개의 상이한 예들을 예시한다. 예를 들어, 텍스트 구역(7084-c)의 외관은, 배경 구역(7084-a)에 대해 설명된 변환 XA를 적용하는 것을 포기하고, 제어 구역들(7084-b)에 대해 설명된 변환 XB를 적용하는 것을 포기하고, 그리고 다른 텍스트 구역(7084-d)에 대해 다음과 같이 설명된 변환 XD를 적용하는 것을 포기한 결과이다(예컨대, 시작 포인트 표현에 어떠한 변환도 적용하지 않거나, 또는 아이덴티티 변환인 시각적 변환을 시작 포인트 표현에 적용함). 달리 말하면, 텍스트 구역(7084-c)의 외관은 시작 포인트 변환의 외관을 유지한 결과(예컨대, 그래픽 조성 또는 색상 구배의 결과)이다. 시간 t2의 시작 포인트 표현에 임의의 변환들을 적용하는 것을 포기하는 효과의 더 큰 뷰(예컨대, 시간 t2의 시작 포인트 표현의 외관의 더 큰 뷰)가 도 7z에 도시되며, 여기서 패널(7088-c)은 어떠한 변환들도 적용되지 않은 시작 포인트 표현을 도시한다. 달리 적용되는 하나 이상의 시각적 변환들을 갖는 개개의 영역 내에서, 하나 이상의 시각적 변환들 중 일부 또는 전부를 텍스트 문자 영역들에 적용하는 것을 억제하는 것은 텍스트(예컨대, 변환되지 않은 영역들)의 가독성을 개선하기 위한 하나의 방식이다. 일부 실시예들에서, 텍스트 구역(7084-c)의 외관은, 변환 XA, 변환 XB, 및 변환 XD 중 어느 것도 텍스트 구역(7084-c)에 적용하지 않고, 변환 XA, 변환 XB, 및 변환 XD와 또한 상이한, 본 명세서에서 "변환 XC"로 지칭되는 제4 변환을 적용한 결과이고, 선택적으로 여기서 변환 XC는 구역들(7084-a, 7084-b, 및 7084-d) 중 어느 것에도 적용되지 않는다.
대조적으로, 텍스트 구역(7084-d)의 외관은, 본 명세서에서 "변환 XD"로 지칭되는 제3 변환을, (예컨대, 텍스트 구역(7084-d)의 문자들의 형상에서의 이미지 마스크가 변환 XD를 적용하기 전에 시작 포인트 표현에 적용된 것처럼) 텍스트 구역(7084-d)에 포함된 텍스트 문자 영역들에 대응하는 시간 t2의 시작 포인트 표현의 영역들에 선택적으로 적용한(그리고 예컨대, 배경 구역(7084-a)과 관련하여 설명된 변환 XA를 적용하는 것을 포기하고 제어 구역들(7084-b)에 대해 설명된 변환 XB를 적용하는 것을 포기한) 결과이고, 일부 실시예들에서, 변환 는, 변환 XA가 적용된 영역들을 변환 XA가 어둡게 하는 것보다 변환 XD가 적용된 영역들을 어둡게 한다(예컨대, 밝기를 감소시킴). 변환 XD의 효과의 더 큰 뷰가 도 7z에 도시되며, 여기서 패널(7088-d)은 시간 t2의 시작 포인트 표현 전체에 적용된 변환 XD의 결과를 도시한다. 도 7x의 예에서, 변환 XD는 구역들(7084-a, 7084-b, 및 7084-c) 중 임의의 구역에 적용되지 않는다. 당업자는, 텍스트 구역(7084-d)의 외관이 (예컨대, 변환 XA를 적용하는 것을 포기하기 보다는) 텍스트 구역(7084-d)에 변환 XA를 적용하고 (예컨대, 변환 XD' 단독으로는 변환 XA보다 구역들을 더 어둡게 하지 않더라도) 텍스트 구역(7084-d)을 추가로 어둡게 하는 변환 XD'를 적용함으로써 유사하게 생성될 수 있다는 것을 인식할 것이다. 개개의 영역의 나머지에 비해 개개의 영역 내의 텍스트 캐릭터 영역들을 (예컨대, 추가로) 어둡게 하는 시각적 변환을 적용하는 것은 텍스트의 가독성(예컨대, 어둡게 된, 또는 일부 실시예들에서, 추가로 어둡게 된 영역들의 가독성)을 개선하기 위한 다른 방식이다.
도 7y는 도 7e와 동일한 시나리오를 도시하며, 여기서 시간 T=t3에서의 환경(7104)의 뷰가, 도 7x에 도시된 바와 같이, 시간 T=t2에서 환경(7104)의 뷰로부터의 전환에서, 컴퓨터 시스템(101)의 디스플레이(7100)를 통해 가시적이다. 시간 t3에서 사용자 인터페이스 요소(7030)는 시간 t2에서 사용자 인터페이스 요소(7030)(도 7x)에 대해 변경된 외관을 가지며, 이는, 도 7g를 참조하여 본 명세서에서 설명된 바와 같이, 시간 t3 이전의 및/또는 이를 포함하는 하나 이상의 시간들에 환경(7104)의 기본 부분들의 외관의 그래픽 조성에 따라(또는 유사하게, 도 7i를 참조하여 본 명세서에서 설명된 바와 같이, 시간 t3에 사용자 인터페이스 요소(7040) 아래의 환경(7104)의 부분들로부터 샘플링된 색상들로부터 생성된 색상 구배에 따라), 사용자 인터페이스 요소(7030) 아래의 환경(7104)의 하나 이상의 변경된 부분들의 외관에 기초한다.
일부 상황들에서, 환경(7104)의 하나 이상의 기본 부분들의 변화들은 적어도 부분적으로 환경(7104) 내의 다른 객체들의 이동(예컨대, 박스(7012)가 공간에서 떨어지는 것 및/또는 공(7108)이 우측으로 롤링하는 것(도 7b 내지 도 7e))에 기인한 것이다. 일부 상황들에서, 환경(7104)의 하나 이상의 기본 부분들의 변화들은 (예컨대, 도 7k 내지 도 7m을 참조하여 본 명세서에서 설명된 바와 같이) 적어도 부분적으로 환경(7104)의 실제 및/또는 가상의 조명의 변화들에 기인한다. 일부 상황들에서, 환경(7104)의 하나 이상의 기본 부분들의 변화들은 적어도 부분적으로, 이를테면 사용자 인터페이스 요소(7030)가 시점-록킹된 동안(또는 사용자 인터페이스 요소(7040)가 환경(7104)에 대해 회전되는 도 7h로부터 도 7i로의 유사한 전환) 사용자 인터페이스 요소(7030)가 사용자(7002)의 시점이 회전되는 것에 응답하여(예컨대, 사용자가 머리 장착형 디스플레이를 착용한 동안 터치스크린을 이동시키거나 그들의 머리를 돌릴 때) 환경(7104)에 대해 회전되는 도 7d로부터 도 7e로의 전환에서, 또는 예를 들어, 환경(7104)에서 사용자 인터페이스 요소(7040)를 리포지셔닝하기 위해 사용자(7002)에 의한 드래그 또는 다른 입력에 응답하여 이를테면 사용자 인터페이스 요소(7040)가 환경(7104)에 대해 측방향으로 이동되는 도 7i로부터 도 7j로의 전환과 유사한 전환에서, 환경(7104)에 대한 사용자 인터페이스 요소(7030)의 포지션의 (예컨대, 사용자 인터페이스 요소(7030)가 환경(7104)의 상이한 부분 상에 오버레이되도록 하는) 변화에 기인한다. 일부 환경들에서, 환경(7104)의 하나 이상의 기본 부분들의 변화들은 (예컨대, 이전에 언급된 바와 같이, 사용자(7002)의 시점이 회전하는 것에 따라 및/또는 사용자 인터페이스 요소(7030)가 세계-록킹된 동안 (예컨대, 사용자가 머리 장착형 디스플레이를 착용한 동안, 환경(7104) 내의 사용자 인터페이스 요소(7030)의 시뮬레이션된 포지션에 대해 터치스크린을 이동시키거나 자신의 머리를 이동시킬 때) 사용자 인터페이스 요소(7030)에 대한 환경(7104) 내의 사용자(7002)의 시점의 이동으로 인해 사용자 인터페이스 요소(7030)가 환경(7104)에 대해 회전되어, 환경(7104)에 대해 사용자 인터페이스 요소(7030)를 이동시키지 않더라도, 환경(7104)의 어느 부분들이 사용자 인터페이스 요소(7030) 아래에 있는지를 변경하는 도 7d로부터 도 7e로의 전환에서와 같이) 적어도 부분적으로 환경(7104)에 대한 사용자의 시점의 변화에 기인한다. 일부 상황들에서, 환경(7104)의 하나 이상의 기본 부분들의 변화들은 위에서 설명된 이유들의 임의의 조합으로 인한 것이다.
도 7y는 또한 사용자 인터페이스 요소(7030)의 확대도(7086)를 도시한다. 도 7x의 확장된 뷰(7084)와 같은 확장된 뷰(7086)는 사용자 인터페이스 요소(7030)의 일부인 4개의 구역들을 예시하여: 구역(7086-a)은 사용자 인터페이스(7030)의 배경 부분이고 도 7x의 구역(7084-a)과 유사하고; 구역(7086-a)은 상호작용형(예컨대, 선택가능한) 객체들을 표현하고 도 7x의 구역들(7084-b)과 유사하고; 구역(7086-c)은 텍스트 "TEXT1"에 대응하고, "TEXT1"의 문자들에 의해 점유된 영역들을 포함하며, 도 7x의 구역(7084-c)과 유사하고; 구역(7086-d)은 텍스트 "TEXT2"에 대응하고, "TEXT2"의 문자들에 의해 점유된 영역들을 포함하며, 도 7x의 구역(7084-d)과 유사하다. 일부 실시예들에서, 도 7y의 예에서와 같이, 그리고 도 7x의 예와 유사하게, 배경 구역(7086-a), 제어 구역들(7086-b), 텍스트 구역(7086-c) 및 텍스트 구역(7086-d)은 상호 배타적인 구역들이다(예컨대, 사용자 인터페이스 요소(7030)의 상호 배타적인 구역들을 포함한다).
도 7y에 도시된 바와 같이, 사용자 인터페이스 요소(7030)의 외관은 환경(7104)의 하나 이상의 기본 부분들의 시작 포인트 표현의 별개의 구역들에 적용된 상이한 시각적 변환들의 결과이다. 일부 실시예들에서, 시작 포인트 표현은, 선택적으로 더 큰 색상 채도로, 사용자 인터페이스 요소(7030-e)의 외관이 기초하는 도 7g의 시나리오(7038)의 시간 t3에서의 그래픽 조성으로부터 기인한 합성물이다. 일부 실시예들에서, 시작 포인트 표현은, 선택적으로 더 큰 색상 채도로, 도 7i의 시간 t3에서의 사용자 인터페이스 요소(7040)의 외관이 기초하는 생성된 색상 구배이다. 도 7y에서, 사용자 인터페이스 요소(7086)의 배경 구역(7086-a)의 외관은, 선택적으로 어둡게 하는 변환(예컨대, 색상 채도를 감소시킴)인 변환 XA를, 배경 구역(7086-a)에 포함된 영역들에 대응하는 시작 포인트 표현의 영역들에 선택적으로 적용함으로써 생성된다. 변환 XA의 효과의 다른 더 큰 뷰가 도 7z에 도시되며, 여기서 패널(7090-a)은 시간 t3의 시작 포인트 표현 전체에 적용된 변환 XA의 결과를 도시한다. 도 7y의 예에서, 변환 XA는 사용자 인터페이스 요소(7086)의 특정한 다른 구역들, 이를테면 구역들(7086-b, 7086-c 및 7086-d)에 적용되지 않는다.
예를 들어, 제어 구역들(7086-b)의 외관은, 선택적으로 밝게 하는 변환인 변환 XB를, 제어 구역들(7086-b)에 포함된 영역들에 대응하는 시작 포인트 표현의 영역들에 선택적으로 적용함으로써 생성된다. 변환 XB의 효과의 다른 더 큰 뷰가 도 7z에 도시되며, 여기서 패널(7090-b)은 시간 t3의 시작 포인트 표현 전체에 적용된 변환 XB의 결과를 도시한다. 도 7y의 예에서, 변환 XB는 구역들(7086-a, 7086-c, 및 7086-d) 중 어느 것에도 적용되지 않는다.
도 7y의 사용자 인터페이스 요소(7086)의 구역들(7086-c 및 7086-d)은 텍스트 구역들에 적용된 변환들의 2개의 상이한 예들을 예시한다. 텍스트 구역(7086-c)의 외관은, 변환 XA를 적용하는 것을 포기하고, 변환 XB를 적용하는 것을 포기하고, 그리고 변환 XD를 적용하는 것을 포기한 결과이다(예컨대, 시작 포인트 표현에 어떠한 변환도 적용하지 않거나, 또는 아이덴티티 변환인 시각적 변환을 시작 포인트 표현에 적용함). 달리 말하면, 텍스트 구역(7086-c)의 외관은 시작 포인트 변환의 외관을 유지한 결과(예컨대, 그래픽 조성 또는 색상 구배의 결과)이다. 시작 포인트 표현에 임의의 변환들을 적용하는 것을 포기하는 효과의 다른 더 큰 뷰(예컨대, 시작 포인트 표현의 외관의 더 큰 뷰)가 도 7z에 도시되며, 여기서 패널(7090-c)은 어떠한 변환들도 적용되지 않은 시간 t3의 시작 포인트 표현을 도시한다. 일부 실시예들에서, 텍스트 구역(7086-c)의 외관은, 변환 XA, 변환 XB 및 변환 XD 중 어느 것도 텍스트 구역(7086-c)에 적용하지 않고, 그리고 선택적으로, 구역들(7086-a, 7086-b 및 7086-d) 중 어느 구역에도 변환 XC를 적용하지 않고, 도 7x를 참조하여 위에서 설명된 변환 XC를 적용한 결과이다.
대조적으로, 텍스트 구역(7086-d)의 외관은, 변환 XD를 (예컨대, 변환 XA를 적용하지 않고 그리고 변환 XB를 적용하지 않고) 텍스트 구역(7086-d)에 포함된 텍스트 문자 영역들에 대응하는 시간 t3의 시작 포인트 표현의 영역들에 선택적으로 적용한 결과이다. 변환 XD의 효과의 다른 더 큰 뷰가 도 7z에 도시되며, 여기서 패널(7090-a)은 시간 t3의 시작 포인트 표현 전체에 적용된 변환 XD의 결과를 도시한다. 도 7y의 예에서, 변환 XD는 구역들(7086-a, 7086-b, 및 7086-c) 중 어느 것에도 적용되지 않는다. 따라서, 도 7x 및 7y는, 기본 콘텐츠의 표현의 상이한 구역들에 시각적 변환들을 적용하여 사용자 인터페이스 요소의 외관을 생성함으로써 사용자 인터페이스 요소(예컨대, 사용자 인터페이스 요소(7030) 또는 사용자 인터페이스 요소(7040))가 시간이 (예컨대, 시간 t2로부터 시간 t3으로) 지남에 따라 어떻게 변화하는지의 예를 제공하며, 여기서 표현 자체는 주변 3차원 환경의 기본 부분들에 기초한 그래픽 조성 또는 색상 구배이다. 당업자는, (예컨대, 도 7a 내지 도 7j를 참조하여 본 명세서에서 설명된 바와 같이) 표현이 시간이 지남에 따라 계속 변화할 때, 기본 콘텐츠의 표현에 동일한 시각적 표현들을 적용함으로써 사용자 인터페이스 요소의 외관이 계속 생성될 수 있음을 인식할 것이다.
일부 실시예들에서, (예컨대, 도 7a 내지 도 7z 및 도 8 내지 도 14와 관련하여) 본 명세서에 설명된 다양한 예들 및 실시예들에서 사용되는 입력 제스처들은 선택적으로, 일부 실시예들에 따라 가상 또는 혼합 현실 환경과 상호작용하기 위해 제스처 직전에 또는 제스처 동안 동작들을 수행하도록 사용자의 전체 손 또는 팔을 이들의 자연스러운 위치(들) 및 자세(들)로부터 멀리 이동시키는 주요 이동을 요구함이 없이 다른 손가락(들) 또는 사용자의 손의 일부(들)에 대한 사용자의 손가락(들)의 이동에 의해 수행되는 이산적인 작은 모션 제스처를 포함한다.
일부 실시예들에서, 입력 제스처들은 센서 시스템(예를 들어, 도 1의 센서들(190); 도 3의 이미지 센서들(314))에 의해 캡처된 데이터 또는 신호들을 분석함으로써 검출된다. 일부 실시예들에서, 센서 시스템은 하나 이상의 이미징 센서들(예를 들어, 모션 RGB 카메라들, 적외선 카메라들, 및/또는 심도 카메라들과 같은 하나 이상의 카메라들)을 포함한다. 예를 들어, 하나 이상의 이미징 센서들은 디스플레이 생성 컴포넌트(예를 들어, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120)(예를 들어, 디스플레이 및 터치-감응형 표면으로서의 역할을 하는 터치-스크린 디스플레이, 입체 디스플레이, 또는 패스-스루 부분을 갖는 디스플레이))를 포함하는 컴퓨터 시스템(예를 들어, 도 1의 컴퓨터 시스템(101)(예를 들어, 휴대용 전자 디바이스(7100) 또는 HMD))의 컴포넌트들이거나 그에 데이터를 제공한다. 일부 실시예들에서, 하나 이상의 이미징 센서들은 디바이스의 디스플레이 반대편의 디바이스의 면 상에 하나 이상의 후방 카메라들을 포함한다. 일부 실시예들에서, 입력 제스처들은 머리 장착형 시스템의 센서 시스템(예를 들어, 사용자의 좌측 눈에 대한 좌측 이미지 및 사용자의 우측 눈에 대한 우측 이미지를 제공하는 입체 디스플레이를 포함하는 VR 헤드셋)에 의해 검출된다. 예를 들어, 머리 장착형 시스템의 컴포넌트들인 하나 이상의 카메라들이 머리 장착형 시스템의 전방 및/또는 밑면에 장착된다. 일부 실시예들에서, 하나 이상의 이미징 센서들은, 이미징 센서들이 머리 장착형 시스템의 이미지들 및/또는 머리 장착형 시스템의 사용자를 캡처하도록, 머리 장착형 시스템이 사용되는 공간에 위치된다(예를 들어, 룸 내의 다양한 위치들에서 머리 장착형 시스템 주위에 배열됨). 일부 실시예들에서, 입력 제스처들은 헤드 업 디바이스의 센서 시스템(예를 들어, 헤드 업 디스플레이, 그래픽들을 디스플레이하는 능력을 갖는 자동차 앞유리, 그래픽들을 디스플레이하는 능력을 갖는 윈도우, 그래픽들을 디스플레이하는 능력을 갖는 렌즈)에 의해 검출된다. 예를 들어, 하나 이상의 이미징 센서들이 자동차의 내부 표면들에 부착된다. 일부 실시예들에서, 센서 시스템은 하나 이상의 심도 센서들(예를 들어, 센서들의 어레이)을 포함한다. 예를 들어, 하나 이상의 심도 센서들은 하나 이상의 광-기반(예를 들어, 적외선) 센서들 및/또는 하나 이상의 음향-기반(예를 들어, 초음파) 센서들을 포함한다. 일부 실시예들에서, 센서 시스템은 광 방출기(예를 들어, 적외선 방출기) 및/또는 음향 방출기(예를 들어, 초음파 방출기)와 같은 하나 이상의 신호 방출기들을 포함한다. 예를 들어, 광(예를 들어, 미리 결정된 패턴을 갖는 적외선 광 방출기들의 어레이로부터의 광)이 손(예를 들어, 손(7102)) 상에 투영되는 동안, 광의 조명 하의 손의 이미지는 하나 이상의 카메라들에 의해 캡처되고, 캡처된 이미지는 손의 위치 및/또는 구성을 결정하기 위해 분석된다. 터치 감응형 표면들의 신호들 또는 다른 직접 접촉 메커니즘(들) 또는 근접-기반 메커니즘들을 사용하는 것과 대조적으로, 입력 제스처들을 결정하기 위해 손으로 지향된 이미지 센서들로부터의 신호들을 사용하는 것은, 특정 입력 디바이스 또는 입력 영역에 의해 부과된 제약들을 경험하지 않고서, 사용자가 자신의 손으로 입력 제스처들을 제공할 때 큰 모션들을 실행할지 또는 비교적 정지된 것이 남아 있을지 여부를 자유롭게 선택할 수 있게 한다.
일부 실시예들에서, 탭 입력은, 선택적으로, 사용자의 손의 검지 손가락 위에서(예를 들어, 엄지 손가락에 인접한 검지 손가락의 면 위에서) 엄지 손가락의 탭 입력이다. 일부 실시예들에서, 검지 손가락의 면으로부터 엄지 손가락의 리프트 오프를 요구하지 않고 탭 입력이 검출된다. 일부 실시예들에서, 엄지 손가락의 하향 이동 후에 엄지 손가락의 상향 이동이 뒤따르고 엄지 손가락은 임계 시간 미만 동안 검지 손가락의 면과 접촉한다는 결정에 따라 탭 입력이 검출된다. 일부 실시예들에서, 엄지 손가락이 상승된 위치로부터 터치-다운 위치로 이동하고 적어도 제1 임계 시간(예를 들어, 탭 시간 임계치 또는 탭 시간 임계치보다 긴 다른 시간 임계치) 동안 터치-다운 위치에 유지된다는 결정에 따라 탭-홀드 입력이 검출된다. 일부 실시예들에서, 컴퓨터 시스템은 검지 손가락 상의 엄지 손가락에 의한 탭-홀드 입력을 검출하기 위해, 손 전체가 적어도 제1 임계 시간 동안의 위치에서 실질적으로 정지 상태로 유지될 것을 요구한다. 일부 실시예들에서, 터치-홀드 입력은, 손 전체가 실질적으로 정지된 상태로 유지될 것을 요구하지 않으면서 검출된다(예를 들어, 엄지 손가락이 검지 손가락의 면 상에 놓인 동안 손 전체가 이동할 수 있음). 일부 실시예들에서, 탭-홀드-드래그 입력은, 엄지 손가락이 검지 손가락의 면 상에서 터치 다운하고 엄지 손가락이 검지 손가락의 면 상에 놓여 있는 동안에 손 전체가 움직일 때 검출된다.
일부 실시예들에서, 플릭(flick) 제스처는, 선택적으로, 검지 손가락에 걸친(예를 들어, 손바닥 면으로부터 검지 손가락의 뒷면으로의) 엄지 손가락의 이동에 의한 푸시 또는 플릭 입력이다. 일부 실시예들에서, 엄지 손가락의 확장 이동은, 예를 들어, 엄지 손가락에 의한 상향 플릭 입력에서와 같이, 검지 손가락의 면으로부터 멀어지는 상향 이동을 수반한다. 일부 실시예들에서, 검지 손가락은 엄지 손가락의 전방 및 상향 이동 동안 엄지 손가락의 방향과 반대 방향으로 이동한다. 일부 실시예들에서, 엄지 손가락이 확장된 위치로부터 후퇴 위치로 이동함으로써, 역방향 플릭 입력이 수행된다. 일부 실시예들에서, 검지 손가락은 엄지 손가락의 후방 및 하향 이동 동안 엄지 손가락의 방향과 반대 방향으로 이동한다.
일부 실시예들에서, 스와이프 제스처는, 선택적으로, 검지 손가락을 따라(예를 들어, 엄지 손가락에 인접한 검지 손가락의 면을 따라 또는 손바닥의 면 상에서) 엄지 손가락의 이동에 의한 스와이프 입력이다. 일부 실시예들에서, 검지 손가락은 선택적으로 확장된 상태(예를 들어, 실질적으로 일직선) 또는 말려진 상태에 있다. 일부 실시예들에서, 검지 손가락은 스와이프 입력 제스처에서 엄지 손가락의 이동 동안 확장된 상태와 말려진 상태 사이에서 이동한다.
일부 실시예들에서, 다양한 손가락들의 상이한 지골(phalange)들(때때로 세그먼트들로 지칭됨)은 상이한 입력들에 대응한다. 다양한 손가락들(예를 들어, 검지 손가락, 중지 손가락, 약지 손가락, 및 선택적으로, 새끼 손가락)의 다양한 지골들에 걸친 엄지 손가락의 탭 입력은 선택적으로 상이한 동작들에 맵핑된다. 유사하게, 일부 실시예들에서, 상이한 푸시 또는 클릭 입력들은 각자의 사용자 인터페이스 접촉에서 상이한 동작들을 트리거하기 위해 상이한 손가락들 및/또는 손가락의 상이한 부분들에 걸쳐 엄지 손가락에 의해 수행될 수 있다. 유사하게, 일부 실시예들에서, 상이한 손가락들을 따라 그리고/또는 상이한 방향들로 (예를 들어, 손가락의 원위 또는 근위 단부를 향해) 엄지 손가락에 의해 수행되는 상이한 스와이프 입력들은 각자의 사용자 인터페이스 상황에서 상이한 동작들을 트리거한다.
일부 실시예들에서, 컴퓨터 시스템은 탭 입력들, 플릭 입력들 및 스와이프 입력들이 엄지 손가락의 이동 유형들에 기초하여 상이한 유형들의 입력들로서 취급되는 것으로 취급한다. 일부 실시예들에서, 컴퓨터 시스템은 엄지 손가락에 의해 탭핑되거나, 터치되거나, 스와이프되는 상이한 손가락 위치들을 갖는 입력들을 주어진 입력 유형(예를 들어, 탭 입력 유형, 플릭 입력 유형, 또는 스와이프 입력 유형)의 상이한 서브-입력-유형들(예를 들어, 근위, 중간, 원위 하위 유형들, 또는 검지, 중지, 약지, 또는 새끼 하위 유형들)로 취급한다. 일부 실시예들에서, 움직이는 손가락(예를 들어, 엄지 손가락)에 의해 수행되는 이동의 양, 및/또는 손가락의 이동과 연관된 다른 이동 메트릭들(예를 들어, 속도, 초기 속도, 종료 속도, 지속기간, 방향, 및/또는 이동 패턴)은 손가락 입력에 의해 트리거되는 동작에 정량적으로 영향을 미치는 데 사용된다.
일부 실시예들에서, 컴퓨터 시스템은 엄지 손가락에 의한 이동들의 시퀀스, 예를 들어, 탭-스와이프 입력(예를 들어, 손가락 상의 엄지 손가락의 터치 다운에 이은 손가락의 면을 따른 스와이프), 탭-플릭 입력(예를 들어, 손가락 위에서 엄지 손가락의 터치 다운에 이은 손가락의 손바닥 측으로부터 후방 측으로 손가락에 걸친 플릭), 및/또는 더블 탭 입력(예를 들어, 대략 동일한 위치에서 손가락의 면 상의 2개의 연속적인 탭들)을 조합하는 조합 입력 유형들을 인식한다.
일부 실시예들에서, 제스처 입력들은 엄지 손가락 대신에 검지 손가락에 의해 수행된다(예를 들어, 검지 손가락이 엄지 손가락 상에서 탭 또는 스와이프를 수행하거나, 또는 엄지 손가락과 검지 손가락이 핀치 제스처를 수행하도록 서로를 향해 이동하는 것). 일부 실시예들에서, 손목 이동(예를 들어, 수평 방향 또는 수직 방향으로의 손목의 플릭)은 손가락 이동 입력들에 대해 바로 앞서, (예를 들어, 임계 시간 내에서) 바로 후속하여, 또는 동시에 수행되어, 손목 이동에 의한 수정자 입력이 없는 손가락 이동 입력들과 비교하여, 현재 사용자 인터페이스 상황에서 추가적인 동작들, 상이한 동작들 또는 수정된 동작들을 트리거한다. 일부 실시예들에서, 사용자의 손바닥이 사용자의 얼굴을 향하도록 수행된 손가락 입력 제스처들은 사용자의 손바닥이 사용자의 얼굴로부터 멀리 향하게 하여 수행되는 손가락 입력 제스처들과 상이한 유형의 제스처들로서 취급된다. 예를 들어, 사용자의 손바닥이 사용자를 향하여 수행되는 탭 제스처는, 사용자의 손바닥이 사용자의 얼굴로부터 멀리 향하도록 수행된 탭 제스처에 응답하여 수행되는 동작(예를 들어, 동일한 동작)과 비교하여 추가된(또는 감소된) 프라이버시 보호를 갖는 동작을 수행한다.
본 개시내용에 제공된 예들에서 일 유형의 동작을 트리거하기 위해 하나의 유형의 입력 또는 손가락 입력이 사용될 수 있지만, 다른 실시예들에서 동일한 유형의 동작을 트리거하기 위해 다른 유형들의 입력 또는 손가락 입력이 선택적으로 사용된다.
도 7a 내지 도 7z에 관한 추가 설명들은 아래의 도 8 내지 도 14와 관련하여 설명되는 방법들(8000, 9000, 10000, 11000, 12000, 13000 및 14000)을 참조하여 아래에서 제공된다.
도 8은 물리적 환경의 뷰 위에 사용자 인터페이스 요소를 디스플레이하는 방법(8000)의 흐름도이며, 여기서 사용자 인터페이스 요소는 일부 실시예들에 따른, 다수의 상이한 시점들에서 사용자 인터페이스 요소 뒤에 있는 물리적 환경의 콘텐츠의 그래픽 조성에 기초하는 외관을 갖는다.
일부 실시예들에서, 본 방법(8000)은, 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120))(예컨대, 헤드업 디스플레이, 디스플레이, 터치스크린, 및/또는 프로젝터) 및 선택적으로 하나 이상의 입력 디바이스들, 이를테면 하나 이상의 카메라들(예를 들어, 사용자의 손에서 하향으로 또는 사용자의 머리로부터 상향으로 향하는, 예컨대 카메라(예컨대, 색상 센서들, 적외선 센서들, 및 다른 심도 감지 카메라들))과 통신하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 방법(8000)은, 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터 시스템의 하나 이상의 프로세서들, 예를 들어, 컴퓨터 시스템(101)의 하나 이상의 프로세서들(202)(예를 들어, 도 1a의 제어 유닛(110))에 의해 실행되는 명령어들에 의해 통제된다. 방법(8000)에서의 일부 동작들이 선택적으로 조합되거나, 및/또는 일부 동작들의 순서가 선택적으로 변경된다.
일부 실시예들에서, 방법(8000)은 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101), 도 7a 내지 도 7g, 도 7h 내지 도 7j, 도 7k 내지 도 7o, 도 7p, 도 7q 내지 도 7w 및/또는 도 7x 내지 7z와 관련하여 설명된 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 컴퓨터 시스템은 디스플레이 생성 컴포넌트(예컨대, 디스플레이 생성 컴포넌트는 헤드-업 디스플레이, 머리 장착형 디스플레이(HMD), 디스플레이, 터치스크린 및/또는 프로젝터임) 및 선택적으로 하나 이상의 입력 디바이스들(예컨대, 카메라들, 제어기들, 터치 감응형 표면들, 조이스틱들, 버튼들, 글러브들, 시계들, 모션 센서들 및/또는 배향 센서들)과 통신한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트는 도 7a 내지 도 7z와 관련하여 설명된 디스플레이 생성 컴포넌트(7100)이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들 중 적어도 일부와 동일한 하우징으로 둘러싸인 하나 이상의 프로세서들 및 메모리를 갖는 통합 디바이스이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및/또는 하나 이상의 입력 디바이스들과 별개인 하나 이상의 프로세서들 및 메모리를 포함하는 컴퓨팅 컴포넌트(예컨대, 서버, 스마트 폰 또는 태블릿 디바이스와 같은 모바일 전자 디바이스, 워치, 손목밴드, 이어폰들과 같은 웨어러블 디바이스, 데스크톱 컴퓨터, 또는 랩톱 컴퓨터)를 포함한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들은 동일한 하우징 내에 통합되고 그로 둘러싸인다. 방법(8000)의 많은 특징들은 일부 실시예들에 따라 도 7a 내지 도 7g와 관련하여 설명된다.
방법(8000)에서, 컴퓨터 시스템은 디스플레이 생성 컴포넌트를 통해, 물리적 환경의 뷰; 및 물리적 환경의 뷰의 적어도 일부 상에 오버레이된 컴퓨터 생성 사용자 인터페이스 요소를 동시에 디스플레이한다(8002). 컴퓨터 생성 사용자 인터페이스 요소의 외관은 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 뷰의 하나 이상의 부분들의 외관에 기초한다(8004). 도 7a 내지 도 7g를 참조하여 본 명세서에서 설명된 바와 같이, 디스플레이 생성 컴포넌트(7100)는 물리적 환경(7102)(도 7a)의 뷰 및 (예컨대, 환경(7104)의 적어도 일부 상에 오버레이된) 물리적 환경(7102)의 디스플레이된 뷰의 적어도 일부 상에 오버레이되어 디스플레이된 컴퓨터 생성 사용자 인터페이스 요소(7030)(도 7d)를 포함하는 환경(7104)(도 7b)을 디스플레이한다.
방법(8000)에서, 물리적 환경의 뷰 및 컴퓨터 생성 사용자 인터페이스 요소를 동시에 디스플레이하는 동안, 물리적 환경의 일부의 외관은 변화한다(8006). 도 7b 내지 도 7e를 참조하여 본 명세서에서 설명된 바와 같이, 물리적 환경(7102)의 박스(7012)는 공간에서 바닥(7008)을 향해 떨어지고 있다. 또한, 도 7b로부터 도 7c로의 전환에서, 물리적 환경(7102)의 뷰잉 관점은 하향 및 후방으로 시프트되고; 도 7c로부터 도 7d로의 전환에서, 뷰잉 관점은 회전되고(예컨대, 컴퓨터 시스템은 시계 방향으로 회전됨); 도 7d로부터 도 7e로의 전환에서, 뷰잉 관점의 회전은 반전된다(예컨대, 컴퓨터 시스템이 반시계 방향으로 회전됨). 일부 실시예들에서, 컴퓨터 시스템은 물리적 환경의 일부의 외관 변화를 검출한다.
방법(8000)에서, 물리적 환경의 일부의 외관의 변화에 응답하여, 컴퓨터 시스템은, 제1 시간 이전인 제2 시간에서의 물리적 환경의 제1 부분의 외관; 및 제2 시간 이전인 제3 시간에서의 물리적 환경의 제2 부분의 외관을 포함하는, 제1 시간 이전의 상이한 시간들에 물리적 환경의 하나 이상의 부분들의 외관의 그래픽 조성에 기초하여 제1 시간에 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트한다(8008). 도 7d를 참조하여 본 명세서에서 설명된 바와 같이, 물리적 환경(7102)에서 떨어지는 박스(7012)를 포함하는 물리적 환경(7102)의 변화들 및 물리적 환경(7102)의 뷰잉 관점에서의 변화들에 응답하여, 컴퓨터 시스템은 시간 t2 이전의 상이한 시간들 t0 및 t1에서 환경(7104)의 외관의 그래픽 조성에 기초하여 시간 t2에 사용자 인터페이스 요소(7030)의 외관을 생성한다(예컨대, 이는 물리적 환경(7102)의 외관에 기초함). 도 7e를 참조하여 본 명세서에서 설명된 바와 같이, 물리적 환경(7102)에서 추가로 떨어지는 박스(7012)를 포함하는 물리적 환경(7102)의 변화들 및 물리적 환경(7102)의 뷰잉 관점에서의 변화들에 응답하여, 컴퓨터 시스템은 시간 t3 이전의 상이한 시간들 t1 및 t2에서 환경(7104)의 외관의 그래픽 조성에 기초하여 시간 t3에 사용자 인터페이스 요소(7030)의 외관을 업데이트한다(예컨대, 이는 물리적 환경(7102)의 외관에 기초함). 일부 실시예들에서, 물리적 환경의 제2 부분은 물리적 환경의 제1 부분과 동일하다. 일부 실시예들에서, 물리적 환경의 제2 부분은 (예컨대, 컴퓨터 시스템이 제1 시간과 제2 시간 사이에 물리적 환경에 대해 이동했다면) 물리적 환경의 제1 부분과 동일하다.
컴퓨터 생성 사용자 인터페이스 요소가 물리적 환경의 하나 이상의 부분들의 뷰 위에 디스플레이되는 경우, 컴퓨터 생성 사용자 인터페이스 요소의 외관을 물리적 환경의 하나 이상의 부분들의 외관의 그래픽 조성에 기초로 하는 것, 및 물리적 환경의 하나 이상의 기본 부분들의 변화들에 응답하여 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트하는 것은, 부분적으로 투명한 재료(예컨대, 때때로 블러 재료로 지칭됨)로 만들어진 객체의 외관을 시뮬레이션하고, 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 이해하도록 돕고, 물리적 환경에서 발생하는 변화들을 사용자에게 알리며, 이는 사용자에게 개선된 피드백을 제공한다. 또한, 블러 재료들을 사용하는 것은 사용자의 콘텍스트 인식을 개선하며, 이는 사용자가 물리적 공간 내의 물리적 객체들과의 충돌들을 회피하는 것을 도움으로써 사용자 안전을 개선하고, 컴퓨터 시스템을 사용할 때 사용자가 멀미를 겪을 가능성을 감소시킨다.
일부 실시예들에서, 물리적 환경의 일부의 외관은 물리적 환경에 대한 컴퓨터 시스템의 이동에 응답하여 변화한다(예컨대, 컴퓨터 시스템의 관점 또는 카메라 또는 컴퓨터 시스템의 다른 이미징 컴포넌트 또는 서브시스템의 관점으로부터 물리적 환경의 뷰를 변경함). 도 7b 내지 도 7e를 참조하여 본 명세서에서 설명된 바와 같이, 환경(7104)에 디스플레이된 물리적 환경(7102)의 외관은 컴퓨터 시스템의 이동에 응답하여 (예컨대, 물리적 환경(7102)에 대한 시계방향 회전 및/또는 반시계방향 회전을 통해 하향 및 후방으로) 변화한다. 물리적 환경에 대한 컴퓨터 시스템의 이동에 응답하여 물리적 환경의 하나 이상의 기본 부분들에서 인지되거나 검출되는 변화들에 응답하여 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트하는 것은 (예컨대, 컴퓨터 시스템이 정지 상태로 유지되는 동안만의 물리적 환경에서의 변화들과 반대로) 물리적 환경의 변환들에 대한 시스템의 응답성을 개선하고, 사용자가 다양한 방식들로 컴퓨터 시스템과 상호작용할 수 있게 하며, 이는 추가적인 디스플레이된 제어부들로 사용자 인터페이스를 어지럽히지 않으면서 사용자에게 개선된 피드백을 제공하고 추가적인 제어 옵션들을 제공한다.
일부 실시예들에서, 물리적 환경의 일부의 외관은 물리적 환경 내의 하나 이상의 객체들의 이동에 응답하여 변화한다. 일부 실시예들에서, 하나 이상의 객체들은 컴퓨터 시스템과 별개이다. 도 7b 내지 도 7e를 참조하여 본 명세서에서 설명된 바와 같이, 환경(7104)에 디스플레이된 물리적 환경(7102)의 외관은 물리적 환경(7102)에서 (예컨대, 떨어지는) 박스(7012)의 이동에 응답하여 변화하며, 여기서 박스(7012)는 컴퓨터 시스템과 별개이다. 물리적 환경 내의 하나 이상의 객체들의 이동에 응답하여 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트하는 것은 물리적 환경에서 발생하는 변화들에 대한 시스템의 응답성을 개선하고, 특히 컴퓨터 생성 사용자 인터페이스 요소에 의해 시야에서 가려지는 물리적 환경의 부분들에서 변화들이 발생하는 경우, 이러한 변화들을 사용자에게 알리며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소는 콘텐츠(예컨대, 시각적 콘텐츠, 이를테면 텍스트 또는 그래픽, 및/또는 하나 이상의 선택가능한 객체들 또는 제어부들)를 포함하고, 그래픽 조성에 기초한 컴퓨터 생성 사용자 인터페이스 요소의 외관의 (예컨대, 물리적 환경의 하나 이상의 부분들의 외관의) 업데이트는 컴퓨터 생성 사용자 인터페이스 요소의 콘텐츠와 별개인 컴퓨터 생성 사용자 인터페이스 요소의 하나 이상의 구역들(예컨대, 배경)에 적용된다. 도 7d 내지 도 7g를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030)는 배경 부분(7030-a) 및 콘텐츠 부분들(7030-b 및 7030-c)을 포함하는 복수의 부분들을 포함하며, 여기서 배경 부분(7030-a)의 외관은 그래픽 조성(예컨대, 또한 합성물로 지칭됨)에 기초하여 그에 기초하여 계속 업데이트되며, 콘텐츠 부분들(7030-b 및 7030-c)의 외관들은 선택적으로 그래픽 조성에 기초하지 않는다. 일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 콘텐츠(예컨대, 도 7d의 사용자 인터페이스 요소(7030)의 콘텐츠 부분들(7030-b 및 7030-c))의 외관은 물리적 환경의 뷰의 하나 이상의 부분들의 외관에 기초하지 않는다. 일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 콘텐츠(예컨대, 도 7d의 사용자 인터페이스 요소(7030)의 콘텐츠 부분들(7030-b 및 7030-c))의 외관은 그래픽 조성에 기초하여 업데이트되지 않는다. 시각적 콘텐츠 및/또는 선택가능한 제어부들과 같은 컴퓨터 생성 사용자 인터페이스 요소의 콘텐츠에 기초로 하지 않고, 컴퓨터 생성 사용자 인터페이스 요소의 배경의 외관을 물리적 환경의 기본 부분들의 외관에 기초로 하는 것은, 물리적 환경에서 발생하는 변화들을 사용자에게 통지하면서 컴퓨터 생성 사용자 인터페이스 요소의 콘텐츠의 가독성을 개선하며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 그래픽 조성은 제1 시간 이전인 제2 시간에서의 물리적 환경의 제1 부분의 외관에 대한 제1 양(예컨대, 제1 크기)에 기초하고, 제2 시간 이전인 제3 시간에서의 물리적 환경의 제2 부분의 외관에 대한 제2 양(예컨대, 제2 크기)에 기초하고; 제1 양은 제2 양과 상이하다(예컨대, 그보다 크거나 작음). 도 7g의 시나리오(7036)를 참조하여 본 명세서에서 설명된 바와 같이, 시간 t2에서의 사용자 인터페이스 요소(7030-d)의 외관(도 7d의 시간 t2에서의 사용자 인터페이스 요소(7030)의 외관과 동일함)은 시간 t2 이전인 시간 t0(예컨대, 프레임(t0))에 물리적 환경(7102)의 제1 부분의 외관에 대한 제1 양 및 시간 t2 이전인 시간 t1(예컨대, 프레임(t1))에 물리적 환경(7102)의 제2 부분의 외관에 대한 제2의 선택적으로 상이한 양에 기초한다. 유사하게, 도 7g의 시나리오(7038)를 참조하여 본 명세서에서 설명된 바와 같이, 시간 t3에서의 사용자 인터페이스 요소(7030-e)의 외관(도 7e의 시간 t3에서의 사용자 인터페이스 요소(7030)의 외관과 동일함)은 시간 t3 이전인 시간 t1(예컨대, 프레임(t1))에 물리적 환경(7102)의 제1 부분의 외관에 대한 제1 양 및 시간 t3 이전인 시간 t2(예컨대, 프레임(t2))에 물리적 환경(7102)의 제2 부분의 외관에 대한 제2의 선택적으로 상이한 양에 기초한다. 컴퓨터 생성 사용자 인터페이스 요소의 외관을 물리적 환경의 기본 부분들의 외관의 그래픽 조성에 기초로 하는 것 - 여기서 그래픽 조성은 다른 시간들에서보다 일부 시간들에서의 물리적 환경의 외관에 더 많이 기초함 - 은 다른 시간들보다 더 관련 있는 시간들에 물리적 환경의 외관에 더 큰 중점을 두면서 물리적 환경에서 발생하는 변화들을 사용자에게 알리고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 제1 시간에서, 제1 시간에서의 컴퓨터 생성 사용자 인터페이스 요소의 외관에 대한 제1 시간에 더 가까운 시간에서의 물리적 환경의 하나 이상의 부분들의 기여는, 제1 시간에서의 컴퓨터 생성 사용자 인터페이스의 외관에 대한 제1 시간으로부터 더 먼 시간에서의 물리적 환경의 하나 이상의 부분들의 기여보다 크다. 도 7g의 시나리오(7036)를 참조하여 본 명세서에서 설명된 바와 같이, 시간 t2에서 사용자 인터페이스 요소(7030-d)의 외관에 대해, 시간 t2와 상이한 시간 t1로부터의 프레임의 기여는, 시간 t2로부터의 프레임의 기여보다 크다. 마찬가지로, 시간 t2에서의 사용자 인터페이스 요소(7030-d)의 외관에 대한 시간 t1로부터의 프레임의 기여는 시간 t2에서의 사용자 인터페이스 요소(7030-d)의 외관에 대한 시간 t0으로부터의 프레임의 기여보다 큰데, 이는, 시간 t1이 시간 t2에 대해 있는 것보다 시간 t0이 시간 t2로부터 더 멀리 있기 때문이다. 유사하게, 도 7g의 시나리오(7038)를 참조하여 본 명세서에서 설명된 바와 같이, 시간 t3에서 사용자 인터페이스 요소(7030-e)의 외관에 대해, 시간 t3과 상이한 시간 t2로부터의 프레임의 기여는, 시간 t3로부터의 프레임의 기여보다 크다. 마찬가지로, 시간 t3에서의 사용자 인터페이스 요소(7030-e)의 외관에 대한 시간 t2로부터의 프레임의 기여는 시간 t3에서의 사용자 인터페이스 요소(7030-e)의 외관에 대한 시간 t1으로부터의 프레임의 기여보다 큰데, 이는, 시간 t2이 시간 t3에 대해 있는 것보다 시간 t1이 시간 t3로부터 더 멀리 있기 때문이다. 일부 실시예들에서, 제1 시간에 더 가까운 시간은, 물리적 환경의 하나 이상의 부분들이 샘플링되는 제1 시간에 가장 가까운 시간이다(예컨대, 시간 t3에서 취해진 프레임은 자연적으로 t3에 시간상 가장 가깝게 취해진 프레임이고, 따라서 시간 t3에 생성된 합성물에 대해 가장 큰 기여를 갖는다). 컴퓨터 생성 사용자 인터페이스 요소의 외관을, 현재 시점으로부터 더 먼 시간들에서의 물리적 환경의 외관보다 현재 시점에 더 가까운 시간들에서의 물리적 환경의 외관에 더 기초로 하는 것은, 물리적 환경에서 발생하는 더 최근의 변화들을 사용자에게 더 양호하게 알리며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 제1 시간에서의 컴퓨터 생성 사용자 인터페이스의 외관에 대한 제1 시간으로부터 가장 먼 시간에서의 물리적 환경의 하나 이상의 부분들의 기여는, 제1 시간에서의 컴퓨터 생성 사용자 인터페이스의 외관에 대한 제1 시간에 더 가까운 임의의 시간에서의 물리적 환경의 하나 이상의 부분들의 기여보다 작다. 도 7g의 시나리오(7036)를 참조하여 본 명세서에서 설명된 바와 같이, 프레임들(t0, t1, 및 t2) 중에서, 프레임(t0)은 시간 t2에서 사용자 인터페이스 요소(7030-d)의 외관에 가장 적게 기여하는데, 이는, (예컨대, 시간들 t0, t1, 및 t2 중에서) t0이 t2로부터 가장 멀리 있기 때문이다. 유사하게, 도 7g의 시나리오(7038)를 참조하여 본 명세서에서 설명된 바와 같이, 프레임들(t1, t2, 및 t3) 중에서, 프레임(t1)은 시간 t3에서 사용자 인터페이스 요소(7030-e)의 외관에 가장 적게 기여하는데, 이는, (예컨대, 시간들 t1, t2, 및 t3 중에서) t1이 t3으로부터 가장 멀리 있기 때문이다. 컴퓨터 생성 사용자 인터페이스 요소의 외관을, 현재 시점에 더 가까운 시간들에서의 물리적 환경의 외관과 비교하여, 현재 시점으로부터 가장 먼 시간의 물리적 환경의 외관에 가장 적게 기초로 하는 것은, 물리적 환경의 외관에 관한 오래된 정보를 덜 강조하면서 물리적 환경에서 발생하는 변화들을 사용자에게 알리며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 그래픽 조성은 제1 시간 이전의 다수의 상이한 시간들에서의 물리적 환경의 하나 이상의 부분들의 외관에 기초하고, 상이한 시간들의 수는 물리적 환경에 대한 컴퓨터 시스템의 이동의 양에 기초한다(예컨대, 컴퓨터 시스템의 관점 또는 카메라 또는 컴퓨터 시스템의 다른 이미징 컴포넌트 또는 서브시스템의 관점으로부터 물리적 환경의 뷰를 변경함). 도 7g를 참조하여 본 명세서에서 설명된 바와 같이, 도 7b 내지 도 7e 사이의 사용자의 시점의 이동의 양에 기초하여 사용자 인터페이스 요소(7030)의 외관을 정의하는 합성물을 생성하는 데 상이한 수들의 프레임들이 포함될 수 있다. 일부 실시예들에서, 물리적 환경에 대한 컴퓨터 시스템의 제1 양의 이동에 따라, 컴퓨터 생성 사용자 인터페이스 요소의 외관은, 제1 시간 이전의 제1 수의 상이한 시간들에서의 물리적 환경의 하나 이상의 부분들의 외관의 그래픽 조성에 기초하여 업데이트되고; 물리적 환경에 대한 컴퓨터 시스템의 제2 양의 이동에 따라, 컴퓨터 생성 사용자 인터페이스 요소의 외관은, 제1 시간 이전의 제2 수의 상이한 시간들에서의 물리적 환경의 하나 이상의 부분들의 외관의 그래픽 조성에 기초하여 업데이트된다. 일부 실시예들에서, 상이한 시간들의 수는 물리적 환경에 대한 컴퓨터 시스템의 더 많은 양의 이동에 대해 증가된다. 일부 실시예들에서, 상이한 시간들의 수는 물리적 환경에 대한 컴퓨터 시스템의 더 많은 양의 이동에 대해 감소된다. 컴퓨터 생성 사용자 인터페이스 요소의 외관을, 물리적 환경에 대한 컴퓨터 시스템의 상이한 양의 이동에 대한 상이한 수의 시간들에서 물리적 환경의 기본 부분들의 외관의 그래픽 조성에 기초로 하는 것은, 물리적 환경에서 발생하는 변화들에 대한 충실도를 갖는 그래픽 조성을 생성하는 계산 부담을 밸런싱하는 유연성을 허용하며, 이는 사용자에게 개선된 피드백을 제공하는 것과 연관된다. 예를 들어, 컴퓨터 시스템의 더 많은 양들의 이동에 대해 기본 물리적 환경을 더 자주 샘플링하는 것은 충실도를 증가시킬 수 있으며, 이는 사용자에게 개선된 피드백을 제공하지만, 또한 계산 부담을 증가시킬 수 있다. 다른 예에서, 더 많은 양들의 이동에 대해 기본 물리적 환경을 덜 자주 샘플링하는 것은 계산 부담을 감소시킬 수 있지만, 충실도에 영향을 미칠 수 있다.
일부 실시예들에서, 그래픽 조성을 결정하는 것은 (예컨대, 도 7g를 참조하여, 특히 시나리오(7036)의 사용자 인터페이스 요소(7030-d) 및 시나리오(7038)의 사용자 인터페이스 요소(7030-e)를 참조하여 위에서 설명된 바와 같이) 상이한 시간들에서 물리적 환경의 하나 이상의 부분들의 외관에 대해 캡처된 정보(예컨대, 이미지 데이터)에 잡음 패턴을 적용하는 것을 포함한다.
일부 실시예들에서, 잡음 패턴을 적용하는 것은 물리적 환경의 이미지의 상이한 부분들의 밝기 및/또는 채도를 결정적으로 변경하는 것을 포함한다. 일부 실시예들에서, 이미지의 상이한 부분들에 대한 밝기 및/또는 채도의 변화들을 정의하는 의사-랜덤 잡음 패턴들의 시퀀스가 사용된다. 예를 들어, 시간이 지남에 따라(예컨대, 10개의 프레임들에 대해 1/60 초마다 1 프레임씩), 선택적으로 잡음 패턴이 미리 결정된 임계치(예컨대, 50% 그레이) 위에 있는 경우 이미지 어두움을 증가시키고 잡음 패턴이 미리 결정된 임계치 미만인 경우 이미지 밝기를 증가시키는 이미지 프로세싱 필터를 사용하여, 복수의 상이한 패턴들을 통해 애니메이션화되는 스펙클링된 그레이 잡음 패턴이 생성되어 기본 이미지 데이터에 적용된다. 상이한 시점들에서 물리적 환경의 외관의 그래픽 조성을 생성하기 위해 사용되는 이미지 데이터에 잡음 패턴을 적용하는 것은, 그래픽 조성에 대한 아티팩트들의 영향을 감소시키기 위해 데이터를 평활화하고, 과도하게 날카로운 그래픽 조성(이는 시각적으로 거슬릴 것이고 사용자 인터페이스 요소의 콘텐츠의 가독성을 감소시킬 것임)을 생성하는 것을 회피하며, 이에 따라 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 상이한 시간들에서 물리적 환경의 하나 이상의 부분들의 그래픽 조성을 결정할 시에, 제2 시간에서의 물리적 환경의 제1 부분의 외관은 제2 시간에서의 컴퓨터 시스템의 관점과 제3 시간에서의 컴퓨터 시스템의 관점 사이의 차이에 기초하여 제3 시간에서의 물리적 환경의 제2 부분의 외관으로부터 오프셋(예컨대, 측방향으로 또는 공간적으로 오프셋)된다. 도 7g의 시나리오(7036)를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030-d)의 외관에 대한 합성물을 생성할 때, 상이한 프레임들(t0, t1, 및 t2)로부터의 콘텐츠는, 도 7b에서 프레임(t0)에 대응하고, 도 7c에서 프레임(t1)에 대응하고, 도 7d에서 프레임(t2)에 대응하는 사용자의 상이한 시점들에 기초하여 서로 오프셋된다. 유사하게, 도 7g의 시나리오(7038)를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030-e)의 외관에 대한 합성물을 생성할 때, 상이한 프레임들(t1, t2, 및 t3)로부터의 콘텐츠는, 도 7c에서 프레임(t1)에 대응하고, 도 7d에서 프레임(t2)에 대응하고, 도 7e에서 프레임(t3)에 대응하는 사용자의 상이한 시점들에 기초하여 서로 오프셋된다. 컴퓨터 생성 사용자 인터페이스 요소에 대한 사용자의 뷰가 기본 물리적 환경에 대해 변화함에 따라, 그리고 컴퓨터 생성 사용자 인터페이스 요소가 기본 물리적 환경에 대해 배향을 변경함에 따라, 물리적 환경의 상이한 부분들이 상이한 시간들에 컴퓨터 생성 사용자 인터페이스 요소의 배경에 진입한다. 물리적 환경의 기본 부분들의 상이한 뷰잉 관점들에 기초하여 물리적 환경의 기본 부분들의 외관들을 오프셋함으로써 그러한 외관의 그래픽 조성을 생성하는 것은, 상이한 시간들에 컴퓨터 생성 사용자 인터페이스 요소 뒤의 물리적 환경에서 무엇이 가시적일지에 대해 더 진정한 그래픽 조성을 도출하고, 이는, 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 더 잘 이해하도록 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 상이한 시간들에서의 물리적 환경의 하나 이상의 부분들의 외관의 그래픽 조성을 결정하는 것은 컴퓨터 시스템의 하나 이상의 카메라들에 의해 캡처된 물리적 환경의 뷰들을 블러링하는 단계를 포함한다(예컨대, 제2 시간에서의 물리적 환경의 제1 부분의 외관은 제2 시간에서 하나 이상의 카메라들에 의해 캡처된 물리적 환경의 이미지의 블러링된 버전이고, 그리고/또는 제3 시간에서의 물리적 환경의 제2 부분의 외관은 제3 시간에서 하나 이상의 카메라들에 의해 캡처된 물리적 환경의 이미지의 블러링된 버전이다). 도 7g를 참조하여 위에서 설명된 바와 같이, 시나리오(7036)에서 사용자 인터페이스 요소(7030-d)의 외관이 기초하는 합성물을 생성하는 것은 선택적으로, 프레임들(t0, t1, 및/또는 t2)의 외관들을 블러링하는 것을 포함하며, 여기서 프레임들(t0, t1, 및/또는 t2)은 컴퓨터 시스템의 하나 이상의 카메라들에 의해 캡처된 바와 같은 물리적 환경(7102)의 뷰의 부분들을 포함한다. 유사하게, 도 7g의 시나리오(7038)에서 사용자 인터페이스 요소(7030-e)의 외관이 기초하는 합성물을 생성하는 것은 선택적으로, 프레임들(t1, t2, 및/또는 t3)의 외관들을 블러링하는 것을 포함하며, 여기서 프레임들(t1, t2, 및/또는 t3)은 컴퓨터 시스템의 하나 이상의 카메라들에 의해 캡처된 바와 같은 물리적 환경(7102)의 뷰의 부분들을 포함한다. 컴퓨터 생성 사용자 인터페이스 요소의 외관을, 컴퓨터 시스템의 하나 이상의 카메라들에 의해 캡처된 바와 같은 물리적 환경의 블러링된 뷰들에 기초로 하는 것은 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 이해하도록 돕고, 물리적 환경에서 발생하는 변화들을 사용자에게 알리며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 그래픽 조성은, 예를 들어, 도 7g를 참조하여 본 명세서에서 설명된 바와 같이, 부분적으로 반투명하다(예컨대, 제2 시간에서의 물리적 환경의 제1 부분의 외관 및/또는 제3 시간에서의 물리적 환경의 제2 부분의 외관은 부분적으로 반투명함). 컴퓨터 생성 사용자 인터페이스 요소의 외관을, 상이한 시간들에서의 물리적 환경의 외관의 부분적으로 반투명한 그래픽 조성에 기초로 하는 것은 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 이해하도록 돕고, 물리적 환경에서 발생하는 변화들을 사용자에게 알리며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 상이한 시간들에서의 물리적 환경의 하나 이상의 부분들의 외관의 그래픽 조성을 결정하는 것은 (예컨대, 도 7g를 참조하여, 특히 시나리오(7036)의 사용자 인터페이스 요소(7030-d) 및 시나리오(7038)의 사용자 인터페이스 요소(7030-e)를 참조하여 위에서 설명된 바와 같이) 제1 시간 이전의 상이한 시간들에서 물리적 환경의 하나 이상의 부분들에 대해 캡처된 정보(예컨대, 이미지 데이터)의 해상도를 감소시키는 것을 포함한다. 일부 실시예들에서, 제2 시간에서의 물리적 환경의 제1 부분의 외관은 제2 시간에서의 물리적 환경의 제1 부분에 대해 캡처된 정보의 해상도를 감소시킴으로써 결정된다. 일부 실시예들에서, 제3 시간에서의 물리적 환경의 제2 부분의 외관은 제3 시간에서의 물리적 환경의 제2 부분에 대해 캡처된 정보의 해상도를 감소시킴으로써 결정된다. 컴퓨터 생성 사용자 인터페이스 요소의 외관에 대한 그래픽 조성을 생성할 때 상이한 시간들에의 물리적 환경에 대해 캡처된 정보의 해상도를 감소시키는 것은 컴퓨터 생성 사용자 인터페이스 요소를 렌더링하는 계산 부담을 감소시키면서 물리적 환경에서 발생하는 변화들을 사용자에게 알리며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 외관은 컴퓨터 생성 사용자 인터페이스 요소의 뷰잉 관점(예컨대, 사용자의 시점)이 변화함(예컨대, 컴퓨터 시스템의 하나 이상의 카메라들의 관점으로부터, 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 뷰를 변경하는 컴퓨터 시스템의 이동, 또는 컴퓨터 생성 사용자 인터페이스 요소 및 일부 경우들에서 또한 물리적 환경의 사용자의 관점을 변경하는 사용자의 이동)에 따라 업데이트된다.
도 7e를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030)의 외관은 사용자의 시점이 환경(7104)에 대해 회전되는 것에 응답하여 변화한다. 사용자의 시점이 변화할 때(예컨대, 물리적 환경의 하나 이상의 기본 부분들의 뷰잉 관점이 변화할 때) 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트하는 것은 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 이해하도록 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 외관은, 컴퓨터 생성 사용자 인터페이스 요소가 (예컨대, 물리적 환경의 디스플레이된 뷰에 대해) 이동될 때 업데이트된다. 도 7e를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030)의 외관은, 사용자의 시점이 사용자의 시점에 대해 동일한 포지션에 남아 있는 사용자 인터페이스 요소(7030) 및 환경(7104)에 대해 회전되는 것에 응답하여 변화하여, 사용자 인터페이스 요소(7030)는 그에 따라 환경(7104) 및 물리적 환경(7102)에 대해 회전된다. 컴퓨터 생성 사용자 인터페이스 요소가 물리적 환경의 디스플레이된 뷰에 대해 이동될 때 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트하는 것은 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 이해하도록 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 외관은, (예컨대, 사용자의 관점으로부터, 컴퓨터 생성 사용자 인터페이스 요소의 배경에서) 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션 뒤의 시뮬레이션된 포지션들을 갖는 하나 이상의 추가적인 컴퓨터 생성 사용자 인터페이스 요소들에 기초하여 업데이트된다. 도 7b 내지 도 7g를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030)의 외관은 선택적으로, 사용자 인터페이스 요소(7030)가 가상 공(7108) 및 가상 벽걸이(7106)의 시뮬레이션된 포지션들 전방에 있는 도 7f의 시뮬레이션된 포지션, 이를테면 시뮬레이션된 포지션(7030-1) 또는 시뮬레이션된 포지션(7030-2)을 갖는 동안, (예컨대, 박스(7012)와 같은 물리적 객체들의 표현들의 외관들에 추가하여) 환경(7104) 내의 가상 공(7108) 및 가상 벽걸이(7106)의 외관들에 기초하여 업데이트된다. 가상 관점에서 컴퓨터 생성 사용자 인터페이스 요소 뒤에 포지셔닝된 다른 컴퓨터 생성 사용자 인터페이스 요소들에 기초하여 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트하는 것은, 사용자가 보고 있는 환경(예컨대, 내부에 가상으로 포지셔닝되고 물리적 환경의 뷰 상에 오버레이된 다양한 컴퓨터 생성 사용자 인터페이스 요소들을 갖는 3차원 환경)에 다른 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려져 있는지를 사용자가 이해하는 것을 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 하나 이상의 추가적인 컴퓨터 생성 사용자 인터페이스 요소들의 외관은 (예컨대, 컴퓨터 생성 사용자 인터페이스 요소를 참조하여 본 명세서에서 설명된 것과 유사하게) 시간이 지남에 따라 업데이트된다. 도 7b 내지 도 7g를 참조하여 본 명세서에서 설명된 바와 같이, 가상 공(7108) 및 가상 벽걸이(7106)의 외관들은 또한 환경(7104)의 변화들(예컨대, 가상 공(7108)의 이동 및/또는 환경(7104)의 뷰잉 관점의 변화들)에 따라 시간이 지남에 따라 업데이트된다. 일부 실시예들에서, 환경(7104) 내의 다른 가상 객체들, 이를테면, 가상 공(7108), 가상 벽걸이(7106) 및/또는 사용자 인터페이스 요소(7030)와 유사한 하나 이상의 추가적인 사용자 인터페이스 요소들의 외관은 또한, 사용자 인터페이스 요소(7030)와 유사하게, 환경(7104)의 기본 부분들의 합성물에 기초하여 시간이 지남에 따라 업데이트된다. 다수의 컴퓨터 생성 사용자 인터페이스 요소들 및 다른 컴퓨터 생성 사용자 인터페이스 요소들에서의 변화들 및 물리적 환경에서의 변화들에 기초하여, 시간이 지남에 따라 다수의 컴퓨터 생성 사용자 인터페이스 요소들의 외관을 업데이트하는 것은, 부분적으로 투명한 재료로 이루어진 객체들의 외관을 시뮬레이션하는 일관된 외관을 컴퓨터 생성 사용자 인터페이스 요소들에 제공하며, 이는, 사용자가 보고 있는 환경 및 그 안의 상이한 객체들 사이의 공간 관계들을 사용자가 이해하는 것을 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소는 하나 이상의 선택가능한 사용자 인터페이스 객체들(및, 선택적으로, 콘텐츠)을 포함하는 디스플레이된 사용자 인터페이스의 후면이다. 예를 들어, 도 7d를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030)는 환경(7104) 내에 디스플레이된 애플리케이션의 사용자 인터페이스 또는 시스템 사용자 인터페이스일 수 있다. 물리적 환경의 뷰 상에 오버레이되는 디스플레이된 사용자 인터페이스의 후면의 외관을 업데이트하는 것 - 업데이트는 물리적 환경의 변화들에 기초함 - 은, 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 이해하도록 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 외관은, 물리적 환경에 대한 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션과 무관하게 컴퓨터 생성 사용자 인터페이스 요소가 오버레이된 물리적 환경의 뷰의 하나 이상의 부분들의 외관에 기초한다. 도 7f 및 도 7g를 참조하여 본 명세서에서 설명된 바와 같이, 도 7g의 사용자 인터페이스 요소(7030-d)의 외관은, 사용자 인터페이스 요소(7030-d)의 시뮬레이션된 포지션이 도 7f의 포지션(7030-1), 포지션(7030-2), 포지션(7030-3) 또는 포지션(7030-4)인지 여부와 관계없이, (예컨대, 환경(7104)의 일부로서) 물리적 환경(7102)의 뷰의 중첩 부분들의 외관에 기초한다. 유사하게, 도 7g의 사용자 인터페이스 요소(7030-e)의 외관은, 사용자 인터페이스 요소(7030-e)의 시뮬레이션된 포지션이 도 7f의 포지션(7030-1), 포지션(7030-2), 포지션(7030-3) 또는 포지션(7030-4)인지 여부와 관계없이, (예컨대, 환경(7104)의 일부로서) 물리적 환경(7102)의 뷰의 중첩 부분들의 외관에 기초한다. 일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 외관은, 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션 전방에 및/또는 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션 뒤에 있는 물리적 환경의 부분들의 외관에 기초한다. 컴퓨터 생성 사용자 인터페이스 요소의 외관을, 사용자의 관점으로부터 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션의 전방에 있을 수 있는 부분들을 포함하는 물리적 환경의 중첩 부분들의 외관에 기초로 하는 것은, 컴퓨터 생성 사용자 인터페이스 요소의 인근에서 물리적 환경에 무엇이 있는지를 사용자가 이해하도록 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션은 사용자의 시점(예컨대, 그의 시뮬레이션된 포지션)으로부터 제1 거리이고, 컴퓨터 생성 사용자 인터페이스 요소의 외관은 사용자의 시점(예컨대, 그의 시뮬레이션된 포지션)으로부터 제2 거리에 있는 물리적 환경의 하나 이상의 부분들의 외관에 기초하고, 제1 거리는 제2 거리보다 크다(컴퓨터 생성 사용자 인터페이스 요소의 외관은, 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션보다 사용자의 시점에 더 가까운 물리적 환경의 하나 이상의 부분들의 외관에 기초함). 도 7f 및 도 7g를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030-d)의 시뮬레이션된 포지션이 포지션(7030-4)일 때에도, 사용자 인터페이스 요소(7030-d)의 외관은 여전히 도 7g의 시나리오(7036)에 도시된 바와 같을 수 있고, 포지션(7030-4)이 시점(7032)에 대한 것보다 사용자의 시점(7032)에 더 가까운 환경(7104)의 중첩 부분들의 외관에 기초할 수 있다. 유사하게, 사용자 인터페이스 요소(7030-e)의 시뮬레이션된 포지션이 포지션(7030-4)일 때에도, 사용자 인터페이스 요소(7030-e)의 외관은 여전히 도 7g의 시나리오(7038)에 도시된 바와 같을 수 있고, 포지션(7030-4)이 시점(7032)에 대한 것보다 사용자의 시점(7032)에 더 가까운 환경(7104)의 중첩 부분들의 외관에 기초한다. 컴퓨터 생성 사용자 인터페이스 요소의 외관을, 사용자의 관점으로부터 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션의 전방에 있을 수 있는 부분들을 포함하는 물리적 환경의 중첩 부분들의 외관에 기초로 하는 것은, 컴퓨터 생성 사용자 인터페이스 요소의 인근에서 물리적 환경에 무엇이 있는지를 사용자가 이해하도록 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
도 8에서의 동작들이 설명된 특정 순서는 단지 일 예일 뿐이며 설명된 순서가 동작들이 수행될 수 있는 유일한 순서라는 것을 표시하는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 설명된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에서 설명되는 다른 방법들(예컨대, 방법들(9000, 10000, 11000, 12000, 13000, 14000))과 관련하여 본 명세서에서 설명되는 다른 프로세스들의 상세사항들이 도 8과 관련하여 위에서 설명된 방법(8000)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(8000)을 참조하여 전술된 사용자 인터페이스 요소들 또는 객체들(이들의 외관들 및 구역들을 포함함), 물리적 객체들 및/또는 물리적 객체들의 표현들, 가상 객체들, 그래픽 합성물들/조성들, 이동들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트 및/또는 시점들은 선택적으로, 본 명세서에 설명된 다른 방법들(예컨대, 방법들(9000, 10000, 11000, 12000, 13000, 및 14000))을 참조하여 본 명세서에 설명된 사용자 인터페이스 요소들 또는 객체들(이들의 외관들 및 구역들을 포함함), 물리적 객체들 및/또는 물리적 객체들의 표현들, 가상 객체들, 그래픽 합성물들/조성들, 이동들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트 및/또는 시점들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 세부사항들은 여기서 반복되지 않는다.
도 9는 3차원 환경의 뷰 위에 사용자 인터페이스 요소를 디스플레이하는 방법(9000)의 흐름도이며, 여기서 사용자 인터페이스 요소는 일부 실시예들에 따른, 3차원 환경의 다수의 포인트들로부터 샘플링된 하나 이상의 색상들로부터 생성된 색상 구배에 기초하는 외관을 갖는다.
일부 실시예들에서, 본 방법(9000)은, 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120))(예컨대, 헤드업 디스플레이, 디스플레이, 터치스크린, 및/또는 프로젝터) 및 선택적으로 하나 이상의 입력 디바이스들, 이를테면 하나 이상의 카메라들(예를 들어, 사용자의 손에서 하향으로 또는 사용자의 머리로부터 상향으로 향하는, 예컨대 카메라(예컨대, 색상 센서들, 적외선 센서들, 및 다른 심도 감지 카메라들))과 통신하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 방법(9000)은, 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터 시스템의 하나 이상의 프로세서들, 예를 들어, 컴퓨터 시스템(101)의 하나 이상의 프로세서들(202)(예를 들어, 도 1a의 제어 유닛(110))에 의해 실행되는 명령어들에 의해 통제된다. 방법(9000)에서의 일부 동작들이 선택적으로 조합되거나, 및/또는 일부 동작들의 순서가 선택적으로 변경된다.
일부 실시예들에서, 방법(9000)은 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101), 도 7a 내지 도 7g, 도 7h 내지 도 7j, 도 7k 내지 도 7o, 도 7p, 도 7q 내지 도 7w 및/또는 도 7x 내지 7z와 관련하여 설명된 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 컴퓨터 시스템은 디스플레이 생성 컴포넌트(예컨대, 디스플레이 생성 컴포넌트는 헤드-업 디스플레이, 머리 장착형 디스플레이(HMD), 디스플레이, 터치스크린 및/또는 프로젝터임) 및 선택적으로 하나 이상의 입력 디바이스들(예컨대, 카메라들, 제어기들, 터치 감응형 표면들, 조이스틱들, 버튼들, 글러브들, 시계들, 모션 센서들 및/또는 배향 센서들)과 통신한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트는 도 7a 내지 도 7z와 관련하여 설명된 디스플레이 생성 컴포넌트(7100)이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들 중 적어도 일부와 동일한 하우징으로 둘러싸인 하나 이상의 프로세서들 및 메모리를 갖는 통합 디바이스이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및/또는 하나 이상의 입력 디바이스들과 별개인 하나 이상의 프로세서들 및 메모리를 포함하는 컴퓨팅 컴포넌트(예컨대, 서버, 스마트 폰 또는 태블릿 디바이스와 같은 모바일 전자 디바이스, 워치, 손목밴드, 이어폰들과 같은 웨어러블 디바이스, 데스크톱 컴퓨터, 또는 랩톱 컴퓨터)를 포함한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들은 동일한 하우징 내에 통합되고 그로 둘러싸인다. 방법(9000)의 많은 특징들은 일부 실시예들에 따라 도 7h 내지 도 7j와 관련하여 설명된다.
방법(9000)에서, 컴퓨터 시스템은 디스플레이 생성 컴포넌트를 통해, 물리적 환경의 뷰; 및 물리적 환경의 뷰의 적어도 일부 상에 오버레이된 컴퓨터 생성 사용자 인터페이스 요소를 동시에 디스플레이한다(9002). 컴퓨터 생성 사용자 인터페이스 요소의 외관은 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된 제1 세트의 대표 색상들 사이의 개개의 구배에 기초한다(9004). 제1 세트의 대표적인 색상들은: 제1 시간 기간에(예컨대, 제1 시간에 또는 제1 범위의 시간들 동안) 컴퓨터 생성 사용자 인터페이스 요소의 제1 부분(예컨대, 그의 시뮬레이션된 포지션) 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는(예컨대, 그로부터 선택되거나 그로부터 샘플링된) 제1 색상; 및 제1 시간 기간에(예컨대, 제1 색상에 대해 사용된 것과 동일한 제1 시간에 또는 동일한 제1 범위의 시간들 동안) 컴퓨터 생성 사용자 인터페이스 요소의 제2 부분(예컨대, 그의 시뮬레이션된 포지션) 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는(예컨대, 그로부터 선택되거나 그로부터 샘플링된) 제2 색상(예컨대, 제1 색상과 상이함)을 포함한다(9006). 예를 들어, 도 7h 내지 도 7j를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7040)의 외관은 환경(7104)의 구역(7042)(도 7h), 구역(7046)(도 7i) 및 구역(7048)(도 7j)으로부터 샘플링된 대표적인 색상들 사이의 색상 구배에 기초한다. 대표적인 색상들은 색상들(7044-1 내지 7044-3)(도 7h), 색상들(7044-4 내지 7044-6)(도 7i) 및 색상들(7044-7 내지 7044-10)(도 7j)을 포함한다.
방법(9000)에서, 물리적 환경의 뷰 및 컴퓨터 생성 사용자 인터페이스 요소를 동시에 디스플레이하는 동안, 물리적 환경의 일부의 외관은 변화한다(9008). 예를 들어, 도 7h 내지 도 7j를 참조하여 본 명세서에서 설명된 바와 같이, 환경(7104)의 뷰는 사용자의 지점에서의 변화들(예컨대, 도 7h 및 도 7i의 컴퓨터 시스템을 기울이는 것 및 수평으로 하는 것) 및 환경(7104)(도 7j)의 사용자 인터페이스 요소(7040)의 이동에 응답하여 변화한다. 일부 실시예들에서, 컴퓨터 시스템은 물리적 환경의 일부의 외관 변화를 검출한다.
방법(9000)에서, 물리적 환경의 일부의 외관에서의 변화에 응답하여, (예컨대, 그에 따라 물리적 환경의 뷰를 업데이트하는 것에 추가하여) 컴퓨터 시스템은, 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된 제2 세트의 대표 색상들 사이의 개개의 구배에 기초하여 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트한다(9010). 제2 세트의 대표적인 색상들은: 제1 시간 기간과 상이한(예컨대, 그 후의) 제2 시간 기간에(예컨대, 제2 시간에 또는 제2 범위의 시간들 동안) 컴퓨터 생성 사용자 인터페이스 요소의 제1 부분(예컨대, 그의 시뮬레이션된 포지션) 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는(예컨대, 그로부터 선택되거나 그로부터 샘플링된) 제3 색상(예컨대, 제1 색상과 상이함); 및 제2 시간 기간에(예컨대, 제3 색상에 대해 사용된 것과 동일한 제2 시간에 또는 동일한 제2 범위의 시간들 동안) 컴퓨터 생성 사용자 인터페이스 요소의 제2 부분(예컨대, 그의 시뮬레이션된 포지션) 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는(예컨대, 그로부터 선택되거나 그로부터 샘플링된) 제4 색상(예컨대, 제2 및/또는 제3 색상들과 상이함)을 포함한다(9012). 예를 들어, 도 7h 및 도 7i의 환경(7104)의 외관에서의 변화에 응답하여, 사용자 인터페이스 요소(7040)의 외관은 도 7h에서와 같이 색상들(7044-1 내지 7044-3) 사이의 구배에 기초하는 대신에 도 7i의 색상들(7044-4 내지 7044-6) 사이의 구배에 기초하여 업데이트된다. 유사하게, 도 7i 및 도 7j의 환경(7104)의 외관에서의 변화에 응답하여, 사용자 인터페이스 요소(7040)의 외관은 도 7i에서와 같이 색상들(7044-4 내지 7044-6) 사이의 구배에 기초하는 대신에 도 7j의 색상들(7044-7 내지 7044-10) 사이의 구배에 기초하여 (예컨대, 추가로) 업데이트된다. 일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소와 중첩하는 임의의 다른 컴퓨터 생성 사용자 인터페이스 요소 및 물리적 환경의 일부의 외관의 변화의 부재 시에, 컴퓨터 생성 사용자 인터페이스 요소의 외관은 유지된다(예컨대, 도 7h 및 도 7i를 참조하여 본 명세서에서 설명된 바와 같이, 제1 세트의 대표적인 색상들 사이의 개개의 구배에 계속 기초한다).
컴퓨터 생성 사용자 인터페이스 요소가 물리적 환경의 하나 이상의 부분들의 뷰 위에 디스플레이되는 경우, 컴퓨터 생성 사용자 인터페이스 요소의 외관을 물리적 환경의 하나 이상의 기본 부분들로부터 샘플링된 색상들 사이의 구배에 기초로 하는 것, 및 물리적 환경의 하나 이상의 기본 부분들의 변화들에 응답하여 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트하는 것은, 부분적으로 투명한 재료(예컨대, 때때로 블러 재료로 지칭됨)로 만들어진 객체의 외관을 시뮬레이션하고, 물리적 환경의 기본 부분들의 외관의 더 복잡한 그래픽 조성들에 비해 컴퓨터 생성 사용자 인터페이스 요소를 렌더링하는 계산 부담을 감소시키면서, 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 이해하도록 돕고, 물리적 환경에서 발생하는 변화들을 사용자에게 알리며, 이는 사용자에게 개선된 피드백을 제공한다. 또한, 블러 재료들을 사용하는 것은 사용자의 콘텍스트 인식을 개선하며, 이는 사용자가 물리적 공간 내의 물리적 객체들과의 충돌들을 회피하는 것을 도움으로써 사용자 안전을 개선하고, 컴퓨터 시스템을 사용할 때 사용자가 멀미를 겪을 가능성을 감소시킨다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소는 (예컨대, 도 7h 내지 도 7j를 참조하여 본 명세서에서 설명된 바와 같이) 불투명하다. 물리적 환경의 하나 이상의 기본 부분들로부터 샘플링된 색상들 사이의 구배에 기초한 외관으로 불투명한 것으로 컴퓨터 생성 사용자 인터페이스 요소를 디스플레이하는 것은, 물리적 환경의 기본 부분들의 외관의 더 복잡한 그래픽 조성들 및/또는 투명 정도로 컴퓨터 생성 사용자 인터페이스 요소를 렌더링하는 것에 비해 컴퓨터 생성 사용자 인터페이스 요소를 렌더링하는 계산 부담을 감소시키면서, 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 이해하도록 돕고, 물리적 환경에서 발생하는 변화들을 사용자에게 알리며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 제1 세트의 대표적인 색상들은, 제1 시간 기간에(예컨대, 제1 및 제2 색상들에 대해 사용된 것과 동일한 제1 시간에 또는 동일한 제1 범위의 시간들 동안) 컴퓨터 생성 사용자 인터페이스 요소의 제3 부분 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는(예컨대, 그로부터 선택되거나 그로부터 샘플링된) 제5 색상을 포함하고, 제2 세트의 대표적인 색상들은, 제2 시간 기간에(예컨대, 제3 및 제4 색상들에 대해 사용된 것과 동일한 제2 시간에 또는 동일한 제2 범위의 시간들 동안) 컴퓨터 생성 사용자 인터페이스 요소의 제3 부분 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는(예컨대, 그로부터 선택되거나 그로부터 샘플링된) 제6 색상을 포함한다. 일부 실시예들에서, 제1 세트의 대표적인 색상들은, 제1 시간 기간에서 컴퓨터 생성 사용자 인터페이스 요소의 개개의 대응하는 부분들 뒤에 있는 물리적 환경의 뷰의 부분들을 표현하는 3개 이상의 색상들을 포함한다. 일부 실시예들에서, 제2 세트의 대표적인 색상들은, 제2 시간 기간에서 컴퓨터 생성 사용자 인터페이스 요소의 개개의 대응하는 부분들 뒤에 있는 물리적 환경의 뷰의 부분들을 표현하는 3개 이상의 색상들을 포함한다. 예를 들어, 도 7h를 참조하여 본 명세서에서 설명된 바와 같이, 시간 t2에서의 사용자 인터페이스 요소(7040)의 외관은 사용자 인터페이스 요소(7040)의 적어도 3개의 코너들의 뒤로부터 각각 샘플링된 적어도 3개의 색상들(7044-1 내지 7044-3)을 포함하는 색상 구배에 기초한다. 유사하게, 도 7i를 참조하여 본 명세서에서 설명된 바와 같이, 시간 t3에서의 사용자 인터페이스 요소(7040)의 외관은 사용자 인터페이스 요소(7040)의 적어도 3개의 코너들의 뒤로부터 각각 샘플링된 적어도 3개의 색상들(7044-4 내지 7044-6)을 포함하는 색상 구배에 기초한다. 마찬가지로, 도 7j를 참조하여 본 명세서에서 설명된 바와 같이, 시간 t4에서의 사용자 인터페이스 요소(7040)의 외관은 사용자 인터페이스 요소(7040)의 적어도 3개의 코너들의 뒤로부터 각각 샘플링된 적어도 3개의 색상들(7044-7, 7044-8 및/또는 7044-10, 및 7044-9)을 포함하는 색상 구배에 기초한다. 물리적 환경의 하나 이상의 기본 부분들의 변화들에 응답하여 업데이트되는, 물리적 환경의 하나 이상의 기본 부분들로부터 샘플링된 적어도 3개의 색상들 사이의 구배에 기초하는 외관을 갖는 컴퓨터 생성 사용자 인터페이스 요소를 디스플레이하는 것은, (예컨대, 2개의 색상들 또는 오직 하나의 색상만이 사용된 경우에 비해) 기본 물리적 환경을 더 표현하는 외관을 컴퓨터 생성 사용자 인터페이스 요소에 제공함으로써, 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 더 잘 이해하도록 돕고, 물리적 환경에서 발생하는 변화들을 사용자에게 더 잘 알리며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 개개의 구배에 기초하는 컴퓨터 생성 사용자 인터페이스 요소의 외관은 컴퓨터 생성 사용자 인터페이스 요소의 하나 이상의 에지들(예컨대, 모든 에지들 또는 적어도 모든 디스플레이된 에지들)로 확장된다. 예를 들어, 도 7h 내지 도 7j를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7040)의 외관은 사용자 인터페이스 요소(7040)의 모든 에지들까지의 색상 구배에 기초한다. 컴퓨터 생성 사용자 인터페이스 요소의 가시적인 에지들로 연장되는 컴퓨터 생성 사용자 인터페이스 요소의 외관에 개개의 구배를 적용하는 것은, 물리적 환경의 뷰의 콘텍스트에서 시각적으로 거북한 외관을 컴퓨터 생성 사용자 인터페이스 요소에 제공하는 것을 회피하면서, 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 이해하도록 돕고, 물리적 환경에서 발생하는 변화들을 사용자에게 알리는 균일한 재료로 이루어진 객체의 외관을 시뮬레이션하며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 개개의 부분의 색상은 (예컨대, 시뮬레이션된 3차원 공간, 이를테면, 상이한 컴퓨터 생성 사용자 인터페이스 요소들이 3차원 공간에서 상이한 개개의 시뮬레이션된 포지션들을 갖는 물리적 환경의 뷰를 포함하는 증강 또는 가상 현실 환경에서) 컴퓨터 생성 사용자 인터페이스 요소의 개개의 부분의 시뮬레이션된 포지션 뒤에 있는 물리적 환경의 뷰의 개개의 부분으로부터 샘플링된다. 예를 들어, 도 7h 내지 도 7j를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7040)의 외관은 사용자 인터페이스 환경(7040) 뒤의 환경(7104)의 구역(7042)(도 7h), 구역(7046)(도 7i) 및 구역(7048)(도 7j)으로부터 샘플링된 대표적인 색상들 사이의 색상 구배에 기초한다. 구체적으로, 예를 들어, 도 7h에서, 사용자 인터페이스 요소(7040)의 상부 좌측 코너의 색상(7044-1)은 박스(7012')로부터 샘플링되고; 사용자 인터페이스 요소(7040)의 상부 우측 코너의 색상(7044-2)은 벽걸이(7106)로부터 샘플링되고; 사용자 인터페이스 요소(7040)의 최하부 에지 구역의 색상(7044-3)은 벽(7004')으로부터 샘플링된다. 유사하게, 예를 들어, 도 7i에서, 사용자 인터페이스 요소(7040)의 상부 좌측 코너의 색상(7044-4)은 박스(7012')로부터 샘플링되고; 사용자 인터페이스 요소(7040)의 상부 우측 코너의 색상(7044-5)은 벽걸이(7106)로부터 샘플링되고; 사용자 인터페이스 요소(7040)의 최하부 에지 구역의 색상(7044-6)은 벽(7004')으로부터 샘플링된다. 마찬가지로, 예를 들어, 도 7j에서, 사용자 인터페이스 요소(7040)의 상부 좌측 코너의 색상(7044-7)은 벽걸이(7106)로부터 샘플링되고; 사용자 인터페이스 요소(7040)의 상부 우측 코너의 색상(7044-8) 및 사용자 인터페이스 요소(7040)의 최하부 좌측 코너의 색상(7044-10)은 벽(7004')으로부터 샘플링되고; 사용자 인터페이스 요소(7040)의 최하부 우측 코너의 색상(7044-9)은 박스(7014')로부터 샘플링된다. 물리적 환경의 하나 이상의 기본 부분들로부터 샘플링된 색상들 사이의 구배에 기초하는 외관을 갖는 컴퓨터 생성 사용자 인터페이스 요소를 디스플레이하는 것은, 부분적으로 투명한 재료로 이루어진 객체의 외관을 시뮬레이션하고, 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 이해하도록 돕고, 물리적 환경에서 발생하는 변화들을 사용자에게 알리며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 개개의 구배에 기초한 컴퓨터 생성 사용자 인터페이스 요소의 외관의 업데이트는 컴퓨터 생성 사용자 인터페이스 요소의 뷰잉 관점(예컨대, 사용자의 시점)이 물리적 환경에 대해 변화함에 따라 컴퓨터 생성 사용자 인터페이스 요소의 외관을 변경한다(예컨대, 컴퓨터 시스템의 하나 이상의 카메라들의 관점으로부터 물리적 환경의 뷰를 변경하는 컴퓨터 시스템의 이동, 또는 컴퓨터 생성 사용자 인터페이스 요소 및/또는 물리적 환경의 사용자의 관점을 변경하는 사용자의 이동). 예를 들어, 도 7h 및 도 7i를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7040)의 외관은, 컴퓨터 시스템(도 7h)을 기울이는 것 및 컴퓨터 시스템(도 7i)을 수평으로 하는 것에 기초하여 사용자의 시점에서의 변화들에 응답하여 환경(7104)의 뷰가 변함에 따라 업데이트된다. 사용자의 시점이 변화함(예컨대, 물리적 환경의 하나 이상의 기본 부분들 및/또는 컴퓨터 생성 사용자 인터페이스 요소의 뷰잉 관점이 변화함)에 따라 업데이트되는, 물리적 환경의 하나 이상의 기본 부분들로부터 샘플링된 색상들 사이의 구배에 기초하는 외관을 갖는 컴퓨터 생성 사용자 인터페이스 요소를 디스플레이하는 것은, 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 이해하도록 돕는 더 현실적이고 몰입적인 뷰잉 경험을 제공하며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 개개의 구배에 기초한 컴퓨터 생성 사용자 인터페이스 요소의 외관의 업데이트는 (예컨대, 물리적 환경의 디스플레이된 뷰에 대해) 컴퓨터 생성 사용자 인터페이스 요소가 이동됨에 따라 컴퓨터 생성 사용자 인터페이스 요소의 외관을 변경하는 것을 포함한다. 예를 들어, 도 7j를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7040)의 외관은, 환경(7104)의 뷰가 환경(7104)에서 사용자 인터페이스 요소(7040)의 이동에 응답하여 변화함에 따라 업데이트된다. 컴퓨터 생성 사용자 인터페이스 요소가 물리적 환경의 디스플레이된 뷰에 대해 이동됨에 따라 업데이트되는, 물리적 환경의 하나 이상의 기본 부분들로부터 샘플링된 색상들 사이의 구배에 기초하는 외관을 갖는 컴퓨터 생성 사용자 인터페이스 요소를 디스플레이하는 것은, 물리적 환경에 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려지는지를 사용자가 이해하도록 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 외관은, (예컨대, 사용자의 관점으로부터, 컴퓨터 생성 사용자 인터페이스 요소의 배경에서) 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션 뒤의 시뮬레이션된 포지션들을 갖는 하나 이상의 추가적인 컴퓨터 생성 사용자 인터페이스 요소들에 기초하여 업데이트된다. 예를 들어, 제1 세트의 대표적인 색상들은, 제1 시간 기간에서 컴퓨터 생성 사용자 인터페이스 요소 뒤에 가상으로 포지셔닝된 하나 이상의 추가적인 컴퓨터 생성 사용자 인터페이스 요소들의 부분들을 표현하는 하나 이상의 색상들을 포함하고, 그리고/또는 제2 세트의 대표적인 색상들은, 제2 시간 기간에서 컴퓨터 생성 사용자 인터페이스 요소 뒤에 가상으로 포지셔닝된 하나 이상의 추가적인 컴퓨터 생성 사용자 인터페이스 요소들의 부분들을 표현하는 하나 이상의 색상들을 포함한다. 예를 들어, 도 7h 내지 도 7j를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7040)의 외관에 대해 사용되는 색상 구배들은 환경(7104)에서 사용자 인터페이스 요소(7040) 뒤의 컴퓨터 생성 벽걸이(7106)로부터 샘플링된 하나 이상의 색상들에 적어도 부분적으로 기초한다. 일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 외관은, (예컨대, 하나 이상의 추가적인 컴퓨터 생성 사용자 인터페이스 요소들이 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션 뒤에 있는 시뮬레이션된 포지션들을 갖는 것에 기초하는 것에 추가로 또는 그 대신에) 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션 뒤의 물리적 환경에서 개개의 물리적 포지션들을 갖는 물리적 환경 내의 하나 이상의 물리적 객체들에 기초하여 업데이트된다. 가상 관점에서 컴퓨터 생성 사용자 인터페이스 요소 뒤에 포지셔닝된 다른 컴퓨터 생성 사용자 인터페이스 요소들로부터 샘플링된 색상들 사이의 구배에 기초하는 외관을 갖는 컴퓨터 생성 사용자 인터페이스 요소를 디스플레이하는 것은, 사용자가 보고 있는 환경(예컨대, 내부에 가상으로 포지셔닝되고 물리적 환경의 뷰 상에 오버레이된 다양한 컴퓨터 생성 사용자 인터페이스 요소들을 갖는 3차원 환경)에 다른 무엇이 있고 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려져 있는지를 사용자가 이해하는 것을 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 하나 이상의 추가적인 컴퓨터 생성 사용자 인터페이스 요소들의 외관은 (예컨대, 컴퓨터 생성 사용자 인터페이스 요소를 참조하여 본 명세서에서 설명된 것과 유사하게) 시간이 지남에 따라 업데이트된다. 예를 들어, 도 7h 내지 도 7j를 참조하여 본 명세서에서 설명된 바와 같이, 벽걸이(7106)의 외관은 일부 실시예들에서 사용자 인터페이스 요소(7040)와 유사한 방식으로 시간이 지남에 따라 업데이트된다. 다른 예에서, 도 7k를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7050) 뒤에 있고 일부 실시예들에서 사용자 인터페이스 요소(7050)의 외관에 대한 기초로서 역할을 하는 사용자 인터페이스 요소(7052)의 외관은 또한, 도 7a 내지 도 7j를 참조하여 본 명세서에서 설명된 다른 사용자 인터페이스 요소들 및/또는 도 7k의 사용자 인터페이스 요소(7050)와 유사한 방식으로 시간이 지남에 따라 업데이트된다. 일부 실시예들에서, 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소와 중첩하는 임의의 다른 컴퓨터 생성 사용자 인터페이스 요소 및 물리적 환경의 일부의 외관의 임의의 변화의 부재 시에, 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 외관은 유지된다(예컨대, 제3 세트의 대표적인 색상들 사이의 개개의 구배에 계속 기초한다). 기본 물리적 환경 및 임의의 다른 기본 컴퓨터 생성 사용자 인터페이스 요소들로부터 샘플링된 색상들 사이의 구배들에 기초하는 외관들을 갖는 다수의 컴퓨터 생성 사용자 인터페이스 요소들을 디스플레이하는 것은, 부분적으로 투명한 재료로 이루어진 객체들의 외관을 시뮬레이션하는 일관된 외관을 컴퓨터 생성 사용자 인터페이스 요소들에 제공하며, 이는, 사용자가 보고 있는 환경 및 그 안의 상이한 객체들 사이의 공간 관계들을 사용자가 이해하는 것을 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 하나 이상의 추가적인 컴퓨터 생성 사용자 인터페이스 요소들의 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 외관은 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된(예컨대, 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션 뒤에 있는 물리적 환경의 하나 이상의 부분들로부터 샘플링된) 제3 세트의 대표적인 색상들 사이의 개개의 구배(예컨대, 컴퓨터 생성 사용자 인터페이스 요소에 대해 사용된 동일한 구배)에 기초한다. 일부 실시예들에서, 제3 세트의 대표적인 색상들은, 제3 시간 기간에(예컨대, 제3 시간에 또는 제3 범위의 시간들 동안) 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 제1 부분(예컨대, 그의 시뮬레이션된 포지션) 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는(예컨대, 그로부터 선택되거나 그로부터 샘플링된) 제7 색상; 및 제3 시간 기간에(예컨대, 제7 색상에 대해 사용된 것과 동일한 제3 시간에 또는 동일한 제3 범위의 시간들 동안) 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 제2 부분(예컨대, 그의 시뮬레이션된 포지션) 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는(예컨대, 그로부터 선택되거나 그로부터 샘플링된) 제8 색상(예컨대, 제7 색상과 상이함)을 포함한다. 일부 실시예들에서, 제3 시간 기간은 제1 시간 기간, 제2 시간 기간, 또는 제1 및 제2 시간 기간들과 별개인 시간 기간이다.
일부 실시예들에서, 물리적 환경(및 예컨대, 컴퓨터 생성 사용자 인터페이스 요소 및/또는 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 적어도 일부)의 뷰를 디스플레이하는 동안, 물리적 환경의 일부의 외관은 변화한다. 일부 실시예들에서, 컴퓨터 시스템은 물리적 환경의 일부의 외관 변화를 검출한다. 일부 실시예들에서, 물리적 환경의 일부의 외관에서의 변화에 응답하여, (예컨대, 그에 따라 물리적 환경의 뷰를 업데이트하는 것에 추가하여) 컴퓨터 시스템은, 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된 제4 세트의 대표 색상들 사이의 개개의 구배에 기초하여 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트한다. 일부 실시예들에서, 제4 세트의 대표적인 색상들은: 제3 시간 기간과 상이한(예컨대, 그 후의) 제4 시간 기간에(예컨대, 제4 시간에 또는 제4 범위의 시간들 동안) 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 제1 부분(예컨대, 그의 시뮬레이션된 포지션) 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는(예컨대, 그로부터 선택되거나 그로부터 샘플링된) 제9 색상(예컨대, 제7 색상과 상이함); 및 제4 시간 기간에(예컨대, 제9 색상에 대해 사용된 것과 동일한 제4 시간에 또는 동일한 제4 범위의 시간들 동안) 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 제2 부분(예컨대, 그의 시뮬레이션된 포지션) 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는(예컨대, 그로부터 선택되거나 그로부터 샘플링된) 제10 색상(예컨대, 제8 및/또는 제9 색상들과 상이함)을 포함한다. 예를 들어, 도 7h 내지 도 7j를 참조하여 본 명세서에서 설명된 바와 같이, 벽걸이(7106)의 외관은 일부 실시예들에서 사용자 인터페이스 요소(7040)와 유사한 방식으로 시간이 지남에 따라 또한 업데이트된다. 다른 예에서, 도 7k를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7052)의 외관은 일부 실시예들에서 사용자 인터페이스 요소(7050)와 유사한 방식으로 시간이 지남에 따라 업데이트된다. 일부 실시예들에서, 제4 시간 기간은 제2 시간 기간(예컨대, 제3 시간 기간이 제1 시간 기간인 경우), 또는 제1, 제2 및 제3 시간 기간들과 별개인 시간 기간이다. 기본 물리적 환경 및 임의의 다른 기본 컴퓨터 생성 사용자 인터페이스 요소들로부터 샘플링된 색상들 사이의 구배들에 기초하는 외관들을 갖는 추가적인 컴퓨터 생성 사용자 인터페이스 요소들을 디스플레이하는 것은, 부분적으로 투명한 재료로 이루어진 객체들의 외관을 시뮬레이션하는 일관된 외관을 컴퓨터 생성 사용자 인터페이스 요소들에 제공하며, 이는, 사용자가 보고 있는 환경 및 그 안의 상이한 객체들 사이의 공간 관계들을 사용자가 이해하는 것을 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 개개의 부분 뒤에 있는 물리적 환경의 뷰의 일부를 표현하는 개개의 색상은, 적어도 부분적으로 컴퓨터 생성 사용자 인터페이스 요소의 개개의 부분의 시뮬레이션된 포지션 뒤에 있는 시뮬레이션된 포지션을 갖는 제2 컴퓨터 생성 사용자 인터페이스 요소로부터 샘플링된다. 예를 들어, 일부 상황들에서, 제1 색상은 (예컨대, 각각의 컴퓨터 생성 사용자 인터페이스 요소에 대한 물리적 환경의 뷰로부터 직접 색상들을 선택 또는 샘플링하기 보다는) 컴퓨터 생성 사용자 인터페이스 요소의 제1 부분 뒤에 있는 제2 컴퓨터 생성 사용자 인터페이스 요소의 부분으로부터 선택되거나 또는 샘플링된다. 일부 상황들에서, 제2 색상은 컴퓨터 생성 사용자 인터페이스 요소의 제2 부분 뒤에 있는 제3(예컨대, 제2) 컴퓨터 생성 사용자 인터페이스 요소의 부분으로부터 선택되거나 샘플링된다. 유사하게, 일부 상황들에서, 제3 색상 및/또는 제4 색상은 전술된 컴퓨터 생성 사용자 인터페이스 요소 뒤에 있는 다른 컴퓨터 생성 사용자 인터페이스 요소들의 부분들로부터 선택되거나 또는 샘플링된다.
예를 들어, 도 7h 내지 도 7j를 참조하여 본 명세서에서 설명된 바와 같이, 벽걸이(7106)의 외관이 도 7h 내지 도 7j의 사용자 인터페이스 요소(7040)에 대해 설명된 것과 유사한 방식으로 시간이 지남에 따라 업데이트되었다면, 벽걸이(7106)와 중첩하는 사용자 인터페이스 요소(7040)의 부분들의 외관들은 선택적으로, 벽걸이(7106) 및 사용자 인터페이스 요소(7040) 둘 모두의 뒤에 있는 환경의 부분들로부터 별개로 생성되기 보다는 벽걸이(7106)의 기본 부분들의 생성된 외관들에 기초하거나 이를 재사용한다. 유사하게, 도 7k를 참조하여 본 명세서에서 설명된 바와 같이, 전경 사용자 인터페이스 요소(7050)의 외관은 선택적으로 배경 사용자 인터페이스 요소(7052)의 기본 부분들의 생성된 외관들에 기초하거나 또는 이를 재사용한다. 컴퓨터 생성 사용자 인터페이스 요소의 외관을 기본 컴퓨터 생성 사용자 인터페이스 요소의 색상 구배에 기초로 하는 것은, 부분적으로 투명한 재료로 이루어진 객체들의 외관을 시뮬레이션하는 일관된 외관을 컴퓨터 생성 사용자 인터페이스 요소에 제공하고, 이는 색상 구배를 생성하고 그리고/또는 각각의 컴퓨터 생성 사용자 인터페이스 요소의 외관을 별개로 블러링하는 계산 부담을 감소시키면서 사용자가 보고 있는 환경에 다른 무엇이 있고 전경에 있는 컴퓨터 생성 사용자 인터페이스 요소에 의해 가려져 있는지를 사용자가 이해하는 것을 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 요소의 외관은, 물리적 환경에 대한 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션과 무관하게 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된 개개의 세트의 대표 색상들 사이의 개개의 구배에 기초한다. 예를 들어, 도 7h 내지 도 7j를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7040)의 외관은 선택적으로, 환경(7104) 내의 사용자 인터페이스 요소(7040)의 시뮬레이션된 포지션(예컨대, 도 7f의 포지션(7030-4)) 전방에 있는 환경(7104)의 부분들에 기초한다. 일부 실시예들에서, 개개의 구배는, 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션 전방에 및/또는 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션 뒤에 있는 물리적 환경의 부분들로부터 샘플링된 색상들을 사용한다. 컴퓨터 생성 사용자 인터페이스 요소의 외관을, 사용자의 관점으로부터 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션의 전방에 있을 수 있는 부분들을 포함하는 물리적 환경의 중첩 부분들로부터 샘플링된 색상들 사이의 구배에 기초로 하는 것은, 컴퓨터 생성 사용자 인터페이스 요소의 인근에서 물리적 환경에 무엇이 있는지를 사용자가 이해하도록 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
도 9에서의 동작들이 설명된 특정 순서는 단지 일 예일 뿐이며 설명된 순서가 동작들이 수행될 수 있는 유일한 순서라는 것을 표시하는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 설명된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에서 설명되는 다른 방법들(예컨대, 방법들(8000, 10000, 11000, 12000, 13000, 14000))과 관련하여 본 명세서에서 설명되는 다른 프로세스들의 상세사항들이 도 9와 관련하여 위에서 설명된 방법(9000)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(9000)을 참조하여 전술된 사용자 인터페이스 요소들 또는 객체들(이들의 외관들 및 구역들을 포함함), 물리적 객체들 및/또는 물리적 객체들의 표현들, 가상 객체들, 사용자 시점들, 이동들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트 및/또는 색상 구배들은 선택적으로, 본 명세서에 설명된 다른 방법들(예컨대, 방법들(8000, 10000, 11000, 12000, 13000, 및 14000))을 참조하여 본 명세서에 설명된 사용자 인터페이스 요소들 또는 객체들(이들의 외관들 및 구역들을 포함함), 물리적 객체들 및/또는 물리적 객체들의 표현들, 가상 객체들, 사용자 시점들, 이동들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트 및/또는 색상 구배들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 세부사항들은 여기서 반복되지 않는다.
도 10은 사용자 인터페이스 요소의 에지들을 따라 시뮬레이션된 두께 및 곡률을 갖는 시뮬레이션된 재료의 외관을 갖는 사용자 인터페이스 요소를 디스플레이하는 방법(10000)의 흐름도이며, 여기서 사용자 인터페이스 요소의 에지들은 일부 실시예들에 따른 3차원 환경에서 광과 상호작용하는 시뮬레이션된 광학 속성들을 갖는다.
일부 실시예들에서, 본 방법(10000)은, 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120))(예컨대, 헤드업 디스플레이, 디스플레이, 터치스크린, 및/또는 프로젝터) 및 선택적으로 하나 이상의 입력 디바이스들, 이를테면 하나 이상의 카메라들(예를 들어, 사용자의 손에서 하향으로 또는 사용자의 머리로부터 상향으로 향하는, 예컨대 카메라(예컨대, 색상 센서들, 적외선 센서들, 및 다른 심도 감지 카메라들))과 통신하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 방법(10000)은, 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터 시스템의 하나 이상의 프로세서들, 예를 들어, 컴퓨터 시스템(101)의 하나 이상의 프로세서들(202)(예를 들어, 도 1a의 제어 유닛(110))에 의해 실행되는 명령어들에 의해 통제된다. 방법(10000)에서의 일부 동작들이 선택적으로 조합되거나, 및/또는 일부 동작들의 순서가 선택적으로 변경된다.
일부 실시예들에서, 방법(10000)은 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101), 도 7a 내지 도 7g, 도 7h 내지 도 7j, 도 7k 내지 도 7o, 도 7p, 도 7q 내지 도 7w 및/또는 도 7x 내지 7z와 관련하여 설명된 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 컴퓨터 시스템은 디스플레이 생성 컴포넌트(예컨대, 디스플레이 생성 컴포넌트는 헤드-업 디스플레이, 머리 장착형 디스플레이(HMD), 디스플레이, 터치스크린 및/또는 프로젝터임) 및 선택적으로 하나 이상의 입력 디바이스들(예컨대, 카메라들, 제어기들, 터치 감응형 표면들, 조이스틱들, 버튼들, 글러브들, 시계들, 모션 센서들 및/또는 배향 센서들)과 통신한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트는 도 7a 내지 도 7z와 관련하여 설명된 디스플레이 생성 컴포넌트(7100)이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들 중 적어도 일부와 동일한 하우징으로 둘러싸인 하나 이상의 프로세서들 및 메모리를 갖는 통합 디바이스이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및/또는 하나 이상의 입력 디바이스들과 별개인 하나 이상의 프로세서들 및 메모리를 포함하는 컴퓨팅 컴포넌트(예컨대, 서버, 스마트 폰 또는 태블릿 디바이스와 같은 모바일 전자 디바이스, 워치, 손목밴드, 또는 이어폰들과 같은 웨어러블 디바이스, 데스크톱 컴퓨터, 또는 랩톱 컴퓨터)를 포함한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들은 동일한 하우징 내에 통합되고 그로 둘러싸인다. 방법(10000)의 많은 특징들은 일부 실시예들에 따라 도 7k 내지 도 7o와 관련하여 설명된다.
방법(10000)에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트를 통해, 3차원 환경의 제1 뷰를 디스플레이하고, 디스플레이하는 것은, 3차원 환경의 제1 뷰에 제1 사용자 인터페이스 객체를 디스플레이하는 단계 및 3차원 환경에 제1 사용자 인터페이스 객체 뒤의 배경 콘텐츠를 디스플레이하는 것을 포함한다(10002). 제1 사용자 인터페이스 객체는 제1 부분을 포함하고, 제1 부분은 3차원 환경에서 제1 사용자 인터페이스 객체의 제1 부분 뒤에 위치된 배경 콘텐츠(예컨대, 가상 콘텐츠 또는 물리적 공간의 표현)의 외관에 기초하여 선택된 외관을 갖는다(10004). 일부 실시예들에서, 제1 사용자 인터페이스 객체의 제1 부분은 제1 사용자 인터페이스 객체의 후면이다. 제1 사용자 인터페이스 객체는 제1 사용자 인터페이스 객체의 제1 부분과 전방 사이에 시뮬레이션된 두께를 갖고; 제1 사용자 인터페이스 객체의 제1 부분과 제1 사용자 인터페이스 객체의 전방 사이의 제1 사용자 인터페이스 객체에 콘텐츠가 디스플레이된다. 예를 들어, 도 7k를 참조하여 본 명세서에 도시되고 설명된 바와 같이, 사용자 인터페이스 요소(7050)는 에지(7050-e)에 의해 표시된 시뮬레이션된 두께를 가지며, 여기서 콘텐츠는 사용자 인터페이스 요소(7050)의 전면 뒤에 그리고 사용자 인터페이스 요소(7050)의 전면과 후면 사이에 있는(예컨대, 사용자 인터페이스 요소(7050)의 시뮬레이션된 두께 미만의 깊이로 사용자 인터페이스 요소(7050) 내에 임베딩된) 외관으로 디스플레이되고; 마찬가지로, 사용자 인터페이스 요소(7052)는 선택적으로, 에지(7052-e)에 의해 표시된 시뮬레이션된 두께를 가지며, 여기서 콘텐츠는 사용자 인터페이스 요소(7052)의 전면 뒤에 있고 사용자 인터페이스 요소(7052) 내에 임베딩된 외관으로 디스플레이된다. 도 7l 내지 도 7o를 참조하여 본 명세서에서 도시되고 설명된 바와 같이, 사용자 인터페이스 요소(7054)는 사용자 인터페이스 요소(7054)의 전면과 사용자 인터페이스 요소(7054)의 후면 사이의 시뮬레이션된 두께를 가지며, 사용자 인터페이스 요소(7054)는 사용자 인터페이스 요소(7054)의 전면과 후면 사이의 배경 부분(7054-a)의 콘텐츠를 디스플레이하도록 구성된다.
제1 사용자 인터페이스 객체를 디스플레이하는 동안, 컴퓨터 시스템은 콘텐츠를 이동(예컨대, 스크롤, 리포지셔닝, 리사이징, 리스케일링, 회전, 및/또는 다른 변환)시키기 위한 요청을 검출한다(10006). 콘텐츠를 이동시키기 위한 요청을 검출하는 것에 응답하여, 컴퓨터 시스템은 콘텐츠가 제1 사용자 인터페이스 객체의 제1 부분과 제1 사용자 인터페이스 객체의 전방 사이에서 유지되는 동안 제1 사용자 인터페이스 객체 내에서 콘텐츠를 이동시킨다(10008). 제1 사용자 인터페이스 객체 내에서 콘텐츠를 이동시키는 것은 제1 사용자 인터페이스 객체의 시뮬레이션된 두께에 기초하여 콘텐츠에 적용되는 시각적 효과를 디스플레이하는 것을 포함한다(10010). 예를 들어, 도 7k를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7050) 내에 그리고 에지(7050-e)의 임계 거리 내에 임베딩된 콘텐츠는 시뮬레이션된 내부 반사 및/또는 굴절에 따라 에지(7050-e)의 시뮬레이션된 두께 주위를 감싸는 광학 효과로 디스플레이된다. 유사하게, 도 7k를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7052) 내에 그리고 에지(7052-e)의 임계 거리 내에 임베딩된 콘텐츠는 시뮬레이션된 내부 반사 및/또는 굴절에 따라 에지(7052-e)의 시뮬레이션된 두께 주위를 감싸는 광학 효과로 디스플레이된다.
3차원 환경에서의 사용자 인터페이스 객체의 외관을 사용자 인터페이스 객체의 (예컨대, 가상 관점에서) 뒤에 있는 3차원 환경 내의 배경 콘텐츠의 외관에 기초로 하는 것은, 투명한 또는 부분적으로 투명한 재료(예컨대, 때때로 블러 재료로 지칭됨)로 이루어진 객체의 외관을 시뮬레이션하고, 이는, 객체의 에지들을 따른 시뮬레이션된 두께 및 굴절 속성들을 갖는 객체 내에서 이동하는 콘텐츠를 시뮬레이션하기 위해(예컨대, 객체의, 이를테면 광 및/또는 임베딩된 콘텐츠의 에지들로부터의 내부 반사를 시뮬레이션함) 사용자 인터페이스 객체의 에지들에 적용된 시각적 효과로 사용자 인터페이스 객체 내에서 이동되는 콘텐츠를 디스플레이함으로써 강화되며, 이는, 3차원 환경에 다른 무엇이 있고 사용자 인터페이스 객체에 의해 가려지는지를 사용자가 이해하는 것을 돕고, 이는 사용자에게 개선된 피드백을 제공한다. 또한, 블러 재료들을 사용하는 것은 사용자의 콘텍스트 인식을 개선하며, 이는 사용자가 물리적 공간 내의 물리적 객체들과의 충돌들을 회피하는 것을 도움으로써 사용자 안전을 개선하고, 컴퓨터 시스템을 사용할 때 사용자가 멀미를 겪을 가능성을 감소시킨다.
일부 실시예들에서, 제1 사용자 인터페이스 객체의(예컨대, 그 제1 부분의) 외관은 (예컨대, 제1 레벨의 반투명도를 갖는 반투명 재료를 통해 가시적일 바와 같이 배경 콘텐츠의 외관을 시뮬레이션하기 위해) 제1 사용자 인터페이스 객체의 제1 레벨의 반투명도에 따른 배경 콘텐츠의 외관에 기초하고, 방법은 제1 사용자 인터페이스 객체의 에지에 인접하게 디스플레이된 배경 콘텐츠 상에 그림자를 디스플레이하는 단계를 포함하고, 그림자의 외관은 (예컨대, 제2 레벨의 반투명도를 갖는 반투명 재료에 의해 배경 콘텐츠 상에 캐스팅된 그림자를 시뮬레이션하기 위해) 제1 레벨의 반투명도와 상이한 제1 사용자 인터페이스 객체의 제2 레벨의 반투명도에 따른다. 예를 들어, 도 7k의 사용자 인터페이스 요소(7050)는 투명하거나 부분적으로 투명한 재료로 이루어진 객체의 외관으로 디스플레이되지만, 사용자 인터페이스 요소(7050)에 의해 명백하게 캐스팅된 환경(7104)에 디스플레이되는 그림자(들)는 선택적으로, 동일한 투명한 또는 부분적으로 투명한 재료로 이루어진 물리적 객체로부터 캐스팅될 그림자(들)와 상이하다. 예를 들어, 투명한 유리의 물리적 판유리가 물리적 환경 내의 인근의 객체들 상에 주어진 양의 그림자를 캐스팅할 수 있는 동안, 사용자 인터페이스 요소(7050)는 선택적으로, 유리의 물리적 판유리보다 환경(7104) 내의 인근의 객체들 상에 더 많은 또는 더 적은 그림자를 캐스팅하는 외관을 갖는 것으로 또한 디스플레이되는 투명 유리의 판유리를 시뮬레이션하도록 디스플레이된다. 유사하게, 일부 실시예들에서, 도 7k의 사용자 인터페이스 요소(7052)는 선택적으로, 사용자 인터페이스 요소(7052)가 시뮬레이션하는 것으로 디스플레이되는 동일한 재료의 대응하는 물리적 객체보다 환경(7104)에 더 많은 또는 더 적은 그림자를 캐스팅하는 것으로 디스플레이된다.
물리적 세계에서, 물리적 객체들은 물리적 환경의 조명에 의해 정의되는 다른 객체들 및 객체들을 구성하는 재료들(예컨대, 특정 정도의 투명도 또는 반투명도를 갖는 재료들을 포함함)에 연관된 양의 그림자를 캐스팅한다. 컴퓨터 생성 3차원 환경에서, 컴퓨터 생성 객체는, 컴퓨터 생성 객체가 다른 객체들에 캐스팅하는 것으로 도시되는 그림자의 양과 독립적인 일정량의 투명도 또는 반투명도로 디스플레이될 수 있다. 다른 객체들 상에 캐스팅하는 것으로서 객체가 디스플레이되는 그림자의 양을 디커플링하면서, 투명한 또는 부분적으로 투명한 재료로 이루어진 객체를 시뮬레이션하는 사용자 인터페이스 객체를 디스플레이하는 것은, 3차원 환경 내의 사용자 인터페이스 객체의 치수들 및 포지션에 관한 정보를 사용자에게 제공할 뿐만 아니라 이러한 정보가 어떻게 전달되는지에 유연성을 제공하여, 3차원 환경에서 사용자를 배향시키는 것을 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 제1 사용자 인터페이스 객체의 시뮬레이션된 두께에 기초하여 콘텐츠에 적용되는 시각적 효과를 디스플레이하는 것은, (예컨대, 도 7k의 사용자 인터페이스 요소들(7050 및 7052)을 참조하여 본 명세서에서 설명된 바와 같이) 제1 사용자 인터페이스 객체의 시뮬레이션된 두께 주위의 만곡화로서 제1 사용자 인터페이스 객체의 에지로부터 임계 거리 내에 있는 콘텐츠의 부분을 디스플레이하는 것을 포함한다. 사용자 인터페이스 객체의 시뮬레이션된 두께 주위에서 만곡된 콘텐츠를 시뮬레이션하기 위해 사용자 인터페이스 객체의 에지들에 적용되는 시각적 효과와 함께 사용자 인터페이스 객체 내에서 이동되는 콘텐츠를 디스플레이하는 것은 객체의 에지들로부터의 내부 반사 및 에지들의 투명도를 시뮬레이션함으로써, 굴절 속성들을 갖는 투명한 또는 부분적으로 투명한 재료로 이루어진 것으로 사용자 인터페이스 객체의 외관을 강제하며, 이는, 3차원 환경에 무엇이 있고 사용자 인터페이스 객체에 의해 가려지는지를 사용자가 이해하도록 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 제1 사용자 인터페이스 객체의 하나 이상의 에지들은 곡률을 갖고(예컨대, 만곡된 또는 둥근 에지) 하나 이상의 에지들로부터 반사되는 광의 시각적 효과를 갖는 것으로 디스플레이된다. 예를 들어, 도 7k를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7050)는 선택적으로, 사용자 인터페이스 요소(7050)의 만곡된 에지(7050-e)를 따라 하나 이상의 위치들로부터 반사되는 광의 시각적 효과로 디스플레이되고 그리고/또는 사용자 인터페이스 요소(7052)는 사용자 인터페이스 요소(7050)의 만곡된 에지(7052-e)를 따라 하나 이상의 위치들로부터 반사되는 광의 시각적 효과로 디스플레이된다. 다른 예에서, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)는 시뮬레이션된 두께를 갖고, 선택적으로 만곡된 사용자 인터페이스 요소(7054)의 에지를 따라 하나 이상의 위치들로부터 반사되는 광의 시각적 효과로 디스플레이된다. 일부 실시예들에서, 에지가 아닌 제1 사용자 인터페이스 객체의 부분은 곡률 없이 그리고/또는 광을 반사하는 시각적 효과 없이 디스플레이된다. 사용자 인터페이스 객체의 에지들로부터 반사되는 광의 시각적 효과를 디스플레이하는 것은 객체의 에지들로부터의 내부 반사를 시뮬레이션함으로써, 굴절 속성들을 갖는 투명한 또는 부분적으로 투명한 재료로 이루어진 것으로 사용자 인터페이스 객체의 외관을 강제하며, 이는, 3차원 환경에 무엇이 있고 사용자 인터페이스 객체에 의해 가려지는지를 사용자가 이해하도록 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 곡률은 2차원(예컨대, 평면에서, 이를테면, x- 및 y- 방향들에서, 또는 임의의 다른 2차원 좌표계에서의 곡률)이다. 예를 들어, 도 7k를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7050)의 에지 및 사용자 인터페이스 요소(7052)의 에지는 적어도 2개의 치수들에서 둥글다. 다른 예에서, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)의 에지들은 선택적으로, 2개의 치수들에서 둥글다(예컨대, 최상부 면 및 측면, 측면과 최하부 면, 전면과 측면, 또는 측면과 후면과 같은 2개의 면들이 만나는 에지는 2개의 면들이 서로 매끄럽게 전환되도록 둥글다). 사용자 인터페이스 객체의 에지들로부터 2개의 치수들에서 반사되는 광의 시각적 효과를 디스플레이하는 것은 객체의 에지들로부터의 내부 반사를 시뮬레이션함으로써, 굴절 속성들을 갖는 투명한 또는 부분적으로 투명한 재료로 이루어진 것으로 사용자 인터페이스 객체의 외관을 강제하고, 사용자가 3차원 환경에서 3차원 물리적 객체들의 표현들 또는 렌더링들로부터 사용자 인터페이스 객체를 구별하는 것을 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 곡률은 3차원(예컨대, 공간에서, 이를테면, x-, y- 및 z- 방향들에서, 또는 임의의 다른 3차원 좌표계에서의 곡률)이다. 예를 들어, 도 7k를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7050)의 에지 및/또는 사용자 인터페이스 요소(7052)의 에지는 선택적으로 3개의 치수들에서 둥글다. 다른 예에서, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)의 에지들 및/또는 코너들은 선택적으로 3개의 치수들에서 둥글다(예컨대, 3개의 면들이 만나는 꼭지점은 3개의 면들이 서로 매끄럽게 전환되도록 둥글다). 사용자 인터페이스 객체의 에지들로부터 3개의 치수들에서 반사되는 광의 시각적 효과를 디스플레이하는 것은 객체의 에지들로부터의 내부 반사를 시뮬레이션함으로써, 굴절 속성들을 갖는 투명한 또는 부분적으로 투명한 재료로 이루어진 것으로 사용자 인터페이스 객체의 외관을 강제하고, 사용자가 사용자 인터페이스 객체를 3차원 환경에서 현실적인 3차원 객체로서 시각화하는 것을 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 3차원 환경은 (예컨대, 컴퓨터 시스템의 하나 이상의 카메라들이 위치되는) 물리적 환경의 적어도 일부의 표현을 포함하고, 제1 사용자 인터페이스 객체의 하나 이상의 에지들로부터 반사되는 광의 시각적 효과는 물리적 환경에서 검출된 광에 기초한다. 예를 들어, 도 7k를 참조하여 본 명세서에서 설명된 바와 같이, 도 7k의 사용자 인터페이스 요소들(7050 및/또는 7052)에 대한 정반사(들)는 물리적 환경(7102)(도 7a)에서 하나 이상의 물리적 광원들로부터의 물리적 광의 반사를 시뮬레이션할 수 있다. 다른 예에서, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)로부터의 정반사들은 일부 실시예들에서, 환경(7104)에 의해 적어도 부분적으로 표현되는 물리적 환경(7102)에서의 조명에 적어도 부분적으로 기초한다. 디스플레이된 3차원 환경에 의해 표현되는 물리적 환경으로부터 검출된 실제 광에 기초하여 사용자 인터페이스 객체의 에지들로부터 반사되는 광의 시각적 효과를 디스플레이하는 것은 사용자가 사용자 인터페이스 객체를 물리적 환경에서 현실적인 3차원 객체로서 시각화하는 것을 돕고, 사용자 인터페이스 객체와 물리적 환경의 뷰 사이의 인지 부조화를 감소시키며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 제1 사용자 인터페이스 객체의 하나 이상의 에지들로부터 반사되는 광의 시각적 효과는 3차원 환경 내의 광에 기초한다. 예를 들어, 도 7k를 참조하여 본 명세서에서 설명된 바와 같이, 도 7k의 사용자 인터페이스 요소들(7050 및/또는 7052)에 대한 정반사(들)는 환경(7104) 내의 하나 이상의 시뮬레이션된 광원들로부터의 광(예컨대, 물리적 환경(7102)의 실제 광과 구별되고 그에 대응하지 않음)의 반사를 시뮬레이션할 수 있다. 다른 예에서, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)로부터의 정반사들은 일부 실시예들에서, 환경(7104) 내의 시뮬레이션된 광(예컨대, 물리적 환경(7102)의 실제 광과 구별되고 그에 대응하지 않음)에 적어도 부분적으로 기초한다. 일부 실시예들에서, 3차원 환경의 광은 3차원 환경의 가상 광원으로부터의 시뮬레이션된 광 및/또는 3차원 환경에 의해 표현된 물리적 환경으로부터의 광의 표현을 포함한다. 3차원 환경에서 시뮬레이션된 광에 기초하여 사용자 인터페이스 객체의 에지들로부터 반사되는 광의 시각적 효과를 디스플레이하는 것은 사용자가 사용자 인터페이스 객체를 3차원 환경에서 3차원 객체로서 시각화하는 것을 돕고, 3차원 환경에서의 몰입을 증가시키며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 제1 사용자 인터페이스 객체는 하나 이상의 활성화가능한 사용자 인터페이스 객체들을 포함하고, 하나 이상의 활성화가능한 사용자 인터페이스 객체들은 제1 사용자 인터페이스 객체의 전방 상에(예컨대, 전방과 제1 부분 사이의 제1 사용자 인터페이스 객체 내부 보다는 제1 사용자 인터페이스 객체의 전방의 표면 상에) 디스플레이된다. 예를 들어, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 객체(7054)는, 사용자 인터페이스 요소(7054)의 전면의 최상부 상에 배치된 재료의 별개의 조각과 유사하게, 사용자 인터페이스 요소(7054)의 전면에 대해 상승된 재료의 일부로서 나타나는 상승된 구역(7054-d)을 포함한다. 일부 실시예들에서, 하나 이상의 활성화가능한 사용자 인터페이스 객체들은 제1 사용자 인터페이스 객체의 전방으로부터 미리 정의된 거리에 있는 표면(예컨대, 평면) 상에(예컨대, 제1 사용자 인터페이스 객체의 전면 위 또는 전방에) 디스플레이된다. 사용자 인터페이스 객체의 전면 상에 활성화가능한 사용자 인터페이스 객체들을 디스플레이하는 것은 활성화가능한 객체들을 사용자 인터페이스 객체 내에 임베딩되어 디스플레이된 콘텐츠(예컨대, 멀티미디어 콘텐츠 및/또는 텍스트 콘텐츠와 같은 실질적인 자료)와 구별하고, 활성화가능한 객체들이 상호작용형이라는 시각적 피드백을 사용자에게 제공하며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 제1 사용자 인터페이스 객체의 제1 활성화가능한 사용자 인터페이스 객체는 제1 두께를 갖는다. 일부 실시예들에서, 컴퓨터 시스템은 제1 활성화가능한 사용자 인터페이스 객체와 상호작용하는 입력을 검출하고; 입력을 검출하는 것에 응답하여, 제1 두께와 상이한 제2 두께로 제1 활성화가능한 사용자 인터페이스 객체를 디스플레이한다. 예를 들어, 도 7m 및 도 7n을 참조하여 본 명세서에서 설명된 바와 같이, 상승된 구역(7054-d)의 두께는 상승된 구역(7054-d)과의 사용자 상호작용에 응답하여 변경된다(예컨대, 상승된 구역(7054-d)은 도 7m에서 제1 두께로 디스플레이되는 반면, 도 7n에서는, 사용자(7002)가 상승된 구역(7054-d)으로 주의를 돌리는 것에 응답하여, 상승된 구역(7054-d)은 도 7m에서와 상이한 제2 두께로 디스플레이된다). 예를 들어, 제1 활성화가능한 사용자 인터페이스 객체와의 상호작용이 없으면, 제1 활성화가능한 사용자 인터페이스 객체는 제1 사용자 인터페이스 객체의 전방과 같은 개개의 표면으로부터 제1 양만큼 연장된 것으로 디스플레이된다. 이 예에서, 제1 활성화가능한 사용자 인터페이스 객체와의 상호작용에 응답하여, 제1 활성화가능한 사용자 인터페이스 객체는 상이한 양으로 그리고 선택적으로 개개의 표면으로부터 상이한 방향으로 연장되는 것으로 디스플레이된다(예컨대, 제1 사용자 인터페이스객체로부터 돌출되는 것(예컨대, 전방으로 또는 상향으로 연장되는 것)으로부터 제1 사용자 인터페이스 객체 내로 리세스되는 것(예컨대, 후방으로 또는 하방으로 연장되는 것)으로 변경됨). 기본 사용자 인터페이스 객체의 표면에 대한 활성화가능한 사용자 인터페이스 객체의 두께를 변경하는 것은, 활성화가능한 객체와의 상호작용이 검출되었고 활성화가능한 객체와 연관된 동작이 상호작용에 응답하여 수행되고 있거나 추가적인 상호작용에 응답하여 수행될 것이라는 시각적 피드백을 사용자에게 제공하며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 시스템은 제1 사용자 인터페이스 객체에 인접하게 디스플레이된 배경 콘텐츠 상에, 제1 사용자 인터페이스 객체에 대응하는 그림자를 디스플레이한다. 일부 실시예들에서, 컴퓨터 시스템은 (예컨대, 시뮬레이션된 3차원 공간에서 제1 사용자 인터페이스 객체를 이동시키기 위해) 제1 사용자 인터페이스 객체와 상호작용하는 입력을 검출하고; 제1 사용자 인터페이스 객체와 상호작용하는 입력을 검출하는 것에 응답하여, (예를 들어, 배경에 대한 제1 사용자 인터페이스 객체의 두께, 거리 또는 높이의 변화를 표시하기 위해) 제1 사용자 인터페이스 객체에 대응하는 그림자의 외관을 변경한다. 예를 들어, 도 7m 및 도 7n을 참조하여 본 명세서에서 설명된 바와 같이, 상승된 구역(7054-d)으로부터의 더 긴 그림자는, 사용자(7002)가 상승된 구역(7054-d)으로 주의를 돌리는 것에 응답하여(예컨대, 사용자가 상승된 구역(7054-d)을 응시하는 것에 응답하여 상승된 구역(7054-d)의 두께가 변경되는 것에 따라) 도 7n의 사용자 인터페이스 요소(7054) 상에 디스플레이된다. 일부 실시예들에서, 그림자의 외관은 제1 사용자 인터페이스 객체(예컨대, 제1 사용자 인터페이스 객체 내의 또는 제1 사용자 인터페이스 객체 상의 시뮬레이션된 3차원 공간에서의 제1 포인트)와 배경 콘텐츠(예컨대, 배경 콘텐츠 내의 또는 배경 콘텐츠 상의 시뮬레이션된 3차원 공간에서의 제2 포인트) 사이의 시뮬레이션된 거리를 표시하고, 제1 사용자 인터페이스 객체가 배경 콘텐츠로부터 제1 거리에 있는 동안, 그림자는 제1 외관으로 디스플레이되는 반면, 제1 사용자 인터페이스 객체가 배경 콘텐츠로부터 제2 거리에 있는 동안 (예컨대, 시뮬레이션된 3차원 공간에서 배경 콘텐츠에 대해 제1 사용자 인터페이스 객체를 이동시키기 위한 사용자 입력에 응답하여) 그림자는 제1 외관과 상이한 제2 외관으로 디스플레이된다. 특히, 기본 사용자 인터페이스 객체의 표면에 대해 활성화가능한 사용자 인터페이스 객체의 두께를 변경하는 것과 관련하여 수행되는 경우, 활성화가능한 사용자 인터페이스 객체의 그림자의 외관을 변경하는 것은 활성화가능한 사용자 인터페이스 객체의 외관을 3차원으로 강화하고 활성화가능한 객체와의 상호작용이 검출되었다는 시각적 피드백을 사용자에게 제공하며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 3차원 환경의 제1 뷰는 제1 사용자 인터페이스 객체의 전방의 뷰를 포함한다. 일부 실시예들에서, 컴퓨터 시스템은 제1 사용자 인터페이스 객체의 후방의 뷰를 디스플레이하기 위한 요청(예컨대, 3차원 환경 내에서 제1 사용자 인터페이스 객체를 회전시키거나 뒤집기 위한 요청, 또는 예를 들어, 제1 사용자 인터페이스 객체의 전방에서 이를 향하는 것으로부터 제1 사용자 인터페이스 객체의 뒤에서 이를 향하는 것으로 사용자의 시점을 변경하는 것에 대응하는, 3차원 환경에 의해 표현된 물리적 환경에 대한 컴퓨터 시스템의 하나 이상의 카메라들 및/또는 사용자의 이동으로 인한, 제1 사용자 인터페이스 객체의 후방의 뷰를 갖는 상이한 관점으로부터 3차원 환경을 보기 위한 요청)을 수신한다. 일부 실시예들에서, 제1 사용자 인터페이스 객체의 후방의 뷰를 디스플레이하기 위한 요청에 응답하여, 컴퓨터 시스템은 제1 사용자 인터페이스 객체의 제1 부분과 제1 사용자 인터페이스 객체의 전방 사이의 콘텐츠를 (예컨대, 블러링, 페이딩, 셰이딩 또는 어둡게 하는 것 또는 다른 유사한 변환에 의해, 또는 디스플레이하는 것을 포기하거나 디스플레이를 중단함으로써) 시각적으로 덜 강조한다. 예를 들어, 도 7k를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7050) 및/또는 사용자 인터페이스 요소(7052) 내에 임베딩된 것으로 디스플레이되는 콘텐츠는 선택적으로, 이를테면, 도 7k에 도시된 관점으로부터 사용자 인터페이스 요소들(7050 및 7052)의 전방으로부터 가시적이고, 사용자 인터페이스 요소들(7050 및 7052)의 후방으로부터는 명확하게 가시적이 아니다. 일부 실시예들에서, 제1 사용자 인터페이스 객체의 전방은 제1 사용자 인터페이스 객체 내의 콘텐츠가 가시적인 투명한 재료의 외관을 갖는다. 일부 실시예들에서, 제1 사용자 인터페이스 객체의 후방은 제1 사용자 인터페이스 객체의 전방으로부터보다 콘텐츠가 덜 가시적인 반투명 재료의 외관을 갖는다. 일부 실시예들에서, 후방으로부터의 제1 사용자 인터페이스 객체의 외관이 제1 사용자 인터페이스 객체 뒤의 3차원 환경에 위치된 배경 콘텐츠의 외관에 계속 기초하더라도(예컨대, 제1 사용자 인터페이스 객체 뒤의 3차원 환경의 부분들은 제1 사용자 인터페이스 객체를 통해 적어도 부분적으로 가시적임), 제1 사용자 인터페이스 객체의 후방을 보는 동안 콘텐츠는 가시적이 아니다(예컨대, 디스플레이되지 않는다). 사용자 인터페이스 객체가 후방으로부터 보일 때 사용자 인터페이스 객체에 임베딩된 콘텐츠를 덜 강조하는 것은, 콘텐츠가 실제 투명 또는 반투명 객체에서 나타날 때 콘텐츠를 역으로 디스플레이하는 바람직하지 않은 효과를 회피하며, 이는 사용자 인터페이스 객체를 렌더링하는 계산 부담을 감소시키고 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 시스템은 3차원 환경의 제1 콘텍스트(예컨대, 3차원 환경의 제1 하루 중 시간 또는 다른 주변 조건)에 따른 제1 외관을 갖는 제1 사용자 인터페이스 객체를 디스플레이하고; 제1 콘텍스트와 상이한 제2 콘텍스트로의 3차원 환경의 변화에 응답하여, 3차원 환경의 제2 콘텍스트(예컨대, 3차원 환경의 제2 하루 중 시간 또는 다른 주변 조건)에 따라 제1 외관과 상이한 제2 외관을 갖는 제1 사용자 인터페이스 객체를 디스플레이한다. 예를 들어, 도 7k 내지 도 7m을 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소들(7050, 7052, 및/또는 7054)의 정반사들, 밝기, 색상 온도, 및 다른 시각적 특징들은 환경(7104)의 콘텍스트에 대응하도록 선택적으로 조정된다. 주변 3차원 환경의 콘텍스트에 기초하여 사용자 인터페이스 객체의 외관을 변경하는 것은 주변 환경의 변화들, 이를테면 색상, 조명 및/또는 하루 중 시간의 변화들에 대한 시각적 피드백을 사용자에게 제공하며, 이는 사용자가 보고 있는 환경을 사용자가 이해하는 것을 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 시스템은 3차원 환경의 콘텍스트에 기초하여 제1 사용자 인터페이스 객체의 외관을 선택한다. 일부 실시예들에서, 3차원 환경이 제1 콘텍스트에 있다는 결정에 따라, 3차원 환경의 제1 콘텍스트에 기초하는 제1 외관이 선택되고; 3차원 환경이 제1 콘텍스트와 상이한 제2 콘텍스트에 있다는 결정에 따라, 3차원 환경의 제2 콘텍스트에 기초하는 제2 외관이 선택된다. 제2 외관은 제1 외관과 상이하다. 예를 들어, 도 7k 내지 도 7m을 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소들(7050, 7052, 및/또는 7054)의 정반사들, 밝기, 색상 온도, 및 다른 시각적 특징들은 선택적으로 환경(7104)의 콘텍스트에 기초하여 선택된다. 예를 들어, 제1 사용자 인터페이스 객체의 개개의 부분의 색상은 3차원 환경 내의 하나 이상의 색상들(예컨대, 3차원 환경 내의 제1 사용자 인터페이스 객체의 시뮬레이션된 포지션 뒤에 포지셔닝된 콘텐츠 또는 객체들의 하나 이상의 색상들 및/또는 3차원 환경의 주변 색상 온도)에 기초하여, 또는 그로부터 선택된다. 3차원 환경에서 더 따뜻한 색상들이 더 우세한 경우, 제1 사용자 인터페이스 객체는 더 따뜻한 톤들을 갖는 외관을 갖는다. 3차원 환경에서 더 차가운 색상들이 더 우세한 경우, 제1 사용자 인터페이스 객체는 더 차가운 톤들을 갖는 외관을 갖는다. 다른 예에서, 제1 사용자 인터페이스 객체의 밝기는 3차원 환경에서의 밝기 및/또는 광의 양에 기초하여 또는 이들로부터(예컨대, 3차원 환경에서 시뮬레이션된 조명 및/또는 3차원 환경에 의해 표현되는 물리적 환경의 광에 기초하여) 선택된다. 3차원 환경이 밝은 경우, 제1 사용자 인터페이스 객체는 더 밝은 외관을 갖는다. 3차원 환경이 어두운 경우, 제1 사용자 인터페이스 객체는 더 어두운 외관을 갖는다. 주변 3차원 환경의 콘텍스트에 기초하여 사용자 인터페이스 객체의 외관을 선택하는 것은 부적절하게 나타나는 사용자 인터페이스 객체의 인지 부조화를 감소시키고 사용자가 보고 있는 환경을 사용자가 이해하는 것을 돕고, 이는 사용자에게 개선된 피드백을 제공한다.
도 10에서의 동작들이 설명된 특정 순서는 단지 일 예일 뿐이며 설명된 순서가 동작들이 수행될 수 있는 유일한 순서라는 것을 표시하는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 설명된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에서 설명되는 다른 방법들(예컨대, 방법들(8000, 9000, 11000, 12000, 13000, 14000))과 관련하여 본 명세서에서 설명되는 다른 프로세스들의 상세사항들이 도 10과 관련하여 위에서 설명된 방법(10000)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(10000)을 참조하여 전술된 사용자 인터페이스 요소들 또는 객체들(이들의 외관들 및 구역들을 포함함), 물리적 객체들 및/또는 물리적 객체들의 표현들, 가상 객체들, 사용자 시점들, 이동들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트, 광원들, 반사들 및/또는 그림자들은 선택적으로, 본 명세서에 설명된 다른 방법들(예컨대, 방법들(8000, 9000, 11000, 12000, 13000, 및 14000))을 참조하여 본 명세서에 설명된 사용자 인터페이스 요소들 또는 객체들(이들의 외관들 및 구역들을 포함함), 물리적 객체들 및/또는 물리적 객체들의 표현들, 가상 객체들, 사용자 시점들, 이동들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트, 광원들, 반사들 및/또는 그림자들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 세부사항들은 여기서 반복되지 않는다.
도 11은 사용자 인터페이스 요소의 에지들을 따라 시뮬레이션된 두께 및 곡률을 갖는 시뮬레이션된 재료의 외관을 갖는 사용자 인터페이스 요소를 디스플레이하는 방법(11000)의 흐름도이며, 여기서 사용자 인터페이스 요소의 에지들은 일부 실시예들에 따른 3차원 환경에서 광과 상호작용하는 시뮬레이션된 광학 속성들을 갖는다.
일부 실시예들에서, 본 방법(11000)은, 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120))(예컨대, 헤드업 디스플레이, 디스플레이, 터치스크린, 및/또는 프로젝터) 및 하나 이상의 입력 디바이스들, 이를테면 하나 이상의 카메라들(예를 들어, 사용자의 손에서 하향으로 또는 사용자의 머리로부터 상향으로 향하는, 예컨대 카메라(예컨대, 색상 센서들, 적외선 센서들, 및 다른 심도 감지 카메라들))을 포함하거나 그와 통신하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 방법(11000)은, 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터 시스템의 하나 이상의 프로세서들, 예를 들어, 컴퓨터 시스템(101)의 하나 이상의 프로세서들(202)(예를 들어, 도 1a의 제어 유닛(110))에 의해 실행되는 명령어들에 의해 통제된다. 방법(11000)에서의 일부 동작들이 선택적으로 조합되거나, 및/또는 일부 동작들의 순서가 선택적으로 변경된다.
일부 실시예들에서, 방법(11000)은 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101), 도 7a 내지 도 7g, 도 7h 내지 도 7j, 도 7k 내지 도 7o, 도 7p, 도 7q 내지 도 7w 및/또는 도 7x 내지 7z와 관련하여 설명된 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 컴퓨터 시스템은 디스플레이 생성 컴포넌트(예컨대, 디스플레이 생성 컴포넌트는 헤드-업 디스플레이, 머리 장착형 디스플레이(HMD), 디스플레이, 터치스크린 및/또는 프로젝터임) 및 선택적으로 하나 이상의 입력 디바이스들(예컨대, 카메라들, 제어기들, 터치 감응형 표면들, 조이스틱들, 버튼들, 글러브들, 시계들, 모션 센서들 및/또는 배향 센서들)과 통신한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트는 도 7a 내지 도 7z와 관련하여 설명된 디스플레이 생성 컴포넌트(7100)이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들 중 적어도 일부와 동일한 하우징으로 둘러싸인 하나 이상의 프로세서들 및 메모리를 갖는 통합 디바이스이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및/또는 하나 이상의 입력 디바이스들과 별개인 하나 이상의 프로세서들 및 메모리를 포함하는 컴퓨팅 컴포넌트(예컨대, 서버, 스마트 폰 또는 태블릿 디바이스와 같은 모바일 전자 디바이스, 워치, 손목밴드, 또는 이어폰들과 같은 웨어러블 디바이스, 데스크톱 컴퓨터, 또는 랩톱 컴퓨터)를 포함한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들은 동일한 하우징 내에 통합되고 그로 둘러싸인다. 방법(11000)의 많은 특징들은 일부 실시예들에 따라 도 7k 내지 도 7o와 관련하여 설명된다.
방법(11000)에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트를 통해, 3차원 환경의 뷰(예컨대, 현장에 있는 물리적 환경의 일부의 뷰(예컨대, 컴퓨터 시스템의 하나 이상의 카메라들의 시야에 있는 물리적 환경의 부분의 뷰에 대응함)에 대응하는 사용자 인터페이스)를 포함하는 사용자 인터페이스; 개개의 시뮬레이션된 재료에 대응하는 외관으로 디스플레이되는 3차원 환경 내의 시뮬레이션된된 3차원 객체(예컨대, 동시에 컴퓨터 시스템의 하나 이상의 카메라들의 시야에 있는 물리적 객체의 렌더링 또는 표현이 아닌 시뮬레이션된 객체)를 디스플레이한다(11002). 시뮬레이션된 3차원 객체의 제1 구역은 개개의 시뮬레이션된 재료의 일부의 외관이 시뮬레이션된 3차원 객체의 표면으로부터 제거된 채로 디스플레이된다(예컨대, 시뮬레이션된 3차원 객체의 표면으로부터 에칭되거나 절단된 부분과 같은, 시뮬레이션된 3차원 객체의 개개의 시뮬레이션된 재료 내의 오목한 부분 또는 함몰부). 예를 들어, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)는 리세스된 구역(7054-b) 및 리세스된 구역(7054-c)을 포함한다. 일부 실시예들에서, 제1 구역 외부의(예컨대, 그에 인접한) 시뮬레이션된 3차원 객체의 구역은 제1 시뮬레이션된 두께를 갖고, 시뮬레이션된 3차원 객체의 제1 부분은 (예컨대, 제1 부분의 재료가 제거되는 것에 따라) 제1 시뮬레이션된 두께 미만의 제2 시뮬레이션된 두께를 갖는다. 예를 들어, 리세스된 구역(7054-b) 및 리세스된 구역(7054-c)은 도 7l 내지 도 7n의 사용자 인터페이스 요소(7054)의 배경 구역(7054-a)보다 더 얇다. 일부 실시예들에서, 개개의 시뮬레이션된 재료의 일부가 시뮬레이션된 3차원 객체의 표면으로부터 제거된 외관을 제공하는 것은, 구역의 입체 깊이를 디스플레이하는 것을 통해 그리고/또는 구역의 하나 이상의 에지들로부터 굴절 및/또는 반사와 같은 정반사 효과들을 디스플레이하는 것(예컨대, 더 깊게 에칭된 구역의 에지로부터 더 많은 양의 광 반사를 디스플레이함)을 통해 달성된다. 일부 실시예들에서, 제거된 재료의 구역의 겉보기 깊이(예컨대, 겉보기 에칭 깊이)는 시뮬레이션된 3차원 객체의 크기와 비교하여 작다. 예를 들어, 구역의 깊이는 시뮬레이션된 3차원 객체의 두께의 10%-90%의 제거에 대응할 수 있는 한편, 구역의 깊이는 시뮬레이션된 3차원 객체의 두께, 길이 및/또는 폭의 작은 분율(예컨대, 1%-20% 미만)이다. 컴퓨터 시스템은 추가로, 디스플레이 생성 컴포넌트를 통해, 시뮬레이션된 3차원 객체의 제1 구역을 포함하는 제1 사용자 인터페이스 요소를 디스플레이한다(11002)(예컨대, 시뮬레이션된 3차원 객체의 제1 구역은 제1 사용자 인터페이스를 묘사하고; 시뮬레이션된 3차원 객체의 제1 구역은 제1 사용자 인터페이스 요소임). 예를 들어, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)의 리세스된 구역(7054-b), 리세스된 구역(7054-c) 및 상승된 구역(7054-d)은 상호작용형 사용자 인터페이스 요소들에 대응한다.
방법(11000)에서, 컴퓨터 시스템은 제1 사용자 인터페이스 요소로 지향된 제1 입력을 검출한다(11004). 제1 사용자 인터페이스 요소로 지향된 제1 입력을 검출한 것에 응답하여(11006), 컴퓨터 시스템은 사용자 인터페이스에서 제1 사용자 인터페이스 요소와 연관된 개개의 동작을 수행한다(11008). 예를 들어, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 컴퓨터 시스템은, 개개의 구역으로 지향된 사용자 입력에 응답하여, 리세스된 구역(7054-b), 리세스된 구역(7054-c) 또는 상승된 구역(7054-d)의 개개의 구역과 연관된 개개의 동작을 수행하도록 구성된다. 시뮬레이션된 재료의 외관을 갖는 시뮬레이션된 3차원 객체의 하나 이상의 구역들을, 시뮬레이션된 객체의 표면으로부터 제거된 시뮬레이션된 재료의 부분들로서 디스플레이하고, 이들 구역들을 사용자 인터페이스 요소들과 연관시키는 것은, 그러한 구역들을, 시뮬레이션된 객체의 표면을 따라 다른 구역들로부터 구별하고 사용자 인터페이스에서의 동작들을 수행하기 위해 그러한 구역들이 상호작용될 수 있다는 시각적 피드백을 사용자에게 제공하며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 시뮬레이션된 3차원 객체의 하나 이상의 에지들(예컨대, 시뮬레이션된 3차원 객체의 윤곽을 따르는 에지들, 및/또는 제1 사용자 인터페이스 요소와 같은 에칭된 구역들의 에지들)은 개개의 시뮬레이션된 재료의 속성들에 기초하여 하나 이상의 에지들로부터 반사되는 3차원 환경으로부터의(예컨대, 하나 이상의 광원들로부터의) 광의 시각적 효과로 디스플레이된다. 예를 들어, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 정반사는 사용자 인터페이스 요소(7054)의 하나 이상의 에지들을 따라 디스플레이된다. 일부 실시예들에서, 반사된 광의 시각적 효과는 하나 이상의(예컨대, 물리적 및/또는 가상) 광원들로부터의 광에 기초한다. 일부 실시예들에서, 시각적 효과는 다수의(예컨대, 물리적 및/또는 가상) 광원들로부터의 광에 기초한다. 시뮬레이션된 객체의 에지들의 외측 및 내측 표면들 둘 모두로부터를 포함하여, 시뮬레이션된 3차원 객체의 하나 이상의 에지들을 정반사를 이용하여 디스플레이하는 것은, 투명한 또는 부분적으로 투명한 재료(예컨대, 때때로 블러 재료로 지칭됨)로 이루어진 물리적 객체의 외관을 시뮬레이션하고, 이는, 3차원 환경에서 광원들의 위치들에 관한 시각적 피드백을 사용자에게 제공하고, 시뮬레이션된 객체를, 사용자의 주변 물리적 환경 내의 물리적 객체들에 대응하는 객체들의 다른 디스플레이된 표현들로부터 구별하고, 이는 개선된 피드백을 사용자에게 제공하고 사용자의 콘텍스트 인식을 개선하며, 이는 사용자가 물리적 공간 내의 물리적 객체들과의 충돌들을 회피하는 것을 도움으로써 사용자 안전을 개선하고, 컴퓨터 시스템을 사용할 때 사용자가 멀미를 겪을 가능성을 감소시킨다.
일부 실시예들에서, 3차원 환경으로부터의 광은 3차원 환경의 하나 이상의 시뮬레이션된 광원들로부터의 시뮬레이션된 광을 포함한다. 예를 들어, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 환경(7104) 내의 시뮬레이션된 광원들에 기초한 정반사는 사용자 인터페이스 요소(7054)의 하나 이상의 에지들을 따라 디스플레이된다. 3차원 환경에서 하나 이상의 시뮬레이션된 광원들에 기초하여 정반사를 갖는 시뮬레이션된 3차원 객체의 하나 이상의 에지들을 디스플레이하는 것은, 환경의 조명 효과들이 컴퓨터 시스템에 의해 생성 및 조정될 수 있게 하며, 이는 사용자의 뷰잉 경험의 콘텍스트 및 분위기에 대한 제어를 제공하고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 3차원 환경은 (예컨대, 컴퓨터 시스템의 하나 이상의 카메라들이 위치되는) 물리적 환경에 대응하고, 3차원 환경으로부터의 광은 (예컨대, 하나 이상의 물리적 광원들, 이를테면 태양, 램프 또는 조명 고정구, 플래시라이트, 헤드라이트 또는 헤드램프, 화염 또는 불, 또는 다른 물리적 광원으로부터) 물리적 환경에서 검출된 광을 포함한다. 예를 들어, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 물리적 환경(7102)(도 7a) 내의 물리적 광 및/또는 물리적 광원들에 기초한 정반사는 사용자 인터페이스 요소(7054)의 하나 이상의 에지들을 따라 디스플레이된다. 일부 실시예들에서, 물리적 환경의 적어도 일부의 표현이 3차원 환경에 디스플레이된다. 3차원 환경에 대응하는 물리적 환경에서 하나 이상의 물리적 광원들에 기초한 정반사를 이용하여 시뮬레이션된 3차원 객체의 하나 이상의 에지들을 디스플레이하는 것은 사용자의 주변 물리적 환경에서의 조명에 대한 시각적 피드백을 사용자에게 제공하고, 이는 개선된 피드백을 사용자에게 제공하고 사용자의 콘텍스트 인식을 개선하며, 이는 사용자가 물리적 공간 내의 물리적 객체들과의 충돌들을 회피하는 것을 도움으로써 사용자 안전을 개선하고, 컴퓨터 시스템을 사용할 때 사용자가 멀미를 겪을 가능성을 감소시킨다.
일부 실시예들에서, 시뮬레이션된 3차원 객체는 3차원 환경의 제1 포지션에 디스플레이되고, 시뮬레이션된 3차원 객체의 하나 이상의 에지들은 시뮬레이션된 3차원 객체가 제1 포지션에 있는 것에 따라 하나 이상의 에지들로부터 반사되는 광의 시각적 효과에 기초한 외관을 갖는다. 일부 실시예들에서, 컴퓨터 시스템은 3차원 환경에서 시뮬레이션된 3차원 객체를 이동시키기 위한 입력을 검출한다. 일부 실시예들에서, 3차원 환경에서 시뮬레이션된 3차원 객체를 이동시키기 위한 입력을 검출하는 것에 응답하여, 컴퓨터 시스템은, 3차원 환경에서 제1 포지션과 상이한 제2 포지션에 시뮬레이션된 3차원 객체를 디스플레이하고; 시뮬레이션된 3차원 객체가 제2 포지션에 있는 것에 따라 하나 이상의 에지들로부터 반사되는 광의 시각적 효과에 기초하여 시뮬레이션된 3차원 객체의 하나 이상의 에지들의 외관을 변경한다.
예를 들어, 사용자의 시점으로부터, (예컨대, 시뮬레이션된 또는 물리적) 광원 아래에 포지셔닝된 시뮬레이션된 투명한 또는 부분적으로 투명한 객체 상에서, 정반사는 시뮬레이션된 객체의 최상부 에지를 따라(예컨대, 시뮬레이션된 객체의 최상부 에지로부터 외향으로 반사된 광을 표현함) 그리고 시뮬레이션된 객체의 최하부 에지를 따라(예컨대, 시뮬레이션된 객체를 통해 이동하여 시뮬레이션된 객체의 최하부 에지로부터 내향으로 반사되는 광을 표현함) 더 적은 정도로 디스플레이된다. 시뮬레이션된 객체가 사용자의 시점으로부터 광원의 우측에 있는 포지션으로 이동되는 경우, 정반사는 대신에, 시뮬레이션된 객체의 좌측 에지를 따라(예컨대, 시뮬레이션된 객체의 좌측 에지로부터 외향으로 반사된 광을 표현함) 그리고 시뮬레이션된 객체의 우측 에지를 따라(예컨대, 시뮬레이션된 객체를 통해 이동하여 시뮬레이션된 객체의 우측 에지로부터 내향으로 반사되는 광을 표현함) 더 적은 정도로 디스플레이된다. 일부 실시예들에서, 시뮬레이션된 객체가 광원 아래의 포지션으로부터 광원의 우측의 포지션으로 점진적으로 이동됨에 따라, 광이 시뮬레이션된 객체의 에지들로부터 외부로 그리고 내부로 반사될 위치들에 따라, 시뮬레이션된 객체의 최상부 에지 상의 정반사는 시뮬레이션된 객체의 최상부 에지를 따라 좌측을 향해 그리고 이어서 시뮬레이션된 객체의 좌측 에지를 따라 아래로 이동되고, 시뮬레이션된 객체의 최하부 에지 상의 정반사는 시뮬레이션된 객체의 최하부 에지를 따라 우측을 향해 그리고 이어서 시뮬레이션된 객체의 우측 에지를 따라 위로 이동된다. 다른 예에서, 도 7l 및 도 7m을 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)로부터의 정반사들의 외관들 및 위치들은, 사용자 인터페이스 요소(7054)가 도 7l의 포지션으로부터 도 7m에 도시된 포지션으로 이동함에 따라 변화한다.
3차원 환경에서 시뮬레이션된 객체의 이동에 응답하여 시뮬레이션된 3차원 객체의 하나 이상의 에지들로부터의 정반사에서의 변화를 디스플레이하는 것은, 물리적 객체가 광과 상호작용하는 방법과 일치하는 외관을 시뮬레이션된 객체에 제공하고, 3차원 환경에서 광원들의 위치들 및 시뮬레이션된 객체, 광원들 및 사용자의 시점 사이의 공간 관계에 대한 시각적 피드백을 사용자에게 제공하고, 이는 사용자의 콘텍스트 인식을 개선하고 시뮬레이션된 객체와 디스플레이된 환경 사이의 인지 부조화를 감소시키고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 3차원 환경의 뷰는 3차원 환경에 대한 사용자의 제1 시점으로부터의 뷰이고, 시뮬레이션된 3차원 객체의 하나 이상의 에지들은 사용자의 제1 시점에 따라 하나 이상의 에지들로부터 반사되는 광의 시각적 효과에 기초한 외관을 갖는다(예컨대, 하나 이상의 에지들로부터 반사되는 광의 외관은, 제1 시점의 관점으로부터 3차원 환경에서 시뮬레이션된 3차원 객체를 보는 사용자에게 나타나는 것과 같다). 일부 실시예들에서, 컴퓨터 시스템은, 사용자의 제2 시점으로부터의 3차원 환경의 뷰로 사용자 인터페이스를 업데이트하는 것(예컨대, 제1 시점으로부터 제2 시점으로의 연속적인 이동을 시뮬레이션하기 위해 3차원 환경의 뷰를 점진적으로 전환함); 및 사용자의 제2 시점에 따라 하나 이상의 에지들로부터 반사되는 광의 시각적 효과에 기초하여 시뮬레이션된 3차원 객체의 하나 이상의 에지들의 외관을 변경하는 것(예컨대, 하나 이상의 에지들로부터 반사되는 광의 외관은, 제2 시점의 관점으로부터 3차원 환경에서 시뮬레이션된 3차원 객체를 보는 사용자에게 나타나는 것과 같다)을 포함하여, (예컨대, 이를테면 컴퓨터 시스템 또는 컴퓨터 시스템의 하나 이상의 카메라들의 이동을 통해 사용자의 시점의 이동을 검출하는 것에 응답하여, 또는 3차원 환경의 뷰를 줌(zoom) 또는 팬(pan)하기 위한 입력과 같은 사용자의 시점에서의 변화를 요청하는 입력을 검출하는 것에 응답하여) 3차원 환경에 대한 사용자의 제2 시점으로 전환한다.
예를 들어, 도 7l 및 도 7m을 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)로부터의 정반사들의 외관들 및 위치들은 사용자 인터페이스 요소(7054)에 대한 사용자의 시점이 변함에 따라 변할 것이다. 시뮬레이션된 객체 및/또는 3차원 환경에 대한 사용자의 시점에서의 변화에 응답하여 시뮬레이션된 3차원 객체의 하나 이상의 에지들로부터의 정반사에서의 변화를 디스플레이하는 것은, 물리적 객체가 물리적 객체의 상이한 뷰잉 관점들로부터의 광과 상호작용하는 방법과 일치하는 외관을 시뮬레이션된 객체에 제공하고, 3차원 환경에서 광원들의 위치들 및 사용자의 시점, 시뮬레이션된 객체 및 광원들 사이의 공간 관계에 대한 시각적 피드백을 사용자에게 제공하고, 이는 사용자의 콘텍스트 인식을 개선하고 시뮬레이션된 객체와 디스플레이된 환경 사이의 인지 부조화를 감소시키고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 3차원 환경의 광은 변화한다(예컨대, 3차원 환경에서 표현되는 물리적 환경의 조명의 변화들 및/또는 3차원 환경의 시뮬레이션된 조명의 변화들로 인해 색상, 밝기, 위치 및/또는 방향에서 변화함). 일부 실시예들에서, 3차원 환경에서의 광의 변화에 응답하여, 컴퓨터 시스템은, 광의 변화들에 따라 3차원 환경의 뷰의 변화를 디스플레이하고; 개개의 시뮬레이션된 재료의 속성들에 기초하여 하나 이상의 에지들로부터 반사되는 변경된 광의 시각적 효과를 디스플레이하기 위해 시뮬레이션된 3차원 객체의 하나 이상의 에지들의 외관을 변경한다. 예를 들어, 도 7l 및 도 7m을 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)로부터의 정반사들의 외관들 및 위치들은 광원(7056) 및/또는 광원(7058)의 변화들에 따라 변화한다. 3차원 환경에서의 광의 변화들에 응답하여 시뮬레이션된 3차원 객체의 하나 이상의 에지들로부터의 정반사에서의 변화를 디스플레이하는 것은 - 여기서 광은 사용자의 주변 물리적 환경에서의 시뮬레이션된 조명 및/또는 물리적 광에 기초함 -, 물리적 객체가 광과 상호작용하는 방법과 일치하는 외관을 시뮬레이션된 객체에 제공하고, 3차원 환경에서 광원들의 위치들 및 광원들, 시뮬레이션된 객체 및 사용자의 시점 사이의 공간 관계에 대한 시각적 피드백을 사용자에게 제공하고, 이는 사용자의 콘텍스트 인식을 개선하고 시뮬레이션된 객체와 디스플레이된 환경 사이의 인지 부조화를 감소시키고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 시뮬레이션된 3차원 객체의 제2 구역은 개개의 시뮬레이션된 재료의 일부의 외관이 시뮬레이션된 3차원 객체의 표면으로부터 제거된 채로 디스플레이되고(예컨대, 제2 에칭된 구역); 제2 사용자 인터페이스 요소는 시뮬레이션된 3차원 객체의 제2 구역을 포함한다(예컨대, 시뮬레이션된 3차원 객체의 제2 구역은 제2 사용자 인터페이스를 묘사하고; 시뮬레이션된 3차원 객체의 제2 구역은 제2 사용자 인터페이스 요소임). 일부 실시예들에서, 컴퓨터 시스템은 제2 사용자 인터페이스 요소로 지향된 입력을 검출하고; 제2 사용자 인터페이스 요소로 지향된 입력을 검출하는 것에 응답하여, 사용자 인터페이스에서, 제2 사용자 인터페이스 요소와 연관된 개개의 동작을 수행한다. 일부 실시예들에서, 시뮬레이션된 3차원 객체는 개개의 사용자 인터페이스 요소에 각각 대응하는 복수의 에칭된 구역들을 포함하고, 사용자는 사용자 인터페이스에서 개개의 연관된 동작을 수행하기 위해 입력을 개개의 사용자 인터페이스 요소에 지향시킬 수 있다. 예를 들어, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)는 사용자 인터페이스에서 개개의 동작들을 수행하도록 구성된 다수의 리세스된 구역들(7054-b 및 7054-c)을 포함한다. 시뮬레이션된 3차원 객체의 다수의 구역들을 객체의 표면으로부터 제거된 재료의 부분들로서 디스플레이하고 이들 구역들을 사용자 인터페이스 요소들과 연관시키는 것은, 사용자가 사용자 인터페이스에서 동작들을 수행하기 위해 용이하게 상호작용할 수 있는 추가적인 구역들을 제공하고, 그러한 구역들을 시뮬레이션된 객체의 표면을 따른 다른 구역들로부터 구별하여, 그러한 구역들이 상호작용적이라는 시각적 피드백을 사용자에게 제공하며, 이는 연관된 동작들에 액세스하는 데 필요한 입력들의 수를 감소시키는 추가적인 제어 옵션들을 제공하고 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 시스템은 텍스트의 입력에 대응하는 입력을 수신하고; 입력된 텍스트를 제1 사용자 인터페이스 요소에 디스플레이한다. 일부 실시예들에서, 제1 사용자 인터페이스 요소는 텍스트 입력 필드이거나 또는 이를 포함한다. 일부 실시예들에서, (예컨대, 제1 사용자 인터페이스 요소가 초점을 갖는 동안) 입력된 텍스트는 제1 사용자 인터페이스 요소의 텍스트 입력 필드에 디스플레이된다. 예를 들어, 도 7l을 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)의 리세스된 구역들(7054-b 및 7054-c)은 선택적으로 텍스트 입력 박스들과 같은 콘텐츠 입력 구역들이다. 텍스트 입력을 수신하도록 구성된 텍스트 입력 구역으로서, 시뮬레이션된 객체의 표면으로부터 재료의 일부가 제거된 것으로서 디스플레이되는 시뮬레이션된 3차원 객체의 구역을 확립하는 것은, 그 구역을 시뮬레이션된 객체의 표면을 따라 다른 구역들로부터 구별하여, 그 구역이 상호작용적이라는 시각적 피드백을 사용자에게 제공하고, 일부 실시예들에서, 그 구역이 활성화가능한 제어 구역 대신에 텍스트 입력 구역이라는 시각적 피드백을 사용자에게 제공하며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 제1 사용자 인터페이스 요소의 활성화에 대응하는 제1 입력을 검출하기 전에, 컴퓨터 시스템은 사용자가 제1 사용자 인터페이스 요소에 초점(예컨대, 주의)을 지향시키는 것에 대응하는 제2 입력을 검출한다. 일부 상황들에서, 제2 입력 및 제1 입력은 동일한 입력의 연속적인 부분들이다. 일부 실시예들에서, 사용자가 제1 사용자 인터페이스 요소에 초점을 지향시키는 것에 대응하는 제2 입력을 검출하는 것에 응답하여, 제1 사용자 인터페이스 요소가 제1 유형의 사용자 인터페이스 요소(예컨대, 버튼 또는 활성화가능한 제어부)라는 결정에 따라, 컴퓨터 시스템은, 시뮬레이션된 3차원 객체의 표면으로부터 상승된 개개의 시뮬레이션된 재료의 부분(예컨대, 개개의 시뮬레이션된 재료의 볼록한 부분, 시뮬레이션된 3차원 객체의 표면으로부터 연장되거나 돌출된 부분, 또는 시뮬레이션된 3차원 객체의 표면으로부터 일정 분리 정도로 포지셔닝된 개개의 시뮬레이션된 재료의 부분)의 외관을 갖는 시뮬레이션된 3차원 객체의 제1 구역을 디스플레이하고; 제1 사용자 인터페이스 요소가 제1 유형과 상이한 제2 유형의 사용자 인터페이스 요소(예컨대, 텍스트 입력 필드)라는 결정에 따라, 컴퓨터 시스템은 시뮬레이션된 3차원 객체의 표면으로부터 제거된 개개의 시뮬레이션된 재료의 일부의 외관으로 시뮬레이션된 3차원 객체의 제1 구역의 디스플레이를 유지한다.
예를 들어, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 일부 유형들의 사용자 인터페이스 요소들은, 사용자 인터페이스 요소에 초점(예컨대, 사용자의 주의)이 지향되는 동안 상승된 구역으로서 디스플레이된다(예컨대, 일부 리세스된 구역들은 상승된 구역들로 변경되고 그리고/또는 일부 상승된 구역들은 훨씬 더 상승됨). 시뮬레이션된 3차원 객체의 구역을, 시뮬레이션된 객체의 표면으로부터 제거된 재료의 일부로서 디스플레이하는 것, 및 구역이 제1 유형의 사용자 인터페이스 요소와 연관되는 경우 그 구역의 외관을 시뮬레이션된 객체의 표면으로부터 상승된 재료의 부분의 외관으로 변경하는 한편, 구역이 제2 유형의 사용자 인터페이스 요소와 연관되는 경우 구역의 외관을 제거된 재료의 외관으로 유지하는 것은, 그 구역과 연관된 사용자 인터페이스 요소의 유형 및 결과적으로 그 구역의 사용자 인터페이스 요소와의 추가적 상호작용에 응답하여 수행되도록 구성되는 사용자 인터페이스 동작의 유형에 대한 시각적 피드백을 사용자에게 제공하며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 시뮬레이션된 3차원 객체의 제3 구역은 개개의 시뮬레이션된 재료의 일부의 외관이 시뮬레이션된 3차원 객체의 표면으로부터 상승된 채로 디스플레이되고 (예컨대, 엠보싱된 또는 압출된 구역으로서, 시뮬레이션된 3차원 객체의 표면 상에 계층화되는 시뮬레이션된 재료의 부분으로서 나타나는 시뮬레이션된 3차원 객체의 개개의 시뮬레이션된 재료의 볼록한 부분 또는 돌출부, 또는 시뮬레이션된 3차원 객체의 표면으로부터 일정 분리 정도로, 또는 다른 유사한 시각적 효과로 포지셔닝된 개개의 시뮬레이션된 재료의 부분); 제3 사용자 인터페이스 요소는 시뮬레이션된 3차원 객체의 제3 구역을 포함한다(예컨대, 시뮬레이션된 3차원 객체의 제3 구역은 제3 사용자 인터페이스 요소를 묘사하고; 시뮬레이션된 3차원 객체의 제3 구역은 제3 사용자 인터페이스 요소임). 일부 실시예들에서, 컴퓨터 시스템은 제3 사용자 인터페이스 요소로 지향된 입력을 검출하고; 제3 사용자 인터페이스 요소로 지향된 입력을 검출하는 것에 응답하여, 사용자 인터페이스에서, 제3 사용자 인터페이스 요소와 연관된 개개의 동작을 수행한다. 예를 들어, 도 7l 내지 도 7o를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)의 상승된 구역(7054-d)은 선택적으로, 사용자 인터페이스 요소(7054)의 최상부 상에 계층화되거나 또는 그 위에 배치된다.
일부 실시예들에서, 시뮬레이션된 3차원 객체의 제3 구역을 포함하는 제3 사용자 인터페이스 요소는, 제3 사용자 인터페이스로 지향된 입력의 제1 부분에 응답하여, 시뮬레이션된 3차원 객체의 표면으로부터 멀어지게 상승되고, 제3 사용자 인터페이스 요소와 연관된 개개의 동작은 방법(12000)을 참조하여 본 명세서에서 더 상세히 설명된 바와 같이, 제3 사용자 인터페이스 요소로 지향된 입력의 제2의 후속 부분에 응답하여 수행된다(예컨대, 사용자가 제3 사용자 인터페이스 요소로 주의를 돌리는 것을 수반하는 입력의 제1 부분, 및 선택적으로 사용자의 주의가 제3 사용자 인터페이스 요소로 지향되어 유지되는 동안 사용자가 제3 사용자 인터페이스 요소로 지향되는 에어 제스처와 같은 선택 제스처를 수행하는 것을 수반하는 입력의 제2 부분). 일부 실시예들에서, 제3 사용자 인터페이스 요소를 시뮬레이션된 3차원 객체의 표면으로부터 위로 멀리 상승된 것으로 디스플레이하는 것은, 제3 사용자 인터페이스 요소가 제1 유형의 사용자 인터페이스 요소(예컨대, 버튼 또는 활성화가능한 제어부)라는 결정에 따라 수행된다. 일부 실시예들에서, 제3 사용자 인터페이스 요소는 방법(12000)을 참조하여 본 명세서에서 더 상세히 설명된 바와 같이, 제1 유형의 입력(예컨대, 사용자가 제3 사용자 인터페이스 요소를 응시하고 있는 것 및/또는 사용자의 손이 미리 정의된 준비 상태에 있는 것을 검출함)에 응답하여 제1 양 그리고 상이한 제2 유형의 입력(예컨대, 사용자의 손이 미리 정의된 준비 상태에 있는 것 및/또는 에어 제스처와 같은 미리 정의된 제스처가 수행되고 있는 것을 검출하는 것)에 응답하여 상이한 제2 양만큼 상승된다. 일부 실시예들에서, 시뮬레이션된 3차원 객체는 개개의 사용자 인터페이스 요소에 각각 선택적으로 대응하는 임의의 수의 에칭된 구역들 및/또는 개개의 사용자 인터페이스 요소에 각각 선택적으로 대응하는 임의의 수의 상승된 구역들을 포함하고, 사용자는 사용자 인터페이스에서 개개의 연관된 동작을 수행하기 위해 입력을 개개의 사용자 인터페이스 요소에 지향시킬 수 있다.
시뮬레이션된 3차원 객체의 구역을, 시뮬레이션된 객체의 표면으로부터 상승된 재료의 일부로서 디스플레이하고, 그 구역을 사용자 인터페이스 요소와 연관시키는 것은 그 구역을 시뮬레이션된 객체의 표면을 따라 다른 구역들로부터 구별하고, 사용자 인터페이스에서 동작을 수행하기 위해 상승된 구역이 상호작용될 수 있다는 시각적 표시를 사용자에게 제공할 뿐만 아니라, 사용자 인터페이스 요소의 표면으로부터 재료의 제거된 부분들의 외관으로 디스플레이된 리세스된 구역들과 연관된 사용자 인터페이스 동작들의 유형(들)으로부터 상승된 구역과 연관된 사용자 인터페이스 동작의 유형을 구별하며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, (예컨대, 사용자 인터페이스 요소(7050)에 임베딩된 것으로 디스플레이된 콘텐츠 및/또는 도 7k의 사용자 인터페이스 요소(7052)에 임베딩된 것으로 디스플레이된 콘텐츠를 참조하여 본 명세서에 설명된 바와 같이) 시뮬레이션된 3차원 객체의 콘텐츠(예컨대, 애플리케이션 콘텐츠)는 시뮬레이션된 두께를 갖는 시뮬레이션된 3차원 객체의 제2 부분에서 시뮬레이션된 3차원 객체의 전면 뒤에 디스플레이되고, 시뮬레이션된 3차원 객체의 전면은 사용자의 시점을 향하는 시뮬레이션된 3차원 객체의 외부 표면의 부분에 대응한다. 일부 실시예들에서, 시뮬레이션된 3차원 객체의 콘텐츠는 시뮬레이션된 3차원 객체의 개개의 시뮬레이션된 재료에 임베딩된 것으로 디스플레이된다. 일부 실시예들에서, 시뮬레이션된 3차원 객체의 콘텐츠는 시뮬레이션된 3차원 객체의 후면을 따라 디스플레이된다(예컨대, 사용자의 시점에 대향하고 그로부터 멀리 향함). 시뮬레이션된 3차원 객체 내에 (예컨대, 이 객체의 2개의 표면들 사이에) 임베딩된 것으로 콘텐츠를 디스플레이하는 것은 투명한 또는 부분적으로 투명한 재료로 이루어진 객체의 외관을 시뮬레이션하고, 시뮬레이션된 객체의 표면에 대해 리세스된 또는 상승된 구역들로서 디스플레이된 활성화가능한 제어부들 또는 콘텐츠 입력 구역들과 같은 다른 사용자 인터페이스 요소들로부터 뿐만 아니라 상호작용적이 아니고 사용자를 둘러싼 물리적 환경 내의 물리적 객체들의 표현들인 다른 사용자 인터페이스 요소들로부터 콘텐츠를 구별하며, 이는 개선된 피드백을 사용자에게 제공하고 사용자의 콘텍스트 인식을 개선하며, 이는 사용자가 물리적 공간 내의 물리적 객체들과의 충돌들을 회피하는 것을 도움으로써 사용자 안전을 개선하고, 컴퓨터 시스템을 사용할 때 사용자가 멀미를 겪을 가능성을 감소시킨다.
일부 실시예들에서, 시뮬레이션된 3차원 객체는 사용자의 시점에 대한 제1 포지션에서 제1 세트의 특성들로 제1 시간에 디스플레이된다. 일부 실시예들에서, 제1 세트의 특성들은 깊이, 두께, 밝기, 색상 및/또는 색상 온도와 같은 포지션 이외의 특성들을 포함한다. 일부 실시예들에서, 제1 시간 이후, 시뮬레이션된 3차원 객체는 사용자의 시점에 대한 제2 포지션으로 이동된다. 일부 실시예들에서, 컴퓨터 시스템은 사용자의 시점에 대한 시뮬레이션된 3차원 객체의 포지션의 변화에 응답하여, 사용자의 변경된 시점에 따라 제1 세트의 특성들과 상이한 제2 세트의 특성들로 제2 포지션에서 시뮬레이션된 3차원 객체를 디스플레이한다.
일부 실시예들에서, 사용자의 시점에 대한 상기 시뮬레이션된 3차원 객체의 포지션의 변화에 응답하여, 시뮬레이션된 3차원 객체의 두께가 변경된다. 따라서, 일부 실시예들에서, 시뮬레이션된 3차원 객체의 하나 이상의 에지들의 외관은, 시뮬레이션된 3차원 객체의 변경된 두께에 기초하여 하나 이상의 에지들로부터 반사되는 광의 시각적 효과(예컨대, 시뮬레이션된 3차원 객체의 두께가 증가되는 경우 더 두꺼운 에지로부터 또는 시뮬레이션된 3차원 객체의 두께가 감소되는 경우 더 얇은 에지로부터 반사되는 광에 대응함)를 나타내도록 변경된다. 예를 들어, 도 7l 및 도 7m을 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7054)의 두께는 도 7l에서 사용자의 시점으로부터 더 먼 자신의 포지션으로부터 도 7m에서 사용자의 시점에 더 가까운 자신의 포지션으로의 사용자 인터페이스 요소(7054)의 이동과 연관된 두께의 비례적 증가를 넘어서 도 7m에서 증가된다.
물리적 세계에서, 객체의 치수들이 동일하게 유지된 채로, 물리적 객체와 사용자의 시점 사이의 공간 관계가 변화함에 따라(예컨대, 객체 및 사용자의 시점이 서로에 대해 이동됨), 객체는 사용자에게 더 가까울 때 비례적으로 더 크게 나타나고 사용자로부터 더 멀어질 때 비례적으로 더 작게 나타난다. 컴퓨터 생성 3차원 환경에서, 컴퓨터 생성(예컨대, 시뮬레이션된) 객체는, 공간 이동과 연관된 비례적 변화를 넘어서 하나 이상의 치수들에서 변경되는 것으로 디스플레이되는 객체와 같이, 시뮬레이션된 객체와 사용자의 시점 사이의 공간 관계와 독립적인 치수들로 디스플레이된다. 공간적 이동과 연관된 비례적 변화에 대해 객체의 치수들에서 디스플레이된 시각적 변화를 분리하고 과장하는 것은, 사용자 인터페이스 객체의 외관을 컴퓨터 생성 시뮬레이션된 객체로서 강화하고, 시뮬레이션된 객체를 사용자의 주변 물리적 환경 내의 물리적 객체들에 대응하는 객체들의 다른 디스플레이된 표현들로부터 구별하고, 이는 개선된 피드백을 사용자에게 제공하고 사용자의 콘텍스트 인식을 개선하며, 이는 사용자가 물리적 공간 내의 물리적 객체들과의 충돌들을 회피하는 것을 도움으로써 사용자 안전을 개선하고, 컴퓨터 시스템을 사용할 때 사용자가 멀미를 겪을 가능성을 감소시킨다.
도 11에서의 동작들이 기술된 특정 순서는 단지 일례이며 기술된 순서가 동작들이 수행될 수 있는 유일한 순서임을 나타내는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 설명된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에서 설명되는 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 12000, 13000, 14000))과 관련하여 본 명세서에서 설명되는 다른 프로세스들의 상세사항들이 도 11과 관련하여 위에서 설명된 방법(11000)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(11000)을 참조하여 전술된 사용자 인터페이스 요소들 또는 객체들(이들의 외관들 및 구역들을 포함함), 물리적 객체들 및/또는 물리적 객체들의 표현들, 가상 객체들, 사용자 시점들, 이동들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트, 광원들, 반사들 및/또는 그림자들은 선택적으로, 본 명세서에 설명된 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 12000, 13000, 및 14000))을 참조하여 본 명세서에 설명된 사용자 인터페이스 요소들 또는 객체들(이들의 외관들 및 구역들을 포함함), 물리적 객체들 및/또는 물리적 객체들의 표현들, 가상 객체들, 사용자 시점들, 이동들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트, 광원들, 반사들 및/또는 그림자들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 세부사항들은 여기서 반복되지 않는다.
도 12는 일부 실시예들에 따른, 사용자가 사용자 인터페이스 요소로 주의를 돌리는 것을 포함하여, 상이한 사용자 상호작용들에 응답하여 사용자 인터페이스 요소의 층들을 상이한 정도로 분리하는 방법(12000)의 흐름도이다.
일부 실시예들에서, 본 방법(12000)은, 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120))(예컨대, 헤드업 디스플레이, 디스플레이, 터치스크린, 및/또는 프로젝터) 및 하나 이상의 입력 디바이스들, 이를테면 하나 이상의 카메라들(예를 들어, 사용자의 손에서 하향으로 또는 사용자의 머리로부터 상향으로 향하는, 예컨대 카메라(예컨대, 색상 센서들, 적외선 센서들, 및 다른 심도 감지 카메라들))을 포함하거나 그와 통신하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 방법(12000)은, 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터 시스템의 하나 이상의 프로세서들, 예를 들어, 컴퓨터 시스템(101)의 하나 이상의 프로세서들(202)(예를 들어, 도 1a의 제어 유닛(110))에 의해 실행되는 명령어들에 의해 통제된다. 방법(12000)에서의 일부 동작들이 선택적으로 조합되거나, 및/또는 일부 동작들의 순서가 선택적으로 변경된다.
일부 실시예들에서, 방법(12000)은 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101), 도 7a 내지 도 7g, 도 7h 내지 도 7j, 도 7k 내지 도 7o, 도 7p, 도 7q 내지 도 7w 및/또는 도 7x 내지 7z와 관련하여 설명된 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 컴퓨터 시스템은 디스플레이 생성 컴포넌트(예컨대, 디스플레이 생성 컴포넌트는 헤드-업 디스플레이, 머리 장착형 디스플레이(HMD), 디스플레이, 터치스크린 및/또는 프로젝터임) 및 선택적으로 하나 이상의 입력 디바이스들(예컨대, 카메라들, 제어기들, 터치 감응형 표면들, 조이스틱들, 버튼들, 글러브들, 시계들, 모션 센서들 및/또는 배향 센서들)과 통신한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트는 도 7a 내지 도 7z와 관련하여 설명된 디스플레이 생성 컴포넌트(7100)이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들 중 적어도 일부와 동일한 하우징으로 둘러싸인 하나 이상의 프로세서들 및 메모리를 갖는 통합 디바이스이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및/또는 하나 이상의 입력 디바이스들과 별개인 하나 이상의 프로세서들 및 메모리를 포함하는 컴퓨팅 컴포넌트(예컨대, 서버, 스마트 폰 또는 태블릿 디바이스와 같은 모바일 전자 디바이스, 워치, 손목밴드, 또는 이어폰들과 같은 웨어러블 디바이스, 데스크톱 컴퓨터, 또는 랩톱 컴퓨터)를 포함한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들은 동일한 하우징 내에 통합되고 그로 둘러싸인다. 방법(12000)의 많은 특징들은 일부 실시예들에 따라 도 7p와 관련하여 설명된다.
방법(12000)에서, 컴퓨터 시스템은 디스플레이 생성 컴포넌트를 통해, 3차원 환경의 뷰를 포함하는 사용자 인터페이스 및 3차원 환경 내의 개개의 표면(예컨대, 도 7l의 사용자 인터페이스 요소(7054)와 같은 사용자 인터페이스 플래터의 전면, 또는 도 7p에 도시된 바와 같이 아이콘들의 클러스터(7070)가 디스플레이되는 공통 평면)과 연관된 사용자 인터페이스 요소를 디스플레이한다(12002). 사용자 인터페이스 요소의 제1 세트의 하나 이상의 부분들은 사용자 인터페이스 요소의 제1 층과 연관되고(예컨대, 그에 포함되고)(12004); 사용자 인터페이스 요소의 제2 세트의 하나 이상의 부분들은 사용자 인터페이스 요소의 제2 층과 연관되고; 사용자 인터페이스 요소는 제1 층과 제2 층 사이의 제1 분리 정도를 표시하는 외관으로 디스플레이된다. 일부 실시예들에서, 제1 분리 정도는 사용자가 사용자 인터페이스 요소에 초점을 지향시키지 않는 동안 0이다.
방법(12000)에서, 컴퓨터 시스템은 사용자가 사용자 인터페이스 요소에 주의를 기울이는 것(예컨대, 사용자가 사용자 인터페이스 요소에 주의를 기울이는 것에 대응하는 입력을 검출하는 것, 이를테면 사용자의 시선이 사용자 인터페이스 요소를 향해 지향되는 것을 검출하고 그리고/또는 커서가 사용자 인터페이스 요소 위로 이동됨)에 대응하는 제1 입력을 검출한다(12006). 사용자가 사용자 인터페이스 요소로 주의를 기울이는 것에 대응하는 제1 입력을 검출하는 것에 응답하여(12008), 컴퓨터 시스템은 제1 층과 제2 층 사이의 제2 분리 정도를 표시하기 위해 사용자 인터페이스 요소의 외관을 변경한다(12010). 제2 정도는 제1 정도와 상이하다(예컨대, 그보다 크다). 일부 실시예들에서, 제1 입력을 검출하는 것에 응답하여, 사용자 인터페이스 요소의 외관은 3차원 환경에서 사용자 인터페이스 요소의 하나 이상의 층들과 개개의 표면 사이의 상이한 분리 정도를 표시하도록 변경된다. 디스플레이된 3차원 환경에서 표면과 연관되고 다수의 계층화된 요소들을 포함하는 사용자 인터페이스 요소를 디스플레이하는 것, 및 사용자가 사용자 인터페이스 요소로 주의를 돌리는 것에 응답하여 다수의 계층화된 요소들 사이의 분리 정도를 변경하는 것은, 추가적 사용자 입력에 응답하여 사용자 인터페이스 내의 객체가 초점을 갖고 선택 또는 활성화될 수 있다는 것에 대한 시각적 피드백을 사용자에게 제공하고, 이는 사용자 입력이 (예컨대, 터치스크린 상의 터치 입력을 통한) 사용자 인터페이스 요소와의 직접적인 물리적 접촉을 수반하지 않는 상황들에서 특히 도움이 되며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 사용자 인터페이스 요소는, 사용자 인터페이스 요소의 외관을 변경하는 것과는 별개인(예컨대, 사용자 인터페이스 요소의 상이한 층들 사이의 분리 정도를 변경하는 것과는 별개인) 사용자 인터페이스에서 개개의 동작을 수행하도록 활성화가능하다. 일부 실시예들에서, 사용자가 사용자 인터페이스 요소로 초점을 지향시키는 것에 대응하는 제1 입력을 검출하는 것에 응답하여, 개개의 동작을 (아직) 수행하지 않으면서, 사용자 인터페이스 요소의 외관이 변경된다(예컨대, 개개의 동작이 수행되기 위해 추가적인 상호작용이 필요함)(예컨대, 사용자 인터페이스 요소의 외관을 변경하는 것은, 사용자 인터페이스 요소와의 상호작용을 표시하고 사용자 인터페이스 요소와의 상호작용에 응답하여 수행되는 사용자 인터페이스 동작과 별개인 시각적 피드백을 제공함). 예를 들어, 도 7p를 참조하여 본 명세서에서 설명된 바와 같이, 사용자(7002)가 아이콘(7060)을 응시하는 것에 응답하여, 계층들(7060-1 내지 7060-3) 사이의 분리 정도는 변경되지만, (예컨대, 애플리케이션을 개시하는 것, 파일을 여는 것, 통신 세션을 시작하는 것 또는 다른 연관된 동작을 위한) 아이콘(7060)의 활성화는 아이콘(7060)으로 지향된 선택 제스처(예컨대, 사용자의 시선이 아이콘으로 지향되는 동안 핀치와 같은 에어 제스처 또는 아이콘에 대응하는 3차원 환경 내의 위치에서의 탭)가 수행될 때까지 수행되지 않는다. 사용자 인터페이스에서 하나 이상의 동작들을 수행하도록 활성화가능하게 되도록 사용자가 사용자 인터페이스 요소로 주의를 돌리는 것에 응답하여, 그의 다수의 계층화된 요소들 사이의 상이한 분리 정도를 표시하기 위해 외관이 변하는 사용자 인터페이스 요소를 구성하는 것은, 추가적 사용자 입력에 응답하여 사용자 인터페이스 내의 객체가 초점을 갖고 사용자 인터페이스 내의 하나 이상의 동작들의 수행을 트리거할 것이라는 것에 대한 시각적 피드백을 사용자에게 제공하고, 이는, 사용자에게 개선된 피드백을 제공하고 동작을 수행하는 데 필요한 입력들의 수를 감소시킨다.
일부 실시예들에서, 제1 입력을 검출하는 것은, 사용자가 사용자 인터페이스 요소를(또는 예컨대, 이를 향해) 응시하고 있는 것을 검출하는 것(예컨대, 선택적으로, 사용자의 손이 미리 정의된 준비 상태에 있지 않음을 검출하는 것 또는 사용자의 손이 미리 정의된 준비 상태에 있는지 또는 미리 정의된 준비 상태로 이동하고 있는지와 무관함)을 포함한다. 예를 들어, 도 7p를 참조하여 본 명세서에서 설명된 바와 같이, 사용자(7002)가 시나리오(7064)에 도시된 바와 같이 아이콘(7060)을 응시하는 것에 응답하여(예컨대, 손(7020)이 준비 상태에 있지 않음), 층들(7060-1 내지 7060-3) 사이의 분리 정도는 뷰(7076)에 도시된 것으로 변경된다. 사용자가 사용자 인터페이스 요소를 응시하는 것에 응답하여 사용자 인터페이스에서 하나 이상의 동작들을 수행하도록 활성화가능하게 되도록 사용자 인터페이스 요소를 구성하는 것, 및 그에 따라 그의 다수의 계층화된 요소들 사이의 상이한 분리 정도를 표시하기 위해 사용자 인터페이스 요소의 외관을 변경하는 것은, 사용자 인터페이스와 상호작용하기 위해 직관적이고, 간단하고, 빠른 메커니즘을 제공하며, 이는, 사용자에게 개선된 피드백을 제공하고 동작을 수행하는 데 필요한 입력들의 수를 감소시킨다.
일부 실시예들에서, 제1 입력을 검출하는 것은, 사용자의 손이 미리 정의된 준비 상태에 있음을 검출하는 것(그리고 예컨대, 선택적으로, 사용자가 사용자 인터페이스 요소를 응시하고 있지 않음을 검출하는 것, 또는 사용자가 사용자 인터페이스 요소를 응시하고 있는지 여부와 무관함)을 포함한다. 일부 실시예들에서, 사용자의 손이 상승되는 경우(예컨대, 사용자 측에서 아래로가 아니라, 그리고 선택적으로 팔이 연장되기 보다는 사용자의 손이 팔꿈치와 함께 상승되는 경우), 사용자의 손은 미리 정의된 준비 상태에 있고 그리고/또는 이를테면, 손바닥이 아래를 향하고 검지 손가락이 연장 및/또는 상승된 상태로, 또는 손바닥이 내측을 향하고(예를 들어, 사용자의 정중선을 향하고) 그리고 엄지 손가락이 검지 손가락 위에 놓인 상태로 제스처를 수행하기 위한 준비를 표시하는 구성, 또는 다른 미리 정의된 손 구성이다. 예를 들어, 도 7p를 참조하여 본 명세서에서 설명된 바와 같이, 사용자(7002)가 시나리오(7066)에 도시된 바와 같이 손(7020)이 준비 상태인 채로 아이콘(7060)을 응시하는 것에 응답하여, 층들(7060-1 내지 7060-3) 사이의 분리 정도는 뷰(7078)에 도시된 것으로 변경된다. 사용자의 손이 미리 정의된 준비 상태인 것에 응답하여 사용자 인터페이스에서 하나 이상의 동작들을 수행하도록 활성화가능하게 되도록 사용자 인터페이스 요소를 구성하는 것, 및 그에 따라 그의 다수의 계층화된 요소들 사이의 상이한 분리 정도를 표시하기 위해 사용자 인터페이스 요소의 외관을 변경하는 것은, 사용자 인터페이스와 상호작용하기 위해 직관적이고, 간단하고, 빠른 메커니즘을 제공하며, 이는, 사용자에게 개선된 피드백을 제공하고 동작을 수행하는 데 필요한 입력들의 수를 감소시킨다.
일부 실시예들에서, 제1 입력을 검출하는 것은 사용자가 사용자 인터페이스 요소를 응시하고 있는 것 및 사용자의 손이 미리 정의된 준비 상태에 있는 것을 검출하는 것을 포함한다. 예를 들어, 도 7p를 참조하여 본 명세서에서 설명된 바와 같이, 사용자(7002)가 시나리오(7066)에 도시된 바와 같이 손(7020)이 준비 상태인 채로 아이콘(7060)을 응시하는 것에 응답하여, 층들(7060-1 내지 7060-3) 사이의 분리 정도는 뷰(7078)에 도시된 것으로 변경된다. 사용자의 손이 미리 정의된 준비 상태인 동안 사용자가 사용자 인터페이스 요소를 응시하는 것에 응답하여 사용자 인터페이스에서 하나 이상의 동작들을 수행하도록 활성화가능하게 되도록 사용자 인터페이스 요소를 구성하는 것, 및 그에 따라 그의 다수의 계층화된 요소들 사이의 상이한 분리 정도를 표시하기 위해 사용자 인터페이스 요소의 외관을 변경하는 것은, 사용자 인터페이스와 상호작용하기 위해 직관적이고, 간단하고, 빠른 메커니즘을 제공하며, 이는, 사용자에게 개선된 피드백을 제공하고 동작을 수행하는 데 필요한 입력들의 수를 감소시킨다.
일부 실시예들에서, 입력이 (예컨대, 사용자의 손이 미리 정의된 준비 상태에 있거나 그로 이동하지 않으면서) 사용자의 시선이 사용자 인터페이스 요소를 향하는 것을 포함하는 제1 유형의 입력이라는 결정에 따라, 제2 분리 정도는 제1 크기(이는 제1 분리 정도의 크기와 상이함)를 갖는다. 일부 실시예들에서, 입력이 사용자 인터페이스 요소를 향해 지향되는 사용자의 시선을 포함하는 제2 유형의 입력이고 사용자의 손이 미리 정의된 준비 상태에 있다는 결정에 따라, 제2 분리 정도는 제1 크기와 상이한(그리고 또한 제1 분리 정도의 크기와 상이한) 제2 크기를 갖는다. 일부 실시예들에서, 사용자의 손이 (예컨대, 이미) 미리 정의된 준비 상태에 있는 동안 사용자가 사용자의 시선을 사용자 인터페이스 요소를 향해 지향시키는 것에 대응하는 입력에 응답하여, 사용자 인터페이스 요소의 외관은, 제2 분리 정도의 제1 크기를 표시하는 외관을 갖는 사용자 인터페이스 요소의 개재 디스플레이와 함께 또는 개재 디스플레이 없이, 제1 분리 정보를 표시하는 것으로부터 제2 분리 정도의 제2 크기를 표시하는 것으로 변경된다. 일부 실시예들에서, 사용자의 손이 미리 정의된 준비 상태에 있지 않는 동안 사용자가 사용자의 시선을 사용자 인터페이스 요소를 향해 지향시키는 것에 대응하는 제1 개개의 입력(또는 개개의 입력의 제1 부분)에 응답하여, 사용자 인터페이스 요소의 외관은 제1 분리 정도를 표시하는 것으로부터 제2 분리 정도의 제1 크기를 표시하는 것으로 변경된다. 일부 실시예들에서, 사용자의 시선이 사용자 인터페이스 요소를 향해 지향되는 동안 사용자의 손이 미리 정의된 준비 상태로 이동하는 것에 대응하는 제2 개개의 입력(또는 개개의 입력의 제2 부분)에 응답하여, 사용자 인터페이스 요소의 외관은 제2 분리 정도의 제1 크기를 표시하는 것으로부터 제2 분리 정도의 제2 크기를 표시하는 것으로 (예컨대, 추가로) 변경된다. 예를 들어, 도 7p를 참조하여 본 명세서에서 설명된 바와 같이, 예컨대, 손(7020)이 준비 상태에 있지 않고 사용자(7002)가 시나리오(7064)에 도시된 바와 같이 아이콘(7060)을 응시하는 것에 응답하여, 층들(7060-1 내지 7060-3) 사이의 분리 정도는 뷰(7076)에 도시된 것으로 변경되는 반면, 사용자(7002)가 시나리오(7066)에 도시된 바와 같이 손(7020)이 준비 상태인 채로 아이콘(7060)을 응시하는 것에 응답하여, 층들(7060-1 내지 7060-3) 사이의 분리 정도는 뷰(7078)에 도시된 것으로 변경된다. 사용자 인터페이스 요소로 지향된 상이한 유형들의 입력에 응답하여, 그리고 특히, 시선 입력들 대 사용자의 손이 미리 정의된 준비 상태인 채의 시선 입력들에 응답하여, 사용자 인터페이스 요소의 다수의 계층화된 요소들 사이의 상이한 정도들의 분리를 표시하는 것은, 상이한 입력들과 사용자 인터페이스에서 수행될 연관된 동작(들) 사이의 모호성제거를 수행하고, 어떤 유형의 입력이 검출되었고 응답으로 사용자 인터페이스에서 어느 동작(들)이 수행될지에 관한 시각적 피드백을 사용자에게 제공하며, 이는 추가적인 디스플레이된 제어부들로 사용자 인터페이스를 어지럽히지 않으면서 사용자에게 개선된 피드백을 제공하고 추가적인 제어 옵션들을 제공한다.
일부 실시예들에서, 제1 입력을 검출한 후에, 사용자 인터페이스 요소의 외관이 제1 층과 제2 층 사이의 제2 분리 정도를 표시하는 동안, 컴퓨터 시스템은 사용자 인터페이스 요소의 선택에 대응하는 제2 입력(예컨대, 선택 제스처, 예를 들어, 사용자의 시선이 사용자 인터페이스 요소로 지향되는 동안의 핀치와 같은 에어 제스처 또는 사용자 인터페이스 요소에 대응하는 3차원 환경 내의 위치에서의 탭)을 검출한다. 일부 실시예들에서, 제2 입력을 검출하는 것에 응답하여, 컴퓨터 시스템은 제1 층과 제2 층 사이의 제3 분리 정도를 표시하기 위해 사용자 인터페이스 요소의 외관을 변경한다. 일부 실시예들에서, 제3 분리 정도는 제2 분리 정도 미만이다. 일부 실시예들에서, 제2 입력의 종료(예컨대, 제2 입력의 후속 부분, 이를테면, 해제 제스처)를 검출하는 것에 응답하여, 사용자 인터페이스 요소의 외관을 변경하는 것과는 별개인, 사용자 인터페이스에서의 개개의 동작이 수행된다. 예를 들어, 도 7p를 참조하여 본 명세서에 설명된 바와 같이, 사용자(7002)가 시나리오(7066)를 참조하여 설명된 바와 같이 (예컨대, 아이콘(7060)을 응시하면서) 선택 제스처를 수행하는 것에 응답하여, 층들(7060-1 내지 7060-3) 사이의 분리 정도는 뷰(7078)에 도시된 것으로부터 감소되고, 아이콘(7060)과 연관된 동작은 선택 제스처의 완료에 응답하여 환경(7104)에서 수행된다. 사용자 인터페이스 요소로 주의가 지향된 후에, 사용자 인터페이스 요소로 지향된 추가의 입력에 응답하여, 초점을 갖는 사용자 인터페이스 요소의 층들 사이의 분리 정도를 감소시키는 것은, 초점을 갖는 사용자 인터페이스 요소가 추가적 상호작용을 위해 선택되었다는 시각적 피드백을 사용자에게 제공하며, 이는 사용자 입력이 (예컨대, 터치스크린 상의 터치 입력을 통한) 사용자 인터페이스 요소와의 직접적인 물리적 접촉을 수반하지 않는 상황들에서 특히 도움이 되며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 제2 입력은 미리 정의된 제스처를 수행하기 위한 입력의 진행을 포함한다. 일부 실시예들에서, 미리 정의된 제스처는 2개의 손가락들이 서로를 향해 이동하고 있는 핀치이다. 일부 실시예들에서, 미리 정의된 제스처는, 예를 들어, 디스플레이된 사용자 인터페이스 요소에 대응하는 터치-감응형 표면 상의 위치에서의 탭 제스처이다. 통상적으로, 미리 정의된 제스처가 공중에서 수행되는 제스처인 구현들에서(예컨대, 터치스크린 상에 디스플레이된 사용자 인터페이스 요소와의 접촉 또는 사용자 인터페이스 요소에 대해 커서를 이동시키는 마우스 또는 트랙패드와의 접촉과 같이, 사용자 인터페이스 요소가 사용자 입력의 타겟인 것에 대한 정보를 컴퓨터 시스템에 제공하는 입력 디바이스와의 물리적 접촉의 부재 시에), 제스처는 사용자 입력의 타겟을 결정하기 위한 사용자의 시선을 고려한다. 따라서, 에어 제스처들을 수반하는 구현들에서, 미리 정의된 제스처는, 예를 들어, 에어 탭 제스처의 경우, 사용자 인터페이스 요소를 향한 사용자의 손가락의 움직임, 선택적으로 사용자 인터페이스 요소를 향해 연장된 사용자의 손가락과 함께 사용자 인터페이스 요소를 향한 사용자의 손의 움직임, 사용자의 손가락의 하향 모션(예컨대, 터치스크린 상의 마우스 클릭 모션 또는 탭을 모방함), 또는 다른 미리 정의된 움직임과 조합된(예컨대, 동시의) 사용자 인터페이스 요소를 향상 시선이다.
일부 실시예들에서, 미리 정의된 제스처가 진행됨에 따라(예컨대, 입력의 진행은, 이를테면 핀치 제스처에서 서로를 향한 2개의 손가락들의 이동 또는 탭 제스처에서 사용자 인터페이스 요소를 향한 손가락의 이동에 의해 미리 정의된 제스처를 진행함), 컴퓨터 시스템은 사용자 인터페이스 요소의 외관의 변화를 입력의 진행의 양에 대응하는 양만큼 제3 분리 정도를 표시하는 쪽으로 (예컨대, 점진적으로) 진행시킨다(예컨대, 제1 층과 제2 층 사이의 분리 정도를 감소시킴). 일부 실시예들에서, 미리 정의된 제스처가 반전됨에 따라(예컨대, 입력의 진행은, 이를테면 서로로부터 멀어지는 2개의 손가락들의 이동에 의해 핀치 제스처를 반전시킴으로써 또는 사용자 인터페이스 요소로부터 멀어지는 손가락의 이동에 의해 탭 제스처를 반전시킴으로써 입력의 진행이 미리 정의된 제스처를 반전시킴), 컴퓨터 시스템은 사용자 인터페이스 요소의 외관의 변화를 입력의 진행의 양에 대응하는 양만큼 제2 분리 정도를 표시하는 쪽으로 (예컨대, 점진적으로) 반전시킨다(예컨대, 제1 층과 제2 층 사이의 분리 정도를 증가시킴). 예를 들어, 도 7p를 참조하여 본 명세서에서 설명된 바와 같이, 시나리오(7066)를 참조하여 설명된 바와 같은 선택 제스처의 진행에 응답하여, 층들(7060-1 내지 7060-3) 사이의 분리 정도들이 변경되는 반면, 선택 제스처의 완료 이전에 선택 제스처의 반전에 응답하여, 분리의 정도에서의 변화들이 반전된다. 사용자 인터페이스 요소로 주의가 지향된 후에, 미리 정의된 제스처를 진행시키는 사용자 인터페이스 요소로 지향된 추가의 입력에 응답하여, 초점을 갖는 사용자 인터페이스 요소의 층들 사이의 분리 정도의 감소를 점진적으로 진행시키는 것, 및 미리 정의된 제스처의 반전에 응답하여 분리 정도의 감소의 반전을 가능하게 하는 것은, 초점을 갖는 사용자 인터페이스 요소가 추가적 상호작용을 위해 선택되었다는 시각적 피드백을 사용자에게 제공하고 선택과의 상호작용을 진행시킬지 또는 취소할지에 대한 더 큰 제어를 사용자에게 제공하며, 이는 추가적인 디스플레이된 제어부들로 사용자 인터페이스를 어지럽히지 않으면서 사용자에게 개선된 피드백을 제공하고 추가적인 제어 옵션들을 제공한다.
일부 실시예들에서, 컴퓨터 시스템은, 제2 층 상에 광을 캐스팅하는, 제1 층과 연관된 사용자 인터페이스 요소의 하나 이상의 부분들의 제1 세트의 시각적 효과로 사용자 인터페이스 요소의 하나 이상의 부분들의 제2 세트를 디스플레이한다. 일부 실시예들에서, 사용자 인터페이스 요소의 하나 이상의 부분들의 제1 세트는, 제1 층 상에 광을 캐스팅하는, 제2 층과 연관된 사용자 인터페이스 요소의 하나 이상의 부분들의 제2 세트를 시뮬레이션하는 외관으로 디스플레이된다. 예를 들어, 도 7p를 참조하여 본 명세서에서 설명된 바와 같이, 층들(7060-1 내지 7060-3)은 선택적으로, 서로에 광을 캐스팅하는 것으로 디스플레이된다. 사용자 인터페이스 요소의 다른 층 상에 광을 캐스팅하는 사용자 인터페이스 요소의 개개의 층 및/또는 서로 상에 광을 캐스팅하는 상이한 층들의 시각적 효과를 디스플레이하는 것은, 서로 분리되는 것으로서 사용자 인터페이스 요소의 층들의 외관을 향상시키고, 이는 사용자가 상호작용하고 있는 객체를 식별하는, 사용자에게 제공되는 시각적 피드백을 향상시키고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 시각적 효과는 사용자 인터페이스 요소의 하나 이상의 부분들의 제2 세트 상으로 (예컨대, 사용자 인터페이스 요소의 하나 이상의 부분들의 제1 세트와 별개인 3차원 환경의 광원으로부터) 광을 반사하는 사용자 인터페이스 요소의 하나 이상의 부분들의 제1 세트를 시뮬레이션한다. 예를 들어, 도 7p를 참조하여 본 명세서에서 설명된 바와 같이, 층들(7060-1 내지 7060-3)은 선택적으로, 환경(7104)의 하나 이상의 별개의(예컨대, 물리적 및/또는 시뮬레이션된) 광원들로부터 서로 상으로 광을 반사하는 것으로 디스플레이된다. 사용자 인터페이스 요소의 다른 층 상에 광을 반사하는 사용자 인터페이스 요소의 개개의 층 및/또는 서로 상에 광을 반사하는 상이한 층들의 시각적 효과를 디스플레이하는 것은, 서로 분리되는 것으로서 사용자 인터페이스 요소의 층들의 외관을 향상시키고, 이는 사용자가 상호작용하고 있는 객체를 식별하는, 사용자에게 제공되는 시각적 피드백을 향상시키고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 시각적 효과는 사용자 인터페이스 요소의 하나 이상의 부분들의 제2 세트 상으로 광을 방출하는 사용자 인터페이스 요소의 하나 이상의 부분들의 제1 세트를 시뮬레이션한다(예컨대, 사용자 인터페이스 요소의 하나 이상의 부분들의 제1 세트는 광원으로서 동작함). 예를 들어, 도 7p를 참조하여 본 명세서에서 설명된 바와 같이, 층들(7060-1 내지 7060-3)은 선택적으로, 서로 상으로 광을 방출하는 것으로 디스플레이된다. 사용자 인터페이스 요소의 다른 층 상에 광을 방출하는 사용자 인터페이스 요소의 개개의 층 및/또는 서로 상에 광을 방출하는 상이한 층들의 시각적 효과를 디스플레이하는 것은, 서로 분리되는 것으로서 사용자 인터페이스 요소의 층들의 외관을 향상시키고, 이는 사용자가 상호작용하고 있는 객체를 식별하는, 사용자에게 제공되는 시각적 피드백을 향상시키고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 시스템은, 제2 층 상에 하나 이상의 그림자들을 캐스팅하는, 제1 층과 연관된 사용자 인터페이스 요소의 하나 이상의 부분들의 제1 세트를 시뮬레이션하는 외관으로 사용자 인터페이스 요소의 하나 이상의 부분들의 제2 세트를 디스플레이한다. 예를 들어, 도 7p를 참조하여 본 명세서에서 설명된 바와 같이, 층들(7060-1 내지 7060-3)은 선택적으로, 서로 상으로 그림자를 캐스팅하는 것으로 디스플레이된다. 사용자 인터페이스 요소의 다른 층 상에 그림자를 캐스팅하는 사용자 인터페이스 요소의 개개의 층 및/또는 서로 상에 그림자를 캐스팅하는 상이한 층들의 시각적 효과를 디스플레이하는 것은, 서로 분리되는 것으로서 사용자 인터페이스 요소의 층들의 외관을 향상시키고, 이는 사용자가 상호작용하고 있는 객체를 식별하는, 사용자에게 제공되는 시각적 피드백을 향상시키고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 제1 입력을 검출하는 것에 응답하여, 컴퓨터 시스템은, (예컨대, 사용자 인터페이스 요소의 층들을 분리하는 것에 추가하여) 사용자 인터페이스 요소의 하나 이상의 부분들의 애니메이션을 디스플레이한다. 일부 실시예들에서, 방법(12000)을 참조하여 본 명세서에서 더 상세히 설명되는 바와 같이, 애니메이션은 미리 정의된 제스처를 진행시키는 입력의 진행에 응답하여 진행되고, 애니메이션은 미리 정의된 제스처를 반전시키는 입력의 진행에 응답하여 반전된다. 예를 들어, 도 7p를 참조하여 본 명세서에서 설명된 바와 같이, 일부 실시예들에서, 아이콘(7060)은 아이콘(7060)에 주의를 돌리는 입력 및/또는 아이콘(7060)에 지향되는 선택 제스처를 수행하는 것에 응답하여 애니메이션화된다. 사용자가 사용자 인터페이스 요소로 주의를 돌리는 것에 응답하여, 사용자 인터페이스 요소의 다수의 계층화된 요소들 사이의 분리 정도를 변경하는 것과 조합하여, 사용자 인터페이스 요소의 적어도 일부의 애니메이션을 디스플레이하는 것은, 사용자가 상호작용하고 있는 객체를 식별하는, 사용자에게 제공되는 시각적 피드백을 향상시키고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 사용자 인터페이스 요소의 하나 이상의 부분들의 애니메이션을 디스플레이하는 것은 사용자 인터페이스 요소의 하나 이상의 부분들을 회전시키는 것을 포함한다(예컨대, 아이콘 또는 글리프와 같은 그래픽을 회전시키는 것 또는 스피닝하는 것, 이를테면 도 7p의 아이콘(7060)의 엔벨로프 그래픽을 회전시키는 것 또는 스피닝하는 것). 사용자가 사용자 인터페이스 요소로 주의를 돌리는 것에 응답하여, 사용자 인터페이스 요소의 다수의 계층화된 요소들 사이의 분리 정도를 변경하는 것과 조합하여, 회전하는 사용자 인터페이스 요소의 적어도 일부의 애니메이션을 디스플레이하는 것은, 사용자가 상호작용하고 있는 객체를 식별하는, 사용자에게 제공되는 시각적 피드백을 향상시키고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 사용자 인터페이스 요소의 하나 이상의 부분들의 애니메이션을 디스플레이하는 것은 사용자 인터페이스 요소의 하나 이상의 부분들을 개개의 방향으로 (예컨대, 슬라이더를 따라 슬라이더 엄지 손가락을 이동시키는 것, 또는 도 7p의 아이콘(7060)의 원 요소를 지나서 아이콘(7060)의 엔벨로프 그래픽을 슬라이딩시키는 것과 같이 사용자 인터페이스 요소의 다른 부분을 따라 또는 그에 대해) 슬라이딩시키는 것을 포함한다. 사용자가 사용자 인터페이스 요소로 주의를 돌리는 것에 응답하여, 사용자 인터페이스 요소의 다수의 계층화된 요소들 사이의 분리 정도를 변경하는 것과 조합하여, 개개의 방향에서 슬라이딩하는 사용자 인터페이스 요소의 적어도 일부의 애니메이션을 디스플레이하는 것은, 사용자가 상호작용하고 있는 객체를 식별하는, 사용자에게 제공되는 시각적 피드백을 향상시키고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 사용자 인터페이스 요소의 하나 이상의 부분들의 애니메이션을 디스플레이하는 것은 디스플레이된 그래픽의 하나 이상의 요소들의 스케일을 변경한 후에, 디스플레이된 그래픽의 하나 이상의 요소들의 스케일의 변화를 반전시키는 것을 포함한다(예를 들어, 숨을 들이쉬고 내쉬는 것 또는 그 반대를 표현하기 위해, 팽창 다음에 수축 및/또는 수축 다음에 팽창과 같이, 예컨대, 스케일을 증가시키는 것 다음에 스케일을 감소시키는 것, 및/또는 스케일을 감소시키는 것 다음에 스케일을 증가시키는 것). 도 7p로부터의 예를 사용하면, 아이콘(7060)의 애니메이션은 선택적으로, 아이콘(7060)의 원형 요소 및/또는 엔벨로프 그래픽을 연속적으로 축소 및 확대하고 그리고/또는 회전 또는 스피닝하는 것을 포함한다. 일부 실시예들에서, 애니메이션을 디스플레이하는 것은 디스플레이된 그래픽의 스케일을 변경하는 것 및 스케일의 변화를 반전시키는 것을 포함한다. 일부 실시예들에서, 애니메이션을 디스플레이하는 것은, 디스플레이된 그래픽을 구성하는 다수의 요소들의 스케일을 변경하고 스케일의 변화를 반전시키는 것, 및 한편으로 선택적으로 그래픽의 요소들을 서로에 대해 이동(예컨대, 병진) 및/또는 회전시키는 것(또는 그래픽을 전체적으로 이동 및/또는 회전시키는 것)을 포함한다. 일부 실시예들에서, 애니메이션을 디스플레이하는 것은 애니메이션의 일부를 반복하는 것(예를 들어, 반복적으로 숨을 들이쉬고 내쉬는 것을 표현하기 위해, 예컨대, 반복적으로 스케일을 증가 및 감소시키는 것)을 포함한다. 사용자가 사용자 인터페이스 요소로 주의를 돌리는 것에 응답하여, 사용자 인터페이스 요소의 다수의 계층화된 요소들 사이의 분리 정도를 변경하는 것과 조합하여, 스케일에서 연속적으로 증가 및 감소하는 또는 그 반대인 사용자 인터페이스 요소의 적어도 일부의 애니메이션을 디스플레이하는 것은, 사용자가 상호작용하고 있는 객체를 식별하는, 사용자에게 제공되는 시각적 피드백을 향상시키고, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 사용자 인터페이스 요소의 하나 이상의 부분들의 애니메이션을 디스플레이하는 것은 사용자 인터페이스 요소와 연관된 콘텐츠의 미리보기를 디스플레이하는 것을 포함한다(예컨대, 사용자 인터페이스 요소는 문서, 이미지, 비디오 또는 이메일과 같은 파일이고, 애니메이션은 파일의 미리보기, 및/또는 파일에 관한 정보 또는 파일의 메타데이터를 디스플레이하는 것을 포함하거나; 사용자 인터페이스 요소는 파일들의 폴더이고, 애니메이션은 폴더 내의 파일들의 미리보기를 디스플레이하는 것을 포함하거나; 또는 사용자 인터페이스 요소는 애플리케이션을 개시하기 위해 활성화가능한 애플리케이션 아이콘이고, 애니메이션은 애플리케이션의 사용자 인터페이스를 디스플레이하는 것을 포함한다). 예를 들어, 도 7p에 도시된 바와 같이, 아이콘(7060)은 (예컨대, 이메일을 표현하는) 엔벨로프 그래픽을 포함하고, 애니메이션은 선택적으로 아이콘(7060)과 연관된 이메일의 미리보기를 디스플레이하는 것을 포함한다. 일부 실시예들에서, 미리보기는 디스플레이된 사용자 인터페이스의 일부 위에 디스플레이된다(예컨대, 사용자 인터페이스 요소의 전부 미만 또는 실질적으로 전부 미만, 이를테면 사용자 인터페이스의 90%, 80%, 70%, 60%, 50% 또는 10% 내지 100%의 임의의 다른 양). 사용자가 사용자 인터페이스 요소로 주의를 돌리는 것에 응답하여, 사용자 인터페이스 요소의 다수의 계층화된 요소들 사이의 분리 정도를 변경하는 것과 조합하여, 사용자 인터페이스 요소와 연관된 콘텐츠의 미리보기를 나타내는 애니메이션을 디스플레이하는 것은, 사용자가 상호작용하고 있는 객체를 식별하는, 사용자에게 제공되는 시각적 피드백을 향상시키고, 사용자 인터페이스 요소와의 추가적 상호작용에 응답하여 수행되도록 구성된 동작의 유형에 관한 표시를 제공하며, 이는 사용자에게 개선된 피드백을 제공한다.
일부 실시예들에서, 사용자 인터페이스 요소는 엔벨로프의 표현(예를 들어, 도 7p의 아이콘(7060)에 도시된 바와 같이, 선택적으로 이메일과 같은 통신 파일 또는 통신 애플리케이션과 연관된, 예컨대 엔벨로프 아이콘 또는 그래픽)을 포함하고, 사용자 인터페이스 요소의 하나 이상의 부분들의 애니메이션을 디스플레이하는 것은 엔벨로프를 여는 애니메이션을 디스플레이하는 것을 포함한다. 사용자가 사용자 인터페이스 요소로 주의를 돌리는 것에 응답하여, 사용자 인터페이스 요소의 다수의 계층화된 요소들 사이의 분리 정도를 변경하는 것과 조합하여, 사용자 인터페이스 요소와 연관된 콘텐츠의 미리보기를 나타내는 애니메이션을 디스플레이하는 것은, 사용자가 상호작용하고 있는 객체를 식별하는, 사용자에게 제공되는 시각적 피드백을 향상시키고, 사용자 인터페이스 요소와의 추가적 상호작용에 응답하여 수행되도록 구성된 동작의 유형에 관한 표시를 제공하며, 이는 사용자에게 개선된 피드백을 제공한다.
도 12에서의 동작들이 설명된 특정 순서는 단지 일 예일 뿐이며 설명된 순서가 동작들이 수행될 수 있는 유일한 순서라는 것을 표시하는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 설명된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에서 설명되는 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 11000, 13000, 14000))과 관련하여 본 명세서에서 설명되는 다른 프로세스들의 상세사항들이 도 12와 관련하여 위에서 설명된 방법(12000)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(12000)을 참조하여 전술된 사용자 인터페이스 요소들 또는 객체들(이들의 외관들 및 구역들을 포함함), 가상 객체들, 층들, 분리 정도들 또는 양들, 사용자 시점들, 이동들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트, 입력들, 제스처들, 애니메이션들, 사용자 인터페이스 동작들, 광원들, 반사들 및/또는 그림자들은 선택적으로, 본 명세서에 설명된 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 11000, 13000, 및 14000))을 참조하여 본 명세서에 설명된 사용자 인터페이스 요소들 또는 객체들(이들의 외관들 및 구역들을 포함함), 가상 객체들, 층들, 분리 정도들 또는 양들, 사용자 시점들, 이동들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트, 입력들, 제스처들, 애니메이션들, 사용자 인터페이스 동작들, 광원들, 반사들 및/또는 그림자들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 세부사항들은 여기서 반복되지 않는다.
도 13은 일부 실시예들에 따른, 선택가능한 사용자 인터페이스 객체에 대응하고 그와 상호작용하기 위한 준비를 표시하는 입력에 응답하여 선택가능한 사용자 인터페이스 객체의 외관을 변경하는 방법(13000)의 흐름도이다.
일부 실시예들에서, 본 방법(13000)은, 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120), 이를테면 도 7a 내지 도 7z의 디스플레이(7100))(예컨대, 헤드업 디스플레이, 디스플레이, 터치스크린, 및/또는 프로젝터) 및 선택적으로 하나 이상의 입력 디바이스들, 이를테면 하나 이상의 카메라들(예를 들어, 사용자의 손에서 하향으로 또는 사용자의 머리로부터 상향으로 향하는, 예컨대 카메라(예컨대, 색상 센서들, 적외선 센서들, 및 다른 심도 감지 카메라들))과 통신하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 방법(13000)은, 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터 시스템의 하나 이상의 프로세서들, 예를 들어, 컴퓨터 시스템(101)의 하나 이상의 프로세서들(202)(예를 들어, 도 1a의 제어 유닛(110))에 의해 실행되는 명령어들에 의해 통제된다. 방법(13000)에서의 일부 동작들이 선택적으로 조합되거나, 및/또는 일부 동작들의 순서가 선택적으로 변경된다.
일부 실시예들에서, 방법(13000)은 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101), 도 7a 내지 도 7g, 도 7h 내지 도 7j, 도 7k 내지 도 7o, 도 7p, 도 7q 내지 도 7w 및/또는 도 7x 내지 7z와 관련하여 설명된 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 컴퓨터 시스템은 디스플레이 생성 컴포넌트(예컨대, 디스플레이 생성 컴포넌트는 헤드-업 디스플레이, 머리 장착형 디스플레이(HMD), 디스플레이, 터치스크린 및/또는 프로젝터임) 및 선택적으로 하나 이상의 입력 디바이스들(예컨대, 카메라들, 제어기들, 터치 감응형 표면들, 조이스틱들, 버튼들, 글러브들, 시계들, 모션 센서들 및/또는 배향 센서들)과 통신한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트는 도 7a 내지 도 7z와 관련하여 설명된 디스플레이 생성 컴포넌트(7100)이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들 중 적어도 일부와 동일한 하우징으로 둘러싸인 하나 이상의 프로세서들 및 메모리를 갖는 통합 디바이스이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및/또는 하나 이상의 입력 디바이스들과 별개인 하나 이상의 프로세서들 및 메모리를 포함하는 컴퓨팅 컴포넌트(예컨대, 서버, 스마트 폰 또는 태블릿 디바이스와 같은 모바일 전자 디바이스, 워치, 손목밴드, 이어폰들과 같은 웨어러블 디바이스, 데스크톱 컴퓨터, 또는 랩톱 컴퓨터)를 포함한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들은 동일한 하우징 내에 통합되고 그로 둘러싸인다. 방법(13000)의 많은 특징들은 일부 실시예들에 따라 도 7q 내지 도 7w와 관련하여 설명된다.
방법(13000)에서, 컴퓨터 시스템은, 3차원 환경(예컨대, 환경(7104)(도 7q))의 제1 뷰가 (예컨대, 디스플레이 생성 컴포넌트를 통해) 가시적인 동안 디스플레이 생성 컴포넌트를 통해 사용자 인터페이스 객체를 디스플레이한다(13002). 사용자 인터페이스 객체(예컨대, 사용자 인터페이스 객체(7080)(도 7q))는 3차원 환경에서 개개의 동작을 수행하기 위해 활성화가능한 제1 선택가능한 객체(예컨대, 구역들(7080-b, 7080-c 또는 7080-d(도 7q))를 포함한다. 일부 실시예들에서, 제1 선택가능한 객체는 사용자 인터페이스 객체의 제1 구역(예컨대, 구역들(7080-b, 7080-c 또는 7080-d(도 7q)) 중 임의의 것)을 점유하고, 사용자 인터페이스 객체의 제1 구역의 표면(예컨대, 제1 선택가능한 객체의 표면)은 사용자 인터페이스 객체의 제2 구역(예컨대, 구역(7080-a)(도 7q))의 표면으로부터 제1 분리 정도로 디스플레이되고, 제2 구역은 제1 구역과 상이하다(예컨대, 그에 인접하다). 일부 실시예들에서, 제1 분리 정도는 0이다(예컨대, 분리가 없고; 제1 구역의 표면은 제2 구역의 표면과 동일 평면에 있음).
방법(13000)에서, 컴퓨터 시스템은 제1 선택가능한 객체에 대응하는 제1 입력(예컨대, 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는 제1 입력)을 검출한다(13004). 제1 선택가능한 객체에 대응하는 제1 입력을 검출하는 것에 응답하여(13006), 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다는 결정에 따라, 컴퓨터 시스템은 (예컨대, 3차원 환경에서 개개의 동작을 수행하지 않고) 제1 선택가능한 객체의 두께를 변경한다(13008)(예컨대, 증가한다). 예를 들어, 도 7r 및 도 7t를 참조하여 도시되고 설명된 바와 같이, 구역(7080-b)으로 지향된 사용자(7002)의 주의의 검출에 응답하여, 구역(7080-b)의 두께가 증가된다. 다른 예에서, 도 7s를 참조하여 도시되고 설명된 바와 같이, 구역(7080-c)으로 지향된 사용자(7002)의 주의의 검출에 응답하여, 구역(7080-c)의 두께가 증가된다. 일부 실시예들에서, 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는 제1 입력을 검출하는 것에 응답하여 사용자 인터페이스 객체의 제1 선택가능한 객체의 두께를 (예컨대, 제1 두께에서 제2 두께로) 변경하는 것은, 제1 선택가능한 객체의 표면을 사용자 인터페이스 객체의 제2 구역의 표면으로부터 제2 분리 정도로 디스플레이하는 것을 포함하고(또는 그에 추가하여 수행되고), 제2 분리 정도는 제1 분리 정도와 상이하다(예컨대, 그보다 크다). 일부 실시예들에서, 제1 두께는 0이다(예컨대, 제1 선택가능한 객체는 사용자 인터페이스 객체의 표면과 동일 평면에 있음)(예컨대, 구역들(7080-b, 7080-c, 및 7080-d)이 도 7q의 사용자 인터페이스 객체(7080)의 표면과 동일 평면에 있는 경우와 같음). 일부 실시예들에서, 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하지 않는다는 결정에 따라, 컴퓨터 시스템은 제1 선택가능한 객체의 두께를 변경하지 않는다(예컨대, 도 7r 내지 7v의 사용자(7002)로부터의 입력들은 구역(7080-d)으로 지향되지 않고 그와 상호작용하기 위한 사용자(7002)의 준비를 표시하지 않기 때문에, 그리고 구역(7080-d)과 상호작용하기 위한 사용자(7002)의 준비를 표시하는 어떠한 다른 입력도 검출되지 않기 때문에, 구역(7080-d)의 두께는 도 7q 내지 도 7w에서 불변으로 유지된다). 선택가능한 객체와 상호작용하기 위한 사용자의 준비(예컨대, 의도)를 표시하는 입력에 응답하여 선택가능한 객체의 두께를 변경하는 것은, 사용자 인터페이스의 어느 부분이 추가적 상호작용에 대해 현재 초점을 갖는지를 표시하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다고 결정하는 것은 사용자가 제1 선택가능한 객체에 주의를 기울이고 있다(예컨대, 사용자의 시선이 제1 선택가능한 객체로 지향된다)고 결정하는 것을 포함한다. 예를 들어, 도 7r 내지 7t를 참조하여 도시되고 설명된 바와 같이, 사용자 인터페이스 요소(7080)의 개개의 선택가능한 구역과 상호작용하기 위한 사용자(7002)의 준비는 사용자(7002)가 개개의 선택가능한 구역으로 주의를 돌리는 것에 기초하여 결정된다. 선택가능한 객체와의 상호작용을 가능하게 하기 위해 사용자가 선택가능한 객체에 주의를 기울이도록 요구하는 것은 컴퓨터 시스템으로 하여금 사용자 의도를 더 정확하게 자동으로 식별하게 하고, 이로써 입력 실수들 및 의도하지 않은 결과들을 감소시킨다.
일부 실시예들에서, 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다고 결정하는 것은, 사용자의 손이 준비 상태에 있다고 결정하는 것(그리고 예컨대, 선택적으로, 사용자의 손이 준비 상태에 있는 것과 함께 사용자가 제1 선택가능한 객체를 응시하고 있다고 결정하는 것)을 포함한다. 예를 들어, 도 7r을 참조하여 도시되고 설명된 바와 같이, 사용자 인터페이스 요소(7080)의 개개의 선택가능한 구역과 상호작용하기 위한 사용자(7002)의 준비는 사용자(7002)가 개개의 선택가능한 구역으로 주의를 돌리는 것 대신에 또는 그에 추가로, 사용자(7002)의 손이 준비 상태에 있는 것에 기초하여 결정된다. 선택가능한 객체와의 상호작용을 가능하게 하기 위해 사용자의 손이 준비 상태에 있도록 사용자에게 요구하는 것은 컴퓨터 시스템으로 하여금 사용자 의도를 더 정확하게 자동으로 식별하게 하고, 이로써 입력 실수들 및 의도하지 않은 결과들을 감소시킨다.
일부 실시예들에서, 제1 선택가능한 객체의 두께를 변경하는 것은 (예컨대, 제1 두께로부터 제2 두께로의) 제1 선택가능한 객체의 두께의 점진적인 증가의 애니메이션을 디스플레이하는 것을 포함한다. 예를 들어, 도 7r을 참조하여 설명된 바와 같이, 구역(7080-b)(또는 유사하게 구역(7080-c)(도 7s))과 같은 개개의 구역의 두께의 증가는 두께의 증가의 애니메이션을 통해 디스플레이된다. 선택가능한 객체와 상호작용하기 위한 사용자의 의도를 검출하는 것에 응답하여 선택가능한 객체의 두께의 증가를 애니메이션화하는 것은 시각적으로 덜 거북한 방식으로 컴퓨터 시스템의 상태에 대한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 시스템은 (예컨대, 제1 선택가능한 객체의 개개의 시뮬레이션된 재료에 기초하여) 제1 선택가능한 객체의 하나 이상의 에지들로부터 반사되는 시뮬레이션된 광의 시각적 효과를 디스플레이함으로써 제1 선택가능한 객체의 두께를 표시한다. 예를 들어, 도 7r 내지 도 7v를 참조하여 도시되고 설명된 바와 같이, 사용자 인터페이스 요소(7080)의 개개의 선택가능한 구역이 증가된 두께를 갖지만, 두께를 표시하는, 개개의 선택가능한 구역의 하나 이상의 에지들로부터의 정반사가 디스플레이된다. 일부 실시예들에서, 반사된 광의 시각적 효과의 정도는 제1 선택가능한 객체의 두께에 기초한다. 일부 실시예들에서, 제1 선택가능한 객체의 하나 이상의 에지들로부터 반사되는 광의 시각적 효과(예컨대, 그 시각적 효과의 범위)는 제1 선택가능한 객체의 두께가 점진적으로 변경될 때 점진적으로 업데이트된다(예컨대, 애니메이션이 진행됨에 따라 증가됨). 객체의 두께를 표시하기 위해 선택가능한 객체의 에지들로부터의 시뮬레이션된 정반사를 디스플레이하는 것은 사용자의 콘텍스트 인식을 개선하고, 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 제1 선택가능한 객체의 두께를 변경하는(예컨대, 증가시키는) 것과 조합하여, 컴퓨터 시스템은 제1 선택가능한 객체의 하나 이상의 에지들로부터 반사되는 시뮬레이션된 광의 시각적 효과가 제1 선택가능한 객체의 중심을 향해 연장되는 양을 변경한다(예컨대, 증가시킨다)(예컨대, 제1 선택가능한 객체의 두께의 증가를 위해, 이를테면, 제1 선택가능한 객체의 하나 이상의 에지들을 따라 추가로 연장되는 반사를 도시하는 것 및/또는 제1 선택가능한 객체가 투명한 또는 반-투명한 시뮬레이션된 재료를 시뮬레이션하는 경우, 제1 선택가능한 객체 내에서 추가로 내부 반사되는 광을 디스플레이하는 것에 의해, 제1 선택가능한 객체로부터의 광 반사의 겉보기 양을 증가시킨다). 예를 들어, 도 7r을 참조하여 설명된 바와 같이, 구역(7080-b)(또는 유사하게, 구역(7080-c)(도 7s))과 같은 개개의 구역으로부터의 정반사의 양 및/또는 범위는 개개의 구역의 두께가 변경될 때 대응하여 변경된다. 객체의 두께의 변화들에 기초하여 선택가능한 객체의 에지들로부터의 시뮬레이션된 정반사의 양 및 범위를 변경하는 것은 사용자의 콘텍스트 인식을 개선하고, 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 3차원 환경의 제1 뷰는 사용자의 시점으로부터 가시적이고, 제1 입력을 검출하는 것에 응답하여, 그리고 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다는 결정에 따라(예컨대, 제1 선택가능한 객체의 두께를 변경하는 것과 조합하여), 컴퓨터 시스템은 제1 선택가능한 객체와 사용자의 시점 사이의 시뮬레이션된 거리를 감소시킨다(예컨대, 제1 선택가능한 객체를 사용자의 시점을 향해 이동하는 것으로 나타나도록 디스플레이한다). 예를 들어, 도 7r 및 도 7t를 참조하여 도시되고 설명된 바와 같이, 사용자(7002)가 구역(7080-b)으로 주의를 돌리는 것에 응답하여, 구역(7080-b)은 사용자 인터페이스 요소(7080)의 표면으로부터 분리되고 올려지고, 사용자(7002)의 시점에 더 가깝게 된다. 다른 예에서, 도 7s를 참조하여 도시되고 설명된 바와 같이, 사용자(7002)가 구역(7080-c)으로 주의를 돌리는 것에 응답하여, 구역(7080-c)은 사용자 인터페이스 요소(7080)의 표면으로부터 분리되고 올려지고, 사용자(7002)의 시점에 더 가깝게 된다. 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는 입력에 응답하여 선택가능한 객체를 사용자의 시점에 더 가깝게 이동시키는 것은 선택가능한 객체가 추가적 상호작용에 대한 초점을 갖는다는 것을 강조하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 제1 선택가능한 객체와 사용자의 시점 사이의 시뮬레이션된 거리를 감소시키는 것은 제1 선택가능한 객체와 사용자 인터페이스 객체의 표면(예컨대, 후면) 사이의 분리 정도를 증가시킨다(예컨대, 통상적으로 사용자의 시점과 사용자 인터페이스 객체 사이의 시뮬레이션된 거리를 변경함이 없이, 제1 선택가능한 객체를 사용자 인터페이스 객체로부터 분리되고, 사용자의 시점을 향해 사용자 인터페이스 객체(예컨대, 그 후면과 같은 표면)로부터 멀리 이동하는 것으로 나타나도록 디스플레이함). 일부 실시예들에서, 제1 선택가능한 객체와 사용자 인터페이스 객체의 표면 사이의 분리 정도를 증가시키는 것은 사용자 인터페이스 객체에 대한 제1 선택가능한 객체의 z-높이를 변경한다(예컨대, 증가시킨다). 예를 들어, 도 7r 및 도 7t를 참조하여 도시되고 설명된 바와 같이, 사용자(7002)가 구역(7080-b)으로 주의를 돌리는 것에 응답하여, 구역(7080-b)은 사용자 인터페이스 요소(7080)의 표면으로부터(예컨대, 전면으로부터 그리고 후면으로부터의 연장에 의해) 분리되고 올려진다. 다른 예에서, 도 7s를 참조하여 도시되고 설명된 바와 같이, 사용자(7002)가 구역(7080-c)으로 주의를 돌리는 것에 응답하여, 구역(7080-c)은 사용자 인터페이스 요소(7080)의 표면으로부터(예컨대, 전면으로부터 그리고 후면으로부터의 연장에 의해) 분리되고 올려진다. 본 명세서에서 사용된 바와 같이, 개개의 객체의 두께는 객체의 치수(예컨대, 그의 전면으로부터 그의 후면까지의 객체의 측정)를 지칭한다. 본 명세서에서 사용되는 바와 같이, z-높이로 또한 지칭되는 개개의 객체의 높이는 (예컨대, 객체의 치수를 지칭하기보다는) 객체와 다른 객체 사이의 분리 정도를 지칭한다. 사용자 인터페이스 객체의 일부인 선택가능한 객체를 사용자 인터페이스 객체의 다른 부분들(예컨대, 나머지)로부터 멀리 올리는 것은, 선택가능한 객체가 추가적 상호작용에 대한 초점을 갖는다는 것을 강조하면서, 사용자 인터페이스 객체의 다른 양태들을 초점을 갖지 않는 것으로 덜 강조하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 시스템은 (예컨대, 3차원 환경 내의 하나 이상의 시뮬레이션된 광원들 및/또는 디스플레이 생성 컴포넌트를 둘러싼 물리적 환경 내의 하나 이상의 실제 광원들에 기초하여) 제1 선택가능한 객체에 의해 캐스팅된 시뮬레이션된 그림자를 사용자 인터페이스 객체의 표면 상에 디스플레이한다. 일부 실시예들에서, 그림자는 제1 선택가능한 객체와 사용자 인터페이스 객체의 표면 사이의 분리 정도를 증가시키는 것과 조합하여 디스플레이된다(예컨대, 제1 선택가능한 객체의 표면이 초기에 사용자 인터페이스의 표면과 동일 평면에 있는 경우, 그림자는 초기에 디스플레이되지 않는다). 예를 들어, 도 7r 내지 도 7t를 참조하여 도시되고 설명된 바와 같이, 사용자 인터페이스 요소(7080)의 개개의 선택가능한 구역은 증가된 두께를 갖지만, 그림자는 사용자 인터페이스 요소(7080) 상에 캐스팅되는 것으로 디스플레이된다. 연관된 사용자 인터페이스 객체(예컨대, 백킹 플래터) 상에 선택가능한 객체에 의해 캐스팅된 시뮬레이션된 그림자를 디스플레이하는 것은 사용자 인터페이스 객체의 다른 부분들에 비해 추가적 상호작용을 위한 초점을 갖는 선택가능한 객체를 추가로 강조하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 사용자 인터페이스 객체는 3차원 환경에서 제2 동작을 수행하도록 활성화가능한 제2 선택가능한 객체를 더 포함하고, 제2 선택가능한 객체는 제1 선택가능한 객체와 상이하고, 제2 동작은 개개의 동작과 상이하다. 일부 실시예들에서, 제1 선택가능한 객체와 사용자의 시점 사이의 시뮬레이션된 거리를 감소시키는 것은 제1 선택가능한 객체를 제2 선택가능한 객체에 대해 이동시킨다(예컨대, 제2 선택가능한 객체에 대한 제1 선택가능한 객체의 분리 정도 또는 z-높이를 변경한다). 일부 실시예들에서, 제1 선택가능한 객체와 상호작용하기 위한(그리고, 예컨대, 제2 선택가능한 객체와 상호작용하지 않음) 사용자의 준비를 표시하는 입력에 응답하여, 제1 선택가능한 객체가 사용자 인터페이스 객체로부터 멀리 이동됨에 따라, 제2 선택가능한 객체는 사용자 인터페이스 객체에 대해 이동되지 않고/않거나 사용자의 시점에 대해 이동되지 않는다. 예를 들어, 도 7r을 참조하여 본 명세서에 도시되고 설명된 바와 같이, 사용자(7002)가 구역(7080-b)으로 주의를 돌리는 것에 응답하여, 구역(7080-b)은 사용자(7002)의 시점에 더 근접하게 되고, 따라서 구역(7080-b)을 이동되지 않는 구역들(7080-c 및 7080-d)에 대해 이동시킨다. 사용자 인터페이스 객체의 일부인 선택가능한 객체를 사용자 인터페이스 객체의 일부인 다른 선택가능한 객체들로부터 멀리 올리는 것은, 추가적 상호작용에 대한 초점을 갖는 선택가능한 객체를 강조하면서, 사용자 인터페이스 객체의 다른 선택가능한 부분들을 초점을 갖지 않는 것으로 덜 강조하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 제1 입력을 검출하는 것에 응답하여, 그리고 (예컨대, 제1 선택가능한 객체의 두께를 변경하는 것과 조합하여) 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다는 결정에 따라, 컴퓨터 시스템은 제1 선택가능한 객체의 불투명도를 변경(예컨대, 감소)시킨다. 예를 들어, 도 7r 및 도 7t를 참조하여 본 명세서에 도시되고 설명된 바와 같이, 사용자(7002)가 구역(7080-b)으로 주의를 돌리는 것에 응답하여, 구역(7080-b)의 불투명도는 도 7q에서의 그의 불투명도에 비해 감소된다. 다른 예에서, 도 7s를 참조하여 본 명세서에 도시되고 설명된 바와 같이, 사용자(7002)가 구역(7080-c)으로 주의를 돌리는 것에 응답하여, 구역(7080-c)의 불투명도는 도 7q에서의 그의 불투명도에 비해 감소된다. 일부 실시예들에서, 제1 선택가능한 객체의 불투명도가 증가된다. 일부 실시예들에서, 제1 입력을 검출하는 것에 응답하여, 그리고 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다는 결정에 따라, 컴퓨터 시스템은 제1 선택가능한 객체의 하나 이상의 다른 시각적 속성들을 변경한다(예컨대, 밝기를 증가 또는 감소시키고, 채도를 증가시키거나 감소시키고, 그리고/또는 색조를 변경한다). 예를 들어, 제1 선택가능한 객체의 밝기가 증가된다. 선택가능한 객체와 상호작용하기 위한 사용자의 의도를 검출하는 것에 응답하여 선택가능한 객체의 불투명도를 변경하는 것은 추가적 상호작용에 대한 초점을 갖는 선택가능한 객체를 시각적으로 구별하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 제1 입력을 검출하는 것에 응답하여, 그리고 (예컨대, 제1 선택가능한 객체의 두께를 변경하는 것과 조합하여) 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다는 결정에 따라, 컴퓨터 시스템은 제1 선택가능한 객체의 블러링 정도를 변경한다(예컨대, 증가시킨다)(예를 들어, 제1 선택가능한 객체의 블러 반경을 증가시키는 것과 같이 변경한다). 예를 들어, 도 7r 및 도 7t를 참조하여 본 명세서에서 설명된 바와 같이, 사용자(7002)가 구역(7080-b)으로 주의를 돌리는 것에 응답하여, 도 7r 및 도 7t의 구역(7080-b)을 통해 보여지는 바와 같이, 구역(7080-b) 아래에 있는 콘텐츠의 블러는, 도 7q에서 구역(7080-b)을 통해 볼 때 구역(7080-b) 아래에 있는 콘텐츠의 블러에 비해 증가된다. 다른 예에서, 도 7s에 도시되고 이를 참조하여 본 명세서에서 설명된 바와 같이, 사용자(7002)가 구역(7080-c)으로 주의를 돌리는 것에 응답하여, 도 7s의 구역(7080-c)을 통해 보여지는 바와 같이, 구역(7080-c) 아래에 있는 콘텐츠의 블러는, 도 7q에서 구역(7080-c)을 통해 볼 때 구역(7080-c) 아래에 있는 콘텐츠의 블러에 비해 증가된다. 일부 실시예들에서, 제1 선택가능한 객체의 블러링은 제1 선택가능한 객체의 기존의 경계들 내의 제1 선택가능한 객체의 외관에 적용된다(예컨대, 블러링은 제1 선택가능한 객체의 경계들을 연장시키지 않는다(예컨대, 에지들을 페더링(feather)하거나 연화시키지 않음)). 일부 실시예들에서, 제1 선택가능한 객체의 외관이 제1 선택가능한 객체 뒤에 있는 3차원 환경의 부분의 외관에 기초하는 경우(예컨대, 3차원 환경 내의 제1 선택가능한 객체의 시뮬레이션된 위치보다 사용자의 시점으로부터 더 멀리 있음), 예를 들어, 투명 또는 반투명 재료의 외관을 모방하기 위해, 제1 선택가능한 객체의 블러링은 3차원 환경의 기본 부분의 외관에 적용된다(예컨대, 제1 선택가능한 객체의 블러링 정도는 3차원 환경의 기본 부분이 제1 선택가능한 객체"를 통해" 나타나는 방식을 변경한다). 선택가능한 객체와 상호작용하기 위한 사용자의 의도를 검출하는 것에 응답하여 선택가능한 객체의 블러링 정도를 변경하는 것은 일부 상황들에서, 기본 객체로부터 멀리 올려지는 시뮬레이션된 반투명 객체의 시각적 효과를 향상시키는 것을 포함하여, 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 사용자 인터페이스 객체는 3차원 환경에서 제2 동작을 수행하도록 활성화가능한 제2 선택가능한 객체를 더 포함하고, 제2 선택가능한 객체는 제1 선택가능한 객체와 상이하고, 제2 동작은 개개의 동작과 상이하다. 일부 실시예들에서, (예컨대, 제1 입력을 검출하는 것에 응답하여, 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는 경우) 제1 선택가능한 객체의 두께를 변경하는 것은 제2 선택가능한 객체의 두께에 대해 제1 선택가능한 객체의 두께를 변경한다. 예를 들어, 도 7r을 참조하여 본 명세서에 도시되고 설명된 바와 같이, 사용자(7002)가 구역(7080-b)으로 주의를 돌리는 것에 응답하여, 구역(7080-b)은 두께가 증가되고, 그에 따라, 도 7q로부터 불변으로 유지되는 구역들(7080-c 및 7080-d)의 두께에 비해, 그와 상이하도록 구역(7080-b)의 두께를 변경한다. 일부 실시예들에서, 제2 선택가능한 객체의 두께는 제1 선택가능한 객체와 상호작용하기 위한(그리고 예컨대, 제2 선택가능한 객체와 상호작용하지 않음) 사용자의 준비를 표시하는 입력에 응답하여 변경되지 않는다. 사용자 인터페이스 객체의 일부인 선택가능한 객체의 두께를 사용자 인터페이스 객체의 일부인 다른 선택가능한 객체들의 두께에 비해 변경하는 것은, 추가적 상호작용에 대한 초점을 갖는 선택가능한 객체를 강조하면서, 사용자 인터페이스 객체의 다른 선택가능한 부분들을 초점을 갖지 않는 것으로 덜 강조하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 사용자 인터페이스 객체는 3차원 환경에서 제2 동작을 수행하도록 활성화가능한 제2 선택가능한 객체를 더 포함하고, 제2 선택가능한 객체는 제1 선택가능한 객체와 상이하고, 제2 동작은 개개의 동작과 상이하다. 일부 실시예들에서, 컴퓨터 시스템은, 제2 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는, 제2 선택가능한 객체에 대응하는 제2 입력을 검출하고; 제2 입력을 검출하는 것에 응답하여(그리고 예컨대, 제2 입력이 제2 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다는 결정에 따라), 제2 선택가능한 객체의 두께를 (예컨대, 선택적으로 제1 두께와 동일한 제3 두께로부터 선택적으로 제2 두께와 동일한 제4 두께까지) 변경한다(예를 들어, 증가시킨다), 일부 실시예들에서, 제2 선택가능한 객체는 사용자 인터페이스 객체의 개개의 구역을 점유하고, 제2 선택가능한 객체의 두께를 변경하는 것은 제2 선택가능한 객체의 표면과 개개의 구역에 인접한 사용자 인터페이스 객체의 구역의 표면 사이의 분리 정도를 변경하는 것을 포함한다. 제1 선택가능한 객체와 관련하여 본 명세서에서 설명된 바와 같이, 일부 실시예들에서, 분리 정도는 0으로부터 (예컨대, 분리 없음으로부터 일부 분리로) 변한다. 예를 들어, 도 7s를 참조하여 본 명세서에 도시되고 설명된 바와 같이, 사용자(7002)가 구역(7080-c)으로 주의를 돌리는 것에 응답하여, 구역(7080-c)의 두께가 증가된다. 특정한 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는 입력에 응답하여 특정한 선택가능한 객체의 두께를 변경하는 것은, 사용자 인터페이스의 어느 부분이 추가적 상호작용에 대해 현재 초점을 갖는지를 표시하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 제1 선택가능한 객체의 두께를 변경하는 것은 제1 선택가능한 객체의 두께를 개개의 양만큼 변경하고, 제2 선택가능한 객체의 두께를 변경하는 것은 제2 선택가능한 객체의 두께를 동일한 개개의 양만큼 변경한다. 예를 들어, 도 7r에서 사용자(7002)의 주의가 구역(7080-b)으로 지향되는 것에 응답하는 구역(7080-b)의 두께의 증가의 양은, 도 7s에서 사용자(7002)의 주의가 구역(7080-c)으로 지향되는 것에 응답하는 구역(7080-c)의 두께의 증가의 양과 동일하다. 상이한 선택가능한 객체들의 두께들을 동일한 양만큼 변경하는 것은 컴퓨터 시스템에서 동일한 유형의 상태 변화들에 관한 일관된 시각적 피드백을 제공한다.
일부 실시예들에서, 제2 입력을 검출하는 것은 사용자의 주의가 제1 선택가능한 객체로부터 제2 선택가능한 객체로 이동했다는 것을 검출하는 것을 포함한다(예컨대, 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는 것을 검출하는 것을 중단하는 것과 함께, 또는 그 후에, 제2 입력이 검출된다). 일부 실시예들에서, 제2 입력을 검출하는 것은 사용자의 손이 준비 상태에서 유지되는 동안 사용자의 주의가 제1 선택가능한 객체로부터 제2 선택가능한 객체로 이동했다는 것을 검출하는 것을 포함한다(예컨대, 본 명세서에서 설명된 바와 같이, 사용자의 손이 준비 상태에 있는 것은 선택가능한 객체와 상호작용하기 위한 준비에 대한 요건들 중 하나이고, 따라서 상호작용하기 위한 준비를 검출하는 것에 응답하여 제공되는 시각적 피드백의 다양한 유형들에 대한 전제조건이다). 일부 실시예들에서, 제2 입력을 검출하는 것에 응답하여(예컨대, 제2 선택가능한 객체의 두께를 변경하는 것과 조합하여), 컴퓨터 시스템은, (예컨대, 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는 것에 응답하여 수행된) 제1 선택가능한 객체의 두께의 변화를 반전시킨다. 예를 들어, 사용자(7002)의 주의가 구역(7080-b)(도 7r)으로부터 구역(7080-c)(도 7s)으로 이동되는 것에 응답하여, 구역(7080-b)(도 7s)의 두께는 도 7r에서의 그의 외관으로부터 도 7q에서의 그의 외관으로 복귀된다. 다른 예에서, 사용자(7002)의 주의가 구역(7080-c)(도 7s)으로부터 구역(7080-b)(도 7t)으로 이동되는 것에 응답하여, 구역(7080-c)(도 7t)의 두께는 도 7s에서의 그의 외관으로부터 도 7q에서의 그의 외관으로 복귀된다. 사용자가 제1 선택가능한 객체와 상호작용하기 위한 준비를 표시하는 것으로부터 제2 선택가능한 객체와 상호작용하기 위한 준비를 표시하는 것으로 스위칭할 때, 제2 선택가능한 객체의 두께를 변경하고 제1 선택가능한 객체의 두께의 이전 변화를 반전시키는 것은(예컨대, 사용자가 현재 상호작용하기 위한 준비를 표시하고 있는 선택가능한 객체에 대해서만 변경된 두께를 디스플레이함), 사용자 인터페이스의 어느 부분이 추가적 상호작용을 위한 초점을 갖는지를 표시하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 제1 입력을 검출한 후에, 그리고 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다는 결정에 따라, 컴퓨터 시스템은 제1 선택가능한 객체로 지향된 상호작용 입력의 제1 부분(예컨대, 도 7u에서 사용자(7002)의 손(7020)에 의해 수행되는 입력 제스처의 제1 부분)을 검출한다. 일부 실시예들에서, 상호작용 입력은 제스처(예컨대, 에어 핀치 또는 에어 탭과 같은 에어 제스처)를 포함하고, 선택적으로, 사용자가 제1 선택가능한 객체와 상호작용하기 위한 준비를 표시하는 동안 개시되어야 한다(예컨대, 사용자가 이를테면, 제1 선택가능한 객체를 응시함으로써 그에 주의를 돌리는 동안 개시되고/되거나 사용자의 손이 준비 상태로부터 시작하는 것에 의해 수행됨). 일부 실시예들에서, (예컨대, 상호작용 입력의 종료를 검출하기 전에) 제1 선택가능한 객체로 지향된 상호작용 입력의 제1 부분을 검출하는 것에 응답하여, 컴퓨터 시스템은 제1 선택가능한 객체의 외관을 변경한다. 당업자는, 본 명세서에 설명된 바와 같이, 제1 선택가능한 객체의 개개의 시각적 속성(예컨대, 크기, 불투명도, 밝기, 블러링의 양, 또는 본 명세서에 설명된 다른 시각적 속성)을 변경하는 것이 개개의 시각적 속성의 값, 양, 또는 범위를 증가시키는 것 또는 대안적으로 개개의 시각적 속성의 값, 양, 또는 범위를 감소시키는 것을 포함한다는 것을 인식할 것이다. 예를 들어, 도 7u를 참조하여 본 명세서에서 설명된 바와 같이, 사용자(7002)의 손(7020)에 의해 수행된 입력 제스처(예컨대, 그의 제1 부분 또는 개시)에 응답하여, 구역(7080-b)이 추가적 상호작용을 위해 선택되는 동안, 구역(7080-b)의 외관이 변경된다. 사용자가 선택가능한 객체와 상호작용하기 위한 준비를 단순히 표시하는 것에 응답하여 선택가능한 객체의 두께를 이전에 변경한 후에, 선택가능한 객체와의 상호작용(예컨대, 그의 시작)에 응답하여 선택가능한 객체의 외관을 추가로 변경하는 것은 사용자 입력을 현재 수신하고 있는 사용자 인터페이스의 부분을 시각적으로 강조하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 상호작용 입력의 제1 부분을 검출하는 것에 응답하여 제1 선택가능한 객체의 외관을 변경하는 것은 제1 선택가능한 객체의 크기를 변경하는 것(예컨대, 감소시키는 것, 또는 일부 실시예들에서 증가시키는 것)을 포함한다(예컨대, 스케일링 다운). 예를 들어, 올려진 구역(7080-b)의 크기는 손(7020)에 의해 수행된 입력 제스처에 응답하여 도 7u에서 감소된다. 선택가능한 객체와의 상호작용에 응답하여 선택가능한 객체의 크기를 변경하는 것은 현재 사용자 입력을 수신하고 있는 사용자 인터페이스의 부분을 시각적으로 구별하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 상호작용 입력의 제1 부분을 검출하는 것에 응답하여 제1 선택가능한 객체의 외관을 변경하는 것은 제1 선택가능한 객체의 불투명도를 변경하는 것(예컨대, 증가시키는 것, 또는 일부 실시예들에서 감소시키는 것)을 포함한다. 예를 들어, 올려진 구역(7080-b)의 불투명도는 손(7020)에 의해 수행된 입력 제스처에 응답하여 도 7u에서 (예컨대, 추가로) 감소된다. 선택가능한 객체와의 상호작용에 응답하여 선택가능한 객체의 불투명도를 변경하는 것은 상호작용 동안 선택가능한 객체의 가독성을 개선하고, 사용자 입력을 현재 수신하고 있는 사용자 인터페이스의 부분을 시각적으로 구별하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 상호작용 입력의 제1 부분을 검출하는 것에 응답하여 제1 선택가능한 객체의 외관을 변경하는 것은 제1 선택가능한 객체의 밝기를 변경하는 것(예컨대, 감소시키는 것, 또는 일부 실시예들에서 증가시키는 것)을 포함한다. 예를 들어, 올려진 구역(7080-b)의 밝기는 손(7020)에 의해 수행된 입력 제스처에 응답하여 도 7u에서 감소된다. 선택가능한 객체와의 상호작용에 응답하여 선택가능한 객체의 밝기를 변경하는 것은 상호작용 동안 선택가능한 객체의 가독성을 개선하고, 사용자 입력을 현재 수신하고 있는 사용자 인터페이스의 부분을 시각적으로 구별하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 상호작용 입력의 제1 부분을 검출하는 것에 응답하여 제1 선택가능한 객체의 외관을 변경하는 것은 (3차원 환경에서 조명된 것, 실제인 것(예컨대, 대응하는 물리적 환경) 및/또는 시뮬레이션된 것에 기초하여 3차원 환경에서 제1 선택가능한 객체, 사용자 인터페이스 객체 및/또는 다른 객체(들)에 의해 캐스팅된 것처럼) 제1 선택가능한 객체의 (예컨대, 그 상에 디스플레이되는 또는 그에 의해 캐스팅되는 것으로 나타나는) 시뮬레이션된 그림자의 세기(예컨대, 길이, 어두움 및/또는 선예도 또는 블러)를 변경하는 것(예컨대, 증가시키는 것)을 포함한다. 예를 들어, 올려진 구역(7080-b)에 의해 캐스팅된 것으로 나타나는 그림자는 손(7020)에 의해 수행된 입력 제스처에 응답하여 도 7u에서 강화된다. 선택가능한 객체와의 상호작용에 응답하여 선택가능한 객체의 시뮬레이션된 그림자의 세기를 변경하는 것은 현재 사용자 입력을 수신하고 있는 사용자 인터페이스의 부분을 시각적으로 구별하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 상호작용 입력의 제1 부분을 검출하는 것에 응답하여 제1 선택가능한 객체의 외관을 변경하는 것은, 제1 선택가능한 객체의 외관을 제2 세트의 하나 이상의 시각적 속성들에 대해 변경하지 않으면서(예컨대, 유지하면서) 제1 선택가능한 객체의 외관을 제1 세트의 하나 이상의 시각적 속성들에 대해 변경하는 것을 포함하고, 제1 세트의 하나 이상의 시각적 속성들은 제2 세트의 하나 이상의 시각적 속성들과 상이하다(예컨대, 2개의 세트들은 상이한 시각적 속성들을 포함하고, 일부 실시예들에서, 어떠한 시각적 속성들도 공통으로 포함하지 않음). 도 7u를 참조하여 본 명세서에 도시되고 설명된 바와 같이, 크기, 불투명도 및 밝기와 같은 구역(7080-b)의 일부 시각적 속성들은 손(7020)에 의해 수행된 입력 제스처에 응답하여 변경되지만, 사용자 인터페이스 요소(7080)의 두께, 정반사, 및 표면으로부터의 분리는 불변으로 유지된다. 일부 예들에서, 상호작용 입력에 응답하여, 제1 선택가능한 객체의 외관은 (예컨대, 제1 세트의 시각적 속성들에서) 크기, 불투명도, 밝기 및/또는 그림자 세기에 대해 변경되고, 제1 선택가능한 객체의 외관은 (예컨대, 제2 세트의 시각적 속성들에서) 두께, (예컨대, 사용자 인터페이스 객체에 대한) z-높이, 블러링 및/또는 정반사에 대해 변경되지 않는다. 일부 실시예들에서, 제1 선택가능한 객체의 외관은 사용자 인터페이스 객체에 대한 제1 선택가능한 객체의 상대적인 공간 포지셔닝에 대해 변경되지 않는다(예컨대, 선택적으로, 사용자 인터페이스 객체의 중심에 대한 제1 선택가능한 객체의 중심의 상대적인 z-포지셔닝을 또한 유지하면서, 제1 선택가능한 객체의 중심은 사용자 인터페이스 객체의 중심에 대해 x- 또는 y-방향들로 이동되지 않는다). 일부 실시예들에서, 유사하게, 제1 입력을 검출하는 것에 응답하여 그리고 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다는 결정에 따라, 제1 선택가능한 객체의 하나 이상의 시각적 속성들의 변화는, 하나 이상의 다른 시각적 속성들을 변경하지 않고 수행된다(예컨대, 두께, 정반사, z-높이, 그림자, 불투명도 및/또는 블러는 스케일을 변경하지 않고 변경됨). 선택가능한 객체의 하나 이상의 다른 시각적 속성들을 유지하면서 선택가능한 객체와의 상호작용에 응답하여 선택가능한 객체의 하나 이상의 시각적 속성들을 변경하는 것은 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공하는 것과 사용자 인터페이스를 너무 많은 변화들로 혼란스럽게 하여, 사용자가 컴퓨터 시스템을 사용할 때 멀미를 겪을 가능성을 증가시킬 것을 밸런싱한다.
일부 실시예들에서, 상호작용 입력의 제1 부분을 검출하는 것에 응답하여, 컴퓨터 시스템은 제1 선택가능한 객체의 두께를 (예컨대, 제2 두께로) 유지한다. 예를 들어, 올려진 구역(7080-b)의 두께는 손(7020)에 의해 수행된 입력 제스처에 응답하여, 도 7t에서와 동일한 두께로 도 7u에서 유지된다. 선택가능한 객체와의 상호작용에 응답하여 선택가능한 객체의 하나 이상의 다른 시각적 속성들을 변경하면서 선택가능한 객체의 두께를 유지하는 것은 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공하는 것과 사용자 인터페이스를 너무 많은 변화들로 혼란스럽게 하여, 사용자가 컴퓨터 시스템을 사용할 때 멀미를 겪을 가능성을 증가시킬 것을 밸런싱한다.
일부 실시예들에서, 상호작용 입력의 제1 부분을 검출하는 것에 응답하여, 컴퓨터 시스템은 제1 선택가능한 객체와 사용자 인터페이스 객체의 표면 사이의 분리 정도를 유지한다(예컨대, 제1 선택가능한 객체와 사용자의 시점 사이의 시뮬레이션된 거리를 유지한다). 예를 들어, 구역(7080-b)이 사용자 인터페이스 요소(7080)의 표면으로부터 멀리 올려지는 양은 도 7t에서와 같이 도 7u에서 동일하다. 선택가능한 객체와의 상호작용에 응답하여 선택가능한 객체의 하나 이상의 다른 시각적 속성들을 변경하면서 다른 연관된 사용자 인터페이스 객체에 대한 선택가능한 객체의 z-높이를 유지하는 것은 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공하는 것과 사용자 인터페이스를 너무 많은 변화들로 혼란스럽게 하여, 사용자가 컴퓨터 시스템을 사용할 때 멀미를 겪을 가능성을 증가시킬 것을 밸런싱한다.
일부 실시예들에서, 상호작용 입력의 제1 부분을 검출하는 것에 응답하여, 컴퓨터 시스템은 제1 선택가능한 객체의 블러링 정도를 유지한다. 예를 들어, 구역(7080-b)을 통해 보이는 바와 같은 기본 콘텐츠의 블러링의 양은 도 7t에서와 같이 도 7u에서 동일하다(예컨대, 구역(7080-b)의 두께 및 사용자 인터페이스 요소(7080)로부터의 분리 정도와 일치하여 둘 모두가 도 7t에서와 같이 도 7u에서 동일함). 선택가능한 객체와의 상호작용에 응답하여 선택가능한 객체의 하나 이상의 다른 시각적 속성들을 변경하면서 선택가능한 객체의 블러링 정도를 유지하는 것은 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공하는 것과 사용자 인터페이스를 너무 많은 변화들로 혼란스럽게 하여, 사용자가 컴퓨터 시스템을 사용할 때 멀미를 겪을 가능성을 증가시킬 것을 밸런싱한다.
일부 실시예들에서, 상호작용 입력의 제1 부분을 검출하는 것에 응답하여, 컴퓨터 시스템은 (예컨대, 제1 선택가능한 객체의 두께를 유지하는 것에 따라) 제1 선택가능한 객체의 하나 이상의 에지들로부터 반사되는 광의 시각적 효과(예컨대, 이의 범위)를 유지한다. 예를 들어, 올려진 구역(7080-b)으로부터의 정반사는 도 7t에서와 같이 도 7u에서 동일하다(예컨대, 구역(7080-b)의 두께와 일치하여 둘 모두가 도 7t에서와 같이 도 7u에서 동일함). 선택가능한 객체와의 상호작용에 응답하여 선택가능한 객체의 하나 이상의 다른 시각적 속성들을 변경하면서 선택가능한 객체로부터의 시뮬레이션된 정반사의 외관을 유지하는 것은 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공하는 것과 사용자 인터페이스를 너무 많은 변화들로 혼란스럽게 하여, 사용자가 컴퓨터 시스템을 사용할 때 멀미를 겪을 가능성을 증가시킬 것을 밸런싱한다.
일부 실시예들에서, 컴퓨터 시스템은 상호작용 입력의 종료를 포함하는 상호작용 입력의 제2 부분(예컨대, 제2 부분이 제1 부분에 바로 후속함)을 검출한다. 일부 실시예들에서, 상호작용 입력의 제1 부분은 제스처의 제1 부분(예컨대, 2개의 손가락들이 서로 접촉하게 되는 에어 핀치의 제1 부분 또는 탭의 제1 부분)에 대응하고, 상호작용 입력의 제2 부분은 제스처의 제2 부분에 대응한다(예컨대, 2개의 손가락들이 서로 접촉하게 된 후, 2개의 손가락들을 서로 이격되게 이동시킴으로써, 에어 핀치를 해제하거나, 또는 탭을 해제함). 일부 실시예들에서, 상호작용 입력의 제2 부분을 검출하는 것에 응답하여, 컴퓨터 시스템은 제1 선택가능한 객체의 외관을 변경하고(예컨대, 상호작용 입력의 제1 부분을 검출하는 것에 응답하여 제1 선택가능한 객체의 외관이 변경된 제2 방식과 상이한 및/또는 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한 제1 입력을 검출하는 것에 응답하여 제1 선택가능한 객체의 외관이 변경된 제1 방식과 상이한 제3 방식으로) 3차원 환경에서 개개의 동작을 수행한다(예컨대, 버튼 또는 다른 제어부를 활성화시키는 것, 애플리케이션 아이콘으로부터 애플리케이션을 개시하는 것, 메뉴를 드러내는 것, 토글의 상태를 변경하는 것, 또는 텍스트 박스와 같은 입력 필드에 초점을 부여함). 일부 실시예들에서, 제1 선택가능한 객체의 외관은 상호작용 입력의 종료 전에 발생하는 상호작용 입력의 제2 부분의 일부를 검출하는 것에 응답하여 변경된다. 일부 실시예들에서, 상호작용 입력의 제2 부분을 검출하는 것에 응답하여 제1 선택가능한 객체의 하나 이상의 시각적 속성들(예컨대, 크기, 불투명도, 밝기, 그림자 세기 및/또는 두께 또는 에칭 깊이)을 변경하는 것은 제1 선택가능한 객체의 하나 이상의 시각적 속성들의 이전 변화(예컨대, 상호작용 입력의 제1 부분을 검출하는 것에 응답하여 수행된 이전 변화)를 적어도 부분적으로 반전시킨다. 예를 들어, 도 7u의 손(7020)에 의해 수행된 입력 제스처의 종료에 응답하여, 구역(7080-b)의 외관은 도 7u에 도시된 외관으로부터 도 7v에 도시된 외관으로 변경되고(예컨대, 구역(7080-b)은 크기, 불투명도 및 밝기에서 증가됨), 구역(7080-b)과 연관된 개개의 동작이 수행된다. 다른 예에서, 구역(7080-b)과 연관된 개개의 동작은, 도 7u의 손(7020)에 의해 수행된 입력 제스처의 종료에 응답할 뿐만 아니라 사용자(7002)의 주의가 더 이상 도 7w에서와 같이 구역(7080-b)으로 지향되지 않는다는 결정에 따라 수행되고, 따라서, 구역(7080-b)의 외관은 도 7u에 도시된 외관으로부터 도 7w에 도시된 외관으로 변경된다(예컨대, 구역(7080-b)은 또한 사용자 인터페이스 요소(7080)로부터 두께 및 분리 정도에서 감소된다). 특히, 선택가능한 객체의 외관이 사용자 상호작용의 더 앞선 부분들에 대한 방식과 상이한 방식으로 변경될 때, 선택가능한 객체와의 사용자 상호작용의 완료에 응답하여, 선택가능한 객체의 외관을 변경하고 연관된 동작을 수행하는 것은, 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 상호작용 입력의 제2 부분을 검출하는 것에 응답하여 제1 선택가능한 객체의 외관을 변경하는 것은 제1 선택가능한 객체의 크기를 변경하는 것(예컨대, 증가시키는 것)을 포함한다(예컨대, 스케일링 업). 예를 들어, 도 7v 및 도 7w의 구역(7080-b)의 크기는 손(7020)(도 7u에 도시됨)에 의해 수행된 입력 제스처의 종료에 응답하여, 도 7u의 구역(7080-b)의 크기에 비해 증가(예컨대, 복귀)된다. 선택가능한 객체와의 사용자 상호작용의 완료에 응답하여 선택가능한 객체의 크기를 변경하는 것은 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 상호작용 입력의 제2 부분을 검출하는 것에 응답하여 제1 선택가능한 객체의 외관을 변경하는 것은 제1 선택가능한 객체의 불투명도를 변경하는 것(예컨대, 감소시키는 것, 또는 일부 실시예들에서 증가시키는 것)을 포함한다. 예를 들어, 도 7v 및 도 7w의 구역(7080-b)의 불투명도는 손(7020)(도 7u에 도시됨)에 의해 수행된 입력 제스처의 종료에 응답하여, 도 7u의 구역(7080-b)의 불투명도에 비해 증가된다. 선택가능한 객체와의 사용자 상호작용의 완료에 응답하여 선택가능한 객체의 불투명도를 변경하는 것은 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 상호작용 입력의 제2 부분을 검출하는 것에 응답하여 제1 선택가능한 객체의 외관을 변경하는 것은 제1 선택가능한 객체의 밝기를 변경하는 것(예컨대, 증가시키는 것 또는 감소시키는 것)을 포함한다. 예를 들어, 도 7v 및 도 7w의 구역(7080-b)의 밝기는 손(7020)(도 7u에 도시됨)에 의해 수행된 입력 제스처의 종료에 응답하여, 도 7u의 구역(7080-b)의 밝기와 상이하다(예컨대, 그에 비해 증가된다). 선택가능한 객체와의 사용자 상호작용의 완료에 응답하여 선택가능한 객체의 밝기를 변경하는 것은 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 상호작용 입력의 제2 부분을 검출하는 것에 응답하여 제1 선택가능한 객체의 외관을 변경하는 것은 제1 선택가능한 객체의 (예컨대, 그 상에 디스플레이되는 또는 그에 의해 캐스팅되는 것으로 나타나는) 시뮬레이션된 그림자의 세기를 변경하는 것(예컨대, 감소시키는 것 또는 증가시키는 것)을 포함한다. 예를 들어, 구역(7080-b)에 의해 사용자 인터페이스 요소(7080) 상에 캐스팅되는 것처럼 나타나는 그림자는 도 7u에서보다 도 7v에서 덜 강하다. 선택가능한 객체와의 사용자 상호작용의 완료에 응답하여 선택가능한 객체의 시뮬레이션된 그림자의 세기를 변경하는 것은 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 상호작용 입력의 종료를 검출한 후(예컨대, 개개의 동작을 수행한 후), 사용자의 주의가 제1 선택가능한 객체로 유지되는 동안, 컴퓨터 시스템은 제1 선택가능한 객체의 두께를 (예컨대, 제2 두께로) 유지한다. 일부 실시예들에서, 상호작용 입력의 종료가 검출되었을 때 사용자의 주의가 제1 선택가능한 객체로 지향되어 유지된다는 결정에 따라, 제1 선택가능한 객체의 두께는 사용자의 주의가 제1 선택가능한 객체로 지향되는 것을 중단할 때까지 유지된다. 예를 들어, 도 7u로부터의 구역(7080-b)의 증가된 두께는 (도 7u에 도시된) 손(7020)에 의해 수행된 입력 제스처의 종료 후에 도 7v에서 유지되는 한편, 사용자(7002)의 주의는 도 7v의 구역(7080-b)으로 지향되어 유지된다. 사용자의 주의가 선택가능한 객체로 지향되어 유지되는 동안 선택가능한 객체의 두께를 유지하는 것은, 선택가능한 객체와의 사용자 상호작용이 종료된 후에도 선택가능한 객체가 여전히 초점을 갖는다는 것을 표시하며, 이는 컴퓨터 시스템의 상태에 관한 시각적 피드백을 제공한다.
일부 실시예들에서, 상호작용 입력의 제2 부분을 검출하는 것에 응답하여 제1 선택가능한 객체의 외관을 변경하는 것은 제1 선택가능한 객체의 두께를 (예컨대, 제2 두께로부터 다시 제1 두께로 또는 제1 두께와 상이한 제3 두께로) 변경하는 것(예컨대, 감소시키는 것 또는 증가시키는 것)을 포함한다. 일부 실시예들에서, 제1 선택가능한 객체의 두께는 개개의 동작을 수행한 후에 변경된다. 일부 실시예들에서, 제1 선택가능한 객체의 두께는, 사용자의 주의가 제1 선택가능한 객체로 지향되어 유지되는지 여부와 무관하게, 그리고 선택적으로는 상호작용 입력의 제2 부분을 검출한 후 및/또는 개개의 동작을 수행한 후 심지어 사용자의 주의가 제1 선택가능한 객체로 지향되어 유지될 때에도(예컨대, 사용자가 제1 선택가능한 객체와 상호작용하기 위한 준비를 계속 표시할 때에도) 변경된다. 예를 들어, 도 7w의 구역(7080-b)의 두께는 (도 7u에 도시된) 손(7020)에 의해 수행된 입력 제스처의 종료에 응답하여 감소되고, 도 7w를 참조하여 본 명세서에서 설명된 바와 같이, 이러한 두께 감소는, 선택적으로, 사용자(7002)의 주의가 구역(7080-b)으로 지향되어 유지되는지 여부에 관계없이 발생한다. 사용자의 주의가 선택가능한 객체로 지향되어 유지되는 경우에도 선택가능한 객체와의 사용자 상호작용의 완료에 응답하여 선택가능한 객체의 두께를 변경하는 것은 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 제1 선택가능한 객체가 제1 외관으로 디스플레이되는 동안 제1 선택가능한 객체에 대응하는 제1 입력이 검출된다. 일부 실시예들에서, 상호작용 입력의 종료를 검출한 후(예컨대, 상호작용 입력의 제2 부분을 검출하는 것에 응답하여 제1 선택가능한 객체의 외관을 변경한 후), 컴퓨터 시스템은 제1 외관과 상이한 제2 외관을 갖는 제1 선택가능한 객체를 디스플레이한다. 일부 실시예들에서, 제1 선택가능한 객체가 버튼인 경우, 버튼은 (예컨대, 상호작용 입력의 제1 및/또는 제2 부분들에 응답하여 활성화가 발생하는 경우, 선택적으로, 상호작용하기 위한 준비를 표시하는 선행 제1 입력과 조합하여) 활성화된 후보다는 활성화되기 상이한 외관으로 디스플레이된다.
예를 들어, 토글 스위치에 대해, 토글 스위치는 제1 상태에 대응하는 제1 외관으로 디스플레이되고, 활성화될 때, 제2 상태에 대응하는 제2 외관으로 (예컨대, 활성화 시에 "온" 상태로부터 "오프" 상태로, 또는 그 반대로) 디스플레이된다. 예를 들어, 도 7w의 구역(7080-b)은, 도 7u의 입력 제스처에 의한 구역(7080-b)과의 상호작용(예컨대, 활성화) 이전의, 도 7q 및 도 7s의 구역(7080-b)으로부터, 도 7u의 입력 제스처에 의한 구역(7080-b)과의 상호작용(예컨대, 활성화) 이후 상이한 외관을 갖는다. 사용자가 상호작용하기 위한 준비를 표시하고 이어서 선택가능한 객체와 상호작용하기 전의 제1 유휴 상태 외관을 갖는 선택가능한 객체의 외관을, 사용자가 선택가능한 객체와의 상호작용을 완료한 후의 제2 유휴 상태 외관으로 변경하는 것은 선택가능한 객체가 활성화되었음을 표시하고, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 제1 선택가능한 객체가 제1 유형의 상호작용형 객체(예컨대, 버튼, 토글 또는 슬라이더)라는 결정에 따라, (예컨대, 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는 사용자 입력을 검출하는 것에 응답하여) 제1 선택가능한 객체의 두께를 변경하는 것은 제1 선택가능한 객체를 사용자 인터페이스 객체로부터 멀리 이동시키는 것(예컨대, 사용자 인터페이스 객체의 표면에 수직인 방향으로 상승시키는 것 및/또는 분리하는 것)을 포함한다. 예를 들어, 사용자(7002)가 구역(7080-b)에 주의를 기울이는 것에 응답하여, 구역(7080-b)은 사용자 인터페이스 요소(7080)로부터 멀리 이동된다(도 7r 및 도 7t). 다른 예에서, 사용자(7002)가 구역(7080-c)에 주의를 기울이는 것에 응답하여, 구역(7080-c)은 사용자 인터페이스 요소(7080)로부터 멀리 이동된다(도 7s). 일부 실시예들에서, 제1 선택가능한 객체가 제2 유형의 상호작용 객체(예컨대, 텍스트 입력을 위한 것과 같은 입력 필드)라는 결정에 따라, 제1 선택가능한 객체의 두께를 변경하는 것은 제1 선택가능한 객체가 사용자 인터페이스 객체 내로 (예컨대, 사용자 인터페이스 객체의 표면에 수직인 방향으로) 리세스되는 깊이를 증가시키는 것을 포함한다. 예를 들어, 도 7o에서, 사용자(7002)가 리세스된 구역(7054-b)으로 주의를 돌리는 것에 응답하여(예컨대, 구역(7054-b)의 리세스는 구역(7054-b)이 구역들(7080-b, 7080-c, 및 7080-d)과 상이한 유형의 상호작용형 객체임을 표시함(도 7o)), 리세스된 구역(7054-b)은 사용자 인터페이스 요소(7054)의 표면으로부터 추가로 리세스된다(예컨대, 깊이가 증가됨). 일부 실시예들에서, 제1 선택가능한 객체를 사용자 인터페이스 객체 내로 리세스하는 것은, 제1 선택가능한 객체의 표면(예컨대, 전면)을 사용자 인터페이스 객체의 표면(예컨대, 전면)과 동일 평면에 있는 것으로부터 사용자 인터페이스 객체의 표면보다 사용자의 시점으로부터 (예컨대, 사용자 인터페이스 객체의 표면에 수직인 방향으로) 더 멀리 있는 것으로 이동시킨다. 선택가능한 객체를 연관된 사용자 인터페이스 객체로부터 멀리 올림으로써 특정 유형들의 선택가능한 객체들의 두께를 변경하고, 선택가능한 객체를 연관된 사용자 인터페이스 객체 내로 추가로 리세스함으로써 다른 유형들의 선택가능한 객체들의 두께를 변경하는 것은, 선택가능한 객체가 어떤 유형의 객체인지 및 그에 따라 선택가능한 객체가 어떤 유형들의 상호작용들을 지원하는지를 표시하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, (예컨대, 제1 선택가능한 객체가 텍스트 박스 또는 검색 바와 같은 입력 필드인 경우) 제1 선택가능한 객체의 두께를 변경하는 것은, 제1 선택가능한 객체가 사용자 인터페이스 객체의 전면(예컨대, 사용자의 시점을 향하는 표면)으로 리세스되는(예컨대, 연장되는) 깊이를 증가시키는 것을 포함한다. 예를 들어, 도 7o에서, 사용자(7002)가 리세스된 구역(7054-b)으로 주의를 기울이는 것에 응답하여, 리세스된 구역(7054-b)은 사용자 인터페이스 요소(7054)의 표면으로부터 추가로 리세스된다(예컨대, 깊이가 증가됨). 일부 실시예들에서, 제1 선택가능한 객체는 사용자 인터페이스 객체의 표면으로부터 리세스된(예컨대, 에칭된) 구역이고(그리고 예컨대, 제1 선택가능한 객체는 하나 이상의 정반사들 그리고/또는 예를 들어, 사용자 인터페이스 객체에 의해 캐스팅된 하나 이상의 그림자들을 이용하여 디스플레이됨), (예컨대, 제1 입력을 검출하는 것에 응답하여, 그리고 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다는 결정에 따라) 제1 선택가능한 객체의 두께를 변경하는 것은, 제1 선택가능한 객체를 사용자 인터페이스 객체의 표면 내로 추가로 리세스하는 것(예컨대, 추가로 에칭하는 것)을 포함한다(그리고 예컨대, 선택적으로, 제1 선택가능한 객체로부터의 정반사들 및/또는 그에 따른 제1 선택가능한 객체 상에 캐스팅된 그림자들의 범위 및/또는 세기를 증가시킨다). 일부 실시예들에서, 제1 선택가능한 객체를 사용자 인터페이스 객체 내로 추가로 리세스하는 것은 대안적으로 또는 추가적으로, 본 명세서에서 설명된 상호작용 입력(예컨대, 상호작용 입력의 제1 부분)을 검출하는 것에 응답하여 수행된다. 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는 입력에 응답하여 연관된 사용자 인터페이스 객체의 일부인 선택가능한 객체를 사용자 인터페이스 객체 내로 추가로 리세스하는 것은 사용자 인터페이스의 어느 부분이 추가적 상호작용을 위한 초점을 갖는지, 선택가능한 객체가 어떤 유형의 객체인지 및 그에 따라 선택가능한 객체가 어떤 유형들의 상호작용들을 지원하는지를 표시하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 제1 선택가능한 객체가 사용자 인터페이스 객체의 전면 내로 리세스되는 깊이는 제1 선택가능한 객체의 두께의 변화에 기초하여 사용자 인터페이스 객체의 후면(예컨대, 사용자의 시점으로부터 멀리 향하는 표면인, 전면 반대편의 표면)을 변경하지 않으면서 증가된다. 일부 실시예들에서, 사용자 인터페이스 객체의 전면 내로의 제1 선택가능한 객체의 리세스에 따라, 사용자 인터페이스 객체의 후면으로부터 어떠한 돌출도 또는 어떠한 추가적 돌출도 생성되지 않는다는 점에서, 사용자 인터페이스 객체의 후면은 불변으로 유지된다. 예를 들어, 도 7o에서, 측면도(7055)는, 리세스된 구역(7054-b)이 사용자 인터페이스 요소(7054)의 표면으로부터 추가로 리세스됨에 따라, 사용자 인터페이스 요소(7054)의 후면에 대한 어떠한 변화도 발생하지 않음을 표시한다. 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는 입력에 응답하여, 사용자 인터페이스 객체의 후면을 변경하지 않으면서 연관된 사용자 인터페이스 객체의 전면의 일부인 선택가능한 객체를 사용자 인터페이스 객체의 전면 내로 추가로 리세스하는 것은 검출되고 있는 입력의 유형(예컨대, 선택가능한 객체의 측방향 이동에 대한 요청보다는 선택가능한 객체와 상호작용하기 위한 의도)을 표시하며, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 컴퓨터 시스템은 제1 선택가능한 객체에 텍스트를 디스플레이하고, 제1 입력은 사용자의 시점으로부터 제1 시뮬레이션된 거리(예컨대, 제1 선택가능한 객체가 리세스되는 사용자 인터페이스 객체의 최전방 평면(예컨대, 0의 깊이)에 있는 것과 같은 리세스된 제1 선택가능한 객체에 대한 제1 깊이)에 텍스트를 디스플레이하는 동안 검출된다. 일부 실시예들에서, 제1 입력을 검출하는 것에 응답하여, 그리고 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다는 결정에 따라, 컴퓨터 시스템은 사용자의 시점에 대해 제2(예컨대, 더 큰) 시뮬레이션된 거리에서 제1 선택가능한 객체에 텍스트를 디스플레이한다(예컨대, 텍스트를 사용자의 시점으로부터 상이한 시뮬레이션된 거리로, 그리고 선택적으로는 사용자 인터페이스 객체의 최전방 평면을 지난 것(예컨대, 0이 아닌 깊이)과 같은 리세스된 제1 선택가능 객체에 대한 상이한 제2 깊이로 이동시킴). 일부 실시예들에서, 텍스트는, 제1 입력에 응답하여 제1 선택가능한 객체의 두께가 변경되는 양에 기초하는(예컨대, 그에 비례하는) 양만큼 이동된다(예컨대, 제1 선택가능한 객체에 대한 텍스트의 상대적 깊이가 유지된다). 일부 실시예들에서, 사용자의 시점에 대해 상이한(예컨대, 증가된) 시뮬레이션된 거리에 텍스트를 디스플레이하는 것은 대안적으로 또는 추가적으로, 상호작용 입력(예컨대, 그의 제1 부분)을 검출하는 것에 응답하여 수행된다. 일부 실시예들에서, 제2 시뮬레이션된 거리는 제1 시뮬레이션된 거리와 동일하다(예컨대, 텍스트는, 제1 선택가능한 객체의 두께(예컨대, 에칭 깊이)가 변경될 때 사용자의 시점에 대해 및/또는 사용자 인터페이스 객체에 대해 이동되지 않는다). 리세스된 구역과 상호작용하기 위한 사용자의 준비를 표시하는 입력에 응답하여 리세스된 구역 내의 텍스트의 깊이를 변경하는 것은 도 7o를 참조하여 본 명세서에서 더 상세히 설명된다. 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는 입력에 응답하여 리세스된 선택가능한 객체에서 텍스트의 깊이를 변경하는 것은 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 제1 입력을 검출한 후에, 그리고 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다는 결정에 따라, 컴퓨터 시스템은 (예컨대, 이를테면 텍스트가 입력될 수 있도록 텍스트 필드를 선택함으로써 제1 선택가능한 객체를 활성화시키기 위해) 제1 선택가능한 객체로 지향된 상호작용 입력을 검출하고, 상호작용 입력은 제1 부분 및 그에 후속하는 상호작용 입력의 종료를 포함하는 제2 부분을 포함한다. 일부 실시예들에서, 상호작용 입력의 제1 부분을 검출하는 것에 응답하여, 컴퓨터 시스템은 제1 선택가능한 객체의 텍스트와 사용자의 시점 사이의 거리를 변경한다(예컨대, 증가시킨다). 일부 실시예들에서, 상호작용 입력의 제2 부분(예컨대, 끝)을 검출하는 것에 응답하여, 컴퓨터 시스템은 (예컨대, 상호작용 입력의 제1 부분을 검출하는 것에 응답하여 수행된) 제1 선택가능한 객체의 텍스트와 사용자의 시점 사이의 거리의 변화를 반전시킨다.
일부 실시예들에서, 제1 입력을 검출하는 것에 응답하여 디스플레이된 텍스트와 사용자의 시점 사이의 거리의 임의의 변화가 또한 반전된다. 리세스된 구역(예컨대, 여기서 사용자가 리세스된 구역과 상호작용하기 위한 준비를 표시하고 있는 동안 입력 제스처가 개시됨)과 상호작용하는 입력 제스처에 응답하여 리세스된 구역에서 텍스트의 깊이를 변경하는 것은 도 7o를 참조하여 본 명세서에서 더 상세히 설명된다. 선택가능한 객체와의 사용자 상호작용의 시작 및 이어서 종료에 응답하여 리세스된 선택가능한 객체에서 텍스트의 깊이를 변경하고 이어서 그 변경을 반전시키는 것은 특히, 다른 시각적 피드백, 이를테면 깊이, 밝기 및/또는 크기의 변화들이 사용자 상호작용에 응답하여 (리세스되지 않은 선택가능한 객체들에 대해 제공됨에도 불구하고) 리세스된 선택가능한 객체들에 대해 제공되지 않는 경우, 사용자 상호작용의 진행을 표시하고, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다고 결정하는 것은, 사용자의 주의(예컨대, 시점)가 제1 선택가능한 객체로 지향되고 그리고 사용자의 손이 준비 상태에 있다고 결정하는 것을 포함한다. 일부 실시예들에서, 제1 선택가능한 객체는 슬라이더를 포함한다. 일부 실시예들에서, 제1 선택가능한 객체에 대응하는 제1 입력을 검출하는 것에 응답하여, 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하는 동안, 컴퓨터 시스템은 슬라이더에 대한 조정 제어부(예컨대, 슬라이더 엄지손가락 또는 슬라이더에 의해 선택된 현재 값을 변경하기 위한 다른 제어부, 및/또는 슬라이더에 의해 선택된 현재 값의 다른 표시)를 디스플레이하고; 제1 입력이 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시하지 않는 동안(예컨대, 사용자의 시선은 제1 선택가능한 객체로 지향되지 않고 그리고/또는 사용자의 손은 준비 상태에 있지 않음) 컴퓨터 시스템 슬라이더에 대한 조정 제어부를 디스플레이하지 않으면서 슬라이더를 디스플레이한다. 슬라이더의 현재 값을 변경하기 위한 슬라이더 제어부의 디스플레이 및 거동(예컨대, 외관의 변화들)은 도 7r 및 도 7u 내지 도 7v를 참조하여 본 명세서에서 더 상세히 설명된다. 사용자가 슬라이더에 주의를 기울이고 슬라이더에 대한 조정 제어부의 디스플레이를 가능하게 하기 위해 자신의 손을 준비 상태에 있게 할 것을 요구하는 것은, 컴퓨터 시스템으로 하여금, 슬라이더와 더 정확하게 상호작용하려는 사용자 의도를 자동으로 식별하게 하고, 필요하지 않을 때 추가적인 제어부들을 디스플레이하는 것을 회피한다.
도 13에서의 동작들이 설명된 특정 순서는 단지 일 예일 뿐이며 설명된 순서가 동작들이 수행될 수 있는 유일한 순서라는 것을 표시하는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 설명된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에서 설명되는 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 11000, 12000, 14000))과 관련하여 본 명세서에서 설명되는 다른 프로세스들의 상세사항들이 도 13과 관련하여 위에서 설명된 방법(13000)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(13000)을 참조하여 전술된 사용자 인터페이스 요소들 및 구역들(이들의 외관들 및 시각적 속성들을 포함함), 가상 객체들, 사용자 시점들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트, 입력들, 제스처들, 애니메이션들, 사용자 인터페이스 동작들, 광원들, 반사들 및/또는 그림자들은 선택적으로, 본 명세서에 설명된 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 11000, 12000, 및 14000))을 참조하여 본 명세서에 설명된 사용자 인터페이스 요소들 및 구역들(이들의 외관들 및 시각적 속성들을 포함함), 가상 객체들, 사용자 시점들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트, 입력들, 제스처들, 애니메이션들, 사용자 인터페이스 동작들, 광원들, 반사들 및/또는 그림자들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 세부사항들은 여기서 반복되지 않는다.
도 14는 일부 실시예들에 따른, 기본 콘텐츠의 표현에 상이한 변환들을 적용함으로써, 사용자 인터페이스 객체 뒤에 있는 주변 3차원 환경의 콘텐츠 내의 콘텐츠에 기초한 외관을 갖는 컴퓨터 생성 사용자 인터페이스 객체의 상이한 부분들을 시각적으로 구별하는 방법(14000)의 흐름도이다.
일부 실시예들에서, 본 방법(14000)은, 디스플레이 생성 컴포넌트(예컨대, 도 1, 도 3 및 도 4의 디스플레이 생성 컴포넌트(120), 이를테면 도 7a 내지 도 7z의 디스플레이(7100))(예컨대, 헤드업 디스플레이, 디스플레이, 터치스크린, 및/또는 프로젝터) 및 선택적으로 하나 이상의 입력 디바이스들, 이를테면 하나 이상의 카메라들(예를 들어, 사용자의 손에서 하향으로 또는 사용자의 머리로부터 상향으로 향하는, 예컨대 카메라(예컨대, 색상 센서들, 적외선 센서들, 및 다른 심도 감지 카메라들))과 통신하는 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 방법(14000)은, 비일시적 컴퓨터 판독가능 저장 매체에 저장되며 컴퓨터 시스템의 하나 이상의 프로세서들, 예를 들어, 컴퓨터 시스템(101)의 하나 이상의 프로세서들(202)(예를 들어, 도 1a의 제어 유닛(110))에 의해 실행되는 명령어들에 의해 통제된다. 방법(14000)에서의 일부 동작들이 선택적으로 조합되거나, 및/또는 일부 동작들의 순서가 선택적으로 변경된다.
일부 실시예들에서, 방법(14000)은 컴퓨터 시스템(예컨대, 도 1의 컴퓨터 시스템(101), 도 7a 내지 도 7g, 도 7h 내지 도 7j, 도 7k 내지 도 7o, 도 7p, 도 7q 내지 도 7w 및/또는 도 7x 내지 7z와 관련하여 설명된 컴퓨터 시스템(101))에서 수행된다. 일부 실시예들에서, 컴퓨터 시스템은 디스플레이 생성 컴포넌트(예컨대, 디스플레이 생성 컴포넌트는 헤드-업 디스플레이, 머리 장착형 디스플레이(HMD), 디스플레이, 터치스크린 및/또는 프로젝터임) 및 선택적으로 하나 이상의 입력 디바이스들(예컨대, 카메라들, 제어기들, 터치 감응형 표면들, 조이스틱들, 버튼들, 글러브들, 시계들, 모션 센서들 및/또는 배향 센서들)과 통신한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트는 도 7a 내지 도 7z와 관련하여 설명된 디스플레이 생성 컴포넌트(7100)이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들 중 적어도 일부와 동일한 하우징으로 둘러싸인 하나 이상의 프로세서들 및 메모리를 갖는 통합 디바이스이다. 일부 실시예들에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트 및/또는 하나 이상의 입력 디바이스들과 별개인 하나 이상의 프로세서들 및 메모리를 포함하는 컴퓨팅 컴포넌트(예컨대, 서버, 스마트 폰 또는 태블릿 디바이스와 같은 모바일 전자 디바이스, 워치, 손목밴드, 이어폰들과 같은 웨어러블 디바이스, 데스크톱 컴퓨터, 또는 랩톱 컴퓨터)를 포함한다. 일부 실시예들에서, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들은 동일한 하우징 내에 통합되고 그로 둘러싸인다. 방법(14000)의 많은 특징들은 일부 실시예들에 따라 도 7x 내지 도 7z와 관련하여 설명된다.
방법(14000)에서, 컴퓨터 시스템은, 디스플레이 생성 컴포넌트를 통해, (예컨대, 물리적 환경의 하나 이상의 부분들의 뷰를 포함하는) 3차원 환경의 뷰의 제1 부분 상에 오버레이된 컴퓨터 생성 사용자 인터페이스 객체를 디스플레이한다(14002). 컴퓨터 생성 사용자 인터페이스 객체의 외관은, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 제1 부분의 블러링된 표현에 기초한다. 예를 들어, 도 7x를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030)는 3차원 환경(7104)의 뷰 상에 오버레이되고, 시간 T=t2에서 사용자 인터페이스 요소(7030)가 오버레이되는 환경(7104)의 부분들의 블러링된 표현에 기초하는 외관을 갖는다.
방법(14000)에서, 컴퓨터 시스템은, 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역에 대응하는, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제1 서브세트(예컨대, 제1 세트의 하나 이상의 영역들)에 (예컨대, 제1 변환과 상이한) 제2 변환을 적용하지 않으면서 제1 변환을 적용하는 것; 및 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역에 대응하는, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제2 서브세트(예컨대, 제2 세트의 하나 이상의 영역들)에 제1 변환을 적용하지 않으면서 제2 변환을 적용하는 것에 의해, 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역(예컨대, 텍스트, 유형, 글리프들 등)을 컴퓨터 생성 사용자 인터페이스 객체의 (예컨대, 배경 구역 또는 하나 이상의 상호작용 제어부들과 같은, 텍스트 또는 유형 이외의) 제2 구역으로부터 시각적으로 구별한다(14004). 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제2 서브세트는 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제1 서브세트와 상이하다.
예를 들어, 도 7x에서, 시간 t2에서 사용자 인터페이스 요소(7030)의 외관의 확대도(7084)를 참조하여 본 명세서 도시되고 설명된 바와 같이, 텍스트 구역(7084-d)은 텍스트 구역(7084-d)에 대응하는 시간 t2의 시작 포인트 표현의 부분들에 변환 XA를 적용하지 않고 변환 XD를 적용한 결과이고 배경 구역(7084-a)은 배경 구역(7084-a)에 대응하는 시간 t2의 시작 포인트 표현의 부분들에 변환 XD를 적용하지 않고 변환 XA를 적용한 결과라는 점에서, 텍스트 구역(7084-d)은 배경 구역(7084-a)로부터 시각적으로 구별된다. 다른 예에서, 텍스트 구역(7084-d)은 텍스트 구역(7084-d)에 대응하는 시간 t2의 시작 포인트 표현의 부분들에 변환 XB를 적용하지 않고 변환 XD를 적용한 결과이고 제어 구역들(7084-b)은 제어 구역들(7084-b)에 대응하는 시간 t2의 시작 포인트 표현의 부분들에 변환 XD를 적용하지 않고 변환 XB를 적용한 결과라는 점에서, 텍스트 구역(7084-d)은 제어 구역들(7084-b)로부터 시각적으로 구별된다. 또 다른 예에서, 텍스트 구역(7084-c)은 텍스트 구역(7084-c)에 대응하는 시간 t2의 시작 포인트 표현의 부분들에 변환 XA를 적용하지 않고 아이덴티티 변환을 적용한 결과이고 배경 구역(7084-a)은 배경 구역(7084-a)에 대응하는 시간 t2의 시작 포인트 표현의 부분들에 아이덴티티 변환을 적용하는 대신에 변환 XA를 적용한 결과라는 점에서, 텍스트 구역(7084-c)은 배경 구역(7084-a)로부터 시각적으로 구별된다.
방법(14000)에서, 3차원 환경의 뷰의 제1 부분의 외관이 변함에 따라(예컨대, 대응하는 물리적 환경에서의 변화들에 응답하여, 3차원 환경 내의 및/또는 대응하는 물리적 환경의 표현 상에 오버레이되는 컴퓨터 생성 콘텐츠의 변환들, 사용자의 시점의 변화들 또는 뷰잉된 환경의 다른 변화들), 컴퓨터 시스템은 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현에 기초하여 컴퓨터 생성 사용자 인터페이스 객체의 외관을 업데이트하며(14006), 이는, 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역에 대응하는, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제1 서브세트에 제2 변환을 적용하지 않으면서 제1 변환을 적용하는 것(14008); 및 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역에 대응하는, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제2 서브세트에 제1 변환을 적용하지 않으면서 제2 변환을 적용하는 것을 포함한다. 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제2 서브세트는 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제1 서브세트와 상이하다.
예를 들어, 도 7y를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030)가 오버레이되는 환경(7104)의 부분들을 포함하는 환경(7104)의 변화들에 따라, 시간 T=t3에서 사용자 인터페이스 요소(7030)의 외관은, 사용자 인터페이스 요소(7030)가 오버레이되는 환경(7104)의 변경된 부분들의 블러링된 표현에 기초하여 업데이트된다. 도 7y의 확대도(7086)에 도시된 바와 같이, 시간 t3에서 사용자 인터페이스 요소(7030)의 외관의 경우, 텍스트 구역(7086-d)은 텍스트 구역(7086-d)에 대응하는 시간 t2의 시작 포인트 표현의 부분들에 변환 XA를 적용하지 않고 변환 XD를 적용한 결과이고 배경 구역(7086-a)은 배경 구역(7086-a)에 대응하는 시간 t2의 시작 포인트 표현의 부분들에 변환 XD를 적용하지 않고 변환 XA를 적용한 결과라는 점에서, 텍스트 구역(7086-d)은 배경 구역(7086-a)로부터 시각적으로 구별된다. 다른 예에서, 텍스트 구역(7086-d)은 텍스트 구역(7086-d)에 대응하는 시간 t3의 시작 포인트 표현의 부분들에 변환 XB를 적용하지 않고 변환 XD를 적용한 결과이고 제어 구역들(7086-b)은 제어 구역들(7086-b)에 대응하는 시간 t3의 시작 포인트 표현의 부분들에 변환 XD를 적용하지 않고 변환 XB를 적용한 결과라는 점에서, 텍스트 구역(7086-d)은 제어 구역들(7086-b)로부터 시각적으로 구별된다. 또 다른 예에서, 텍스트 구역(7086-c)은 텍스트 구역(7086-c)에 대응하는 시간 t3의 시작 포인트 표현의 부분들에 변환 XA를 적용하지 않고 아이덴티티 변환을 적용한 결과이고 배경 구역(7086-a)은 배경 구역(7086-a)에 대응하는 시간 t3의 시작 포인트 표현의 부분들에 아이덴티티 변환을 적용하는 대신에 변환 XA를 적용한 결과라는 점에서, 텍스트 구역(7086-c)은 배경 구역(7086-a)로부터 시각적으로 구별된다.
일부 실시예들에서, 제1 구역의 외관은, 제2 구역의 외관이, 제2 구역이 오버레이되는 3차원 물리적 환경의 뷰의 개개의 부분의 블러링된 표현에 기초하는 것보다 더 큰 범위로, 제1 구역이 오버레이되는 3차원 환경의 뷰의 개개의 부분의 블러링된 표현에 기초한다. 일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역 및/또는 제2 구역은 적어도 부분적으로 투명하다(예컨대, 그렇지 않으면 솔리드 형상으로부터의 컷아웃들)(예컨대, 제1 변환은 하나 이상의 컷아웃 구역들에 적용되고, 제2 변환은 컷아웃 구역들 외부에 있는, 컴퓨터 생성 사용자 인터페이스 객체의 하나 이상의 구역들에 적용된다). 일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역 및 제2 구역은 상이한 유형들 또는 클래스들의 콘텐츠 또는 사용자 인터페이스 구역들(예컨대, 텍스트 구역들, 버튼 또는 제어 구역들, 및 다른 구역들, 이를테면 배경 구역들)에 대응한다. 컴퓨터 생성 객체의 상이한 구역들에 상이한 변환들을 적용하는 것은 컴퓨터 시스템으로 하여금 일부 구역들을 다른 구역들로부터 자동으로 시각적으로 구별하게 하여, 구역들의 특정 속성들, 이를테면 구역이 상호작용적인지 여부 및/또는 구역이 시맨틱 의미를 전달하는지 여부를 표시하고, 그에 따라 그러한 구역들에 시각적 강조를 부여하고/하거나 그의 가독성을 개선한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 제1 부분의 외관은 3차원 환경의 주변 변화들에 응답하여 변화한다(예컨대, 사용자의 시점의 이동과 독립적인, 그리고 이를테면, 3차원 환경 또는 컴퓨터 생성 사용자 인터페이스 객체의 시뮬레이션된 포지션 뒤의 대응하는 물리적 환경 내의 다른 사람들 또는 객체들의 이동으로 인한 및/또는 3차원 또는 물리적 환경들 내의 광의 변화들로 인한 3차원 환경에 대한 컴퓨터 생성 사용자 인터페이스 객체의 이동과 독립적인 시각적 변화들). 예를 들어, 도 7x 및 도 7y를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030)의 외관의 변화들은 일부 상황들에서, 환경(7104) 내의 다른 객체들의 이동으로 인한 환경(7104)의 하나 이상의 기본 부분들의 외관의 변화들 및/또는 환경(7104)의 조명의 변화들에 기초한다. 3차원 환경에서의 주변 변화들에 기초하여 컴퓨터 생성 객체의 외관을 변경하는 것은 사용자의 콘텍스트 인식을 개선하고, 이는 사용자가 주변 물리적 공간 내의 물리적 객체들과의 충돌들을 회피하는 것을 도움으로써 사용자 안전을 개선하고, 컴퓨터 시스템을 사용할 때 사용자가 멀미를 겪을 가능성을 감소시킨다.
일부 실시예들에서, 3차원 환경의 뷰의 제1 부분의 외관은 컴퓨터 생성 사용자 인터페이스 객체가 3차원 환경에 대해 이동되는 것에 응답하여 변화한다(예컨대, 컴퓨터 생성 사용자 인터페이스 객체는 3차원 환경의 뷰의 상이한 제1 부분 상에 오버레이되도록 이동된다). 예를 들어, 도 7x 및 7y를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030)의 외관의 변화들은 일부 상황들에서, 환경(7104)의 어느 부분들이 기본 사용자 인터페이스 요소(7030)인지를 변경하는 환경(7104)에 대한 사용자 인터페이스 요소(7030)의 이동에 기초한다. 컴퓨터 생성 객체가 3차원 환경에 대해 이동될 때 그리고 환경의 기본 부분들의 블러링된 표현에 기초하여 컴퓨터 생성 객체의 외관을 변경하는 것은 사용자의 콘텍스트 인식을 개선하며, 이는 사용자가 주변 물리적 공간 내의 물리적 객체들과의 충돌들을 회피하는 것을 도움으로써 사용자 안전을 개선하고, 컴퓨터 시스템을 사용할 때 사용자가 멀미를 겪을 가능성을 감소시킨다.
일부 실시예들에서, 3차원 환경의 뷰는 디스플레이 생성 컴포넌트를 통해, (예컨대, 사용자의 위치 또는 컴퓨터 시스템 또는 물리적 환경 내의 컴퓨터 시스템의 컴포넌트의 위치에 기초하여) 사용자의 개개의 관점으로부터 가시적이고, 3차원 환경의 뷰의 제1 부분의 외관은 3차원 환경에서 변하는(예컨대, 이동하는) 사용자의 개개의 시점에 응답하여 변한다(예컨대, 사용자가 물리적 환경에서 자신 및/또는 컴퓨터 시스템을 이동시키고, 그에 따라 사용자의 현재 시점에서 가시적인 3차원 환경의 뷰를 변경함). 예를 들어, 도 7x 및 7y를 참조하여 본 명세서에서 설명된 바와 같이, 사용자 인터페이스 요소(7030)의 외관의 변화들은 일부 상황들에서, 사용자 인터페이스 요소(7030)에 대한 또는 환경(7104)의 어느 부분들이 사용자(7002)의 관점으로부터 기본 사용자 인터페이스 요소(7030)인지를 변경하는 환경(7104)에 대한 사용자(7002)의 시점의 이동에 기초한다. 사용자의 시점이 3차원 환경에 대해 변할 때 뷰에 있는 컴퓨터 생성 객체의 외관을 변경하는 것, 및 컴퓨터 생성 객체의 외관을, 3차원 환경의 기본 부분들의 블러링된 표현에 기초로 하는 것은 사용자의 콘텍스트 인식을 개선하고, 이는 사용자가 주변 물리적 공간 내의 물리적 객체들과의 충돌들을 회피하는 것을 도움으로써 사용자 안전을 개선하고, 컴퓨터 시스템을 사용할 때 사용자가 멀미를 겪을 가능성을 감소시킨다.
일부 실시예들에서, 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 색상 채도는 컴퓨터 생성 사용자 인터페이스 객체가 오버레이됨이 없이 3차원 환경의 뷰의 제1 부분의 외관에 비해 증가된다. 환경(7104)의 블러링된 표현(예컨대, 시작 포인트 표현)의 증가된 채도는 도 7x를 참조하여 본 명세서에서 더 상세히 설명되고, 도 7y와 유사하게 적용된다. 달리 말하면, 3차원 환경의 뷰의 제1 부분은 제1 양의 채도를 갖는 외관을 갖는 반면, 컴퓨터 생성 사용자 인터페이스 객체의 외관은 3차원 환경의 뷰의 제1 부분의 블러링된 표면에 기초하고, 블러링된 표현은 제1 양의 채도보다 큰 제2 양의 채도를 갖는 외관을 갖는다. 일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 객체가 더 이상 3차원 환경의 뷰의 제1 부분 상에 오버레이되지 않도록 컴퓨터 생성 사용자 인터페이스 객체를 이동시키기 위한 입력(예컨대, 컴퓨터 생성 사용자 인터페이스 객체를 무시하거나 닫기 위한 또는 컴퓨터 생성 사용자를 3차원 환경의 뷰의 상이한 제2 부분 상에 오버레이되도록 이동시키기 위한 입력)을 검출하는 것에 응답하여, 3차원 환경의 뷰의 제1 부분은 (예컨대, 컴퓨터 생성 사용자 인터페이스 객체 대신에) 제1 양의 채도로 디스플레이된다(예컨대, 재디스플레이된다). 컴퓨터 생성 객체의 외관을 그 표현에 기초로 할 때 3차원 환경의 기본 부분들의 블러링된 표현의 채도를 증가시키는 것은 컴퓨터 시스템으로 하여금, 3차원 환경에 대한 컴퓨터 생성 객체의 상이한 콘텐츠 구역들에 시각적 강조를 자동으로 부여하게 하고 그의 가독성을 개선하게 한다.
일부 실시예들에서, 제2 변환을 적용하는 것은 (예컨대, 도 7x 내지 도 7z의 변환 XA를 참조하여 본 명세서에서 설명된 바와 같이) 컴퓨터 생성 사용자 인터페이스 객체(또는 더 구체적으로 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역)가 오버레이되는 3차원 환경의 뷰의 개개의 부분의 블러링된 표현(예컨대, 이의 개개의 서브세트)에 그레이 필터를 적용하는 것을 포함한다. 일부 실시예들에서, 제2 변환은 3차원 환경의 뷰의 개개의 부분의 블러링된 표현의 채도를 감소시킨다(예컨대, 색상의 세기를 감소시키고/시키거나 그레이의 양을 증가시킨다). 일부 실시예들에서, 제2 변환에 의한 그레이 필터(예컨대, 채도의 감소)는 전술된 3차원 환경의 제1 부분의 블러링된 표현의 채도 증가의 일부 또는 전부에 대해 반대이다. 3차원 환경의 기본 부분들의 포화된 블러링된 표현에 기초하는 외관을 갖는 컴퓨터 생성 객체의 일부 구역들에 그레이 필터를 적용하는 것은 컴퓨터 시스템으로 하여금, 그레이 필터가 적용되지 않은 컴퓨터 생성 객체의 다른 콘텐츠 구역들에 시각적 강조를 자동으로 부여하게 하고 그의 가독성을 개선하게 한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역은 글리프들(예컨대, 글자체들, 심볼들 및/또는 다른 디스플레이된 문자들에 의해 점유된 영역들)을 포함하고, 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역은 컴퓨터 생성 사용자 인터페이스 객체의 배경 구역을 포함한다(예컨대, 글리프들에 의해 점유된 영역들 외부에 있는 컴퓨터 생성 사용자 인터페이스 객체의 적어도 일부 영역들을 포함함). 예를 들어, "제1 구역"은 선택적으로 텍스트 구역(7084-c)(도 7x) 및 유사한 텍스트 구역(7086-c)(도 7y)에 대응하는 한편, "제2 구역"은 선택적으로 배경 구역(7084-a)(도 7x) 및 유사한 배경 구역(7086-a)(도 7y)에 대응하고, 여기서, 구역들의 2개의 세트들은 변환들의 상호 상이한 세트(예컨대, 텍스트 구역들(7084-c 및 7086-c)에 대한 변환 XC 대 배경 구역들(7084-a 및 7086-a)에 대한 변환 XA)의 적용의 결과이다. 다른 예에서, "제1 구역"은 선택적으로 텍스트 구역(7084-d)(도 7x) 및 유사한 텍스트 구역(7086-d)(도 7y)에 대응하는 한편, "제2 구역"은 선택적으로 배경 구역(7084-a)(도 7x) 및 유사한 배경 구역(7086-a)(도 7y)에 대응하고, 여기서, 구역들의 2개의 세트들은 변환들의 상호 상이한 세트(예컨대, 텍스트 구역들(7084-d 및 7086-d)에 대한 변환 XD 대 배경 구역들(7084-a 및 7086-a)에 대한 변환 XA)의 적용의 결과이다. 컴퓨터 생성 객체의 배경 구역들보다는 컴퓨터 생성 객체의 텍스트 구역들에 상이한 변환을 적용하는 것은 컴퓨터 시스템으로 하여금 텍스트 구역들에 시각적 강조를 자동으로 부여하게 하고 그의 가독성을 개선하게 한다.
일부 실시예들에서, 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역은 (예컨대, 글리프들 외부 및 하나 이상의 상호작용 제어 구역들 외부에) 컴퓨터 생성 사용자 인터페이스 객체의 배경을 포함하고(예컨대, 배경 구역(7084-a)(도 7x) 및 유사한 배경 구역(7086-a)(도 7y)), 컴퓨터 생성 사용자 인터페이스 객체의 제3 구역은 하나 이상의 상호작용 제어 구역들(예컨대, 버튼들, 토글들, 슬라이더들 및/또는 입력 필드들)을 포함한다(예컨대, 상호작용 제어부들의 임의의 글리프들에 의해 점유된 영역들 외부에 있는 상호작용 제어부들의 영역들)(예컨대, 제어 구역들(7084-b)(도 7x) 및 유사한 제어 구역들(7086-b)(도 7y)). 일부 실시예들에서, 컴퓨터 시스템은, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제3 서브세트(예컨대, 제3 세트의 하나 이상의 영역들)에 제1 변환을 적용하지 않으면서 그리고 컴퓨터 생성 사용자 인터페이스 객체의 제3 구역에 대응하는, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제3 서브세트에 제2 변환을 적용하지 않으면서 제3 변환(예컨대, 제1 변환 및 제2 변환과 상이함)을 적용하는 것에 의해 (예컨대, 방법(14000)의 동작(14002)의 일부로서) 컴퓨터 생성 사용자 인터페이스 객체의 제3 구역을 (예컨대, 제1 및 제2 구역들로부터) 시각적으로 구별하며, 여기서, 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제3 서브세트는 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제1 서브세트 및 제2 서브세트와 상이하다.
일부 실시예들에서, 컴퓨터 시스템은, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제3 서브세트에 제1 변환을 적용하지 않으면서 그리고 컴퓨터 생성 사용자 인터페이스 객체의 제3 구역에 대응하는, 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제3 서브세트에 제2 변환을 적용하지 않으면서 제3 변환을 적용하는 것에 의해, (예컨대, 방법(14000)의 동작(14006)의 일부로서) 업데이트된 컴퓨터 생성 사용자 인터페이스 객체의 제3 구역을 시각적으로 구별하며, 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제3 서브세트는 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제1 서브세트 및 제2 서브세트와 상이하다. 일부 실시예들에서, 개개의 서브세트에 제2 변환을 적용하는 것은 개개의 서브세트의 밝기를 감소시키는 것(예컨대, 어둡게 하는 것)을 포함하고, 개개의 서브세트에 제3 변환을 적용하는 것은 개개의 서브세트의 밝기를 증가시키는 것(예컨대, 환하게 하는 것 또는 밝게 하는 것)을 포함한다.
예를 들어, 도 7x를 참조하여 본 명세서에 도시되고 설명된 바와 같이, 시간 t2에서 사용자 인터페이스 요소(7030)의 외관에서, 제어 구역들(7084-b)의 외관은, 어둡게 하는 변환 XA를 적용하지 않으면서 그리고 어둡게 하는 변환 XD를 적용하지 않으면서 시간 t2에서 시작 포인트 표현의 대응하는 부분들에 밝게 하는 변환 XB를 적용함으로써 생성되고, 이는, 시간 t2에서 시작 포인트 표현의 상이한 대응하는 부분들에 밝게 하는 변환 XB를 적용하지 않으면서 어둡게 하는 변환 XA를 적용함으로써 생성되는 외관을 갖는 배경 구역(7084-a)을 시각적으로 구별한다. 동일한 예로 계속하여, 도 7y를 참조하여 본 명세서에 도시되고 설명된 바와 같이, 시간 t3에서 사용자 인터페이스 요소(7030)의 외관에서, 사용자 인터페이스 요소(7030) 아래에 있는 환경(7104)의 하나 이상의 부분들의 변화들에 응답하여 업데이트되는 바와 같이, 제어 구역들(7086-b)의 외관은, 어둡게 하는 변환 XA를 적용하지 않으면서 그리고 어둡게 하는 변환 XD를 적용하지 않으면서 시간 t3에서 변경된 시작 포인트 표현의 대응하는 부분들에 밝게 하는 변환 XB를 적용함으로써 생성되고, 이는, 시간 t3에서 변경된 시작 포인트 표현의 상이한 대응하는 부분들에 밝게 하는 변환 XB를 적용하지 않으면서 어둡게 하는 변환 XA를 적용함으로써 생성되는 외관을 갖는 배경 구역(7086-a)을 시각적으로 구별한다. 컴퓨터 생성 객체의 상호작용 제어 구역들을 밝게 하는 변환을 적용하고, 대신에, 컴퓨터 생성 객체의 배경 구역들을 어둡게 하는 변환을 적용하는 것은, 비-상호작용 배경 구역들에 비해 상호작용적인 컴퓨터 생성 객체의 구역들을 시각적으로 강조하고, 이는 컴퓨터 시스템의 상태에 관한 개선된 시각적 피드백을 제공한다.
일부 실시예들에서, 개개의 서브세트에 제2 변환을 적용하는 것은, 개개의 서브세트에 제1 변환을 적용하는 것이 개개의 서브세트의 밝기를 감소시키는 것보다 개개의 서브세트의 밝기를 더 감소시킨다. 달리 말하면, 3차원 환경의 뷰의 기본 부분의 블러링된 표현에 대해, 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역(예컨대, 글리프들 및/또는 텍스트에 의해 점유된 영역들로 구성됨)은, 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역이 어두워지는 것보다 덜 어두워진다(예컨대, 제1 구역이 제2 구역보다 밝음). 일부 실시예들에서, 제1 변환은 개개의 서브세트의 밝기를 감소시키지 않는다(예컨대, 어둡게 하는 효과를 개개의 서브세트에 적용하지 않는다). 예를 들어, 도 7x 및 도 7y를 참조하여 본 명세서에 도시되고 설명된 바와 같이, 텍스트 구역들(7084-c 및 7086-c)은, 변환 XA에 의해, 시작 포인트 표현들의 이들의 대응하는 영역들에 비해 배경 구역들(7084-a 및 7086-a)이 어두워지는 것만큼 시작 포인트 표현들의 이들의 대응하는 영역들에 비해 어두워지지 않는다(예컨대, 이는, 어둡게 하는 변환이 텍스트 구역들(7084-c 및 7086-c)에 적용되지 않기 때문이다).
일부 실시예들에서, 개개의 서브세트에 제3 변환을 적용하는 것은, 개개의 서브세트에 제1 변환을 적용하는 것이 개개의 서브세트의 밝기를 증가시키는 것보다 개개의 서브세트의 밝기를 더 증가시킨다. 달리 말하면, 3차원 환경의 뷰의 기본 부분의 블러링된 표현에 대해, 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역은, 컴퓨터 생성 사용자 인터페이스 객체의 제3 구역이 밝아지는 것보다 덜 밝아진다(예컨대, 제1 구역이 제3 구역보다 어두움). 일부 실시예들에서, 제1 변환은 개개의 서브세트의 밝기를 증가시키지 않는다(예컨대, 밝게 하는 효과를 개개의 서브세트에 적용하지 않는다). 예를 들어, 도 7x 및 도 7y를 참조하여 본 명세서에 도시되고 설명된 바와 같이, 텍스트 구역들(7084-c 및 7086-c)은, 변환 XB에 의해, 시작 포인트 표현들의 이들의 대응하는 영역들에 비해 제어 구역들(7084-b 및 7086-b)이 밝아지는 것만큼 시작 포인트 표현들의 이들의 대응하는 영역들에 비해 밝아지지 않는다(예컨대, 이는, 밝게 하는 변환이 텍스트 구역들(7084-c 및 7086-c)에 적용되지 않기 때문이다). 텍스트 구역들을, 배경 구역들보다 더 그리고 상호작용 제어 구역들보다 덜 밝게 하는 상이한 변환들을 컴퓨터 생성 객체의 상이한 구역들에 적용하는 것은, 컴퓨터 시스템으로 하여금, 텍스트 구역들의 가독성을 자동적으로 개선하게 하면서, 또한 어느 구역들이 상호작용적인지에 관한 개선된 시각적 피드백을 제공하게 한다.
일부 실시예들에서, 개개의 서브세트에 제2 변환을 적용하는 것은, 개개의 서브세트에 제1 변환을 적용하는 것이 개개의 서브세트의 밝기를 감소시키는 것보다 개개의 서브세트의 밝기를 덜 감소시킨다. 달리 말하면, 3차원 환경의 뷰의 기본 부분의 블러링된 표현에 대해, 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역(예컨대, 글리프들 및/또는 텍스트에 의해 점유된 영역들로 구성됨)은 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역(예컨대, 배경 영역들로 구성됨)이 어두워지는 것보다 훨씬 더 많이 어두워진다. 예를 들어, 도 7x 및 도 7y를 참조하여 본 명세서에 도시되고 설명된 바와 같이, 텍스트 구역들(7084-d 및 7086-d)은, 변환 XA에 의해, 시작 포인트 표현들의 이들의 대응하는 영역들에 비해 배경 구역들(7084-a 및 7086-a)이 어두워지는 것보다 훨씬 더, 변환 XD에 의해 시작 포인트 표현들의 이들의 대응하는 영역들에 비해 어두워진다. 다른 구역들보다 텍스트 구역들을 더 어둡게 하는 상이한 변환들을 컴퓨터 생성 객체의 상이한 구역들에 적용하는 것은, 컴퓨터 시스템으로 하여금, 텍스트 구역들의 가독성을 개선하는 방식으로 다른 구역들로부터 텍스트 구역들을 자동으로 시각적으로 구별하게 한다.
도 14에서의 동작들이 설명된 특정 순서는 단지 일 예일 뿐이며 설명된 순서가 동작들이 수행될 수 있는 유일한 순서라는 것을 표시하는 것으로 의도되지는 않는다는 것이 이해되어야 한다. 당업자는 본 명세서에 설명된 동작들을 재순서화하는 다양한 방식들을 인식할 것이다. 또한, 본 명세서에서 설명되는 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 11000, 12000, 13000))과 관련하여 본 명세서에서 설명되는 다른 프로세스들의 상세사항들이 도 14와 관련하여 위에서 설명된 방법(14000)과 유사한 방식으로 또한 적용가능하다는 것에 주목해야 한다. 예를 들어, 방법(14000)을 참조하여 전술된 사용자 인터페이스 요소들 및 구역들(이들의 외관들 및 시각적 속성들을 포함함), 블러링된 표현들(이들의 서브세트들을 포함함), 변환들, 가상 객체들, 사용자 시점들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트 및/또는 입력들은 선택적으로, 본 명세서에 설명된 다른 방법들(예컨대, 방법들(8000, 9000, 10000, 11000, 12000, 및 13000))을 참조하여 본 명세서에 설명된 사용자 인터페이스 요소들 및 구역들(이들의 외관들 및 시각적 속성들을 포함함), 블러링된 표현들(이들의 서브세트들을 포함함), 변환들, 가상 객체들, 사용자 시점들, 3차원 환경들(이들의 뷰들 및 외관들을 포함함), 디스플레이 생성 컴포넌트 및/또는 입력들의 특성들 중 하나 이상을 갖는다. 간결함을 위해, 이러한 세부사항들은 여기서 반복되지 않는다.
도 8, 도 9, 도 10, 도 11, 도 12, 도 13 및 도 14를 참조하여 전술된 동작들은, 선택적으로, 도 1 내지 도 6에 도시된 컴포넌트들에 의해 구현된다. 일부 실시예들에서, 방법들(8000, 9000, 10000, 11000, 12000, 13000 및 14000)의 양태들 및/또는 동작들은 이들 방법들 사이에서 상호교환, 대체, 및/또는 추가될 수 있다. 간결함을 위해, 이러한 세부사항들은 여기서 반복되지 않는다.
전술한 설명은, 설명의 목적을 위해, 특정 실시예들을 참조하여 설명되었다. 그러나, 위의 예시적인 논의들은 본 발명을 개시된 정확한 형태들로 규명하거나 제한하려는 의도는 아니다. 많은 수정들 및 변형들이 위의 교시 내용들의 관점에서 가능하다. 본 발명의 원리들 및 그의 실제적인 응용들을 가장 잘 설명하여, 그에 의해 당업자들이 본 발명 및 다양한 설명된 실시예들을 고려되는 특정 용도에 적합한 바와 같은 다양한 변형들을 갖고서 가장 잘 사용하는 것을 가능하게 하도록, 실시예들이 선택 및 설명되었다.

Claims (162)

  1. 방법으로서,
    디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템에서,
    상기 디스플레이 생성 컴포넌트를 통해,
    물리적 환경의 뷰; 및
    상기 물리적 환경의 뷰의 적어도 일부 상에 오버레이된 컴퓨터 생성 사용자 인터페이스 요소를 동시에 디스플레이하는 단계를 포함하고, 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관은 상기 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 상기 물리적 환경의 뷰의 하나 이상의 부분들의 외관에 기초하고;
    상기 물리적 환경의 뷰 및 상기 컴퓨터 생성 사용자 인터페이스 요소를 동시에 디스플레이하는 동안, 상기 물리적 환경의 일부의 외관은 변화하고;
    상기 물리적 환경의 일부의 외관의 상기 변화에 응답하여, 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관은,
    제1 시간 이전인 제2 시간에서의 상기 물리적 환경의 제1 부분의 외관; 및
    상기 제2 시간 이전인 제3 시간에서의 상기 물리적 환경의 제2 부분의 외관을 포함하는, 상기 제1 시간 이전의 상이한 시간들에 상기 물리적 환경의 하나 이상의 부분들의 외관의 그래픽 조성에 기초하여 상기 제1 시간에 업데이트되는, 방법.
  2. 제1항에 있어서, 상기 물리적 환경의 일부의 외관은 상기 물리적 환경에 대한 상기 컴퓨터 시스템의 이동에 응답하여 변화하는, 방법.
  3. 제1항 또는 제2항에 있어서, 상기 물리적 환경의 일부의 외관은 상기 물리적 환경 내의 하나 이상의 객체들의 이동에 응답하여 변화하고, 상기 하나 이상의 객체들은 상기 컴퓨터 시스템과 별개인, 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 요소는 콘텐츠를 포함하고, 상기 그래픽 조성에 기초한 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관의 업데이트는 상기 컴퓨터 생성 사용자 인터페이스 요소의 콘텐츠와 별개인 상기 컴퓨터 생성 사용자 인터페이스 요소의 하나 이상의 구역들에 적용되는, 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 그래픽 조성은 상기 제1 시간 이전인 상기 제2 시간에서의 상기 물리적 환경의 제1 부분의 외관에 대한 제1 양에 기초하고, 상기 제2 시간 이전인 상기 제3 시간에서의 상기 물리적 환경의 제2 부분의 외관에 대한 제2 양에 기초하고;
    상기 제1 양은 상기 제2 양과 상이한, 방법.
  6. 제5항에 있어서, 상기 제1 시간에서, 상기 제1 시간에서의 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관에 대한 상기 제1 시간에 더 가까운 시간에서의 상기 물리적 환경의 하나 이상의 부분들의 기여는, 상기 제1 시간에서의 상기 컴퓨터 생성 사용자 인터페이스의 외관에 대한 상기 제1 시간으로부터 더 먼 시간에서의 상기 물리적 환경의 하나 이상의 부분들의 기여보다 큰, 방법.
  7. 제6항에 있어서, 상기 제1 시간에서의 상기 컴퓨터 생성 사용자 인터페이스의 외관에 대한 상기 제1 시간으로부터 가장 먼 시간에서의 상기 물리적 환경의 하나 이상의 부분들의 기여는, 상기 제1 시간에서의 상기 컴퓨터 생성 사용자 인터페이스의 외관에 대한 상기 제1 시간에 더 가까운 임의의 시간에서의 상기 물리적 환경의 하나 이상의 부분들의 기여보다 작은, 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 그래픽 조성은 상기 제1 시간 이전의 다수의 상이한 시간들에서의 상기 물리적 환경의 하나 이상의 부분들의 외관에 기초하고, 상기 상이한 시간들의 수는 상기 물리적 환경에 대한 상기 컴퓨터 시스템의 이동의 양에 기초하는, 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 그래픽 조성을 결정하는 단계는 상기 상이한 시간들에서 상기 물리적 환경의 하나 이상의 부분들의 외관에 대해 캡처된 정보에 잡음 패턴을 적용하는 단계를 포함하는, 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서, 상기 상이한 시간들에서 상기 물리적 환경의 하나 이상의 부분들의 그래픽 조성을 결정할 시에, 상기 제2 시간에서의 상기 물리적 환경의 제1 부분의 외관은 상기 제2 시간에서의 상기 컴퓨터 시스템의 관점과 상기 제3 시간에서의 상기 컴퓨터 시스템의 관점 사이의 차이에 기초하여 상기 제3 시간에서의 상기 물리적 환경의 제2 부분의 외관으로부터 오프셋되는, 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 상이한 시간들에서의 상기 물리적 환경의 하나 이상의 부분들의 외관의 그래픽 조성을 결정하는 단계는 상기 컴퓨터 시스템의 하나 이상의 카메라들에 의해 캡처된 상기 물리적 환경의 뷰들을 블러링(blurring)하는 단계를 포함하는, 방법.
  12. 제1항 내지 제11항 중 어느 한 항에 있어서, 상기 그래픽 조성은 부분적으로 반투명한, 방법.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서, 상기 상이한 시간들에서의 상기 물리적 환경의 하나 이상의 부분들의 외관의 그래픽 조성을 결정하는 단계는 상기 제1 시간 이전의 상이한 시간들에서 상기 물리적 환경의 하나 이상의 부분들에 대해 캡처된 정보의 해상도를 감소시키는 단계를 포함하는, 방법.
  14. 제1항 내지 제13항 중 어느 한 항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관은 상기 컴퓨터 생성 사용자 인터페이스 요소의 뷰잉 관점이 변화함에 따라 업데이트되는, 방법.
  15. 제1항 내지 제14항 중 어느 한 항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관은 상기 컴퓨터 생성 사용자 인터페이스 요소가 이동됨에 따라 업데이트되는, 방법.
  16. 제1항 내지 제15항 중 어느 한 항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관은, 상기 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션 뒤에 시뮬레이션된 포지션들을 갖는 하나 이상의 추가적인 컴퓨터 생성 사용자 인터페이스 요소들에 기초하여 업데이트되는, 방법.
  17. 제16항에 있어서, 상기 하나 이상의 추가적인 컴퓨터 생성 사용자 인터페이스 요소들의 외관은 시간이 지남에 따라 업데이트되는, 방법.
  18. 제1항 내지 제17항 중 어느 한 항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 요소는 하나 이상의 선택가능한 사용자 인터페이스 객체들을 포함하는 디스플레이된 사용자 인터페이스의 후면인, 방법.
  19. 제1항 내지 제18항 중 어느 한 항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관은, 상기 물리적 환경에 대한 상기 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션과 무관하게 상기 컴퓨터 생성 사용자 인터페이스 요소가 오버레이된 상기 물리적 환경의 뷰의 하나 이상의 부분들의 외관에 기초하는, 방법.
  20. 제1항 내지 제19항 중 어느 한 항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션은 사용자의 시점으로부터 제1 거리이고, 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관은 상기 사용자의 시점으로부터 제2 거리에 있는 상기 물리적 환경의 하나 이상의 부분들의 외관에 기초하고, 상기 제1 거리는 상기 제2 거리보다 큰, 방법.
  21. 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템으로서,
    하나 이상의 프로세서들; 및
    하나 이상의 프로그램들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램들은 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되고, 상기 하나 이상의 프로그램들은 제1항 내지 제20항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.
  22. 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 하나 이상의 프로그램들은, 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 제1항 내지 제20항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.
  23. 디스플레이 생성 컴포넌트와 통신하고, 메모리 및 상기 메모리에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 포함하는 컴퓨터 시스템 상의 그래픽 사용자 인터페이스로서, 제1항 내지 제20항 중 어느 한 항의 방법에 따라 디스플레이되는 사용자 인터페이스들을 포함하는, 그래픽 사용자 인터페이스.
  24. 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템으로서,
    제1항 내지 제20항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  25. 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템에서 사용하기 위한 정보 프로세싱 장치로서,
    제1항 내지 제20항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.
  26. 방법으로서,
    디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템에서,
    상기 디스플레이 생성 컴포넌트를 통해,
    물리적 환경의 뷰; 및
    상기 물리적 환경의 뷰의 적어도 일부 상에 오버레이된 컴퓨터 생성 사용자 인터페이스 요소를 동시에 디스플레이하는 단계를 포함하고, 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관은 상기 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 상기 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된 제1 세트의 대표 색상들 사이의 개개의 구배에 기초하고, 상기 제1 세트의 대표 색상들은,
    제1 시간 기간에서 상기 컴퓨터 생성 사용자 인터페이스 요소의 제1 부분 뒤에 있는 상기 물리적 환경의 뷰의 일부를 표현하는 제1 색상; 및
    상기 제1 시간 기간에서 상기 컴퓨터 생성 사용자 인터페이스 요소의 제2 부분 뒤에 있는 상기 물리적 환경의 뷰의 일부를 표현하는 제2 색상을 포함하고;
    상기 물리적 환경의 뷰 및 상기 컴퓨터 생성 사용자 인터페이스 요소를 동시에 디스플레이하는 동안, 상기 물리적 환경의 일부의 외관은 변화하고; 상기 방법은,
    상기 물리적 환경의 일부의 외관에서의 상기 변화에 응답하여, 상기 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 상기 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된 제2 세트의 대표 색상들 사이의 개개의 구배에 기초하여 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트하는 단계를 포함하고, 상기 제2 세트의 대표 색상들은,
    상기 제1 시간 기간과 상이한 제2 시간 기간에서 상기 컴퓨터 생성 사용자 인터페이스 요소의 제1 부분 뒤에 있는 상기 물리적 환경의 뷰의 일부를 표현하는 제3 색상; 및
    상기 제2 시간 기간에서 상기 컴퓨터 생성 사용자 인터페이스 요소의 제2 부분 뒤에 있는 상기 물리적 환경의 뷰의 일부를 표현하는 제4 색상을 포함하는, 방법.
  27. 제26항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 요소는 불투명한, 방법.
  28. 제26항 또는 제27항에 있어서, 상기 제1 세트의 대표 색상들은, 상기 제1 시간 기간에서 상기 컴퓨터 생성 사용자 인터페이스 요소의 제3 부분 뒤에 있는 상기 물리적 환경의 뷰의 일부를 표현하는 제5 색상을 포함하고, 상기 제2 세트의 대표 색상들은, 상기 제2 시간 기간에서 상기 컴퓨터 생성 사용자 인터페이스 요소의 제3 부분 뒤에 있는 상기 물리적 환경의 뷰의 일부를 표현하는 제6 색상을 포함하는, 방법.
  29. 제26항 내지 제28항 중 어느 한 항에 있어서, 상기 개개의 구배에 기초하는 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관은 상기 컴퓨터 생성 사용자 인터페이스 요소의 하나 이상의 에지들로 연장되는, 방법.
  30. 제26항 내지 제29항 중 어느 한 항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 요소의 개개의 부분의 색상은 상기 컴퓨터 생성 사용자 인터페이스 요소의 개개의 부분의 시뮬레이션된 포지션 뒤에 있는 상기 물리적 환경의 뷰의 개개의 부분으로부터 샘플링되는, 방법.
  31. 제26항 내지 제30항 중 어느 한 항에 있어서, 상기 개개의 구배에 기초한 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관의 업데이트는 상기 컴퓨터 생성 사용자 인터페이스 요소의 뷰잉 관점이 상기 물리적 환경에 대해 변화함에 따라 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관을 변경하는, 방법.
  32. 제26항 내지 제31항 중 어느 한 항에 있어서, 상기 개개의 구배에 기초한 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관의 업데이트는 상기 컴퓨터 생성 사용자 인터페이스 요소가 이동됨에 따라 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관을 변경하는 단계를 포함하는, 방법.
  33. 제26항 내지 제32항 중 어느 한 항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관은, 상기 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션 뒤에 시뮬레이션된 포지션들을 갖는 하나 이상의 추가적인 컴퓨터 생성 사용자 인터페이스 요소들에 기초하여 업데이트되는, 방법.
  34. 제33항에 있어서, 상기 하나 이상의 추가적인 컴퓨터 생성 사용자 인터페이스 요소들의 외관은 시간이 지남에 따라 업데이트되는, 방법.
  35. 제33항 또는 제34항에 있어서, 상기 하나 이상의 추가적인 컴퓨터 생성 사용자 인터페이스 요소들의 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 외관은 상기 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 상기 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된 제3 세트의 대표 색상들 사이의 개개의 구배에 기초하고, 상기 제3 세트의 대표 색상들은,
    제3 시간 기간에서 상기 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 제1 부분 뒤에 있는 상기 물리적 환경의 뷰의 일부를 표현하는 제7 색상; 및
    상기 제3 시간 기간에서 상기 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 제2 부분 뒤에 있는 상기 물리적 환경의 뷰의 일부를 표현하는 제8 색상을 포함하고;
    상기 물리적 환경의 뷰를 디스플레이하는 동안, 상기 물리적 환경의 일부의 외관은 변화하고; 상기 방법은,
    상기 물리적 환경의 일부의 외관에서의 상기 변화에 응답하여, 상기 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소가 오버레이되는 상기 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된 제4 세트의 대표 색상들 사이의 개개의 구배에 기초하여 상기 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 외관을 업데이트하는 단계를 포함하고, 상기 제4 세트의 대표 색상들은,
    상기 제3 시간 기간과 상이한 제4 시간 기간에서 상기 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 제1 부분 뒤에 있는 상기 물리적 환경의 뷰의 일부를 표현하는 제9 색상; 및
    상기 제4 시간 기간에서 상기 개개의 추가적인 컴퓨터 생성 사용자 인터페이스 요소의 제2 부분 뒤에 있는 상기 물리적 환경의 뷰의 일부를 표현하는 제10 색상을 포함하는, 방법.
  36. 제26항 내지 제35항 중 어느 한 항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 요소의 개개의 부분 뒤에 있는 상기 물리적 환경의 뷰의 일부를 표현하는 개개의 색상은, 적어도 부분적으로 상기 컴퓨터 생성 사용자 인터페이스 요소의 개개의 부분의 시뮬레이션된 포지션 뒤에 있는 시뮬레이션된 포지션을 갖는 제2 컴퓨터 생성 사용자 인터페이스 요소로부터 샘플링되는, 방법.
  37. 제26항 내지 제36항 중 어느 한 항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 요소의 외관은, 상기 물리적 환경에 대한 상기 컴퓨터 생성 사용자 인터페이스 요소의 시뮬레이션된 포지션과 무관하게 상기 물리적 환경의 뷰의 하나 이상의 부분들로부터 샘플링된 개개의 세트의 대표 색상들 사이의 개개의 구배에 기초하는, 방법.
  38. 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템으로서,
    하나 이상의 프로세서들; 및
    하나 이상의 프로그램들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램들은 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되고, 상기 하나 이상의 프로그램들은 제26항 내지 제37항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.
  39. 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 하나 이상의 프로그램들은, 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 제26항 내지 제37항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.
  40. 디스플레이 생성 컴포넌트와 통신하고, 메모리 및 상기 메모리에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 포함하는 컴퓨터 시스템 상의 그래픽 사용자 인터페이스로서, 제26항 내지 제37항 중 어느 한 항의 방법에 따라 디스플레이되는 사용자 인터페이스들을 포함하는, 그래픽 사용자 인터페이스.
  41. 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템으로서,
    제26항 내지 제37항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  42. 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템에서 사용하기 위한 정보 프로세싱 장치로서,
    제26항 내지 제37항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.
  43. 방법으로서,
    디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템에서,
    상기 디스플레이 생성 컴포넌트를 통해, 3차원 환경의 제1 뷰를 디스플레이하는 단계 - 상기 디스플레이하는 단계는, 상기 3차원 환경의 제1 뷰에 제1 사용자 인터페이스 객체를 디스플레이하는 단계 및 상기 3차원 환경에 상기 제1 사용자 인터페이스 객체 뒤의 배경 콘텐츠를 디스플레이하는 단계를 포함하고;
    상기 제1 사용자 인터페이스 객체는 제1 부분을 포함하고, 상기 제1 부분은 상기 3차원 환경에서 상기 제1 사용자 인터페이스 객체의 제1 부분 뒤에 위치된 배경 콘텐츠의 외관에 기초하여 선택된 외관을 갖고;
    상기 제1 사용자 인터페이스 객체는 상기 제1 사용자 인터페이스 객체의 제1 부분과 전방 사이에 시뮬레이션된 두께를 갖고;
    상기 제1 사용자 인터페이스 객체의 제1 부분과 상기 제1 사용자 인터페이스 객체의 전방 사이의 상기 제1 사용자 인터페이스 객체에 콘텐츠가 디스플레이됨 -;
    상기 제1 사용자 인터페이스 객체를 디스플레이하는 동안, 상기 콘텐츠를 이동시키기 위한 요청을 검출하는 단계; 및
    상기 콘텐츠를 이동시키기 위한 상기 요청을 검출하는 것에 응답하여, 상기 콘텐츠가 상기 제1 사용자 인터페이스 객체의 제1 부분과 상기 제1 사용자 인터페이스 객체의 전방 사이에서 유지되는 동안 상기 제1 사용자 인터페이스 객체 내에서 상기 콘텐츠를 이동시키는 단계를 포함하고, 상기 제1 사용자 인터페이스 객체 내에서 상기 콘텐츠를 이동시키는 단계는 상기 제1 사용자 인터페이스 객체의 시뮬레이션된 두께에 기초하여 상기 콘텐츠에 적용되는 시각적 효과를 디스플레이하는 단계를 포함하는, 방법.
  44. 제43항에 있어서, 상기 제1 사용자 인터페이스 객체의 외관은 상기 제1 사용자 인터페이스 객체의 제1 레벨의 반투명도에 따른 상기 배경 콘텐츠의 외관에 기초하고, 상기 방법은 상기 제1 사용자 인터페이스 객체의 에지에 인접하게 디스플레이된 배경 콘텐츠 상에 그림자를 디스플레이하는 단계를 포함하고, 상기 그림자의 외관은 상기 제1 레벨의 반투명도와 상이한 상기 제1 사용자 인터페이스 객체의 제2 레벨의 반투명도에 따르는, 방법.
  45. 제43항 또는 제44항에 있어서, 상기 제1 사용자 인터페이스 객체의 시뮬레이션된 두께에 기초하여 상기 콘텐츠에 적용되는 상기 시각적 효과를 디스플레이하는 단계는, 상기 제1 사용자 인터페이스 객체의 시뮬레이션된 두께 주위의 만곡화로서 상기 제1 사용자 인터페이스 객체의 에지로부터 임계 거리 내에 있는 상기 콘텐츠의 부분을 디스플레이하는 단계를 포함하는, 방법.
  46. 제43항 내지 제45항 중 어느 한 항에 있어서, 상기 제1 사용자 인터페이스 객체의 하나 이상의 에지들은 곡률을 갖고 상기 하나 이상의 에지들로부터 반사되는 광의 시각적 효과를 갖는 것으로 디스플레이되는, 방법.
  47. 제46항에 있어서, 상기 곡률은 2차원인, 방법.
  48. 제46항에 있어서, 상기 곡률은 3차원인, 방법.
  49. 제46항 내지 제48항 중 어느 한 항에 있어서, 상기 3차원 환경은 물리적 환경의 적어도 일부의 표현을 포함하고, 상기 제1 사용자 인터페이스 객체의 상기 하나 이상의 에지들로부터 반사되는 광의 상기 시각적 효과는 상기 물리적 환경에서 검출된 광에 기초하는, 방법.
  50. 제46항 내지 제49항 중 어느 한 항에 있어서, 상기 제1 사용자 인터페이스 객체의 상기 하나 이상의 에지들로부터 반사되는 광의 상기 시각적 효과는 상기 3차원 환경 내의 광에 기초하는, 방법.
  51. 제43항 내지 제50항 중 어느 한 항에 있어서, 상기 제1 사용자 인터페이스 객체는 하나 이상의 활성화가능한 사용자 인터페이스 객체들을 포함하고, 상기 하나 이상의 활성화가능한 사용자 인터페이스 객체들은 상기 제1 사용자 인터페이스 객체의 전방에 디스플레이되는, 방법.
  52. 제43항 내지 제51항 중 어느 한 항에 있어서, 상기 제1 사용자 인터페이스 객체의 제1 활성화가능한 사용자 인터페이스 객체는 제1 두께를 갖고, 상기 방법은,
    상기 제1 활성화가능한 사용자 인터페이스 객체와 상호작용하는 입력을 검출하는 단계; 및
    상기 입력을 검출하는 것에 응답하여, 상기 제1 두께와 상이한 제2 두께로 상기 제1 활성화 가능한 사용자 인터페이스 객체를 디스플레이하는 단계를 포함하는, 방법.
  53. 제43항 내지 제52항 중 어느 한 항에 있어서,
    상기 제1 사용자 인터페이스 객체에 인접하게 디스플레이된 배경 콘텐츠 상에, 상기 제1 사용자 인터페이스 객체에 대응하는 그림자를 디스플레이하는 단계;
    상기 제1 사용자 인터페이스 객체와 상호작용하는 입력을 검출하는 단계; 및
    상기 제1 사용자 인터페이스 객체와 상호작용하는 상기 입력을 검출하는 것에 응답하여, 상기 제1 사용자 인터페이스 객체에 대응하는 상기 그림자의 외관을 변경하는 단계를 포함하는, 방법.
  54. 제43항 내지 제53항 중 어느 한 항에 있어서, 상기 3차원 환경의 제1 뷰는 상기 제1 사용자 인터페이스 객체의 전방의 뷰를 포함하고, 상기 방법은,
    상기 제1 사용자 인터페이스 객체의 후방의 뷰를 디스플레이하기 위한 요청을 수신하는 단계; 및
    상기 제1 사용자 인터페이스 객체의 후방의 뷰를 디스플레이하기 위한 상기 요청에 응답하여, 상기 제1 사용자 인터페이스 객체의 제1 부분과 상기 제1 사용자 인터페이스 객체의 전방 사이의 상기 콘텐츠를 시각적으로 덜 강조하는 단계를 포함하는, 방법.
  55. 제43항 내지 제54항 중 어느 한 항에 있어서,
    상기 3차원 환경의 제1 콘텍스트에 따라 제1 외관을 갖는 상기 제1 사용자 인터페이스 객체를 디스플레이하는 단계; 및
    상기 제1 콘텍스트와 상이한 제2 콘텍스트로의 상기 3차원 환경의 변화에 응답하여, 상기 3차원 환경의 상기 제2 콘텍스트에 따라 상기 제1 외관과 상이한 제2 외관을 갖는 상기 제1 사용자 인터페이스 객체를 디스플레이하는 단계를 포함하는, 방법.
  56. 제43항 내지 제55항 중 어느 한 항에 있어서, 상기 3차원 환경의 콘텍스트에 기초하여 상기 제1 사용자 인터페이스 객체의 외관을 선택하는 단계를 포함하고,
    상기 3차원 환경이 제1 콘텍스트에 있다는 결정에 따라, 상기 3차원 환경의 제1 콘텍스트에 기초하는 제1 외관이 선택되고;
    상기 3차원 환경이 상기 제1 콘텍스트와 상이한 제2 콘텍스트에 있다는 결정에 따라, 상기 3차원 환경의 제2 콘텍스트에 기초하는 제2 외관이 선택되고; 상기 제2 외관은 상기 제1 외관과 상이한, 방법.
  57. 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템으로서,
    하나 이상의 프로세서들; 및
    하나 이상의 프로그램들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램들은 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되고, 상기 하나 이상의 프로그램들은 제43항 내지 제56항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.
  58. 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 하나 이상의 프로그램들은, 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 제43항 내지 제56항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.
  59. 디스플레이 생성 컴포넌트와 통신하고, 메모리 및 상기 메모리에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 포함하는 컴퓨터 시스템 상의 그래픽 사용자 인터페이스로서, 제43항 내지 제56항 중 어느 한 항의 방법에 따라 디스플레이되는 사용자 인터페이스들을 포함하는, 그래픽 사용자 인터페이스.
  60. 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템으로서,
    제43항 내지 제56항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  61. 디스플레이 생성 컴포넌트와 통신하는 컴퓨터 시스템에서 사용하기 위한 정보 프로세싱 장치로서,
    제43항 내지 제56항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.
  62. 방법으로서,
    디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템에서,
    상기 디스플레이 생성 컴포넌트를 통해,
    3차원 환경의 뷰를 포함하는 사용자 인터페이스;
    개개의 시뮬레이션된 재료에 대응하는 외관으로 디스플레이되는 상기 3차원 환경 내의 시뮬레이션된 3차원 객체 - 상기 시뮬레이션된 3차원 객체의 제1 구역은 상기 개개의 시뮬레이션된 재료의 일부의 외관이 상기 시뮬레이션된 3차원 객체의 표면으로부터 제거된 채로 디스플레이됨 -; 및
    상기 시뮬레이션된 3차원 객체의 제1 구역을 포함하는 제1 사용자 인터페이스 요소를 디스플레이하는 단계;
    상기 제1 사용자 인터페이스 요소로 지향된 제1 입력을 검출하는 단계; 및
    상기 제1 사용자 인터페이스 요소로 지향된 상기 제1 입력을 검출하는 것에 응답하여,
    상기 사용자 인터페이스에서, 상기 제1 사용자 인터페이스 요소와 연관된 개개의 동작을 수행하는 단계를 포함하는, 방법.
  63. 제62항에 있어서, 상기 시뮬레이션된 3차원 객체의 하나 이상의 에지들은 상기 개개의 시뮬레이션된 재료의 속성들에 기초하여 상기 하나 이상의 에지들로부터 반사되는 상기 3차원 환경으로부터의 광의 시각적 효과로 디스플레이되는, 방법.
  64. 제63항에 있어서, 상기 3차원 환경으로부터의 광은 상기 3차원 환경의 하나 이상의 시뮬레이션된 광원들로부터의 시뮬레이션된 광을 포함하는, 방법.
  65. 제63항 또는 제64항에 있어서, 상기 3차원 환경은 물리적 환경에 대응하고, 상기 3차원 환경으로부터의 광은 상기 물리적 환경에서 검출된 광을 포함하는, 방법.
  66. 제63항 내지 제65항 중 어느 한 항에 있어서, 상기 시뮬레이션된 3차원 객체는 상기 3차원 환경의 제1 포지션에 디스플레이되고, 상기 시뮬레이션된 3차원 객체의 상기 하나 이상의 에지들은 상기 시뮬레이션된 3차원 객체가 상기 제1 포지션에 있는 것에 따라 상기 하나 이상의 에지들로부터 반사되는 광의 상기 시각적 효과에 기초한 외관을 갖고, 상기 방법은,
    상기 3차원 환경에서 상기 시뮬레이션된 3차원 객체를 이동시키기 위한 입력을 검출하는 단계; 및
    상기 3차원 환경에서 상기 시뮬레이션된 3차원 객체를 이동시키기 위한 상기 입력을 검출하는 것에 응답하여,
    상기 3차원 환경에서 상기 제1 포지션과 상이한 제2 포지션에 상기 시뮬레이션된 3차원 객체를 디스플레이하는 단계; 및
    상기 시뮬레이션된 3차원 객체가 상기 제2 포지션에 있는 것에 따라 상기 하나 이상의 에지들로부터 반사되는 광의 상기 시각적 효과에 기초하여 상기 시뮬레이션된 3차원 객체의 하나 이상의 에지들의 외관을 변경하는 단계를 포함하는, 방법.
  67. 제63항 내지 제66항 중 어느 한 항에 있어서, 상기 3차원 환경의 뷰는 상기 3차원 환경에 대한 상기 사용자의 제1 시점으로부터의 뷰이고, 상기 시뮬레이션된 3차원 객체의 상기 하나 이상의 에지들은 상기 사용자의 상기 제1 시점에 따라 상기 하나 이상의 에지들로부터 반사되는 광의 상기 시각적 효과에 기초한 외관을 갖고, 상기 방법은,
    상기 3차원 환경에 대한 상기 사용자의 제2 시점으로 전환하는 단계를 포함하고, 상기 전환하는 단계는,
    상기 사용자의 제2 시점으로부터의 상기 3차원 환경의 뷰로 상기 사용자 인터페이스를 업데이트하는 단계; 및
    상기 사용자의 상기 제2 시점에 따라 상기 하나 이상의 에지들로부터 반사되는 광의 상기 시각적 효과에 기초하여 상기 시뮬레이션된 3차원 객체의 하나 이상의 에지들의 외관을 변경하는 단계를 포함하는, 방법.
  68. 제63항 내지 제67항 중 어느 한 항에 있어서, 상기 3차원 환경 내의 광은 변화하고, 상기 방법은, 상기 3차원 환경 내의 광의 변화에 응답하여,
    상기 광의 변화들에 따라 상기 3차원 환경의 뷰의 변화를 디스플레이하는 단계; 및
    상기 개개의 시뮬레이션된 재료의 속성들에 기초하여 상기 하나 이상의 에지들로부터 반사되는 변경된 광의 시각적 효과를 디스플레이하기 위해 상기 시뮬레이션된 3차원 객체의 하나 이상의 에지들의 외관을 변경하는 단계를 포함하는, 방법.
  69. 제62항 내지 제68항 중 어느 한 항에 있어서,
    상기 시뮬레이션된 3차원 객체의 제2 구역은 상기 개개의 시뮬레이션된 재료의 일부의 외관이 상기 시뮬레이션된 3차원 객체의 표면으로부터 제거된 채로 디스플레이되고;
    제2 사용자 인터페이스 요소는 상기 시뮬레이션된 3차원 객체의 제2 구역을 포함하고;
    상기 방법은,
    상기 제2 사용자 인터페이스 요소로 지향된 입력을 검출하는 단계; 및
    상기 제2 사용자 인터페이스 요소로 지향된 상기 입력을 검출하는 것에 응답하여,
    상기 사용자 인터페이스에서, 상기 제2 사용자 인터페이스 요소와 연관된 개개의 동작을 수행하는 단계를 포함하는, 방법.
  70. 제62항 내지 제69항 중 어느 한 항에 있어서,
    텍스트의 입력에 대응하는 입력을 수신하는 단계; 및
    상기 입력된 텍스트를 상기 제1 사용자 인터페이스 요소에 디스플레이하는 단계를 포함하는, 방법.
  71. 제62항 내지 제70항 중 어느 한 항에 있어서, 상기 제1 사용자 인터페이스 요소의 활성화에 대응하는 상기 제1 입력을 검출하기 전에,
    사용자가 상기 제1 사용자 인터페이스 요소에 초점을 지향시키는 것에 대응하는 제2 입력을 검출하는 단계; 및
    사용자가 상기 제1 사용자 인터페이스 요소에 초점을 지향시키는 것에 대응하는 상기 제2 입력을 검출하는 것에 응답하여,
    상기 제1 사용자 인터페이스 요소가 제1 유형의 사용자 인터페이스 요소라는 결정에 따라, 상기 시뮬레이션된 3차원 객체의 표면으로부터 상승된 상기 개개의 시뮬레이션된 재료의 일부의 외관으로 상기 시뮬레이션된 3차원 객체의 제1 구역을 디스플레이하는 단계; 및
    상기 제1 사용자 인터페이스 요소가 상기 제1 유형과 상이한 제2 유형의 사용자 인터페이스 요소라는 결정에 따라, 상기 시뮬레이션된 3차원 객체의 표면으로부터 제거된 상기 개개의 시뮬레이션된 재료의 일부의 외관으로 상기 시뮬레이션된 3차원 객체의 제1 구역의 디스플레이를 유지하는 단계를 포함하는, 방법.
  72. 제62항 내지 제71항 중 어느 한 항에 있어서,
    상기 시뮬레이션된 3차원 객체의 제3 구역은 상기 개개의 시뮬레이션된 재료의 일부의 외관이 상기 시뮬레이션된 3차원 객체의 표면으로부터 상승된 채로 디스플레이되고;
    제3 사용자 인터페이스 요소는 상기 시뮬레이션된 3차원 객체의 제3 구역을 포함하고;
    상기 방법은,
    상기 제3 사용자 인터페이스 요소로 지향된 입력을 검출하는 단계; 및
    상기 제3 사용자 인터페이스 요소로 지향된 상기 입력을 검출하는 것에 응답하여,
    상기 사용자 인터페이스에서, 상기 제3 사용자 인터페이스 요소와 연관된 개개의 동작을 수행하는 단계를 포함하는, 방법.
  73. 제62항 내지 제72항 중 어느 한 항에 있어서, 상기 시뮬레이션된 3차원 객체의 콘텐츠는 시뮬레이션된 두께를 갖는 상기 시뮬레이션된 3차원 객체의 제2 부분에서 상기 시뮬레이션된 3차원 객체의 전면 뒤에 디스플레이되고, 상기 시뮬레이션된 3차원 객체의 전면은 사용자의 시점을 향하는 상기 시뮬레이션된 3차원 객체의 외부 표면의 부분에 대응하는, 방법.
  74. 제62항 내지 제73항 중 어느 한 항에 있어서,
    상기 시뮬레이션된 3차원 객체는 상기 사용자의 시점에 대한 제1 포지션에서 제1 세트의 특성들로 제1 시간에 디스플레이되고;
    상기 제1 시간 이후, 상기 시뮬레이션된 3차원 객체는 상기 사용자의 시점에 대한 제2 포지션으로 이동되고;
    상기 방법은, 상기 사용자의 시점에 대한 상기 시뮬레이션된 3차원 객체의 포지션의 변화에 응답하여,
    상기 사용자의 변경된 시점에 따라 상기 제1 세트의 특성들과 상이한 제2 세트의 특성들로 상기 제2 포지션에서 상기 시뮬레이션된 3차원 객체를 디스플레이하는 단계를 포함하는, 방법.
  75. 컴퓨터 시스템으로서,
    디스플레이 생성 컴포넌트;
    하나 이상의 입력 디바이스들;
    하나 이상의 프로세서들; 및
    하나 이상의 프로그램들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램들은 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되고, 상기 하나 이상의 프로그램들은 제62항 내지 제74항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.
  76. 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 하나 이상의 프로그램들은, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 제62항 내지 제74항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.
  77. 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 메모리, 및 상기 메모리에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 포함하는 컴퓨터 시스템 상의 그래픽 사용자 인터페이스로서, 제62항 내지 제74항 중 어느 한 항의 방법에 따라 디스플레이되는 사용자 인터페이스들을 포함하는, 그래픽 사용자 인터페이스.
  78. 컴퓨터 시스템으로서,
    디스플레이 생성 컴포넌트;
    하나 이상의 입력 디바이스들; 및
    제62항 내지 제74항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  79. 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 포함하는 컴퓨터 시스템에서 사용하기 위한 정보 프로세싱 장치로서,
    제62항 내지 제74항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.
  80. 방법으로서,
    디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템에서,
    상기 디스플레이 생성 컴포넌트를 통해, 3차원 환경의 뷰를 포함하는 사용자 인터페이스 및 상기 3차원 환경 내의 개개의 표면과 연관된 사용자 인터페이스 요소를 디스플레이하는 단계 -
    상기 사용자 인터페이스 요소의 제1 세트의 하나 이상의 부분들은 상기 사용자 인터페이스 요소의 제1 층과 연관되고;
    상기 사용자 인터페이스 요소의 제2 세트의 하나 이상의 부분들은 상기 사용자 인터페이스 요소의 제2 층과 연관되고;
    상기 사용자 인터페이스 요소는 상기 제1 층과 상기 제2 층 사이의 제1 분리 정도를 표시하는 외관으로 디스플레이됨 -;
    사용자가 상기 사용자 인터페이스 요소에 주의를 기울이는 것에 대응하는 제1 입력을 검출하는 단계;
    사용자가 상기 사용자 인터페이스 요소에 주의를 기울이는 것에 대응하는 상기 제1 입력을 검출하는 것에 응답하여,
    상기 제1 층과 상기 제2 층 사이의 제2 분리 정도를 표시하기 위해 상기 사용자 인터페이스 요소의 외관을 변경하는 단계를 포함하고, 상기 제2 정도는 상기 제1 정도와 상이한, 방법.
  81. 제80항에 있어서, 상기 사용자 인터페이스 요소는 상기 사용자 인터페이스 요소의 외관을 변경하는 것과 별개인 상기 사용자 인터페이스에서의 개개의 동작을 수행하도록 활성화가능한, 방법.
  82. 제80항 또는 제81항에 있어서, 상기 제1 입력을 검출하는 단계는 상기 사용자가 상기 사용자 인터페이스 요소를 응시하고 있음을 검출하는 단계를 포함하는, 방법.
  83. 제80항 또는 제81항에 있어서, 상기 제1 입력을 검출하는 단계는 상기 사용자의 손이 미리 정의된 준비 상태에 있음을 검출하는 단계를 포함하는, 방법.
  84. 제80항 또는 제81항에 있어서, 상기 제1 입력을 검출하는 단계는 상기 사용자가 상기 사용자 인터페이스 요소를 응시하고 있는 것 및 상기 사용자의 손이 미리 정의된 준비 상태에 있는 것을 검출하는 단계를 포함하는, 방법.
  85. 제80항 내지 제84항 중 어느 한 항에 있어서,
    상기 입력이 상기 사용자 인터페이스 요소를 향하는 상기 사용자의 시선을 포함하는 제1 유형의 입력이라는 결정에 따라, 상기 제2 분리 정도는 제1 크기를 갖고;
    상기 입력이 상기 사용자 인터페이스 요소를 향해 지향되는 상기 사용자의 시선을 포함하는 제2 유형의 입력이고 상기 사용자의 손이 미리 정의된 준비 상태에 있다는 결정에 따라, 상기 제2 분리 정도는 상기 제1 크기와 상이한 제2 크기를 갖는, 방법.
  86. 제80항 내지 제85항 중 어느 한 항에 있어서,
    상기 제1 입력을 검출한 후에, 상기 사용자 인터페이스 요소의 외관이 상기 제1 층과 상기 제2 층 사이의 제2 분리 정도를 표시하는 동안, 상기 사용자 인터페이스 요소의 선택에 대응하는 제2 입력을 검출하는 단계;
    상기 제2 입력을 검출하는 것에 응답하여,
    상기 제1 층과 상기 제2 층 사이의 제3 분리 정도를 표시하기 위해 상기 사용자 인터페이스 요소의 외관을 변경하는 단계를 포함하고, 상기 제3 분리 정도는 상기 제2 분리 정도보다 작은, 방법.
  87. 제86항에 있어서, 상기 제2 입력은 미리 정의된 제스처를 수행하기 위한 입력의 진행을 포함하고; 상기 방법은,
    상기 미리 정의된 제스처가 진행됨에 따라, 상기 입력의 진행의 양에 대응하는 양만큼 상기 제3 분리 정도를 표시하는 쪽으로 상기 사용자 인터페이스 요소의 외관의 변화를 진행하는 단계; 및
    상기 미리 정의된 제스처가 반전됨에 따라, 상기 입력의 진행의 양에 대응하는 양만큼 상기 제2 분리 정도를 표시하는 쪽으로 상기 사용자 인터페이스 요소의 외관의 변화를 반전시키는 단계를 포함하는, 방법.
  88. 제80항 내지 제87항 중 어느 한 항에 있어서, 상기 제2 층 상에 광을 캐스팅하는, 상기 제1 층과 연관된 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 제1 세트의 시각적 효과로 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 제2 세트를 디스플레이하는 단계를 포함하는, 방법.
  89. 제88항에 있어서, 상기 시각적 효과는 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 제2 세트 상으로 광을 반사하는 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 제1 세트를 시뮬레이션하는, 방법.
  90. 제88항 또는 제89항에 있어서, 상기 시각적 효과는 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 제2 세트 상으로 광을 방출하는 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 제1 세트를 시뮬레이션하는, 방법.
  91. 제80항 내지 제90항 중 어느 한 항에 있어서, 상기 제2 층 상에 하나 이상의 그림자들을 캐스팅하는, 상기 제1 층과 연관된 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 제1 세트를 시뮬레이션하는 외관으로 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 제2 세트를 디스플레이하는 단계를 포함하는, 방법.
  92. 제80항 내지 제91항 중 어느 한 항에 있어서, 상기 제1 입력을 검출하는 것에 응답하여, 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 애니메이션을 디스플레이하는 단계를 포함하는, 방법.
  93. 제92항에 있어서, 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 애니메이션을 디스플레이하는 단계는 상기 사용자 인터페이스 요소의 하나 이상의 부분들을 회전시키는 단계를 포함하는, 방법.
  94. 제92항 또는 제93항에 있어서, 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 애니메이션을 디스플레이하는 단계는 상기 사용자 인터페이스 요소의 하나 이상의 부분들을 개개의 방향으로 슬라이딩시키는 단계를 포함하는, 방법.
  95. 제92항 내지 제94항 중 어느 한 항에 있어서, 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 애니메이션을 디스플레이하는 단계는 디스플레이된 그래픽의 하나 이상의 요소들의 스케일을 변화시킨 후에, 상기 디스플레이된 그래픽의 하나 이상의 요소들의 스케일의 상기 변화를 반전시키는 단계를 포함하는, 방법.
  96. 제92항 내지 제95항 중 어느 한 항에 있어서, 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 애니메이션을 디스플레이하는 단계는 상기 사용자 인터페이스 요소와 연관된 콘텐츠의 미리보기를 디스플레이하는 단계를 포함하는, 방법.
  97. 제92항 내지 제96항 중 어느 한 항에 있어서, 상기 사용자 인터페이스 요소는 엔벨로프의 표현을 포함하고, 상기 사용자 인터페이스 요소의 하나 이상의 부분들의 애니메이션을 디스플레이하는 단계는 상기 엔벨로프를 여는 애니메이션을 디스플레이하는 단계를 포함하는, 방법.
  98. 컴퓨터 시스템으로서,
    디스플레이 생성 컴포넌트;
    하나 이상의 입력 디바이스들;
    하나 이상의 프로세서들; 및
    하나 이상의 프로그램들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램들은 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되고, 상기 하나 이상의 프로그램들은 제80항 내지 제97항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.
  99. 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 하나 이상의 프로그램들은, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 제80항 내지 제97항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.
  100. 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 메모리, 및 상기 메모리에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 포함하는 컴퓨터 시스템 상의 그래픽 사용자 인터페이스로서, 제80항 내지 제97항 중 어느 한 항의 방법에 따라 디스플레이되는 사용자 인터페이스들을 포함하는, 그래픽 사용자 인터페이스.
  101. 컴퓨터 시스템으로서,
    디스플레이 생성 컴포넌트;
    하나 이상의 입력 디바이스들; 및
    제80항 내지 제97항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  102. 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 포함하는 컴퓨터 시스템에서 사용하기 위한 정보 프로세싱 장치로서,
    제80항 내지 제97항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.
  103. 방법으로서,
    디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들과 통신하는 컴퓨터 시스템에서,
    상기 디스플레이 생성 컴포넌트를 통해, 3차원 환경의 제1 뷰가 가시적인 동안 사용자 인터페이스 객체를 디스플레이하는 단계 ― 상기 사용자 인터페이스 객체는 상기 3차원 환경에서 개개의 동작을 수행하도록 활성화가능한 제1 선택가능한 객체를 포함함 ―;
    상기 제1 선택가능한 객체에 대응하는 제1 입력을 검출하는 단계; 및
    상기 제1 선택가능한 객체에 대응하는 상기 제1 입력을 검출하는 것에 응답하여,
    상기 제1 입력이 상기 제1 선택가능한 객체와 상호작용하기 위한 사용자의 준비를 표시한다는 결정에 따라, 상기 제1 선택가능한 객체의 두께를 변경하는 단계를 포함하는, 방법.
  104. 제103항에 있어서, 상기 제1 입력이 상기 제1 선택가능한 객체와 상호작용하기 위한 상기 사용자의 준비를 표시한다고 결정하는 단계는 상기 사용자가 상기 제1 선택가능한 객체에 주의를 기울이고 있다고 결정하는 단계를 포함하는, 방법.
  105. 제103항 또는 제104항에 있어서, 상기 제1 입력이 상기 제1 선택가능한 객체와 상호작용하기 위한 상기 사용자의 준비를 표시한다고 결정하는 단계는 상기 사용자의 손이 준비 상태에 있다고 결정하는 단계를 포함하는, 방법.
  106. 제103항 내지 제105항 중 어느 한 항에 있어서, 상기 제1 선택가능한 객체의 두께를 변경하는 단계는 상기 제1 선택가능한 객체의 두께의 점진적인 증가의 애니메이션을 디스플레이하는 단계를 포함하는, 방법.
  107. 제103항 내지 제106항 중 어느 한 항에 있어서, 상기 제1 선택가능한 객체의 하나 이상의 에지들로부터 반사되는 시뮬레이션된 광의 시각적 효과를 디스플레이함으로써 상기 제1 선택가능한 객체의 두께를 표시하는 단계를 포함하는, 방법.
  108. 제107항에 있어서, 상기 제1 선택가능한 객체의 두께를 변경하는 것과 조합하여, 상기 제1 선택가능한 객체의 상기 하나 이상의 에지들로부터 반사되는 시뮬레이션된 광의 시각적 효과가 상기 제1 선택가능한 객체의 중심을 향해 연장되는 양을 변경하는 단계를 포함하는 방법.
  109. 제103항 내지 제108항 중 어느 한 항에 있어서, 상기 3차원 환경의 제1 뷰는 상기 사용자의 시점으로부터 가시적이고, 상기 방법은, 상기 제1 입력을 검출하는 것에 응답하여, 그리고 상기 제1 입력이 상기 제1 선택가능한 객체와 상호작용하기 위한 상기 사용자의 준비를 표시한다는 상기 결정에 따라,
    상기 제1 선택가능한 객체와 상기 사용자의 시점 사이의 시뮬레이션된 거리를 감소시키는 단계를 포함하는, 방법.
  110. 제109항에 있어서, 상기 제1 선택가능한 객체와 상기 사용자의 시점 사이의 상기 시뮬레이션된 거리를 감소시키는 단계는 상기 제1 선택가능한 객체와 상기 사용자 인터페이스 객체의 표면 사이의 분리 정도를 증가시키는, 방법.
  111. 제110항에 있어서, 상기 제1 선택가능한 객체에 의해 캐스팅된 시뮬레이션된 그림자를 상기 사용자 인터페이스 객체의 표면 상에 디스플레이하는 단계를 포함하는, 방법.
  112. 제109항 내지 제111항 중 어느 한 항에 있어서,
    상기 사용자 인터페이스 객체는 상기 3차원 환경에서 제2 동작을 수행하도록 활성화가능한 제2 선택가능한 객체를 더 포함하고, 상기 제2 선택가능한 객체는 상기 제1 선택가능한 객체와 상이하고, 상기 제2 동작은 상기 개개의 동작과 상이하고;
    상기 제1 선택가능한 객체와 상기 사용자의 시점 사이의 상기 시뮬레이션된 거리를 감소시키는 단계는 상기 제1 선택가능한 객체를 상기 제2 선택가능한 객체에 대해 이동시키는, 방법.
  113. 제103항 내지 제112항 중 어느 한 항에 있어서, 상기 제1 입력을 검출하는 것에 응답하여, 그리고 상기 제1 입력이 상기 제1 선택가능한 객체와 상호작용하기 위한 상기 사용자의 준비를 표시한다는 상기 결정에 따라, 상기 제1 선택가능한 객체의 불투명도를 변경하는 단계를 포함하는, 방법.
  114. 제103항 내지 제113항 중 어느 한 항에 있어서, 상기 제1 입력을 검출하는 것에 응답하여, 그리고 상기 제1 입력이 상기 제1 선택가능한 객체와 상호작용하기 위한 상기 사용자의 준비를 표시한다는 상기 결정에 따라, 상기 제1 선택가능한 객체의 블러링 정도를 변경하는 단계를 포함하는, 방법.
  115. 제103항 내지 제114항 중 어느 한 항에 있어서,
    상기 사용자 인터페이스 객체는 상기 3차원 환경에서 제2 동작을 수행하도록 활성화가능한 제2 선택가능한 객체를 더 포함하고, 상기 제2 선택가능한 객체는 상기 제1 선택가능한 객체와 상이하고, 상기 제2 동작은 상기 개개의 동작과 상이하고;
    상기 제1 선택가능한 객체의 두께를 변경하는 단계는 상기 제2 선택가능한 객체의 두께에 대해 상기 제1 선택가능한 객체의 두께를 변경하는, 방법.
  116. 제103항 내지 제115항 중 어느 한 항에 있어서, 상기 사용자 인터페이스 객체는 상기 3차원 환경에서 제2 동작을 수행하도록 활성화가능한 제2 선택가능한 객체를 더 포함하고, 상기 제2 선택가능한 객체는 상기 제1 선택가능한 객체와 상이하고, 상기 제2 동작은 상기 개개의 동작과 상이하고, 상기 방법은,
    상기 제2 선택가능한 객체와 상호작용하기 위한 상기 사용자의 준비를 표시하는, 상기 제2 선택가능한 객체에 대응하는 제2 입력을 검출하는 단계; 및
    상기 제2 입력을 검출하는 것에 응답하여, 상기 제2 선택가능한 객체의 두께를 변경하는 단계를 포함하는, 방법.
  117. 제116항에 있어서, 상기 제1 선택가능한 객체의 두께를 변경하는 단계는 상기 제1 선택가능한 객체의 두께를 개개의 양만큼 변경하고, 상기 제2 선택가능한 객체의 두께를 변경하는 단계는 상기 제2 선택가능한 객체의 두께를 동일한 개개의 양만큼 변경하는, 방법.
  118. 제116항 또는 제117항에 있어서,
    상기 제2 입력을 검출하는 단계는 상기 사용자의 주의가 상기 제1 선택가능한 객체로부터 상기 제2 선택가능한 객체로 이동했다는 것을 검출하는 단계를 포함하고;
    상기 방법은, 상기 제2 입력을 검출하는 것에 응답하여, 상기 제1 선택가능한 객체의 두께의 변화를 반전시키는 단계를 포함하는, 방법.
  119. 제103항 내지 제118항 중 어느 한 항에 있어서,
    상기 제1 입력을 검출한 후에, 그리고 상기 제1 입력이 상기 제1 선택가능한 객체와 상호작용하기 위한 상기 사용자의 준비를 표시한다는 상기 결정에 따라, 상기 제1 선택가능한 객체로 지향된 상호작용 입력의 제1 부분을 검출하는 단계; 및
    상기 제1 선택가능한 객체로 지향된 상기 상호작용 입력의 제1 부분을 검출하는 것에 응답하여, 상기 제1 선택가능한 객체의 외관을 변경하는 단계를 포함하는, 방법.
  120. 제119항에 있어서, 상기 상호작용 입력의 제1 부분을 검출하는 것에 응답하여 상기 제1 선택가능한 객체의 외관을 변경하는 단계는 상기 제1 선택가능한 객체의 크기를 변경하는 단계를 포함하는, 방법.
  121. 제119항 또는 제120항에 있어서, 상기 상호작용 입력의 제1 부분을 검출하는 것에 응답하여 상기 제1 선택가능한 객체의 외관을 변경하는 단계는 상기 제1 선택가능한 객체의 불투명도를 변경하는 단계를 포함하는, 방법.
  122. 제119항 내지 제121항 중 어느 한 항에 있어서, 상기 상호작용 입력의 제1 부분을 검출하는 것에 응답하여 상기 제1 선택가능한 객체의 외관을 변경하는 단계는 상기 제1 선택가능한 객체의 밝기를 변경하는 단계를 포함하는, 방법.
  123. 제119항 내지 제122항 중 어느 한 항에 있어서, 상기 상호작용 입력의 제1 부분을 검출하는 것에 응답하여 상기 제1 선택가능한 객체의 외관을 변경하는 단계는 상기 제1 선택가능한 객체의 시뮬레이션된 그림자의 세기를 변경하는 단계를 포함하는, 방법.
  124. 제119항 내지 제123항 중 어느 한 항에 있어서, 상기 상호작용 입력의 제1 부분을 검출하는 것에 응답하여 상기 제1 선택가능한 객체의 외관을 변경하는 단계는, 상기 제1 선택가능한 객체의 외관을 제2 세트의 하나 이상의 시각적 속성들에 대해 변경하지 않으면서 상기 제1 선택가능한 객체의 외관을 제1 세트의 하나 이상의 시각적 속성들에 대해 변경하는 단계를 포함하고, 상기 제1 세트의 하나 이상의 시각적 속성들은 상기 제2 세트의 하나 이상의 시각적 속성들과 상이한, 방법.
  125. 제124항에 있어서, 상기 상호작용 입력의 제1 부분을 검출하는 것에 응답하여, 상기 제1 선택가능한 객체의 두께를 유지하는 단계를 포함하는, 방법.
  126. 제124항 또는 제125항에 있어서, 상기 상호작용 입력의 제1 부분을 검출하는 것에 응답하여, 상기 제1 선택가능한 객체와 상기 사용자 인터페이스 객체의 표면 사이의 분리 정도를 유지하는 단계를 포함하는, 방법.
  127. 제124항 내지 제126항 중 어느 한 항에 있어서, 상기 상호작용 입력의 제1 부분을 검출하는 것에 응답하여, 상기 제1 선택가능한 객체의 블러링 정도를 유지하는 단계를 포함하는, 방법.
  128. 제124항 내지 제127항 중 어느 한 항에 있어서, 상기 상호작용 입력의 제1 부분을 검출하는 것에 응답하여, 상기 제1 선택가능한 객체의 하나 이상의 에지들로부터 반사되는 광의 시각적 효과를 유지하는 단계를 포함하는, 방법.
  129. 제119항 내지 제128항 중 어느 한 항에 있어서,
    상기 상호작용 입력의 종료를 포함하는 상기 상호작용 입력의 제2 부분을 검출하는 단계;
    상기 상호작용 입력의 제2 부분을 검출하는 것에 응답하여,
    상기 제1 선택가능한 객체의 외관을 변경하는 단계; 및
    상기 3차원 환경에서 상기 개개의 동작을 수행하는 단계를 포함하는, 방법.
  130. 제129항에 있어서, 상기 상호작용 입력의 제2 부분을 검출하는 것에 응답하여 상기 제1 선택가능한 객체의 외관을 변경하는 단계는 상기 제1 선택가능한 객체의 크기를 변경하는 단계를 포함하는, 방법.
  131. 제129항 또는 제130항에 있어서, 상기 상호작용 입력의 제2 부분을 검출하는 것에 응답하여 상기 제1 선택가능한 객체의 외관을 변경하는 단계는 상기 제1 선택가능한 객체의 불투명도를 변경하는 단계를 포함하는, 방법.
  132. 제129항 내지 제131항 중 어느 한 항에 있어서, 상기 상호작용 입력의 제2 부분을 검출하는 것에 응답하여 상기 제1 선택가능한 객체의 외관을 변경하는 단계는 상기 제1 선택가능한 객체의 밝기를 변경하는 단계를 포함하는, 방법.
  133. 제129항 내지 제132항 중 어느 한 항에 있어서, 상기 상호작용 입력의 제2 부분을 검출하는 것에 응답하여 상기 제1 선택가능한 객체의 외관을 변경하는 단계는 상기 제1 선택가능한 객체의 시뮬레이션된 그림자의 세기를 변경하는 단계를 포함하는, 방법.
  134. 제129항 내지 제133항 중 어느 한 항에 있어서, 상기 상호작용 입력의 종료를 검출한 후에, 상기 사용자의 주의가 상기 제1 선택가능한 객체에 계속해서 지향되는 동안, 상기 제1 선택가능한 객체의 두께를 유지하는 단계를 포함하는 방법.
  135. 제129항 내지 제133항 중 어느 한 항에 있어서, 상기 상호작용 입력의 제2 부분을 검출하는 것에 응답하여 상기 제1 선택가능한 객체의 외관을 변경하는 단계는 상기 제1 선택가능한 객체의 두께를 변경하는 단계를 포함하는, 방법.
  136. 제129항 내지 제135항 중 어느 한 항에 있어서, 상기 제1 선택가능한 객체가 제1 외관으로 디스플레이되는 동안 상기 제1 선택가능한 객체에 대응하는 상기 제1 입력이 검출되고, 상기 방법은,
    상기 상호작용 입력의 종료를 검출한 후에, 상기 제1 외관과 상이한 제2 외관을 갖는 상기 제1 선택가능한 객체를 디스플레이하는 단계를 포함하는, 방법.
  137. 제103항 내지 제136항 중 어느 한 항에 있어서,
    상기 제1 선택가능한 객체가 제1 유형의 상호작용 객체라는 결정에 따라, 상기 제1 선택가능한 객체의 두께를 변경하는 단계는 상기 제1 선택가능한 객체를 상기 사용자 인터페이스 객체로부터 멀어지게 이동시키는 단계를 포함하고;
    상기 제1 선택가능한 객체가 제2 유형의 상호작용 객체라는 결정에 따라, 상기 제1 선택가능한 객체의 두께를 변경하는 단계는 상기 제1 선택가능한 객체가 상기 사용자 인터페이스 객체 내로 리세스되는 깊이를 증가시키는 단계를 포함하는, 방법.
  138. 제103항 내지 제137항 중 어느 한 항에 있어서, 상기 제1 선택가능한 객체의 두께를 변경하는 단계는 상기 제1 선택가능한 객체가 상기 사용자 인터페이스 객체의 전면 내로 리세스되는 깊이를 증가시키는 단계를 포함하는, 방법.
  139. 제138항에 있어서, 상기 제1 선택가능한 객체가 상기 사용자 인터페이스 객체의 전면 내로 리세스되는 깊이는 상기 제1 선택가능한 객체의 두께의 변화에 기초하여 상기 사용자 인터페이스 객체의 후면을 변경하지 않으면서 증가되는, 방법.
  140. 제138항 또는 제139항에 있어서,
    상기 제1 선택가능한 객체에 텍스트를 디스플레이하는 단계 - 상기 제1 입력은 상기 사용자의 시점으로부터 제1 시뮬레이션된 거리에 상기 텍스트를 디스플레이하는 동안 검출됨 -; 및
    상기 제1 입력을 검출하는 것에 응답하여, 그리고 상기 제1 입력이 상기 제1 선택가능한 객체와 상호작용하기 위한 상기 사용자의 준비를 표시한다는 상기 결정에 따라, 상기 사용자의 시점에 대해 제2 시뮬레이션된 거리에서 상기 제1 선택가능한 객체에 상기 텍스트를 디스플레이하는 단계를 포함하는, 방법.
  141. 제140항에 있어서,
    상기 제1 입력을 검출한 후에, 그리고 상기 제1 입력이 상기 제1 선택가능한 객체와 상호작용하기 위한 상기 사용자의 준비를 표시한다는 상기 결정에 따라, 상기 제1 선택가능한 객체에 대해 지향된 상호작용 입력을 검출하는 단계 - 상기 상호작용 입력은 제1 부분 및 그에 후속하는 상기 상호작용 입력의 종료를 포함하는 제2 부분을 포함함 -;
    상기 상호작용 입력의 제1 부분을 검출하는 것에 응답하여, 상기 제1 선택가능한 객체의 텍스트와 상기 사용자의 시점 사이의 거리를 변경하는 단계; 및
    상기 상호작용 입력의 제2 부분을 검출하는 것에 응답하여, 상기 제1 선택가능한 객체의 텍스트와 상기 사용자의 시점 사이의 거리의 변화를 반전시키는 단계를 포함하는, 방법.
  142. 제103항 내지 제141항 중 어느 한 항에 있어서,
    상기 제1 입력이 상기 제1 선택가능한 객체와 상호작용하기 위한 상기 사용자의 준비를 표시한다고 결정하는 단계는, 상기 사용자의 주의가 상기 제1 선택가능한 객체로 지향되고 그리고 상기 사용자의 손이 준비 상태에 있다고 결정하는 단계를 포함하고;
    제1 선택가능한 객체는 슬라이더를 포함하고;
    상기 방법은, 상기 제1 선택가능한 객체에 대응하는 상기 제1 입력을 검출하는 것에 응답하여,
    상기 제1 입력이 상기 제1 선택가능한 객체와 상호작용하기 위한 상기 사용자의 준비를 표시하는 동안, 상기 슬라이더에 대한 조정 제어를 디스플레이하는 단계; 및
    상기 제1 입력이 상기 제1 선택가능한 객체와 상호작용하기 위한 상기 사용자의 준비를 표시하지 않는 동안, 상기 슬라이더에 대한 상기 조정 제어를 디스플레이하지 않으면서 상기 슬라이더를 디스플레이하는 단계를 포함하는, 방법.
  143. 컴퓨터 시스템으로서,
    디스플레이 생성 컴포넌트;
    하나 이상의 입력 디바이스들;
    하나 이상의 프로세서들; 및
    하나 이상의 프로그램들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램들은 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되고, 상기 하나 이상의 프로그램들은 제103항 내지 제142항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.
  144. 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 하나 이상의 프로그램들은, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 제103항 내지 제142항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.
  145. 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 메모리, 및 상기 메모리에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 포함하는 컴퓨터 시스템 상의 그래픽 사용자 인터페이스로서, 제103항 내지 제142항 중 어느 한 항의 방법에 따라 디스플레이되는 사용자 인터페이스들을 포함하는, 그래픽 사용자 인터페이스.
  146. 컴퓨터 시스템으로서,
    디스플레이 생성 컴포넌트;
    하나 이상의 입력 디바이스들; 및
    제103항 내지 제142항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  147. 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 포함하는 컴퓨터 시스템에서 사용하기 위한 정보 프로세싱 장치로서,
    제103항 내지 제142항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.
  148. 방법으로서,
    디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템에서,
    상기 디스플레이 생성 컴포넌트를 통해, 3차원 환경의 뷰의 제1 부분 상에 오버레이된 컴퓨터 생성 사용자 인터페이스 객체를 디스플레이하는 단계 - 상기 컴퓨터 생성 사용자 인터페이스 객체의 외관은,
    상기 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역에 대응하는, 상기 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 상기 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제1 서브세트에 제2 변환을 적용하지 않으면서 제1 변환을 적용하는 것; 및
    상기 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역에 대응하는, 상기 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 상기 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제2 서브세트에 상기 제1 변환을 적용하지 않으면서 상기 제2 변환을 적용하는 것에 의해 상기 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역을 상기 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역으로부터 시각적으로 구별하는 것을 포함하여, 상기 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 상기 3차원 환경의 뷰의 제1 부분의 블러링된 표현에 기초하고, 상기 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제2 서브세트는 상기 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제1 서브세트와 상이함 -; 및
    상기 3차원 환경의 뷰의 제1 부분의 외관이 변화함에 따라, 상기 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현에 기초하여 상기 컴퓨터 생성 사용자 인터페이스 객체의 외관을 업데이트하는 단계를 포함하고, 상기 업데이트하는 단계는,
    상기 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역에 대응하는, 상기 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 상기 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제1 서브세트에 상기 제2 변환을 적용하지 않으면서 상기 제1 변환을 적용하는 단계; 및
    상기 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역에 대응하는, 상기 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 상기 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제2 서브세트에 상기 제1 변환을 적용하지 않으면서 상기 제2 변환을 적용하는 단계를 포함하고, 상기 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제2 서브세트는 상기 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제1 서브세트와 상이한, 방법.
  149. 제148항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 상기 3차원 환경의 뷰의 제1 부분의 외관은 상기 3차원 환경의 주변 변화들에 응답하여 변화하는, 방법.
  150. 제148항 또는 제149항에 있어서, 상기 3차원 환경의 뷰의 제1 부분의 외관은 상기 컴퓨터 생성 사용자 인터페이스 객체가 상기 3차원 환경에 대해 이동되는 것에 응답하여 변화하는, 방법.
  151. 제148항 내지 제150항 중 어느 한 항에 있어서, 상기 3차원 환경의 뷰는, 사용자의 개개의 시점으로부터 상기 디스플레이 생성 컴포넌트를 통해 가시적이고, 상기 3차원 환경의 뷰의 제1 부분의 외관은 상기 사용자의 개개의 시점이 상기 3차원 환경에서 변화하는 것에 응답하여 변화하는, 방법.
  152. 제148항 내지 제151항 중 어느 한 항에 있어서, 상기 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 색상 채도는 상기 컴퓨터 생성 사용자 인터페이스 객체가 오버레이됨이 없이 상기 3차원 환경의 뷰의 제1 부분의 외관에 비해 증가되는, 방법.
  153. 제148항 내지 제152항 중 어느 한 항에 있어서, 상기 제2 변환을 적용하는 단계는, 상기 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 상기 3차원 환경의 뷰의 개개의 부분의 블러링된 표현에 그레이 필터를 적용하는 단계를 포함하는, 방법.
  154. 제148항 내지 제153항 중 어느 한 항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 객체의 제1 구역은 글리프(glyph)들을 포함하고, 상기 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역은 상기 컴퓨터 생성 사용자 인터페이스 객체의 배경 구역을 포함하는, 방법.
  155. 제148항 내지 제154항 중 어느 한 항에 있어서, 상기 컴퓨터 생성 사용자 인터페이스 객체의 제2 구역은 상기 컴퓨터 생성 사용자 인터페이스 객체의 배경을 포함하고, 상기 컴퓨터 생성 사용자 인터페이스 객체의 제3 구역은 하나 이상의 상호작용 제어 구역들을 포함하고, 상기 방법은,
    상기 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 상기 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제3 서브세트에 상기 제1 변환을 적용하지 않으면서 그리고 상기 컴퓨터 생성 사용자 인터페이스 객체의 제3 구역에 대응하는, 상기 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 상기 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제3 서브세트에 상기 제2 변환을 적용하지 않으면서 제3 변환을 적용하는 것 - 상기 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제3 서브세트는 상기 3차원 환경의 뷰의 제1 부분의 블러링된 표현의 제1 서브세트 및 제2 서브세트와 상이함 -; 및
    상기 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 상기 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제3 서브세트에 상기 제1 변환을 적용하지 않으면서 그리고 상기 컴퓨터 생성 사용자 인터페이스 객체의 제3 구역에 대응하는, 상기 컴퓨터 생성 사용자 인터페이스 객체가 오버레이되는 상기 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제3 서브세트에 상기 제2 변환을 적용하지 않으면서 상기 제3 변환을 적용하는 것 - 상기 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제3 서브세트는 상기 3차원 환경의 뷰의 변경된 제1 부분의 블러링된 표현의 제1 서브세트 및 제2 서브세트와 상이함 -에 의해 상기 컴퓨터 생성 사용자 인터페이스 객체의 상기 제3 영역을 시각적으로 구별하는 단계를 포함하고,
    개개의 서브세트에 상기 제2 변환을 적용하는 단계는 상기 개개의 서브세트의 밝기를 감소시키는 단계를 포함하고;
    상기 개개의 서브세트에 상기 제3 변환을 적용하는 단계는 상기 개개의 서브세트의 밝기를 증가시키는 단계를 포함하는, 방법.
  156. 제155항에 있어서,
    개개의 서브세트에 상기 제2 변환을 적용하는 단계는, 상기 개개의 서브세트에 상기 제1 변환을 적용하는 단계가 상기 개개의 서브세트의 밝기를 감소시키는 것보다 상기 개개의 서브세트의 밝기를 더 감소시키고;
    상기 개개의 서브세트에 상기 제3 변환을 적용하는 단계는, 상기 개개의 서브세트에 상기 제1 변환을 적용하는 단계가 상기 개개의 서브세트의 밝기를 증가시키는 것보다 상기 개개의 서브세트의 밝기를 더 증가시키는, 방법.
  157. 제155항에 있어서,
    개개의 서브세트에 상기 제2 변환을 적용하는 단계는, 상기 개개의 서브세트에 제1 변환을 적용하는 단계가 상기 개개의 서브세트의 밝기를 감소시키는 것보다 상기 개개의 서브세트의 밝기를 덜 감소시키는, 방법.
  158. 컴퓨터 시스템으로서,
    디스플레이 생성 컴포넌트;
    하나 이상의 입력 디바이스들;
    하나 이상의 프로세서들; 및
    하나 이상의 프로그램들을 저장하는 메모리를 포함하고, 상기 하나 이상의 프로그램들은 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되고, 상기 하나 이상의 프로그램들은 제148항 내지 제157항 중 어느 한 항의 방법을 수행하기 위한 명령어들을 포함하는, 컴퓨터 시스템.
  159. 하나 이상의 프로그램들을 저장하는 컴퓨터 판독가능 저장 매체로서, 상기 하나 이상의 프로그램들은, 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 갖는 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금 제148항 내지 제157항 중 어느 한 항의 방법을 수행하게 하는 명령어들을 포함하는, 컴퓨터 판독가능 저장 매체.
  160. 디스플레이 생성 컴포넌트, 하나 이상의 입력 디바이스들, 메모리, 및 상기 메모리에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 포함하는 컴퓨터 시스템 상의 그래픽 사용자 인터페이스로서, 제148항 내지 제157항 중 어느 한 항의 방법에 따라 디스플레이되는 사용자 인터페이스들을 포함하는, 그래픽 사용자 인터페이스.
  161. 컴퓨터 시스템으로서,
    디스플레이 생성 컴포넌트;
    하나 이상의 입력 디바이스들; 및
    제148항 내지 제157항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 컴퓨터 시스템.
  162. 디스플레이 생성 컴포넌트 및 하나 이상의 입력 디바이스들을 포함하는 컴퓨터 시스템에서 사용하기 위한 정보 프로세싱 장치로서,
    제148항 내지 제157항 중 어느 한 항의 방법을 수행하기 위한 수단을 포함하는, 정보 프로세싱 장치.
KR1020247009674A 2021-09-24 2022-09-23 3차원 환경들과의 상호작용을 위한 디바이스들, 방법들 및 그래픽 사용자 인터페이스들 KR20240049345A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US202163248381P 2021-09-24 2021-09-24
US63/248,381 2021-09-24
US202263328686P 2022-04-07 2022-04-07
US63/328,686 2022-04-07
US17/950,035 US20230114043A1 (en) 2021-09-24 2022-09-21 Devices, Methods, and Graphical User Interfaces for Interacting with Three-Dimensional Environments
US17/950,035 2022-09-21
PCT/US2022/044577 WO2023049376A1 (en) 2021-09-24 2022-09-23 Devices, methods, and graphical user interfaces for interacting with three-dimensional environments

Publications (1)

Publication Number Publication Date
KR20240049345A true KR20240049345A (ko) 2024-04-16

Family

ID=83902920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247009674A KR20240049345A (ko) 2021-09-24 2022-09-23 3차원 환경들과의 상호작용을 위한 디바이스들, 방법들 및 그래픽 사용자 인터페이스들

Country Status (3)

Country Link
US (1) US20230114043A1 (ko)
KR (1) KR20240049345A (ko)
WO (1) WO2023049376A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11914835B2 (en) * 2020-11-16 2024-02-27 Samsung Electronics Co., Ltd. Method for displaying user interface and electronic device therefor
US20230410441A1 (en) * 2022-06-21 2023-12-21 Snap Inc. Generating user interfaces displaying augmented reality graphics

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190139307A1 (en) * 2017-11-09 2019-05-09 Motorola Mobility Llc Modifying a Simulated Reality Display Based on Object Detection
US11340756B2 (en) * 2019-09-27 2022-05-24 Apple Inc. Devices, methods, and graphical user interfaces for interacting with three-dimensional environments

Also Published As

Publication number Publication date
WO2023049376A1 (en) 2023-03-30
US20230114043A1 (en) 2023-04-13

Similar Documents

Publication Publication Date Title
AU2020356572B2 (en) Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US11768579B2 (en) Devices, methods, and graphical user interfaces for interacting with three-dimensional environments
US11875013B2 (en) Devices, methods, and graphical user interfaces for displaying applications in three-dimensional environments
KR102562285B1 (ko) 사용자 인터페이스와 연관된 몰입을 조정 및/또는 제어하기 위한 방법
CN116719452A (zh) 用于与用于移动虚拟环境中的虚拟对象的虚拟控件和/或示能表示交互的方法
US11995230B2 (en) Methods for presenting and sharing content in an environment
US20230114043A1 (en) Devices, Methods, and Graphical User Interfaces for Interacting with Three-Dimensional Environments
KR20240065152A (ko) 콘텐츠 애플리케이션들을 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들
US20220326837A1 (en) Methods for providing an immersive experience in an environment
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
US20240094862A1 (en) Devices, Methods, and Graphical User Interfaces for Displaying Shadow and Light Effects in Three-Dimensional Environments
US20240103682A1 (en) Devices, Methods, and Graphical User Interfaces for Interacting with Window Controls in Three-Dimensional Environments
CN118056173A (zh) 用于与三维环境进行交互的设备、方法和图形用户界面
KR20240048522A (ko) 3차원 환경들과 상호작용하기 위한 디바이스들, 방법들, 및 그래픽 사용자 인터페이스들
WO2024063786A1 (en) Devices, methods, and graphical user interfaces for displaying shadow and light effects in three-dimensional environments
KR20240047458A (ko) 미디어 및 3차원 환경들과의 상호작용을 위한 디바이스들, 방법들 및 그래픽 사용자 인터페이스들
CN117957581A (zh) 用于与三维环境交互的设备、方法和图形用户界面

Legal Events

Date Code Title Description
A201 Request for examination