KR20190122581A - 다중 사용자 공유 가상 및 증강 현실 기반 햅틱스를 위한 시스템들 및 방법들 - Google Patents

다중 사용자 공유 가상 및 증강 현실 기반 햅틱스를 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20190122581A
KR20190122581A KR1020190046013A KR20190046013A KR20190122581A KR 20190122581 A KR20190122581 A KR 20190122581A KR 1020190046013 A KR1020190046013 A KR 1020190046013A KR 20190046013 A KR20190046013 A KR 20190046013A KR 20190122581 A KR20190122581 A KR 20190122581A
Authority
KR
South Korea
Prior art keywords
user
environment
virtual
axis
haptic
Prior art date
Application number
KR1020190046013A
Other languages
English (en)
Inventor
윌리엄 에스 린
데이비드 엠 번바움
사디 아스포
사토시 아라키
산야 아타리
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 KR20190122581A publication Critical patent/KR20190122581A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/803Driving vehicles or craft, e.g. cars, airplanes, ships, robots or tanks
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • A63F13/28Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
    • A63F13/285Generating tactile feedback signals via the game input device, e.g. force feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/01Indexing scheme relating to G06F3/01
    • G06F2203/012Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment

Abstract

다중 사용자 공유 가상 및 증강 현실 기반 햅틱스를 위한 시스템들 및 방법들이 개시된다. 다중 사용자 공유 가상 및 증강 현실 기반 햅틱스를 위한 하나의 예시적 방법은 객체의 위치를 결정하는 단계; 객체에 대해 적어도 하나의 관찰자의 관점을 결정하는 단계; 위치 및 관점에 적어도 부분적으로 기초하여 출력될 햅틱 효과를 결정하는 단계; 및 햅틱 효과를 출력하는 단계를 포함한다.

Description

