【文献】
YASSEEN Z,SKETCH-BASED GARMENT DESIGN WITH QUAD MESHES,COMPUTER AIDED DESIGN,2013年,VOL:45, NR:2,PAGE(S):562 - 567,URL,http://dx.doi.org/10.1016/j.cad.2012.10.041
(58)【調査した分野】(Int.Cl.,DB名)
三次元描画面が、描画を受けるための平面描画ガイドであるように構成されており、前記平面描画ガイドは、前記ドレスフォームオブジェクトの平面に適合されており、少なくとも3本の軸上を回転可能であり、前記ドレスフォームオブジェクト上で調整可能である、請求項1〜請求項3のいずれか1項に記載のコンピュータによって実行される方法。
【発明を実施するための形態】
【0016】
詳細な説明
本開示では、バーチャルリアリティ環境(すなわちVR空間)内で三次元描画を作成する環境を生成するためのさまざまなシステムおよび方法を説明する。ユーザはVR空間にアクセスして、システム生成オブジェクト上に自由コンテンツを描画する(たとえばペイントする)ことによって芸術的なコンテンツを作成し始めることができる。特に、本明細書に記載のシステムおよび方法は、ユーザがファッション関連の描画コンテンツを生成する際に導くVR空間内のファッションフォームまたはドレスフォームを提供し得る。ファッション関連の描画コンテンツは、たとえば、ファッションデザインスケッチブックをエミュレートするためにVR空間で描画される幾何学的な線および形を含み得る。いくつかの実装例では、ファッション関連の描画コンテンツは、衣類(たとえば、シャツ、ズボン、ドレス、スカート、ケープ、ベスト等)およびアクセサリー(たとえば、ハンドバック、宝石類、靴、スカーフ、ベルト、靴下類、帽子、手袋、サングラス、メガネ等)に関係し得る。ドレスフォームは、アーティスト(たとえばファッションデザイナー)の創作意欲を刺激し、アーティストに特定のファッションアイテムおよび衣類のデザインのイメージを作成する気を起こさせるように機能し得る三次元仮想オブジェクトとしてVR空間に提供され得る。ドレスフォームをVR空間で回転させておよび/またはあちこちに動かして、ユーザに没入型のデザイン体験を提供することができる。したがって、たとえば衣類およびアクセサリーに関係するファッション関連の描画コンテンツの確実かつ再現可能な知覚が達成される。当該知覚はしたがって視覚によるものであり得、かつ三次元であり得る。さらに、当該知覚は、たとえば描画コンテンツを作成する際の、ユーザとドレスフォームオブジェクトを含む3D空間のサブセットとの物理的インタラクションにも関連し得る。
【0017】
以下に記載のVR空間は、本明細書に記載のドレスフォームオブジェクト上に描画コンテンツを生成するために使用するブラシ、生地見本、色(たとえば色相)、パターン、カーソル、パネル、キャンバスシミュレータ、形、表面、テクスチャライザ、または他の選択可能なツールおよびテンプレートを含む多数のツールセット(たとえばツールパレット)を含み得る。
【0018】
本開示全体にわたって記載されるドレスフォームオブジェクトは、たとえばユーザ動作または要求に応答して、三次元で生成され得、複数の軸の周りに可動であり得る。複数の軸は、3D描画面の周りの回転または傾斜を提供し得る。3D描画面は、少なくとも3本の軸上に回転可能な二次元(2D)グラフィックにおいてドレスフォームに適合される平面描画ガイドであるように構成され得る。ユーザは平面描画ガイドを使用して、ガイドによって定義される平面内に描画し得る。ユーザがドレスフォームオブジェクト上に描かれた描画コンテンツにさらなる次元を追加したい場合、ユーザは平面描画ガイドを傾斜または回転させてドレスフォームオブジェクト上に新たなコンテンツを描画し始めると同時に、以前の描画コンテンツを、以前の描画コンテンツを生成するために使用した単数または複数の平面内にそのままに、かつ目に見えるように残しておくことができる。
【0019】
いくつかの実装例では、ツールパレットは、データ、芸術、写真、モデル、および/または増強されたリアリティコンテンツを表現する画像を含むがこれらに限定されない2Dまたは3Dオブジェクトを含む既存のファイルをインポートするメカニズムを含み得る。非限定的な一例では、ユーザは、1つ以上のツールにアクセスすることによってVR空間の一部に注釈を付けて、オブジェクトの画像をインポートし得る。ツールパレット内のツールを使用して、VR空間で画像の一部を描画する、下図を描く、ペイントする、走り書きをする、動かす、明るくするもしくは陰にする、または他の方法で生成して操作することによって、コンテンツが追加され得るかまたは画像が変更され得る。適用された任意の変更または注釈の適用の最中およびその後に、最初にアップロードした画像およびユーザが変更した画像を2本以上の軸の周りで操作することができる。また、そのような画像を他のユーザと共有して、元の形式または変更した/注釈を付けた形式で見直すおよび/またはコラボレートすることができる。いくつかの実装例では、複数のユーザがVR空間を使用して、リアルタイムでドレスフォームオブジェクトをコラボレートする、およびドレスフォームオブジェクトに注釈を付けることができる。
【0020】
本開示に記載の特定の実装例は、ユーザがVR空間において三次元で描画することを可能にし得る。ユーザは、たとえば、空中に描画してコントローラ、センサ、または動作追跡可能デバイスと関連付けられているカーソルを制御することによって、開始点および終了点を生成することができる。非限定的な一例では、ユーザは、VR空間内の一部またはオブジェクトを(たとえばブラシストローク、他のオブジェクト、注釈、テクスチャライザ等を用いて)描画できるように、入力デバイスを向けて方向付けることができる。
【0021】
以下に記載のシステムは、ユーザの描画動作を追跡し、それらの動作に基づいて芸術的なまたは注釈付きのコンテンツを生成し、コンテンツ、コンテンツが生成されているx−y面またはy−z面(または他の座標系)をあちこちに動かすことを提供することができる。たとえば、ユーザは動作追跡デバイスをVR空間内に持上げることができる(これによってHMDデバイスを介してユーザにユーザの手を見せることができる)。ユーザは、(3D空間において方位付けられた)選択面法線上に描画/ペイントし始めることができる。別の例では、ユーザが自身の体を囲む円を描画し始めた場合、ユーザが当該円を描画し始めると当該円が動作追跡デバイスから現われることになる。動作追跡デバイスは、VR空間においてペイントブラシ、ペン、コントローラ、または他の選択ツールとしてユーザに示され得る。自身の描画の任意の部分を完成すると、ユーザは平面/表面法線を傾斜させて別のベクトル空間(たとえば別の次元または描画面)内の描画を開始することができる。一例では、ユーザは多数の生地見本をドレスフォームオブジェクトに追加してドレスフォームオブジェクト上にスカートを生成することができる。ユーザは次にドレスフォームオブジェクトを動かすかまたはドレスフォームオブジェクトの周りに動いて、生地の動き、生地によって生じる影と光、およびスカートの全体的なドレープを含むがこれらに限定されないスカートの様子を見ることができる。ユーザはさらに、ドレスフォームオブジェクトを傾斜させる/動かすことによって付加的な描画、細部、またはコンテンツをスカートに追加することができる。
【0022】
いくつかの実装例では、本開示に記載のシステムおよび方法はVR空間内にオブジェクトをインポートすることを提供することができる。たとえば、ユーザはVRアプリケーションをホストしているシステム内にオブジェクトをアップロードすることができる。VRアプリケーションは、当該オブジェクトをVR空間で表示するために提供することができる。一例では、ユーザは特定の体測値を用いて構成されたドレスフォームオブジェクトをアップロードすることができる。そのような測定値を使用して、正確な体型測定値を有する現実的なドレスフォームオブジェクトとしてユーザを表現することができる。
【0023】
一般に、VR空間における表示は、HMDデバイスにアクセスしているユーザが見ることができる。インポートされるオブジェクトを使用して、VR空間内の三次元で描画し始めているユーザに目視基準を提供することができる。オブジェクトは、追跡することができ、またはいくつかの実装例では、ユーザがオブジェクトについての描画または他の表記を再作成するために距離および形を判断可能なガイドとして使用することができる。いくつかの実装例では、ユーザはインポートされるオブジェクト上に描画してオブジェクトの一部に注釈を付けることができる。いくつかの実装例では、ユーザは、オブジェクトおよびオブジェクトと関連付けられている特性を縮小する、増大させる、引延ばす、動かす、向きを変える、傾斜させる、または他の方法で操作することによってオブジェクトを変更することができる。いくつかの実装例では、インポートされるオブジェクトは2Dまたは3Dであってもよく、3Dモデル、スキャン、メッシュモデル、深さコラージュ等を含み得る。インポートされる画像は、CADファイル、jpegファイル、png、ビットマップファイル、または他のファイルタイプを含むがこれらに限定されない任意の表示可能なファイルタイプを含み得る。いくつかの実装例では、ユーザはVR空間内で生成される、変更される、または他の方法で変えられる画像をエクスポートすることができる。
【0024】
いくつかの実装例では、ユーザ/アーティストは、本開示に記載のシステムおよび方法を、選択可能な生地、カラーパレット、パターン、およびブラシ/描画ツールを使用してファッション関連の描画を描画するスケッチパッドとして利用することができる。生成された描画は、後でアニメーション化され、共有され、印刷され、変更され、かつ他の方法でデジタル的にアクセスされ得る。
【0025】
ユーザが三次元描画を作成することができる環境を生成することは、VR空間内にいる間に三次元オブジェクトおよびコンテンツを、VR空間内にいる間に色表現および選択を制御し、グラフィカルユーザインターフェイスを生成し、アニメーションのためにフレームをシーケンス化し、既存の三次元仮想オブジェクトを増強し、VR空間内にいる間にユーザの体を表現し、VR空間内にいる間にユーザ間でコラボレートして観覧するための方法を含み得る。
【0026】
非限定的な例では、ユーザは、サンプルスケッチを見て、コンテンツ/スケッチを描画し、スケッチをアニメーション化した.gifからインポートするかまたはアニメーション化した.gifにエクスポートすることができる。例示的な制御として、キーボード、マウス、3Dコントローラ、またはそれらのいずれかの組合せを使用してポインタを動かすことがあり得る。ポインタは、VR空間で描画されたスケッチツールの下の領域を表わし得る。たとえば、ポインタはスケッチが生成されている領域を表わし得る。例示的なマウス動作として、左マウスクリックを用いて描画すること、中央マウスクリックを用いてVR空間x−y面に沿ってパンすること、右マウスクリックを用いてワールドz軸に沿ってパンすること、およびダブルクリック中央マウスボタンを用いてポインタをスケッチ面の中央にリセットすることがあり得る。
【0027】
VR空間でコンテンツを制御可能な例示的なキーボードキーとして、コントロールキーを押さえてスケッチ面を回転させること、コントロールキーおよび左マウスボタンを押さえてスケッチ面をロール軸に沿って回転させること、シフトキーを押さえてスケッチ面をカメラにロックすること、キャップスロックキーを用いてスケッチ面上でグリッドロックモードをトグルすること、タブキーを押さえてブラシサイズを調整すること、スペースバーを押してスケッチ面をシーンの中央にリセットすること、コントロールキーをダブルタップしてスケッチ面方位をリセットすること、(z)キーを選択してストロークまたはアクションをアンドゥすること、(x)キーを押してストロークまたはアクションをリドゥすることがある。また、このような制御は、特定の表面またはオブジェクトがロックされている間にVR空間で当該表面またはオブジェクトを平行移動させるように構成され得る。
【0028】
また、本明細書に記載のシステムおよび方法は、ユーザおよびユーザが身に着けているHMDデバイスと関連付けられている頭部傾斜挙動および/または視線挙動といった動作を検出して当該動作に反応するように構成され得る。当該システムおよび方法を使用して、3D空間で形状コンテンツを描画するために生成される特定のツールパレットおよびドレスフォームを検出し、それに応じて反応することができる。
【0029】
図1は、ユーザがドレスフォーム像上に三次元描画を生成することができる三次元バーチャルリアリティ環境(たとえばVR空間)を提供するための例示的なシステム100のブロック図である。
【0030】
一般に、システム100は、ユーザが本明細書に記載の方法、構成要素、および技術を使用してアクセスする、見る、および対話することができるようにする3D VR空間、描画ツール/パレット、オブジェクト(たとえばドレスフォームオブジェクト)およびVRコンテンツを提供し得る。特に、システム100は、VR空間内で視線、ハンドジェスチャー、頭部運動、および/または他のユーザベースの動作を使用して画像、コンテンツ、仮想オブジェクト、およびVRコントロールにアクセスするためのオプションをユーザに提供することができる。たとえば、ユーザは、2Dおよび3D入力デバイス、ならびに芸術的な描画または描画もしくは他のVRオブジェクト上の注釈を生成するように構成されたツールを使用して、VR空間の一部に3D描画を生成してそのような描画と対話することができる。
【0031】
図1に示すように、例示的なシステム100は、ネットワーク101上でデータを交換可能な複数のコンピューティングデバイスを含む。当該デバイスはクライアントまたはサーバを表わし得、ネットワーク101または他のネットワークを介して通信可能である。クライアントデバイスは、モバイルデバイス、電子タブレット、ラップトップ、カメラ、ゲームコントローラ、VRメガネもしくはHMDデバイス、またはVRコンテンツにアクセスするために使用され得る他のそのような電子デバイスを含み得る。
【0032】
例示的なシステム100は、モバイルデバイス102、ゲームコントローラ103、ラップトップコンピューティングデバイス104、ヘッドマウントディスプレイ(HMD)デバイス106、およびVR描画システム108を含む。デバイス102,103,104および106はクライアントデバイスを表わし得る。モバイルデバイス102、ゲームコントローラ103、ラップトップ104、およびHMDデバイス106は1つ以上のプロセッサおよび1つ以上のメモリデバイスを含み得る。デバイス102〜106は、それぞれのデバイスに含まれている表示デバイス上のVRコンテンツにアクセス可能な、当該コンテンツを制御可能な、および/または当該コンテンツを表示可能なクライアントオペレーティングシステムおよび1つ以上のクライアントアプリケーションを実行可能である。VR描画システム108はサーバデバイスを表わし得る。一般に、VR描画システム108は、画像、オブジェクト、コンテンツを記憶する任意の数のリポジトリ、ならびに/またはバーチャルリアリティシーンおよびコンテンツの表示を生成、変更、もしくは実行可能なバーチャルリアリティソフトウェアモジュールを含み得る。
【0033】
HMDデバイス106は、バーチャルリアリティコンテンツを表示可能なバーチャルリアリティヘッドセット、メガネ、アイピース、または他のウェアラブルデバイスを表わし得る。動作時、HMDデバイス106は、受信したおよび/または処理した画像をユーザに再生可能なVRアプリケーション110を実行可能である。いくつかの実装例では、VRアプリケーション110は、
図1に示されるデバイス102,103,104,106もしくは108の1つ以上によってホストされ得るか、または当該デバイスとインターフェイスされ得る。
【0034】
いくつかの実装例では、モバイルデバイス102はHMDデバイス106内に配置および/または設置され得る。モバイルデバイス102は、HMDデバイス106のための画面として使用され得る表示デバイスを含み得る。モバイルデバイス102は、VRアプリケーション110を実行するためのハードウェアおよび/またはソフトウェアを含み得る。
【0035】
追加のデバイスも可能であり、そのようなデバイスは互いに代用されるように構成され得る。いくつかの実装例では、デバイス102,103,104,106および108は、ネットワーク101を使用して他のコンピューティングデバイスまたはコンピュータシステムと通信可能なラップトップもしくはデスクトップコンピュータ、スマートフォン、携帯情報端末、ポータブルメディアプレーヤ、タブレットコンピュータ、ゲーム機、または他の適切なコンピューティングデバイスであり得る。
【0036】
例示的なシステム100において、VR描画システム108はVRアプリケーション110を含み得る。VRアプリケーション110は、デバイス102,103,104,106および108のいずれかまたはすべての上で実行されるかまたはそれらにインターフェイスするように構成され得る。HMDデバイス106は、たとえば、デバイス102、デバイス103またはデバイス104に接続されてVR描画システム108上のVRコンテンツにアクセスすることができる。デバイス102〜104はHMDデバイス106に(有線または無線で)接続され得、HMDデバイス106は表示および対話型描画のためのVRコンテンツを提供することができる。
【0037】
HMDデバイスがデバイス102〜104に無線接続される場合は、当該接続は、本明細書に記載の高速無線通信プロトコルの1つ以上の使用を含み得る。HMDデバイス106がデバイス102〜104に配線される場合は、有線接続は、デバイス102〜104に差し込むための適切なコネクタを両端に有するケーブルを含み得る。たとえば、当該ケーブルは、ユニバーサルシリアルバス(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コネクタであってもよい。
【0038】
いくつかの実装例では、1つ以上のコンテンツ/描画サーバ(たとえばVR描画システム108)および1つ以上のコンピュータ読取可能な記憶装置がネットワーク101を使用してコンピューティングデバイス102または104と通信して、VRコンテンツおよび選択可能な描画ツールをデバイス102〜106に提供することができる。いくつかの実装例では、ネットワーク101は公衆通信網(たとえばインターネット、セルラーデータネットワーク、電話網上のダイヤルアップモデム)または専用通信網(たとえば専用LAN、リース回線)であり得る。いくつかの実装例では、コンピューティングデバイス102〜108は、1つ以上の高速有線および/または無線通信プロトコル(たとえば、802.11のバリエーション、WiFi、Bluetooth(登録商標)、伝送制御プロトコル/インターネットプロトコル(TCP/IP)、イーサネット(登録商標)、IEEE802.3等)を使用してネットワーク101と通信可能である。
【0039】
いくつかの実装例では、モバイルデバイス102はVRアプリケーション110を実行し、VR空間にアクセスしているユーザにコンテンツおよび描画能力を提供することができる。いくつかの実装例では、ラップトップコンピューティングデバイス104は、例としてグラフィカルユーザインターフェイス140に示されているように、VRアプリケーション110を実行し、VR空間にアクセスしているユーザにコンテンツおよび描画能力を提供することができる。1つ以上のサーバおよび1つ以上のコンピュータ読取可能な記憶装置はネットワーク101を使用してモバイルデバイス102および/またはラップトップコンピューティングデバイス104と通信して、HMDデバイス106において表示するためのコンテンツおよび描画能力を提供することができる。
【0040】
VR描画システム108は、VR空間内のユーザ位置および動作を追跡し、かつ描画コンテンツを追跡するように構成され得る動作追跡モジュール112を含む。たとえば、動作追跡モジュール112は特に、幾何学的概念を用いて入力デバイスのユーザ動作を判断して描画コンテンツおよびブラシストロークを生成することができる。幾何学的概念はクワッドとして説明される。クワッドは、多面体オブジェクトを定義する頂点、端、および面を含む多角形メッシュを表わし得る。生成されているオブジェクト/描画コンテンツの面は四辺形であり得る。いくつかの実装例では、生成されている描画コンテンツの面は三角形または他の凸状多角形状であり得る。クワッドは、クワッド生成器(図示せず)によって生成および操作され得る。クワッド生成器は、バーチャルリアリティ環境内の位置情報を追跡するための三角形状を生成するように構成され得る。位置情報は、三次元入力デバイスのための最初の入力場所および現在の入力場所に対応し得る。三角形状は、三次元入力デバイスが動かされるたびに生成され得る。クワッド生成器は三角形状を生成可能であり、当該三角形状同士は組合されてバーチャルリアリティ環境で描画コンテンツを生成するように適合されている。描画コンテンツはユーザが選択したテクスチャ、色、生地、ライティングおよび/またはシェーディングを用いて構成され得る。
【0041】
クワッドは、(たとえばブラシ先端または入力メカニズム位置として表わされる)ポインタオブジェクトのための位置情報を定義するために使用され得る少なくとも2つの三角形状(すなわち三角形)を含み得る。三角形状は、バーチャルリアリティ環境で表わされるカーソルのための三次元開始点、および当該カーソルのための三次元終了点を定義する少なくとも2つの三角形を含む。位置情報は、始まりのポインタ場所および現在のポインタ場所を含み得る。ユーザがポインタオブジェクトを3D空間であちこちに動かすと、システム100はクワッドおよび当該クワッドに対応する位置情報を生成することができる。クワッドを定義する三角形の一方または両方の法線を使用して順方向ベクトルを定義することができる。すなわち、ポインタオブジェクトの法線はクワッド内の第1の三角形の法線を表わす。同様に、現在の位置におけるポインタオブジェクトの法線は第2の三角形の法線を表わす。2本の法線のクロス積を実行することによって右ベクトルを得ることができる。ユーザが行なう各動作を使用してクワッドを生成することができ、各クワッドを互いにスティッチングするかまたは付加して滑らかなブラシストローク(たとえば、VR空間で3D描画コンテンツを生成する際にユーザ動作を表わす色、テクスチャ、線画、または他のオブジェクトもしくはアーティファクトのリボン)を生成することができる。
【0042】
クワッドの外観は、テクスチャ、材料、色、およびシェードまたは輝度によって定義される。テクスチャは材料の特性であり、材料はブラシ毎に固有であり、テクスチャがVR空間(たとえばシーン)内のライティングに対して有し得る挙動を定義するように機能する。以下に詳細に説明するように、クワッドの色は頂点毎に設定され、ユーザによって定義される。VR空間からのさまざまな入力を使用してクワッドにシェードを適用して、クワッドの外観を変更することができる。シェードに影響を及ぼし得る入力として、以下に詳細に説明するように、色、時間、音声入力、ワールドスペース位置、モデルスペース位置、および光量値/輝度値がある。
【0043】
いくつかの実装例では、本明細書で使用する材料は、生地、および生地の特性(たとえば、生地重量、生地ドレープ、および生地せん断回復性)に関係し得る。当該特性を使用して、特定のクワッドの外観および動きを判断することができる。動作追跡モジュール112は生地動きシミュレータ114を含み、生地動きシミュレータ114は、本明細書に記載のドレスフォームオブジェクト上に生地が掛けられた/描画されたときの生地の表現の現実的な3Dの動きをシミュレートするために生地の生地重量、生地ドレープ、および生地せん断回復性をシミュレートすることができる。生地動きシミュレータ114は多数の生地データベースにアクセスして、ユーザがVR空間でドレスフォームオブジェクト118上にまたはその近くに配置することができる生地のブラシストロークに適用する生地データにアクセスすることができる。一例では、生地動きシミュレータ114は、ユーザが選択した生地と関連付けられている生地重量情報を得ることによって生地の動きをシミュレートすることができる。シミュレータ114は次に、ユーザと関連付けられている少なくとも1つの入力デバイスから、(1)ユーザ動作方向、および(2)本明細書に記載のドレスフォームオブジェクトと関連付けられている力情報を得ることができる。生地動きシミュレータ114は次に、生地重量および力に基づく速度で生地の少なくとも一部を動かすことができる。たとえば、シミュレータ114は、(たとえば時間および距離と関係している)ユーザ動作、生地特性、およびドレスフォームオブジェクト動作に対する典型的な力を計算することができ、特定の組合せについての動作の閾値レベルを選択することができる。シミュレートされる動作は、ドレスフォームオブジェクトが第2の反対方向に動いていると判断したことに応答して第1の方向に生成され表示され得る。すなわち、ユーザがドレスフォームオブジェクトを右にねじると、ドレープした生地は特定の計算可能な量だけ左に移動し得るかまたは揺れ得る。これには、ドレープした生地である三次元形状コンテンツの視覚的な知覚および当該三次元形状コンテンツとの対話が、VR空間に没入しているユーザにとってより現実的になり得るという効果がある。
【0044】
一般に、生地の重量は、生地の重さ、厚み、または透明度に関係し得る。一般に、重量は、たとえばドレスフォームオブジェクトに掛けられたときに生地の応力点に現われる折り目(たとえば皺)の観察数によって示され得る。これらの折り目は、生地がドレスフォーム上にある時またはない時に一貫して観察され得る。一般に、重量が大きい生地は皺が小さいまたは少ないように見え得る。重量が軽い生地は皺が多いまたは大きいように見え得る。生地動きシミュレータは、特定の生地が掛けられているドレスフォームを動かした際の生地重量をシミュレートすることができる。たとえば、Xは、ユーザがドレスフォームの向きを変えたことに応答して、たとえば、動いているドレスフォームと反対方向に重い生地を僅かに揺らすことによって当該生地をシミュレートすることができる。同様に、Xは、ユーザがドレスフォームの向きを変えたことに応答して、たとえば、動いているドレスフォームの反対方向に軽い生地を急速に揺らすことによって当該生地をシミュレートすることができる。
【0045】
生地のドレープは、生地が自重で垂れ下がる態様と関係し得る。生地のドレープは、生地が見本としてであるか衣類としてであるかに関わらず、人物またはドレスフォームに掛けられると描かれる。編み生地は相対的に柔軟であり得、それらから作られた衣料品は体またはドレスフォーム輪郭に沿う傾向があり得る。織り生地は編み生地と比べると相対的に堅い場合があるため、織り生地は、生地が体またはドレスフォームから離れて垂れ下がって輪郭を覆い隠す傾向があり得る仕立服に使用される。生地ドレープは典型的に、曲げ、せん断、成形性、生地重量、および厚みを含むがこれらに限定されない、生地と関連付けられている機械的特性に関連している。
【0046】
生地のせん断回復性は、生地の応力−歪み曲線を分析することによって求めることができる。たとえば、生地が低レベルの歪みで変形する場合、せん断剛性は最初は大きく、歪みが増加するにつれて減少し得る。生地動きシミュレータ114は、本明細書に記載のドレスフォームオブジェクト上に特定の表現の生地が描画されたときに現実的な動きを描くために、生地の特定のせん断応力および回復性をシミュレートすることができる。たとえば、生地動きシミュレータ114は、本明細書に記載のドレスフォームオブジェクトに特定の生地を取付ける際に、ユーザが設定した重量、ドレープ、および/または張力に従って、当該生地のせん断挙動をシミュレートし得る。
【0047】
図1に示すように、動作追跡モジュール112は描画ガイド生成器116をさらに含み、描画ガイド生成器116は平面描画ガイド118といった平面描画ガイドを生成するように構成されており、平面描画ガイド118は少なくとも3本の軸上に回転可能な二次元(2D)グラフィック内のドレスフォームオブジェクト120に適合される。ユーザは、平面描画ガイド118によって定義される平面内に描画することができる。ユーザがドレスフォームオブジェクト120上に描かれた描画コンテンツにさらなる次元を追加したい場合、ユーザは平面描画ガイド118を傾斜または回転させてドレスフォームオブジェクト120上に新たなコンテンツを描画し始めると同時に、以前の描画コンテンツを、以前の描画コンテンツを生成するために使用した単数または複数の平面内にそのままに、かつ目に見えるように残しておくことができる。
【0048】
いくつかの実装例では、平面描画ガイド118は、3D空間において数学的な2Dまたは3D平面を表現し得る。平面描画ガイド118の目的は、ユーザからの対話を3D空間のサブセットに制約することである。平面描画ガイド118は、ユーザがその中に描画する少なくとも2つの次元を選択できるように3Dビューを提供することができる。平面描画ガイド118の概念はVR空間内の任意の形またはサイズに一般化され得る。たとえば、矩形平面の代わりに、平面描画ガイド118の形は、対称多角形または非対称多角形を含む球体または立方体または複雑な形であり得る。平面描画ガイド118は、ユーザにとって簡単であるようにVR空間との対話の範囲を制限し得る。
【0049】
いくつかの実装例では、動作追跡モジュール112はヘッドトラッキング能力を含み得る。たとえば、HMDデバイス106はユーザの頭が動いている方向を判断することができる。ユーザは、頷く、自身の頭の向きを変える、または自身の頭を傾けることによって、どのツールを選択すべきか、どのパネルにアクセスすべきか、および/またはどの他の機能を呼出すもしくは取消すべきかを指示することができる。
【0050】
いくつかの実装例では、動作追跡モジュール112は視線追跡能力をさらに含み得る。視線追跡は、1つ以上のセンサ、コンピューティングシステム、カメラ、および/またはコントロールと対話して、ユーザがVR空間にいる間にユーザと関連付けられている視線/眼球運動を検出することができる。1つ以上のセンサ、コンピューティングシステム、カメラ、および/またはコントロールは、たとえばHMDデバイス106に収容され得る。視線追跡は、ユーザの視線の方向を追跡または監視(すなわち、ユーザがどこ/どの方向を見ているかを追跡または監視)することができる。一般に、視線追跡は、定義された座標系に対する片目または両目の方位および場所の両方を追跡することを含み得る。
【0051】
VR描画システム108の動作時、ユーザは入力デバイス(たとえば、グラフィカルユーザインターフェイス内のポインタオブジェクトなど)を制御している。ポインタオブジェクトが起動されると、システム108はポインタオブジェクト位置を記録することができる。ポインタオブジェクトが動くと、システム108は以前に記録されたポインタオブジェクト位置との差を測定し、ポインタオブジェクトがユーザによって動かされていることに応答して新たなクワッドを生成することができる。生成された新たなクワッドは2つの三角形を表わし得、順方向ベクトルが点同士の距離によって定義されており、ポインタはクワッド法線として順方向にあり、これら2つのクロス積が右側ベクトルを定義している。クワッドの幅は、ユーザによって制御され得る現在のブラシサイズが乗算される右側ベクトルによって定義され得る。
【0052】
いくつかの実装例では、一定のブラシタイプについて、システム108はクワッド同士を互いにスティッチングしてスムーズなリボン効果を生み出すことができる。クワッド同士をスティッチングすることは、以前のクワッドの前縁を現在のクワッドの後縁と一致させることを含み得る。中点数学計算を使用して、クワッド三角形が他のクワッド三角形上に折畳まれないことが保証され得る。また、2つの連続クワッドの順方向ベクトルのドット積が、スカラーを乗算したベクトルサイズに対する量よりも大きい場合、システム108はリボンの分断をトリガすることができ、これによってクワッドの新たなシーケンスを開始することができる。いくつかの実装例では、連続クワッドの法線に平滑化アルゴリズムを適用して、リボン/ブラシストロークに一貫した外観を生成することができる。
【0053】
いくつかの実装例では、システム108はクワッド同士を互いにスティッチングしなくてもよく、代わりに順方向ベクトルにランダムな方位を割当ててもよく、これはスプレーペイント効果を生み出すように機能し得る。このような効果は、ブラシツールパレットから選択され得るパーティクルブラシと関連付けられ得る。一例では、クワッドを生成して互いにスティッチングする代わりに、システム108はビルボードストライプを生成することができる。
【0054】
図1に示すように、VR描画システム108は、色相124、ブラシ126、生地見本128、およびパターン130を含むがこれらに限定されないツールパレット122をさらに含む。VRアプリケーション110はVR空間内に多数のツールパレット122を提供することができる。ツールパレット122はVR空間において2Dまたは3Dの対話型メニューとして表わされ得る。一例では、ツールパレット122は、多数のユーザ選択可能なコントロールまたはコンテンツを含み得る3Dオブジェクトである。ツールパレット122はVR空間でコンテンツに添付されてもよく、または、VR空間で浮かんでいるように見えて、ユーザ選択を受付けるまたは単に視覚ガイダンスを提供する準備ができた状態であってもよい。いくつかの実装例では、パネルは点灯して、ユーザからの頭部運動または眼球運動をトリガ可能な利用可能なツール、描画面、ポインタ場所、または他のインジケータを示し得る。
【0055】
ツールパレット122は色相124を含むカラーパネルを含み得、これは、三次元空間で三次元立方体として表わされる少なくとも1つのカラーパレットメニューをVR空間で提供するように構成された三次元ツールパレットを表わし得る。立方体は、多数の異なる色相124の強度を表わす空間の横断面を含む二次元飽和領域を含み得る。強度は、各色相が白色と異なる程度を定義し得る。強度は数値で、グラフで、文字で、または両方で描かれ得る。立方体は、選択可能な色相を含む一次元色相領域をさらに含む。色相のうちの1つが選択されると、カラーパネルは、三次元立方体内に選択された色相の少なくとも1つの位置を反映するように二次元飽和領域を自動的に調整し得る。
【0056】
ツールパレット122はブラシ126を含む。ブラシ126は、VRアプリケーション110において描画、オブジェクト、および/またはコンテンツを生成するために使用される任意のツールに適用され得る。ブラシは、当該ブラシと関連付けられている材料およびシェーダーによって定義され得る。材料は任意に、材料の特定のテクスチャ化表現を適用するテクスチャ化アスペクトを含み得る。ブラシ色は一般にユーザによって選択される。
【0057】
以下の表では、ポイントを使用してブラシを選択するかまたはブラシサイズを調整するVR空間でアクセス可能な多数のブラシパネルおよび描画パネルのオプションおよび効果を記載している。
【0060】
一例では、自由形式の描画の代わりに、ユーザは制約ツールを選択して特定の形をペイントまたは描画することができる。1つのそのような例は、ユーザによって選択された開始点から終了点までの直線を選択されたブラシストロークで提供するために選択され得る直線エッジツールを含む。別の例は、ユーザがVR環境で積極的に描画している描画を自由形式でミラーリングするために選択され得るミラーブラシを含む。ミラーブラシは、そのような描画を左右に、上下に、またはその他の2Dもしくは3Dミラーリング角度でミラーリングすることができる。また、ミラーブラシは任意の数の軸に複製可能である。たとえば、ミラーブラシは、3Dミラーリングされた描画が3Dにおいてすべての3本の軸全体にわたって複製可能であるように、軸全体にわたってミラーリングするように設定され得る。機能的に、システム100はポインタにおいてユーザから入力を受信していてもよく、VR空間内のいくつかの空間平面全体にわたってポインタ移動をミラーリングすることができる。ミラーリングは当該平面全体にわたる数学的な反射であり得る。ミラーリングはユーザが描画を生成するのと同時に起こり得る。
【0061】
ツールパレット122は生地見本128(たとえば、VR空間で生地見本を模倣可能な生地ペインタ)を含み得る。生地見本128は、絹、コーデュロイ、綿、レーヨン、ポリエステル、羊毛、皮革、フリース等を含むがこれらに限定されない織物オプションを含み得る。ユーザは、たとえば、1つ以上の生地見本128を選択して、ドレスフォーム132から取出されたドレスフォーム上に描画することができる。描画は、選択した生地タイプの同様の視覚特性を帯び始めるブラシストロークで塗られ得る。たとえば、ユーザが多くの生地見本128(たとえば、VR空間で生地見本を表わす画像)から所望の生地を選択した場合は、描画を線または形の形式で生成することができ、ユーザの望み通りに傾斜させるかまたは伸縮することができる。いくつかの実装例では、ユーザは1つ以上の生地見本同士を組合せることによって、または特定の生地見本に視覚効果を適用することによって生地見本を定義することができる。たとえば、ユーザは生地見本に照明を追加することができる。
【0062】
ツールパレット122はパターン130を含み得る。パターン130は衣料品構成要素、アクセサリー構成要素、ドレスフォーム構成要素、または全体の衣料品もしくはアクセサリーに関係し得る。ユーザはパターン130にアクセスして、そのようなパターンの仮想イメージを選択してVR空間に挿入することができる。いくつかの実装例では、当該パターンは、たとえばユーザがドレスフォームオブジェクト120上に描画またはスケッチできるようにするガイダンスをユーザに提供することができる。
【0063】
図2は、たとえばモバイルデバイス102を用いてVRコンテンツにアクセスしているHMDデバイス106(またはVRデバイス)を示す図である。
図2に示す例では、ユーザ202は(コントローラ103を用いて)システム108においてコンテンツとインターフェイスすることによってVR描画システム108にアクセスしていてもよい。ユーザ202はカラーパレット204にアクセスしていてもよく、ドレスフォームオブジェクト206上にコンテンツを描画していてもよい。描画コンテンツはユーザ202がHMD106内で見ているVR空間内に提供されるため、カラーパレット204およびドレスフォームオブジェクト206を用いる画像は点線図として示されている。
【0064】
VR描画システム108へのアクセスを開始してパネル206を見るために、ユーザ202はデバイス106をユーザ202の目に被せることによってHMDデバイス106を身に付けることができる。いくつかの実装例では、
図1を参照して、HMDデバイス106は、たとえば、1つ以上の高速有線および/もしくは無線通信プロトコル(たとえばWiFi、Bluetooth、Bluetooth LE、USB等)を使用して、またはHEMIインターフェイスを使用することによって、モバイルデバイス102および/またはコントローラ103とインターフェイス/接続可能である。当該接続によって、デバイス106に含まれている画面上でユーザに表示するためのコンテンツをHMDデバイス106に提供することができる。
【0065】
1つ以上のセンサがコントローラ103上に含まれ得、デバイス103およびHMDデバイス106にアクセスしているユーザによってトリガされてVR空間に入力を提供し得る。センサは、タッチスクリーン、加速度計、ジャイロスコープ、圧力センサ、生体認証センサ、温度センサ、湿度センサ、および周囲光センサを含み得るがこれらに限定されない。コントローラ103は当該センサを使用してVR空間内のコントローラ103の絶対位置および/または検出された回転を判断可能であり、それは次に、VR空間への入力として使用され得る。たとえば、コントローラ103は、携帯電話、ペイントブラシ、ペンシルもしくはペン、描画ツール、コントローラ、リモート、または他のオブジェクト等としてVR空間に組込まれ得る。VR空間に組込まれた場合のコントローラ103のユーザによる位置付けは、ユーザが、VR空間において携帯電話、ペイントブラシ、ペンシルもしくはペン、描画ツール、コントローラ、リモート、または他のオブジェクトを位置付けすることを可能にし得る。
【0066】
いくつかの実装例では、1つ以上の入力デバイスを使用してコンテンツにアクセスしてVR空間に入力を提供することができる。入力デバイスは、タッチスクリーン、キーボード、1つ以上のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティク、カメラ、およびマイクロホンを含み得るがこれらに限定されない。入力デバイスと対話するユーザは、特定のアクションがVR空間で生じるようにすることができる。
【0067】
次に
図3A〜
図3Bを参照して、三次元カラーボリュームが示されている。一般に、色は、旧来より二次元面上に表現される三次元の量である。以下の説明は、色を3Dで表現することによって当該色を3D VR空間で表現して選択する方法を含む。
【0068】
色は複雑な概念であり得、通例、コンピュータグラフィックスで使用するために3D色空間に変換させられ得る。色空間を定義することによって、色を特定の座標によって数値的に識別することができる。バーチャルリアリティでは、真の3Dカラーオブジェクトを生成して操作することができる。
【0069】
図3Aは、色相、彩度、明度(HSV)色空間302a、赤、緑、青(RGB)色空間304a、およびLab色空間306aについての色を二次元で表現している。
図3Bは、HSV302b、RGB304b、およびLab306bについての色を三次元で表現している。これらの色空間を真の3DオブジェクトとしてVR空間内にレンダリングすることによって、ユーザはすべてのアクセス可能な色を理解して視覚化することができる。
【0070】
ボリューム内の色を不明瞭にすることなく色空間をレンダリングするために、ユーザはボリューム内に横断面を位置決めすることによって二次元スライスを選択することができる。スライスの前の色は横断面上の色を不明瞭にすることになるため、表現すべきでない。横断面の後ろの色は部分的なまたは完全な透明度でレンダリングされ得る。あらゆる色を選択して、本明細書に記載のドレスフォームオブジェクト上にまたはその近くに描画コンテンツを生成することができる。
【0071】
次に
図4を参照して、横断面を位置決めする1つの方法は、その位置を色空間軸402,404aおよび404bのうちの1つと定義することであることが示されている。これらの軸(402,404a,404b)のうちの1つ以上の値を操作すると、横断面の3D空間における位置が横断面406aから横断面406bに変化する。横断面406b上の色はそれに従って更新される。横断面406a上の単一の2D位置は、その第3の軸404aまたは404bの値と組合されて、所望の色の座標を完全に記述する。横断面406bは、オブジェクト制御に関して上記に説明した他の方法でも位置決め可能である。たとえば、動作コントローラまたはヘッド位置を使用して横断面を操作することができる。
【0072】
次に
図5を参照して、HSVカラーピッカーが示されている。三次元で色を見ると、円錐の底部における狭化(全色が黒に収束するので)が視覚化されるので、どの色が選択に利用可能であるかについてのより正確な考察が提供されることに留意すべきである。示されるように、スクリーンショット500は、色空間502を有する三次元カラーピッカーのプロトタイプアプリケーションである。
【0073】
一般に、三次元色空間の概念、およびカラーピッカーは、単なる三次元色空間よりも複雑な情報を含むように拡張することができる。この例では、VR空間でVR描画システム108において使用されている色がハイライト表示されるため、ユーザはそれらのカラーパレットを三次元で視覚化することができる。色相504はここでは色空間502の右側に示されている。色相は薄さ/明るいまたは薄さおよび暗さの範囲にわたり、これは色、シェード、または数値として表現され得る。色相スライダ(図示せず)を上下にスライドさせると、大きくなっているカラーパレット506aによって示されるように、カラーパレット506aをVR空間で物理的に移動(すなわち仮想移動)させることができる。
【0074】
カラーパレットは3Dで、3Dカラーボックス(たとえばカラーボリューム)として表現することができる。パレットはユーザには3Dに見え、カラーセレクタを表わす横断面空間としてVR空間内に生成されて示され得る。特に、横断面空間は、ユーザが選択可能な色相に従って変換される立方体の横断面として、そして次に、当該立方体を横断面化している位置に従う横断面更新色上のテクスチャとして表わされ得る。ユーザは色相を選択して描画をペイントし始めることができ、追加の色相を再選択して色を変更し、それに応じて再選択した色相で描画を開始することができる。
【0075】
いくつかの実装例では、色相は色ではなくテクスチャであってもよい。たとえば、上述のクワッドは多数のテクスチャを用いて生成することができる。そのようなクワッドが生成されると、描画がユーザによって生成される際に3D形状がクワッドに適用され得る。ユーザが選択するブラシのタイプに依存して、明るさ(たとえば紫外線数値)もクワッドに適用され得る。これによって3D VR空間における光の描画が可能になり得る。いくつかの実装例では、システム100を使用してブラシストローク全体にわたって紫外線色相をゼロ(暗さ)から1(太陽光の明るさ)に伸縮することができる。いくつかの実装例では、システム100は色相を再設定してクワッドの反復する光見本を生成することによって、UVの見本をゼロから1に反復することができる。
【0076】
色は三角形の形態の立方体上に表わされ得る。たとえば、立方体の一部の左下角は、1つの渦(三角形先端)が1つの色相で着色される三角形であってもよく、当該三角形の残りの部分は追加の色相に退色する。各クワッド内の三角形の渦の色は、ユーザが選択した色相/色として示される。一例では、ユーザが白色テクスチャおよび青色を選択した場合は、渦は、そのような色相−テクスチャの組合せでペイントされたブラシストロークを青色として示すことができるように、青く色付けられ得る。
【0077】
色相選択、テクスチャ選択、ブラシ選択に加えて、システム100はさらに、反射値を定義可能なシェーダー選択を可能にし得る。これらの反射値はライティングまたはシェーディングをシミュレートし得る。シェーダー値は、どのようにテクスチャおよび色相がVR空間で表わされるかに影響を及ぼし得る。衣服、靴、化粧、インテリアデザイン、建築、製品、オンライン製品購入、3D印刷物選択、およびペイントチップのためのバーチャルリアリティ色選択のための使用事例。
【0078】
図6は、
図1のVR空間で描かれたドレスフォームオブジェクト602aの例示的なスクリーンショット600である。ここに示されるドレスフォームオブジェクト602aは、ユーザがその上に描画可能な空白のキャンバスを含む。ユーザが第1の平面内でドレスフォームオブジェクト602a上にまたはその近くにコンテンツを描画または配置するのをガイドする平面描画ガイド604が示されている。描かれていないが、平面描画ガイド604aを3本の軸上で傾斜させることができ、傾斜させると、ドレスフォームオブジェクト602aが当該ガイドとともに傾斜し得る。これによってユーザは、たとえば追加の次元内に描画して当該描画に奥行きを追加することができる。
【0079】
ドレスフォームオブジェクト602bに示されるように、平面描画ガイド604bが、ここではVR空間でケープ608内にペイントしている手606として示されているユーザによって使用されていてもよい。ユーザはそのようにするためにツールパレット612内のペイントブラシ610を選択していてもよい。さらに、ユーザはレース生地見本614を選択しており、その所望の生地をケープ608上にペイント/描画し始めている。
【0080】
次に二次元入力特徴を用いるオブジェクト制御をより詳細に参照して、
図3には、VR空間304において見ることができるオブジェクト302が示されている。
図4は従来のコンピュータキーボード402およびマウス404入力メカニズムを示す。
【0081】
ツールセットおよび入力描画にアクセスするために、ユーザはキーボードおよび/またはマウス上のキーを用いて、VR空間でドレスフォーム602aまたは602b内にまたはその周りに描画されたコンテンツ上の目に見える変化をもたらし得る。動作時、キーボードおよびマウスを用いて描画コンテンツの下図を描くと三次元の動きが可能になり得る。すなわち、キーボードは一次元入力を表わすのに対して、マウスは二次元入力を表わす。VR空間は3Dであるため、キーボードとマウスとを組合せると三次元すべてにおける動きが可能になり得る。たとえば、キーボードおよびマウスを用いて、3D VR空間で二次元描画/切断面にアクセスすることができ、ユーザがマウスをあちこちに動かすと、マウスのポインタ(およびVR空間で描画を作成するためのポインタまたは開始点)がその平面上をあちこちに動くことができる。マウスのクリックおよびドラッグならびに追加の動作によって描画を生成することができ、キーボード上の一定のキーを押下することによって平面描画ガイド(たとえば604a,604b)にアクセスすることができる。特に、キーストロークおよびマウス移動および入力を用いて、特定の平面の方位および位置を操作することができる。
【0082】
非限定的な例では、ユーザはケープ608の一部を描画し始めることができ、平面描画ガイド604bを回転(たとえば傾斜)させてから追加のコンテンツを描画またはペイントし始めることができ、これは、ユーザがドレスフォームオブジェクト602bの2つの辺/角度を生成/描画/ペイントしているかのようにVR空間に現われ得る。いくつかの実装例では、ユーザがキーボード上のシフトキーを押さえると、平面描画ガイド604bはユーザの頭部位置にロックされ得る。特に、ユーザがシフトキーを押さえて後ろにもたれると、システム100は平面描画ガイド604bをもたらすことができる。ユーザがキーボード上のシフトキーを押さえて自身の頭を左に向けると、平面描画ガイド604bは左方向に回転するように適合され得る。
【0083】
描画の最中または描画の完成後の任意の点で、システム100は描画のいずれかまたはすべてにアニメーションを適用することができる。たとえば、システム100は動いているケープ608のためのアニメーションを構成してからケープ608のレース生地614を表示してもよい。この動作は、ユーザがオブジェクト602bの周りを動いていることに応答して、またはユーザがドレスフォームオブジェクト602bをねじる、動かす、向きを変える、もしくは傾斜させることに応答して起こり得る。
【0084】
ユーザは、たとえばペイントブラシ610を選択することによって、ツールを使用してドレスフォームオブジェクト602aおよび602b上に描画を生成することができる。ユーザはさらに、色相124、生地見本128(たとえばレース生地614)、パターン130、および/またはドレスフォーム132を含むがこれらに限定されない、パネル612に収容されている1つ以上のツールパレットから他のアイテムを選択することができる。
【0085】
次に
図7Aおよび
図7Bを参照して、色相、パターン、および1つ以上のブラシストロークがユーザによって選択されている。ここで、(描画している手702によって表わされている)ユーザはドレスフォームオブジェクト706上にドレス704aをペイントしている。この例では、ユーザはいくつかの異なるブラシおよび色相を選択して、少なくとも線705によって示されている最初の描画を生成していてもよい。ユーザはカラーツールパレット708からブラシおよび色相を選択していてもよい。カラーツールパレット708は、多数の選択可能な生地見本、多数の描画パターン、ならびに多数の色相/カラーパレット、および/またはオブジェクトをバーチャルリアリティ環境で提供するように構成された多数のアクセス可能な三次元ツールパレットの一部を表わし得る。この例では、カラーツールパレット708は、二次元飽和領域710、複数の色相の強度を表わす空間の横断面712を含む三次元立方体として表わされる色および/または描画パターンのメニューを含み得る。強度は、各色相が白色と異なる程度を定義し得る。カラーツールパレット708は、複数の選択可能な色相を含む一次元色相領域をさらに含み得、当該色相は、選択されると、三次元立方体内に少なくとも1つの選択された色相の位置を反映するように二次元飽和領域を自動的に調整する。描画パターンは、バーチャルリアリティ描画環境で使用するファッション衣料品テンプレートを含み得る。
【0086】
この例では、ユーザはレース生地見本714を選択しており、レース生地見本714はペイントブラシ702で塗られてもよいし塗られなくてもよい。たとえば、ユーザはレース生地見本を既に使用していてもよく(またはそれを近い将来再び使用してもよく)、したがってVR空間において当該見本を自身の描画領域にロックしている。このロック動作を行なって、追加の描画コンテンツを生成する際に参照するためのまたは再選択するための、使用したブラシ、色相、または生地のクリップボードをキャプチャすることができる。
【0087】
図7Bを参照して、完成した描画が描画704bに示されている。ここで、ユーザはドレスフォームオブジェクト706上に自身の描画を完成していてもよく、ブラシストロークを共通の生地、ブラシ、および/または色相選択とマージするようにシステム100に指示していてもよい。たとえば、ブラシストローク705(
図7A)はここでは
図7Bにおいてまとまりのある生地716にマージされて示されている。まとまりのある生地は、並んでいるブラシストローク間に共通のアスペクトを検出したことに応答してシステム100によって生成されていてもよい。この例では、ユーザはさらにデザイン用に帽子718を描画している。帽子718は、レース生地見本714およびブラシ702を使用して生成されたレースリボン720を含む。帽子は、ユーザが生地見本から選択した可能性がある、あるいは帽子上に手で描画した羽飾り722をさらに含む。
【0088】
図8は、複数のドレスフォームオブジェクト802,804および806を使用してVR空間で生成された描画の例示的なスクリーンショット800である。この例では、(描画している手808としてVR空間内に表わされている)ユーザはHMDデバイスを用いてVR空間にアクセスしている。描画空間内に浮かんだ状態で示されているコンテンツおよびパネルは、VR空間内で複数のドレスフォーム像上にコンテンツを生成する際にユーザが見ることになるものの例を示す。ユーザは任意の数のドレスフォーム像を選択することができ、アクセサリーの描画、生地見本、以前に生成した描画、色等を用いて当該像にアクセサリーを付け始めることができる。
【0089】
たとえば、ユーザが色相を選択できるようにするツールパレット810が示されている。追加の生地見本が812,814および816に示されている。生地見本は、ユーザがスクリーンショット800内の描画を用いて表示したい、ユーザが選択した見本を表わし得る。いくつかの実装例では、生地見本812,814および816は単に、ドレスフォームオブジェクト802,804または806上に描かれた色に対する代替的な色を提供してもよい。
【0090】
ドレスフォームオブジェクト802に示されるように、ユーザ808はフリル822のついたスカート820を描画している。スカートは、システム100(たとえば生地動きシミュレータ114)によってアニメーション化されると衣料品の実際のユーザの着用をシミュレート可能な、流れるような生地であり得る。選択される生地は、システム100がデザインプロセス時にまたはその後にシミュレート可能な特性(たとえばせん断、ドレープ、および重量特性)を含む。
【0091】
ドレスフォームオブジェクト804に示されるように、ユーザ808はテニスシャツ824およびスカート826を描画している。シャツ824は生地見本816を利用している。ユーザ808はネックレス828も描き込んでいる。同様に、ユーザはズボン830を用いてドレスフォームオブジェクト806を図案化している。ズボン830は、描画ツールを用いてVR空間において手で描画された、流れる線を含む。ズボン830は可能性のある生地として見本816を含む。ここで、ユーザは、自身のデザインにおける代替的な上着としてタイツ818およびオーバーコートケープ819をさらに生成している。タイツ818およびケープ819は、たとえば、自由空間において生成されていてもよく、または、ドレスフォームオブジェクトのうちの1つの上に生成された後に、別の描画のためのスペースをあけるようにVR空間において脇に動かされていてもよい。
図8に示すコンテンツの一部は平坦な2D平面内に示されているが、コンテンツは実際は3Dである。すなわち、システム100は3D空間においてユーザから二次元の線画を受けて当該線画を3Dに変換することができる。いくつかの実装例では、システム100は、自動的に3Dコンテンツを生成するのではなく、ユーザが自身の2Dデザインに追加の次元を作成することを可能にし得る。
【0092】
一般に、
図8に示すスクリーンショットなどのグラフィカルユーザインターフェイス(GUI)が多数の対話型パネル、ツール、およびメニューとともにVR空間内に提供される。ユーザは二次元または三次元入力デバイスを使用してVR空間のGUI内にコンテンツを生成することができる。パネル、ツール、およびメニューは起動および停止可能である。すべてのドレスフォームオブジェクト802〜806のための描画面を傾斜させて追加のコンテンツを描画することができる。1つのドレスフォームオブジェクトを傾斜させても別のドレスフォームオブジェクトの外観または当該オブジェクトとの対話には影響し得ない。この理由は、各VR空間が多数の仮想領域に分割可能であるためである。
【0093】
VR空間で描画と対話して描画を生成することに加えて、ユーザは描画セッションまたは完成した描画およびドレスフォームデザインをネットワーキングを介して他のユーザと共有したい場合がある。システム100は、共有ユーザのデザインを見たい別のユーザに対する3D VR空間内の当該共有ユーザの位置決めを可能にし得る。共有ユーザが描画と併せて話したい場合、システム100は、共有ユーザが話しているVR空間の部分から音声を提供することができる。
【0094】
図9は、ユーザがその上に三次元描画を生成することができるドレスフォームオブジェクトを有するバーチャルリアリティ環境を提供するプロセスの一実施形態を図示するフローチャートである。
【0095】
ブロック902において、プロセス900は、三次元バーチャルリアリティ環境の表示の表現を生成し、バーチャルリアリティ環境内でドレスフォームオブジェクトを定義することを含み得る。バーチャルリアリティ環境は、コンピューティングデバイスに結合されておりユーザと関連付けられている少なくとも1つの入力デバイスから対話型コマンドを受信するように構成され得る。
【0096】
ブロック904において、プロセス900は、バーチャルリアリティ環境においてドレスフォームオブジェクトおよび多数のツールセットを表示内に表示することを含み得る。ツールセットは、ドレスフォームオブジェクト上に仮想三次元形状コンテンツを生成するように構成され得る。いくつかの実装例では、三次元形状コンテンツはファッション衣料品の少なくとも一部を表わす線および形を含む。たとえば、ユーザが描画する1本の線はVR空間において3Dの線、形、またはフォームとして生成され得る。
【0097】
ブロック906において、プロセス900はツールセットの少なくとも1つにおいて多数の選択を受信することを含み得る。当該選択はユーザ選択に関係し得、色相、生地、およびブラシストロークパターンの1つ以上を含み得る。いくつかの実装例では、色相、生地、およびブラシストロークパターンを使用して、ドレスフォームオブジェクト上に形状コンテンツが生成されて出力され得る。
【0098】
ブロック908において、プロセス900は多数の動作パターンおよび選択に従って三次元形状コンテンツを生成することを含み得る。コンテンツは、少なくとも1つの入力デバイスの入力フィードから複数の動作パターンを受信したことに応答して生成され得る。形状コンテンツはディスプレイ内に、かつドレスフォームオブジェクト上に表示され得る。
【0099】
ブロック910において、プロセス900はドレスフォームオブジェクト上の形状コンテンツのためのアニメーションデータを構成することを含み得る。アニメーションデータは、生地の特性をシミュレートして形状コンテンツを動かすように適合され得る。生地の特性は、生地重量、生地ドレープ、および生地せん断回復性を含み得る。
【0100】
ブロック912において、プロセス900は、構成されたアニメーションデータに従ってドレスフォームオブジェクトをアニメーション化することによって生地の動きをシミュレートし、シミュレーションをバーチャルリアリティ環境において表示することを含み得る。表示は、ドレスフォームオブジェクトの動作を示す追加の動作パターンを受信したことに応答して生成され得る。
【0101】
いくつかの実装例では、プロセス900は、描画を受けるための平面描画ガイドであるように構成された三次元描画面を使用することを含む。平面描画ガイドは、ドレスフォームオブジェクトの平面に適合され得、少なくとも3本の軸上を回転可能であり得、ドレスフォームオブジェクト上で調整可能であり得る。
【0102】
いくつかの実装例では、生地の動きをシミュレートすることはさらに、ユーザが選択した生地と関連付けられている生地重量情報を得ること、ならびにユーザ動作方向およびドレスフォームオブジェクトと関連付けられている力を少なくとも1つの入力デバイスから得ることを含む。加えて、生地の動きをシミュレートすることはさらに、生地重量および力に基づいた速度で生地の少なくとも一部を動かすことを含み得る。この動きは、たとえば、ドレスフォームオブジェクトが第2の反対方向に動いていると判断したことに応答して第1の方向内にあり得る。
【0103】
いくつかの実装例では、プロセス900は、複数のコンピューティングデバイスが共有しているバーチャルリアリティ環境に複数のコンピューティングデバイスが参加できるようにするネットワークインターフェイスを提供することをさらに含む。ネットワークインターフェイスを提供することは、1つ以上の固有に識別される入力デバイスを各々が使用している複数のユーザがドレスフォームオブジェクトを用いてバーチャルリアリティ環境においてコラボレートして形状コンテンツの変更をコラボレートできるようにすることを含み得る。
【0104】
いくつかの実装例では、プロセス900はさらに、バーチャルリアリティ環境で使用する一組の選択可能なドレスフォームオブジェクトを生成することを含み得る。ドレスフォームオブジェクトは人体解剖学と関連付けられている測定に対して構成可能であり得る。
【0105】
図10は、本明細書に記載の手法を用いて使用され得る一般的なコンピュータデバイス1000および一般的なモバイルコンピュータデバイス1050の例を示す。コンピューティングデバイス1000は、プロセッサ1002と、メモリ1004と、記憶装置1006と、メモリ1004および高速拡張ポート1010に接続している高速インターフェイス1008と、低速バス1014および記憶装置1006に接続している低速インターフェイス1012とを含む。コンポーネント1002,1004,1006,1008,1010および1012の各々は、さまざまなバスを使用して相互接続されており、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。プロセッサ1002は、コンピューティングデバイス1000内で実行される命令を処理可能であり、これらの命令は、GUIのためのグラフィック情報を、高速インターフェイス1008に結合されたディスプレイ1016などの外部入出力デバイス上に表示するために、メモリ1004内または記憶装置1006上に格納された命令を含む。他の実装例では、複数のプロセッサおよび/または複数のバスが、複数のメモリおよび複数のタイプのメモリとともに適宜使用されてもよい。加えて、複数のコンピューティングデバイス1000が接続されてもよく、各デバイスは(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)必要な動作の一部を提供する。
【0106】
メモリ1004は、情報をコンピューティングデバイス1000内に格納する。一実装例では、メモリ1004は1つまたは複数の揮発性メモリユニットである。別の実装例では、メモリ1004は1つまたは複数の不揮発性メモリユニットである。メモリ1004はまた、磁気ディスクまたは光ディスクといった別の形態のコンピュータ読取可能媒体であってもよい。
【0107】
記憶装置1006は、コンピューティングデバイス1000のための大容量記憶を提供可能である。一実装例では、記憶装置1006は、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、または、ストレージエリアネットワークもしくは他の構成におけるデバイスを含むデバイスのアレイといった、コンピュータ読取可能媒体であってもよく、または当該コンピュータ読取可能媒体を含んでいてもよい。コンピュータプログラムプロダクトが情報担体において有形に具体化され得る。コンピュータプログラムプロダクトはまた、実行されると上述のような1つ以上の方法を行なう命令を含んでいてもよい。情報担体は、メモリ1004、記憶装置1006、またはプロセッサ1002上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体である。
【0108】
高速コントローラ1008はコンピューティングデバイス1000のための帯域幅集約的な動作を管理し、一方、低速コントローラ1012はより低い帯域幅集約的な動作を管理する。機能のそのような割当ては例示にすぎない。一実装例では、高速コントローラ1008は、メモリ1004、ディスプレイ1016に(たとえば、グラフィックスプロセッサまたはアクセラレータを介して)、および、さまざまな拡張カード(図示せず)を受付け得る高速拡張ポート1010に結合される。この実装例では、低速コントローラ1012は、記憶装置1006および低速拡張ポート1014に結合される。さまざまな通信ポート(たとえば、USB、Bluetooth、イーサネット、無線イーサネット)を含み得る低速拡張ポートは、キーボード、ポインティングデバイス、スキャナなどの1つ以上の入出力デバイスに、または、スイッチもしくはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを介して結合されてもよい。
【0109】
コンピューティングデバイス1000は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、標準サーバ1020として、またはそのようなサーバのグループで複数回実現されてもよい。それはまた、ラックサーバシステム1024の一部として実現されてもよい。加えて、それは、ラップトップコンピュータ1022などのパーソナルコンピュータにおいて実現されてもよい。これに代えて、コンピューティングデバイス1000からのコンポーネントは、デバイス1050などのモバイルデバイス(図示せず)における他のコンポーネントと組合されてもよい。そのようなデバイスの各々は、コンピューティングデバイス1000,1050のうちの1つ以上を含んでいてもよく、システム全体が、互いに通信する複数のコンピューティングデバイス1000,1050で構成されてもよい。
【0110】
コンピューティングデバイス1050は、数あるコンポーネントの中でも特に、プロセッサ1052と、メモリ1064と、ディスプレイ1054などの入出力デバイスと、通信インターフェイス1066と、トランシーバ1068とを含む。デバイス1050にはまた、追加の格納を提供するために、マイクロドライブまたは他のデバイスなどの記憶装置が設けられてもよい。コンポーネント1050,1052,1064,1054,1066および1068の各々は、さまざまなバスを使用して相互接続されており、当該コンポーネントのうちのいくつかは、共通のマザーボード上にまたは他の態様で適宜搭載されてもよい。
【0111】
プロセッサ1052は、メモリ1064に格納された命令を含む、コンピューティングデバイス1050内の命令を実行可能である。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実現されてもよい。プロセッサは、たとえば、ユーザインターフェイス、デバイス1050が実行するアプリケーション、およびデバイス1050による無線通信の制御といった、デバイス1050の他のコンポーネント同士の連携を提供してもよい。
【0112】
プロセッサ1052は、ディスプレイ1054に結合された制御インターフェイス1058およびディスプレイインターフェイス1056を介してユーザと通信してもよい。ディスプレイ1054は、たとえば、TFT LCD(Thin-Film-Transistor Liquid Crystal Display:薄膜トランジスタ液晶ディスプレイ)、またはOLED(Organic Light Emitting Diode:有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェイス1056は、ディスプレイ1054を駆動してグラフィカル情報および他の情報をユーザに提示するための適切な回路を含んでいてもよい。制御インターフェイス1058は、ユーザからコマンドを受信し、それらをプロセッサ1052に送出するために変換してもよい。加えて、デバイス1050と他のデバイスとの近接エリア通信を可能にするように、外部インターフェイス1062がプロセッサ1052と通信した状態で設けられてもよい。外部インターフェイス1062は、たとえば、ある実装例では有線通信を提供し、他の実装例では無線通信を提供してもよく、複数のインターフェイスも使用されてもよい。
【0113】
メモリ1064は、情報をコンピューティングデバイス1050内に格納する。メモリ1064は、1つまたは複数のコンピュータ読取可能媒体、1つまたは複数の揮発性メモリユニット、または、1つまたは複数の不揮発性メモリユニットの1つ以上として実現され得る。拡張メモリ1074も設けられ、拡張インターフェイス1072を介してデバイス1050に接続されてもよく、拡張インターフェイス1072は、たとえばSIMM(Single In Line Memory Module)カードインターフェイスを含んでいてもよい。そのような拡張メモリ1074は、デバイス1050に余分の格納スペースを提供してもよく、または、デバイス1050のためのアプリケーションまたは他の情報も格納してもよい。具体的には、拡張メモリ1074は、上述のプロセスを実行または補足するための命令を含んでいてもよく、安全な情報も含んでいてもよい。このため、たとえば、拡張メモリ1074はデバイス1050のためのセキュリティモジュールとして設けられてもよく、デバイス1050の安全な使用を許可する命令でプログラミングされてもよい。加えて、ハッキング不可能な態様でSIMMカード上に識別情報を乗せるといったように、安全なアプリケーションが追加情報とともにSIMMカードを介して提供されてもよい。
【0114】
メモリはたとえば、以下に説明されるようなフラッシュメモリおよび/またはNVRAMメモリを含んでいてもよい。一実装例では、コンピュータプログラムプロダクトが情報担体において有形に具体化される。コンピュータプログラムプロダクトは、実行されると上述のような1つ以上の方法を実行する命令を含む。情報担体は、メモリ1064、拡張メモリ1074、またはプロセッサ1052上のメモリといった、コンピュータ読取可能媒体または機械読取可能媒体であり、たとえばトランシーバ1068または外部インターフェイス1062を通して受信され得る。
【0115】
デバイス1050は、必要に応じてデジタル信号処理回路を含み得る通信インターフェイス1066を介して無線通信してもよい。通信インターフェイス1066は、とりわけ、GSM(登録商標)音声通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSといった、さまざまなモードまたはプロトコル下での通信を提供してもよい。そのような通信は、たとえば無線周波数トランシーバ1068を介して生じてもよい。加えて、Bluetooth、Wi−Fi、または他のそのようなトランシーバ(図示せず)などを使用して、短距離通信が生じてもよい。加えて、GPS(Global Positioning System:全地球測位システム)レシーバモジュール1070が、追加のナビゲーション関連および位置関連無線データをデバイス1050に提供してもよく、当該データは、デバイス1050上で実行されるアプリケーションによって適宜使用されてもよい。
【0116】
デバイス1050はまた、ユーザから口頭情報を受信してそれを使用可能なデジタル情報に変換し得る音声コーデック1060を使用して、音声通信してもよい。音声コーデック1060は同様に、たとえばデバイス1050のハンドセットにおいて、スピーカを介すなどして、ユーザに聞こえる音を生成してもよい。そのような音は、音声電話からの音を含んでいてもよく、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含んでいてもよく、デバイス1050上で動作するアプリケーションが生成する音も含んでいてもよい。
【0117】
コンピューティングデバイス1050は、図に示すように多くの異なる形態で実現されてもよい。たとえばそれは、携帯電話1080として実現されてもよい。それはまた、スマートフォン1082、携帯情報端末、または他の同様のモバイルデバイスの一部として実現されてもよい。
【0118】
ここに説明されたシステムおよび手法のさまざまな実装例は、デジタル電子回路、集積回路、特定用途向け集積回路ASIC(application specific integrated circuit:特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合わせで実現され得る。これらのさまざまな実装例は、少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つ以上のコンピュータプログラムにおける実装例を含んでいてもよく、当該プロセッサは専用であっても汎用であってもよく、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信するとともに、これらにデータおよび命令を送信するように結合されてもよい。
【0119】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても公知)は、プログラマブルプロセッサのための機械命令を含んでおり、高レベル手続き型および/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ/機械言語で実現され得る。ここに使用されるように、「機械読取可能媒体」「コンピュータ読取可能媒体」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラムプロダクト、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(Programmable Logic Device:PLD))を指し、機械命令を機械読取可能信号として受信する機械読取可能媒体を含む。「機械読取可能信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0120】
ユーザとの対話を提供するために、ここに説明されたシステムおよび手法は、情報をユーザに表示するための表示デバイス(たとえば、CRT(cathode ray tube:陰極線管)またはLCD(liquid crystal display:液晶ディスプレイ)モニタ)と、ユーザが入力をコンピュータに提供できるようにするキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピュータ上で実現され得る。他の種類のデバイスを使用してユーザとの対話を提供することもでき、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)であってもよく、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信され得る。
【0121】
ここに説明されたシステムおよび手法は、(たとえばデータサーバとしての)バックエンドコンポーネントを含む、またはミドルウェアコンポーネント(たとえばアプリケーションサーバ)を含む、またはフロントエンドコンポーネント(たとえば、ユーザがここに説明されたシステムおよび手法の実装例とやりとりできるようにするグラフィカルユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータ)を含む、もしくは、そのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組合わせを含む、コンピューティングシステムにおいて実現され得る。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信(たとえば通信ネットワーク)によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットを含む。
【0122】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは一般に互いにリモートであり、典型的には通信ネットワークを介してやりとりする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されて互いにクライアント−サーバ関係を有するコンピュータプログラムによって生じる。
【0123】
いくつかの実装例では、
図10に示すコンピューティングデバイスは、バーチャルリアリティ(VRヘッドセット1090)とインターフェイス接続するセンサを含み得る。たとえば、
図10に示すコンピューティングデバイス1050または他のコンピューティングデバイス上に含まれる1つ以上のセンサは、VRヘッドセット1090への入力を提供でき、または一般に、VR空間への入力を提供できる。センサは、タッチスクリーン、加速度計、ジャイロスコープ、圧力センサ、生体認証センサ、温度センサ、湿度センサ、および周囲光センサを含み得るものの、それらに限定されない。コンピューティングデバイス1050はこれらのセンサを使用して、VR空間におけるコンピューティングデバイスの絶対位置および/または検出された回転を判断可能であり、それは次に、VR空間への入力として使用され得る。たとえば、コンピューティングデバイス1050は、コントローラ、レーザポインタ、キーボード、武器などの仮想オブジェクトとしてVR空間に組込まれてもよい。VR空間に組込まれた場合のコンピューティングデバイス/仮想オブジェクトのユーザによる位置付けは、ユーザが、VR空間において仮想オブジェクトをある態様で見るようにコンピューティングデバイスを位置付けることを可能にし得る。たとえば、仮想オブジェクトがレーザポインタを表わす場合、ユーザは、コンピューティングデバイスを、実際のレーザポインタであるかのように操作することができる。ユーザはコンピューティングデバイスをたとえば左右に、上下に、円形に動かして、レーザポインタを使用するのと同様の態様でデバイスを使用することができる。
【0124】
いくつかの実装例では、コンピューティングデバイス1050上に含まれ、またはコンピューティングデバイス1050に接続された1つ以上の入力デバイスは、VR空間への入力として使用され得る。入力デバイスは、タッチスクリーン、キーボード、1つ以上のボタン、トラックパッド、タッチパッド、ポインティングデバイス、マウス、トラックボール、ジョイスティック、カメラ、マイクロホン、入力機能性を有するイヤホンまたは小型イヤホン、ゲーミングコントローラ、または他の接続可能な入力デバイスを含み得るものの、それらに限定されない。コンピューティングデバイスがVR空間に組込まれた場合にコンピューティングデバイス1050上に含まれる入力デバイスとやりとりするユーザは、特定のアクションがVR空間で生じるようにすることができる。
【0125】
いくつかの実装例では、コンピューティングデバイス1050のタッチスクリーンは、VR空間においてタッチパッドとしてレンダリングされ得る。ユーザは、コンピューティングデバイス1050のタッチスクリーンとやりとりすることができる。やりとりは、たとえばVRヘッドセット1090において、VR空間におけるレンダリングされたタッチパッド上の動きとしてレンダリングされる。レンダリングされた動きは、VR空間においてオブジェクトを制御することができる。
【0126】
いくつかの実装例では、コンピューティングデバイス1050上に含まれる1つ以上の出力デバイスは、VR空間においてVRヘッドセット1090のユーザに出力および/またはフィードバックを提供することができる。出力およびフィードバックは、視覚、触覚、または音声によるものであり得る。出力および/またはフィードバックは、振動、1つ以上のライトまたはストロボをオンオフすることもしくは点滅および/または明滅させること、アラームを鳴らすこと、チャイムを鳴らすこと、歌を演奏すること、および音声ファイルを演奏することを含み得るものの、それらに限定されない。出力デバイスは、振動モータ、振動コイル、圧電デバイス、静電デバイス、発光ダイオード(LED)、ストロボ、およびスピーカを含み得るものの、それらに限定されない。
【0127】
いくつかの実装例では、コンピューティングデバイス1050は、コンピュータが生成した3D環境において別のオブジェクトのように見えてもよい。ユーザによるコンピューティングデバイス1050とのやりとり(たとえば、タッチスクリーンを回転させること、タッチスクリーンを振動させること、タッチスクリーンに触れること、タッチスクリーンを横切って指をスワイプすること)は、VR空間におけるオブジェクトとのやりとりとして解釈され得る。VR空間におけるレーザポインタの例では、コンピューティングデバイス1050は、コンピュータが生成した3D環境において仮想レーザポインタのように見える。ユーザがコンピューティングデバイス1050を操作すると、ユーザはVR空間においてレーザポインタの動きを見る。ユーザは、コンピューティングデバイス1050上またはVRヘッドセット1090上で、VR環境におけるコンピューティングデバイス1050とのやりとりからフィードバックを受信する。
【0128】
いくつかの実装例では、コンピューティングデバイスに加えて1つ以上の入力デバイス(たとえばマウス、キーボード)が、コンピュータが生成した3D環境においてレンダリングされ得る。レンダリングされた入力デバイス(たとえば、レンダリングされたマウス、レンダリングされたキーボード)は、VR空間においてオブジェクトを制御するために、VR空間においてレンダリングされたとして使用され得る。
【0129】
コンピューティングデバイス1000は、さまざまな形態のデジタルコンピュータを表わすよう意図されている。これらのデジタルコンピュータは、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータを含むがこれらに限定されない。コンピューティングデバイス1050は、携帯情報端末、携帯電話、スマートフォン、および他の同様のコンピューティングデバイスといった、さまざまな形態のモバイルデバイスを表わすよう意図されている。ここに示すコンポーネント、それらの接続および関係、ならびにそれらの機能は、単なる例示であるよう意図されており、本文書に記載のおよび/または請求項に記載の本発明の実装例を限定するよう意図されてはいない。
【0130】
多くの実施形態を説明してきた。しかしながら、明細書の精神および範囲から逸脱することなくさまざまな変更がなされ得ることが理解されるであろう。
【0131】
加えて、図面に示す論理フローは、所望の結果を達成するために、図示された特定の順序または順番を必要としない。加えて、説明されたフローに他のステップが提供されてもよく、または当該フローからステップが除去されてもよく、説明されたシステムに他のコンポーネントが追加されてもよく、または当該システムから除去されてもよい。したがって、他の実施形態は以下の請求項の範囲内にある。
【0132】
以下の例においてさらなる実装例を要約する:
例1:コンピュータによって実現される方法であって、三次元バーチャルリアリティ環境の表示の表現を生成し、バーチャルリアリティ環境内でドレスフォームオブジェクトを定義することを含み、バーチャルリアリティ環境は、コンピューティングデバイスに結合されておりユーザと関連付けられている少なくとも1つの入力デバイスから対話型コマンドを受信するように構成されており、当該方法はさらに、バーチャルリアリティ環境においてドレスフォームオブジェクトおよび複数のツールセットを表示内に表示することを含み、複数のツールセットは、ドレスフォームオブジェクト上に仮想三次元形状コンテンツを生成するように構成されており、当該方法はさらに、複数のツールセットの少なくとも1つにおいて複数の選択を受信することを含み、複数の選択は少なくとも色相、生地、およびブラシストロークパターンを含んでおり、当該方法はさらに、少なくとも1つの入力デバイスの入力フィードから複数の動作パターンを受信したことに応答して、複数の動作パターンおよび選択に従って三次元形状コンテンツを生成し、形状コンテンツを表示内に、かつドレスフォームオブジェクト上に表示することと、ドレスフォームオブジェクト上の形状コンテンツのためのアニメーションデータを構成することとを含み、アニメーションデータは、生地の特性をシミュレートして形状コンテンツを動かすように適合されており、当該方法はさらに、構成されたアニメーションデータに従ってドレスフォームオブジェクトをアニメーション化することによって生地の動きをシミュレートし、シミュレーションをバーチャルリアリティ環境において表示することを含み、表示は、ドレスフォームオブジェクトの動作を示す追加の動作パターンを受信したことに応答して生成される、コンピュータによって実現される方法。
【0133】
例2:三次元形状コンテンツは、ファッション衣料品の少なくとも一部を表わす線および形を含む、例1に記載のコンピュータによって実現される方法。
【0134】
例3:色相、生地、およびブラシストロークパターンを使用して、ドレスフォームオブジェクト上に形状コンテンツが生成されて出力される、例1または2に記載のコンピュータによって実行される方法。
【0135】
例4:三次元描画面が、描画を受けるための平面描画ガイドであるように構成されており、平面描画ガイドは、ドレスフォームオブジェクトの平面に適合されており、少なくとも3本の軸上を回転可能であり、ドレスフォームオブジェクト上で調整可能である、例1から3のいずれかに記載のコンピュータによって実行される方法。
【0136】
例5:生地の特性は、生地重量、生地ドレープ、および生地せん断回復性を含む、例1から4のいずれかに記載のコンピュータによって実行される方法。
【0137】
例6:生地の動きをシミュレートすることはさらに、ユーザが選択した生地と関連付けられている生地重量情報を得ること、ならびにユーザ動作方向およびドレスフォームオブジェクトと関連付けられている力を少なくとも1つの入力デバイスから得ることと、生地重量および力に基づいた速度で生地の少なくとも一部を動かすこととを含み、動かすことは、ドレスフォームオブジェクトが第2の反対方向に動いていると判断したことに応答して第1の方向内にある、例1から5のいずれかに記載のコンピュータによって実行される方法。
【0138】
例7:複数のコンピューティングデバイスが共有しているバーチャルリアリティ環境に複数のコンピューティングデバイスが参加できるようにするネットワークインターフェイスを提供することをさらに含み、ネットワークインターフェイスを提供することは、1つ以上の固有に識別される入力デバイスを各々が使用している複数のユーザがドレスフォームオブジェクトを用いてバーチャルリアリティ環境においてコラボレートして形状コンテンツの変更をコラボレートできるようにすることを含む、例1から6のいずれかに記載のコンピュータによって実行される方法。
【0139】
例8:バーチャルリアリティ環境で使用する一組の選択可能なドレスフォームオブジェクトを生成することをさらに含み、ドレスフォームオブジェクトは人体解剖学と関連付けられている測定に対して構成可能である、例1から7のいずれかに記載のコンピュータによって実行される方法。
【0140】
例9:命令が記録されて格納されている非一時的な記録可能な記憶媒体であって、命令は実行されるとアクションを行ない、アクションは、三次元バーチャルリアリティ環境の表示の表現を生成し、バーチャルリアリティ環境内でドレスフォームオブジェクトを定義し、バーチャルリアリティ環境は、コンピューティングデバイスに結合されておりユーザと関連付けられている少なくとも1つの入力デバイスから対話型コマンドを受信するように構成されており、アクションはさらに、バーチャルリアリティ環境においてドレスフォームオブジェクトおよび複数のツールセットを表示内に表示し、複数のツールセットは、ドレスフォームオブジェクト上に仮想三次元形状コンテンツを生成するように構成されており、アクションはさらに、複数のツールセットの少なくとも1つにおいて複数の選択を受信し、複数の選択は少なくとも色相、生地、およびブラシストロークパターンを含んでおり、アクションはさらに、少なくとも1つの入力デバイスの入力フィードから複数の動作パターンを受信したことに応答して、複数の動作パターンおよび選択に従って三次元形状コンテンツを生成し、形状コンテンツを表示内に、かつドレスフォームオブジェクト上に表示し、ドレスフォームオブジェクト上の形状コンテンツのためのアニメーションデータを構成し、アニメーションデータは、生地の特性をシミュレートして形状コンテンツを動かすように適合されており、アクションはさらに、構成されたアニメーションデータに従ってドレスフォームオブジェクトをアニメーション化することによって生地の動きをシミュレートし、シミュレーションをバーチャルリアリティ環境において表示し、表示は、ドレスフォームオブジェクトの動作を示す追加の動作パターンを受信したことに応答して生成される、非一時的な記録可能な記憶媒体。
【0141】
例10:三次元形状コンテンツは、ファッション衣料品の少なくとも一部を表わす線および形を含む、例9に記載の非一時的な記録可能な記憶媒体。
【0142】
例11:色相、生地、およびブラシストロークパターンを使用して、ドレスフォームオブジェクト上に形状コンテンツが生成されて出力される、例9または10に記載の非一時的な記録可能な記憶媒体。
【0143】
例12:三次元描画面が、描画を受けるための平面描画ガイドであるように構成されており、平面描画ガイドは、ドレスフォームオブジェクトの平面に適合されており、少なくとも3本の軸上を回転可能であり、ドレスフォームオブジェクト上で調整可能である、例9から11のいずれかに記載の非一時的な記録可能な記憶媒体。
【0144】
例13:生地の特性は、生地重量、生地ドレープ、および生地せん断回復性を含む、例9から12のいずれかに記載の非一時的な記録可能な記憶媒体。
【0145】
例14:生地の動きをシミュレートすることはさらに、ユーザが選択した生地と関連付けられている生地重量情報を得ること、ならびにユーザ動作方向およびドレスフォームオブジェクトと関連付けられている力を少なくとも1つの入力デバイスから得ることと、生地重量および力に基づいた速度で生地の少なくとも一部を動かすこととを含み、動かすことは、ドレスフォームオブジェクトが第2の反対方向に動いていると判断したことに応答して第1の方向内にある、例9から13のいずれかに記載の非一時的な記録可能な記憶媒体。
【0146】
例15:命令はさらに、複数のコンピューティングデバイスが共有しているバーチャルリアリティ環境に複数のコンピューティングデバイスが参加できるようにするネットワークインターフェイスを提供することを含み、ネットワークインターフェイスを提供することは、1つ以上の固有に識別される入力デバイスを各々が使用している複数のユーザがドレスフォームオブジェクトを用いてバーチャルリアリティ環境においてコラボレートして形状コンテンツの変更をコラボレートできるようにすることを含む、例9から14のいずれかに記載の非一時的な記録可能な記憶媒体。
【0147】
例16:命令はさらに、バーチャルリアリティ環境で使用する一組の選択可能なドレスフォームオブジェクトを生成することを含み、ドレスフォームオブジェクトは人体解剖学と関連付けられている測定に対して構成可能である、例9から15のいずれかに記載の非一時的な記録可能な記憶媒体。
【0148】
例17:システムであって、三次元バーチャルリアリティ描画環境を含み、当該環境は当該環境内に少なくとも1つのドレスフォームオブジェクトを定義しており、環境は、コンピューティングデバイスに結合されておりユーザと関連付けられている少なくとも1つの入力デバイスから対話型コマンドを受信するように構成されており、当該システムはさらに、動作追跡モジュールを含み、動作追跡モジュールは、バーチャルリアリティ環境とインターフェイスするために使用される少なくとも1つの入力デバイスと関連付けられている複数のユーザ動作に関係する場所情報を検出し、複数の生地特性に基づいて、かつ複数のユーザ動作に応答して、生地の動きをシミュレートするように構成されており、当該システムはさらに、複数の三次元ツールパレットを含み、三次元ツールパレットは、バーチャルリアリティ環境において、複数の生地見本と、複数の描画パターンと、複数の色相の強度を表わす空間の横断面を含む二次元飽和領域を含む三次元立方体として表わされる少なくとも1つのカラーパレットメニューとを提供するように構成されており、強度は、各色相が白色と異なる程度と、複数の選択可能な色相を含む一次元色相領域とを定義しており、色相は、選択されると、三次元立方体内に少なくとも1つの選択された色相の位置を反映するように二次元飽和領域を自動的に調整する、システム。
【0149】
例18:生地の動きをシミュレートすることはさらに、ユーザが選択した生地と関連付けられている生地重量情報を得ること、ならびにユーザ動作方向およびドレスフォームオブジェクトと関連付けられている力を少なくとも1つの入力デバイスから得ることと、生地重量および力に基づいた速度で生地の少なくとも一部を動かすこととを含み、動かすことは、ドレスフォームオブジェクトが第2の反対方向に動いていると判断したことに応答して第1の方向内にある、例17に記載のシステム。
【0150】
例19:複数の生地特性は、生地重量、生地ドレープ、および生地せん断回復性を含む、例17または18に記載システム。
【0151】
例20:複数の描画パターンは、バーチャルリアリティ描画環境で使用するファッション衣料品テンプレートを含む、例17から19のいずれかに記載のシステム。