JP2020529692A - リアルタイムの複雑なキャラクタアニメーションおよび相互作用のためのシステムおよび方法 - Google Patents

リアルタイムの複雑なキャラクタアニメーションおよび相互作用のためのシステムおよび方法 Download PDF

Info

Publication number
JP2020529692A
JP2020529692A JP2020527845A JP2020527845A JP2020529692A JP 2020529692 A JP2020529692 A JP 2020529692A JP 2020527845 A JP2020527845 A JP 2020527845A JP 2020527845 A JP2020527845 A JP 2020527845A JP 2020529692 A JP2020529692 A JP 2020529692A
Authority
JP
Japan
Prior art keywords
vertices
character
offset data
animation
vertex
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.)
Pending
Application number
JP2020527845A
Other languages
English (en)
Inventor
マイケル スコット ハッチンソン,
マイケル スコット ハッチンソン,
ローレンス デイビッド カトラー,
ローレンス デイビッド カトラー,
アポストロス レリオス,
アポストロス レリオス,
Original Assignee
バオバブ ステュディオズ インコーポレイテッド
バオバブ ステュディオズ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by バオバブ ステュディオズ インコーポレイテッド, バオバブ ステュディオズ インコーポレイテッド filed Critical バオバブ ステュディオズ インコーポレイテッド
Publication of JP2020529692A publication Critical patent/JP2020529692A/ja
Pending legal-status Critical Current

Links

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
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/001Model-based coding, e.g. wire frame
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • G06V10/763Non-hierarchical techniques, e.g. based on statistics of modelling distributions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • H04L65/4053Arrangements for multi-party communication, e.g. for conferences without floor control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis

Abstract

【解決手段】システム、方法、および非一時的なコンピュータ可読媒体は、仮想変形可能幾何モデルに関連付けられた仮想モデル情報を受信することができる。仮想モデル情報は、複数の変換および第1の複数の頂点を含む複雑なリグと、第2の複数の変換および第1の複数の頂点に対応する第2の複数の頂点を含む単純化されたリグと、を含む。単純化されたリグおよび複雑なリグは、アニメーションに基づいて変形され、仮想変形可能幾何モデルに適用される。オフセットデータのセットが計算される。オフセットデータのセットは、第1の複数の頂点内の各頂点について、頂点と第2の複数の頂点内の対応する頂点との間のオフセットを含む。オフセットデータのセットの圧縮版は、仮想変形可能幾何モデルのリアルタイムのアニメーションのためのリアルタイム処理エンジンにエクスポートされる。【選択図】 図1A

Description

