KR20170132840A - 가상 현실 환경 내부에서의 드로잉에 의한 3 차원 패션 객체들의 생성 - Google Patents

가상 현실 환경 내부에서의 드로잉에 의한 3 차원 패션 객체들의 생성 Download PDF

Info

Publication number
KR20170132840A
KR20170132840A KR1020177031375A KR20177031375A KR20170132840A KR 20170132840 A KR20170132840 A KR 20170132840A KR 1020177031375 A KR1020177031375 A KR 1020177031375A KR 20177031375 A KR20177031375 A KR 20177031375A KR 20170132840 A KR20170132840 A KR 20170132840A
Authority
KR
South Korea
Prior art keywords
fabric
user
dress form
virtual reality
form object
Prior art date
Application number
KR1020177031375A
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 KR20170132840A publication Critical patent/KR20170132840A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03543Mice or pucks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • 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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2113/00Details relating to the application field
    • G06F2113/12Cloth
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/16Cloth
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • Architecture (AREA)
  • Evolutionary Computation (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

시스템들 및 방법들은 3 차원 가상 현실 환경의 디스플레이의 표현을 제작하고 가상 현실 환경 내에서 드레스 폼 객체를 정의하기 위하여 설명된다. 가상 현실 환경은 컴퓨팅 디바이스에 결합되며 사용자와 연관된 적어도 하나의 입력 디바이스로부터 대화형 커맨드들을 수신하도록 구성된다. 직물 이동 시뮬레이션들은 구성된 애니메이션 데이터에 따라 드레스 폼 객체를 애니메이팅함으로써 생성되고, 가상 현실 환경에서 디스플레이된다. 디스플레이는 드레스 폼 객체의 이동을 표시하는 이동 패턴을 수신하는 것에 응답하여 생성될 수도 있다.

Description

가상 현실 환경 내부에서의 드로잉에 의한 3 차원 패션 객체들의 생성
관련 출원에 대한 상호 참조
이 출원은 2015년 9월 18일자로 출원된 미국 출원 제14/859,167호의 이익을 주장하고, 그 전체 내용들은 참조로 편입된다.
이 설명은 일반적으로 컴퓨터 소프트웨어의 분야에 관한 것으로, 더욱 구체적으로, 가상 현실(virtual reality) 컴퓨터 소프트웨어 내부에서의 드로잉(drawing)의 분야에 관한 것이다.
기존의 컴퓨터 소프트웨어를 이용하는 것은 가상 현실 환경에 있는 동안에 드로잉을 생성하는 것을 시도할 때의 어려움들로 귀착될 수 있다. 게다가, 기존의 그래픽 사용자 인터페이스(Graphical User Interface: GUI)들은 일반적으로 가상 현실 환경으로 양호하게 변환하지 않는다. 가상 현실 환경들은 3 차원들로 구축되지만, 기존의 GUI들은 전형적으로 2 차원 스크린들에 대하여 구축된다.
하나의 일반적인 양태에서, 컴퓨터로 구현되는 방법은 3 차원 가상 현실 환경의 디스플레이의 표현을 제작하는 단계, 및 가상 현실 환경 내에서 드레스 폼 객체(dress form object)를 정의하는 단계를 포함한다. 가상 현실 환경은 컴퓨팅 디바이스에 결합되며 사용자와 연관된 적어도 하나의 입력 디바이스로부터 대화형 커맨드(interactive command)들을 수신하도록 구성된다. 방법은 또한, 디스플레이에서, 가상 현실 환경에서의 드레스 폼 객체 및 복수의 도구세트(toolset)들을 표시하는 단계를 포함한다. 복수의 도구세트들은 드레스 폼 객체 상에서 가상적인 3 차원 기하학적 컨텐츠를 생성하도록 구성된다. 방법은 추가적으로, 복수의 도구세트들 중의 하나에서의 복수의 선택들을 수신하는 단계를 포함하고, 복수의 선택들은 적어도 색상(hue), 직물(fabric), 및 브러시스트로크(brushstroke) 패턴을 포함한다. 적어도 하나의 입력 디바이스의 입력 피드(input feed)로부터 복수의 이동 패턴들을 수신하는 것에 응답하여, 방법은 복수의 이동 패턴들 및 선택들에 따라 3 차원 기하학적 컨텐츠를 생성하는 단계, 및 디스플레이에서, 그리고 드레스 폼 객체 상에서 기하학적 컨텐츠를 디스플레이하는 단계를 포함할 수 있다. 방법은 또한, 드레스 폼 객체 상의 기하학적 컨텐츠에 대한 애니메이션 데이터를 구성하는 단계 - 애니메이션 데이터는 기하학적 컨텐츠를 이동시키기 위하여 직물의 성질들을 시뮬레이팅하도록 구비됨 -, 및 구성된 애니메이션 데이터에 따라 드레스 폼 객체를 애니메이팅함으로써 직물 이동을 시뮬레이팅하고 가상 현실 환경에서 시뮬레이션을 디스플레이하는 단계를 포함한다. 디스플레이는 드레스 폼 객체의 이동을 표시하는 추가적인 이동 패턴을 수신하는 것에 응답하여 생성된다. 이 양태의 다른 실시예들은, 각각이 방법들의 액션(action)들을 수행하도록 구성된, 대응하는 컴퓨터 시스템들, 장치, 및 하나 이상의 컴퓨터 저장 디바이스들 상에 레코딩된 컴퓨터 프로그램들을 포함한다.
일 예의 구현예들은 다음의 특징들 중의 하나 이상을 포함할 수도 있다. 3 차원 기하학적 컨텐츠는 패션 의복의 적어도 부분을 표현하는 라인들 및 형상들을 포함한다. 일부 구현예들에서, 색상, 직물, 및 브러시스트로크 패턴은 드레스 폼 객체 상에서 기하학적 컨텐츠를 생성하고 출력하기 위하여 이용된다.
일부 구현예들에서, 3 차원 드로잉 평면은 드로잉들을 수신하기 위한 평면형 드로잉 가이드(planar drawing guide)가 되도록 구성된다. 평면형 드로잉 가이드는 드레스 폼 객체의 평면 또는 드레스 폼 객체에 근접한 평면에 맞추어질 수 있다. 평면은 적어도 3 개의 축들 상에서 회전가능할 수도 있고, 드레스 폼 객체 상에서 또는 그 주위에서 조절가능할 수도 있다.
일부 구현예들에서, 직물의 성질들은 직물 중량, 직물 드레이프(fabric drape), 및 직물 전단 복원(fabric shear recovery)을 포함한다. 직물 이동을 시뮬레이팅하는 단계는 사용자-선택된 직물과 연관된 직물 중량 정보를 획득하는 단계, 및 적어도 하나의 입력 디바이스로부터, 드레스 폼 객체와 연관된 사용자 이동 방향 및 힘을 획득하는 단계를 포함한다. 직물 이동을 시뮬레이팅하는 단계는 또한, 직물 중량 및 힘에 기초한 속력으로 직물의 적어도 부분을 이동시키는 단계를 포함하고, 이동시키는 것은 드레스 폼 객체가 제 2 및 반대의 방향으로 이동하고 있는 것으로 결정하는 것에 응답하여 제 1 방향이다.
일부 구현예들에서, 방법은 다수의 컴퓨팅 디바이스들에 의해 공유된 가상 현실 환경에 참여하기 위한 다수의 컴퓨팅 디바이스들을 위한 네트워크 인터페이스를 제공하는 단계를 포함한다. 네트워크 인터페이스를 제공하는 단계는, 드레스 폼 객체를 갖는 가상 현실 환경에서 협업(collaborate)하기 위하여 각각이 하나 이상의 고유하게 식별된 입력 디바이스들을 이용하는 다수의 사용자들이 기하학적 컨텐츠에 대한 수정들을 협업하는 것을 가능하게 하는 단계를 포함한다.
일부 구현예들에서, 방법은 가상 현실 환경에서의 이용을 위한 선택가능한 드레스 폼 객체들의 세트를 생성하는 단계를 포함한다. 드레스 폼 객체들은 인간 해부학(human anatomy)과 연관된 측정들에 대해 구성가능하다.
제 2 의 일반적인 양태에서는, 환경 내에서 적어도 하나의 드레스 폼 객체를 정의하는 3 차원 가상 현실 드로잉 환경을 포함하는 시스템이 설명된다. 환경은 컴퓨팅 디바이스에 결합되며 사용자와 연관된 적어도 하나의 입력 디바이스로부터 대화형 커맨드들을 수신하도록 구성된다. 시스템은 또한, 가상 현실 환경과 인터페이싱하기 위하여 이용된 적어도 하나의 입력 디바이스와 연관된 복수의 사용자 이동들에 속하는 로케이션 정보를 검출하고, 복수의 직물 성질들에 기초하여 그리고 복수의 사용자 이동들에 응답하여 직물 이동을 시뮬레이팅하도록 구성된 이동 추적 모듈을 포함한다.
시스템은 또한, 가상 현실 환경에서, 복수의 직물 견본들, 복수의 드로잉 패턴들, 및 복수의 색상들에 대한 강도(intensity)를 표현하는 공간들의 단면을 포함하는 2 차원 포화 영역을 포함하는 3 차원 정육면체(cube)로서 표현된 적어도 하나의 컬러 팔레트 메뉴(color palette menu)를 제공하도록 구성된 복수의 3 차원 도구 팔레트(tool palette)들을 포함한다. 강도는 각각의 색상이 백색과 상이한 정도를 정의한다. 메뉴는 또한, 선택될 때, 3 차원 정육면체에서 적어도 하나의 선택된 색상의 위치를 반영하기 위하여 2 차원 포화 영역을 자동으로 조절하는 복수의 선택가능한 색상들을 포함하는 1 차원 색상 영역을 포함한다.
이 양태의 다른 실시예들은, 각각이 방법들의 액션들을 수행하도록 구성된, 대응하는 컴퓨터 시스템들, 장치, 및 하나 이상의 컴퓨터 저장 디바이스들 상에 레코딩된 컴퓨터 프로그램들을 포함한다.
하나 이상의 구현예들의 세부사항들은 첨부한 도면들 및 이하의 설명에서 기재된다. 다른 특징들은 설명 및 도면들로부터, 그리고 청구항들로부터 명백할 것이다.
도 1은 사용자가 드레스 폼 피규어(dress form figure) 상에서 3 차원 드로잉들을 생성할 수 있는 3 차원 가상 현실 환경(예컨대, VR 공간)을 제공하기 위한 일 예의 시스템의 블록도이다.
도 2는 도 1의 VR 공간에서 컴퓨팅 디바이스로 VR 컨텐츠를 액세스하는 헤드 장착형 디스플레이(head mounted display: HMD)를 예시하는 도면이다.
도 3a 내지 도 3b는 2 및 3 차원들에서 표현된 다양한 컬러 공간들의 예들이다.
도 4는 일 예의 3 차원 컬러 피커(color picker)의 사시도이다.
도 5는 3 차원 컬러 피커의 일 예의 스크린샷(screenshot)이다.
도 6은 도 1의 VR 공간에서 도시된 드레스 폼 객체의 일 예의 스크린샷이다.
도 7a 내지 도 7b는 사용자에 의해 선택된 색상, 패턴, 및 하나 이상의 브러시스트로크들을 이용하여 드레스 폼 객체 상에서 드로잉들을 생성하는 일 예의 스크린샷들이다.
도 8은 다수의 드레스 폼 피규어들을 이용하여 VR 공간에서 생성된 드로잉들의 일 예의 스크린샷이다.
도 9는 사용자가 3 차원 드로잉들을 생성할 수 있는 드레스 폼 객체를 갖는 가상 현실 환경을 제공하기 위한 프로세스의 하나의 실시예를 도면으로 나타내는 플로우차트이다.
도 10은 본원에서 설명된 기법들을 구현하기 위하여 이용될 수 있는 컴퓨터 디바이스 및 이동 컴퓨터 디바이스의 예를 도시한다.
다양한 도면들에서의 유사한 참조 기호들은 유사한 구성요소들을 표시한다.
이 개시물은 가상 현실 환경(즉, VR 공간) 내부에서 3 차원 드로잉을 생성하기 위한 환경을 생성하기 위한 다양한 시스템들 및 방법들을 설명한다. 사용자는 VR 공간을 액세스할 수 있고, 시스템-생성된 객체들 상에서 프리폼 컨텐츠(freeform content)를 드로잉(예컨대, 페인팅)함으로써 예술적 컨텐츠를 생성하기 시작할 수 있다. 특히, 본원에서 설명된 시스템들 및 방법들은 패션-관련된 드로잉 컨텐츠를 생성함에 있어서 사용자를 안내하기 위한 VR 공간 내에서 패션 폼(fashion form)들 또는 드레스 폼들을 제공할 수 있다. 패션-관련된 드로잉 컨텐츠는 예를 들어, 패션 디자인 스케치북을 에뮬레이팅(emulating)하기 위하여 VR 공간에서 드로잉된 기하학적 라인들 및 형상들을 포함할 수 있다. 일부 구현예들에서, 패션-관련된 드로잉 컨텐츠는 의류(예컨대, 셔츠(shirt)들, 바지(trouser)들, 드레스(dress)들, 스커트(skirt)들, 망토(cape)들, 속옷(vest)들 등) 및 액세서리들(예컨대, 핸드백들, 보석류, 신발들, 스카프(scarf)들, 벨트들, 양말류, 모자들, 장갑들, 선글라스, 안경들 등)에 속할 수도 있다. 드레스 폼들은 예술가(예컨대, 패션 디자이너)의 상상력을 촉발시키고 예술가가 특정한 패션 항목들 및 의류에 대한 디자인들의 이미지들을 생성하도록 동기부여하기 위하여 작용할 수 있는 3 차원 가상적 객체들로서 VR 공간에서 제공될 수도 있다. 드레스 폼들은 실감형 디자인 경험을 사용자에게 제공하기 위하여 VR 공간에서 주위로 회전될 수 있고 및/또는 이동될 수 있다. 이 때문에, 예를 들어, 의류 및 액세서리들에 속하는 패션-관련된 드로잉 컨텐츠의 신뢰성 있고 재현가능한 지각(perception)이 달성된다. 이것에 의하여, 지각은 시각적이고 3차원일 수도 있다. 또한, 지각은 예를 들어, 드로잉 컨텐츠를 생성할 때, 드레스 폼 객체를 포함하는 3D 공간의 서브세트(subset)와의 사용자의 물리적 상호작용에 또한 관련될 수도 있다.
이하에서 설명된 VR 공간은 브러시(brush)들, 직물 견본들, 컬러들(예컨대, 색상들), 패턴들, 커서들, 패널들, 캔버스 시뮬레이터(canvas simulator)들, 형상들, 표면들, 텍스처라이저(texturizer)들, 또는 다른 선택가능한 도구들을 포함하는 다수의 도구세트들(예컨대, 도구 팔레트들)과, 본원에서 설명된 드레스 폼 객체들 상에서 드로잉 컨텐츠를 생성하기 위하여 이용된 템플릿(template)들을 포함할 수 있다.
이 개시물의 전반에 걸쳐 설명된 드레스 폼 객체들은 3 차원들에서 생성될 수 있고, 예를 들어, 사용자 이동들 또는 요청들에 응답하여 다수의 축들 주위에서 이동가능할 수 있다. 다수의 축들은 3D 드로잉 평면 주위에서의 회전 또는 틸트(tilt)를 제공할 수 있다. 3D 드로잉 평면은 적어도 3 개의 축들 상에서 회전가능한 2 차원(2D) 그래픽에서 드레스 폼에 맞추어진 평면형 드로잉 가이드가 되도록 구성될 수도 있다. 사용자는 가이드에 의해 정의된 평면에서 드로잉하기 위하여 평면형 드로잉 가이드를 이용할 수도 있다. 사용자가 추가의 차원을 드레스 폼 객체 상에 도시된 드로잉 컨텐츠에 추가하는 것을 희망할 경우, 사용자는 이전의 드로잉 컨텐츠를 생성하기 위하여 이용된 평면 또는 평면들에서 이전의 드로잉 컨텐츠를 촉각적 및 가시적으로 두면서, 드레스 폼 객체 상에서 새로운 컨텐츠를 드로잉하기 시작하기 위하여 평면형 드로잉 가이드를 틸트하거나 회전시킬 수 있다.
일부 구현예들에서, 도구 팔레트들은, 데이터, 미술, 사진들, 모델들, 및/또는 증강 현실 컨텐츠(augmented reality content)를 표현하는 이미지들을 포함하지만, 이것으로 제한되지 않는 2D 또는 3D 객체들을 포함하는 기존 파일들을 임포팅(importing)하기 위한 메커니즘들을 포함할 수 있다. 하나의 비제한적인 예에서, 사용자는 객체들의 이미지들을 임포팅하기 위하여 하나 이상의 도구들을 액세스함으로써 VR 공간의 부분들을 주석처리(annotate)할 수도 있다. 도구 팔레트들에서의 도구들은 VR 공간에서 이미지들의 부분들을 드로잉하거나, 드래프팅(drafting)하거나, 페인팅하거나, 스크리블링(scribbling)하거나, 이동하거나, 조명(illuminating) 또는 음영처리(shadowing)하거나, 또는 그렇지 않을 경우에 생성하고 조작함으로써, 컨텐츠를 추가하거나 이미지들을 수정하기 위하여 이용될 수도 있다. 초기에 업로딩된 이미지들 및 사용자-수정된 이미지들은 임의의 적용된 수정들 또는 주석들의 적용 동안에 그리고 적용 후에 2 개 이상의 축들 주위에서 조작될 수 있다. 게다가, 이러한 이미지들은 원래의 또는 수정된/주석처리된 형태로 검토 및/또는 협업을 위하여 다른 사용자들과 공유될 수 있다. 일부 구현예들에서, VR 공간은 드레스 폼 객체들을 실시간으로 협업하고 주석처리하기 위하여 다수의 사용자들에 의해 이용될 수 있다.
이 개시물에서 설명된 특정한 구현예들은 사용자가 VR 공간에서 3 개의 차원들에서 드로잉하는 것을 가능하게 할 수도 있다. 사용자는 예를 들어, 제어기, 센서, 또는 모션 추적가능 디바이스와 연관된 커서를 제어하기 위하여 공중에서 드로잉함으로써 시작 및 종료 포인트들을 생성할 수 있다. 하나의 비제한적인 예에서, 사용자는 VR 공간에서의 부분들 또는 객체들이 (예컨대, 브러시 스트로크들, 다른 객체들, 주석들, 텍스처라이저들 등으로) 드로잉될 수 있도록, 입력 디바이스를 포인팅(pointing)하고 지시할 수 있다.
이하에서 설명된 시스템들은 사용자의 드로잉 모션들을 추적할 수 있고, 그 모션들에 기초하여 예술적 또는 주석처리된 컨텐츠를 생성할 수 있고, 컨텐츠가 생성되고 있는 x-y 평면 또는 y-z 평면(또는 다른 좌표계)을 컨텐츠 주위로 이동시키는 것을 제공할 수 있다. 예를 들어, 사용자는 모션 추적된 디바이스를 (사용자가 HMD 디바이스를 통해 그녀의 손들을 보여줄 수 있는) VR 공간으로 들어올릴 수 있다. 사용자는 (3D 공간에서 방위설정된) 선택된 표면 법선 상에서 드로잉/페인팅하기 시작할 수 있다. 또 다른 예에서, 사용자가 그녀의 신체를 둘러싸는 원을 드로잉하기 시작할 경우, 원은 사용자가 원을 드로잉하기 시작할 때에 모션 추적된 디바이스로부터 나타날 것이다. 모션 추적된 디바이스는 VR 공간에서 페인트브러시, 펜, 제어기, 또는 다른 선택된 도구로서 사용자에게 보여질 수도 있다. 그녀의 드로잉의 임의의 부분을 완료할 시에, 사용자는 또 다른 벡터 공간(예컨대, 또 다른 차원 또는 드로잉 평면)에서 드로잉을 시작하기 위하여 평면/표면 법선을 틸트할 수 있다. 하나의 예에서, 사용자는 드레스 폼 객체 상에서 스커트를 생성하기 위하여 다수의 직물 견본들을 드레스 폼 객체에 추가할 수 있다. 그 다음으로, 사용자는 직물 이동, 직물에 의해 생성된 음영들 및 광, 및 스커트의 전체적인 드레이프를 포함하지만, 이것으로 제한되지 않는 스커트의 양태들을 관측하기 위하여, 드레스 폼 객체를 이동시킬 수 있거나 드레스 폼 객체 주위로 이동할 수 있다. 사용자는 또한, 드레스 폼 객체를 틸트/이동시킴으로써 추가적인 드로잉들, 세부사항들, 또는 컨텐츠를 스커트에 추가할 수 있다.
일부 구현예들에서, 이 개시물에서 설명된 시스템들 및 방법들은 객체들을 VR 공간으로 임포팅하는 것을 제공할 수 있다. 예를 들어, 사용자는 객체들을, VR 애플리케이션을 호스팅하는 시스템으로 업로딩할 수 있다. VR 애플리케이션은 VR 공간에서의 디스플레이를 위한 객체들을 제공할 수 있다. 하나의 예에서, 사용자들은 특정한 신체 측정들로 구성된 드레스 폼 객체를 업로딩할 수 있다. 이러한 측정들은 사용자를 정확한 피규어 측정들을 갖는 현실적인 드레스 폼 객체로서 표현하기 위하여 이용될 수 있다.
일반적으로, VR 공간에서의 디스플레이는 사용자가 HMD 디바이스를 액세스함으로써 관측될 수 있다. 임포팅된 객체들은 VR 공간 내의 3 차원들에서 드로잉하기 시작하는 사용자를 위한 시각적 참조를 제공하기 위하여 이용될 수 있다. 객체들은 추적될 수 있거나, 또는 일부 구현예들에서, 객체에 대한 드로잉 또는 다른 표기를 재생성하기 위한 거리들 및 형상들을 판단할 수 있는 가이드로서 이용될 수 있다. 일부 구현예들에서, 사용자는 객체의 부분들을 주석처리하기 위하여 임포팅된 객체 상에서 드로잉할 수 있다. 일부 구현예들에서, 사용자는 객체 및 객체와 연관된 성질들을 수축시키거나, 증대시키거나, 늘이거나, 이동시키거나, 선회시키거나, 틸트하거나, 또는 그렇지 않을 경우에 조작함으로써 객체를 수정할 수 있다. 일부 구현예들에서, 임포팅된 객체들은 2D 또는 3D일 수도 있고, 3D 모델들, 스캔들, 메시 모델(mesh model)들, 심도 모음(depth collage)들 등을 포함할 수 있다. 임포팅된 이미지들은, CAD 파일, jpeg 파일, png, 비트맵 파일(bitmap file), 또는 다른 파일 타입을 포함하지만, 이것으로 제한되지 않는 임의의 디스플레이가능한 파일 타입을 포함할 수 있다. 일부 구현예들에서, 사용자는 VR 공간 내에서 생성되거나, 수정되거나, 또는 그렇지 않을 경우에 변경된 이미지들을 익스포팅(exporting)할 수 있다.
일부 구현예들에서, 사용자/예술가는 이 개시물에서 설명된 시스템들 및 방법들을, 선택가능한 직물들, 컬러 팔레트들, 패턴들, 및 브러시들/드로잉 도구들을 이용하여 패션-관련된 드로잉들을 드로잉하기 위한 스케치패드(sketchpad)로서 사용할 수 있다. 생성된 드로잉들은 더 이후의 시간에 애니메이팅될 수 있고, 공유될 수 있고, 인쇄될 수 있고, 수정될 수 있고, 그렇지 않을 경우에 디지털로 액세스될 수 있다.
사용자가 3 차원 드로잉들을 생성할 수 있는 환경을 생성하는 것은 VR 공간 내부에 있는 동안의 3 차원 객체들 및 컨텐츠, VR 공간 내부에 있는 동안의 컬러 표현 및 선택을 제어하고, 그래픽 사용자 인터페이스들을 생성하고, 애니메이션을 위한 프레임들을 시퀀싱(sequencing)하고, 현존하는 3 차원 가상적 객체들을 증강(augment)시키고, VR 공간에 있는 동안의 사용자의 신체를 표현하고, 사용자들 사이에서 협업하고 VR 공간 내부에 있는 동안에 관전하기 위한 방법들을 포함할 수 있다.
비제한적인 예에서, 사용자는 샘플 스케치들을 관측할 수 있고, 컨텐츠/스케치들을 드로잉할 수 있고, 애니메이팅된 .gif로부터 스케치들을 임포팅할 수 있거나 스케치들을 .gif로 익스포팅할 수 있다. 일 예의 제어들은 포인터(pointer)를 이동시키기 위하여 키보드, 마우스, 3D 제어기, 또는 그 임의의 조합을 이용하는 것을 포함할 수도 있다. 포인터는 VR 공간에서 도시된 스케치 도구 하에서 영역을 표현할 수도 있다. 예를 들어, 포인터는 스케치가 생성되고 있는 영역을 표현할 수도 있다. 일 예의 마우스 모션들은 드로잉하기 위하여 좌측 마우스 클릭(click)을 이용하는 것, VR 공간 x-y 평면을 따라 패닝(panning)하기 위하여 중간 마우스 클릭을 이용하는 것, 세계 z-축을 따라 패닝하기 위하여 우측 마우스 클릭을 이용하는 것, 및 포인터를 스케칭 표면의 중심으로 재설정하기 위하여 더블 클릭 중간 마우스 버튼을 이용하는 것을 포함할 수 있다.
VR 공간에서 컨텐츠를 제어할 수 있는 일 예의 키보드 키들은 스케칭 표면을 회전시키기 위하여 제어 키를 유지하는 것, 롤 축(roll axis)을 따라 스케칭 표면을 회전시키기 위하여 제어 키 및 좌측 마우스 버튼을 유지하는 것, 스케칭 표면을 카메라에 록킹(locking)하기 위하여 시프트 키(shift key)를 유지하는 것, 스케칭 표면 상에서 격자 록킹된 모드(grid locked mode)를 토글(toggle)하기 위하여 캡스 록 키(caps lock key)를 이용하는 것, 브러시 크기를 조절하기 위하여 탭 키(tab key)를 유지하는 것, 스케칭 표면을 장면의 중심으로 재설정하기 위하여 스페이스바(spacebar)를 누르는 것, 스케칭 표면 방위를 재설정하기 위하여 제어 키를 더블 탭(double tap)하는 것, 스트로크(stroke) 또는 액션을 취소하기 위하여 (z) 키를 선택하는 것, 스트로크 또는 액션을 다시 행하기 위하여 (x) 키를 누르는 것을 포함한다. 이러한 제어들은 또한, 특정한 표면 또는 객체가 록킹되어 있는 동안에 VR 공간에서 표면 또는 객체를 변환하도록 구성될 수 있다.
게다가, 본원에서 설명된 시스템들 및 방법들은 사용자 및 사용자에 의해 착용되고 있는 HMD 디바이스와 연관된 헤드 틸트 거동(head tilt behavior) 및/또는 눈 응시 거동(eye gaze behavior)과 같은 이동들을 검출하고 이에 대해 반응하도록 구성될 수 있다. 시스템들 및 방법들은 3D 공간에서 기하학적 컨텐츠를 드로잉하기 위하여 생성된 특정한 도구 팔레트들 및 드레스 폼들을 검출하고 이에 따라 이에 대해 반응하기 위하여 이용될 수 있다.
도 1은 사용자가 드레스 폼 피규어 상에서 3 차원 드로잉들을 생성할 수 있는 3 차원 가상 현실 환경(예컨대, VR 공간)을 제공하기 위한 일 예의 시스템(100)의 블록도이다.
일반적으로, 시스템(100)은 사용자가 본원에서 설명된 방법들, 컴포넌트들, 및 기법들을 이용하여 액세스하고, 관측하고, 상호작용하기 위한 3D VR 공간, 드로잉 도구들/팔레트들, 객체들(예컨대, 드레스 폼 객체들), 및 VR 컨텐츠를 제공할 수도 있다. 특히, 시스템(100)은 눈 응시, 손 제스처(hand gesture)들, 헤드 이동들, 및/또는 VR 공간 내에서의 다른 사용자-기반 이동들을 이용하여 이미지들, 컨텐츠, 가상적 객체들, 및 VR 제어들을 액세스하기 위한 옵션들을 사용자에게 제공할 수 있다. 예를 들어, 사용자는 2D 및 3D 입력 디바이스들, 및 드로잉들 또는 다른 VR 객체들 상에서 예술적 드로잉들 또는 주석들을 생성하도록 구성된 도구들을 이용하여 이러한 드로잉들과 상호작용할 수 있다.
도 1에서 도시된 바와 같이, 일 예의 시스템(100)은 네트워크(101) 상에서 데이터를 교환할 수 있는 복수의 컴퓨팅 디바이스들을 포함한다. 디바이스들은 클라이언트들 또는 서버들을 표현할 수도 있고, 네트워크(101) 또는 다른 네트워크를 통해 통신할 수 있다. 클라이언트 디바이스들은 VR 컨텐츠를 액세스하기 위하여 이용될 수도 있는 이동 디바이스, 전자 태블릿, 랩톱, 카메라, 게임 제어기, VR 안경들 또는 HMD 디바이스, 또는 다른 이러한 전자 디바이스를 포함할 수도 있다.
일 예의 시스템(100)은 이동 디바이스(102), 게임 제어기(103), 랩톱 컴퓨팅 디바이스(104), 헤드 장착형 디스플레이(HMD) 디바이스(106), 및 VR 드로잉 시스템(108)을 포함한다. 디바이스들(102, 103, 104, 및 106)은 클라이언트 디바이스들을 표현할 수도 있다. 이동 디바이스(102), 게임 제어기(103), 랩톱(104), 및 HMD 디바이스(106)는 하나 이상의 프로세서들 및 하나 이상의 메모리 디바이스들을 포함할 수 있다. 디바이스들(102 내지 106)은 클라이언트 오퍼레이팅 시스템과, 각각의 개개의 디바이스 내에 포함된 디스플레이 디바이스 상에서 VR 컨텐츠를 액세스할 수 있고, 제어할 수 있고, 및/또는 디스플레이할 수 있는 하나 이상의 클라이언트 애플리케이션들을 실행할 수 있다. VR 드로잉 시스템(108)은 서버 디바이스를 표현할 수도 있다. 일반적으로, VR 드로잉 시스템(108)은, 이미지들, 객체들, 컨텐츠, 및/또는 가상 현실 장면들 및 컨텐츠의 디스플레이를 생성할 수 있거나, 수정할 수 있거나, 실행할 수 있는 가상 현실 소프트웨어 모듈들을 저장하는 임의의 수의 저장소들을 포함할 수도 있다.
HMD 디바이스(106)는 가상 현실 컨텐츠를 디스플레이할 수 있는 가상 현실 헤드셋, 안경, 접안렌즈(eyepiece), 또는 다른 웨어러블 디바이스를 표현할 수도 있다. 동작 시에, HMD 디바이스(106)는, 수신된 및/또는 프로세싱된 이미지들을 사용자에게 재생할 수 있는 VR 애플리케이션(110)을 실행할 수 있다. 일부 구현예들에서, VR 애플리케이션(110)은 도 1에서 도시된 디바이스들(102, 103, 104, 106, 또는 108) 중의 하나 이상에 의해 호스팅될 수 있거나 이와 인터페이싱될 수 있다.
일부 구현예들에서, 이동 디바이스(102)는 HMD 디바이스(106) 내에 배치될 수 있고 및/또는 위치결정될 수 있다. 이동 디바이스(102)는 HMD 디바이스(106)를 위한 스크린으로서 이용될 수 있는 디스플레이 디바이스를 포함할 수 있다. 이동 디바이스(102)는 VR 애플리케이션(110)을 실행하기 위한 하드웨어 및/똔느 소프트웨어를 포함할 수 있다.
추가적인 디바이스들이 가능하고, 이러한 디바이스들은 서로 치환되도록 구성될 수도 있다. 일부 구현예들에서, 디바이스들(102, 103, 104, 106, 및 108)은, 네트워크(101)를 이용하여 다른 컴퓨팅 디바이스들 또는 컴퓨터 시스템들과 통신할 수 있는 랩톱 또는 데스크톱 컴퓨터들, 스마트폰들, 개인 정보 단말(personal digital assistant)들, 휴대용 미디어 플레이어(portable media player)들, 태블릿 컴퓨터들, 게이밍 디바이스들, 또는 다른 적절한 컴퓨팅 디바이스들일 수 있다.
일 예의 시스템(100)에서, VR 드로잉 시스템(108)은 VR 애플리케이션(110)을 포함할 수 있다. VR 애플리케이션(110)은 디바이스들(102, 103, 104, 106, 및 108) 중의 임의의 것 또는 전부 상에서 실행되거나 이에 인터페이싱하도록 구성될 수 있다. HMD 디바이스(106)는 예를 들어, VR 드로잉 시스템(108) 상에서 VR 컨텐츠를 액세스하기 위하여 디바이스(102), 디바이스(103), 또는 디바이스(104)에 접속될 수 있다. 디바이스들(102 내지 104)은 HMD 디바이스(106)에 (유선 또는 무선으로) 접속될 수 있고, 이것은 디스플레이 및 대화형 드로잉을 위한 VR 컨텐츠를 제공할 수 있다.
HMD 디바이스가 디바이스들(102 내지 104)에 무선으로 접속될 경우에, 접속은 본원에서 설명된 고속 무선 통신 프로토콜들 중의 하나 이상의 이용을 포함할 수도 있다. HMD 디바이스(106)가 디바이스들(102 내지 104)에 배선연결될 경우에, 유선 접속은 디바이스들(102 내지 104)로 플러깅(plugging)하기 위한 어느 하나의 종단 상에서 적절한 커넥터를 갖는 케이블을 포함할 수 있다. 예를 들어, 케이블은 양자의 종단들 상에서 유니버셜 직렬 버스(Universal Serial Bus: USB) 커넥터를 포함할 수 있다. USB 커넥터들은 동일한 USB 타입 커넥터일 수 있거나, USB 커넥터들은 각각 상이한 타입의 USB 커넥터일 수 있다. 다양한 타입들의 USB 커넥터들은 USB A-타입 커넥터들, USB B-타입 커넥터들, 마이크로-USB A 커넥터들, 마이크로-USB B 커넥터들, 마이크로-USB AB 커넥터들, USB 5 핀 미니-b 커넥터들, USB 4 핀 미니-b 커넥터들, USB 3.0 A-타입 커넥터들, USB 3.0 B-타입 커넥터들, USB 3.0 마이크로 B 커넥터들, 및 USB C-타입 커넥터들을 포함할 수 있지만, 이것으로 제한되지 않는다. 유사하게, 유선 접속은 HMD 디바이스(106) 및 디바이스들(102 내지 104)로 플러깅하기 위한 어느 하나의 종단 상에서 적절한 커넥터를 갖는 케이블을 포함할 수 있다. 예를 들어, 케이블은 양자의 종단들 상에서 유니버셜 직렬 버스(USB) 커넥터를 포함할 수 있다. USB 커넥터들은 동일한 USB 타입 커넥터일 수 있거나, USB 커넥터들은 각각 상이한 타입의 USB 커넥터일 수 있다.
일부 구현예들에서, 하나 이상의 컨텐츠/드로잉 서버들(예컨대, VR 드로잉 시스템(108)) 및 하나 이상의 컴퓨터-판독가능 저장 디바이스들은 VR 컨텐츠 및 선택가능한 드로잉 도구들을 디바이스들(102 내지 106)에 제공하기 위하여 네트워크(101)를 이용하여 컴퓨팅 디바이스들(102 또는 104)과 통신할 수 있다. 일부 구현예들에서, 네트워크(101)는 공중 통신 네트워크(예컨대, 인터넷, 셀룰러 데이터 네트워크, 전화 네트워크 상의 다이얼업 모뎀(dialup modem)들) 또는 사설 통신 네트워크(예컨대, 사설 LAN, 전용 회선들)일 수 있다. 일부 구현예들에서, 컴퓨팅 디바이스들(102 내지 108)은 하나 이상의 고속 유선 및/또는 무선 통신 프로토콜들(예컨대, 802.11 변형들, WiFi, 블루투스(Bluetooth), 송신 제어 프로토콜/인터넷 프로토콜(Transmission Control Protocol/Internet Protocol: TCP/IP), 이더넷(Ethernet), IEEE 802.3 등)을 이용하여 네트워크(101)와 통신할 수 있다.
일부 구현예들에서, 이동 디바이스(102)는 VR 애플리케이션(110)을 실행할 수 있고, 컨텐츠 및 드로잉 능력들을 VR 공간을 액세스하는 사용자에게 제공할 수 있다. 일부 구현예들에서, 랩톱 컴퓨팅 디바이스(104)는 VR 애플리케이션(110)을 실행할 수 있고, 그래픽 사용자 인터페이스(140)에서의 예에 의해 도시된 바와 같이, 컨텐츠 및 드로잉 능력들을 VR 공간을 액세스하는 사용자에게 제공할 수 있다. 하나 이상의 서버들 및 하나 이상의 컴퓨터-판독가능 저장 디바이스들은 HMD 디바이스(106)에서의 디스플레이를 위한 컨텐츠 및 드로잉 능력들을 제공하기 위하여, 네트워크(101)를 이용하여 이동 디바이스(102) 및/또는 랩톱 컴퓨팅 디바이스(104)와 통신할 수 있다.
VR 드로잉 시스템(108)은 VR 공간 내에서의 사용자 위치 및 모션을 추적할뿐만 아니라, 드로잉 컨텐츠를 추적하도록 구성될 수 있는 이동 추적 모듈(112)을 포함한다. 예를 들어, 이동 추적 모듈(112)은 특히, 드로잉 컨텐츠 및 브러시 스트로크들을 생성하기 위하여 입력 디바이스들의 사용자 이동을 결정하기 위한 기하학적 개념을 채용할 수 있다. 기하학적 개념은 쿼드(quad)로서 설명된다. 쿼드는 다면체 객체를 정의하는 정점(vertex)들, 에지(edge)들, 및 면들을 포함하는 다각형 메시(polygon mesh)를 표현할 수도 있다. 생성되고 있는 객체/드로잉 컨텐츠의 면들은 사각형일 수도 있다. 일부 구현예들에서, 생성되고 있는 드로잉 컨텐츠의 면들은 삼각형 또는 다른 볼록한 다각형 형상일 수도 있다. 쿼드들은 쿼드 생성기(도시되지 않음)에 의해 생성될 수 있고 조작될 수 있다. 쿼드 생성기는 가상 현실 환경 내에서 위치 정보를 추적하기 위한 삼각형 기하구조들을 생성하도록 구성될 수도 있다. 위치 정보는 3 차원 입력 디바이스에 대한 초기 입력 로케이션 및 현재의 입력 로케이션에 대응할 수도 있다. 삼각형 기하구조들은 3 차원 입력 디바이스가 이동될 때마다 생성될 수도 있다. 쿼드 생성기는 가상 현실 환경에서 드로잉 컨텐츠를 생성하기 위하여 조합되도록 구비되는 삼각형 기하구조들을 생성할 수 있다. 드로잉 컨텐츠는 사용자-선택된 텍스처, 컬러, 직물, 조명, 및/또는 셰이딩(shading)으로 구성될 수 있다.
쿼드들은 (예컨대, 브러시 선단부 또는 입력 메커니즘 위치로서 표현된) 포인터 객체에 대한 위치 정보를 정의하기 위하여 이용될 수 있는 적어도 2 개의 삼각형 기하구조들(즉, 삼각형들)을 포함할 수 있다. 삼각형 기하구조들은 가상 현실 환경에서 표현된, 커서에 대한 3 차원 시작 포인트, 및 커서에 대한 3 차원 종료 포인트를 정의하는 적어도 2 개의 삼각형들을 포함한다. 위치 정보는 시작 포인터 로케이션 및 현재의 포인터 로케이션을 포함할 수 있다. 사용자가 3D 공간에서 포인터 객체를 주위로 이동시킬 때, 시스템(100)은 쿼드, 및 쿼드에 대응하는 위치 정보를 생성할 수 있다. 쿼드를 정의하는 삼각형들 중의 하나 또는 양자의 법선은 순방향 벡터(forward vector)를 정의하기 위하여 이용될 수 있다. 즉, 포인터 객체의 법선은 쿼드에서 제 1 삼각형의 법선을 표현한다. 유사하게, 현재의 위치에서의 포인터 객체의 법선은 제 2 삼각형의 법선을 표현한다. 올바른 벡터는 2 개의 법선들의 외적(cross product)을 수행함으로써 획득될 수 있다. 사용자가 행하는 각각의 이동은 쿼드들을 생성하기 위하여 이용될 수 있고, 각각의 쿼드는 평탄한 브러시스트로크(예컨대, 컬러의 리본, 텍스처, 라인 드로잉, 또는 VR 공간에서 3D 드로잉 컨텐츠를 생성할 때에 사용자 이동을 표현하는 다른 객체 또는 아티팩트(artifact))를 생성하기 위하여 함께 스티칭(stitching)될 수 있거나 첨부될 수 있다.
쿼드의 겉보기(look)는 텍스처, 재료, 컬러, 및 셰이드(shade) 또는 휘도에 의해 정의될 수 있다. 텍스처는 재료의 성질이고, 재료는 브러시마다 고유하고 텍스처가 VR 공간(예컨대, 장면)에서의 조명에 대하여 가질 수도 있는 거동을 정의하도록 기능한다. 쿼드의 컬러는 정점마다 설정되고, 이하에서 상세하게 설명된 바와 같이, 사용자에 의해 정의된다. 셰이드는 쿼드의 겉보기를 수정하기 위하여 VR 공간으로부터의 다양한 입력들을 이용하여 쿼드에 적용될 수 있다. 셰이드에 영향을 줄 수 있는 입력들은 이하에서 상세하게 설명된 바와 같이, 컬러, 시간, 오디오 입력, 세계 공간 위치, 모델 공간 위치, 및/광/휘도 값들을 포함한다.
일부 구현예들에서, 본원에서 이용된 바와 같은 재료는 직물 및 직물의 성질들(예컨대, 직물 중량, 직물 드레이프, 및 직물 전단 복원)에 속할 수도 있다. 성질들은 특정한 쿼드들의 겉보기 및 이동을 결정하기 위하여 이용될 수 있다. 이동 추적 모듈(112)은 본원에서 설명된 드레스 폼 객체들 상에서 배치/드로잉될 때에 직물의 표현들의 현실적인 3D 이동을 시뮬레이팅하기 위하여 직물의 직물 중량, 직물 드레이프, 및 직물 전단 복원을 시뮬레이팅할 수 있는 직물 이동 시뮬레이터(114)를 포함한다. 직물 이동 시뮬레이터(114)는 사용자가 VR 공간에서 드레스 폼 객체(118) 상에 또는 그 근처에 배치할 수 있는 직물의 브러시스트로크들로의 적용을 위한 직물 데이터를 액세스하기 위하여 다수의 직물 데이터베이스들을 액세스할 수 있다. 하나의 예에서, 직물 이동 시뮬레이터(114)는 사용자-선택된 직물과 연관된 직물 중량 정보를 획득함으로써 직물 이동을 시뮬레이팅할 수 있다. 시뮬레이터(114)는 사용자와 연관된 적어도 하나의 입력 디바이스로부터, 본원에서 설명된 드레스 폼 객체들과 연관된 (1) 사용자 이동 방향 및 (2) 힘 정보를 획득할 수 있다. 그 다음으로, 직물 이동 시뮬레이터(114)는 직물 중량 및 힘에 기초한 속력으로 직물의 적어도 부분을 이동시킬 수 있다. 예를 들어, 시뮬레이터(114)는 (예컨대, 시간 및 거리에 속하는) 사용자 이동들, 직물 성질들, 및 드레스 폼 객체 이동들에 대한 전형적인 힘들을 계산할 수 있고, 특정한 조합에 대한 이동의 문턱 레벨을 선택할 수 있다. 시뮬레이팅된 이동들은 드레스 폼 객체가 제 2 및 반대의 방향으로 이동하고 있는 것으로 결정하는 것에 응답하여 제 1 방향에서 생성될 수도 있고 디스플레이될 수도 있다. 즉, 사용자가 드레스 폼 객체를 우측으로 비틀 경우, 드레이프된 직물은 특정한 계산가능한 양만큼 좌측으로 시프트할 수도 있거나 흔들릴 수도 있다. 이것은 드레이프된 직물인 3 차원 기하학적 컨텐츠의 시각적 지각 및 이것과의 상호작용이 VR 공간에서 몰입된 사용자를 위하여 더욱 현실적일 수 있다는 효과를 가진다.
일반적으로, 직물의 중량은 직물의 무거움, 두께, 또는 전단력(sheerness)에 속할 수도 있다. 일반적으로, 중량은 배치될 때, 예를 들어, 드레스 폼 객체 상에서의 직물에서의 응력 포인트(stress point)에서 나타나는 접힘(fold)들(예컨대, 주름(wrinkle)들)의 관찰된 수에 의해 표시될 수 있다. 이 접힘들은 직물이 드레스 폼 상에서 또는 드레스 폼에서 놓일 때에 일관되게 관찰될 수도 있다. 일반적으로, 중량에 있어서 더 무거운 직물은 더 작거나 더 적은 주름들을 가지는 것으로 보일 수도 있다. 중량에 있어서 더 가벼운 직물은 다수의 또는 더 큰 주름들을 가지는 것으로 보일 수도 있다. 직물 이동 시뮬레이터는 특정한 직물이 그 위에 배치된 드레스 폼을 이동시킬 시에 직물 중량을 시뮬레이팅할 수 있다. 예를 들어, X는 예를 들어, 사용자가 드레스 폼을 선회시키는 것에 응답하여, 이동하는 드레스 폼의 반대 방향으로 직물을 약간 흔드는 것에 의해 무거운 직물을 시뮬레이팅할 수 있다. 유사하게, X는 예를 들어, 사용자가 드레스 폼을 선회시키는 것에 응답하여, 이동하는 드레스 폼의 반대 방향으로 직물을 급속하게 흔드는 것에 의해 가벼운 직물을 시뮬레이팅할 수 있다.
직물의 드레이프는 직물이 그 자신의 중량에서 걸려 있는 방법에 속할 수도 있다. 직물의 드레이프는 직물이 견본들 또는 의류에서든지 간에, 개인 또는 드레스 폼 상에 배치될 때에 도시된다. 니트형 직물(knitted fabric)들은 상대적으로 헐렁할 수도 있고, 그것들로 이루어진 의복들은 신체 또는 드레스 폼 윤곽들을 따르는 경향이 있을 수도 있다. 직조형 직물(woven fabric)들은 니트형 직물들과 비교할 때에 상대적으로 뻣뻣할 수도 있어서, 그것들은 직물이 신체 또는 드레스 폼으로부터 멀어지게 걸려 있는 맞춤형 의류에서 이용되고 윤곽들을 숨기는 경향이 있을 수도 있다. 직물 드레이프는, 굴곡, 전달, 성형가능성, 직물 중량, 및 두께를 포함하지만, 이것으로 제한되지 않는 직물과 연관된 기계적 성질들에 전형적으로 관련된다.
직물의 전단 복원은 직물에 대한 응력-변형 곡선(stress-strain curve)들을 분석함으로써 결정될 수 있다. 직물이 예를 들어, 낮은 레벨들의 변형에서 훼손될 경우, 전단 강성(shear stiffness)은 초기에 클 수도 있고 증가하는 변형과 함께 감소할 수도 있다. 직물 이동 시뮬레이터(114)는 직물들의 특정한 표현들이 본원에서 설명된 드레스 폼 객체들 상에서 드로잉될 때에 현실적인 이동을 도시하기 위하여 직물에 대한 특정한 전단 응력들 및 복원을 시뮬레이팅할 수 있다. 예를 들어, 직물 이동 시뮬레이터(114)는 직물을 본원에서 설명된 드레스 폼 객체들에 부착할 때에 사용자에 의해 설정된 중량, 드레이프, 및/또는 장력(tension)에 따라 특정한 직물의 전단 거동을 시뮬레이팅할 수도 있다.
도 1에서 도시된 바와 같이, 이동 추적 모듈(112)은 또한, 적어도 3 개의 축들 상에서 회전가능한 2 차원(2D) 그래픽에서 드레스 폼 객체(120)에 맞추어진 평면형 드로잉 가이드(118)와 같은 평면형 드로잉 가이드들을 생성하도록 구성된 드로잉 가이드 생성기(116)를 포함한다. 사용자는 평면형 드로잉 가이드(118)에 의해 정의된 평면에서 드로잉할 수 있다. 사용자가 추가의 차원을 드레스 폼 객체(120) 상에 도시된 드로잉 컨텐츠에 추가하는 것을 희망할 경우, 사용자는 이전의 드로잉 컨텐츠를 생성하기 위하여 이용된 평면 또는 평면들에서 이전의 드로잉 컨텐츠를 촉각적 및 가시적으로 두면서, 드레스 폼 객체(120) 상에서 새로운 컨텐츠를 드로잉하기 시작하기 위하여 평면형 드로잉 가이드(118)를 틸트하거나 회전시킬 수 있다.
일부 구현예들에서, 평면형 드로잉 가이드(118)는 3D 공간에서 수학적, 2D, 또는 3D 평면을 표현할 수도 있다. 평면형 드로잉 가이드(118)의 목적은 사용자로부터의 상호작용들을 3D 공간의 서브세트로 구속하기 위한 것이다. 평면형 드로잉 가이드(118)는 사용자가 드로잉하기 위한 적어도 2 개의 차원들을 선택할 수 있는 방법으로 3D 뷰를 제공할 수 있다. 평면형 드로잉 가이드(118)의 개념은 VR 공간 내에서의 임의의 형상 또는 크기로 일반화될 수 있다. 예를 들어, 직사각형 평면 대신에, 평면형 드로잉 가이드(118)의 형상은 구(sphere), 정육면체, 또는 대칭적 또는 비대칭적 다각형들을 포함하는 복잡한 형상일 수 있다. 평면형 드로잉 가이드(118)는 사용자의 용이함을 위하여 VR 공간과의 상호작용의 범위를 제한할 수도 있다.
일부 구현예들에서, 이동 추적 모듈(112)은 헤드 추적을 위한 능력을 포함할 수 있다. 예를 들어, HMD 디바이스(106)는 사용자의 헤드가 이동하고 있는 방향들을 결정할 수 있다. 사용자는 어느 도구를 선택할 것인지, 어느 패널을 액세스할 것인지, 및/또는 어느 다른 기능성을 호출하거나 철회할 것인지를 표시하기 위하여 그녀의 헤드를 끄덕일 수 있거나, 선회할 수 있거나, 틸트할 수 있다.
일부 구현예들에서, 이동 추적 모듈(112)은 또한, 응시 추적을 위한 능력을 포함할 수도 있다. 응시 추적은 사용자가 VR 공간에 있는 동안에 사용자와 연관된 응시/눈 이동을 검출하기 위하여, 하나 이상의 센서들, 컴퓨팅 시스템들, 카메라들, 및/또는 제어들과 인터페이싱할 수 있다. 하나 이상의 센서들, 컴퓨팅 시스템들, 카메라들, 및/또는 제어들은 예를 들어, HMD 디바이스(106) 내에 하우징될 수도 있다. 응시 추적은 사용자의 눈 응시의 방향을 추적할 수 있거나 모니터링할 수 있다(즉, 사용자가 어디/어느 방향을 보고 있는지를 추적하거나 모니터링함). 일반적으로, 응시 추적은 정의된 좌표계에 대하여 하나의 눈 또는 양쪽 눈들의 방위 및 로케이션의 양자를 추적하는 것을 포함할 수도 있다.
VR 드로잉 시스템(108)의 동작 시에, 사용자는 (예컨대, 그래픽 사용자 인터페이스에서의 포인터 객체와 같은) 입력 디바이스를 제어하고 있다. 포인터 객체가 활성화될 때, 시스템(108)은 포인터 객체 위치를 레코딩할 수 있다. 포인터 객체가 이동함에 따라, 시스템(108)은 이전에 레코딩된 포인터 객체 위치로부터의 차이를 측정할 수 있고, 포인터 객체가 사용자에 의해 이용되는 것에 응답하여 새로운 쿼드를 생성할 수 있다. 생성된 새로운 쿼드는 포인트들 사이의 거리, 쿼드 법선과 순방향인 포인터, 및 우측 벡터를 정의하는 그 2 개의 외적에 의해 정의된 순방향 벡터로, 2 개의 삼각형들로 표현될 수도 있다. 쿼드의 폭은 사용자에 의해 제어될 수도 있는 현재의 브러시 크기에 의해 승산된 우측 벡터에 의해 정의될 수도 있다.
일부 구현예들에서, 그리고 어떤 브러시 타입들에 대하여, 시스템(108)은 평탄한 리본 효과를 생성하기 위하여 쿼드들을 함께 스티칭할 수 있다. 쿼드들을 함께 스티칭하는 것은 이전의 쿼드의 선두 에지(leading edge)를 현재의 쿼드의 후미 에지(trailing edge)와 정합하는 것을 포함할 수도 있다. 중점 수학적 계산들은 쿼드 삼각형들이 다른 쿼드 삼각형들 상에서 접히지 않는다는 것을 보장하기 위하여 이용될 수 있다. 게다가, 2 개의 순차적인 쿼드들의 순방향 벡터들의 내적(dot product)이 스칼라(scalar)에 의해 승산된 벡터 크기에 관한 양보다 더 클 경우, 시스템(108)은 리본의 파손을 트리거링할 수 있고, 이것은 쿼드들의 새로운 시퀀스를 시작할 수 있다. 일부 구현예들에서, 평탄화 알고리즘들은 리본들/브러시스트로크들에 대한 일관된 겉보기를 생성하기 위하여 순차적인 쿼드들의 법선들에 적용될 수 있다.
일부 구현예들에서, 시스템(108)은 쿼드들을 함께 스티칭하지 않을 수도 있고, 그 대신에, 랜덤 방위들을 순방향 벡터에 배정할 수도 있고, 이것은 분사 페인트 효과를 생성하도록 기능할 수 있다. 이러한 효과는 브러시 도구 팔레트로부터 선택될 수 있는 입자 브러시들과 연관될 수도 있다. 하나의 예에서, 쿼드들을 생성하고 스티칭하는 대신에, 시스템(108)은 빌보드 스트라이프(billboard stripe)들을 생성할 수 있다.
도 1에서 도시된 바와 같이, VR 드로잉 시스템(108)은 또한, 색상들(124), 브러시들(126), 직물 견본들(128), 및 패턴들(130)을 포함하지만, 이것으로 제한되지 않는 도구 팔레트들(122)을 포함한다. VR 애플리케이션(110)은 VR 공간 내에서 다수의 도구 팔레트들(122)을 제공할 수 있다. 도구 팔레트들(122)은 VR 공간에서 2D 또는 3D 대화형 메뉴들로서 표현될 수도 있다. 하나의 예에서, 도구 팔레트들(122)은 다수의 사용자-선택가능한 제어들 또는 컨텐츠를 포함할 수 있는 3D 객체들이다. 도구 팔레트들(122)은 VR 공간에서 컨텐츠에 고정될 수도 있거나, VR 공간에서 부유(floating)하고 사용자 선택들을 수신할 준비가 된 것으로 보일 수도 있거나, 시각적 안내를 간단하게 제공할 수도 있다. 일부 구현예들에서, 패널들은 사용자로부터의 헤드 또는 눈 이동을 트리거링할 수 있는 이용가능한 도구들, 드로잉 평면들, 포인터 로케이션들, 또는 다른 표시자들을 표시하기 위하여 점등할 수도 있다.
도구 팔레트들(122)은 3 차원 공간에서 3 차원 정육면체로서 표현된 적어도 하나의 컬러 팔레트 메뉴를 VR 공간에서 제공하도록 구성된 3 차원 도구 팔레트를 표현할 수도 있는, 색상들(124)을 포함하는 컬러 패널을 포함할 수도 있다. 정육면체는 상이한 색상들(124)의 수에 대한 강도를 표현하는 공간들의 단면을 포함하는 2 차원 포화 영역을 포함할 수도 있다. 강도는 각각의 색상이 백색과 상이한 정도를 정의할 수도 있다. 강도는 수치적으로, 그래픽으로, 텍스트로, 또는 양자로 도시될 수도 있다. 정육면체는 또한, 선택가능한 색상들을 포함하는 1 차원 색상 영역을 포함한다. 색상들 중의 하나의 선택 시에, 컬러 패널은 3 차원 정육면체에서의 선택된 색상들 중의 적어도 하나의 위치를 반영하기 위하여 2 차원 포화 영역을 자동으로 조절할 수도 있다.
도구 팔레트들(122)은 브러시들(126)을 포함한다. 브러시들(126)은 VR 애플리케이션(110)에서 드로잉들, 객체들, 및/또는 컨텐츠를 생성하기 위하여 이용된 임의의 도구에 적용할 수 있다. 브러시는 브러시와 연관된 재료 및 셰이더(shader)에 의해 정의될 수도 있다. 재료는 재료의 특정한 텍스처링된 표현들을 적용하는 텍스처라이징 양태를 임의적으로 포함할 수 있다. 브러시 컬러는 일반적으로 사용자에 의해 선택된다.
다음의 표들은 브러시를 선택하거나 브러시 크기를 조절하기 위하여 포인트를 이용하여 VR 공간에서 액세스될 수 있는 다수의 브러시 패널 및 드로잉 패널 옵션들 및 효과들을 설명한다.
브러시 패널 효과
잉크 카메라와 항상 대면하는 텍스처링된 라인들
줄무늬 잉크 카메라와 항상 대면하는 텍스처링된 라인들
연필 카메라와 항상 대면하는 얇은 라인들
부가 잉크 부가 컬러 성질들을 이용하여, 카메라와 항상 대면하는 텍스처링된 라인들
평평한 브러시 평평한 방위설정된 페인트 쿼드들
거친 브러시 텍스처링된 방위설정된 페인트 쿼드들
스플래터 브러시 텍스처링된 방위설정된 페인트 쿼드들
정사각형 브러시 평평한 방위설정된 페인트 쿼드들
별 브러시 별 입자들을 생성
연기 브러시 연기 입자들을 생성
파편 브러시 예리한 각도의 입자들을 생성
광 브러시 카메라와 항상 대면하고 광을 방출하는 평평한 라인들
표 1: 브러시 패널 옵션들
드로잉 옵션들
패널
응답
새로운 스케치 장면 소거
샘플 스케치 1
샘플 스케치 2
샘플 스케치 3
일 예의 스케치들을 도시하기 위하여 장면들을 테스트
장면 광들 섀도우 캐스팅을 위하여 2 차원 광들을 이용
주변 광들 오직 플래그, 백색 주변 광을 이용
광들 없음 광 브러시 스트로크들을 강조표시하기 위하여 조명을 디스에이블
언록킹된 회전 Ctrl 키와 함께 자유 회전
요(Yaw) 단독 회전 회전은 스케칭 표면 상에서 요 축에 록킹됨
피치 단독 회전 회전은 스케칭 표면 상에서 피치 축에 록킹됨
롤 단독 회전 회전은 스케징 표면 상에서 롤 축에 록킹됨
취소 최후 브러시 마크를 취소
다시 행함 최후 취소된 브러시 마크를 다시 행함
토글 격자 록 스케칭 표면 상에서의 토글들 격자 록킹된 모드
자동-방위설정 마우스 상의 '상부'가 스케칭 표면 상의 '상부'인 것을 보장하기 위하여 회전 후에 스케칭 표면의 방위를 자동으로 조절함
자동-Gif 현재의 장면의 애니메이팅된 .gif 파일을 익스포팅. 익스포팅된 .gif의 초점은 스케칭 표면의 현재의 중심이다. 애니메이팅된 .gif 파일들은 Gif들 폴더에서 저장됨.
표 2: 드로잉 옵션들 패널
하나의 예에서, 프리폼 드로잉 대신에, 사용자는 특정한 형상을 페인팅하거나 드로잉하기 위하여 구속 도구를 선택할 수 있다. 하나의 이러한 예는 사용자에 의해 선택된 시작으로부터 종료 포인트까지, 그리고 선택된 브러시 스트로크에서 직선 라인을 제공하도록 선택될 수 있는 직선 에지를 포함한다. 또 다른 예는 사용자가 VR 환경에서 능동적으로 드로잉하고 있는 드로잉을 프리폼 미러링하도록 선택될 수 있는 미러 브러시(mirror brush)를 포함한다. 미러 브러시는 이러한 드로잉을 좌측에서 우측으로, 상부에서 하부로, 또는 임의의 다른 2D 또는 3D 미러링 각도로 미러링할 수 있다. 게다가, 미러 브러시는 임의의 수의 축들에 대해 복제할 수 있다. 예를 들어, 미러 브러시는 3D 미러링된 드로잉이 3D에서 모든 3 개의 축들에 걸쳐 복제될 수 있도록, 축들에 걸쳐 미러링하도록 설정될 수 있다. 기능적으로, 시스템(100)은 포인터에서 사용자로부터 입력을 수신하고 있을 수도 있고, VR 공간에서 공간의 몇몇 평면들에 걸쳐 포인터 이동들을 미러링할 수 있다. 미러링은 평면들에 걸친 수학적 반사일 수도 있다. 미러링은 사용자가 드로잉을 생성하는 것과 동시에 발생할 수 있다.
도구 팔레트들(122)은 직물 견본들(128)(예컨대, VR 공간에서 직물 견본들을 모방할 수 있는 직물 페인터들)을 포함할 수도 있다. 직물 견본들(128)은, 실크(silk), 코듀로이(corduroy), 면(cotton), 레이온(rayon), 폴리에스터(polyester), 울(wool), 가죽(leather), 플리스(fleece) 등을 포함하지만, 이것으로 제한되지 않는 섬유 옵션들을 포함할 수도 있다. 사용자는 하나 이상의 직물 견본(128)을 선택할 수 있고, 예를 들어, 드레스 폼들(132)로부터 취출된 드레스 폼 상에서 드로잉할 수 있다. 드로잉은 선택된 직물 타입의 유사한 시각적 성질들을 띠기 시작하는 브러시스트로크들에서 적용될 수도 있다. 예를 들어, 사용자가 직물 견본들(128)의 어레이(예컨대, VR 공간에서 직물 견본들을 나타내는 이미지들)로부터 희망하는 직물을 선택할 경우, 드로잉은 라인 또는 형상 형태로 생성될 수 있고, 사용자가 희망하는 바와 같이 타일링(tiling)될 수 있거나 늘어질 수 있다. 일부 구현예들에서, 사용자는 하나 이상의 직물 견본들을 조합함으로써, 또는 시각적 효과들을 특정한 직물 견본들에 적용함으로써 직물 견본들을 정의할 수 있다. 예를 들어, 사용자는 조명을 직물 견본에 추가할 수 있다.
도구 팔레트들(122)은 패턴들(130)을 포함할 수도 있다. 패턴들(130)은 의복 컴포넌트들, 액세서리 컴포넌트들, 드레스 폼 컴포넌트들, 또는 완전한 의복들 또는 액세서리들에 속할 수도 있다. 사용자들은 이러한 패턴들의 가상적 이미지를 선택하고 이를 VR 공간으로 삽입하기 위하여 패턴들(130)을 액세스할 수 있다. 일부 구현예들에서, 패턴들은 사용자가 예를 들어, 드레스 폼 객체(120) 상에서 드로잉하거나 스케치하는 것을 허용하기 위하여 안내를 사용자에게 제공할 수 있다.
도 2는 예를 들어, 이동 디바이스(102)로 VR 컨텐츠를 액세스하는 HMD 디바이스(106)(또는 VR 디바이스)를 예시하는 도면이다. 도 2에서 도시된 예에서, 사용자(202)는 (제어기(103)를 갖는) 시스템(108)에서 컨텐츠와 인터페이싱함으로써 VR 드로잉 시스템(108)을 액세스하고 있을 수도 있다. 사용자(202)는 컬러 팔레트(204)를 액세스하고 있을 수도 있고, 드레스 폼 객체(206) 상에서 컨텐츠를 드로잉하고 있을 수도 있다. 도시된 컨텐츠는 사용자(202)가 HMD(106)에서 관측하고 있는 VR 공간 내에서 제공되므로, 컬러 팔레트(204) 및 드레스 폼 객체(206)를 갖는 이미지가 점선 도면으로서 도시되어 있다.
VR 드로잉 시스템(108)을 액세스하기 시작하고 패널(206)을 관측하기 위하여, 사용자(202)는 디바이스(106)를 사용자(202)의 눈들 위에 배치함으로써 HMD 디바이스(106)를 착용할 수 있다. 일부 구현예들에서, 도 1을 참조하면, HMD 디바이스(106)는 예를 들어, 하나 이상의 고속 유선 및/또는 무선 통신 프로토콜들(예컨대, WiFi, 블루투스, 블루투스 LE, USB 등)을 이용하여, 또는 HEMI 인터페이스를 이용함으로써, 이동 디바이스(102) 및/또는 제어기(103)와 인터페이싱/접속할 수 있다. 접속은 디바이스(106) 내에 포함된 스크린 상에서의 사용자로의 디스플레이를 위하여 컨텐츠를 HMD 디바이스(106)에 제공할 수 있다.
하나 이상의 센서들은 제어기(103) 상에 포함될 수 있고, 입력을 VR 공간에 제공하기 위하여, 사용자들이 디바이스(103) 및 HMD 디바이스(106)를 액세스함으로써 트리거링될 수 있다. 센서들은 터치스크린, 가속도계들, 자이로스코프들, 압력 센서들, 생체 센서(biometric sensor)들, 온도 센서들, 습도 센서들, 및 주변 광 센서들을 포함할 수 있지만, 이것으로 제한되지 않는다. 제어기(103)는 그 후에 VR 공간으로의 입력으로서 이용될 수 있는, VR 공간에서의 제어기(103)의 절대 위치 및/또는 검출된 회전을 결정하기 위하여 센서들을 이용할 수 있다. 예를 들어, 제어기(103)는 이동 전화, 페인트브러시, 연필 또는 펜, 드로잉 도구, 제어기, 원격기기, 또는 다른 객체 등으로서 VR 공간으로 편입될 수도 있다. VR 공간으로 편입될 때의 사용자에 의한 제어기(103)의 위치결정은 사용자가 VR 공간에서 이동 전화, 페인트브러시, 연필 또는 펜, 드로잉 도구, 제어기, 원격기기, 또는 다른 객체를 위치결정하는 것을 허용할 수 있다.
일부 구현예들에서, 하나 이상의 입력 디바이스들은 컨텐츠를 액세스하고 입력을 VR 공간에 제공하기 위하여 이용될 수 있다. 입력 디바이스들은 터치스크린, 키보드, 하나 이상의 버튼들, 트랙패드(trackpad), 터치패드(touchpad), 포인팅 디바이스, 마우스, 트랙볼(trackball), 조이스틱, 카메라, 및 마이크로폰을 포함할 수 있지만, 이것으로 제한되지 않는다. 입력 디바이스와 상호작용하는 사용자는 특정한 액션이 VR 공간에서 발생하게 할 수 있다.
지금부터 도 3a 내지 도 3b를 참조하면, 3 차원 컬러 체적들이 도시되어 있다. 일반적으로, 컬러는 2 차원 표면 상에서 전통적으로 표현되는 3 차원의 양이다. 다음의 설명은 그 컬러를 3D로 표현함으로써 3D VR 공간에서 컬러를 표현하고 선택하는 방법을 포함한다.
컬러는 복잡한 개념일 수 있고, 컴퓨터 그래픽에서의 이용을 위하여 3D 컬러 공간으로 보편적으로 감소될 수 있다. 컬러 공간을 정의함으로써, 컬러들은 특정한 좌표들에 의해 수치적으로 식별될 수 있다. 가상 현실에서는, 진정한 3D 컬러 객체들이 생성될 수 있고 조작될 수 있다.
도 3a는 색상, 포화, 값(Hue, Saturation, Value: HSV) 컬러 공간들(302a), 적색, 녹색, 청색(Red, Green, Blue: RGB) 컬러 공간들(304a), 및 실험실 컬러 공간(306a)에 대하여 2 개의 차원들에서 컬러를 도시한다. 도 3b는 HSV(302b), RGB(304b), 및 실험실(306b)에 대하여 3 개의 차원들에서 컬러를 도시한다. 이 컬러 공간들을 VR 공간으로 진정한 3D 객체들로서 렌더링(rendering)함으로써, 사용자는 모든 액세스가능한 컬러들을 파악할 수 있고 시각화할 수 있다.
체적 내부에서 컬러들을 모호하게 하지 않으면서 컬러 공간을 렌더링하기 위하여, 사용자들은 체적 내부에서 단면을 위치결정함으로써 2 차원 슬라이스를 선택할 수 있다. 슬라이스 전방의 컬러들은 그것들이 단면 상에서 컬러들을 모호하게 하지 않을 것이므로, 표현되지 않아야 한다. 단면 후방의 컬러들은 부분적인 또는 전체적인 투명도(transparency)로 렌더링될 수 있다. 임의의 그리고 모든 컬러들은 본원에서 설명된 드레스 폼 객체들 상에서 또는 그 근처에서 드로잉 컨텐츠를 생성하도록 선택될 수 있다.
지금부터 도 4를 참조하면, 단면을 위치결정하는 하나의 방법은 그 위치를 컬러 공간 축(402, 404a, 및 404b) 중의 하나로서 정의하는 것이라는 것이 도시되어 있다. 이 축들(404, 404a, 404b) 중의 하나 이상의 축의 값을 조작하는 것은 단면의 3D 공간에서의 위치를 단면(406a)으로부터 단면(406b)으로 변경한다. 단면(406b) 상의 컬러들은 이에 따라 업데이트한다. 그 제 3 축(404a 또는 404b)의 값과 조합된, 단면(406a) 상의 단일 2D 위치는 희망하는 컬러의 좌표를 완전히 설명한다. 단면(406b)은 또한, 객체 제어에 대하여 위에서 설명된 다른 방법들로 위치결정될 수 있다. 예를 들어, 모션 제어기 또는 헤드 위치는 단면을 조작하기 위하여 이용될 수 있다.
지금부터 도 5를 참조하면, HSV 컬러 피커가 도시되어 있다. (모든 컬러들이 흑색 상으로 수렴할 때) 원뿔의 하부에서 좁히는 것이 시각화되므로, 3 차원들에서 컬러를 관측하는 것은 어떤 컬러들이 선택을 위하여 이용가능한지에 대한 더 정확한 뷰를 제공한다는 것이 주목되어야 한다. 도시된 바와 같이, 컬러 공간(502)을 갖는 3 차원 컬러 피커의 프로토타입 애플리케이션의 스크린샷(500).
일반적으로, 3 차원 컬러 공간 및 컬러 피커의 개념은 단지 3 차원 컬러 공간들보다 더 복잡한 정보를 포함하도록 확장될 수 있다. 이 예에서, VR 공간에서의 VR 드로잉 시스템(108)에서 이용 중인 컬러들은 강조표시되어, 사용자들이 3 개의 차원들에서 그 컬러 팔레트를 시각화하는 것을 허용한다. 색상들(504)은 컬러 공간(502)의 우측 상에서 여기에서 도시되어 있다. 색상들은 컬러, 셰이드, 또는 수치 값으로서 도시될 수 있는 라이트니스(lightness)/브라이트(bright) 또는 라이트니스 및 다크니스(darkness)로부터의 범위이다. 색상 슬라이더(도시되지 않음)를 상하로 슬라이딩하는 것은 컬러 팔레트(506b)를 증대시킴으로써 도시된 바와 같이, 컬러 팔레트(506a)가 VR 공간에서의 이동(즉, 가상적 이동)을 물리적으로 야기시키게 할 수 있다.
컬러 팔레트들은 3D로, 그리고 3D 컬러박스(예컨대, 컬러 용량(color volume))로서 도시될 수 있다. 팔레트들은 사용자에게 3D로 보일 수도 있고, VR 공간에서 컬러 선택기를 표현하는 단면화된 공간으로서 생성될 수도 있고 도시될 수도 있다. 특히, 단면화된 공간은 사용자-선택가능한 색상에 따라 변환하는 정육면체의 단면으로서 표현될 수도 있고, 그 다음으로, 단면 상의 텍스처(texture)는 그것이 정육면체를 단면화하는 위치에 따라 컬러를 업데이트한다. 사용자는 드로잉을 페인팅하기 시작하기 위하여 색상을 선택할 수 있고, 컬러들을 변경하기 위하여 추가적인 색상들을 재선택할 수 있고, 이에 따라, 재선택된 색상들에서 드로잉을 시작할 수 있다.
일부 구현예들에서, 색상들은 컬러들이 아니라, 텍스처들일 수도 있다. 예를 들어, 위에서 설명된 쿼드들은 다수의 텍스처들로 생성될 수 있다. 이러한 쿼드들을 생성할 시에, 3D 기하구조는 드로잉들이 사용자에 의해 생성될 때에 쿼드들에 적용될 수 있다. 사용자가 선택하는 브러시의 타입에 따라, 브라이트니스(brightness)(예컨대, 자외선 수치 값들)는 또한, 쿼드들에 적용될 수 있다. 이것은 3D VR 공간에서 광을 드로잉하는 것을 허용할 수 있다. 일부 구현예들에서, 시스템(100)은 전체 브러시스트로크에 걸쳐 자외선 색상들을 0(다크니스)으로부터 1(태양광 브라이트니스)로 늘이기 위하여 이용될 수 있다. 일부 구현예들에서, 시스템(100)은 쿼드들의 반복하는 광 견본을 생성하기 위하여 색상을 재설정함으로써 UV의 견본을 0으로부터 1로 반복할 수 있다.
컬러는 정육면체 상에서 삼각형 형태로 표현될 수도 있다. 예를 들어, 정육면체의 부분의 하부 좌측 코너는 하나의 보텍스(삼각형 선단부)가 하나의 색상으로 컬러화되는 삼각형일 수도 있는 반면, 삼각형의 나머지 부분들은 추가적인 색상들로 희미해진다. 각각의 쿼드에서의 삼각형들의 보텍스 컬러는 사용자가 선택한 색상/컬러로서 도시되어 있다. 하나의 예에서, 사용자가 백색 텍스처 및 청색 컬러를 선택할 경우, 보텍스는 청색으로 염색되어, 이러한 색상-텍스처 조합으로 페인팅된 브러시 스트로크는 청색으로서 도시될 수 있다.
색상 선택, 텍스처 선택, 브러시 선택에 추가하여, 시스템(100)은 또한, 반사 값들을 정의할 수 있는 셰이더 선택들을 허용할 수 있다. 이 반사 값들은 조명 또는 셰이딩을 시뮬레이팅할 수도 있다. 셰이더 값은 텍스처 및 색상이 VR 공간에서 어떻게 표현되는지에 영향을 줄 수 있다. 의류들, 신발들, 메이크업, 인테리어 디자인, 아키텍처, 제품, 온라인 제품 구입, 3D 인쇄 재료 선택, 페인트 칩들을 위한 가상 현실 컬러 선택에 대한 이용의 경우들.
도 6은 도 1의 VR 공간에서 도시된 드레스 폼 객체(602a)의 일 예의 스크린샷(600)이다. 여기에서 도시된 드레스 폼 객체(602a)는 사용자가 드로잉할 수 있는 비어 있는 캔버스를 포함한다. 평면형 드로잉 가이드(604a)는 사용자가 제 1 평면에서 드레스 폼 객체(602a) 상에서 또는 그 근처에서 컨텐츠를 드로잉하거나 배치하는 것을 안내하도록 도시되어 있다. 도시되지 않았지만, 평면형 드로잉 가이드(604a)는 3 개의 축들 상에서 틸트될 수 있고, 틸트될 때, 드레스 폼 객체(602a)는 가이드로 틸트될 수도 있다. 이것은 사용자가 예를 들어, 심도(depth)를 드로잉에 추가하기 위하여 추가적인 차원들에서 드로잉하는 것을 가능하게 할 수 있다.
드레스 폼 객체(602b)에서 도시된 바와 같이, 평면형 드로잉 가이드(604b)는 망토(608)에서 페인팅하는 손(606)으로서 VR 공간에서 여기서 도시된 사용자에 의해 이용되었을 수도 있다. 사용자는 그렇게 행하기 위하여 도구 팔레트(612)에서 페인트브러시(610)를 선택하였을 수도 있다. 게다가, 사용자는 레이스 직물 견본(614)을 선택하였고, 망토(608) 상에서 희망하는 직물을 페인팅/드로잉하기 시작하였다.
지금부터 도 3에서 2 차원 입력 특징을 갖는 객체 제어를 더욱 상세하게 참조하면, VR 공간(304)에서 관측가능한 객체(302)가 도시되어 있다. 도 4는 기존의 컴퓨터 키보드(402) 및 마우스(404) 입력 메커니즘들을 도시한다.
도구세트들 및 입력 드로잉들을 액세스하기 위하여, 사용자는 VR 공간에서 드레스 폼들(602a 또는 602b) 에서 그리고 그 주위에서 드로잉된 컨텐츠에 대한 가시적 변경을 야기시키기 위하여 키보드 및/또는 마우스 상의 키들을 이용할 수도 있다. 동작 시에, 드로잉 컨텐츠를 드래프팅하기 위하여 키보드 및 마우스를 이용하는 것은 3 개의 차원들에서의 이동을 허용할 수 있다. 즉, 키보드는 1 차원 입력을 표현하는 반면, 마우스는 2 차원 입력을 표현한다. VR 공간이 3D이면, 키보드 및 마우스는 모든 3 개의 차원들에서의 이동을 허용할 수 있다. 예를 들어, 키보드 및 마우스를 이용하면, 2 차원 드로잉/절단 평면은 3D VR 공간에서 액세스될 수 있고, 사용자가 마우스를 주위로 이동시킬 때, 마우스의 포인터(및 VR 공간에서 드로잉들을 생성하기 위한 포인터 또는 시작 포인트)는 그 평면 상에서 주위로 이동할 수 있다. 드로잉은 마우스를 클릭하고 드래깅(dragging)하는 것 및 추가적인 이동들에 의해 생성될 수 있고, 평면형 드로잉 가이드들(예컨대, 604a, 604b)은 키보드 상의 어떤 키들을 아래로 유지함으로써 액세스될 수 있다. 특히, 특정한 평면의 방위 및 위치는 키스트로크(keystroke)들 및 마우스 이동 및 입력을 이용하여 조작될 수 있다.
비제한적인 예에서, 사용자는 망토(608)의 부분을 드로잉하기 시작할 수 있고 평면형 드로잉 가이드(604b)를 회전(예컨대, 틸트)시킬 수 있고, 그 다음으로, 추가적인 컨텐츠를 드로잉하거나 페인팅하기 시작할 수 있고, 이것은 사용자가 드레스 폼 객체(602b)의 2 개의 측부들/각도들을 생성/드로잉/페인팅하고 있는 것처럼 VR 공간에서 나타날 수 있다. 일부 구현예들에서, 사용자가 키보드 상의 시프트 키를 유지할 경우, 평면형 드로잉 가이드(604b)는 사용자의 헤드 위치로 록킹될 수도 있다. 특히, 사용자가 시프트 키를 유지하고 뒤로 기대고 있을 경우, 시스템(100)은 평면형 드로잉 가이드(604b)를 가져 올 수 있다. 사용자가 키보드 상의 시프트 키를 유지하고 그녀의 헤드를 좌측으로 선회할 경우, 평면형 드로잉 가이드(604b)는 좌측을 향해 회전하도록 구비될 수 있다.
드로잉의 완료 동안 또는 그 후의 임의의 포인트에서, 시스템(100)은 애니메이션을 드로잉 중의 임의의 것 또는 전부에 적용할 수 있다. 예를 들어, 시스템(100)은 이동하고 있는 망토(608)의 레이스 직물(614)에 대한 애니메이션들을 구성할 수도 있고, 그 다음으로, 이동하고 있는 망토(608)의 레이스 직물(614)을 디스플레이할 수도 있다. 이동은 사용자가 객체(602b) 주위에서 이동하는 것에 응답하여, 또는 사용자가 드레스 폼 객체(602b)를 비틀거나, 이동시키거나, 선회시키거나, 또는 틸트하는 것에 응답하여 발생할 수도 있다.
사용자는 도구들을 이용하여, 예를 들어, 페인트브러시(610)를 선택함으로써 드레스 폼 객체들(602a 및 602b) 상에서 드로잉들을 생성할 수 있다. 사용자는, 색상들(124), 직물 견본들(128)(예컨대, 레이스 직물(614), 패턴들(130), 및/또는 드레스 폼들(132)을 포함하지만, 이것으로 제한되지 않는, 패널들(612)에서 하우징된 하나 이상의 도구 팔레트들로부터 다른 항목들을 추가적으로 선택할 수 있다.
지금부터 도 7a 및 도 7b를 참조하면, 색상, 패턴, 및 하나 이상의 브러시스트로크들은 사용자에 의해 선택되었다. 여기서, (드로잉 손(702)에 의해 표현된) 사용자는 드레스 폼 객체(706) 상에서 드레스(704a)를 페인팅하고 있다. 이 예에서, 사용자는 라인들(705)에 의해 적어도 도시된 초기 드로잉을 생성하기 위하여 몇몇 상이한 브러시들 및 색상들을 선택하였을 수도 있다. 사용자는 컬러 도구 팔레트(708)로부터 브러시들 및 색상들을 선택하였을 수도 있다. 컬러 도구 팔레트(708)는 가상 현실 환경에서, 다수의 선택가능한 직물 견본들, 다수의 드로잉 패턴들, 및 다수의 색상/컬러 패턴들 및/또는 객체들을 제공하도록 구성된 다수의 액세스가능한 3 차원 도구 팔레트들의 부분을 표현할 수도 있다. 이 예에서, 컬러 도구 팔레트(708)는 2 차원 포화 영역(710), 복수의 색상들에 대한 강도를 표현하는 공간들(712)의 단면을 포함하는 3 차원 정육면체로서 표현된 컬러들 및/또는 드로잉 패턴들의 메뉴를 포함할 수도 있다. 강도는 각각의 색상이 백색과 상이한 정도를 정의할 수도 있다. 컬러 도구 팔레트(708)는 또한, 선택될 때, 3 차원 정육면체에서 적어도 하나의 선택된 색상의 위치를 반영하기 위하여 2 차원 포화 영역을 자동으로 조절하는 복수의 선택가능한 색상들을 포함하는 1 차원 색상 영역을 포함할 수도 있다. 드로잉 패턴들은 가상 현실 드로잉 환경에서의 이용을 위한 패션 의복 템플릿들을 포함할 수도 있다.
이 예에서, 사용자는 페인트브러시(702)와 함께 적용될 수도 있거나 적용되지 않을 수도 있는 레이스 직물 견본(714)을 선택하였다. 예를 들어, 사용자는 레이스 직물 견본을 이미 이용하였을 수도 있고(또는 가까운 미래에 그것을 다시 이용할 수도 있음), 이와 같이, 견본을 VR 공간에서의 그녀의 드로잉 영역으로 록킹하였다. 이 록킹은 추가적인 드로잉 컨텐츠를 생성할 때의 참조를 위하여 또는 재선택을 위하여, 이용된 브러시들, 색상들, 또는 직물들의 클립보드(clipboard)를 캡처하기 위하여 수행될 수 있다.
도 7b를 참조하면, 완료된 드로잉이 드로잉(704b)에서 도시되어 있다. 여기서, 사용자는 드레스 폼 객체(706) 상에서 그녀의 드로잉을 완료하였을 수도 있고, 브러시 스트로크들을 공통적인 직물, 브러시, 및/또는 색상 선택들과 병합할 것을 시스템(100)에 지시하였을 수도 있다. 예를 들어, 브러시스트로크들(705)(도 7a)은 도 7b에서의 밀착성 직물(cohesive fabric)(716)로 병합되도록 지금 도시되어 있다. 밀착성 직물은 나열식(side-by-side) 브러시스트로크들 사이의 공통적인 양태들을 검출하는 것에 응답하여 시스템(100)에 의해 생성되었을 수도 있다. 이 예에서, 사용자는 또한, 디자인에 대한 모자(718)를 드로잉하였다. 모자(718)는 레이스 직물 견본(714) 및 브러시(702)를 이용하여 생성된 레이스 리본(720)을 포함한다. 모자는 또한, 사용자가 직물 견본들, 또는 대안적으로, 모자 상에 드로잉된 손으로부터 선택하였을 수도 있는 깃털(feather)들(722)을 포함한다.
도 8은 다수의 드레스 폼 객체들(802, 804, 및 806)을 이용하여 VR 공간에서 생성된 드로잉들의 일 예의 스크린샷(800)이다. 이 예에서, (드로잉 손(808)으로서 VR 공간에서 표현된) 사용자는 HMD 디바이스로 VR 공간을 액세스하고 있다. 드로잉 공간에서 부유하는 것으로 도시된 컨텐츠 및 패널들은 사용자가 VR 공간 내에서 다수의 드레스 폼 피규어들 상에서 컨텐츠를 생성할 때에 보게 될 것의 예를 도시한다. 사용자는 임의의 수의 드레스 폼 피규어들을 선택할 수 있고, 액세서리들, 직물 견본들, 이전에 생성된 드로잉들, 컬러들 등의 드로잉들로 피규어들을 액세서리화(accessorize)하기 시작할 수 있다.
도구 팔레트(810)는 사용자가 예를 들어, 색상들을 선택하기 위하여 도시되어 있다. 추가적인 직물 견본들은 812, 814, 및 816으로 도시되어 있다. 직물 견본들은 사용자가 스크린샷(800)에서 드로잉들로 디스플레이하는 것을 희망하는 사용자-선택된 견본들을 표현할 수도 있다. 일부 구현예들에서, 직물 견본들(812, 814, 및 816)은 대안적인 컬러들을 드레스 폼 객체들(802, 804, 또는 806) 상에서 도시된 컬러들에 간단하게 제공할 수도 있다.
드레스 폼 객체(802)에서 도시된 바와 같이, 사용자(808)는 러플(ruffle)들(822)을 갖는 스커트(820)를 드로잉하고 있다. 스커트는, 시스템(100)(예컨대, 직물 이동 시뮬레이터(114))에 의해 애니메이팅될 때, 의류 물품의 실제적인 사용자 착용을 시뮬레이팅할 수 있는 늘어진 직물(flowing fabric)로 되어 있을 수도 있다. 선택된 직물은 시스템(100)이 디자인 프로세스 동안 또는 그 후에 시뮬레이팅할 수 있는 성질들(예컨대, 전단, 드레이프, 및 중량 성질들)을 포함한다.
드레스 폼 객체(804)에서 도시된 바와 같이, 사용자(808)는 테니스 셔츠(824) 및 스커트(826)를 드로잉하였다. 셔츠(824)는 직물 견본(816)을 사용하였다. 사용자(808)는 또한, 목걸이(828)에서 드로잉하였다. 유사하게, 사용자는 바지들(830)을 갖는 드레스 폼 객체(806)를 스타일지정(stylize)하였다. 바지들(830)은 드로잉 도구로 VR 공간에서 손으로 드로잉된 늘어진 라인들을 포함한다. 바지들(830)은 가능한 직물로서의 견본(816)을 포함한다. 여기서, 사용자는 또한, 그녀의 디자인에서의 대안적인 겉옷으로서 타이츠(tights)(818) 및 외투 망토(819)의 세트를 생성하였다. 타이츠(818) 및 망토(819)는 자유 공간에서 생성되었을 수도 있거나 드레스 폼 객체들 중의 하나 상에서 생성되었을 수도 있고, 추후에, 예를 들어, 또 다른 드로잉을 위한 공간을 만들기 위하여 VR 공간에서 옆으로 이동되었을 수도 있다. 도 8에서 도시된 컨텐츠의 부분들이 평평한 2D 평면에서 도시되어 있지만, 컨텐츠는 실제로 3D이다. 즉, 시스템(100)은 3D 공간에서 사용자로부터 2 차원 라인 드로잉들을 수신할 수 있고, 라인 드로잉들을 3D로 변환할 수 있다. 일부 구현예들에서, 시스템(100)은 사용자가 3D 컨텐츠를 자동으로 생성하는 것이 아니라, 추가적인 차원을 그 2D 디자인들에 대해 생성하는 것을 허용할 수 있다.
일반적으로, 도 8에서 도시된 스크린샷과 같은 그래픽 사용자 인터페이스(GUI)들은 다수의 대화형 패널들, 도구들, 및 메뉴들과 함께 VR 공간에서 제공된다. 사용자는 VR 공간의 GUI에서 컨텐츠를 생성하기 위하여 2 또는 3 차원 입력 디바이스를 이용할 수 있다. 패널들, 도구들, 및 메뉴들은 활성화될 수 있고 비활성화될 수 있다. 드레스 폼 객체들(802 내지 806) 중의 임의의 것 및 전부에 대한 드로잉 평면들은 추가적인 컨텐츠를 드로잉하기 위하여 틸트될 수 있다. 하나의 드레스 폼 객체를 틸트하는 것은 겉보기 또는 또 다른 드레스 폼 객체와의 상호작용에 영향을 주지 않을 수도 있다. 이것은 각각의 VR 공간이 다수의 가상적 영역들로 분할될 수 있기 때문이다.
VR 공간에서 드로잉들과 인터페이싱하고 드로잉들을 생성하는 것에 추가하여, 사용자는 네트워킹을 통해 다른 사용자들과 드로잉 세션 또는 완료된 드로잉들 및 드레스 폼 디자인들을 공유하는 것을 희망할 수도 있다. 시스템(100)은 공유하는 사용자의 디자인들을 관측하는 것을 희망하는 또 다른 사용자에 관하여 3D VR 공간에서의 공유하는 사용자의 위치결정을 가능하게 할 수 있다. 공유하는 사용자가 드로잉하면서 말하는 것을 희망할 경우, 시스템(100)은 공유하는 사용자가 말하고 있는 VR 공간의 위치로부터의 오디오 사운드들을 제공할 수 있다.
도 9는 사용자가 3 차원 드로잉들을 생성할 수 있는 드레스 폼 객체를 갖는 가상 현실 환경을 제공하기 위한 프로세스의 하나의 실시예를 도면으로 나타내는 플로우차트이다.
블록(902)에서, 프로세스(900)는3 차원 가상 현실 환경의 디스플레이의 표현을 제작하고 가상 현실 환경 내에서 드레스 폼 객체를 정의하는 것을 포함할 수 있다. 가상 현실 환경은 컴퓨팅 디바이스에 결합되며 사용자와 연관된 적어도 하나의 입력 디바이스로부터 대화형 커맨드들을 수신하도록 구성될 수도 있다.
블록(904)에서, 프로세스(900)는 디스플레이에서, 가상 현실 환경에서의 드레스 폼 객체 및 다수의 도구세트들을 표시하는 것을 포함할 수 있다. 도구세트들은 드레스 폼 객체 상에서 가상적인 3 차원 기하학적 컨텐츠를 생성하도록 구성될 수도 있다. 일부 구현예들에서, 3 차원 기하학적 컨텐츠는 패션 의복의 적어도 부분을 표현하는 라인들 및 형상들을 포함한다. 예를 들어, 사용자에 의해 드로잉된 단일 라인은 VR 공간에서 3D 라인, 형상, 또는 형태로 생성될 수 있다.
블록(906)에서, 프로세스(900)는 도구세트들 중의 적어도 하나에서의 다수의 선택들을 수신하는 것을 포함할 수 있다. 선택들은 사용자 선택들에 속할 수도 있고, 색상, 직물, 및 브러시스트로크 패턴 중의 하나 이상을 포함할 수 있다. 일부 구현예들에서, 색상, 직물, 및 브러시스트로크 패턴은 드레스 폼 객체 상에서 기하학적 컨텐츠를 생성하고 출력하기 위하여 이용될 수도 있다.
블록(908)에서, 프로세스(900)는 다수의 이동 패턴들 및 선택들에 따라 3 차원 기하학적 컨텐츠를 생성하는 것을 포함할 수 있다. 컨텐츠는 적어도 하나의 입력 디바이스의 입력 피드(input feed)로부터 복수의 이동 패턴들을 수신하는 것에 응답하여 생성될 수도 있다. 기하학적 컨텐츠는 디스플레이에서, 그리고 드레스 폼 객체 상에서 디스플레이될 수도 있다.
블록(910)에서, 프로세스(900)는 드레스 폼 객체 상의 기하학적 컨텐츠에 대한 애니메이션 데이터를 구성하는 것을 포함할 수 있다. 애니메이션 데이터는 기하학적 컨텐츠를 이동시키기 위하여 직물의 성질들을 시뮬레이팅하도록 구비될 수도 있다. 직물의 성질들은 직물 중량, 직물 드레이프, 및 직물 전단 복원을 포함할 수도 있다.
블록(912)에서, 프로세스(900)는 구성된 애니메이션 데이터에 따라 드레스 폼 객체를 애니메이팅함으로써 직물 이동을 시뮬레이팅하고 가상 현실 환경에서 시뮬레이션을 디스플레이하는 것을 포함할 수 있다. 디스플레이는 드레스 폼 객체의 이동을 표시하는 추가적인 이동 패턴을 수신하는 것에 응답하여 생성될 수도 있다.
일부 구현예들에서, 프로세스(900)는 드로잉들을 수신하기 위한 평면형 드로잉 가이드가 되도록 구성된 3 차원 드로잉 평면을 이용하는 것을 포함한다. 평면형 드로잉 가이드는 적어도 3 개의 축들 상에서 회전가능하고 드레스 폼 객체 상에서 조절가능한 드레스 폼 객체의 평면에 맞추어질 수도 있다.
일부 구현예들에서, 직물 이동을 시뮬레이팅하는 것은 또한, 사용자-선택된 직물과 연관된 직물 중량 정보를 획득하고 적어도 하나의 입력 디바이스로부터, 드레스 폼 객체와 연관된 사용자 이동 방향 및 힘을 획득하는 것을 포함한다. 게다가, 직물 이동을 시뮬레이팅하는 것은 또한, 직물 중량 및 힘에 기초한 속력으로 직물의 적어도 부분을 이동시키는 것을 포함할 수도 있다. 이동은 예를 들어, 드레스 폼 객체가 제 2 및 반대의 방향으로 이동하고 있는 것으로 결정하는 것에 응답하여 제 1 방향에서 있을 수 있다.
일부 구현예들에서, 프로세스(900)는 또한, 다수의 컴퓨팅 디바이스들에 의해 공유된 가상 현실 환경에 참여하기 위한 다수의 컴퓨팅 디바이스들을 위한 네트워크 인터페이스를 제공하는 것을 포함한다. 네트워크 인터페이스를 제공하는 것은, 드레스 폼 객체를 갖는 가상 현실 환경에서 협업하기 위하여 각각이 하나 이상의 고유하게 식별된 입력 디바이스들을 이용하는 다수의 사용자들이 기하학적 컨텐츠에 대한 수정들을 협업하는 것을 가능하게 하는 것을 포함할 수도 있다.
일부 구현예들에서, 프로세스(900)는 또한, 가상 현실 환경에서의 이용을 위한 선택가능한 드레스 폼 객체들의 세트를 생성하는 것을 포함할 수도 있다. 드레스 폼 객체들은 인간 해부학과 연관된 측정들에 대해 구성가능할 수도 있다.
도 10은 여기에서 설명된 기법들과 함께 이용될 수도 있는 일반적인 컴퓨터 디바이스(1000) 및 일반적인 이동 컴퓨터 디바이스(1050)의 예를 도시한다. 컴퓨팅 디바이스(1000)는 프로세서(1002), 메모리(1004), 저장 디바이스(1006), 메모리(1004) 및 고속 확장 포트들(1010)에 접속하는 고속 인터페이스(1008), 및 저속 버스(1014) 및 저장 디바이스(1006)에 접속하는 저속 인터페이스(1012)를 포함한다. 컴포넌트들(1002, 1004, 1006, 1008, 1010, 및 1012)의 각각은 다양한 버스들을 이용하여 상호접속되고, 공통적인 마더보드(motherboard) 상에, 또는 적절한 바와 같은 다른 방식들로 장착될 수도 있다. 프로세서(1002)는 고속 인터페이스(1008)에 결합된 디스플레이(1016)와 같은 외부 입력/출력 디바이스 상에서 GUI를 위한 그래픽 정보를 디스플레이하기 위하여 메모리(1004)에서 또는 저장 디바이스(1006) 상에서 저장된 명령들을 포함하는, 컴퓨팅 디바이스(1000) 내에서의 실행을 위한 명령들을 프로세싱할 수 있다. 다른 구현예들에서, 다수의 프로세서들 및/또는 다수의 버스들은 다수의 메모리들 및 메모리의 타입들과 함께, 적절한 바와 같이 이용될 수도 있다. 또한, 다수의 컴퓨팅 디바이스들(1000)은 접속될 수도 있고, 각각의 디바이스는 (예컨대, 서버 뱅크, 블레이드 서버들의 그룹, 또는 멀티-프로세서 시스템으로서의) 필요한 동작들의 부분들을 제공할 수도 있다.
메모리(1004)는 컴퓨팅 디바이스(1000) 내의 정보를 저장한다. 하나의 구현예에서, 메모리(1004)는 휘발성 메모리 유닛 또는 유닛들이다. 또 다른 구현예에서, 메모리(1004)는 비휘발성 메모리 유닛 또는 유닛들이다. 메모리(1004)는 또한, 자기 또는 광학 디스크와 같은 또 다른 형태의 컴퓨터-판독가능 매체일 수도 있다.
저장 디바이스(1006)는 컴퓨팅 디바이스(1000)를 위한 대용량 스토리지(mass storage)를 제공할 수 있다. 하나의 구현예에서, 저장 디바이스(1006)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성들에서의 디바이스들을 포함하는 디바이스들의 어레이와 같은 컴퓨터-판독가능 매체일 수도 있거나 이를 포함할 수도 있다. 컴퓨터 프로그램 제품은 정보 캐리어(information carrier)에서 유형적으로(tangibly) 구체화될 수 있다. 컴퓨터 프로그램 제품은 또한, 실행될 때, 위에서 설명된 것들과 같은 하나 이상의 방법들을 수행하는 명령들을 포함할 수도 있다. 정보 캐리어는 메모리(1004), 저장 디바이스(1006), 또는 프로세서(1002) 상의 메모리와 같은 컴퓨터-판독가능 또는 머신-판독가능 매체이다.
고속 제어기(1008)는 컴퓨팅 디바이스(1000)를 위한 대역폭-집약적 동작들을 관리하는 반면, 저속 제어기(1012)는 더 낮은 대역폭-집약적 동작들을 관리한다. 기능들의 이러한 할당은 오직 예시적이다. 하나의 구현예에서, 고속 제어기(1008)는 (예컨대, 그래픽 프로세서 또는 가속기를 통해) 메모리 디스플레이(1016)에, 그리고 다양한 확장 카드들(도시되지 않음)을 수용할 수도 있는 고속 확장 포트들(1010)에 결합된다. 구현예에서, 저속 제어기(1012)는 저장 디바이스(1006) 및 저속 확장 포트(1014)에 결합된다. 다양한 통신 포트들(예컨대, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수도 있는 저속 확장 포트는 예컨대, 네트워크 어댑터를 통해, 키보드, 포인팅 디바이스, 스캐너, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수도 있다.
컴퓨팅 디바이스(1000)는 도면에서 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수도 있다. 예를 들어, 그것은 표준 서버(1020)로서, 또는 이러한 서버들의 그룹에서 다수 회 구현될 수도 있다. 그것은 또한, 랙 서버 시스템(rack server system)(1024)의 일부로서 구현될 수도 있다. 게다가, 그것은 랩톱 컴퓨터(1022)와 같은 개인용 컴퓨터에서 구현될 수도 있다. 대안적으로, 컴퓨팅 디바이스(1000)로부터의 컴포넌트들은 디바이스(1050)와 같은 이동 디바이스(도시되지 않음)에서의 다른 컴포넌트들과 조합될 수도 있다. 이러한 디바이스들의 각각은 컴퓨팅 디바이스(1000, 1050) 중의 하나 이상을 포함할 수도 있고, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들(1000, 1050)로 구성될 수도 있다.
컴퓨팅 디바이스(1050)는 다른 컴포넌트들 중에서, 프로세서(1052), 메모리(1064), 디스플레이(1054)와 같은 입력/출력 디바이스, 통신 인터페이스(1066), 및 트랜시버(1068)를 포함한다. 추가적인 스토리지를 제공하기 위하여, 디바이스(1050)에는 또한, 마이크로드라이브(microdrive) 또는 다른 디바이스와 같은 저장 디바이스가 제공될 수도 있다. 컴포넌트들(1050, 1052, 1064, 1054, 1066, 및 1068)의 각각은 다양한 버스들을 이용하여 상호접속되고, 컴포넌트들 중의 몇몇은 공통적인 마더보드 상에, 또는 적절한 바와 같은 다른 방식들로 장착될 수도 있다.
프로세서(1052)는 메모리(1064)에서 저장된 명령들을 포함하는, 컴퓨팅 디바이스(1050) 내에서의 명령들을 실행할 수 있다. 프로세서는 별도의 그리고 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋으로서 구현될 수도 있다. 프로세서는 예를 들어, 사용자 인터페이스들의 제어, 디바이스(1050)에 의한 애플리케이션들 작동, 및 디바이스(1050)에 의한 무선 통신과 같은, 디바이스(1050)의 다른 컴포넌트들의 조정을 제공할 수도 있다.
프로세서(1052)는 제어 인터페이스(1058), 및 디스플레이(1054)에 결합된 디스플레이 인터페이스(1056)를 통해 사용자와 통신할 수도 있다. 디스플레이(1054)는 예를 들어, TFT LCD(Thin-Film-Transistor Liquid Crystal Display: 박막 트랜지스터 액정 디스플레이) 또는 OLED(Organic Light Emitting Diode: 유기 발광 다이오드) 디스플레이, 또는 다른 적절한 디스플레이 기술일 수도 있다. 디스플레이 인터페이스(1056)는 그래픽 및 다른 정보를 사용자에게 제시하기 위하여 디스플레이(1054)를 구동하기 위한 적절한 회로부를 포함할 수도 있다. 제어 인터페이스(1058)는 사용자로부터 커맨드들을 수신할 수도 있고, 그것들을 프로세서(1052)로의 제출을 위하여 변환할 수도 있다. 게다가, 외부 인터페이스(1062)는 다른 디바이스들과의 디바이스(1050)의 근접 영역 통신을 가능하게 하기 위하여, 프로세서(1052)와 통신하도록 제공될 수도 있다. 외부 인터페이스(1062)는 예를 들어, 일부 구현예들에서의 유선 통신, 또는 다른 구현예들에서의 무선 통신을 제공할 수도 있고, 다수의 인터페이스들이 또한 이용될 수도 있다.
메모리(1064)는 컴퓨팅 디바이스(1050) 내의 정보를 저장한다. 메모리(1064)는 컴퓨터-판독가능 매체 또는 매체들, 휘발성 메모리 유닛 또는 유닛들, 또는 비휘발성 메모리 유닛 또는 유닛들 중의 하나 이상으로서 구현될 수 있다. 확장 메모리(1074)는 또한, 예를 들어, SIMM(Single In Line Memory Module: 단일 인라인 메모리 모듈) 카드 인터페이스를 포함할 수도 있는 확장 인터페이스(1072)를 통해 디바이스(1050)에 제공될 수도 있고 접속될 수도 있다. 이러한 확장 메모리(1074)는 디바이스(1050)를 위한 여분의 저장 공간을 제공할 수도 있거나, 또한, 디바이스(1050)를 위한 애플리케이션들 또는 다른 정보를 저장할 수도 있다. 구체적으로, 확장 메모리(1074)는 위에서 설명된 프로세스들을 수행하거나 보충하기 위한 명령들을 포함할 수도 있고, 보안 정보를 또한 포함할 수도 있다. 이에 따라, 예를 들어, 확장 메모리(1074)는 디바이스(1050)를 위한 보안 모듈로서 제공될 수도 있고, 디바이스(1050)의 보안 이용을 허용하는 명령들로 프로그래밍될 수도 있다. 게다가, 보안 애플리케이션들은 비-해킹가능한(non-hackable) 방식으로 SIMM 카드 상에 식별 정보를 배치하는 것과 같이, 추가적인 정보와 함께 SIMM 카드들을 통해 제공될 수도 있다.
메모리는 이하에서 논의된 바와 같이, 예를 들어, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수도 있다. 하나의 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에서 유형적으로 구체화된다. 컴퓨터 프로그램 제품은 실행될 때, 위에서 설명된 것들과 같은 하나 이상의 방법들을 수행하는 명령들을 포함한다. 정보 캐리어는 예를 들어, 트랜시버(1068) 또는 외부 인터페이스(1062) 상에서 수신될 수도 있는, 메모리(1064), 확장 메모리(1074), 또는 프로세서(1052) 상의 메모리와 같은 컴퓨터-판독가능 또는 머신-판독가능 매체이다.
디바이스(1050)는 필요한 경우에 디지털 신호 프로세싱 회로부를 포함할 수도 있는 통신 인터페이스(1066)를 통해 무선으로 통신할 수도 있다. 통신 인터페이스(1066)는 그 중에서도, GSM 음성 호출들, SMS, EMS, 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000, 또는 GPRS와 같은 다양한 모드들 또는 프로토콜들 하에서의 통신들을 제공할 수도 있다. 이러한 통신은 예를 들어, 라디오-주파수 트랜시버(1068)를 통해 발생할 수도 있다. 게다가, 단거리 통신은 블루투스, Wi-Fi, 또는 다른 이러한 트랜시버(도시되지 않음)를 이용하는 것과 같이 발생할 수도 있다. 게다가, GPS(Global Positioning System: 글로벌 위치결정 시스템) 수신기 모듈(1070)은, 디바이스(1050) 상에서 작동하는 애플리케이션들에 의해 적절한 바와 같이 이용될 수도 있는 추가적인 내비게이션-관련된 및 로케이션-관련된 무선 데이터를 디바이스(1050)에 제공할 수도 있다.
디바이스(1050)는 또한, 사용자로부터 발성된 정보를 수신할 수도 있고 그것을 이용가능한 디지털 정보로 변환할 수도 있는 오디오 코덱(audio codec)(1060)을 이용하여 가청적으로 통신할 수도 있다. 오디오 코덱(1060)은 예컨대, 디바이스(1050)의 핸드셋(handset)에서 스피커를 통한 것과 같이, 사용자를 위한 가청 사운드를 마찬가지로 생성할 수도 있다. 이러한 사운드는 음성 전화 호출들로부터의 사운드를 포함할 수도 있고, 레코딩된 사운드(예컨대, 음성 메시지들, 음악 파일들 등)를 포함할 수도 있고, 또한, 디바이스(1050) 상에서 동작하는 애플리케이션들에 의해 생성된 사운드를 포함할 수도 있다.
컴퓨팅 디바이스(1050)는 도면에서 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수도 있다. 예를 들어, 그것은 셀룰러 전화(1080)로서 구현될 수도 있다. 그것은 또한, 스마트폰(1082), 개인 정보 단말, 또는 다른 유사한 이동 디바이스의 일부로서 구현될 수도 있다.
여기에서 설명된 시스템들 및 기법들의 다양한 구현예들은 디지털 전자 회로부, 집적 회로부, 특별히 설계된 ASIC(application specific integrated circuit: 애플리케이션 특정 집적 회로)들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 그 조합들로 실현될 수 있다. 이 다양한 구현예들은, 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고 데이터 및 명령들을 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로 송신하도록 결합된, 특수 또는 일반 목적일 수도 있는 적어도 하나의 프로그래밍가능한 프로세서를 포함하는 프로그래밍가능한 시스템 상에서 실행가능하고 및/또는 해독가능한 하나 이상의 컴퓨터 프로그램들에서의 구현예를 포함할 수 있다.
(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드로서 또한 알려진) 이 컴퓨터 프로그램들은 프로그래밍가능한 프로세서를 위한 머신 명령들을 포함하고, 하이-레벨 절차 및/또는 객체-지향된 프로그래밍 언어로, 및/또는 어셈블리(assembly)/머신 언어로 구현될 수 있다. 본원에서 이용된 바와 같이, 용어들 "머신-판독가능 매체", "컴퓨터-판독가능 매체"는 머신 명령들 및/또는 데이터를, 머신 명령들을 머신-판독가능 신호로서 수신하는 머신-판독가능 매체를 포함하는 프로그래밍가능한 프로세서에 제공하기 위하여 이용된 임의의 컴퓨터 프로그램 제품, 장치, 및/또는 디바이스(예컨대, 자기 디스크들, 광학 디스크들, 메모리, 프로그래밍가능한 논리 디바이스(Programmable Logic Device: PLD)들)를 지칭한다. 용어 "머신-판독가능 신호"는 머신 명령들 및/또는 데이터를 프로그래밍가능한 프로세서에 제공하기 위하여 이용된 임의의 신호를 지칭한다.
사용자와의 상호작용을 제공하기 위하여, 여기에서 설명된 시스템들 및 기법들은 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스(예컨대, CRT(cathode ray tube: 음극선관), LCD(liquid crystal display: 액정 디바이스) 모니터), 및 사용자가 입력을 컴퓨터에 제공할 수 있게 하는 키보드 및 포인팅 디바이스(예컨대, 마우스 또는 트랙볼)를 가지는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들은 마찬가지로 사용자와의 상호작용을 제공하기 위하여 이용될 수 있고; 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 센서류 피드백(예컨대, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백)일 수 있고; 사용자로부터의 입력은 음향, 스피치, 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다.
여기에서 설명된 시스템들 및 기법들은, (예컨대, 데이터 서버로서) 백 엔드 컴포넌트를 포함하거나, 미들웨어 컴포넌트(예컨대, 애플리케이션 서버)를 포함하거나, 프론트 엔드 컴퓨터(예컨대, 사용자가 여기에서 설명된 시스템들 및 기법들의 구현예와 이를 통해 상호작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 가지는 클라이언트 컴퓨터), 또는 이러한 백 엔드, 미들웨어, 또는 프론트 엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 디지털 데이터 통신(예컨대, 통신 네트워크)에 의해 상호접속될 수 있다. 통신 네트워크들의 예들은 로컬 영역 네트워크(local area network)("LAN"), 광역 네트워크(wide area network)("WAN"), 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로로부터 원격이고, 전형적으로 통신 네트워크를 통해 상호작용한다. 클라이언트 및 서버의 관계는 개개의 컴퓨터들 상에서 작동하고 서로에 대해 클라이언트-서버 관계를 가지는 컴퓨터 프로그램들 때문에 발생한다.
일부 구현예들에서, 도 10에서 도시된 컴퓨팅 디바이스들은 가상 현실(VR 헤드셋(1090))과 인터페이싱하는 센서들을 포함할 수 있다. 예를 들어, 도 10에서 도시된 컴퓨팅 디바이스(1050) 또는 다른 컴퓨팅 디바이스 상에 포함된 하나 이상의 센서들은 입력을 VR 헤드셋(1090)에 제공할 수 있거나, 일반적으로, 입력을 VR 공간에 제공할 수 있다. 센서들은 터치스크린, 가속도계들, 자이로스코프들, 압력 센서들, 생체 센서들, 온도 센서들, 습도 센서들, 및 주변 광 센서들을 포함할 수 있지만, 이것으로 제한되지 않는다. 컴퓨팅 디바이스(1050)는 그 후에 VR 공간으로의 입력으로서 이용될 수 있는, VR 공간에서의 컴퓨팅 디바이스의 절대 위치 및/또는 검출된 회전을 결정하기 위하여 센서들을 이용할 수 있다. 예를 들어, 컴퓨팅 디바이스(1050)는 제어기, 레이저 포인터, 키보드, 무기 등과 같은 가상적 객체로서 VR 공간으로 편입될 수도 있다. VR 공간으로 편입될 때의 사용자에 의한 컴퓨팅 디바이스/가상적 객체의 위치결정은 사용자가 VR 공간에서 어떤 방식들로 가상적 객체를 관측하기 위하여 컴퓨팅 디바이스를 위치결정하는 것을 허용할 수 있다. 예를 들어, 가상적 객체가 레이저 포인터를 표현할 경우, 사용자는 그것이 실제적인 레이저 포인터인 것처럼 컴퓨팅 디바이스를 조작할 수 있다. 사용자는 컴퓨팅 디바이스를 좌측 및 우측, 상부 및 하부, 원으로 등으로 이동시킬 수 있고, 레이저 포인터를 이용하는 것과 유사한 방식으로 디바이스를 이용할 수 있다.
일부 구현예들에서, 컴퓨팅 디바이스(1050) 상에 포함되거나 컴퓨팅 디바이스(1050)에 접속된 하나 이상의 입력 디바이스들은 VR 공간으로의 입력으로서 이용될 수 있다. 입력 디바이스들은 터치스크린, 키보드, 하나 이상의 버튼들, 트랙패드, 터치패드, 포인팅 디바이스, 마우스, 트랙볼, 조이스틱, 카메라, 마이크로폰, 입력 기능성을 갖는 이어폰들 또는 버드(bud)들, 게이밍 제어기, 또는 다른 접속가능한 입력 디바이스를 포함할 수 있지만, 이것으로 제한되지 않는다. 컴퓨팅 디바이스가 VR 공간으로 편입될 때에 컴퓨팅 디바이스(1050) 상에 포함된 입력 디바이스와 상호작용하는 사용자는 특정한 액션이 VR 공간에서 발생하게 할 수 있다.
일부 구현예들에서, 컴퓨팅 디바이스(1050)의 터치스크린은 VR 공간에서 터치패드로서 렌더링될 수 있다. 사용자는 컴퓨팅 디바이스(1050)의 터치스크린과 상호작용할 수 있다. 상호작용들은 예를 들어, VR 헤드셋(1090)에서, VR 공간에서의 렌더링된 터치패드 상에서의 이동들로서 렌더링된다. 렌더링된 이동들은 VR 공간에서 객체들을 제어할 수 있다.
일부 구현예들에서, 컴퓨팅 디바이스(1050) 상에 포함된 하나 이상의 출력 디바이스들은 출력 및/또는 피드백을 VR 공간에서의 VR 헤드셋(1090)의 사용자에게 제공할 수 있다. 출력 및 피드백은 시각적, 촉각적, 또는 오디오일 수 있다. 출력 및/또는 피드백은 진동들, 하나 이상의 라이트(light)들 또는 스트로브(strobe)들의 또는 턴 온 및 오프 또는 블링킹(blinking) 및/또는 플래싱(flashing), 경보를 울리는 것, 차임벨을 플레이하는 것, 노래를 플레이하는 것, 및 오디오 파일의 플레이를 포함할 수 있지만, 이것으로 제한되지 않는다. 출력 디바이스들은 진동 모터들, 진동 코일들, 압전 디바이스들, 정전 디바이스들, 발광 다이오드(LED)들, 스트로브들, 및 스피커들을 포함할 수 있지만, 이것으로 제한되지 않는다.
일부 구현예들에서, 컴퓨팅 디바이스(1050)는 컴퓨터-생성된 3D 환경에서 도 다른 객체로서 나타날 수도 있다. 컴퓨팅 디바이스(1050)와의 사용자에 의한 상호작용들(예컨대, 터치스크린을 회전하고, 흔들고, 터치하고, 터치스크린에 걸쳐 손가락을 스와이핑(swiping)하는 것)은 VR 공간에서의 객체와의 상호작용들로서 해독될 수 있다. VR 공간에서의 레이저 포인터의 예에서, 컴퓨팅 디바이스(1050)는 컴퓨터-생성된 3D 환경에서 가상적 레이저 포인터로서 나타난다. 사용자가 컴퓨팅 디바이스(1050)를 조작할 때, VR 공간에서의 사용자는 레이저 포인터의 이동을 본다. 사용자는 컴퓨팅 디바이스(1050) 상의, 또는 VR 헤드셋(1090) 상의 VR 공간에서 컴퓨팅 디바이스(1050)와의 상호작용들로부터 피드백을 수신한다.
일부 구현예들에서, 컴퓨팅 디바이스에 추가한 하나 이상의 입력 디바이스들(예컨대, 마우스, 키보드)은 컴퓨터-생성된 3D 환경에서 렌더링될 수 있다. 렌더링된 입력 디바이스들(예컨대, 렌더링된 마우스, 렌더링된 키보드)은 VR 공간에서 객체들을 제어하기 위하여 VR 공간에서 렌더링된 것으로서 이용될 수 있다.
컴퓨팅 디바이스(1000)는 랩톱들, 데스크톱들, 워크스테이션들, 개인 정보 단말들, 서버들, 블레이드 서버(blade server)들, 메인프레임(mainframe)들, 및 다른 적절한 컴퓨터들과 같은 다양한 형태들의 디지털 컴퓨터들을 표현하도록 의도된다. 컴퓨팅 디바이스(1050)는 개인 정보 단말들, 셀룰러 전화들, 스마트폰들, 및 다른 유사한 컴퓨팅 디바이스들과 같은 다양한 형태들의 이동 디바이스들을 표현하도록 의도된다. 여기에서 도시된 컴포넌트들, 그 접속들 및 관계들, 및 그 기능들은 오직 예시적인 것으로 의도되고, 이 문서에서 설명되고 및/또는 청구된 발명들의 구현예들을 제한하도록 의도되지 않는다.
다수의 실시예들이 설명되었다. 그럼에도 불구하고, 명세서의 사상 및 범위로부터 이탈하지 않으면서, 다양한 수정들이 행해질 수도 있다는 것이 이해될 것이다.
게다가, 도면들에서 도시된 논리 흐름들은 바람직한 결과들을 달성하기 위하여 도시된 특정한 순서 또는 순차적인 순서를 요구하지 않는다. 게다가, 설명된 흐름들로부터, 다른 단계들이 제공될 수도 있거나, 단계들이 제거될 수도 있고, 다른 컴포넌트들이 설명된 시스템들에 추가될 수도 있거나 설명된 시스템들로부터 제거될 수도 있다. 따라서, 다른 실시예들은 다음의 청구항들의 범위 내에 있다.
추가의 구현예들은 다음의 예들에서 요약된다:
예 1: 컴퓨터로 구현되는 방법은: 3 차원 가상 현실 환경의 디스플레이의 표현을 제작하고 가상 현실 환경 내에서 드레스 폼 객체를 정의하는 단계 - 가상 현실 환경은 컴퓨팅 디바이스에 결합되며 사용자와 연관된 적어도 하나의 입력 디바이스로부터 대화형 커맨드들을 수신하도록 구성됨 -; 디스플레이에서, 가상 현실 환경에서의 드레스 폼 객체 및 복수의 도구세트들을 디스플레이하는 단계 - 복수의 도구세트들은 드레스 폼 객체 상에서 가상적인 3 차원 기하학적 컨텐츠를 생성하도록 구성됨 -; 복수의 도구세트들 중의 적어도 하나에서의 복수의 선택들을 수신하는 단계 - 복수의 선택들은 적어도 색상, 직물, 및 브러시스트로크 패턴을 포함함 -; 적어도 하나의 입력 디바이스의 입력 피드로부터 복수의 이동 패턴들을 수신하는 것에 응답하여, 복수의 이동 패턴들 및 선택들에 따라 3 차원 기하학적 컨텐츠를 생성하고, 디스플레이에서, 그리고 드레스 폼 객체 상에서 기하학적 컨텐츠를 디스플레이하는 단계; 드레스 폼 객체 상의 기하학적 컨텐츠에 대한 애니메이션 데이터를 구성하는 단계 - 애니메이션 데이터는 기하학적 컨텐츠를 이동시키기 위하여 직물의 성질들을 시뮬레이팅하도록 구비됨 -; 및 구성된 애니메이션 데이터에 따라 드레스 폼 객체를 애니메이팅함으로써 직물 이동을 시뮬레이팅하고 가상 현실 환경에서 시뮬레이션을 디스플레이하는 단계 - 디스플레이는 드레스 폼 객체의 이동을 표시하는 추가적인 이동 패턴을 수신하는 것에 응답하여 생성됨 - 를 포함한다.
예 2: 예 1의 컴퓨터로 구현되는 방법으로서, 여기서, 3 차원 기하학적 컨텐츠는 패션 의복의 적어도 부분을 표현하는 라인들 및 형상들을 포함한다.
예 3: 예 1 또는 2의 컴퓨터로 구현되는 방법으로서, 여기서, 색상, 직물, 및 브러시스트로크 패턴은 드레스 폼 객체 상에서 기하학적 컨텐츠를 생성하고 출력하기 위하여 이용된다.
예 4: 예들 1 내지 3 중 하나의 컴퓨터로 구현되는 방법으로서, 여기서, 3 차원 드로잉 평면은 드로잉들을 수신하기 위한 평면형 드로잉 가이드가 되도록 구성되고, 평면형 드로잉 가이드는 적어도 3 개의 축들 상에서 회전가능하고 드레스 폼 객체 상에서 조절가능한 드레스 폼 객체의 평면에 맞추어진다.
예 5: 예들 1 내지 4 중 하나의 컴퓨터로 구현되는 방법으로서, 여기서, 직물의 성질들은 직물 중량, 직물 드레이프, 및 직물 전단 복원을 포함한다.
예 6: 예들 1 내지 5 중 하나의 컴퓨터로 구현되는 방법으로서, 여기서, 직물 이동을 시뮬레이팅하는 단계는, 사용자-선택된 직물과 연관된 직물 중량 정보를 획득하고, 적어도 하나의 입력 디바이스로부터, 드레스 폼 객체와 연관된 사용자 이동 방향 및 힘을 획득하는 단계; 및 직물 중량 및 힘에 기초한 속력으로 직물의 적어도 부분을 이동시키는 단계 - 이동은 드레스 폼 객체가 제 2 및 반대의 방향으로 이동하는 것으로 결정하는 것에 응답하여 제 1 방향임 - 를 더 포함한다.
예 7: 예들 1 내지 6 중 하나의 컴퓨터로 구현되는 방법은, 다수의 컴퓨팅 디바이스들에 의해 공유된 가상 현실 환경에 참여하기 위한 다수의 컴퓨팅 디바이스들을 위한 네트워크 인터페이스를 제공하는 단계 - 네트워크 인터페이스를 제공하는 단계는, 드레스 폼 객체를 갖는 가상 현실 환경에서 협업하기 위하여 각각이 하나 이상의 고유하게 식별된 입력 디바이스들을 이용하는 다수의 사용자들이 기하학적 컨텐츠에 대한 수정들을 협업하는 것을 가능하게 하는 단계를 포함함 - 를 더 포함한다.
예 8: 예들 1 내지 7 중 하나의 컴퓨터로 구현되는 방법은, 가상 현실 환경에서의 이용을 위한 선택가능한 드레스 폼 객체들의 세트를 생성하는 단계 - 드레스 폼 객체들은 인간 해부학과 연관된 측정들에 대해 구성가능함 - 를 더 포함한다.
예 9: 명령들을 레코딩하고 저장한 비-일시적 레코딩가능한 저장 매체로서, 상기 명령들은, 실행될 때, 3 차원 가상 현실 환경의 디스플레이의 표현을 제작하고 가상 현실 환경 내에서 드레스 폼 객체를 정의하는 것 - 가상 현실 환경은 컴퓨팅 디바이스에 결합되며 사용자와 연관된 적어도 하나의 입력 디바이스로부터 대화형 커맨드들을 수신하도록 구성됨 -; 디스플레이에서, 가상 현실 환경에서의 드레스 폼 객체 및 복수의 도구세트들을 디스플레이하는 것 - 복수의 도구세트들은 드레스 폼 객체 상에서 가상적인 3 차원 기하학적 컨텐츠를 생성하도록 구성됨 -; 복수의 도구세트들 중의 적어도 하나에서의 복수의 선택들을 수신하는 것 - 복수의 선택들은 적어도 색상, 직물, 및 브러시스트로크 패턴을 포함함 -; 적어도 하나의 입력 디바이스의 입력 피드로부터 복수의 이동 패턴들을 수신하는 것에 응답하여, 복수의 이동 패턴들 및 선택들에 따라 3 차원 기하학적 컨텐츠를 생성하고, 디스플레이에서, 그리고 드레스 폼 객체 상에서 기하학적 컨텐츠를 디스플레이하는 것; 드레스 폼 객체 상의 기하학적 컨텐츠에 대한 애니메이션 데이터를 구성하는 것 - 애니메이션 데이터는 기하학적 컨텐츠를 이동시키기 위하여 직물의 성질들을 시뮬레이팅하도록 구비됨 -; 및 구성된 애니메이션 데이터에 따라 드레스 폼 객체를 애니메이팅함으로써 직물 이동을 시뮬레이팅하고 가상 현실 환경에서 시뮬레이션을 디스플레이하는 것 - 디스플레이는 드레스 폼 객체의 이동을 표시하는 추가적인 이동 패턴을 수신하는 것에 응답하여 생성됨 - 의 액션들을 수행한다.
예 10: 예 9의 비-일시적 레코딩가능한 저장 매체로서, 여기서, 3 차원 기하학적 컨텐츠는 패션 의복의 적어도 부분을 표현하는 라인들 및 형상들을 포함한다.
예 11: 예들 9 또는 10의 비-일시적 레코딩가능한 저장 매체로서, 여기서, 색상, 직물, 및 브러시스트로크 패턴은 드레스 폼 객체 상에서 기하학적 컨텐츠를 생성하고 출력하기 위하여 이용된다.
예 12: 예들 9 내지 11 중 하나의 비-일시적 레코딩가능한 저장 매체로서, 여기서, 3 차원 드로잉 평면은 드로잉들을 수신하기 위한 평면형 드로잉 가이드가 되도록 구성되고, 평면형 드로잉 가이드는 적어도 3 개의 축들 상에서 회전가능하고 드레스 폼 객체 상에서 조절가능한 드레스 폼 객체의 평면에 맞추어진다.
예 13: 예들 9 내지 12 중 하나의 비-일시적 레코딩가능한 저장 매체로서, 여기서, 직물의 성질들은 직물 중량, 직물 드레이프, 및 직물 전단 복원을 포함한다.
예 14: 예들 9 내지 13 중 하나의 비-일시적 레코딩가능한 저장 매체로서, 여기서, 직물 이동을 시뮬레이팅하는 것은, 사용자-선택된 직물과 연관된 직물 중량 정보를 획득하고, 적어도 하나의 입력 디바이스로부터, 드레스 폼 객체와 연관된 사용자 이동 방향 및 힘을 획득하는 것; 및 직물 중량 및 힘에 기초한 속력으로 직물의 적어도 부분을 이동시키는 것 - 이동은 드레스 폼 객체가 제 2 및 반대의 방향으로 이동하는 것으로 결정하는 것에 응답하여 제 1 방향임 - 을 더 포함한다.
예 15: 예들 9 내지 14 중 하나의 비-일시적 레코딩가능한 저장 매체로서, 여기서, 상기 명령들은, 다수의 컴퓨팅 디바이스들에 의해 공유된 가상 현실 환경에 참여하기 위한 다수의 컴퓨팅 디바이스들을 위한 네트워크 인터페이스를 제공하는 것 - 네트워크 인터페이스를 제공하는 것은, 드레스 폼 객체를 갖는 가상 현실 환경에서 협업하기 위하여 각각이 하나 이상의 고유하게 식별된 입력 디바이스들을 이용하는 다수의 사용자들이 기하학적 컨텐츠에 대한 수정들을 협업하는 것을 가능하게 하는 것을 포함함 - 을 더 포함한다.
예 16: 예들 9 내지 15 중 하나의 비-일시적 레코딩가능한 저장 매체로서, 여기서, 상기 명령들은 가상 현실 환경에서의 이용을 위한 선택가능한 드레스 폼 객체들의 세트를 생성하는 것 - 드레스 폼 객체들은 인간 해부학과 연관된 측정들에 대해 구성가능함 - 을 더 포함한다.
예 17: 시스템은, 환경 내에서 적어도 하나의 드레스 폼 객체를 정의하는 3 차원 가상 현실 드로잉 환경 - 환경은 컴퓨팅 디바이스에 결합되며 사용자와 연관된 적어도 하나의 입력 디바이스로부터 대화형 커맨드들을 수신하도록 구성됨 -; 가상 현실 환경과 인터페이싱하기 위하여 이용된 적어도 하나의 입력 디바이스와 연관된 복수의 사용자 이동들에 속하는 로케이션 정보를 검출하고, 복수의 직물 성질들에 기초하여, 그리고 복수의 사용자 이동들에 응답하여 직물 이동을 시뮬레이팅하도록 구성된 이동 추적 모듈; 및 가상 현실 환경에서, 복수의 직물 견본들; 복수의 드로잉 패턴들; 및 복수의 색상들에 대한 강도를 표현하는 공간들의 단면을 포함하는 2 차원 포화 영역 - 강도는 각각의 색상이 백색과 상이한 정도를 정의함 -, 및 선택될 때, 3 차원 정육면체에서의 적어도 하나의 선택된 색상의 위치를 반영하기 위하여 2 차원 포화 영역을 자동으로 조절하는 복수의 선택가능한 색상들을 포함하는 1 차원 색상 영역을 포함하는 3 차원 정육면체로서 표현된 적어도 하나의 컬러 팔레트 메뉴를 제공하도록 구성된 복수의 3 차원 도구 팔레트들을 포함한다.
예 18: 예 17의 시스템으로서, 여기서, 직물 이동을 시뮬레이팅하는 것은, 사용자-선택된 직물과 연관된 직물 중량 정보를 획득하고, 적어도 하나의 입력 디바이스로부터, 드레스 폼 객체와 연관된 사용자 이동 방향 및 힘을 획득하는 것; 및 직물 중량 및 힘에 기초한 속력으로 직물의 적어도 부분을 이동시키는 것 - 이동은 드레스 폼 객체가 제 2 및 반대의 방향으로 이동하는 것으로 결정하는 것에 응답하여 제 1 방향임 - 을 더 포함한다.
예 19: 예 17 또는 18의 시스템으로서, 여기서, 직물의 성질들은 직물 중량, 직물 드레이프, 및 직물 전단 복원을 포함한다.
예 20: 예들 17 내지 19 중 하나의 시스템으로서, 여기서, 복수의 드로잉 패턴들은 가상 현실 환경에서의 이용을 위한 패션 의복 템플릿들을 포함한다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    3 차원 가상 현실 환경의 디스플레이의 표현을 제작하고 상기 가상 현실 환경 내에서 드레스 폼 객체를 정의하는 단계 - 상기 가상 현실 환경은 컴퓨팅 디바이스에 결합되며 사용자와 연관된 적어도 하나의 입력 디바이스로부터 대화형 커맨드들을 수신하도록 구성됨 -;
    상기 디스플레이에서, 상기 가상 현실 환경에서의 상기 드레스 폼 객체 및 복수의 도구세트들을 디스플레이하는 단계 - 상기 복수의 도구세트들은 상기 드레스 폼 객체 상에서 가상적인 3 차원 기하학적 컨텐츠를 생성하도록 구성됨 -;
    상기 복수의 도구세트들 중의 적어도 하나에서의 복수의 선택들을 수신하는 단계 - 상기 복수의 선택들은 적어도 색상, 직물, 및 브러시스트로크 패턴을 포함함 -;
    상기 적어도 하나의 입력 디바이스의 입력 피드로부터 복수의 이동 패턴들을 수신하는 것에 응답하여, 상기 복수의 이동 패턴들 및 상기 선택들에 따라 3 차원 기하학적 컨텐츠를 생성하고, 상기 디스플레이에서, 그리고 상기 드레스 폼 객체 상에서 상기 기하학적 컨텐츠를 디스플레이하는 단계;
    상기 드레스 폼 객체 상의 상기 기하학적 컨텐츠에 대한 애니메이션 데이터를 구성하는 단계 - 상기 애니메이션 데이터는 상기 기하학적 컨텐츠를 이동시키기 위하여 직물의 성질들을 시뮬레이팅하도록 구비됨 -; 및
    상기 구성된 애니메이션 데이터에 따라 상기 드레스 폼 객체를 애니메이팅함으로써 직물 이동을 시뮬레이팅하고 상기 가상 현실 환경에서 시뮬레이션을 디스플레이하는 단계 - 상기 디스플레이는 상기 드레스 폼 객체의 이동을 표시하는 추가적인 이동 패턴을 수신하는 것에 응답하여 생성됨 - 를 포함하는, 컴퓨터로 구현되는 방법.
  2. 제 1 항에 있어서,
    상기 3 차원 기하학적 컨텐츠는 패션 의복의 적어도 부분을 표현하는 라인들 및 형상들을 포함하는, 컴퓨터로 구현되는 방법.
  3. 제 1 항에 있어서,
    상기 색상, 상기 직물, 및 상기 브러시스트로크 패턴은 상기 드레스 폼 객체 상에서 상기 기하학적 컨텐츠를 생성하고 출력하기 위하여 이용되는, 컴퓨터로 구현되는 방법.
  4. 제 1 항에 있어서,
    3 차원 드로잉 평면은 드로잉들을 수신하기 위한 평면형 드로잉 가이드가 되도록 구성되고, 상기 평면형 드로잉 가이드는 적어도 3 개의 축들 상에서 회전가능하고 상기 드레스 폼 객체 상에서 조절가능한 상기 드레스 폼 객체의 평면에 맞추어지는, 컴퓨터로 구현되는 방법.
  5. 제 1 항에 있어서,
    상기 직물의 상기 성질들은 직물 중량, 직물 드레이프, 및 직물 전단 복원을 포함하는, 컴퓨터로 구현되는 방법.
  6. 제 1 항에 있어서,
    직물 이동을 시뮬레이팅하는 단계는,
    사용자-선택된 직물과 연관된 직물 중량 정보를 획득하고, 상기 적어도 하나의 입력 디바이스로부터, 상기 드레스 폼 객체와 연관된 사용자 이동 방향 및 힘을 획득하는 단계; 및
    상기 직물 중량 및 상기 힘에 기초한 속력으로 상기 직물의 적어도 부분을 이동시키는 단계 - 상기 이동시키는 것은 상기 드레스 폼 객체가 제 2 및 반대의 방향으로 이동하고 있는 것으로 결정하는 것에 응답하여 제 1 방임 - 를 더 포함하는, 컴퓨터로 구현되는 방법.
  7. 제 1 항에 있어서,
    다수의 컴퓨팅 디바이스들에 의해 공유된 상기 가상 현실 환경에 참여하기 위한 다수의 컴퓨팅 디바이스들을 위한 네트워크 인터페이스를 제공하는 단계 - 상기 네트워크 인터페이스를 제공하는 단계는, 상기 드레스 폼 객체를 갖는 상기 가상 현실 환경에서 협업하기 위하여 각각이 하나 이상의 고유하게 식별된 입력 디바이스들을 이용하는 다수의 사용자들이 상기 기하학적 컨텐츠에 대한 수정들을 협업하는 것을 가능하게 하는 단계를 포함함 - 를 더 포함하는, 컴퓨터로 구현되는 방법.
  8. 제 1 항에 있어서,
    상기 가상 현실 환경에서의 이용을 위한 선택가능한 드레스 폼 객체들의 세트를 생성하는 단계 - 상기 드레스 폼 객체들은 인간 해부학과 연관된 측정들에 대해 구성가능함 - 를 더 포함하는, 컴퓨터로 구현되는 방법.
  9. 명령들을 레코딩하고 저장한 비-일시적 레코딩가능한 저장 매체로서,
    상기 명령들은, 실행될 때,
    3 차원 가상 현실 환경의 디스플레이의 표현을 제작하고 상기 가상 현실 환경 내에서 드레스 폼 객체를 정의하는 것 - 상기 가상 현실 환경은 컴퓨팅 디바이스에 결합되며 사용자와 연관된 적어도 하나의 입력 디바이스로부터 대화형 커맨드들을 수신하도록 구성됨 -;
    상기 디스플레이에서, 상기 가상 현실 환경에서의 상기 드레스 폼 객체 및 복수의 도구세트들을 디스플레이하는 것 - 상기 복수의 도구세트들은 상기 드레스 폼 객체 상에서 가상적인 3 차원 기하학적 컨텐츠를 생성하도록 구성됨 -;
    상기 복수의 도구세트들 중의 적어도 하나에서의 복수의 선택들을 수신하는 것 - 상기 복수의 선택들은 적어도 색상, 직물, 및 브러시스트로크 패턴을 포함함 -;
    상기 적어도 하나의 입력 디바이스의 입력 피드로부터 복수의 이동 패턴들을 수신하는 것에 응답하여, 상기 복수의 이동 패턴들 및 상기 선택들에 따라 3 차원 기하학적 컨텐츠를 생성하고, 상기 디스플레이에서, 그리고 상기 드레스 폼 객체 상에서 상기 기하학적 컨텐츠를 디스플레이하는 것;
    상기 드레스 폼 객체 상의 상기 기하학적 컨텐츠에 대한 애니메이션 데이터를 구성하는 것 - 상기 애니메이션 데이터는 상기 기하학적 컨텐츠를 이동시키기 위하여 직물의 성질들을 시뮬레이팅하도록 구비됨 -; 및
    상기 구성된 애니메이션 데이터에 따라 상기 드레스 폼 객체를 애니메이팅함으로써 직물 이동을 시뮬레이팅하고 상기 가상 현실 환경에서 시뮬레이션을 디스플레이하는 것 - 상기 디스플레이는 상기 드레스 폼 객체의 이동을 표시하는 추가적인 이동 패턴을 수신하는 것에 응답하여 생성됨 - 의 액션들을 수행하는, 비-일시적 레코딩가능한 저장 매체.
  10. 제 9 항에 있어서,
    상기 3 차원 기하학적 컨텐츠는 패션 의복의 적어도 부분을 표현하는 라인들 및 형상들을 포함하는, 비-일시적 레코딩가능한 저장 매체.
  11. 제 9 항에 있어서,
    상기 색상, 상기 직물, 및 상기 브러시스트로크 패턴은 상기 드레스 폼 객체 상에서 상기 기하학적 컨텐츠를 생성하고 출력하기 위하여 이용되는, 비-일시적 레코딩가능한 저장 매체.
  12. 제 9 항에 있어서,
    3 차원 드로잉 평면은 드로잉들을 수신하기 위한 평면형 드로잉 가이드가 되도록 구성되고, 상기 평면형 드로잉 가이드는 적어도 3 개의 축들 상에서 회전가능하고 상기 드레스 폼 객체 상에서 조절가능한 상기 드레스 폼 객체의 평면에 맞추어지는, 비-일시적 레코딩가능한 저장 매체.
  13. 제 9 항에 있어서,
    상기 직물의 상기 성질들은 직물 중량, 직물 드레이프, 및 직물 전단 복원을 포함하는, 비-일시적 레코딩가능한 저장 매체.
  14. 제 9 항에 있어서,
    직물 이동을 시뮬레이팅하는 것은,
    사용자-선택된 직물과 연관된 직물 중량 정보를 획득하고, 상기 적어도 하나의 입력 디바이스로부터, 상기 드레스 폼 객체와 연관된 사용자 이동 방향 및 힘을 획득하는 것; 및
    상기 직물 중량 및 상기 힘에 기초한 속력으로 상기 직물의 적어도 부분을 이동시키는 것 - 상기 이동시키는 것은 상기 드레스 폼 객체가 제 2 및 반대의 방향으로 이동하고 있는 것으로 결정하는 것에 응답하여 제 1 방임 - 을 더 포함하는, 비-일시적 레코딩가능한 저장 매체.
  15. 제 9 항에 있어서,
    상기 명령들은,
    다수의 컴퓨팅 디바이스들에 의해 공유된 상기 가상 현실 환경에 참여하기 위한 다수의 컴퓨팅 디바이스들을 위한 네트워크 인터페이스를 제공하는 것 - 상기 네트워크 인터페이스를 제공하는 것은, 상기 드레스 폼 객체를 갖는 상기 가상 현실 환경에서 협업하기 위하여 각각이 하나 이상의 고유하게 식별된 입력 디바이스들을 이용하는 다수의 사용자들이 상기 기하학적 컨텐츠에 대한 수정들을 협업하는 것을 가능하게 하는 것을 포함함 - 을 더 포함하는, 비-일시적 레코딩가능한 저장 매체.
  16. 제 9 항에 있어서,
    상기 명령들은,
    상기 가상 현실 환경에서의 이용을 위한 선택가능한 드레스 폼 객체들의 세트를 생성하는 것 - 상기 드레스 폼 객체들은 인간 해부학과 연관된 측정들에 대해 구성가능함 - 을 더 포함하는, 비-일시적 레코딩가능한 저장 매체.
  17. 시스템으로서,
    환경 내에서 적어도 하나의 드레스 폼 객체를 정의하는 3 차원 가상 현실 드로잉 환경 - 상기 환경은 컴퓨팅 디바이스에 결합되며 사용자와 연관된 적어도 하나의 입력 디바이스로부터 대화형 커맨드들을 수신하도록 구성됨 -;
    상기 가상 현실 환경과 인터페이싱하기 위하여 이용된 상기 적어도 하나의 입력 디바이스와 연관된 복수의 사용자 이동들에 속하는 로케이션 정보를 검출하고,
    복수의 직물 성질들에 기초하여, 그리고 상기 복수의 사용자 이동들에 응답하여 직물 이동을 시뮬레이팅하도록
    구성된 이동 추적 모듈; 및
    상기 가상 현실 환경에서,
    복수의 직물 견본들;
    복수의 드로잉 패턴들; 및
    복수의 색상들에 대한 강도를 표현하는 공간들의 단면을 포함하는 2 차원 포화 영역 - 상기 강도는 각각의 색상이 백색과 상이한 정도를 정의함 -, 및 선택될 때, 3 차원 정육면체에서의 적어도 하나의 선택된 색상의 위치를 반영하기 위하여 상기 2 차원 포화 영역을 자동으로 조절하는 복수의 선택가능한 색상들을 포함하는 1 차원 색상 영역을 포함하는 3 차원 정육면체로서 표현된 적어도 하나의 컬러 팔레트 메뉴를
    제공하도록 구성된 복수의 3 차원 도구 팔레트들을 포함하는, 시스템.
  18. 제 17 항에 있어서,
    직물 이동을 시뮬레이팅하는 것은,
    사용자-선택된 직물과 연관된 직물 중량 정보를 획득하고, 상기 적어도 하나의 입력 디바이스로부터, 상기 드레스 폼 객체와 연관된 사용자 이동 방향 및 힘을 획득하는 것; 및
    상기 직물 중량 및 상기 힘에 기초한 속력으로 상기 직물의 적어도 부분을 이동시키는 것 - 상기 이동시키는 것은 상기 드레스 폼 객체가 제 2 및 반대의 방향으로 이동하고 있는 것으로 결정하는 것에 응답하여 제 1 방임 - 을 더 포함하는, 시스템.
  19. 제 17 항에 있어서,
    직물의 상기 성질들은 직물 중량, 직물 드레이프, 및 직물 전단 복원을 포함하는, 시스템.
  20. 제 17 항에 있어서,
    상기 복수의 드로잉 패턴들은 상기 가상 현실 환경에서의 이용을 위한 패션 의복 템플릿들을 포함하는, 시스템.
KR1020177031375A 2014-09-18 2016-09-13 가상 현실 환경 내부에서의 드로잉에 의한 3 차원 패션 객체들의 생성 KR20170132840A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201462052338P 2014-09-18 2014-09-18
US14/859,167 US10509865B2 (en) 2014-09-18 2015-09-18 Dress form for three-dimensional drawing inside virtual reality environment
US14/859,167 2015-09-18
PCT/US2016/051463 WO2017048685A1 (en) 2014-09-18 2016-09-13 Generation of three dimensional fashion objects by drawing inside a virtual reality environment

Publications (1)

Publication Number Publication Date
KR20170132840A true KR20170132840A (ko) 2017-12-04

Family

ID=57588130

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177031375A KR20170132840A (ko) 2014-09-18 2016-09-13 가상 현실 환경 내부에서의 드로잉에 의한 3 차원 패션 객체들의 생성

Country Status (8)

Country Link
US (2) US10509865B2 (ko)
EP (1) EP3350775A1 (ko)
JP (1) JP6553212B2 (ko)
KR (1) KR20170132840A (ko)
CN (1) CN107636585B (ko)
DE (1) DE112016004249T5 (ko)
GB (1) GB2555021B (ko)
WO (1) WO2017048685A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200000210A (ko) * 2018-06-22 2020-01-02 주식회사 지이모션 환경 요소를 고려한 의류의 3차원 모델링 방법 및 컴퓨터 프로그램
KR20210077742A (ko) * 2018-12-05 2021-06-25 소니그룹주식회사 패처 툴

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160189427A1 (en) * 2014-12-31 2016-06-30 Immersion Corporation Systems and methods for generating haptically enhanced objects for augmented and virtual reality applications
ES2597173B2 (es) * 2015-07-15 2017-10-16 Universidad Rey Juan Carlos Método implementado por ordenador, sistema y producto de programa para ordenador para simular el comportamiento de textil tejido a nivel de hilo
US10838502B2 (en) * 2016-03-29 2020-11-17 Microsoft Technology Licensing, Llc Sharing across environments
US20180095618A1 (en) * 2016-10-04 2018-04-05 Facebook, Inc. Controls and Interfaces for User Interactions in Virtual Spaces
GB2554914B (en) * 2016-10-14 2022-07-20 Vr Chitect Ltd Virtual reality system and method
GB2605299B (en) * 2016-10-14 2022-12-28 Vr Chitect Ltd Virtual reality system and method
US10593116B2 (en) 2016-10-24 2020-03-17 Snap Inc. Augmented reality object manipulation
CN107123152B (zh) * 2017-04-06 2023-01-06 腾讯科技(深圳)有限公司 一种编辑处理方法及装置
WO2018196552A1 (zh) * 2017-04-25 2018-11-01 腾讯科技(深圳)有限公司 用于虚拟现实场景中的手型显示方法及装置
US11094136B2 (en) * 2017-04-28 2021-08-17 Linden Research, Inc. Virtual reality presentation of clothing fitted on avatars
US11145138B2 (en) 2017-04-28 2021-10-12 Linden Research, Inc. Virtual reality presentation of layers of clothing on avatars
CN107273033A (zh) * 2017-06-28 2017-10-20 王汝平 服装设计方法、装置及系统
US10140392B1 (en) 2017-06-29 2018-11-27 Best Apps, Llc Computer aided systems and methods for creating custom products
CN109383029A (zh) * 2017-08-04 2019-02-26 三纬国际立体列印科技股份有限公司 立体打印设备以及立体打印方法
CN109557998B (zh) * 2017-09-25 2021-10-15 腾讯科技(深圳)有限公司 信息交互方法、装置、存储介质和电子装置
US10930078B1 (en) * 2017-11-01 2021-02-23 Bentley Systems, Incorporated Techniques for improving perception of projections of subsurface features on a terrain surface in augmented reality
CN111344663B (zh) * 2017-11-21 2023-10-24 株式会社和冠 渲染装置及渲染方法
KR101964446B1 (ko) * 2017-11-28 2019-04-01 주식회사 펀웨이브 가상현실을 이용한 미술활동 시스템
WO2019147359A1 (en) * 2018-01-27 2019-08-01 Walmart Apollo, Llc System for augmented apparel design
US10909876B2 (en) * 2018-02-05 2021-02-02 Envision Technologies, LLC Spray paint simulator and training aid
AU2019231697B2 (en) * 2018-03-07 2020-01-30 Magic Leap, Inc. Visual tracking of peripheral devices
US20190304154A1 (en) * 2018-03-30 2019-10-03 First Insight, Inc. Importation and transformation tool for utilizing computer-aided design files in a web browser or customized client interface
US20190339837A1 (en) * 2018-05-04 2019-11-07 Oculus Vr, Llc Copy and Paste in a Virtual Reality Environment
US10768426B2 (en) * 2018-05-21 2020-09-08 Microsoft Technology Licensing, Llc Head mounted display system receiving three-dimensional push notification
CN108898680B (zh) * 2018-05-30 2019-06-18 贝壳找房(北京)科技有限公司 一种在虚拟三维空间中自动校正截取图片的方法及装置
US20190378334A1 (en) * 2018-06-08 2019-12-12 Vulcan Inc. Augmented reality portal-based applications
CN108919948A (zh) * 2018-06-20 2018-11-30 珠海金山网络游戏科技有限公司 一种基于手机的vr系统、存储介质及输入方法
US10996831B2 (en) 2018-06-29 2021-05-04 Vulcan Inc. Augmented reality cursors
US11227435B2 (en) 2018-08-13 2022-01-18 Magic Leap, Inc. Cross reality system
JP7445642B2 (ja) 2018-08-13 2024-03-07 マジック リープ, インコーポレイテッド クロスリアリティシステム
US11422530B2 (en) * 2018-08-20 2022-08-23 Dell Products, L.P. Systems and methods for prototyping a virtual model
CN113196209A (zh) 2018-10-05 2021-07-30 奇跃公司 在任何位置渲染位置特定的虚拟内容
AU2019399480B2 (en) 2018-10-12 2024-04-18 Quality Executive Partners, Inc. Virtual reality simulation and method
US11030796B2 (en) * 2018-10-17 2021-06-08 Adobe Inc. Interfaces and techniques to retarget 2D screencast videos into 3D tutorials in virtual reality
CN111083391A (zh) * 2018-10-19 2020-04-28 舜宇光学(浙江)研究院有限公司 虚实融合系统及其方法
CN109584376B (zh) * 2018-12-03 2023-04-07 广东工业大学 基于vr技术的构图教学方法、装置、设备以及存储介质
US11086392B1 (en) * 2019-04-09 2021-08-10 Facebook Technologies, Llc Devices, systems, and methods for virtual representation of user interface devices
CN110134234B (zh) * 2019-04-24 2022-05-10 山东文旅云智能科技有限公司 一种三维物体定位的方法及装置
DE102020001882A1 (de) * 2019-04-26 2020-11-12 Mitutoyo Corporation Visualisierungsvorrichtung und Programm
US11334212B2 (en) 2019-06-07 2022-05-17 Facebook Technologies, Llc Detecting input in artificial reality systems based on a pinch and pull gesture
US11422669B1 (en) * 2019-06-07 2022-08-23 Facebook Technologies, Llc Detecting input using a stylus in artificial reality systems based on a stylus movement after a stylus selection action
CN110070777B (zh) * 2019-06-13 2021-07-09 大连民族大学 一种赫哲族鱼皮画仿真培训系统及实现方法
US11494953B2 (en) * 2019-07-01 2022-11-08 Microsoft Technology Licensing, Llc Adaptive user interface palette for augmented reality
KR102149105B1 (ko) * 2019-09-18 2020-08-27 세종대학교산학협력단 혼합현실 기반 3차원 스케치 장치 및 방법
US10991163B2 (en) * 2019-09-20 2021-04-27 Facebook Technologies, Llc Projection casting in virtual environments
US11189099B2 (en) 2019-09-20 2021-11-30 Facebook Technologies, Llc Global and local mode virtual object interactions
CN114616534A (zh) 2019-10-15 2022-06-10 奇跃公司 具有无线指纹的交叉现实系统
EP4046070A4 (en) 2019-10-15 2023-10-18 Magic Leap, Inc. CROSS-REALLY SYSTEM THAT SUPPORTS MULTIPLE DEVICE TYPES
EP4046139A4 (en) 2019-10-15 2023-11-22 Magic Leap, Inc. EXTENDED REALITY SYSTEM WITH LOCATION SERVICE
JP2023504775A (ja) 2019-11-12 2023-02-07 マジック リープ, インコーポレイテッド 位置特定サービスおよび共有場所ベースのコンテンツを伴うクロスリアリティシステム
JP2023504570A (ja) 2019-12-09 2023-02-03 マジック リープ, インコーポレイテッド 仮想コンテンツの簡略化されたプログラミングを伴うクロスリアリティシステム
US11095855B2 (en) * 2020-01-16 2021-08-17 Microsoft Technology Licensing, Llc Remote collaborations with volumetric space indications
JP2023514205A (ja) 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド 正確な共有マップを伴うクロスリアリティシステム
CN115398484A (zh) 2020-02-13 2022-11-25 奇跃公司 具有用于定位的地理定位信息优先级的交叉现实系统
JP2023514208A (ja) 2020-02-13 2023-04-05 マジック リープ, インコーポレイテッド マルチ分解能フレーム記述子を使用したマップ処理を伴うクロスリアリティシステム
WO2021173779A1 (en) 2020-02-26 2021-09-02 Magic Leap, Inc. Cross reality system with fast localization
CN115803788A (zh) 2020-04-29 2023-03-14 奇跃公司 用于大规模环境的交叉现实系统
US11514203B2 (en) * 2020-05-18 2022-11-29 Best Apps, Llc Computer aided systems and methods for creating custom products
EP3926432A1 (en) * 2020-06-16 2021-12-22 Hexagon Geosystems Services AG Touch control of unmanned aerial vehicles
US11276206B2 (en) 2020-06-25 2022-03-15 Facebook Technologies, Llc Augmented reality effect resource sharing
US11954268B2 (en) * 2020-06-30 2024-04-09 Snap Inc. Augmented reality eyewear 3D painting
CN111773669B (zh) * 2020-07-03 2024-05-03 珠海金山数字网络科技有限公司 一种在虚拟环境中生成虚拟对象方法及装置
CN115701296A (zh) * 2020-07-27 2023-02-07 株式会社和冠 由计算机执行的方法、计算机及程序
CN112306230A (zh) * 2020-09-10 2021-02-02 上海风语筑文化科技股份有限公司 基于vr技术的虚拟喷漆互动展项装置
US11157163B1 (en) * 2020-09-29 2021-10-26 X Development Llc Paintbrush-like techniques for determining fabricable segmented designs
CN112241993B (zh) * 2020-11-30 2021-03-02 成都完美时空网络技术有限公司 游戏图像处理方法、装置及电子设备
US11461973B2 (en) 2020-12-22 2022-10-04 Meta Platforms Technologies, Llc Virtual reality locomotion via hand gesture
US11232643B1 (en) * 2020-12-22 2022-01-25 Facebook Technologies, Llc Collapsing of 3D objects to 2D images in an artificial reality environment
US11734886B1 (en) * 2021-02-18 2023-08-22 Splunk Inc. Interaction tools in networked remote collaboration
CN114973922B (zh) * 2021-02-25 2024-03-15 北京服装学院 一种服装立体裁剪虚拟现实教学系统及方法
US20230005224A1 (en) * 2021-07-01 2023-01-05 Lenovo (Singapore) Pte. Ltd. Presenting real world view during virtual reality presentation
KR20240036582A (ko) * 2021-07-27 2024-03-20 애플 인크. 물리적 객체와의 사용자 인터페이스에 대한 상호작용들을 관리하기 위한 방법 및 디바이스
CN114882153A (zh) * 2022-04-01 2022-08-09 网易(杭州)网络有限公司 一种动画生成的方法及装置
US20230386158A1 (en) * 2022-05-31 2023-11-30 Snap Inc. Cross-modal shape and color manipulation
CN115657851B (zh) * 2022-10-31 2023-08-29 首都师范大学 一种虚拟现实中基于双手操作的三维绘画方法及系统
US11991222B1 (en) 2023-05-02 2024-05-21 Meta Platforms Technologies, Llc Persistent call control user interface element in an artificial reality environment

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPO850197A0 (en) 1997-08-11 1997-09-04 Silverbrook Research Pty Ltd Image processing method and apparatus (art30)
JP2000003376A (ja) 1998-06-15 2000-01-07 Toyobo Co Ltd 衣服の補正方法及びこの方法を用いた衣服の補正装置
US6222465B1 (en) 1998-12-09 2001-04-24 Lucent Technologies Inc. Gesture-based computer interface
US6404426B1 (en) * 1999-06-11 2002-06-11 Zenimax Media, Inc. Method and system for a computer-rendered three-dimensional mannequin
CA2461038C (en) * 1999-11-15 2009-11-03 My Virtual Model Inc. System and method for displaying selected garments on a computer-simulated mannequin
KR100403332B1 (ko) 2001-07-14 2003-11-07 (주)아트윈텍 패션물의 디자인 삼차원입체 매핑 기능을 갖는 디자인 방법
KR20030039970A (ko) 2001-11-16 2003-05-22 주식회사 해피투웨어 가상공간에서의 의복 디자인 협업 서비스 사업 방법 및이를 구현할 수 있는 프로그램이 수록된 컴퓨터로 읽을 수있는 기록매체
FR2837593B1 (fr) 2002-03-22 2004-05-28 Kenneth Kuk Kei Wang Procede et dispositif de visualisation, d'archivage et de transmission sur un reseau d'ordinateurs d'un modele de vetement
SE0203908D0 (sv) 2002-12-30 2002-12-30 Abb Research Ltd An augmented reality system and method
ES2211357B1 (es) * 2002-12-31 2005-10-16 Reyes Infografica, S.L. Metodo asistido por ordenador para diseñar prendas de vestir.
JP2006215146A (ja) 2005-02-02 2006-08-17 Matsushita Electric Ind Co Ltd 画像表示装置及び画像表示方法
CN101398942A (zh) * 2008-04-24 2009-04-01 中山大学 三维试衣仿真系统
JP4879946B2 (ja) 2008-09-04 2012-02-22 株式会社スクウェア・エニックス 3次元デザイン支援装置及びプログラム
US8947455B2 (en) 2010-02-22 2015-02-03 Nike, Inc. Augmented reality design system
GB201102794D0 (en) 2011-02-17 2011-03-30 Metail Ltd Online retail system
US8606645B1 (en) 2012-02-02 2013-12-10 SeeMore Interactive, Inc. Method, medium, and system for an augmented reality retail application
US9811854B2 (en) * 2013-07-02 2017-11-07 John A. Lucido 3-D immersion technology in a virtual store
US20150316579A1 (en) 2014-05-02 2015-11-05 Qualcomm Incorporated Motion direction determination and application

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200000210A (ko) * 2018-06-22 2020-01-02 주식회사 지이모션 환경 요소를 고려한 의류의 3차원 모델링 방법 및 컴퓨터 프로그램
KR20210077742A (ko) * 2018-12-05 2021-06-25 소니그룹주식회사 패처 툴

Also Published As

Publication number Publication date
GB2555021B (en) 2021-04-28
GB2555021A (en) 2018-04-18
GB201717379D0 (en) 2017-12-06
JP2018535458A (ja) 2018-11-29
US20190347865A1 (en) 2019-11-14
US10509865B2 (en) 2019-12-17
EP3350775A1 (en) 2018-07-25
DE112016004249T5 (de) 2018-06-07
JP6553212B2 (ja) 2019-07-31
WO2017048685A1 (en) 2017-03-23
CN107636585B (zh) 2020-12-29
US20160370971A1 (en) 2016-12-22
CN107636585A (zh) 2018-01-26

Similar Documents

Publication Publication Date Title
JP6553212B2 (ja) バーチャルリアリティ環境内の三次元描画のためのドレスフォーム
US10325407B2 (en) Attribute detection tools for mixed reality
US10872475B2 (en) 3D mobile renderer for user-generated avatar, apparel, and accessories
CN102915112B (zh) 用于近距离动作跟踪的系统和方法
Saakes et al. Mirror mirror: An on-body t-shirt design system
CN106575445B (zh) 毛皮虚拟化身动画
JP2019510297A (ja) ユーザの真実の人体モデルへの仮想的な試着
CN111226189A (zh) 内容显示属性管理
US10001901B2 (en) System and method for texturing in virtual reality and mixed reality environments
EP3814876B1 (en) Placement and manipulation of objects in augmented reality environment
JP4739430B2 (ja) 3次元デザイン支援装置及びプログラム
WO2020104990A1 (en) Virtually trying cloths & accessories on body model
US20220230375A1 (en) Three-dimensional avatar generation and customization
Sarakatsanos et al. A VR application for the virtual fitting of fashion garments on avatars
JP2017220233A (ja) 着用可能な品目のパターンをデザインする装置
Liu Computer 5G virtual reality environment 3D clothing design
US20180165877A1 (en) Method and apparatus for virtual reality animation
CN109935318B (zh) 三维脉波的显示方法、装置、计算机设备及存储介质
Choi Digitalized dynamic fashion design: Graphical patterns in motion
Arora Creative Visual Expression in Immersive 3D Environments
KR101454303B1 (ko) 바이한 아트 초상화 기법
Fu et al. Hanfu AR: Digital Twins of Traditional Chinese Costumes for Augmented Reality Try-On Systems
JP2020013390A (ja) 情報処理装置、情報処理プログラム及び情報処理方法
CN110520821A (zh) 将输入投射到三维物体表示
Westra Virtual Reality Clothing Design

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E601 Decision to refuse application
E801 Decision on dismissal of amendment