(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-08
(54)【発明の名称】主制御対象の投影生成方法、装置、コンピュータ機器及びコンピュータプログラム
(51)【国際特許分類】
G06T 19/00 20110101AFI20240426BHJP
【FI】
G06T19/00 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023566962
(86)(22)【出願日】2022-10-19
(85)【翻訳文提出日】2023-11-14
(86)【国際出願番号】 CN2022126147
(87)【国際公開番号】W WO2023130800
(87)【国際公開日】2023-07-13
(31)【優先権主張番号】202210015247.5
(32)【優先日】2022-01-07
(33)【優先権主張国・地域又は機関】CN
(81)【指定国・地域】
(71)【出願人】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】タン,ジェ
(72)【発明者】
【氏名】リウ,シュウチャン
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA08
5B050BA09
5B050CA07
5B050EA07
5B050EA19
5B050FA05
(57)【要約】
本願は、アニメーション技術分野に関する主制御対象の投影生成方法、装置、機器及び媒体を開示する。前記方法は、主制御対象の本体アニメーションブループリントから、主制御対象のオリジナル骨格モデルを抽出するステップであって、主制御対象は、一人称視点で仮想環境を観察する対象であり、本体アニメーションブループリントは、仮想環境における主制御対象の本体モデルを生成するために用いられ、オリジナル骨格モデルは、主制御対象の骨格変形されていないモデルであるステップ(602)と、主制御対象の現在状態に基づいて、オリジナル骨格モデルの姿勢を調整して、投影モデルを得るステップであって、投影モデルは、仮想環境における主制御対象の投影を生成するためのモデルであるステップ(604)と、投影モデルをレンダリングして、主制御対象の投影を得るステップ(606)と、を含む。本願は、コンピュータ機器の演算負荷を軽減することができる。
【選択図】
図6
【特許請求の範囲】
【請求項1】
端末が実行する、主制御対象の投影生成方法であって、
前記主制御対象の本体アニメーションブループリントから、前記主制御対象のオリジナル骨格モデルを抽出するステップであって、前記主制御対象は、一人称視点で仮想環境を観察する対象であり、前記本体アニメーションブループリントは、前記仮想環境における前記主制御対象の本体モデルを生成するために用いられ、前記オリジナル骨格モデルは、前記主制御対象の骨格変形されていないモデルである、ステップと、
前記オリジナル骨格モデルに基づいて投影モデルを得るステップであって、前記投影モデルは、前記仮想環境における前記主制御対象の投影を生成するためのモデルである、ステップと、
前記投影モデルをレンダリングして、前記主制御対象の投影を得るステップと、を含む、主制御対象の投影生成方法。
【請求項2】
前記本体アニメーションブループリントは、骨格変形処理を含み、
前記主制御対象の本体アニメーションブループリントから、前記主制御対象のオリジナル骨格モデルを抽出するステップは、
前記本体アニメーションブループリントの前記骨格変形処理の前に、前記本体アニメーションブループリントから前記オリジナル骨格モデルを抽出するステップを含む、
請求項1に記載の主制御対象の投影生成方法。
【請求項3】
前記骨格変形処理は、第1骨格変形処理を含み、前記第1骨格変形処理は、前記主制御対象のカメラモデルと前記オリジナル骨格モデルとの重複領域における骨格をスケーリングするために用いられ、
前記本体アニメーションブループリントの前記骨格変形処理の前に、前記本体アニメーションブループリントから前記オリジナル骨格モデルを抽出するステップは、
前記本体アニメーションブループリントの前記第1骨格変形処理の前に、前記本体アニメーションブループリントから前記オリジナル骨格モデルを抽出するステップを含む、
請求項2に記載の主制御対象の投影生成方法。
【請求項4】
前記骨格変形処理は、第2骨格変形処理を含み、前記第2骨格変形処理は、前記主制御対象が目標現在状態にある時に、前記オリジナル骨格モデルをひねり回すために用いられ、
前記本体アニメーションブループリントの前記骨格変形処理の前に、前記本体アニメーションブループリントから前記オリジナル骨格モデルを抽出するステップは、
前記本体アニメーションブループリントの前記第2骨格変形処理の前に、前記本体アニメーションブループリントから前記オリジナル骨格モデルを抽出するステップを含む、
請求項2に記載の主制御対象の投影生成方法。
【請求項5】
前記オリジナル骨格モデルに基づいて投影モデルを得るステップは、
前記オリジナル骨格モデルを前記投影モデルとして決定するステップ、又は、
前記主制御対象の現在状態に基づいて、前記オリジナル骨格モデルの姿勢を調整して、前記投影モデルを得るステップを含む、
請求項1~4のいずれか一項に記載の主制御対象の投影生成方法。
【請求項6】
前記オリジナル骨格モデルは、子骨格及び前記子骨格に対応する親骨格を含み、前記子骨格は、骨格チェーンの末端に位置し、
前記主制御対象の現在状態に基づいて、前記オリジナル骨格モデルの姿勢を調整して、投影モデルを得るステップは、
前記主制御対象の現在状態に基づいて、前記子骨格の目標位置を決定するステップと、
前記目標位置に基づいて、前記子骨格の位置を決定するステップと、
前記目標位置及び前記子骨格の位置に基づいて、前記親骨格の位置を決定するステップと、
前記子骨格及び前記親骨格の位置に基づいて、前記オリジナル骨格モデルの姿勢を調整して、前記投影モデルを得るステップと、を含む、
請求項5に記載の主制御対象の投影生成方法。
【請求項7】
前記目標位置に基づいて、前記子骨格の位置を決定するステップは、
前記子骨格の第1端点から前記子骨格の末端までの第1ベクトルを決定するステップであって、前記子骨格の第1端点は、前記子骨格の末端から離れた前記子骨格上の端点である、ステップと、
前記第1端点から前記目標位置までの第2ベクトルを決定するステップと、
前記第1ベクトルと前記第2ベクトルとの夾角に基づいて、前記子骨格を回転させて、前記子骨格の位置を決定するステップと、を含む、
請求項6に記載の主制御対象の投影生成方法。
【請求項8】
前記目標位置及び前記子骨格の位置に基づいて、前記親骨格の位置を決定するステップは、
前記親骨格の第2端点から前記子骨格の末端までの第3ベクトルを決定するステップであって、前記親骨格の第2端点は、前記子骨格から離れた前記親骨格上の端点である、ステップと、
前記第2端点から前記目標位置までの第4ベクトルを決定するステップと、
前記第3ベクトルと前記第4ベクトルとの夾角に基づいて、前記親骨格を回転させて、前記親骨格の位置を決定するステップと、を含む、
請求項6に記載の主制御対象の投影生成方法。
【請求項9】
前記本体モデルは、少なくとも2つのコンポーネントモデルを含み、前記少なくとも2つのコンポーネントモデルは、前記主制御対象の異なる部位のモデルを含み、
前記投影モデルをレンダリングして、前記主制御対象の投影を得るステップは、
前記投影モデルを一体化投影モデルに置き換えるステップであって、前記一体化投影モデルは、前記少なくとも2つのコンポーネントモデルを統合した後のローポリゴンモデルであり、前記一体化投影モデルのローポリ数は、前記投影モデルのローポリ数より小さい、ステップと、
前記一体化投影モデルをレンダリングして、前記主制御対象の投影を得るステップと、を含む、
請求項1~4のいずれか一項に記載の主制御対象の投影生成方法。
【請求項10】
前記本体アニメーションブループリントは、
前記主制御対象の初期アニメーション姿勢を決定するステップと、
前記初期アニメーション姿勢を前記主制御対象の骨格モデルに代入して、前記オリジナル骨格モデルを得るステップと、
前記オリジナル骨格モデルに対して骨格変形処理を行い、骨格変形後のオリジナル骨格モデルを得るステップと、
前記現在状態に基づいて、前記骨格変形後のオリジナル骨格モデルの姿勢を調整して、前記主制御対象の本体モデルを得るステップであって、前記本体モデルは、前記主制御対象の本体を生成するためのモデルである、ステップと、
前記本体モデルをレンダリングして、前記主制御対象の本体を得るステップと、を含む、
請求項1~4のいずれか一項に記載の主制御対象の投影生成方法。
【請求項11】
前記主制御対象の骨格モデルは、少なくとも2つのコンポーネントモデルを含み、前記少なくとも2つのコンポーネントモデルは、前記主制御対象の異なる部位のモデルを含み、
前記主制御対象の初期アニメーション姿勢を決定するステップは、
前記少なくとも2つのコンポーネントモデルのアニメーション姿勢を順次決定するステップと、
前記少なくとも2つのコンポーネントモデルのアニメーション姿勢を重ね合わせて、前記初期アニメーション姿勢を得るステップと、を含む、
請求項10に記載の主制御対象の投影生成方法。
【請求項12】
前記本体モデルは、少なくとも2つのコンポーネントモデルを含み、前記少なくとも2つのコンポーネントモデルは、前記主制御対象の異なる部位のモデルを含み、
前記本体モデルをレンダリングして、前記主制御対象の本体を得るステップは、
前記少なくとも2つのコンポーネントモデルをそれぞれレンダリングして、前記少なくとも2つのコンポーネントモデルのレンダリング結果を得るステップと、
前記少なくとも2つのコンポーネントモデルのレンダリング結果を合成して、前記主制御対象の本体を得るステップと、を含む、
請求項9に記載の主制御対象の投影生成方法。
【請求項13】
主制御対象の投影生成装置であって、抽出モジュールと、調整モジュールと、レンダリングモジュールと、を備え、
前記抽出モジュールは、前記主制御対象の本体アニメーションブループリントから、前記主制御対象のオリジナル骨格モデルを抽出するように構成され、前記主制御対象は、一人称視点で仮想環境を観察する対象であり、前記本体アニメーションブループリントは、前記仮想環境における前記主制御対象の本体を生成するために用いられ、前記オリジナル骨格モデルは、前記主制御対象の骨格変形されていないモデルであり、
前記調整モジュールは、前記オリジナル骨格モデルに基づいて投影モデルを得るように構成され、前記投影モデルは、前記仮想環境における前記主制御対象の投影を生成するためのモデルであり、
前記レンダリングモジュールは、前記投影モデルをレンダリングして、前記主制御対象の投影を得るように構成される、主制御対象の投影生成装置。
【請求項14】
前記本体アニメーションブループリントは、骨格変形処理を含み、
前記抽出モジュールは、前記本体アニメーションブループリントの前記骨格変形処理の前に、前記本体アニメーションブループリントから前記オリジナル骨格モデルを抽出するように構成される、
請求項13に記載の主制御対象の投影生成装置。
【請求項15】
前記骨格変形処理は、第1骨格変形処理を含み、前記第1骨格変形処理は、前記主制御対象のカメラモデルと前記オリジナル骨格モデルとの重複領域における骨格をスケーリングするために用いられ、
前記抽出モジュールはさらに、前記本体アニメーションブループリントの前記第1骨格変形処理の前に、前記本体アニメーションブループリントから前記オリジナル骨格モデルを抽出するように構成される、
請求項14に記載の主制御対象の投影生成装置。
【請求項16】
前記骨格変形処理は、第2骨格変形処理を含み、前記第2骨格変形処理は、前記主制御対象が目標現在状態にある時に、前記オリジナル骨格モデルをひねり回すために用いられ、
前記抽出モジュールはさらに、前記本体アニメーションブループリントの前記第2骨格変形処理の前に、前記本体アニメーションブループリントから前記オリジナル骨格モデルを抽出するように構成される、
請求項14に記載の主制御対象の投影生成装置。
【請求項17】
前記調整モジュールはさらに、前記オリジナル骨格モデルを前記投影モデルとして決定するように構成され、
又は、
前記調整モジュールはさらに、前記主制御対象の現在状態に基づいて、前記オリジナル骨格モデルの姿勢を調整して、前記投影モデルを得るように構成される、
請求項13~16のいずれか一項に記載の主制御対象の投影生成装置。
【請求項18】
プロセッサと、
前記プロセッサによってロードされ、前記プロセッサに、請求項1~4のいずれか一項に記載の主制御対象の投影生成方法を実行させる少なくとも1つの命令が記憶されたメモリと、を備える、コンピュータ機器。
【請求項19】
プロセッサに、請求項1~4のいずれか一項に記載の主制御対象の投影生成方法を実行させるコンピュータプログラム又は命令を含む、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願への相互参照)
本願は、2022年01月07日に中国特許局に提出された、出願番号が202210015247.5であり、発明の名称が「主制御対象の投影生成方法、装置、機器及び媒体」である中国特許出願の優先権を主張し、その内容の全てが引用により本願に組み込まれる。
【0002】
本願は、アニメーション技術分野に関し、特に、主制御対象の投影生成方法、装置、機器及び媒体に関するものである。
【背景技術】
【0003】
仮想環境において実環境をシミュレートするために、ユーザの主制御対象に投影を追加して、仮想環境のリアリティを向上させる。
【0004】
関連技術において、2つのアニメーションブループリントを提供し、そのうちの1つは、主制御対象自体を生成するためのアニメーションブループリントであり、もう1つは、主制御対象の投影を生成するためのアニメーションブループリントである。主制御対象自体を生成する時に、主制御対象の骨格モデルに対して、アニメーション姿勢マッチング、骨格スケーリング、及びモデル詳細最適化を順次行い、主制御対象の本体モデルを生成する。主制御対象の投影を生成する時に、主制御対象モデルに対して、アニメーション姿勢マッチング及びモデル詳細最適化を行い、主制御対象の投影モデルを生成する。
【0005】
関連技術では、計算量が多く、コンピュータ機器に対する要求が高い。
【発明の概要】
【0006】
本願の実施例は、主制御対象の投影を迅速に生成することができる、主制御対象の投影生成方法、装置、機器及び媒体を提供し、前記技術的解決策は下記の通りである。
【0007】
本願の一態様によれば、主制御対象の投影生成方法を提供し、前記方法は、
前記主制御対象の本体アニメーションブループリントから、前記主制御対象のオリジナル骨格モデルを抽出するステップであって、前記主制御対象は、一人称視点で仮想環境を観察する対象であり、前記本体アニメーションブループリントは、前記仮想環境における前記主制御対象の本体モデルを生成するために用いられ、前記オリジナル骨格モデルは、前記主制御対象の骨格変形されていないモデルである、ステップと、
前記オリジナル骨格モデルに基づいて投影モデルを得るステップであって、前記投影モデルは、前記仮想環境における前記主制御対象の投影を生成するためのモデルである、ステップと、
前記投影モデルをレンダリングして、前記主制御対象の投影を得るステップと、を含む。
【0008】
本願の別の態様によれば、主制御対象の投影生成装置を提供し、前記装置は、抽出モジュールと、調整モジュールと、レンダリングモジュールと、を備え、
前記抽出モジュールは、前記主制御対象の本体アニメーションブループリントから、前記主制御対象のオリジナル骨格モデルを抽出するように構成され、前記主制御対象は、一人称視点で仮想環境を観察する対象であり、前記本体アニメーションブループリントは、前記仮想環境における前記主制御対象の本体モデルを生成するために用いられ、前記オリジナル骨格モデルは、前記主制御対象の骨格変形されていないモデルであり、
前記調整モジュールは、前記オリジナル骨格モデルに基づいて投影モデルを得るように構成され、前記投影モデルは、前記仮想環境における前記主制御対象の投影を生成するためのモデルであり、
前記レンダリングモジュールは、前記投影モデルをレンダリングして、前記主制御対象の投影を得るように構成される。
【0009】
本願の別の態様によれば、コンピュータ機器を提供し、前記コンピュータ機器は、プロセッサと、メモリと、を備え、メモリには、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶され、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットは、プロセッサによってロード及び実行されることにより、上記態様に記載の主制御対象の投影生成方法を実現する。
【0010】
本願の別の態様によれば、コンピュータ記憶媒体を提供し、コンピュータ可読記憶媒体には、少なくとも1つのプログラムコードが記憶され、プログラムコードは、プロセッサによってロード及び実行されることにより、上記態様に記載の主制御対象の投影生成方法を実現する。
【0011】
本願の別の態様によれば、コンピュータプログラム製品又はコンピュータプログラムを提供し、前記コンピュータプログラム製品又はコンピュータプログラムは、コンピュータ命令を含み、前記コンピュータ命令は、コンピュータ可読記憶媒体に記憶される。コンピュータ機器のプロセッサは、前記コンピュータ可読記憶媒体から前記コンピュータ命令を読み取り、前記プロセッサは、コンピュータ命令を実行することにより、前記コンピュータ機器に、上記態様に記載の主制御対象の投影生成方法を実行させる。
【0012】
本願の実施例によって提供される技術的解決策は、少なくとも以下の有益な効果を有する。
【0013】
主制御対象の投影を生成する時に、本体アニメーションブループリントからオリジナル骨格モデルを抽出するだけで、オリジナル骨格モデルに基づいて、主制御対象の投影を得ることができる。2つの異なるアニメーションブループリントを使用して主制御対象の本体と投影を同時に取得する関連技術に比べて、この方法は、別セットのアニメーションブループリントを余分に用意する必要がなく、主制御対象の投影を得ることができ、主制御対象の投影を取得するプロセスを簡略化し、多くの計算量を要しなくても主制御対象の投影を得ることができ、コンピュータ機器の計算負荷を軽減し、コンピュータ機器のコンピューティング能力が弱くても、主制御対象の投影を遂行することができる。
【図面の簡単な説明】
【0014】
【
図1】本願の1つの例示的な実施例によるコンピュータシステムの概略構造図である。
【
図2】本願の1つの例示的な実施例による関連技術の概略図である。
【
図3】本願の1つの例示的な実施例による主制御対象の本体の概略図である。
【
図4】本願の1つの例示的な実施例による主制御対象の投影の概略図である。
【
図5】本願の1つの例示的な実施例による関連技術の概略図である。
【
図6】本願の1つの例示的な実施例による主制御対象の投影生成方法のフローチャートである。
【
図7】本願の1つの例示的な実施例による主制御対象の本体の概略図である。
【
図8】本願の1つの例示的な実施例による主制御対象の投影の概略図である。
【
図9】本願の1つの例示的な実施例による主制御対象の投影生成方法のフローチャートである。
【
図10】本願の1つの例示的な実施例による投影モデルをレンダリングする概略図である。
【
図11】本願の1つの例示的な実施例による一体化投影モデルの概略図である。
【
図12】本願の1つの例示的な実施例による投影モデルをレンダリングする概略図である。
【
図13】本願の1つの例示的な実施例による一体化銃器モデルの概略図である。
【
図14】本願の1つの例示的な実施例による主制御対象の投影生成方法のフローチャートである。
【
図15】本願の1つの例示的な実施例によるオリジナル骨格モデルの姿勢を調整する方法のフローチャートである。
【
図16】本願の1つの例示的な実施例による子骨格を調整する概略図である。
【
図17】本願の1つの例示的な実施例による親骨格を調整する概略図である。
【
図18】本願の1つの例示的な実施例による本体アニメーションブループリントの実現方法のフローチャートである。
【
図19】本願の1つの例示的な実施例による本体アニメーションブループリントの実現方法の概略図である。
【
図20】本願の1つの例示的な実施例による本体アニメーションブループリントの実現方法のフローチャートである。
【
図21】本願の1つの例示的な実施例による本体アニメーションブループリントの実現方法の概略図である。
【
図22】本願の1つの例示的な実施例による制御対象の投影生成方法の概略図である。
【
図23】本願の1つの例示的な実施例による主制御対象の投影生成装置の概略構造図である。
【
図24】本願の1つの例示的な実施例によるコンピュータ機器の概略構造図である。
【発明を実施するための形態】
【0015】
最初に、本願の実施例における用語について説明する。
【0016】
主制御対象:ユーザによって制御される、一人称視点で仮想環境を観察する可動対象を指す。前記可動対象は、仮想人物、仮想動物、アニメーションキャラクタなどであり得、例えば、仮想環境に表示される人物、動物、植物、ドラム缶、壁、石であり得る。任意選択的に、仮想環境が3D仮想環境である場合、仮想対象は、アニメーション骨格技術に基づいて作成された3D立体モデルであり、各仮想対象は、3D仮想環境で独自の形状及びボリュームを有し、3D仮想環境の空間の一部を占める。任意選択的に、仮想環境が2D仮想環境である場合、仮想対象は、アニメーション骨格技術に基づいて作成された2D立体モデルであり、各仮想対象は、2D仮想環境で独自の形状及び面積を有し、2D仮想環境の空間の一部を占める。
【0017】
FPS(First Person Shooting game)ゲーム:仮想世界に複数の拠点を提供し、異なる陣営に属するユーザが仮想キャラクタを制御して仮想世界で対戦し、拠点を占領したり、敵対陣営の拠点を破壊したり、敵対陣営のキャラクタの全部又は一部を殺したりするゲームである。通常、FPSゲームでは、ユーザは一人称視点でゲームをプレイする。例えば、FPSゲームでは、ユーザを対立する2つの陣営に分け、ユーザに制御される仮想キャラクタを仮想世界に分散して対戦させ、敵の仮想キャラクタを全滅させることを勝利条件とする。FPSゲームはラウンドを単位とし、1ラウンドのFPSゲームの継続時間は、ゲーム開始時点から勝利条件の達成時点までである。
【0018】
図1は、本願の1つの例示的な実施例によるコンピュータシステム100の概略構造図である。コンピュータシステム100は、端末120及びサーバ140を含む。
【0019】
端末120には、仮想環境をサポートするアプリケーションがインストールされている。前記アプリケーションは、FPSゲーム、レースゲーム、マルチプレイヤーオンラインバトルアリーナゲーム(MOBA:Multiplayer Online Battle Arena)ゲーム、仮想現実アプリケーション、3Dマッププログラム、多人数銃撃戦タイプのサバイバルゲームのいずれか1つであってもよい。ユーザは、端末120を使用して、仮想環境に位置する主制御対象を制御して活動を行い、前記活動は、攻撃、スキル解放、アイテム購入、治療、姿勢調整、腹ばい、ウォーキング、騎行、飛行、ジャンプ、運転、取り上げ、射撃、投げ付けなどのうちの少なくとも1つを含むが、これらに限定されない。例示的に、第1仮想キャラクタは、第1仮想人物である。端末120は、スマートフォン、タブレットコンピュータ、電子ブックリーダー、MP3プレーヤ、MP4プレーヤ、ラップトップコンピュータ、及びデスクトップコンピュータのうちの少なくとも1つである。
【0020】
端末120は、無線ネットワーク又は有線ネットワークを介してサーバ140に接続される。
【0021】
サーバ140は、独立した物理サーバであってもよいし、複数の物理サーバで構成されたサーバクラスタ又は分散システムでもあってもよいし、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメインネームサービス、セキュリティサービス、コンテンツ配信ネットワーク(CDN:Content Delivery Network)、ビッグデータ及び人工知能プラットフォームなどの基本的なクラウドコンピューティングサービスを提供するクラウドサーバであってもよい。サーバ140は、仮想環境をサポートするアプリケーションバックグラウンドサービスを提供するために用いられる。任意選択的に、サーバ140がメインコンピューティング作業を担当し、端末120がセカンダリコンピューティング作業を担当するか、又は、サーバ140がセカンダリコンピューティング作業を担当し、端末120がメインコンピューティング作業を担当するか、又は、サーバ140と端末120との間で、分散コンピューティングアーキテクチャを使用して協調コンピューティングを実行する。
【0022】
関連技術では、
図2に示すように、主制御対象を表示する場合、以下のステップに従って実施する。
【0023】
アニメーション姿勢マッチング201において、主制御対象の異なる部位のアニメーション姿勢を決定する。アニメーション姿勢マッチング201は、主制御対象のアニメーション姿勢を決定するために用いられる。任意選択的に、主制御対象が活動する時に、主制御対象のアニメーション姿勢を決定する。例示的に、活動は、ウォーキング、走り、ジャンプ、直立、しゃがみ、腹ばい、攻撃、飛行、運転、取り上げ、射撃、投げ付けなどのうちの少なくとも1つを含むが、これらに限定されない。任意選択的に、アニメーション姿勢マッチング201は、主制御対象の異なる部位のアニメーション姿勢をマッチングし、例えば、主制御対象が射撃しながら走る場合、主制御対象の上半身に射撃のアニメーション姿勢をマッチングさせ、主制御対象の下半身に走りのアニメーション姿勢をマッチングさせる必要がある。
【0024】
アニメーション重ね合わせ202において、主制御対象の異なる部位のアニメーション姿勢を重ね合わせて、主制御対象のアニメーション姿勢を得る。アニメーション重ね合わせ202は、主制御対象の異なる部位のアニメーションを重ね合わせるために用いられる。例示的に、主制御対象の上半身のアニメーション姿勢を下半身のアニメーション姿勢と重ね合わせて、主制御対象のアニメーション姿勢を得る。
【0025】
骨格変形203において、主制御対象の骨格モデルを調整して、変形後の骨格モデルを得る。骨格変形203は、主制御対象の骨格形状を調整するために用いられる。任意選択的に、骨格変形203の方式は、骨格位置の変更、骨格の向きの変更、及び骨格のスケーリングのうちの少なくとも1つを含むが、これらに限定されない。例示的に、一方では、主制御対象を表示する時に、主制御対象の頭部のモデル貫通を防止するために、主制御対象の頭部の骨格をスケーリングする。他方では、主制御対象の左側/右側の体が前に傾く時に、主制御対象が傾く動作を遂行することができるように主制御対象を過度にひねり回すことがある。
図3に示すように、三人称視点で主制御対象301を観察する時に、主制御対象301の頭部はスケーリング(除去)され、主制御対象301の身体が過度にひねり回される状態である。
【0026】
姿勢調整204において、主制御対象の現在状態に基づいて、変形後の骨格モデルの姿勢を調整する。姿勢調整204は、主制御対象の姿勢を調整して、精度を向上させるために用いられる。例示的に、逆動力学によって主制御対象の手の姿勢を調整して、主制御対象のアイテムの把持精度を向上させる。
【0027】
姿勢調整204が完了すると、主制御対象の本体モデル205が出力され、本体モデル205は、主制御対象の本体を生成するために用いられる。
【0028】
説明すべきこととして、主制御対象の本体の表示方法は、主制御対象の投影の表示に直接踏襲することができず、例示的に、上記の方法を採用して主制御対象の投影を生成する場合、
図4に示す投影401が得られ、投影401の形状は明らかに実際と合致しない。これは、骨格変形203のステップによって主制御対象の骨格が変形したためであり、一方では、主制御対象の頭部がスケーリングされており、もう一方では、主制御対象をひねり回したため、主制御対象の骨格が実際と異なる。しかしながら、主制御対象の本体モデルを生成する時に、骨格変形203のステップをスキップすることはできず、骨格変形203のステップをスキップした場合、一方では、骨格変形203において頭部がスケーリングされず、主制御対象の頭部と主制御対象のカメラモデルとが互いに影響し合い、モデルの貫通現象が生じる可能性がある。もう一方、主制御対象の左側/右側の体が前に傾く時に、主制御対象を十分にひねり回していないと、主制御対象の前への傾きを実現しにくくなる。
【0029】
したがって、関連技術は、コンピュータ機器内で2つの異なるプロセスを実行することにより、主制御対象の本体と投影の表示をそれぞれ実現する。例示的に、
図5に示すように、第1プロセス501は、主制御対象の本体を生成するために用いられ、第2プロセス502は、主制御対象の投影を生成するために用いられる。しかしながら、発明者らは別の問題が生じることを発見しており、1つの主制御対象に対して2つの異なるプロセスで計算する必要があり、前述の2つのプロセスは周波数低減などの他の方式で最適化することができないため、携帯電話のようなコンピューティング能力が限られているコンピュータ機器では、この方式では主制御対象の本体と投影を表示することができない。また、コンピューティング能力の高いコンピュータ機器では、スレッド待ちによりプロセスの処理時間が長くなりやすい。
【0030】
上記の問題を解決するために、1、主制御対象の本体と主制御対象の投影の実現方式は互換性がないため、2つの異なる方法によって主制御対象の本体と主制御対象の投影を得る必要である。2、主制御対象の本体と主制御対象の投影を同時に生成するには、強力のコンピューティング能力を有するコンピュータ機器を必要とし、コンピューティング能力が弱い一部の端末は、主制御対象の本体と主制御対象の投影を同時に生成することを実現できない。
【0031】
図6は、本願の1つの例示的な実施例による主制御対象の投影生成方法のフローチャートである。この方法は、
図1に示す端末120によって実行され得、以下のステップを含む。
【0032】
ステップ602において、主制御対象の本体アニメーションブループリントから、主制御対象のオリジナル骨格モデルを抽出し、主制御対象は、一人称視点で仮想環境を観察する対象であり、本体アニメーションブループリントは、仮想環境における主制御対象の本体モデルを生成するために用いられ、オリジナル骨格モデルは、主制御対象の骨格変形されていないモデルである。
【0033】
主制御対象は、仮想人物、仮想動物、アニメキャラクタのうちの少なくとも1つであり得る。本願はこれらに特に限定されない。例示的に、ユーザは、FPSゲームで主制御対象を操作し、ユーザは、一人称視点で主制御対象を制御する。
【0034】
任意選択的に、本体アニメーションブループリントは、骨格変形処理を含み、骨格変形処理は、主制御対象がモデル貫通することを避けるために、主制御対象の骨格を修正するために用いられる。例示的に、主制御対象の骨格モデルが骨格変形されると、主制御対象の頭部骨格はスケーリングされ、このときのモデルは、主制御対象の投影を生成するのに適していないため、骨格変形されていないモデルをオリジナル骨格モデルとして使用する。
【0035】
任意選択的に、本体アニメーションブループリントは、
図2に示す実施例に示されるステップを含む。
【0036】
本体アニメーションブループリントは、仮想環境における主制御対象の本体モデルを生成するプロセスである(又は、本体アニメーションブループリントは、仮想環境における主制御対象の本体を生成するプロセスとも呼ばれる)。本体アニメーションブループリントによって、主制御対象の本体を得ることができる。主制御対象の本体とは、仮想環境における主制御対象を指す。
【0037】
ステップ604において、オリジナル骨格モデルに基づいて投影モデルを得、投影モデルは、仮想環境における主制御対象の投影を生成するためのモデルである。
【0038】
一実施例では、オリジナル骨格モデルを投影モデルとして直接使用する。説明すべきこととして、主制御対象の投影精度の要求は高くない場合が多いため、端末性能をより重視する場合には、オリジナル骨格モデルを投影モデルとして直接使用することができる。
【0039】
一実施例では、主制御対象の現在状態に基づいて、オリジナル骨格モデルの姿勢を調整して、投影モデルを得る。説明すべきこととして、主制御対象の投影精度をさらに求める場合、主制御対象の現在状態に基づいて、オリジナル骨格モデルをさらに調整することができる。
【0040】
任意選択的に、現在状態は、攻撃、スキル解放、アイテム購入、治療、姿勢調整、腹ばい、ウォーキング、騎行、飛行、ジャンプ、運転、取り上げ、射撃、投げ付け、走り、静止などのうちの少なくとも1つを含むが、これらに限定されない。例示的に、主制御対象がウォーキング状態にある場合、オリジナル骨格モデルの姿勢をウォーキング姿勢に調整する。
【0041】
任意選択的に、主制御対象の状態が変化した場合、変化後の状態に基づいて、オリジナル骨格モデルの姿勢を調整して、投影モデルを得る。例示的に、主制御対象が静止状態から走り状態に変化すると、主制御対象を静止姿勢から走り姿勢に変化させる。
【0042】
任意選択的に、周期的な変化に基づいてオリジナル骨格モデルの姿勢を調整する。例えば、主制御対象がウォーキング状態で交互に両足を動かす場合、両足の周期的な交互移動に基づいて、オリジナル骨格モデルの姿勢を変更する。
【0043】
例示的に、主制御対象の現在状態に基づいて、逆動力学を採用して、オリジナル骨格モデルの姿勢を調整して、投影モデルを得る。
【0044】
説明すべきこととして、投影の性質によって、主制御対象の投影そのものは精度が低いため、オリジナル骨格モデルの姿勢調整操作をキャンセルでき、姿勢調整操作は、主制御対象の投影の精度を向上させるために用いられる。例えば、主制御対象が小さな角度で向きを変える時に、足どりのロジック調整が発生し得、足どりのロジック調整は、表現の繊細さを高めるために用いられるが、主制御対象の投影の精度が低いため、足どりのロジック調整を行っても反映できないため、足どりのロジック調整をキャンセルして、コンピュータ機器の計算量を減らすことができる。
【0045】
したがって、いくつかの実際のシーンでは、オリジナル骨格モデルに対する姿勢調整のステップを減らすことができ、例えば、上記の足どりのロジック調整をキャンセルするか、又は、手部の詳細調整をキャンセルする。
【0046】
ステップ606において、投影モデルをレンダリングして、主制御対象の投影を得る。
【0047】
任意選択的に、主制御対象の投影は、仮想環境の逆光側における主制御対象本体の投影である。例示的に、主制御対象の投影は、仮想環境における地面への投影であり、又は、主制御対象の投影は、仮想環境における壁への投影であり、又は、主制御対象の投影は、仮想環境における天井への投影である。
【0048】
任意選択的に、主制御対象の投影とは、反射面上の画像を指すこともできる。例えば、主制御対象の投影とは、鏡面上の主制御対象の画像を指し、別の例では、主制御対象の投影とは、水面上の主制御対象の画像を指す。
【0049】
例示的に、
図7に示すように、
図7は、主制御対象が仮想銃器を持っている時の、主制御対象の地面への投影701を示す。例示的に、
図8に示すように、
図8は、主制御対象が仮想銃器を切り替える時の、主制御対象の地面への投影801を示す。
図7及び
図8から明らかなように、主制御対象の投影701及び投影801は、実際の状況に合致するものであり、主制御対象の投影を良好に再現することができる。
【0050】
一具体的な実施形態では、本願の実施例による方法を採用して主制御対象の投影を取得する場合、CPU上で0.033msしか消費されないのに対し、関連技術を採用して主制御対象の投影を取得する場合には、CPU上で4.133msが消費される。明らかに、本願の実施例の方法は、コンピュータ機器の計算時間を効果的に短縮し、効率を向上させることができる。
【0051】
上記に記載されたように、本願の実施例では、主制御対象の投影を生成する時に、本体アニメーションブループリントからオリジナル骨格モデルを抽出するだけで、オリジナル骨格モデルに基づいて、主制御対象の投影を得ることができる。この方法は、別セットのアニメーションブループリントを余分に用意する必要がなく、主制御対象の投影を得ることができ、主制御対象の投影を取得するプロセスを簡略化し、多くの計算量を要しなくても主制御対象の投影を得ることができ、コンピュータ機器の計算負荷を軽減し、コンピュータ機器のコンピューティング能力が弱くても、主制御対象の投影を遂行することができる。
【0052】
図9は、本願の1つの例示的な実施例による主制御対象の投影生成方法のフローチャートである。この方法は、
図1に示す端末120によって実行され得、以下のステップを含む。
【0053】
ステップ901において、本体アニメーションブループリントの第1骨格変形処理の前に、本体アニメーションブループリントからオリジナル骨格モデルを抽出する。
【0054】
第1骨格変形処理は、主制御対象のカメラモデルとオリジナル骨格モデルとの重複領域における骨格をスケーリングするために用いられる。主制御対象は、一人称視点で仮想環境を観察する対象であるため、一人称視点の効果を実現するためには、カメラを主制御対象の頭部に配置する必要がある。しかしながら、主制御対象の頭部にもモデルが存在するため、この場合にはモデル貫通が生じる。したがって、主制御対象のカメラモデルとオリジナル骨格モデルとの重複領域におけるオリジナル骨格モデルをスケーリングすることにより、カメラモデルとオリジナル骨格モデルとの間に重複領域が存在しないようにし、モデル貫通の発生を回避する。
【0055】
任意選択的に、プログラミングによって第1骨格変形処理を実現する。
【0056】
ステップ902において、主制御対象の現在状態に基づいて、オリジナル骨格モデルの姿勢を調整して、投影モデルを得る。
【0057】
例示的に、主制御対象の現在状態に基づいて、逆動力学を採用して、オリジナル骨格モデルの姿勢を調整して、投影モデルを得る。
【0058】
任意選択的に、主制御対象の状態が変化した場合、変化後の状態に基づいて、オリジナル骨格モデルの姿勢を調整して、投影モデルを得る。例示的に、主制御対象が静止状態から走り状態に変化すると、主制御対象を静止姿勢から走り姿勢に変化させる。
【0059】
任意選択的に、周期的な変化に基づいてオリジナル骨格モデルの姿勢を調整する。例えば、主制御対象がウォーキング状態で交互に両足を動かす場合、両足の周期的な交互移動に基づいて、オリジナル骨格モデルの姿勢を変更する。
【0060】
ステップ903において、投影モデルを一体化投影モデルに置き換える。
【0061】
任意選択的に、投影モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含む。例えば、少なくとも2つのコンポーネントモデルは、頭部モデル、胴体モデル、上肢モデル、下肢モデルのうちの少なくとも1つを含む。少なくとも2つのコンポーネントモデルを呼び出してレンダリングを行うたびに、1回の描画の呼び出しが発生するため、全体で複数回の描画を呼び出しが発生する。複数回の描画の呼び出しは、コンピュータ機器のグラフィックスプロセッサ(GPU:Graphics Processing Unit)に大きなレンダリング負荷を与える。例示的に、
図10に示すように、少なくとも2つのコンポーネントモデルが頭部モデル、胴体モデル、上肢モデル、及び下肢モデルを含む場合、少なくとも4つのレンダリングを呼び出す必要があり、これにより、GPUの負担が大幅に増加する。
【0062】
したがって、本願の実施例では、投影の特性によって、主制御対象の投影そのものは精度が高く求められていない。多少にずれがあっても投影そのものの精度に影響を与えない。したがって、本体モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含み、投影モデルを一体化投影モデルに置き換え、一体化投影モデルは、少なくとも2つのコンポーネントモデルを統合した後のローポリゴンモデルであり、一体化投影モデルのローポリ数は、投影モデルのローポリ数より小さい。一具体的な実現形態では、一体化投影モデルは、少なくとも2つのコンポーネントモデルを含まず、一体化投影モデルは、1つの完全なモデルで構成される。例示的に、
図11に示すように、
図11は、主制御対象の一体化投影モデル1101を示す。
【0063】
即ち、本体モデルをレンダリングする時に、少なくとも2つのコンポーネントモデルのレンダリングを実行する必要がある。しかしながら、主制御対象の投影をレンダリングする時に、一体化投影モデルのレンダリングのみ実行すれば良く、一体化モデルのローポリ数は、本体モデルのローポリ数より少ない。
【0064】
例示的に、
図12に示すように、投影モデルを一体化投影モデルに置き換えた後、レンダリングを1回だけ実行すれば、主制御対象の投影を得ることができ、GPUの負担を軽減する。
【0065】
主制御対象が仮想アイテムを持っている場合あり、同様に、GPUのレンダリング負荷を軽減するために、主制御対象が持っている仮想アイテムのモデルを一体化アイテムモデルに置き換えることができる。例示的に、主制御対象が仮想銃器を持っている場合、仮想銃器は少なくとも2つのアイテムコンポーネントモデル(例えば、ストックモデル、サイレンサーモデル、グリップモデルなど)も含み、銃器投影のレンダリングを容易にするためには、仮想銃器のモデルを一体化銃器モデルに置き換える必要があり、
図13に示すように、少なくとも2つのアイテムコンポーネントモデルを含む銃器モデルを一体化銃器モデル1301に置き換える。
【0066】
ステップ904において、一体化投影モデルをレンダリングして、主制御対象の投影を得る。
【0067】
任意選択的に、主制御対象の投影は、仮想環境の逆光側における投影である。例示的に、主制御対象の投影は、仮想環境における地面への投影であり、又は、主制御対象の投影は、仮想環境における壁への投影であり、又は、主制御対象の投影は、仮想環境における天井への投影である。
【0068】
任意選択的に、主制御対象の投影とは、反射面上の画像を指すこともできる。例えば、主制御対象の投影とは、鏡面上の主制御対象の画像を指し、別の例では、主制御対象の投影とは、水面上の主制御対象の画像を指す。
【0069】
上記に記載されたように、本願の実施例では、主制御対象の投影を生成する時に、第1骨格変形処理の前にアニメーションブループリントからオリジナル骨格モデルを抽出して、主制御対象の投影を得、生成された投影に頭部が存在することを保証する。2つの異なるアニメーションブループリントを使用して主制御対象の本体と投影を同時に取得する関連技術に比べて、この方法は、別のアニメーションブループリントを余分に用意する必要がなく、主制御対象の投影を得ることができ、主制御対象の投影を取得するプロセスを簡略化し、多くの計算量を要しなくても主制御対象の投影を得ることができ、コンピュータ機器の計算負荷を軽減する。
【0070】
また、投影モデルを一体化投影モデルに置き換えることにより、コンピュータ機器がレンダリングを実行する回数を減らし、GPUの動作負荷を軽減することができる。
【0071】
図14は、本願の1つの例示的な実施例による主制御対象の投影生成方法のフローチャートである。この方法は、
図1に示す端末120によって実行され得、以下のステップを含む。
【0072】
ステップ1401において、本体アニメーションブループリントの第2骨格変形処理の前に、本体アニメーションブループリントからオリジナル骨格モデルを抽出する。
【0073】
第2骨格変形処理は、主制御対象が目標現在状態にある時に、オリジナル骨格モデルをひねり回すために用いられる。具体的な例では、主制御対象の左側/右側の体が前に傾く時に、主制御対象の骨格モデルを過度にひねり回し、これは、主制御対象が障害物から身を乗り出すことができ、しかも、身を乗り出してから仮想環境の他の対象を観察することができるようにするためであり、したがって、第2骨格変形処理を行う必要がある。しかしながら、第2骨格変形処理の後に骨格モデルを抽出する場合、骨格モデルが過度にひねり回されているため、最終的に得られる投影も過度にひねり回されている状態になり、
図4に示すように、主制御対象の投影401は過度にひねり回されている状態になっているが、このように過度にひねり回されている状態は、正常な人間では実現できない。したがって、本願では、本体アニメーションブループリントの第2骨格変形処理の前に、本体アニメーションブループリントからオリジナル骨格モデルを抽出する必要がある。
【0074】
ステップ1402において、主制御対象の現在状態に基づいて、オリジナル骨格モデルの姿勢を調整して、投影モデルを得る。
【0075】
例示的に、主制御対象の現在状態に基づいて、逆動力学を採用して、オリジナル骨格モデルの姿勢を調整して、投影モデルを得る。
【0076】
任意選択的に、主制御対象の状態が変化した場合、変化後の状態に基づいて、オリジナル骨格モデルの姿勢を調整して、投影モデルを得る。例示的に、主制御対象が静止状態から走り状態に変化すると、主制御対象を静止姿勢から走り姿勢に変化させる。
【0077】
任意選択的に、周期的な変化に基づいてオリジナル骨格モデルの姿勢を調整する。例えば、主制御対象がウォーキング状態で交互に両足を動かす場合、両足の周期的な交互移動に基づいて、オリジナル骨格モデルの姿勢を変更する。
【0078】
ステップ1403において、投影モデルを一体化投影モデルに置き換える。
【0079】
任意選択的に、投影モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含む。例えば、少なくとも2つのコンポーネントモデルは、頭部モデル、胴体モデル、上肢モデル、下肢モデルのうちの少なくとも1つを含む。
【0080】
本体モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含む。一体化投影モデルは、少なくとも2つのコンポーネントモデルを統合した後のローポリゴンモデルであり、一体化投影モデルのローポリ数は、投影モデルのローポリ数より小さい。一具体的な実現形態では、一体化投影モデルは、少なくとも2つのコンポーネントモデルを含まず、一体化投影モデルは、1つの完全なモデルで構成される。例示的に、
図11に示すように、
図11は、主制御対象の一体化投影モデル1101を示す。
【0081】
主制御対象が仮想アイテムを持っている場合あり、同様に、GPUのレンダリング負荷を軽減するために、主制御対象が持っている仮想アイテムのモデルを一体化アイテムモデルに置き換えることができる。例示的に、主制御対象が仮想銃器を持っている場合、仮想銃器は少なくとも2つのアイテムコンポーネントモデルも含み、銃器投影のレンダリングを容易にするためには、仮想銃器のモデルを一体化銃器モデルに置き換える必要があり、
図13に示すように、少なくとも2つのアイテムコンポーネントモデルを含む銃器モデルを一体化銃器モデル1301に置き換える。
【0082】
ステップ1404において、一体化投影モデルをレンダリングして、主制御対象の投影を得る。
【0083】
任意選択的に、主制御対象の投影は、仮想環境の逆光側における投影である。例示的に、主制御対象の投影は、仮想環境における地面への投影であり、又は、主制御対象の投影は、仮想環境における壁への投影であり、又は、主制御対象の投影は、仮想環境における天井への投影である。
【0084】
任意選択的に、主制御対象の投影とは、反射面上の画像を指すこともできる。例えば、主制御対象の投影とは、鏡面上の主制御対象の画像を指し、別の例では、主制御対象の投影とは、水面上の主制御対象の画像を指す。
【0085】
上記に記載されたように、本願の実施例では、主制御対象の投影を生成する時に、第2骨格変形処理の前に、アニメーションブループリントからオリジナル骨格モデルを抽出して、主制御対象の投影を得、生成された投影の形状が正しいことを保証する。2つの異なるアニメーションブループリントを使用して主制御対象の本体と投影を同時に取得する関連技術に比べて、この方法は、別セットのアニメーションブループリントを余分に用意する必要がなく、主制御対象の投影を得ることができ、主制御対象の投影を取得するプロセスを簡略化し、多くの計算量を要しなくても主制御対象の投影を得ることができ、コンピュータ機器の計算負荷を軽減する。
【0086】
また、投影モデルを一体化投影モデルに置き換えることにより、コンピュータ機器がレンダリングを実行する回数を減らし、GPUの動作負荷を軽減することができる。
【0087】
次の実施例では、上記のステップ902又はステップ1402で言及されたオリジナル骨格モデルの姿勢を調整する方法について簡単に紹介する。本願の実施例は、逆動力学を例として説明し、説明すべきこととして、他の方法によってオリジナル骨格モデルの姿勢を調整することもでき、本願はこれを特に限定しない。
【0088】
図15は、本願の1つの例示的な実施例によるオリジナル骨格モデルの姿勢を調整する方法のフローチャートである。この方法は、
図1に示す端末120によって実行され得、
図15に示す方法は、オリジナル骨格モデルをさらに細かく調整するために用いられ、これにより、投影モデルの精度を向上させる。主制御対象がウォーキング状態にある場合を例にとると、主制御対象の本体モデルは、足と脚の協調連動を実現する必要があるのに対し、主制御対象の投影モデルは、精度要求が低い場合、足と脚を区別する必要がない。精度要求が高い場合、投影モデルは、足と脚を区別する必要があり、本願では、脚の動きは、足の動きに依存して決定されるものである。
図15に示す方法は、以下のステップを含む。
【0089】
ステップ1501において、主制御対象の現在状態に基づいて、子骨格の目標位置を決定する。
【0090】
オリジナル骨格モデルは、子骨格及び子骨格に対応する親骨格を含み、子骨格は、骨格チェーンの末端に位置する。主制御キャラクタを人型キャラクタとして例にとると、子骨格は、人型キャラクタの手であり得、親骨格は、人型キャラクタの腕になる。子骨格は、人型キャラクタの足であり得、親骨格は、人型キャラクタの脚になる。
【0091】
任意選択的に、現在状態は、攻撃、スキル解放、アイテム購入、治療、姿勢調整、腹ばい、ウォーキング、騎行、飛行、ジャンプ、運転、取り上げ、射撃、投げ付け、走り、静止などのうちの少なくとも1つを含むが、これらに限定されない。
【0092】
目標位置は、現在状態で子骨格が到達すべき位置である。例示的に、主制御対象がウォーキング状態にあり、子骨格が主制御対象の足を指し、主制御対象の足が持ち上げ状態にある場合、目標位置は、主制御対象の足の着地点である。例示的に、主制御対象が手すりを掴んで階段を歩き、子骨格が主制御対象の手であり、主制御対象の手が持ち上げ状態にある場合、目標位置は、主制御対象の手の着点である。
【0093】
ステップ1502において、目標位置に基づいて、子骨格の位置を決定する。
【0094】
例示的に、子骨格の位置を決定するステップは、以下のサブステップを含む。
【0095】
例示的に、主制御対象はウォーキング状態にあり、ウォーキング状態は、持ち上げ状態と降ろし状態とに簡単に分けられ、このときの持ち上げ状態を例にとると、ステップ1502は、降ろし状態での足(子骨格)の位置を決定するために用いられる。
【0096】
1、子骨骼の第1端点から子骨骼の末端までの第1ベクトルを決定する。
【0097】
子骨格の第1端点は、子骨格の末端から離れた子骨格上の端点である。例示的に、
図16に示すように、第1ベクトルは、子骨格1602の第1端点1603から子骨格の末端1605までのベクトルである。
【0098】
例示的に、子骨格は足であり、第1端点は足のかかとであり、子骨格の末端は足のつま先であり、サブステップ1によって、持ち上げ状態でかかとからつま先に向かう第1ベクトルが得られる。
【0099】
2、第1端点から目標位置までの第2ベクトルを決定する。
【0100】
例示的に、
図16に示すように、第2ベクトルは、第1端点1603から目標位置1604までのベクトルである。
【0101】
例示的に、第1端点は足のかかとであり、目標位置はつま先の目標着地位置であり、サブステップ2によって、持ち上げ状態でつま先から目標着地位置に向かう第2ベクトルが得られる。
【0102】
3、第1ベクトルと第2ベクトルとの夾角に基づいて、子骨格を回転させて、子骨格の位置を決定する。
【0103】
例示的に、
図16に示すように、第1ベクトルと第2ベクトルとの夾角に基づいて、夾角と同じ回転角度で子骨格1602を反時計回りに回転させて、子骨格1602の位置を得る。
【0104】
例示的に、第1ベクトルとは、持ち上げ状態でかかとからつま先に向かうベクトルを指し、第2ベクトルとは、持ち上げ状態でかかとから目標位置に向かうベクトルを指し、サブステップ3では、第1ベクトルと第2ベクトルとの夾角に基づいて、足(子骨格)を回転させて、回転された足を得、即ち、降ろし状態での足を得る。
【0105】
ステップ1503において、目標位置及び子骨格の位置に基づいて、親骨格の位置を決定する。
【0106】
例示的に、親骨格の位置を決定するステップは、以下のサブステップを含む。
【0107】
1、親骨格の第2端点から子骨格の末端までの第3ベクトルを決定する。
【0108】
親骨格の第2端点は、子骨格から離れた親骨格上の端点である。例示的に、
図17に示すように、第3ベクトルは、親骨格1601の第2端点1606から子骨格の末端の1605までのベクトルである。
【0109】
例示的に、親骨格はふくらはぎであり、第2端点は膝であり、子骨格の末端はつま先であり、サブステップ1では、持ち上げ状態で膝からつま先(回転前)に向かう第3ベクトルが得られる。
【0110】
2、第2端点から目標位置までの第4ベクトルを決定する。
【0111】
例示的に、
図17に示すように、第4ベクトルは、第2端点1606から目標位置1604までのベクトルである。
【0112】
例示的に、目標位置は、つま先の目標着地位置であり、第2端点は膝であり、サブステップ2では、膝から目標着地位置に向かう第4ベクトルが得られる。
【0113】
3、第3ベクトルと第4ベクトルとの夾角に基づいて、親骨格を回転させて、親骨格の位置を決定する。
【0114】
例示的に、
図17に示すように、第3ベクトルと第4ベクトルとの夾角に基づいて、夾角と同じ回転角度で親骨格1601を反時計回りに回転させて、親骨格1601の位置を得る。
【0115】
例示的に、第3ベクトルとは、持ち上げ状態で膝からつま先に向かうベクトルを指し、第4ベクトルとは、持ち上げ状態で膝から目標位置に向かうベクトルと指し、サブステップ3では、第3ベクトルと第4ベクトルとの夾角に基づいて、すね(親骨格)を回転させて、回転されたすねを得、即ち、降ろし状態でのすねを得る。
【0116】
ステップ1504において、子骨格及び親骨格の位置に基づいて、オリジナル骨格モデルの姿勢を調整して、投影モデルを得る。
【0117】
子骨格及び親骨格の位置が分かっている場合、子骨格及び親骨格の位置に基づいて、オリジナル骨格モデルを調整して、オリジナル骨格モデルの姿勢調整を遂行することができる。
【0118】
上記に記載されたように、本願の実施例は、オリジナル骨格モデル姿勢を調整する方法を提供し、この方法は、オリジナル骨格モデルの姿勢を調整することにより、主制御対象の動作と姿勢が現在状態に適合するようにし、オリジナル骨格モデルの姿勢が実際の状況により近くなるようにし、これにより、投影モデルによってより良く反映できる主制御対象の状態を得ることができる。
【0119】
一具体的な実施形態では、本体アニメーションブループリントの実現方法を提供し、
図18は、本願の1つの例示的な実施例による本体アニメーションブループリントの実現方法のフローチャートである。この方法は、
図1に示す端末120によって実行され得、以下のステップを含む。
【0120】
ステップ1801において、主制御対象の初期アニメーション姿勢を決定する。
【0121】
任意選択的に、主制御対象の現在状態に基づいて、初期アニメーション姿勢を決定する。
【0122】
任意選択的に、主制御対象の骨格モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含む。例えば、主制御対象の骨格モデルは、上半身モデル及び下半身モデルを含む。初期アニメーション姿勢を決定する時に、少なくとも2つのコンポーネントモデルのアニメーション姿勢を順次決定する必要がある。少なくとも2つのコンポーネントモデルのアニメーション姿勢を重ね合わせて、初期アニメーション姿勢を得る。例示的に、主制御対象が射撃しながら走る場合、主制御対象の上半身に射撃のアニメーション姿勢をマッチングさせる必要があり、主制御対象の下半身に走りのアニメーション姿勢をマッチングさせ、上半身と下半身のアニメーション姿勢とを重ね合わせて、主制御対象の初期アニメーション姿勢を得る。
【0123】
ステップ1802において、初期アニメーション姿勢を主制御対象の骨格モデルに代入して、オリジナル骨格モデルを得る。
【0124】
任意選択的に、初期アニメーション姿勢に基づいて、主制御対象の骨格モデルを調整して、オリジナル骨格モデルを得る。
【0125】
例示的に、
図19に示すように、本体アニメーションブループリント1901から抽出されたオリジナル骨格モデル1902は、姿勢調整された後、投影モデル1903を得ることができ、投影モデル1903は、仮想環境における主制御対象の投影を生成するために用いられる。
【0126】
ステップ1803において、オリジナル骨格モデルに対して骨格変形処理を行い、骨格変形後のオリジナル骨格モデルを得る。
【0127】
例示的に、オリジナル骨格モデルに対して第1骨格変形処理を行い、骨格変形後のオリジナル骨格モデルを得る。第1骨格変形処理は、主制御対象のカメラモデルとオリジナル骨格モデルとの重複領域における骨格をスケーリングするために用いられる。例えば、主制御対象の頭部領域の骨格をスケーリングする。
【0128】
例示的に、オリジナル骨格モデルに対して第2骨格変形処理を行い、骨格変形後のオリジナル骨格モデルを得る。第2骨格変形処理は、主制御対象が目標現在状態にある時に、オリジナル骨格モデルをひねり回すために用いられる。例えば、主制御対象の左側/右側の体が前に傾く時に、主制御対象の骨格モデルを過度にひねり回す。
【0129】
ステップ1804において、現在状態に基づいて、骨格変形後のオリジナル骨格モデルの姿勢を調整して、主制御対象の本体モデルを得る。
【0130】
任意選択的に、現在状態に基づいて、逆動力学を採用して骨格変形後のオリジナル骨格モデルの姿勢を調整して、主制御対象の本体モデルを得る。
【0131】
説明すべきこととして、逆運動(IK:Inverse Kinematics)及びエイムオフセット(AO:Aim Offset)は、いずれも骨格変形処理に時系列的に依存している。例えば、IK操作の一部は骨格変形処理の後に行う必要があり、IK操作の別の一部は骨格変形処理の前に行う必要があり、IK操作の一部を骨格変形処理の前に行ってもよいし、骨格変形の前に行ってもよい。ここで、IKとAOは、骨格変形処理の具体的なプロジェクトに依存する。
【0132】
ステップ1805において、本体モデルをレンダリングして、主制御対象の本体を得る。
【0133】
任意選択的に、本体モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含む。例えば、本体モデルは、頭部モデル、胴体モデル、上肢モデル、及び下肢モデルを含む。本体モデルをレンダリングする時に、少なくとも2つのコンポーネントモデルをそれぞれレンダリングする必要があり、少なくとも2つのコンポーネントモデルのレンダリング結果が得られる。少なくとも2つのコンポーネントモデルのレンダリング結果を合成して、主制御対象の本体を得る。例示的に、頭部モデル、胴体モデル、上肢モデル、及び下肢モデルをそれぞれレンダリングして、頭部モデル、胴体モデル、上肢モデル、及び下肢モデルに対応するレンダリング結果を得、この4つのレンダリング結果を合成して、主制御対象の本体を得る。
【0134】
上記に記載されたように、本実施例は、主制御対象の本体を得ることができる、本体アニメーションブループリントのための方法を提供する。また、本体アニメーションブループリントにおけるオリジナル骨格モデルは、主制御対象の投影を取得するために用いられ得る。
【0135】
本願の実施例では、本体アニメーションブループリントにおける骨格変形処理後のステップは、できるだけ骨格変形処理の前に実行する。一具体的な実施形態では、別の本体アニメーションブループリントの実現方法を提供する。具体的な実施では、主制御対象の本体に影響を与えることなく、骨格変形処理後のステップを、骨格変形前に移して処理してもよい。例えば、
図18に示す実施例では、ステップ1804に対応する操作を、ステップ1803の前に移して行う。
【0136】
図20は、本願の1つの例示的な実施例による本体アニメーションブループリントの実現方法のフローチャートである。この方法は、
図1に示す端末120によって実行され得、以下のステップを含む。
【0137】
ステップ2001において、主制御対象の初期アニメーション姿勢を決定する。
【0138】
任意選択的に、主制御対象の現在状態に基づいて、初期アニメーション姿勢を決定する。
【0139】
任意選択的に、主制御対象の骨格モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含む。例えば、主制御対象の骨格モデルは、上半身モデル及び下半身モデルを含む。初期アニメーション姿勢を決定する時に、少なくとも2つのコンポーネントモデルのアニメーション姿勢を順次決定する必要がある。少なくとも2つのコンポーネントモデルのアニメーション姿勢を重ね合わせて、初期アニメーション姿勢を得る。例示的に、主制御対象が射撃しながら走る場合、主制御対象の上半身に射撃のアニメーション姿勢をマッチングさせる必要があり、主制御対象の下半身に走りのアニメーション姿勢をマッチングさせ、上半身と下半身のアニメーション姿勢とを重ね合わせて、主制御対象の初期アニメーション姿勢を得る。
【0140】
ステップ2002において、初期アニメーション姿勢を主制御対象の骨格モデルに代入して、骨格姿勢モデルを得る。
【0141】
任意選択的に、初期アニメーション姿勢に基づいて、主制御対象の骨格を調整して、骨格姿勢モデルを得る。
【0142】
ステップ2003において、現在状態に基づいて、骨格姿勢モデルの姿勢を調整して、オリジナル骨格モデルを得る。
【0143】
任意選択的に、現在状態に基づいて、逆動力学を採用して骨格姿勢モデルの姿勢を調整して、オリジナル骨格モデルを得る。
【0144】
例示的に、
図21に示すように、本体アニメーションブループリント2101から抽出されたオリジナル骨格モデル2102は、姿勢調整済みであり、即ち、オリジナル骨格モデル2102を投影モデル2103として直接使用でき、投影モデル2103は、仮想環境における主制御対象の投影を生成するために用いられる。
【0145】
ステップ2004において、オリジナル骨格モデルに対して骨格変形処理を行い、骨格変形後のオリジナル骨格モデルを得る。
【0146】
例示的に、オリジナル骨格モデルに対して第1骨格変形処理を行い、骨格変形後のオリジナル骨格モデルを得る。第1骨格変形処理は、主制御対象のカメラモデルとオリジナル骨格モデルとの重複領域における骨格をスケーリングするために用いられる。例えば、主制御対象の頭部領域の骨格をスケーリングする。
【0147】
例示的に、オリジナル骨格モデルに対して第2骨格変形処理を行い、骨格変形後のオリジナル骨格モデルを得る。第2骨格変形処理は、主制御対象が目標現在状態にある時に、オリジナル骨格モデルをひねり回すために用いられる。例えば、主制御対象の左側/右側の体が前に傾く時に、主制御対象の骨格モデルを過度にひねり回す。
【0148】
ステップ2005において、本体モデルをレンダリングして、主制御対象の本体を得る。
【0149】
任意選択的に、本体モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含む。例えば、本体モデルは、頭部モデル、胴体モデル、上肢モデル、及び下肢モデルを含む。本体モデルをレンダリングする時に、少なくとも2つのコンポーネントモデルをそれぞれレンダリングする必要があり、少なくとも2つのコンポーネントモデルのレンダリング結果を得る。少なくとも2つのコンポーネントモデルのレンダリング結果を合成して、主制御対象の本体を得る。例示的に、頭部モデル、胴体モデル、上肢モデル、及び下肢モデルをそれぞれレンダリングして、頭部モデル、胴体モデル、上肢モデル、及び下肢モデルに対応するレンダリング結果を得、この4つのレンダリング結果を合成して、主制御対象の本体を得る。
【0150】
説明すべきこととして、本願の実施例では、骨格変形処理後の操作を、骨格変形処理の前に移して行っているが、それは、骨格変形処理後の操作を骨格変形処理の前に移した後、主制御対象の本体及び/又は投影に影響を与えないことを前提としている。ここで、移動可能な骨格変形処理後の操作は、実際の要件によって決定される。例示的に、実際の要件Aでは、姿勢調整の操作を骨格変形処理の前に移して処理することができるが、実際の要件Bでは、姿勢調整の操作を骨格変形処理の前に移して処理することができない。本願は、骨格変形処理の前に移すことができる操作については特に限定しない。
【0151】
上記に記載されたように、本実施例は、主制御対象の本体を得ることができる、本体アニメーションブループリントの方法を提供する。また、本体アニメーションブループリントにおけるオリジナル骨格モデルは、主制御対象の投影を取得するために用いられ得る。
【0152】
具体的な例では、射撃ゲームに適用される場合を例として説明する。
【0153】
図22は、本願の1つの例示的な実施例による主制御対象の投影生成方法のフローチャートである。この方法は、
図1に示す端末120によって実行され得、以下のステップを含む。
【0154】
ステップ2201において、主制御ゲーム対象の本体アニメーションブループリントから主制御ゲーム対象のオリジナル骨格モデルを抽出する。
【0155】
主制御ゲーム対象は、仮想人物、仮想動物、アニメキャラクタのうちの少なくとも1つである。本願はこれらに特に限定されない。
【0156】
オリジナル骨格モデルは、主制御ゲーム対象の骨格変形されていないモデルである。
【0157】
本体アニメーションブループリントは、仮想環境における主制御対象の本体を生成するプロセスである。本体アニメーションブループリントによって、主制御対象の本体を得ることができる。主制御対象の本体とは、仮想環境における主制御対象を指す。
【0158】
一代替実施例では、本体アニメーションブループリントは、骨格変形処理を含む。本体アニメーションブループリントの骨格変形処理の前に、本体アニメーションブループリントからオリジナル骨格モデルを抽出する。
【0159】
一代替実施例では、骨格変形処理は、第1骨格変形処理を含み、第1骨格変形処理は、主制御対象のカメラモデルとオリジナル骨格モデルとの重複領域における骨格をスケーリングするために用いられ、本体アニメーションブループリントの第1骨格変形処理の前に、本体アニメーションブループリントからオリジナル骨格モデルを抽出する。
【0160】
一代替実施例では、骨格変形処理は、第2骨格変形処理を含み、第2骨格変形処理は、主制御対象が目標現在状態にある時に、オリジナル骨格モデルをひねり回すために用いられ、本体アニメーションブループリントの第2骨格変形処理の前に、本体アニメーションブループリントからオリジナル骨格モデルを抽出する。
【0161】
ステップ2202において、オリジナル骨格モデルをレンダリングして、主制御ゲーム対象の投影を得る。
【0162】
任意選択的に、主制御ゲーム対象の投影は、仮想環境の逆光側における投影である。例示的に、主制御ゲーム対象の投影は、仮想環境における地面への投影であり、又は、主制御ゲーム対象の投影は、仮想環境における壁への投影であり、又は、主制御ゲーム対象の投影は、仮想環境における天井への投影である。
【0163】
任意選択的に、主制御ゲーム対象の投影とは、反射面上の画像を指すこともできる。例えば、主制御ゲーム対象の投影とは、鏡面上の主制御ゲーム対象の画像を指し、別の例では、主制御ゲーム対象の投影とは、水面上の主制御ゲーム対象の画像を指す。
【0164】
任意選択的に、オリジナルモデルをレンダリングする前に、逆動力学によってオリジナル骨格モデルの姿勢を調整して、姿勢調整後の骨格モデルを得る。姿勢調整後の骨格モデルをレンダリングして、主制御ゲーム対象の投影を得る。任意選択的に、オリジナルモデルをレンダリングする前に、主制御ゲーム対象の現在状態に基づいて、オリジナル骨格モデルの姿勢を調整して、投影モデルを得る。姿勢調整後の骨格モデルをレンダリングして、主制御ゲーム対象の投影を得る。
【0165】
一代替実施例では、オリジナル骨格モデルは、子骨格及び子骨格に対応する親骨格を含み、子骨格は、骨格チェーンの末端に位置し、主制御ゲーム対象の現在状態に基づいて、子骨格の目標位置を決定し、目標位置に基づいて、子骨格の位置を決定し、目標位置及び子骨格の位置に基づいて、親骨格の位置を決定し、子骨格及び親骨格の位置に基づいて、オリジナル骨格モデルの姿勢を調整して、投影モデルを得る。
【0166】
一代替実施例では、子骨骼の第1端点から子骨骼の末端までの第1ベクトルを決定し、子骨格の第1端点は、子骨格の末端から離れた子骨格上の端点であり、第1端点から目標位置までの第2ベクトルを決定し、第1ベクトルと第2ベクトルとの夾角に基づいて、子骨格を回転させて、子骨格の位置を決定する。
【0167】
一代替実施例では、親骨格の第2端点から子骨格の末端までの第3ベクトルを決定し、親骨格の第2端点は、子骨格から離れた親骨格上の端点であり、第2端点から目標位置までの第4ベクトルを決定し、第3ベクトルと第4ベクトルとの夾角に基づいて、親骨格を回転させて、親骨格の位置を決定する。
【0168】
一代替実施例では、本体モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含み、投影モデルを一体化投影モデルに置き換えるステップであって、一体化投影モデルは、少なくとも2つのコンポーネントモデルを統合した後のローポリゴンモデルであり、一体化投影モデルのローポリ数は、投影モデルのローポリ数より小さく、一体化投影モデルをレンダリングして、主制御ゲーム対象の投影を得る。
【0169】
一代替実施例では、本体アニメーションブループリントは、以下のステップを含む。
【0170】
1、主制御ゲーム対象の初期アニメーション姿勢を決定する。
【0171】
2、初期アニメーション姿勢を主制御ゲーム対象の骨格モデルに代入して、オリジナル骨格モデルを得る。
【0172】
3、オリジナル骨格モデルに対して骨格変形処理を行い、骨格変形後のオリジナル骨格モデルを得る。
【0173】
4、現在状態に基づいて、骨格変形後のオリジナル骨格モデルの姿勢を調整して、主制御ゲーム対象の本体モデルを得、本体モデルは、主制御ゲーム対象の本体を生成するためのモデルである。
【0174】
5、本体モデルをレンダリングして、主制御ゲーム対象の本体を得る。
【0175】
一代替実施例では、主制御ゲーム対象の骨格モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含み、主制御ゲーム対象の初期アニメーション姿勢を決定するステップは、少なくとも2つのコンポーネントモデルのアニメーション姿勢を順次決定するステップと、少なくとも2つのコンポーネントモデルのアニメーション姿勢を重ね合わせて、初期アニメーション姿勢を得るステップと、を含む。
【0176】
一代替実施例では、本体モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含み、本体モデルをレンダリングして、主制御ゲーム対象の本体を得るステップは、少なくとも2つのコンポーネントモデルをそれぞれレンダリングして、少なくとも2つのコンポーネントモデルのレンダリング結果を得るステップと、少なくとも2つのコンポーネントモデルのレンダリング結果を合成して、主制御ゲーム対象の本体を得るステップと、を含む。
【0177】
上記に記載されたように、本願の実施例では、主制御ゲーム対象の投影を生成する時に、本体アニメーションブループリントからオリジナル骨格モデルを抽出するだけで、オリジナル骨格モデルに基づいて、主制御対象の投影を得ることができる。この方法は、別セットのアニメーションブループリントを余分に用意する必要がなく、主制御対象の投影を得ることができ、主制御対象の投影を取得するプロセスを簡略化し、多くの計算量を要しなくても主制御対象の投影を得ることができ、コンピュータ機器の計算負荷を軽減し、コンピュータ機器のコンピューティング能力が弱くても、主制御対象の投影を遂行することができる。
【0178】
以下は、本願の装置実施例であり、本願の方法実施例に使用され得る。本願の装置実施例で開示されていない詳細については、本願の方法実施例を参照できる。
【0179】
図23を参照すると、
図23は、本願の1つの実施例による主制御対象の投影生成装置のブロック図である。前記機能は、ハードウェアによって実現されてもよいし、対応するソフトウェアを実行するハードウェアによって実現されてもよい。前記装置2300は、抽出モジュール2301と、調整モジュール2302と、レンダリングモジュール2303と、を備える。
【0180】
抽出モジュール2301は、主制御対象の本体アニメーションブループリントから、主制御対象のオリジナル骨格モデルを抽出するように構成され、主制御対象は、一人称視点で仮想環境を観察する対象であり、本体アニメーションブループリントは、仮想環境における主制御対象の本体モデルを生成するために用いられ、オリジナル骨格モデルは、主制御対象の骨格変形されていないモデルである。
【0181】
調整モジュール2302は、オリジナル骨格モデルに基づいて投影モデルを取得するように構成され、投影モデルは、仮想環境における主制御対象の投影を生成するためのモデルである。
【0182】
レンダリングモジュール2303は、投影モデルをレンダリングして、主制御対象の投影を得るように構成される。
【0183】
本願の一代替設計では、本体アニメーションブループリントは、骨格変形処理を含み、抽出モジュール2301はさらに、本体アニメーションブループリントの骨格変形処理の前に、本体アニメーションブループリントからオリジナル骨格モデルを抽出するように構成される。
【0184】
本願の一代替設計では、骨格変形処理は、第1骨格変形処理を含み、第1骨格変形処理は、主制御対象のカメラモデルとオリジナル骨格モデルとの重複領域における骨格をスケーリングするために用いられる。抽出モジュール2301はさらに、本体アニメーションブループリントの第1骨格変形処理の前に、本体アニメーションブループリントからオリジナル骨格モデルを抽出するように構成される。
【0185】
本願の一代替設計では、骨格変形処理は、第2骨格変形処理を含み、第2骨格変形処理は、主制御対象が目標現在状態にある時に、オリジナル骨格モデルをひねり回すために用いられ、抽出モジュール2301はさらに、本体アニメーションブループリントの第2骨格変形処理の前に、本体アニメーションブループリントからオリジナル骨格モデルを抽出するように構成される。
【0186】
本願の一代替設計では、調整モジュール2302は、オリジナル骨格モデルを投影モデルとして決定する要に構成される。
【0187】
本願の一代替設計では、調整モジュール2302は、主制御対象の現在状態に基づいて、オリジナル骨格モデルの姿勢を調整して、投影モデルを得るように構成される。
【0188】
本願の一代替設計では、オリジナル骨格モデルは、子骨格及び子骨格に対応する親骨格を含み、子骨格は、骨格チェーンの末端に位置し、調整モジュール2302はさらに、主制御対象の現在状態に基づいて、子骨格の目標位置を決定し、目標位置に基づいて、子骨格の位置を決定し、目標位置及び子骨格の位置に基づいて、親骨格の位置を決定し、子骨格及び親骨格の位置に基づいて、オリジナル骨格モデルの姿勢を調整して、投影モデルを得るように構成される。
【0189】
本願の一代替設計では、調整モジュール2302はさらに、子骨骼の第1端点から子骨骼の末端までの第1ベクトルを決定するステップであって、子骨格の第1端点は、子骨格の末端から離れた子骨格上の端点である、ステップと、第1端点から目標位置までの第2ベクトルを決定するステップと、第1ベクトルと第2ベクトルとの夾角に基づいて、子骨格を回転させて、子骨格の位置を決定するステップと、を実行するように構成される。
【0190】
本願の一代替設計では、調整モジュール2302はさらに、親骨格の第2端点から子骨格の末端までの第3ベクトルを決定するステップであって、親骨格の第2端点は、子骨格から離れた親骨格上の端点である、ステップと、第2端点から目標位置までの第4ベクトルを決定するステップと、第3ベクトルと第4ベクトルとの夾角に基づいて、親骨格を回転させて、親骨格の位置を決定するステップと、を実行するように構成される。
【0191】
本願の一代替設計では、本体モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含み、レンダリングモジュール2303はさらに、投影モデルを一体化投影モデルに置き換えるステップであって、一体化投影モデルは、少なくとも2つのコンポーネントモデルを統合した後のローポリゴンモデルであり、一体化投影モデルのローポリ数は、投影モデルのローポリ数より小さい、ステップと、一体化投影モデルをレンダリングして、主制御対象の投影を得るステップと、を実行するように構成される。
【0192】
本願の一代替設計では、前期装置は、製作モジュール2304をさらに備える。
【0193】
製作モジュール2304は、主制御対象の初期アニメーション姿勢を決定するステップと、初期アニメーション姿勢を主制御対象の骨格モデルに代入して、オリジナル骨格モデルを得るステップと、オリジナル骨格モデルに対して骨格変形処理を行い、骨格変形後のオリジナル骨格モデルを得るステップと、現在状態に基づいて、骨格変形後のオリジナル骨格モデルの姿勢を調整して、主制御対象の本体モデルを得るステップであって、本体モデルは、主制御対象の本体を生成するためのモデルである、ステップと、本体モデルをレンダリングして、主制御対象の本体を得るステップと、を実行するように構成される。
【0194】
本願の一代替設計では、主制御対象の骨格モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含み、製作モジュール2304はさらに、少なくとも2つのコンポーネントモデルのアニメーション姿勢を順次決定し、少なくとも2つのコンポーネントモデルのアニメーション姿勢を重ね合わせて、初期アニメーション姿勢を得るように構成される。
【0195】
本願の一代替設計では、本体モデルは、少なくとも2つのコンポーネントモデルを含み、少なくとも2つのコンポーネントモデルは、主制御対象の異なる部位のモデルを含み、製作モジュール2304はさらに、少なくとも2つのコンポーネントモデルをそれぞれレンダリングして、少なくとも2つのコンポーネントモデルのレンダリング結果を得、少なくとも2つのコンポーネントモデルのレンダリング結果を合成して、主制御対象の本体を得るように構成される。
【0196】
上記に記載されたように、本実施例では、主制御対象の投影を生成する時に、本体アニメーションブループリントからオリジナル骨格モデルを抽出し、オリジナル骨格モデルに基づいて、主制御対象の投影を得る。この方法は、別セットのアニメーションブループリントを余分に用意する必要がなく、主制御対象の投影を得ることができ、主制御対象の投影を取得するプロセスを簡略化し、多くの計算量を要しなくても主制御対象の投影を得ることができ、コンピュータ機器の計算負荷を軽減する。
【0197】
図24は、一例示的な実施例によって示されるコンピュータ機器の概略構造図である。前記コンピュータ機器2400は、中央処理装置(CPU:Central Processing Unit)2401と、ランダムアクセスメモリ(RAM:Random Access Memory)2402及び読み取り専用メモリ(ROM:Read-Only Memory)2403を含むシステムメモリ2404と、システムメモリ2404と中央処理装置2401とを接続するシステムバス2405とを含む。前記コンピュータ機器2400は、コンピュータ機器内の各デバイス間の情報の伝送を支援する基本入力/出力システム(I/Oシステム:Input/Output)2406と、オペレーティングシステム2413、アプリケーション2414、及びその他のプログラムモジュール2415を記憶する大容量記憶装置2407と、をさらに含む。
【0198】
前記基本入力/出力システム2406は、情報を表示するディスプレイ2408と、ユーザが情報を入力するためのマウス、キーボードなどの入力機器2409とを含む。ここで、前記ディスプレイ2408及び入力機器2409は、いずれもシステムバス2405に接続された入出力コントローラ2410を介して中央処理装置2401に接続される。前記基本入力/出力システム2406は、キーボード、マウス、又は電子スタイラスなどの複数の他のデバイスからの入力を受信して処理するための入出力コントローラ2410をさらに含み得る。同様に、入出力コントローラ2410は、ディスプレイ、プリンタ、又は他のタイプの出力デバイスに出力を提供する。
【0199】
前記大容量記憶装置2407は、システムバス2405に接続された大容量記憶コントローラ(図示せず)を介して中央処理装置2401に接続される。前記大容量記憶装置2407及びそれに関連するコンピュータ機器可読媒体は、コンピュータ機器2400に不揮発性記憶を提供する。つまり、前記大容量記憶装置2407は、ハードディスク又は読み取り専用コンパクトディスク(CD-ROM:Compact Disc Read-Only Memory)ドライブなどのコンピュータ可読媒体(図示せず)を含み得る。
【0200】
汎用性を失うことなく、前記コンピュータ機器可読媒体は、コンピュータ機器記憶媒体及び通信媒体を含み得る。コンピュータ機器記憶媒体は、コンピュータ機器可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報を記憶するための任意の方法又は技術的実装の揮発性及び不揮発性、リムーバブル及び非リムーバブル媒体を含む。コンピュータ機器記憶媒体は、RAM、ROM、消去可能なプログラマブル読み取り専用メモリ(EPROM:Erasable Programmable Read Only Memory)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM:Electrically Erasable Programmable Read-Only Memory)、CD-ROM、デジタルビデオディスク(DVD:Digital Video Disc)、又はその他の光ストレージ、テープカートリッジ、テープ、ディスクストレージ、又はその他の磁気ストレージデバイスを含む。もちろん、当業者であれば、前期コンピュータ機器は、上記したものに限定されるものではないことが分かる。上記のシステムメモリ2404及び大容量記憶装置2407を総称してメモリと呼ぶことができる。
【0201】
本開示の様々な実施例によれば、前記コンピュータ機器2400は、インターネットなどのネットワークを介して、ネットワークに接続されたリモートコンピュータ機器に接続して実行されることもできる。即ち、コンピュータ機器2400は、前記システムバス2405に接続されたネットワークインターフェースユニット2411を介して、ネットワーク2412に接続されてもよいし、又は、ネットワークインターフェースユニット2411を使用して他のタイプのネットワーク又はリモートコンピュータ機器システム(図示せず)に接続されてもよい。
【0202】
前記メモリはさらに、1つ又は複数のプログラムを含み、前記1つ又は複数のプログラムはメモリに記憶され、中央処理装置2401は、前記1つ又は複数のプログラムを実行することにより、上記の主制御対象の投影生成方法のステップの全部又は一部を実現する。
【0203】
例示的な実施例では、コンピュータ可読記憶媒体をさらに提供し、前記コンピュータ可読記憶媒体には、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶され、前記1つの命令、少なくとも1つのプログラム、コードセット又は命令セットは、プロセッサによってロード及び実行されることにより、上記の各方法実施例によって提供される主制御対象の投影生成方法を実現する。
【0204】
本願は、コンピュータ可読記憶媒体をさらに提供し、前記記憶媒体には、少なくとも1つの命令、少なくとも1つのプログラム、コードセット又は命令セットが記憶され、前記1つの命令、少なくとも1つのプログラム、コードセット又は命令セットは、プロセッサによってロード及び実行されることにより、上記の方法実施例によって提供される主制御対象の投影生成方法を実現する。
【0205】
本願は、コンピュータプログラム製品又はコンピュータプログラムをさらに提供し、前記コンピュータプログラム製品又はコンピュータプログラムは、コンピュータ命令を含み、前記コンピュータ命令は、コンピュータ可読記憶媒体に記憶される。コンピュータ機器のプロセッサは、前記コンピュータ可読記憶媒体から前記コンピュータ命令を読み取り、前記プロセッサは、前記コンピュータ命令を実行することにより、前記コンピュータ機器に、上記態様の実施例によって提供される主制御対象の投影生成方法を実行させる。
【国際調査報告】