(関連出願への相互参照)
本出願は、2017年7月28日に出願され、「VRおよびARの複雑なキャラクタアニメーションおよび相互作用のためのシステムおよび方法」と題された米国仮特許出願第62/538,590号への優先権を主張し、その全てが参考として本明細書に組み込まれる。
本技術は、デジタルのキャラクタアニメーションの分野に関する。より詳細には、本技術は、リアルタイムの複雑なキャラクタアニメーションおよび相互作用のための技術に関する。
仮想現実(Virtual Reality:VR)および拡張現実(Augmented Reality:AR)は、エンターテイメントおよびストーリーテリングのための新しい媒体であり、これにより、コンテンツ作成者は、他の媒体では不可能な方法で視聴者を没入させることができる。VRおよびARは、文学または映画で経験するのと同じように、観客が共感できるキャラクタで魅力的なストーリーを伝えるための強力な没入型プラットフォームである。VRおよびAR体験で使用されるようなデジタルキャラクタは、多くの場合、中立化された3Dモデル(「デフォルトモデル」と呼ばれることが多い)として始まる。キャラクタ「リグ」はデジタルパペットであり、キャラクタモデルが、迫真の方法で移動したり、動き回ったり、感情を表したりして、生きている幻想を与えることができるように、キャラクタモデルをアニメーション化することができるようにする。キャラクタリグは、静的なデフォルトのキャラクタモデルを入力として受け取り、アニメーションの入力制御(肘がどのくらいの角度で曲がるか、またはキャラクタの口がどのくらい笑っているかなど)に基づいて、これらのモデルに一連の手続きの修正を適用し、時間の経過とともに、変形して動く表情豊かなキャラクタを生成する。キャラクタリグは、通常、下にある階層、あるいは、骨格のジョイントまたはボーンの集合を動かす一連のアニメーション制御を含む。このプロセスは、多くの場合、キャラクタのモーションシステムと呼ばれる。次に、様々な手法を使用して、変形層が、キャラクタモデルを、これらのアニメーション化された骨格に取り付けるまたは結び付ける。
本開示の様々な実施形態は、仮想変形可能幾何モデルに関連付けられた仮想モデル情報を受信するように構成されたシステム、方法、および非一時的なコンピュータ可読媒体を含むことができる。仮想モデル情報は、デフォルトモデルによって定義される複数の変換および第1の複数の頂点を含む複雑なリグと、第2の複数の変換および第2の複数の頂点を含む単純化されたリグと、を含む。第2の複数の頂点は、デフォルトモデルによって定義される第1の複数の頂点に対応する。単純化されたリグおよび複雑なリグは、仮想変形可能幾何モデルに適用されるアニメーションに基づいて変形される。オフセットデータのセットが計算される。オフセットデータのセットは、第1の複数の頂点内の各頂点について、頂点と第2の複数の頂点内の対応する頂点との間のオフセットを含む。
一実施形態では、アニメーションは、複数のフレームを含み、オフセットデータのセットは、第1の複数の頂点内の各頂点について、および複数のフレーム内の各フレームについて、頂点と第2の複数の頂点内の対応する頂点との間のオフセットを含む。
一実施形態では、アニメーションを、没入型環境においてリアルタイムで仮想変形可能幾何モデルに適用させる指示が受信される。
一実施形態では、単純化されたリグは、アニメーションに基づいてリアルタイムで変形され、複雑なモデルの変形は、単純化されたリグを変形することおよびオフセットデータのセットに基づいて生成される。
一実施形態では、第2の複数の変換は、第1の複数の変換のサブセットを表す。
一実施形態では、第1の複数の変換は、複数の変形変換および複数の制御変換を含み、第2の複数の変換は、複数の変形変換のサブセットを含む。
一実施形態では、第1の複数の変換の少なくとも一部は階層的に配置される。
一実施形態では、第2の複数の変換の少なくとも一部は階層的に配置される。
一実施形態では、単純化されたリグは、第2の複数の変換と第2の複数の頂点との間の関係を定義するスキニングの重みのセットをさらに含む。
一実施形態では、第2の複数の頂点内の各頂点は、第2の複数の変換のうちの4つ以下の変換に関連付けられる。
本開示の様々な実施形態は、仮想変形可能幾何モデルに関連付けられた仮想モデル情報を受信するように構成されたシステム、方法、および非一時的なコンピュータ可読媒体を含むことができる。仮想モデル情報は、デフォルトモデルによって定義される複数の変換および第1の複数の頂点を含む複雑なリグと、第2の複数の変換および第2の複数の頂点を含む単純化されたリグと、を含む。第2の複数の頂点は、デフォルトモデルにより定義される第1の複数の頂点に対応する。単純化されたリグおよび複雑なリグは、仮想変形可能幾何モデルに適用されるアニメーションに基づいて変形される。オフセットデータのセットが計算される。オフセットデータのセットは、第1の複数の頂点内の各頂点について、頂点と第2の複数の頂点内の対応する頂点との間のオフセットを含む。オフセットデータのセットの圧縮版は、仮想変形可能幾何モデルのリアルタイムのアニメーションのためのリアルタイム処理エンジンにエクスポートされる。
一実施形態では、オフセットデータのセットの圧縮版が生成される。
一実施形態では、オフセットデータのセットの圧縮版を生成することは、第1の複数の頂点内の各頂点について、アニメーションを通して頂点のオフセットのX、Y、およびZの最小値および最大値を追跡することにより、第1の複数の頂点内の各頂点についてタイトなバウンディングボックスを計算することを含む。
一実施形態では、オフセットデータのセットの圧縮版を生成することは、タイトなバウンディングボックスに基づいて、16ビット以下の整数を使用してオフセットデータのセットのうちのオフセットを量子化して、オフセットデータの低ビット量子化を生成することをさらに含む。
一実施形態では、オフセットデータのセットの圧縮版を生成することは、X、Y、およびZのオフセット値を色成分値にマッピングすることにより、オフセットデータの低ビット量子化をビデオ圧縮技術と組み合わせることをさらに含む。
一実施形態では、オフセットデータのセットの圧縮版を生成することは、X、Y、およびZのオフセット値をオーディオストリームのチャネルにマッピングすることにより、オフセットデータの低ビット量子化を不可逆または可逆のオーディオ圧縮技術と組み合わせることをさらに含む。
一実施形態では、オフセットデータのセットの圧縮版を生成することは、X、Y、およびZのオフセット値を写真内のピクセルの色成分値にマッピングし、連続するアニメーションフレームについて隣接するピクセルを使用することにより、オフセットデータの低ビット量子化を不可逆または可逆の写真圧縮技術と組み合わせることをさらに含む。
一実施形態では、オフセットデータのセットの圧縮版を生成することは、第1の複数の頂点内の各頂点をビデオストリームのピクセルに相関させることをさらに含む。
一実施形態では、第1の複数の頂点内の各頂点をビデオストリームのピクセルに相関させることは、テクスチャルックアップを使用して、第1の複数の頂点内の各頂点をテクスチャ位置にマッピングすることにより、またはインデックススキームを使用することにより、第1の複数の頂点内の各頂点をビデオストリームのピクセルに相関させることを含む。
一実施形態では、オフセットデータのセットの圧縮版を生成することは、オフセットデータのセットをクラスタリングして複数のクラスタを生成することを含み、さらに、オフセットデータのセットをクラスタリングすることは、K平均法を使用してオフセットデータのセットをクラスタリングすることを含む。
一実施形態では、オフセットデータのセットの圧縮版を生成することは、オフセットデータのセットをクラスタリングして複数のクラスタを生成することと、複数のクラスタのうちの各クラスタに主成分分析(Principal Component Analysis:PCA)を適用することと、を含む。
一実施形態では、オフセットデータのセットの圧縮版を生成することは、近似パラメータ化分析関数を使用して、オフセットデータのセットのうちのオフセットの経時的な変化を表すことと、近似パラメータ化分析関数のパラメータのサブセットのみを保持することと、を含む。
本開示の様々な実施形態は、リアルタイムの没入環境でアニメーション化される仮想変形可能幾何モデルを識別するように構成されたシステム、方法、および非一時的なコンピュータ可読媒体を含むことができる。仮想変形可能幾何モデルは、複数の頂点と、複数のエッジと、複数の面と、を含む仮想モデルのメッシュを含む。仮想モデルのメッシュは、1つ以上の反復で繰り返し細分化されて、細分化されたメッシュを生成する。1つ以上の反復のうちの各反復により、頂点の数、エッジの数、および/または面の数が増加される。細分化されたメッシュは、リアルタイムの没入環境内において、仮想変形可能幾何モデルのリアルタイムのアニメーション中に表示される。
一実施形態では、リアルタイムの没入環境は、仮想現実環境または拡張現実環境である。
一実施形態では、細分化されたメッシュは第2の複数の頂点を含み、第2の複数の頂点内の各頂点は、複数の頂点内の頂点の線形加重結合である。
一実施形態では、頂点の各線形加重結合は1つ以上の重みを含み、方法は、リアルタイムの没入環境内における仮想変形可能幾何モデルのリアルタイムのアニメーションよりも前に、各線形加重結合の1つ以上の重みを事前に計算することをさらに含む。
一実施形態では、各線形加重結合は、重みの所定の最大数に制限される。
一実施形態では、重みの所定の最大数よりも大きい複数の重みを有する第2の複数の頂点内の各頂点について、重みのサブセットが、線形加重結合に含めるための複数の重みから、重みの絶対的な大きさに基づいて選択される。
一実施形態では、近似法線ベクトルおよび近似接線ベクトルが、第2の複数の頂点内の各頂点について計算される。
一実施形態では、第2の複数の頂点の第1のサブセットの頂点内の各頂点は、ちょうど4つの隣接する頂点を有し、第1のサブセットの頂点内の各頂点について近似法線ベクトルを計算することは、第1のサブセットの頂点内の各頂点について、頂点に隣接する4つの頂点に基づいて近似法線ベクトルを計算することを含み、第1のサブセットの頂点内の各頂点について近似接線ベクトルを計算することは、第1のサブセットの頂点内の各頂点について、頂点に隣接する4つの頂点に基づいて近似接線ベクトルを計算することを含む。
一実施形態では、第2の複数の頂点の第1のサブセットの頂点内の各頂点は、4つを超える隣接する頂点を有し、第1のサブセットの頂点内の各頂点について近似法線ベクトルを計算することは、第1のサブセットの頂点内の各頂点について、頂点に隣接する4つの頂点を選択し、選択された頂点に隣接する4つの頂点に基づいて近似法線ベクトルを計算することを含み、第1のサブセットの頂点内の各頂点について近似接線ベクトルを計算することは、第1のサブセットの頂点内の各頂点について、選択された頂点に隣接する4つの頂点に基づいて近似接線ベクトルを計算することを含む。
一実施形態では、第2の複数の頂点の第1のサブセットの頂点内の各頂点は、4つ未満の隣接する頂点を有し、第1のサブセットの頂点内の各頂点について近似法線ベクトルを計算することは、第1のサブセットの頂点内の各頂点について、頂点に隣接する全ての頂点および任意の欠落している頂点に置換された頂点自体を含む、頂点に関連付けられた4つの頂点のセットを決定することと、4つの頂点のセットに基づいて頂点の近似法線ベクトルを計算することと、を含み、第1のサブセットの頂点内の各頂点について近似接線ベクトルを計算することは、第1のサブセットの頂点内の各頂点について、4つの頂点のセットに基づいて近似接線ベクトルを計算することを含む。
本開示の様々な実施形態は、リアルタイムの没入環境内でユーザに提示されている仮想キャラクタを識別するように構成されたシステム、方法、および非一時的なコンピュータ可読媒体を含むことができる。仮想キャラクタに適用される第1のアニメーションが決定される。第1のアニメーションと同時に仮想キャラクタに適用される非言語コミュニケーションのアニメーションが決定される。仮想キャラクタは、第1のアニメーションおよび非言語コミュニケーションのアニメーションに基づいてリアルタイムでアニメーション化される。
一実施形態では、非言語コミュニケーションのアニメーションは、ユーザに関連付けられたユーザ入力に基づいて決定される。
一実施形態では、ユーザ入力は、没入環境で追跡されるユーザの特徴位置のセットに関連付けられた位置および方向の情報を含む。
一実施形態では、非言語コミュニケーションのアニメーションは、仮想キャラクタが、位置および方向の情報に基づいて、ユーザの特徴位置のセットのうちの1つ以上の特徴位置を見るようにさせるルッキングアニメーションを含む。
一実施形態では、非言語コミュニケーションのアニメーションは、仮想キャラクタが、リアルタイムの没入環境で2つ以上のオブジェクトを交互に見るようにさせるルッキングアニメーションを含み、2つ以上のオブジェクトは、ユーザの頭、ユーザの手、ユーザの身体または顔の特徴位置、リアルタイムの没入環境での別のユーザ、リアルタイムの没入環境での第2の仮想キャラクタ、またはリアルタイムの没入環境でシミュレートされたオブジェクト、のうちの少なくとも2つを含む。
一実施形態では、位置および向きの情報は、ユーザの頭に関連付けられた頭の位置および向きの情報を含み、非言語コミュニケーションのアニメーションは、頭の位置および向きの情報に基づいてユーザによる頭の動きを仮想キャラクタに反映させるミラーリングのアニメーションを含む。
一実施形態では、位置および方向の情報は、1つ以上のユーザの手に関連付けられた手の位置および方向の情報をさらに含む。
一実施形態では、第1のアニメーションおよび非言語コミュニケーションのアニメーションに基づいて仮想キャラクタをリアルタイムでアニメーション化することは、非言語コミュニケーションのアニメーションを第1のアニメーションとレイヤー化することを含む。
一実施形態では、非言語コミュニケーションのアニメーションは、没入環境に関連付けられた仮想環境状態の情報に基づいて決定される。
一実施形態では、非言語コミュニケーションのアニメーションは、仮想環境状態の情報に基づいて仮想キャラクタのアクティビティレベルを増加させることを含む。
開示された技術の他の多くの特徴、用途、実施形態、および/または変形は、添付の図面および以下の詳細な説明から明らかであることを理解すべきである。本明細書で説明される構造、システム、非一時的コンピュータ可読媒体、および方法の追加および/または代替の実装は、開示される技術の原理から逸脱することなく採用することができる。
図1Aは、本開示の一実施形態による、キャラクタアニメーションモジュールを含む一例のシステムを示す。 図1Bは、本開示の一実施形態による、アニメーションのクリップデータの一例のブロック図表示を示す。 図2は、本開示の一実施形態による、一例のデータエクスポータモジュールを示す。 図3は、本開示の一実施形態による、一例の非言語キャラクタキューモジュールを示す。 図4は、本開示の一実施形態による、一例の複雑なモデル変形モジュールを示す。 図5は、本開示の一実施形態による、一例のモデルテッセレーションモジュールを示す。 図6は、本開示の一実施形態による、モデルテッセレーションに関連付けられた一例のシナリオを示す。 図7は、本開示の一実施形態による、法線ベクトルの近似に関連付けられた一例のシナリオを示す。 図8は、本開示の一実施形態による、法線ベクトルの近似に関連付けられた一例のシナリオを示す。 図9は、本開示の一実施形態による、法線ベクトルの近似に関連付けられた一例のシナリオを示す。 図10は、本開示の一実施形態による、細分割曲面の生成のための一例のフローブロック図を示す。 図11は、本開示の一実施形態による、複雑なおよび単純なキャラクタモデルの頂点間の頂点オフセットデータを計算する一例の方法を示す。 図12は、本開示の一実施形態による、複雑なおよび単純なキャラクタモデルの頂点間の圧縮された頂点オフセットデータを計算する一例の方法を示す。 図13は、本開示の一実施形態による、ベースメッシュから細分化されたメッシュを生成する一例の方法を示す。 図14は、本開示の一実施形態による、仮想キャラクタのアニメーションを非言語コミュニケーションのアニメーションで増強する一例の方法を示す。 図15は、本開示の一実施形態による、様々なシナリオで利用できる一例のコンピュータシステムまたはコンピュータ装置を示す。
図面は、例示のみを目的として、開示された技術の様々な実施形態を示しており、図面は、同様の参照番号を使用して同様の要素を識別する。当業者は、以下の説明から、本明細書に記載の開示技術の原理から逸脱することなく、図示される構造および方法の代替の実施形態を採用できることを容易に認識するであろう。
リアルタイムの複雑なモデルアニメーションおよび相互作用
仮想現実(Virtual Reality:VR)および拡張現実(Augmented Reality:AR)は、エンターテイメントおよびストーリーテリングのための新しい媒体であり、これにより、コンテンツ作成者は、他の媒体では不可能な方法で視聴者を没入させることができる。VRおよびARは、文学または映画で経験するのと同じように、観客が共感できるキャラクタで魅力的なストーリーを伝えるための強力な没入型プラットフォームである。しかし、映画体験とは異なり、VRおよびARは、視聴者がストーリーの仮想世界内に完全に没入されるため、デジタルキャラクタがリアルタイムで視聴者と相互に作用し、反応する機会を提供する。
デジタルキャラクタは、多くの場合、中立化された3Dモデル(「デフォルトモデル」と呼ばれることが多い)として始まる。キャラクタ「リグ」はデジタルパペットであり、キャラクタモデルが、迫真の方法で移動したり、動き回ったり、感情を表したりして、生きている幻想を与えることができるように、キャラクタモデルをアニメーション化することができるようにする。キャラクタリグは、静的なデフォルトのキャラクタモデルを入力として受け取り、アニメーションの入力制御(肘がどのくらいの角度で曲がるか、またはキャラクタの口がどのくらい笑っているかなど)に基づいて、これらのモデルに一連の手続きの修正を適用し、時間の経過とともに、変形して動く表情豊かなキャラクタを生成する。キャラクタリグは、通常、下にある階層、あるいは、骨格のジョイントまたはボーンの集合を動かす一連のアニメーション制御を含む。このプロセスは、多くの場合、キャラクタのモーションシステムと呼ばれる。次に、様々な手法を使用して、変形層が、キャラクタモデルを、これらのアニメーション化された骨格に取り付けるまたは結び付ける。
キャラクタアニメーションへの従来のアプローチでは、一般に、リアルタイムアプリケーション(ビデオゲーム、VR、および/またはARなど)と非リアルタイムアプリケーション(長編映画など)との品質レベルが異なる。ほとんどのリアルタイムアプリケーションに固有の計算の制約により、リアルタイムアプリケーションは、一般に、非リアルタイムアプリケーションよりも低品質のアニメーションを使用するという結果になることを理解することができる。ビデオゲームは、通常、30または60フレーム/秒(frames per second:FPS)で単一の視点をレンダリングする。VRプロジェクトでは、通常、90FPSで2つの視点(各目につき1つ)をレンダリングするため、さらに大量の計算が要求される。そのため、VRおよびARへの従来のアプローチは、ほとんどのビデオゲームと同様に、様々なスキニングおよびモーフターゲットを使用する。これらは、低品質のキャラクタアニメーションをもたらすシンプルなキャラクタ変形技術であるが、リアルタイムで実行するために最適化される。リアルタイムアプリケーション向けのキャラクタリグでは、「スキニング」は、デフォルトモデルのスキンをリグのボーンに結び付けるために一般的に使用される手法である。各ボーンは、ボーンの動きによって影響を受けるスキン上の頂点のセットに関連付けられる。各スキンの頂点は、複数のボーンの影響を受ける可能性がある。リアルタイムアプリケーションのためのキャラクタリグは、通常、各スキンの頂点を関連付けることができるボーンの数およびリグ内のボーン全体の数に制限を設けているので、キャラクタをリアルタイムで変形することができる。リアルタイムのキャラクタリグでは、顔のパフォーマンスは、ブレンドシェイプまたはモーフターゲットのセットとしてキャプチャされることがよくある。フェイスリグは、アニメータによってオンまたはオフにブレンドされる多数のモデル化された顔の形状(笑顔のポーズなど)で構成することができる。
逆に、長編映画のためのキャラクタリグでは、リアルタイムのアニメーションに関連付けられた制約は適用されないため、より広範囲な技術を適用して、アニメーション化されたキャラクタモデルを作成することができる。より高性能なデフォーマおよび複数の変形層を使用して、筋肉組織、脂肪、および皮膚の複雑さをキャプチャしたり、あるいはキャラクタの形状またはシルエットの特定の視覚的品質を維持したりできる。顔のパフォーマンスはブレンドシェイプに限定されず、顔の全ての複雑さをキャプチャするために多くの変形層を含むことができる。多くの場合、複雑なキャラクタリグは、物理ベースのシミュレーションを実行して、長い髪、衣服、筋肉、および骨格の上を滑らかに動く皮膚をより正確に描写する。複雑な長編映画のリグは、リアルタイムで実行する必要はなく、分散型のコンピュータの集団を使用して、特にシミュレートされる要素を有する最終的なキャラクタモデルをオフラインで計算するのが一般的である。リアルタイム処理に固有の計算資源の制限により、ゲームおよびVRなどのリアルタイムアプリケーションにおけるキャラクタアニメーションへの従来のアプローチは、長編映画などの非リアルタイムアプリケーションにおけるキャラクタアニメーションの品質、複雑さ、豊かさのないアニメーションをもたらす。
コンピュータ技術に根ざした改善されたアプローチは、特にコンピュータ技術の分野で生じる従来のアプローチに関連付けられた前述およびその他の欠点を克服する。一般に、本技術は、VRおよびARを含む、シミュレートされた没入環境向けに設計された革新的なシステムを提供するが、ホログラフィックテクノロジーおよびブレインコンピュータインターフェースなどの他の没入型シナリオにも拡張される。没入環境は、適宜、簡潔にするために総称してVRと呼ばれる場合がある。本技術は、エンターテイメント、医療、トレーニング、および教育などの多くの場面に適用できる。ここで説明する多くの機能はVRおよびARエンターテインメントを参照して説明するが、本技術は、エンターテインメント以外の幅広いアプリケーションで、任意のシミュレートされた環境または没入型環境に適用することができ、本明細書で説明する機能は特定の例のアプリケーションを表すことが理解されるであろう。様々な実施形態において、本技術は、キャラクタアニメーションを含む高品質のアニメーションを作成するVRおよびARのためのエンターテイメント(適宜、簡潔にするためにVRと総称される場合がある)向けに設計された革新的なシステムに、長編映画、またはその他の非リアルタイムのアニメーションアプリケーションから期待するが、VRコンピュータ装置でリアルタイムに動作することができる全ての視覚的な忠実度および演技の繊細さを提供する。本技術は、表現力が高く、ユーザ入力への応答性が高いVRキャラクタのパフォーマンスを可能にする。本技術は、ユーザがキャラクタであり、他のキャラクタと対話して物語に参加できるストーリーの中にユーザを配置する、真に没入型のVR体験を作成するためのバックボーンとなることができる。本技術は、映画の感情移入と、ゲームの作用とでもあるが、実生活のモチベーションとも組み合わせるVR体験を可能にする。
従来のアプローチと比較した本技術の利点は以下のものを含む。
・動きがシミュレートされた仮想環境のキャラクタおよび他のアスペクトの両方を含む、仮想変形可能幾何モデルの高品質の仮想表現。
・視覚的な忠実度およびアニメーション(動き)の品質の両方で、VR向けにリアルタイムでレンダリングされた、ユーザ入力に応答できる高品質のキャラクタパフォーマンス。
・ユーザ入力に動的に応答できる、リアルタイムのVR体験で動作する長編映画品質の顔のパフォーマンス。
・リアルタイムのVR体験で動作する、肌、布、および髪のキャラクタシミュレーション。
・リアルタイムのVR体験で動作する、滑らかな細分割曲面モデル。
・キャラクタの視覚的な忠実度は、リアルタイムのゲームエンジンで動作可能な、高速であるが低品質の技術(スキニングなど)によって制限されないこと。
・キャラクタアニメーションのパイプラインをリアルタイムエンジンのパイプラインから分離すること。
・ハイエンドのコンピュータに接続されたVRヘッドセットで動作する能力、およびモバイル駆動のVRヘッドセットデバイス、ARデバイス、およびその他の没入型テクノロジーなどのパワフルでないデバイスで縮小して動作する能力。
本技術により、アーティストは、長編映画から期待されるが、リアルタイムエンジンでリアルタイムに動作する全ての繊細さを有し、その結果がリアルタイムエンジンによって手続き的に変更される高品質のキャラクタアニメーションを作成することができる。本技術は、アニメーション作成ツールで任意の複雑なキャラクタの設定を可能にすることにより、リアルタイムでアニメーション化されるキャラクタのパフォーマンスに対する制限を取り除く。開示されるリアルタイムエンジンのパイプラインは、ゲームロジックおよびユーザ入力に基づいて、サイクルアニメーションを一緒にブレンドすることにより、完全なキャラクタの相互作用を可能にし、ハードエッジの多角形モデルではなく、滑らかな細分割曲面としてレンダリングされる、変形された複雑なキャラクタモデルを生成する。開示された技術に関連する詳細を以下に示す。
図1Aは、本開示の一実施形態による、キャラクタアニメーションモジュール102を含む一例のシステム100を示す。キャラクタアニメーションモジュール102は、1つ以上のコンピュータ装置上で動作する1つ以上のソフトウェアアプリケーションで実装することができる。この図および本明細書の全ての図に示される構成要素(例えば、モジュール、要素など)は例示にすぎず、他の実装は、追加の、より少ない、統合された、または他の構成要素を含むことができる。一部の構成要素は、関連する詳細を不明瞭にしないために表示されない場合がある。様々な実施形態において、キャラクタアニメーションモジュール102に関連して説明される1つ以上の機能は、任意の適切な組み合わせで実装することができる。
図1Aの例に示されるように、キャラクタアニメーションモジュール102は、アニメーション作成モジュール104と、リアルタイムエンジンモジュール116と、を含むことができる。また、図1Aの例に示されるように、アニメーション作成モジュール104は、複雑なキャラクタリグモジュール106と、単純化されたキャラクタリグモジュール108と、アニメーションモジュール110と、データエクスポータモジュール112と、を含むことができる。さらに、図1Aの例に示すように、リアルタイムエンジンモジュール116は、データインポートモジュール118と、アニメーションドライバモジュール120と、キャラクタ相互作用制約モジュール122と、非言語キャラクタキューモジュール124と、単純化されたキャラクタリグアニメーションモジュール126と、複雑なモデル変形モジュール128と、モデルテッセレーションモジュール130と、レンダリングパイプラインモジュール132と、を含むことができる。一実施形態では、複雑なモデル変形モジュール128、モデルテッセレーションモジュール130、および/またはレンダリングパイプライン132は、グラフィック処理ユニット(GPU)134を使用して、部分的にまたは全体的に実装することができる。
一部の実施形態では、本明細書で説明される様々なモジュールおよび/またはアプリケーションは、部分的にまたは全体的に、ソフトウェア、ハードウェア、またはそれらの任意の組み合わせとして実装することができる。一般に、モジュールおよび/またはアプリケーションは、本明細書で説明されるように、ソフトウェア、ハードウェア、またはそれらの任意の組み合わせに関連付けることができる。一部の実装形態では、モジュールおよび/またはアプリケーションの1つ以上の機能、タスク、および/または操作は、ソフトウェアルーチン、ソフトウェアプロセス、ハードウェア、および/またはそれらの任意の組み合わせによって実行または遂行することができる。場合によっては、本明細書で説明する様々なモジュールおよび/またはアプリケーションは、部分的にまたは全体的に、ユーザまたはクライアントのコンピュータ装置またはサーバなどの1つ以上のコンピュータ装置またはシステムで動作するソフトウェアとして実装することができる。例えば、本明細書で説明する1つ以上のモジュールおよび/またはアプリケーション、またはその少なくとも一部は、ユーザのコンピュータ装置またはクライアントのコンピュータシステムで動作する、アプリケーション(例えば、アプリ)、プログラム、またはアプレットなどとして、またはその内部で実装することができる。別の例では、1つ以上のモジュールおよび/またはアプリケーション、または少なくともそれらの一部は、ネットワークサーバまたはクラウドサーバなどの1つ以上のサーバを含む、1つ以上のコンピュータ装置またはシステムを使用して実装できる。多くのバリエーションまたは他の可能性があり得ることを理解すべきである。
複雑なキャラクタリグモジュール106は、デジタルの仮想キャラクタのための複雑なキャラクタリグを定義するデータを受け取り、保持するように構成することができる。一般に、複雑なキャラクタリグは、複数の頂点を有するデフォルトのキャラクタモデルに関連付けられる、および/または複数の頂点を有するデフォルトのキャラクタモデルを含むことができる。複雑なキャラクタリグは、3Dの位置および方向を定義する、変換の基礎となるセット(例えば、階層、コレクション)を駆動する一連のアニメーション制御をさらに含むことができる。前述のように、これらの変換は、通常、キャラクタリグの骨格のジョイントまたはボーンとして表される。複雑な骨格のリグのジョイントは、デフォルトのキャラクタモデルの頂点を変形および移動する。特定の実施形態では、骨格のジョイントは3D点位置(方向変換情報なし)を含むことができる。特定の実施形態では、骨格のジョイントは、点位置および完全な変換の組み合わせを含むことができる。特定の実施形態では、ジョイントの集合が階層的に構築されてもよい。しかし、他の実施形態では、ジョイントの集合は階層的に配置されない場合がある。さらに、現在開示されている技術は、幾何学的な変形を駆動する任意の点および変換のセットに適用することができる。本明細書で説明する機能の多くは、骨格のジョイントによって駆動されるキャラクタの変形を参照して説明されるが、本技術は、任意の点および変換のセットによって駆動される、任意の変形可能な幾何モデルに適用することができ、本明細書で説明する仮想キャラクタモデルの変形は、1つの特定の適用例を表すことが理解されるであろう。リギングアーティストは、様々な実施形態において、変形の範囲、複数の変形層、および物理ベースのシミュレーションを含む、様々な手法を利用できる複雑なキャラクタリグを作成することができる。特定の実施形態では、変形のジョイントのセットは骨格の制御のジョイントから導出され、これらの変形のジョイントは幾何学的な変形層を駆動する。変形のジョイントは、骨格構成要素からの変形層の分離およびカプセル化を提供する。特定の実施形態では、複雑なキャラクタリグは、複数の変形層を使用して、例えば筋肉組織、脂肪、および皮膚などの様々な素材の複雑さをキャプチャしたり、キャラクタの形状またはシルエットの特定の視覚的品質を維持したりできる。特定の実施形態では、複雑なキャラクタリグは、様々な変形層に対応する変形のジョイントの複数のセットを含む。特定の実施形態では、骨格のジョイントおよび変形のジョイントの組み合わせが幾何学的な変形を駆動する。複雑なキャラクタリグは、顔の全ての複雑さをキャプチャするために多くの変形層を含む可能性のある顔のパフォーマンスを含むこともできる。様々な実施形態では、複雑なキャラクタリグは、物理ベースのシミュレーションを実行して、長い髪、衣服、筋肉、骨格の上を滑らかに動く皮膚などのように、キャラクタの要素をより正確に描写することができる。複雑なキャラクタリグは、精巧な顔のアニメーションの設定を組み込んで、誇張された表情および複雑な細部の両方をキャプチャすることもできる。開示された技術は、本明細書でより詳細に説明するように、フロントエンドのキャラクタの設定、アニメーション、およびパイプライン(すなわち、アニメーション作成モジュール104)をリアルタイムの処理エンジンで動作するリアルタイムのキャラクタシステム(すなわち、リアルタイムエンジンモジュール116)から分離することにより、キャラクタリグのあらゆる制限を取り除く。そのため、様々な実施形態では、複雑なキャラクタリグは、入力としてのデフォルトのキャラクタモデルおよびジョイントの階層を含むことを除いて、特定のデータ要件を持たない場合がある。
単純化されたキャラクタリグモジュール108は、デジタルの仮想キャラクタを表す単純化されたキャラクタリグを定義するデータを受け取る、保持する、および/または生成するように構成することができる。一実施形態では、単純化されたキャラクタリグは、複雑なキャラクタリグモジュール106によって生成される、受け取られる、および/または保持される複雑なキャラクタリグに関連付けることができる。一実施形態では、単純化されたキャラクタリグは、骨格のジョイントの変換のセット(複雑なキャラクタリグの骨格のジョイントに類似する)を含むことができる。様々な実施形態では、単純化された骨格のジョイントの変換は、複雑なキャラクタリグとは独立して定義してもよく、階層的であってもなくてもよい。一実施形態では、単純化されたキャラクタリグは、複雑なキャラクタリグの単純化されたバージョンであってもよい。例えば、単純化されたキャラクタリグは、複雑なキャラクタリグの骨格に存在する骨格のジョイントのサブセットを表し、複雑なキャラクタリグの骨格から全てのアニメーション制御データを除外する(例えば、複雑なキャラクタリグの骨格から1つ以上の制御のジョイントを除外する)、単純化された骨格を含むことができる。一実施形態では、単純化されたキャラクタリグは、単純化された骨格のジョイントの階層、デフォルトのキャラクタモデルを定義するデフォルトモデル情報(例えば、これは複雑なキャラクタリグに含まれる同じデフォルトのキャラクタモデルであってもよい)、単純化された骨格とデフォルトのキャラクタモデルの頂点と間の関係を定義するスキニングの重みマップ、および1つ以上のブレンドシェイプを含むことができる。一実施形態では、単純化されたキャラクタリグは、スキニングされた限定的なキャラクタリグであってもよく、デフォルトのキャラクタモデルの各頂点は、単純化された骨格内の最大数以下のボーン、例えば4つ以下のボーンに取り付けることができる。特定の実施形態では、単純化されたキャラクタリグは、リアルタイムエンジンモジュール116によってサポートされるスキニング(格子またはスムージングデフォーマなど)に加えて、より複雑なデフォーマで構成することができる。特定の実施形態では、単純化されたキャラクタリグは、リギングアーティストによって手動で作成することができる。特定の実施形態では、単純化されたキャラクタリグは、統計的または機械学習方法を使用することにより、複雑なキャラクタリグから自動的に導出することができる。例えば、トレーニングセットは、体操のアニメーションポーズを使用して、複雑なキャラクタリグのための変形されたモデル制御頂点であるターゲットで構築することができる。複雑な変形された制御頂点と単純化された制御頂点との差を計算するコスト関数を定義することができる。次に、頂点アタッチメントおよびエクスポートリグのスキニングされた重みマップを学習して、コスト関数を最小化することができる。
アニメーションモジュール110は、複雑なキャラクタリグおよび/または単純化されたキャラクタリグのためのアニメーションデータを受け取るように構成することができる。特定のプロジェクトのためのアニメーションは、一連のショットまたはクリップに分割することができる。特定のショットまたはクリップは、1つ以上の仮想キャラクタを含むことができ、各仮想キャラクタは、複雑なキャラクタリグおよび単純化されたキャラクタリグによって表される、および/または、複雑なキャラクタリグおよび単純化されたキャラクタリグに関連付けられる。特定のショットについて、アニメータは、時間の経過とともに、1つ以上のキャラクタのキャラクタリグ(複雑なおよび/または単純化された)を手作業でアニメーション化またはキーフレーム化することができ、アニメーションは、俳優によるライブパフォーマンスまたは複数の技術の組み合わせからモーションキャプチャすることができる。特定の実施形態では、1つのショットは、単一のキャラクタの行動(アニメーションサイクルまたはサイクルアニメーションとも呼ばれ得る)を表すことができる。アニメーションモジュール110は、1つ以上のショットのアニメーションデータを出力するように構成することができる。ショットの出力アニメーションデータは、各仮想キャラクタについての単純化されたキャラクタのアニメーション化された骨格のジョイントデータと、他の関連するシーンデータ(小道具および環境要素の位置など)と、を含む。本技術で仮想キャラクタをアニメーション化すると、リアルタイムのキャラクタアニメーションへの従来のアプローチとは異なり、上記のように、複雑なキャラクタリグに制限がないという重要な利点がある。そのため、アニメータは、従来のパイプラインよりもはるかに強力なキャラクタパフォーマンスを達成することができる。
データエクスポータモジュール112は、単一のまたは複数のキャラクタリグのためのキャラクタリグデータおよびアニメーションのセットのキャラクタアニメーションデータ114をエクスポートするように構成することができる。キャラクタリグデータおよびキャラクタアニメーションデータ114は、リアルタイム処理エンジン(例えば、リアルタイムエンジンモジュール116)による使用のためにエクスポートすることができる。キャラクタリグデータは、例えば、キャラクタのデフォルトモデル情報(頂点の位置、メッシュのトポロジなど)、ジョイントの階層データ、単純化されたキャラクタリグのスキンの重みマップ、単純化されたキャラクタリグのための任意の追加のデフォーマに関するデータなどを含むことができる。一実施形態では、キャラクタリグデータは、キャラクタごとに(すなわち、アニメーションフレームごとではなく)エクスポートすることができる。
一実施形態では、仮想キャラクタに適用される1つ以上のアニメーションに関するキャラクタアニメーションデータは、アニメーションフレームごとのキャラクタごとにエクスポートすることができる。キャラクタアニメーションデータの一部の例は、単純化されたリグのジョイントの階層に関連するローカル空間のアニメーション化されたジョイントの変換と、キャラクタモデルの制御頂点と、を含むことができる。一実施形態では、キャラクタモデルの制御頂点は、各頂点のスキニングされた重みマップのジョイントの加重平均である、空間内の単純化されたキャラクタリグのメッシュに関するオフセット位置として格納される、複雑なキャラクタメッシュデータを含むことができる。以下に、より詳細に説明するように、各アニメーションの各フレームのキャラクタモデルの各頂点についてオフセットを計算することができる。リアルタイムエンジンモジュール116はオフセットを使用して、代わりに単純化されたキャラクタリグを変形し、次にキャラクタモデルの頂点にオフセットを適用することにより、複雑なキャラクタリグの変形を実現することができる。データエクスポータモジュール112は、このデータをローカルにディスクに保存するか、またはリモートサーバに送信することができる。フレームごとの頂点のオフセットデータをエクスポートすると、大きなデータセットがディスクに保存されたり、またはネットワークを介してリモートサーバに転送されたりする可能性がある。本技術の様々な実施形態は、エクスポートデータのサイズを削減するために複数の形式の不可逆または可逆の圧縮を提供する。圧縮技術の一部の例は、アニメーションフレーム全体で頂点のオフセットをカーブフィッティングすることにより、時間の経過とともにデータを削減したり、または主成分分析(PCA)などの統計的または機械学習技術を使用することにより、保存された頂点の数を削減したりすることができる。データエクスポータモジュール112に関するさらなる詳細は、図2を参照して以下に提供される。
データインポートモジュール118は、キャラクタリグデータおよびキャラクタアニメーションデータ114をインポートするように構成することができる。一実施形態では、データインポートモジュール118は、非同期データマネージャを介して必要とされる要求に応じてデータエクスポータモジュール112によってエクスポートされるキャラクタリグデータおよびキャラクタアニメーションデータ114をロードすることができる。様々な実施形態では、非同期データマネージャは、ローカルディスクからまたはリモートサーバからデータをロードすることができる。一実施形態では、非同期データマネージャは、キャラクタのリグデータおよびキャラクタアニメーションデータをリアルタイムゲームエンジン(例えば、リアルタイムエンジンモジュール116)にインポートすることができる。
前述のように、キャラクタアニメーションデータは、アニメーションの各フレームの1つ以上のキャラクタについて、オフセットデータなどのデータを含むため、かなりの量のデータを含むことができる。一実施形態では、キャラクタアニメーションデータは、実行時に迅速に使用できるように調整することができる。図1Bは、この方法でキャラクタアニメーションデータを調整する方法を示すブロック図である。上記のように、キャラクタアニメーションデータは、1つ以上のアニメーションのクリップに関するデータを含むことができる。図1Bの例では、アニメーションのクリップデータのセットは、単純化されたリグのジョイントのアニメーションデータ(例えば、単純化されたリグのジョイントの階層のアニメーション化されたジョイントの変換)および圧縮された頂点のアニメーションデータ(例えば、単純化されたリグに関する各モデルの制御のための頂点のオフセット)を含む。圧縮された頂点のアニメーションデータは、実行中に立ち往生することなく非同期でGPU(例えば、GPU134)にストリーミングすることができる小さなチャンク(例えば、256フレーム)にスライスされる。このアニメーションのクリップデータは、ローカルマシンから供給したり、クラウドベースのサーバからストリーミングしたりすることができる。GPUへのキャラクタアニメーションデータのストリーミングが障害を引き起こさないことを保証するために、データインポートモジュール118は、集中型のスケジューラを実装して、必要に応じてアニメーションのスライスをキューに入れてストリーミングすることができる。上述のように、キャラクタアニメーションデータは、複数のアニメーションのクリップに関するデータを含むことができる。特定の実施形態では、全てのアニメーションのクリップの第1のチャンク(例えば、256フレーム)は、VRアプリケーションの起動時にGPUのメモリにストリーミングすることができる。特定の実施形態では、データインポートモジュール118は、最適な負荷性能のためにVR装置にローカルに格納されるキャラクタアニメーションデータをストリーミングすることができる。しかし、これにより、VRアプリケーションのフットプリントが大きくなる可能性がある(例えば、大きなローカルストレージの使用量)。あるいは、データインポートモジュール118は、リモートサーバからキャラクタアニメーションデータをストリーミングすることができる。特定の実施形態では、VRアプリケーションの使用中に必要に応じて、追加のチャンクを取得し、GPUにストリーミングされることを予測してローカルに保存することができるが、不要になったチャンクは、ローカルストレージの有用性と、ローカルマシンおよびクラウドベースのサーバの間のストリーミング速度と、のバランスをとるというやり方で、ローカルストレージから廃棄することができる。
図1Aに戻ると、アニメーションドライバモジュール120は、アニメーションサイクルを駆動するように構成することができる。リアルタイム処理エンジンは、様々なサイクルアニメーション間を駆動するまたはブレンドするための多くのメカニズムを提供する。例えば、タイムラインベースの線形編集ツールを使用して、ゲーム内シネマティクスなどの物語体験を作成することができる。ステートマシンにより、対話型のゲームで様々なサイクル間をブレンドし、ユーザの操作に基づいて複雑なキャラクタの動作を作成することができる。場合によっては、エンジニアはさらに高性能なキャラクタの応答のために手続き的な人工知能(AI)をプログラムすることもできる。
キャラクタ相互作用制約モジュール122は、キャラクタリグのジョイントの位置に制約を与えるように構成することができる。サイクルアニメーション間をブレンドして、信頼できるキャラクタの応答をもたらすために、キャラクタのジョイントの位置に制約を与えることが望ましい場合がある。アニメーションサイクルのセット間をブレンドするために、キャラクタ相互作用制約モジュール122は、ジョイントの階層のセット間を線形補間することができる。指定された場所をキャラクタに見せるなどの追加の制約を与えるために、キャラクタ相互作用制約モジュール122は、特定のジョイントの位置(首および頭のジョイントなど)を直接変更することができる。また、本技術は、例えば、ジョイントの階層の局所的なレイヤー化をサポートすることを含む、豊富な制約のセットが、アニメーションサイクルを一緒にレイヤー化することを可能にする(すなわち、上下に重ねる)。
非言語キャラクタキューモジュール124は、ユーザおよびシーン入力に基づいてキャラクタリグのジョイントの位置を修正および/または調整するように構成することができる。人間は潜在意識のコミュニケーションキューを使用して、感情的なつながりを構築する。これらの非言語のキューは、現実の世界で互いに意味のある関係を構築するために重要である。VRは、視聴者を完全に体験の中に没入させ、視聴者が仮想的な形態での体験の中でキャラクタになることができ、視聴者の動きを忠実に追跡する(例えば、頭および手の位置を使用する)ための独自の能力がある。これらは、意味のある潜在意識のコミュニケーションキューをVRシステムに構築するための重要な要素であり、従来の映画またはゲームでは不可能である。一実施形態では、非言語キャラクタキューモジュール124は、ユーザの頭および手の入力などのユーザ入力を使用して、複雑な非言語のキャラクタの応答をVRアニメーションに組み込むことができる。使用例は、以下を含む。
1.ユーザを見ること/アイコンタクトを維持すること
2.ユーザの動作をミラーリングすること
3.増加されたアクティビティ
4.動的なパフォーマンス
上述のように、非言語キャラクタキューモジュール124は、ユーザ入力を受信して、キャラクタリグの1つ以上のジョイントおよび/または頂点を修正することにより、非言語コミュニケーションのアニメーションを生成することができる。一実施形態では、非言語キャラクタキューモジュール124は、リアルタイムでユーザを追跡するVRプラットフォームからユーザ入力のデータを受信することができる。例えば、非言語キャラクタキューモジュール124は、ヘッドマウントディスプレイ(head-mounted display:HMD)の位置および方向と、ハンドコントローラの位置および方向と、を使用して、ユーザの頭および手の位置および方向を正確に追跡することができる。別の実施形態では、非言語キャラクタキューモジュール124は、VR体験に組み込まれた追加の実世界のオブジェクトの位置および向きに関するデータなどの追加の追跡された入力を受信することができる。別の実施形態では、非言語キャラクタキューモジュール124は、ユーザの全身および顔の追跡を受け取って、より高度なユーザ入力をシステムに提供することができる。別の実施形態では、非言語キャラクタキューモジュール124は、舌コントローラ、アイスキャナ、またはブレインコンピュータのインターフェースなどの支援技術を通じて感情を表現するユーザから1つ以上のユーザ入力を受け取ることができる。別の実施形態では、非言語キャラクタキューモジュール124は、共有されたソーシャルエクスペリエンスにおける複数のユーザから1つ以上のユーザ入力を受信することができる。
非言語キャラクタキューモジュール124は、VRのシーンから入力を受け取り、シーン入力に基づいて非言語コミュニケーションのアニメーションを生成するように構成することもできる。例えば、非言語キャラクタキューモジュール124は、VRのシーン内の様々な小道具の位置などの他の環境の入力と同様に、仮想キャラクタのジョイントの位置を入力として利用することができる。システムは、VR体験に関連付けられた状態情報も使用することができる。
非言語キャラクタキューモジュール124によって出力される非言語コミュニケーションのアニメーションデータは、非言語コミュニケーションのアニメーションを、ユーザおよびシーン入力に基づいて仮想キャラクタのアニメーション化されたパフォーマンス上にレイヤー化させることができる。例えば、仮想キャラクタが実行するソースアニメーションまたはベースアニメーションが決定されてもよく、別個の非言語コミュニケーションのアニメーションが決定されてもよい。ソースアニメーションにより、仮想キャラクタが第1の方法でアニメーション化される場合がある(例えば、アニメーションリグのジョイントのセットのための向きおよび/または位置の第1のセットを定義する場合がある)。非言語コミュニケーションのアニメーションデータにより、アニメーションリグの1つ以上のジョイントの位置をさらに調整して、ジョイントの位置の修正されたセットを作成することができる。例えば、ベースアニメーションにより、仮想キャラクタがユーザに向かって歩く場合がある。別のミラーリングする非言語コミュニケーションのアニメーションにより、仮想キャラクタがユーザに向かって歩いている間に、仮想キャラクタがユーザをミラーリングする場合がある。または、別のルッキングする非言語コミュニケーションのアニメーションにより、仮想キャラクタがユーザに向かって歩いている間、仮想キャラクタがユーザとのアイコンタクトを維持する場合がある。手続き的なジョイントの変更は、既存のアニメーションを変更するための直感的で直接的なメカニズムを提供する。別の実施形態では、1つ以上の非言語コミュニケーションのアニメーションおよび層を一つにブレンドすることができる。アニメーションのブレンドまたはレイヤー化は、全てのアニメーションリグのジョイントにわたって、あるいはジョイントの特定のサブセットまたは領域についてのみ行うことができる。このアプローチにより、アーティストは非言語のパフォーマンスを明示的にアニメーション化することができる。ブレンドの性質は、任意に複雑化することができる。キャラクタ非言語コミニュケーションモジュール124に関するさらなる詳細は、図3を参照して以下に提供される。
単純化されたキャラクタリグアニメーションモジュール126は、アニメーションドライバ(例えば、アニメーションドライバモジュール120から)、相互作用の制約(例えば、キャラクタ相互作用制約モジュール122から)、および非言語コミュニケーションのアニメーションデータ(例えば、非言語キャラクタキューモジュール124から)を入力として受け取り、それらの入力に基づいて、単純化されたキャラクタリグのジョイントの階層をアニメーション化するように構成することができる。単純化されたキャラクタリグアニメーションモジュール126は、アニメーションドライバモジュール120からアニメーションのクリップ、ブレンドの重み、および時間のセットを受け取ることができる。アニメーションのクリップのセットのためのキャラクタアニメーションデータは、データインポートモジュール118から受け取ることができる。アニメーションデータへの変更は、非言語キャラクタキューモジュール124から受信してもよい。次に、単純化されたキャラクタリグアニメーションモジュール126は、アニメーションおよびブレンドに基づいて単純化されたキャラクタリグのジョイントの階層を更新することができる。最後に、単純化されたキャラクタリグアニメーションモジュール126は、キャラクタ相互作用制約モジュール122から受け取った相互作用の制約に基づいてジョイントの位置を修正することができる。
単純化されたキャラクタリグアニメーションモジュール126は、リアルタイムエンジンで1つ以上のアニメーションをトリガする、ブレンドする、および/またはレイヤー化するように構成することができる。これは、ステートマシン、非線形タイムラインツール、および/またはイベントベースのトリガの使用を含む、様々な方法で実現してもよい。アニメーションは、完全に、または所定のマスクを使用して部分的に、結合およびブレンドすることができる。これにより、レイヤー化されたパフォーマンスを作成する能力を提供することができる。例えば、顔のパフォーマンスまたは手のジェスチャは、ユーザ入力または行動に基づいて変更してもよい。単純化されたキャラクタリグアニメーションモジュール126は、ローカルのジョイントの変換をブレンドし、頂点のオフセットの重みを計算して、複雑なモデル変形モジュール128を駆動することができる(以下に、より詳細に説明する)。
複雑なモデル変形モジュール128は、単純化されたキャラクタリグアニメーションモジュール126によって行われる単純化されたキャラクタリグのアニメーションおよび頂点オフセットデータに基づいて、最終的なキャラクタモデルの変形を計算するように構成することができる。上述のように、データエクスポータモジュール112によってエクスポートされ、データインポートモジュール118によってインポートされるキャラクタアニメーションデータは、アニメーションの全てのフレームのキャラクタモデルの各頂点のフレームごとのオフセットを詳述する、フレームごとの頂点オフセットデータを含むことができる。頂点オフセットデータは、複雑なキャラクタリグの変形をシミュレートするために使用できるが、実際には単純化されたキャラクタリグのみがリアルタイムで変形されている。キャラクタメッシュ上の全ての制御頂点について、複雑なモデル変形モジュール128は、単純化されたキャラクタリグのジョイントのスキニングを、修正されたジョイントの階層および任意の追加の単純化されたキャラクタリグのメッシュデフォーマ(格子またはスムージングなど)に適用し、次に、複雑なキャラクタリグのメッシュの頂点のオフセットを適用することができる。これは、様々なアニメーションからの頂点のオフセットのセット間をブレンドし、および/またはアニメーションドライバに基づいて様々なアニメーションからの頂点のオフセットをレイヤー化することを含んでいてもよい。複雑なモデル変形モジュール128に関するさらなる詳細は、図4を参照して以下に提供される。
モデルテッセレーションモジュール130は、キャラクタモデルをテッセレーションおよびレンダリングするように構成することができる。多角形モデルはテッセレーションおよびレンダリングすることができるが、これにより、最終的なキャラクタの変形は粗くファセット(従来のゲームキャラクタに関連付けられた外観)に見える。最終モデルが滑らかで高忠実度(長編映画のキャラクタに関連付けられた外観)に見えるように、一実施形態では、モデルテッセレーションモジュール130は、キャットマル−クラーク細分割曲面をリアルタイムでテッセレーションおよびレンダリングすることができる。モデルテッセレーションモジュール130は、変形された複雑なモデル上の1つの細分化の反復をテッセレーションし、頂点の法線および接線を計算することができる。次に、この細分化され、テッセレーションされたモデルは、ラスター化のためにレンダリングパイプラインモジュール132に渡すことができる。モデルテッセレーションモジュール130に関するさらなる詳細は、図5を参照して以下に提供される。
図2は、本開示の一実施形態による、一例のデータエクスポータモジュール202を示す。一部の実施形態では、図1Aのデータエクスポータモジュール112は、データエクスポータモジュール202として実装することができる。図2の例に示すように、データエクスポータモジュール202は、アニメーションエクスポータモジュール204と、データ圧縮モジュール206と、を含むことができる。
アニメーションエクスポータモジュール204は、リアルタイム処理エンジン(例えば、リアルタイムエンジンモジュール116)が使用するためのキャラクタアニメーションデータを生成してエクスポートするように構成することができる。一実施形態では、アニメーションエクスポータモジュール204は、少なくとも2つの入力:(1)複雑なキャラクタリグの全ての頂点のワールド空間の位置、および(2)単純化されたキャラクタリグを受け取ることができる。一実施形態では、単純化されたキャラクタリグは、(a)制御のジョイントが除外された複雑なキャラクタリグの重要な変形のジョイントのサブセットを表す単純化された骨格、(b)キャラクタモデルの最大解像度のコピー、(c)骨格とモデルとの間の関係を提供するスキニングの重みのセット、(d)スキニングモデル(例えば、線形ブレンドスキニングまたはデュアルクォータニオンスキニング)、を含むことができる。アニメーションの各フレーム、およびモデルの各頂点について、アニメーションエクスポータモジュール204は、複雑なキャラクタリグと、重みに関連し、かつ単純化されたキャラクタリグの変形行列に影響を及ぼす、単純化されたキャラクタリグの変形結果と、の間のオフセットを計算するように構成することができる。
一実施形態では、線形ブレンドスキニング方程式(4つのジョイント)は次のように表すことができる:

ここで、v’は変形された頂点の位置、vは頂点の基準位置、wは所定のジョイントのスキニングの重み、Rは基準状態における所定のジョイントの変換、Mは変形された状態における所定のジョイントの変換である。
合計を因数分解して、総合変換Sを生成することができる。
次に、オフセット(o)を計算することができる。

ここで、v’’は複雑なキャラクタリグからの頂点のワールド空間の位置、Sは単純化されたキャラクタリグによって生成される総合変換、vは頂点の基準位置である。Sは、デュアルクォータニオンスキニングなどの他のスキニング方法によって生成することができることに注意すべきである。Sは、格子およびスムージングの操作などの追加のデフォーマから生成することもできる。
データ圧縮モジュール206は、データエクスポータモジュール202によってエクスポートされるデータを圧縮するように構成することができる。データエクスポータモジュール202によってエクスポートされるデータ(例えば、キャラクタリグデータ、キャラクタアニメーションデータ)は、空間的および時間的の両方の整合性を有しており、高い圧縮率を可能にする。
特定の実施形態では、アニメーション中のキャラクタモデルの各頂点についてタイトなバウンディングボックスを計算することができ、サブミリメートルの精度を維持しながら、頂点のオフセットを、低次(例えば、8ビットまたは16ビット)の整数を使用して量子化することができる。一実施形態では、データ圧縮モジュール206は、アニメーション全体にわたって頂点のオフセットのX、Y、およびZの最小値および最大値を追跡することにより、モデル内の各頂点のタイトなバウンディングボックスを計算するように構成することができる。次に、低次の整数を使用して、頂点のオフセットをバウンディングボックスに埋め込むことができる。特定の実施形態では、8ビットの量子化を使用することができる。多くの場合、8ビットの量子化は、目に見える精度の損失はなく、データの32ビットの単精度浮動小数点表現に比べて4倍の改善が得られる。特定の実施形態では、低次の整数は、現実世界の距離を非線形的に表すことができるため、バイアスがその面と比較してバウンディングボックスの中心に向かって観察されるアニメーション全体の頂点のオフセット分布をよりよくキャプチャする(例えば、8ビット値は整数として解釈されず、代わりに1ビットの符号、5ビットの仮数および2ビットの指数を有する浮動小数点数として扱われる)。特定の実施形態では、低次の整数は、連続するアニメーションフレーム間の現実世界の距離の増分を表してもよい(例えば、値1、2、5、および4の連続するオフセットは、1、+1(=2−1)、+3(=5−2)、および−1(=4−5)として表される)。
様々な実施形態では、データ圧縮モジュール206は、X、Y、およびZの頂点のオフセット値を単一のマルチチャンネルオーディオストリームの3つのチャンネルにマッピングすることにより、キャラクタアニメーションの8ビットまたは16ビットの量子化と、MP3およびWAVなどの不可逆または可逆のオーディオ圧縮技術と、を組み合わせるように構成することができる。様々な実施形態では、データ圧縮モジュール206は、X、Y、およびZの頂点のオフセット値を写真のピクセルのR、G、およびBのカラー値にマッピングし、連続するアニメーションフレームについて隣接するピクセルを使用することにより、キャラクタアニメーションの8ビットまたは16ビットの量子化と、JPEGおよびPNGなどの不可逆または可逆の写真圧縮技術と、を組み合わせるように構成することができる。様々な実施形態では、データ圧縮モジュール206は、X、Y、およびZの頂点のオフセット値を、ビデオのフレームのR、G、およびBの色の値にマッピングすることにより、キャラクタアニメーションの8ビットまたは16ビットの量子化と、H.264、H.265、およびVP9などの不可逆または可逆のビデオ圧縮技術と、を組み合わせるように構成することができる。モバイルデバイス(例えば、電話、タブレット)およびコンピュータなどの、ARおよびVRのために使用される多くのコンピュータ装置は、CPUまたはGPUのリソースの消費を最小限に抑えながら、一般的な写真、オーディオ、および/またはビデオの圧縮フォーマットをデコードする専用のハードウェアを含む。
様々な実施形態では、データ圧縮モジュール206は、統計分析および機械学習技術を適用して、データエクスポータモジュール202によってエクスポートされるデータの空間的および時間的な整合性を利用するように構成することができる。一例の実装として、主成分分析(PCA)は、低次元の空間を識別して全てのターゲットポーズ(キャラクタアニメーションデータ内のアニメーションフレームデータ)を投影し、キャラクタアニメーションデータを許容レベルの許容誤差内で再作成することができるようにする(例えば、99%以内の精度)。クラスタ化されたPCAのアプローチは、K平均法などのクラスタリングアルゴリズムと組み合わせて使用して、より良い結果を得ることができる。特定の実施形態では、時間の経過に伴う頂点のオフセットのパラメータ化された分析的近似表現(例えば、多項式、正弦関数、クランプされた3次ベジエ曲線などのスプライン曲線)は、キーフレーム削減技術により大幅な節約の機会を提供する。特定の実施形態では、スプライン曲線は、時間の経過に伴う頂点のオフセットを近似的に表し、それらの曲線のパラメータ(例えば、スプラインの順序、スプラインの制御点の数および位置)は、パラメータを保存する必要のあるストレージが、公知の曲線あてはめアルゴリズムによって最小化されるように選択される。特定の実施形態では、制御点の数は、削除により、曲線が、指定された許容可能な閾値を超えて適合するオフセットから逸脱しない全ての制御点を削除することにより最小化される。特定の実施形態では、スプライン制御点の削除は、隣接するスプライン制御点を、削除された点の位置に向かって移動することに連動して、削除によるスプライン曲線の形状への影響を最小限に抑える。
一実施形態では、キャラクタモデルの各頂点は、標準のUVテクスチャルックアップの技術を使用してテクスチャ位置にマッピングすることができる。これにより、データの空間的な整合性(従って圧縮率)が向上するが、頂点にマッピングされないピクセルのための無駄なテクスチャのメモリ記憶領域が犠牲になる。別の実施形態では、モデルの各頂点とビデオストリームの各ピクセルとの間の1対1の相関は、インデックススキームを介して行うことができる。場合によっては、このスキームの品質および圧縮率はインデックス付けに依存する場合がある。データの空間的な整合性を確保するために、統計分析を使用してクラスタリングおよびソートを実行してもよい。一実施形態では、データは、K平均法を使用してクラスタ化することができる。次に、PCAを各クラスタに適用して、時系列をその最大固有ベクトルに投影することにより、頂点をクラスタ内でソートすることができる。
図3は、本開示の実施形態による、一例の非言語キャラクタキューモジュール302を示す。一部の実施形態では、図1Aの非言語キャラクタキューモジュール124は、非言語キャラクタキューモジュール302として実装することができる。上述のように、非言語キャラクタキューモジュール302は、仮想キャラクタにおいて1つ以上の非言語コミュニケーションのアニメーションを実現するための非言語コミュニケーションのアニメーションデータを生成するように構成することができる。非言語キャラクタキューモジュール302は、1つ以上のユーザ入力および/またはVR環境状態の情報に基づいて非言語コミュニケーションのアニメーションデータを生成することができる。図3の例に示されるように、非言語キャラクタキューモジュール302は、アイコンタクトおよびルッキングモジュール304と、ミラーリングモジュール306と、増加アクティビティモジュール308と、動的パフォーマンスモジュール310と、を含むことができる。
アイコンタクトおよびルッキングモジュール304は、ユーザ入力および/またはVR環境状態の情報に基づいて、ルッキングアニメーションデータを生成するように構成することができる。ルッキングアニメーションデータを使用して(例えば、単純化されたキャラクタリグアニメーションモジュール126によって)、仮想キャラクタにターゲットの位置を見させることができる。非言語コミュニケーションの最も強力な形式の1つはアイコンタクトであり、このアイコンタクトでは、人物は他の人物を見て直接アイコンタクトを行う。これにより、2人の間の関与の感覚およびつながりが生まれる。しかし、長時間のアイコンタクトは不快感を引き起こす場合がある。対照的に、アイコンタクトを避けることは、無関心、関与の欠如、または回避さえも示す反対の効果を与えることができる。
VRは、観客にシーン内での完全な活動を提供する。どこでも見ることができるため、ストーリーの重要な部分を見逃す可能性がある。VRコンテンツの作成者は、視聴者の目を適切な場所に適切なタイミングで向けることが望ましいと感じる場合がある。仮想キャラクタがユーザを直接見てフォローするように手続き的に目の方向を調整すると、ユーザは自然に反応してキャラクタに完全に注意を向ける。仮想キャラクタは、アイコンタクトを維持し、一定の間隔で一時的にアイコンタクトを一時停止して、ユーザを完全に解放することなく不快感を防ぐか、または、アイコンタクトを解除して(例えば、空を見上げる)、ユーザ(すでに彼女を見ている)を次のストーリービートに集中するように導くことができる。一実施形態では、アイコンタクトおよびルッキングモジュール304は、キャラクタにユーザを見させるルッキングアニメーションデータを生成するように構成することができる。ユーザがキャラクタを振り返っていると判断された場合、アイコンタクトおよびルッキングモジュール304は、アイコンタクトを維持し、アイコンタクトを一時停止するか、またはユーザに他のオブジェクトを見るように指示するために、キャラクタに別のオブジェクトを見るようにさせるルッキングアニメーションデータの第2のセットを生成するように構成することができる。
一実施形態では、アイコンタクトおよびルッキングモジュール304は、仮想キャラクタの目、頭、首、および/または身体の構成および位置を調整するように構成することができ(例えば、関連する頂点および/またはキャラクタリグ/モデルのジョイントを調整する)、これにより、キャラクタは、視聴者の頭または手の位置、あるいは他のオブジェクトなどのターゲットの位置を直接見ることができる。アイコンタクトおよびルッキングモジュール304は、時間の経過とともに任意の数のターゲットの位置の間をブレンドして、キャラクタのアイコンタクトを動的に調整するように構成することができる。
アイコンタクトおよびルッキングモジュール304は、ユーザの頭を仮想キャラクタのアイコンタクトのターゲットとして設定するために、ユーザのHMDの頭部位置を入力として使用するように構成することができる。一実施形態では、アイコンタクトおよびルッキングモジュール304は、HMDの頭部位置および1つ以上のハンドコントローラの位置の両方を入力として使用するように構成することができるため、仮想キャラクタは、時間の経過とともにユーザの頭とユーザの手との間でアイコンタクトを手続き的に切り替えることができる。一実施形態では、ユーザの身体および顔の特徴のセットがコンピュータビジョンおよびモーションキャプチャ技術を使用して追跡される。アイコンタクトおよびルッキングモジュール304は、追跡される任意のユーザの特徴を追跡するように構成することができる。別の実施形態では、ユーザの目の方向は、頭の位置および向きとは無関係に追跡される。例えば、ユーザはある方向を向いており、別の方向を見ている場合がある。アイコンタクトおよびルッキングモジュール304は、頭の位置および向きとは無関係にユーザの目の方向を追跡するように構成することができる。一実施形態では、アイコンタクトおよびルッキングモジュール304は、ユーザのHMDの頭部およびハンドコントローラの位置と、他のキャラクタ(例えば、他のキャラクタの頭)の位置の両方を入力として使用するように構成することができる。これにより、仮想キャラクタは、視聴者とシーン内の他のキャラクタとの間のアイコンタクトを変更することができる。別の実施形態では、システムは、複数のユーザに関連付けられた複数のHMDの頭部およびハンドコントローラの位置を使用して、共有体験で複数のユーザ間の仮想キャラクタによるアイコンタクトを可能にする。
アイコンタクトおよびルッキングモジュール304は、ターゲットの位置に基づいて仮想キャラクタのためのアニメーションリグを調整するように構成することができる。最も簡単な調整は、ターゲットの位置に基づいてキャラクタの目のジョイントの位置を手続き的に修正することである。しかし、この解決策は、達成することができるアイコンタクトの範囲、動きのリアル感、またはキャラクタが伝える感情を制限する場合がある(例えば、頭または首の動きのない極端な目の動きは、キャラクタが動けない、または疑いを感じることを示唆し得る)。別の実施形態では、アイコンタクトおよびルッキングモジュール304は、ターゲットの位置を見るために目をどれだけ回転する必要があるかに基づいて、目のジョイントの位置に沿って一連の追加のジョイント(例えば、キャラクタの身体、首、および頭の1つ以上のジョイント)を手続き的に修正することができる。また、アイコンタクトおよびルッキングモジュール304は、キャラクタが時間の経過とともに様々なオブジェクトを見ることができるように、ターゲットの位置を手順的に修正するように構成することができる。
一例の実施形態では、アニメーションのジョイントは、ターゲットの位置に直接ブレンドするまたはロックすることができる。このアプローチは、場合によっては、これらのアニメーションのジョイントに存在する任意のソースアニメーションを削除し、重要な動作のキューを削除することができるという点で制限される場合がある。別の実施形態では、様々な首、頭、および目のジョイントは、アニメーションのコンテンツ作成ツールでカメラへの視線に関連してアニメーション化することができる。リアルタイム処理エンジンでは、アイコンタクトおよびルッキングモジュール304は、カメラへの視線をターゲットの位置に変換し、次に、デフォルトのカメラへの視線とターゲットのカメラへの視線との間で各首、頭、および目のジョイントをブレンドすることができる。このアプローチにより、キャラクタは特定のターゲットの位置を見ることができるが、視線に関連してレイヤー化されるオリジナルのアニメーション化されたパフォーマンスは保持される。このアプローチは、本明細書でより詳細に説明するように、ミラーリングおよび増加されたアクティビティなどの他の相互作用のアニメーションに実装することもできる。
一実施形態では、アイコンタクトおよびルッキングモジュール304は、アニメーションリグを修正するルッキングアニメーションのセット(例えば、複数)の間でブレンドするように構成することができる。これにより、アーティストは、ターゲットの位置に基づいてキャラクタがどのように調整されるかを正確に調整することができる。また、アニメータは、見た目の動作に個性を注入することができる。別の実施形態では、アイコンタクトおよびルッキングモジュール304は、追加のアニメーションをブレンドして、アイダーツなどの微妙なパフォーマンスをキャプチャするように構成することができる。
ミラーリングモジュール306は、ユーザ入力および/または仮想環境状態の情報に基づいてミラーリングのアニメーションデータを生成するように構成することができる。ミラーリングのアニメーションデータを使用して(例えば、単純化されたキャラクタリグアニメーションモジュール126によって)、キャラクタとユーザとの間のサイズまたは外観のいかなる違いにもかかわらず、リアル感のあるキャラクタの動きを生成しながら、仮想キャラクタにユーザの動きおよび行動をミラーリングさせることができる。別の強力な非言語のキューは、模倣またはミラーリングである。2人の人物は、互いの行動を、それら無しでも実現することで、無意識のうちにミラーリングすることがよくある。この人間の動作はつながりを構築し、エンターテインメントの場面だけでなく、セラピーまたは子供に教えるなどの臨床的なまたは教育の場面でも採用されている。ミラーリングモジュール306により、仮想キャラクタはユーザの行動をミラーリングして、ユーザとの微妙なつながりを構築することができる。
一例では、ミラーリングモジュール306は、HMDの位置および向きの情報を入力として受け取って、頭を傾けるなどの特定の関心動作を頭部の変換から抽出することができる。ミラーリングモジュール306は、仮想キャラクタに時間遅延、例えば4秒の時間の遅延でユーザの行動をミラーリングさせるミラーリングのアニメーションデータを生成することができる。ミラーリングモジュール306は、仮想キャラクタにユーザが頭を傾けるのを模倣させるミラーリングのアニメーションデータを生成することができる。一実施形態では、頭の傾きの変換は、時間遅れでアニメーションリグの頭のジョイントに手続き的にレイヤー化することができる。別の例では、ミラーリングモジュール306は、HMDの位置およびハンドコントローラの位置を入力として使用して、時間遅れでアニメーションリグの頭および手のジョイントを手続き的に修正することができる。一実施形態では、入力の変換を使用して、次にアニメーションリグを修正するミラーリングのアニメーション間をブレンドすることができる。例えば、頭を傾けるアニメーションには、頭が回転するときに笑っているキャラクタなどの顔の特徴を組み込むことができる。一実施形態では、ミラーリングモジュール306は、全身の追跡に基づいてユーザの全身の動きをミラーリングすることができる。別の実施形態では、ミラーリングモジュール306は、ユーザの行動をミラーリングする前に時間の遅延を動的に調整することができる。
増加アクティビティモジュール308は、ユーザ入力に基づいてアクティビティレベルのアニメーションデータを生成するように構成することができる。アクティビティレベルのアニメーションデータを使用して(例えば、単純化されたキャラクタリグアニメーションモジュール126により)、仮想キャラクタのアクティビティレベルを調整することができる。アクティビティレベルの増加は、興味および興奮などの肯定的な感情、神経質、ストレス、および恐怖などの否定的な感情を示す、または低温などの環境要因に対する自律的な反応である可能性がある。子供の場合、この興奮のレベルは非常に明白である。興奮した大人でさえ、もっとそわそわし、もっと話し、より速く話す。アクティビティレベルの上昇は、2人の大人がより密接な関係の可能性を模索しているという潜在意識の手がかりになる可能性がある。増加アクティビティモジュール308により、コンテンツ作成者は、VR体験の状態情報に基づいてアクティビティの増加を手続き的にレイヤー化することができる。この動作は、アニメーションの強さを高速化するか、またはキャラクタのスピーチを高速化してアニメーションリグのジョイントを調整することにより、手続き的にレイヤー化することができる。別の実施形態では、アクティビティの増加は、そわそわする動作または緊張感などの特定のアニメーションをブレンドすることによって達成することができる。
動的パフォーマンスモジュール310は、ユーザ入力および/または仮想環境状態の情報に基づいてキャラクタのパフォーマンスを動的に調整するように構成することができる。例えば、動的パフォーマンスモジュール310は、ユーザが常にパフォーマンスを明確に見ることができるように、ユーザの位置情報に基づいてキャラクタのステージングを調整するように構成することができる。別の例として、ユーザは、キャラクタが寒さを感じるように見せるなど、レイヤー化されたキャラクタの反応を引き起こすことができる。この例では、動的パフォーマンスモジュール310は、キャラクタの既存の動作の上に震えているアニメーションを重ねることができる。
追加の例では、動的パフォーマンスモジュール310は、ユーザにウインクする、まばたきする、および/または眉を上げるなど、キャラクタが必要に応じて顔のパフォーマンスを調整することができるように構成することができる。手続き的な非言語の調整は、物語の特定のポイントで、またはユーザの視線またはユーザのタッチなどのユーザの応答に基づいて行うことができる。
動的パフォーマンスモジュール310は、キャラクタがパフォーマンス中に操作するまたは使用する小道具の調整および/または交換をサポートすることができる。動的パフォーマンスモジュール310は、ユーザについての外部情報に基づいて、コンテンツの小道具を交換することができる。これを使用して、一部のコンテンツ内に製品を配置するための小道具を動的に調整するまたは変更することができる。動的な小道具は、ユーザについての事前の知識に基づいて一部のコンテンツをパーソナライズすることもできる。小道具は、例えば、衣服、および髪の毛または肌の色などのキャラクタの外観の他の要素を含むことができる。
図4は、本開示の実施形態による、一例の複雑なモデル変形モジュール402を示す。一部の実施形態では、図1Aの複雑なモデル変形モジュール128は、複雑なモデル変形モジュール402として実装することができる。図4の例に示されるように、複雑なモデル変形モジュール402は、データ再構成モジュール404と、スキンコンピュートシェーダモジュール406と、を含むことができる。
データ再構成モジュール404は、実行時に、任意の必要なキャラクタアニメーションデータ(例えば、頂点のアニメーションデータ)を伸張し、単純化されたキャラクタリグのアニメーション中に計算された重みを使用して、保存されたオフセットをブレンドし(例えば、アニメーションモジュール110によって)、スキニングの変換を適用するように構成することができる。これは、例えば、コンピュートシェーダを使用して、パフォーマンスを高くして行うことができる。PCAなどの統計的方法がキャラクタアニメーションデータに適用されている場合、データ再構成モジュール404は、低次元のデータ空間から頂点の完全なセットを再構成するように構成することができる。
スキンコンピュートシェーダモジュール406は、以下のように、所定の頂点のための単純化されたキャラクタの変形に基づいて、完全な品質のキャラクタ(つまり、複雑なキャラクタ)の変形を再構築するように構成することができる。