다중 사용자 공유 가상 및 증강 현실 기반 햅틱스를 위한 시스템들 및 방법들{SYSTEMS AND METHODS FOR MULTI-USER SHARED VIRTUAL AND AUGMENTED REALITY-BASED HAPTICS}
본 출원은 가상 및 증강 현실 응용들 및 디바이스들의 분야에 관한 것이다. 더 구체적으로, 본 출원은 다중 사용자 공유 가상 및 증강 현실 기반 햅틱스에 관한 것이다.
가상 및 증강 현실 시스템들은 더욱 유행되고 있다. 그러한 시스템은 사용자가 가상 환경 내의 가상 객체들과 상호작용하는 것을 허용한다. 일부 그러한 시스템들은 사용자가 가상 환경에서 경험하고 있는 것을 제3자가 시청하는 것을 허용한다. 그러나, 사용들 사이의 상호작용은 제한될 수 있다. 가상 또는 증강 현실 환경에서 공유 경험을 허용하기 위한 시스템들 및 방법들이 요구된다.
일 실시예에서, 다중 사용자 공유 가상 및 증강 현실 기반 햅틱스를 위한 방법은 객체의 위치를 결정하는 단계; 객체에 대해 적어도 하나의 관찰자의 관점을 결정하는 단계; 위치 및 관점에 적어도 부분적으로 기초하여 출력될 햅틱 효과를 결정하는 단계; 및 햅틱 효과를 출력하는 단계를 포함한다. 다른 실시예에서, 컴퓨터 판독가능 매체는 프로그램 코드를 포함할 수 있으며, 프로그램 코드는 프로세서에 의해 실행될 때 상기 설명된 방법을 가능하게 하도록 구성된다.
이러한 예시적 실시예들은 본 발명 대상의 경계를 제한하거나 정의하는 것이 아니라, 그것의 이해를 돕기 위한 예들을 제공하기 위해 언급된다. 예시적 실시예들은 상세한 설명에서 논의되고, 추가 설명은 그곳에 제공된다. 다양한 실시예들에 의해 제공되는 장점들은 본 명세서를 검사함으로써 및/또는 청구된 발명 대상의 하나 이상의 실시예를 실시함으로써 추가로 이해될 수 있다.
완전한 실시가능 개시는 명세서의 나머지에 더 특별히 제시된다. 명세서는 이하의 첨부된 도면들을 참조한다.
도 1은 일 실시예에서 다중 사용자 공유 가상 및 증강 현실 기반 햅틱스를 위한 예시적 시스템을 도시한다.
도 2는 일 실시예에서 다른 예시적 대표적인 가상 또는 증강 현실 시스템을 도시한다.
도 3은 일 실시예에서 가상 또는 증강 현실 환경 내의 아티스트의 렌더링을 도시한다.
도 4 내지 도 15는 일 실시예에서 컬러들을 혼합하여 환경에 적용하기 위한 프로세스를 예시한다.
도 16은 일 실시예에서 툴을 변화시키기 위한 사용자 인터페이스의 예시이다.
도 17은 일 실시예에서, 도로들과 같은, 경로들을 생성하기 위한 팔레트를 예시한다.
도 18 내지 도 24는 일부 실시예들에서 이용될 수 있는 다양한 상태들을 예시한다.
도 25 내지 도 32는 "매직 윈도우" 애플리케이션에 의해 가상 환경과 상호작용하기 위한 다양한 실시예들을 예시한다.
도 33 및 도 34는 콘텐츠 생성자 애플리케이션 사용자 인터페이스의 실시예들을 예시한다.
도 35는 다양한 실시예들과 함께 사용될 수 있는 태블릿을 예시한다.
도 36 내지 도 38은 사용자가 태블릿을 유지하는 배향이 사용자에게 이용가능한 기능성을 제어하는 일 실시예를 예시한다.
도 39는 일 실시예에서 태블릿이 가상 또는 증강 현실 환경에서의 사용을 위해 어떻게 레이아웃될 수 있는지의 예시이다.
도 40은 일 실시예에서 가상 또는 증강 환경 내에 더 복잡한 객체들을 발생시키기 위해 사용되는 원시 객체의 예시이다.
도 41은 일 실시예에 따른 방법을 예시하는 흐름도이다.
참조는 이제 다양한 및 대안 예시적 실시예들 및 첨부 도면들에 상세히 이루어질 것이다. 각각의 예는 설명으로 제공되고, 제한으로 제공되지 않는다. 수정들 및 변화들이 이루어질 수 있다는 점이 본 기술분야의 통상의 기술자들에게 분명할 것이다. 예를 들어, 일 실시예의 일부로서 예시되거나 설명되는 특징들은 더 추가 실시예를 초래하기 위해 다른 실시예에 사용될 수 있다. 따라서, 본 개시는 첨부된 청구항들 및 그들의 균등물들의 범위 내에 있는 바와 같이 수정들 및 변화들을 포함하도록 의도된다.
다중 사용자 공유 가상 및 증강 현실 기반 햅틱스를 위한 예시적 대표적인 시스템
하나의 예시적 실시예에서, 디지털 패드 또는 다른 이동 디바이스 상에 실행하는 이동 애플리케이션은 사용자가 가상 또는 증강 현실 환경 내의 가상 객체들에 연결하고 이 객체들과 상호작용할 수 있게 한다. 사용자는 또한 객체들을 생성할 수 있거나, 객체들은 예를 들어 아티스트들 또는 다른 콘텐츠 생성자들을 포함하는, 상이한 사용자들을 통해 생성될 수 있다. 사용자들 중 어느 것은 이동 패드, 머리 착용 디스플레이(head-mounted display)("HMD"), 또는 임의의 다른 디바이스를 사용하여 객체들을 생성하거나, 관찰하거나, 객체들과 상호작용할 수 있다. HMD 및 이동 디바이스들 둘 다는 내장 햅틱 액추에이터들을 포함할 수 있다. 예를 들어, 일 실시예에서, 증강 현실(Augmented Reality)(AR) 환경 내의 아티스트는 3D 세계와 상호작용하여, 가상 객체들을 생성하고 물리 객체들과 가능한 한 상호작용한다. 일반적인 생각은 헤드셋을 착용하고 있지 않은 관찰자들이 관찰("매직 윈도우") 또는 협력을 통해 AR 경험에 참여할 수 있게 하는 것이다.
패드의 사용자는 가상 또는 증강 환경에 대한 사용자의 관점에 기초하여 햅틱스를 경험할 수 있다. 예를 들어, 패드의 사용자는 관찰자의 관점에서 또는 환경과 상호작용하는 아바타의 관점을 통해 환경을 경험할 수 있다. 패드의 사용자는 변화될 수 있는 환경, 또한 변화될 수 있는 사용자의 관점, 및 사용자와 환경 사이의 상호작용들에 기초하여 햅틱 효과들을 경험한다. 사용자는 동시에 동일한 가상 또는 증강 현실 환경을 모두 경험하고 이 환경과 상호작용하는 다수의 사용자 중 하나일 수 있다. 그리고, 각각의 사용자는 그녀 자신의 관점을 가질 수 있거나 다른 사용자와 관점을 공유할 수 있다.
햅틱 효과들은 햅틱 효과 이미터로 취급되는 객체에 기초할 수 있다. 이미터는 지향성일 수 있고 사용자가 가상 또는 증강 환경 내의 이미터에서 더 멀리 떨어져서 이동함에 따라 줄어드는 강도를 가질 수 있다. 게다가, 효과는 이미터에 대한 사용자의 위치에 기초하여 다방향성일 수 있다. 이미터는 객체 또는 위치일 수 있다.
그러한 시스템은 다수의 사용자가 공통, 가상 환경을 경험하는 것을 허용한다. 그리고, 그들은 병치된 또는 병치되지 않은 실 세계 공간에서 그렇게 행할 수 있다. 각각의 사용자는 상이한 타입의 디바이스를 사용하여 환경을 경험할 수 있다. 일부 실시예들에서, 햅틱 디자이너는 햅틱 효과들을 생성하여 다수의 사용자에 송신하기 위해 그러한 시스템을 사용할 수 있다. 그리고, 효과들은 가상 또는 증강 환경 내의 사용자들의 상대 위치에 기초하여 변화될 수 있다.
하나의 그러한 시스템에서, 사용자들은 콘텐츠 자체를 생성함으로써 또는 다른 사용자의 관점을 통해 환경을 경험함으로써, 콘텐츠 생성자의 관점에서 환경을 경험할 수 있다. 사용자는 또한 그것에 참여함으로써 환경을 경험할 수 있다. 예를 들어, 아티스트는 도로 또는 비행 경로를 생성할 수 있다. 그 다음, 사용자는 도로를 운행하는 승용차의 관점에서 도로를 경험할 수 있다. 다른 예에서, 제품 디자이너는 다른 사용자들이 경험하도록 가상 제품을 생성할 수 있다. 관점 및 환경은 사용자에게 제공되는, 햅틱 효과들을 포함하는, 경험의 타입들에 둘 다 영향을 미친다.
증강 현실 실시예에서, 환경은 추적 베이스 또는 다른 그라운딩 요소, 예컨대 QR 코드에 그라운딩될 수 있다. 그리고, 경험은 사용자들이 경험을 공유하기 위해 서로 근접할 필요가 없도록 병치될 수 있거나, 대안적으로, 클라우드 기반일 수 있다.
이전 예는 예시적일 뿐이고 청구된 발명을 임의의 방식으로 제한하도록 의미되지 않는다.
다중 사용자 공유 가상 및 증강 현실 기반 햅틱스를 위한 예시적 시스템들
도 1은 다중 사용자 공유 가상 및 증강 현실 기반 햅틱스를 위한 예시적 시스템(100)을 도시한다. 도 1에 도시된 디바이스는 아티스트와 공유 환경을 경험하는 사용자에 의해 또는 아티스트에 의해 사용될 수 있다. 특히, 이러한 예에서, 시스템(100)은 버스(106)를 통해 다른 하드웨어와 인터페이스되는 프로세서(102)를 갖는 컴퓨팅 디바이스(101)를 포함한다. RAM, ROM, EEPROM 등과 같은 임의의 적절한 유형의(및 비일시적) 컴퓨터 판독가능 매체를 포함할 수 있는 메모리(104)는 컴퓨팅 디바이스의 동작을 구성하는 프로그램 구성요소들을 구체화한다. 이러한 예에서, 컴퓨팅 디바이스(101)는 하나 이상의 네트워크 인터페이스 디바이스(110), 입력/출력(input/output)(I/O) 인터페이스 구성요소들(112), 및 부가 스토리지(114)를 추가로 포함한다.
네트워크 디바이스(110)는 네트워크 연결을 용이하게 하는 임의의 구성요소들 중 하나 이상을 표현할 수 있다. 예들은 이더넷, USB, IEEE 1394와 같은 유선 인터페이스들, 및/또는 셀룰러 전화 네트워크들에 액세스하기 위한 IEEE 802.11, 블루투스, 또는 라디오 인터페이스들(예를 들어, CDMA, GSM, UMTS, 또는 다른 이동 통신 네트워크(들)에 액세스하기 위한 송수신기/안테나)과 같은 무선 인터페이스들을 포함하지만, 이들에 제한되지 않는다.
I/O 구성요소들(112)은 데이터를 입력하거나 데이터를 출력하기 위해 사용되는 하나 이상의 디스플레이, 터치 스크린 디스플레이들, 키보드들, 마우스들, 스피커들, 마이크로폰들, 카메라들, 및/또는 다른 하드웨어와 같은 디바이스들에의 연결을 용이하게 하기 위해 사용될 수 있다. 스토리지(114)는 디바이스(101)에 포함되는 자기, 광, 또는 다른 저장 매체들과 같은 비휘발성 스토리지를 표현한다.
시스템(100)은 터치 표면(116)을 추가로 포함하며, 터치 표면은 이러한 예에서, 디바이스(101)로 통합된다. 터치 표면(116)은 사용자의 터치 입력을 감지하도록 구성되는 임의의 표면을 표현한다. 하나 이상의 센서(108)는 객체가 터치 표면과 접촉할 때 터치 영역에서 터치를 검출하고 프로세서(102)에 의한 사용을 위한 적절한 데이터를 제공하도록 구성된다. 센서들의 임의의 적절한 수, 타입, 또는 배열이 사용될 수 있다. 예를 들어, 저항성 및/또는 용량성 센서들은 터치 표면(116)에 내장되고 터치의 위치 및 다른 정보, 예컨대 압력을 결정하기 위해 사용될 수 있다. 다른 예로서, 터치 표면의 뷰를 가진 광학 센서들은 터치 위치를 결정하기 위해 사용될 수 있다.
일부 실시예들에서, 센서(108), 터치 표면(116), 및 I/O 구성요소들(112)은 터치 스크린 디스플레이와 같은 단일 구성요소로 통합될 수 있다. 예를 들어, 일부 실시예들에서, 터치 표면(116) 및 센서(108)는 디스플레이 신호를 수신하고 이미지를 사용자에게 출력하도록 구성되는 디스플레이의 위에 장착되는 터치 스크린을 포함할 수 있다. 그 다음, 사용자는 영화 또는 다른 비디오를 시청하는 것 및 햅틱 발생 디자인 애플리케이션과 상호작용하는 것 둘 다를 하기 위해 디스플레이를 사용할 수 있다.
다른 실시예들에서, 센서(108)는 LED 검출기를 포함할 수 있다. 예를 들어, 일 실시예에서, 터치 표면(116)은 디스플레이의 측면 상에 장착되는 LED 손가락 검출기를 포함할 수 있다. 일부 실시예들에서, 프로세서(102)는 단일 센서(108)와 통신하고, 다른 실시예들에서, 프로세서(102)는 복수의 센서(108), 예를 들어, 제1 터치 스크린 및 제2 터치 스크린과 통신한다. 센서(108)는 사용자 상호작용을 검출하고, 사용자 상호작용에 기초하여, 신호들을 프로세서(102)에 송신하도록 구성된다. 일부 실시예들에서, 센서(108)는 사용자 상호작용의 다수의 양태를 검출하도록 구성될 수 있다. 예를 들어, 센서(108)는 사용자 상호작용의 속도 및 압력을 검출하고 이러한 정보를 인터페이스 신호로 포함시킬 수 있다.
디바이스(101)는 햅틱 출력 디바이스(118)를 추가로 포함한다. 도 1a에 도시된 예에서, 햅틱 출력 디바이스(118)는 프로세서(102)와 통신하고 터치 표면(116)에 결합된다. 도 1a에 도시된 실시예는 단일 햅틱 출력 디바이스(118)를 포함한다. 다른 실시예들에서, 컴퓨팅 디바이스(101)는 복수의 햅틱 출력 디바이스를 포함할 수 있다. 햅틱 출력 디바이스는 효과들이 가상 또는 증강 현실 환경과 관련하여 발생됨에 따라 사용자 또는 아티스트가 효과들을 경험하거나 전체 경험으로 포함되는 햅틱 효과들을 생성하는 것을 허용할 수 있다.
단일 햅틱 출력 디바이스(118)가 여기에 도시되지만, 실시예들은 햅틱 효과들을 출력하기 위해 동일한 또는 상이한 타입의 다수의 햅틱 출력 디바이스를 사용할 수 있다. 예를 들어, 햅틱 출력 디바이스(118)는 예를 들어, 압전 액추에이터, 전기 모터, 전자기 액추에이터, 보이스 코일, 형상 기억 합금, 전기 활성 폴리머, 솔레노이드, 편심 회전 질량 모터(eccentric rotating mass motor)(ERM), 또는 선형 공진 액추에이터(linear resonant actuator)(LRA), 낮은 프로파일 햅틱 액추에이터, 햅틱 테이프, 또는 정전기 효과를 출력하도록 구성되는 햅틱 출력 디바이스, 예컨대 정전기 마찰(Electrostatic Friction)(ESF) 액추에이터 중 하나 이상을 포함할 수 있다. 일부 실시예들에서, 햅틱 출력 디바이스(118)는 복수의 액추에이터, 예를 들어 낮은 프로파일 햅틱 액추에이터, 압전 액추에이터, 및 LRA를 포함할 수 있다. 부가 액추에이터들은 컴퓨팅 디바이스(101)와 통신하는 디바이스들로 포함될 수 있다. 예를 들어, 머리 착용 디스플레이는 그것이 햅틱 효과들을 환경과 상호작용하는 아티스트 또는 임의의 다른 사용자에게 제공하는 것을 허용하는 액추에이터들을 포함할 수 있다.
메모리(104)로 되돌아가면, 대표적인 프로그램 구성요소들(124, 126, 및 128)은 디바이스가 햅틱 효과들을 결정하고 출력하도록 어떻게 구성될 수 있는지를 예시하기 위해 도시된다. 이러한 예에서, 검출 모듈(124)은 터치의 위치를 결정하기 위해 센서(108)를 통해 터치 표면(116)을 감시하도록 프로세서(102)를 구성한다. 예를 들어, 모듈(124)은 터치의 존재 및 부재를 추적하기 위해, 그리고, 터치가 존재하면, 시간에 따른 터치의 위치, 경로, 속도, 가속도, 압력, 및/또는 다른 특성들 중 하나 이상을 추적하기 위해 센서(108)를 샘플링할 수 있다.
햅틱 효과 결정 모듈(126)은 발생시킬 햅틱 효과를 선택하기 위해 오디오 및 비디오 특성들에 관한 데이터를 분석하는 프로그램 구성요소를 표현한다. 특히, 모듈(126)은 오디오 또는 비디오 성질들에 기초하여, 발생시키고 햅틱 출력 디바이스에 의해 출력될 효과를 결정하는 코드를 포함한다. 모듈(126)은 환경의 관점, 거리, 및 성질들과 같은, 성질들의 특정 조합에 할당하기 위해 제공할 하나 이상의 기존 햅틱 효과를 선택하는 코드를 추가로 포함할 수 있다. 예를 들어, 자갈 도로를 달리는 참여자로서 환경을 경험하는 사용자는 거칠고, 상대적으로 높은 크기의 햅틱 효과를 경험할 수 있다. 상이한 햅틱 효과들은 이러한 특징들의 다양한 조합에 기초하여 선택될 수 있다. 햅틱 효과들은 디자이너가 특정 효과 또는 효과들의 세트를 프리뷰하고 그들을 필요에 따라 수정해서 장면을 더 잘 모델링할 수 있도록 터치 표면(116)을 통해 제공될 수 있고 아티스트 또는 다른 햅틱 디자이너에게 제공될 수 있다.
햅틱 효과 발생 모듈(128)은 프로세서(102)로 하여금 햅틱 신호를 발생시켜 햅틱 출력 디바이스(118)에 송신하게 하는 프로그래밍을 표현하며, 그것은 햅틱 출력 디바이스(118)로 하여금 선택된 햅틱 효과를 발생시키게 한다. 예를 들어, 발생 모듈(128)은 햅틱 출력 디바이스(118)에 송신할 저장된 파형들 또는 커맨드들에 액세스할 수 있다. 다른 예로서, 햅틱 효과 발생 모듈(128)은 원하는 타입의 햅틱 효과를 수신하고 신호 처리 알고리즘들을 이용하여 햅틱 출력 디바이스(118)에 송신할 적절한 신호를 발생시킬 수 있다. 추가 예로서, 원하는 햅틱 효과는 햅틱 효과를 제공하기 위해 표면(및/또는 다른 디바이스 구성요소들)의 적절한 변위를 발생시키도록 질감에 대한 타켓 좌표들 및 하나 이상의 액추에이터에 송신되는 적절한 파형과 함께 표시될 수 있다. 일부 실시예들은 특징을 일제히 시뮬레이션하기 위해 다수의 햅틱 출력 디바이스를 이용할 수 있다. 예를 들어, 질감의 변화는 버튼이 눌려질 때 진동촉각 효과가 응답을 시뮬레이션하는 동안 인터페이스 상의 버튼들 사이의 경계를 교차시키는 것을 시뮬레이션하기 위해 사용될 수 있다.
도 2는 대표적인 가상 또는 증강 현실 시스템(200)을 예시하는 도해이다. 도시된 환경에서, HMD(202)는 사용자가 환경을 몰입 방식으로 경험하는 것을 허용한다. HMD(202)는 사용자가 환경을 보는 것을 허용하는 디스플레이들을 포함한다. HMD(202)는 또한 사용자가 환경과 연관되는 사운드들을 듣는 것을 허용하는 이어폰들과 같은, 스피커들을 포함할 수 있다. HMD(202)는 또한 사용자가 환경과 연관되는 감각들을 느낄 수 있도록 햅틱 액추에이터들을 포함할 수 있다.
시스템(200)은 또한 하나 이상의 검출기(204a, 204b)를 포함한다. 검출기들(204)은 환경에서 HMD(202)의 이동을 감지하고 그러한 정보를 시스템(200) 내에, 시스템 근접에, 또는 시스템으로부터 멀리 떨어져서 위치되는 프로세서(도시되지 않음)에 제공한다. 환경은 다른 디바이스들을 포함할 수 있다. 예를 들어, 사용자는 시스템이 사용자의 신체의 다양한 부분들의 이동을 검출하는 것을 허용하는 다양한 디바이스들을 착용하거나 유지하고 있을 수 있다. 예를 들어, 사용자는 페인트 브러쉬로서 사용할 컨트롤러를 픽업할 수 있다. 센서들(204)은 디바이스에 의해 사용자의 제스처들을 검출하고 신호들을 프로세서에 제공하여 이동을 반영할 수 있다. 예를 들어, 적외선, 전자기, RGB 카메라 기반, 또는 다른 것들을 포함하는 임의의 타입의 모션 추적 시스템이 이용될 수 있다.
다중 사용자 공유 가상 및 증강 현실 기반 햅틱스의 예들
다중 사용자 공유 가상 및 증강 현실 기반 햅틱 시스템들의 실시예들은 다양한 입력들을 수신할 수 있다. 예를 들어, 아티스트, 관찰자, 콘텐츠 생성자, 또는 디자이너와 같은, 하나 이상의 사용자는 VR 또는 AR 환경과 상호작용할 수 있다. 하나의 그러한 실시예에서, 예를 들어 손 위치 또는 가상 팔레트 또는 VR 또는 AR 객체들과의 상호작용을 표시하는 센서 데이터는 사용자의 환경 및 관점이 어떻게 변경되고 있는지를 결정하기 위해 사용될 수 있다. 그러한 정보는 예를 들어, 햅틱 이미터의 역할을 하는 가상 또는 물리 객체에의 근접을 포함할 수 있다. 사용자와 이미터 사이의 공간 관계를 반영하는 다른 정보가 또한 이용될 수 있다.
사용자가 아티스트로서의 역할을 하는 일 실시예에서, 시스템은 아티스트가 환경에서 객체들을 생성하거나 증강하기 위해 사용하도록 이용가능한 다양한 브러쉬들 및 브러쉬 스트로크들에 관한 데이터를 수신한다. 데이터는 브러쉬 스트로크의 크기에 대한 변경들에 관한 정보 또는 환경 내에 사용되는 "페인트"에 관한 정보를 포함할 수 있다. 브러쉬 스트로크들은 간단한 시각 효과들을 생성할 수 있다. 대안적으로, 브러쉬 스트로크들은 아티스트 또는 다른 사용자, 예컨대 제3자 관찰자가 상호작용할 수 있는 가상 객체들을 생성하기 위해 사용될 수 있다. 예를 들어, 아티스트는 자동차에 대한 가상 도로 또는 비행기, 곤충, 또는 새에 대한 가상 비행 경로를 드로잉하거나 페인팅할 수 있다. 그 다음, 아티스트 또는 사용자는 자동차 또는 비행기를 환경에 추가할 수 있다. 그 다음, 차량은 가상 환경을 통해 도로 또는 비행 경로를 따라갈 수 있다. 환경과의 사용자들 및 차량의 상호작용은 다양한 햅틱 효과들의 생성 및 출력을 야기할 수 있다.
다양한 다른 실시예들 및 특징들이 가능하다. 예를 들어, 아티스트는 물 내의 보트 또는 트레일 상의 말을 렌더링할 수 있다. 아티스트는 또한 횡단되거나 시청될 수 있는 하이킹 트레일들을 생성할 수 있다. 그 다음, 다양한 특징들의 성질들은 시스템의 사용자에게 출력되는 햅틱 효과들을 변화시키기 위해 사용될 수 있다. 예를 들어, 트레일 또는 도로는 아스팔트, 모래, 또는 자갈을 사용하여 건설될 수 있다. 시스템의 사용자에게 출력되는 햅틱스는 도로를 건설하기 위해 사용되는 재료의 타입에 기초하여 변화될 수 있다. 그리고, 환경은 사용들 중 어느 것에 의해 변경될 수 있어, 협력적으로 건설된 환경을 야기한다.
그러한 환경은 임의의 수의 방식들로 생성될 수 있다. 콘텐츠 생성자를 포함하는 사용자는 환경 내에 그것들 자체를 위치시키고 그들의 위치를 변화시킬 수 있다. 게다가, 사용자가 생성하는 객체들은 이동되고 수정될 수 있다. 예를 들어, 제1 사용자는 도로를 생성할 수 있다. 그 다음, 제2 사용자는 도로를 횡단하고 그것에 의해 환경을 변경하기 위해 승용차를 생성하거나 스포닝할 수 있다. 그 다음, 제3 사용자는 승용차를 제어하여, 승용차의 시동하고, 정지시키고, 속도를 변화시킬 수 있다. 그러한 객체들은 가상으로 또는 실제 객체와 조합하여 또는 둘 다의 일부 조합으로 존재할 수 있다. 예를 들어, 실제 객체는 실제 객체 상에 오버레이되는 구성요소에 의해 증강될 수 있다. 증강 구성요소는 햅틱스를 가진 시각 객체와 같은, 양식들의 임의의 조합일 수 있거나 단독으로 햅틱 효과들일 수 있다. 다시 말해, 물리 객체는 객체의 시각 양태들이 변경되지 않을지라도 그것 위에 오버레이되는 햅틱스를 가질 수 있다.
사용자의 경험은 다른 사용자들에 대한 또는 햅틱 효과들을 방출할 수 있는 환경 내의 객체들에 대한 위치에 기초하여 변화될 수 있다. 예를 들어, 사용자와 환경 내의 객체 사이의 거리는 사용자가 경험한 햅틱 효과들에 영향을 미칠 수 있다. 사용자 및 객체의 상대 위치는 사용자 및 가상 객체가 둘 다 이동할 수 있고 따라서 서로에 대해 이동할 수 있으므로 가변적일 수 있다. 일 실시예에서, 사용자에 의해 경험되는 햅틱 효과는 2개의 사용자 및 객체가 서로 접근하고 있거나 출발하고 있는 속도에 의존할 수 있다.
사용자는 객체들, 가상, 실제, 또는 일부 조합과 상호작용하거나, 환경 자체와 상호작용할 수 있다. 예를 들어, 사용자는 객체를 환경에 추가하고 그 다음 그러한 객체와 직접 또는 간접적으로 상호작용할 수 있다. 예를 들어, 사용자가 그러한 사용자 또는 다른 사용자에 의해 드로잉되는 도로 상의 승용차를 추가(스포닝)하면. 그 다음, 사용자는 예를 들어, 시동하고, 정지시키고, 속도를 변경하는 것을 포함하는, 승용차를 제어하기 위한 입력을 제공할 수 있다. 이러한 상호작용들의 모두는 햅틱 효과들로 하여금 출력되거나 변경되게 할 수 있다. 다른 예에서, 사용자는 팔레트로 하여금 디스플레이되게 하고, 팔레트를 사용하여 시작 요소들을 환경에 추가할 수 있다. 사용자는 또한 예컨대 조명(낮 또는 밤)을 변경함으로써, 또는 일부 다른 종류의 환경 효과를 환경(구름들, 바람, 비 등)에 추가함으로써 환경을 더 일반적으로 변경할 수 있다. 관찰자들은 환경과 상호작용함에 따라 여러가지 상이한 방식들로 환경에 영향을 미칠 수 있다.
일부 실시예들에서, 환경 내의 객체들에 대한 사용자의 관점은 예컨대 사용자에게 출력되는 햅틱 효과들을 변화시킴으로써, 사용자의 경험에 영향을 미칠 수 있다. 다수의 사용자가 환경을 동시에 경험하고 있으면, 이때 각각의 사용자는 효과들의 상이한 세트를 경험할 수 있다. 예를 들어, 사용자는 1인칭 관점에서 환경을 경험할 수 있다. 예를 들어, 제1 사용자 및 제2 사용자는 예컨대 제3자 관찰자가 가상 환경 내의 아티스트 렌더링 객체들을 시청할 때, 서로에 대한 그들의 위치에 기초하여 환경을 경험할 수 있다. 이러한 관점은 2명의 사용자가 서로에 대해 이동함에 따라 변경될 수 있다. 다른 예에서, 제품 디자이너는 환경에서 제품을 생성할 수 있는 반면에, 다른 사용자는 제품 주위에 이동하여 제품의 다양한 양태들을 경험하고 디자인되는 바와 같은 제품으로 변경들을 잠재적으로 이룬다. 이러한 상호작용들의 모두는 별개의 햅틱 효과들을 촉발시킬 수 있다.
일부 실시예들에서, 사용자는 제3자 관찰자와 같이 또는 환경 내의 콘텐츠를 생성하는 아티스트와 같은, 다른 사용자의 관점에서 환경을 경험할 수 있다. 다른 실시예들에서, 사용자는 예를 들어, 도로를 횡단하는 승용차 또는 비행 경로를 횡단하는 비행기에 착석하는 것과 같이, 환경 내의 참여자의 관점에서 환경을 경험할 수 있다.
그러한 사용자의 관점은 사용자, 사용자가 환경을 경험하고 있는 관점에서의 개인, 또는 객체가 환경 내에서 이동함에 따라 변화될 수 있다. 일부 환경들에서, 사용자는 환경 "내측"에 있지 않다. 예를 들어, 콘텐츠 생성자는 광고로서 햅틱스를 가진 가상 승용차를 생성한다. 사용자는 HMD를 사용하여 AR 또는 VR에서 승용차를 경험할 수 있거나, 대안적으로, 그들은 또한 웹사이트 상에서 승용차의 2차원 뷰를 볼 수 있으며, 햅틱 이미터(승용차)에의 커서의 근접은 햅틱 효과들의 생성을 위한 가상 공간 근접을 포함한다.
사용자의 경험은 또한 햅틱 효과가 방출되는 객체에 대한 사용자의 관점에 영향을 받을 수 있다. 예를 들어, 햅틱 효과는 객체와의 직접적인 상호작용에서 기인할 수 있다. 예를 들어, 아티스트는 환경 내에서 페인트를 혼합할 수 있다. 페인트와의 아티스트의 상호작용은 햅틱 효과를 촉발시킬 수 있다. 다른 예에서, 사용자는 햅틱스가 방출되고 있는 곳에 대해 제3자 관찰자로서 상호작용한다. 예를 들어, 사용자에 접근하는 총알은 특정 햅틱 효과를 촉발시킬 수 있다. 다른 예로서, 환경에 발생하는 바람은 사용자가 바람에 대해 위치되는 곳에 따라 상이한 효과를 가질 것이고 사용자로 하여금 상이한 햅틱 효과들을 경험하게 할 것이다. 또 다른 예에서, 사용자는 환경 내의 터널을 통과할 수 있으며, 그것은 사용자에게 제공되는 효과들에 영향을 미칠 것이다.
발명의 일부 실시예들에서, 사용자는 환경 내의 시각 객체들을 보는 것이 아니라 햅틱 효과들과 같은, 환경의 다른 양태들을 여전히 경험할 수 있다. 예를 들어, 사용자는 환경 "내측"에 있지만 환경에 존재하는 하나 이상의 객체를 볼 수 없을 수 없다. 예를 들어, 환경은 어두울 수 있다. 사용자가 환경과 상호작용함에 따라, 예컨대 객체들을 터치하거나 객체들에 골 무늬를 냄으로써, 햅틱스는 사용자에게 제공될 수 있다. 일부 실시예들에서, VR 또는 AR 환경에서 또는 물리 세계에서, 서로에 대한 다양한 사용자들의 위치는 사용자에게 제공되는 햅틱 효과들에 영향을 미칠 수 있다.
발명의 실시예들은 다양한 햅틱 효과들을 제공할 수 있다. 햅틱 효과들은 위치 또는 관점과 같은, 상기 변수들 중 어느 것에 기초하여 결정되고 발생될 수 있다. 햅틱 효과 또는 햅틱 효과의 파라미터들은 물리 모델들을 사용하여 계산되거나 합성될 수 있다. 예를 들어, 햅틱 효과는 차량이 횡단하고 있는 비탈 또는 차량이 통과하고 있는 장벽에 기초하여 계산될 수 있다.
예를 들어 마찰, 진동, 및 공기, 및 운동감각력을 포함하는, 다양한 타입들의 햅틱 효과들이 이용될 수 있다. 햅틱스는 가상 또는 증강 환경에 존재하는 접촉, 공기 이동, 물, 및 다른 조건들 또는 객체들을 표시하기 위해 사용될 수 있다. 그러한 햅틱 효과들의 예들은 아티스트에 의해 생성되는 도로의 질감에 기초한 햅틱 효과를 포함한다. 다른 예는 승용차가 도로에서 드라이브함에 따라 승용차의 속도에 기초한 햅틱 효과이다. 햅틱 효과는 예컨대 특정 객체를 터치함으로써 환경을 통해 이동함으로써, 일반적으로 환경과의 사용자의 상호작용에 기초할 수 있다. 일부 실시예들에서, 햅틱 효과는 지향성이고 이미터로부터의 거리에 비례하여 증가하거나 감소할 수 있다. 예를 들어, 햅틱 효과는 사용자를 밀거나 당길 수 있다.
일부 실시예들에서, 햅틱 소스의 빈도 또는 피치, 크기, 진폭, 지향성, 또는 액추에이터의 지향성을 포함하는, 햅틱 효과의 다양한 성질들이 변화될 수 있다. 일부 실시예들에서, 다수의 효과가 조합될 수 있다. 또한, 햅틱 효과는 햅틱 효과를 출력하기 위해 사용되는 디바이스의 타입에 기초하여 변화될 수 있다. 일 예로서, 사용자는 유막 또는 유점을 환경 내의 거친 도로에 추가하고 그것에 의해 도로와 연관되는 햅틱 효과로 하여금 거친 질감과 연관되는 햅틱 효과로부터 부드러운 질감과 연관되는 것으로 변경되게 할 수 있으며, 예를 들어, 코스, 강한 효과는 더 곱게 거칠어지고 더 약해지고 따라서 도로가 미끄러운 것을 시사할 수 있다.
다른 대표적인 실시예에서, 아티스트는 환경에서 객체를 생성하기 위해 특정 선명한 컬러를 사용하고 있고 강한 햅틱 효과는 아티스트 또는 다른 사용자가 객체와 상호작용할 때 출력된다. 그 다음, 아티스트는 객체의 성질을 변경(예를 들어, 컬러를 덜 선명한 어떤 것으로 변경)할 수 있고, 가상 객체와 연관되는 햅틱 효과는 변경되어, 덜 강해진다. 다른 실시예들에서, 햅틱 효과는 환경에서 객체들을 생성하거나 수정하기 위해 사용되는 사용자의 툴의 타입에 따라 변경된다.
일부 실시예들에서, 햅틱 효과들은 사용자의 관점이 변경됨에 따라 변경된다. 예를 들어, 더 강한 햅틱스 또는 부가 햅틱스는 사용자가 1인칭 모드로부터 3인칭 모드로 스위칭할 때 출력될 수 있다. 다른 실시예들에서, 햅틱스는 위치에 기초하여 변경될 수 있다. 예를 들어, 사용자가 환경의 중심에 있으면, 효과들은 이러한 위치에의 근접에 기초하여 스케일링될 수 있다. 다른 예에서, 사용자의 관점은 도로의 중심에서 유래되므로, 도로에서 드라이브하는 승용차들과 연관되는 햅틱스는 중심(예를 들어, 경주 트랙의 중심)에서 위치되는 감각을 생성하기 위해 증가될 수 있다.
일부 실시예들에서, 햅틱 효과들은 사용자가 360도 환경을 둘러보기 위해 그들의 머리를 이동시키는 것에 기초하여 변화된다. 예를 들어, 제1 햅틱 효과는 사용자가 사용자의 앞에 있는 객체를 보고 있을 때 윤곽을 나타낼 수 있고, 제2 햅틱 효과는 사용자가 돌아서고 사용자 뒤의 객체를 볼 때 출력될 수 있다. 햅틱 효과들은 또한 사용자의 관점이 변경됨에 따라 (예를 들어, 좌측으로부터 우측으로) 패닝될 수 있다. 더 추가 실시예들에서, 햅틱 효과들은 환경 내 또는 주위의 사용자의 물리 위치의 변경들에 적어도 부분적으로 기초하여 변화된다.
예를 들어, 제3자 관찰자 및 아티스트가 병치되면, 제3자 관찰자가 아티스트에 더 가깝게 이동하거나, 아티스트에서 떨어져서 이동함에 따라, 햅틱 효과들은 더 강해(또는 더 약해)질 수 있다.
햅틱 효과들은 가상 객체에 대한 제3자 관찰자의 위치에 기초하여 변경될 수 있다. 예를 들어, 일 실시예에서, 제1 사용자는 파이어 브러쉬 스트로크를 사용하여 불 효과를 생성하고, 파이어 브러쉬 스트로크와 연관되는 햅틱 효과(예를 들어, 열 또는 불을 표시하는 높은 빈도 또는 높은 피치 햅틱 효과, 또는 열 햅틱 효과)가 출력된다. 제2 사용자가 불에서 떨어져서 이동함에 따라, 제2 사용자가 더 시원해지는 것을 표시하는 햅틱 효과의 빈도는 변경될 수 있거나, 햅틱 온도는 더 낮아질 수 있다.
햅틱 효과들은 또한 햅틱 효과의 관점(예를 들어, 햅틱 효과의 소스 또는 이미터의 위치) 및/또는 햅틱 효과의 소스에 대한 사용자의 위치에 기초하여 변경될 수 있다. 예를 들어, 사용자가 "타고" 있는 제1 승용차에 접근하는 제2 승용차와 연관되는 햅틱 효과의 피치는 2개의 승용차가 서로를 향해(또는 서로 떨어져서) 이동함에 따라 변경될 수 있다. 다른 사용자는 관찰자 관점에서 2개의 승용차의 동일한 접근을 경험하고 승용차들이 접근하거나 관찰자의 위치에서 떨어져서 이동함에 따라 햅틱 효과들 내의 도플러 효과를 경험할 수 있다.
시스템의 능력들에 따라, 특정 햅틱 효과들은 다른 효과들에 비해 우선순위화될 수 있다. 예를 들어, 일부 경우들에서, 시스템은 효과들의 특정 타입들을 혼합불가능할 수 있으므로 효과들 중 하나를 대신에 플레이할 것이다. 시스템은 복수의 햅틱 중에서 어느 햅틱 효과가 출력되기 위해 가장 중요한지를 식별하는 우선순위 측정치에 응답할 수 있다. 예를 들어, 다수의 햅틱 효과가 관찰자에게 제공될 수 있는 유사한 빈도들 또는 강도들을 가지면, 우선순위 시스템은 햅틱 효과들 중 어느 것이 가장 중요한지를 결정할 수 있다. 햅틱 효과는 또한 효과가 출력되는 단부 지점에서 조정될 수 있다. 예를 들어, 효과는 햅틱 출력 디바이스의 능력들에 따라 스테레오 또는 모노 또는 양방향 또는 단방향일 수 있다.
햅틱 효과들은 다수의 이미터에 대한 입력 파라미터들에 기초하여, 함께 혼합될 수 있다. 이미터들의 디자이너들에 의해 의도되는 다수의 햅틱 감각의 동시 발생과 동등한 바와 같이 관찰자들에 의해 실질적으로 경험되는 단일 햅틱 효과가 합성될 수 있다. 햅틱 효과들은 햅틱 효과가 이동하고 있는 매체에 기초하여 워핑(warping)될 수 있다.
일부 실시예들에서, 시스템은 햅틱 출력 디바이스의 타입에 기초하여 햅틱 효과의 타입을 결정할 수 있다. 예를 들어, 사용자의 디바이스가 햅틱 효과의 빈도를 제어할 수 없으면, 이때 햅틱 효과의 빈도가 변경되지 않을 수 있다. 다른 예로서, 사용자는 고급 마찰 디스플레이를 포함하는 디바이스를 사용하고 있을 수 있다. 사용자는 디스플레이를 터치할 수 있고, 특정 마찰을 표시하는 햅틱 효과가 출력될 수 있다. 다른 사용자가 그들의 디바이스를 통해 동일한 환경을 관찰할 때, 제1 사용자의 손가락이 환경을 통해 이동하는 것을 포함하면, 제2 사용자의 디바이스는 마찰의 변경보다는 오히려 고품질 진동들을 포함하는 햅틱 효과를 출력할 수 있다.
일 실시예에서, 출력되는 햅틱 효과들은 실제 세계 객체의 성질들에 기초할 수 있다. 예를 들어, 햅틱 효과는 객체의 밀도에 기초할 수 있다. 다른 그러한 성질들은 형상, 크기, 또는 특정 사용자 정의 성질들을 포함할 수 있다.
발명의 실시예들은 환경의 객체들 및 다른 양태들의 생성, 객체들 및 환경에 대한 수정들, 및 시스템의 사용자들에 의해 경험되는 햅틱 효과들에 대한 생성 및 수정들을 위한 다양한 타입들의 아키텍처들을 포함할 수 있다. 예를 들어, 도 1은 터치 스크린을 가진 이동 디바이스를 도시한다. 그러나, 다른 실시예들에서, 디바이스는 터치 스크린을 포함하지 않을 수 있다. 일부 실시예들에서, 이동 디바이스는 자유 공간 제스처 검출을 위해 사용될 수 있는, 카메라와 같은, 센서를 포함한다. 다른 실시예들에서, 사용자는 시스템 및 환경과 상호작용하기 위해 링, 시계, 손목밴드, 스마트 의류, 헤드셋, 또는 다른 웨어러블을 이용할 수 있다. 일부 실시예들에서, 액추에이터들은 그러한 디바이스들 중 어느 것에 내장될 수 있다. 게다가, 초음파, 레이저, 및 제트 프로젝팅 디바이스들을 포함하는 다양한 햅틱 출력 디바이스가 이용될 수 있다.
도 3은 일 실시예에서 가상 또는 증강 현실 환경 내의 아티스트의 렌더링을 도시한다. 도시된 렌더링에서, 아티스트는 드로잉 또는 페인팅을 위한 적어도 2개의 브러쉬 스타일을 사용할 수 있다. 제1 브러쉬는 크기 컨트롤들 및 컬러 맞춤화에 응답하는 오일 유사 페인트 브러쉬이다. 그러한 브러쉬는 아티스트가 차량 루트를 드로잉하는 풍경을 생성하는 것을 허용한다. 제2 브러쉬 스타일은 도로 또는 루트이다. 도시된 실시예에서, 제2 브러쉬는 아티스트가 상이한 햅틱 성질들 각각과 함께, 스포닝된 게임 객체(승용차)를 위한 루트를 생성하는 것을 허용한다.
결과적 환경은 예를 들어, 콘텐츠 생성자(예를 들어, 아티스트), 관찰자, 또는 참여자로서 포함하는, 사용자들이 다수의 관점으로부터 환경을 시청하는 것을 허용할 수 있다. 하나의 그러한 실시예에서, 제1 사용자는 콘텐츠를 생성하기 위해 HMD를 사용하는 반면에, 제2 사용자는 환경을 관찰하기 위해 이동 패드 디바이스를 사용한다. 콘텐츠 생성자는 페인트를 혼합하고, 페인팅하고, 도로들에 내려놓는 액트로부터 햅틱스를 느낄 수 있다. 제2 사용자는 예컨대 승용차를 스포닝하고 제어하는 것과 같이, 관찰하거나 변경하기 위해 가상 또는 증강 환경으로 이동 애플리케이션 윈도우를 사용할 수 있다.
도 4 내지 도 15는 일 실시예에서 컬러들을 혼합하여 환경에 적용하기 위한 프로세스를 예시한다. 도 4는 컬러를 빈 캔버스에 적용하는 결과들을 예시한다. 도 5는 가상 또는 증강 현실 환경에서 컬러들을 선택하기 위한 사용자 인터페이스를 예시한다. 컬러들의 혼합은 예시된 실시예에서 잉크통 메파포(ink well metaphor)를 사용하여 수행된다. 그러한 일 실시예에서, 사용자는 추적된 손가락을 견본의 "AR 리프"로 배치함으로써 견본들 중 하나로부터 컬러를 선택할 수 있다. 견본은 선택이 검출되었던 것을 확인하기 위해 애니메이션된다. 일 실시예에서, 사용자가 상호작용과 같이 잉크 드로퍼(ink-dropper)를 활성화하기 위해 브러쉬 "버튼"(통상 드로잉하기 위해 사용됨)을 누르면, 손가락은 사용자가 컬러 견본 위치에서 손가락을 유지하는 동안 유지되는 버튼을 더 길게 "채울" 것이다(도 6). 사용자는 혼합 없이 다수의 컬러를 손가락으로 가져올 수 있다(도 7). 손가락이 컬러(들)를 "포함"하면, 사용자는 손가락으로부터 컬러를 방출하기 위해 압력을 태블릿 표면에 태핑하거나 인가할 수 있다(도 8). 그 다음, 컬러는 태블릿 표면 상에 렌더링된다(도 9 및 도 10).
도시된 실시예에서, 사용자는 팔레트 상에서 페인트를 혼합하기 위해 손가락을 사용할 수 있다(도 11 및 도 12). 사용자는 또한 팔레트로부터 페인트를 제거하기 위해 페인트 스폰지를 사용할 수 있다(도 13). 일 실시예에서, 사용자는 나중에 사용될 팔레트의 측면 상에 페인트를 배치할 수 있다(도 14). 하나의 그러한 실시예에서, 팔레트 상에 배치되는 다수의 컬러는 스와이프 제스처들을 사용하여 조합될 수 있다(도 15).
도 16은 일 실시예에서 툴을 변화시키기 위한 사용자 인터페이스의 예시이다.
도시된 실시예에서, 사용자는 제스처들을 사용하여 브러쉬의 크기를 변경할 수 있다. 예를 들어, 브러쉬의 크기를 변경하기 위해, 사용자는 팔레트의 좌측 에지 상에서 위 및 아래로 스와이프한다. 다양한 제스처들은 지지될 수 있다. 예를 들어, 제스처는 만곡될 수 있다. 크기는 이동의 길이(즉, 제스처의 시작과 끝 사이의 델타)에 기초하며; 그것은 공간 내의 태블릿 상의 특정 위치들에 매핑되지 않는다. 일 실시예에서, 크기는 브러쉬 툴을 유지하는 가상 손을 통해 프리뷰될 수 있다.
도 17은 일 실시예에서, 도로들과 같은, 경로들을 생성하기 위한 팔레트를 예시한다. 도시된 실시예에서, 콘텐츠 생성자, 예를 들어, HMD를 착용하는 아티스트는 게임 환경 내의 다양한 도로들을 "페인팅"할 수 있다. 도로들이 페인팅되면, 다른 사용자들은 드로잉된 도로들 주위를 운전하기 위해 차량들을 스포닝하여, 차량이 다니는 도로 질감에 기초하여 햅틱스를 느낄 수 있다. 승용차를 생성하는 사용자는 또한 승용차를 제어하여, 그것으로 하여금 시동, 가속, 제동, 및 정지하게 할 수 있다. 도 17은 아스팔트, 흙 및 조약돌과 같은, 사용될 수 있는 도로 타입들을 도시한다. 이러한 타입들은 배타적이지 않다. 다른 실시예들에서, 도로 타입들은 거리들, 망가지고, 젖은 도로들, 철도들, 및 비행 경로들을 포함할 수 있다.
도 18 내지 도 24는 일부 실시예들에서 이용될 수 있는 다양한 상태들을 예시한다. 도 18에 도시된 실시예에서, 디바이스는 상태 0에 있으며, 상태 0은 오프에 대응한다. 오프 상태에서, 팔레트가 활성화되지 않았고, 도시된 컨트롤만이 "온" 버튼이다.
도 19는 다른 상태, 즉 페인트 상태인 상태 1에 도시된 디지털 패드 및 팔레트를 예시한다. 하나의 그러한 일 실시예에서, 태블릿에 적용되는 페인트는 다른 상태들로 갈 때 세이브되어, 그것은 페인팅 상태로의 복귀 시에 복귀될 것이다. 페인트 상태는 사용자가 페인팅 풍경과 같은, 환경에 대한 변경들을 이루어지는 것을 허용한다.
도 20은 상태 2를 포함하는 일 실시예를 예시하며, 상태 2는 도로들을 생성하기 위한 상태이다. 도시된 실시예에서, 페인트는 도로 선택을 위한 충분한 자리를 제공하기 위해 이러한 상태에 지속되지 않는다. 도시된 실시예에서의 도로들의 목적은 이동 사용자들이 차량을 제어하도록 루트를 제공하는 것이다. 도로 "견본들"은 대안적으로 페인트와 동일한 리프 상호작용에 의해 선택될 수 있다. 도로 폭은 변화될 수 있다. 예를 들어, 도로는 2개의 승용차를 나란히 수용하기에 충분히 넓을 수 있다.
그러나, 도시된 실시예에서, 브러쉬 크기 컨트롤은 디스에이블될 수 있다. 일 실시예에서, 스포닝된 승용차는 브러쉬의 "상단"에 부착되므로, "하단"은 질감이 없을 것이다. 또한, 그러한 일 실시예에서, 브러쉬가 도로를 페인팅하기 위해 사용됨에 따라, 도로의 일단부는 인접 도로를 생성하기 위해 다른 도로의 단부 또는 동일한 도로의 다른 단부에 연결될 것이다. 예를 들어, 브러쉬 스트로크들의 단부들은 서로 스내핑(snapping)될 수 있다. 다른 실시예에서, 2개의 단부는 직선에 의해 자동적으로 연결될 수 있다. 도 20은 패드 상에 디스플레이되는 다양한 도로 타입들을 예시한다.
일부 실시예들에서, 이동 애플리케이션은 사용자가 드로잉된 도로들을 따라 운행하기 위해 객체를 스포닝하는 것을 허용한다. 그 다음, 이동, 표면, 차량의 성질들, 및 환경의 다른 성질들에 기초하여, 햅틱스가 출력된다. 하나의 그러한 실시예에서, 스포닝된 차량은 도로 상의 설정 위치에서 출발한다. 예를 들어, 승용차는 도로를 생성하는 사용자가 도로를 출발하는 곳에서 시동될 수 있다.
도 21 및 도 22는 상태 3을 포함하는 일 실시예를 예시하며, 일 실시예는 상태 변경을 수행하기 위한 사용자 인터페이스를 포함한다. 도시된 실시예에서, 3차 사용자 인터페이스(user interface)("UI")는 태블릿이 그라운드에 수직이도록 사용자가 태블릿을 90도 기울이는 것을 제공한다. 그 다음, 사용자는 페인트, 도로들, 및 옵션들과 같은, 다양한 라벨들을 제시받는다. 이러한 라벨들 각각은 예를 들어, 옵션들에 대한 서브 라벨들을 포함할 수 있으며, 사용자는 이하를 제시받을 수 있다: 세이브, 자동 명명, 클리어 드로잉 공간, 로드, 및 엑싯. 다양한 실시예들에서, 사용자는 상이한 방식들로 상호작용할 수 있다. 예를 들어, 사용자는 드로잉 손가락을 상태에 배치하고 버튼을 클릭할 수 있다. 다른 실시예에서, 사용자는 엄지 버튼을 유지하고, 태블릿 위치를 Y 축으로(따라서 층들 중 하나 내에) 횡단하고 버튼을 해제할 수 있다.
도 22는 상태 변경을 수행하기 위한 다른 실시예를 예시한다. 도시된 실시예에서, 사용자는 공간에서 다양한 상태 박스들을 동결하기 위해 팔레트 상에서 엄지 버튼을 누르고 유지한다. 그 다음, 사용자는 태블릿을 특정 상태 박스 내로 이동시키고 버튼으로 해제하여 특정 상태를 선택한다. 상태들은 상이한 컬러들 또는 도로 타입들과 같은, 층들을 포함할 수 있다.
도 23은 상태 4를 포함하는 일 실시예를 예시하며, 일 실시예는 신속한 액션을 수행하기 위한 사용자 인터페이스를 포함한다. 사용자는 우선 태블릿을 사용자를 향해 기울인다. 이에 응답하여, 견본들은 태블릿 뒤에서 애니메이션되고, 페인트는 사라지게 된다. 그러한 인터페이스에 의해 제공될 수 있는 옵션들은 언두, 리두, 이레이저, 클리어 팔레트, 및 세이브를 포함할 수 있다.
도 24는 상태 5를 포함하는 일 실시예를 예시하며, 일 실시예는 저장된 파일들을 로딩하고 프리뷰하기 위한 사용자 인터페이스를 포함한다. 그러한 사용자 인터페이스의 경우, 사용자는 특정 파일들을 로딩하기 위해 태블릿을 다양한 층들을 통해 수직으로 이동시킬 수 있다. 일부 실시예들에서, 드로잉들은 로딩 전에 프리뷰될 수 있다. "로드"가 옵션 패널로부터 선택되면, 사용자는 태블릿을 정상 동작으로 복귀시킬 수 있다.
도 25 내지 도 32는 "매직 윈도우" 애플리케이션에 의해 가상 환경과 상호작용하기 위한 다양한 실시예들을 예시한다. 매직 윈도우 애플리케이션은 가상 또는 증강 현실 환경을 시청하기 위해 사용될 수 있다. 애플리케이션은 환경 내의 다른 사용자들과 상호작용할 수 있도록 하나보다 많은 사용자에 의해 동시에 이용될 수 있다. 일부 실시예들에서, 매직 윈도우는 시청자들이 가상 환경에서 아티스트의 액션들을 우연히 시청하는 것을 허용한다. 다른 환경들에서, 시청자는 활동들이 비동기 방식으로 발생한 후에 활동들의 수집을 본다.
매직 윈도우 애플리케이션의 실시예들은 환경의 양태들과 관련되는 햅틱 피드백을 제공한다. 일부 실시예들에서, 그러한 양태들은 예를 들어, 콘텐츠 생성자에 의한 액션들을 포함하는, 가상 환경과의 다른 사용자들의 상호작용들을 포함한다. 매직 윈도우 애플리케이션은 또한 예컨대 시청자가 상기 설명된 바와 같이 도로 상의 승용차를 제어하는 것을 포함하는 환경의 양태들을 제어하는 것을 허용하는 것과 같은, 부가 기능성을 제공할 수 있다.
도 25는 매직 윈도우 애플리케이션의 일 실시예에서 메인 메뉴 디스플레이를 예시한다. 도시된 메인 메뉴는 사용자들이, 아티스트가 시청하는 것을 찾는 것, 스케치(MVP가 아님)를 로딩하는 것, 및 애플리케이션에 관한 정보를 로딩하는 것을 허용하는, 메뉴를 제공한다. "아티스트 찾기" 옵션은 특정 콘텐츠 생성자 또는 콘텐츠 생성자들의 세트에 자동적으로 연결하거나 시청자가 검색하는 것을 허용할 수 있다.
도 26은 가상 환경의 뷰를 그라운딩하기 위한 인터페이스를 예시한다. 도시된 실시예에서, 사용자는 예를 들어, 호스트에 연결함으로써 애플리케이션을 개시한다. 그 다음, 사용자는 시청 공간을 교정하고 그것에 의해 뷰를 그라운딩하기 위해 시각 마커(예를 들어, QR 코드)를 스캐닝하도록 자극된다.
도 27은 뷰가 교정되면 인터페이스를 예시한다. 시청자는 실시간으로 발생하는 임의의 변경들뿐만 아니라 콘텐츠 생성자에 의해 생성되는 콘텐츠를 볼 수 있다. 도시된 실시예에서, 아티스트는 팔레트를 사용하여 시각화된다. 스크린의 상단 좌측은 도 25에 예시된 것과 같은, 메뉴로 복귀하기 위한 화살표를 포함한다. 그리고, 상단 우측은 인터페이스가 실행하고 있는 모드를 예시하는 아이콘들을 포함한다.
도 28은 도로 및 스포닝된 승용차를 포함하는 환경의 렌더링을 디스플레이하는 인터페이스의 다른 실시예이다. 승용차 버튼은 스크린의 상단 우측에 디스플레이되고 사용자가 "승용차" 모드를 인에이블하거나 디스에이블하는 것을 허용한다. 승용차 모드는 사용자가 도로들 상에서 승용차의 가속도를 제어하는 것을 허용한다. 인터페이스는 또한 사용자가 승용차 내측으로부터 환경을 시청하는 것을 허용할 수 있다. 그러한 인터페이스는 다수의 사용자가 승용차들 또는 다른 차량들을 동시에 스포닝하고 제어하는 것을 허용할 수 있다.
도 29 및 도 30은 도로 및 스포닝된 승용차를 포함하는 환경의 렌더링을 디스플레이하는 인터페이스의 또 다른 실시예를 예시한다. 도 29에 도시된 실시예에서, 시청자는 승용차로 운행하는 것처럼 환경을 시청하고 있다. 도 28에 도시된 실시예에서와 같이, 사용자는 승용차를 제어할 수 있다. 이러한 실시예는 또한 아티스트의 표현을 제공하며, 아티스트는 디스플레이의 상부 좌측 상에서 팔레트, 펜, 및 머리로서 시각화된다. 도 30에서, 다수의 사용자는 스포닝된 승용차들을 가지며, 이 승용차들은 도로 상에서 서로 접근하고 있다.
도 31은 다른 실시예이고 도 27에 도시된 실시예와 유사하다. 도 31에 도시된 실시예에서, 애플리케이션은 최대 2개의 승용차가 도로 상에 스포닝되는 것을 허용한다. 사용자가 다른 승용차를 스포닝하려고 시도하면, 애플리케이션은 사용자에게 모든 슬롯들이 현재 가득 찬 것을 통지하는 에러 메시지에 응답한다.
도 32는 더 복잡한 도로 및 교통 구현을 예시하는 일 실시예이다. 그러한 일 실시예는 멀티 플레이어 경주 게임에 유용할 수 있다. 그러한 일 실시예는 향상된 도로의 물리적 현상(physics), 지도에서 떨어지는 능력, 다른 승용차들과 충돌하는 능력, 및 다수의 상대를 포함할 수 있다. 구현될 수 있는 다른 특징들은 승용차의 파워를 신장시키고 승용차가 특정 물리 모델에 기초하여 다른 활동들을 벗어나거나 수행하는 것을 허용하는 능력을 포함한다. 일부 실시예들에서, 다수의 상이한 경주는 동일한 가상 도로 상에 발생할 수 있다. 추가 실시예들에서, 사용자들은 예컨대 도로를 매끄럽게 함으로써, 게임 플레이 동안 도로에 변경들을 이룰 수 있다. 종래의 경주 게임들의 다양한 다른 특징들은 또한 본 발명의 실시예들로 포함될 수 있다. 일부 실시예들에서, 저-폴리 간략화된 스타일은 그것이 브러쉬 스트로크 환경에서 어떻게 보여지는지에 따라, 도로들 및 승용차들을 위해 요구될 수 있다.
도 33 및 도 34는 콘텐츠 생성자 애플리케이션 사용자 인터페이스의 실시예들을 예시한다. 도 25 내지 도 32에 도시된 실시예들과 유사하게, 도 33에 도시된 실시예는 가상 환경으로의 윈도우를 콘텐츠 생성자에게 허용한다. 도 33에 도시된 실시예에서, 콘텐츠 생성자는 팔레트 뷰를 인에이블하거나 디스에이블하기 위해 팔레트 아이콘을 태핑할 수 있다. 이것은 사용자가 아티스트의 태블릿 구성의 더 큰 시각화를 보는 것을 허용한다. 도 34는 스케치들에 액세스하기 위한 인터페이스를 예시한다. 도시된 실시예에서, 스케치를 개방하기 위해, 사용자는 메인 메뉴로부터 스케치 선택 대화를 입력하고 그 다음 개방할 스케치의 프리뷰를 태핑한다.
다양한 실시예에서, 강력한 사용자 인터페이스를 제공하는 것이 중요하다. 예를 들어, 일부 실시예들에서, 팔레트의 위치는 AR 메뉴 오버레이가 그것의 표면에 적용될 수 있는 상세의 레벨까지 추적된다. 그러한 일 실시예에서, 메뉴는 높은 레벨의 상세 및 품위로 애니메이션된다. 객체들은 나타나지 않고 사라지지 않으며, 오히려, 객체들은 로잉(rowing)되고, 이동되고, 모핑되고, 전이된다. 추가 실시예들에서, 메뉴는 "AR 리프" 개념을 포함하며, 그것에 의해 일부 메뉴 아이템들은 물리적 주변 주위의 공간에 나타나고, 상호작용적이다.
메뉴는 다양한 능력들을 제공할 수 있다. 예를 들어, 일 실시예에서, 메뉴는 브러쉬 타입을 선택하는 능력을 제공한다. 다른 실시예에서, 상호작용 디자인 큐들은 데스크톱 컴퓨팅과 대조적으로 물리적 페인트 혼합으로부터 취해진다. 이러한 능력들 각각은 메뉴의 애니메이션들과 동기화되는 강력한 햅틱 피드백과 조합될 수 있다.
도 35는 다양한 실시예들과 함께 사용될 수 있는 태블릿을 예시한다. 도시된 실시예는 압력 민감 무선 태블릿이다. 태블릿은 측면 상에 내장품을 위한 31 mm 케이싱을 가지며, 그것은 사용자가 세로방향 배향에서 태블릿을 유지하는 것을 야기할 가능성이 있을 것이다. 태블릿은 상단에서 안테나를 포함할 수 있다.
본원에 설명되는 실시예들은 사용자를 위한 다수의 잠재적 상호작용을 제공한다. 예를 들어, 일 실시예는 태블릿을 유지하기 위해 제안된 손 위치를 지지하는 "오프" 상태, 견본 "리프"로부터 컬러를 선택하는 것, 태블릿 상에 상당한 양의 선택된 컬러를 배치하는 것, 및 새로운 컬러들을 혼합하고 생성/세이브하는 프로세스를 반복하는 것을 포함할 수 있다. 실시예들은 또한 상태 변경들, 제스처 인식, 툴 선택(예를 들어, 브러쉬 스트로크), 파일 조작들, 및 다른 조작들을 포함할 수 있다.
도 36 내지 도 38은 사용자가 태블릿을 유지하는 배향이 사용자에게 이용가능한 기능성을 제어하는 일 실시예를 예시한다. 팔레트 주위에서 6자유도 및 3차원성을 이용하는 일 실시예에서, 메뉴들은 태블릿이 사용자에 의해 유지되는 배향에 기초하여 맥락화될 수 있다. 예를 들어, 그러한 일 실시예는 3개의 타입의 상호작용들을 포함할 수 있다: (1) 1차 상호작용: 페인트 및 브러쉬 상호작용들(수직 배향), (2) 2차 상호작용: 브러쉬 선택(상단 아래로 기울이는 것/상단 위를 보는 것), 및 (3) 3차 상호작용들: 세이브, 클리어, 엑싯(좌측까지 태블릿을 기울이는 것)
도 36은 1차 상호작용, 페인트 및 부시 사이징(bush sizing)의 일 실시예를 예시한다. 도 37은 사용자에게 신속한 액션 옵션들을 제시하는 제2 배향을 사용자에게 허용하는 일 실시예를 예시한다. 예를 들어, 사용자가 태블릿을 사용자를 향해 기울일 때, 견본들은 태블릿 뒤에 애니메이션되고, 페인트들은 사라지게 된다. 그러한 배향에서, 페인트들 및 재료들은 지속되지 않는다. 이러한 배향은 이하의 옵션들을 제공할 수 있다: 언두, 리두, 이레이저, 클리어 팔레트, 및 세이브.
도 38은 상태 변경을 허용하는 제3 배향을 또다시 예시한다. 이러한 3차 UI는 그라운드에 수직이도록 태블릿을 90도로 기울이는 것을 필요로 한다. 그 다음, 사용자에게는 수개의 라벨링된 "층들"이 제시된다: 페인트, 브러쉬들, 재료들, 및 옵션들. 게다가, 인터페이스는 이하와 같은 다수의 옵션을 제공할 수 있다: 세이브, 텍스트 입력 요구를 회피하는 자동 명명 방식으로의 편향, 클리어 드로잉 공간, 로드, 및 엑싯 애플리케이션(필요한 경우). 다양한 상호작용은 이러한 배향에서 지지될 수 있으며, 이 상호작용은 드로잉 손가락을 상태에 배치하고 버튼을 클릭하는 것, 엄지 버튼을 유지하는 것, 태블릿 위치를 Y 축으로(따라서 층들 중 하나 내에) 횡단하는 것 및 버튼을 해제하는 것을 포함한다.
도 39는 일 실시예에서 태블릿이 가상 또는 증강 현실 환경에서의 사용을 위해 어떻게 레이아웃될 수 있는지의 예시이다. 도시된 실시예에서, "AR 리프"는 적어도 2" x 2"이고. 온-태블릿 터치 상호작용은 1" x 1"보다 더 작지 않아야 한다.
도 40은 일 실시예에서 가상 또는 증강 환경 내에 더 복잡한 객체들을 발생시키기 위해 사용되는 원시 객체의 예시이다. 도시된 실시예에서, 원시 3D 객체 - 콘 -은 사용자에게 제시된다. 사용자는 콘을 사용하여 트리 형상을 제작하고 그 다음 가상 또는 증강 환경 내에 트리를 재배치한다. 다양한 타입들의 원시 객체들은 실시예들에 제시된다.
도 41은 일 실시예에 따른 방법(400)을 예시하는 흐름도이다. 도시된 실시예에서, 시스템은 우선 가상 또는 증강 환경 내의 객체의 위치를 결정한다(402). 그 다음, 시스템은 객체에 대해 적어도 하나의 관찰자의 관점을 결정한다(404). 다음에, 시스템은 위치 및 관점에 적어도 부분적으로 기초하여 출력될 햅틱 효과를 결정한다(406). 그리고, 최종적으로, 시스템은 이때 햅틱 효과를 출력한다.
일반적 고려사항들
상기 논의된 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 구성들은 다양한 절차들 또는 구성요소들을 적절하게 생략, 치환, 또는 추가할 수 있다. 예를 들어, 대안 구성들에서, 방법들은 설명되는 것과 상이한 순서로 수행될 수 있고, 그리고/또는 다양한 단계들은 추가, 생략, 및/또는 조합될 수 있다. 또한, 특정 구성들에 대해 설명되는 특징들은 다양한 다른 구성들로 조합될 수 있다. 구성들의 상이한 양태들 및 요소들은 유사한 방식으로 조합될 수 있다. 또한, 기술은 진화하고, 따라서, 요소들 중 많은 것은 예들이고 개시 또는 청구항들의 범위를 제한하지 않는다.
구체적 상세들은 대표적인 구성들(구현들을 포함함)의 철저한 이해를 제공하기 위해 설명에 주어진다. 그러나, 구성들은 이러한 구체적 상세들 없이 실시될 수 있다. 예를 들어, 널리 공지된 회로들, 프로세스들, 알고리즘들, 구조들, 및 기술들은 구성들을 모호하게 하는 것을 회피하기 위해 불필요한 상세 없이 도시되었다. 이러한 설명은 대표적인 구성들만을 제공하고, 청구항들의 범위, 적용가능성, 또는 구성들을 제한하지 않는다. 오히려, 구성들의 이전 설명은 설명된 기술들을 구현하기 위한 실시가능 설명을 본 기술분야의 통상의 기술자들에게 제공할 수 있다. 다양한 변경들은 개시의 사상 또는 범위로부터 벗어나는 것 없이 요소들의 기능 및 배열에 이루어질 수 있다.
또한, 구성들은 흐름도 또는 블록도로 도시되는 프로세스로서 설명될 수 있다. 각각은 동작들을 순차적 프로세스로서 설명할 수 있지만, 동작들 중 많은 것은 병렬로 또는 동시에 수행될 수 있다. 게다가, 동작들의 순서는 재배열될 수 있다. 프로세스는 도면에 포함되지 않는 부가 단계들을 가질 수 있다. 더욱이, 방법들의 예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술 언어들, 또는 그것의 임의의 조합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드로 구현될 때, 필요한 작업들을 수행하는 프로그램 코드 또는 코드 세그먼트들은 저장 매체와 같은 비일시적 컴퓨터 판독가능 매체에 저장될 수 있다. 프로세서들은 설명된 작업들을 수행할 수 있다.
수개의 대표적인 구성들을 설명했지만, 다양한 수정들, 대안 구성들, 및 균등물들은 개시의 사상으로부터 벗어나는 것 없이 사용될 수 있다. 예를 들어, 상기 요소들은 더 큰 시스템의 구성요소들일 수 있으며, 다른 규칙들은 발명의 적용에 우선하거나 발명의 적용을 다른 방법으로 수정할 수 있다. 또한, 다수의 단계들은 상기 요소들이 고려되기 전에, 고려되는 동안, 또는 고려된 후에 착수될 수 있다. 따라서, 상기 설명은 청구항들의 범위를 구속하지 않는다.
본원에서 "하도록 적응되는" 또는 "하도록 구성되는"의 사용은 부가 작업들 또는 단계들을 수행하도록 적응되거나 구성되는 디바이스들을 배제하지 않는 개방 및 포괄 언어로서 의미된다. 부가적으로, "에 기초하는"의 사용은 하나 이상의 열거된 조건 또는 값 "에 기초하는" 프로세스, 단계, 계산, 또는 다른 액션이 실제로, 열거된 것들을 넘어 부가 조건들 또는 값들에 기초할 수 있다는 점에서, 개방적이고 포괄적이도록 의미된다. 본원에 포함되는 표제들, 리스트들, 및 번호화는 설명의 용이성만을 위한 것이고 제한적이도록 의미되지 않는다.
본 발명 대상의 양태들에 따른 실시예들은 디지털 전자 회로로, 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 상기한 것의 조합들로 구현될 수 있다. 일 실시예에서, 컴퓨터는 프로세서 또는 프로세서들을 포함할 수 있다. 프로세서는 프로세서에 결합되는 랜덤 액세스 메모리(random access memory)(RAM)와 같은, 컴퓨터 판독가능 매체를 포함하거나 컴퓨터 판독가능 매체에 액세스할 수 있다. 프로세서는 상기 설명된 방법들을 수행하기 위해 센서 샘플링 루틴, 선택 루틴들, 및 다른 루틴들을 포함하는 하나 이상의 컴퓨터 프로그램을 실행하는 것과 같이, 메모리에 저장되는 컴퓨터 실행가능 프로그램 명령어들을 실행한다.
그러한 프로세서들은 마이크로프로세서, 디지털 신호 프로세서(digital signal processor)(DSP), 주문형 집적 회로(application-specific integrated circuit)(ASIC), 필드 프로그램가능 게이트 어레이들(field programmable gate arrays)(FPGAs), 및 상태 머신을 포함할 수 있다. 그러한 프로세서들은 프로그램가능 전자 디바이스들 예컨대 PLC들, 프로그램가능 인터럽트 컨트롤러들(programmable interrupt controllers)(PICs), 프로그램가능 로직 디바이스들(programmable logic devices)(PLDs), 프로그램가능 판독 전용 메모리들(programmable read-only memories)(PROMs), 전자적 프로그램가능 판독 전용 메모리들(electronically programmable read-only memories)(EPROMs 또는 EEPROMs), 또는 다른 유사한 디바이스들을 추가로 포함할 수 있다.
그러한 프로세서들은 매체들, 예를 들어 유형의 컴퓨터 판독가능 매체들을 포함할 수 있거나, 이 매체들과 통신할 수 있으며, 이 매체들은 프로세서에 의해 수행되거나, 원조되는 바와 같이, 프로세서에 의해 실행될 때, 프로세서로 하여금 본원에 설명되는 단계들을 수행하게 할 수 있는 명령어들을 저장할 수 있다. 컴퓨터 판독가능 매체들의 실시예들은 컴퓨터 판독가능 명령어들을, 웹 서버 내의 프로세서와 같은, 프로세서에 제공할 수 있는 모든 전자, 광, 자기, 또는 다른 저장 디바이스들을 포함할 수 있지만, 그들에 제한되지 않는다. 매체들의 다른 예들은 컴퓨터 프로세서가 판독할 수 있는 플로피 디스크, CD-ROM, 자기 디스크, 메모리 칩, ROM, RAM, ASIC, 구성된 프로세서, 모든 광 매체들, 모든 자기 테이프 또는 다른 자기 매체들, 또는 임의의 다른 매체를 포함하지만, 그들에 제한되지 않는다. 또한, 라우터, 사설 또는 공중 네트워크, 또는 다른 송신 디바이스와 같은, 다양한 다른 디바이스들은 컴퓨터 판독가능 매체들을 포함할 수 있다. 설명되는, 프로세서, 및 프로세싱은 하나 이상의 구조에 있을 수 있고, 하나 이상의 구조를 통해 분산될 수 있다. 프로세서는 본원에 설명되는 방법들 중 하나 이상(또는 방법들의 부분들)을 수행하기 위한 코드를 포함할 수 있다.
본 발명 대상이 그것의 특정 실시예들에 대해 상세히 설명되었지만, 본 기술분야의 통상의 기술자들은 상술한 것의 이해를 달성할 시에 그러한 실시예들에 대한 개조들, 이 실시예들의 변환들, 및 이 실시예들에 대한 균등물들을 즉시 제작할 수 있다는 점이 이해될 것이다. 따라서, 본 개시는 제한보다는 오히려 예의 목적들을 위해 제시되었고, 본 기술분야의 통상의 기술자에게 즉시 분명해지는 바와 같이 본 발명 대상에 대한 그러한 수정들, 변화들 및/또는 추가들의 포함을 배제하지 않는다는 점이 이해되어야 한다.

