(58)【調査した分野】(Int.Cl.,DB名)
操作部と、変位を検出するセンサを備えるヘッドマウントディスプレイとに接続されるコンピュータを、前記ヘッドマウントディスプレイに仮想空間を提供するように機能させるプログラムであって、
少なくとも前記操作部又は前記センサを介した操作情報に応じて、前記仮想空間内に配置された仮想カメラを制御する仮想カメラ制御部、
前記仮想カメラに設定された視線軸及び当該視線軸の周囲を含むカメラ領域の情報を前記ヘッドマウントディスプレイに表示する表示制御部、
前記仮想空間内に配置されたオブジェクトを制御するオブジェクト制御部、
前記仮想カメラと、前記仮想空間内に配置されたオブジェクトのうち、ユーザの操作によらず前記オブジェクト制御部によって動きが制御されるオブジェクトとの位置関係が所定条件を満たすか否かを判定する判定部、
として機能させるプログラムにおいて、
前記オブジェクト制御部は、前記所定条件を満たすと判定された場合、前記オブジェクトが前記仮想カメラへの方向とは異なる方向に移動していても、前記オブジェクトの一部を構成する所定の部位が前記仮想カメラの方向を向くように前記オブジェクトの動作を制御する、
プログラム。
操作部と、変位を検出するセンサを備えるヘッドマウントディスプレイとに接続されるコンピュータを、前記ヘッドマウントディスプレイに仮想空間を提供するように機能させるプログラムであって、
少なくとも前記操作部又は前記センサを介した操作情報に応じて、前記仮想空間内に配置された仮想カメラを制御する仮想カメラ制御部、
前記仮想カメラに設定されたカメラ領域の情報を前記ヘッドマウントディスプレイに表示する表示制御部、
前記仮想空間内に配置された人形オブジェクトをユーザの操作によらず制御するオブジェクト制御部、
前記仮想カメラと前記人形オブジェクトとの位置関係が所定距離以下であるか否かを判定する判定部、
として機能させるプログラムにおいて、
前記オブジェクト制御部は、前記位置関係が所定距離以下であると判定された場合、前記人形オブジェクトが前記仮想カメラへの方向とは異なる方向に移動していても、前記人形オブジェクトの一部を構成する顔部分が前記仮想カメラの方向を向き続けるように前記人形オブジェクトの姿態を制御する、
プログラム。
【発明を実施するための形態】
【0010】
[本発明の実施形態の説明]
最初に、本発明の実施形態の内容を列記して説明する。本発明の一実施形態によるヘッドマウントディスプレイを制御するプログラム、システム、及び方法は、以下のような構成を備える。
(項目1)
操作部と、変位を検出するセンサを備えるヘッドマウントディスプレイとに接続されるコンピュータを、前記ヘッドマウントディスプレイに仮想空間を提供するように機能させるプログラムであって、
少なくとも前記操作部又は前記センサを介した操作情報に応じて、前記仮想空間内に配置された仮想カメラを制御する仮想カメラ制御部、
前記仮想カメラに設定された視線軸及び当該視線軸の周囲を含むカメラ領域の情報を前記ヘッドマウントディスプレイに表示する表示制御部、
前記仮想空間内に配置されたオブジェクトを制御するオブジェクト制御部、
前記仮想カメラと前記オブジェクトとの位置関係が所定条件を満たすか否かを判定する判定部、
として機能させるプログラムにおいて、
前記オブジェクト制御部は、前記所定条件を満たすと判定された場合に、前記オブジェクトの所定の部位が前記仮想カメラの前記視線軸と直交するように前記オブジェクトの動作を制御する、
プログラム。
本発明によれば、ユーザが近寄った時にオブジェクトが振り向くような動作が可能となり、より自然な表現を提供できる。
(項目2)
項目1に記載のプログラムであって、
前記オブジェクト制御部は、更に、前記オブジェクトを所定方向に向けて移動するように制御する、
プログラム。
本発明によれば、ユーザが近寄った時にオブジェクトが振り向くような動作が可能となり、より自然な表現を提供できる。
(項目3)
項目2に記載のプログラムであって、
前記オブジェクト制御部は、前記オブジェクトの前記移動が行われている間であって且つ前記所定条件を満たすと判定された場合に、前記オブジェクトの所定の部位が、前記仮想カメラの前記視線軸と直交し続けるように前記オブジェクトの動作を制御する、
プログラム。
本発明によれば、オブジェクトが移動するようなときであっても、ユーザを注視し続ける動作が可能になるため、より自然な表現を提供できる。
(項目4)
請求項2又は請求項3に記載のプログラムであって、
前記オブジェクト制御部は、前記オブジェクトの前記移動が行われている間であって且つ前記所定条件を満たすと判定され更に前記仮想カメラが移動された場合に、前記オブジェクトの所定の部位が、移動された前記仮想カメラの前記視線軸と直交し続けるように前記オブジェクトの動作を制御する、
プログラム。
本発明によれば、オブジェクトが移動するようなときであっても、ユーザを注視し続ける動作が可能になるため、より自然な表現を提供できる。
(項目5)
項目1乃至項目4のいずれかに記載のプログラムであって、
前記位置関係は、前記仮想カメラと前記オブジェクトとの直線距離である、
プログラム。
本発明によれば、簡単な検知方法で、自然な表現を提供できる。
(項目6)
操作部と、変位を検出するセンサを備えるヘッドマウントディスプレイとに接続されるコンピュータを、前記ヘッドマウントディスプレイに仮想空間を提供するように機能させるプログラムであって、
少なくとも前記操作部又は前記センサを介した操作情報に応じて、前記仮想空間内に配置された仮想カメラを制御する仮想カメラ制御部、
前記仮想カメラに設定されたカメラ領域の情報を前記ヘッドマウントディスプレイに表示する表示制御部、
前記仮想空間内に配置された人形オブジェクトを制御するオブジェクト制御部、
前記仮想カメラと前記人形オブジェクトとの位置関係が所定距離以下であるか否かを判定する判定部、
として機能させるプログラムにおいて、
前記オブジェクト制御部は、前記位置関係が所定距離以下であると判定された場合に、前記人形オブジェクトの顔部分が前記仮想カメラの方向に向き続けるように前記オブジェクトの姿態を制御する、
プログラム。
本発明によれば、ユーザが近寄った時にオブジェクトが振り向くような動作が可能となり、より自然な表現を提供できる。
【0011】
[本発明の実施形態の詳細]
本発明の実施形態に係るヘッドマウントディスプレイを制御するプログラム、システム、及び方法の具体例を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【0012】
図1は、本実施形態にかかるヘッドマウントディスプレイ(以下、「HMD」と称する。)110を備えるHMDシステム100を示す。HMDシステム100は、ユーザの頭部に装着されるHMD110と、制御回路部120と、センサ130と、外部コントローラ140を備える。HMD110は、非透過型の表示装置であるディスプレイ112と、センサ部114を含む。制御回路部120はディスプレイ112に右目用画像と左目用画像を表示することにより、両目の視差を利用した3次元画像を仮想空間として提供する。ディスプレイ112がユーザの眼前に配置されることによって、ユーザは仮想空間に没入できる。仮想空間は、後述するように、背景やユーザが操作可能な各種オブジェクトを含む。
【0013】
ディスプレイ112は、右目用画像を提供する右目用サブディスプレイと、左目用画像を提供する左目用サブディスプレイを含んでもよい。また、右目用画像と左目用画像を提供できれば、1つの表示装置で構成されていても良い。例えば、表示画像が一方の目にしか認識できないようにするシャッターを高速に切り替えることにより、右目用画像と左目用画像を独立して提供し得る。
【0014】
制御回路部120は、HMD110に接続されるコンピュータであり、ディスプレイ112に仮想空間を提供し、当該仮想空間内に表示される各種オブジェクトを操作するように機能させる。制御回路部120はそのような動作を制御するプログラムを格納する。制御回路部120はHMD110に搭載されていなくてもよく、別のハードウェア(例えば公知のパーソナルコンピュータ、ネットワークを通じたサーバ・コンピュータ)として構成してもよい。また、制御回路部120は、一部の機能のみをHMD110に実装し、残りの機能を別のハードウェアに実装してもよい。
【0015】
センサ130は、HMD110の位置や動きに関する情報を検出する。センサ130は、センサ部114と、検知部132を含む。センサ部114は、複数の光源を含んでもよい。光源は、例えば赤外線を発するLEDである。検知部132は例えば赤外線センサであり、光源からの赤外線をHMD110の検知点として検知することで、ユーザの動きに応じたHMD110の実空間内における角度に関する情報を経時的に検出する。そして、検知部132により検出された情報の経時的変化に基づいて、HMD110の角度の時間変化を決定し、HMD110の位置や動きに関する情報を検知することができる。
【0016】
センサ130によって取得される角度に関する情報を、
図2を参照して説明する。HMD110を装着したユーザの頭部を中心として、XYZ座標を規定する。ユーザが直立する垂直方向をY軸とし、Y軸と直交しディスプレイ112の中心とユーザを結ぶ前後方向をZ軸とし、Y軸およびZ軸と直交する横方向をX軸とする。そして各軸周りのHMD110の傾き角度θx(いわゆるピッチ角),θy(いわゆるヨー角),θz(いわゆるロール角)を検出し、それらの経時的な変化により、HMD110の位置や動きに関する情報を検知することができる。
【0017】
センサ130は、ディスプレイ112の近くに固定されたセンサ部114と、検知部132の、一方のみから構成されてもよい。センサ部114が、地磁気センサ、加速度センサ、角速度(ジャイロ)センサであってもよく、これらの少なくとも1つを用いて、ユーザの頭部に装着されたHMD110(特に、ディスプレイ112)の傾きを検出する。これにより、HMD110の位置や動きに関する情報を検出することができる。例えば、角速度センサは、HMD110の動きに応じて、HMD110の3軸回りの角速度を経時的に検出し、各軸回りの角度(傾き)の時間変化を決定することができる。この場合には、検知部132は不要である。また、検知部132は光学カメラを含んで構成されても良い。この場合には、画像情報に基づいてHMD110の位置や動きに関する情報を検出することができ、センサ部114は不要である。
【0018】
センサ130を用いてHMDの位置や動きに関する情報を検出する機能をポジション・トラッキングと称する。センサ130によるポジション・トラッキングと、仮想空間2内に配置される仮想カメラ1との関係を図
3,図
4を参照して説明する。仮想カメラ1とセンサ130の位置関係を説明するために、以下ではセンサ130の位置は、検知部132を有する場合には検知部132の位置とし、検知部132を有しない場合にはセンサ部114の位置とする。図
3は実空間内のセンサ130と仮想空間2の関係を示す3次元の模式図であり、図
4は実空間内のセンサ130と仮想空間2の関係をY方向から見た平面図である。仮想空間2の内部に仮想カメラ1が配置され、および仮想空間2の外部(実空間)にセンサ130が仮想的に配置される。
【0019】
仮想空間2は、略正方形または略長方形の複数のメッシュ3を有する天球状に形成される。各メッシュは仮想空間2の空間情報が関連付けられており、この空間情報に基づいて後述する視界画像が形成される。本実施形態では、図
4に示すように、XZ面において、天球の中心点21が仮想カメラ1とセンサ130を結ぶ線上に常に配置されるように調整することが好ましい。例えば、HMDを装着したユーザが移動して仮想カメラ1の位置がX方向に移動した場合には、中心21が仮想カメラ1とセンサ130の線分上に位置するように、仮想空間2の領域が変更される。
【0020】
外部コントローラ140は、制御回路部120に対して各種指令を送ることができるように通信可能なデバイスであり、無線通信が可能な携帯端末で構成されることが好ましい。外部コントローラ140は、互いにバス接続されたCPU、主記憶、補助記憶、送受信部、表示部、および入力部を備える任意の携帯型デバイスとすることができる。例えば、スマートフォン、PDA、タブレット型コンピュータ、ゲーム用コンソール、ノートPCを適用可能であり、タッチパネルを備える携帯端末であることが好ましい。ユーザは、外部コントローラ140のタッチパネルに対し、タップ、スワイプおよびホールドを含む各種タッチ動作を実施することにより、仮想空間に表示されるオブジェクトに対して影響を及ぼすことができる。
【0021】
HMDシステム100はいずれかの要素にマイクを含むヘッドホンを備えていても良い。これにより、ユーザは仮想空間内の所定のオブジェクト(後述するゲームオブジェクト等)に、音声による指示を与えることができる。また、仮想空間内の仮想テレビにテレビ番組の放送を受信するために、HMDシステム100はいずれかの要素にテレビジョン受像機を含んでいても良い。
【0022】
図
5は、HMDシステム100における仮想空間2の表示処理や、当該仮想空間2内に
表示されるオブジェクトの操作を実現するための、制御回路部120の機能を示す図であ
る。制御回路部120は、主にセンサ130および外部コントローラ140からの入力に
基づいて、ディスプレイ112への出力画像を制御する。
【0023】
制御回路部120は、表示制御部200とオブジェクト制御部300と、判定部400を備える。表示制御部200は、動き検出部210と、視界決定部220と、視界画像生成部230と、空間情報格納部240を含む。オブジェクト制御部300は、オブジェクト情報格納部310と、仮想カメラ情報格納部320を含む。センサ130と、表示制御部200と、オブジェクト制御部300と、ディスプレイ112は互いに通信可能に接続されており、有線または無線の通信インターフェースを介して接続され得る。外部コントローラ140は、オブジェクト制御部300と通信可能に接続されている。空間情報格納部240、オブジェクト情報格納部310、および仮想カメラ情報格納部320は、センサ130や外部コントローラ140からの入力に対応した出力情報をディスプレイ112へ提供するための各種テーブルを含む。判定部400は、センサ130や外部コントローラ140からの入力が所定の条件を満たし、各種オブジェクトが所定の条件を満たすように操作されたか否かを判定する。
【0024】
センサ130は、センサ部114により経時的に検知される角度情報や、検知部132により経時的に検知されるHMD110の角度情報に基づいて、HMD110の位置や動きに関する情報を、表示制御部200およびオブジェクト制御部300に出力する。動き検知部210は、センサ130からの入力情報に基づいて、HMD110の動きを検出する。そして、仮想空間2内におけるHMD110の向きを規定する基準視線となる視野方向を検出する。そして、検出した情報を視界決定部220に出力する。
【0025】
視界決定部220は、空間情報格納部240に格納された仮想空間情報と、センサ130からの入力情報(動き検知部210からの情報)に基づいて、仮想空間2における仮想カメラ1の視界領域に関する情報を決定する。視界画像生成部230は、当該視界情報に基づいて、仮想空間を構成する360度パノラマの一部を、視界画像として生成する。視界画像はディスプレイ112に出力される。視界画像は左目用と右目用の2つの2次元画像を含み、これらがディスプレイ112に重畳されることにより、3次元画像としての仮想空間2がユーザに提供される。
【0026】
オブジェクト制御部300では、オブジェクト情報格納部310に格納された仮想空間内のオブジェクト情報と、センサ130および外部コントローラ140からのユーザ指令に基づいて、操作対象オブジェクトを特定する。そして、操作対象オブジェクトへの所定のユーザ操作指令に基づいて、仮想カメラ情報格納部320に格納された仮想カメラ情報を調整する。調整された仮想カメラ情報を表示制御部200に出力し、視界画像が調整される。また、所定のユーザ操作指令に対応する操作を操作対象オブジェクトへ実施し、オブジェクト制御情報をディスプレイ112および表示制御部200に出力する。オブジェクト操作の具体的な処理は後述する。
【0027】
なお、制御回路部120の各機能を実現するためのハードウェア要素は、CPU、メモリ、その他の集積回路で構成することができる。そして、メモリにロードされたソフトウェア要素としての各種プログラムによって各機能が実現される。したがって、これらの機能ブロックがハードウェア、ソフトウェア、又はそれらの組み合わせによって実現できることが当業者に理解される。
【0028】
図
6〜
図8を参照して、視界決定部220で決定される、仮想空間2の天球面に沿った視界領域6について説明する。図
6は、視界領域6を示す3次元の模式図であり、図
7は視界領域6をX方向から見たYZ面図であり、図
8は視界領域6をY方向から見たXZ面図である。図
6に示すように、視界領域6は仮想空間2の一部を構成する。視界領域6は視界方向5に基づいて定められ、視界方向5は仮想カメラ1の位置および方向に基づいて定められる。視界領域6は、仮想空間2と視界方向5との交点におけるX軸まわりの所定範囲である第1領域61と、仮想空間2と視界方向5との交点におけるY軸まわりの所定範囲である第2視界領域62とを有する。第1領域61は、視界方向5を中心として極角αを含む範囲として設定される。第2領域62は、視界方向5を中心として方位角βを含む範囲として設定される。つまり、視界領域6は、仮想カメラ1の位置からの視界方向5に対して、XY平面図における極角θおよびXZ平面図における方位角βを有した球面上の領域とすることができる。
【0029】
図
9、図
10を参照して、仮想空間2内でのオブジェクト操作に関する制御回路部120の処理動作を説明する。図
9は、
図4に示すオブジェクト制御部300の機能を説明するブロック図である。オブジェクト制御部300は、操作対象オブジェクトを特定するためのオブジェクト特定部330と、特定された操作対象オブジェクトを操作するためのオブジェクト操作部340を備える。
【0030】
オブジェクト特定部330は、基準視線計算部331、オブジェクト判定部332、操作対象オブジェクト選択部333を備える。オブジェクト特定部330は、HMD110の傾き動作によって、仮想空間2において図
6〜
図8に示した基準視線である視界方向5上に配置されるオブジェクトを特定する。そのために、基準視線計算部331が視界方向5を設定し、オブジェクト判定部340が視界方向5上にオブジェクトが配置されているかを判定する。さらに、操作対象オブジェクト選択部360は、視界方向5上にオブジェクトが配置される場合に、そのオブジェクトを操作対象オブジェクトとして選択する。
【0031】
オブジェクト操作部340は、外部コントローラ動作判定部341と、傾き動作判定部342と、仮想カメラ調整部343と、オブジェクト操作特定部344と、オブジェクト操作実施部345と、オブジェクト操作テーブル346を備える。オブジェクト操作部340は、オブジェクト特定部300で特定された操作対象オブジェクトに対し、HMD110の傾き動作に従った操作を実施する。
【0032】
外部コントローラ動作判定部341は、外部コントローラ140にユーザのタッチ操作が入力されたかを判定する。傾き動作判定部342は、HMD110に傾き動作(特に、傾け方向)が入力されたかを判定する。仮想カメラ調整部343は、オブジェクト操作の際に仮想カメラ1の位置や方向を調整する。オブジェクト操作特定部344は、操作対象オブジェクトに対する操作を、オブジェクト操作テーブル346に従って特定する。オブジェクト操作実施部345は、オブジェクト操作を実施し、その結果として生じる画像を視界画像として生成する。
【0033】
図
10はオブジェクト操作テーブル346の一例を示す。オブジェクト操作テーブル346は、ユーザ動作と操作対象オブジェクトのアクションを関連付ける。即ち、ユーザによるHMD110に対する傾き変更動作や、外部コントローラ140への入力といった動作に対して、操作対象オブジェクトが所定のアクションをとるよう、一対一で対応付けられる。操作対象オブジェクトのアクションは、HMD110または外部コントローラ140単体への入力動作によって関連付けられても良いし、HMD110と外部コントローラ140の連携した操作に関連付けられていても良い。当該入力に対する各アクションの詳細は後述する。
【0034】
なお、オブジェクト操作テーブル346がユーザ動作と操作対象オブジェクトの情報を有している場合には、オブジェクト操作部340がオブジェクト特定部330としての機能を有する場合がある。即ち、オブジェクト操作テーブル346が有する操作対象オブジェクト情報は、オブジェクト特定部330において特定されたものであっても良いし、予め設定されたものであっても良い。
【0035】
次に、図
10〜図
14を参照して、本実施形態による、仮想空間2内におけるオブジェクト操作のための処理フローを説明する。当該オブジェクト操作処理は、外部コントローラ140、センサ130、HMD100および制御回路部120の相互作用によって実現され得る。
【0036】
まず、センサ130によってHMD110の位置が検知される(ステップS130−1)。
センサ130の検知情報は制御回路部120に送信され、動き検出部210により、視界決定部220は基準視線である視界方向5を決定する(ステップS120−1)。視界方向5は、前述のように視界画像の所定位置に対応付けて決定される。当該所定位置は視界画像の中心点とするのがよいが、これに限定されず、視界画像の如何なる設定可能な位置としてよい。また、視界方向は何らかのマーク(例えば、円形や手の平形のアイコン)として上記視界画像に重畳表示してもよい。続いて、視界決定部220により、HMD110の位置情報および/または傾き情報に基づいて、仮想空間2内での視界情報が決定される。更に、視界画像生成部230が当該視界情報に基づいてHMD110のディスプレイ112に表示するための視界画像を生成する(ステップS120−2)。
【0037】
次に、視界画像がHMD110に表示される(ステップS110−2)。視界画像には、後述するように操作対象になり得る複数のオブジェクトが表示される。そして、視界画像がHMD110に表示された状態で、HMD110を装着したユーザが頭部を傾ける動作をした場合には、仮想空間2内に配置された複数のオブジェクトのうち、少なくとも1つが視界画像の所定位置に対応するよう位置合わせを行う。
【0038】
HMD110に表示される視界画像の一例を図
11に示す。視界画像G1は、HMD110に表示される仮想空間内の様子である。なお、実際のHMD110においては、右目用の画像及び左目用の画像が夫々用意されるが、今回は簡単のため、左目用の画像のみ使用して説明する。
【0039】
本実施の形態においては、図示される仮想空間に、「くま」を模した複数のキャラクタCkが表示
される。図示された視界においては、キャラクタCkは、画面外(G1の左下)から現れ、矢印DD1に沿って斜面Slpを駆け上がり、平面Plnに差し掛かると方向転換をして矢印DD2に沿って進み、画面外に消える。なお、『図示された視界においては』と記載したのは、HMD110の傾きや外部コントローラの操作によって、視界領域を変更することができるからである(図
10のステップS130−1、S110−1、S120−1乃至S120−3、S110−2)。
【0040】
次に、外部コントローラ140による操作入力(ステップS140−1)に関する情報、センサ130によるHMD110の位置検知(ステップS130−2)に関する情報、HMD110による傾きに関する情報(ステップS110−3)が、制御回路部120に受け付けられる(ステップS120−4)。制御回路部120は、これらの情報に基づいて、仮想カメラの位置、傾きを制御する(ステップS120−5)。
【0041】
本実施の形態においては、図
12に示されるように、ユーザの外部コントローラ(スマートフォン)140に対する操作が仮想カメラVCamの位置に反映される。即ち、図示されるように、スマートフォンのタッチパネル上において、指を前方に移動させると、仮想カメラVCamも仮想空間内を前方に移動(即ち、前進)し、それに伴って、視界領域もV1〜V2へと変化する。
【0042】
次に、仮想カメラVCamと仮想空間内のキャラクタCkとの関係について説明する。図
13に示されるように、仮想カメラVCamは、HMD110に表示される領域である視界領域V1と、当該視界領域V1に包含される領域である検知領域Detとを有している。検知領域
Detは仮想カメラVCamから距離Lの範囲内に設定される。
【0043】
仮想空間内には、キャラクタCk1、Ck2の2種類のキャラクタが表示されている。キャラクタCk1は、仮想カメラVCamの視界領域V1に含まれているものの、検知領域Detには含まれていない。キャラクタCk1は、位置P_1、P_2、P_3の順に進行方向(X方向)に沿って進行し、当該進行方向に視線を向けている(点線の矢印参照)。一方、キャラクタCk2は、仮想カメラVCamの視界領域V1に含まれ、且つ、一部の位置(P_12、P_13等)で検知領域Detにも含まれている。本実施の形態においては、検知領Det内に含まれるキャラクタはその視線を仮想カメラVCamに向けながら進行するように制御される。即ち、キャラクタCkが検知領域Det外である位置P_11にある場合にはその視線は進行方法(X方向)である。キャラクタCk2が移動し、検知領域Det内である位置P_12まで進むと、それまで進行方向を向いていた視線は仮想カメラVCamの方向となるように(仮想カメラVCamを見るように)姿態を変化させる。少し進んだP_13では、姿態を更に変化させ、その視線がVCamから外れないように視線方向を更に変化させる。そして、検知領域Det外である位置P_14になると再び視線を進行方向に戻す。このように、自分の近くに位置するキャラクタのみが自分と目線を合わせ続けながら移動する制御を行うことで、キャラクタにより自然な動きを持たせることができる。
【0044】
なお、検知領域Det内にキャラクタCkがいたとしても、仮想カメラVCamと視線を合わせようとすると、首の向き等が明らかにおかしいものとなってしまう場合、自然な表現ができなくなる。したがって、キャラクタCkが仮想カメラVCamに向ける場合、進行方向と視線とのなす角度が一定以上となる場合は上述した処理を行わずそれ以上首を曲げないこととしてもよい。
【0045】
図
14は、進行方向Xに沿って移動中のキャラクタCk3が仮想カメラVCamに視線を向けている際に、ユーザ操作によって仮想カメラVCamが移動された場合の例である。具体的には、移動前の位置CP_0に位置する仮想カメラVCamにおける検知領域Det_0の外の位置P_31においては、キャラクタCk3は進行方向に視線を向けている。キャラクタCk3がX方向に進み且つ検知領域Det_0内の位置P_32においては、キャラクタCk3はCP_0に位置する仮想カメラVCamに視線を向けている。この時、ユーザがスマートフォン140上で左から右に向けてスワイプ操作(スライド操作)を行うと、仮想カメラVCamはCP_0からCP_1へと移動し、それに伴って検知領域もDet_0からDet_1へと変化する。このとき、P_32からP_33へと移動したキャラクタCk3は、その視線を移動後の仮想カメラVCamに向かうように姿態を変化させる。
【0046】
このように、検知領域内にある限り、仮想カメラが移動したとしてもキャラクタの視線
は仮想カメラVCamを追い続けることとなり、新しいゲーム体験を提供させつつ
、自然
な動きを表現することができる。
【0047】
以上、本発明の実施の形態について説明したが、本発明は上記実施形態に限定されるものではない。前述の請求項に記載されるこの発明の精神及び範囲から逸脱することなく、様々な実施形態の変更がなされ得ることを当業者は理解するであろう。