ここで、v’’は、完全な品質の複雑なキャラクタリグからの頂点の再構築されたワールド空間の位置、Sは、単純化されたキャラクタリグによって生成される総合変換、vはモデルの基準位置、xは所定のアニメーションのクリップの重み、oは、アニメーションのクリップの所定のフレームの頂点のオフセットである。その結果、データエクスポータモジュール202によって提供されるが、単純化されたキャラクタリグアニメーションモジュール126から適用される手続き的なアニメーションを有するデータが再構成される。データエクスポータモジュール202によって圧縮が使用されなかった場合、または可逆圧縮が使用された場合、この再構成は完璧である。そうではなく、非可逆圧縮が使用された場合、再構成は近似になる。
図5は、本開示の一実施形態による、一例のモデルテッセレーションモジュール502を示す。一部の実施形態では、図1Aのモデルテッセレーションモジュール130は、モデルテッセレーションモジュール502として実装することができる。図5の例に示されるように、モデルテッセレーションモジュール502は、サブディビジョンテッセレータモジュール504と、法線および接線計算モジュール506と、を含むことができる。
サブディビジョンテッセレータモジュール504は、キャラクタアニメーションの形状を滑らかに細分化して、細分化されたメッシュを生成するように構成することができる。一実施形態では、サブディビジョンテッセレータモジュール504は、キャットマル−クラーク細分割曲面を使用してキャラクタアニメーションの形状を平滑化することができる。ステンシルの重みは、全ての細分化された頂点の位置について事前に計算することができ、リアルタイムの計算は、ハルの頂点の位置の単純な線形結合になる。一実施形態では、サブディビジョンテッセレータモジュール504は、連続的に、より滑らかなバージョンのメッシュを生成する再帰的な細分化の技術を使用してキャラクタアニメーションの形状を滑らかに細分化するように構成することができる。各反復では、
・メッシュの各面は、その重心に追加の頂点(F)を生成し、
・メッシュの各エッジは、その重心および入射面の重心(F)の加重結合として追加の頂点(E)を生成し、
・メッシュの各頂点(V)は、そのオリジナルの位置、入射エッジの重心(E)、および入射面の重心(F)の加重結合に配置される。
図6は、上記の再帰的手法の2つのサンプルの反復を表す一例のシナリオ600を示す。初期(またはベース)のメッシュ602は、第1の反復で細分化されて第1の細分化メッシュ604を生成し、第2の反復でさらに細分化されて第2の細分化メッシュ606を生成する。各反復の結果、頂点、面、およびエッジの数がより多くなり、メッシュが次第により細かくなることが分かる。(F)および(E)に対する(V)の依存関係、および(F)に対する(E)の依存関係は、逆置換によって単純化することができる。この置換を適用することにより、細分化されたメッシュの任意の細分化レベルの任意の頂点は、変形されたベースメッシュの頂点の線形加重結合として表すことができる。線形結合で使用される重みは、実行時に一定のままであるベースメッシュのトポロジのみに依存する。そのため、重みはパイプラインのステップとして一度計算して保存することができる。細分化されたメッシュの特定の頂点を表すために使用される重みの数は、ベースメッシュの頂点の数によってのみ制限される場合があるが、特定の実施形態では、その数は、頂点の価数および各入射面における頂点の数に連動する場合がある。特定の実施形態では、厳しい制限が設定されてもよい。例えば、細分化されたメッシュの各頂点は、10個以下の重みで表してもよい。特定の実施形態では、保持される重みは、絶対的な大きさが最大のものとしてもよい。例えば、各頂点は、最大の10個の重みで表してもよい。
図5に戻ると、法線および接線計算モジュール506は、メッシュの双対グラフのアナログを使用して、メッシュの各頂点(例えば、細分化されたメッシュまたはベースメッシュ)のための近似の法線および接線ベクトルを計算するように構成することができる。このアプローチは、任意に変形された形状においても、高品質の法線および接線を生成する。
各面の周囲に配列された頂点を有する区分的なメッシュでは、幾何学的な法線はメッシュ面に暗黙的に定義される。しかし、滑らかなメッシュの外観を与えるために、各頂点には、入射面の法線の線形結合として法線を割り当て、次に、これらの頂点の法線を、重心の重みを使用して多角形の全体に線形補間することができる。しかし、この手法は、全ての入射面の面法線を所定の頂点に対して事前に計算する必要があるため、計算コストが高くなる。その結果、リアルタイムゲームエンジンは、変形された頂点の位置から頂点の法線を計算することはほとんどない。代わりに、それらは、通常、基準ポーズで一度計算され、次に、スキニングの重みおよび変換を使用して変形される。
一実施形態では、法線および接線計算モジュール506は、4つの等間隔の隣接する頂点を使用して頂点の法線を近似するように構成することができる。キャットマル−クラーク細分割で一般的に使用されるようなクアッドドミナントメッシュの場合、ほとんどの頂点はちょうど4つの隣接点を有し、4つの隣接する頂点A、B、C、およびDの選択を単純で明確にする。図7は、頂点Vがちょうど4つの隣接点A、B、C、およびDを有する一例のシナリオ700を示す。このようなシナリオでは、法線は以下のように計算することができる。
4つを超える隣接する頂点を有する例外的な頂点の場合、法線および接線計算モジュール506は、隣接する頂点のセットから4つの等間隔の隣接する頂点を選択するように構成することができる。一実施形態では、4つの隣接する頂点は、トポロジ的な考察のみを使用して選択してもよい。例えば、頂点が8つの入射エッジを有する場合、他の全ての隣接する頂点を使用することができる。一実施形態では、4つの隣接する頂点は、メッシュの固有の特性を使用して選択することができる。例えば、4つの隣接する頂点は、頂点を任意の2つの選択された連続する隣接する頂点に接続する2つのエッジによって頂点で形成される角度が、できるだけ90度に近くなるように選択することができる。図8は、頂点Vが4つ以上の隣接する頂点を有する一例のシナリオを示す。シナリオ800の例では、頂点Vは8つの隣接する頂点を有し、4つの隣接する頂点A、B、C、およびDは、隣接する頂点を1つおきに選択することにより選択されている。
頂点が4つ未満の隣接する頂点を有する境界の頂点の場合、法線および接線計算モジュール506は、任意の欠落している頂点の代わりに頂点自体を置換するように構成することができる。図9は、頂点Vが4つ未満の隣接する頂点を有する一例のシナリオ900を示す。シナリオ900の例では、頂点Vは3つの隣接する頂点A、B、およびCのみを有する。従って、頂点V自体は、第4の隣接する頂点Dとして置換される。
一実施形態では、接線ベクトルは同様の構成を採用することができる。所定の頂点(定義された法線に垂直な任意のベクトル)についての無数の接線ベクトルが存在するが、一実施形態では、法線および接線計算モジュール506は、メッシュのUVパラメータ化のU方向に並ぶ接線ベクトルを選択するように構成することができる。好都合なことに、開示された表現では、この接線ベクトルは、基準ベクトル(A−C)および(B−D)の線形結合である。係数は、トポロジおよびUVパラメータ化のみに依存し、実行時に固定されたままであり、線形結合の重みをパイプラインのステップとして事前に計算することができる。一実施形態では、接線ベクトルは以下のように計算することができる。
、B、C、Dは、頂点A、B、C、およびDでのメッシュのUVパラメータ化のV成分を表す。
サブディビジョンテッセレータモジュール504によって決定される、細分化されたメッシュの頂点の位置、および法線および接線計算モジュール506によって計算される、細分化されたメッシュの各頂点についての近似の法線および接線ベクトルは、頂点シェーダに渡され、図1Aのレンダーパイプラインモジュール132によって使用されることができる。
図10は、多角形の制御モデルに基づいて、キャットマル−クラーク細分割曲面の頂点の位置、法線、および接線を生成するための一例のプロセスを詳述する。このパイプラインは、GPUでのリアルタイムの計算のために最適化されている。
図11は、本技術の一実施形態による、一例の方法1100を示す。ブロック1102において、方法1100は、デフォルトモデルによって定義される第1の複数の変換および第1の複数の頂点を含む複雑なリグと、第2の複数の変換および第2の複数の頂点を含み、第2の複数の頂点が、デフォルトモデルによって定義される第1の複数の頂点に対応する単純化されたリグと、を含む、仮想変形可能幾何モデルに関連付けられた仮想モデル情報を受け取ることができる。ブロック1104において、方法1100は、仮想変形可能幾何モデルに適用されるアニメーションに基づいて、単純化されたリグおよび複雑なリグを変形させることができる。ブロック1106において、方法1100は、第1の複数の頂点内の各頂点について、頂点と第2の複数の頂点内の対応する頂点との間のオフセットを含むオフセットデータのセットを計算することができる。
図12は、本技術の一実施形態による、一例の方法1200を示す。ブロック1202において、方法1200は、デフォルトモデルによって定義される第1の複数の変換および第1の複数の頂点を含む複雑なリグと、第2の複数の変換および第2の複数の頂点を含み、第2の複数の頂点が、デフォルトモデルによって定義される第1の複数の頂点に対応する単純化されたリグと、を含む、仮想変形可能幾何モデルに関連付けられた仮想モデル情報を受け取ることができる。ブロック1204において、方法1200は、仮想変形可能幾何モデルに適用されるアニメーションに基づいて、単純化されたリグおよび複雑なリグを変形させることができる。ブロック1206において、方法1200は、第1の複数の頂点内の各頂点について、頂点と第2の複数の頂点内の対応する頂点との間のオフセットを含むオフセットデータのセットを計算することができる。ブロック1208において、方法1200は、仮想変形可能幾何モデルのリアルタイムのアニメーションのために、オフセットデータのセットの圧縮版をリアルタイム処理エンジンにエクスポートすることができる。
図13は、本技術の一実施形態による、一例の方法1300を示す。ブロック1302において、方法1300は、複数の頂点、複数のエッジ、および複数の面を含む仮想モデルのメッシュを含む、リアルタイムの没入環境でアニメーション化される仮想変形可能幾何モデルを識別することができる。ブロック1304において、方法1300は、1回以上の反復で仮想モデルのメッシュを繰り返し細分化して、細分化されたメッシュを生成することができ、1回以上の反復の各反復は、頂点の数、エッジの数、および/または面の数を増加させる。ブロック1306において、方法1300は、リアルタイムの没入環境内の仮想変形可能幾何モデルのリアルタイムのアニメーション中に、細分化されたメッシュを提示することができる。
図14は、本技術の一実施形態による、一例の方法1400を示す。ブロック1402において、方法1400は、リアルタイムの没入環境内でユーザに提示される仮想キャラクタを識別することができる。ブロック1404において、方法1400は、仮想キャラクタに適用される第1のアニメーションを決定することができる。ブロック1406において、方法1400は、第1のアニメーションと同時に仮想キャラクタに適用される非言語コミュニケーションのアニメーションを決定することができる。ブロック1408において、方法1400は、第1のアニメーションおよび非言語コミュニケーションのアニメーションに基づいて、仮想キャラクタをリアルタイムでアニメーション化することができる。
方法の例に対する多くのバリエーションが可能である。特に明記しない限り、本明細書で説明する様々な実施形態の範囲内において、類似のまたは代替の順序で、または並行して、追加の、より少ない、または代替のステップを実行することができることを理解すべきである。
[ハードウェアの実装]
前述のプロセスおよび特徴は、様々な機械およびコンピュータシステムアーキテクチャによって、様々なネットワークおよびコンピューティング環境において実装することができる。図15は、本開示の実施形態による、本明細書に記載の1つ以上の実施形態を機械に実行させるための命令のセットを実行することができる一例の機械1500を示す。実施形態は、1つ以上のシステム、方法、またはコンピュータ可読媒体に関連することができる。機械は、他の機械に接続(例えば、ネットワーク)される場合がある。ネットワーク化された配置では、機械は、クライアント−サーバのネットワーク環境におけるサーバまたはクライアントマシンとして動作するか、またはピアツーピア(または分散型)のネットワーク環境におけるピアマシンとして動作することができる。
コンピュータシステム1500は、プロセッサ1502(例えば、中央処理装置(CPU)、グラフィック処理装置(GPU)、または両方)、メインメモリ1504、および不揮発性メモリ1506(例えば、揮発性RAMおよび不揮発性RAMのそれぞれ)を含み、バス1508を介して互いに通信する。プロセッサ1502は、並列処理システムなどの任意の適切な形態で実装することができる。場合によっては、例示の機械1500は、コンピュータ装置またはシステムに対応する、含む、または含まれることができる。例えば、一部の実施形態では、機械1500は、デスクトップコンピュータ、ラップトップコンピュータ、携帯情報端末(personal digital assistant:PDA)、機器、ウェアラブルデバイス、カメラ、タブレット、または携帯電話などであり得る。一実施形態では、コンピュータシステム1500はまた、ビデオディスプレイ1510、英数字入力装置1512(例えば、キーボード)、カーソル制御装置1514(例えば、マウス)、ドライブ装置1516、信号生成装置1518(例えば、スピーカー)およびネットワークインターフェースデバイス1520を含む。
一実施形態において、ビデオディスプレイ1510は、ユーザ入力用のタッチセンシティブスクリーンを含む。一実施形態では、キーボードおよびマウスの代わりにタッチセンシティブスクリーンが使用される。ディスクドライブ装置1516は、本明細書で説明される方法論または機能のいずれか1つ以上を具体化する1つ以上の命令1524のセット(例えば、ソフトウェア)が記憶される機械可読媒体1522を含む。命令1524は、完全にまたは少なくとも部分的に、コンピュータシステム1500による実行中にメインメモリ1504内におよび/またはプロセッサ1502内に常駐することもできる。命令1524はさらに、ネットワークインターフェースデバイス1520を経由してネットワーク1540を介して送信するまたは受信することができる。一部の実施形態では、機械可読媒体1522はデータベース1525も含む。
揮発性RAMは、メモリ内のデータを更新または維持するために、継続的に電力を必要とするダイナミックRAM(DRAM)として実装することができる。不揮発性メモリは、通常、磁気ハードドライブ、磁気光学ドライブ、光学ドライブ(例えば、DVD−RAM)、またはシステムの電源を切ってもデータを保持する他のタイプのメモリシステムである。不揮発性メモリ1506は、ランダムアクセスメモリであってもよい。不揮発性メモリ1506は、コンピュータシステム1500内の残りの構成要素に直接結合されるローカルデバイスであり得る。モデムまたはイーサネット(登録商標)インターフェースなどのネットワークインターフェースを介して本明細書に記載のいずれかのコンピュータシステムに結合されるネットワーク記憶装置などの、システムから遠く離れた不揮発性メモリも使用することができる。
機械可読媒体1522は、例示の実施形態では単一の媒体であるように示されているが、用語「機械可読媒体」は、1つ以上の命令のセットを保存する単一の媒体または複数の媒体(例えば、集中型または分散型のデータベース、および/または関連するキャッシュおよびサーバ)を含むと理解されるべきである。「機械可読媒体」という用語は、機械による実行のための命令のセットを保存し、エンコードし、または実行することができ、機械に本開示の任意の1つ以上の方法論を実行させる任意の媒体も含むものとする。従って、「機械可読媒体」という用語は、ソリッドステートメモリ、光学および磁気媒体、ならびに搬送波信号を含むものとするが、これらに限定されない。本明細書で使用される「ストレージモジュール」という用語は、機械可読媒体を使用して実装することができる。
一般に、本発明の実施形態を実装するために実行されるルーチンは、オペレーティングシステムまたは特定のアプリケーション、構成要素、プログラム、オブジェクト、モジュール、あるいは「プログラム」または「アプリケーション」と呼ばれる命令のシーケンスの一部として実装することができる。例えば、1つ以上のプログラムまたはアプリケーションを使用して、本明細書で説明する機能、技術、およびプロセスのいずれかまたは全てを実行することができる。プログラムまたはアプリケーションは、通常、様々な時点で機械の様々なメモリおよび記憶装置に設定される1つ以上の命令を含み、1つ以上のプロセッサによって読み出されて実行されると、コンピュータシステム1500に、本明細書に記載される実施形態の様々な態様を含む要素を実行する操作を実行させる。
実行可能なルーチンおよびデータは、例えば、ROM、揮発性RAM、不揮発性メモリ、および/またはキャッシュメモリを含む、様々な場所に格納されてもよい。これらのルーチンおよび/またはデータの一部は、これらの記憶装置のいずれかに格納してもよい。さらに、ルーチンおよびデータは、集中型のサーバまたはピアツーピアのネットワークから取得することができる。ルーチンおよびデータの他の部分は、様々な時間に、他の通信セッションで、または同じ通信セッションで、様々な集中型のサーバおよび/またはピアツーピアネットワークから取得することができる。ルーチンおよびデータは、アプリケーションの実行前に全部を取得することができる。あるいは、ルーチンおよびデータの一部は、実行に必要なときに、動的にちょうどその時々に取得することができる。従って、ルーチンおよびデータの全部が、特定の時点において機械可読媒体上にある必要はない。
コンピュータシステムの文脈で実施形態を十分に説明したが、当業者は、様々な実施形態が様々な形態のプログラム製品として配布可能であり、本明細書で説明する実施形態が、実際に配布を行うために使用される特定の種類の機械またはコンピュータ可読媒体に関わらず等しく適用されることを理解するであろう。機械可読媒体の例は、特に、揮発性および不揮発性メモリデバイス、フロッピーおよびその他のリムーバブルディスク、ハードディスクドライブ、光ディスク(例えば、コンパクトディスク読み取り専用メモリ(CD−ROM)、デジタル多用途ディスク(DVD)、など)などの記録型のメディア、ならびにデジタルおよびアナログの通信リンクなどの伝送型のメディアを含むが、これらに限定されない。
あるいは、または組み合わせて、本明細書に記載の実施形態は、特定用途向け集積回路(Application-Specific Integrated Circuit:ASIC)またはフィールドプログラマブルゲートアレイ(Field-Programmable Gate Array:FPGA)を使用するなど、ソフトウェア命令の有無にかかわらず、専用回路を使用して実装することができる。実施形態は、ソフトウェア命令のないハードワイヤード回路を使用して、またはソフトウェア命令と組み合わせて実装することができる。従って、この技術は、ハードウェア回路およびソフトウェアの特定の組み合わせにも、データ処理システムによって実行される命令の特定のソースにも限定されない。
説明の目的で、多数の特定の詳細が、記載の完全な理解を提供するために示されている。しかしながら、これらの特定の詳細なしで本開示の実施形態を実施することができることは、当業者には明らかであろう。場合によっては、モジュール、構造、プロセス、特徴、およびデバイスは、記載を不明瞭にしたり、本明細書で説明したりするのを避けるために、ブロック図の形式で示されている。他の例では、データおよびロジックのフローを表す機能的なブロック図およびフロー図が表示される。ブロック図およびフロー図の構成要素(例えば、モジュール、エンジン、ブロック、構造、デバイス、機能、など)は、本明細書で明示的に説明および図示される方法以外の方法で、様々に組み合わせ、分離し、削除し、並べ替え、交換することができる。
本明細書における「一実施形態」、「実施形態」、「他の実施形態」、「別の実施形態」、「様々な実施形態」などへの言及は、実施形態に関連して説明される特定の特徴、設計、構造、または特性が本開示の少なくとも1つの実施形態に含まれることを意味する。例えば、明細書の様々な場所での「一実施形態による」、「一実施形態では」、「実施形態では」、「様々な実施形態では」、または「別の実施形態では」というフレーズの出現は、必ずしも全て同じ実施形態を参照しているわけでも、他の実施形態と相互に排他的な別個のまたは代替の実施形態を参照しているわけでもない。さらに、「実施形態」などが明確に参照されているか否かに関係なく、一部の実施形態において様々に組み合わされて含まれてもよく、他の実施形態では様々に省略されてもよい、様々な特徴が説明されている。同様に、一部の実施形態のための選択または要件であり、他の実施形態のためではなくてもよい、様々な特徴が説明されている。
特定の例示の実施形態を参照して実施形態を説明したが、様々な修正および変更を、これらの実施形態に加えることができることは明らかであろう。従って、明細書および図面は、制限の意味ではなく、説明の意味と見なされるべきである。上記の明細書は、特定の代表的な実施形態を参照して説明を提供する。添付の特許請求の範囲に記載されるより広い精神および範囲から逸脱することなく、様々な修正をそれに加えることができることは明らかであろう。従って、明細書および図面は、制限の意味ではなく、説明の意味と見なされるべきである。
一部の図面は特定の順序で多くの操作または方法のステップを示しているが、順序に依存しないステップは並べ替えてもよく、他のステップは組み合わせるかまたは省略してもよい。一部の並べ替えまたは他のグループ化が具体的に言及されているが、他のものは当業者には明らかであり、従って代替の網羅的なリストを提示しない。さらに、ステージはハードウェア、ファームウェア、ソフトウェア、またはそれらの任意の組み合わせで実装できることを認識すべきである。
本発明の本質から逸脱することなく、様々な変更を行うことができることも理解すべきである。このような変更も暗黙的に説明に含まれる。それらは依然として本発明の範囲内にある。本開示は、本発明の多数の態様を保護する特許を、単独でおよびシステム全体としての両方、ならびに方法および装置の形式の両方でもたらすことを意図することを理解すべきである。
さらに、本発明および請求項の様々な要素のそれぞれは、様々な方法で達成することもできる。本開示は、任意の装置の実施形態、方法またはプロセスの実施形態の変形、あるいはこれらの任意の要素の単なる変形であっても、そのような各変形を包含すると理解すべきである。
さらに、「含む」という移行句の使用は、従来の請求項の解釈に従って、本明細書の「オープンエンド」の請求項を維持するために使用される。従って、文脈で特に必要とされない限り、「含む」という用語あるいは「含み」または「含んでいる」などの変形は、述べられた要素、ステップ、あるいは要素またはステップのグループを含むことを意味することを意図しており、任意の他の要素、ステップ、あるいは要素またはステップのグループを除外することを意味することを意図していないことを理解すべきである。そのような用語は、以下の請求項に従って法的に許容される最も広い範囲が出願人に与えられるように、それらの最も広い形で解釈されるべきである。
本明細書で使用される言葉は、主に読みやすさおよび説明の目的のために選択されたものであり、本発明の主題を描写または限定するために選択されていない場合がある。従って、本発明の範囲は、この詳細な説明によって制限されるのではなく、本明細書に基づく出願で発行される請求項によって制限されることが意図されている。従って、本発明の実施形態の開示は、添付の特許請求の範囲に記載される本発明の範囲を説明することを意図したものであり、限定することを意図したものではない。

