(57)【要約】【課題】フリック動作に基づき簡便にオブジェクトの回転による形状変化を実現すること。【解決手段】ゲーム画面内のキャラクタの近傍位置をフリックしフリック情報（フリック動作の方向及び速度）を取得し（Ｓ１０３）、該フリック情報に基づきキャラクタの回転条件（回転の方向、初速度、減衰率）を演算・設定する（Ｓ１０４）。次に、設定された回転条件に基づいてキャラクタの回転を制御し（Ｓ１０５）、キャラクタ１０２が回転する際のスカートボーンの自由端の移動量を逐次演算する（Ｓ１０６）。回転に伴うスカート形状の変化を含むキャラクタのモーションが画像を作成し（Ｓ１０７）、ゲーム画面上に表示する。【選択図】図３
2017041042.tif 000002
【特許請求の範囲】
【請求項１】
互いに直接的又は間接的に連結されるボーンを有するオブジェクトを回転させるためにフリック動作の情報を取得するフリック情報取得手段と、
取得したフリック動作の情報に基づいて前記オブジェクトを時間経過とともに回転させるオブジェクト回転手段と、
前記オブジェクトの回転に伴う形状の変化をモーション画像として生成するモーション画像生成手段と、
を備え、前記オブジェクトの回転に伴う遠心力の作用により１つ又は複数のボーンの自由端を移動させることを特徴とする画像生成システム。
【請求項２】
請求項１に記載の画像生成システムにおいて、前記フリック動作の情報はフリック動作の方向及び速度であり、該フリック動作の方向に基づいて前記オブジェクトの回転の方向が制御されるとともに、該フリック動作の速度に基づいて前記オブジェクトの回転初速度及び回転の減衰率が制御されることを特徴とする画像生成システム。
【請求項３】
請求項１又は２に記載の画像生成システムにおいて、前記１つ又は複数のボーンは前記オブジェクトの衣服の一部を構成することを特徴とする画像生成システム。
【請求項４】
請求項３に記載の画像生成システムにおいて、前記衣服はスカートであることを特徴とする画像生成システム。
【請求項５】
請求項１〜４のいずれか１項に記載の画像生成システムにおいて、前記１つ又は複数のボーンの自由端の移動の範囲が制限されることを特徴とする画像生成システム。
【請求項６】
請求項５に記載の画像生成システムにおいて、前記１つ又は複数のボーンの自由端の移動の範囲が、視点位置及び／又は視線方向に基づいて制限されることを特徴とする画像生成システム。
【請求項７】
互いに直接的又は間接的に連結されるボーンを有するオブジェクトを回転させるためにフリック動作の情報を取得するステップと、
取得したフリック動作の情報に基づいて前記オブジェクトを時間経過とともに回転させるステップと、
前記オブジェクトの回転に伴う形状の変化をモーション画像として生成するステップと、
を備え、前記オブジェクトの回転に伴う遠心力の作用により１つ又は複数のボーンの自由端を移動させることを特徴とする画像生成方法。
【請求項８】
請求項７に記載の画像生成方法において、前記フリック動作の情報はフリック動作の方向及び速度であり、該フリック動作の方向に基づいて前記オブジェクトの回転の方向が制御されるとともに、該フリック動作の速度に基づいて前記オブジェクトの回転初速度及び回転の減衰率が制御されることを特徴とする画像生成方法。
【請求項９】
請求項７又は８に記載の画像生成方法において、前記１つ又は複数のボーンは前記オブジェクトの衣服の一部を構成することを特徴とする画像生成方法。
【請求項１０】
請求項９に記載の画像生成方法において、前記衣服はスカートであることを特徴とする画像生成方法。
【請求項１１】
請求項７〜１０のいずれか１項に記載の画像生成方法において、前記１つ又は複数のボーンの自由端の移動の範囲が制限されることを特徴とする画像生成方法。
【請求項１２】
請求項１１に記載の画像生成方法において、前記１つ又は複数のボーンの自由端の移動の範囲が、視点位置及び／又は視線方向に基づいて制限されることを特徴とする画像生成方法。
【請求項１３】
コンピュータに請求項７〜１２のいずれか１項に記載の方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像生成システム、方法、及びプログラムに関し、特に、フリック動作の情報に基づきオブジェクトを回転させ、該回転に伴う遠心力の作用によりオブジェクトを構成するボーンの一部を移動させてオブジェクトの形状変化を表すモーション画像を生成する画像生成システム、方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来、仮想３次元空間内でキャラクタを３次元ポリゴン座標によって定義し、２次元平面に投影変換して表示する場合の課題として、キャラクタを全てポリゴンの座標で定義しポリゴン座標値を全て変換対象とすることは処理負荷が高いという問題があった。そこで、キャラクタの骨組みを複数のボーンおよびジョイントで定義し、仮想３次元空間中でキャラクタのアニメーションを作成して処理負荷の軽減を図るようにしていた。
【０００３】
また、キャラクタの骨組みを複数のボーンおよびジョイントで定義した上で、タッチ操作によりジョイントの角度を変化させるようにしたゲーム装置も提案されている（特許文献１参照）。特許文献１のゲーム装置は、プレイヤがタッチパネルへのタッチ操作を続けたまま所定の方向へドラッグ操作を行ったとき、キャラクタがドラッグ操作に応じて前記所定の方向に頭部を振るような動作を行い、プレイヤがタッチパネル１３上で前記所定の方向とは逆方向にドラッグ操作を行った場合には、キャラクタが当該ドラッグ操作に応じて前記所定の方向とは逆方向に頭部を振るような動作を行うものであり、プレイヤがタッチパネルを介してキャラクタの頭部を左右に撫でるようにタッチ操作すると、キャラクタの頭部が左右に振られて、あたかも本物のキャラクタを撫でてキャラクタが反応しているような演出が行われるものである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１２２２４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１のゲーム装置は、キャラクタの動作を制御するためにタッチ操作を継続的に行う必要があった。
【０００６】
本発明は上記事情に着目してなされたものであって、その目的とするところは、フリック動作の情報に基づきオブジェクトを回転させ、該回転に伴う遠心力の作用によりオブジェクトを構成するボーンの一部を移動させてオブジェクトの形状変化を表すモーション画像を生成する画像生成システム、方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するための本発明の基本形態は、互いに直接的又は間接的に連結されるボーンを有するオブジェクトを回転させるためにフリック動作の情報を取得するフリック情報取得手段と、取得したフリック動作の情報に基づいて前記オブジェクトを時間経過とともに回転させるオブジェクト回転手段と、前記オブジェクトの回転に伴う形状の変化をモーション画像として生成するモーション画像生成手段と、を備え、前記オブジェクトの回転に伴う遠心力の作用により１つ又は複数のボーンの自由端を移動させることを特徴とする画像生成システムに係るものである。
【発明の効果】
【０００８】
本発明によれば、フリック動作に基づき簡便にオブジェクトの回転による形状変化を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の実施の一形態に係るシステムの構成を示すブロック図である。
【図２】図２は、本発明の実施の一形態に係るシステムを実現するためのハードウェア構成の一例を示すブロック図である。
【図３】図３は、本発明の実施の一形態に係る処理の一例を表すフローチャートである。
【図４Ａ】図４Ａは、本発明の実施の一形態に係るスカートボーンの一態様を模式的に示す説明図である。
【図４Ｂ】図４Ｂは、本発明の実施の一形態に係るスカートボーンの一態様を模式的に示す説明図である。
【図５】図５は、本発明の実施の一形態の表示画面や操作の一態様を模式的に示す説明図である。
【図６】図６は、スカートボーンに対する遠心力及び重力の作用を説明するための模式図である。
【発明を実施するための形態】
【００１０】
本発明の実施の形態の概要を例示的に列挙すると以下のとおりである。
〔形態１〕
互いに直接的又は間接的に連結されるボーンを有するオブジェクトを回転させるためにフリック動作の情報を取得するフリック情報取得手段と、
取得したフリック動作の情報に基づいて前記オブジェクトを時間経過とともに回転させるオブジェクト回転手段と、
前記オブジェクトの回転に伴う形状の変化をモーション画像として生成するモーション画像生成手段と、
を備え、前記オブジェクトの回転に伴う遠心力の作用により１つ又は複数のボーンの自由端を移動させることを特徴とする画像生成システム。
本形態１によれば、フリック動作に基づき簡便にオブジェクトの回転による形状変化を実現することができる。
【００１１】
〔形態２〕
また、上記形態１において、前記フリック動作の情報はフリック動作の方向及び速度であり、該フリック動作の方向に基づいて前記オブジェクトの回転の方向が制御されるとともに、該フリック動作の速度に基づいて前記オブジェクトの回転初速度及び回転の減衰率が制御されるようにしてもよい。
本形態２によれば、フリック動作に基づくオブジェクトの回転を正確に制御することができる。
【００１２】
〔形態３〕
上記形態１、２において、前記１つ又は複数のボーンが前記オブジェクトの衣服の一部を構成するようにしてもよい。
本形態３によれば、回転い伴う衣服の揺れをリアリティを持って表現することができる。
【００１３】
〔形態４〕
また、上記形態３において、前記衣服はスカートであってもよい。
本形態４によれば、回転に伴うスカートの揺れをリアリティを持って表現することができる。
【００１４】
〔形態５〕
また、形態１〜４において、前記１つ又は複数のボーンの自由端の移動の範囲が制限されるようにしてもよい。
本形態５は、自由端の移動の範囲が制限されないと不都合な状態が発生するような場合に有効である。
【００１５】
〔形態６〕
また、形態５において、前記１つ又は複数のボーンの自由端の移動の範囲が、視点位置及び／又は視線方向に基づいて制限されるようにしてもよい。
本形態６は、視点位置及び／又は視線方向が考慮した制限がなされることから、自由端の移動の範囲が制限されないと不都合な状態が発生するような場合に一層有効である。
【００１６】
本発明の他の実施の形態は、上記各システムと略同様の内容を有する方法、及び、該方法をコンピュータにより実現するためのプログラムに係るものである。
そして、前記方法、及び、プログラムにおいても、前記システムと同様の作用効果を奏するものである。
【００１７】
以下、本発明に係る実施の一形態を図面に基づいて詳細に説明する。なお、本発明は、以下において説明する実施の形態に限定されるべきではなく、特許請求の範囲の記載に基き解釈されるべきである。また、当業者であれば、他の類似する実施形態を使用することができること、また、本発明から逸脱することなく適宜形態の変更又は追加を行うことができることに留意すべきである。
【００１８】
図１は、本発明の実施の一形態に係るシステム１の構成を示すブロック図である。システム１は、「フリック情報取得手段２」、「オブジェクト回転手段３」、「モーション画像生成手段４」を具備している。
【００１９】
システム１の各構成要素２〜４の果たす機能の詳細については、以下において詳述する。
【００２０】
図２は、本発明の実施の一形態に係るシステム１を実現するためのハードウェア構成１０の一例を示すブロック図である。ハードウェア構成１０は、ＣＰＵ１１と、ＧＰＵ（グラフィックプロセッサユニット）１２と、インターフェース１３と、記憶部１４とを備えている。ＣＰＵ１１、ＧＰＵ１２、インターフェース１３、および記憶部１４は、バス１５によって接続されている。
【００２１】
インターフェース１３には、例えば、不図示の操作ボタン群およびタッチ・スクリーンを含む操作部１６が接続されている。また、インターフェース１３には、例えば、ゲーム音声などを出力するための音出力部１７が接続されている。
【００２２】
ＧＰＵ１２には、表示部１９が接続されると共に、メモリバス２１を介してＶＲＡＭ（ビデオＲＡＭ）２０が接続されている。なお、操作部１６と表示部１９とを一体化しタッチパネルとして構成してもよい。
【００２３】
ＣＰＵ１１は、例えば、外部よりダウンロードされたプログラムを実行することにより、ゲームの制御のための処理等を行う。
【００２４】
ＧＰＵ１２は、ＣＰＵ１１からの指示により描画処理を行い、表示部１９にゲーム画像を表示させる。また、ＧＰＵ１２は、ユーザによる操作部１６の操作入力に応じたＣＰＵ１１からの指示により、描画処理を行い、表示部１９に表示する。例えば、仮想３次元空間内に配置された視点から視線方向に沿って見た画像が、所定時間（例えば、１／３０秒）間隔で生成され、表示部１９に表示出力される。
【００２５】
インターフェース１３は、ＣＰＵ１１と、操作部１６あるいは不図示の周辺装置との間のデータのやりとりを制御する。
【００２６】
記憶部１４には、仮想３次元空間の構築に必要な各種データ、例えば、仮想３次元空間に配置される仮想オブジェクトに関するポリゴンデータやテクスチャデータなどが記憶されている。
【００２７】
また、記憶部１４には、オブジェクトの仮想的なスケルトンを表すスケルトンデータ、例えば、ボーンとジョイント等のデータや、各パーツについての物理量等のデータが記憶されている。なお、ボーン及びジョイントは、不可視の仮想オブジェクトである。
【００２８】
また、記憶部１４には、複数のモーション（例えば、各回転位置におけるモーションなど）のそれぞれに対応付けられる、スケルトンの姿勢の変化態様を示すモーションデータや、オブジェクトの現在のモーションを示すデータも記憶されている。
【００２９】
また、データ記憶部１４には、モーションが遷移する条件を示す遷移条件データが記憶されており、遷移条件データには、モーションが遷移する際の補間パラメータ等が含まれている。
【００３０】
次に、本発明の実施の形態に係るシステム１の処理の一例の概略を、図３、図４Ａ，Ｂ、図５に示されるようなゲーム（以下、「スカートふわりゲーム」という）の例に基づき説明する。
【００３１】
メインメニュー画面（不図示）に表示される実行可能なゲームの中から、プレイヤによりスカートふわりゲームの実行が指示されると、当該ゲームが開始され（Ｓ１０１）、図５（ａ）に示すように、ゲーム画面１００中にキャラクタ１０２が表示される（Ｓ１０２）。なお、キャラクタ１０２は、特定の視点位置から特定の視線方向に向けて仮想カメラで撮影した画像として表示される。視点位置及び視線方向は、ゲームの実行前にプレイヤが適宜設定できるようにしてもよい。
【００３２】
次に、図５（ａ）に示すように、ゲーム画面１００内のキャラクタ１０２の近傍位置をフリックしフリック情報を取得する（Ｓ１０３）。フリック情報は、フリック動作の方向及び速度として取得され記憶される。なお、詳細は後述する。
【００３３】
次に、前記フリック情報に基づきキャラクタの回転条件（回転の方向、初速度、減衰率）を演算・設定する（Ｓ１０４）。なお、回転条件の演算・設定手法の詳細は後述する。
【００３４】
次に、設定された回転条件に基づいてキャラクタの回転を制御する（Ｓ１０５）。なお、回転制御の詳細は後述する。
【００３５】
次に、キャラクタ１０２が回転する際のスカートボーン５１〜５４（図４Ａ参照）の自由端６１〜６４の移動量を逐次演算する（Ｓ１０６）。なお、演算の詳細は後述する。
【００３６】
次に、回転に伴うスカート形状の変化を含むキャラクタのモーションが画像を作成し（Ｓ１０７）、ゲーム画面１００上に表示する。
【００３７】
以下、フリック情報の取得、フリック情報に基づく回転条件の演算・設定、回転条件に基づくキャラクタの回転制御、スカートボーンの自由端の移動量の演算の詳細について説明する。
【００３８】
フリック情報の取得
プレイヤが画面にフリック操作を行うと、タッチ・スクリーンへの物体の接触が検知され、タッチ操作の始点位置が指定される。そして、所定周期（例えば、３０ｆｂｐｓのフレーム・レート）で、タッチ・スクリーン上でのタッチ位置を検知し記憶する。
【００３９】
前フレームのタッチ位置（座標位置）と現フレームのタッチ位置（座標位置）との間の距離を算出し、算出した距離をフレームレートで割ることにより、フリック操作の速さが算出される。また、前フレームのタッチ位置（座標位置）と現フレームのタッチ位置（座標位置）からフリック操作の方向も取得できる。このフリック操作の方向及び速さの情報をフリック情報として記憶する。
【００４０】
フリック情報に基づく回転条件（回転方向、初速度、減衰率）の演算・設定
取得されたフリック操作の方向を解析して得られた２値情報（右回転又は左回転）をキャラクタの回転方向として設定する。また、フリック操作の速さをキャラクタの回転の初速度として設定する。また、キャラクタが、例えば、１回転して停止するように、回転を減衰させるための減衰率を演算して設定する。
【００４１】
回転条件に基づくキャラクタの回転制御
一般に、複数のボーンは、各ボーンをノードとし、連結された２つのボーンのうち、一方のボーンを親ノードに、他方のボーンを子ノードに、それぞれ割り当てた木構造に階層化される。そして、キャラクタの位置および向きは、木構造の最上位階層に相当する根ボーン（ルートボーン）の位置および向きで決定されることになるが、スカートふわりゲームにおいては、スカートボーン５１〜５４の一端は不図示の根ボーンに連結され、根ボーンに固定された座標系において当該連結点の座標は固定されているものとする。また、スカートボーン５１〜５４の他端に相当する自由端６１〜６４は、スカートボーンを挟む２つの面状体（スカート片）７１〜７４に接続されている。したがって、各自由端６１〜６４は、スカートボーン５１〜５４を繋ぐ面状体（スカート片）７１〜７４による移動の制約はあるものの、該面状体（スカート片）７１〜７４の形状（例えば、ゆとりのある形状）によっては、隣接スカートボーン５１〜５４の自由端６１〜６４と実質的に独立した運動を行うものとして取り扱うこともできる。なお、スカートボーン５１〜５４は、図４Ａにおいては、直線状の形状を有しているが、これに限られるものではなく、例えば、屈曲した形状を有するのであってもよい。
【００４２】
キャラクタの回転は、根ボーンの回転に帰着されることになるが、上述した回転条件に従って、根ボーンの適宜の点の位置ベクトルを軸ベクトルの周りで所定の角度だけ回転させた結果（位置ベクトル）を求めるには、例えば、クォータニオンを利用したり、回転行列を利用することができる。なお、クォータニオンや回転行列の利用は当分野において周知の手法であり詳細は省略する。
【００４３】
キャラクタを回転させるためには、根ボーンに対し上述の回転方向に上述の初速度を印加する。そして、キャラクタが１回転で停止するように回転速度を上述の減衰率で減衰させていく。これにより、キャラクタを１回転させて停止させることができる。なお、キャラクタの回転数は、必ずしも１回転に限定されるものではなく、また、回転数を整数にしなくてもよい。さらに、減衰率も必ずしも定数とする必要はなく、例えば、回転の終期に減衰率を高めるようにしてもよい。
【００４４】
スカートボーンの自由端の移動量の演算
一般に、質量ｍ、速度ｖで曲率半径ｒの経路に沿って運動する物体の向心力の大きさFは、F=ｍｖ２/ｒで表される。遠心力は、向心力と逆向きで大きさが等しい力であり、本スカートふわりゲームにおいては、根ボーンの回転に伴って、スカートボーン５１〜５４が、根ボーンの回転軸を中心として回転するものとみなすことができることから、スカートボーン５１〜５４に対して遠心力が作用すると考えることができる。
【００４５】
図６は、スカートボーンに対する遠心力及び重力の作用を説明するための模式図である。以下、図６に従い、スカートボーンの搖動角θと回転速度ｖとの関係を説明する。なお、スカートボーンの質量をｍ、スカートボーンの一端からその重心までの距離をR1とし、根ボーンの回転軸からスカートボーンの一端までの距離をR2とし、重力加速度をｇとする。遠心力Fは、F=はｍｖ２/(R2+R1sinθ)で表され、また、図６より明らかなように、F/(ｍｇ)＝tanθであるから、ｖ２＝ｇ(R2+R1sinθ)tanθによりｖとθとの関係が規定され、回転速度ｖの大きさに応じて、スカートボーンの搖動角θが決定されることになる。
【００４６】
但し、上記の態様は一例であって、これに限られるものではなく、例えば、回転速度ｖの大きさに応じてスカートボーンの搖動角θが単調に増加するように関数関係を設定することもできる。
【００４７】
なお、スカートボーンの搖動角θが大きくなりすぎると不都合な状態も想定される（図４Ｂの〔３〕、〔４〕参照）。このような状態の発生を防止するためには、スカートボーンの搖動角θに上限値を設けて範囲を制限するとよい。なお、単に上限値で搖動角θを制限するとスカートの動きが不自然に見えるような場合には、キャラクタに腕等でスカートを抑えるような動作をさせることもできる。また、上記上限値を前述した仮想カメラの視点位置及び視線方向に応じて決定するようにしてもよい。
【００４８】
以上、本発明の実施の形態の一例を説明したが、他の類似する実施形態の採用や、適宜形態の変更又は追加を行うことができることに留意されたい。
【００４９】
なお、前記システムを構成する各手段は、専用のハードウェアであってもよいが、コンピュータがプログラムを実行することにより各処理段階ごとに実現される仮想的手段（所謂、機能現手段）であってもよい。
【００５０】
また、前記システムは、専用の装置に搭載されるものであってもよいが、ユーザが所持する携帯電話機、スマートフォン、ＰＤＡ（Personal Digital Assistant）、携帯型パーソナル・コンピュータ等の携帯端末に搭載されるものであってもよい。
【００５１】
さらに、前記システムは、各処理が複数のコンピュータ等によって分散処理されるようなシステムとしても構成できる。
【符号の説明】
【００５２】
１    システム
２    フリック情報取得手段
３    オブジェクト回転手段
４    モーション画像生成手段
１０    ハードウェア構成
１１    ＣＰＵ
１２    ＧＰＵ
１３    インターフェース
１４    記憶部
１５    バス
１６    操作部
１９    表示部
２０    ＶＲＡＭ
２１    メモリバス
５１〜５４    スカートボーン
６１〜６４    スカートボーンの自由端
７１〜７４    面状体（スカート片）
１００    ゲーム画面
１０２    キャラクタ
１１２    フリック動作
【図１】
2017041042.tif 000003
【図２】
2017041042.tif 000004
【図３】
2017041042.tif 000005
【図４Ａ】
2017041042.tif 000006
【図４Ｂ】
2017041042.tif 000007
【図５】
2017041042.tif 000008
【図６】
2017041042.tif 000009