(57)【要約】  この出願は、顔モデル編集方法及び装置を開示する。方法は、表示された顔モデルにおけるカーソルの位置を検出するステップであり、表示された顔モデルは複数の顔の部位を含む、ステップと、位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定するステップと、操作対象の顔の部位に対する選択操作を検出するステップと、操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集するステップと、顔モデルにおいて編集された操作対象の顔の部位を表示するステップとを含む。
2019512141.tif 000002
【特許請求の範囲】
【請求項１】
顔モデル編集方法であって、
表示された顔モデルにおけるカーソルの位置を検出するステップであり、前記表示された顔モデルは複数の顔の部位を含む、ステップと、
前記位置に従って、前記複数の顔の部位のうち操作対象の顔の部位を決定するステップと、
前記操作対象の顔の部位に対する選択操作を検出するステップと、
前記操作対象の顔の部位に対する取得された編集操作に応じて、前記操作対象の顔の部位を編集するステップと、
前記顔モデルにおいて前記編集された操作対象の顔の部位を表示するステップと
を含む方法。
【請求項２】
前記位置に従って、前記複数の顔の部位のうち操作対象の顔の部位を決定するステップは、
前記位置における画素のカラー値を取得するステップと、
前記カラー値に対応する、前記複数の顔の部位のうち前記操作対象の顔の部位を決定するステップと
を含む、請求項１に記載の方法。
【請求項３】
前記位置における画素のカラー値を取得するステップは、
マスクマップにおいて、前記位置に対応する前記画素の前記カラー値を取得するステップであり、前記マスクマップは前記顔モデル上で貼り合わされ、前記マスクマップは前記複数の顔の部位と１対１に対応する複数のマスク領域を含み、各マスク領域は１つの顔の部位に対応し、前記画素の前記カラー値は以下のもの、すなわち、前記画素の赤カラー値、前記画素の緑カラー値及び前記画素の青カラー値のうち１つを含む、ステップを含む、請求項２に記載の方法。
【請求項４】
表示された顔モデルにおけるカーソルの位置を検出する前に、前記方法は、
前記顔モデルと生成されたマスクマップとを表示するステップであり、前記マスクマップは前記顔モデル上で貼り合わされるように設定される、ステップを更に含む、請求項３に記載の方法。
【請求項５】
前記操作対象の顔の部位に対する前記選択操作が検出されたときに、前記方法は、
前記顔モデルにおいて前記操作対象の顔の部位をハイライトするステップを更に含む、請求項１に記載の方法。
【請求項６】
前記操作対象の顔の部位に対する取得された編集操作に応じて、前記操作対象の顔の部位を編集するステップは、以下のもの、すなわち、
前記操作対象の顔の部位を移動するステップ、
前記操作対象の顔の部位を回転するステップ、
前記操作対象の顔の部位を拡大するステップ、及び
前記操作対象の顔の部位を縮小するステップ
のうち少なくとも１つを含む、請求項１乃至５のうちいずれか１項に記載の方法。
【請求項７】
顔モデル編集装置であって、
表示された顔モデルにおけるカーソルの位置を検出するように構成された第１の検出ユニットであり、前記表示された顔モデルは複数の顔の部位を含む、第１の検出ユニットと、
前記位置に従って、前記複数の顔の部位のうち操作対象の顔の部位を決定するように構成された決定ユニットと、
前記操作対象の顔の部位に対する選択操作を検出するように構成された第２の検出ユニットと、
前記操作対象の顔の部位に対する取得された編集操作に応じて、前記操作対象の顔の部位を編集するように構成された編集ユニットと、
前記顔モデルにおいて前記編集された操作対象の顔の部位を表示するように構成された第１の表示ユニットと
を含む装置。
【請求項８】
前記決定ユニットは、
前記位置における画素のカラー値を取得するように構成された取得モジュールと、
前記カラー値に対応する、前記複数の顔の部位のうち前記操作対象の顔の部位を決定するように構成された決定モジュールと
を含む、請求項７に記載の装置。
【請求項９】
前記取得モジュールは、
マスクマップにおいて、前記位置に対応する前記画素の前記カラー値を取得するように構成された取得サブモジュールであり、前記マスクマップは前記顔モデル上で貼り合わされ、前記マスクマップは前記複数の顔の部位と１対１に対応する複数のマスク領域を含み、各マスク領域は１つの顔の部位に対応し、前記画素の前記カラー値は以下のもの、すなわち、前記画素の赤カラー値、前記画素の緑カラー値及び前記画素の青カラー値のうち１つを含む、取得サブモジュールを含む、請求項８に記載の装置。
【請求項１０】
前記表示された顔モデルにおける前記カーソルの前記位置が検出される前に、前記顔モデルと生成されたマスクマップとを表示するように構成された第２の表示ユニットであり、前記マスクマップは前記顔モデル上で貼り合わされるように設定される、第２の表示ユニットを更に含む、請求項９に記載の装置。
【請求項１１】
前記操作対象の顔の部位に対する前記選択操作が検出されたときに、前記顔モデルにおいて前記操作対象の顔の部位をハイライトするように構成された第３の表示ユニットを更に含む、請求項７に記載の装置。
【請求項１２】
前記編集ユニットは、以下のもの、すなわち、
前記操作対象の顔の部位を移動するように構成された第１の編集モジュール、
前記操作対象の顔の部位を回転するように構成された第２の編集モジュール、
前記操作対象の顔の部位を拡大するように構成された第３の編集モジュール、及び
前記操作対象の顔の部位を縮小するように構成された第４の編集モジュール
のうち少なくとも１つを含む、請求項７乃至１１のうちいずれか１項に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願］
この出願は、2016年3月10日に中国特許庁に出願された「FACIAL  MODEL  EDITING  METHOD  AND  APPARATUS」という名称の中国特許出願第201610136300.1号の優先権を主張し、その全内容を参照により援用する。
【０００２】
［技術分野］
この出願は、コンピュータ分野に関し、特に顔モデル編集方法及び装置に関する。
【背景技術】
【０００３】
現在、従来の顔モデル編集プロセスは、通常では、プログレスバーにおいてコントローラの異なるスライドブロックの位置を調整することにより実現される。例えば、顔モデルにおける目の部位が編集されるときに、目の部位に対応する非常に長い制御リストの中で、プログレスバーにおいて異なるスライドブロックの位置が順にドラッグされて調整され、それにより、目の部位の全ての編集を完了することがしばしば要求される。このように、プレイヤは、カーソルにより選択されたものが部位に対応するスライドブロックを調整するためのものであることを確保する必要があるだけでなく、編集プロセスにおいて顔の実際の変更効果を確認する必要もある。
【０００４】
すなわち、従来の顔モデル編集方式が使用される場合、顔とスライドブロックとの間で切り替えが絶えず実行される必要があり、編集プロセスは直感的でなく、編集操作は煩雑である。その結果、操作の複雑性及び開発の困難性が増加する。
【発明の概要】
【０００５】
この出願の実施例は、従来の顔モデル編集方法の使用により引き起こされる編集操作の比較的高い複雑性の技術的課題を少なくとも解決するための顔モデル編集方法及び装置を提供する。
【０００６】
この出願の実施例の側面によれば、顔モデル編集方法が提供され、
表示された顔モデルにおけるカーソルの位置を検出するステップであり、表示された顔モデルは複数の顔の部位を含む、ステップと、
位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定するステップと、
操作対象の顔の部位に対する選択操作を検出するステップと、
操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集するステップと、
顔モデルにおいて編集された操作対象の顔の部位を表示するステップと
を含む。
【０００７】
この出願の実施例の他の側面によれば、顔モデル編集装置が更に提供され、
表示された顔モデルにおけるカーソルの位置を検出するように構成された第１の検出ユニットであり、表示された顔モデルは複数の顔の部位を含む、第１の検出ユニットと、
位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定するように構成された決定ユニットと、
操作対象の顔の部位に対する選択操作を検出するように構成された第２の検出ユニットと、
操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集するように構成された編集ユニットと、
顔モデルにおいて編集された操作対象の顔の部位を表示するように構成された第１の表示ユニットと
を含む。
【０００８】
この出願の実施例では、端末内で表示された顔モデルにおいて検出されたカーソルの位置に従って、顔モデルの複数の顔の部位のうち操作対象の顔の部位が決定され、操作対象の顔の部位に対する選択操作が検出された後に、操作対象の顔の部位が、操作対象の顔の部位に対する取得された編集操作に応じて編集され、それにより、顔モデルにおいて編集された操作対象の顔の部位を表示する。すなわち、カーソルの位置を検出することにより、顔モデルの複数の顔の部位から選択された操作対象の顔の部位が決定され、それにより、操作対象の顔の部位についての編集プロセスを直接完了し、操作対象の顔の部位に対応するスライドブロックは、更なる制御リストの中でドラッグされる必要はない。したがって、ユーザは、顔モデルに対して顔のピッキング編集を直接実行することができ、それにより、顔モデルに対する編集操作を簡略化し、次に、顔モデルと制御リストの中のスライドブロックとの間を切り替えることにより引き起こされる比較的高い操作の複雑性の問題を克服する。
【０００９】
さらに、編集操作は、顔モデルにおける顔の部位に対して直接実行され、それにより、ユーザは、端末内で表示された編集操作と編集された操作対象の顔の部位の変更効果とを直感的に見ることができ、見るものが得られるものであることを実現できる。したがって、編集操作は、ユーザ要求をより良く満たすことができる。
【図面の簡単な説明】
【００１０】
ここで説明する添付図面は、この出願について更なる理解を提供するために使用され、この出願の１つの部分を構成する。この出願の概略的な実施例及びこれらの説明は、この出願を説明するために使用され、この出願に対して不適切な限定を構成しない。図面において、
【図１】この出願の実施例による顔モデル編集方法の適用環境の概略図である。
【図２】この出願の実施例による顔モデル編集方法のフローチャートである。
【図３】この出願の実施例による顔モデル編集方法の適用の概略図である。
【図４】この出願の実施例による他の顔モデル編集方法の適用の概略図である。
【図５】この出願の実施例による更に他の顔モデル編集方法の適用の概略図である。
【図６】この出願の実施例による更に他の顔モデル編集方法の適用の概略図である。
【図７】この出願の実施例による顔モデル編集装置の概略構成図である。
【図８】この出願の実施例による顔モデル編集端末のハードウェアの概略構成図である。
【図９】この出願の実施例による更に他の顔モデル編集方法の適用の概略図である。
【図１０】この出願の実施例による更に他の顔モデル編集方法の適用の概略図である。
【図１１】この出願の実施例による更に他の顔モデル編集方法の適用の概略図である。
【発明を実施するための形態】
【００１１】
当業者にこの出願における解決策をより良く理解してもらうために、以下に、この出願の実施例における添付図面を参照して、この出願の実施例における技術的解決策を明確且つ完全に説明する。明らかに、説明する実施例は、この出願の実施例の全てではなく、一部に過ぎない。創造的取り組みなしに本出願の実施例に基づいて当業者により得られる全ての他の実施例は、本出願の保護範囲内に入るものとする。
【００１２】
この出願の明細書、特許請求の範囲及び前述の添付図面において、「第１」及び「第２」という用語は、同様の対象を区別するために使用され、必ずしも特定の順序又は順番を記述するために使用されない。このように使用されるデータは、適切な場合に置き換えられることができ、それにより、ここに記載するこの出願の実施例は、ここに例示又は記載する順序以外の順序で実現できることが理解されるべきである。さらに、「含む」及び「有する」という用語並びにそれらの変形のいずれかは、非排他的な包含をカバーすることを意図しており、例えば、一連のステップ又はユニットを含むプロセス、方法、システム、プロダクト又はデバイスは、明確に記載されたステップ又はユニットに限定される必要はなく、明確に記載されていないか、或いはプロセス、方法、プロダクト又はデバイスに固有の他のステップ又はユニットを含んでもよい。
【００１３】
この出願の実施例に従って、顔モデル編集方法の実施例が提供され、顔モデル編集方法は、図１に示す適用環境に適用されてもよいが、これに限定されない。図１に示すように、端末102がネットワーク104を使用することによりサーバ106から顔モデルを取得した後に、端末102内で表示された顔モデルにおけるカーソルの位置が検出され、表示された顔モデルは複数の顔の部位を含み、複数の顔の部位のうち操作対象の顔の部位が位置に従って決定され、操作対象の顔の部位に対する選択操作が検出された後に、操作対象の顔の部位が、操作対象の顔の部位に対する取得された編集操作に応じて編集され、次に、編集された操作対象の顔の部位が顔モデルにおいて表示される。この実施例では、端末は、以下のもの、すなわち、移動電話、タブレットコンピュータ、ノートブックコンピュータ及びPCのうち少なくとも１つを含んでもよいが、これらに限定されない。
【００１４】
この出願の実施例に従って、顔モデル編集方法が提供される。図２に示すように、方法は以下のステップを含む。
【００１５】
S202.表示された顔モデルにおけるカーソルの位置を検出し、表示された顔モデルは複数の顔の部位を含む。
【００１６】
S204.位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定する。
【００１７】
S206.操作対象の顔の部位に対する選択操作を検出する。
【００１８】
S208.操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集する。
【００１９】
S210.顔モデルにおいて編集された操作対象の顔の部位を表示する。
【００２０】
この実施例では、顔モデル編集方法は、端末アプリケーション内のキャラクタ役生成プロセスにおけるキャラクタ役の対応する顔モデルを編集することに適用されてもよいが、これに限定されない。例えば、ゲームアプリケーションを例として使用すると、ゲームアプリケーション内のキャラクタ役がプレイヤのために生成されるときに、操作対象の顔の部位は、表示された顔モデルの複数の顔の部位におけるカーソルの位置を検出することにより決定されてもよく、操作対象の顔の部位に対する選択操作が検出された後に、対応する編集操作が、取得された編集操作に応じて実行される。
【００２１】
図３は、この出願の実施例による顔モデル編集方法の適用の概略図である。図３に示すように、顔モデルにおける眉毛の部位（図３の左側に示す点線フレーム等）は、カーソルの位置を使用することにより選択される。その部位に対する編集操作（回転操作等）が取得された後に、眉毛の部位が編集されてもよく、編集された眉毛の部位（図３の右側に示す点線フレーム等）が顔モデルにおいて表示される。したがって、キャラクタ役の顔モデルに対する編集操作が簡略化され、編集されたキャラクタ役は、プレイヤのために迅速且つ正確に表示される。この例示は単なる例であり、この実施例において説明する顔モデル編集方法は、如何なる種類の端末アプリケーションにも適用可能である。
【００２２】
この実施例では、端末内で表示された顔モデルにおいて検出されたカーソルの位置に従って、顔モデルの複数の顔の部位のうち操作対象の顔の部位が決定され、操作対象の顔の部位に対する選択操作が検出された後に、操作対象の顔の部位が、操作対象の顔の部位に対する取得された編集操作に応じて編集され、それにより、顔モデルにおいて編集された操作対象の顔の部位を表示する。すなわち、カーソルの位置を検出することにより、顔モデルの複数の顔の部位から選択された操作対象の顔の部位が決定され、それにより、操作対象の顔の部位についての編集プロセスを直接完了し、操作対象の顔の部位に対応するスライドブロックは、更なる制御リストの中でドラッグされる必要はない。したがって、ユーザは、顔モデルに対して顔のピッキング編集を直接実行することができ、それにより、顔モデルに対する編集操作を簡略化し、次に、顔モデルと制御リストの中のスライドブロックとの間を切り替えることにより引き起こされる比較的高い操作の複雑性の問題を克服する。さらに、編集操作は、顔モデルにおける顔の部位に対して直接実行され、それにより、ユーザは、端末内で表示された編集操作と編集された操作対象の顔の部位の変更効果とを直感的に見ることができ、見るものが得られるものであることを実現できる。したがって、編集操作は、ユーザ要求をより良く満たすことができる。
【００２３】
この実施例では、カーソルの位置は、画面上に表示されたマウスの対応する位置を示すために使用されてもよいが、これに限定されない。
【００２４】
この実施例では、操作対象の顔の部位に対する選択操作が検出されたときに、方法は、操作対象の顔の部位を特別に表示することを含んでもよいが、これに限定されない。例えば、顔の部位はハイライトされるか、或いは描影が顔の部位に対して表示される。
【００２５】
この実施例では、編集は、以下のもの、すなわち、操作対象の顔の部位を移動すること、操作対象の顔の部位を回転すること、操作対象の顔の部位を拡大すること、及び操作対象の顔の部位を縮小することのうち少なくとも１つを含んでもよい。
【００２６】
この実施例では、カーソルの位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定することは、
位置における画素のカラー値を取得し、
カラー値に対応する、複数の顔の部位のうち操作対象の顔の部位を決定することを含む。
【００２７】
この実施例では、位置における画素のカラー値を取得することは、マスクマップにおいて、位置に対応する画素のカラー値を取得し、マスクマップは顔モデル上で貼り合わされ、マスクマップは複数の顔の部位と１対１に対応する複数のマスク領域を含み、各マスク領域は１つの顔の部位に対応し、画素のカラー値は以下のもの、すなわち、画素の赤カラー値、画素の緑カラー値及び画素の青カラー値のうち１つを含んでもよいことを含んでもよいが、これに限定されない。
【００２８】
この実施例では、顔モデル上で貼り合わされたマスクマップ上の各マスク領域は、顔モデル上の１つの顔の部位に対応する。すなわち、顔モデル上で貼り合わされたマスクマップ上のマスク領域がカーソルを使用することにより選択されたときに、顔モデルにおける対応する顔の部位が選択されてもよく、それにより、顔モデル上の顔の部位を直接編集し、編集操作を簡略化する。
【００２９】
例えば、この実施例では、マスクマップは、以下のコードを使用することにより構築されてもよいが、以下のコードを使用することにより構築されることに限定されない。
float4  maskColor  =  tex2D(FacialMaskSampler,param.uv0);
float  maskR  =  maskColor.r*255.0f;
float  alpha  =  0;
if(IsValEqual(SelectedAreaColor,  maskR))
{
alpha  +=  FacialMaskParams.y;
}
float4  finalColor  =  float4(0,2,5,alpha*2.5f*maskColor.b);
ここで、maskColor.rは赤チャネルを示すために使用され、maskColor.bは青チャネルを示すために使用される。
【００３０】
さらに、この実施例では、マスクマップ内の各マスク領域と、対応する画素のカラー値との間のマッピング関係は予め設定されてもよいが、予め設定されることに限定されない。例えば、表３に示す顔モデルにおける鼻は、６個の部位を具体的に含み、１つの赤カラー値（Rカラー値を使用することにより示される）が部位毎に設定され、誤りを回避するために、例えば、値は少なくとも10単位だけ互いに異なってもよいが、異なることに限定されない。
【００３１】
【表１】
2019512141.tif 000003
すなわち、カラー値に対応する、複数の顔の部位のうち操作対象の顔の部位を決定することは、マスクマップにおいて、位置に対応する画素のカラー値が取得された後に、画素のカラー値に対応するマスク領域がマッピング関係を問い合わせることにより取得されてもよく、次に、マスク領域に対応する操作対象の顔の部位が取得されることを含んでもよいが、これに限定されない。
【００３２】
この実施例では、表示された顔モデルにおけるカーソルの位置は、画素ピッキングのために顔ピッキング技術を使用することにより検出されてもよいが、画素ピッキングのために顔ピッキング技術を使用して検出されることに限定されない。画素ピッキングは、モデルオブジェクトが１単位として使用されるピッキング技術であり、ディスプレイ画面上でカーソルにより選択又はクリックされた仮想オブジェクトが検出され、カーソルが仮想オブジェクトと相互作用する方法である。仮想オブジェクトは、対応する顔モデルにおける顔の部位でもよいが、これに限定されない。
【００３３】
この実施例では、１つの識別子IDが仮想オブジェクト（すなわち、顔の部位）毎に設定され、次に、全てのピッキング可能な仮想オブジェクトが１つのrender  targetに描画され、IDは定数レジスタにより取り入れられる。最後に、カーソルの現在の位置の部位のIDがGetRenderTarget()（すなわち、Direct3Dにおける１つの関数）を使用することにより取得される。
【００３４】
この実施例では、表示された顔モデルにおけるカーソルの位置を検出する前に、方法は、顔モデルと生成されたマスクマップとを表示し、マスクマップは顔モデル上で貼り合わされるように設定されることを更に含んでもよい。
【００３５】
顔モデルを取得するプロセスは以下の通りでもよい。
【００３６】
顔ピッキングシステムは、実際に、以下のコアHLSLコードを使用することにより実現される、マップカラーに敏感なピッキング方法である。
result.color0=tex2D(FacialMaskSampler,param.uv0);
result.color0.gb=param.uv0.xy;
floatdepth=EncodeFloatToRGBA8(param.homoDepth.x/param.homoDepth.y);
result.color1=float4(1.0f,  1.0f,  0,  depth);//magic  code  marking  for  facial  model  map
画面上に表示された顔モデルは、以下のコードを使用することにより取得される。
tex2D(FacialMaskSampler,param.uv0);
result.color1=float4(1.0f,  1.0f,  0,  depth)
１つの検証コードが画面内の画素毎に設定され、画素が顔モデルに属するか否かは、検証コードを使用することにより検証される。検証コードに一致する画素（(1.0,1.0,0)に等しい）のみが顔モデルに従って処理される。
【００３７】
EncodingColorData(queryData,maskCode);
If(maskCode.r==0xff  &&
maskCode.g==0xff  &&
maskCode.b==0)
{
mDepthSelted=maskCode.a;
mIsPickingVaild=true;
}
画面上のカーソルの位置と、画面の現在の解像度とを検出することにより、カーソルの位置におけるユーザにより選択された画素が計算される。
【００３８】
この出願において提供されるこの実施例では、端末内で表示された顔モデルにおいて検出されたカーソルの位置に従って、顔モデルの複数の顔の部位のうち操作対象の顔の部位が決定され、操作対象の顔の部位に対する選択操作が検出された後に、操作対象の顔の部位が、操作対象の顔の部位に対する取得された編集操作に応じて編集され、それにより、顔モデルにおいて編集された操作対象の顔の部位を表示する。すなわち、カーソルの位置を検出することにより、顔モデルの複数の顔の部位から選択された操作対象の顔の部位が決定され、それにより、操作対象の顔の部位についての編集プロセスを直接完了し、操作対象の顔の部位に対応するスライドブロックは、更なる制御リストの中でドラッグされる必要はない。したがって、ユーザは、顔モデルに対して顔のピッキング編集を直接実行することができ、それにより、顔モデルに対する編集操作を簡略化し、次に、顔モデルと制御リストの中のスライドブロックとの間を切り替えることにより引き起こされる比較的高い操作の複雑性の問題を克服する。
【００３９】
この出願のこの実施例では、位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定することは、
位置における画素のカラー値を取得し、
カラー値に対応する、複数の顔の部位のうち操作対象の顔の部位を決定することを含む。
【００４０】
この実施例では、画素のカラー値は、マスクマップにおいて、カーソルの位置に対応する画素のカラー値でもよいが、これに限定されない。マスクマップは顔モデル上で貼り合わされ、マスクマップは複数の顔の部位と１対１に対応する複数のマスク領域を含み、各マスク領域は１つの顔の部位に対応する。
【００４１】
この実施例では、マスクマップにおいて、カーソルの位置に対応する画素のカラー値は、赤チャネルのカラー値及び青チャネルのカラー値を含んでもよいが、これらに限定されない。画素のカラー値は以下のもの、すなわち、画素の赤カラー値、画素の緑カラー値及び画素の青カラー値のうち１つを含んでもよいが、これらに限定されない。
【００４２】
この実施例では、赤チャネルのカラー値により形成された顔は図４に示されるものでもよく（画像は赤で表示されるべきである）、異なる描影は、赤の異なるレベルを示し、左側の綾織で満たされた領域の色は、波状の点で満たされた領域の色より明るく、波状の点で満たされた領域の色は、交叉した綾織で満たされた領域の色より明るい。青チャネルのカラー値により形成された顔は図５に示されるものでもよい（画像は青で表示されるべきである）。
【００４３】
この実施例では、マスクマップ内の各マスク領域と、対応する画素のカラー値との間のマッピング関係は予め設定されてもよいが、予め設定されることに限定されない。したがって、カーソルの位置の画素のカラー値を使用することにより、顔モデルにおいて、カラー値に対応するマスク領域が決定され、次に、複数の顔の部位のうち操作対象の顔の部位が決定される。
【００４４】
例えば、表１を参照して、カーソルの位置における画素の取得されたRカラー値が200であるときに、対応するマスク領域は、予め設定されたマッピング関係を検索することにより決定されてもよく、次に、マスク領域に対応する操作対象の顔の部位は「鼻ばしら」である。
【００４５】
この出願において提供されるこの実施例では、カーソルの位置における画素の取得されたカラー値を使用することにより、複数の顔の部位のうち、カラー値に対応する操作対象の顔の部位が決定される。すなわち、操作対象の顔の部位は、カーソルの位置における画素のカラー値を使用することにより決定され、それにより、顔モデルにおける顔の部位に対する編集操作を直接実行し、それにより、編集操作を簡略化する。
【００４６】
この出願のこの実施例では、位置における画素のカラー値を取得することは、
マスクマップにおいて、位置に対応する画素のカラー値を取得し、マスクマップは顔モデル上で貼り合わされ、マスクマップは複数の顔の部位と１対１に対応する複数のマスク領域を含み、各マスク領域は１つの顔の部位に対応し、
画素のカラー値は以下のもの、すなわち、画素の赤カラー値、画素の緑カラー値及び画素の青カラー値のうち１つを含むことを含む。
【００４７】
具体的には、以下の例を参照して説明が行われる。人間の解剖学に従って、１つの筋肉の部位の制御リストは、４８個の骨格が影響を与えることができる筋肉の分類に従って取得され、１つの赤カラー値（Rカラー値を使用することにより示される）が部位毎に設定される。誤りを回避するために、値は少なくとも10単位だけ互いに異なる。さらに、顔上のこれらの部位の配分状況に従って、顔モデルに対応するマスクマップは、表２（いくつかの部位）に示すように、これらの部位に対応する画素のカラー値を使用することにより取得されてもよい。
【００４８】
【表２】
2019512141.tif 000004
すなわち、顔モデルに対応するマスクマップは、マッピング関係における画素のカラー値に従って描画されてもよく、マスクマップは顔モデル上で貼り合わされ、マスクマップに含まれる複数のマスク領域は、複数の顔の部位と１対１に対応する。
【００４９】
この出願において提供されるこの実施例では、対応する画素のカラー値は、顔モデル上で貼り合わされたマスクマップを使用することにより取得され、それにより、カーソルの位置における画素のカラー値を正確に取得し、それにより、対応する操作対象の顔の部位がカラー値に従って取得される。
【００５０】
この出願のこの実施例では、表示された顔モデルにおけるカーソルの位置を検出する前に、方法は、
顔モデルと生成されたマスクマップとを表示し、マスクマップは顔モデル上で貼り合わされるように設定されることを更に含む。
【００５１】
具体的には、以下の例を参照して説明が行われる。表示された顔モデルにおけるカーソルの位置が検出される前に、図６に示す顔モデル及び生成されたマスクマップが端末画面上に表示され、マスクマップは顔モデル上で貼り合わされるように設定される。
【００５２】
この出願において提供されるこの実施例では、表示された顔モデルにおけるカーソルの位置が検出される前に、顔モデルと生成されたマスクマップとを結合することにより取得された画像が事前に表示され、それにより、カーソルの位置が検出されたときに、対応する位置は、マスクマップを使用することにより直接且つ迅速に取得されてもよく、次に、顔モデルの複数の顔の部位のうち操作対象の顔の部位が正確に取得され、それにより、編集効率を改善する。
【００５３】
この出願のこの実施例では、操作対象の顔の部位に対する選択操作が検出されたときに、方法は、
顔モデルにおいて操作対象の顔の部位をハイライトすることを更に含む。
【００５４】
この実施例では、操作対象の顔の部位に対する選択操作が検出されたときに、方法は、操作対象の顔の部位を特別に表示することを含んでもよいが、これに限定されない。例えば、顔の部位はハイライトされるか、或いは描影が顔の部位に対して表示される。
【００５５】
この出願において提供されるこの実施例では、操作対象の顔の部位がハイライトされ、それにより、ユーザは、顔モデルにおいて顔の部位に対して実行される編集操作と編集された顔の部位の変更効果とを直感的に見ることができ、見るものが得られるものであることを実現できる。したがって、編集操作は、ユーザ要求をより良く満たすことができる。
【００５６】
この出願のこの実施例では、操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集することは、以下のもの、すなわち、
操作対象の顔の部位を移動すること、
操作対象の顔の部位を回転すること、
操作対象の顔の部位を拡大すること、及び
操作対象の顔の部位を縮小すること
のうち少なくとも１つを含む。
【００５７】
この実施例では、編集を実現する操作方式は、以下のもの、すなわち、クリック及びドラッグのうち少なくとも１つでもよいが、これらに限定されない。すなわち、以下の編集操作、すなわち、移動、回転、拡大及び縮小のうち少なくとも１つは、異なる操作方式の組み合わせを使用することにより、操作対象の顔の部位に対して実行されてもよい。
【００５８】
例えば、図３に示すように、操作対象の部位がクリックを用いて選択され、回転、縮小及び移動のような編集操作が操作対象の部位に対して実行されたときに、図３の左側から図３の右側に示す編集内容のプロセスが実現されてもよい。
【００５９】
この出願において提供されるこの実施例では、異なる編集操作が顔モデルにおける操作対象の顔の部位に対して直接実行され、それにより、編集操作を簡略化し、編集効率を改善し、従来技術における比較的高い操作の複雑性の問題を克服する。
【００６０】
前述の方法の実施例は、簡単な説明の目的で一連の動作の組み合わせとして表現されているが、当業者は、この出願に従っていくつかのステップが他の順序で或いは同時に実行されてもよいため、この出願が記載の動作順序に限定されないことを理解するべきである。さらに、当業者は、この明細書に記載の全ての実施例が好ましい実施例であり、関係する動作及びモジュールが必ずしもこの開示において必要であるとは限らないことも理解するべきである。
【００６１】
前述の実施例の説明を通じて、当業者は、前述の実施例による方法がハードウェアのみにより、或いはソフトウェア及び必要なユニバーサルハードウェアプラットフォームにより実現されてもよいことを理解し得る。しかし、ほとんどの場合、ソフトウェア及び必要なユニバーサルハードウェアプラットフォームを使用することが好ましい。このような理解に基づいて、この出願の技術的解決策は本質的に、或いは従来技術に寄与する部分は、ソフトウェアプロダクトの形式で実現されてもよい。コンピュータソフトウェアプロダクトは、記憶媒体（ROM/RAM、磁気ディスク又は光ディスク等）に記憶され、端末デバイス（移動電話、コンピュータ、サーバ、ネットワークデバイス等でもよい）に対してこの出願の実施例に記載の方法を実行するように命令するためのいくつかの命令を含む。
【００６２】
この出願の実施例に従って、顔モデル編集方法を実現するように構成された顔モデル編集装置が更に提供される。図７に示すように、方法は、
表示された顔モデルにおけるカーソルの位置を検出するように構成された第１の検出ユニット702であり、表示された顔モデルは複数の顔の部位を含む、第１の検出ユニット702と、
位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定するように構成された決定ユニット704と、
操作対象の顔の部位に対する選択操作を検出するように構成された第２の検出ユニット706と、
操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集するように構成された編集ユニット708と、
顔モデルにおいて編集された操作対象の顔の部位を表示するように構成された第１の表示ユニット710と
を含む。
【００６３】
この実施例では、顔モデル編集装置は、端末アプリケーション内のキャラクタ役生成プロセスにおけるキャラクタ役の対応する顔モデルを編集することに適用されてもよいが、これに限定されない。例えば、ゲームアプリケーションを例として使用すると、ゲームアプリケーション内のキャラクタ役がプレイヤのために生成されるときに、操作対象の顔の部位は、表示された顔モデルの複数の顔の部位におけるカーソルの位置を検出することにより決定されてもよく、操作対象の顔の部位に対する選択操作が検出された後に、対応する編集操作が、取得された編集操作に応じて実行される。
【００６４】
図３に示すように、顔モデルにおける眉毛の部位（図３の左側に示す点線フレーム等）は、カーソルの位置を使用することにより選択される。その部位に対する編集操作（回転操作等）が取得された後に、眉毛の部位が編集されてもよく、編集された眉毛の部位（図３の右側に示す点線フレーム等）が顔モデルにおいて表示される。したがって、キャラクタ役の顔モデルに対する編集操作が簡略化され、編集されたキャラクタ役は、プレイヤのために迅速且つ正確に表示される。この例示は単なる例であり、この実施例において説明する顔モデル編集装置は、如何なる種類の端末アプリケーションにも適用可能である。
【００６５】
この実施例では、端末内で表示された顔モデルにおいて検出されたカーソルの位置に従って、顔モデルの複数の顔の部位のうち操作対象の顔の部位が決定され、操作対象の顔の部位に対する選択操作が検出された後に、操作対象の顔の部位が、操作対象の顔の部位に対する取得された編集操作に応じて編集され、それにより、顔モデルにおいて編集された操作対象の顔の部位を表示する。すなわち、カーソルの位置を検出することにより、顔モデルの複数の顔の部位から選択された操作対象の顔の部位が決定され、それにより、操作対象の顔の部位についての編集プロセスを直接完了し、操作対象の顔の部位に対応するスライドブロックは、更なる制御リストの中でドラッグされる必要はない。したがって、ユーザは、顔モデルに対して顔のピッキング編集を直接実行することができ、それにより、顔モデルに対する編集操作を簡略化し、次に、顔モデルと制御リストの中のスライドブロックとの間を切り替えることにより引き起こされる比較的高い操作の複雑性の問題を克服する。さらに、編集操作は、顔モデルにおける顔の部位に対して直接実行され、それにより、ユーザは、端末内で表示された編集操作と編集された操作対象の顔の部位の変更効果とを直感的に見ることができ、見るものが得られるものであることを実現できる。したがって、編集操作は、ユーザ要求をより良く満たすことができ、ユーザ体験を改善できる。
【００６６】
この実施例では、カーソルの位置は、画面上に表示されたマウスの対応する位置を示すために使用されてもよいが、これに限定されない。
【００６７】
この実施例では、操作対象の顔の部位に対する選択操作が検出されたときに、方法は、操作対象の顔の部位を特別に表示することを含んでもよいが、これに限定されない。例えば、顔の部位はハイライトされるか、或いは描影が顔の部位に対して表示される。
【００６８】
この実施例では、編集は、以下のもの、すなわち、操作対象の顔の部位を移動すること、操作対象の顔の部位を回転すること、操作対象の顔の部位を拡大すること、及び操作対象の顔の部位を縮小することのうち少なくとも１つを含んでもよい。
【００６９】
この実施例では、カーソルの位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定することは、
位置における画素のカラー値を取得し、
カラー値に対応する、複数の顔の部位のうち操作対象の顔の部位を決定することを含む。
【００７０】
この実施例では、位置における画素のカラー値を取得することは、マスクマップにおいて、位置に対応する画素のカラー値を取得し、マスクマップは顔モデル上で貼り合わされ、マスクマップは複数の顔の部位と１対１に対応する複数のマスク領域を含み、各マスク領域は１つの顔の部位に対応し、画素のカラー値は以下のもの、すなわち、画素の赤カラー値、画素の緑カラー値及び画素の青カラー値のうち１つを含んでもよいことを含んでもよいが、これに限定されない。
【００７１】
この実施例では、顔モデル上で貼り合わされたマスクマップ上の各マスク領域は、顔モデル上の１つの顔の部位に対応する。すなわち、顔モデル上で貼り合わされたマスクマップ上のマスク領域がカーソルを使用することにより選択されたときに、顔モデルにおける対応する顔の部位が選択されてもよく、それにより、顔モデル上の顔の部位を直接編集し、編集操作を簡略化する。
【００７２】
さらに、この実施例では、マスクマップ内の各マスク領域と、対応する画素のカラー値との間のマッピング関係は予め設定されてもよいが、予め設定されることに限定されない。例えば、表３に示す顔モデルにおける鼻は、６個の部位を具体的に含み、１つの赤カラー値（Rカラー値を使用することにより示される）が部位毎に設定され、誤りを回避するために、例えば、値は少なくとも10単位だけ互いに異なってもよいが、異なることに限定されない。
【００７３】
【表３】
2019512141.tif 000005
すなわち、カラー値に対応する、複数の顔の部位のうち操作対象の顔の部位を決定することは、マスクマップにおいて、位置に対応する画素のRGBカラー値が取得された後に、画素のカラー値に対応するマスク領域がマッピング関係を問い合わせることにより取得されてもよく、次に、マスク領域に対応する操作対象の顔の部位が取得されることを含んでもよいが、これに限定されない。
【００７４】
この実施例では、表示された顔モデルにおけるカーソルの位置は、画素ピッキングのために顔ピッキング技術を使用することにより検出されてもよいが、画素ピッキングのために顔ピッキング技術を使用して検出されることに限定されない。画素ピッキングは、モデルオブジェクトが１単位として使用されるピッキング技術であり、ディスプレイ画面上でカーソルにより選択又はクリックされた仮想オブジェクトが検出され、カーソルが仮想オブジェクトと相互作用する方法である。仮想オブジェクトは、対応する顔モデルにおける顔の部位でもよいが、これに限定されない。
【００７５】
この実施例では、１つの識別子IDが仮想オブジェクト（すなわち、顔の部位）毎に設定され、次に、全てのピッキング可能な仮想オブジェクトが１つのrender  targetに描画され、IDは定数レジスタにより取り入れられる。最後に、カーソルの現在の位置の部位のIDがGetRenderTarget()（すなわち、Direct3Dにおける１つの関数）を使用することにより取得される。
【００７６】
この実施例では、表示された顔モデルにおけるカーソルの位置を検出する前に、方法は、顔モデルと生成されたマスクマップとを表示し、マスクマップは顔モデル上で貼り合わされるように設定されることを更に含んでもよい。
【００７７】
顔モデルを取得するプロセスは以下の通りでもよい。
【００７８】
顔ピッキングシステムは、実際に、以下のコアHLSLコードを使用することにより実現される、マップカラーに敏感なピッキング方法である。
result.color0=tex2D(FacialMaskSampler,param.uv0);
result.color0.gb=param.uv0.xy;
floatdepth=EncodeFloatToRGBA8(param.homoDepth.x/param.homoDepth.y);
result.color1=float4(1.0f,  1.0f,  0,  depth);//magic  code  marking  for  facial  model  map
画面上に表示された顔モデルは、以下のコードを使用することにより取得される。
tex2D(FacialMaskSampler,param.uv0);
result.color1=float4(1.0f,  1.0f,  0,  depth)
１つの検証コードが画面内の画素毎に設定され、画素が顔モデルに属するか否かは、検証コードを使用することにより検証される。検証コードに一致する画素（(1.0,1.0,0)に等しい）のみが顔モデルに従って処理される。
【００７９】
EncodingColorData(queryData,maskCode);
If(maskCode.r==0xff  &&
maskCode.g==0xff  &&
maskCode.b==0)
{
mDepthSelted=maskCode.a;
mIsPickingVaild=true;
}
画面上のカーソルの位置と、画面の現在の解像度とを検出することにより、カーソルの位置におけるユーザにより選択された画素が計算される。
【００８０】
この出願において提供されるこの実施例では、端末内で表示された顔モデルにおいて検出されたカーソルの位置に従って、顔モデルの複数の顔の部位のうち操作対象の顔の部位が決定され、操作対象の顔の部位に対する選択操作が検出された後に、操作対象の顔の部位が、操作対象の顔の部位に対する取得された編集操作に応じて編集され、それにより、顔モデルにおいて編集された操作対象の顔の部位を表示する。すなわち、カーソルの位置を検出することにより、顔モデルの複数の顔の部位から選択された操作対象の顔の部位が決定され、それにより、操作対象の顔の部位についての編集プロセスを直接完了し、操作対象の顔の部位に対応するスライドブロックは、更なる制御リストの中でドラッグされる必要はない。したがって、ユーザは、顔モデルに対して顔のピッキング編集を直接実行することができ、それにより、顔モデルに対する編集操作を簡略化し、次に、顔モデルと制御リストの中のスライドブロックとの間を切り替えることにより引き起こされる比較的高い操作の複雑性の問題を克服する。
【００８１】
この出願のこの実施例では、決定ユニットは、
位置における画素のカラー値を取得するように構成された取得モジュールと、
カラー値に対応する、複数の顔の部位のうち操作対象の顔の部位を決定するように構成された決定モジュールと
を含む。
【００８２】
この実施例では、画素のカラー値は、マスクマップにおいて、カーソルの位置に対応する画素のカラー値でもよいが、これに限定されない。マスクマップは顔モデル上で貼り合わされ、マスクマップは複数の顔の部位と１対１に対応する複数のマスク領域を含み、各マスク領域は１つの顔の部位に対応する。
【００８３】
この実施例では、マスクマップにおいて、カーソルの位置に対応する画素のカラー値は、赤チャネルのカラー値及び青チャネルのカラー値を含んでもよいが、これらに限定されない。画素のカラー値は以下のもの、すなわち、画素の赤カラー値、画素の緑カラー値及び画素の青カラー値のうち１つを含んでもよいが、これらに限定されない。
【００８４】
この実施例では、赤チャネルのカラー値により形成された顔は図４に示されるものでもよく（画像は赤で表示されるべきである）、異なる描影は、赤の異なるレベルを示し、左側の綾織で満たされた領域の色は、波状の点で満たされた領域の色より明るく、波状の点で満たされた領域の色は、交叉した綾織で満たされた領域の色より明るい。青チャネルのカラー値により形成された顔は図５に示されるものでもよい（画像は青で表示されるべきである）。
【００８５】
この実施例では、マスクマップ内の各マスク領域と、対応する画素のカラー値との間のマッピング関係は予め設定されてもよいが、予め設定されることに限定されない。したがって、カーソルの位置の画素のカラー値を使用することにより、顔モデルにおいて、カラー値に対応するマスク領域が決定され、次に、複数の顔の部位のうち操作対象の顔の部位が決定される。
【００８６】
例えば、表３を参照して、カーソルの位置における画素の取得されたRカラー値が200であるときに、対応するマスク領域は、予め設定されたマッピング関係を検索することにより決定されてもよく、次に、マスク領域に対応する操作対象の顔の部位は「鼻ばしら」である。
【００８７】
この出願において提供されるこの実施例では、カーソルの位置における画素の取得されたカラー値を使用することにより、複数の顔の部位のうち、カラー値に対応する操作対象の顔の部位が決定される。すなわち、操作対象の顔の部位は、カーソルの位置における画素のカラー値を使用することにより決定され、それにより、顔モデルにおける顔の部位に対する編集操作を直接実行し、それにより、編集操作を簡略化する。
【００８８】
この出願のこの実施例では、取得モジュールは、
マスクマップにおいて、位置に対応する画素のカラー値を取得するように構成された取得サブモジュールであり、マスクマップは顔モデル上で貼り合わされ、マスクマップは複数の顔の部位と１対１に対応する複数のマスク領域を含み、各マスク領域は１つの顔の部位に対応する、取得サブモジュールを含み、
画素のカラー値は以下のもの、すなわち、画素の赤カラー値、画素の緑カラー値及び画素の青カラー値のうち１つを含む。
【００８９】
具体的には、以下の例を参照して説明が行われる。人間の解剖学に従って、１つの筋肉の部位の制御リストは、４８個の骨格が影響を与えることができる筋肉の分類に従って取得され、１つの赤カラー値（Rカラー値を使用することにより示される）が部位毎に設定される。誤りを回避するために、値は少なくとも10単位だけ互いに異なる。さらに、顔上のこれらの部位の配分状況に従って、顔モデルに対応するマスクマップは、表４（いくつかの部位）に示すように、これらの部位に対応する画素のカラー値を使用することにより取得されてもよい。
【００９０】
【表４】
2019512141.tif 000006
すなわち、顔モデルに対応するマスクマップは、マッピング関係における画素のカラー値に従って描画されてもよく、マスクマップは顔モデル上で貼り合わされ、マスクマップに含まれる複数のマスク領域は、複数の顔の部位と１対１に対応する。
【００９１】
この出願において提供されるこの実施例では、対応する画素のカラー値は、顔モデル上で貼り合わされたマスクマップを使用することにより取得され、それにより、カーソルの位置における画素のカラー値を正確に取得し、それにより、対応する操作対象の顔の部位がカラー値に従って取得される。
【００９２】
この出願のこの実施例では、装置は、
表示された顔モデルにおけるカーソルの位置が検出される前に、顔モデルと生成されたマスクマップとを表示するように構成された第２の表示ユニットであり、マスクマップは顔モデル上で貼り合わされるように設定される、第２の表示ユニットを更に含む。
【００９３】
具体的には、以下の例を参照して説明が行われる。表示された顔モデルにおけるカーソルの位置が検出される前に、図６に示す顔モデル及び生成されたマスクマップが端末画面上に表示され、マスクマップは顔モデル上で貼り合わされるように設定される。
【００９４】
この出願において提供されるこの実施例では、表示された顔モデルにおけるカーソルの位置が検出される前に、顔モデルと生成されたマスクマップとを結合することにより取得された画像が事前に表示され、それにより、カーソルの位置が検出されたときに、対応する位置は、マスクマップを使用することにより直接且つ迅速に取得されてもよく、次に、顔モデルの複数の顔の部位のうち操作対象の顔の部位が正確に取得され、それにより、編集効率を改善する。
【００９５】
この出願のこの実施例では、装置は、
操作対象の顔の部位に対する選択操作が検出されたときに、顔モデルにおいて操作対象の顔の部位をハイライトするように構成された第３の表示ユニットを更に含む。
【００９６】
この実施例では、操作対象の顔の部位に対する選択操作が検出されたときに、方法は、操作対象の顔の部位を特別に表示することを含んでもよいが、これに限定されない。例えば、顔の部位はハイライトされるか、或いは描影が顔の部位に対して表示される。
【００９７】
この出願において提供されるこの実施例では、操作対象の顔の部位がハイライトされ、それにより、ユーザは、顔モデルにおいて顔の部位に対して実行される編集操作と編集された顔の部位の変更効果とを直感的に見ることができ、見るものが得られるものであることを実現できる。したがって、編集操作は、ユーザ要求をより良く満たすことができ、ユーザ体験を改善できる。
【００９８】
この出願のこの実施例では、編集ユニットは、以下のもの、すなわち、
操作対象の顔の部位を移動するように構成された第１の編集モジュール、
操作対象の顔の部位を回転するように構成された第２の編集モジュール、
操作対象の顔の部位を拡大するように構成された第１の編集モジュール、及び
操作対象の顔の部位を縮小するように構成された第１の編集モジュール
のうち少なくとも１つを含む。
【００９９】
この実施例では、編集を実現する操作方式は、以下のもの、すなわち、クリック及びドラッグのうち少なくとも１つでもよいが、これらに限定されない。すなわち、以下の編集操作、すなわち、移動、回転、拡大及び縮小のうち少なくとも１つは、異なる操作方式の組み合わせを使用することにより、操作対象の顔の部位に対して実行されてもよい。
【０１００】
例えば、図３に示すように、操作対象の部位がクリックを用いて選択され、回転、縮小及び移動のような編集操作が操作対象の部位に対して実行されたときに、図３の左側から図３の右側に示す編集内容のプロセスが実現されてもよい。
【０１０１】
この出願において提供されるこの実施例では、異なる編集操作が顔モデルにおける操作対象の顔の部位に対して直接実行され、それにより、編集操作を簡略化し、編集効率を改善し、従来技術における比較的高い操作の複雑性の問題を克服する。
【０１０２】
この出願の実施例に従って、顔モデル編集方法を実現するように構成された顔モデル編集端末が更に提供される。図８に示すように、端末は、
顔モデルを取得するように構成された通信インタフェース802であり、顔モデルは複数の顔の部位を含む、通信インタフェース802と、
通信インタフェース802に接続され、顔モデルを記憶するように構成されたメモリ804と、
通信インタフェース802及びメモリ804に接続され、表示された顔モデルにおけるカーソルの位置を検出するように構成され、位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定するように更に構成され、操作対象の顔の部位に対する選択操作を検出するように更に構成され、操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集するように更に構成され、顔モデルにおいて編集された操作対象の顔の部位を表示するように更に構成されたプロセッサ806と
を含む。
【０１０３】
この出願のこの実施例において、メモリ804は、第１の検出命令と、決定命令と、第２の検出命令と、編集命令と、第１の表示命令とを含む機械読み取り可能命令を記憶するように構成された不揮発性コンピュータ読み取り可能記憶媒体でもよい。この出願の他の実施例では、機械読み取り可能命令は、第２の表示命令と、第３の表示命令とを更に含む。
【０１０４】
プロセッサ806は、メモリ804に記憶された機械読み取り可能命令を読み取るように構成され、それにより、実施例における顔モデル編集方法のステップ及び顔モデル編集装置内のユニットの機能を実現する。
【０１０５】
この実施例における具体的な例については、顔モデル編集方法及び装置の実施例に記載の例を参照する。
【０１０６】
この出願のこの実施例は、顔モデル編集方法を実現するために使用される適用シナリオを提供し、実施例の適用環境は、顔モデル編集方法及び装置の実施例のものと同じである。
【０１０７】
この実施例では、顔モデル編集方法は、ゲームキャラクタの顔のメイクアッププロセス、又はゲームキャラクタの顔の化粧プロセスに適用されてもよいが、これらに適用されることに限定されない。例えば、ゲームキャラクタの顔をより繊細且つ美的にするために、ゲームキャラクタの顔は、実施例において提供される顔モデル編集方法を使用することにより編集されてもよく、それにより、クライアント内で表示されるゲームキャラクタの顔の繊細さを改善する。
【０１０８】
この出願のこの実施例では、顔モデル編集方法がゲームキャラクタの顔のメイクアッププロセスに適用される例が使用される。例えば、ゲームキャラクタの有効部分はUV空間にトリミングされ、編集方法は、トリミング後に取得された顔の領域に適用され、それにより、異なる顔モデルを構築し、例えば、トリミング後に取得された目の部位のための目のメイクアップの複数のスタイルを設計する。このように、図９に示すように、ゲームキャラクタの顔型が構築されたときに、異なるメイクアップの見た目が、置換を実行するために、顔に基づくマップ（図９の右側に示す）上の局所部位の領域について選択されてもよい。例えば、提供された置換リソース、すなわち、目の部分の部位（図９に示す眉毛）のメイクアップの見た目の切り取られた画像（図９の中央に示す）が選択される。実線のフレームに示すメイクアップの見た目が選択された場合、図９の左側に示すように、ゲームキャラクタの最終的な顔型が取得されてもよい。この出願の実施例において提供される方法を使用することにより、ゲームキャラクタのメイクアップの見た目がより多様になってもよく、それにより、ゲームキャラクタの役の形式を豊富にする。
【０１０９】
局所部位の領域の切り取られた画像を取得する具体的なプロセスは以下の通りでもよい。
【０１１０】
DiffuseMap、SpecularMap及びNormalMap内の有効部分は、2のN乗（16*16、32*32、32*64、64*128）のサイズに従ってトリミングされ、座標位置が記録される。
レジストリ構成：
mMakeupID=”171”（メイクアップの見た目の美術リソースID）
<mTexSizeBias  v="512"/>  <mTexSizeBias  v=”128”/>  （トリミングのマップサイズ）
<mTexSizeBias  v=”512”  <mTexSizeBias  v=”436”（元のサイズのマップ内のマップのインデックス位置）
レジストリ構成は、具体的には以下の通りでもよい。
<mFacialMakeupParts  mMakeupID=”171”  mMakeupID=”EMP_Eyebrow”  mSexualType=”1”  mDiffuseFilePath=”F_Eyebrow_0001_D.dds”  mSpecFilePath=”F_Eyebrow_0001_S.dds”  mNormalFilePath=”F_Eyebrow_0001_N.dds”  mIconImage=”F_Eyebrow_0001”>
<mTexSizeBias  IsStaticArray=”1”  ArrayCount=”4”  [XlsProp]=”0”>
<mTexSizeBias  v  =”512”/>
<mTexSizeBias  v  =”128”/>
<mTexSizeBias  v  =”512”/>
<mTexSizeBias  v  =”436”/>
</mTexSizeBias>
</mFacialMakeupParts>
例えば、図１０に示すように、トリミングされたオブジェクトが目の部分の部位（眉毛等）として選択された後に、DiffuseMap、SpecularMap及びNormalMap内の対応するコンテンツがトリミングされ、元のサイズが1024*1024であるコンテンツは、トリミングサイズが512*128であるコンテンツにトリミングされる。
【０１１１】
さらに、局所部位の領域の異なる切り取られた画像がトリミングを通じて取得された後にゲームキャラクタを構築するプロセスにおいて、必要な切り取られた画像は、ゲームキャラクタの顔を構築するためにクリックを用いて直接選択されてもよいが、これに限定されない。図１１に示すように、「目のメイクアップ」、「唇のメイクアップ」又は「皮膚」のようなコンテンツのそれぞれ切り取られた画像が選択されて置換され、それにより、必要な顔型を取得する。
【０１１２】
従来技術では、顔は、通常では退屈で複雑なスライドバー方式で編集される。しかし、この実施例において提供される顔編集方法を使用することにより、ゲームアプリケーション内の異なるユーザの要求が満たされることができるだけでなく、アプリケーション実行プロセスにおいて、ユーザがスムーズな実行のケースにおいて多様な顔の編集を実現することも確保でき、それにより、システム消費をかなり低減し、役の形式を豊富にする。
【０１１３】
この出願の実施例は、記憶媒体を更に提供し、記憶媒体は不揮発性記憶媒体である。この実施例では、記憶媒体は、以下のステップ、すなわち、
表示された顔モデルにおけるカーソルの位置を検出するステップであり、表示された顔モデルは複数の顔の部位を含む、ステップと、
位置に従って、複数の顔の部位のうち操作対象の顔の部位を決定するステップと、
操作対象の顔の部位に対する選択操作を検出するステップと、
操作対象の顔の部位に対する取得された編集操作に応じて、操作対象の顔の部位を編集するステップと、
顔モデルにおいて編集された操作対象の顔の部位を表示するステップと
を実行するために使用されるプログラムコードを記憶するように構成される。
【０１１４】
この実施例において、前述の記憶媒体は、USBフラッシュドライブ、読み取り専用メモリ（ROM）、ランダムアクセスメモリ（RAM）、取り外し可能ハードディスク、磁気ディスク又は光ディスクのようなプログラムコードを記憶できるいずれかの媒体を含んでもよいが、これらに限定されない。
【０１１５】
この実施例における具体的な例について、顔モデル編集方法及び装置の実施例を参照する。
【０１１６】
この出願の前述の実施例のシーケンス番号は、単に説明目的のためのものであり、実施例の好ましさを示すものではない。
【０１１７】
前述の実施例における統合されたユニットがソフトウェア機能モジュールの形式で実現されて独立したプロダクトとして販売又は使用されるときに、統合されたユニットは、前述のコンピュータ読み取り可能記憶媒体に記憶されてもよい。このような理解に基づいて、この出願の技術的解決策は本質的に、或いは従来技術に寄与する部分、又は技術的解決策の全部若しくは一部は、ソフトウェアプロダクトの形式で実現されてもよい。コンピュータソフトウェアプロダクトは、記憶媒体に記憶され、１つ以上のコンピュータデバイス（パーソナルコンピュータ、サーバ、ネットワークデバイス等でもよい）に対してこの出願の実施例に記載の方法のステップの全部又は一部を実行するように命令するためのいくつかの命令を含む。
【０１１８】
この出願の前述の実施例において、実施例の説明は異なる重点を有し、１つの実施例において詳細に記載されていない部分については、他の実施例の関係する説明に参照が行われることができる。
【０１１９】
本出願において提供されるいくつかの実施例において、開示のクライアントは他の方式で実現されてもよいことが理解されるべきである。記載の装置の実施例は、単なる例である。ユニットの分割は単に論理的な機能分割であり、実際の実現方式では他の分割でもよい。例えば、複数のユニット又はコンポーネントは組み合わされてもよく、或いは他のシステムに統合されてもよく、或いはいくつかの機能が省略されてもよく、或いは実行されなくてもよい。さらに、表示又は説明した相互結合又は直接結合若しくは通信接続は、いくつかのインタフェース通じて実現されてもよい。ユニット又はモジュールの間の間接結合又は通信接続は、電子的又は他の形式で実現されてもよい。
【０１２０】
別々の部分として記載したユニットは、物理的に別々でもよく、或いは別々でなくてもよく、ユニットとして表示された部分は、物理ユニットでもよく、或いは物理ユニットでなくてもよく、１つの場所に位置してもよく、或いは複数のネットワークユニットに分散されてもよい。ユニットの一部又は全部は、実施例の解決策の目的を達成するために、実際のニーズに従って選択されてもよい。
【０１２１】
さらに、この出願の実施例における機能ユニットは、１つの処理ユニットに統合されてもよく、或いはユニットのそれぞれが物理的に別々に存在してもよく、或いは２つ以上のユニットが１つのユニットに統合されてもよい。統合されたユニットは、ハードウェアの形式で実現されてもよく、或いはソフトウェア機能ユニットの形式で実現されてもよい。
【０１２２】
前述の説明は、この出願の単に好ましい実施例に過ぎず、当業者は、この出願の要旨を逸脱することなく、様々な改善及び改良を行い得る点に留意すべきである。全てのこのような変更及び改良も、この出願によりカバーされることを意図するべきである。
【図１】
2019512141.tif 000007
【図２】
2019512141.tif 000008
【図３】
2019512141.tif 000009
【図４】
2019512141.tif 000010
【図５】
2019512141.tif 000011
【図６】
2019512141.tif 000012
【図７】
2019512141.tif 000013
【図８】
2019512141.tif 000014
【図９】
2019512141.tif 000015
【図１０】
2019512141.tif 000016
【図１１】
2019512141.tif 000017
【国際調査報告】
2019512141.tif 000018
2019512141.tif 000019
2019512141.tif 000020
2019512141.tif 000021