Claims (20)

  1. コンピュータ実装方法であって、
    前記コンピュータ実装方法は、コンピュータシステムによって、仮想変形可能幾何モデルに関連付けられた仮想モデル情報を受信することを含み、
    前記仮想モデル情報は、デフォルトモデルによって定義される第1の複数の変換および第1の複数の頂点を含む複雑なリグと、
    第2の複数の変換および第2の複数の頂点を含み、前記第2の複数の頂点が、前記デフォルトモデルによって定義される前記第1の複数の頂点に対応する、単純化されたリグと、を含み、
    前記コンピュータ実装方法は、前記コンピュータシステムによって、前記仮想変形可能幾何モデルに適用されるアニメーションに基づいて、前記単純化されたリグおよび前記複雑なリグを変形することと、
    前記コンピュータシステムによって、前記第1の複数の頂点内の各頂点について、前記頂点と前記第2の複数の頂点内の対応する頂点との間のオフセットを含む、オフセットデータのセットを計算することと、
    前記コンピュータシステムによって、前記オフセットデータのセットの圧縮版を、前記仮想変形可能幾何モデルのリアルタイムのアニメーションのためのリアルタイム処理エンジンにエクスポートすることと、を含む、コンピュータ実装方法。
  2. 前記オフセットデータのセットの前記圧縮版を生成することをさらに含む、請求項1に記載のコンピュータ実装方法。
  3. 前記オフセットデータのセットの前記圧縮版を生成することは、前記第1の複数の頂点内の各頂点について、前記アニメーションを通して前記頂点のオフセットのX、Y、およびZの最小値および最大値を追跡することにより、前記第1の複数の頂点内の各頂点についてタイトなバウンディングボックスを計算することを含む、請求項2に記載のコンピュータ実装方法。
  4. 前記オフセットデータのセットの前記圧縮版を生成することは、前記タイトなバウンディングボックスに基づいて、16ビット以下の整数を使用して前記オフセットデータのセットのうちのオフセットを量子化して、オフセットデータの低ビット量子化を生成することをさらに含む、請求項3に記載のコンピュータ実装方法。
  5. 前記オフセットデータのセットの前記圧縮版を生成することは、X、Y、およびZのオフセット値を色成分値にマッピングすることにより、前記オフセットデータの低ビット量子化をビデオ圧縮技術と組み合わせることをさらに含む、請求項4に記載のコンピュータ実装方法。
  6. 前記オフセットデータのセットの前記圧縮版を生成することは、前記X、Y、およびZのオフセット値をオーディオストリームのチャネルにマッピングすることにより、前記オフセットデータの低ビット量子化を不可逆または可逆のオーディオ圧縮技術と組み合わせることをさらに含む、請求項4に記載のコンピュータ実装方法。
  7. 前記オフセットデータのセットの前記圧縮版を生成することは、前記X、Y、およびZのオフセット値を写真内のピクセルの色成分値にマッピングし、連続するアニメーションのフレームについて隣接するピクセルを使用することにより、前記オフセットデータの低ビット量子化を不可逆または可逆の写真圧縮技術と組み合わせることをさらに含む、請求項4に記載のコンピュータ実装方法。
  8. 前記オフセットデータのセットの前記圧縮版を生成することは、前記第1の複数の頂点内の各頂点をビデオストリームのピクセルに相関させることをさらに含む、請求項2に記載のコンピュータ実装方法。
  9. 前記第1の複数の頂点内の各頂点をビデオストリームのピクセルに相関させることは、テクスチャルックアップを使用して、前記第1の複数の頂点内の各頂点をテクスチャ位置にマッピングすることにより、またはインデックススキームを使用することにより、前記第1の複数の頂点内の各頂点をビデオストリームのピクセルに相関させることを含む、請求項8に記載のコンピュータ実装方法。
  10. 前記オフセットデータのセットの前記圧縮版を生成することは、前記オフセットデータのセットをクラスタリングして複数のクラスタを生成することを含み、さらに、前記オフセットデータのセットをクラスタリングすることは、K平均法を使用して前記オフセットデータのセットをクラスタリングすることを含む、請求項2に記載のコンピュータ実装方法。
  11. 前記オフセットデータのセットの前記圧縮版を生成することは、
    前記オフセットデータのセットをクラスタリングして複数のクラスタを生成することと、
    前記複数のクラスタのうちの各クラスタに主成分分析(PCA)を適用することと、を含む、請求項2に記載のコンピュータ実装方法。
  12. 前記オフセットデータのセットの前記圧縮版を生成することは、
    近似パラメータ化分析関数を使用して、前記オフセットデータのセットのうちのオフセットの経時的な変化を表すことと、
    前記近似パラメータ化分析関数のパラメータのサブセットのみを保持することと、を含む、請求項2に記載のコンピュータ実装方法。
  13. システムであって、
    前記システムは、少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサによって実行された場合に、前記システムに方法を実行させる命令を格納するメモリと、を備え、
    前記方法は、仮想変形可能幾何モデルに関連付けられた仮想モデル情報を受信することを含み、
    前記仮想モデル情報は、デフォルトモデルによって定義される第1の複数の変換および第1の複数の頂点を含む複雑なリグと、
    第2の複数の変換および第2の複数の頂点を含み、前記第2の複数の頂点が、前記デフォルトモデルによって定義される前記第1の複数の頂点に対応する、単純化されたリグと、を含み、
    前記方法は、前記仮想変形可能幾何モデルに適用されるアニメーションに基づいて、前記単純化されたリグおよび前記複雑なリグを変形することと、
    前記第1の複数の頂点内の各頂点について、前記頂点と前記第2の複数の頂点内の対応する頂点との間のオフセットを含む、オフセットデータのセットを計算することと、
    前記オフセットデータのセットの圧縮版を、前記仮想変形可能幾何モデルのリアルタイムのアニメーションのためのリアルタイム処理エンジンにエクスポートすることと、を含む、システム。
  14. 前記命令は、前記少なくとも1つのプロセッサによって実行された場合に、前記オフセットデータのセットの前記圧縮版を生成することを前記システムにさらに実行させる、請求項13に記載のシステム。
  15. 前記オフセットデータのセットの前記圧縮版を生成することは、前記第1の複数の頂点内の各頂点について、前記アニメーションを通して前記頂点のオフセットのX、Y、およびZの最小値および最大値を追跡することにより、前記第1の複数の頂点内の各頂点についてタイトなバウンディングボックスを計算することを含む、請求項14に記載のシステム。
  16. 前記オフセットデータのセットの前記圧縮版を生成することは、前記タイトなバウンディングボックスに基づいて、16ビット以下の整数を使用して前記オフセットデータのセットのうちのオフセットを量子化して、オフセットデータの低ビット量子化を生成することをさらに含む、請求項15に記載のシステム。
  17. コンピュータシステムの少なくとも1つのプロセッサによって実行された場合に、前記コンピュータシステムに方法を実行させる命令を含む、非一時的なコンピュータ可読記憶媒体であって、
    前記方法は、仮想変形可能幾何モデルに関連付けられた仮想モデル情報を受信することを含み、
    前記仮想モデル情報は、デフォルトモデルによって定義される第1の複数の変換および第1の複数の頂点を含む複雑なリグと、
    第2の複数の変換および第2の複数の頂点を含み、前記第2の複数の頂点が、前記デフォルトモデルによって定義される前記第1の複数の頂点に対応する、単純化されたリグと、を含み、
    前記方法は、前記仮想変形可能幾何モデルに適用されるアニメーションに基づいて、前記単純化されたリグおよび前記複雑なリグを変形することと、
    前記第1の複数の頂点内の各頂点について、前記頂点と前記第2の複数の頂点内の対応する頂点との間のオフセットを含むオフセットデータのセットを計算することと、
    前記オフセットデータのセットの圧縮版を、前記仮想変形可能幾何モデルのリアルタイムのアニメーションのためのリアルタイム処理エンジンにエクスポートすることと、を含む非一時的なコンピュータ可読記憶媒体。
  18. 前記命令は、前記コンピュータシステムの前記少なくとも1つのプロセッサによって実行された場合に、前記オフセットデータのセットの前記圧縮版を生成することを前記コンピュータシステムにさらに実行させる、請求項17に記載の非一時的なコンピュータ可読記憶媒体。
  19. 前記オフセットデータのセットの前記圧縮版を生成することは、前記第1の複数の頂点内の各頂点について、前記アニメーションを通して前記頂点のオフセットのX、Y、およびZの最小値および最大値を追跡することにより、前記第1の複数の頂点内の各頂点についてタイトなバウンディングボックスを計算することを含む、請求項18に記載の非一時的なコンピュータ可読記憶媒体。
  20. 前記オフセットデータのセットの前記圧縮版を生成することは、前記タイトなバウンディングボックスに基づいて、16ビット以下の整数を使用して前記オフセットデータのセットのうちのオフセットを量子化して、オフセットデータの低ビット量子化を生成することをさらに含む、請求項19に記載の非一時的なコンピュータ可読記憶媒体。
