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

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

▶ 日本電気株式会社の特許一覧

特開2024-99908アバター生成システム、アバター生成方法およびアバター生成プログラム
<>
  • 特開-アバター生成システム、アバター生成方法およびアバター生成プログラム 図1
  • 特開-アバター生成システム、アバター生成方法およびアバター生成プログラム 図2
  • 特開-アバター生成システム、アバター生成方法およびアバター生成プログラム 図3
  • 特開-アバター生成システム、アバター生成方法およびアバター生成プログラム 図4
  • 特開-アバター生成システム、アバター生成方法およびアバター生成プログラム 図5
  • 特開-アバター生成システム、アバター生成方法およびアバター生成プログラム 図6
  • 特開-アバター生成システム、アバター生成方法およびアバター生成プログラム 図7
  • 特開-アバター生成システム、アバター生成方法およびアバター生成プログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024099908
(43)【公開日】2024-07-26
(54)【発明の名称】アバター生成システム、アバター生成方法およびアバター生成プログラム
(51)【国際特許分類】
   G06T 19/00 20110101AFI20240719BHJP
   G06T 13/40 20110101ALI20240719BHJP
【FI】
G06T19/00 C
G06T13/40
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023003523
(22)【出願日】2023-01-13
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100149618
【弁理士】
【氏名又は名称】北嶋 啓至
(72)【発明者】
【氏名】稲吉 希理
(72)【発明者】
【氏名】西田 健太郎
【テーマコード(参考)】
5B050
【Fターム(参考)】
5B050BA08
5B050BA09
5B050EA07
5B050EA13
5B050FA17
(57)【要約】
【課題】アバターの動きによって生じ得るメッシュ同士の貫通を容易に検出することができるアバター生成システムを提供する。
【解決手段】アバター生成システム10は、取得部11と、実行部12と、検出部13と、出力部15を備える。取得部11は、アバターのボーンとメッシュの設定データを取得する。実行部12は、設定データと、定義された動きとを基に、アバターの姿勢を変化させる処理を実行する。検出部13は、アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出する。出力部15は、検出の結果を出力する。
【選択図】 図4
【特許請求の範囲】
【請求項1】
アバターのボーンとメッシュの設定データを取得する取得手段と、
前記設定データと、定義された動きとを基に、前記アバターの姿勢を変化させる処理を実行する実行手段と、
アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出する検出手段と、
検出の結果を出力する出力手段と
を備えるアバター生成システム。
【請求項2】
前記検出手段は、アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通を検出する検出モデルを用いて、定義された動きを基にアバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出する、
請求項1に記載のアバター生成システム。
【請求項3】
前記検出の結果に基づいて、前記メッシュの設定値の補正量を推定する推定手段をさらに備え、
前記出力手段は、前記補正量をさらに出力する、
請求項1または2に記載のアバター生成システム。
【請求項4】
前記出力手段は、メッシュ同士が貫通したタイミングにおける、補正前のアバターの画像と、補正後のアバターの画像を出力する、
請求項3に記載のアバター生成システム。
【請求項5】
前記出力手段は、補正の対象となった動作について、補正の内容、および、補正量のうち少なくとも一方が異なる複数のアバターの画像を補正後のアバターの候補の画像として出力する、
請求項3に記載のアバター生成システム。
【請求項6】
前記出力手段は、補正後のアバターにおいて補正された箇所、および、補正の対象となった動きの少なくとも一方を強調した画像を出力する、
請求項3に記載のアバター生成システム。
【請求項7】
前記出力手段は、選択された動きに基づいてアバターが動いている複数の画像を出力する、
請求項1に記載のアバター生成システム。
【請求項8】
前記出力手段は、同一種類のメッシュを替えたアバターの画像それぞれを出力する、
請求項1に記載のアバター生成システム。
【請求項9】
アバターのボーンとメッシュの設定データを取得し、
前記設定データと、定義された動きとを基に、前記アバターの姿勢を変化させる処理を実行し、
アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出し、
検出の結果を出力する、
アバター生成方法。
【請求項10】
アバターのボーンとメッシュの設定データを取得する処理と、
前記設定データと、定義された動きとを基に、前記アバターの姿勢を変化させる処理を実行する処理と、
アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出する処理と、
検出の結果を出力する処理と
をコンピュータに実行させるアバター生成プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、アバター生成システム等に関する。
【背景技術】
【0002】
仮想空間を用いた交流が様々な分野で行われている。仮想空間の利用者は、アバターを介して他の利用者と交流する。仮想空間内に存在するアバターを操作することで利用者が参加する仮想空間は、メタバース空間ともいう。
【0003】
アバターは、例えば、ボーンとメッシュによって構成させる。ボーンは、アバターの形状に変化を与える骨格部分である。また、メッシュは、例えば、アバターの各部位それぞれの形状を表現するために用いられる。メッシュは、メッシュ内の各頂点をつなげたポリゴンによって形が表現される。メッシュの頂点それぞれは、重み付けされてボーンと紐付けられている。
【0004】
アバターの作成者は、例えば、アバターの本体と、アバターが装着する衣服等それぞれについてのボーンと、メッシュを組み合わせることで1体のアバターを生成する。すなわち、1体のアバターを生成する際に、例えば、肌のメッシュと、服のメッシュが組み合わされる。しかし、肌のメッシュと、服のメッシュにずれが生じたときに、アバターが不自然な状態となる。このようなメッシュ間のずれは、メッシュ同士の貫通ともいう。メッシュ同士の貫通は、例えば、アバターの作成者によって補正される。
【0005】
特許文献1のアバター設計の実施方法は、アバターの肌と、衣類のずれを検出し、ずれを検出したときに、衣類の辺を示す頂点を変位させる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2016-110652号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1のアバター設計の実施方法は、アバターの動きによって生じる得るメッシュ同士の貫通を検出することが難しい場合がある。
【0008】
本開示は、上記の課題を解決するため、アバターの動きによって生じ得るメッシュ同士の貫通を容易に検出することができるアバター生成システム等を提供することを目的としている。
【課題を解決するための手段】
【0009】
上記の課題を解決するため、本開示のアバター生成システムは、アバターのボーンとメッシュの設定データを取得する取得手段と、設定データと、定義された動きとを基に、アバターの姿勢を変化させる処理を実行する実行手段と、アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出する検出手段と、検出の結果を出力する出力手段とを備える。
【0010】
本開示のアバター生成方法は、アバターのボーンとメッシュの設定データを取得し、設定データと、定義された動きとを基に、アバターの姿勢を変化させる処理を実行し、アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出し、検出の結果を出力する。
【0011】
本開示のアバター生成プログラムは、アバターのボーンとメッシュの設定データを取得する処理と、設定データと、定義された動きとを基に、アバターの姿勢を変化させる処理を実行する処理と、アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出する処理と、検出の結果を出力する処理とをコンピュータに実行させる。
【発明の効果】
【0012】
本開示によると、アバターの動きによって生じ得るメッシュ同士の貫通を容易に検出することができる。
【図面の簡単な説明】
【0013】
図1】本開示の実施形態の構成の概要を示す図である。
図2】本開示の実施形態の表示画面の例を模式的に示す図である。
図3】本開示の実施形態の表示画面の例を模式的に示す図である。
図4】本開示の実施形態のアバター生成システムの構成の例を示す図である。
図5】本開示の実施形態の表示画面の例を示す図である。
図6】本開示の実施形態の表示画面の例を示す図である。
図7】本開示の実施形態のアバター生成システムの動作フローの例を示す図である。
図8】本開示の他の構成の例を示す図である。
【発明を実施するための形態】
【0014】
本開示の実施形態について図を参照して詳細に説明する。図1は、本開示の仮想空間システムの構成の概要を示す図である。アバター生成システムは、例えば、アバター生成システム10と、アバター管理システム20と、端末装置30と、仮想空間管理システム40を備える。アバター生成システム10は、例えば、ネットワークを介して、アバター管理システム20と接続する。また、アバター生成システム10は、例えば、ネットワークを介して、端末装置30と接続する。また、アバター管理システム20は、例えば、ネットワークを介して、仮想空間管理システム40と接続する。アバター管理システム20と、端末装置30、仮想空間管理システム40の数は、適宜、設定され得る。
【0015】
仮想空間システムは、例えば、仮想空間で用いられるアバターの作成と、アバターのデータの管理を行うシステムである。仮想空間で用いられるアバターは、例えば、仮想空間の利用者がアバターを操作することによって仮想空間で活動するために用いられる。すなわち、アバターは、アバターを操作している利用者に代わって、仮想空間で活動する主体である。仮想空間内に存在するアバターを操作することで利用者が参加する仮想空間は、メタバース空間ともいう。アバターは、ウェブ、SNS(Social networking service)、または、ゲームで用いられるアバターであってもよい。アバターを利用する環境は、上記に限られない。
【0016】
アバター生成システム10は、例えば、仮想空間で用いるアバターの設定データの設定値を調整するシステムである。また、アバター管理システム20は、例えば、アバターに関するデータを管理するシステムである。アバターに関するデータは、例えば、アバターの設定データである。アバターの設定データは、例えば、アバターの構造の設定データと、アバターの動きに関するデータである。端末装置30は、例えば、アバターの作成者がアバター生成システム10にアクセスして、アバターの設定値を調整する作業に用いる端末装置である。また、仮想空間管理システム40は、例えば、仮想空間を管理するシステムである。仮想空間管理システム40は、例えば、仮想空間の表示および仮想空間内におけるアバターの表示を管理する。アバター生成システム10において設定データの設定値が調整されたアバターは、例えば、アバター管理システム20において管理される。アバター管理システム20において設定データが管理されているアバターは、例えば、仮想空間管理システム40において用いられる。
【0017】
アバターは、例えば、アバター本体と、アバターの装着物それぞれについてのボーンとメッシュによって構成される。アバターの作成者は、例えば、アバター本体と、アバターの装着物それぞれについてのボーンと、メッシュを組み合わせることでアバターを生成する。ボーンは、例えば、アバターの骨格部分である。ボーンは、例えば、アバターの動きの骨格部分を決める。すなわち、ボーンは、アバターの形状に変化を与える骨格部分である。アバターの骨格部分は、例えば、複数のボーンと、ボーン間の接合部によって構成される。アバターの身体の動きは、例えば、接合部を軸として両端のボーンの位置関係を変化させることで表現される。
【0018】
メッシュは、例えば、アバターの形状を表現するために用いられる。また、1体のアバターは、例えば、複数のメッシュによって構成される。複数のメッシュは、例えば、アバターの身体の部位それぞれに対応する。また、複数のメッシュは、例えば、アバターが装着する衣服それぞれに対応する。メッシュは、例えば、アバターの肌、およびアバターが装着している衣服をそれぞれ表現するパーツである。衣服には、靴、帽子、およびアクセサリーが含まれる。メッシュは、上記の例に限られない。また、アバターの表面の色および模様は、画像データを割り当てることで表現される。アバターの表面の色および模様を表現する画像データは、テクスチャともいう。例えば、アバターの肌および衣服の色は、テクスチャを用いて表現される。
【0019】
また、アバターの身体の同じ部位に配置される複数のメッシュは、例えば、重ねられて配置される。アバターは、アバターの身体の同じ部位に配置される複数のメッシュのうち、最前面のメッシュのみを視認することができるように作成される。例えば、肌のメッシュの前面に、衣服のメッシュが重ねられている場合に、仮想空間の利用者は、衣服のみを視認することができる。このように、アバターの身体の同じ部位に配置される複数のメッシュのうち、最前面のメッシュのみを視認することができるようにすることで、アバターは、例えば、人物として自然に見えるようになる。また、複数の衣服のメッシュが重ねられていてもよい。メッシュは、メッシュ内の各頂点をつなげたポリゴンによって形が表現される。メッシュの頂点それぞれは、重み付けされてボーンと紐付けられている。メッシュの頂点それぞれをボーンと紐付けるときの重みづけは、ウェイトともいう。メッシュの各頂点は、例えば、ボーンが動くときに、ボーンの動きに連動して動く。ボーンと複数のメッシュが連動して動くため、利用者は、例えば、複数のメッシュの動きを見て、一体のアバターが動いていると認識することができる。
【0020】
しかし、アバターを動かした場合に、重ねられているメッシュ同士にずれが生じると、アバターの見え方が不自然になる場合がある。メッシュ同士にずれが生じることを、メッシュ同士が貫通するともいう。例えば、アバターが肌のメッシュと、衣服のメッシュを含む場合に、肌のメッシュと衣服のメッシュの間にずれが生じることで、衣服で隠れているはずの部分の肌が見えることがある。見えないはずの部分の肌が見えると、アバターの見え方が不自然になり得る。
【0021】
メッシュ同士の貫通は、例えば、メッシュごとにボーンに対するメッシュのウェイトの最適値が異なることで生じる。メッシュのウェイトは、例えば、ボーンの位置変化に対して、メッシュの頂点の位置をどの程度、追随させるかを示す指標である。すなわち、ウェイトは、ボーンに対するメッシュの追随量である。メッシュごとにボーンに対するメッシュのウェイトの最適値が異なる場合に、アバターが動いたときに、通常では重なっているメッシュ同士の貫通が生じることがある。このため、メッシュ同士の貫通が生じた個所について、例えば、ボーンに対するメッシュのウェイトを調整する必要がある。
【0022】
アバターの作成者は、例えば、アバターが様々な動きをした場合にも、メッシュ同士の貫通が生じないようにアバターの設定値を調整する。この場合に調整されるアバターの設定値は、例えば、ボーンに対するメッシュのウェイトである。アバターの作成者は、例えば、仮想空間内で行われると想定されるアバターの動きにおいて、メッシュ同士の貫通が生じないようにアバターの設定値を調整する。メッシュ同士の貫通が生じないようにアバターの設定値を調整するためには、アバターの作成者は、例えば、アバターを動かしたときに、メッシュ同士の貫通が、アバターのどの部分で、どのタイミングで生じるかを把握する必要がある。また、アバターの設定値を調整するためには、アバターの作成者は、例えば、メッシュ同士の貫通が生じたときにおけるメッシュ同士の貫通量を把握する必要がある。
【0023】
メッシュ同士の貫通量は、例えば、メッシュ間のずれ量である。アバター生成システム10は、例えば、メッシュ同士の貫通が生じているアバターの設定値の調整を行うために、メッシュ同士の貫通が生じる部分と、メッシュ同士の貫通量と、メッシュ同士の貫通が生じるタイミングを検出するシステムである。
【0024】
図2および図3は、アバターが動いた場合において、貫通が生じていない正常なアバターの画像と、貫通が生じているアバターの画像をそれぞれ対比した例である。図2および図3のアバターの画像の例において、左側の(a)のアバターの画像は、貫通が生じていない正常な画像である。また、図2および図3のアバターの画像の例において、右側の(b)のアバターの画像は、メッシュ同士に貫通が生じている画像である。図2および図3のアバターの画像の例において、点のハッチング部分は、肌が見えている部分を示す。ただし、図2および図3のアバターの画像の例において、顔および頭部は、黒で示している。また、図2および図3のアバターの画像の例において、黒の部分は、衣服を示す。
【0025】
図2のアバターの画像の例は、走る動きをしているアバターの画像である。図2の(a)のアバターの画像では、上半身では手の部分しか肌が見えていない。一方で、図2の(b)のアバターの画像では、手の部分に加え、片方の腕の一部の肌が見えている状態である。すなわち、図2の(b)のアバターの画像は、肌のメッシュと、衣服のメッシュに貫通が生じている状態である。
【0026】
図3のアバターの画像の例は、背伸びをしているアバターの画像である。図3の(a)のアバターの画像では、上半身では手の部分しか肌が見えていない。一方で、図3の(b)のアバターの画像では、手の部分に加え、片方の腕の一部の肌が見えている状態である。すなわち、図3の(b)のアバターの画像は、肌のメッシュと、衣服のメッシュに貫通が生じている状態である。アバター生成システム10は、例えば、図2の(b)および図3の(b)のような貫通が生じる部分と、貫通量と、貫通が生じるタイミングを検出する。
【0027】
アバター生成システム10は、定義された動きを基に、アバターの姿勢を変化させる処理を実行する。そして、アバター生成システム10は、メッシュ同士の貫通の状態を検出する。貫通の状態は、例えば、メッシュ同士がどのように貫通しているかを示す情報である。貫通の状態は、例えば、貫通が生じた部位と、貫通量である。貫通の状態は、貫通が生じたタイミングを含んでいてもよい。貫通の状態は、上記に限られない。
【0028】
定義された動きは、例えば、アバターの用途に応じて想定される動きである。定義された動きは、アバターのメッシュ同士の貫通を検出するために、アバターの姿勢をどのように変化させるかを一連の動きとして定めた検証パターンである。例えば、アバターにキックの動作をさせるときに、定義された動きは、キックの動作の始めから、キックの動作の終わりまでのアバターの姿勢を定めたものである。定義された動きは、例えば、アバターの動きの種類と、アバターの姿勢を含む。アバターの動きの種類は、例えば、歩いている状態、走っている状態、または、跳んでいる状態である。アバターの動きの状態は、上記に限られない。アバターの姿勢は、例えば、アバターが動いたときのアバターの体勢である。例えば、アバターが球技をするアバターである場合に、定義された動きは、球技で想定され得るアバターの動きそれぞれにおける姿勢である。球技で想定され得るアバターの動きは、走る動き、跳ぶ動き、相手を避ける動き、しゃがむ動き、ボールをとる動き、および、ボールを投げる動きそれぞれにおけるアバターの姿勢である。また、アバターが格闘技をするアバターである場合に、定義された動きは、格闘技で想定され得るアバターの動きそれぞれにおける姿勢である。格闘技で想定され得るアバターの動きは、相手を持ち上げる動き、相手を突く動き、相手をキックする動き、相手をかわす動き、跳ぶ動き、および、しゃがむ動きそれぞれにおけるアバターの姿勢である。衣服を試着したときの確認にアバターが用いられる場合に、定義された動きは、衣服の試着において想定され得るアバターの動きにおける姿勢である。衣服の試着において想定され得るアバターの動きは、例えば、手を伸ばす動き、腕を曲げる動き、座る動き、立つ動き、足をあげる動き、前にかがむ動き、および、後ろを振り返る動きそれぞれにおけるアバターの姿勢である。定義された動きは、上記に限られない。アバター生成システム10が検出した、貫通が生じた部位と、貫通量と、貫通が生じたタイミングは、例えば、アバターの設定値の補正に用いられる。
【0029】
ここで、アバター生成システム10の具体的な構成の例について説明する。図4は、アバター生成システム10の構成の例を示す図である。アバター生成システム10は、基本構成として、取得部11と、実行部12と、検出部13と、出力部15を備える。また、アバター生成システム10は、例えば、推定部14と、記憶部16をさらに備える。
【0030】
取得部11は、アバターのボーンとメッシュの設定データを取得する。アバターのボーンとメッシュの設定データは、例えば、アバターのボーンとメッシュの構造に関する設定データと、アバターの動きに関する設定データを含む。取得部11は、例えば、アバター管理システム20から、アバターの設定データを取得する。アバターのボーンとメッシュの構造に関する設定データは、例えば、ボーンと、メッシュそれぞれの構造についての設定データである。アバターのボーンとメッシュの構造に関する設定データのうち、ボーンの設定データは、例えば、ボーンの位置、ボーンの長さおよびボーン間の接合部を示すデータである。また、アバターのボーンとメッシュの構造に関する設定データのうちメッシュの設定データは、例えば、メッシュそれぞれにおける、形状および頂点の位置を示すデータである。アバターの動きに関する設定データは、例えば、アバターの動きのパターンごとのボーンの動かし方を示す設定データおよびボーンに対するメッシュのウェイトを示す設定データである。また、複数のアバターそれぞれにおけるメッシュ同士の貫通を検出する場合には、取得部11は、検出の対象となる複数のアバターについて、ボーンとメッシュの設定データを取得してもよい。
【0031】
取得部11は、メッシュ同士の貫通を検出する際に用いる、定義された動きを取得してもよい。取得部11は、例えば、端末装置30から、メッシュ同士の貫通を検出する際に用いる、定義された動きを取得する。また、取得部11は、定義された動きに含まれる複数の動きの種類のうち、アバターの姿勢を変化させるときにどの動きの種類を用いるのかを示す情報を取得してもよい。取得部11は、例えば、端末装置30から、どの動きの種類を用いるのかを示す情報を取得する。定義された動き、または、どの動きの種類を用いるのかを示す情報は、例えば、端末装置30に、アバターの作成者によって入力される。
【0032】
取得部11は、アバターの用途ごとに設定されている定義された動きを取得してもよい。また、アバターの用途ごとに定義された動きが設定されている場合に、取得部11は、アバターの用途の選択を取得してもよい。アバターの用途の選択は、例えば、端末装置30に、アバターの作成者によって入力される。取得部11は、例えば、端末装置30から、アバターの用途ごとに設定されている定義された動き、または、アバターの用途の選択を取得する。アバターの用途ごとに設定される定義された動きは、例えば、アバターの用途において、多く行われると想定される動きである。アバターの用途は、例えば、仮想空間の利用者がアバターをどのように使用するかである。アバターの用途によってほとんど行われない動きについては、メッシュ同士の貫通が生じても許容され場合がある。例えば、アバターの主な用途が、アバターを介した仮想空間内における他の利用者との交流である場合に、スポーツのような激しい動きにおける当該アバターのメッシュ同士の貫通は、許容される場合がある。
【0033】
アバターの用途は、例えば、仮想空間内の巡回、および仮想空間内の会話のように通常の行動の用途、仮想空間内でスポーツを行う用途、および、仮想空間内でアトラクションに参加する用途として設定される。スポーツを行う用途は、スポーツの内容ごとさらに詳細な用途に分けられていてもよい。例えば、スポーツに関する用途は、球技、水泳および陸上のように分けられていてもよい。また、球技は、野球、サッカー、バスケットボールおよびラグビーのようにさらに詳細に分けられていてもよい。また、仮想空間内でアトラクションに参加する用途は、さらに詳細な用途に分けられていてもよい。アバターの用途は、上記の例に限られない。また、アバターの用途ごとに定義された動きが設定されている場合に、取得部11は、例えば、端末装置30から、アバターの用途の選択を取得してもよい。アバターの用途の選択は、例えば、端末装置30に、アバターの作成者の操作によって入力される。
【0034】
実行部12は、アバターのボーンとメッシュの設定データと、定義された動きを基に、アバターの姿勢を変化させる処理を実行する。実行部12は、例えば、ボーンとメッシュの設定データを用いて、定義された動きに従って、アバターの動きを操作することでアバターの姿勢を変化させる。そして、実行部12は、例えば、アバターの姿勢を変化させたアバターのデータを生成する。アバターの姿勢を変化させたデータは、例えば、アバターの姿勢を変化させる処理を実行したときのアバターの画像である。アバターの姿勢を変化させたデータは、アバターの姿勢を変化させる処理を実行したときのボーンとメッシュの座標データであってもよい。また、メッシュ同士の貫通を検出する対象のアバターが複数ある場合には、実行部12は、アバターそれぞれについて、定義された動きを基に、アバターの姿勢を変化させる処理を実行する。
【0035】
アバターの用途ごとに定義された動きが設定されている場合に、実行部12は、例えば、ボーンとメッシュの設定データを用いて、アバターの用途に応じた定義された動きに従ってアバターの姿勢を変化させる処理を実行する。アバターの用途に応じた定義された動きに従ってアバターの姿勢を変化させることで、例えば、アバターの用途に応じてアバターの姿勢を変化させたデータが生成される。アバターが動いたときのデータは、例えば、アバターの動きを示す画像である。アバターの用途に応じた定義された動きが球技に関する動きである場合に、実行部12は、アバターが球技に関する動きをするように、アバターの姿勢を変化させる。球技に関する動きをするようにアバターの姿勢を変化させることで、アバターが球技に関する動きをしている場合におけるアバターの画像が生成される。
【0036】
検出部13は、アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出する。検出部13は、例えば、検出モデルを用いて、定義された動きを基に操作されたアバターの動きに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出する。貫通の状態は、例えば、メッシュ同士が貫通した部位と、貫通量である。検出モデルは、貫通が生じたタイミングをさらに検出してもよい。
【0037】
検出モデルは、例えば、アバターの姿勢を変化させた画像に基づいて、アバターを構成するメッシュ同士の貫通を検出する。検出モデルは、例えば、定義された動きを基にアバターの姿勢を変化させた画像に基づいて、メッシュ同士の貫通の状態を検出する。検出モデルは、例えば、アバターの姿勢を変化させた画像において、前面のメッシュに隠れていて見えていないはずのメッシュが見えている状態を検出する。例えば、メッシュ同士の貫通が、肌のメッシュと衣服のメッシュの貫通である場合に、検出モデルは、定義された動きを基にアバターの姿勢を変化させた画像に基づいて、アバターの設定上では前面に表示される衣服と重なっていて肌が見えない身体上の位置に、肌が見える部分を検出する。検出モデルは、定義された動きを基に姿勢を変化させたアバターの姿勢が映った画像を入力として、メッシュ同士の貫通の状態を出力する。検出モデルは、肌を含まないメッシュ同士の貫通を検出してもよい。
【0038】
検出部13は、例えば、検出モデルを用いて、貫通によって肌が見える部位と、貫通が生じて肌が見えるタイミングを検出する。検出部13は、例えば、検出モデルがメッシュ同士の貫通を検出した画像を、メッシュ同士に貫通が生じたタイミングの画像として検出する。そして、検出部13は、アバターの動きに関するデータから貫通量を検出する。貫通量は、例えば、貫通が生じたメッシュ同士のずれ量である。検出部13は、例えば、メッシュ同士の貫通量を、メッシュそれぞれの外周部に設定されている頂点の距離を用いて算出する。
【0039】
検出モデルは、アバターの姿勢を変化させたときのボーンとメッシュの座標データに基づいて、メッシュ同士の貫通の状態を検出してもよい。検出モデルは、例えば、アバターの姿勢を変化させたときのボーンとメッシュの座標データを入力として、メッシュ同士が貫通した部位と、貫通量を出力する。また、検出モデルは、アバターの姿勢を変化させたときのボーンとメッシュの座標データを基に、メッシュ同士に貫通が生じたタイミングを検出してもよい。
【0040】
検出モデルは、ニューラルネットワークを用いた深層学習によって生成される画像認識モデルである。検出モデルは、例えば、姿勢を変化させたアバターが映った画像と、貫通の有無および貫通した部位との関係を学習することによって生成される。検出モデルは、姿勢を変化させたアバターが映った画像と、貫通の有無、貫通した部位および貫通量との関係を学習することによって生成されてもよい。検出モデルは、例えば、姿勢を変化させたアバターのボーンとメッシュの座標データと、貫通の有無および貫通した部位との関係を学習することによって生成されてもよい。検出モデルは、姿勢を変化させたアバターのボーンとメッシュの座標データと、貫通の有無、貫通した部位および貫通量との関係を学習することによって生成されてもよい。検出モデルは、例えば、アバター生成システム10の外部のシステムで生成される。
【0041】
検出部13は、アバターの姿勢を変化させたときのボーンとメッシュの座標データに基づいて、メッシュ同士の貫通の状態を検出してもよい。検出部13は、例えば、定義された動きを基に、アバターの姿勢を変化させたときのメッシュの座標データを用いて、メッシュそれぞれの外周部に設定された頂点間の距離を比較する。そして、検出部13は、頂点間の距離が基準以上であった場合に、メッシュ間で貫通が生じていることを検出する。検出部13は、貫通が生じていることを検出した頂点が含まれる部位を貫通が生じた部位として検出する。また、検出部13は、頂点間の距離を基に、貫通量を検出する。また、貫通が生じていることを検出したデータが取得されたタイミングを、貫通が生じたタイミングとして検出する。また、メッシュ同士の貫通を検出する対象のアバターが複数ある場合には、検出部13は、アバターそれぞれについて、アバターの姿勢を変化させたときのボーンとメッシュの座標データに基づいて、アバターを構成するメッシュ同士の貫通を検出する。
【0042】
推定部14は、例えば、検出の結果に基づいて、メッシュに関する設定値の補正量を推定する。推定部14は、例えば、貫通が検出された部分について、検出された貫通量に基づいて、メッシュの設定データにおける設定値の補正量を推定する。推定部14は、例えば、貫通が検出された部分について、検出された貫通量に基づいて、メッシュのウェイトの補正値を推定する。メッシュのウェイトは、例えば、ボーンの位置の変化に対してメッシュの位置を変化させる場合における、ボーンに対するメッシュの追随量である。貫通量と補正量の関係は、例えば、貫通量と補正量の関係を示す関数を用いて設定される。貫通量と補正量の関係は、貫通量と補正量の関係を示すデータテーブルを用いて設定されてもよい。メッシュのウェイトの補正値は、貫通が生じているメッシュ同士の貫通量が小さくなるように設定される。補正値は、補正後のウェイトの値でもよく、補正前のウェイトと補正後のウェイトの値の差を示す値でもよい。推定部14は、例えば、貫通が検出されたメッシュそれぞれについて、メッシュのウェイトの補正値を推定する。また、メッシュ同士の貫通を検出する対象のアバターが複数ある場合には、推定部14は、アバターそれぞれについて、メッシュに関する設定値の補正量を推定する。
【0043】
推定部14は、例えば、基準となるメッシュと、それ以外のメッシュの間で貫通が生じた場合に、基準となるメッシュ以外のメッシュについてのみ設定値の補正量を推定してもよい。例えば、アバターの姿勢を変化させた場合にも、肌のメッシュはボーンに追随しているとみなして、肌のメッシュが基準となるメッシュとして設定される。肌のメッシュが基準となるメッシュである場合に、推定部14は、肌のメッシュと、衣服のメッシュの間で貫通が生じた場合に、衣服のメッシュについてのみ、ボーンに対するメッシュのウェイトの補正値を推定する。また、メッシュそれぞれに設定値の補正に関する重みが設定されていてもよい。重みは、例えば、貫通が生じたメッシュのうち、補正幅を大きくするメッシュの重みが大きくなるように設定される。推定部14は、重みに基づいて、ボーンに対するメッシュのウェイトの補正値を推定する。また、複数のタイミングで貫通が検出されている場合には、推定部14は、タイミングそれぞれにおいて推定される補正値の統計値を、対象となる部分の補正値として推定してもよい。また、補正の対象となるメッシュの設定値は、メッシュのウェイト以外であってもよい。補正の対象となるメッシュの設定値は、メッシュの形状および頂点の位置のうち少なくとも1つであってもよい。補正の対象となるメッシュの設定値は、メッシュのウェイトに加えて、メッシュの形状および頂点の位置のうち少なくとも1つを含んでいてもよい。補正の対象となるメッシュの設定値は、上記に限られない。
【0044】
推定部14は、複数のメッシュのうち少なくとも一部のメッシュに設定されている優先度を基に、複数のメッシュそれぞれの設定値の補正量を推定してもよい。推定部14は、例えば、複数のメッシュのうち少なくとも一部のメッシュに設定されている優先度を基に、複数のメッシュそれぞれの補正量を推定する。優先度は、例えば、変更を加えたくないメッシュの優先度が高くなるように設定される。推定部14は、例えば、2つのメッシュ間の貫通を補正する場合に、優先度が低い側のメッシュの設定値を補正する。推定部14は、2つのメッシュ間の貫通を補正する場合に、優先度に基づいた比率でメッシュそれぞれの設定値を補正してもよい。推定部14は、例えば、2つのメッシュ間の貫通を補正する場合に、優先度が高いメッシュの補正量が、優先度が低いメッシュの補正量よりも小さくなるように設定値を補正する。また、優先度は、補正をする側のメッシュの優先度が高くなるように設定されてもよい。
【0045】
出力部15は、メッシュ同士の貫通の状態についての検出の結果を出力する。出力部15は、例えば、端末装置30に、メッシュ同士の貫通の状態についての検出の結果を出力する。出力部15は、例えば、アバターを構成するメッシュ同士が貫通した部位と、貫通量と、貫通が生じたタイミングを出力する。メッシュ同士の貫通が生じていない場合には、出力部15は、貫通が生じていないことを示す情報を出力してもよい。また、推定部14がメッシュに関する設定値の補正量を推定する場合に、出力部15は、例えば、メッシュに関する設定値の補正量をさらに出力する。
【0046】
複数のタイミングでメッシュ同士の貫通が生じている場合に、出力部15は、貫通量が最大となるタイミングにおけるメッシュ同士の貫通の状態を出力してもよい。また、出力部15は、貫通が生じてはいけないタイミングについての優先度を基に、メッシュ同士の貫通の状態を出力してもよい。貫通が生じてはいけないタイミングについての優先度は、例えば、アバターの用途において重要であるタイミングにおける優先度が高くなるように設定される。この場合において、出力部15は、例えば、貫通が生じたタイミングのうち、優先度が最も高いタイミングにおける、メッシュ同士の貫通の状態を出力する。貫通が生じてはいけないタイミングは、例えば、アバターの用途に応じて、貫通が生じた場合に不自然に見えやすい姿勢となるタイミングである。例えば、格闘技をするアバターにおいて、キックする瞬間の姿勢のタイミングのように、アバターの用途において重要な姿勢の優先度が、他の姿勢の優先度よりも高くなるように設定される。また、出力部15は、同じ種類の動きに関する姿勢について、複数のタイミングにおけるメッシュ同士の貫通の状態を出力してもよい。例えば、キックする動きについての貫通の状態を出力する場合に、出力部15は、蹴り始め、蹴り終わり、および、蹴り始めと蹴り終わりの間におけるメッシュ同士の貫通の状態を出力してもよい。
【0047】
出力部15は、メッシュ同士が貫通したタイミングにおける、補正前のアバターの画像と、補正後のアバターの画像を出力してもよい。出力部15は、補正の対象となった動作について、補正の内容、および、補正量のうち少なくとも一方が異なる複数のアバターの画像を補正後のアバターの候補として出力してもよい。補正の内容は、例えば、補正したメッシュ、および補正した個所である。補正の内容は、メッシュ同士の貫通が生じた動きであってもよい。補正の内容は、上記に限られない。また、出力部15は、補正後のアバターにおいて補正された箇所、および、補正の対象となった動きの少なくとも一方を強調した画像を出力してもよい。
【0048】
出力部15は、選択された動きに基づいてアバターが動いている複数の画像を出力してもよい。出力部15は、例えば、選択された動きに基づいて、アバターを様々な動かし方をした場合におけるアバターの画像それぞれを出力する。例えば、動きとしてキックが選択された場合に、出力部15は、キックに関する様々な動きをしているアバターの画像を並べて出力する。キックに関する様々な動きは、例えば、ジャンプしながらのキック、低い体勢でのキック、高い位置まで足をあげたキック、右側を向いたキック、左側を向いたキックおよび連続で行うキックである。動きの選択は、例えば、端末装置30に、アバターの作成者の操作によって入力される。そして、取得部11は、端末装置30から、選択された動きを取得する。選択された動きの画像は、実行部12がアバターの動きを操作することによって生成される。また、出力部15は、複数のアバターそれぞれが同じ動きをしている画像を並べて出力してもよい。
【0049】
アバターに装着させる衣服の形状を確認する場合に、出力部15は、同一の種類のメッシュを替えたアバターの画像それぞれを出力してもよい。同一の種類のメッシュを替えるとは、例えば、上着、ボトムズ、または帽子をそれぞれ替えることをいう。例えば、シャツの形状によって貫通が生じないかを確認する場合に、出力部15は、形状がそれぞれ異なるシャツに対応したメッシュごとのアバターの画像を、並べて出力する。同一の種類のメッシュは、上記に限られない。また、出力部15は、アバターの画像をアニメーション画像として出力してもよい。
【0050】
アバターが衣服の試着の確認に用いられる場合に、出力部15は、試着の対象の衣服ごとのアバターの画像を出力してもよい。出力部15は、例えば、衣服ごとに、アバターがそれぞれの動きをしているときの画像を並べて出力する。また、出力部15は、アバターのそれぞれの動きごとに、衣服を替えたアバターの画像を並べて出力してもよい。また、出力部15は、例えば、アバター管理システム20に、メッシュの設定値の補正量を出力する。
【0051】
図5は、貫通が生じたアバターの検出結果を表示する表示画面の例である。図5の表示画面の例では、左側に、アバターが腕をあげた場合に、腕の部分と、衣服に貫通が生じて、腕の一部の肌が見えているアバターの画像が表示されている。図5の表示画面の例では、右側に、アバターが走っている場合に、腕の部分と、衣服に貫通が生じて、腕の一部の肌が見えているアバターの画像が表示されている。図5の表示画面の例では、それぞれのアバターについて「貫通量」が表示されている。図5の表示画面の例では、貫通が生じている個所のうち、肌が見えている身体部分の側が斜め線で示されている。また、図5の表示画面の例では、例えば、利用者は、アバターが手をあげるタイミングと、走るタイミングで貫通が生じること視認できる。
【0052】
図5は、貫通が生じたアバターの検出結果を表示する表示画面の例である。図5の表示画面の例では、左側に、アバターが腕をあげた場合に、腕の部分と、衣服に貫通が生じて、腕の一部の肌が見えているアバターの画像が表示されている。図5の表示画面の例では、右側に、アバターが走っている場合に、腕の部分と、衣服に貫通が生じて、腕の一部の肌が見えているアバターの画像が表示されている。図5の表示画面の例では、それぞれのアバターについて「貫通量」が表示されている。図5の表示画面の例では、貫通が生じている個所のうち、肌が見えている身体部分の側が斜め線で示されている。また、図5の表示画面の例では、例えば、利用者は、アバターが手をあげるタイミングと、走るタイミングで貫通が生じること視認できる。
【0053】
図6は、複数のタイミングそれぞれにおけるアバターの画像を表示する表示画面の例を示す図である。図6の表示画面の例は、アバターが走る動きをしている場合における、複数のタイミングそれぞれにおけるアバターの画像を表示する表示画面である。また、複数のタイミングそれぞれにおけるアバターの画像を表示する表示画面は、例えば、図5の表示画面の例において、走る動きが選択された場合に表示されるようにしてもよい。
【0054】
記憶部16は、例えば、アバターを構成するメッシュ同士の貫通の検出に用いるデータを保存する。記憶部16は、例えば、メッシュ同士の貫通を検出する対象となるアバターの設定データを保存する。記憶部16は、例えば、アバターを操作するときに用いる事前に定義された動きを保存する。記憶部16は、例えば、アバターを操作するときのアバターのデータを保存する。記憶部16は、例えば、メッシュ同士の貫通の検出に用いる検出モデルを保存する。検出モデルは、アバター生成システム10の外部の記憶手段に保存されてもよい。また、記憶部16は、メッシュ同士の貫通についての検出の結果を保存してもよい。
【0055】
アバター管理システム20は、例えば、仮想空間上で動作するアバターの設定データを管理する。アバターの設定データは、例えば、アバターのボーンとメッシュの設定データである。アバター管理システム20は、例えば、アバター生成システム10に、アバターの設定データを出力する。また、アバター管理システム20は、例えば、アバター生成システム10から取得するメッシュの設定値の補正量を基にアバターの設定データを更新する。また、アバター管理システム20は、例えば、仮想空間管理システム40に、アバターの設定データを出力する。
【0056】
端末装置30は、例えば、アバターを生成する人物が、アバターの動きの確認、および、アバターの補正量の決定を行う際に用いる端末装置である。端末装置30は、例えば、アバター生成システム10からアバターの動きの画像を取得する。そして、アバター生成システム10は、例えば、図示しない表示装置に、アバターの動きの画像を出力する。
【0057】
端末装置30は、例えば、アバターの作成者の操作によって入力される、事前に定義される動きの選択を取得する。そして、端末装置30は、例えば、アバター生成システム10に、事前に定義される動きの選択を出力する。端末装置30は、例えば、アバターの作成者の操作によって入力される、アバターの設定値についての補正内容を取得する。そして、端末装置30は、例えば、アバター生成システム10に、アバターの設定値についての補正内容を出力する。アバターの設定値についての補正内容は、例えば、メッシュ同士の貫通についての検出の結果に基づいて、メッシュの設定値の補正を実行する部分と補正量を示す情報である。
【0058】
端末装置30には、例えば、パーソナルコンピュータ、タブレット型コンピュータ、または、スマートフォンを用いることができる。端末装置30は、上記に限られない。
【0059】
仮想空間管理システム40は、例えば、仮想空間を管理する。仮想空間管理システム40は、例えば、仮想空間の表示および仮想空間内におけるアバターの表示を管理する。仮想空間管理システム40は、例えば、アバター管理システム20から、仮想空間を利用する利用者の操作によって選択されたアバターの設定データを取得する。そして、仮想空間管理システム40は、例えば、仮想空間に、利用者の操作に基づいて動作するアバターを出力する。
【0060】
アバター生成システム10の動作について説明する。図7は、アバター生成システム10の動作フローの例を示す図である。
【0061】
取得部11は、アバターのボーンとメッシュの設定データを取得する(ステップS11)。取得部11は、例えば、アバターを管理するアバター管理システム20から、アバターのボーンとメッシュの設定データを取得する。
【0062】
アバターのボーンとメッシュの設定データを取得すると、実行部12は、アバターのボーンとメッシュの設定データと、定義された動きを基に、アバターの姿勢を変化させる処理を実行する(ステップS12)。
【0063】
姿勢を変化させる処理が実行されると、検出部13は、アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出する(ステップS13)。
【0064】
定義された動きすべてについてアバターの姿勢を変化させる処理が終わっていて(ステップS14でYes)、対象のアバターすべてについて姿勢を変化させる処理が終わっている場合に(ステップS15でYes)、出力部15は、検出の結果を出力する(ステップS16)。出力部15は、例えば、端末装置30に、メッシュ同士の貫通の状態についての検出の結果を出力する。
【0065】
ステップS14において、定義された動きのうちアバターの姿勢を変化させる処理が終わっていない動きがある場合に(ステップS14でNo)、ステップS12に戻り、実行部12は、アバターの姿勢を変化させる処理が終わっていない定義されていない動きのうちいずれかの動きを基に、アバターの姿勢を変化させる処理を実行する(ステップS12)。
【0066】
ステップS15において、姿勢を変化させる処理が終わっていないアバターがある場合に(ステップS15でNo)、ステップS12に戻り、実行部12は、姿勢を変化させる処理が終わっていないアバターについて、定義された動きを基に、アバターの姿勢を変化させる処理を実行する(ステップS12)。
【0067】
アバター生成システム10は、定義された動きを基に、アバターの姿勢を変化させる処理を実行する。そして、アバター生成システム10は、アバターの姿勢が変化したデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出する。例えば、アバターの用途に応じて想定される動きを定義してアバターの姿勢を変化させることで、例えば、アバターの動きを個々に操作して、メッシュ同士の貫通の有無を確認することが不要になる。このため、アバター生成システム10を用いることで、例えば、仮想空間で実際にアバターを用いたとき生じ得るメッシュ同士の貫通を容易に検出することができる。また、アバターの画像からメッシュ同士の貫通を検出する検出モデルを用いて、アバター同士の貫通を検出することで、メッシュ同士の貫通をより容易に検出することができる。よって、アバター生成システム10を用いることで、アバターの動きによって生じ得るメッシュ同士の貫通を容易に検出することができる。
【0068】
また、アバター生成システム10を用いることで、メッシュ同士が貫通した部位と、貫通量と、貫通が生じたタイミングを検出し、貫通が生じないようにメッシュの設定値を補正することでメッシュ同士の貫通の発生が抑制されたアバターを得ることができる。メッシュ同士の貫通の発生を抑制することで、例えば、想定される用途においてアバターが様々な動きをした場合にも、自然に見えるアバターを得ることができる。
【0069】
上記の仮想空間システムにおける各処理は、同一の情報処理装置内で実行されてもよい。また、アバター生成システム10、アバター管理システム20、端末装置30、および、仮想空間管理システム40における各処理のうち、複数のシステムにおける処理が同一の情報処理装置内で実行されてもよい。例えば、アバター生成システム10、アバター管理システム20、および、端末装置30における処理が、同一の情報処理装置内で実行されてもよい。また、アバター生成システム10、および、端末装置30における処理が、同一の情報処理装置内で実行されてもよい。仮想空間システムにおける各処理を、複数の情報処理装置にどのように分散して行うかは、適宜、設定され得る。アバター生成システム10における各処理は、ネットワークを介して接続されている複数の情報処理装置において分散されて実行されてもよい。例えば、実行部12の処理と、検出部13および推定部14の処理は、別の情報処理装置において行われてもよい。アバター生成システム10における各処理を、複数の情報処理装置のうちいずれにおいて行うかは、適宜、設定され得る。
【0070】
アバター生成システム10における各処理は、コンピュータプログラムをコンピュータで実行することによって実現することができる。図8は、アバター生成システム10における各処理を行うコンピュータプログラムを実行するコンピュータ100の構成の例を示したものである。コンピュータ100は、例えば、CPU(Central Processing Unit)101と、メモリ102と、記憶装置103と、入出力I/F(Interface)104と、通信I/F105を備える。
【0071】
CPU101は、記憶装置103から各処理を行うコンピュータプログラムを読み出して実行する。CPU101は、複数のCPUの組み合わせによって構成されていてもよい。また、CPU101は、CPUと他の種類のプロセッサの組み合わせによって構成されていてもよい。例えば、CPU101は、CPUとGPU(Graphics Processing Unit)の組み合わせによって構成されていてもよい。メモリ102は、DRAM(Dynamic Random Access Memory)等によって構成され、CPU101が実行するコンピュータプログラムや処理中のデータが一時記憶される。記憶装置103は、CPU101が実行するコンピュータプログラムを記憶している。記憶装置103は、例えば、不揮発性の半導体記憶装置によって構成されている。記憶装置103には、ハードディスクドライブ等の他の記憶装置が用いられてもよい。入出力I/F104は、例えば、コンピュータ100を操作する人物からの入力の受付および表示データ等の出力を行うインタフェースである。通信I/F105は、他の情報処理装置との間でデータの送受信を行うインタフェースである。また、アバター管理システム20、端末装置30、および、仮想空間管理システム40も、コンピュータ100と同様の構成としてもよい。
【0072】
各処理の実行に用いられるコンピュータプログラムは、データを非一時的に記録するコンピュータ読み取り可能な記録媒体に格納して頒布することもできる。記録媒体としては、例えば、データ記録用磁気テープや、ハードディスクなどの磁気ディスクを用いることができる。また、記録媒体としては、CD-ROM(Compact Disc Read Only Memory)等の光ディスクを用いることもできる。不揮発性の半導体記憶装置を記録媒体として用いてもよい。
【0073】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0074】
[付記1]
アバターのボーンとメッシュの設定データを取得する取得手段と、
前記設定データと、定義された動きとを基に、前記アバターの姿勢を変化させる処理を実行する実行手段と、
アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出する検出手段と、
検出の結果を出力する出力手段と
を備えるアバター生成システム。
【0075】
[付記2]
前記検出手段は、アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通を検出する検出モデルを用いて、定義された動きを基にアバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出する、
付記1に記載のアバター生成システム。
【0076】
[付記3]
前記検出の結果に基づいて、前記メッシュの設定値の補正量を推定する推定手段をさらに備え、
前記出力手段は、前記補正量をさらに出力する、
付記1または2に記載のアバター生成システム。
【0077】
[付記4]
前記出力手段は、メッシュ同士が貫通したタイミングにおける、補正前のアバターの画像と、補正後のアバターの画像を出力する、
付記3に記載のアバター生成システム。
【0078】
[付記5]
前記出力手段は、補正の対象となった動作について、補正の内容、および、補正量のうち少なくとも一方が異なる複数のアバターの画像を補正後のアバターの画像の候補として出力する、
付記3に記載のアバター生成システム。
【0079】
[付記6]
前記出力手段は、補正後のアバターにおいて補正された箇所、および、補正の対象となった動きの少なくとも一方を強調した画像を出力する、
付記3に記載のアバター生成システム。
【0080】
[付記7]
前記出力手段は、選択された動きに基づいてアバターが動いている複数の画像を出力する、
付記1に記載のアバター生成システム。
【0081】
[付記8]
前記出力手段は、同一種類のメッシュを替えたアバターの画像それぞれを出力する、
付記1に記載のアバター生成システム。
【0082】
[付記9]
前記推定手段は、複数のメッシュのうち少なくとも一部のメッシュに設定されている優先度を基に、前記複数のメッシュそれぞれの設定値の補正量を推定する、
付記3に記載のアバター生成システム。
【0083】
[付記10]
前記推定手段は、複数のメッシュそれぞれに設定されている重みに基づいて、複数のメッシュそれぞれの設定値の補正量を推定する、
付記3に記載のアバター生成システム。
【0084】
[付記11]
前記貫通の状態は、メッシュ同士が貫通した部位と、貫通量と、貫通が生じたタイミングのうち少なくとも1つである、
付記1に記載のアバター生成システム。
【0085】
[付記12]
前記検出モデルは、姿勢を変化させたアバターが映っている画像から、アバターを構成するメッシュ同士の貫通の状態を検出する、
付記2に記載のアバター生成システム。
【0086】
[付記13]
前記メッシュの設定値は、メッシュの形状、頂点の位置、および、ウェイトの設定値のうち少なくとも1つである、
付記3に記載のアバター生成システム。
【0087】
[付記14]
アバターのボーンとメッシュの設定データを取得し、
前記設定データと、定義された動きとを基に、前記アバターの姿勢を変化させる処理を実行し、
アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出し、
検出の結果を出力する、
アバター生成方法。
【0088】
[付記15]
アバターのボーンとメッシュの設定データを取得する処理と、
前記設定データと、定義された動きとを基に、前記アバターの姿勢を変化させる処理を実行する処理と、
アバターの姿勢を変化させたデータに基づいて、アバターを構成するメッシュ同士の貫通の状態を検出する処理と、
検出の結果を出力する処理と
をコンピュータに実行させるアバター生成プログラム。
【符号の説明】
【0089】
10 アバター生成システム
11 取得部
12 実行部
13 検出部
14 推定部
15 出力部
16 記憶部
20 アバター管理システム
30 端末装置
40 仮想空間管理システム
100 コンピュータ
101 CPU
102 メモリ
103 記憶装置
104 入出力I/F
105 通信I/F
図1
図2
図3
図4
図5
図6
図7
図8