Claims (23)

  1. 방법으로서,
    가상 또는 증강 현실 환경 내의 객체의 위치를 결정하는 단계;
    상기 객체에 대해 적어도 하나의 관찰자의 관점을 결정하는 단계;
    상기 위치 및 상기 관점에 적어도 부분적으로 기초하여 출력될 햅틱 효과를 결정하는 단계; 및
    상기 햅틱 효과를 출력하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 적어도 하나의 관찰자의 관점은 1인칭 관점인, 방법.
  3. 제1항에 있어서, 상기 적어도 하나의 관찰자의 관점은 3인칭 관점인, 방법.
  4. 제1항에 있어서, 상기 적어도 하나의 관찰자의 관점은 상기 객체 내에서 유래되는, 방법.
  5. 제1항에 있어서, 상기 객체는 상기 가상 또는 증강 현실 환경을 횡단하는, 방법.
  6. 제1항에 있어서, 상기 객체는 상기 가상 또는 증강 현실 환경 내에 드로잉되는 경로를 따라 횡단하는, 방법.
  7. 제1항에 있어서, 상기 객체는 차량, 아바타, 툴, 또는 사용자 생성 객체 중 하나를 포함하는, 방법.
  8. 방법으로서,
    가상 또는 증강 현실 환경에서 제1 사용자 인터페이스 요소를 디스플레이하는 단계 - 상기 제1 사용자 인터페이스 요소는 제1 축을 따르는 복수의 층을 포함하고, 상기 복수의 층 각각은 제1 성질과 연관됨 - ;
    상기 제1 축을 따라 객체의 제1 이동과 연관되는 입력 신호를 수신하는 단계;
    상기 객체의 위치에 대응하는 층과 연관되는 성질을 식별하는 단계
    를 포함하는 방법.
  9. 제8항에 있어서, 상기 제1 성질은 액션을 포함하고 상기 액션을 실행하는 단계를 추가로 포함하는, 방법.
  10. 제8항에 있어서, 상기 액션은 상태 변경을 포함하는, 방법.
  11. 제8항에 있어서, 액션과 연관되는 제2 사용자 인터페이스 요소를 디스플레이하는 단계를 추가로 포함하는, 방법.
  12. 제11항에 있어서, 상기 제2 사용자 인터페이스 요소는 상기 제1 사용자 인터페이스 요소에 근접하여 디스플레이되는 버튼을 포함하는, 방법.
  13. 제11항에 있어서, 상기 제2 사용자 인터페이스 요소는 상기 제1 사용자 인터페이스 요소를 활성화하기 위한 버튼을 포함하는, 방법.
  14. 제8항에 있어서, 상기 층과 연관되는 제1 성질을 식별하는 단계는 상기 제1 축을 따르는 객체의 이동이 정지했다는 것을 결정하는 단계를 포함하는, 방법.
  15. 제8항에 있어서, 제2 축에서 상기 객체의 제2 이동을 식별하는 단계 및 상기 제2 축에서의 이동에 응답하여 액션을 실행하는 단계를 추가로 포함하는, 방법.
  16. 제14항에 있어서, 상기 제2 축에서의 객체의 제2 이동은 기울이기를 포함하는, 방법.
  17. 제8항에 있어서, 상기 사용자 인터페이스는,
    제2 축을 따르는 복수의 층 - 상기 복수의 층 각각은 제2 성질과 연관됨 - ;
    상기 제2 축을 따라 상기 객체의 이동과 연관되는 입력 신호를 수신하는 단계;
    상기 객체의 위치에 대응하는 층과 연관되는 제2 성질을 식별하는 단계를 추가로 포함하는, 방법.
  18. 제8항에 있어서, 상기 사용자 인터페이스 요소는 메뉴를 포함하는, 방법.
  19. 제8항에 있어서, 상기 객체는 사용자에 의해 제어되는 표시기를 포함하는, 방법.
  20. 제8항에 있어서, 상기 객체가 상기 제1 축을 따라 상기 복수의 층 각각에 접근할 때 햅틱 효과를 출력하는 단계를 추가로 포함하는, 방법.
  21. 제8항에 있어서, 상기 객체가 상기 제1 축을 따라 상기 복수의 층 각각에 근접할 때 햅틱 효과를 출력하는 단계를 추가로 포함하는, 방법.
  22. 프로세서 실행가능 프로그램 코드를 포함하는 비일시적 컴퓨터 판독가능 매체로서, 상기 프로세서 실행가능 프로그램 코드는 프로세서로 하여금,
    가상 또는 증강 현실 환경 내의 객체의 위치를 결정하게 하고;
    상기 객체에 대해 적어도 하나의 관찰자의 관점을 결정하게 하고;
    상기 위치 및 상기 관점에 적어도 부분적으로 기초하여 출력될 햅틱 효과를 결정하게 하고;
    상기 햅틱 효과를 출력하게 하도록
    구성되는 비일시적 컴퓨터 판독가능 매체.
  23. 프로세서 실행가능 프로그램 코드를 포함하는 비일시적 컴퓨터 판독가능 매체로서, 상기 프로세서 실행가능 프로그램 코드는 프로세서로 하여금,
    가상 또는 증강 현실 환경에서 제1 사용자 인터페이스 요소를 디스플레이하게 하고 - 상기 제1 사용자 인터페이스 요소는 제1 축을 따르는 복수의 층을 포함하고, 상기 복수의 층 각각은 제1 성질과 연관됨 - ;
    상기 제1 축을 따라 객체의 제1 이동과 연관되는 입력 신호를 수신하게 하고;
    상기 객체의 위치에 대응하는 층과 연관되는 성질을 식별하게 하도록
    구성되는 비일시적 컴퓨터 판독가능 매체.