JP2020527845A 2017-07-28 2018-07-25 リアルタイムの複雑なキャラクタアニメーションおよび相互作用のためのシステムおよび方法 Pending JP2020529692A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762538590P 2017-07-28 2017-07-28
US62/538,590 2017-07-28
PCT/US2018/043781 WO2019023397A1 (en) 2017-07-28 2018-07-25 SYSTEMS AND METHODS FOR ANIMATIONS AND INTERACTIVITY OF REAL-TIME COMPLEX CHARACTERS

Publications (1)

Publication Number Publication Date
JP2020529692A true JP2020529692A (ja) 2020-10-08

Family

ID=65038837

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2020527847A Pending JP2020529694A (ja) 2017-07-28 2018-07-25 リアルタイムの複雑なキャラクタアニメーションおよび相互作用のためのシステムおよび方法
JP2020527843A Pending JP2020529691A (ja) 2017-07-28 2018-07-25 リアルタイムの複雑なキャラクタアニメーションおよび相互作用のためのシステムおよび方法
JP2020527845A Pending JP2020529692A (ja) 2017-07-28 2018-07-25 リアルタイムの複雑なキャラクタアニメーションおよび相互作用のためのシステムおよび方法
JP2020527846A Pending JP2020529693A (ja) 2017-07-28 2018-07-25 リアルタイムの複雑なキャラクタアニメーションおよび相互作用のためのシステムおよび方法

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2020527847A Pending JP2020529694A (ja) 2017-07-28 2018-07-25 リアルタイムの複雑なキャラクタアニメーションおよび相互作用のためのシステムおよび方法
JP2020527843A Pending JP2020529691A (ja) 2017-07-28 2018-07-25 リアルタイムの複雑なキャラクタアニメーションおよび相互作用のためのシステムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020527846A Pending JP2020529693A (ja) 2017-07-28 2018-07-25 リアルタイムの複雑なキャラクタアニメーションおよび相互作用のためのシステムおよび方法

