IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ▲騰▼▲訊▼科技(深▲セン▼)有限公司の特許一覧

特許7394977アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体
<>
  • 特許-アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体 図1
  • 特許-アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体 図2
  • 特許-アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体 図3
  • 特許-アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体 図4
  • 特許-アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体 図5
  • 特許-アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体 図6
  • 特許-アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体 図7
  • 特許-アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体 図8
  • 特許-アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体 図9
  • 特許-アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体 図10
  • 特許-アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体 図11
  • 特許-アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体 図12
  • 特許-アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-30
(45)【発行日】2023-12-08
(54)【発明の名称】アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体
(51)【国際特許分類】
   G06T 13/40 20110101AFI20231201BHJP
   A63F 13/60 20140101ALI20231201BHJP
【FI】
G06T13/40
A63F13/60
【請求項の数】 14
(21)【出願番号】P 2022519774
(86)(22)【出願日】2020-11-02
(65)【公表番号】
(43)【公表日】2022-11-30
(86)【国際出願番号】 CN2020125924
(87)【国際公開番号】W WO2021155686
(87)【国際公開日】2021-08-12
【審査請求日】2022-03-29
(31)【優先権主張番号】202010080149.0
(32)【優先日】2020-02-04
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【弁理士】
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】▲劉▼ 杰
(72)【発明者】
【氏名】李 静翔
(72)【発明者】
【氏名】▲張▼ ▲華▼
【審査官】粕谷 満成
(56)【参考文献】
【文献】特開2009-169910(JP,A)
【文献】米国特許出願公開第2019/0266796(US,A1)
【文献】特開2011-138350(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 13/40
A63F 13/60
(57)【特許請求の範囲】
【請求項1】
コンピューティング機器によって実行される、アニメーションを作成する方法であって、該方法は、
非基準骨格姿勢に対する姿勢選択命令に応答して、目標プラグインノードを呼び出し、前記目標プラグインノードは前記姿勢選択命令に基づき、非基準骨格外形モデル集合から非基準骨格姿勢が対応する非基準骨格外形モデルを取得するステップと、
アニメーションキャラクタの目標骨格姿勢パラメータのパラメータ入力命令に基づき、目標骨格姿勢を決定し、且つ取得した非基準骨格姿勢の非基準骨格外形モデルに基づいて、前記目標骨格姿勢の目標骨格外形モデルを生成するステップと、を含むアニメーションを作成する方法。
【請求項2】
非基準骨格姿勢に対する姿勢選択命令に応答して、目標プラグインノードを呼び出し、前記目標プラグインノードは前記姿勢選択命令に基づき、非基準骨格外形モデル集合から非基準骨格姿勢が対応する非基準骨格外形モデルを取得する前記ステップは、
前記姿勢選択命令が骨格姿勢の使用禁止を指示することに用いられる場合に、前記非基準骨格外形モデル集合から、前記姿勢選択命令に基づいて使用禁止を指示されていない非基準骨格姿勢が対応する非基準骨格外形モデルを獲得するステップと、
前記姿勢選択命令が骨格姿勢の使用を指示することに用いられる場合に、前記非基準骨格外形モデル集合から、前記姿勢選択命令に基づいて使用を指示された非基準骨格姿勢が対応する非基準骨格外形モデルを獲得するステップと、を含む、ことを特徴とする請求項1に記載の方法。
【請求項3】
該方法は、
姿勢削除命令に応答して、前記姿勢削除命令に対応する非基準骨格外形モデルを削除するステップをさらに含む、ことを特徴とする請求項1に記載の方法。
【請求項4】
前記目標骨格姿勢の目標骨格外形モデルを生成する前記ステップの後に、
前記目標骨格姿勢の目標骨格外形モデルを非基準骨格外形モデルとして前記非基準骨格外形モデル集合に記憶するステップをさらに含む、ことを特徴とする請求項1に記載の方法。
【請求項5】
前記取得した非基準骨格姿勢には少なくとも2つの取得した非基準骨格姿勢が含まれており、取得した非基準骨格姿勢の非基準骨格外形モデルに基づいて、前記目標骨格姿勢の目標骨格外形モデルを生成する前記ステップは、
いずれか1つの取得した非基準骨格姿勢に対して、前記非基準骨格姿勢と前記目標骨格姿勢との間のベクトル距離を決定するステップであって、骨格姿勢は三次元3D数学的ベクトルである、ステップと、
ラジアル基底関数RBFの目標ラジアル関数に基づいて、それぞれ取得した各々の非基準骨格姿勢が対応するベクトル距離をラジアル関数空間に変換するステップと、
前記ラジアル関数空間において各々のベクトル距離に対してそれぞれ線形マッピングを行い、各々のベクトル距離が対応する非基準骨格姿勢の重みを決定するステップと、
取得した各々の非基準骨格姿勢の重みに基づき、対応する非基準骨格外形モデルを加重和し、前記目標骨格姿勢の目標骨格外形モデルを生成するステップと、を含む、ことを特徴とする請求項1~4のいずれか一項に記載の方法。
【請求項6】
該方法は、
関数選択命令に応答して予め設定されたラジアル関数から前記目標ラジアル関数を選択するステップであって、前記目標ラジアル関数の関数値はベクトル距離の二乗に比例し、且つ前記ベクトル距離に対応して比例する、ステップをさらに含む、ことを特徴とする請求項5に記載の方法。
【請求項7】
アニメーションを作成する装置であって、該装置は、呼び出しユニットと、生成ユニットと、を含み、
前記呼び出しユニットは、非基準骨格姿勢に対する姿勢選択命令に応答して、目標プラグインノードを呼び出し、前記目標プラグインノードは前記姿勢選択命令に基づき、非基準骨格外形モデル集合から非基準骨格姿勢が対応する非基準骨格外形モデルを取得することに用いられ、
前記生成ユニットは、アニメーションキャラクタの目標骨格姿勢パラメータのパラメータ入力命令に基づき、目標骨格姿勢を決定し、且つ取得した非基準骨格姿勢の非基準骨格外形モデルに基づいて、前記目標骨格姿勢の目標骨格外形モデルを生成することに用いられるアニメーションを作成する装置。
【請求項8】
前記呼び出しユニットは、
前記姿勢選択命令が骨格姿勢の使用禁止を指示することに用いられる場合に、前記非基準骨格外形モデル集合から、前記姿勢選択命令に基づいて使用禁止を指示されていない非基準骨格姿勢が対応する非基準骨格外形モデルを獲得することと、
前記姿勢選択命令が骨格姿勢の使用を指示することに用いられる場合に、前記非基準骨格外形モデル集合から、前記姿勢選択命令に基づいて使用を指示された非基準骨格姿勢が対応する非基準骨格外形モデルを獲得することと、に用いられる、ことを特徴とする請求項7に記載の装置。
【請求項9】
該装置は削除ユニットをさらに含み、
前記削除ユニットは、姿勢削除命令に応答して、前記姿勢削除命令に対応する非基準骨格外形モデルを削除することに用いられる、ことを特徴とする請求項7に記載の装置。
【請求項10】
前記生成ユニットはさらに、
前記目標骨格姿勢の目標骨格外形モデルを非基準骨格外形モデルとして前記非基準骨格外形モデル集合に記憶することに用いられる、ことを特徴とする請求項7に記載の装置。
【請求項11】
前記生成ユニットは、
いずれか1つの取得した非基準骨格姿勢に対して、前記非基準骨格姿勢と前記目標骨格姿勢との間のベクトル距離を決定することであって、骨格姿勢は三次元3D数学的ベクトルである、ことと、
ラジアル基底関数RBFの目標ラジアル関数に基づいて、それぞれ取得した各々の非基準骨格姿勢が対応するベクトル距離をラジアル関数空間に変換することと、
前記ラジアル関数空間において各々のベクトル距離に対してそれぞれ線形マッピングを行い、各々のベクトル距離が対応する非基準骨格姿勢の重みを決定することと、
取得した各々の非基準骨格姿勢の重みに基づき、対応する非基準骨格外形モデルを加重和し、前記目標骨格姿勢の目標骨格外形モデルを生成することと、に用いられる、ことを特徴とする請求項7~9のいずれか一項に記載の装置。
【請求項12】
前記生成ユニットはさらに、
関数選択命令に基づき予め設定されたラジアル関数から前記目標ラジアル関数を選択することに用いられ、前記目標ラジアル関数の関数値はベクトル距離の二乗に比例し、且つ前記ベクトル距離に対応して比例する、ことを特徴とする請求項11に記載の装置。
【請求項13】
コンピューティング機器であって、メモリと、プロセッサと、を含み、前記メモリ中にコンピュータ読み取り可能な命令が記憶されており、前記コンピュータ読み取り可能な命令は前記プロセッサによって実行されたときに、前記プロセッサに請求項1~6のいずれか一項に記載の方法のステップを実行させる、コンピューティング機器。
【請求項14】
コンピュータ読み取り可能な命令が記憶された1つ又は複数の不揮発性記憶媒体であって、前記コンピュータ読み取り可能な命令は1つ又は複数のプロセッサによって実行されたときに、前記プロセッサに請求項1~6のいずれか一項に記載の方法を実行させる、不揮発性記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本出願はコンピュータ技術に関し、アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体を提供する。
【0002】
本出願は2020年2月4日に中国特許庁に提出した、出願番号が第2020100801490号、出願の名称が「アニメーションを作成する方法、装置及び記憶媒体」である中国特許庁出願の優先権を主張しており、その全内容は引用によって本出願に組み込まれている。
【背景技術】
【0003】
アニメーションキャラクタはゲーム、映像に広く応用されており、ゲームにおけるアニメーションキャラクタ又は映像におけるアニメーションキャラクタを生産して作成するときに、主にアニメーションキャラクタの骨格の姿勢により、アニメーションキャラクタの外形モデルを決定する。
【0004】
アニメーションキャラクタを作成するときに、まず、アニメーション作成ソフトウェア又はゲームエンジンにおいてアニメーションキャラクタの基準骨格姿勢及び対応する外形モデルを予め構築する。ここで外形モデルは人間の体表の皮膚に類似し、骨格姿勢は人間の骨格に類似しており、アニメーションキャラクタの腕姿勢の模式図である図1に示される通りである。骨格位置は外形モデルに対応する必要があるが、一例として肘が曲がるときに上腕が隆起し、筋肉が隆起するような感じを生じさせ、同時に上下腕が接続した部分が圧縮され、実在の人物の筋肉が圧迫されるような様子を模擬する必要がある。図2に示すように、肘が曲がったときのアニメーションキャラクタの腕姿勢の模式図である。アニメーションキャラクタが本物そっくりに見えるようにするためには、アニメーションキャラクタの体表姿勢は全身の骨格の動きに応じて、対応するように変形をする必要がある。
【0005】
現在、アニメーションキャラクタを作成するごとに、いくつかの特定骨格姿勢を予め作成する必要があり、且つ全ての予め作成した特定骨格姿勢を使用してアニメーションキャラクタをさらに作成する。しかし、いくつかの特定骨格姿勢はアニメーションキャラクタの表示効果に影響することがある。このような悪影響を回避するために、このうちの一部の特定骨格姿勢だけを使用して作成することになり、使用されていない特定骨格姿勢は削除されることになる。このような手段では、再度使用するときに削除された特定骨格姿勢を改めて作成する必要があり、その結果、アニメーション作成のための作業量が比較的大きくなり、かつ効率が比較的低くなる。
【発明の概要】
【課題を解決するための手段】
【0006】
本出願の各種の実施例によれば、アニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体を提供する。
【0007】
第1の態様では、本出願は、アニメーションを作成する方法を提供し、コンピューティング機器によって実行され、該方法は、
非基準骨格姿勢に対する姿勢選択命令に応答して、目標プラグインノードを呼び出し、姿勢選択命令に基づき、非基準骨格外形モデル集合から非基準骨格姿勢が対応する非基準骨格外形モデルを取得するステップであって、非基準骨格外形モデル集合に各々の非基準骨格姿勢が対応する非基準骨格外形モデルが含まれる、ステップと、
アニメーションキャラクタの目標骨格姿勢パラメータのパラメータ入力命令に基づき、目標骨格姿勢を決定し、且つ取得した非基準骨格姿勢の非基準骨格外形モデルに基づいて、目標骨格姿勢の目標骨格外形モデルを生成するステップと、を含む。
【0008】
第2の態様では、本出願は、アニメーションキャラクタを作成する装置を提供し、該装置は、
呼び出しユニットと、生成ユニットと、を含み、
呼び出しユニットは、非基準骨格姿勢に対する姿勢選択命令に応答して、目標プラグインノードを呼び出し、姿勢選択命令に基づき、非基準骨格外形モデル集合から非基準骨格姿勢が対応する非基準骨格外形モデルを取得することに用いられ、非基準骨格外形モデル集合に各々の非基準骨格姿勢が対応する非基準骨格外形モデルが含まれ、及び
生成ユニットは、アニメーションキャラクタの目標骨格姿勢パラメータのパラメータ入力命令に基づき、目標骨格姿勢を決定し、且つ取得した非基準骨格姿勢の非基準骨格外形モデルに基づいて、目標骨格姿勢の目標骨格外形モデルを生成することに用いられる。
【0009】
第3の態様では、本出願の実施例はアニメーションを作成するコンピューティング機器を提供し、メモリと、プロセッサとを含み、前記メモリ中にコンピュータ読み取り可能な命令が記憶されており、前記コンピュータ読み取り可能な命令は前記プロセッサによって実行されたときに、前記プロセッサに上記アニメーションを作成する方法のステップを実行させる。
【0010】
第4の態様では、本出願の実施例は、コンピュータ読み取り可能な命令が記憶された1つ又は複数の不揮発性記憶媒体を提供し、前記コンピュータ読み取り可能な命令は1つ又は複数のプロセッサによって実行されたときに、前記プロセッサに上記アニメーションを作成する方法のステップを実行させる。
【0011】
本出願の有益な効果は以下のとおりである。
【0012】
本出願のアニメーションを作成する方法、装置及び記憶媒体は、非基準骨格姿勢の姿勢選択命令に基づき、目標プラグインノードを呼び出し、且つ非基準骨格外形モデル集合から姿勢選択命令に基づき決定した非基準骨格姿勢が対応する非基準骨格外形モデルを取得し、且つ取得した非基準骨格姿勢の非基準骨格外形モデルに基づいて、目標骨格姿勢の目標骨格外形モデルを生成する。ここで、目標骨格姿勢はアニメーションキャラクタの目標骨格姿勢パラメータのパラメータ入力命令に基づき決定されるものである。プラグインノードからアニメーションの骨格外形モデルを作成することに用いられる非基準骨格姿勢を選び、アニメーションキャラクタ作成過程における柔軟性を高め、かつ選ばれていない非基準骨格姿勢が削除されることはないため改めて作成する必要はなく、計算量を減少させ、実行効率を向上させる。
【0013】
本出願の他の特徴及び利点は以降の明細書において述べられており、部分的に明細書において明らかにされているか、又はは本出願を実施することにより把握される。本出願の目的及び他の利点は、記載される明細書、特許請求の範囲、及び図面において特に明記される構造によって、実現及び取得されてもよい。
【0014】
本出願の実施例における技術的手段をより明確に説明するために、以下、実施例の陳述において使用する必要がある図面を簡単に紹介する。明らかなように、以下の陳述における図面は本出願のいくつかの実施例に過ぎず、当業者にとっては、創造的な努力をしない前提下で、またこれらの図面に基づき他の図面を取得することができる。
【図面の簡単な説明】
【0015】
図1】アニメーションキャラクタの腕姿勢の模式図である。
図2】肘が曲がったときのアニメーションキャラクタの腕姿勢の模式図である。
図3】関連技術において非基準骨格姿勢が対応する外形モデルを生成する模式図である。
図4】本出願の実施例が提供するアニメーションを作成する応用シナリオの模式図である。
図5】本出願の実施例が提供するアニメーションを作成する方法のフローチャートである。
図6】本出願の実施例が提供する姿勢選択命令をトリガーすることに用いられる表示インターフェイスである。
図7】本出願の実施例が提供する姿勢選択命令をトリガーする模式図である。
図8】本出願の実施例が提供する姿勢選択命令をトリガーすることに用いられる別の表示インターフェイスである。
図9】本出願の実施例が提供する目標ラジアル関数を決定する表示インターフェイス図である。
図10】本出願の実施例が提供するプラグインノードによりアニメーションを作成することを実現するフローチャートである。
図11】本出願の実施例が提供する非基準骨格外形モデルに基づいて生成される目標骨格外形モデルの模式図である。
図12】本出願の実施例が提供するアニメーションを作成する装置の構造図である。及び
図13】本出願の実施例が提供するアニメーションを作成するコンピューティング機器の構造図である。
【発明を実施するための形態】
【0016】
本出願の目的、技術的手段及び有益な効果をより明確かつ明瞭にするために、以下、本出願の実施例における図面と併せて、本出願の実施例における技術的手段を明確かつ、完全に陳述する。明らかなように、陳述する実施例は本出願の一部の実施例に過ぎず、全ての実施例ではない。本出願における実施例に基づいて、当業者が創造的な努力をしない前提下で取得した全ての他の実施例は、いずれも本出願が保護する範囲に属する。
【0017】
以下、当業者が理解しやすいように、本出願の実施例における一部の用語を解釈して説明する。
【0018】
アニメーション作成ソフトウェア:アニメーションキャラクタの作成に採用する一種のソフトウェアの総称である。アニメーション作成ソフトウェアは、Mayaソフトウェア、Blenderソフトウェア、及びHoudiniソフトウェアなどを含む。Mayaソフトウェアはモデリング、アニメーション、レンダリング及び特殊効果などの機能を含み、一種の三次元モデリングアニメーションソフトウェアである。Blenderソフトウェアは、一種のオープンソースのクロスプラットフォームオールラウンド三次元アニメーション作成ソフトウェアであり、モデリング、アニメーション、材質、レンダリング、オーディオ処理及びビデオクリップなどのアニメーション作成手段を含む。Houdiniソフトウェアは、一種の三次元コンピュータグラフィックスソフトウェアである。
【0019】
アニメーションキャラクタ:3D(Three-Dimensional、三次元)ゲームエンジン又はアニメーション作成ソフトウェアによってアニメーション作成を行い、且つ3D図形モデリングレンダリング技術を利用して描画した仮想キャラクタである。該仮想キャラクタは、骨格姿勢と体表姿勢を有する仮想対象、一例として、仮想人物、仮想動物であってもよい。
【0020】
骨格アニメーション:各アニメーションキャラクタは、少なくとも骨格姿勢と体表姿勢の2種類のデータを含み、ゲーム/映像アニメーション作成過程において、骨格姿勢により体表姿勢を変えて作成するアニメーションは、骨格アニメーションと呼ばれる。
【0021】
アニメーションキャラクタ外形Skinning:アニメーションキャラクタ外形は骨格姿勢の変化に応じて変化することになる。このため、骨格を定義する必要があり、且つ該骨格が外形モデル上の頂点を駆動できることを定義する。Skinningの過程は、全ての骨格と外形モデル頂点との駆動関係を規定する過程であり、骨格の姿勢が変わるときに、外形モデルの頂点もこれに応じて変化するため、即ち、アニメーションキャラクタの外形モデルは変化する。図1に示すように、図1に示す骨格姿勢及び外形モデルが初期姿勢であると仮定すると、骨格姿勢が図1の姿勢から図2の姿勢に変化するときに、外形モデルも同時に変化し、即ち、図1の外形モデルから図2の外形モデルに変化する。外形モデルの変化は、骨格が外形モデルの頂点を駆動して、外形モデルを変化させることによるものである。
【0022】
RBF(Radial Basis Function、ラジアル基底関数)アルゴリズム:1組の状態の間で数学的補間を行い、新状態を得ることのできるアルゴリズムである。
【0023】
PoseDriver方法:RBFアルゴリズムを利用して、アニメーションキャラクタの骨格姿勢を読み取った後に、新キャラクタの外形状態を得る一種の手段である。
【0024】
BlendShape:形状融合変形器は、一種のデータ記憶形式であり、アニメーションキャラクタ外形モデルデータを記録している。
【0025】
モデラ:骨格姿勢と外形モデルとの駆動関係を決める作成者である。モデラはアニメーションキャラクタの骨格姿勢とアニメーションキャラクタの外形モデルとの間の対応関係を構築する。そして、骨格姿勢を変えるときに、アニメーションキャラクタの外形モデルはSkinning過程を通じて対応するように変わる。
【0026】
以下、本出願の実施例の設計構想を簡単に紹介する。
【0027】
アニメーション作成ソフトウェア、又はゲームエンジンによりアニメーションキャラクタを作成し、主にアニメーションキャラクタにおける骨格アニメーションを作成する。1つの方法は、PoseDriver(姿勢駆動)方法を採用して、アニメーションキャラクタの外形モデルに表面変形をさせることで、新しい外形モデルを得ることである。本実施例では、アニメーション作成Mayaソフトウェアによりアニメーションキャラクタを作成することを例に挙げる。
【0028】
表面変形とは、外形モデルが骨格姿勢に応じて変化する過程を指す。表面変形のときにSkinningによって規定される駆動関係を利用して変化をさせると、外形モデルには基本的な変化が生じることになるが、変化の効果はよくない。より良好な視覚的効果を達成させ、そしてモデラの経験に基づくカスタムメイドの効果を達成できるようにするために、Skinningを基礎としてPoseDriverを使用して変化させることで、新しい外形モデルを得る。
【0029】
PoseDriver過程においては、モデラは骨格の異なる姿勢下での外形モデルを予め定義する必要がある。上腕の骨格を例にして、通常は、上腕が水平であること、上腕が前向きであること、上腕が上向きであること、上腕が下向きであること、及び上腕が後向きであること、という5つの基準骨格姿勢を定義する。
【0030】
モデラは、非基準骨格姿勢が対応する外形モデルを作成するときに、予め定義した5つの基準骨格姿勢及び対応する基準骨格外形モデルを使用し、且つアニメーション作成ソフトウェアにおいて作成を完了する。この過程において、非基準骨格姿勢及び基準骨格姿勢が対応する基準骨格外形モデルを使用することにより、Skinning過程を利用して非基準骨格姿勢が対応する非基準骨格外形モデルを決定する。このとき、モデラは現在の非基準骨格外形モデルがニーズを満足できないと考えられると、モデラはニーズに基づき非基準骨格姿勢が対応する非基準骨格外形モデルを修正して、要件を満足する非基準骨格形モデルを得ることになる。要求を満足する非基準骨格外形モデルを得た後に、逆座標空間変換を1回経て、非基準骨格外形モデルをSkinning過程の前の座標系に変換する。この過程はInvertShape計算と呼ばれてもよい。その後、InvertShape計算を経た後のモデル及び基準骨格姿勢が対応する外形モデルを全て同一の座標システムに統一する。図3に、非基準骨格姿勢が対応する非基準骨格外形モデルを生成する模式図を示す。アニメーション作成分野において、非基準骨格姿勢は一般には特定骨格姿勢と呼ばれ、それにより基準骨格姿勢と区別ており、対応するように、非基準骨格姿勢が対応する外形モデルも、特定骨格外形モデルと呼ばれる。
【0031】
非基準骨格姿勢及び対応する非基準骨格外形モデルを生成した後、生成済みの非基準骨格姿勢及び対応する非基準骨格外形モデルを利用して、任意の新しい骨格姿勢が対応する外形モデルを決定してもよい。
【0032】
アニメーションキャラクタの上腕の骨格を例にして、新しい骨格姿勢が対応する外形モデルを決定する。具体的に言えば、
非基準骨格姿勢は、一般には、いくつかのパラメータ、例えば動作命令パラメータ、骨格の曲がりの角度パラメータなどにより定義されるものである。これらのパラメータは骨格姿勢パラメータと総称され、入力した骨格姿勢パラメータに基づき、生成する必要がある目標骨格姿勢を決定してもよい。アニメーションを作成するときに、アニメーションキャラクタに対する入力パラメータを受信すると、アニメーションキャラクタの上腕の骨格がまず動き、新しい目標骨格姿勢が生じ、さらに、非基準骨格姿勢が対応する非基準骨格外形モデルに基づき、新しい目標骨格姿勢が対応する外形モデルを生成する。
【0033】
現在、新目標骨格姿勢のために外形モデルを生成する過程において予め生成された非基準骨格姿勢を使用禁止することができない。ある非基準骨格姿勢を使用禁止すると、使用禁止される非基準骨格姿勢及び対応する非基準骨格外形モデルを削除する必要がある。そのため、現在の技術的手段では、非基準骨格姿勢を保留することができない場合に、ある非基準骨格姿勢を使用禁止すると、この非基準骨格姿勢及び対応する非基準骨格外形モデルを削除しなければならない。しかし、この非基準骨格姿勢を再度使用する必要があると、非基準骨格姿勢が対応する非基準骨格外形モデルを改めて生成する必要がある。しかしながら、非基準骨格外形モデルを削除し且つ改めて生成するための作業量が比較的大きく、アニメーションキャラクタ作成効率に影響する。
【0034】
同時に、この使用禁止する必要がある非基準骨格姿勢を削除しない場合、新しい骨格姿勢に基づき対応する外形モデルを生成するときに、全部の非基準骨格姿勢及び対応する非基準骨格外形モデルを使用することになるため、新しい骨格姿勢が対応する外形モデルの自然さに影響することを引き起こす。また、全ての非基準骨格姿勢を採用して対応する外形モデルを生成するために、計算量が大きく、アニメーションキャラクタを作成する効率に影響する。
【0035】
以上に鑑み、上記存在する問題に対して、本出願の実施例はアニメーションを作成する方法、装置、コンピューティング機器及び記憶媒体を提供する。本出願の実施例は、人工知能(Artificial Intelligence、AI)及び機械学習技術に関し、人工知能におけるコンピュータビジョン(Computer Vision、CV)技術及び機械学習(Machine Learning、ML)に基づいて設計される。
【0036】
人工知能は、デジタルコンピュータ、又はデジタルコンピュータが制御する機械を利用して人の知能を模擬し、延長し、拡張し、環境を感知し、知識を獲得し且つ知識を使用して最適な結果を取得する理論、方法、技術及び応用システムである。言い換えれば、人工知能は、コンピュータ科学の1つの総合的な技術であり、それは知能の本質を把握し、且つ人間の知能に似ている方式で反応できる一種の新しい知能機械を製造することを図る。人工知能とは、各種の知能機械の設計原理及び実現方法を研究し、機械に感知、推定及び意思決定の機能を持たせるものである。人工知能技術は、主に、コンピュータビジョン技術、音声処理技術、及び機械学習/深層学習などの複数の重要な方向を含む。
【0037】
人工知能技術の研究及び進歩に伴い、人工知能は、複数の分野において研究及び応用を行っており、例えば一般的なスマートホーム、写真検索、ビデオ監視、スマートスピーカー、スマートマーケティング、無人運転、自動運転、ドローン、ロボット、及びスマート医療などであり、技術の発展に伴い、人工知能はより多くの分野に応用され、且つますます重要な価値を発揮することが信じられる。
【0038】
コンピュータビジョン技術は人工知能の重要な応用であり、それは関連する理論及び技術を研究し、写真、ビデオ、又は多次元データから情報を獲得することで、人のビジョンの代わりとして判定を行う人工知能システムを構築しようとする。典型的なコンピュータビジョン技術は、通常、写真処理とビデオ分析とを含む。本出願の実施例が提供するアニメーションを作成する方法は画像処理に関する。
【0039】
機械学習は1つの学際的な学科であり、確率論、統計学、近似理論、凸解析、及びアルゴリズム複雑性理論などの複数の学科に関する。コンピュータが人間の学習行動をどのように模擬又は実現して、新しい知識又は技能を獲得し、既存の知識構造を改めて組織しそれにより自体の性能を絶えず改善するかを専門的に研究する。機械学習は人工知能のコアであり、コンピュータに知能を持たせる根本的な手段であり、その応用は人工知能の各々の分野に及ぶ。機械学習及び深層学習は、通常、人工ニューラルネットワーク、信念ネットワーク、強化学習、転移学習、及び帰納学習などの技術を含む。本出願の実施例は、アニメーション作成過程において、RBFアルゴリズム、及びPoseDriver方法に基づいてアニメーションキャラクタにおける骨格アニメーションを作成する手段を採用する。
【0040】
本出願が提供するアニメーション作成方法では、選定されていない非基準骨格外形モデルを保留するために、プラグイン技術を利用して、アニメーション作成ソフトウェア外に全ての非基準骨格外形モデルを記憶し、非基準骨格外形モデル集合を形成する。アニメーションを作成するたびに、プラグインを利用して非基準骨格外形モデル集合から選定されている非基準骨格姿勢の外形モデルを呼び出して目標骨格姿勢の外形モデルを作成するため、選定されていない非基準骨格姿勢の外形モデルを削除する必要がない。この原理に基づいて、本出願が提供するアニメーション作成方法は、アニメーションを作成するたびに、非基準骨格姿勢に対する姿勢選択命令に応答して、目標プラグインノードを呼び出し、非基準骨格姿勢の姿勢選択命令に基づき、非基準骨格外形モデル集合から、選定されている非基準骨格外形モデルを取得する。ここで非基準骨格外形モデル集合に各々の非基準骨格姿勢が対応する非基準骨格外形モデルが含まれ、非基準骨格外形モデルを取得した後に、取得した非基準骨格外形モデルに基づいて、目標骨格姿勢の目標骨格外形モデルを生成する。ここで目標骨格姿勢の目標外形モデルは、アニメーションキャラクタに対する目標骨格姿勢パラメータのパラメータ入力命令に基づき決定されるものである。
【0041】
本出願では、目標プラグインノードを呼び出し、姿勢選択命令に基づき、非基準骨格外形モデル集合から非基準骨格姿勢が対応する非基準骨格外形モデルを取得し、且つ取得した非基準骨格外形モデルに基づいて、目標骨格姿勢の目標骨格外形モデルを生成し、実際のニーズに基づきアニメーションキャラクタの骨格外形モデルを作成することに用いられる非基準骨格外形モデルを選んでもよい。アニメーション作成過程における柔軟性を高め、かつ選ばれる非基準骨格外形モデルに基づきより自然な外形モデルを生成でき、かつ選ばれていない非基準骨格外形モデルを使用して目標骨格外形モデルを生成する必要はないために、計算量を減少させ、実行効率を向上させる。
【0042】
同時に、本出願は、プラグインを採用して非基準骨格外形モデル集合を記憶し、アニメーションを作成するときに、非基準骨格外形モデル集合から少なくとも1つの非基準骨格外形モデルを獲得して使用する。そして使用されていない非基準骨格外形モデルは依然として非基準骨格外形モデル集合に記憶されて、削除されない。そのため、非基準骨格外形モデルを改めて作成する必要はなく、作業量を減少させ、実行効率を高める。
【0043】
1つの可能な実現形態では、取得した非基準骨格姿勢の非基準骨格外形モデルに基づいて、目標骨格姿勢の目標骨格外形モデルを生成するときに、少なくとも2つの非基準骨格姿勢、及び対応する非基準骨格外形モデルを取得してもよい。いずれか1つの非基準骨格姿勢に対して、非基準骨格姿勢と目標骨格姿勢との間のベクトル距離を決定し、RBFの目標ラジアル関数に基づいて、それぞれ取得した各々の非基準骨格姿勢が対応するベクトル距離をラジアル関数空間に変換する。ここで目標ラジアル関数は、関数選択命令に基づき予め設定されたラジアル関数から選択されるものであり、ラジアル関数空間において、各々のベクトル距離に対してそれぞれ線形マッピングを行う。各々のベクトル距離が対応する非基準骨格姿勢の重みを決定し、各々の非基準骨格姿勢の重みを使用して非基準骨格姿勢が対応する非基準骨格外形モデルを加重和し、目標骨格姿勢の目標骨格外形モデルを生成する。ここで目標ラジアル関数は[数1]を含み、ここでdはベクトル距離であり、kは定数であり、[数2]を目標ラジアル関数として使用して生成する目標骨格外形モデルは視覚的効果がより良好で自然である。
【0044】
【数1】
【数2】
【0045】
本出願の実施例の設計思想を紹介した後に、以下、本出願で設定された応用シナリオを簡単に説明する。説明する必要がある点として、以下のシナリオは、本出願の実施例を説明することにのみ用いられ、限定するものではない。具体的に実施するときに、実際のニーズに基づき本出願の実施例が提供する技術的手段を柔軟に応用してもよい。
【0046】
図4に示すように、本出願が提供するアニメーションキャラクタを作成する応用シナリオ図である。サーバ40はネットワークによりアニメーション作成ソフトウェア、又はゲームエンジンがインストールされた複数の端末機器41と通信可能に接続される。該ネットワークは、ローカルエリアネットワーク、メトロポリタンエリアネットワーク又はワイドエリアネットワークなどとしてもよいが、これらに限定されるものではない。端末機器41は、パソコン(Personal Computer、PC)、タブレットコンピュータ、パーソナルデジタルアシスタント(Personal DigitalAssistant、PDA)、ノートコンピュータや携帯電話などの端末機器としてもよいし、モバイル端末機器を有するコンピュータとしてもよい。端末機器41は、各種の携帯式、ポケット式、ハンドヘルド式、コンピュータ内蔵型、又は車載型のモバイル装置を含み、これらは、ユーザに音声、データ又は音声及びデータと連結性のある機器を提供し、ワイヤレスアクセスネットワークとの間で音声、データ又は音声及びデータを交換することができる。サーバ40は、インターネットサービスを提供することができ、データを管理して記憶することに用いられる任意のバックグラウンド動作機器であってもよい。
【0047】
本応用シナリオでは、端末機器41は、アニメーション作成ソフトウェア又はゲームエンジンをインストールすることに用いられ、且つ端末機器41の表示画面によりアニメーション作成ソフトウェア又はゲームエンジンの各々の操作インターフェイスを表示し、操作インターフェイスによりユーザがトリガーした各種の操作命令を受信し、操作命令をサーバ40に伝送する。これにより、サーバ40が各種の操作命令に応答し、アニメーションキャラクタ作成を行い、且つ作成したアニメーションキャラクタを端末機器41の表示画面に表示する。
【0048】
1つの可能な応用シナリオでは、通信遅延を簡易に低下させるために、各々のローカル部署にサーバ40を配備してもよく、又は、負荷分散のため、異なるサーバ40はそれぞれ各々の端末機器41が対応するアニメーションキャラクタ作成過程にサービスを与えてもよい。複数のサーバ40は、ブロックチェーンによりデータの共有を実現してもよく、複数のサーバ40は複数のサーバ40からなるデータ共有システムに相当する。例えば端末機器41は地点aに位置し、サーバ40との間で通信接続を行い、端末機器41は地点bに位置し、他のサーバ40との間で通信接続を行う。
【0049】
データ共有システムにおける各サーバ40に対し、いずれも該サーバ40に対応するノード識別子を有し、データ共有システムにおける各サーバ40は全てデータ共有システムにおける他のサーバ40のノード識別子を記憶してもよい。それにより、後で他のサーバ40のノード識別子に基づき、生成したブロックをデータ共有システムにおける他のサーバ40にブロードキャストすることを容易にする。各サーバ40では、下表に示すような1つのノード識別子リストを維持し、サーバ40の名称とノード識別子とを対応付けて該ノード識別子リストに記憶してもよい。ここで、ノード識別子はIP(Internet Protocol、ネットワーク間の相互接続のためのプロトコル)アドレス及び該ノードを識別することに用いることができる他のいずれか1つの情報であってもよく、[表1]においては、IPアドレスのみの例により説明する。
【0050】
【表1】
【0051】
本出願では、端末機器41は、モデラが選択する姿勢を決定し、且つ選択した姿勢をサーバ40に報告する。サーバ40は、姿勢選択命令に応答して、姿勢選択命令に基づき、目標プラグインノードを呼び出し、目標プラグインノードは、姿勢選択命令に基づき、非基準骨格外形モデル集合から非基準骨格姿勢が対応する非基準骨格外形モデルを取得する。端末機器41は、モデラによるアニメーションキャラクタに対する目標骨格姿勢パラメータのパラメータ入力を受信し、且つ入力したパラメータをサーバ40に報告する。サーバ40は、入力されたパラメータに基づき、目標骨格姿勢を決定し、且つ目標骨格姿勢、非基準骨格姿勢及び非基準骨格外形モデルに基づいて、目標骨格姿勢の目標骨格外形モデルを生成する。
【0052】
図4で論じられた応用シナリオに基づいて、以下、本出願の実施例が提供するアニメーションキャラクタを作成する方法に対して紹介を行う。
【0053】
目標骨格に対して入力された目標骨格姿勢パラメータを受信した後に、アニメーションキャラクタの骨格姿勢が変化することを決定し、アニメーションキャラクタの目標骨格姿勢が対応する目標骨格外形モデルを作成する必要がある。
【0054】
アニメーションキャラクタの骨格外形モデルを作成するときに、アニメーションキャラクタの骨格姿勢に基づき、アニメーションキャラクタの骨格外形モデルを変えるために、アニメーションキャラクタに表面変形を生じさせる。1つの骨格に対して、該骨格の異なる姿勢下での骨格外形モデルを予め構築し、該骨格が動いて新しい骨格姿勢が生じるときに、該骨格の予め構築した骨格姿勢と骨格外形モデルとの間の対応関係に基づき、新しい骨格姿勢が対応する骨格外形モデルを生成することになる。しかしながら、全ての予め構築した骨格姿勢及び骨格外形モデルを使用するためには計算量が大きく、実行効率が低く、かつ予め構築した骨格姿勢及び骨格外形モデルは、全てアニメーションキャラクタを作成する条件を満足するものではないため、生じるアニメーションキャラクタの骨格姿勢の外形モデルが自然ではなく、視覚的効果に影響することを引き起こす。ある骨格姿勢及び骨格外形モデルを使用禁止にすると、該骨格姿勢及び対応する骨格外形モデルを削除する必要があり、後で再度使用するときには改めて構築する必要があるため、アニメーション作成時間が浪費され、実行効率がさらに低下する。
【0055】
このため、本出願の実施例では、アニメーションキャラクタの骨格外形モデルを作成するときに、予め構築した各骨格姿勢及び対応する骨格外形モデルに対して使用禁止又は使用許可の機能を設定する。その後、実際のニーズに基づき目標骨格姿勢の目標骨格外形モデルを作成するときに使用される非基準骨格姿勢、及び対応する非基準骨格外形モデルを選択し、且つ非基準骨格姿勢及び対応する非基準骨格外形モデルに基づき、アニメーションキャラクタの目標骨格姿勢の目標骨格外形モデルを生成してもよい。
【0056】
図5に示すように、本出願の実施例が提供するアニメーションを作成する方法のフローチャートであり、下記のステップを含む。
【0057】
ステップ500:アニメーションキャラクタの目標骨格に対して入力された目標骨格姿勢パラメータを受信し、目標骨格姿勢パラメータに基づき目標骨格姿勢を決定する。
【0058】
ここで、目標骨格姿勢パラメータは目標骨格位置情報であり、アニメーションキャラクタの腕を例にすると、目標骨格姿勢パラメータは腕が30°曲がるものであってもよく、このとき、上腕と前腕との間は30°の夾角を呈する。上腕と前腕との間が30°の夾角を呈する状態は目標骨格姿勢であり、目標骨格姿勢パラメータはさらに入力した動作情報、例えばジャンプなどであってもよい。また、アニメーションキャラクタのジャンプ状態でのアニメーションキャラクタの各々の骨格姿勢を決定してもよく、一例として、該ジャンプ状態でのアニメーションキャラクタの各々の骨格姿勢は予め設定されておいてもよい。
【0059】
本出願では、アニメーションキャラクタの目標骨格姿勢を決定した後に、目標骨格姿勢での目標骨格外形モデルを決定する必要がある。
【0060】
目標骨格外形モデルは、予め設定された非基準骨格外形モデルに基づき融合して生成したものである。このため、複数の非基準骨格外形モデルを決定する必要がある。該複数の非基準骨格外形モデルは目標骨格外形モデルを生成してもよく、かつ生成した目標骨格外形モデルの曲線を自然で、且つ視覚的効果を満足するものとしてもよい。
【0061】
この過程において、プラグインノードが予め記憶した非基準骨格外形モデル集合から、非基準骨格姿勢が対応する非基準骨格外形モデルを少なくとも1つ選択し、且つ選択した非基準骨格外形モデルに基づき目標骨格姿勢が対応する目標骨格外形モデルを作成する必要がある。ここで非基準骨格姿勢は姿勢選択命令に基づき決定されるものであってもよい。
【0062】
説明する必要がある点として、この過程は、生成した目標骨格外形モデルの曲線が自然で、かつ視覚的効果などの条件を満足するまで、複数回実践する必要がある可能性がある。その後、条件を満足するときに使用される非基準骨格姿勢をパッケージして記憶し、それにより、ゲーム過程において使用することを容易にする。
【0063】
プラグインノードに記憶された非基準骨格外形モデル集合から非基準骨格外形モデルを獲得することは、非基準骨格姿勢の姿勢選択命令を受信した後に実行される。
【0064】
ステップ501:非基準骨格姿勢に対する姿勢選択命令に応答して、目標プラグインノードを呼び出し、且つ姿勢選択命令に基づき、非基準骨格外形モデル集合から非基準骨格姿勢が対応する非基準骨格外形モデルを取得する。
【0065】
本出願では、1本の骨格に対して、複数の基準骨格姿勢及び対応する基準骨格外形モデルを予め構築し、且つ記憶し、
さらに、予め構築した基準骨格姿勢及び対応する基準骨格外形モデルに基づき、非基準骨格姿勢が対応する非基準骨格外形モデルを生成し、且つ生成した非基準骨格姿勢が対応する非基準骨格外形モデルをプラグインノードの非基準骨格外形モデル集合に記憶する。それにより、目標骨格外形モデルを作成するときに使用することを容易にする。
【0066】
説明する必要がある点として、非基準骨格外形モデルを記憶するときに、非基準骨格姿勢を対応付けて記憶する必要がある。そして各骨格について複数の非基準骨格姿勢及び対応する非基準骨格外形モデルが予め記憶されていることにより、姿勢選択命令に基づき姿勢選択命令に含まれる非基準骨格姿勢が対応する非基準骨格外形モデルを決定することを容易にする。
【0067】
本出願では、姿勢選択命令は表示インターフェイス上で手動によりトリガーされるものであり、図6に示すように、本出願の実施例が提供する姿勢選択命令をトリガーすることに用いられる表示インターフェイスである。図6から分かるように、表示インターフェイスにおいて複数の非基準骨格姿勢パラメータが表示されており、各非基準骨格姿勢パラメータに対応して使用禁止又は使用許可の機能が設定され、そして各非基準骨格姿勢パラメータは1つの非基準骨格姿勢に対応する。
【0068】
非基準骨格姿勢の姿勢選択命令をトリガーするときに、ある非基準骨格姿勢を使用禁止することを選択してもよいし、ある非基準骨格姿勢を使用することを選択してもよく、ある非基準骨格姿勢を使用することを例に挙げて、使用する必要がある非基準骨格姿勢が対応する使用許可の機能をチェックし、図7に示すように、本出願の実施例が提供する姿勢選択命令をトリガーする模式図である。
【0069】
本出願では、非基準骨格姿勢に対して使用禁止機能をチェックするときに、姿勢選択命令は骨格姿勢の使用禁止を指示することに用いられ、このとき、目標プラグインノードを呼び出し、目標プラグインノードは姿勢選択命令に基づいており、非基準骨格外形モデル集合から非基準骨格姿勢が対応する非基準骨格外形モデルを取得するときとは、非基準骨格外形モデル集合から、使用禁止を指示されていない非基準骨格姿勢が対応する非基準骨格外形モデルを獲得することを指し、
非基準骨格姿勢に対して使用許可機能をチェックする場合に、姿勢選択命令は、骨格姿勢の使用を指示することに用いられ、このとき、目標プラグインノードを呼び出し、目標プラグインノードは姿勢選択命令に基づいており、非基準骨格外形モデル集合から非基準骨格姿勢が対応する非基準骨格外形モデルを取得するときとは、非基準骨格外形モデル集合から、使用を指示された非基準骨格姿勢が対応する非基準骨格外形モデルを獲得することを指す。
【0070】
1つの可能な実施例では、表示ページにおいて表示された非基準骨格姿勢に対して削除の機能がさらに設定される。姿勢削除命令を受信するときに、姿勢削除命令に応答して、削除命令が対応する非基準骨格姿勢を削除し、且つ非基準骨格外形モデル集合に記憶された非基準骨格姿勢に対応する非基準骨格外形モデルを削除する。
【0071】
ここで、設定された削除機能について、図6に示すように、各非基準骨格姿勢に対して1つの削除キーを設定してもよく、各非基準骨格姿勢に対して削除領域を設定してもよく、1つの削除領域を設定してもよい。該削除領域は全ての非基準骨格姿勢に有効であり、削除領域を使用するときに、削除する必要がある非基準骨格姿勢を削除領域にドラッグして削除を行う。
【0072】
1つの可能な実現形態では、非基準骨格外形モデルを表示インターフェイス上に表示し、且つ使用禁止及び/又は使用許可、及び削除などの機能を設定してもよい。図6と同様であるため、ここでは詳しく説明しない。
【0073】
1つの可能な実現形態では、表示ページにおいて非基準骨格姿勢及び/又は非基準骨格外形モデルだけを設定し、且つ使用禁止、使用、削除などの機能を設定していない。ある非基準骨格姿勢及び/又は非基準骨格外形モデルがクリックされると、機能インターフェイスにジャンプするが、機能インターフェイスにおいては使用禁止、使用、削除などの機能が含まれており、図8に示すものは、本出願の実施例が提供する姿勢選択命令をトリガーすることに用いられる別の表示インターフェイスである。
【0074】
本出願では、使用禁止又は使用許可の機能と削除の機能とを個別に表示する。そのため、ある骨格姿勢の禁止を使用するときに、アニメーション骨格外形モデルを作成するときに使用禁止された骨格姿勢が対応する骨格外形モデルを使用しないというだけである。該使用禁止された骨格姿勢が対応する骨格外形モデルを削除することはなく、それにより、次回に目標骨格姿勢の目標骨格外形モデルを作成するときに、依然として使用禁止された骨格姿勢が対応する骨格外形モデルを使用し続けてもよいため、改めて生成する必要はなく、操作手順を減少させることにより、実行効率を向上させる。
【0075】
非基準骨格姿勢の非基準骨格外形モデルを取得した後に、取得した非基準骨格姿勢の非基準骨格外形モデルに基づいて、目標骨格姿勢の目標骨格外形モデルを生成する。ここで目標骨格姿勢は、ステップ500においてアニメーションキャラクタの目標骨格姿勢パラメータのパラメータ入力命令に基づき決定された目標骨格姿勢である。
【0076】
ステップ502:取得した非基準骨格姿勢の非基準骨格外形モデルに基づいて、目標骨格姿勢の目標骨格外形モデルを生成する。
【0077】
本出願では、すでに非基準骨格姿勢の姿勢選択命令に基づき、非基準骨格姿勢及び対応する非基準骨格外形モデルを決定しており、且つアニメーションキャラクタの目標骨格姿勢パラメータのパラメータ入力命令に基づき、目標骨格姿勢を決定している。
それにより、目標骨格姿勢の目標骨格外形モデルを生成するときに、非基準骨格姿勢、非基準骨格外形モデル及び目標骨格姿勢を使用することにより、目標骨格外形モデルを生成する。
【0078】
1つの可能な実現形態では、RBFアルゴリズムに基づいて、上記3種類のパラメータに基づき目標骨格外形モデルを生成する。
【0079】
取得した非基準骨格姿勢には少なくとも2つが含まれているときに、少なくとも2つの非基準骨格姿勢が対応する非基準骨格外形モデルを決定し、
その後、取得した非基準骨格姿勢の非基準骨格外形モデルに基づいて、目標骨格姿勢の目標骨格外形モデルを生成するときに、
いずれか1つの取得した非基準骨格姿勢に対して、非基準骨格姿勢と目標骨格姿勢との間のベクトル距離を決定し、ここで骨格姿勢は三次元3D数学的ベクトルであり、
ラジアル基底関数RBFの目標ラジアル関数に基づいて、それぞれ取得した各々の非基準骨格姿勢が対応するベクトル距離をラジアル関数空間に変換し、
ラジアル関数空間において各々のベクトル距離に対してそれぞれ線形マッピングを行い、各々のベクトル距離が対応する非基準骨格姿勢の重みを決定し、
取得した各々の非基準骨格姿勢の重みに基づき、対応する非基準骨格外形モデルを加重和し、目標骨格姿勢の目標骨格外形モデルを生成する。
【0080】
ここで、目標ラジアル関数の関数値はベクトル距離の二乗に比例し、且つベクトル距離に対応して比例し、下記の式[数3]の通りである。
ここで、dはベクトル距離であり、kは定数である。
【0081】
【数3】
【0082】
1つの可能な実現形態では、目標ラジアル関数はまた関数選択命令により決定されてもよい。このとき、表示インターフェイスに少なくとも2つラジアル関数が含まれる必要がある。図9に示すように、目標ラジアル関数を決定する表示インターフェイス図である。ここで表示インターフェイスに少なくとも下記の選択可能なラジアル関数が含まれる。
【0083】
線形関数:Ff(d)=kd
ガウス関数:[数4]
特殊ラジアル関数は、Thin-Plate関数とも呼ばれる:[数5]
ここで、dはベクトル距離であり、kは定数である。
【0084】
【数4】
【数5】
【0085】
1つの可能な実現形態では、アニメーションを作成する方法は複数のプラグインノードにより実現されてもよく、1つのプラグインノードは、アニメーション作成における複数の機能ステップを実現する。図10に示すように、本出願の実施例が提供するプラグインノードによりアニメーションを作成することを実現するフローチャートであり、図10から分かるように、アニメーションを作成するときに、4つのプラグインノードにより作成過程におけるPoseDriver過程を実現してもよい。
【0086】
第1のプラグインノード:
アニメーションキャラクタを作成する必要があるときに、アニメーションキャラクタに対する目標骨格姿勢パラメータのパラメータ入力を決定し、第1のプラグインノードを呼び出す。第1のプラグインノードは目標骨格姿勢パラメータに対応する目標骨格姿勢を決定し、且つ目標骨格姿勢を第2のプラグインノードに入力する。
【0087】
第2のプラグインノード:
目標骨格外形モデルを生成するときに使用される非基準骨格姿勢を決定し、非基準骨格姿勢に対する姿勢選択命令に応答して、第2のプラグインノードを呼び出す。第2のプラグインノードは、姿勢選択命令に基づき、非基準骨格外形モデル集合から非基準骨格姿勢が対応する非基準骨格外形モデルを取得し、且つ決定した非基準骨格姿勢及び対応する非基準骨格外形モデル、並びに目標骨格姿勢を第3のプラグインノードに入力し、
説明する必要がある点として、第2のプラグインノードは、本出願の実施例が提供する目標プラグインノードである。
【0088】
1つの可能な実現形態では、第2のプラグインノードはまた下記機能を実行してもよい。
【0089】
目標骨格姿勢及び非基準骨格姿勢に基づき、非基準骨格姿勢と目標骨格姿勢との間のベクトル距離を決定する。ここで骨格姿勢は標準的な3D数学的ベクトルであるため、ベクトル距離の計算式を採用すると、非基準骨格姿勢と目標骨格姿勢との間のベクトル距離を決定することができ、且つベクトル距離及び非基準骨格外形モデルを第3のプラグインノードに入力することができる。
【0090】
第3のプラグインノード:
取得した非基準骨格姿勢の非基準骨格外形モデルに基づいて、目標骨格姿勢の目標骨格外形モデルを生成するときに使用される目標ラジアル関数を決定し、且つ関数選択命令に応答して、第3のプラグインノードを呼び出し、関数選択命令が対応する目標ラジアル関数を決定する。第2のプラグインノードが決定した非基準骨格姿勢及び目標骨格姿勢に基づいて、非基準骨格姿勢と目標骨格姿勢との間のベクトル距離を決定する。続いて、目標ラジアル関数に基づいてベクトル距離をラジアル関数空間にマッピングし、ラジアル関数空間において線形マッピングを行い、ベクトル距離が対応する非基準骨格姿勢の重みを決定し、且つ決定した重み及び非基準骨格外形モデルを第4のプラグインノードに入力する。
【0091】
1つの可能な実現形態では、第2のプラグインノードが入力するのはベクトル距離及び非基準骨格外形モデルである場合に、直接目標ラジアル関数に基づいてベクトル距離をラジアル関数空間にマッピングする。その後、ラジアル関数空間において線形マッピングを行い、ベクトル距離が対応する非基準骨格姿勢の重みを決定し、且つ決定した重み及び非基準骨格外形モデルを第4のプラグインノードに入力する。
【0092】
第4のプラグインノード:
第4のノードは重みを受信し、且つ各々の非基準骨格姿勢の重み及び非基準骨格外形モデルに基づき形状融合を行い、目標骨格外形モデルを取得する。
【0093】
図11に示すように、本出願の実施例のアニメーションを作成する方法を採用して取得した非基準骨格姿勢の非基準骨格外形モデルに基づいて生成する目標骨格外形モデルの模式図である。
【0094】
本出願の実施例が提供するアニメーションを作成する方法は、プラグインノードからアニメーションの骨格外形モデルを作成することに用いられる非基準骨格姿勢を選び、アニメーションキャラクタの作成過程における柔軟性を高める一方で、選ばれていない非基準骨格姿勢は削除されることがない。そのため、改めて作成する必要はなく、計算量を減少させ、実行効率を向上させる。
【0095】
理解すべきものとして、上記各実施例のフローチャートにおける各々のステップは矢印の指示に基づき順次表示されるが、これらのステップは必ずしも矢印で指示される順序に基づき順次実行されるのではない。本文において明確な説明がある場合を除き、これらのステップの実行は厳密な順序の制限がなく、これらのステップは他の順序で実行されてもよい。そして、上記各実施例における少なくとも一部のステップは複数のサブステップ、又は複数の段階を含んでもよい。これらのサブステップ又は段階は必ずしも同一時刻に実行、完了されるのではなく、異なる時刻に実行されてもよい。これらのサブステップ、又は段階の実行順序も必ずしも順次行われるのではなく、他のステップ、又は他のステップのサブステップ若しくは段階の少なくとも一部と交互に、又は交代して実行されてもよい。
【0096】
同一の発明思想に基づいて、本出願の実施例はアニメーションキャラクタを作成する装置1200をさらに提供する。図12に示すように、該装置1200は、呼び出しユニット1201と、生成ユニット1202とを含み、ここで、
呼び出しユニット1201は、非基準骨格姿勢に対する姿勢選択命令に応答して、目標プラグインノードを呼び出し、目標プラグインノードは姿勢選択命令に基づき、非基準骨格外形モデル集合から非基準骨格姿勢が対応する非基準骨格外形モデルを取得することに用いられる。ここで非基準骨格外形モデル集合に各々の非基準骨格姿勢が対応する非基準骨格外形モデルが含まれ、
生成ユニット1202は、アニメーションキャラクタの目標骨格姿勢パラメータのパラメータ入力命令に基づき、目標骨格姿勢を決定し、且つ取得した非基準骨格姿勢の非基準骨格外形モデルに基づいて、目標骨格姿勢の目標骨格外形モデルを生成することに用いられる。
【0097】
1つの可能な実現形態では、呼び出しユニット1201は、具体的には、
姿勢選択命令が骨格姿勢の使用禁止を指示することに用いられる場合に、非基準骨格外形モデル集合から、選定されていない非基準骨格姿勢が対応する非基準骨格外形モデルを獲得することと、
姿勢選択命令が骨格姿勢の使用を指示することに用いられる場合に、非基準骨格外形モデル集合から、選定されている非基準骨格姿勢が対応する非基準骨格外形モデルを獲得することと、に用いられる。
【0098】
1つの可能な実現形態では、該装置は削除ユニット1203をさらに含み、
削除ユニットは、姿勢削除命令に応答して、姿勢削除命令に対応する非基準骨格外形モデルを削除することに用いられる。
【0099】
1つの可能な実現形態では、生成ユニット1202は、具体的には、
いずれか1つの取得した非基準骨格姿勢に対して、非基準骨格姿勢と目標骨格姿勢との間のベクトル距離を決定することであって、ここで骨格姿勢は三次元3D数学的ベクトルである、ことと、
ラジアル基底関数RBFの目標ラジアル関数に基づいて、それぞれ取得した各々の非基準骨格姿勢が対応するベクトル距離をラジアル関数空間に変換することと、
ラジアル関数空間において各々のベクトル距離に対してそれぞれ線形マッピングを行い、各々のベクトル距離が対応する非基準骨格姿勢の重みを決定することと、
取得した各々の非基準骨格姿勢の重みに基づき、対応する非基準骨格外形モデルを加重和し、目標骨格姿勢の目標骨格外形モデルを生成することと、に用いられる。
【0100】
1つの可能な実現形態では、生成ユニット1202はさらに、
関数選択命令に基づき予め設定されたラジアル関数から目標ラジアル関数を選択することに用いられ、目標ラジアル関数の関数値はベクトル距離の二乗に比例し、且つベクトル距離に対応して比例する。
【0101】
1つの可能な実現形態では、生成ユニット1202はさらに、
目標骨格姿勢の外形モデルを非基準骨格外形モデルとして非基準骨格外形モデル集合に記憶することに用いられる。
【0102】
陳述のしやすさから、以上の各部分は、機能に応じて各ユニット(又はモジュール)に分けられてそれぞれ陳述される。もちろん、本出願を実施するときに、各ユニット(又はモジュール)の機能を同一又は複数のソフトウェア又はハードウェアにおいて実現してもよい。
【0103】
本出願の例示的な実施形態のアニメーションキャラクタを作成する方法及び装置を紹介した後、次に、本出願の別の例示的な実施形態のアニメーションキャラクタを作成するコンピューティング機器を紹介する。
【0104】
当業者が理解できるように、本出願の各々の態様はシステム、方法又はプログラム製品として実現されてもよい。このため、本出願の各々の態様は具体的には、以下の形式、即ち、完全なハードウェア実施形態、完全なソフトウェア実施形態(ファームウェア、マイクロコードなどを含む)、又はハードウェアとソフトウェア態様を組み合わせた実施形態として実現されてもよく、ここでは、「回路」、「モジュール」又は「システム」と総称してもよい。
【0105】
1つの可能な実現形態では、本出願の実施例が提供するアニメーションを作成するコンピューティング機器は、メモリと、プロセッサとを含む。メモリにはコンピュータ読み取り可能な命令が記憶されており、コンピュータ読み取り可能な命令はプロセッサによって実行されるときに、プロセッサに本出願における各種の例示的な実施形態のアニメーションを作成する方法におけるいずれか1つのステップを実行させる。
【0106】
以下、図13を参照して本出願に係るこの実施形態のアニメーションキャラクタを作成するコンピューティング機器1300を陳述する。図13のようなアニメーションを作成するコンピューティング機器1300は一例にすぎず、本出願の実施例の機能及び使用範囲に何らかの制限をもたらすべきではない。
【0107】
図13に示すように、アニメーションキャラクタを作成するコンピューティング機器1300のコンポーネントは、上記少なくとも1つのプロセッサ1301、上記少なくとも1つのメモリ1302、異なるシステムコンポーネント(メモリ1302とプロセッサ1301を含む)を接続するバス1303を含んでもよいが、これらに限定されるものではない。
【0108】
バス1303は複数種類のバス構造のうちの一種又は複数種を示し、メモリバス若しくはメモリ制御器、外部バス、プロセッサ、又は複数種類のバス構造のうちの任意のバス構造を使用したローカルエリアバスを含む。
【0109】
メモリ1302は、揮発性メモリ形式の読み取り可能な媒体、例えばランダムアクセスメモリ(RAM)13021及び/又はキャッシュメモリ13022を含んでもよく、読み取り専用メモリ(ROM)13023をさらに含んでもよい。
【0110】
メモリ1302は1組(少なくとも1つ)のプログラムモジュール13024を有するプログラム/ユーティリティ13025をさらに含んでもよく、このようなプログラムモジュール13024は、オペレーティングシステム、1つ、又は複数のアプリケーションプログラム、他のプログラムモジュール及びプログラムデータを含むが、これらに限定されるものではなく、これらの例のうちのそれぞれ又はある組み合わせにはネットワーク環境の実現が含まれる可能性がある。
【0111】
アニメーションキャラクタを作成するコンピューティング機器1300は、1つ又は複数の外部機器1304(例えばキーボード、ポインティング機器など)と通信してもよく、また、ユーザがアニメーションキャラクタを作成するコンピューティング機器1300と対話することを可能にする1つ、又は複数の機器と通信してもよく、及び/又は、該アニメーションキャラクタを作成するコンピューティング機器1300が、1つ又は複数の他のコンピューティング装置と通信することを可能にする任意の機器(例えばルータ、モデムなど)と通信してもよい。この通信は、入力/出力(I/O)インターフェース1305により行える。そして、アニメーションキャラクタを作成するコンピューティング機器1300はまた、ネットワークアダプタ1306により1つ、又は複数のネットワーク(例えばローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)及び/又はパブリックネットワーク、例えばインターネット)と通信してもよい。図13に示すように、ネットワークアダプタ1306は、バス1303によりアニメーションキャラクタを作成するコンピューティング機器1300に用いられる他のモジュールと通信する。理解すべきものとして、図13において示されていないが、アニメーションキャラクタを作成するコンピューティング機器1300と組み合わせて、マイクロコード、機器ドライバ、冗長プロセッサ、外部ディスクドライブアレイ、RAIDシステム、テープドライブ及びデータバックアップ記憶システムなどを含む他のハードウェア及び/又はソフトウェアモジュールを使用してもよいが、これらに限定されるものではない。
【0112】
任意選択的に、コンピュータ読み取り可能な命令が記憶されている、不揮発性のコンピュータ読み取り可能な記憶媒体を提供する。コンピュータ読み取り可能な命令は1つ又は複数のプロセッサによって実行されたときに、1つ又は複数のプロセッサに上記いずれか1つの実施例におけるアニメーションを作成する方法のステップを実行させる。いくつかの可能な実施形態では、本出願が提供するアニメーションキャラクタ作成方法の各々の態様はまた、一種のプログラム製品の形式として実現されてもよく、これは、プログラムコードを含み、プログラム製品がコンピューティング機器上で動作するときに、プログラムコードは、コンピューティング機器に本明細書の上記で陳述した本出願の各種の例示的な実施形態に係るアニメーションキャラクタ作成方法におけるステップを実行させることに用いられる。
【0113】
プログラム製品は、1つ又は複数の読み取り可能な媒体の任意の組み合わせを採用してもよい。読み取り可能な媒体は、読み取り可能な信号媒体、又は読み取り可能な記憶媒体であってもよい。読み取り可能な記憶媒体は例えば、電気、磁気、光、電磁気、赤外線、又は半導体のシステム、装置又はデバイス、若しくは以上の任意の組み合わせであってもよいが、これらに限定されるものではない。読み取り可能な記憶媒体のより具体的な例(非網羅的なリスト)は、1つ又は複数のリードを有する電気的接続、携帯式ディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM又はフラッシュメモリ)、光ファイバ、携帯式コンパクトディスク読み取り専用メモリ(CD-ROM)、光記憶デバイス、磁気記憶デバイス、又は上記の任意の適切な組み合わせを含む。
【0114】
本出願の実施形態のアニメーションキャラクタの作成において生成されるプログラム製品は、携帯式コンパクトディスク読み取り専用メモリ(CD-ROM)を採用してもよく、且つプログラムコードを含み、且つコンピューティング装置上で動作してもよい。しかしながら、本出願のプログラム製品はこれに限定されるものではない。本書類では、読み取り可能な記憶媒体は、プログラムを含む又は記憶する任意の有形媒体であってもよく、該プログラムは、コマンド実行システム、装置、又はデバイスによって使用されるか、又はこれらと組み合わせて使用されてもよい。
【0115】
読み取り可能な信号媒体は、ベースバンドの中で、又はキャリアの一部として伝播されるデータ信号を含んでもよく、その中に読み取り可能なプログラムコードを搬送している。このように伝播されるデータ信号は様々な形式を採用してもよく、電磁気信号、光信号又は上記の任意の適切な組み合わせを含むが、これらに限定されるものではない。読み取り可能な信号媒体はまた、読み取り可能な記憶媒体以外の任意の読み取り可能な媒体であってもよく、該読み取り可能な媒体は、コマンド実行システム、装置、又はデバイスによって使用されるか、又はこれらと組み合わせて使用されることに用いられるプログラムを送信、伝播、又は伝送してもよい。
【0116】
読み取り可能な媒体に含まれるプログラムコードは、任意の適切な媒体で伝送されてもよく、無線、有線、光ファイバケーブル、RFなど、又は上記の任意の適切な組み合わせを含むが、これらに限定されるものではない。
【0117】
一種又は複数種類のプログラム設計言語の任意の組み合わせで本出願の操作を実行することに用いられるプログラムコードをプログラミングしてもよく、プログラム設計言語は、例えばJava、C++などのようなオブジェクト指向プログラム設計言語を含み、さらに例えば「C」言語又は類似のプログラム設計言語のようなまた一般的な手続き型プログラム設計言語を含む。プログラムコードは、完全にユーザコンピューティング装置上で実行されたり、部分的にユーザ機器上で実行されたり、1つの独立したソフトウェアパッケージとして実行されたり、一部がユーザコンピューティング装置上で、一部が遠隔コンピューティング装置上で実行されたり、又は完全に遠隔コンピューティング装置又はサーバ上で実行されたりするようにしてもよい。遠隔コンピューティング装置に関する場合において、遠隔コンピューティング装置は、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意の種類のネットワークによりユーザのコンピューティング装置に接続されてもよく、又は、外部コンピューティング装置に接続されてもよい(例えばインターネットサービスプロバイダを利用してインターネットにより接続される)。
【0118】
注意すべきものとして、以上の詳細な陳述において装置の若干のユニット又はサブユニットが言及されているが、この区分は例示的なものに過ぎず、且つ必須なものではない。実際には、本出願の実施形態に基づき、以上で陳述した2つ又はそれ以上のユニットの特徴及び機能は1つのユニットにおいて具現化されてもよい。逆に、以上で陳述した1つのユニットの特徴及び機能は、さらに複数のユニットに分けられて具現化されてもよい。
【0119】
そのほか、図面において非基準順序で本出願の方法の操作を陳述しているが、しかし、これは必ずしもこの非基準順序に基づきこれらの操作を実施するか、又は所望の結果を実現するには必ずしも示される全部の操作を実行することを要求又は示唆するためのものではない。追加的に又はオプションとして、いくつかのステップを省略したり、複数のステップを1つのステップに合併して実行したり、及び/又は1つのステップを複数のステップに解体して実行したりしてもよい。
【0120】
当業者が理解すべきものとして、本出願の実施例は、方法、システム、又はコンピュータプログラム製品として提供されてもよい。このため、本出願は、完全ハードウェア実施例、完全ソフトウェア実施例、又はソフトウェアとハードウェア態様とを組み合わせた実施例の形式を採用してもよい。そして、本出願は、コンピュータ利用可能なプログラムコードを内部に含む1つ又は複数のコンピュータ利用可能な記憶媒体(磁気ディスクメモリ、CD-ROM、光学メモリなどを含むが、これらに限定されるものではない)上で実施されるコンピュータプログラム製品の形式を採用してもよい。
【0121】
本出願は、本出願の実施例に係る方法、機器(システム)、及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して陳述された。理解すべきものとして、コンピュータプログラムコマンドによってフローチャート及び/又はブロック図における各手順及び/又はブロック、及びフローチャート及び/又はブロック図における手順及び/又はブロックの組み合わせを実現してもよい。これらのコンピュータプログラムコマンドを汎用コンピュータ、専用コンピュータ、組み込みプロセッサ又は他のプログラマブルデータ処理機器のプロセッサに提供することによって、1つの機械を生成し、コンピュータ又は他のプログラマブルデータ処理機器のプロセッサにより実行されるコマンドに、フローチャートの1つの手順又は複数の手順及び/又はブロック図の1つのブロック又は複数のブロックにおいて指定される機能を実現することに用いられる装置を生成させるようにしてもよい。
【0122】
これらのコンピュータプログラムコマンドは、コンピュータ又は他のプログラマブルデータ処理機器が非基準方式で動作することをガイドできるコンピュータ読み取り可能なメモリに記憶され、該コンピュータ読み取り可能なメモリに記憶されたコマンドに、コマンド装置を含む製品を生成させるようにしてもよく、該コマンド装置は、フローチャートの1つの手順又は複数の手順及び/又はブロック図の1つのブロック又は複数のブロックにおいて指定される機能を実現する。
【0123】
これらのコンピュータプログラムコマンドはまた、コンピュータ又は他のプログラマブルデータ処理機器にロードされ、コンピュータ又は他のプログラマブル機器上に一連の操作ステップを実行させることでコンピュータにより実現される処理を生成してもよく、それにより、コンピュータ又は他のプログラマブル機器上で実行されるコマンドは、フローチャートの1つの手順又は複数の手順及び/又はブロック図の1つのブロック又は複数のブロックにおいて指定される機能を実現することに用いられるステップを提供する。
【0124】
本出願の好ましい実施例を以上のように陳述したが、当業者は一旦創造的な概念の基本を会得すれば、これらの実施例に対して別の変更や修正を加えることができる。したがって、添付の特許請求の範囲は、好ましい実施例及び本出願の範囲に入る全ての変更や修正を含むものとして解釈することを意図するものである。
【0125】
明らかなように、当業者は、本出願の精神及び範囲を逸脱することなく本出願に対して各種の変更や変形を加えることができる。このように、本願のこれらの修正や変形は本願の特許請求の範囲及びその均等技術の範囲内に属するとすれば、本願はこれらの変更や変形をも範囲内に含めることを意図するものである。
【符号の説明】
【0126】
40 サーバ
41 端末機器
1200 装置
1300 コンピューティング機器
1301 プロセッサ
1302 メモリ
1303 バス
1304 外部機器
1305 出力(I/O)インターフェース
1306 ネットワークアダプタ
13021 ランダムアクセスメモリ(RAM)
13022 キャッシュメモリ
13023 専用メモリ(ROM)
13024 プログラムモジュール
13025 ユーティリティ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13