【文献】
金山範明,外4名,“エンフェイスメント効果の神経基盤の検討”,認知科学,日本認知科学会,2014年,Vol.21,No.4,p.499−502
(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、キャラクターモデルを動作させる場合に、単に身体の各パーツの相対位置を変化させるのみでは、その動作によって表現したいニュアンスが観察者に対して伝わりにくいという問題があった。
【0006】
これについて本発明者は、人間が視覚により人の動作を認識する場合に、ホムンクルス等の体部位再現に応じた体部位の動きを無意識に認知していると考え、このホムンクルスに従った視覚効果の強調をすることで、表現したい動作のニュアンスを人間のリアルな感覚に訴え得ることを知見した。
【0007】
詳述すると、人間の脳内において、身体を構成する特定の体部位の再現が中枢神経系の特定の領域と1対1に対応する体部位再現がなされる場合、脳内の体性感覚に関わる領域(体性感覚野)は、各体部位から来る体性感覚の入力の量又は重要性に応じて区分けされている。例えば、手や顔、口の感覚に対しては実際の体部位の割合よりも大きく認知されるように広い面積が脳皮質に割り当てられている一方で、背中などの体幹ではずっと小さい面積しか割り当てられていない。この体性感覚の区分はホムンクルス等の体部位再現図で表せることが知られている。
【0008】
そのため、単に身体の各パーツの相対位置を変化させるのみの、従来のキャラクターの動作制御では、上述した体性感覚の入力量又は重要性を考慮していないことから、意図するニュアンスが伝わりにくいと考えられる。
【0009】
そこで、本発明は、上記のような問題を解決するものであり、複数のパーツデータで構成されたキャラクターモデルであるアバターを動作させる際に、表現したい動作のニュアンスを人間のリアルな感覚に訴え得る視覚効果を奏するモデリング制御システム、モデリング制御プログラム、及びモデリング制御方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
○モデリング制御システム
上記課題を解決するために、本発明は、仮想空間上において、複数のパーツデータで構成されたアバターに関するモデリングデータを動作させるモデリング制御システムであって、
前記各パーツデータの動作に関する情報を動作制御データとして取得し、特定の前記パーツデータの移動量を評価する動作解析部と、
前記動作解析部が評価した移動量に応じて、前記パーツデータの大きさを変更する強調処理部と、
前記強調処理部により大きさが変更されたパーツデータを含む前記複数のパーツデータで構成されたアバターを出力する出力部と
を備え、
前記動作解析部は、人間の脳の体性感覚に関わる領域である体性感覚野における、身体を構成する特定の体部位から来る体性感覚の区分の面積割り当て、又は体性感覚の密度に応じて、前記パーツデータを選択し、その移動量を評価することを特徴とする。
【0011】
また、本発明は、仮想空間上において、複数のパーツデータで構成されたアバターに関するモデリングデータを動作させるモデリング制御システムであって、
前記各パーツデータの動作に関する情報を動作制御データとして取得し、特定の前記パーツデータの移動量を評価する動作解析部と、
前記動作解析部が評価した移動量に応じて、前記仮想空間上における前記アバターに対するカメラ視点又は撮影設定を変更する強調処理部と、
前記強調処理部により撮影設定が変更されたカメラ視点において前記アバターを仮想的に撮影した映像を出力する出力部と
を備え、
前記動作解析部は、人間の脳の体性感覚に関わる領域である体性感覚野における、身体を構成する特定の体部位から来る体性感覚の区分の面積割り当て、又は体性感覚の密度に応じて、前記パーツデータを選択し、その移動量を評価することを特徴とする。
【0012】
○モデリング制御方法
さらに、本発明は、仮想空間上において、複数のパーツデータで構成されたアバターに関するモデリングデータを動作させるモデリング制御方法であって、
動作解析部が、前記各パーツデータの動作に関する情報を動作制御データとして取得し、特定の前記パーツデータの移動量を評価する動作解析ステップと、
強調処理部が、前記動作解析ステップにより評価された移動量に応じて、前記パーツデータの大きさを変更する強調処理ステップと、
出力部が、前記強調処理ステップにより大きさが変更されたパーツデータを含む前記複数のパーツデータで構成されたアバターを出力する出力ステップと
を含み、
前記動作解析ステップでは、人間の脳の体性感覚に関わる領域である体性感覚野における、身体を構成する特定の体部位から来る体性感覚の区分の面積割り当て、又は体性感覚の密度に応じて、前記パーツデータを選択し、その移動量を評価する
ことを特徴とする。
【0013】
また、本発明は、仮想空間上において、複数のパーツデータで構成されたアバターに関するモデリングデータを動作させるモデリング制御方法であって、
動作解析部が、前記各パーツデータの動作に関する情報を動作制御データとして取得し、特定の前記パーツデータの移動量を評価する動作解析ステップと、
強調処理部が、前記動作解析ステップにより評価された移動量に応じて、前記仮想空間上における前記アバターに対するカメラ視点又は撮影設定を変更する強調処理ステップと、
出力部が、前記強調処理ステップにより撮影設定が変更されたカメラ視点において前記アバターを仮想的に撮影した映像を出力する出力ステップと
を含み、
前記動作解析ステップでは、人間の脳の体性感覚に関わる領域である体性感覚野における、身体を構成する特定の体部位から来る体性感覚の区分の面積割り当て、又は体性感覚の密度に応じて、前記パーツデータを選択し、その移動量を評価する
ことを特徴とする。
【0014】
○モデリング制御プログラム
さらに、本発明は、仮想空間上において、複数のパーツデータで構成されたアバターに関するモデリングデータを動作させるモデリング制御プログラムであって、コンピューターを、
前記各パーツデータの動作に関する情報を動作制御データとして取得し、特定の前記パーツデータの移動量を評価する動作解析部と、
前記動作解析部が評価した移動量に応じて、前記パーツデータの大きさを変更する強調処理部と、
前記強調処理部により大きさが変更されたパーツデータを含む前記複数のパーツデータで構成されたアバターを出力する出力部として機能させ、
前記動作解析部は、人間の脳の体性感覚に関わる領域である体性感覚野における、身体を構成する特定の体部位から来る体性感覚の区分の面積割り当て、又は体性感覚の密度に応じて、前記パーツデータを選択し、その移動量を評価することを特徴とする。
【0015】
また、本発明は、仮想空間上において、複数のパーツデータで構成されたアバターに関するモデリングデータを動作させるモデリング制御プログラムであって、コンピューターを、
前記各パーツデータの動作に関する情報を動作制御データとして取得し、特定の前記パーツデータの移動量を評価する動作解析部と、
前記動作解析部が評価した移動量に応じて、前記仮想空間上における前記アバターに対するカメラ視点又は撮影設定を変更する強調処理部と、
前記強調処理部により撮影設定が変更されたカメラ視点において前記アバターを仮想的に撮影した映像を出力する出力部として機能させ、
前記動作解析部は、人間の脳の体性感覚に関わる領域である体性感覚野における、身体を構成する特定の体部位から来る体性感覚の区分の面積割り当て、又は体性感覚の密度に応じて、前記パーツデータを選択し、その移動量を評価することを特徴とする。
【発明の効果】
【0016】
これらの発明によれば、ホムンクルス等の体部位再現に従って、手や顔、目、口など、特定のパーツデータの移動量を評価し、算出した移動量に応じて、パーツデータの大きさを変更したり、仮想空間上におけるカメラ視点の撮影設定を変更することによって、視覚的な強調処理を効果的に行うことができる。
【0017】
詳述すると、アバターを動作させる際に、各体部位から来る体性感覚の入力量又は重要性に応じた体性感覚野の区分けや触覚受容器からの体性感覚の密度分布である脳内の体部位再現に従って、パーツデータを選択してその移動量を評価する。この評価に基づいて、例えば体部位再現図を参照して、体部位再現の面積或いは体性感覚の密度に応じた重み付けをし、この重み付けに従ってパーツサイズを拡大したり、カメラアングルを変更したりなどの強調処理を行う。人間が視覚により人の動作を認識する場合、ホムンクルス等の体部位再現に応じた体部位の動きを無意識に認知していると考えられることから、この体部位再現に従って動作を評価し、その評価に応じて特定の体部位のパーツを大きくしたり(或いは小さくしたり)、アングルを変えてズームインしたり(或いはズームアウト)するなどのカメラアングルや撮影設定を切り替えことにより、視覚的な強調を効果的に行うことができる。
【0018】
この結果、本発明によれば、複数のパーツデータで構成されたキャラクターモデルであるアバターを動作させる際に、人間の脳における体性感覚の入力の量又は重要性を考慮することによって、表現したい動作のニュアンスを人間のリアルな感覚に訴える視覚効果を得ることができる。
【0019】
なお、本発明のモデリング制御プログラムは、情報処理端末やWebサーバー等のコンピューターやICチップにインストールし、CPU上で実行することにより、上述した各機能を有するシステムを容易に構築することができる。このモデリング制御プログラムは、例えば、通信回線を通じて配布することが可能であり、またパッケージアプリケーションとして譲渡することができる。そして、このようなモデリング制御プログラムは、パーソナルコンピューターで読み取り可能な記録媒体に記録することができ、汎用のコンピューターや専用コンピューターを用いて、上述したモデリング制御システム及びモデリング制御方法を実施することが可能となるとともに、モデリング制御プログラムの保存、運搬及びインストールを容易に行うことができる。
【発明を実施するための形態】
【0021】
以下に添付図面を参照して、本発明に係るモデリング制御システム、モデリング制御方法及びモデリング制御プログラムの実施形態を詳細に説明する。本実施形態において、モデリング制御システムは、仮想空間上において、所定の立体的形状が定義されたアバターに関するモデリングデータを動作制御するシステムであり、本発明のモデリング制御プログラムを情報処理端末上で実行することにより構築される。
【0022】
(モデリングデータの概要)
本実施形態に係るモデリング制御システムは、パーソナルコンピューターやサーバー装置などの汎用コンピューターに、本実施形態に係るモデリング制御プログラムをインストールし、実行することにより実現される。
【0023】
本実施形態に係るモデリング制御プログラムでは、人間や動物、ロボットなどキャラクターの立体的形状が定義されたアバターに関するモデリングデータを、アニメーションなどによって動作制御するプログラムである。ここで、本実施形態において取り扱われるモデリングデータについて説明する。
図1は、本実施形態に係るモデリング制御の制御対象となるモデリングデータの概要を示す説明図である。
【0024】
図1に示すように、アバターA1は、頭部パーツP1と、身体パーツP2に大きく分けられ、頭部パーツP1には、頭髪パーツP11や目パーツP13などが付随し、身体パーツP2には、服や靴等の装飾パーツP3が付随している。そして、これらの各パーツは、キャラクターを選択したり、選択したキャラクターの髪の毛など、身体パーツの入れ替え、アバターの全身や、胸、顔などアバターの部位のサイズ又は形状の変更(モーフィング)、目の色などの変更(テクスチャの入れ替え)を施し、任意にデザインすることができる。
【0025】
本実施形態において、アバターに関するモデリングデータは、パーツデータ、スケルトンデータ、スキンデータ及び形状規制データを、身体上における相互の位置関係に基づいた階層構造100に従ってデータセットに格納することで構成されている。このデータセットは、所定のファイル形式(例えば、FBX形式)で保存され、各パーツの表面に貼り付けられるテクスチャは、画像ファイル形式で保存される。このテクスチャについては、1パーツにつき1つの画像ファイルが関連づけられる。なお、複数のテクスチャを使用している場合は、1つの画像ファイルに統合される。また、このモデリングデータのデータセットには、モデリングデータを動作させて、ポーズを付けたり、アクションを付けたりしてアニメーションを作成する動作制御データが付随される。
【0026】
(1)パーツデータ
パーツデータは、人体の身体各部(本実施形態では頭部を除く。)のボーンデータ周囲の外表面を形作るスキンデータの他、人体やキャラクターの頭部や目などのボーンデータとの直接的な関係を有しないポリゴンデータなどが、相対位置関係に従ってグループ化され、グループ毎にアバターの部位としてまとめられたデータセットの1要素であり、仮想空間上において一塊のオブジェクトとして扱われる。なお、本実施形態のモデリングデータは、頭部や目などのパーツの他、上記身体のスキンデータも、すべてポリゴンデータで構成される。
【0027】
本実施形態では、モデリングデータは、頭部パーツと身体パーツとに大きく分けられており、頭部パーツは、ボーンデータとの直接的な関係を有しないポリゴンデータを主なデータ要素とし、身体パーツは、ボーンデータ周囲の外表面を形作るスキンデータを主なデータ要素としている。各パーツでは、変形可能な範囲を予め規定するように、最小状態、中央値の状態及び最大状態のパーツの形がセットになって作成され、保存される。
【0028】
(2)スケルトンデータ
ボーンデータは、仮想空間上における所定の2点により定義され所定の長さを有し、アバターの骨となるデータであり、
図3に示すように、複数のボーンデータB1〜242が複数連結されてアバターの骨格となるスケルトンデータが構成される。ボーンデータにはその端における関節に相当するジョイントデータが含まれ、このジョイントデータにより、連結されたボーンの主従関係が決められ、従属するボーンの、親のボーンに対する相対移動範囲が規定される。
【0029】
各パーツのスキンデータ(ポリゴンデータ)は、スケルトンデータとの相対位置に従って各頂点の座標が、直接的に又は他のパーツを介して間接的に定められ、スケルトンデータ内のボーンの動きに応じて、スキンデータ(ポリゴンデータ)の各頂点も移動するようになっている。例えば、アバターの首から下の身体パーツにはスケルトンデータが含まれ、首から上の頭部や、頭部に付随する目、鼻、口などのパーツは、首のボーンデータに対する相対位置だけが含まれるなど、パーツの特性によってスケルトンデータとの関連づけが異なる。
【0030】
(3)スキンデータ
スキンデータは、本実施形態では、主に身体パーツのように、一つ又は複数のボーンデータに対して関連づけられて、オブジェクト(パーツ、アバター自身が含まれる)の外表面を定義するポリゴンデータである。具体的には、多数の頂点座標により定義された多面形状をなすポリゴンデータであり、各頂点座標は、所定のボーンデータに対する相対的位置関係や、相対移動範囲が規定されている。
【0031】
また、各パーツやアバターを形成するポリゴンデータは、トポロジーデータにより、その組み方(頂点の数や、配置順序、頂点を結ぶエッジの構造などを含むメッシュ構造)が定義されている。
【0032】
(4)形状規制データ(Skin_Weightデータ及びBlend_Shapeデータ)
形状規制データには、各ボーンデータに関連づけられたスキンデータに対する影響度を定義するウェイトデータ(Skin_Weightデータ)と、又は頭部や目などのようにボーンデータに直接的には関連づけられていないが、間接的に動作が規定されるパーツデータの動作に関する情報(Blend_Shapeデータ)とが含まれる。Skin_Weightデータは、主にアバターの身体の動きを制御するためのデータであり、Blend_Shapeデータは、顔部分や顔に付随する各パーツの動きを制御するためのデータである。このような形状規制データは、パーツデータとともに、相互の位置関係に基づいた階層構造に従ってデータセットに格納又は関連づけされ、モデリングデータを構成する。
【0033】
(5)動作制御データ
動作制御データは、モデリングデータを動作させて、ポーズを付けたり、アクションを付けたりしてアニメーションを作成するためのスクリプトデータであり、モデリングデータ中の各ボーンデータ相互の相対位置や、仮想空間上の座標位置などの変位を時系列順に記述している。この動作制御データに記述されたスクリプトに従って、ボーンデータの相対位置及び座標位置が時系列順に変化され、このボーンデータの変化に応じて、各パーツのスキンデータが形状規制データのウェイトデータに従って移動・変形される。これにより、アバターのモデリングデータが、アニメーションのコマ(フレーム)毎にポージングされ、各コマを連続的に再生することによりアバターがアクションするアニメーションが生成される。
【0034】
また、この動作制御データには、アバターのアニメーションが合成される仮想空間の背景や光源、他のオブジェクトの座標位置、仮想空間上のカメラ視点となるカメラ設定及びアニメーション動作時におけるカメラワークなどに関するスクリプトであるシーンデータが含まれ、アニメーションの作成時には、アバターのアクションとともに、シーンデータに従って、仮想空間内の背景、光源、他のオブジェクト、カメラワークが設定され、各フレームのレンダリングが行われる。
【0035】
(モデリング制御システムの構成)
図4及び
図5は、本実施形態に係る情報処理端末の概略構成、及びアプリケーション実行部14上に構築される機能モジュールを示す図である。本実施形態において、モデリングシステムは、仮想空間上において所定の立体的形状が定義されたアバターに関するモデリングデータを、動作制御するシステムであり、パーソナルコンピューター等の情報処理端末1上で、本発明のモデリング制御プログラムを実行することにより、CPU上に各機能モジュールが仮想的に構築される。
【0036】
詳述すると、情報処理端末1は、CPUを備えた演算処理装置であり、アプリケーションを実行し種々のモジュールを仮想的に構築する機能を有している。この情報処理端末としては、パーソナルコンピューター等の汎用コンピューターや、機能を特化させた専用装置により実現することができ、モバイルコンピューターやスマートフォン、携帯電話機が含まれる。なお、本実施形態中で用いられる「モジュール」とは、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組み合わせなどによって構成され、所定の動作を達成するための機能単位を示す。
【0037】
図4に示すように、情報処理端末1は、通信インターフェース11と、アプリケーション実行部14と、記憶部15と、入力インターフェース12と出力インターフェース13とを備えている。
【0038】
図5に示すように、記憶部15は、本システムに関する各種の情報を蓄積するデータベースであり、ここでは、モデリングデータベース151と、動作制御データベース152とを備えている。なお、各データベースは、メモリ装置やハードディスクなどで構成することができ、単体のデータベースとして構成してもよいし、複数のデータベース間でリレーションシップを設定するようにしてもよい。
【0039】
モデリングデータベース151は、上述した複数のパーツデータで構成されたモデリングデータを蓄積するデータベースである。動作制御データベース152は、モデリングデータに含まれる各パーツデータの動作に関する動作制御データを蓄積するデータベースである。
【0040】
通信インターフェース11は、データ通信を行うための通信インターフェースであり、インターネット等の通信ネットワークを介して、各種データのダウンロードなどが可能となっている。入力インターフェース12は、ユーザーが操作してユーザー操作を入力するデバイスが接続されるモジュールであり、この入力インターフェース12を介して、マウスやキーボードなどの操作デバイスからの操作信号が、ユーザー操作として入力される。一方、出力インターフェース13は、モニタ等の表示部13aを介してモデリングデータを表示させるモジュールである。
【0041】
アプリケーション実行部14は、CPUやDSP(Digital Signal Processor)等のプロセッサ、メモリ、及びその他の電子回路等のハードウェア、或いはその機能を持ったプログラム等のソフトウェア、又はこれらの組み合わせなどによって構成された演算モジュールであり、プログラムを適宜読み込んで実行することにより種々の機能モジュールを仮想的に構築し、構築された各機能モジュールによって、モデリングデータのモデリング編集部141や、完成したモデリングデータの動作を制御してアニメーションを作成するモーション処理部142を構築する。
【0042】
モデリング編集部141は、モデリングデータを編集するモジュール群であり、本実施形態では、モデリングデータのパーツを交換したり、モデリングデータのパーツを個別に編集する編集機能を有している。このパーツ交換やパーツ編集のため、モデリング編集部141には、パーツ選択部141aと、パーツ編集部141b及びパーツ交換部141cとが備えられている。
【0043】
パーツ選択部141aは、ユーザー操作に基づいて、編集やパーツ交換の対象となるモデリングデータから任意のパーツデータを選択するとともに、選択されたパーツデータ及びこのパーツデータに対応する形状規制データを、編集用データとしてデータセットから切り出すモジュールである。
【0044】
このパーツ選択部141aには、パーツ編集部141bとパーツ交換部141cが備えられている。パーツ編集部141bは、編集用データに含まれるパーツデータ又は形状規制データに変更を加えるモジュールである。一方、パーツ交換部141cは、パーツ交換の対象となるパーツデータの交換用トポロジーデータと基礎トポロジーデータとを比較し、比較結果に基づいて、パーツ選択部141aにより切り出されたパーツデータに関連する形状規制データ、又は、交換用データ内の形状規制データを選択して読み込み、データセット内の任意のパーツに含まれるポリゴンデータを、階層構造の上位にあるパーツのポリゴンデータと比較し、各ポリゴンデータに含まれる各頂点の座標の一致・不一致を判断し、一致する頂点同士を同一化する。
【0045】
一方、モーション処理部142は、アニメーション生成部142aと、動作解析部142bと、強調処理部142cと、レンダリング部142dとを備えている。
【0046】
アニメーション生成部142aは、動作制御データベース152から動作制御データを読み込み、動作制御データに従って、モデリングデータを動作させて、ポーズを付けたり、アクションを付けたりしてアニメーションを作成するモジュールである。このアニメーション生成部142aは、動作制御データ中のスクリプトに従って、モデリングデータ中のボーンデータの相対位置及び座標位置を時系列順に変化させ、このボーンデータの変化に応じて、各パーツのスキンデータが形状規制データのウェイトデータに従って移動・変形させる。これにより、アバターのモデリングデータが、アニメーションのコマ(フレーム)毎にポージングされ、各コマを連続的に再生することによりアバターがアクションするアニメーションが生成される。
【0047】
動作解析部142bは、各パーツデータの動作に関する情報を動作制御データとして取得し、特定のパーツデータの移動量を評価するモジュールであり、動作制御データを解析し、モデリングデータ中のどのパーツがどの程度変位しているのかを解析し、強調処理すべきパーツを選択するとともに、強調処理するタイミングを決定する。この移動量の評価に際し、動作解析部142bは、動作制御データに含まれるシーンデータを解析して、カメラ位置に対する各パーツの相対的な移動量を評価する。
【0048】
また、本実施形態に係る動作解析部142bは、人間の脳の体性感覚に関わる領域である体性感覚野における、身体を構成する特定の体部位から来る体性感覚の区分の面積割り当て、又は体性感覚の密度に応じて、前記パーツデータを選択し、その移動量を評価する。詳述すると、アバターの動作を評価する際、動作解析部142bは、各体部位から来る体性感覚の入力量又は重要性に応じた体性感覚野の区分けや触覚受容器からの体性感覚の密度分布である脳内の体部位再現に従って、パーツデータを選択してその移動量を変位の差分として評価する。
【0049】
移動量(変位差分)の評価については、下表のような、人間の3次元表情データベース又は2次元表情データベースを作成し、動作パターン(表現)に応じた差分値を越えるパーツを強調すべきパーツとして選択する。
【表1】
この表では、リアルな人間の感情表現時に動きの大きいパーツ(変位の差分が大きいパーツ)を強調処理の対象として選択するようにしている。また、上表において、変位差分の算出は、一連の感情表現の開始から最大動作時までのフレーム数や、感情表現の開始から終了までのフレーム数等、適宜設定することができる。また、強調処理の対象となるパーツの個数は、所定個数までと限定してもよく、その所定個数は、動作パターン毎に変動するしきい値としてもよく、顔部分のパーツ個数、身体部分のパーツ個数というように、体部位のグループ毎に設定してもよい。また、これらの個数やしきい値は、既存のアニメーションや実写映像、CGサンプル等から機械学習する仕組みを用いて、最適化してもよい。
【0050】
強調処理部142cは、動作解析部142bが評価した移動量に応じて、パーツデータのサイズを変更したり、仮想空間上におけるアバターに対するカメラ視点(アングル)又は撮影設定を変更するモジュールである。すなわち、動作解析部142bでは、ホムンクルス等の体部位再現に応じて、パーツの相対移動を評価しており、強調処理部142cは、その評価に応じて特定の体部位のパーツを大きくしたり(或いは小さくしたり)、アングルを変化させてズームインしたり(或いはズームアウト)するなどの撮影設定の切り替えをすることにより、視覚的な強調を行う。
【0051】
詳述すると、動作解析部142bによって強調処理対象となるパーツが選択された後、各パーツの強調量、すなわちパーツの拡大量(又は縮小量)を算出する。この強調量の算出は、各移動量(表中の差分値)に対して体部位再現図の面積R1及びR2に応じた重み付けをし、この重み付けに従って行う。例えば、パーツのサイズ変更にあって、
図9に示すような、体部位再現図を参照し、主にキャラクターの手、目、口を重視し、キャラクターの動作パターン(表現)に基づいて、表情のときには、目、口の重み付けを大きくしたり、身体動作のときには、手、指、足などの重み付けを大きくしたりする。具体的には、ホムンクルス等の体部位再現図を参照し、脳内において体性感覚野及び運動野の面積R1及びR2を「重み」として、各体部位のパーツデータに対応付けておき、式(1)により強調量を算出する。
差分の値 × 体部位再現図における重み × EmotionIntention(感情意図値) (1)
なお、上式においてEmotionIntentionは、表現されている感情の程度を表す補正値であり、強調処理の強弱を調整するための補正値である。この補正値は、デフォルトで1.0に設定しておき、特に強弱を調整したい場合に設定することができ、例えば、「とても起こっているとき」に2.0と設定したり、「あまり起こっていないとき・ふざけているとき」には0.2と設定することができる。
【0052】
このとき、強調処理部142cは、強調処理の対象となるパーツの通常サイズを確定するとともに、強調処理された際の、そのパーツの画面全体に対する最大サイズ(ズームアップサイズ)を決定し、そのサイズまでに拡大させる変化率を設定する。例えば、強調処理の対象パーツが拳である場合に、通常サイズが
図7(a)に示すサイズであるとき、その強調処理された際のパーツの画面全体に対するサイズを、同図(b)に示すような画面サイズと同等、若しくはそれ以上となるサイズを最大サイズとして決定する。そして、この強調処理する時間長あたりの変化率を、その表現したい感情の強さに応じて、線形的な関数に従って変化させたり(
図7(c))、指数関数的に変形させたり(同図(d))することができる。この感情の強さは、これらの関数で定義される変形パラメータとすることができ、この変形パラメータは、ファジー制御或いは一定確率のランダム制御によって、ある一定の幅の範囲で決定するようにしてもよく、上記感情意図値を参照するようにしてもよい。
【0053】
また、カメラワークの変更は、ディスプレイ表示される画像に対して、どの程度の全体サイズに対する割合で、どの位置に、どの角度で、どの程度の速度及びタイミングで表示するかを自動で決定する。詳述すると、強調表示する対象として選択されたパーツの差分が最も大きくなるアングル(位置及び角度)及びタイミングを逆算し、そのアングルにカメラ視点を移動させる。例えば、
図8(a)〜(d)に示すように、アバターが正面に向かって拳を突き出すような「殴る」アクションを取る場合、正面から観たときのカメラ視点に対する拳の相対移動(差分)をΔd=xとし、側面から観たときの相対移動(差分)をΔd=x´とすると、x>x´であることから、カメラ視点の位置をアバターの正面へ移動させる。
【0054】
なお、このカメラ視点を移動させる制御については、例えば、既存のアニメーションや実写映画、CGグラフィックの画像解析からその演出方法を解析して、その解析結果を参考とするような機械学習処理を行うようにしてもよい。
【0055】
レンダリング部142dは、アニメーション生成部142aが生成したアバターのモデリングデータを、背景や光源、他のオブジェクトが配置された仮想空間内に配置し、これらのデータの集まり(数値や数式のパラメータ、描画ルールを記述したものなど)をコンピュータープログラムで処理して、2次元的な画素の集合を生成するモジュールである。本実施形態では、仮想空間の背景や光源、他のオブジェクトの座標位置、仮想空間上のカメラ視点となるカメラ設定及びアニメーション動作時におけるカメラワークなどに関するシーンデータに基づいて、アバターのアクションとともに、仮想空間内の背景、光源、他のオブジェクト、カメラワークを変化させつつ、各フレームのレンダリングを行う。
【0056】
(モデリング制御プログラム)
なお、本実施形態のモデリング制御プログラムは、情報処理端末の他、Webサーバー等のサーバーコンピューターにインストールし、サーバー上で実行することにより、上述した各機能を有するモデリング制御システムを、通信ネットワークを通じて利用可能に構築することができる。また、このモデリング制御プログラムは、例えば、通信回線を通じて配布することが可能であり、またパッケージアプリケーションとして譲渡することができる。そして、このようなモデリング制御プログラムは、パーソナルコンピューターで読み取り可能な記録媒体に記録することができ、汎用のコンピューターや専用コンピューターを用いて、上述したモデリング制御システム及びモデリング制御方法を実施することが可能となるとともに、モデリング制御プログラムの保存、運搬及びインストールを容易に行うことができる。
【0057】
(モデリング制御方法)
以上説明した構成を備えたモデリング動作制御システムによるモデリング制御方法について説明する。
図6は、本実施形態に係るモデリング制御方法の手順を示すフローチャート図である。
【0058】
先ず、モデリングデータD1をモデリングデータベース151から読み出して取得するとともに(S101)、動作制御データベース152からアバターのアクション動作を記述した動作制御データD2を取得する(S102)。そして取得した動作制御データD2について、動作制御データを解析し、モデリングデータ中のどのパーツがどの程度変位しているのかを解析する(S103)。次いで、動作制御データに含まれるシーンデータD3用いて、カメラワークを解析する(S104)。
【0059】
そして、これら動作制御データD2及びシーンデータD3による解析に基づいて、強調処理すべきパーツを選択するとともに、その移動量を評価し、強調処理するタイミングを決定する(S105)。この際、動作解析部142bは、動作制御データ及びシーンデータを解析して、動作パターン(表現)を特定し、
図9に示すような、ホムンクルス等の体部位再現図に基づく表1を参照し、強調処理をすべきパーツを選択する。
【0060】
その後、動作解析部142bが評価した移動量に応じて、強調処理部142cによって、パーツデータの大きさを変更したり、仮想空間上におけるアバターに対するカメラ視点や撮影設定を変更する強調処理を実行する(S106)。この際、各パーツの移動量(表1中の差分値)に対して体部位再現図の面積R1及びR2に応じた重み付けをし、この重み付けに従ってパーツサイズの変化量、タイミング、速度を算出する。このとき、強調処理の強弱を調整するための補正値を設定することができる。
【0061】
このパーツサイズの変更と合わせて、強調処理部142cは、カメラワークの変更を行う。この際、強調処理部142cは、ディスプレイ表示される画像に対して、どの程度の全体サイズに対する割合で、どの位置に、どの角度で、どの程度の速度及びタイミングで表示するかを自動で決定する。すなわち、強調表示する対象として選択されたパーツの差分が最も大きくなるアングル(位置及び角度)及びタイミングを逆算し、そのアングルにカメラ視点を移動させる。
【0062】
このような強調処理に従って、アバターを動作させるとともに、カメラ設定やカメラワークを変更してアニメーションを生成する(S107)。具体的には、アニメーション生成部142aが、強調処理された動作制御データ及びシーンデータ中のスクリプトに従って、モデリングデータ中のボーンデータの相対位置及び座標位置を時系列順に変化させ、このボーンデータの変化に応じて、各パーツのスキンデータが形状規制データのウェイトデータに従って移動・変形させる。これにより、アバターのモデリングデータを、仮想空間内でアニメーションの各コマ(フレーム)毎にポージングされ、各コマを連続的に再生することによりアバターが仮想空間内においてアクションするアニメーションが生成される。
【0063】
その後、生成されたアニメーションの各フレームをレンダリングして、動画データを生成し(S108)、出力する。具体的には、レンダリング部142dが、アニメーション生成部142aが生成したアバターのモデリングデータを、背景や光源、他のオブジェクトが配置された仮想空間内に配置し、これらのデータの集まり(数値や数式のパラメータ、描画ルールを記述したものなど)をコンピュータープログラムで処理して、2次元的な画素の集合を生成する。
【0064】
(作用・効果)
以上説明した本実施形態によれば、ホムンクルス等の体部位再現に従って、手や顔、目、口などの特定のパーツデータを選択し、その移動量を評価し、算出した移動量に応じて、パーツデータの大きさを変更したり、仮想空間上におけるカメラ視点の撮影設定を変更することによって、視覚的な強調処理を行うことができる。
【0065】
詳述すると、アバターを動作させる際に、各体部位から来る体性感覚の入力量又は重要性に応じた体性感覚野の区分けや触覚受容器からの体性感覚の密度分布である脳内の体部位再現に従って、パーツデータを選択してその移動量を評価する。この評価に基づいて、例えば体部位再現図を参照して、その体部位再現の面積或いは体性感覚の密度に応じた重み付けをし、この重み付けに従ってパーツサイズを変更したり、カメラアングルを変更する。人間が視覚により人の動作を認識する場合、ホムンクルス等の体部位再現に応じた体部位の動きを無意識に認知していると考えられることから、この体部位再現に従って動作を評価し、その評価に応じて特定の体部位のパーツを大きくしたり(或いは小さくしたり)、ズームインしたり(或いはズームアウト)するなどの撮影設定の切り替えをすることにより、視覚的な強調を効果的に行うことができる。
【0066】
この結果、本実施形態によれば、複数のパーツデータで構成されたキャラクターモデルであるアバターを動作させる際に、人間の脳における体性感覚の入力の量又は重要性を考慮することによって、表現したい動作のニュアンスを人間のリアルな感覚に訴える視覚効果を得ることができる。