Country Status (6)

Country Link
US (7) US10796469B2 (ja)
EP (4) EP3659038A4 (ja)
JP (4) JP2020529694A (ja)
KR (4) KR20200084316A (ja)
CN (4) CN111417987A (ja)
WO (4) WO2019023397A1 (ja)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8817092B2 (en) * 2008-11-25 2014-08-26 Stuart Leslie Wilkinson Method and apparatus for generating and viewing combined images
US9899038B2 (en) * 2016-06-30 2018-02-20 Karen Elaine Khaleghi Electronic notebook system
CN111417987A (zh) * 2017-07-28 2020-07-14 北奥拜勃工作室有限公司 用于实时复杂角色动画和交互性的系统和方法
US10565792B2 (en) * 2017-09-07 2020-02-18 Dreamworks Animation Llc Approximating mesh deformations for character rigs
US11508107B2 (en) 2018-02-26 2022-11-22 Didimo, Inc. Additional developments to the automatic rig creation process
US10235998B1 (en) 2018-02-28 2019-03-19 Karen Elaine Khaleghi Health monitoring system and appliance
US11741650B2 (en) 2018-03-06 2023-08-29 Didimo, Inc. Advanced electronic messaging utilizing animatable 3D models
US11062494B2 (en) 2018-03-06 2021-07-13 Didimo, Inc. Electronic messaging utilizing animatable 3D models
US11676003B2 (en) * 2018-12-18 2023-06-13 Microsoft Technology Licensing, Llc Training neural network accelerators using mixed precision data formats
US10559307B1 (en) 2019-02-13 2020-02-11 Karen Elaine Khaleghi Impaired operator detection and interlock apparatus
CN109961496B (zh) * 2019-02-22 2022-10-28 厦门美图宜肤科技有限公司 表情驱动方法及表情驱动装置
CN112053277B (zh) * 2019-06-05 2023-10-20 杭州萤石软件有限公司 一种图像换肤的方法、装置、设备及存储介质
CA3137927A1 (en) * 2019-06-06 2020-12-10 Artie, Inc. Multi-modal model for dynamically responsive virtual characters
US11087514B2 (en) * 2019-06-11 2021-08-10 Adobe Inc. Image object pose synchronization
US10902618B2 (en) * 2019-06-14 2021-01-26 Electronic Arts Inc. Universal body movement translation and character rendering system
CN110288681B (zh) * 2019-06-25 2023-06-27 网易(杭州)网络有限公司 角色模型的蒙皮方法、装置、介质及电子设备
CN110570357A (zh) * 2019-07-09 2019-12-13 深圳市瑞立视多媒体科技有限公司 基于ue4引擎的镜像实现方法、装置、设备及存储介质
US10735191B1 (en) 2019-07-25 2020-08-04 The Notebook, Llc Apparatus and methods for secure distributed communications and data access
US11182945B2 (en) * 2019-08-29 2021-11-23 Didimo, Inc. Automatically generating an animatable object from various types of user input
US11645800B2 (en) 2019-08-29 2023-05-09 Didimo, Inc. Advanced systems and methods for automatically generating an animatable object from various types of user input
US11645797B1 (en) * 2019-09-26 2023-05-09 Apple Inc. Motion control for an object
CN110782815B (zh) * 2019-11-13 2021-04-13 吉林大学 一种全息立体探测系统及其方法
US11217014B2 (en) * 2020-02-06 2022-01-04 The Boeing Company Topological surface detector
US11504625B2 (en) 2020-02-14 2022-11-22 Electronic Arts Inc. Color blindness diagnostic system
US11648480B2 (en) 2020-04-06 2023-05-16 Electronic Arts Inc. Enhanced pose generation based on generative modeling
US11232621B2 (en) 2020-04-06 2022-01-25 Electronic Arts Inc. Enhanced animation generation based on conditional modeling
CN111797643B (zh) * 2020-07-08 2022-04-26 北京京东振世信息技术有限公司 用于识别条形码的方法和终端
KR102456069B1 (ko) * 2020-07-17 2022-10-18 주식회사 아이팝 현실 가상 모델 간 비율 보정 방법
KR20230042470A (ko) * 2020-07-24 2023-03-28 카이트스트링, 인크. 동작 순서 변형 엔진을 이용한 컴퓨터 애니메이션을 위한 시스템들 및 방법들
CN111986311A (zh) * 2020-08-06 2020-11-24 山东金东数字创意股份有限公司 一种模板数据转化系统和方法
CN111951360B (zh) * 2020-08-14 2023-06-23 腾讯科技(深圳)有限公司 动画模型处理方法、装置、电子设备及可读存储介质
CN112182194A (zh) * 2020-10-21 2021-01-05 南京创维信息技术研究院有限公司 电视虚拟形象情绪动作表达方法、系统和可读存储介质
CN112862936B (zh) * 2021-03-16 2023-08-08 网易(杭州)网络有限公司 表情模型处理方法及装置、电子设备、存储介质
CN112991502B (zh) * 2021-04-22 2021-07-16 腾讯科技(深圳)有限公司 一种模型训练方法、装置、设备及存储介质
US11887232B2 (en) 2021-06-10 2024-01-30 Electronic Arts Inc. Enhanced system for generation of facial models and animation
CN113546415B (zh) * 2021-08-11 2024-03-29 北京字跳网络技术有限公司 剧情动画播放方法、生成方法、终端、装置及设备
US20230082420A1 (en) * 2021-09-13 2023-03-16 Qualcomm Incorporated Display of digital media content on physical surface
WO2023084789A1 (ja) * 2021-11-15 2023-05-19 日本電信電話株式会社 配信装置、配信方法及びプログラム
CN114267374B (zh) * 2021-11-24 2022-10-18 北京百度网讯科技有限公司 音素检测方法及装置、训练方法及装置、设备和介质
US11783529B2 (en) * 2021-12-27 2023-10-10 Advanced Micro Devices, Inc. Bounding volume hierarchy box node compression
CN115239860B (zh) * 2022-09-01 2023-08-01 北京达佳互联信息技术有限公司 表情数据生成方法、装置、电子设备及存储介质
CN116012499B (zh) * 2022-10-20 2023-11-03 武汉两点十分文化传播有限公司 一种快速生成maya三维角色动画的方法及系统
CN115984447B (zh) * 2023-03-16 2023-06-23 腾讯科技(深圳)有限公司 图像渲染方法、装置、设备和介质

