(57)【特許請求の範囲】
【請求項１】
マウス等の入力機器からストロークの始点座標及び終点座標を取り込む入力部と、
画面上に表示され、前記入力部で取り込まれた始点座標を含むオブジェクトを、操作対象物の動作を決定するための操作対象オブジェクトとして特定する操作対象オブジェクト特定部と、
画面上に表示され、前記入力部で取り込まれた終点座標を含むオブジェクトを、操作対象物の動作を決定するための操作目標オブジェクトとして特定する操作目標オブジェクト特定部と、
前記操作対象オブジェクトと前記操作目標オブジェクトとの組み合わせに応じて、当該組み合わせの各要素に関連付いた前記操作対象物の動作の内容を記憶する動作条件ファイルと、
前記操作対象オブジェクト特定部が特定した操作対象オブジェクトと前記操作目標オブジェクト特定部が特定した操作目標オブジェクトとの組み合わせに基づいて、前記動作条件ファイルから該当する動作の内容を決定する動作決定部と、
前記動作の内容に応じた複数の動作データを記録する動作データ記憶手段と、
前記動作決定部で決定された動作の内容に基づき、前記動作データ記憶手段から対応する動作データを読み出して、前記動作決定部が決定した動作の内容に対応する前記操作対象物の動作データを生成する動作データ生成部と、
前記動作データ生成部で生成された動作データを描画する動作描画部とを備える描画制御装置。
【請求項２】
請求項１に記載の描画制御装置において、
前記入力部が前記ストロークの軌跡及び／又は速度を取り込み、
前記動作条件ファイルが前記操作対象オブジェクトと前記操作目標オブジェクトとの組み合わせ、並びに前記ストロークの軌跡及び／又は速度に応じて、前記組み合わせの各要素、並びにストロークの軌跡及び／又は速度に関連付いた前記操作対象物の動作の内容を記憶し、
前記動作決定部が前記操作対象オブジェクトと前記操作目標オブジェクトとの組み合わせ、並びに前記ストロークの軌跡及び／又は速度に基づいて、前記動作条件ファイルから該当する動作の内容を決定することを特徴とする描画制御装置。
【請求項３】
コンピュータを、
マウス等の入力機器からストロークの始点座標及び終点座標を取り込む入力部と、
画面上に表示され、前記入力部で取り込まれた始点座標を含むオブジェクトを、操作対象物の動作を決定するための操作対象オブジェクトとして特定する操作対象オブジェクト特定部と、
画面上に表示され、前記入力部で取り込まれた終点座標を含むオブジェクトを、操作対象物の動作を決定するための操作目標オブジェクトとして特定する操作目標オブジェクト特定部と、
前記操作対象オブジェクトと前記操作目標オブジェクトとの組み合わせに応じて、当該組み合わせの各要素に関連付いた前記操作対象物の動作の内容が記憶された動作条件ファイルと、
前記操作対象オブジェクト特定部が特定した操作対象オブジェクトと前記操作目標オブジェクト特定部が特定した操作目標オブジェクトとの組み合わせに基づいて、前記動作条件ファイルから該当する動作の内容を決定する動作決定部と、
前記動作の内容に応じた複数の動作データを記録する動作データ記憶手段と、
前記動作決定部で決定された動作の内容に基づき、前記動作データ記憶手段から対応する動作データを読み出して、前記動作決定部が決定した動作の内容に対応する前記操作対象物の動作データを生成する動作データ生成部と、
前記動作データ生成部で生成された動作データを描画する動作描画部として機能させるための描画制御プログラム。
【請求項４】
マウス等の入力機器からストロークの始点座標及び終点座標を取り込む入力ステップと、
画面上に表示され、前記入力ステップで取り込まれた始点座標を含むオブジェクトを、操作対象物の動作を決定するための操作対象オブジェクトとして特定する操作対象オブジェクト特定ステップと、
画面上に表示され、前記入力ステップで取り込まれた終点座標を含むオブジェクトを、操作対象物の動作を決定するための操作目標オブジェクトとして特定する操作目標オブジェクト特定ステップと、
前記操作対象オブジェクトと前記操作目標オブジェクトとの組み合わせに応じて、当該組み合わせの各要素に関連付いた前記操作対象物の動作の内容が記憶された動作条件ファイルから、前記操作対象オブジェクト特定ステップで特定された操作対象オブジェクトと前記操作目標オブジェクト特定ステップで特定された操作目標オブジェクトとの組み合わせに基づいて、該当する動作の内容を決定する動作決定ステップと、
前記動作の内容に応じた複数の動作データを記録する動作データ記憶手段から、前記動作決定ステップで決定された動作の内容に基づき、対応する動作データを読み出して、前記動作決定ステップが決定した動作の内容に対応する前記操作対象物の動作データを生成する動作データ生成ステップと、
前記動作データ生成ステップで生成された動作データを描画する動作描画ステップとを含む描画制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力機器から取得可能な情報に基づきキャラクタ等のオブジェクトの動作を描画制御する描画制御装置に関する。
【背景技術】
【０００２】
背景技術となる情報処理装置が、特開２００４−１０２７１９号公報に開示されている。以下、この背景技術の情報処理装置について説明する。
【０００３】
背景技術の情報処理装置は、使用者の入力位置及び入力距離を検出する二次元入力手段と、ディスプレイに表示されている操作対象となるキャラクタの現在の表示位置を記録する表示位置記憶手段と、この表示位置記憶手段に記録されているキャラクタの現在位置と、二次元入力手段で検出した入力位置及び入力距離に基づいて決定したディスプレイ上の表示位置にキャラクタを表示制御する制御手段とを備える構成である。
【０００４】
この情報処理装置によれば、二次元入力手段で検出した入力位置及び入力距離に基づき使用者の入力に合致するようにキャラクタを動かすことができる。
【特許文献１】特開２００４−１０２７１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記背景技術の情報処理装置は、以上のように構成され、固定的に決定されている操作対象となるキャラクタを使用者の入力に応じて動かすことができ、実世界の使用者の操作に沿ってキャラクタを動かすことができる。ここで、背景技術の情報処理装置は、操作対象となるキャラクタ以外のオブジェクトに関係なく、キャラクタが自己の体を動かす場合、キャラクタが仮想空間内を動く場合には、有効な手段である。しかしながら、キャラクタが他のオブジェクトと連携して動作する場合には、キャラクタと他のオブジェクトとの固定的な動作を除き、使用者が意図した通りにキャラクタと他のオブジェクトを連携させて動かすことができないという課題を有する。
【０００６】
より具体的な説明としては、現実世界で人間とジュース缶との間で生じる動作としては、人間がジュース缶内のジュースを飲む動作、人間がジュース缶を手に持つ動作、人間がジュース缶を蹴る動作、人間がジュース缶を投げる動作等の様々な動作が生じる可能性がある。しかし、ある男性のキャラクタとジュース缶が仮想空間上に用意されている場合に、ジュース缶を選択してキャラクタ側に入力手段をストロークさせたときに、検出した入力位置及び入力距離に基づいてキャラクタとジュース缶を表示制御すると、入力位置により対象オブジェクトがジュース缶であることは判明するものの、入力距離だけではキャラクタとジュース缶にどのような動作をさせればいいかを判断することは極めて難しいという課題を有する。無理に、短い入力距離でジュース缶を飲むという動作、普通の入力距離でジュース缶を持つという動作、長い入力距離でジュース缶を投げるという動作を割り当てた場合には、あまりにも使用者の操作感覚とかけ離れ現実的ではない。
【０００７】
本発明は前記課題を解決するためになされたものであり、使用者の操作感覚と合致した入力手段の操作に基づいて、操作対象オブジェクトと操作目標オブジェクトとの動作が使用者の意図通りに描画制御できる描画制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明によれば使用者は複数のやり方で操作対象オブジェクトが操作目標オブジェクトと相互作用する動作を制御することができる。従来であれば、使用者が階層型メニューからポインタで所望の動作を選択する必要があり、または、ゲームパッドを入力機器とした場合には複数のボタンやキーの組み合わせ（コマンド）を習得する必要があった。
【０００９】
この発明によるインタフェースは、対話的で且つ直感的に動作を制御するものである。ペンタブレットやマウスでストロークを描画すると、人体モデルに様々な動作を行わせることができる。
【００１０】
ストロークの最も重要な特徴は始点と終点を有することである。人の動作にも起点と目標がある。この見識に立って、一本のストローク（一筆書き）で同時に動作の起点と目標を使用者が指定することができる。そして、一本のストローク及び内容に基づいて適切な動作が決定される。さらに、ストロークの速度及びストロークの軌道といったストロークの中間属性に基づいて、動作の種類やスタイルを変化させることもできる。
本発明によれば、有益且つ高い利便性を有する。このインタフェースによれば、多くの種類の動作を対話式のアプリケーションにおいて操作可能となる。
【００１１】
本発明に係る描画制御装置は、マウス等の入力機器からストロークの始点座標及び終点座標を取り込む入力部と、画面上に表示され、前記入力部で取り込まれた始点座標を含むオブジェクトを、操作対象物の動作を決定するための操作対象オブジェクトとして特定する操作対象オブジェクト特定部と、画面上に表示され、前記入力部で取り込まれた終点座標を含むオブジェクトを、操作対象物の動作を決定するための操作目標オブジェクトとして特定する操作目標オブジェクト特定部と、前記操作対象オブジェクトと前記操作目標オブジェクトとの組み合わせに応じて、当該組み合わせの各要素に関連付いた前記操作対象物の動作の内容を記憶する動作条件ファイルと、前記操作対象オブジェクト特定部が特定した操作対象オブジェクトと前記操作目標オブジェクト特定部が特定した操作目標オブジェクトとの組み合わせに基づいて、前記動作条件ファイルから該当する動作の内容を決定する動作決定部と、前記動作の内容に応じた複数の動作データを記録する動作データ記憶手段と、前記動作決定部で決定された動作の内容に基づき、前記動作データ記憶手段から対応する動作データを読み出して、前記動作決定部が決定した動作の内容に対応する前記操作対象物の動作データを生成する動作データ生成部と、前記動作データ生成部で生成された動作データを描画する動作描画部とを備えるものである。
【００１２】
したがって、ストロークの始点座標と終点座標に位置するオブジェクトに基づき動作が決定され、決定された動作が描画されるので、使用者はマウス、ペンタブレッド等の入力機器でストロークを描くだけで、直感的に操作対象のオブジェクト及び操作目標のオブジェクトを相互作用的に動作させるために操作することができる。
【００１３】
動作決定部は、操作対象オブジェクト、操作目標オブジェクト及び動作からなる動作条件データを予め記憶手段に有し、動作条件データを参照して動作を決定する構成で実装できる。この他、特定される操作対象オブジェクト、操作目標オブジェクトを入力すると動作を静的に特定する作用を有する動作決定部として実装することもできる。すなわち、前者は設定データを参照して動作する実装方式であり、後者は固定的に作用を実装した実装方式である。
【００１４】
動作データ生成部は、決定された動作に従って適切な動作を選択または生成する。すなわち、後記するモーションブレンディングやインバースキネマティックスなどの手法を適用して実装し、必要に応じて動作を変形処理する構成にすることもできる。これらの手法を適用した場合には、記憶手段に動作データ以外の付加的な情報を必要に応じて記録する必要がある。
【００１５】
本発明に係る描画制御装置は、前記入力部が前記ストロークの軌跡及び／又は速度を取り込み、前記動作条件ファイルが前記操作対象オブジェクトと前記操作目標オブジェクトとの組み合わせ、並びに前記ストロークの軌跡及び／又は速度に応じて、前記組み合わせの各要素、並びにストロークの軌跡及び／又は速度に関連付いた前記操作対象物の動作の内容を記憶し、前記動作決定部が前記操作対象オブジェクトと前記操作目標オブジェクトとの組み合わせ、並びに前記ストロークの軌跡及び／又は速度に基づいて、前記動作条件ファイルから該当する動作の内容を決定するものである。
【００１６】
したがって、操作対象オブジェクト及び操作目標オブジェクトだけでなく、ストロークの軌道及び／又はストロークの速度も用い、動作を決定して動作が描画されるので、使用者が入力機器を動かす軌跡、使用者が入力機器を動かす速度によっても、描画される動作を異ならせることもでき、より細やかに操作することができる。
【００１７】
本発明に係る描画制御プログラムは、コンピュータを、マウス等の入力機器からストロークの始点座標及び終点座標を取り込む入力部と、画面上に表示され、前記入力部で取り込まれた始点座標を含むオブジェクトを、操作対象物の動作を決定するための操作対象オブジェクトとして特定する操作対象オブジェクト特定部と、画面上に表示され、前記入力部で取り込まれた終点座標を含むオブジェクトを、操作対象物の動作を決定するための操作目標オブジェクトとして特定する操作目標オブジェクト特定部と、前記操作対象オブジェクトと前記操作目標オブジェクトとの組み合わせに応じて、当該組み合わせの各要素に関連付いた前記操作対象物の動作の内容が記憶された動作条件ファイルと、前記操作対象オブジェクト特定部が特定した操作対象オブジェクトと前記操作目標オブジェクト特定部が特定した操作目標オブジェクトとの組み合わせに基づいて、前記動作条件ファイルから該当する動作の内容を決定する動作決定部と、前記動作の内容に応じた複数の動作データを記録する動作データ記憶手段と、前記動作決定部で決定された動作の内容に基づき、前記動作データ記憶手段から対応する動作データを読み出して、前記動作決定部が決定した動作の内容に対応する前記操作対象物の動作データを生成する動作データ生成部と、前記動作データ生成部で生成された動作データを描画する動作描画部として機能させるためのものである。
【００１８】
本発明に係る描画制御方法は、マウス等の入力機器からストロークの始点座標及び終点座標を取り込む入力ステップと、画面上に表示され、前記入力ステップで取り込まれた始点座標を含むオブジェクトを、操作対象物の動作を決定するための操作対象オブジェクトとして特定する操作対象オブジェクト特定ステップと、画面上に表示され、前記入力ステップで取り込まれた終点座標を含むオブジェクトを、操作対象物の動作を決定するための操作目標オブジェクトとして特定する操作目標オブジェクト特定ステップと、前記操作対象オブジェクトと前記操作目標オブジェクトとの組み合わせに応じて、当該組み合わせの各要素に関連付いた前記操作対象物の動作の内容が記憶された動作条件ファイルから、前記操作対象オブジェクト特定ステップで特定された操作対象オブジェクトと前記操作目標オブジェクト特定ステップで特定された操作目標オブジェクトとの組み合わせに基づいて、該当する動作の内容を決定する動作決定ステップと、前記動作の内容に応じた複数の動作データを記録する動作データ記憶手段から、前記動作決定ステップで決定された動作の内容に基づき、対応する動作データを読み出して、前記動作決定ステップが決定した動作の内容に対応する前記操作対象物の動作データを生成する動作データ生成ステップと、前記動作データ生成ステップで生成された動作データを描画する動作描画ステップとを含むものである。
これら前記の発明の概要は、本発明に必須となる特徴を列挙したものではなく、これら複数の特徴のサブコンビネーションも発明となり得る。
【発明を実施するための最良の形態】
【００１９】
ここで、本発明は多くの異なる形態で実施可能である。したがって、下記の実施形態の記載内容のみで解釈すべきではない。また、実施形態の全体を通して同じ要素には同じ符号を付けている。
実施形態では、主に装置について説明するが、所謂当業者であれば明らかな通り、本発明はコンピュータで使用可能なプログラム、システム、方法としても実施できる。また、本発明は、ハードウェア、ソフトウェア、または、ソフトウェア及びハードウェアの実施形態で実施可能である。プログラムは、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、光記憶装置または磁気記憶装置等の任意のコンピュータ可読媒体に記録できる。さらに、プログラムはネットワークを介した他のコンピュータに記録することができる。
【００２０】
（本発明の第１の実施形態）
本発明の第１の実施形態に係る描画制御装置について、図に基づき説明する。
［１．描画制御装置の概要］
ストロークは動作の起点と目標を指定する。同時に１本のストロークで動作の起点と目標を指定することができることから、使用者が直感的に様々な種類の動作を直感的に指定することができる。
【００２１】
［１．１  ストローク］
ストロークとは使用者がペンタブレットやマウスで描くことができる点の連続によって表される。マウスであれば所定サンプリング周期で受光素子の出力信号をコンピュータの入出力インタフェースが受け取り、基本ソフトによってマウスの移動が継続的に算出される。ストロークは動作の起点と目標を指定するのに用いる始点と終点を有する。
ストロークは動作の型や種類の詳細を変更するために補助的に用いるストロークの速度、ストロークの軌道等の中間属性も有している。
【００２２】
［１．２  オブジェクト選択(Taget Selection)］
本実施形態では、選択可能なオブジェクトを６つの種類に分類する。
・［ＢＯＤＹ］は操作を行う人体モデルの一部である。
・［ＳＯＭＥＯＮＥ］は他の人体モデルの一部である。
・［ＰＲＯＰ］は人体モデルが取り扱う小道具、物、対象物である。
・［ＨＥＬＤ  ＰＲＯＰ］は人体モデルが保持している小道具、物、対象物である。
・［ＧＲＯＵＮＤ］は地面である
・［ＰＬＡＣＥ］は人体モデルが移動できる場所、地点、または、何かを置く場所、地点  である。例えば、テーブルや椅子が該当する。
【００２３】
ストロークはスクリーン座標においては２次元の点からなる。したがって、ワールド座標内で選択されたオブジェクト又は３次元の点を演算する必要がある。このような場合には所謂ピッキングの技術が用いられる。スクリーン上の２次元の点を通る３次元空間内の半直線を演算し、この半直線と交差するすべてのオブジェクト、人体モデル、地面を検出することで、選択された目標及び目標オブジェクトにおける指定された３次元の位置が特定される。本実施形態に係る一本のストロークベースのインタフェースにおいては、原則として、始点のオブジェクト及び終点のオブジェクトのみを特定する必要がある。ただし、ストロークが移動の道筋を指定する場合には、ストロークの中間の３次元の点を演算する必要がある。
【００２４】
［１．３  動作決定(Action Determination)］
図４及び図５に示すように、動作の種類は一本のストロークで決定される。
・［Ｌｏｃｏｍｏｔｉｏｎ］は歩行、走行を含む移動を示す。［ＢＯＤＹ］から［ＧＲＯ  ＵＮＤ］又は［ＰＬＡＣＥ］までのストロークは使用者が人体モデルを動かしたい位置  を指定していると推定できるため、［Ｌｏｃｏｍｏｔｉｏｎ］とした。ストロークの軌  道が移動の道筋に用いられる。［Ｌｏｃｏｍｏｔｉｏｎ］は、座る、立ち上がるといっ  た動作も含まれる。この動作は、同一［ＰＬＡＣＥ］のストロークで指定される。
【００２５】
・［Ｃｏｎｔａｃｔ  ｍｏｔｉｏｎ］は接触動作である。［ＢＯＤＹ］から［ＰＲＯＰ］  又は［ＳＯＭＥＯＮＥ］までのストロークは指定された人体モデルの部位と目標との相  互作用を指定するものだと推定される。この動作の型は選択された体の部位及び目標に  よる。例えば、あるストロークは打撃、小道具の扱い、小道具への接触を指定する。
【００２６】
・［Ｔａｋｉｎｇ  ｐｒｏｐ］は小道具を取る動作である。［ＰＲＯＰ］から［ＢＯＤＹ  ］までのストロークは取る動作であると推定される。
・［Ｕｓｉｎｇ  ｐｒｏｐ］は小道具を使う動作である。［ＨＥＬＤ  ＰＲＯＰ］から［ＳＯＭＥＯＮＥ］、［ＰＲＯＰ］又は［ＢＯＤＹ］までのストロークはある目的をもっ    て使う動作であると推定される。例えば、手に持っているピッチャーから水を目標の    コップに注ぐ動作、他の人体モデルに対して武器を用いる動作、キャラクタから目標物  が遠く離れている場合には小道具を目標物に投げる動作が該当する。
【００２７】
・［Ｐｕｔｔｉｎｇ  ｐｒｏｐ］は小道具を置く動作である。［ＨＥＬＤ  ＰＲＯＰ］か  ら［ＧＲＯＵＮＤ］又は［ＰＬＡＣＥ］までのストロークは人体モデルが小道具を選択  した目標に置く動作であると推定される。
・［Ｍｏｖｉｎｇ  ｐｒｏｐ］は小道具を動かす動作である。［ＰＲＯＰ］から［ＧＲＯ  ＵＮＤ］又は［ＰＬＡＣＥ］までのストロークは小道具を直接動かす動作であると推定  される。
【００２８】
・［Ｇｅｓｔｕｒｅｓ］は身ぶりである。［ＢＯＤＹ］から［ＢＯＤＹ］までのストロー  クはいくつかの身ぶりを指定するときに用いる。例えば、人体モデルの一方の手から他  方の手へのストロークは拍手の動作を指定し、人体モデルの一方の手から人体モデルの  頭までのストロークは困惑、頭をかきむしる等の動作を指定する。
・［Ｃｈａｎｇｉｎｇ  Ｏｒｉｅｎｔａｔｉｏｎ］は方向転換である。［ＧＲＯＵＮＤ］  から［ＧＲＯＵＮＤ］までのストロークは人体の移動の動作を指定するときに用いる。      
【００２９】
前記目標位置を指定する［ＢＯＤＹ］から［ＧＲＯＮＤ］までのストロークと比較して  本ストロークは関連動作又は方向の指定だと推定される。したがって、人体モデルが動  くことなしに方向を転換するときに用いることとする。
【００３０】
図３に示すように、起点オブジェクトと目標オブジェクトから動作を決定することができる。同図をみると分かるように、ストロークの方向によっては起点オブジェクトと目標オブジェクトは逆となり結果的に決定される動作が異なるので、ストロークの方向は非常に重要である。ただし、図３に示す起点と目標による動作決定の表はいかようにでも設計することができる。より使用者が直感的に操作可能に設定することが望ましい。したがって、使用する環境によってかかる表の対応は相違する。
【００３１】
［１．４  中間属性による動作変化］
ストロークの中間属性により動作の型を変化させることができる。例えば、人体モデルの手から他の人体モデルの手へゆっくりと描いたストロークであれば握手の動作を指定し、同様に人体モデルの手から他の人体モデルの手へストロークを描いた場合でもそのストロークが早く描かれた場合にはパンチの動作を指定することも可能である。つまり、ストロークの描く速度に基づいて動作の型を決定した例である。この他、ストロークの軌道を用いることもできる。例えば、同じパンチを指定するストロークであったとしても、ストロークが下方向か上方向に向かう場合には通常のストレートパンチでなく、アッパーカットを指定する構成にすることもできる。
【００３２】
［１．５  実装］
本発明のストロークを用いたインタフェースは、どのようなモーション生成技術とも組み合わせて適用することができる。このインタフェースを用いて使用者は動作の目標位置を制御することができる。したがって、目標位置などの与えられたパラメータに基づき動的にモーションを生成することができるモーション生成技術を使用することが望ましい。例えば、モーショングラフ(motion graphs)、モーションブレンディング(motion blending)、逆運動学(inverse kinematics)はこれらの目的に適している。ゲームの分野で一般的に用いられる動作遷移木(Motion tree)を適用することもできる。
【００３３】
モーショングラフについては、(J. Lee and K. H. Lee. Precomputing Avatar Behavior from Human Motion Data, Proc. of Eurographics / ACMSIGGRAPH Symposium on Computer Animation 2004.)、(L. Kovar, M. Gleicher, and F. Pighin.Motion Graphs. ACM Transactions of Graphics (Proc. of SIGGRAPH 2002), 31,3, 473-482, 2002.)、(J. Lee, J. Chai, P. Reistma, J. Hodgins,and N. Pollard. Interactive Control of Avatars Animated with Human Motion Data. ACM Transactions of Graphics(Proc. of SIGGRAPH 2002), 22, 3, 491-500, 2002.)に詳述されている。
【００３４】
モーションブレンディングについては、(L. Kovar and M. Gleicher, M. Automated Extraction and Parameterization of Motions in Large Data Sets. ACM Transactions on Graphics (Proceedings ofSIGGRAPH 2004), pp. 559-568, 2004.)、(S. I. Park, H. J. Shin, and S. Y. Shin. Online Locomotion Generation Based on Motion Blending. Computer Animation and Virtual Worlds, 15, pp. 125-138,2004.)、(C. Rose, M. F. Cohen, and B.Bodenheimer. Verbs and Adverbs:Multidimensional Motion Interpolation.IEEE Computer Graphics andApplications, 18, 5, 32-40, 1998.)、(D. J. Wiley and J. k. Hahn. Interpolation Synthesis of Articulated Figure Motion.IEEE Computer Graphics and Applications, 17, 6, 39-45, 1999.)に詳述されている。
【００３５】
与えられたパラメータに基づいて動的変化が要求される、歩く、走る、向きを変える、ステップといった動作にはモーションブレンディングを用いることができる。
他のオブジェクトとの相互作用を含む動作には、逆運動学を用いることが望ましい。これは多くの型のモーションに対して、モーションブレンディングのように十分なモーション例を用意することが難しいからである。
【００３６】
到達可能範囲外にあるようなモーションの場合に接触動作の前に歩み寄るモーションを実行する自動ステップ生成機構を実装することも望ましい。これによれば使用者は目標が範囲に入っているか否かを苦慮することなく操作することができる。
【００３７】
ある動作から次の動作に移るときにキャラクタの姿勢が不自然に変化することを防ぐために、動作の繋ぎ目でキャラクタのそれぞれの関節の回転を混合する単純ポーズブレンディング手法(a simple posture blending method)を用いることもできる。より円滑な変遷を提供することができる手法を適用することもできる。
【００３８】
テンプレートに基づく技術は入力したストロークに対する動作決定に適している。それぞれの動作に対して、どのような実行状況のときにその動作を実行するかを記載したテンプレートを予め用意し、テンプレートと実際の状況を比較することで適切な動作を選択することができる。この技術の長所は拡張性にあり、設計者が適時に新たな設定を加えることができる。
【００３９】
スマートオブジェクト手法(smart object approaches)を、オブジェクトを取り扱う動作の選択のために用いることができる。それぞれのオブジェクトごとに、そのオブジェクトを保持したり置いたりするための適切な動作をテンプレートとして用意しておくことで、それぞれのオブジェクトの特徴を反映した動作を選択することができる。また、特定のオブジェクトに依存した動作を行わせることもできる。
【００４０】
［２．モジュール構成］
図１は本実施形態に係る描画制御装置のブロック構成図である。
マウス等の入力機器から始点座標及び終点座標を入力部２１が取り込む。オブジェクト特定部２２は取り込まれた始点座標に存在する操作対象オブジェクトを特定する。また、オブジェクト特定部２２は取り込まれた終点座標に存在する操作目標オブジェクトを特定する。動作決定部２３は特定された操作対象オブジェクト及び操作目標オブジェクトに基づき動作条件ファイルから動作を決定する。動作データ生成部２４は決定された動作に基づき動作データ記憶手段２６から動作データを読み出す。動作描画部２５は読み出された動作データを描画する。
【００４１】
［３．ハードウェア構成図］
図２は本実施形態に係る描画制御装置の構成要素のハードウェア構成図である。オペレータ端末１０は汎用的なコンピュータであり、ハードウェアの構成としてはＣＰＵ(Central Processing Unit)１１、ＤＲＡＭ(Dynamic Random Access Memory)１２等のメインメモリ、外部記憶装置であるＨＤ(hard disk)１３、表示装置であるディスプレイ１４、入力装置であるキーボード１５及びマウス１６、ネットワークに接続するための拡張カードであるＬＡＮカード１７、ＣＤ−ＲＯＭドライブ１８等からなる。
例えば、ＣＤ−ＲＯＭに格納されている描画制御プログラムがＨＤ１３上に複製（インストール）され、必要に応じて描画制御プログラムがメインメモリ１２に読み出され、ＣＰＵ１１がかかるプログラムを実行することで描画制御装置を構成する。
【００４２】
［４．動作条件ファイル］
図３は本実施形態に係る描画制御装置の動作条件ファイルの一例である。
１列目は操作対象オブジェクト（始点に係るオブジェクト）であり、１行目は操作目標オブジェクト（終点に係るオブジェクト）であり、操作対象オブジェクトと操作目標オブジェクトを指定することで動作が定まる。
操作対象オブジェクトの具体例は、操作を行う人体モデルの一部［ＢＯＤＹ］、他の人体モデルの一部［ＳＯＭＥＯＮＥ］、小道具（物、対象物）［ＰＲＯＰ］、操作を行う人体モデルが保持中の小道具［ＨＥＬＤ  ＰＲＯＰ］、地面［ＧＲＯＵＮＤ］及び場所（地点）［ＰＬＡＣＥ］である。操作目標オブジェクトの具体例も本実施形態では同じであるが、当然異なっていてもよい。
【００４３】
動作の具体例は、身ぶり［ｇｅｓｔｕｒｅ］、接触動作（例：打つ［ｈｉｔｔｉｎｇ］、扱う［ｍａｎｉｐｕｌａｔｅ］、触れる［ｔｏｕｃｈ］）［contact motion］、歩行や走行［ｌｏｃｏｍｏｔｉｏｎ］、取る［ｔａｋｉｎｇ］、小道具を使う（例：小道具で打つ［ｈｉｔｔｉｎｇ ｗｉｔｈ ｔｈｅ ｐｒｏｐ］、［ａｐｐｌｙｉｎｇ ｔｈｅ ｐｒｏｐ］）［ｕｓｉｎｇ ｔｈｅ ｐｒｏｐ］、移動［ｍｏｖｉｎｇ］、小道具を置く［ｐｕｔｔｉｎｇ ｔｈｅ ｐｒｏｐ］、向きを変える［ｃｈａｎｇｉｎｇ ｏｒｉｅｎｔａｔｉｏｎ］である。なお、ｎ／ａは有効でないことを示す。
したがって、例えば、［ＢＯＤＹ］と［ＢＯＤＹ］であれば［ｇｅｓｔｕｒｅ］の動作に決定され、［ＰＲＯＰ］と［ＢＯＤＹ］であれば［ｔａｋｉｎｇ］の動作に決定される。
【００４４】
［５．具体的操作指示及び描画結果の説明］
図４及び図５は本実施形態に係る描画制御装置の描画例である。
［５．１  ｐｕｎｃｈ］
操作を行う人体モデルの右手を始点とし、他の人体モデルの腹を終点としたストローク（図４（ａ）上）をマウス１６で指定した場合には、動作条件ファイルから［ｐｕｎｃｈ］と決定され、操作を行う人体モデルの［ｐｕｎｃｈ］の動作データがＨＤ１３から読み出され、他の人体モデルの腹への［ｐｕｎｃｈ］の描画がなされる（図４（ａ）下）。
【００４５】
［５．２  ｔａｋｅ］
操作を行う人体モデルの右手を始点とし、小道具である瓶を終点としたストローク（図４（ｂ）上）をマウス１６で指定した場合には、動作条件ファイルから［ｔａｋｅ］と決定され、操作を行う人体モデルの［ｔａｋｅ］の動作データ及び人体モデルの動作に伴う小道具の動作データがＨＤ１３から読み出され、瓶を［ｔａｋｅ］する描画がなされる（図４（ｂ）下）。
【００４６】
［５．３  ｄｒｉｎｋ］
操作を行う人体モデルが保持中の小道具を始点とし、操作を行う人体モデルの顔を終点としたストローク（図４（ｃ）上）をマウス１６で指定した場合には、動作条件ファイルから［ｄｒｉｎｋ］と決定され、操作を行う人体モデルの［ｄｒｉｎｋ］の動作データ及び人体モデルの動作に伴う小道具の動作データがＨＤ１３から読み出され、手に持っている瓶の中身を［ｄｒｉｎｋ］する描画がなされる（図４（ｃ）下）。
【００４７】
［５．４  ｌｏｃｏｍｏｔｉｏｎ］
操作を行う人体モデルの左足を始点とし、地面を終点としたストローク（図４（ｄ）上）をマウス１６で指定した場合には、動作条件ファイルから［ｌｏｃｏｍｏｔｉｏｎ］と決定され、操作を行う人体モデルの［ｌｏｃｏｍｏｔｉｏｎ］の動作データがＨＤ１３から読み出され、ストロークのラインに沿った終点までの［ｌｏｃｏｍｏｔｉｏｎ］の描画がなされる（図４（ｄ）下）。ここで、ストロークの中間属性であるストロークの軌道を用いている。
【００４８】
［５．５  ｐｕｔ］
操作を行う人体モデルが保持中の小道具を始点とし、地面を終点としたストローク（図５（ｅ）上）をマウス１６で指定した場合には、動作条件ファイルから［ｐｕｔｔｉｎｇ ｔｈｅ ｐｒｏｐ］と決定され、操作を行う人体モデルの［ｐｕｔｔｉｎｇ ｔｈｅ ｐｒｏｐ］の動作データ及び人体モデルの動作に伴う小道具の動作データがＨＤ１３から読み出され、瓶の［ｐｕｔ］の描画がなされる（図５（ｅ）下）。
【００４９】
［５．６  ｋｉｃｋ］
操作を行う人体モデルの右足を始点とし、小道具を終点としたストローク（図５（ｆ）上）をマウス１６で指定した場合には、動作条件ファイルから［ｋｉｃｋ］と決定され、操作を行う人体モデルの［ｋｉｃｋ］の動作データ及び人体モデルの動作に伴う小道具の動作データがＨＤ１３から読み出され、瓶への［ｋｉｃｋ］の描画がなされる（図５（ｆ）下）。
【００５０】
［５．７  ｇｅｓｔｕｒｅ］
操作を行う人体モデルの左手を始点とし、操作を行う人体モデルの頭を終点としたストローク（図５（ｇ）上）をマウス１６で指定した場合には、動作条件ファイルから［ｇｅｓｔｕｒｅ］と決定され、操作を行う人体モデルの［ｇｅｓｔｕｒｅ］の動作データがＨＤ１３から読み出され、［ｇｅｓｔｕｒｅ］の描画がなされる（図５（ｇ）下）。
【００５１】
［５．８  ｃｈａｎｇｉｎｇ  ｏｒｉｅｎｔａｔｉｏｎ］
地面を始点とし、地面を終点としたストローク（図５（ｈ）上）をマウス１６で指定した場合には、動作条件ファイルから［ｃｈａｎｇｉｎｇ ｏｒｉｅｎｔａｔｉｏｎ］と決定され、操作を行う人体モデルの［ｃｈａｎｇｉｎｇ ｏｒｉｅｎｔａｔｉｏｎ］の動作データがＨＤ１３から読み出され、［ｃｈａｎｇｉｎｇ ｏｒｉｅｎｔａｔｉｏｎ］の描画がなされる（図５（ｈ）下）。
【００５２】
［６．ユーザインターフェース］
［６．１  従来の階層型メニュー選択による操作］
図６及び図７は従来の階層型メニューのユーザインタフェースである。
図６の底部に複数の矩形のメニューが表示されている。より具体的には、最下層のメニューを選択することで、下位概念の動作メニューが表示され、利用者はポインタで動作を選択する。動作決定後に、操作を行う人体モデルの動作対象となる他の人体モデルを利用者が図７に示すようにポインタで選択する。
【００５３】
［６．２  本発明のストロークによる操作］
図８及び図９は本実施形態に係るストロークによるユーザインタフェースの一例である。
図８に示すように利用者は操作を行う人体モデルの右足をポインタで指定し、図９に示すようにそのままドラッグしたまま他の人体モデルの腹をポインタで指定する。ここで、選択された人体モデルの部位に対してこのエクステントとなる長方体の辺が表示される。
【００５４】
［７．使用動作］
図１０は本実施形態に係る描画制御装置の動作フローチャートである。
入力部２１、オブジェクト特定部２２、動作決定部２３、動作データ生成部２４、動作描画部２５は、描画制御プログラムの各モジュールをＣＰＵ１１が実行することで実現される。
ＣＰＵ１１（入力部２１）がマウス１６からの入力を受け、ストロークの開始座標及び終了座標を取得する（ステップ１０１）。
ＣＰＵ１１（オブジェクト特定部２２）が開始座標に基づき操作対象オブジェクトを特定する（ステップ１１１）。
ＣＰＵ１１（オブジェクト特定部２２）が終了座標に基づき操作目標オブジェクトを特定する（ステップ１１２）。
ＣＰＵ１１（動作決定部２３）が特定した操作対象オブジェクト及び操作目標オブジェクトに基づき動作設定ファイルから動作を決定する（ステップ１３１）。
ＣＰＵ１１（動作データ生成部２４）が決定した動作に必要な動作データを動作データ記憶手段２６から読み出す（ステップ１４１）。
ＣＰＵ１１（動作描画部２５）が読み出した動作データを描画する（ステップ１５１）。ここで、動作データとしているが、ＣＰＵ１１（動作描画部２５）は必要に応じて特定したオブジェクト等動作に必要な情報を用いることができる。
【００５５】
［８．実施形態の効果］
このように本実施形態に係る描画制御装置によれば、ワンストロークで操作対象オブジェクト及び操作目標オブジェクトを特定でき、かかる特定した２つのオブジェクトから動作までも決定して描画がなされるので、使用者は簡易且つ直感的に操作できる。
【００５６】
（その他の実施形態）
［ポインタでの指定］  前記第１の実施形態においては、ストロークの軌道、ストロークの速度といったストロークの中間属性によっても、追加的に動作が決定されるとしたが、決定される動作が閾値付近では曖昧となり、使用者の意図する動作と異なる動作を行う可能性もあるので、閾値付近での動作決定においてはかかる閾値に該当する動作を階層型メニューで表示させて使用者が選択できる構成にすることもできる。閾値付近とは、例えば、ストロークの速度１２．５［ｃｍ／ｓ］を閾値とすると、１２．０［ｃｍ／ｓ］、１３［ｃｍ／ｓ］が該当する。ストロークの速度が明らかに遅ければ例えば握手であり、ストロークの速度が明らかに早ければ例えばパンチとすることができるが、ストロークの速度がそのどちらでもない場合には使用者の意図を判断し難く、使用者に判断を委ねることが望ましい。
【００５７】
そうすることで、使用者が意図に合致した動作を正確に行わせることができる。
また、それぞれの動作の使用回数を使用の度にカウントし、閾値付近での動作決定においては最も使用回数の多い動作に決定する構成にすることもできる。
さらにまた、使用者が使用回数の多い動作を行うのではなく、動作を階層型メニューで選択した場合にはストロークの入力と同時に例えば右クリックを押下することで表示する構成にすることもできる。
【００５８】
［３つ以上のオブジェクトの指定］  前記第１の実施形態においては、ストローク上の始点座標と終点座標上の２つのオブジェクトを対象として動作を決定していたが、かかる２つのオブジェクト以外にストローク上のオブジェクトも特定し、これら計３つ以上のオブジェクトから動作を決定し動作データを読み出して描画させる構成にすることもできる。
そうすることで、より複雑な動作を使用者が指定することができる。
アプリケーションの実装においては、予め選択可能なオブジェクトと選択不可能なオブジェクトとが区別され、ストローク上のオブジェクトとして特定されるオブジェクトは選択可能なオブジェクトとすることもできる。
【００５９】
［ビュー依存による課題の回避］  前記第１の実施形態においては、オブジェクトが重複している場合、オブジェクトが近接している場合には、使用者がオブジェクトをストロークで指定することが難しい場合がある。そこで、適応ビュー制御(an adaptive view control)、自動的カメラ制御(Automatic camera control)を適用することが望ましい。ただし、自動的カメラ制御の場合には、使用者がオブジェクトを選択しようとしているときにビューが移り変わると選択が難しいといった状況に陥る場合もある。そこで、例えば、オブジェクト上にポインタがある場合にはビューの移り変わりを遅くし、ポインタがオブジェクト上にない場合にはビューの移り変わりを早くする構成にすることもできる。また、ペンタブレットの傾きや別のマウスやキー入力によって、使用者が自分で視点を操作できるようなインターフェースを組み込む方法もある。
【００６０】
利用者のオブジェクト選択操作を助けるために、現在ポインタが指しているオブジェクトを強調表示して描画することが有効である。また、非常に小さなオブジェクトの選択操作を助けるために、ポインタがどのオブジェクトも指していないときには（地面を指しているときには）、ポインタ付近のオブジェクトを自動的に探索するような処理を追加することもできる。
【００６１】
［動いているキャラクタに対するストロークによる操作］  使用者が動いているキャラクタをストロークの操作対象とする場合には、キャラクタの動きが止まってから操作を行う方が操作を行い易い。ゲームパッドを用いた手法に比べストロークを用いたインタフェースはこのような操作の場合には時間を要する。そのため、クリックのみで動作を決定できる手法を組み合わせることが望ましい。動作の目標オブジェクトがクリックされると自動的に動作の対象オブジェクトを決定するような処理を組み込むことで、利用者はキャラクタを素早く操作することができる。これによれば、使用者が動作に必要となる手足を指定することなくキャラクタはパンチやキックを適切な手足を用いて実行することができる。
【００６２】
［動作データ（モーションデータ）の構成例］  前記第１の実施形態においては、モーションデータ自体については、本発明の当業者であれば当然実装可能な技術であるため、詳述しなかったが、例えば、図１１に示すデータの構成を有する。人体モデルを多関節体として表現することで、人体モデルの姿勢は、腰の位置・向き及び全関節の回転角度によって表すことができる。この姿勢の情報を各時刻ごとに持つことによって、人体モデルの動作を表現することができる。
【００６３】
以上の前記各実施形態により本発明を説明したが、本発明の技術的範囲は実施形態に記載の範囲には限定されず、これら各実施形態に多様な変更又は改良を加えることが可能である。そして、かような変更又は改良を加えた実施の形態も本発明の技術的範囲に含まれる。このことは、特許請求の範囲及び課題を解決する手段からも明らかなことである。
【図面の簡単な説明】
【００６４】
【図１】本発明の第１の実施形態に係る描画制御装置のブロック構成図である。
【図２】本発明の第１の実施形態に係る描画制御装置の構成要素のハードウェア構成図である。
【図３】本発明の第１の実施形態に係る描画制御装置の動作条件ファイルの一例である。
【図４】本発明の第１の実施形態に係る描画制御装置の描画例である。
【図５】本発明の第１の実施形態に係る描画制御装置の描画例である。
【図６】従来の階層型メニューのユーザインタフェースである。
【図７】従来の階層型メニューのユーザインタフェースである。
【図８】本発明の第１の実施形態に係るストロークによるユーザインタフェースの一例である。
【図９】本発明の第１の実施形態に係るストロークによるユーザインタフェースの一例である。
【図１０】本発明の第１の実施形態に係る描画制御装置の動作フローチャートである。
【図１１】本発明のその他の実施形態に係る描画制御装置の動作フローチャートである。
【符号の説明】
【００６５】
１０  コンピュータ
１１  ＣＰＵ
１２  ＤＲＡＭ
１３  ＨＤ
１４  ディスプレイ
１５  キーボード
１６  マウス
１７  ＬＡＮカード
１８  ＣＤ−ＲＯＭドライブ
２１  入力部
２２  オブジェクト特定部
２３  動作決定部
２４  動作データ生成部
２５  動作描画部
２６  動作データ記憶手段
【図１】
0004701395.tif 000002
【図２】
0004701395.tif 000003
【図３】
0004701395.tif 000004
【図４】
0004701395.tif 000005
【図５】
0004701395.tif 000006
【図６】
0004701395.tif 000007
【図７】
0004701395.tif 000008
【図８】
0004701395.tif 000009
【図９】
0004701395.tif 000010
【図１０】
0004701395.tif 000011
【図１１】
0004701395.tif 000012