KR1020190046013A 2018-04-20 2019-04-19 다중 사용자 공유 가상 및 증강 현실 기반 햅틱스를 위한 시스템들 및 방법들 KR20190122581A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/959,018 US10775892B2 (en) 2018-04-20 2018-04-20 Systems and methods for multi-user shared virtual and augmented reality-based haptics
US15/959,018 2018-04-20

Publications (1)

Publication Number Publication Date
KR20190122581A true KR20190122581A (ko) 2019-10-30

Family

ID=66251585

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190046013A KR20190122581A (ko) 2018-04-20 2019-04-19 다중 사용자 공유 가상 및 증강 현실 기반 햅틱스를 위한 시스템들 및 방법들

Country Status (5)

Country Link
US (2) US10775892B2 (ko)
EP (1) EP3567455A3 (ko)
JP (1) JP2019200783A (ko)
KR (1) KR20190122581A (ko)
CN (1) CN110389660A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102202357B1 (ko) * 2020-07-09 2021-01-12 한국해양대학교 산학협력단 햅틱 디바이스의 자극 반응형 가상객체 증강 시스템 및 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3599544A1 (en) * 2018-07-25 2020-01-29 Nokia Technologies Oy An apparatus, method, computer program for enabling access to mediated reality content by a remote user
US11494953B2 (en) * 2019-07-01 2022-11-08 Microsoft Technology Licensing, Llc Adaptive user interface palette for augmented reality
US11347312B1 (en) * 2019-09-23 2022-05-31 Apple Inc. Ultrasonic haptic output devices
US11644907B2 (en) * 2021-02-26 2023-05-09 Logitech Europe S.A. Systems, devices, and methods for physical surface tracking with a stylus device in an AR/VR environment
WO2022212177A1 (en) * 2021-03-31 2022-10-06 Snap Inc. Virtual reality interface with haptic feedback response
US20230041294A1 (en) * 2021-08-03 2023-02-09 Sony Interactive Entertainment Inc. Augmented reality (ar) pen/hand tracking
US20240069637A1 (en) * 2022-08-31 2024-02-29 Snap Inc. Touch-based augmented reality experience

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9229540B2 (en) * 2004-01-30 2016-01-05 Electronic Scripting Products, Inc. Deriving input from six degrees of freedom interfaces
US20160098095A1 (en) * 2004-01-30 2016-04-07 Electronic Scripting Products, Inc. Deriving Input from Six Degrees of Freedom Interfaces
US8645871B2 (en) * 2008-11-21 2014-02-04 Microsoft Corporation Tiltable user interface
US8860672B2 (en) * 2010-05-26 2014-10-14 T-Mobile Usa, Inc. User interface with z-axis interaction
KR101728725B1 (ko) * 2010-10-04 2017-04-20 엘지전자 주식회사 이동 단말기 및 그 제어방법
WO2013169875A2 (en) * 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for displaying content associated with a corresponding affordance
KR20140090318A (ko) * 2013-01-07 2014-07-17 삼성전자주식회사 햅틱 기반 카메라 운용 지원 방법 및 이를 지원하는 단말기
US9459697B2 (en) * 2013-01-15 2016-10-04 Leap Motion, Inc. Dynamic, free-space user interactions for machine control
JP2015166890A (ja) * 2014-03-03 2015-09-24 ソニー株式会社 情報処理装置、情報処理システム、情報処理方法及びプログラム
US20160202760A1 (en) 2014-06-06 2016-07-14 Microsoft Technology Licensing Llc Systems and methods for controlling feedback for multiple haptic zones
US9588586B2 (en) * 2014-06-09 2017-03-07 Immersion Corporation Programmable haptic devices and methods for modifying haptic strength based on perspective and/or proximity
US20160004300A1 (en) * 2014-07-07 2016-01-07 PinchVR Inc. System, Method, Device and Computer Readable Medium for Use with Virtual Environments
US9953446B2 (en) * 2014-12-24 2018-04-24 Sony Corporation Method and system for presenting information via a user interface
US9746921B2 (en) 2014-12-31 2017-08-29 Sony Interactive Entertainment Inc. Signal generation and detector systems and methods for determining positions of fingers of a user
JP6684559B2 (ja) 2015-09-16 2020-04-22 株式会社バンダイナムコエンターテインメント プログラムおよび画像生成装置
US10140464B2 (en) * 2015-12-08 2018-11-27 University Of Washington Methods and systems for providing presentation security for augmented reality applications
US10545584B2 (en) 2016-05-17 2020-01-28 Google Llc Virtual/augmented reality input device
US10521603B2 (en) 2016-08-24 2019-12-31 Branch Banking And Trust Company Virtual reality system for providing secured information
CN106980362A (zh) 2016-10-09 2017-07-25 阿里巴巴集团控股有限公司 基于虚拟现实场景的输入方法及装置
US10296091B2 (en) * 2016-10-13 2019-05-21 Immersion Corporation Contextual pressure sensing haptic responses

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102202357B1 (ko) * 2020-07-09 2021-01-12 한국해양대학교 산학협력단 햅틱 디바이스의 자극 반응형 가상객체 증강 시스템 및 방법

