JP7369212B2 - 空間コンピューティングのための写実的キャラクタ構成 - Google Patents

空間コンピューティングのための写実的キャラクタ構成 Download PDF

Info

Publication number
JP7369212B2
JP7369212B2 JP2021572310A JP2021572310A JP7369212B2 JP 7369212 B2 JP7369212 B2 JP 7369212B2 JP 2021572310 A JP2021572310 A JP 2021572310A JP 2021572310 A JP2021572310 A JP 2021572310A JP 7369212 B2 JP7369212 B2 JP 7369212B2
Authority
JP
Japan
Prior art keywords
character
pose
joint
mixed reality
animation rig
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2021572310A
Other languages
English (en)
Other versions
JPWO2020247863A5 (ja
JP2022534799A (ja
Inventor
トーマス マーシャル ザ フォース ミラー,
ザファル, ナフィーズ ビン
ショーン マイケル コマー,
ジェイムズ ジョナサン バンクロフト,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
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 Magic Leap Inc filed Critical Magic Leap Inc
Publication of JP2022534799A publication Critical patent/JP2022534799A/ja
Priority to JP2023076007A priority Critical patent/JP2023100820A/ja
Publication of JPWO2020247863A5 publication Critical patent/JPWO2020247863A5/ja
Application granted granted Critical
Publication of JP7369212B2 publication Critical patent/JP7369212B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Description

(関連出願の相互参照)
本願は、その内容が、参照することによってその全体として本明細書に組み込まれる、米国仮特許出願第62/858,251号の利点を請求する。
本開示は、概して、複合現実環境内のオブジェクトと関連付けられる描写および相互作用に関する、システム、方法、および構成に関する。
画面上、映画内、およびゲーム内での仮想キャラクタ技術の改良が行われている。仮想キャラクタの開発における次のステップは、それらに、視認者にとってより真実味があって、視認者により没入型の体験を与える、属性を与えるための仮想キャラクタアクションおよび相互作用の改良であり得る。仮想現実、拡張現実、または複合現実環境内でより認知され、ユーザとより直接相互作用し得る、仮想キャラクタは、ユーザに、より人を引き付ける体験を提供し得る。
しかしながら、仮想キャラクタをより実物のような様式において提示することは、より多くの処理を要求し得る。より実物のような仮想キャラクタの提示を最適化することは、特に、システムの可搬性を維持するために、有限バッテリ容量および有限量の処理リソース等のハードウェア限界を有し得る、複合現実システムにとって重要であり得る。複合現実環境内における仮想キャラクタ提示の最適化は、説得力のある仮想キャラクタを作成することの高いハードルを満たすことを含む、すなわち、レンダリング、アニメーション、変形、衣類、髪、および挙動は、キャラクタが真実味がありながら、また、複合現実システムハードウェアの性能エンベロープ内に適合するためのある無形品質レベルを満たす必要があり得る。
仮想キャラクタを複合現実環境内に表示するためのシステムおよび方法が、開示される。いくつかの実施形態では、仮想キャラクタのビューは、一次関節と、ヘルパ関節とを備える、アニメーションリグに基づく。アニメーションリグは、一次関節とヘルパ関節との間の空間関係によって定義された姿勢にあり得る。ヘルパ関節の場所は、ヘルパ関節設置基準によって決定されてもよい。仮想キャラクタは、複合現実環境内で移動してもよい。いくつかのインスタンスでは、仮想キャラクタは、複合現実環境内の要素と関連付けられる関心度値の比較に基づいて、移動していてもよい。移動と関連付けられる、空間関係変換は、移動情報によって示されてもよい。いくつかの実施形態では、移動情報は、ニューラルネットワークから受信される。いくつかの実施形態では、移動情報は、回帰分析を使用して決定される。
本発明は、例えば、以下を提供する。
(項目1)
方法であって、
ウェアラブル頭部デバイスのディスプレイ上において、キャラクタのビューを複合現実環境内に表示することであって、
前記キャラクタのビューは、前記キャラクタと関連付けられるアニメーションリグに基づき、
前記アニメーションリグは、一次関節と、ヘルパ関節とを備え、
前記一次関節は、前記キャラクタの骨格関節と関連付けられ、
前記ヘルパ関節は、前記アニメーションリグの場所と関連付けられ、
第1の時間では、前記アニメーションリグは、前記一次関節と前記ヘルパ関節との間の第1の空間関係によって定義された第1の姿勢にある、ことと、
第2の時間において、前記アニメーションリグが前記第1の姿勢から第2の姿勢に移動していることを決定することであって、前記第2の姿勢は、前記一次関節と前記ヘルパ関節との間の第2の空間関係によって定義される、ことと、
移動情報に基づいて、前記ウェアラブル頭部デバイスのディスプレイ上において、前記アニメーションリグの表示を前記第1の姿勢から前記第2の姿勢に更新することであって、前記移動情報は、前記第1の空間関係から前記第2の空間関係への変換を示す、ことと
を含む、方法。
(項目2)
ニューラルネットワークに、前記アニメーションリグの移動と関連付けられる情報を伝送することと、
前記ニューラルネットワークから、前記移動情報を受信することであって、前記移動情報は、前記伝送される情報に基づく、ことと
をさらに含む、項目1に記載の方法。
(項目3)
前記ニューラルネットワークは、ReLU活性化関数を使用して、前記移動情報を算出する、項目2に記載の方法。
(項目4)
前記移動情報は、前記ニューラルネットワークに提示される訓練データに基づいて、算出される、項目2に記載の方法。
(項目5)
前記ヘルパ関節の場所は、手動定義および最大移動基準のうちの1つ以上のものを備えるヘルパ関節設置基準によって決定される、項目1に記載の方法。
(項目6)
前記移動情報は、前記一次関節と前記ヘルパ関節との間の回帰分析を使用して決定され、前記第2の空間関係を算出する、項目1に記載の方法。
(項目7)
前記アニメーションリグが前記第1の姿勢から前記第2の姿勢に移動していることを決定することは、前記アニメーションリグがキャラクタ不快感閾値時間より長く前記第1の姿勢にあることを決定することを含む、項目1に記載の方法。
(項目8)
前記アニメーションリグが前記第1の姿勢から前記第2の姿勢に移動していることを決定することは、前記ウェアラブル頭部デバイスと関連付けられる通視線が変化していることを決定することを含む、項目1に記載の方法。
(項目9)
前記キャラクタは、前記複合現実環境の表面上に位置付けられるように表示され、前記方法はさらに、
前記ウェアラブル頭部デバイスのセンサを用いて、前記複合現実環境の表面を感知することと、
前記感知された表面に基づいて、前記アニメーションリグおよび前記表面を整合させることであって、前記第1の姿勢は、前記アニメーションリグおよび前記表面の整合に基づいて決定される、ことと
を含む、項目1に記載の方法。
(項目10)
前記第1の空間関係から前記第2の空間関係への変換は、前記アニメーションリグが前記第1の姿勢から前記第2の姿勢に移動しているときの前記キャラクタの筋肉の移動と関連付けられる、項目1に記載の方法。
(項目11)
前記移動情報は、少なくとも部分的に、四元数において表され、
前記移動情報と関連付けられる損失関数は、四元数成分値の平均二乗誤差損失と前記成分値に関するペナルティとを組み合わせることを含む、
項目1に記載の方法。
(項目12)
前記キャラクタのビューを前記複合現実環境内に表示することは、Forward+を使用して、前記キャラクタのビューをレンダリングすることを含む、項目1に記載の方法。
(項目13)
前記アニメーションリグが前記第1の姿勢から前記第2の姿勢に移動していることを決定することは、前記複合現実環境の第1の要素と関連付けられる関心度値が前記複合現実環境の第2の要素と関連付けられる関心度値を超えることを決定することを含む、項目1に記載の方法。
(項目14)
前記第1および第2の要素はそれぞれ、前記複合現実環境の無生物オブジェクトと関連付けられる視線ボックス、前記複合現実環境のイベントと関連付けられる関心面積、および前記複合現実環境内のユーザと関連付けられる社会的三角形のうちの1つと関連付けられる、項目13に記載の方法。
(項目15)
システムであって、
ディスプレイを備えるウェアラブル頭部デバイスと、
1つ以上のプロセッサであって、前記1つ以上のプロセッサは、
前記ディスプレイ上において、キャラクタのビューを複合現実環境内に表示することであって、
前記キャラクタのビューは、前記キャラクタと関連付けられるアニメーションリグに基づき、
前記アニメーションリグは、一次関節と、ヘルパ関節とを備え、
前記一次関節は、前記キャラクタの骨格関節と関連付けられ、
前記ヘルパ関節は、前記アニメーションリグの場所と関連付けられ、
第1の時間では、前記アニメーションリグは、前記一次関節と前記ヘルパ関節との間の第1の空間関係によって定義された第1の姿勢にある、ことと、
第2の時間において、前記アニメーションリグが前記第1の姿勢から第2の姿勢に移動していることを決定することであって、前記第2の姿勢は、前記一次関節と前記ヘルパ関節との間の第2の空間関係によって定義される、ことと、
移動情報に基づいて、前記ディスプレイ上において、前記アニメーションリグの表示を前記第1の姿勢から前記第2の姿勢に更新することであって、前記移動情報は、前記第1の空間関係から前記第2の空間関係への変換を示す、ことと
を含む方法を実行するように構成される、1つ以上のプロセッサと
を備える、システム。
(項目16)
前記方法はさらに、
ニューラルネットワークに、前記アニメーションリグの移動と関連付けられる情報を伝送することと、
前記ニューラルネットワークから、前記移動情報を受信することであって、前記移動情報は、前記伝送される情報に基づく、ことと
を含む、項目15に記載のシステム。
(項目17)
前記アニメーションリグが前記第1の姿勢から前記第2の姿勢に移動していることを決定することは、前記複合現実環境の第1の要素と関連付けられる関心度値が前記複合現実環境の第2の要素と関連付けられる関心度値を超えることを決定することを含む、項目15に記載のシステム。
(項目18)
非一過性コンピュータ可読媒体であって、前記非一過性コンピュータ可読媒体は、命令を記憶しており、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
ウェアラブル頭部デバイスのディスプレイ上において、キャラクタのビューを複合現実環境内に表示することであって、
前記キャラクタのビューは、前記キャラクタと関連付けられるアニメーションリグに基づき、
前記アニメーションリグは、一次関節と、ヘルパ関節とを備え、
前記一次関節は、前記キャラクタの骨格関節と関連付けられ、
前記ヘルパ関節は、前記アニメーションリグの場所と関連付けられ、
第1の時間では、前記アニメーションリグは、前記一次関節と前記ヘルパ関節との間の第1の空間関係によって定義された第1の姿勢にある、ことと、
第2の時間において、前記アニメーションリグが前記第1の姿勢から第2の姿勢に移動していることを決定することであって、前記第2の姿勢は、前記一次関節と前記ヘルパ関節との間の第2の空間関係によって定義される、ことと、
移動情報に基づいて、前記ウェアラブル頭部デバイスのディスプレイ上において、前記アニメーションリグの表示を前記第1の姿勢から前記第2の姿勢に更新することであって、前記移動情報は、前記第1の空間関係から前記第2の空間関係への変換を示す、ことと
を含む方法を実行させる、非一過性コンピュータ可読媒体。
(項目19)
前記方法はさらに、
ニューラルネットワークに、前記アニメーションリグの移動と関連付けられる情報を伝送することと、
前記ニューラルネットワークから、前記移動情報を受信することであって、前記移動情報は、前記伝送される情報に基づく、ことと
を含む、項目18に記載の非一過性コンピュータ可読媒体。
(項目20)
前記アニメーションリグが前記第1の姿勢から前記第2の姿勢に移動していることを決定することは、前記複合現実環境の第1の要素と関連付けられる関心度値が前記複合現実環境の第2の要素と関連付けられる関心度値を超えることを決定することを含む、項目18に記載の非一過性コンピュータ可読媒体。
図1A-1Cは、本開示の1つ以上の実施形態による、例示的環境を図示する。 図1A-1Cは、本開示の1つ以上の実施形態による、例示的環境を図示する。 図1A-1Cは、本開示の1つ以上の実施形態による、例示的環境を図示する。
図2A-2Dは、本開示の実施形態による、例示的複合現実システムのコンポーネントを図示する。 図2A-2Dは、本開示の実施形態による、例示的複合現実システムのコンポーネントを図示する。 図2A-2Dは、本開示の実施形態による、例示的複合現実システムのコンポーネントを図示する。 図2A-2Dは、本開示の実施形態による、例示的複合現実システムのコンポーネントを図示する。
図3Aは、本開示の実施形態による、例示的複合現実ハンドヘルドコントローラを図示する。
図3Bは、本開示の実施形態による、例示的補助ユニットを図示する。
図4は、本開示の実施形態による、例示的複合現実システムの例示的機能的ブロック図を図示する。
図5は、本開示の実施形態による、複合現実環境内の例示的キャラクタを図示する。
図6は、本開示の実施形態による、複合現実システム内の例示的アニメーションリグを図示する。
図7A-7Bは、本開示の実施形態による、例示的複合現実環境の側面を図示する。 図7A-7Bは、本開示の実施形態による、例示的複合現実環境の側面を図示する。
図8は、本開示の実施形態による、複合現実システムの例示的方法を図示する。
図9は、本開示の実施形態による、複合現実システムの例示的方法を図示する。
実施例の以下の説明では、本明細書の一部を形成し、例証として、実践され得る具体的実施例が示される、付随の図面を参照する。他の実施例も、使用されることができ、構造変更が、開示される実施例の範囲から逸脱することなく、行われることができることを理解されたい。
全ての人々と同様に、複合現実システムのユーザは、実環境内に存在する、すなわち、「実世界」の3次元部分と、そのコンテンツの全てとが、ユーザによって知覚可能である。例えば、ユーザは、通常の人間の感覚、すなわち、視覚、音、感触、味、臭いを使用して、実環境を知覚し、実環境内で自身の身体を移動させることによって、実環境と相互作用する。実環境内の場所は、座標空間内の座標として説明されることができる。例えば、座標は、緯度、経度、および海抜に対する高度、基準点から3つの直交次元における距離、または他の好適な値を含むことができる。同様に、ベクトルは、座標空間内の方向および大きさを有する、量を説明することができる。
コンピューティングデバイスは、例えば、デバイスと関連付けられたメモリ内に、仮想環境の表現を維持することができる。本明細書で使用されるように、仮想環境は、3次元空間の算出表現である。仮想環境は、任意のオブジェクトの表現、アクション、信号、パラメータ、座標、ベクトル、またはその空間と関連付けられた他の特性を含むことができる。いくつかの実施例では、コンピューティングデバイスの回路(例えば、プロセッサ)は、仮想環境の状態を維持および更新することができる。すなわち、プロセッサは、第1の時間t0において、仮想環境と関連付けられたデータおよび/またはユーザによって提供される入力に基づいて、第2の時間t1における仮想環境の状態を決定することができる。例えば、仮想環境内のオブジェクトが、時間t0において、第1の座標に位置し、あるプログラムされた物理的パラメータ(例えば、質量、摩擦係数)を有し、ユーザから受信された入力が、力がある方向ベクトルにおいてオブジェクトに印加されるべきであることを示す場合、プロセッサは、運動学の法則を適用し、基本力学を使用して、時間t1におけるオブジェクトの場所を決定することができる。プロセッサは、仮想環境について既知の任意の好適な情報および/または任意の好適な入力を使用して、時間t1における仮想環境の状態を決定することができる。仮想環境の状態を維持および更新する際、プロセッサは、仮想環境内の仮想オブジェクトの作成および削除に関連するソフトウェア、仮想環境内の仮想オブジェクトまたはキャラクタの挙動を定義するためのソフトウェア(例えば、スクリプト)、仮想環境内の信号(例えば、オーディオ信号)の挙動を定義するためのソフトウェア、仮想環境と関連付けられたパラメータを作成および更新するためのソフトウェア、仮想環境内のオーディオ信号を生成するためのソフトウェア、入力および出力をハンドリングするためのソフトウェア、ネットワーク動作を実装するためのソフトウェア、アセットデータ(例えば、仮想オブジェクトを経時的に移動させるためのアニメーションデータ)を適用するためのソフトウェア、または多くの他の可能性を含む、任意の好適なソフトウェアを実行することができる。
ディスプレイまたはスピーカ等の出力デバイスは、仮想環境のいずれかまたは全ての側面をユーザに提示することができる。例えば、仮想環境は、ユーザに提示され得る、仮想オブジェクト(無生物オブジェクト、人々、動物、光等の表現を含み得る)を含んでもよい。プロセッサは、仮想環境のビュー(例えば、原点座標、視軸、および錐台を伴う、「カメラ」に対応する)を決定し、ディスプレイに、そのビューに対応する仮想環境の視認可能場面をレンダリングすることができる。任意の好適なレンダリング技術が、本目的のために使用されてもよい。いくつかの実施例では、視認可能場面は、仮想環境内のいくつかの仮想オブジェクトを含み、ある他の仮想オブジェクトを除外してもよい。同様に、仮想環境は、ユーザに1つ以上のオーディオ信号として提示され得る、オーディオ側面を含んでもよい。例えば、仮想環境内の仮想オブジェクトは、オブジェクトの場所座標から生じる音を生成してもよい(例えば、仮想キャラクタが、発話する、または音効果を生じさせ得る)、または仮想環境は、特定の場所と関連付けられる場合とそうではない場合がある、音楽キューまたは周囲音と関連付けられてもよい。プロセッサは、「聴取者」座標に対応するオーディオ信号、例えば、仮想環境内の音の合成に対応し、聴取者座標において聴取者によって聞こえるであろうオーディオ信号をシミュレートするように混合および処理される、オーディオ信号を決定し、ユーザに、1つ以上のスピーカを介して、オーディオ信号を提示することができる。
仮想環境は、算出構造として存在するため、ユーザは、直接、通常の感覚を使用して、仮想環境を知覚し得ない。代わりに、ユーザは、例えば、ディスプレイ、スピーカ、触覚的出力デバイス等によって、ユーザに提示されるように、間接的に、仮想環境を知覚することができる。同様に、ユーザは、直接、仮想環境に触れる、それを操作する、または別様に、それと相互作用し得ないが、入力データを、入力デバイスまたはセンサを介して、デバイスまたはセンサデータを使用して、仮想環境を更新し得る、プロセッサに提供することができる。例えば、カメラセンサは、ユーザが仮想環境のオブジェクトを移動させようとしていることを示す、光学データを提供することができ、プロセッサは、そのデータを使用して、仮想環境内において、適宜、オブジェクトを応答させることができる。
複合現実システムは、ユーザに、例えば、透過型ディスプレイおよび/または1つ以上のスピーカ(例えば、ウェアラブル頭部デバイスの中に組み込まれ得る)を使用して、実環境および仮想環境の側面を組み合わせる、複合現実環境(「MRE」)を提示することができる。いくつかの実施形態では、1つ以上のスピーカは、ウェアラブル頭部デバイスの外部にあってもよい。本明細書で使用されるように、MREは、実環境および対応する仮想環境の同時表現である。いくつかの実施例では、対応する実および仮想環境は、単一座標空間を共有する。いくつかの実施例では、実座標空間および対応する仮想座標空間は、変換行列(または他の好適な表現)によって相互に関連する。故に、単一座標(いくつかの実施例では、変換行列とともに)は、実環境内の第1の場所と、また、仮想環境内の第2の対応する場所とを定義し得、その逆も同様である。
MREでは、(例えば、MREと関連付けられた仮想環境内の)仮想オブジェクトは、(例えば、MREと関連付けられた実環境内の)実オブジェクトに対応し得る。例えば、MREの実環境が、実街灯柱(実オブジェクト)をある場所座標に含む場合、MREの仮想環境は、仮想街灯柱(仮想オブジェクト)を対応する場所座標に含んでもよい。本明細書で使用されるように、実オブジェクトは、その対応する仮想オブジェクトとともに組み合わせて、「複合現実オブジェクト」を構成する。仮想オブジェクトが対応する実オブジェクトに完璧に合致または整合することは、必要ではない。いくつかの実施例では、仮想オブジェクトは、対応する実オブジェクトの簡略化されたバージョンであることができる。例えば、実環境が、実街灯柱を含む場合、対応する仮想オブジェクトは、実街灯柱と概ね同一高さおよび半径の円筒形を含んでもよい(街灯柱が略円筒形形状であり得ることを反映する)。仮想オブジェクトをこのように簡略化することは、算出効率を可能にすることができ、そのような仮想オブジェクト上で実施されるための計算を簡略化することができる。さらに、MREのいくつかの実施例では、実環境内の全ての実オブジェクトが、対応する仮想オブジェクトと関連付けられなくてもよい。同様に、MREのいくつかの実施例では、仮想環境内の全ての仮想オブジェクトが、対応する実オブジェクトと関連付けられなくてもよい。すなわち、いくつかの仮想オブジェクトが、任意の実世界対応物を伴わずに、MREの仮想環境内にのみ存在し得る。
いくつかの実施例では、仮想オブジェクトは、時として著しく、対応する実オブジェクトのものと異なる、特性を有してもよい。例えば、MRE内の実環境は、緑色の2本の枝が延びたサボテン、すなわち、とげだらけの無生物オブジェクトを含み得るが、MRE内の対応する仮想オブジェクトは、人間の顔特徴および無愛想な態度を伴う、緑色の2本の腕の仮想キャラクタの特性を有してもよい。本実施例では、仮想オブジェクトは、ある特性(色、腕の数)において、その対応する実オブジェクトに類似するが、他の特性(顔特徴、性格)において、実オブジェクトと異なる。このように、仮想オブジェクトは、創造的、抽象的、誇張された、または架空の様式において、実オブジェクトを表す、または挙動(例えば、人間の性格)をそうでなければ無生物である実オブジェクトに付与する潜在性を有する。いくつかの実施例では、仮想オブジェクトは、実世界対応物を伴わない、純粋に架空の創造物(例えば、おそらく、実環境内の虚空に対応する場所における、仮想環境内の仮想モンスタ)であってもよい。
いくつかの実施例では、仮想オブジェクトは、対応する実オブジェクトに類似する、特性を有し得る。例えば、仮想キャラクタは、ユーザに没入型の複合現実体験を提供するために、実物のような人形として、仮想または複合現実環境内に提示されてもよい。実物のような特性を有する、仮想キャラクタを用いることで、ユーザは、実際の人物と相互作用しているように感じ得る。そのようなインスタンスでは、仮想キャラクタの筋肉移動および視線等のアクションが自然に現れることが望ましい。例えば、仮想キャラクタの移動は、その対応する実オブジェクトに類似すべきである(例えば、仮想人間は、実際の人間のように歩行する、またはその腕を移動させるべきである)。別の実施例として、仮想人間のジェスチャおよび位置付けは、自然に現れるべきであって、仮想人間は、ユーザとの相互作用を開始することができる(例えば、仮想人間は、ユーザとの協働体験につながることができる)。実物のような特性を有する、仮想キャラクタの提示は、さらに本明細書に詳細に説明される。
ユーザに、実環境を不明瞭にしながら、仮想環境を提示する、VRシステムと比較して、MREを提示する、複合現実システムは、仮想環境が提示される間、実環境が知覚可能なままであるであるという利点をもたらす。故に、複合現実システムのユーザは、実環境と関連付けられた視覚的およびオーディオキューを使用して、対応する仮想環境を体験し、それと相互作用することが可能である。実施例として、VRシステムのユーザは、本明細書に述べられたように、ユーザが、直接、仮想環境を知覚し得る、またはそれと相互作用し得ないため、仮想環境内に表示される仮想オブジェクトを知覚する、またはそれと相互作用することに苦戦し得るが、MRシステムのユーザは、その自身の実環境内の対応する実オブジェクトが見え、聞こえ、触れることによって、仮想オブジェクトと相互作用することがより直感的および自然であると見出し得る。本レベルの相互作用は、ユーザの仮想環境との没入感、つながり、および関与の感覚を向上させ得る。同様に、実環境および仮想環境を同時に提示することによって、複合現実システムは、VRシステムと関連付けられた負の心理学的感覚(例えば、認知的不協和)および負の物理的感覚(例えば、乗り物酔い)を低減させ得る。複合現実システムはさらに、実世界の我々の体験を拡張または改変し得る用途に関する多くの可能性をもたらす。
図1Aは、ユーザ110が複合現実システム112を使用する、例示的実環境100を図示する。複合現実システム112は、ディスプレイ(例えば、透過型ディスプレイ)と、1つ以上のスピーカと、例えば、本明細書に説明されるような1つ以上のセンサ(例えば、カメラ)とを備えてもよい。示される実環境100は、その中にユーザ110が立っている、長方形の部屋104Aと、実オブジェクト122A(ランプ)、124A(テーブル)、126A(ソファ)、および128A(絵画)とを備える。部屋104Aは、場所座標(例えば、座標系108)を用いて空間的に説明され得、実環境100の場所は、場所座標の原点(例えば、点106)に対して説明され得る。図1Aに示されるように、その原点を点106(世界座標)に伴う、環境/世界座標系108(x-軸108X、y-軸108Y、およびz-軸108Zを備える)は、実環境100のための座標空間を定義し得る。いくつかの実施形態では、環境/世界座標系108の原点106は、複合現実システム112の電源がオンにされた場所に対応してもよい。いくつかの実施形態では、環境/世界座標系108の原点106は、動作の間、リセットされてもよい。いくつかの実施例では、ユーザ110は、実環境100内の実オブジェクトと見なされ得る。同様に、ユーザ110の身体部分(例えば、手、足)は、実環境100内の実オブジェクトと見なされ得る。いくつかの実施例では、その原点を点115(例えば、ユーザ/聴取者/頭部座標)に伴う、ユーザ/聴取者/頭部座標系114(x-軸114X、y-軸114Y、およびz-軸114Zを備える)は、その上に複合現実システム112が位置する、ユーザ/聴取者/頭部のための座標空間を定義し得る。ユーザ/聴取者/頭部座標系114の原点115は、複合現実システム112の1つ以上のコンポーネントに対して定義されてもよい。例えば、ユーザ/聴取者/頭部座標系114の原点115は、複合現実システム112の初期較正等の間、複合現実システム112のディスプレイに対して定義されてもよい。行列(平行移動行列および四元数行列または他の回転行列を含み得る)または他の好適な表現が、ユーザ/聴取者/頭部座標系114空間と環境/世界座標系108空間との間の変換を特性評価することができる。いくつかの実施形態では、左耳座標116および右耳座標117が、ユーザ/聴取者/頭部座標系114の原点115に対して定義されてもよい。行列(平行移動行列および四元数行列または他の回転行列を含み得る)または他の好適な表現が、左耳座標116および右耳座標117とユーザ/聴取者/頭部座標系114空間との間の変換を特性評価することができる。ユーザ/聴取者/頭部座標系114は、ユーザの頭部または頭部搭載型デバイスに対する、例えば、環境/世界座標系108に対する場所の表現を簡略化することができる。同時位置特定およびマッピング(SLAM)、ビジュアルオドメトリ、または他の技法を使用して、ユーザ座標系114と環境座標系108との間の変換が、リアルタイムで決定および更新されることができる。
図1Bは、実環境100に対応する、例示的仮想環境130を図示する。示される仮想環境130は、実長方形部屋104Aに対応する仮想長方形部屋104Bと、実オブジェクト122Aに対応する仮想オブジェクト122Bと、実オブジェクト124Aに対応する仮想オブジェクト124Bと、実オブジェクト126Aに対応する仮想オブジェクト126Bとを備える。仮想オブジェクト122B、124B、126Bと関連付けられたメタデータは、対応する実オブジェクト122A、124A、126Aから導出される情報を含むことができる。仮想環境130は、加えて、仮想キャラクタ132を備え、これは、実環境100内の任意の実オブジェクトに対応し得ない。実環境100内の実オブジェクト128Aは、仮想環境130内の任意の仮想オブジェクトに対応し得ない。その原点を点134(持続的座標)に伴う、持続的座標系133(x-軸133X、y-軸133Y、およびz-軸133Zを備える)は、仮想コンテンツのための座標空間を定義し得る。持続的座標系133の原点134は、実オブジェクト126A等の1つ以上の実オブジェクトと相対的に/それに対して定義されてもよい。行列(平行移動行列および四元数行列または他の回転行列を含み得る)または他の好適な表現は、持続的座標系133空間と環境/世界座標系108空間との間の変換を特性評価することができる。いくつかの実施形態では、仮想オブジェクト122B、124B、126B、および132はそれぞれ、持続的座標系133の原点134に対するその自身の持続的座標点を有してもよい。いくつかの実施形態では、複数の持続的座標系が存在してもよく、仮想オブジェクト122B、124B、126B、および132はそれぞれ、1つ以上の持続的座標系に対するその自身の持続的座標点を有してもよい。
持続的座標データは、物理的環境に対して存続する、座標データであり得る。持続的座標データは、MRシステム(例えば、MRシステム112、200)によって使用され、持続的仮想コンテンツを設置し得、これは、その上に仮想オブジェクトが表示されている、ディスプレイの移動には結び付けられ得ない。例えば、2次元画面が、仮想オブジェクトを画面上のある位置に対して表示し得る。2次元画面が移動するにつれて、仮想コンテンツは、画面に伴って移動し得る。いくつかの実施形態では、持続的仮想コンテンツは、部屋の角に表示され得る。MRユーザが、角を見ると、仮想コンテンツが見え、角から視線を逸らし(仮想コンテンツは、仮想コンテンツが、移動されるユーザの頭部の運動に起因して、ユーザの視野内からユーザの視野外の場所に移動している場合があるため、もはや可視ではなくなり得る)、角における仮想コンテンツが見えるように視線を戻し得る(実オブジェクトが挙動し得る方法に類似する)。
いくつかの実施形態では、持続的座標データ(例えば、持続的座標系および/または持続的座標フレーム)は、原点と、3つの軸とを含むことができる。例えば、持続的座標系は、MRシステムによって、部屋の中心に割り当てられてもよい。いくつかの実施形態では、ユーザが、部屋を動き回り、部屋から外に出て、部屋に再進入する等し得るが、持続的座標系は、部屋の中心に留まり得る(例えば、物理的環境に対して存続するため)。いくつかの実施形態では、仮想オブジェクトは、持続的仮想コンテンツを表示することを有効にし得る、持続的座標データへの変換を使用して表示されてもよい。いくつかの実施形態では、MRシステムは、同時位置特定およびマッピングを使用して、持続的座標データを生成してもよい(例えば、MRシステムは、持続的座標系を空間内の点に割り当ててもよい)。いくつかの実施形態では、MRシステムは、持続的座標データを規則的インターバルにおいて生成することによって、環境をマッピングしてもよい(例えば、MRシステムは、持続的座標系を、持続的座標系が別の持続的座標系の少なくとも5フィート以内にあり得る、グリッド内に割り当ててもよい)。
いくつかの実施形態では、持続的座標データは、MRシステムによって生成され、遠隔サーバに伝送されてもよい。いくつかの実施形態では、遠隔サーバは、持続的座標データを受信するように構成されてもよい。いくつかの実施形態では、遠隔サーバは、複数の観察インスタンスからの持続的座標データを同期させるように構成されてもよい。例えば、複数のMRシステムは、同一部屋と持続的座標データをマッピングし、そのデータを遠隔サーバに伝送してもよい。いくつかの実施形態では、遠隔サーバは、本観察データを使用して、規準持続的座標データを生成してもよく、これは、1つ以上の観察に基づいてもよい。いくつかの実施形態では、規準持続的座標データは、持続的座標データの単一観察より正確および/または信頼性があり得る。いくつかの実施形態では、規準持続的座標データは、1つ以上のMRシステムに伝送されてもよい。例えば、MRシステムは、画像認識および/または場所データを使用して、それが、対応する規準持続的座標データを有する、部屋内に位置することを認識してもよい(例えば、他のMRシステムが、部屋を事前にマッピングしているため)。いくつかの実施形態では、MRシステムは、その場所に対応する規準持続的座標データを遠隔サーバから受信してもよい。
図1Aおよび1Bに関して、環境/世界座標系108は、実環境100および仮想環境130の両方のための共有座標空間を定義する。示される実施例では、座標空間は、その原点を点106に有する。さらに、座標空間は、同一の3つの直交軸(108X、108Y、108Z)によって定義される。故に、実環境100内の第1の場所および仮想環境130内の第2の対応する場所は、同一座標空間に関して説明されることができる。これは、同一座標が両方の場所を識別するために使用され得るため、実および仮想環境内の対応する場所を識別および表示するステップを簡略化する。しかしながら、いくつかの実施例では、対応する実および仮想環境は、共有座標空間を使用する必要がない。例えば、いくつかの実施例では(図示せず)、行列(平行移動行列および四元数行列または他の回転行列を含み得る)または他の好適な表現は、実環境座標空間と仮想環境座標空間との間の変換を特性評価することができる。
図1Cは、同時に、実環境100および仮想環境130の側面をユーザ110に複合現実システム112を介して提示する、例示的MRE150を図示する。示される実施例では、MRE150は、同時に、ユーザ110に、実環境100からの実オブジェクト122A、124A、126A、および128A(例えば、複合現実システム112のディスプレイの透過性部分を介して)と、仮想環境130からの仮想オブジェクト122B、124B、126B、および132(例えば、複合現実システム112のディスプレイのアクティブディスプレイ部分を介して)とを提示する。本明細書に説明されるように、原点106は、MRE150に対応する座標空間のための原点として作用し、座標系108は、座標空間のためのx-軸、y-軸、およびz-軸を定義する。
示される実施例では、複合現実オブジェクトは、座標空間108内の対応する場所を占有する、対応する対の実オブジェクトおよび仮想オブジェクト(例えば、122A/122B、124A/124B、126A/126B)を備える。いくつかの実施例では、実オブジェクトおよび仮想オブジェクトは両方とも、同時に、ユーザ110に可視であってもよい。これは、例えば、仮想オブジェクトが対応する実オブジェクトのビューを拡張させるように設計される情報を提示する、インスタンスにおいて望ましくあり得る(仮想オブジェクトが古代の損傷された彫像の欠けた部分を提示する、博物館用途等)。いくつかの実施例では、仮想オブジェクト(122B、124B、および/または126B)は、対応する実オブジェクト(122A、124A、および/または126A)をオクルードするように、表示されてもよい(例えば、ピクセル化オクルージョンシャッタを使用する、アクティブピクセル化オクルージョンを介して)。これは、例えば、仮想オブジェクトが対応する実オブジェクトのための視覚的置換として作用する、インスタンスにおいて望ましくあり得る(無生物実オブジェクトが「生きている」キャラクタとなる、双方向ストーリーテリング用途等)。
いくつかの実施例では、実オブジェクト(例えば、122A、124A、126A)は、必ずしも、仮想オブジェクトを構成するとは限らない、仮想コンテンツまたはヘルパデータと関連付けられてもよい。仮想コンテンツまたはヘルパデータは、複合現実環境内の仮想オブジェクトの処理またはハンドリングを促進することができる。例えば、そのような仮想コンテンツは、対応する実オブジェクトの2次元表現、対応する実オブジェクトと関連付けられたカスタムアセットタイプ、または対応する実オブジェクトと関連付けられた統計的データを含み得る。本情報は、不必要な算出オーバーヘッドを被ることなく、実オブジェクトに関わる計算を可能にする、または促進することができる。
いくつかの実施例では、本明細書に説明される提示はまた、オーディオ側面を組み込んでもよい。例えば、MRE150では、仮想キャラクタ132は、キャラクタがMRE150の周囲を歩き回るにつれて生成される、足音効果等の1つ以上のオーディオ信号と関連付けられ得る。本明細書に説明されるように、複合現実システム112のプロセッサは、MRE150内の全てのそのような音の混合および処理された合成に対応するオーディオ信号を算出し、複合現実システム112内に含まれる1つ以上のスピーカおよび/または1つ以上の外部スピーカを介して、オーディオ信号をユーザ110に提示することができる。
例示的複合現実システム112は、ディスプレイ(接眼ディスプレイであり得る、左および右透過型ディスプレイと、ディスプレイからの光をユーザの眼に結合するための関連付けられたコンポーネントとを備え得る)と、左および右スピーカ(例えば、それぞれ、ユーザの左および右耳に隣接して位置付けられる)と、慣性測定ユニット(IMU)(例えば、頭部デバイスのつるのアームに搭載される)と、直交コイル電磁受信機(例えば、左つる部品に搭載される)と、ユーザから離れるように配向される、左および右カメラ(例えば、深度(飛行時間)カメラ)と、ユーザに向かって配向される、左および右眼カメラ(例えば、ユーザの眼移動を検出するため)とを備える、ウェアラブル頭部デバイス(例えば、ウェアラブル拡張現実または複合現実頭部デバイス)を含むことができる。しかしながら、複合現実システム112は、任意の好適なディスプレイ技術および任意の好適なセンサ(例えば、光学、赤外線、音響、LIDAR、EOG、GPS、磁気)を組み込むことができる。加えて、複合現実システム112は、ネットワーキング特徴(例えば、Wi-Fi能力、モバイルネットワーク(例えば、4G、5G能力)を組み込み、MRE150および他の複合現実システム内における要素(例えば、仮想キャラクタ132)の提示と関連付けられるデータ処理および訓練データのためのニューラルネットワーク(例えば、クラウド内に)を含む、他のデバイスおよびシステムと通信してもよい。複合現実システム112はさらに、バッテリ(ユーザの腰部の周囲に装着されるように設計されるベルトパック等の補助ユニット内に搭載されてもよい)と、プロセッサと、メモリとを含んでもよい。複合現実システム112のウェアラブル頭部デバイスは、ユーザの環境に対するウェアラブル頭部デバイスの座標セットを出力するように構成される、IMUまたは他の好適なセンサ等の追跡コンポーネントを含んでもよい。いくつかの実施例では、追跡コンポーネントは、入力をプロセッサに提供し、同時位置特定およびマッピング(SLAM)および/またはビジュアルオドメトリアルゴリズムを実施してもよい。いくつかの実施例では、複合現実システム112はまた、ハンドヘルドコントローラ300、および/または本明細書に説明されるように、ウェアラブルベルトパックであり得る補助ユニット320を含んでもよい。
いくつかの実施形態では、アニメーションリグが、仮想キャラクタ132をMRE150内に提示するために使用される。アニメーションリグが、仮想キャラクタ132に関して説明されるが、アニメーションリグは、MRE150内の他のキャラクタ(例えば、人間キャラクタ、動物キャラクタ、抽象キャラクタ)とも関連付けられ得ることを理解されたい。アニメーションリグの移動は、さらに本明細書に詳細に説明される。
図2A-2Dは、MRE(MRE150に対応し得る)または他の仮想環境をユーザに提示するために使用され得る、例示的複合現実システム200(複合現実システム112に対応し得る)のコンポーネントを図示する。図2Aは、例示的複合現実システム200内に含まれるウェアラブル頭部デバイス2102の斜視図を図示する。図2Bは、ユーザの頭部2202上に装着されるウェアラブル頭部デバイス2102の上面図を図示する。図2Cは、ウェアラブル頭部デバイス2102の正面図を図示する。図2Dは、ウェアラブル頭部デバイス2102の例示的接眼レンズ2110の縁視図を図示する。図2A-2Cに示されるように、例示的ウェアラブル頭部デバイス2102は、例示的左接眼レンズ(例えば、左透明導波管セット接眼レンズ)2108と、例示的右接眼レンズ(例えば、右透明導波管セット接眼レンズ)2110とを含む。各接眼レンズ2108および2110は、それを通して実環境が可視となる、透過性要素と、実環境に重複するディスプレイ(例えば、画像毎に変調された光を介して)を提示するためのディスプレイ要素とを含むことができる。いくつかの実施例では、そのようなディスプレイ要素は、画像毎に変調された光の流動を制御するための表面回折光学要素を含むことができる。例えば、左接眼レンズ2108は、左内部結合格子セット2112と、左直交瞳拡張(OPE)格子セット2120と、左出射(出力)瞳拡張(EPE)格子セット2122とを含むことができる。同様に、右接眼レンズ2110は、右内部結合格子セット2118と、右OPE格子セット2114と、右EPE格子セット2116とを含むことができる。画像毎に変調された光は、内部結合格子2112および2118、OPE2114および2120、およびEPE2116および2122を介して、ユーザの眼に転送されることができる。各内部結合格子セット2112、2118は、光をその対応するOPE格子セット2120、2114に向かって偏向させるように構成されることができる。各OPE格子セット2120、2114は、光をその関連付けられたEPE2122、2116に向かって下方に漸次的に偏向させ、それによって、形成されている射出瞳を水平に延在させるように設計されることができる。各EPE2122、2116は、その対応するOPE格子セット2120、2114から受信された光の少なくとも一部を、接眼レンズ2108、2110の背後に定義される、ユーザアイボックス位置(図示せず)に外向きに漸次的に再指向し、アイボックスに形成される射出瞳を垂直に延在させるように構成されることができる。代替として、内部結合格子セット2112および2118、OPE格子セット2114および2120、およびEPE格子セット2116および2122の代わりに、接眼レンズ2108および2110は、ユーザの眼への画像毎に変調された光の結合を制御するための格子および/または屈折および反射性特徴の他の配列を含むことができる。
いくつかの実施例では、ウェアラブル頭部デバイス2102は、左つるのアーム2130と、右つるのアーム2132とを含むことができ、左つるのアーム2130は、左スピーカ2134を含み、右つるのアーム2132は、右スピーカ2136を含む。直交コイル電磁受信機2138は、左こめかみ部品またはウェアラブル頭部ユニット2102内の別の好適な場所に位置することができる。慣性測定ユニット(IMU)2140は、右つるのアーム2132またはウェアラブル頭部デバイス2102内の別の好適な場所に位置することができる。ウェアラブル頭部デバイス2102はまた、左深度(例えば、飛行時間)カメラ2142と、右深度カメラ2144とを含むことができる。深度カメラ2142、2144は、好適には、ともにより広い視野を網羅するように、異なる方向に配向されることができる。
図2A-2Dに示される実施例では、画像毎に変調された光の左源2124は、左内部結合格子セット2112を通して、左接眼レンズ2108の中に光学的に結合されることができ、画像毎に変調された光の右源2126は、右内部結合格子セット2118を通して、右接眼レンズ2110の中に光学的に結合されることができる。画像毎に変調された光の源2124、2126は、例えば、光ファイバスキャナ、デジタル光処理(DLP)チップまたはシリコン上液晶(LCoS)変調器等の電子光変調器を含む、プロジェクタ、または側面あたり1つ以上のレンズを使用して、内部結合格子セット2112、2118の中に結合される、マイクロ発光ダイオード(μLED)またはマイクロ有機発光ダイオード(μOLED)パネル等の発光型ディスプレイを含むことができる。入力結合格子セット2112、2118は、画像毎に変調された光の源2124、2126からの光を、接眼レンズ2108、2110のための全内部反射(TIR)に関する臨界角を上回る角度に偏向させることができる。OPE格子セット2114、2120は、TIRによって伝搬する光をEPE格子セット2116、2122に向かって下方に漸次的に偏向させる。EPE格子セット2116、2122は、ユーザの眼の瞳孔を含む、ユーザの顔に向かって、光を漸次的に結合する。
いくつかの実施例では、図2Dに示されるように、左接眼レンズ2108および右接眼レンズ2110はそれぞれ、複数の導波管2402を含む。例えば、各接眼レンズ2108、2110は、複数の個々の導波管を含むことができ、それぞれ、個別の色チャネル(例えば、赤色、青色、および緑色)専用である。いくつかの実施例では、各接眼レンズ2108、2110は、複数のセットのそのような導波管を含むことができ、各セットは、異なる波面曲率を放出される光に付与するように構成される。波面曲率は、例えば、ユーザの正面のある距離(例えば、波面曲率の逆数に対応する距離)に位置付けられる仮想オブジェクトを提示するように、ユーザの眼に対して凸面であってもよい。いくつかの実施例では、EPE格子セット2116、2122は、各EPEを横断して出射する光のPoyntingベクトルを改変することによって凸面波面曲率をもたらすために、湾曲格子溝を含むことができる。
いくつかの実施例では、表示されるコンテンツが3次元である知覚を作成するために、立体視的に調節される左および右眼像は、画像毎に光変調器2124、2126および接眼レンズ2108、2110を通して、ユーザに提示されることができる。3次元仮想オブジェクトの提示の知覚される現実性は、仮想オブジェクトが立体視左および右画像によって示される距離に近似する距離に表示されるように、導波管(したがって、対応する波面曲率)を選択することによって向上されることができる。本技法はまた、立体視左および右眼像によって提供される深度知覚キューと人間の眼の自動遠近調節(例えば、オブジェクト距離依存焦点)との間の差異によって生じ得る、一部のユーザによって被られる乗り物酔いを低減させ得る。
図2Dは、例示的ウェアラブル頭部デバイス2102の右接眼レンズ2110の上部からの縁視図を図示する。図2Dに示されるように、複数の導波管2402は、3つの導波管の第1のサブセット2404と、3つの導波管の第2のサブセット2406とを含むことができる。導波管の2つのサブセット2404、2406は、異なる波面曲率を出射する光に付与するために異なる格子線曲率を特徴とする、異なるEPE格子によって区別されることができる。導波管2404、2406のサブセットのそれぞれ内において、各導波管は、異なるスペクトルチャネル(例えば、赤色、緑色、および青色スペクトルチャネルのうちの1つ)をユーザの右眼2206に結合するために使用されることができる。図2Dには図示されないが、左接眼レンズ2108の構造は、右接眼レンズ2110の構造に対して鏡映され得る。
図3Aは、複合現実システム200の例示的ハンドヘルドコントローラコンポーネント300を図示する。いくつかの実施例では、ハンドヘルドコントローラ300は、把持部分346と、上部表面348に沿って配置される、1つ以上のボタン350とを含む。いくつかの実施例では、ボタン350は、例えば、カメラまたは他の光学センサ(複合現実システム200の頭部ユニット(例えば、ウェアラブル頭部デバイス2102)内に搭載され得る)と併せて、ハンドヘルドコントローラ300の6自由度(6DOF)運動を追跡するための光学追跡標的として使用するために構成されてもよい。いくつかの実施例では、ハンドヘルドコントローラ300は、ウェアラブル頭部デバイス2102に対する位置または配向等の位置または配向を検出するための追跡コンポーネント(例えば、IMUまたは他の好適なセンサ)を含む。いくつかの実施例では、そのような追跡コンポーネントは、ハンドヘルドコントローラ300のハンドル内に位置付けられてもよく、および/またはハンドヘルドコントローラに機械的に結合されてもよい。ハンドヘルドコントローラ300は、ボタンの押下状態、またはハンドヘルドコントローラ300の位置、配向、および/または運動(例えば、IMUを介して)のうちの1つ以上のものに対応する、1つ以上の出力信号を提供するように構成されることができる。そのような出力信号は、複合現実システム200のプロセッサへの入力として使用されてもよい。そのような入力は、ハンドヘルドコントローラの位置、配向、および/または移動(さらに言うと、コントローラを保持するユーザの手の位置、配向、および/または移動)に対応し得る。そのような入力はまた、ユーザがボタン350を押下したことに対応し得る。
図3Bは、複合現実システム200の例示的補助ユニット320を図示する。補助ユニット320は、エネルギーを提供し、システム200を動作するためのバッテリを含むことができ、プログラムを実行し、システム200を動作させるためのプロセッサを含むことができる。示されるように、例示的補助ユニット320は、補助ユニット320をユーザのベルトに取り付ける等のためのクリップ2128を含む。他の形状因子も、補助ユニット320のために好適であって、ユニットをユーザのベルトに搭載することを伴わない、形状因子を含むことも明白となるであろう。いくつかの実施例では、補助ユニット320は、例えば、電気ワイヤおよび光ファイバを含み得る、多管式ケーブルを通して、ウェアラブル頭部デバイス2102に結合される。補助ユニット320とウェアラブル頭部デバイス2102との間の無線接続もまた、使用されることができる。
いくつかの実施例では、複合現実システム200は、1つ以上のマイクロホンを含み、音を検出し、対応する信号を複合現実システムに提供することができる。いくつかの実施例では、マイクロホンは、ウェアラブル頭部デバイス2102に取り付けられる、またはそれと統合されてもよく、ユーザの音声を検出するように構成されてもよい。いくつかの実施例では、マイクロホンは、ハンドヘルドコントローラ300および/または補助ユニット320に取り付けられる、またはそれと統合されてもよい。そのようなマイクロホンは、環境音、周囲雑音、ユーザまたは第三者の音声、または他の音を検出するように構成されてもよい。
図4は、本明細書に説明される複合現実システム200(図1に関する複合現実システム112に対応し得る)等の例示的複合現実システムに対応し得る、例示的機能ブロック図を示す。ウェアラブルシステム400の実施例が、本開示に説明される方法、動作、および特徴を実装するために使用されてもよい。図4に示されるように、例示的ハンドヘルドコントローラ400B(ハンドヘルドコントローラ300(「トーテム」)に対応し得る)は、トーテム/ウェアラブル頭部デバイス6自由度(6DOF)トーテムサブシステム404Aを含み、例示的ウェアラブル頭部デバイス400A(ウェアラブル頭部デバイス2102に対応し得る)は、トーテム/ウェアラブル頭部デバイス6DOFサブシステム404Bを含む。実施例では、6DOFトーテムサブシステム404Aおよび6DOFサブシステム404Bは、協働し、ウェアラブル頭部デバイス400Aに対するハンドヘルドコントローラ400Bの6つの座標(例えば、3つの平行移動方向におけるオフセットおよび3つの軸に沿った回転)を決定する。6自由度は、ウェアラブル頭部デバイス400Aの座標系に対して表されてもよい。3つの平行移動オフセットは、そのような座標系内におけるX、Y、およびZオフセット、平行移動行列、またはある他の表現として表されてもよい。回転自由度は、ヨー、ピッチ、およびロール回転のシーケンス、回転行列、四元数、またはある他の表現として表されてもよい。いくつかの実施例では、ウェアラブル頭部デバイス400A、ウェアラブル頭部デバイス400A内に含まれる、1つ以上の深度カメラ444(および/または1つ以上の非深度カメラ)、および/または1つ以上の光学標的(例えば、本明細書に説明されるようなハンドヘルドコントローラ400Bのボタン350またはハンドヘルドコントローラ400B内に含まれる専用光学標的)は、6DOF追跡のために使用されることができる。いくつかの実施例では、ハンドヘルドコントローラ400Bは、本明細書に説明されるようなカメラを含むことができ、ウェアラブル頭部デバイス400Aは、カメラと併せた光学追跡のための光学標的を含むことができる。いくつかの実施例では、ウェアラブル頭部デバイス400Aおよびハンドヘルドコントローラ400Bはそれぞれ、3つの直交して配向されるソレノイドのセットを含み、これは、3つの区別可能な信号を無線で送信および受信するために使用される。受信するために使用される、コイルのそれぞれ内で受信される3つの区別可能な信号の相対的大きさを測定することによって、ハンドヘルドコントローラ400Bに対するウェアラブル頭部デバイス400Aの6DOFが、決定され得る。加えて、6DOFトーテムサブシステム404Aは、改良された正確度および/またはハンドヘルドコントローラ400Bの高速移動に関するよりタイムリーな情報を提供するために有用である、慣性測定ユニット(IMU)を含むことができる。
いくつかの実施形態では、ウェアラブルシステム400は、マイクロホンアレイ407を含むことができ、これは、ヘッドギヤデバイス400A上に配列される、1つ以上のマイクロホンを含むことができる。いくつかの実施形態では、マイクロホンアレイ407は、4つのマイクロホンを含むことができる。2つのマイクロホンは、ヘッドギヤ400Aの正面上に設置されることができ、2つのマイクロホンは、頭部ヘッドギヤ400Aの背面に設置されることができる(例えば、1つは、左後ろに、1つは、右後ろに)。いくつかの実施形態では、マイクロホンアレイ407によって受信された信号は、DSP408に伝送されることができる。DSP408は、信号処理をマイクロホンアレイ407から受信された信号上で実施するように構成されることができる。例えば、DSP408は、雑音低減、音響エコーキャンセル、および/またはビーム形成をマイクロホンアレイ407から受信された信号上で実施するように構成されることができる。DSP408は、信号をプロセッサ416に伝送するように構成されることができる。
いくつかの実施例では、例えば、座標系108に対するウェアラブル頭部デバイス400A(例えば、MRシステム112)の移動を補償するために、座標をローカル座標空間(例えば、ウェアラブル頭部デバイス400Aに対して固定される座標空間)から慣性座標空間(例えば、実環境に対して固定される座標空間)に変換することが必要になり得る。例えば、そのような変換は、ウェアラブル頭部デバイス400Aのディスプレイが、ディスプレイ上の固定位置および配向(例えば、ディスプレイの右下角における同一位置)ではなく仮想オブジェクトを実環境に対する予期される位置および配向に提示し(例えば、ウェアラブル頭部デバイスの位置および配向にかかわらず、前方に向いた実椅子に着座している仮想人物)、仮想オブジェクトが実環境内に存在する(かつ、例えば、ウェアラブル頭部デバイス400Aが偏移および回転するにつれて、実環境内に不自然に位置付けられて現れない)という錯覚を保存するために必要であり得る。いくつかの実施例では、座標空間間の補償変換が、座標系108に対するウェアラブル頭部デバイス400Aの変換を決定するために、SLAMおよび/またはビジュアルオドメトリプロシージャを使用して、深度カメラ444からの像を処理することによって決定されることができる。図4に示される実施例では、深度カメラ444は、SLAM/ビジュアルオドメトリブロック406に結合され、像をブロック406に提供することができる。SLAM/ビジュアルオドメトリブロック406実装は、本像を処理し、次いで、頭部座標空間と別の座標空間(例えば、慣性座標空間)との間の変換を識別するために使用され得る、ユーザの頭部の位置および配向を決定するように構成される、プロセッサを含むことができる。同様に、いくつかの実施例では、ユーザの頭部姿勢および場所に関する情報の付加的源が、IMU409から取得される。IMU409からの情報は、SLAM/ビジュアルオドメトリブロック406からの情報と統合され、改良された正確度および/またはユーザの頭部姿勢および位置の高速調節に関する情報をよりタイムリーに提供することができる。
いくつかの実施例では、深度カメラ444は、ウェアラブル頭部デバイス400Aのプロセッサ内に実装され得る、手のジェスチャトラッカ411に、3D像を供給することができる。手のジェスチャトラッカ411は、例えば、深度カメラ444から受信された3D像を手のジェスチャを表す記憶されたパターンに合致させることによって、ユーザの手のジェスチャを識別することができる。ユーザの手のジェスチャを識別する他の好適な技法も、明白となるであろう。
いくつかの実施例では、1つ以上のプロセッサ416は、ウェアラブル頭部デバイスの6DOFヘッドギヤサブシステム404B、IMU409、SLAM/ビジュアルオドメトリブロック406、深度カメラ444、および/または手のジェスチャトラッカ411からのデータを受信するように構成されてもよい。プロセッサ416はまた、制御信号を6DOFトーテムシステム404Aに送信し、そこから受信することができる。プロセッサ416は、ハンドヘルドコントローラ400Bがテザリングされない実施例等では、無線で、6DOFトーテムシステム404Aに結合されてもよい。プロセッサ416はさらに、視聴覚コンテンツメモリ418、グラフィカル処理ユニット(GPU)420、および/またはデジタル信号プロセッサ(DSP)オーディオ空間化装置422等の付加的コンポーネントと通信してもよい。DSPオーディオ空間化装置422は、頭部関連伝達関数(HRTF)メモリ425に結合されてもよい。GPU420は、画像毎に変調された光の左源424に結合される、左チャネル出力と、画像毎に変調された光の右源426に結合される、右チャネル出力とを含むことができる。GPU420は、例えば、図2A-2Dに関して本明細書に説明されるように、立体視画像データを画像毎に変調された光の源424、426に出力することができる。いくつかの実施例では、GPU420は、仮想要素をウェアラブルシステム400のディスプレイ上に提示されるMRE内にレンダリングするために使用されてもよい。DSPオーディオ空間化装置422は、オーディオを左スピーカ412および/または右スピーカ414に出力することができる。DSPオーディオ空間化装置422は、プロセッサ419から、ユーザから仮想音源(例えば、ハンドヘルドコントローラ320を介して、ユーザによって移動され得る)への方向ベクトルを示す入力を受信することができる。方向ベクトルに基づいて、DSPオーディオ空間化装置422は、対応するHRTFを決定することができる(例えば、HRTFにアクセスすることによって、または複数のHRTFを補間することによって)。DSPオーディオ空間化装置422は、次いで、決定されたHRTFを仮想オブジェクトによって生成された仮想音に対応するオーディオ信号等のオーディオ信号に適用することができる。これは、複合現実環境内の仮想音に対するユーザの相対的位置および配向を組み込むことによって、すなわち、その仮想音が実環境内の実音である場合に聞こえるであろうもののユーザの予期に合致する仮想音を提示することによって、仮想音の信憑性および現実性を向上させることができる。
いくつかの実施形態では、複合現実環境内のグラフィック(例えば、仮想キャラクタ)は、「Forward+」を使用してレンダリングされてもよく、これは、G-バッファを伴わない、デスクトップレンダラのバージョンである。例示的利点として、Forward+は、モバイルレンダラと比較して、照明および表面陰影モデルのより広い選択肢、コンピュートシェーダ最適化スキニングおよびモーフィング後標的正規再計算、およびより多くの後処理オプションを含む。そのようなレンダラを使用して、かつエンジンソースコードへのアクセスを用いることで、キャラクタ関連エンジン特徴および陰影モデルのカスタム変更が、行われ得る。加えて、Forward+は、複合現実システムをG-バッファの欠如に起因するボトルネックから解放し、GPU(例えば、GPU420)上のそうでなければ未使用のサイクルが利用されることを可能にし得る。対照的に、完全遅延モードにおいてレンダリングし、グラフィックをステレオにおいて60フレーム/秒で維持することは、複合現実システムに、他のランタイム算出のための余地を殆ど残し得ない。
いくつかの実施形態では、複合現実システムのハードウェアおよびソフトウェアスタックは、Vulkan等のグラフィックアプリケーションプログラミングインターフェースをサポートする。例示的利点として、Vulkanは、CPU上の余地を解放し、システムが、CPUおよびGPUリソースの配分をシャッフルし、より良好な性能を達成させる(例えば、60フレーム/秒ステレオを超えて)ことを可能にし得る。
図4に示されるようないくつかの実施例では、プロセッサ416、GPU420、DSPオーディオ空間化装置422、HRTFメモリ425、およびオーディオ/視覚的コンテンツメモリ418のうちの1つ以上のものは、補助ユニット400C(本明細書に説明される補助ユニット320に対応し得る)内に含まれてもよい。補助ユニット400Cは、バッテリ427を含み、そのコンポーネントを給電し、および/または電力をウェアラブル頭部デバイス400Aまたはハンドヘルドコントローラ400Bに供給してもよい。そのようなコンポーネントを、ユーザの腰部に搭載され得る、補助ユニット内に含むことは、ウェアラブル頭部デバイス400Aのサイズおよび重量を限定することができ、これは、ひいては、ユーザの頭部および頸部の疲労を低減させることができる。
図4は、例示的ウェアラブルシステム400の種々のコンポーネントに対応する、要素を提示するが、これらのコンポーネントの種々の他の好適な配列も、当業者に明白となるであろう。例えば、図示されるヘッドギヤデバイス400Aは、プロセッサおよび/またはバッテリ(図示せず)を含んでもよい。含まれるプロセッサおよび/またはバッテリは、補助ユニット400Cのプロセッサおよび/またはバッテリとともに動作する、またはその代わりに動作してもよい。概して、別の実施例として、補助ユニット400Cと関連付けられるように、図4に提示される要素またはそれ関して説明される機能性が、代わりに、ヘッドギヤデバイス400Aまたはハンドヘルドコントローラ400Bと関連付けられ得る。さらに、いくつかのウェアラブルシステムは、ハンドヘルドコントローラ400Bまたは補助ユニット400Cを全体的になくしてもよい。そのような変更および修正は、開示される実施例の範囲内に含まれるものとして理解されるものとする。
図5は、本開示の実施形態による、複合現実環境内の例示的キャラクタを図示する。仮想キャラクタ500は、「Mica」として公知である、またはそのように称される、自律的かつ写実的人間キャラクタであり得る。キャラクタ500は、複合現実システム(例えば、複合現実システム112、複合現実システム200、ウェアラブルシステム400)のディスプレイ上に提示されるように構成されてもよい。例えば、キャラクタ500は、MRE150内の仮想キャラクタ132であってもよい。いくつかの実施形態では、アニメーションリグは、仮想キャラクタ132をMRE150内に提示するために使用される。仮想キャラクタ500の顔および頸部が、図5に示されるが、仮想キャラクタ500の説明は、キャラクタの全身に適用可能であり得ることを理解されたい。
キャラクタ500は、異なる個々の人間の合成に基づいてもよい。キャラクタ500は、キャラクタに一意の芸術的設計を含んでもよい。キャラクタの基本3Dモデルおよびテクスチャは、高分解能写真測量法システム内のアクタを走査することによって入手されてもよい。走査されるモデルは、次いで、キャラクタに芸術的に彫刻されてもよい。キャラクタ500は、パストレーサ内でオフラインでレンダリングされ得る、高品質「VFXスタイル」アセットによってアンカされる詳細度(LOD)チェーンから導出されてもよく、キャラクタの現実性が、検証されてもよい(例えば、設計者によって)。品質制御および参照目的のために、本レベルにおけるキャラクタのための標的外観を有することが重要であり得る。例えば、キャラクタ500に変更を行うとき、下位LODにおいて直接変更を行うのではなく、LODチェーンの最上位が、更新され、変更が、下位へと移行する。作成されたキャラクタは、Unreal Engine4等のゲームエンジンにインポートされ、キャラクタのためのアニメーションを複合現実環境(例えば、MRE150)内で作成してもよい。例示的利点として、作成されたキャラクタは、異なるプラットフォームまたは異なるバージョン間のキャラクタへの実質的更新を伴わずに、異なるプラットフォームまたはプラットフォームの後のバージョンを横断して使用されてもよい。
いくつかの実施形態では、キャラクタ500の顔幾何学形状および表現力が、キャラクタの他の特徴より強調され、コンピューティング効率を最適化する(例えば、これらの他の特徴と関連付けられる、コンピューティングリソースを低減させる)。例えば、ユーザは、キャラクタ500と対面して立っている場合がある。ユーザは、キャラクタの笑顔の形状および眼の閃光に気付き得、したがって、これらの特徴における強調は、コンピューティング効率を維持しながら、より没入型のユーザ体験を可能にし得る。いくつかの実施形態では、大域的照明または個々の髪の毛には強調があまり置かれ得ず、これらのキャラクタ特徴の算出は、集約的であって、ユーザ体験にとってあまり利点を伴わずに、デバイス電力を消費し得る。品質を最大限にしながら、強調を低減させるために、例えば、仮想キャラクタの稠密な髪の房は、性能を改良するために、ポリゴンストリップに変換されてもよい。仮想キャラクタの髪は、動的ではあり得ないが、ポリゴン髪ストリップは、同期されるブレンドシェイプを使用して、顔の表情および頭部運動に反応し得る。ブレンドシェイプは、アニメーションリグの単一メッシュが、多数の事前に定義された形状およびこれらの形状間の任意の数の組み合わせを達成するために、変形することを可能にし得る。髪により実物のような外観を与えるために、カスタム髪シェーダが、Unreal Engine4等のゲームエンジンによって提供される髪シェーダの代わりに使用されてもよい。
いくつかの実施形態では、アニメーションリグは、仮想キャラクタ132をMRE150内に提示するために使用される。例えば、アニメーションリグは、Maya等のグラフィックアプリケーションを使用して作成されてもよい。他のグラフィックアプリケーションも、アニメーションリグを構築するために使用されてもよいことを理解されたい。グラフィックアプリケーションでは、皮膚クラスタ、カスタムブレンドシェイプノード、具体的制約、表現、カスタムメッシュ間衝突、衣類シミュレーション、髪シミュレーション、Delta Mush変形、および制御システム、例えば、顔面動作符号化システム(FACS)コンボ形状、ブレンドシェイプ加重、および関節変換等のアニメーションリグの特性が、定義される。
いくつかの実施形態では、FACSベースのブレンドシェイプは、キャラクタの顔特徴をアニメーション化する際に使用され、これは、120を超えるFACS形状と、120のFACS形状から組み合わせられた付加的800の形状とを含む。アニメーションリグが作成された後、論理ノードが、カスタムルールベースのシステムを含み、これらの形状のための組み合わせ論理を管理し、設定駆動キー等の手続型関係を捕捉してもよい。論理ノードはまた、表現言語を提供し、アニメーションリグの特徴間の接続および依存性(例えば、数学的表現、姿勢座標)を捕捉する。論理ノードはまた、アニメーションリグに基づいて、C++エンジンコードを生成してもよく、これは、リアルタイム実行のために(例えば、キャラクタが、複合現実環境内に提示されるとき)コンパイルされる。
眼、舌、歯、顎、頭部、および頸部の変形は、ブレンドシェイプおよび線形ブレンドスキニングによって駆動されてもよい。身体および衣類の本スキニングは、例示的姿勢および関節のセットを手動で作成し、凸四辺形プログラミングを用いて、関節位置(例えば、空間関係)および皮膚加重を求めることによって算出されてもよい。
いくつかの実施形態では、身体変形は、基礎骨格(例えば、一次関節)がより高いレベルの関節系(例えば、ヘルパ関節)を駆動する、層化スキームを使用して作成される。これらの関節は、ブレンドシェイプおよびスキニングベースの変形を駆動し得る。衣類シミュレーションが、ある範囲の運動アニメーションシーケンスを用いて起動されてもよく、結果として生じる変形の提示が、算出されてもよい。
本明細書に説明される方法および特徴は、グラフィックアプリケーション内で作成されたアニメーションリグの特性が、例えば、システムの可搬性を維持するために、電力消費要件および限定された処理リソース等のハードウェア限界を有し得る(例えば、モバイルCPUが、複合現実システムを起動している場合があり、本システムは、1ms/フレーム予算を有し得る)、複合現実システム112、複合現実システム200、またはウェアラブルシステム400等の複合現実システム内に効率的に提示されることを可能にする。キャラクタ500の生体力学挙動および変形は、没入型のユーザ体験を作成するためにより重要であり得る。したがって、処理リソースは、キャラクタの生体力学的挙動および変形の提示により焦点を当て得る。
アニメーションリグは、一次関節と、ヘルパ関節とを備えてもよい。特定の時間では、アニメーションリグは、ある姿勢にあり得、姿勢は、一次関節とヘルパ関節との間の空間関係(例えば、相互に対する距離、角度)によって定義され得る。
一次関節は、キャラクタ(例えば、キャラクタ500)の骨格関節と関連付けられ得る。例えば、一次関節場所は、キャラクタ500の肩、肘、手首、膝、および足首を含んでもよい。用語「関節」は、限定することを意味するものではなく、一次関節およびヘルパ関節は、非骨格関節場所(例えば、大腿部の中点、頭部の上部)に位置してもよいことを理解されたい。
図6は、本開示の実施形態による、複合現実システム内の例示的アニメーションリグ600を図示する。アニメーションリグ600は、ヘルパ関節602-608を含む。ヘルパ関節は、アニメーションリグの主要な骨格(例えば、一次関節610および612を含む)によって駆動され、筋肉隆起、皮膚摺動、軟質組織変形、および剛性骨変形等の二次変形を作成し得る。例えば、ヘルパ関節602および604は、キャラクタ500の二頭筋および三頭筋と関連付けられ得る。肘が屈曲すると、ヘルパ関節の運動は、筋肉を隆起するように現れさせる。ヘルパ関節606および608は、尺骨の剛性運動と関連付けられ得る。例示的利点として、ヘルパ関節を使用することは、ブレンドシェイプを使用することと比較して、算出コストおよび電力消費を低減させるであろう一方、実物のようなアニメーションを複合現実システムのユーザに提示する。
ヘルパ関節は、ヘルパ関節設置基準によって決定される、アニメーションリグの場所と関連付けられ得る。いくつかの実施形態では、ヘルパ関節は、一次関節間の大変位と関連付けられる、場所に位置する。例えば、ヘルパ関節は、二頭筋が、肩と肘との間のキャラクタの他の場所と比較して、肩および肘と関連付けられる特定の移動に関してより大きい変位を被り得るため、手首と肘(例えば、一次関節)との間のキャラクタ500の二頭筋の近傍に位置してもよい。別の実施例として、ヘルパ関節は、脹脛が、足首と膝との間のキャラクタの他の場所と比較して、足首および膝と関連付けられる特定の移動に関してより大きい変位を被り得るため、足首と膝(例えば、一次関節)との間のキャラクタ500の近傍に位置してもよい。これらの実施例では、二頭筋または脹脛におけるヘルパ関節の場所は、最大移動基準によって決定されてもよい。
一次関節およびヘルパ関節の移動および相互作用が、キャラクタの四肢に関して説明されるが、これらの例示的移動および相互作用は、限定ではないことを理解されたい。例えば、一次関節およびヘルパ関節は、有利なこととして、仮想キャラクタの顔の表情を駆動し得る。
いくつかの実施例では、ブレンドシェイプは、多すぎる移動点を有し得、反転された標的は、良好に補間し得ない。全てのブレンドシェイプを使用して、仮想キャラクタ500をアニメーション化することは、ランタイム時に大性能ペナルティを生じさせ得る。ヘルパ関節は、関節分解プロセスを使用して、ブレンドシェイプによって通常ハンドリングされる形状情報を皮膚クラスタに変換することによって、本性能影響を低減させ得る。いくつかの実施形態では、分解プロセスは、ブレンドシェイプ毎に、ヘルパ関節の位置を計算し、ブレンドシェイプ変形を合致させる。加えて、各ヘルパ関節および各ブレンドシェイプ姿勢と関連付けられる、皮膚クラスタの皮膚加重が、最適化され、変形の現実性をさらに改良し得る。皮膚クラスタは、より少ない数のブレンドシェイプとともに組み込まれ、仮想キャラクタ上の望ましくない高周波数特徴を除去し得る。より少ないブレンドシェイプとともに、ヘルパ関節および皮膚クラスタを組み込むことは、有利なこととして、類似レベルの品質を維持しながら、ブレンドシェイプを排他的に使用することと比較して、より小さい変位に起因して、システム性能および姿勢間の補間を改良し得る。
いくつかの実施形態では、ヘルパ関節は、例えば、キャラクタ500の設計者によって、手動で定義されてもよい。例えば、設計者は、ヘルパ関節を手動で定義することが、キャラクタ500がより「実物」のようになることを可能にするであろうことを決定し得る。
アニメーションリグは、第1の時間における第1の姿勢から第2の時間における第2の姿勢に移動することが決定され得る。例えば、複合現実システムは、キャラクタ500が、複合現実環境(例えば、MRE150)内で第1の位置から第2の位置に移動し、アクションを実施していることを決定し得る。第1の時間では、アニメーションリグは、第1の位置におけるキャラクタと関連付けられる第1の姿勢にあり得(例えば、キャラクタは、笑っていない、キャラクタは、着座している、キャラクタは、立っている)、第1の姿勢は、キャラクタの一次関節とヘルパ関節との間の第1の空間関係によって定義され得る。第2の時間では、キャラクタは、第1の位置から第2の位置に移動している場合があり(例えば、キャラクタは、笑っている、キャラクタは、立っている、キャラクタは、歩行している)、アニメーションリグは、第2の位置におけるキャラクタと関連付けられる第2の姿勢にあり得、第2の姿勢は、キャラクタの一次関節とヘルパ関節との間の第2の空間関係によって定義され得る。第1および第2の空間関係は、キャラクタの第1および第2の位置が異なるため、異なってもよい。複合現実システムの表示は、キャラクタの一次関節とヘルパ関節との間の第2の空間関係によって定義されたアニメーションリグの第2の姿勢に基づいて、キャラクタ500を第2の位置に提示するように更新されてもよい。
アニメーションリグの第1の姿勢から第2の姿勢への変換は、移動情報によって定義されてもよい。例えば、移動情報は、一次関節およびヘルパ関節の移動と、一次関節とヘルパ関節との間の第1の姿勢から第2の姿勢へのキャラクタ特徴の移動とを定義してもよい。第1の姿勢から第2の姿勢への一次とヘルパ関節との間のキャラクタ特徴の移動は、補間されてもよく(例えば、回帰分析を使用して決定される)、補間は、本明細書に開示される方法を使用して決定されてもよい。
キャラクタの実物のような生体力学を作成するために、一次関節とヘルパ関節との間の空間関係は、複雑かつ非線形であり得る(例えば、ヘルパ関節は、グラフィックアプリケーションからの制約および表現によって駆動されてもよい)。関係は、放射基底関数(RBF)を用いて定義され得、これは、大量のサンプルを要求し得る。例えば、三角筋-胸筋領域では、1,100を超える姿勢が、RBFを使用して望ましい品質を達成するために、各側で要求され得る。大量のサンプルは、複合現実システムのランタイム性能に影響を及ぼし得、これは、電力およびコンピューティングリソース制約を有し得る。さらに、RBFを使用して、一次関節とヘルパ関節との間の関係を定義することは、複合現実システムの要件(例えば、フレームあたり6ms)を充足させ得ない。したがって、より効率的方法(例えば、あまり算出上集約的ではない)を使用して、仮想キャラクタを高品質様式において提示することが望ましくあり得る。
いくつかの実施形態では、アニメーションリグの移動と関連付けられる情報が、処理するために、ニューラルネットワークに伝送される。いくつかの実施形態では、アニメーションリグの移動と関連付けられる情報は、処理するために、1つを上回るニューラルネットワークに伝送される。ニューラルネットワークは、アニメーションリグの移動と関連付けられる情報を受信し、移動情報を算出し、移動情報を複合現実システムに伝送し、移動情報に基づいて、仮想キャラクタの移動をシステムのディスプレイ上に提示する。
いくつかの実施形態では、移動情報はさらに、ニューラルネットワークに提示される(例えば、リグ設計者によって、ユーザによって)、訓練データを使用して算出される。訓練データは、ある範囲の運動試験等のアニメーションデータを含んでもよい。訓練データは、仮想キャラクタが複合現実環境内で実施し得る、姿勢および移動を網羅し得る。例えば、訓練データは、膝捻転の実施例を含み、ニューラルネットワークは、膝捻転のこれらの実施例を使用して、移動情報(例えば、膝関節と関連付けられる、回転情報)を算出してもよい。いくつかの実施形態では、ヘルパ関節のセットのための訓練データは、主に、ある範囲の運動アニメーションシーケンスと、他の例示的シーケンスとを備えてもよい。使用するための隠れ次元の数が、ハイパーパラメータ調整を使用して決定されてもよい。いくつかの実施例では、隠れ次元の数は、一次関節の数およびヘルパ関節の数の最大値の10倍であり得る。
例示的利点として、ニューラルネットワークを使用して、移動情報を算出することは、ニューラルネットワークがより少ない訓練可能パラメータ(例えば、28分の1の低減)を含み得るため、RBFパラメータを使用することと比較して、類似高品質を有する仮想キャラクタの提示を達成するためのパラメータの数を低減させることができる。例えば、仮想キャラクタの類似品質提示のために、450万のパラメータが、RBFを使用して必要とされ得るが、より有意に少ない160,000のパラメータが、ニューラルネットワークを使用して必要とされ得る。
いくつかの実施形態では、ニューラルネットワークは、正規化線形ユニット(ReLU)活性化関数を使用して、移動情報を算出する。他の活性化関数と比較して、ReLU関数は、より算出上効率的であって、他の利点ももたらすことができる。いくつかの実施形態では、ニューラルネットワークは、多層フィードフォワードニューラルネットワークであってもよい。ニューラルネットワークは、1つの隠れ層をネットワークの入力層と出力層との間に伴う、全結合ネットワークであってもよい。ニューラルネットワークは、平均二乗誤差(MSE)損失を使用して、平行移動およびスケーリングを行い得る。いくつかの実施形態では、合計66の別個のネットワークが、アニメーションリグの移動情報を算出するために使用されてもよい。関節クラスタ毎に、ネットワークはそれぞれ、平行移動、回転、およびスケーリングのために、別個に訓練されてもよい。いくつかの実施形態では、平行移動値は、ニューラルネットワークのために、0~1の範囲にスケーリングまたは正規化される。
いくつかの実施形態では、アニメーションリグと関連付けられる、回転は、四元数を用いて表され得る。四元数は、複合現実システムのディスプレイ上における複合現実環境内への仮想キャラクタの提示と関連付けられる、アニメーションシステム(例えば、Unreal)のために使用され得る。さらに、四元数は、機械学習のための回転をパラメータ化するためにより好適であり得る。ニューラルネットワーク内の四元数を算出するための既存の方法は、ユークリッド角度を用いて損失を測定する、または配向曖昧性を留保する。いくつかの実施形態では、四元数訓練データは、非ゼロw成分を有するように投じられ得る。したがって、回帰四元数は、成分値の平均二乗誤差損失と1を上回る成分値に関するペナルティを組み合わせる、新しい損失関数を要求し得、これは、以下の関数を用いて表され得る。
単位四元数が、使用されるため、いずれの成分も、1より高い値を有しないはずである。訓練はまた、ネットワークが別の極にドリフトしないように防止するために逆伝搬(例えば、勾配クリッピング)のために使用される勾配の大きさを課す。例示的利点として、本説明される方法論を使用する回帰四元数は、複合現実システムが、フレームあたり約0.9msで起動することを可能にする。いくつかの実施形態では、本方法論は、ニューラルネットワーク上または複合現実システム上で起動するTensorFlow Liteモデルとして実行する、ゲームエンジン内のカスタムBlueprintオペレータとして統合されてもよい。
例示的利点として、キャラクタ500は、システムの可搬性に起因して、最高仕様およびリアルタイム仮想キャラクタを表示するための既存のシステムと比較してより多くのハードウェア制約を有し得る、複合現実システム(例えば、複合現実システム112、複合現実システム200、ウェアラブルシステム400)のディスプレイ上に提示されるように構成されてもよい。いくつかの実施例では、複合現実システムは、バッテリ給電されてもよい。したがって、これらのハードウェア制約のうちの1つは、電力であり得る。これらのハードウェア制約を伴っても、本明細書に説明される方法は、説得力のある仮想キャラクタの作成を有効にする、すなわち、レンダリング、アニメーション、変形、衣類、髪、および挙動は、キャラクタが真実味がありながら、また、ハードウェアの性能エンベロープ内に適合するためのある無形品質レベルを満たすことが可能である。
述べられたように、ユーザの複合現実体験を改良するために、仮想キャラクタが可能な限り実物のようであることが望ましい。現実的移動に加え、仮想キャラクタは、実物のような挙動を表示するように提示されてもよい。例えば、仮想キャラクタの視線、ジェスチャ、および位置付けは、自然に現れるべきである。
いくつかの実施形態では、仮想キャラクタは、視認者をその視線内に保持することが可能である。例えば、ウェアラブル頭部デバイスと関連付けられる通視線が変化していることの決定に従って、仮想キャラクタは、第1の姿勢から第2の姿勢に移動してもよい。第1の姿勢から第2の姿勢への移動は、ウェアラブル頭部デバイスの位置に基づいてユーザの照準線に追従する、仮想キャラクタの視線であってもよい。本明細書に開示される方法および特徴を使用することで、仮想キャラクタの移動を処理および提示することは、短待ち時間を伴って実施され、キャラクタがユーザの眼を直接かつ正確に見ることを可能にすることができる。
図7Aは、本開示の実施形態による、例示的複合現実環境700を図示する。いくつかの実施形態では、仮想キャラクタ702の視線および注意は、関心インパルスによって制御されてもよい。キャラクタが視線または注意を変化させることに応答した仮想キャラクタの移動(例えば、眼を回転させる、頸部を回転させる、回転体)は、本明細書に提示される方法を使用して提示されてもよい。いくつかの実施形態では、仮想キャラクタ702は、仮想キャラクタ132または仮想キャラクタ500である。
関心インパルスは、オブジェクト、音、および人々を表す、ソースによって生成されてもよい。関心インパルスは、オブジェクト、音、および人々に依存する、関心度および本関心度の経時的増減と関連付けられる、値を有する。要素(例えば、実または仮想オブジェクト、音、イベント、人物)の関心度は、要素が特定の時間において仮想キャラクタの注意を引き付けるであろう、可能性または確率として定義され得る。より高い関心度値を有する、第1の要素は、より低い関心度値を有する第2の要素より、仮想キャラクタの注意を引き付ける可能性が高いであろう。要素の関心度値は、経時的に変動し得る。
例えば、壁上の絵画と関連付けられる、関心度値は、壁上の時計と関連付けられる関心度値より高くあり得る。インパルスは、複合現実システムのセンサによって(随意に、複合現実システムの知覚システムを用いて)検出された仮想オブジェクトまたは実オブジェクトに関して生成される、手動で定義される、または(例えば、データベースからの)外部情報によって定義され得る。センサによって検出されたオブジェクトは、オブジェクトのデータベースと比較されてもよく、検出されたオブジェクトは、関連付けられる関心度値および経時的に変動する関心度値に関するデータベース内のオブジェクトと合致されてもよい。いくつかの実施形態では、関心度値は、仮想キャラクタの特性に依存し得る。例えば、仮想キャラクタが、音楽家である場合、本仮想キャラクタと関連付けられる音楽オブジェクトの関心度値は、非芸術家仮想キャラクタと関連付けられるものより高くなり得る。異なる識別されたオブジェクトの関心度値、仮想キャラクタの眼方向、および仮想キャラクタの頭部方向転換速度に基づいて、複合現実システムは、特定の時間における最も関心を引き付けているオブジェクト(例えば、仮想キャラクタの注意を現在占有している、オブジェクト)を決定してもよい。いくつかの実施形態では、特定の時間において最も関心を引き付けているオブジェクトが、仮想オブジェクトである場合、仮想キャラクタは、それに応答して、複合現実環境(例えば、仮想オブジェクトを移動させることによって)修正する、または複合現実環境のキャラクタの知覚を修正してもよい(例えば、その頭部を方向転換させ、別の関心を引き付けているオブジェクトを見る)。
例示的利点として、関心インパルスは、仮想キャラクタがその注意を複合現実環境内のオブジェクトと起こっているイベントとの間で偏移させることを可能にすることによって、仮想キャラクタにより実物のような品質を与え得る。
例えば、複合現実環境700内の仮想キャラクタ702は、仮想キャラクタの照準の方向に基づいて、関連付けられる視野704を有する。仮想キャラクタの照準の方向は、アニメーションの基礎層、手続型好奇心、または他の事実によって駆動されてもよい。本実施例では、関心を引き付けるオブジェクト(例えば、ある関心度値を有する、無生物オブジェクト)は、視線ボックス706A-706Gによって定義されてもよい。視線ボックスは、ある座標位置およびサイズを有してもよく、視野704内のオブジェクトと関連付けられてもよい。例えば、仮想キャラクタ702は、部屋内で待機している人物と同様に、壁上の異なるアイテム間で視線を動かし、次のアイテムに視線を移す前に、短い時間量にわたって、1つのものに落ち着き得る。各視線ボックスは、ある関心度値を有し得、その値は、経時的に変動(例えば、増減)し得る。例えば、アクティブ視線ボックス(例えば、仮想キャラクタが現在合焦している、視線ボックス)の関心度は、閾値まで、減弱し得る。閾値関心度に到達すると、仮想キャラクタは、その焦点を距離、視野またはビューとの交点、および確率論的選択等の組み合わせに基づいて、別の視線ボックス上に移動させ得る。
仮想キャラクタの視線および注意はまた、複合現実システムによってまたは手動で識別される、関心面積708によって決定されてもよい。関心面積708は、ドア開放、足音、または大きくかつ突然の音等のイベントと関連付けられる、音の検出(例えば、複合現実システムのセンサによって)に応答して作成されてもよい。検出された音は、音源の一般的方向において起こるイベントと関連付けられ得る。例えば、複合現実環境内のドアが、ユーザ710によって開放され、音を生成する。音の検出(例えば、複合現実システムのセンサによって)に応答して、仮想キャラクタ702は、その視線または通視線を音の一般的方向に向かって変化させてもよい。いくつかの実施形態では、関心面積の検出に応じて、仮想キャラクタは、その焦点を仮想キャラクタの注意を以前に占有していた視線ボックスから偏移させ得る。
いくつかの実施形態では、仮想キャラクタの視線および注意は、社会的三角形712によって決定される。図7Bは、ウェアラブル頭部デバイスを装着しているユーザと関連付けられ得る、社会的三角形の実施例を図示する。社会的三角形712は、幅714および高さ716によって定義されてもよい。社会的三角形712は、別の人間が、典型的には、2人の人間間の会話の間、合焦する、人間(例えば、複合現実システムのユーザ)の顔の面積と関連付けられ得る。例えば、幅714は、ユーザ710の顔の幅と関連付けられ、高さ716は、ユーザ710の顔の高さと関連付けられる。いくつかの実施形態では、社会的三角形のより広い面積は、口より眼の近くにあり得る。人間の顔の本面積は、複合現実システムのセンサによって検出されてもよい。いったん社会的三角形が、人間(例えば、複合現実システムのユーザ)の顔の検出に基づいて生成されると、仮想キャラクタの視線および注意は、検出された人間の顔に指向され得る。いくつかの実施形態では、社会的三角形の生成に応じて、仮想キャラクタは、その焦点を仮想キャラクタの注意を以前に占有していた関心面積または視線ボックスから偏移させ得る。
サッカードは、人間がオブジェクトまたは他の人々を見ているときに行い得る、高速の不随意的眼の素早い動きである。複合現実システムのユーザに提示され得ない、サッカード点が、仮想キャラクタ702が仮想キャラクタの現在のサッカード移動を境界するために生成されてもよい。仮想キャラクタのためのサッカードを生成することは、仮想キャラクタの人間様特徴の信憑性を増加させる。サッカード点は、仮想キャラクタの眼上に投影される、社会的三角形、関心面積、または視線ボックス等の現在最も関心を引き付けているオブジェクト(例えば、仮想キャラクタの注意を現在占有している、オブジェクト)の面積に基づいて生成されてもよい。例えば、仮想キャラクタのサッカード移動の範囲は、仮想キャラクタ702が視認者の眼面積の周囲に集束され得る、仮想キャラクタの眼上に投影された社会的三角形の眼の境界718Aおよび718Bによって決定されてもよい。仮想キャラクタと関連付けられる、サッカードタイミングおよび振幅は、加えて、公称生理学的範囲内の値に対応してもよい。
視線ボックス706、関心面積708、および社会的三角形712は、図7A-7Bに図示される具体的幾何学形状を使用して例示するが、図7A-7Bに図示される幾何学的境界は、限定することを意味するものではないことを理解されたい。
いくつかの実施形態では、仮想キャラクタの視線は、複合現実環境内の標的によって制御される。複合現実環境内でユーザに提示され得ない、標的が、仮想キャラクタの位置に対して移動し得、仮想キャラクタの視線は、標的の移動を追跡し、実物のような眼移動(例えば、視線方向のわずかな変化)を生成する。いくつかの実施形態では、視線移動は、加えて、眼、頸部、および身体間の回転の比率によって制御され、眼が、自然平衡を中心として移動することを可能にする。例えば、視線移動は、経時的に、姿勢不快感に関して調節される。すなわち、いくつかのインスタンスでは、標的は、本調節が生じる間は、移動し得ない。いくつかの実施例では、仮想キャラクタの視線移動は、仮想キャラクタの現在の気分またはモードに基づいてもよい。例えば、仮想キャラクタが、あるタスクに集中している場合、その視線移動は、退屈している仮想キャラクタほど大きくはあり得ない。
仮想キャラクタの視線および身体配置は、不快感システムによって動的に決定されてもよく、これは、キャラクタが、長時間周期にわたって、姿勢を不自然に保持することを回避することを可能にする。いくつかの実施形態では、キャラクタと関連付けられる、アニメーションリグが、キャラクタ不快感閾値時間より長く、第1の姿勢にあるとき、アニメーションリグは、本明細書に説明されるように、第1の姿勢から第2の姿勢(例えば、より快適な位置)に移動するであろう。例示的利点として、キャラクタ不快感閾値時間を超えて第1の姿勢にあった後に第2の姿勢に移動することは、不快な時間量にわたってある位置にあった後、より快適な位置に偏移する、人間のように、仮想キャラクタがその位置を偏移させることを可能にすることによって、仮想キャラクタにより実物のような品質を与え得る。
複合現実システムは、幾何学形状に関して複合現実環境を持続的に走査し得、したがって、仮想キャラクタは、表面(例えば、床)が実際にある場所上に立っているように現れる。いくつかの実施形態では、仮想キャラクタと関連付けられる、アニメーションリグは、複合現実環境の表面(例えば、床)上に位置付けられるように表示される。複合現実システムのセンサは、複合現実環境の表面の座標を感知し得、アニメーションリグは、表面の感知された座標に基づいて、複合現実環境の表面に整合されてもよい。いくつかの実施形態では、アニメーションリグは、第1の姿勢にあって、第1の姿勢は、アニメーションリグおよび表面の整合に基づく。例示的利点として、キャラクタおよび複合現実環境の表面を整合させることは、ユーザに、仮想キャラクタおよびユーザが同一環境内に存在することの感覚をより与える。
図8は、本開示の実施形態による、複合現実システムの例示的方法800を図示する。方法800は、複合現実システム112、複合現実システム200、またはウェアラブルシステム400等の複合現実システムを使用して実施されてもよい。ステップは、異なる順序であってもよい、いくつかのステップは、省略されてもよい、または付加的ステップが、方法800とともに実施されてもよいことを理解されたい。
いくつかの実施形態では、方法800は、ウェアラブル頭部デバイス(例えば、複合現実システム112、複合現実システム200、ウェアラブルシステム400)のディスプレイ上において、キャラクタのビューを複合現実環境内に表示するステップ(ステップ802)を含む。キャラクタのビューは、キャラクタと関連付けられる、アニメーションリグに基づいてもよい。いくつかの実施形態では、キャラクタのビューを複合現実環境内に表示するステップは、Forward+を使用して、キャラクタのビューをレンダリングするステップを含む。
いくつかの実施形態では、アニメーションリグは、本明細書に説明されるように、一次関節と、ヘルパ関節とを備える。一次関節は、アニメーションリグと関連付けられる、キャラクタ(例えば、仮想キャラクタ132、仮想キャラクタ500、仮想キャラクタ702)の骨格関節と関連付けられ得る。ヘルパ関節は、アニメーションリグの場所と関連付けられてもよい。場所は、本明細書に説明されるように、ヘルパ関節設置基準(例えば、手動定義、最大移動基準)によって決定されてもよい。第1の時間では、アニメーションリグは、一次関節とヘルパ関節との構成間の第1の空間関係によって定義される、第1の姿勢にあってもよい。
いくつかの実施形態では、方法800は、第2の時間において、アニメーションリグが第1の姿勢から第2の姿勢に移動していることを決定するステップ(ステップ804)を含み、第2の姿勢は、一次関節とヘルパ関節との間の第2の空間関係によって定義されるように関連付けられる。
いくつかの実施形態では、アニメーションリグが第1の姿勢から第2の姿勢に移動していることを決定するステップは、ウェアラブル頭部デバイスと関連付けられる通視線が変化していることを決定するステップを含む。例えば、視認者に向かっている仮想キャラクタの視線が、本明細書に説明されるように、変化している。
いくつかの実施形態では、アニメーションリグが第1の姿勢から第2の姿勢に移動していることを決定するステップは、図7に関して説明されるように、複合現実環境の第1の要素と関連付けられる関心度値が複合現実環境の第2の要素と関連付けられる関心度値を超えることを決定するステップを含む。いくつかの実施形態では、関心度値は、図7A-7Bに関して説明されるように、複合現実環境の無生物オブジェクトと関連付けられる視線ボックス、複合現実環境のイベントと関連付けられる関心面積、および複合現実環境内のユーザと関連付けられる社会的三角形のうちの1つと関連付けられる。
いくつかの実施形態では、キャラクタは、複合現実環境の表面上に位置付けられるように表示される。方法800はさらに、ウェアラブル頭部デバイスのセンサを用いて、複合現実環境の表面を感知するステップと、感知された表面に基づいて、アニメーションリグおよび表面を整合させるステップであって、第1の姿勢は、アニメーションリグおよび表面の整合に基づいて決定される、ステップとを含んでもよい。
いくつかの実施形態では、方法800は、移動情報に基づいて、ウェアラブル頭部デバイスのディスプレイ上において、アニメーションリグの表示を第1の姿勢から第2の姿勢に更新するステップ(ステップ806)を含み、移動情報は、第1の空間関係から第2の空間関係への変換を示す。いくつかの実施形態では、第1の空間関係から第2の空間関係への変換は、アニメーションリグが第1の姿勢から第2の姿勢に移動しているときのキャラクタの筋肉の移動と関連付けられる。
いくつかの実施形態では、移動情報は、少なくとも部分的に、四元数において表され、移動情報と関連付けられる、損失関数は、四元数成分値の平均二乗誤差損失と成分値に関するペナルティを組み合わせるステップを含む(例えば、方程式(1))。
いくつかの実施形態では、方法800は、ニューラルネットワークに、本明細書に説明されるように、アニメーションリグの移動と関連付けられる情報を伝送するステップと、ニューラルネットワークから、移動情報を受信するステップであって、移動情報は、伝送される情報に基づく、ステップとを含む。ニューラルネットワークは、ReLU活性化関数を使用して、移動情報を算出してもよい。いくつかの実施形態では、移動情報は、本明細書に説明されるように、ニューラルネットワークに提示される、訓練データに基づいて算出される。
図9は、本開示の実施形態による、複合現実システムの例示的方法900を図示する。方法900は、複合現実システム112、複合現実システム200、またはウェアラブルシステム400等の複合現実システムを使用して実施されてもよい。ステップは、異なる順序であってもよい、いくつかのステップは、省略されてもよい、または付加的ステップが、方法900とともに実施されてもよいことを理解されたい。簡潔にするために、図7Aおよび7Bに関して説明される方法900に関連する実施例は、ここでは繰り返されない。
いくつかの実施形態では、方法900は、キャラクタのビューを複合現実環境内に表示するステップ(ステップ902)を含む。キャラクタは、第1の位置にあってもよい。例えば、キャラクタは、図7A-7Bに関して説明されるように、その照準を複合現実環境内の第1の要素(例えば、オブジェクト、音、イベント、人物)上に有し得る(例えば、それを見ている、それに合焦する、それに注意を支払う)。第1の要素は、第1の時間では、第1の関心度値を有してもよい。ある関心度値を有する、オブジェクトは、視線ボックスによって示されてもよく、ある関心度値を有する、音またはイベントは、関心面積によって示されてもよく、ある関心度値を有する、人物は、社会的三角形によって示されてもよい。
いくつかの実施形態では、方法900は、第2の時間において、複合現実環境と関連付けられる、第2の要素(例えば、別のオブジェクト、別の音、別のイベント、別の人物)と関連付けられる、第2の関心度値が、第1の関心度値を上回ることを決定するステップ(ステップ904)を含む。例えば、第1の関心度値は、経時的に減弱し、キャラクタは、第1の要素への関心を喪失し得る。別の実施例として、キャラクタは、第2の時間において、複合現実環境内の別の要素により関心を引き付けられることを見出し得る。
いくつかの実施形態では、方法900は、キャラクタを第2の位置に提示するように、キャラクタの表示を更新するステップ(ステップ906)を含む。例えば、キャラクタは、図7A-7Bに関して説明されるように、第2の要素が第2の時間では第1の関心度値を上回る関心度値を有することの決定に従って、その照準を複合現実環境内の第2の要素(例えば、他のオブジェクト、他の音、他のイベント、他の人物)上に有し得る(例えば、それを見ている、それに合焦する、それに注意を支払う)。
開示される実施例は、付随の図面を参照して完全に説明されたが、種々の変更および修正が、当業者に明白となるであろうことに留意されたい。例えば、1つ以上の実装の要素は、組み合わせら、削除され、修正され、または補完され、さらなる実装を形成してもよい。そのような変更および修正は、添付の請求項によって定義されるような開示される実施例の範囲内に含まれるものとして理解されるべきである。

Claims (20)

  1. 方法であって、
    ウェアラブル頭部デバイスのディスプレイ上において、キャラクタのビューを複合現実環境内に表示することであって、
    前記キャラクタのビューは、前記キャラクタと関連付けられるアニメーションリグに基づき、
    前記アニメーションリグは、一次関節と、ヘルパ関節とを備え、
    前記一次関節は、前記キャラクタの骨格関節と関連付けられ、
    前記ヘルパ関節は、前記アニメーションリグの場所と関連付けられ、
    第1の時間では、前記アニメーションリグは、前記一次関節と前記ヘルパ関節との間の第1の空間関係によって定義された第1の姿勢にある、ことと、
    第2の時間において、前記アニメーションリグが前記第1の姿勢から第2の姿勢に移動していることを決定することであって、前記第2の姿勢は、前記一次関節と前記ヘルパ関節との間の第2の空間関係によって定義され、前記アニメーションリグが前記第1の姿勢から前記第2の姿勢に移動していることを決定することは、前記複合現実環境の第1の要素と関連付けられる関心度値が前記複合現実環境の第2の要素と関連付けられる関心度値を超えることを決定することを含む、ことと、
    移動情報に基づいて、前記ウェアラブル頭部デバイスのディスプレイ上において、前記アニメーションリグの表示を前記第1の姿勢から前記第2の姿勢に更新することであって、前記移動情報は、前記第1の空間関係から前記第2の空間関係への変換を示す、ことと
    を含む、方法。
  2. ニューラルネットワークに、前記アニメーションリグの移動と関連付けられる情報を伝送することと、
    前記ニューラルネットワークから、前記移動情報を受信することであって、前記移動情報は、前記伝送される情報に基づく、ことと
    をさらに含む、請求項1に記載の方法。
  3. 前記ニューラルネットワークは、ReLU活性化関数を使用して、前記移動情報を算出する、請求項2に記載の方法。
  4. 前記移動情報は、前記ニューラルネットワークに提示される訓練データに基づいて、算出される、請求項2に記載の方法。
  5. 前記ヘルパ関節の場所は、手動定義および最大移動基準のうちの1つ以上のものを備えるヘルパ関節設置基準によって決定される、請求項1に記載の方法。
  6. 前記移動情報は、前記一次関節と前記ヘルパ関節との間の回帰分析を使用して決定され、前記第2の空間関係を算出する、請求項1に記載の方法。
  7. 前記アニメーションリグが前記第1の姿勢から前記第2の姿勢に移動していることを決定することは、前記アニメーションリグがキャラクタ不快感閾値時間より長く前記第1の姿勢にあることを決定することを含む、請求項1に記載の方法。
  8. 前記アニメーションリグが前記第1の姿勢から前記第2の姿勢に移動していることを決定することは、前記ウェアラブル頭部デバイスと関連付けられる通視線が変化していることを決定することを含む、請求項1に記載の方法。
  9. 前記キャラクタは、前記複合現実環境の表面上に位置付けられるように表示され、前記方法は
    前記ウェアラブル頭部デバイスのセンサを用いて、前記複合現実環境の表面を感知することと、
    前記感知された表面に基づいて、前記アニメーションリグおよび前記表面を整合させることであって、前記第1の姿勢は、前記アニメーションリグおよび前記表面の整合に基づいて決定される、ことと
    さらに含む、請求項1に記載の方法。
  10. 前記第1の空間関係から前記第2の空間関係への変換は、前記アニメーションリグが前記第1の姿勢から前記第2の姿勢に移動しているときの前記キャラクタの筋肉の移動と関連付けられる、請求項1に記載の方法。
  11. 前記移動情報は、少なくとも部分的に、四元数において表され、
    前記移動情報と関連付けられる損失関数は、四元数成分値の平均二乗誤差損失と前記成分値に関するペナルティとを組み合わせることを含む、
    請求項1に記載の方法。
  12. 前記キャラクタのビューを前記複合現実環境内に表示することは、Forward+を使用して、前記キャラクタのビューをレンダリングすることを含む、請求項1に記載の方法。
  13. 前記第1および第2の要素はそれぞれ、前記複合現実環境の無生物オブジェクトと関連付けられる視線ボックス、前記複合現実環境のイベントと関連付けられる関心面積、および前記複合現実環境内のユーザと関連付けられる社会的三角形のうちの1つと関連付けられる、請求項に記載の方法。
  14. システムであって、
    ディスプレイを備えるウェアラブル頭部デバイスと、
    1つ以上のプロセッサであって、前記1つ以上のプロセッサは、
    前記ディスプレイ上において、キャラクタのビューを複合現実環境内に表示することであって、
    前記キャラクタのビューは、前記キャラクタと関連付けられるアニメーションリグに基づき、
    前記アニメーションリグは、一次関節と、ヘルパ関節とを備え、
    前記一次関節は、前記キャラクタの骨格関節と関連付けられ、
    前記ヘルパ関節は、前記アニメーションリグの場所と関連付けられ、
    第1の時間では、前記アニメーションリグは、前記一次関節と前記ヘルパ関節との間の第1の空間関係によって定義された第1の姿勢にある、ことと、
    第2の時間において、前記アニメーションリグが前記第1の姿勢から第2の姿勢に移動していることを決定することであって、前記第2の姿勢は、前記一次関節と前記ヘルパ関節との間の第2の空間関係によって定義され、前記アニメーションリグが前記第1の姿勢から前記第2の姿勢に移動していることを決定することは、前記複合現実環境の第1の要素と関連付けられる関心度値が前記複合現実環境の第2の要素と関連付けられる関心度値を超えることを決定することを含む、ことと、
    移動情報に基づいて、前記ディスプレイ上において、前記アニメーションリグの表示を前記第1の姿勢から前記第2の姿勢に更新することであって、前記移動情報は、前記第1の空間関係から前記第2の空間関係への変換を示す、ことと
    を含む方法を実行するように構成される、1つ以上のプロセッサと
    を備える、システム。
  15. 前記方法は
    ニューラルネットワークに、前記アニメーションリグの移動と関連付けられる情報を伝送することと、
    前記ニューラルネットワークから、前記移動情報を受信することであって、前記移動情報は、前記伝送される情報に基づく、ことと
    さらに含む、請求項14に記載のシステム。
  16. 非一過性コンピュータ可読媒体であって、前記非一過性コンピュータ可読媒体は、命令を記憶しており、前記命令は、1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに、
    ウェアラブル頭部デバイスのディスプレイ上において、キャラクタのビューを複合現実環境内に表示することであって、
    前記キャラクタのビューは、前記キャラクタと関連付けられるアニメーションリグに基づき、
    前記アニメーションリグは、一次関節と、ヘルパ関節とを備え、
    前記一次関節は、前記キャラクタの骨格関節と関連付けられ、
    前記ヘルパ関節は、前記アニメーションリグの場所と関連付けられ、
    第1の時間では、前記アニメーションリグは、前記一次関節と前記ヘルパ関節との間の第1の空間関係によって定義された第1の姿勢にある、ことと、
    第2の時間において、前記アニメーションリグが前記第1の姿勢から第2の姿勢に移動していることを決定することであって、前記第2の姿勢は、前記一次関節と前記ヘルパ関節との間の第2の空間関係によって定義され、前記アニメーションリグが前記第1の姿勢から前記第2の姿勢に移動していることを決定することは、前記複合現実環境の第1の要素と関連付けられる関心度値が前記複合現実環境の第2の要素と関連付けられる関心度値を超えることを決定することを含む、ことと、
    移動情報に基づいて、前記ウェアラブル頭部デバイスのディスプレイ上において、前記アニメーションリグの表示を前記第1の姿勢から前記第2の姿勢に更新することであって、前記移動情報は、前記第1の空間関係から前記第2の空間関係への変換を示す、ことと
    を含む方法を実行させる、非一過性コンピュータ可読媒体。
  17. 前記方法は
    ニューラルネットワークに、前記アニメーションリグの移動と関連付けられる情報を伝送することと、
    前記ニューラルネットワークから、前記移動情報を受信することであって、前記移動情報は、前記伝送される情報に基づく、ことと
    さらに含む、請求項16に記載の非一過性コンピュータ可読媒体。
  18. 前記ヘルパ関節の場所は、手動定義および最大移動基準のうちの1つ以上のものを備えるヘルパ関節設置基準によって決定される、請求項14に記載のシステム。
  19. 前記アニメーションリグが前記第1の姿勢から前記第2の姿勢に移動していることを決定することは、前記ウェアラブル頭部デバイスと関連付けられる通視線が変化していることを決定することを含む、請求項14に記載のシステム。
  20. 前記ヘルパ関節の場所は、手動定義および最大移動基準のうちの1つ以上のものを備えるヘルパ関節設置基準によって決定される、請求項16に記載の非一過性コンピュータ可読媒体。
JP2021572310A 2019-06-06 2020-06-05 空間コンピューティングのための写実的キャラクタ構成 Active JP7369212B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023076007A JP2023100820A (ja) 2019-06-06 2023-05-02 空間コンピューティングのための写実的キャラクタ構成

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962858251P 2019-06-06 2019-06-06
US62/858,251 2019-06-06
PCT/US2020/036485 WO2020247863A1 (en) 2019-06-06 2020-06-05 Photoreal character configurations for spatial computing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023076007A Division JP2023100820A (ja) 2019-06-06 2023-05-02 空間コンピューティングのための写実的キャラクタ構成

Publications (3)

Publication Number Publication Date
JP2022534799A JP2022534799A (ja) 2022-08-03
JPWO2020247863A5 JPWO2020247863A5 (ja) 2023-05-15
JP7369212B2 true JP7369212B2 (ja) 2023-10-25

Family

ID=73650677

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2021572310A Active JP7369212B2 (ja) 2019-06-06 2020-06-05 空間コンピューティングのための写実的キャラクタ構成
JP2023076007A Pending JP2023100820A (ja) 2019-06-06 2023-05-02 空間コンピューティングのための写実的キャラクタ構成

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023076007A Pending JP2023100820A (ja) 2019-06-06 2023-05-02 空間コンピューティングのための写実的キャラクタ構成

Country Status (5)

Country Link
US (3) US11151766B2 (ja)
EP (1) EP3980880A4 (ja)
JP (2) JP7369212B2 (ja)
CN (1) CN115176215A (ja)
WO (1) WO2020247863A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3511904B1 (de) * 2018-01-11 2020-05-27 Siemens Aktiengesellschaft Verfahren zum bestimmen einer pose eines objekts in einer umgebung des objekts mittels multi-task-lernens, sowie steuerungsvorrichtung
US11151766B2 (en) 2019-06-06 2021-10-19 Magic Leap, Inc. Photoreal character configurations for spatial computing
US11113862B1 (en) * 2020-05-11 2021-09-07 Sony Interactive Entertainment Inc. Simulating motion of computer simulation characters to account for simulated injuries to the characters using current motion model
US20230063681A1 (en) * 2021-08-25 2023-03-02 Sony Interactive Entertainment Inc. Dynamic augmentation of stimuli based on profile of user
US20230132644A1 (en) * 2021-10-28 2023-05-04 Meta Platforms Technologies, Llc Tracking a handheld device
US20230267668A1 (en) * 2022-02-23 2023-08-24 Electronic Arts Inc. Joint twist generation for animation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004252496A (ja) 2002-10-24 2004-09-09 Nintendo Co Ltd ゲーム環境内にオブジェクトをタグ付けすることによって動画制御を行うシステムおよび方法
US20170270703A1 (en) 2015-09-24 2017-09-21 Unity IPR ApS Method and system for a virtual reality animation tool

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4852988A (en) 1988-09-12 1989-08-01 Applied Science Laboratories Visor and camera providing a parallax-free field-of-view image for a head-mounted eye movement measurement system
US6847336B1 (en) 1996-10-02 2005-01-25 Jerome H. Lemelson Selectively controllable heads-up display system
US6433760B1 (en) 1999-01-14 2002-08-13 University Of Central Florida Head mounted display with eyetracking capability
US6491391B1 (en) 1999-07-02 2002-12-10 E-Vision Llc System, apparatus, and method for reducing birefringence
CA2316473A1 (en) 1999-07-28 2001-01-28 Steve Mann Covert headworn information display or data display or viewfinder
CA2362895A1 (en) 2001-06-26 2002-12-26 Steve Mann Smart sunglasses or computer information display built into eyewear having ordinary appearance, possibly with sight license
DE10132872B4 (de) 2001-07-06 2018-10-11 Volkswagen Ag Kopfmontiertes optisches Durchsichtssystem
US20030030597A1 (en) 2001-08-13 2003-02-13 Geist Richard Edwin Virtual display apparatus for mobile activities
CA2388766A1 (en) 2002-06-17 2003-12-17 Steve Mann Eyeglass frames based computer display or eyeglasses with operationally, actually, or computationally, transparent frames
US6943754B2 (en) 2002-09-27 2005-09-13 The Boeing Company Gaze tracking system, eye-tracking assembly and an associated method of calibration
US7347551B2 (en) 2003-02-13 2008-03-25 Fergason Patent Properties, Llc Optical system for monitoring eye movement
US7500747B2 (en) 2003-10-09 2009-03-10 Ipventure, Inc. Eyeglasses with electrical components
FR2854265B1 (fr) * 2003-04-28 2006-05-19 Snecma Moteurs Optimisation de l'ergonomie lors du deplacement d'un mannequin virtuel
MXPA06011168A (es) 2004-04-01 2007-04-16 William C Torch Biosensores, comunicadores, y controladores que verifican el movimiento del ojo y metodos para utilizarlos.
US11428937B2 (en) 2005-10-07 2022-08-30 Percept Technologies Enhanced optical and perceptual digital eyewear
US9658473B2 (en) 2005-10-07 2017-05-23 Percept Technologies Inc Enhanced optical and perceptual digital eyewear
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
US20110213664A1 (en) 2010-02-28 2011-09-01 Osterhout Group, Inc. Local advertising content on an interactive head-mounted eyepiece
US8890946B2 (en) 2010-03-01 2014-11-18 Eyefluence, Inc. Systems and methods for spatially controlled scene illumination
US8531355B2 (en) 2010-07-23 2013-09-10 Gregory A. Maltz Unitized, vision-controlled, wireless eyeglass transceiver
US9292973B2 (en) 2010-11-08 2016-03-22 Microsoft Technology Licensing, Llc Automatic variable virtual focus for augmented reality displays
US8929589B2 (en) 2011-11-07 2015-01-06 Eyefluence, Inc. Systems and methods for high-resolution gaze tracking
US8611015B2 (en) 2011-11-22 2013-12-17 Google Inc. User interface
US8235529B1 (en) 2011-11-30 2012-08-07 Google Inc. Unlocking a screen using eye tracking information
US8638498B2 (en) 2012-01-04 2014-01-28 David D. Bohn Eyebox adjustment for interpupillary distance
US10013053B2 (en) 2012-01-04 2018-07-03 Tobii Ab System for gaze interaction
US9274338B2 (en) 2012-03-21 2016-03-01 Microsoft Technology Licensing, Llc Increasing field of view of reflective waveguide
US8989535B2 (en) 2012-06-04 2015-03-24 Microsoft Technology Licensing, Llc Multiple waveguide imaging structure
US9123175B1 (en) * 2012-06-29 2015-09-01 Lucasfilm Entertainment Company Ltd. Pose space simplicial interpolation
WO2014089542A1 (en) 2012-12-06 2014-06-12 Eyefluence, Inc. Eye tracking wearable devices and methods for use
JP2016509292A (ja) 2013-01-03 2016-03-24 メタ カンパニー エクストラミッシブ空間撮像デジタル眼鏡装置または拡張介在ビジョン
US20140195918A1 (en) 2013-01-07 2014-07-10 Steven Friedlander Eye tracking user interface
US10175483B2 (en) * 2013-06-18 2019-01-08 Microsoft Technology Licensing, Llc Hybrid world/body locked HUD on an HMD
US9418465B2 (en) 2013-12-31 2016-08-16 Dreamworks Animation Llc Multipoint offset sampling deformation techniques
US11151766B2 (en) 2019-06-06 2021-10-19 Magic Leap, Inc. Photoreal character configurations for spatial computing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004252496A (ja) 2002-10-24 2004-09-09 Nintendo Co Ltd ゲーム環境内にオブジェクトをタグ付けすることによって動画制御を行うシステムおよび方法
US20170270703A1 (en) 2015-09-24 2017-09-21 Unity IPR ApS Method and system for a virtual reality animation tool

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Tomohiko Mukai, 外1名,"Efficient Dynamic Skinning with Low-Rank Helper Bone Controllers",SIGGRAPH '16 Technical Paper,米国,ACM,2016年

Also Published As

Publication number Publication date
US20230087227A1 (en) 2023-03-23
US20200388065A1 (en) 2020-12-10
EP3980880A1 (en) 2022-04-13
JP2023100820A (ja) 2023-07-19
US11544888B2 (en) 2023-01-03
CN115176215A (zh) 2022-10-11
EP3980880A4 (en) 2022-11-23
US11823316B2 (en) 2023-11-21
WO2020247863A1 (en) 2020-12-10
JP2022534799A (ja) 2022-08-03
US11151766B2 (en) 2021-10-19
US20220076475A1 (en) 2022-03-10

Similar Documents

Publication Publication Date Title
JP7445720B2 (ja) 拡張現実のためのシステムおよび方法
JP7369212B2 (ja) 空間コンピューティングのための写実的キャラクタ構成
JP7437327B2 (ja) 異種入力の補間のための方法およびシステム
US20240005808A1 (en) Individual viewing in a shared space
JP2023076633A (ja) 仮想アバタのコンテキストベースのレンダリング
US11557076B2 (en) Computer generated hair groom transfer tool
JP2023089294A (ja) 仮想アバタのためのメッシュの合致
JP7459050B2 (ja) 仮想キャラクタの姿勢空間変形のための姿勢空間次元低減
US11900912B2 (en) Surface appropriate collisions
US20240054712A1 (en) Systems and methods for cross-application authoring, transfer, and evaluation of rigging control systems for virtual characters
US11961194B2 (en) Non-uniform stereo rendering
US20230260156A1 (en) Methods and systems for interpolation of disparate inputs

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230502

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230502

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230502

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230807

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230919

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231013

R150 Certificate of patent or registration of utility model

Ref document number: 7369212

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150