Family Cites Families (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970172B2 (en) 1997-03-27 2005-11-29 At&T Corp. Method for defining MPEG 4 animation parameters for an animation definition interface
US6614428B1 (en) * 1998-06-08 2003-09-02 Microsoft Corporation Compression of animated geometry using a hierarchical level of detail coder
JP3954244B2 (ja) * 1999-07-16 2007-08-08 富士フイルム株式会社 色再現空間の圧縮・伸張方法
FR2810770B1 (fr) 2000-06-23 2003-01-03 France Telecom Raffinement d'un maillage triangulaire representatif d'un objet en trois dimensions
US6950104B1 (en) * 2000-08-30 2005-09-27 Microsoft Corporation Methods and systems for animating facial features, and methods and systems for expression transformation
US6940505B1 (en) 2002-05-20 2005-09-06 Matrox Electronic Systems Ltd. Dynamic tessellation of a base mesh
JP4481931B2 (ja) 2003-12-26 2010-06-16 トヨタ自動車株式会社 三次元cadデータの近似および表示方法、その方法を実行するシステム
US7342580B1 (en) * 2004-04-02 2008-03-11 Pacific Data Images Llc Surface compression based on reference geometry in animation models
US7493243B2 (en) 2004-12-27 2009-02-17 Seoul National University Industry Foundation Method and system of real-time graphical simulation of large rotational deformation and manipulation using modal warping
CN100530244C (zh) * 2005-06-21 2009-08-19 中国科学院计算技术研究所 一种基于骨骼的任意拓扑结构虚拟角色的驱动方法
US7403202B1 (en) * 2005-07-12 2008-07-22 Electronic Arts, Inc. Computer animation of simulated characters using combinations of motion-capture data and external force modelling or other physics models
US20070247458A1 (en) 2006-04-11 2007-10-25 Samsung Electronics Co., Ltd. Adaptive computation of subdivision surfaces
US7859538B2 (en) * 2006-07-31 2010-12-28 Autodesk, Inc Converting deformation data for a mesh to animation data for a skeleton, skinning and shading in a runtime computer graphics animation engine
US8941664B2 (en) 2006-11-22 2015-01-27 Take Two Interactive Software, Inc. System and method for real-time pose-based deformation of character models
US7872653B2 (en) * 2007-06-18 2011-01-18 Microsoft Corporation Mesh puppetry
US8379036B2 (en) 2008-02-22 2013-02-19 Pixar Mesh transfer
US8144155B2 (en) * 2008-08-11 2012-03-27 Microsoft Corp. Example-based motion detail enrichment in real-time
US8749556B2 (en) 2008-10-14 2014-06-10 Mixamo, Inc. Data compression for real-time streaming of deformable 3D models for 3D animation
US8355020B1 (en) * 2009-01-23 2013-01-15 Autodesk, Inc. Refining quilts of patches representing three dimensional structures
WO2011045768A2 (en) * 2009-10-15 2011-04-21 Yeda Research And Development Co. Ltd. Animation of photo-images via fitting of combined models
TWI434227B (zh) * 2009-12-29 2014-04-11 Ind Tech Res Inst 動畫產生系統及方法
CN101847267B (zh) * 2010-06-01 2012-04-25 中国科学院自动化研究所 基于深度检索的树木建模方法
US8797328B2 (en) * 2010-07-23 2014-08-05 Mixamo, Inc. Automatic generation of 3D character animation from 3D meshes
JP5735114B2 (ja) * 2010-09-30 2015-06-17 トムソン ライセンシングThomson Licensing エンコード方法、エンコード装置、デコード方法及びデコード装置
CN102157008B (zh) * 2011-04-12 2014-08-06 电子科技大学 一种大规模虚拟人群实时绘制方法
US9082229B1 (en) * 2011-05-10 2015-07-14 Lucasfilm Entertainment Company Ltd. Transforming animations
US9724600B2 (en) * 2011-06-06 2017-08-08 Microsoft Technology Licensing, Llc Controlling objects in a virtual environment
CN102289836B (zh) * 2011-07-25 2013-10-16 北京农业信息技术研究中心 植物动画合成方法
US8754831B2 (en) 2011-08-02 2014-06-17 Microsoft Corporation Changing between display device viewing modes
US9786083B2 (en) * 2011-10-07 2017-10-10 Dreamworks Animation L.L.C. Multipoint offset sampling deformation
JP5490080B2 (ja) * 2011-12-06 2014-05-14 株式会社セルシス スケルトンモデルの姿勢制御方法,及びプログラム
US9223138B2 (en) 2011-12-23 2015-12-29 Microsoft Technology Licensing, Llc Pixel opacity for augmented reality
US20130215113A1 (en) * 2012-02-21 2013-08-22 Mixamo, Inc. Systems and methods for animating the faces of 3d characters using images of human faces
CN107257403A (zh) * 2012-04-09 2017-10-17 英特尔公司 使用交互化身的通信
US9639981B1 (en) * 2012-06-26 2017-05-02 Pixar Tetrahedral Shell Generation
US9536338B2 (en) * 2012-07-31 2017-01-03 Microsoft Technology Licensing, Llc Animating objects using the human body
CN102930753B (zh) * 2012-10-17 2014-11-12 中国石油化工股份有限公司 加油站虚拟培训系统及应用
CN103136778B (zh) * 2013-01-28 2015-09-30 吉林纪元时空动漫游戏科技股份有限公司 基于自主缓存系统的电影级别群组动画制作方法
US10937195B2 (en) 2013-02-11 2021-03-02 Google Llc Label based approach for video encoding
US9566509B2 (en) 2013-03-12 2017-02-14 Disney Enterprises, Inc. Adaptive rendered environments using user context
US10134167B2 (en) * 2013-03-15 2018-11-20 Dreamworks Animation Llc Using curves to emulate soft body deformation
US9230368B2 (en) * 2013-05-23 2016-01-05 Microsoft Technology Licensing, Llc Hologram anchoring and dynamic positioning
US9947124B2 (en) * 2013-07-29 2018-04-17 Disney Enterprises, Inc. Motion control of active deformable objects
CN103679783B (zh) * 2013-10-18 2017-04-19 中国科学院自动化研究所 基于几何变形的三维动画角色模型皮肤变形方法
CN103942822B (zh) * 2014-04-11 2017-02-01 浙江大学 一种基于单视频摄像机的面部特征点跟踪和人脸动画方法
US9779538B2 (en) * 2014-05-28 2017-10-03 Lucasfilm Entertainment Company Ltd. Real-time content immersion system
US20150350641A1 (en) * 2014-05-29 2015-12-03 Apple Inc. Dynamic range adaptive video coding system
US9727296B2 (en) 2014-06-27 2017-08-08 Lenovo (Beijing) Co., Ltd. Display switching method, information processing method and electronic device
US10664628B2 (en) * 2014-12-08 2020-05-26 Dassault Systemes Solidworks Corporation Interactive surface alignment
US10282883B2 (en) * 2014-12-12 2019-05-07 Pizar Hierarchy-based character rigging
WO2016144279A1 (en) 2015-03-06 2016-09-15 Ors Filiz Mujdehan Virtual reality based remote learning system and method
CN107431635B (zh) * 2015-03-27 2021-10-08 英特尔公司 化身面部表情和/或语音驱动的动画化
WO2016205182A1 (en) 2015-06-15 2016-12-22 Survios, Inc. Systems and methods for immersive physical interaction with a virtual environment
WO2017007179A1 (ko) 2015-07-03 2017-01-12 상명대학교서울산학협력단 심장박동에 따른 얼굴 온도 변화를 이용한 가상-아바타의 사회적 실재감 표현 방법 및 이를 적용하는 시스템
US20170148214A1 (en) 2015-07-17 2017-05-25 Ivd Mining Virtual reality training
US9353965B1 (en) 2015-08-26 2016-05-31 Google Inc. Automated display adjustment for smart-home device based on viewer location or other sensed viewer-related parameters
US9858701B2 (en) * 2015-10-05 2018-01-02 Adobe Systems Incorporated Computer animation of artwork using adaptive meshing
CN105447904A (zh) * 2016-01-04 2016-03-30 中山大学 一种基于Loop细分的三维云纹曲面显示方法及其装置
US10303341B2 (en) 2016-05-25 2019-05-28 International Business Machines Corporation Modifying screen content based on gaze tracking and user distance from the screen
CN106157339B (zh) * 2016-07-05 2019-06-18 华南理工大学 基于低秩顶点轨迹子空间提取的动画网格序列压缩方法
US10304244B2 (en) * 2016-07-08 2019-05-28 Microsoft Technology Licensing, Llc Motion capture and character synthesis
WO2018081732A1 (en) 2016-10-31 2018-05-03 Dg Holdings, Inc. Portable and persistent virtual identity systems and methods
US10930086B2 (en) 2016-11-01 2021-02-23 Dg Holdings, Inc. Comparative virtual asset adjustment systems and methods
CN106780766B (zh) * 2016-11-24 2019-02-05 腾讯科技(深圳)有限公司 匹配实现方法及相关装置
CN106846499B (zh) * 2017-02-09 2020-04-03 腾讯科技(深圳)有限公司 一种虚拟模型的生成方法及装置
CN111417987A (zh) * 2017-07-28 2020-07-14 北奥拜勃工作室有限公司 用于实时复杂角色动画和交互性的系统和方法
US10565792B2 (en) * 2017-09-07 2020-02-18 Dreamworks Animation Llc Approximating mesh deformations for character rigs
US11158121B1 (en) * 2018-05-11 2021-10-26 Facebook Technologies, Llc Systems and methods for generating accurate and realistic clothing models with wrinkles
EP3813023A1 (en) * 2019-10-21 2021-04-28 Dassault Systèmes Computer-implemented method for making a skeleton of a modeled body take a posture
US11348314B2 (en) * 2020-05-08 2022-05-31 Dreamworks Animation Llc Fast and deep facial deformations
US20210349529A1 (en) * 2020-05-08 2021-11-11 Mvi Health Inc. Avatar tracking and rendering in virtual reality
WO2022051460A1 (en) * 2020-09-02 2022-03-10 Roblox Corporation 3d asset generation from 2d images

Also Published As

Publication number Publication date
KR20200084315A (ko) 2020-07-10
CN111433757B (zh) 2023-10-20
KR102574247B1 (ko) 2023-09-04
US20190035131A1 (en) 2019-01-31
US10818061B2 (en) 2020-10-27
EP3659117A4 (en) 2022-08-03
CN111465965B (zh) 2024-04-19
EP3659118A1 (en) 2020-06-03
EP3659038A4 (en) 2021-07-07
KR20200084316A (ko) 2020-07-10
KR102574246B1 (ko) 2023-09-04
JP2020529693A (ja) 2020-10-08
EP3659119A1 (en) 2020-06-03
CN111417987A (zh) 2020-07-14
WO2019023398A1 (en) 2019-01-31
KR20200084314A (ko) 2020-07-10
CN111417988A (zh) 2020-07-14
WO2019023400A1 (en) 2019-01-31
US20190035129A1 (en) 2019-01-31
US10796469B2 (en) 2020-10-06
US20240087200A1 (en) 2024-03-14
US20190035132A1 (en) 2019-01-31
EP3659118A4 (en) 2021-05-05
JP2020529691A (ja) 2020-10-08
EP3659038A1 (en) 2020-06-03
US20210142546A1 (en) 2021-05-13
US10937219B2 (en) 2021-03-02
US20190035130A1 (en) 2019-01-31
CN111433757A (zh) 2020-07-17
WO2019023384A1 (en) 2019-01-31
JP2020529694A (ja) 2020-10-08
EP3659119A4 (en) 2021-04-28
US10810780B2 (en) 2020-10-20
US20210201552A1 (en) 2021-07-01
EP3659117A1 (en) 2020-06-03
CN111465965A (zh) 2020-07-28
WO2019023397A1 (en) 2019-01-31
KR20200085263A (ko) 2020-07-14

Similar Documents

Publication Publication Date Title
KR102574246B1 (ko) 실시간의 복합 캐릭터 애니메이션 및 상호작용성을 위한 시스템 및 방법
US11875458B2 (en) Fast and deep facial deformations
CN111542861A (zh) 利用深度外观模型渲染化身的系统和方法
US9196074B1 (en) Refining facial animation models
US20220398797A1 (en) Enhanced system for generation of facial models and animation
US11887232B2 (en) Enhanced system for generation of facial models and animation
US20220398795A1 (en) Enhanced system for generation of facial models and animation
US10825225B1 (en) Simulation stream pipeline
US11941739B1 (en) Object deformation network system and method
US20240135616A1 (en) Automated system for generation of facial animation rigs
Di Fiore et al. Mimicing 3d transformations of emotional stylised animation with minimal 2d input