Also Published As

Publication number Publication date
JP2019200783A (ja) 2019-11-21
EP3567455A3 (en) 2020-02-19
US10775892B2 (en) 2020-09-15
US20200257367A1 (en) 2020-08-13
EP3567455A2 (en) 2019-11-13
US11086403B2 (en) 2021-08-10
US20190324541A1 (en) 2019-10-24
CN110389660A (zh) 2019-10-29

Similar Documents

Publication Publication Date Title
US11086403B2 (en) Systems and methods for multi-user shared virtual and augmented reality-based haptics
EP3729238B1 (en) Authoring and presenting 3d presentations in augmented reality
US11366512B2 (en) Systems and methods for operating an input device in an augmented/virtual reality environment
US10928974B1 (en) System and method for facilitating user interaction with a three-dimensional virtual environment in response to user input into a control device having a graphical interface
US9946336B2 (en) Systems and methods for viewport-based augmented reality haptic effects
US10031583B2 (en) Systems and methods for force-based object manipulation and haptic sensations
EP3599532B1 (en) A system for importing user interface devices into virtual/augmented reality
KR101574099B1 (ko) 다수의 장치에 걸친 증강 현실 표현
US11014242B2 (en) Puppeteering in augmented reality
CN111167120A (zh) 游戏中虚拟模型的处理方法和装置
EP3549127B1 (en) A system for importing user interface devices into virtual/augmented reality
Daiber et al. Designing gestures for mobile 3D gaming
Hachet et al. Navidget for 3d interaction: Camera positioning and further uses
KR102201678B1 (ko) 증강 현실에서 햅틱 오버레이를 통합하는 시스템들 및 방법들
US9414051B2 (en) Extensible authoring and playback platform for complex virtual reality interactions and immersive applications
Eitsuka et al. Authoring animations of virtual objects in augmented reality-based 3d space
WO2019080870A1 (zh) 交互界面的显示方法和装置、存储介质、电子装置
NON GAME-LIKE NAVIGATION