JP5143883B2 - 画像処理装置、画像処理プログラム、及び画像処理方法 - Google Patents

画像処理装置、画像処理プログラム、及び画像処理方法 Download PDF

Info

Publication number
JP5143883B2
JP5143883B2 JP2010253795A JP2010253795A JP5143883B2 JP 5143883 B2 JP5143883 B2 JP 5143883B2 JP 2010253795 A JP2010253795 A JP 2010253795A JP 2010253795 A JP2010253795 A JP 2010253795A JP 5143883 B2 JP5143883 B2 JP 5143883B2
Authority
JP
Japan
Prior art keywords
sight
line
character
frame
angle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010253795A
Other languages
English (en)
Other versions
JP2012104021A (ja
Inventor
芳明 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konami Digital Entertainment Co Ltd
Original Assignee
Konami Digital Entertainment Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konami Digital Entertainment Co Ltd filed Critical Konami Digital Entertainment Co Ltd
Priority to JP2010253795A priority Critical patent/JP5143883B2/ja
Publication of JP2012104021A publication Critical patent/JP2012104021A/ja
Application granted granted Critical
Publication of JP5143883B2 publication Critical patent/JP5143883B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

Description

本発明は、仮想3次元空間内を移動するキャラクタを所定のフレーム周期で仮想スクリーンに投影する画像処理技術に関するものである。
近年、3次元コンピュータアニメーションを用いてキャラクタを表示装置の画面上に表示するゲーム装置が広く普及している。このようなゲーム装置では、仮想3次元空間内に仮想カメラを設定し、プレーヤの操作によって移動されるキャラクタに合わせて仮想カメラの視線が移動され、キャラクタが画面上からフレームアウトすることが防止されている。
仮想3次元空間にはキャラクタ以外の壁等の障害物も多数存在する。この場合、仮想カメラから見てキャラクタが障害物の奥側に移動すると、キャラクタが画面上に表示されない事態が発生する。これを防止するために、特許文献1では、視点とキャラクタとを結ぶ視線上に障害物がある場合、視線と障害物のキャラクタ側の面との交点に視点を設定し、障害物が邪魔になってキャラクタが画面上に表示されなくなることを防止するビデオゲーム装置が開示されている。
ところで、現実のプロ野球のテレビ中継等においては、カメラの視界内にいた選手が突然に動きだした場合、カメラの視線が移動する選手に追いつけず、選手がカメラの視界からはみ出そうになることがある。この場合、カメラマンは選手を追いかけるようにして視線を大きく移動させたり、カメラの画角を増大させたりすることによって、選手がカメラの視界内に収まるように操作する。
このような、実際のカメラワークをゲーム内に取り込むことができれば、プレーヤに対して実際の野球のテレビ中継を見ているような感覚を与えることができ、ゲームのリアル性をより高めることができる。
特開2003−135844号公報
しかしながら、特許文献1のビデオゲーム装置では、このような実際のカメラマンのカメラワークをゲーム内に全く取り入れられていないため、リアル性に欠けるという問題がある。
また、近年、ゲームにおいては、実際にプレーヤがゲームを開始する前にゲームの概要を映像表示するデモ画像が表示されることが一般的である。このようなデモ画像においてもカメラマンのカメラワークを模擬した画像が表示されると、リアル性が増し、プレーヤのゲームへの意欲をより喚起することが期待できる。
本発明の目的は、3次元コンピュータアニメーションにおいて、実際のカメラマンのカメラワークを模擬した画像を表示画面上に表示することができる画像処理装置を提供することである。
(1)本発明による画像処理装置は、仮想3次元空間内を移動するキャラクタを所定のフレーム周期で仮想スクリーンに投影する画像処理装置であって、現フレームより過去のフレームにおける前記キャラクタの移動速度を用いて前記現フレームでの前記キャラクタの予測移動速度を求め、前記予測移動速度と前記現フレームでの前記キャラクタの現在位置とを用いて、前記キャラクタが1又は複数フレーム後に移動すると推定される前記仮想3次元空間内での移動推定位置を求める位置推定部と、前記仮想3次元空間の所定の位置に配置された仮想カメラの視線が前記移動推定位置の変化に追従するように前記次フレームの視線を設定する視線設定部と、前記視線設定部により設定された視線を中心として前記仮想カメラの画角を設定する画角設定部と、前記画角設定部により設定された画角に従って前記仮想3次元空間内に前記仮想スクリーンを設定し、設定した仮想スクリーンに前記キャラクタを投影して2次元の投影画像データを生成する投影画像生成部とを備え、前記画角設定部は、前記位置推定部により推定された移動推定位置の前記仮想スクリーンへの投影点が前記仮想スクリーン内の外周に設けられた所定の外周領域に位置する場合、前記投影点を前記外周領域の内側の中央領域に位置させるために前記画角を増大させる。
本発明による画像処理プログラムは、仮想3次元空間内を移動するキャラクタを所定のフレーム周期で仮想スクリーンに投影する画像処理プログラムであって、現フレームより過去のフレームにおける前記キャラクタの移動速度を用いて前記現フレームでの前記キャラクタの予測移動速度を求め、前記予測移動速度と前記現フレームでの前記キャラクタの現在位置とを用いて、前記キャラクタが1又は複数フレーム後に移動すると推定される前記仮想3次元空間内での移動推定位置を求める位置推定部と、前記仮想3次元空間の所定の位置に配置された仮想カメラの視線が前記移動推定位置の変化に追従するように前記次フレームの視線を設定する視線設定部と、前記視線設定部により設定された視線を中心として前記仮想カメラの画角を設定する画角設定部と、前記画角設定部により設定された画角に従って前記仮想3次元空間内に前記仮想スクリーンを設定し、設定した仮想スクリーンに前記キャラクタを投影して2次元の投影画像データを生成する投影画像生成部としてコンピュータを機能させ、前記画角設定部は、前記位置推定部により推定された移動推定位置の前記仮想スクリーンへの投影点が前記仮想スクリーン内の外周に設けられた所定の外周領域に位置する場合、前記投影点を前記外周領域の内側の中央領域に位置させるために前記画角を増大させる。
本発明による画像処理方法は、仮想3次元空間内を移動するキャラクタを所定のフレーム周期で仮想スクリーンに投影する画像処理方法であって、コンピュータが、現フレームより過去のフレームにおける前記キャラクタの移動速度を用いて前記現フレームでの前記キャラクタの予測移動速度を求め、前記予測移動速度と前記現フレームでの前記キャラクタの現在位置とを用いて、前記キャラクタが1又は複数フレーム後に移動すると推定される前記仮想3次元空間内での移動推定位置を求める位置推定ステップと、コンピュータが、前記仮想3次元空間の所定の位置に配置された仮想カメラの視線が前記移動推定位置の変化に追従するように前記次フレームの視線を設定する視線設定ステップと、コンピュータが、前記視線設定ステップにより設定された視線を中心として前記仮想カメラの画角を設定する画角設定ステップと、コンピュータが、前記画角設定ステップにより設定された画角に従って前記仮想3次元空間内に前記仮想スクリーンを設定し、設定した仮想スクリーンに前記キャラクタを投影して2次元の投影画像データを生成する投影画像生成ステップとを備え、前記画角設定ステップは、前記位置推定部により推定された移動推定位置の前記仮想スクリーンへの投影点が前記仮想スクリーン内の外周に設けられた所定の外周領域に位置する場合、前記投影点を前記外周領域の内側の中央領域に位置させるために前記画角を増大させる。
これらの構成によれば、現フレームでのキャラクタの移動速度ではなく、予測移動速度を用いて移動推定位置が算出されている。したがって、移動推定位置は、キャラクタが数フレーム後に移動するであろうと、実際のカメラマンが推定する位置を表すことができる。これにより、実際のカメラマンがカメラの視線を動かす際の目標位置をシミュレートとすることができる。
そして、移動推定位置の仮想スクリーンへの投影点が外周領域に侵入すると、移動推定位置が画面の中央に寄るように仮想カメラの画角が増大される。これにより、実際のカメラマンのカメラワークをリアルに模擬することができる。
つまり、実際の野球のTV中継において、カメラマンは、選手の動きを予測し、選手がカメラの視界から外れないようにカメラの向きや画角を調節する。そして、選手が突然予想外の動きを示し、選手がカメラの視界から消えそうになると、あわててカメラの画角を増大させるといったカメラワークを行う。したがって、上記構成を採用することで、このような実際のカメラマンのカメラワークを模擬した画像を表示画面上にすることができる。
また、上記構成では、実際のキャラクタの位置ではなく、移動推定位置に追従するように視線が設定されているため、視線を実際のキャラクタの動きに対して少し遅れて追従させることができ、実際のカメラワークをリアルに模擬することができる。
(2)前記画角設定部は、フレーム毎に前記投影点が前記外周領域に位置するか否かを判定し、前記投影点が前記外周領域に位置すると判定した場合、前記投影点が前記中央領域に入るフレームになるまで、前記画角を漸次に増大させることが好ましい。
この構成によれば、移動推定位置の投影点が外周領域に侵入すると、フレームが更新される毎に投影点が外周領域に位置しているか否かが判定され、投影点が中央領域内に入るフレームになるまで、画角が漸次に増大される。そのため、投影点が外周領域に位置した場合に一挙に画角を増大させて投影点を中央領域に位置させる構成に比べて、画角をなだらかに変化することができ、実際のカメラワークをよりリアルに模擬することができる。
(3)前記キャラクタは、前記仮想3次元空間に規定された水平面上を移動するものであり、前記キャラクタの位置は前記キャラクタの所定の部位の位置であり、前記位置推定部は、前記現フレームでの前記キャラクタの水平座標と、前記現フレームでの前記予測移動速度に1又は複数フレーム周期の時間を乗じた値との和を前記移動推定位置の水平座標として求めると共に、前記現フレームでの前記キャラクタの位置の前記水平面からの高さを示す鉛直座標を前記移動推定位置の鉛直座標として求めることが好ましい。
この構成によれば、移動推定位置の水平座標は、予測移動速度を用いて算出されているが、移動推定位置の鉛直座標は、キャラクタの位置の鉛直座標がそのまま用いられている。そのため、水平面に沿って移動するキャラクタの移動推定位置の算出処理の処理負担を軽減しつつ、ある程度の精度が維持されるように移動推定位置を算出することができる。
(4)前記キャラクタは、人間を模擬したスケルトンモデルであり、前記スケルトンモデルは、複数のボーンと各ボーンを繋ぐノードとを含み、前記所定の部位は、鼻であり、前記位置推定部は、前記鼻の部位に最も近い所定の基準ノードからの鼻の方向を、前記スケルトンモデルの姿勢から特定し、前記基準ノードから特定した鼻の方向に向けて所定のオフセットを加えることで、前記鼻の位置を算出することが好ましい。
スケルトンモデルでは鼻は関節ではないため、鼻の位置にノードが設定されないのが一般的である。上記構成によれば、キャラクタの姿勢に基づいて、鼻の位置に最も近い基準ノードから鼻の方向が特定され、基準ノードから鼻の方向に向けて所定のオフセットが加えられて鼻の位置が算出されている。したがって、鼻の位置を正確、かつ、簡便な処理により算出することができる。
(5)前記画角設定部は、前記画角を増大させてから所定期間が経過するまでの間、継続的に前記移動推定位置の前記仮想スクリーンへの投影点が前記中央領域内に位置している場合に、前記画角を減少させることが好ましい。
画角を増大させると、キャラクタが小さく表示されるため、画像の迫力が欠け、プレーヤの興味が減退する虞がある。そこで、上記構成では、画角を増大させてから所定期間が経過するまでの間、継続的に投影点が中央領域内に位置している場合に、画角θが減少される。これにより、再度、キャラクタが大きく表示され、迫力のある画像演出を行うことができる。
(6)前記視線設定部は、各フレームにおいて、前記仮想スクリーンの中心を起点とし、前記移動推定位置の前記仮想スクリーンへの投影点を終点とする視線ずれベクトルを求め、前記現フレームの視線ずれベクトルが前記前フレームの視線ずれベクトルよりも大きい場合、前記現フレームから前記次フレームへの前記視線の移動量が前記前フレームから前記現フレームへの前記視線の移動量よりも大きくなるように前記次フレームの視線を設定し、前記現フレームの視線ずれベクトルが前記前フレームの視線ずれベクトルよりも小さい場合、前記現フレームから前記次フレームへの前記視線の移動量が前記前フレームから前記現フレームへの前記視線の移動量よりも小さくなるように前記次フレームの視線を設定し、前記現フレームの視線ずれベクトルが前記前フレームの視線ずれベクトルと等しい場合、前記現フレームから前記次フレームへの前記視線の移動量が前記前フレームから前記現フレームへの前記視線の移動量と同じになるように前記次フレームの視線を設定することが好ましい。
この構成によれば、被写体の移動速度が漸次に増加している場合、それに伴って視線の速度を漸次に増大させ、被写体の移動速度が漸次に減少している場合、それに伴って視線の速度を漸次に減少させ、被写体の移動速度が一定の場合、視線の速度を一定に保つというような実際のカメラマンのカメラワークをシミュレートすることができる。
(7)前記視線設定部は、前記キャラクタが停止し、かつ、前記仮想のカメラの視線の移動量が規定値以下の場合、現在の移動量で前記視線を変化させ、前記キャラクタと交差する位置で前記視線を停止させることが好ましい。
視線の追従中にキャラクタが停止した場合、視線ずれベクトルが漸次に減少するため、視線の移動量が漸次に減少していき、視線がキャラクタになかなか到達することができない虞がある。
上記の構成によれば、キャラクタが停止し、かつ、視線の移動量が規定値以下となった場合、現在の視線の移動量で視線が移動され、キャラクタと交差する位置で視線が停止されるため、上記問題を解消することができる。
(8)前記視線設定部は、前記現フレームで求めた視線ずれベクトルから、前記前フレームで求めた視線ずれベクトルを差し引くことで差分ベクトルを求め、前記差分ベクトルと同じ向きを持ち、かつ、前記差分ベクトルの大きさに応じた値を持つベクトルを前記現フレームの視線の加速度ベクトルとして設定し、設定した加速度ベクトルを用いて前記現フレームから前記次フレームへの視線の移動量を求めることが好ましい。
現フレームの視線ずれベクトルから、前フレームの視線ずれベクトルが差し引かれて差分ベクトルが求められ、この差分ベクトルと向きが同じで、この差分ベクトルに応じた大きさを持つベクトルが視線の加速度ベクトルとして算出される。
これにより、視線と移動推定位置との差が前フレームから現フレームにかけて増大すると視線移動量が増大され、視線と移動推定位置との差が前フレームから現フレームにかけて減少すると視線移動量が減少され、視線と移動推定位置との差が前フレームから現フレームにかけて一定であると、視線移動量が維持される。そのため、カメラワークをリアルに再現することができる。
(9)前記現フレームの視線ずれベクトルが前記前フレームの視線ずれベクトルに対して反対側を向いた場合、前記視線ずれベクトルの大きさが規定値以下のフレームになるまで、前記現フレームで求めた視線の加速度で前記視線を移動させることが好ましい。
この構成によれば、キャラクタが突然向きを変えた場合、差分ベクトルに応じた大きさ及び向きを持つ加速度ベクトルが設定され、この加速度ベクトルにしたがって、視線が移動される。そのため、視線がキャラクタの移動方向とは反対方向に少しだけ移動した後、方向変換して急速にキャラクタに近づいていくように視線を設定させることができる。これにより、キャラクタが急に方向変換した場合において、視線が直ぐにキャラクタの近傍に設定されることを防止することができる。その結果、カメラの慣性を考慮にいれて視線を設定することができ、実際のカメラワークをリアルに再現することが可能となる。
本発明によれば、現実のカメラマンのカメラワークをリアルに模擬したゲーム画面を作成することができる。具体的には、カメラ視界内に収めているキャラクタ等が急に移動した場合、そのキャラクタがカメラ視界内から外れてしまうことがないように、画角を広げてキャラクタをカメラ視界内に捕捉する、といったカメラマンのカメラワークをゲーム上に反映することができる。
本発明の実施の形態による画像処理装置を家庭用のゲーム装置に適用した場合のゲーム装置のブロック図を示している。 キャラクタの3次元モデルを模式的に示した図である。 (A)は、仮想3次元空間に設定された視線及び仮想スクリーンを示した図である。図3(B)は投影画像データを示した図である。 (A)は画角が増大されたときの仮想3次元空間に設定された仮想スクリーンを示した図であり、(B)は画角が増大されたときに生成された投影画像データを示した図である。 (A)は前フレームにおいて、仮想スクリーンを真上から見たときの仮想3次元空間の図である。(B)は(A)に対応する仮想スクリーンを正面から見た図である。 (A)は、現フレームにおいて、仮想スクリーンを真上から見たときの仮想3次元空間の図である。(B)は、(A)に対応する仮想スクリーンを正面から見た図である。 次フレームの視線が設定される様子を示した図であり、(A)は仮想スクリーンを真上から見た図であり、(B)は仮想スクリーンを正面から見た図である。 キャラクタの移動速度が漸次に減少する場合の視線ずれベクトルと差分ベクトルとの関係を示した図である。 図8を一般化したときの視線ずれベクトルと差分ベクトルとの関係を示した図である。 キャラクタの移動速度が増大している場合において、仮想スクリーンの中心と移動推定位置の仮想スクリーンへの投影点との関係について説明した図である。 キャラクタの移動速度が減少している場合において、仮想スクリーンの中心と移動推定位置の仮想スクリーンへの投影点との関係について説明した図である。 キャラクタが停止している場合の仮想スクリーンの中心と移動推定位置の仮想スクリーンへの投影点との関係を示した図である。 右側を移動しているキャラクタが突然左側に向きを変えたときの視線ずれベクトルを示した図である。 右側に移動しているキャラクタが突然向きを変えて左側に移動を開始した場合において、仮想スクリーンの中心と移動推定位置の仮想スクリーンへの投影点との関係について示した図である。 図1に示すゲーム装置の処理を示すフローチャートである。 視線設定処理のフローチャートである。 本ゲーム装置において、実際に表示部に表示される投影画像データを示した図である。 本ゲーム装置において、実際に表示部に表示される投影画像データを示した図である。 本ゲーム装置において、実際に表示部に表示される投影画像データを示した図である。
図1は、本発明の実施の形態による画像処理装置を家庭用のゲーム装置に適用した場合のゲーム装置のブロック図を示している。ゲーム装置は、例えば、操作部10、制御部20、キャラクタ情報記憶部30、及び表示部40を備えている。操作部10は、プレーヤが操作指令を入力するために用いられる入力デバイスであり、いわゆる、ゲームコントローラである。具体的には、操作部10は、例えばスティック、十字キー、及びセレクトキー等を備えている。ここで、プレーヤの操作指令としては、例えば、キャラクタをゲーム空間内で移動させるための移動指令や、ゲームを開始するためのゲーム開始指令等が含まれる。
制御部20は、CPU、ROM、RAM、及びGPU等から構成され、ゲーム装置全体を制御する。具体的には、制御部20は、キャラクタ移動部21、位置推定部22、視線設定部23、画角設定部24、及び撮影画像生成部25を備えている。
キャラクタ移動部21〜撮影画像生成部25は、コンピュータをゲーム装置として機能させるためのゲーム制御プログラムをCPUが実行することで実現される。このゲーム制御プログラムには、本発明による画像制御プログラムが含まれている。ゲーム制御プログラムは、DVD−ROM等のコンピュータ読み取り可能な記録媒体に記録されて市場に流通されている。プレーヤはこの記録媒体を購入し、購入した記録媒体をゲーム装置が備える図略の記録媒体駆動装置に挿入することで、CPUにゲーム制御プログラムを実行させる。なお、ゲーム装置がインターネットに接続することが可能であれば、インターネット上のサーバからゲーム制御プログラムをダウンロードすることで、プレーヤにゲーム制御プログラムを購入させるようにしてもよい。
本実施の形態では、ゲームとして例えば、野球ゲームを想定しているが、本発明はこれに限定されず、野球ゲーム以外の種々のゲームに適用可能である。つまり、本発明による画像処理装置は、仮想3次元空間内をキャラクタが移動するような3次元コンピュータアニメーションを用いるゲームであれば、どのようなゲームにも適用することができる。また、本発明による画像処理装置は、ゲームに限定されず、例えばゲーム以外の一般的なコンピュータグラフィックスに適用してもよい。
本実施の形態では、ゲーム装置は、仮想3次元空間内を移動するキャラクタを所定のフレームレート(例えば、1/60秒)でレンダリングする。以下に示す現フレームとは、仮想3次元空間内を移動するキャラクタの最新のレンダリングタイミングを示す。また、前フレームとは、現フレームよりも1つ前のレンダリングタイミングを示す。また、次フレームとは、現フレームよりも1つ後のレンダリングタイミングを示す。
キャラクタ移動部21は、プレーヤが操作部10を操作してキャラクタを移動させることができるプレーモードにある場合、プレーヤにより入力される移動指令にしたがって、キャラクタを仮想3次元空間内で移動させる。また、キャラクタ移動部21は、キャラクタが予め定められた移動パターンにしたがって自動的に移動されるデモモードにある場合、移動パターンにしたがって、キャラクタを仮想3次元空間内で移動させる。
図2は、キャラクタの3次元モデルを模式的に示した図である。図2に示すようにキャラクタCAは、人間を模擬したスケルトンモデルである。スケルトンモデルは、複数のボーンBNと各ボーンBNを繋ぐノードNDとを含んでいる。各ボーンBNは、腕、足、胴体、顔等に相当する外皮SKで覆われている。
キャラクタ移動部21は、プレーヤからの操作指令又は予め定められた移動パターンにしたがって、ノードNDを中心とする各ボーンBNの回転量を設定し、種々の拘束条件の下、キャラクタCAの姿勢を設定する。拘束条件としては、例えば、上腕のノードNDと下腕のノードNDとは所定度以上回転できない、キャラクタCAは水平面SF上を移動する等が挙げられる。
水平面SFは仮想3次元空間内に設けられた平面であり、人間が歩く地表面を想定したものである。本実施の形態では、仮想3次元空間は、互いに直交するx,y,zの3軸の座標によって各位置が規定される。水平面SFは、z=0、かつ、x−y平面と平行な面に設定されている。
また、キャラクタ移動部21は、フレーム毎にキャラクタCAの移動速度を設定し、設定した移動速度にしたがって、キャラクタCAを仮想3次元空間内で動かす。具体的には、キャラクタ移動部21は、プレーモードにある場合、操作部10により入力された移動指令にしたがって、現フレームでのキャラクタCAの移動速度を設定すればよい。また、キャラクタ移動部21は、デモモードにある場合、予め定められた移動パターンにしたがって現フレームでのキャラクタCAの移動速度を設定すればよい。
本実施の形態では、キャラクタCAは野球ゲームの選手キャラクタであり、図2に示すように、仮想3次元空間内に設けられた水平面SF上を移動する。したがって、キャラクタ移動部21は、キャラクタCAの移動速度VCを水平面SFと平行に設定する。
また、鼻NPの中心位置がキャラクタCAの位置Kとされている。したがって、キャラクタ移動部21は、前フレームでのキャラクタCAの移動速度VCにフレーム周期Tを乗じ、得られた値(=T・VC)を、前フレームでのキャラクタCAの位置K(i−1)の水平座標に加えることで、現フレームでのキャラクタCAの位置K(i)の水平座標を算出する。そして、キャラクタ移動部21は、算出した位置K(i)の水平座標にキャラクタCAを移動させる。
位置推定部22は、現フレームより過去のフレームにおけるキャラクタCAの移動速度VCを用いて現フレームでのキャラクタCAの予測移動速度PVを求める。そして、位置推定部22は、予測移動速度と現フレームでのキャラクタCAの現在位置とを用いて、キャラクタが1又は複数フレーム後に移動すると推定される仮想3次元空間内での移動推定位置Qを求める。
本実施の形態では、位置推定部22は、例えば、過去数フレームにおける仮想3次元空間でのキャラクタCAの移動速度VCの平均速度を、現フレームでのキャラクタCAの予測移動速度PV(i)として求める。過去数フレームとしては、例えば1フレームであってもよいし、2,3,4,・・・,10等の複数フレームであってもよい。
そして、位置推定部22は、予測移動速度PV(i)をn・T倍することで、現フレームから次フレームへのキャラクタCAの移動推定距離PD(i)(=n・T・PV(i))を求める。但し、nは1又は2以上の整数を示し、Tはフレーム周期を示す。
そして、位置推定部22は、式(1)に示すように、キャラクタCAの現フレームの位置K(i)の水平座標に現フレームの移動推定距離PD(i)を加えて、キャラクタCAの移動推定位置Q(i)の水平座標を算出する。
Q(i)=K(i)+PD(i) (1)
本実施の形態では、図2に示すように、鼻NPの中心位置がキャラクタCAの位置Kとされている。したがって、位置推定部22は、鼻に最も近い首の付け根のノードNDxから鼻NPの方向を特定する。そして、位置推定部22は、ノードNDxから特定した鼻の方向に向けて所定のオフセットhを加えることで、位置Kを算出する。ここで、位置推定部22は、キャラクタ移動部21によって設定されたキャラクタCAの姿勢を用いてノードNDxから鼻NPへの向きを特定すればよい。
また、位置推定部22は、現フレームでのキャラクタCAの位置K(i)の水平面SFからの高さを示す鉛直座標を移動推定位置Q(i)の鉛直座標として算出する。
このように、現フレームでのキャラクタCAの移動速度VCではなく、予測移動速度PVを用いて移動推定位置Qが算出されている。したがって、移動推定位置Qは、キャラクタCAが数フレーム後に移動するであろうと、実際のカメラマンが推定する位置を表すことができる。これにより、実際のカメラマンがカメラの視線を動かす際の目標位置をシミュレートとすることができる。
なお、キャラクタCAは仮想3次元空間内を移動するため、キャラクタCAの移動速度VC、予測移動速度PVは3次元ベクトルで表され、位置K、移動推定距離PD、移動推定位置Qは3次元データである。
図1に戻り、視線設定部23は、仮想3次元空間の所定の位置に配置された仮想カメラの視線が移動推定位置Qの変化に追従するように次フレームの視線を設定する。図3(A)は、仮想3次元空間に設定された視線LE及び仮想スクリーンSCを示した図である。図3(B)は投影画像データを示した図である。図3(A)に示すように視線LEは仮想カメラCMの光軸方向に設定される。視線LEは、仮想カメラCMを中心に回転され、移動推定位置Qに追従される。
本実施の形態では、移動推定位置Qに追従するように視線LEが設定されているため、視線LEを実際のキャラクタCAの動きに対して少し遅れて追従させることができ、実際のカメラワークをリアルに模擬することができる。
画角設定部24は、視線設定部23により設定された視線LEを中心として仮想カメラCMの画角θを設定する。画角には、図3(A)に示すように、水平方向の画角θと鉛直方向の画角θ´とが含まれる。ここで、画角設定部24は、仮想スクリーンSCを真上から見たときに視線LEにより画角θが2等分されるように画角θを設定する。また、画角設定部24は、仮想スクリーンSCを真横から見たときに視線LEにより画角θ´が2等分されるように画角θ´を設定する。また、画角設定部24は、画角θと画角θ´との比が、仮想スクリーンSCの水平方向の辺H1と鉛直方向の辺H2の比と同じになるように画角θ、θ´を設定する。ここで、辺H1と辺H2との比としては、通常のテレビモニタの比を採用することができる。このように画角θ、θ´が設定されることで、仮想スクリーンSCは中心Pに視線LEが通るように仮想3次元空間内に設定される。本実施の形態では、画角設定部24は、まず、画角θを設定し、その後で、辺H1と辺H2との比にしたがって、画角θ´を設定するものとする。
投影画像生成部25は、画角設定部24により設定された画角θに従って仮想3次元空間内に仮想スクリーンSCを設定し、設定した仮想スクリーンSCにキャラクタCAを投影して2次元の投影画像データを生成する。
ここで、投影画像生成部25は、仮想スクリーンSCの面積が所定の値となり、辺H1が水平面SFと平行、かつ、辺H2が水平面SFと直交するように仮想スクリーンSCを設定する。そして、投影画像生成部25は、キャラクタCAを仮想スクリーンSCに投影変換する。また、投影画像生成部25は、仮想3次元空間にキャラクタCA以外のキャラクタやオブジェクトが配置されていれば、これらのキャラクタやオブジェクトも仮想スクリーンSCに投影変換する。このとき、投影画像生成部25は、シェーディング処理、テクスチャマッピング処理、及び隠面消去処理等も併せて行う。これにより、キャラクタCAが仮想スクリーンSCにレンダリングされ、図3(B)に示すような投影画像データが生成される。
そして、投影画像生成部25は、生成した投影画像データを表示部40に表示させる。これにより、表示部40には所定のフレームレートで投影画像データが表示され、3次元コンピュータアニメーションが実現される。
図3(B)に示すように投影画像データの中心Pが仮想スクリーンSCと視線LEとの交点となっていることが分かる。図3(B)の例では、キャラクタCAは画角θによって規定される仮想カメラCMの視界のやや右側に位置しているため、キャラクタCAは投影画像データの右側に表示されている。
ここで、画角設定部24は、位置推定部22により推定された移動推定位置Qの仮想スクリーンSCへの投影点Rが仮想スクリーンSC内の外周に設けられた所定の外周領域D2に位置する場合、投影点Rを外周領域D2の内側の中央領域D1に位置させるために画角θを増大させる。
実際の野球のTV中継において、カメラマンは、選手の動きを予測し、選手がカメラの視界から外れないようにカメラの向きや画角を調節する。そして、選手が突然予想外の動きを示し、選手がカメラの視界から消えそうになると、あわててカメラの画角を増大させて(すなわち、球場を広く映し出すことで)、選手をカメラの視界内に収めようとするといったカメラワークを行う。本実施の形態では、このようなカメラマンのカメラワークを模擬することを目的としている。
そこで、画角設定部24は、フレームが更新される毎に投影点Rが外周領域D2に位置するか否かを判定する。そして、画角設定部24は、投影点Rが外周領域D2に位置すると判定した場合、投影点Rが中央領域D1に入るフレームになるまで、画角θを漸次に増大させる。ここで、画角設定部24は、一定の角度で画角θを増大させてもよいし、画角θを増大させる処理を開始してからの時間が増大するにつれて画角θの変化量が大きくなるように画角θを増大させてもよい。
これにより、投影点Rが外周領域D2に侵入し、キャラクタCAが視界から消えそうになると、急激に画角を増大させることで、投影点Rを中央領域D1に戻し、キャラクタCAを画面の中央に寄せるような画面演出を行うことができる。
なお、外周領域D2は中央領域D1を取り囲むように仮想スクリーンSCに設けられた枠状の領域である。中央領域D1はその中心が仮想スクリーンSCの中心Pに位置する四角形状の領域である。なお、外周領域D2の辺H1側の幅及び辺H2側の幅は同じ値にしてもよいし、異なる値にしてもよい。また、外周領域D2の幅は、画角θに関わらず一定にしてもよいし、画角θに応じて変化させてもよい。また、中央領域D1として四角形状を採用したが、これに限定されず、円形や、楕円形等の形状を採用してもよい。
図4(A)は、画角θが増大されたときの仮想スクリーンSCを示した図であり、図4(B)は画角θが増大されたときに生成された投影画像データを示した図である。
上述したように、投影画像生成部25は、仮想スクリーンSCの面積が一定の値になるように仮想スクリーンSCを設定する。したがって、画角θが増大されると、図4(A)に示すように仮想スクリーンSCは仮想カメラCM側に寄る。よって、図4(B)の投影画像データのキャラクタCAのサイズは、図4(A)の投影画像のキャラクタCAのサイズよりも小さくなっている。
ここで、図4(B)に示すように画角θを増大させると、キャラクタCAが小さく表示されるため、画像の迫力が欠け、プレーヤの興味が減退する虞がある。そこで、画角設定部24は、画角θを増大させてから所定期間が経過するまでの間、継続的に移動推定位置Qの仮想スクリーンSCへの投影点Rが中央領域D1内に位置していることを条件として、画角θを減少させる処理を実行する。これにより、再度、キャラクタCAが大きく表示され、迫力のある画像演出を行うことができる。
ここで、所定期間が経過するまでという条件を設けているのは、以下の理由による。すなわち、仮に図4(B)の画面となって、すぐに画角θを減少させた場合、また、キャラクタCAが急に動くと、再び、画角θを増大させることとなる。その結果、短い時間の間にカメラの画角θの増大、縮小が繰り返され、見づらい画面になってしまうためである。
なお、画角設定部24は、画角θを減少する処理を開始すると、フレーム毎に一定の変化量で画角θを減少させてもよいし、画角θを減少する処理を開始してからの時間が経過するにつれて画角θの変化量が増大するように画角θを減少させてもよい。そして、画角設定部24は、中央領域D1内に位置する投影点Rから外周領域D2の内周INまでの距離が一定の値以下になると、画角θを減少する処理を終了させればよい。投影点Rが中央領域D1の端ぎりぎりになるまで画角θを減少させると、直ぐに投影点Rが外周領域D2に侵入する虞がある。そうすると、再度、画角θを増大する処理が開始され、画角θを増大する処理が頻発し、処理負担が増大する。そこで、一定の値としては、投影点Rが直ぐに外周領域D2に侵入しないように、一定の余裕を見越した値を採用することが好ましい。
キャラクタ情報記憶部30は、例えば、ハードディスク、RAM、又はROM等の記憶装置により構成され、キャラクタCAを描画する上で必要となるデータを記憶している。本実施の形態では、キャラクタ情報記憶部30は、例えば、キャラクタCAのボーンBN、ノードNDに関するデータ、表皮SKに関するデータ、デモモードにおけるキャラクタCAの移動パターン等を記憶している。
表示部40は、家庭用のテレビや、ゲーム装置が備えるディスプレイにより構成され、投影画像生成部25により生成された投影画像データが所定のフレームレートで表示する。
次に、視線設定部23の視線設定処理について具体的に説明する。図5(A)は、前フレームにおいて、仮想スクリーンSCを真上から見たときの仮想3次元空間の図である。図5(B)は図5(A)に対応する仮想スクリーンSCを正面から見た図である。図6(A)は、現フレームにおいて、仮想スクリーンSCを真上から見たときの仮想3次元空間の図である。図6(B)は、図6(A)に対応する仮想スクリーンSCを正面から見た図である。なお、図5(B)、図6(B)では説明の便宜上、視線ずれベクトルV1は水平面SFと平行であるとしている。
視線設定部23は、各フレームにおいて、仮想スクリーンSCの中心Pを起点とし、移動推定位置Qの仮想スクリーンへの投影点Rを終点とする視線ずれベクトルV1を求める。そして、視線設定部23は、現フレームの視線ずれベクトルV1(i)が前フレームの視線ずれベクトルV1(i−1)よりも大きい場合、現フレームから次フレームへの視線LEの移動量が前フレームから現フレームへの視線LEの移動量よりも大きくなるように次フレームの視線LEを設定する。
また、視線設定部23は、現フレームの視線ずれベクトルV1(i)が前フレームの視線ずれベクトルV1(i−1)よりも小さい場合、現フレームから次フレームへの視線LEの移動量が前フレームから現フレームへの視線LEの移動量よりも小さくなるように次フレームの視線LEを設定する。
更に、視線設定部23は、現フレームの視線ずれベクトルV1(i)が前フレームの視線ずれベクトルV1(i−1)と等しい場合、現フレームから次フレームへの視線LEの移動量が前フレームから現フレームへの視線LEの移動量と同じになるように次フレームの視線LEを設定する。
図7(A)、(B)は次フレームの視線LE(i+1)が設定される様子を示した図であり、(A)は仮想スクリーンSRを真上から見た図であり、(B)は仮想スクリーンSRを正面から見た図である。
視線設定部23は、図7(B)に示すように、現フレームで求めた視線ずれベクトルV1(i)から、前フレームで求めた視線ずれベクトルV1(i−1)を差し引くことで差分ベクトルΔV1(i)を求める。ここで、視線ずれベクトルV1(i)は仮想スクリーンSCの中心P(i)を始点とし、仮想スクリーンSC上に設定される2次元ベクトルである。したがって、差分ベクトルΔV1(i)も2次元ベクトルとなる。
そして、視線設定部23は、差分ベクトルΔV1(i)と同じ向きを持ち、かつ、差分ベクトルの大きさに応じた値を持つベクトルを現フレームの視線の加速度ベクトルα(i)として設定する。つまり、加速度ベクトルα(i)は、α(i)=k・ΔV1の関係を持つ。但し、kは係数であり、例えば0<k≦1である。なお、これは一例であり、k>1の任意の数を採用してもよい。
そして、視線設定部23は、図7(A)に示すように、設定した現フレームの加速度ベクトルα(i)を、前フレームの視線LE(i−1)の視線速度ベクトルV2(i−1)に加え、現フレームの視線速度ベクトルV2(i)を求める。
(V2(i)=V2(i−1)+α(i))
ここで、視線速度ベクトルV2(i)は、例えば、仮想スクリーンSR(i)の中心P(i)を始点とし、視線LE(i)と直交する面上に現れる2次元ベクトルである。
そして、視線設定部23は、現フレームの視線速度ベクトルV2(i)を仮想カメラCMと中心P(i)との距離r(i)で割り、現フレームの視線角速度ω(i)(=V2(i)/r(i))を求める。
そして、視線設定部23は、現フレームの視線角速度ω(i)にフレーム周期Tを乗じ、現フレームから次フレームへの視線移動量φ(i)を求める。そして、視線設定部23は、現フレームの視線LE(i)を仮想カメラCMを中心に視線移動量φ(i)で規定される角度だけ移動させ、次フレームの視線LE(i+1)を設定する。
図7(A)の例では、キャラクタCAの速度が漸次に増大しているケースを想定しているため、V1(i)>V1(i−1)となる。そのため、差分ベクトルΔV1はV1(i)と同じ方向に向き、V2(i)は加速される。これにより、被写体の移動速度が漸次に増加している場合、それに伴って視線の速度を漸次に増大させる実際のカメラマンのカメラワークをシミュレートすることができる。
一方、キャラクタCAの移動速度が漸次に減少する場合、図8に示すように、視線ずれベクトルV1(i)が視線ずれベクトルV1(i−1)よりも小さくなる。この場合、差分ベクトルΔV1(i)は現フレームの視線ずれベクトルV1(i)に対して反対側を向き、視線速度ベクトルV2(i)は減速される。これにより、被写体の移動速度が漸次に減少している場合、それに伴って視線の速度を漸次に減少させる実際のカメラマンのカメラワークをシミュレートすることができる。
本実施の形態では、キャラクタCAは移動中に場合、鼻の高さを変えるような姿勢を取らないものとしている。したがって、基本的には視線ずれベクトルV1(i)、V(i−1)は平行になる。しかしながら、本発明を一般化すると、視線ずれベクトルV1(i)、V(i−1)が図9の関係を持つようなケースも考えられる。
この場合も、差分ベクトルΔV1(i)に応じた加速度ベクトルα(i)を求め、視線LEを移動させればよい。この場合、視線LEは差分ベクトルΔV1(i)の方向に加速されることになる。
図10は、キャラクタCAの移動速度が増大している場合において、仮想スクリーンSCの中心Pと移動推定位置Qの仮想スクリーンSCへの投影点Rとの関係について説明した図である。
まず、iフレームにおいて、キャラクタCAは右側に移動しており、投影点R(i)は中心P(i)よりも右側に位置しているため、視線ずれベクトルV1(i)は右側を向いている。
i+1フレームにおいて、中心P(i+1)は視線移動量φ(i)にしたがって、中心P(i)よりも右側にずらされて設定されている。
また、i+1フレームにおいて、キャラクタCAは移動速度を速めたため、視線ずれベクトルV1(i+1)は、視線ずれベクトルV1(i)よりも右側に向けて増大している。
差分ベクトルΔV1(i+1)は、V1(i+1)−V(i)であるため、向きが右側で大きさが差分ベクトルΔV(i)よりも増大する。
加速度ベクトルα(i+1)は、α(i+1)=k・ΔV1(i+1)であるため、向きが右側で大きさが加速度ベクトルα(i)よりも増大する。
視線速度ベクトルV2(i+1)は、V2(i+1)=α(i+1)+V2(i)であるため、V2(i)よりも、右側に向けて増大する。視線移動量φ(i+1)は、φ(i+1)=V2(i+1)/r(i+1)であるため、φ(i)よりも増大する。
よって、中心P(i+2)は、φ(i+1)に従って、中心P(i+1)よりも右側に設定される。
i+2フレームにおいて、キャラクタCAは更に移動速度を速めたため、視線ずれベクトルV1(i+2)は視線ずれベクトルV1(i+1)よりも右側に向けて更に増大している。
差分ベクトルΔV1(i+2)は、ΔV1(i+2)=V1(i+2)−V1(i+1)であるため、ΔV1(i+1)よりも右側に向けて更に増大する。
加速度ベクトルα(i+2)は、α(i+2)=k・ΔV1(i+2)であるため、α(i+1)よりも増大する。視線速度ベクトルV2(i+2)は、V2(i+2)=α(i+2)+V2(i+1)であるため、V2(i+1)よりも増大する。視線移動量φ(i+2)は、V2(i+2)/r(i+2)であるため、φ(i+1)よりも増大する。よって、中心P(i+3)は、φ(i+2)に従って、中心P(i+2)よりも右側に設定される。
以後、フレームが増大するにつれてキャラクタCAは移動速度を速めているため、差分ベクトルΔV1が漸次に増大し、その増大に伴って加速度ベクトルαが漸次に増大し、視線速度ベクトルV2が漸次に増大し、視線移動量φが右側に向けて漸次に増大するように中心Pが設定されていく。
図11は、キャラクタCAの移動速度が減少している場合において、仮想スクリーンSCの中心Pと移動推定位置Qの仮想スクリーンSCへの投影点Rとの関係について説明した図である。
まず、iフレームにおいて、キャラクタCAは右方向に移動しており、キャラクタCAは中心P(i)よりも右側に位置しているため、視線ずれベクトルV1(i)は右方向を向いている。
i+1フレームにおいて、中心P(i+1)は視線移動量φ(i)にしがたって、中心P(i)よりも右側にずらされて設定されている。
また、i+1フレームにおいて、キャラクタCAは移動速度を下げたため、視線ずれベクトルV1(i+1)は向きが右側で大きさが視線ずれベクトルV1(i)よりも減少している。
差分ベクトルΔV1(i+1)は、V1(i+1)−V1(i)であるため、向きが左側で大きさが差分ベクトルΔV1(i)よりも減少する。
加速度ベクトルα(i+1)は、α(i+1)=k・ΔV1(i+1)であるため、向きが左側で大きさが加速度ベクトルα(i)よりも減少する。
視線速度ベクトルV2(i+1)は、V2(i+1)=α(i+1)+V2(i)であるため、V2(i)よりも減少する。視線移動量φ(i+1)は、φ(i+1)=V2(i+1)/r(i+1)であるため、φ(i)よりも減少する。よって、中心P(i+2)は、φ(i+1)に従って、中心P(i+1)よりも右側に設定される。
i+2フレームにおいて、キャラクタCAは更に移動速度を低下させたため、視線ずれベクトルV1(i+2)は、視線ずれベクトルV1(i+1)よりも右側に向けて更に減少している。
差分ベクトルΔV1(i+2)は、ΔV1(i+2)=V1(i+2)−V1(i+1)であるため、向きが左側であり、大きさがΔV1(i+1)よりも減少する。
加速度ベクトルα(i+2)は、α(i+2)=k・ΔV1(i+2)であるため、向きが左側で、大きさがα(i+1)よりも減少する。
視線速度ベクトルV2(i+2)は、V2(i+2)=α(i+2)+V2(i+1)であるため、V2(i+1)よりも減少する。
視線移動量φ(i+2)は、φ(i+2)=V2(i+2)/r(i+2)であるため、視線移動量φ(i+1)よりも減少する。よって、中心P(i+3)は、φ(i+2)に従って中心P(i+2)より右側に設定される。
以後、フレームが増大するにつれてキャラクタCAは移動速度を低下させているため、差分ベクトルΔV1は左側に向けて漸次に減少し、その減少に伴って加速度ベクトルαも左側に向けて漸次に減少し、その減少に伴って視線速度ベクトルV2が漸次に減少し、視線移動量φが漸次に減少するように中心Pが設定されていく。
なお、視線LEの追従中にキャラクタCAが停止した場合、差分ベクトルΔV1はキャラクタCAの移動速度に対して逆向きを維持するため、視線LEがキャラクタCAに追いつく前に、視線LEがキャラクタCAから離れる方向に移動を開始する虞がある。
そこで、視線設定部23は、キャラクタCAが停止し、かつ、視線速度ベクトルV2が規定値以下となった場合、現在の視線速度ベクトルV2で視線LEを変化させ、キャラクタCAと交差する位置で視線LEを停止させればよい。
図12は、キャラクタCAが停止している場合の仮想スクリーンSRの中心Pと移動推定位置Qの仮想スクリーンSRへの投影点Rとの関係を示した図である。
iフレームにおいて、視線LEは右側に移動しており、キャラクタCAが停止した。i+1フレームにおいて、差分ベクトルΔV1(i+1)は、ΔV1(i+1)=V1(i+1)−V1(i)から得られ、加速度ベクトルα(i+1)は、α(i+1)=k・ΔV1(i+1)から得られ、視線速度ベクトルV2(i+1)は、V2(i+1)=α(i+1)+V2(i)から得られる。
そして、視線速度ベクトルV2(i+1)が規定値以下となり、視線移動量φ(i+1)が規定値以下となった。そうすると、視線設定部23は、視線移動量φ(i+1)を、算出したφ(i+1)ではなく、前フレームの視線移動量φ(i)に設定して中心P(i+2)を設定する。
i+2フレームでも、i+1フレームと同様にして視線速度ベクトルV2(i+2)が算出される。そして、視線速度ベクトルV2(i+2)が規定値以下であり、視線移動量φ(i+2)も規定値以下であった。そうすると、視線設定部23は、視線移動量φ(i+2)を、算出したφ(i+2)ではなく、前フレームの視線移動量φ(i+1)=φ(i)に設定して中心P(i+3)を設定する。
ここで、中心P(i+3)を中心P(i+2)からφ(i+2)だけ右側にずらすと、視線LEがキャラクタCAを通り超してしまう。そこで、視線設定部23は、中心P(i+3)が投影点R(i+3)を通り超えると、中心P(i+3)ではなく、投影点R(i+3)上に中心P´(i+3)を設定する。これにより、停止してきるキャラクタCAに視線LEを確実に追従させることができる。
このように、視線設定部23は、視線LEがキャラクタCAに到達する、つまり、中心Pが投影点Rと一致するまで視線移動量φ(i)を維持して視線LEを右側にずらしながら設定していく。なお、キャラクタCAが停止している場合、予測移動速度PVは0となって、投影点RはキャラクタCAに位置することになるため、中心Pが投影点Rと一致すると、キャラクタCAに視線LEが設定されることになる。
実際のカメラワークにおいては、右側に移動している被写体が突然左側に移動すると、視線を右側に移動させているカメラの慣性によって、カメラマンはカメラの視線を直ぐに被写体側に向けることはできない。この場合、あるフレームでカメラの視界の中心よりも右側に位置していた被写体が次のフレームで突然、カメラの視界の左端に表示され、その後の数フレームで、被写体が急激にカメラの視界の中央に寄ってくるような映像が得られる。
これを再現するために、視線設定部23は、図13に示すように、現フレームの視線ずれベクトルV1(i)が前フレームの視線ずれベクトルV1(i−1)に対して反対側を向いた場合、視線ずれベクトルV1の大きさが規定値以下となるまで、現フレームの視線の加速度ベクトルα(i)で視線LEを移動させる。
図13の例では、右側に移動していたキャラクタCAが突然左側に移動したため、前フレームで右側を向いていた視線ずれベクトルV1が、次フレームで左側を向き、視線ずれベクトルV1(i)の向きが視線ずれベクトルV1(i−1)の向きに対して反対側を向いていることが分かる。
ここで、向きが反対側とは、例えば、視線ずれベクトルV1(i)と視線ずれベクトルV1(i−1)とのなす角度が例えば90度以上になった場合である。
図14は、右側に移動しているキャラクタCAが突然向きを変えて左側に移動を開始した場合において、仮想スクリーンSCの中心Pと移動推定位置Qの仮想スクリーンSCへの投影点Rとの関係について示した図である。
まず、iフレームにおいて、右側に移動しているキャラクタCAが突然向きを左側に変えたが、その変化に追従することができず、予測移動速度PV(i)は右側を向くと算出されたとする。そうすると、移動推定位置Q(i)がキャラクタCAに対して右側の位置に算出され、投影点R(i)は中心P(i)よりも右側に位置に算出される。そのため、視線ずれベクトルV1(i)は右側を向いている。この場合、キャラクタCAは中心P(i)よりも左側に位置しているため、キャラクタCAは投影画像データの左側に表示される。
i+1フレームにおいて、予測移動速度PV(i+1)が移動方向と同じ向きに算出され、キャラクタCAの方向の変化に追従することができたとすると、投影点R(i+1)が中心P(i+1)よりも左側の位置に算出される。ここで、投影点R(i+1)は中心P(i+1)よりも左側に位置しているため、視線ずれベクトルV1(i+1)は視線ずれベクトルV1(i)に対して向きが反対となって左側を向いている。
差分ベクトルΔV1(i+1)は、ΔV1(i+1)=V1(i+1)−V1(i)であるため、向きが左側であって、大きさが視線ずれベクトルV1(i+1)に視線ずれベクトルV1(i)を加えた値となる。
これにより、左側に向けて大きな加速度ベクトルα(i+1)が算出される。そして、右側を向いていた視線速度ベクトルV2(i)の大きさが減少し始める。しかしながら、視線速度ベクトルV2(i+1)はまだ右側を向いており、キャラクタCAの移動に追従できていないため、視線移動量φ(i+1)は中心P(i+1)から右向きに算出される。そのため、中心P(i+2)は中心P(i+1)よりも視線移動量φ(i+1)に従って右側に設定される。
i+2フレームおいて、視線ずれベクトルV1(i+2)が規定値以下となっていないため、加速度ベクトルα(i+2)は、α(i+2)=加速度ベクトルα(i+1)に設定され、加速度ベクトルα(i+1)が維持される。
そして、i+2フレームにおいて、視線速度ベクトルV2(i+2)が左側を向き、視線LEがキャラクタCAの移動に追従できたため、視線移動量φ(i+2)は中心P(i+2)に対して左側を向く。これにより、中心P(i+3)は中心P(i+2)に対して視線移動量φ(i+2)に従って左側の位置に設定される。
i+3フレームにおいて、視線ずれベクトルV1(i+3)が規定値以下になっていないため、加速度ベクトルα(i+3)は、α(i+3)=α(i+1)に設定され、加速度ベクトルα(i+1)が維持される。
そして、i+3フレームにおいて、視線速度ベクトルV2(i+3)がV2(i+2)よりも左側に向けて増大し、それに伴って視線移動量φ(i+3)が視線移動量φ(i+2)よりも左側に向けて増大している。これにより、中心P(i+4)が視線移動量φ(i+3)に従って、中心P(i+3)より左側の位置に設定される。
i+4フレームにおいて、視線ずれベクトルV1(i+4)が規定値以下となった。そのため、加速度ベクトルαの維持が解除される。但し、この解除は、i+5フレーム以降で有効となるため、i+4フレームでは、加速度ベクトルα(i+4)は、α(i+4)=α(i+1)に維持される。ここで、規定値としては、例えば、視線ずれベクトルV1の向きが反対側になったi+1フレームでの差分ベクトルΔV1(i+1)の大きさの数分の1(例えば、1/3、1/4等)の値を採用すればよい。
以後、視線設定部23は、視線ずれベクトルV1の向きが反対側になるまで、図10〜図12で示した手法を用いて視線LEを設定する。
このように、キャラクタCAが突然方向を変えた場合、差分ベクトルΔV1の大きさ及び向きを持つ加速度ベクトルαが設定され、この加速度ベクトルαにしたがって、視線LEが移動される。そのため、中心PがキャラクタCAの方向とは反対方向に少しだけ移動した後、方向変換して急速にキャラクタCAに向かっていくように視線LEを設定することができる。これにより、キャラクタCAが急に方向変換した場合において、視線LEが直ぐにキャラクタCAの近傍に設定されることを防止することができる。その結果、カメラの慣性を考慮にいれて視線LEを設定することができ、実際のカメラワークをリアルに再現することが可能となる。
図15は、図1に示すゲーム装置の処理を示すフローチャートである。まず、キャラクタ移動部21は、現フレームのキャラクタCAの移動速度VC(i)を設定し(ステップS1)、キャラクタCAを仮想3次元空間内で移動させる。
次に、位置推定部22は、現フレームより過去のフレームにおけるキャラクタCAの移動速度VC(i−1),VC(i−1),・・・を用いて、現フレームでのキャラクタの予測移動速度PV(i)を求める(ステップS2)。
次に、位置推定部22は、現フレームのキャラクタCAの位置を取得する(ステップS3)。この場合、位置推定部22は、ステップS1でキャラクタ移動部21が設定したキャラクタの移動先を現フレームのキャラクタCAの位置として取得する。
次に、位置推定部22は、式(1)を用いて現フレームの移動推定位置Q(i)を算出する(ステップS4)。次に、視線設定部23は、ステップS19の視線設定処理により設定した次フレームの視線LE(i+1)を、現フレームの視線LE(i)として設定する(ステップS5)。ここで、視線設定部23は、例えば、デフォルトの視線をキャラクタCAの位置Kに設定する。
次に、画角設定部24は、視線LE(i)を中心に現フレームの画角θ(i)を設定する(ステップS6)。ここで、画角設定部24は、まず、デフォルトの画角を画角θ(i)として設定する。また、画角設定部24は、後述するステップS12,S15で画角θ(i+1)が前フレームに対して異なる値に設定した場合、次のループのステップS6において、ステップS12,S15で次フレームに対して設定した画角θ(i+1)を画角θ(i)として設定する。一方、画角設定部24は、後述するステップS18で次フレームの画角θ(i+1)を前フレームの画角θ(i)と同じ値に設定した場合、次のループのステップS6において、θ(i+1)=θ(i)に設定する。
次に、投影画像生成部25は、図3に示すように、視線LE(i)が仮想スクリーンSCの中心に位置し、かつ、仮想スクリーンSCの面積が一定の値を持つように、現フレームの仮想スクリーンSC(i)を設定する(ステップS7)。
次に、投影画像生成部25は、仮想スクリーンSC(i)にキャラクタCAを投影変換し、投影画像データを生成する(ステップS8)。次に、投影画像生成部25は、投影画像データを表示部40に表示させる(ステップS9)。
次に、画角設定部24は、移動推定位置Q(i)の仮想スクリーンSCに投影変換し、移動推定位置Q(i)の投影点R(i)を求める(ステップS10)。次に、画角設定部24は、投影点R(i)が外周領域D2に位置するか否かを判定する(ステップS11)。そして、画角設定部24は、投影点R(i)が外周領域D2に位置すると判定した場合(ステップS11でYES)、次フレームの画角θ(i+1)が現フレームの画角θ(i)に対して所定角度増大される(ステップS12)。
一方、ステップS11で、投影点R(i)が外周領域D2に位置しておらず、中央領域D1に位置すると判定された場合(ステップS11でNO)、処理がステップS13に進められる。
ステップS13において、画角設定部24は、投影点Rが再度、中央領域D1に入ってから所定期間経過したと判定した場合(ステップS13でYES)、投影点R(i)と外周領域D2の内周INとの距離が所定距離以下になったか否かを判定する(ステップS14)。
そして、画角設定部24は、投影点R(i)と外周領域D2の内周INとの距離が所定距離以下になった場合(ステップS14でYES)、次フレームの画角θ(i+1)と現フレームの画角θ(i)とを同じ値に設定する(ステップS18)。これにより、画角θを減少する処理が終了される。
一方、画角設定部24は、投影点R(i)と外周領域D2の内周INとの距離が所定距離以下になっていない場合(ステップS14でNO)、次フレームの画角θ(i+1)を現フレームの画角θ(i)に対して所定角度減少させる(ステップS15)。
次に、画角設定部24は、減少させた画角θ(i+1)がデフォルトの画角以下である場合(ステップS16でYES)、次フレームの画角θ(i+1)をデフォルトの画角に設定する(ステップS17)。一方、減少させた画角θ(i+1)がデフォルトの画角よりも大きい場合(ステップS16でNO)、処理をステップS19に進める。
これにより、画角θがデフォルトの角度以下となることが防止され、キャラクタCAを過度に大きく表示する投影画像データが生成されることを防止することができる。
一方、ステップS13において、投影点Rが再度中央領域D1に入ってから所定期間が経過していない場合(ステップS13でNO)、次フレームの画角θ(i+1)が現フレームの画角θ(i)と同じ値に設定される(ステップS18)。つまり、次フレームの画角θ(i+1)が現フレームの画角θ(i)に維持され、次のループが開始される。
ステップS13〜S18の処理によって、投影点Rが、再度、中央領域D1に入ってから一定期間が経過すると、再度画角θを減少する処理が開始される。これにより、投影画像データにおいて、キャラクタCAが漸次に増大していき、見やすい投影画像データを生成することができる。
ステップS19において、視線設定部23は次フレームの視線LE(i+1)を設定するための視線設定処理を実行し、処理をステップS1に戻す。
図16は、視線設定処理のフローチャートである。まず、視線設定部23は、現フレームにおいて、キャラクタCAの移動速度VC(i)が0であるか否かを判定する(ステップS21)。
そして、移動速度VC(i)が0の場合において(ステップS21でYES)、前フレームで算出した視線速度ベクトルV2(i−1)が規定値以下の場合(ステップS22でYES)、視線設定部23は処理をステップS36に進め、視線速度ベクトルV2(i−1)が規定値より大きい場合(ステップS22でNO)、処理をステップS23に進める。
次に、視線設定部23は、投影点R(i)から中心P(i)を差し引き視線ずれベクトルV1(i)を算出する(ステップS23)。次に、視線設定部23は、反転フラグが0であるか否かを判定する(ステップS24)。ここで、反転フラグは、デフォルトで0が設定され、図13に示すように現フレームの視線ずれベクトルV1(i)が前フレームの視線ずれベクトルV1(i−1)に対して反対側を向いた場合に1に設定される。
反転フラグ=0の場合(ステップS24でYES)、視線設定部23は、視線ずれベクトルV1(i)が視線ずれベクトルV1(i−1)に対して反対側を向いたか否かを判定し、反対側を向いた場合(ステップS25でYES)、反転フラグ=1に設定し(ステップS27)、処理をステップS26に進める。
一方、視線ずれベクトルV1(i)が視線ずれベクトルV1(i−1)に対して反対側を向いていない場合(ステップS25でNO)、処理がステップS26に進められる。ステップS26において、視線設定部23は、現フレームの視線ずれベクトルV1(i)から前フレームの視線ずれベクトルV1(i−1)を差し引いた差分ベクトルΔV1(i)を算出する。
次に、視線設定部23は、差分ベクトルΔV1(i)と向きが同じで、差分ベクトルΔV1(i)に応じた大きさを持つ加速度ベクトルα(i)を算出する(ステップS28)。次に、視線設定部23は、前フレームの視線速度ベクトルV2(i−1)に加速度ベクトルα(i)を加え、次フレームの視線速度ベクトルV2(i)を算出する(ステップS29)。
次に、視線設定部23は、視線速度ベクトルV2(i)を仮想カメラCMと中心P(i)との距離r(i)で除し、視線角速度ω(i)を算出し、視線角速度ω(i)にフレーム周期Tを乗じ、視線移動量φ(i)を算出する(ステップS30)。次に、視線設定部23は、現フレームの視線LE(i)を、仮想カメラCMを中心として視線移動量φ(i)だけ移動させ、次フレームの視線LE(i+1)を設定する(ステップS31)。
一方、ステップS24において、反転フラグ=1の場合(ステップS24でNO)、視線設定部23は、ステップS26と同様にして差分ベクトルΔV1(i)を算出する(ステップS32)。
次に、視線設定部23は、ステップS23で算出した視線ずれベクトルV1(i)が規定値以下の場合(ステップS33でYES)、反転フラグを0に戻す(ステップS34)。一方、視線設定部23は、視線ずれベクトルV1(i)が規定値より大きい場合(ステップS33でNO)、反転フラグを1に設定したときのステップS28で算出した加速度ベクトルαで現フレームの加速度ベクトルα(i)を設定し、加速度ベクトルを維持し(ステップS35)、処理をステップS29に進める。
つまり、視線設定部23は、視線ずれベクトルV1の向きが反対側になると、反転フラグを1に設定し、視線ずれベクトルV1の大きさが規定値以下となるまで、反転フラグを1に設定したときの加速度ベクトルαを維持する。これにより、図14に示すように、キャラクタCAが突然向きを変えた場合、キャラクタCAと逆方向に視線LEを少しだけ移動させた後、移動方向を切り替えてキャラクタCAを急速に追いかけるように視線LEを設定することができる。そして、視線LEと投影点Rとの距離がある程度まで縮まると、反転フラグが0に戻されて、ステップS26〜S31に示す通常の視線設定処理が実行される。
ステップS36において、視線設定部23は、現フレームの視線速度ベクトルV2(i)を前フレームの視線速度ベクトルV2(i−1)と同じに設定し、視線速度ベクトルV2が規定値以下となったときの速度に維持する。
次に、視線設定部23は、ステップS30と同様にして視線移動量φ(i)を算出する(ステップS37)。次に、視線設定部23は、視線LE(i+1)が投影点Rを超えた場合(ステップS38でYES)、キャラクタCAの位置Kに視線LE(i+1)を設定し(ステップS39)、処理をリターンする。
一方、視線LE(i+1)がキャラクタCAの位置Kを超えなかった場合(ステップS38でNO)、視線設定部23は、ステップS37で算出した視線移動量φ(i)で視線LE(i)をずらした位置に視線LE(i+1)を設定し(ステップS31)、処理をリターンする。ステップS36〜S39により、図12に示すキャラクタCAが停止されている場合の視線設定処理が実現される。
次に、本ゲーム装置の具体例について説明する。図17〜図19は、本ゲーム装置において、実際に表示部40に表示される投影画像データを示した図である。まず、図17において、所定の画角に設定された仮想スクリーンSCに投手を模擬したキャラクタCAが投影されて投影画像データが生成され、表示部40に表示されている。ここで、キャラクタCAは停止しているため、キャラクタCAの鼻の位置に移動推定位置Qが設定されている。なお、移動推定位置Qを示すプラスの記号は説明の便宜上表示したものであり、実際には表示されない。
図18において、キャラクタCAがしゃがんだため、移動推定位置Qが中央領域D1から外周領域D2に侵入した。そのため、画角が増大する処理が開始され、図19に示すような投影画像データが生成され、表示部40に表示される。図19に示すように、移動推定位置Qが中央領域D1内に位置しており、キャラクタCAが図18に比べて画面の中央寄りに表示され、実際のカメラワークが模擬されていることが分かる。なお、説明の便宜上、図17のキャラクタCAは図18のキャラクタCAよりも大きく表示されているが、実際には同じサイズである。
このように、本ゲーム装置によれば、実際のカメラワークを模擬するように視線LEを設定し、投影画像データを生成することができる。
10 操作部
20 制御部
21 キャラクタ移動部
22 位置推定部
23 視線設定部
24 画角設定部
25 撮影画像生成部
30 キャラクタ情報記憶部
40 表示部
BN ボーン
CA キャラクタ
CM 仮想カメラ
VC 移動速度
D1 中央領域
D2 外周領域
h オフセット
K 位置
LE 視線
ND ノード
NDx ノード(基準ノード)
NP 鼻
P 中心
PV 予測移動速度
Q 移動推定位置
R 投影点
SC 仮想スクリーン
SF 水平面
SR 仮想スクリーン
V1 視線ずれベクトル
V2 視線速度ベクトル
α 加速度ベクトル
ΔV1 差分ベクトル
θ 画角
φ 視線移動量

Claims (11)

  1. 仮想3次元空間内を移動するキャラクタを所定のフレーム周期で仮想スクリーンに投影する画像処理装置であって、
    現フレームより過去のフレームにおける前記キャラクタの移動速度を用いて前記現フレームでの前記キャラクタの予測移動速度を求め、前記予測移動速度と前記現フレームでの前記キャラクタの現在位置とを用いて、前記キャラクタが1又は複数フレーム後に移動すると推定される前記仮想3次元空間内での移動推定位置を求める位置推定部と、
    前記仮想3次元空間の所定の位置に配置された仮想カメラの視線が前記移動推定位置の変化に追従するように前記次フレームの視線を設定する視線設定部と、
    前記視線設定部により設定された視線を中心として前記仮想カメラの画角を設定する画角設定部と、
    前記画角設定部により設定された画角に従って前記仮想3次元空間内に前記仮想スクリーンを設定し、設定した仮想スクリーンに前記キャラクタを投影して2次元の投影画像データを生成する投影画像生成部とを備え、
    前記画角設定部は、前記位置推定部により推定された移動推定位置の前記仮想スクリーンへの投影点が前記仮想スクリーン内の外周に設けられた所定の外周領域に位置する場合、前記投影点を前記外周領域の内側の中央領域に位置させるために前記画角を増大させる画像処理装置。
  2. 前記画角設定部は、フレーム毎に前記投影点が前記外周領域に位置するか否かを判定し、前記投影点が前記外周領域に位置すると判定した場合、前記投影点が前記中央領域に入るフレームになるまで、前記画角を漸次に増大させる請求項1記載の画像処理装置。
  3. 前記キャラクタは、前記仮想3次元空間に規定された水平面上を移動するものであり、
    前記キャラクタの位置は前記キャラクタの所定の部位の位置であり、
    前記位置推定部は、前記現フレームでの前記キャラクタの水平座標と、前記現フレームでの前記予測移動速度に1又は複数フレーム周期の時間を乗じた値との和を前記移動推定位置の水平座標として求めると共に、前記現フレームでの前記キャラクタの位置の前記水平面からの高さを示す鉛直座標を前記移動推定位置の鉛直座標として求める請求項1又は2記載の画像処理装置。
  4. 前記キャラクタは、人間を模擬したスケルトンモデルであり、
    前記スケルトンモデルは、複数のボーンと各ボーンを繋ぐノードとを含み、
    前記所定の部位は、鼻であり、
    前記位置推定部は、前記鼻の部位に最も近い所定の基準ノードからの鼻の方向を、前記スケルトンモデルの姿勢から特定し、前記基準ノードから特定した鼻の方向に向けて所定のオフセットを加えることで、前記鼻の位置を算出する請求項3記載の画像処理装置。
  5. 前記画角設定部は、前記画角を増大させてから所定期間が経過するまでの間、継続的に前記移動推定位置の前記仮想スクリーンへの投影点が前記中央領域内に位置している場合に、前記画角を減少させる請求項1〜4のいずれかに記載の画像処理装置。
  6. 前記視線設定部は、各フレームにおいて、前記仮想スクリーンの中心を起点とし、前記移動推定位置の前記仮想スクリーンへの投影点を終点とする視線ずれベクトルを求め、
    前記現フレームの視線ずれベクトルが前記前フレームの視線ずれベクトルよりも大きい場合、前記現フレームから前記次フレームへの前記視線の移動量が前記前フレームから前記現フレームへの前記視線の移動量よりも大きくなるように前記次フレームの視線を設定し、
    前記現フレームの視線ずれベクトルが前記前フレームの視線ずれベクトルよりも小さい場合、前記現フレームから前記次フレームへの前記視線の移動量が前記前フレームから前記現フレームへの前記視線の移動量よりも小さくなるように前記次フレームの視線を設定し、
    前記現フレームの視線ずれベクトルが前記前フレームの視線ずれベクトルと等しい場合、前記現フレームから前記次フレームへの前記視線の移動量が前記前フレームから前記現フレームへの前記視線の移動量と同じになるように前記次フレームの視線を設定する請求項1〜5のいずれかに記載の画像処理装置。
  7. 前記視線設定部は、前記キャラクタが停止し、かつ、前記仮想のカメラの視線の移動量が規定値以下の場合、現在の移動量で前記視線を変化させ、前記キャラクタと交差する位置で前記視線を停止させる請求項6記載の画像処理装置。
  8. 前記視線設定部は、前記現フレームで求めた視線ずれベクトルから、前記前フレームで求めた視線ずれベクトルを差し引くことで差分ベクトルを求め、前記差分ベクトルと同じ向きを持ち、かつ、前記差分ベクトルの大きさに応じた値を持つベクトルを前記現フレームの視線の加速度ベクトルとして設定し、設定した加速度ベクトルを用いて前記現フレームから前記次フレームへの視線の移動量を求める請求項6又は7記載の画像処理装置。
  9. キャラクタが向きを突然変えた場合、
    前記現フレームの視線ずれベクトルが前記前フレームの視線ずれベクトルに対して反対側を向いた場合、前記視線ずれベクトルの大きさが規定値以下のフレームになるまで、前記現フレームで求めた視線の加速度で前記視線を移動させる請求項8記載の画像処理装置。
  10. 仮想3次元空間内を移動するキャラクタを所定のフレーム周期で仮想スクリーンに投影する画像処理プログラムであって、
    現フレームより過去のフレームにおける前記キャラクタの移動速度を用いて前記現フレームでの前記キャラクタの予測移動速度を求め、前記予測移動速度と前記現フレームでの前記キャラクタの現在位置とを用いて、前記キャラクタが1又は複数フレーム後に移動すると推定される前記仮想3次元空間内での移動推定位置を求める位置推定部と、
    前記仮想3次元空間の所定の位置に配置された仮想カメラの視線が前記移動推定位置の変化に追従するように前記次フレームの視線を設定する視線設定部と、
    前記視線設定部により設定された視線を中心として前記仮想カメラの画角を設定する画角設定部と、
    前記画角設定部により設定された画角に従って前記仮想3次元空間内に前記仮想スクリーンを設定し、設定した仮想スクリーンに前記キャラクタを投影して2次元の投影画像データを生成する投影画像生成部としてコンピュータを機能させ、
    前記画角設定部は、前記位置推定部により推定された移動推定位置の前記仮想スクリーンへの投影点が前記仮想スクリーン内の外周に設けられた所定の外周領域に位置する場合、前記投影点を前記外周領域の内側の中央領域に位置させるために前記画角を増大させる画像処理プログラム。
  11. 仮想3次元空間内を移動するキャラクタを所定のフレーム周期で仮想スクリーンに投影する画像処理方法であって、
    コンピュータが、現フレームより過去のフレームにおける前記キャラクタの移動速度を用いて前記現フレームでの前記キャラクタの予測移動速度を求め、前記予測移動速度と前記現フレームでの前記キャラクタの現在位置とを用いて、前記キャラクタが1又は複数フレーム後に移動すると推定される前記仮想3次元空間内での移動推定位置を求める位置推定ステップと、
    コンピュータが、前記仮想3次元空間の所定の位置に配置された仮想カメラの視線が前記移動推定位置の変化に追従するように前記次フレームの視線を設定する視線設定ステップと、
    コンピュータが、前記視線設定ステップにより設定された視線を中心として前記仮想カメラの画角を設定する画角設定ステップと、
    コンピュータが、前記画角設定ステップにより設定された画角に従って前記仮想3次元空間内に前記仮想スクリーンを設定し、設定した仮想スクリーンに前記キャラクタを投影して2次元の投影画像データを生成する投影画像生成ステップとを備え、
    前記画角設定ステップは、前記位置推定部により推定された移動推定位置の前記仮想スクリーンへの投影点が前記仮想スクリーン内の外周に設けられた所定の外周領域に位置する場合、前記投影点を前記外周領域の内側の中央領域に位置させるために前記画角を増大させる画像処理方法。
JP2010253795A 2010-11-12 2010-11-12 画像処理装置、画像処理プログラム、及び画像処理方法 Active JP5143883B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010253795A JP5143883B2 (ja) 2010-11-12 2010-11-12 画像処理装置、画像処理プログラム、及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010253795A JP5143883B2 (ja) 2010-11-12 2010-11-12 画像処理装置、画像処理プログラム、及び画像処理方法

Publications (2)

Publication Number Publication Date
JP2012104021A JP2012104021A (ja) 2012-05-31
JP5143883B2 true JP5143883B2 (ja) 2013-02-13

Family

ID=46394309

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010253795A Active JP5143883B2 (ja) 2010-11-12 2010-11-12 画像処理装置、画像処理プログラム、及び画像処理方法

Country Status (1)

Country Link
JP (1) JP5143883B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6173666B2 (ja) * 2012-09-19 2017-08-02 株式会社バンダイナムコエンターテインメント プログラムおよびゲーム装置
KR101529388B1 (ko) * 2013-08-20 2015-06-17 주식회사 엔씨소프트 시점고정형 3d 게임에서의 데드 스페이스 제거 방법 및 장치
JP6074525B1 (ja) * 2016-02-12 2017-02-01 株式会社コロプラ 仮想空間における視界領域調整方法、およびプログラム
EP3596617A1 (en) * 2017-03-17 2020-01-22 Unity IPR APS Method and system for automated camera collision and composition preservation
JP6916896B2 (ja) * 2017-11-16 2021-08-11 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および画像生成方法
CN111246095B (zh) * 2020-01-17 2021-04-27 腾讯科技(深圳)有限公司 控制镜头运动的方法、装置、设备及存储介质
WO2023162800A1 (ja) * 2022-02-28 2023-08-31 ソニーグループ株式会社 映像処理装置および映像処理方法、並びにプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3549332B2 (ja) * 1996-05-24 2004-08-04 日本放送協会 自動撮影カメラシステム
JP4535604B2 (ja) * 2000-11-28 2010-09-01 株式会社バンダイナムコゲームス ゲームシステム及びプログラム
JP2010154013A (ja) * 2008-12-24 2010-07-08 Nec Corp カメラ、被写体捕捉方法およびプログラム

Also Published As

Publication number Publication date
JP2012104021A (ja) 2012-05-31

Similar Documents

Publication Publication Date Title
JP5143883B2 (ja) 画像処理装置、画像処理プログラム、及び画像処理方法
CN105354820B (zh) 调整虚拟现实图像的方法及装置
US10496158B2 (en) Image generation device, image generation method and non-transitory recording medium storing image generation program
JP5148652B2 (ja) プログラム、情報記憶媒体及び画像生成システム
US20230334744A1 (en) Method and apparatus for generating walk animation of virtual role, device and storage medium
JP2005295004A (ja) 立体画像処理方法および立体画像処理装置
JP2011258160A (ja) プログラム、情報記憶媒体及び画像生成システム
JP2007300974A (ja) プログラム、情報記憶媒体及び画像生成システム
JP7399503B2 (ja) 運動用設備
US20050075557A1 (en) Method for drawing three-dimensional image by modeling second object connected to first object
JP2018533317A (ja) 仮想現実映像伝送方法、再生方法、及びこれらを用いたプログラム
Rusdorf et al. Real-time interaction with a humanoid avatar in an immersive table tennis simulation
JP2012181616A (ja) プログラム、情報記憶媒体、ゲーム装置及びサーバシステム
JP6915165B2 (ja) ビュー画像を生成するための装置および方法
JP5367954B2 (ja) ゲームプログラム、ゲーム装置及び記憶媒体
JP2006061717A (ja) ゲーム画像の表示制御プログラム及びゲーム装置並びに記憶媒体
JP2001028064A (ja) ゲーム機における画像処理方法及び当該方法を実行可能なプログラムを記憶した記憶部
JP2020184150A (ja) 情報処理装置、情報処理方法、及びプログラム
JP7492199B2 (ja) ゲーム装置及びプログラム
US11423516B2 (en) Gaze enhanced natural motion blur
JP7370198B2 (ja) 処理システム、情報処理装置、プログラム及び処理方法
Xu et al. Tennis space: an interactive and immersive environment for tennis simulation
Garcia et al. Modifying a game interface to take advantage of advanced I/O devices
JP2020174329A (ja) 情報処理装置、表示方法およびコンピュータプログラム
US20240078767A1 (en) Information processing apparatus and information processing method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121120

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121121

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151130

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5143883

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250