(57)【要約】【課題】ユーザーが画面を見ながらオブジェクトを簡単に操作できるようにする。【解決手段】本発明は、仮想３次元空間においてオブジェクトが移動する移動平面を斜めから見下ろすように配置された仮想カメラから、前記移動平面上の前記オブジェクトを見たときのゲーム画像を生成するゲーム画像生成部と、仮想３次元空間において前記移動平面と平行になるように配置された仮想操作オブジェクトを、前記仮想カメラから見たときの操作エリアを生成する操作エリア生成部と、前記ゲーム画像と前記操作エリアを同一の画面上に配置させる表示制御部と、タッチパネルからの検出信号に基づいて、ユーザーのタッチ操作により前記操作エリアで指示された画面上の指示方向を決定し、その決定された前記操作エリアで指示された画面上の指示方向を、仮想３次元空間における前記移動平面上の指示方向に変換し、その変換された前記移動平面上の指示方向に前記オブジェクトが移動するように制御するオブジェクト制御部を備えた情報処理装置である。【選択図】図１
2020062179.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間においてオブジェクトが移動する移動平面を斜めから見下ろすように配置された仮想カメラから、前記移動平面上の前記オブジェクトを見たときのゲーム画像を生成するゲーム画像生成部と、
仮想３次元空間において前記移動平面と平行になるように配置された仮想操作オブジェクトを、前記仮想カメラから見たときの操作エリアを生成する操作エリア生成部と、
前記ゲーム画像と前記操作エリアを同一の画面上に配置させる表示制御部と、
前記ゲーム画像と前記操作エリアが配置された画面に対するユーザーのタッチ操作を検出するタッチパネルと、
前記タッチパネルからの検出信号に基づいて、ユーザーのタッチ操作により前記操作エリアで指示された画面上の指示方向を決定し、その決定された前記操作エリアで指示された画面上の指示方向を、仮想３次元空間における前記移動平面上の指示方向に変換し、その変換された前記移動平面上の指示方向に前記オブジェクトが移動するように制御するオブジェクト制御部と、
を備えたことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
仮想３次元空間における仮想カメラの配置を制御する仮想カメラ制御部と、
を備え、
ユーザーのタッチ操作により前記操作エリアで指示された画面上の指示方向が維持されたことによって、仮想３次元空間における前記移動平面上の指示方向に前記オブジェクトが移動し続けている状態で、仮想カメラの配置が変更された場合に、
前記操作エリア生成部は、変更後の仮想カメラから前記仮想操作オブジェクトを見たときの操作エリアを生成し、
前記表示制御部は、仮想カメラの視方向が変更される前における前記移動平面上の指示方向を、生成された前記操作エリアでユーザーのタッチ操作により指示されるべき画面上の指示方向に変換し、その変換された前記画面上の指示方向に合うように、その生成された前記操作エリアを画面上に配置する、
ことを特徴とする情報処理装置。
【請求項３】
請求項１に記載の情報処理装置であって、
仮想３次元空間における仮想カメラの配置を制御する仮想カメラ制御部と、
を備え、
前記オブジェクト制御部は、仮想カメラの視方向が変更される前、及び、仮想カメラの視方向が変更された後のいずれにおいても、前記タッチパネルからの検出信号に基づいて、ユーザーのスライド操作により前記操作エリアで指示された画面上のスライド距離を決定し、その決定されたスライド距離が所定距離以上である場合に、仮想３次元空間においてオブジェクトが高速で移動するように制御する、
ことを特徴とする情報処理装置。
【請求項４】
請求項３に記載の情報処理装置であって、
前記オブジェクト制御部は、ユーザーのスライド操作により前記操作エリアで指示された画面上のスライド距離が維持されたことによって、仮想３次元空間における前記移動平面上の指示方向に前記オブジェクトが高速で移動し続けている状態で、仮想カメラの視方向が変更された場合に、仮想カメラの視方向が変更された後において、ユーザーのスライド操作により前記操作エリアで指示された画面上のスライド距離が引き続き維持されたことを条件として、仮想３次元空間においてオブジェクトの高速移動をさらに続けるように制御する、
ことを特徴とする情報処理装置。
【請求項５】
コンピューターを、
仮想３次元空間においてオブジェクトが移動する移動平面を斜めから見下ろすように配置された仮想カメラから、前記移動平面上の前記オブジェクトを見たときのゲーム画像を生成するゲーム画像生成手段、
仮想３次元空間において前記移動平面と平行になるように配置された仮想操作オブジェクトを、前記仮想カメラから見たときの操作エリアを生成する操作エリア生成手段、
前記ゲーム画像と前記操作エリアを同一の画面上に配置させる表示制御手段、
タッチパネルからの検出信号に基づいて、ユーザーのタッチ操作により前記操作エリアで指示された画面上の指示方向を決定し、その決定された前記操作エリアで指示された画面上の指示方向を、仮想３次元空間における前記移動平面上の指示方向に変換し、その変換された前記移動平面上の指示方向に前記オブジェクトが移動するように制御するオブジェクト制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
ユーザーがタッチパネルを用いて画面上の操作エリアに対するタッチ操作を行うことによって、仮想３次元空間内においてオブジェクトを移動させる情報処理装置が知られている（たとえば、特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３７３４８２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
仮想３次元空間内のオブジェクトを斜めから見下ろした俯瞰的なゲーム画像を画面に表示することによって、ユーザーのタッチ操作により操作エリアで指示された画面上の指示方向と、オブジェクトが移動する画面上の移動方向が一致しない場合があった。この場合には、ユーザーの意図した方向にキャラクターが移動しないことになるため、ユーザーにとって画面を見ながらオブジェクトを操作することが困難となる。
本発明は、このような事情に鑑みてなされたものであり、その目的とするところは、ユーザーが画面を見ながらオブジェクトを簡単に操作できるようにすることにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するための本発明の主たる発明は、
仮想３次元空間においてオブジェクトが移動する移動平面を斜めから見下ろすように配置された仮想カメラから、前記移動平面上の前記オブジェクトを見たときのゲーム画像を生成するゲーム画像生成部と、
仮想３次元空間において前記移動平面と平行になるように配置された仮想操作オブジェクトを、前記仮想カメラから見たときの操作エリアを生成する操作エリア生成部と、
前記ゲーム画像と前記操作エリアを同一の画面上に配置させる表示制御部と、
前記ゲーム画像と前記操作エリアが配置された画面に対するユーザーのタッチ操作を検出するタッチパネルと、
前記タッチパネルからの検出信号に基づいて、ユーザーのタッチ操作により前記操作エリアで指示された画面上の指示方向を決定し、その決定された前記操作エリアで指示された画面上の指示方向を、仮想３次元空間における前記移動平面上の指示方向に変換し、その変換された前記移動平面上の指示方向に前記オブジェクトが移動するように制御するオブジェクト制御部と、
を備えたことを特徴とする情報処理装置である。
本発明の他の特徴については、本明細書及び添付図面の記載により明らかにする。
【図面の簡単な説明】
【０００６】
【図１】情報処理システム１の一例を示す構成図である。
【図２】コンピューターの一例を示すハードウェア構成図である。
【図３】クライアント端末１０の一例を示す機能ブロック図である。
【図４】比較例におけるゲーム画像を生成するときのワールド座標系、ビュー座標系、及びスクリーン座標系の関係を示す図である。
【図５】比較例における操作エリアを生成するときのワールド座標系、ビュー座標系、及びスクリーン座標系の関係を示す図である。
【図６】図６Ａは、比較例におけるクライアント端末１０の画面構成例を示す図である。図６Ｂは、仮想３次元空間におけるキャラクターの移動方向を示す図である。
【図７】本発明に係る実施例における操作エリアを生成するときのワールド座標系、ビュー座標系、及びスクリーン座標系の関係を示す図である。
【図８】本発明に係るクライアント端末１０の画面構成例を示す図である。
【図９】本実施形態におけるクライアント端末１０のキャラクター移動に関する動作例について説明するフローチャートである。
【図１０】指示方向の変換について説明する図である。
【図１１】仮想カメラの配置変更に伴う指示方向の変換について説明する図である。
【図１２】操作エリアに対するスライド操作の具体例について説明する図である。
【発明を実施するための形態】
【０００７】
本明細書及び添付図面の記載により、少なくとも以下の事項が明らかとなる。
即ち、仮想３次元空間においてオブジェクトが移動する移動平面を斜めから見下ろすように配置された仮想カメラから、前記移動平面上の前記オブジェクトを見たときのゲーム画像を生成するゲーム画像生成部と、
仮想３次元空間において前記移動平面と平行になるように配置された仮想操作オブジェクトを、前記仮想カメラから見たときの操作エリアを生成する操作エリア生成部と、
前記ゲーム画像と前記操作エリアを同一の画面上に配置させる表示制御部と、
前記ゲーム画像と前記操作エリアが配置された画面に対するユーザーのタッチ操作を検出するタッチパネルと、
前記タッチパネルからの検出信号に基づいて、ユーザーのタッチ操作により前記操作エリアで指示された画面上の指示方向を決定し、その決定された前記操作エリアで指示された画面上の指示方向を、仮想３次元空間における前記移動平面上の指示方向に変換し、その変換された前記移動平面上の指示方向に前記オブジェクトが移動するように制御するオブジェクト制御部と、
を備えたことを特徴とする情報処理装置である。
このような情報処理装置によれば、仮想３次元空間においてオブジェクトの移動平面と仮想操作オブジェクトの操作平面が平行になるように配置することで、仮想３次元空間を斜めから見下ろしたときに仮想カメラから見えるゲーム画像と操作エリアが同一の画面上に配置されたとしても、ユーザーのタッチ操作により操作エリアで指示された画面上の指示方向とオブジェクトが移動する画面上の移動方向が一致するようになる。これにより、ユーザーが画面を見ながらオブジェクトを簡単に操作できるようになる。
【０００８】
また、かかる情報処理装置であって、
仮想３次元空間における仮想カメラの配置を制御する仮想カメラ制御部を備え、
ユーザーのタッチ操作により前記操作エリアで指示された画面上の指示方向が維持されたことによって、仮想３次元空間における前記移動平面上の指示方向に前記オブジェクトが移動し続けている状態で、仮想カメラの配置が変更された場合に、
前記操作エリア生成部は、変更後の仮想カメラから前記仮想操作オブジェクトを見たときの操作エリアを生成し、
前記表示制御部は、仮想カメラの視方向が変更される前における前記移動平面上の指示方向を、生成された前記操作エリアでユーザーのタッチ操作により指示されるべき画面上の指示方向に変換し、その変換された前記画面上の指示方向に合うように、その生成された前記操作エリアを画面上に配置することとしても良い。
このような情報処理装置によれば、ユーザーのタッチ操作の継続中に仮想カメラの配置が変更されたとしても、これまでの移動方向を維持しつつオブジェクトを移動させることができる。
【０００９】
また、かかる情報処理装置であって、
仮想３次元空間における仮想カメラの配置を制御する仮想カメラ制御部を備え、
前記オブジェクト制御部は、仮想カメラの視方向が変更される前、及び、仮想カメラの視方向が変更された後のいずれにおいても、前記タッチパネルからの検出信号に基づいて、ユーザーのスライド操作により前記操作エリアで指示された画面上のスライド距離を決定し、その決定されたスライド距離が所定距離以上である場合に、仮想３次元空間においてオブジェクトが高速で移動するように制御することとしても良い。
このような情報処理装置によれば、仮想３次元空間においてオブジェクトを高速で移動させるために、仮想カメラの視方向が変更された後でも、仮想カメラの視方向が変更される前と同じスライド距離だけスライド操作を行えばよいので、仮想カメラの視方向が変更されたことによる混乱を抑制することができる。
【００１０】
また、かかる情報処理装置であって、
前記オブジェクト制御部は、ユーザーのスライド操作により前記操作エリアで指示された画面上のスライド距離が維持されたことによって、仮想３次元空間における前記移動平面上の指示方向に前記オブジェクトが高速で移動し続けている状態で、仮想カメラの視方向が変更された場合に、仮想カメラの視方向が変更された後において、ユーザーのスライド操作により前記操作エリアで指示された画面上のスライド距離が引き続き維持されたことを条件として、仮想３次元空間においてオブジェクトの高速移動をさらに続けるように制御することとしても良い。
このような情報処理装置によれば、オブジェクトが高速移動しているときに仮想カメラの視方向が変更されたことによって、急にオブジェクトが低速移動することのないように制御できるため、仮想カメラの視方向が変更されたことによる混乱を抑制することができる。
【００１１】
次に、コンピューターを、
仮想３次元空間においてオブジェクトが移動する移動平面を斜めから見下ろすように配置された仮想カメラから、前記移動平面上の前記オブジェクトを見たときのゲーム画像を生成するゲーム画像生成手段、
仮想３次元空間において前記移動平面と平行になるように配置された仮想操作オブジェクトを、前記仮想カメラから見たときの操作エリアを生成する操作エリア生成手段、
前記ゲーム画像と前記操作エリアを同一の画面上に配置させる表示制御手段、
タッチパネルからの検出信号に基づいて、ユーザーのタッチ操作により前記操作エリアで指示された画面上の指示方向を決定し、その決定された前記操作エリアで指示された画面上の指示方向を、仮想３次元空間における前記移動平面上の指示方向に変換し、その変換された前記移動平面上の指示方向に前記オブジェクトが移動するように制御するオブジェクト制御手段、
として機能させるためのプログラムである。
このようなプログラムによれば、ユーザーが画面を見ながらオブジェクトを簡単に操作できるようになる。
【００１２】
＝＝＝実施形態＝＝＝
以下では、本発明の実施形態に係る情報処理装置、プログラム及び情報処理システムについて詳細に説明する。なお、本発明はタッチパネルでプレイ可能なゲームを採用する情報処理装置、プログラム、及び情報処理システム等に広く適用できる。
【００１３】
＜＜システム構成＞＞
図１は、本実施形態に係る情報処理システム１の一例を示す構成図である。図１に示すように、本実施形態に係る情報処理システム１は、１台以上のクライアント端末１０とサーバー装置２０とがネットワークＮを介して接続されている。
【００１４】
クライアント端末１０は、ユーザーが操作するスマートフォン、タブレット、ＰＣなどの端末装置や、家庭用や業務用のゲーム専用機器などの端末装置である。サーバー装置２０は、クライアント端末１０でユーザーにより行われるゲームの管理や制御、ゲーム内での課金処理等を行う。ネットワークＮは、インターネット等であって、移動無線基地局などを含む。
【００１５】
＜＜ハードウェア構成＞＞
＜クライアント端末＞
図２は、本実施形態に係るコンピューター５０の一例を示すハードウェア構成図である。本実施形態に係るクライアント端末１０は、例えば図２に示すハードウェア構成のコンピューター５０により実現される。なお、コンピューター５０は情報処理装置の一例である。
【００１６】
コンピューター５０は、図２に示すように、ＣＰＵ５１と、ＲＡＭ５２と、ＲＯＭ５３と、通信インタフェース５４と、入力装置５５と、表示装置５６と、外部インタフェース５７と、ＨＤＤ５８などを備えており、それぞれがバスラインＢによって相互に接続されている。
【００１７】
ＣＰＵ５１は、ＲＯＭ５３やＨＤＤ５８などの記憶装置からプログラムやデータをＲＡＭ５２上に読み出し、読み出したプログラムやデータに基づく各種処理を実行することによって、コンピューター全体の制御や機能を実現する演算装置である。
【００１８】
ＲＡＭ５２は、プログラムやデータを一時保持するための揮発性の半導体メモリ（記憶装置）の一例であり、ＣＰＵ５１が各種処理を実行する際のワークエリアとしても利用される。
【００１９】
ＲＯＭ５３は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ５３には、コンピューター５０の起動時に実行されるＢＩＯＳ、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。
【００２０】
通信インタフェース５４は、コンピューター５０をネットワークＮに接続するためのインタフェースである。これにより、コンピューター５０は通信インタフェース５４を介してデータ通信を行うことができる。
【００２１】
入力装置５５は、ユーザーが各種信号を入力するのに用いる装置である。入力装置５５は、例えば、タッチパネル、操作キーやボタン、キーボードやマウスなどの操作装置である。
【００２２】
本実施形態におけるクライアント端末１０は、少なくともタッチパネルを有している。タッチパネルは、表示装置５６の上に積層される静電容量式のパネルによって構成されている。このタッチパネルでは、ユーザーの指やタッチペン等によるタッチ操作が行われると、格子状に配列されている透明電極が静電容量の変化を検出してその検出信号を出力する。本実施形態においては、静電容量の変化が生じた透明電極の範囲から決まる重心位置が、画面上でのタッチ位置（指示位置）として特定される。
【００２３】
表示装置５６は、タッチパネルを用いてゲームプレイを行うユーザーに対して各種情報を画面表示するための装置である。表示装置５６は、例えば、液晶や有機ＥＬなどのディスプレイである。
【００２４】
外部インタフェース５７は、外部装置とデータ通信可能に接続するためのインタフェースである。これにより、コンピューター５０は外部インタフェース５７を介して記録媒体の読み取り及び／又は書き込みを行うことができる。外部装置は、例えば、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリなどの記録媒体である。
【００２５】
ＨＤＤ５８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピューター全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションなどがある。
【００２６】
なお、ＨＤＤ５８に替えて、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用してもよい。
【００２７】
本実施形態に係るクライアント端末１０は、上述したハードウェア構成のコンピューター５０においてプログラムを実行することにより、後述するような各種処理を実現することができる。
【００２８】
＜＜ソフトウェア構成＞＞
＜クライアント端末＞
図３は、本実施形態に係るクライアント端末１０の一例を示す機能ブロック図である。本実施形態に係るクライアント端末１０は、例えば図３に示す機能ブロックにより実現される。
【００２９】
本実施形態に係るクライアント端末１０は、プログラムを実行することにより、制御部１００と、記憶部１２０と、通信部１４０と、操作受付部１５０と、画面表示部１６０を実現する。
【００３０】
制御部１００は、クライアント端末１０における各種処理を実行する機能を有する。この制御部１００は、ゲーム進行部１０１と、オブジェクト制御部１０２と、仮想カメラ制御部１０３と、ゲーム画像生成部１０４と、操作エリア生成部１０５と、表示制御部１０６を含む。
【００３１】
ゲーム進行部１０１は、クライアント端末１０がユーザーから受け付けたゲーム操作に基づき、クライアント端末１０でプレイ可能な各種ゲーム（例えば、アクションゲーム等）の進行を制御する。
【００３２】
オブジェクト制御部１０２は、仮想３次元空間（仮想ゲーム空間）に配置されるオブジェクトの挙動を制御する。本実施形態におけるオブジェクト制御部１０２は、ユーザーのタッチ操作によって指示された画面上の指示方向を、仮想３次元空間における移動平面上の指示方向に変換し、その変換された移動平面上の指示方向にオブジェクトが移動するように制御する。
【００３３】
このオブジェクト制御部１０２は、タッチ位置決定部及び操作入力判定部としての機能を含む。タッチ位置決定部は、タッチパネルからの検出信号に基づいて、ユーザーのタッチ操作により指示される画面上のタッチ位置を決定する。具体的には、格子状に配列されている透明電極のうち静電容量の変化が生じた透明電極の位置に基づいて、ユーザーのタッチ操作により指示される画面上の指示位置（タッチ位置）を決定する。そして、操作入力判定部は、タッチパネルを用いてゲームプレイを行うユーザーによって入力されたゲーム操作の種類を判定する。例えば、ユーザーのタッチ位置が操作エリアに位置するか否かによってタッチ操作が入力されたか否かを判定したり、ユーザーのタッチ位置が操作エリアから所定方向へスライド移動したか否かによってスライド操作が入力されたか否かを判定したりする。
【００３４】
仮想カメラ制御部１０３は、仮想３次元空間における仮想カメラの配置を制御する。本実施形態における仮想カメラ制御部１０３は、ユーザーの操作に応じて、仮想３次元空間における仮想カメラの配置（例えば、視点位置、視方向、画角等）を変更することにより、仮想カメラから見える仮想３次元空間の様子が変化するように制御する。
【００３５】
ゲーム画像生成部１０４は、仮想３次元空間に配置されたオブジェクトを仮想カメラから見たときのゲーム画像を２次元画像として生成する。本実施形態におけるゲーム画像生成部１０４は、仮想３次元空間においてオブジェクトが移動する移動平面を斜めから見下ろすように配置された仮想カメラから、その移動平面上のオブジェクトを見たときのゲーム画像を生成する。具体的には、ゲーム画像生成部１０４は、ワールド座標系で表現される３次元座標に配置されたオブジェクトを、仮想カメラを基準とするビュー座標系への座標変換を行なう。そして、ビュー座標系に配置されたオブジェクトに対して透視変換等を行なって、その仮想カメラから見たときの仮想３次元空間の様子を２次元画像として生成する。また、ゲーム画像生成部１０４は、光源処理などの補間処理や、オブジェクトにテクスチャをマッピングするための処理等も行なう。
【００３６】
操作エリア生成部１０５は、仮想３次元空間に配置された仮想操作オブジェクトを仮想カメラから見たときの操作エリアを２次元画像として生成する。本実施形態における操作エリア生成部１０５は、仮想３次元空間においてオブジェクトが移動する移動平面と平行になるように配置された仮想操作オブジェクトを、仮想カメラから見たときの操作エリアを生成する。なお、この操作エリア生成部１０５は、ゲーム画像生成部１０４と同様にして具体的な描画処理を行なう。
【００３７】
表示制御部１０６は、仮想３次元空間に配置される各種オブジェクトの２次元画像が含まれるゲーム画面をフレーム毎（例えば、１／６０秒毎）に構成して画面表示部１６０に出力する制御を行う。本実施形態における表示制御部１０６は、ゲーム画像生成部１０４によって生成されたゲーム画像と、操作エリア生成部１０５によって生成された操作エリアを同一の画面上に配置させることによってゲーム画面を構成する。
【００３８】
記憶部１２０は、インストールされたアプリケーション（ゲームアプリ等）やクライアント端末１０において必要となる各種情報を記憶する。通信部１４０は、サーバー装置２０との通信を行う。画面表示部１６０は、表示制御部１０６の制御に従いゲーム画面を取得してクライアント端末１０にて画面表示を行う。
【００３９】
＜＜画面構成＞＞
本実施形態におけるクライアント端末１０の画面構成例について説明する。ここでは、比較例について説明した後に、本発明に係る実施例について説明する。
【００４０】
＜比較例＞
図４は、比較例におけるゲーム画像を生成するときのワールド座標系、ビュー座標系、及びスクリーン座標系の関係を示す図である。以下では、仮想３次元空間の基準を原点Ｏｗとする３次元座標（Ｘｗ、Ｙｗ、Ｚｗ）をワールド座標系と表現し、仮想カメラを原点Ｏｃとする３次元座標（Ｘｃ、Ｙｃ、Ｚｃ）をビュー座標系と表現し、クライアント端末１０の画面に対応するスクリーン面（投影面）の中心を原点Ｏｓとする２次元座標（Ｘｓ、Ｙｓ）をスクリーン座標系と表現する。
【００４１】
仮想カメラは、ワールド座標系のＹｗ軸方向の高さからＺｗ軸方向に対する俯角θでＸｗ−Ｚｗ平面を斜めから見下ろすように配置されている。このように仮想３次元空間に仮想カメラを配置することによって、ワールド座標系に関連付けてビュー座標系が設定されることになる。
【００４２】
ビュー座標系のＺｃ軸方向は、クライアント端末１０の画面に対応するスクリーン面（スクリーン座標系の原点Ｏｓ）に垂直に下した方向であり、仮想カメラの視方向と一致している。ビュー座標系のＸｃ−Ｙｃ平面は、スクリーン面と平行であり、ビュー座標系の原点Ｏｃからスクリーン座標系原点Ｏｓまでの距離は仮想カメラの焦点距離と一致している。
【００４３】
オブジェクトの一例としてのキャラクターＡは、ワールド座標系のＸｗ−Ｚｗ平面に配置されている。ワールド座標系のＸｗ−Ｚｗ平面は、仮想３次元空間においてキャラクターＡが移動する移動平面と一致している。このキャラクターＡは、ワールド座標系のＸｗ−Ｚｗ平面上での座標位置を時間経過に伴って変化させることにより、移動平面を移動することができるようになっている。
【００４４】
ゲーム画像生成部１０４は、仮想３次元空間においてキャラクターＡが移動する移動平面を斜めから見下ろすように配置された仮想カメラから、その移動平面上のキャラクターＡを見たときのゲーム画像を生成する。
【００４５】
具体的には、図４に示す仮想カメラとキャラクターＡの位置関係から算出される座標変換行列等を用いることにより、ワールド座標系（Ｘｗ、Ｙｗ、Ｚｗ）に配置させたキャラクターＡをビュー座標系（Ｘｃ、Ｙｃ、Ｚｃ）へ座標変換を行う。さらに、透視投影手法等を用いることにより、ビュー座標系（Ｘｃ、Ｙｃ、Ｚｃ）に配置されたキャラクターＡをスクリーン座標系（Ｘｓ、Ｙｓ）へ座標変換を行う。このように幾何学的な算出を行なって座標変換を繰り返すことにより、仮想３次元空間のキャラクターＡを２次元画像（ゲーム画像）として生成することができる。
【００４６】
図５は、比較例における操作エリアを生成するときのワールド座標系、ビュー座標系、及びスクリーン座標系の関係を示す図である。以下では、図４と同様に、３次元座標（Ｘｗ、Ｙｗ、Ｚｗ）をワールド座標系と表現し、３次元座標（Ｘｃ、Ｙｃ、Ｚｃ）をビュー座標系と表現し、２次元座標（Ｘｓ、Ｙｓ）をスクリーン座標系と表現する。
【００４７】
仮想カメラは、ワールド座標系のＸｗ−Ｚｗ平面を真上から見下ろすように配置されている（つまり、Ｙｗ軸方向の高さからＺｗ軸方向に対する俯角θ＝９０°となるように、仮想カメラが配置されている。）。このように仮想３次元空間に仮想カメラを配置することによって、ワールド座標系に関連付けてビュー座標系が設定されることになる。
【００４８】
ビュー座標系のＺｃ軸方向は、クライアント端末１０の画面に対応するスクリーン面（スクリーン座標系の原点Ｏｓ）に垂直に下した方向であり、仮想カメラの視方向と一致している。ビュー座標系のＸｃ−Ｙｃ平面は、スクリーン面と平行であり、ビュー座標系の原点Ｏｃからスクリーン座標系原点Ｏｓまでの距離は仮想カメラの焦点距離と一致している。
【００４９】
仮想操作オブジェクトの一例としての仮想操作パッドＰは、円形の平面を有しており、ワールド座標系のＸｗ−Ｚｗ平面に配置されている。ワールド座標系のＸｗ−Ｚｗ平面は、クライアント端末１０の画面に対応するスクリーン面と平行であると共に、ビュー座標系のＸｃ−Ｙｃ平面と平行である。つまり、仮想３次元空間においてキャラクターＡが移動する移動平面も、そのスクリーン面と平行であり、ビュー座標系のＸｃ−Ｙｃ平面と平行である。
【００５０】
操作エリア生成部１０５は、仮想３次元空間においてキャラクターＡの移動平面と平行になるように配置された仮想操作パッドＰを、真上から見下ろすように配置された仮想カメラから見たときの操作エリアを生成する。
【００５１】
具体的には、図５に示す仮想カメラと仮想操作パッドＰの位置関係から算出される座標変換行列等を用いることにより、ワールド座標系（Ｘｗ、Ｙｗ、Ｚｗ）に配置させた仮想操作パッドＰをビュー座標系（Ｘｃ、Ｙｃ、Ｚｃ）へ座標変換を行う。さらに、透視投影手法等を用いることにより、ビュー座標系（Ｘｃ、Ｙｃ、Ｚｃ）に配置された仮想操作パッドＰをスクリーン座標系（Ｘｓ、Ｙｓ）へ座標変換を行う。このように幾何学的な算出を行なって座標変換を繰り返すことにより、仮想３次元空間の仮想操作パッドＰを２次元画像（操作エリア）として生成することができる。
【００５２】
図６Ａは、比較例におけるクライアント端末１０の画面構成例を示す図である。図６Ｂは、仮想３次元空間におけるキャラクターの移動方向を示す図である。本実施形態におけるクライアント端末１０は、図６Ａに示すように、画面上に積層されたタッチパネル５００を有している。表示制御部１０６は、図４に示す仮想カメラの配置に基づきゲーム画像生成部１０４によって生成されたゲーム画像５０１と、図５に示す仮想カメラの配置に基づき操作エリア生成部１０５によって生成された操作エリア５０２が同一の画面上に配置されるように制御する。これにより、ユーザーは画面に接触させた指をスライドさせて操作エリア５０２に対するスライド操作を行うことによってキャラクターＡを移動させることができる。
【００５３】
ここでは、図６Ａに示すように、ユーザーのタッチ操作により操作エリア５０２で指示された画面上の指示方向が４５°であるときに、キャラクターＡが移動する画面上の移動方向は３０°となっている。ところが実際には、図６Ｂに示すように、ユーザーのタッチ操作により操作エリア５０２で指示された画面上の指示方向が４５°であるときには、仮想３次元空間における移動平面（つまり、ワールド座標系のＸｗ−Ｚｗ平面）上でのキャラクターＡの移動方向は４５°となっている。
【００５４】
このように比較例では、ユーザーのタッチ操作により操作エリア５０２で指示された画面上の指示方向（４５°）と、キャラクターＡが移動する仮想３次元空間における移動平面上の移動方向（４５°）が一致しているにもかかわらず、仮想カメラの配置設定の影響を受けて、ユーザーのタッチ操作により操作エリアで指示された画面上の指示方向（４５°）と、キャラクターＡが移動する画面上の移動方向（３０°）が一致しないことになる。このことにより、ユーザーの意図した方向にキャラクターＡが移動しないことになるため、ユーザーにとって画面を見ながらキャラクターＡを操作することが困難となってしまう。
【００５５】
＜実施例＞
図７は、本発明に係る実施例における操作エリアを生成するときのワールド座標系、ビュー座標系、及びスクリーン座標系の関係を示す図である。以下では、図４と同様に、３次元座標（Ｘｗ、Ｙｗ、Ｚｗ）をワールド座標系と表現し、３次元座標（Ｘｃ、Ｙｃ、Ｚｃ）をビュー座標系と表現し、２次元座標（Ｘｓ、Ｙｓ）をスクリーン座標系と表現する。
【００５６】
図７に示す本発明に係る仮想カメラの配置設定は、ここでは、図５に示す比較例における仮想カメラの配置設定とは異なっていて、図４に示す比較例における仮想カメラの配置設定と同じになっている。
【００５７】
すなわち、仮想カメラは、図４に示す仮想カメラの配置と同様に、ワールド座標系のＹｗ軸方向の高さからＺｗ軸方向に対する俯角θでＸｗ−Ｚｗ平面を斜めから見下ろすように配置されている。このように仮想３次元空間に仮想カメラを配置することによって、ワールド座標系に関連付けてビュー座標系が設定されることになる。
【００５８】
ビュー座標系のＺｃ軸方向は、クライアント端末１０の画面に対応するスクリーン面（スクリーン座標系の原点Ｏｓ）に垂直に下した方向であり、仮想カメラの視方向と一致している。ビュー座標系のＸｃ−Ｙｃ平面は、スクリーン面と平行であり、ビュー座標系の原点Ｏｃからスクリーン座標系原点Ｏｓまでの距離は仮想カメラの焦点距離と一致している。
【００５９】
仮想操作パッドＰは、図５に示す仮想操作パッドＰと同様であり、円形の平面を有していて、ワールド座標系のＸｗ−Ｚｗ平面に配置されている。ワールド座標系のＸｗ−Ｚｗ平面は、図４に示すキャラクターＡが移動する移動平面と一致している。
【００６０】
操作エリア生成部１０５は、仮想３次元空間においてキャラクターＡが移動する移動平面を斜めから見下ろすように配置された仮想カメラから、仮想３次元空間においてキャラクターＡの移動平面と平行になるように配置された仮想操作パッドＰを見たときの操作エリアを生成する。
【００６１】
具体的には、図７に示す仮想カメラと仮想操作パッドＰの位置関係から算出される座標変換行列等を用いることにより、ワールド座標系（Ｘｗ、Ｙｗ、Ｚｗ）に配置させた仮想操作パッドＰをビュー座標系（Ｘｃ、Ｙｃ、Ｚｃ）へ座標変換を行う。さらに、透視投影手法等を用いることにより、ビュー座標系（Ｘｃ、Ｙｃ、Ｚｃ）に配置された仮想操作パッドＰをスクリーン座標系（Ｘｓ、Ｙｓ）へ座標変換を行う。このように幾何学的な算出を行なって座標変換を繰り返すことにより、仮想３次元空間の仮想操作パッドＰを２次元画像（操作エリア）として生成することができる。
【００６２】
図８は、本発明に係るクライアント端末１０の画面構成例を示す図である。表示制御部１０６は、図４に示す仮想カメラの配置に基づきゲーム画像生成部１０４によって生成されたゲーム画像５０１と、図７に示す仮想カメラの配置に基づき操作エリア生成部１０５によって生成された操作エリア５０２が同一の画面上に配置されるように制御する。これにより、ユーザーは画面に接触させた指をスライドさせて操作エリア５０２に対するスライド操作を行うことによって、そのスライド方向へキャラクターＡを移動させることができる。
【００６３】
ここでは、図７に示す仮想カメラの配置設定の影響を受け、図６Ａに示すような円形ではなく、図８に示す操作エリア５０２は楕円形で表示されている。そして、図８に示すように、ユーザーのタッチ操作により操作エリア５０２で指示された画面上の指示方向が３０°であるときに、キャラクターＡが移動する画面上の移動方向も３０°となっている。ところが実際には、図６Ｂに示すように、ユーザーのタッチ操作により操作エリア５０２で指示された画面上の指示方向が３０°であっても、仮想３次元空間における移動平面（つまり、ワールド座標系のＸｗ−Ｚｗ平面）上でのキャラクターＡの移動方向は４５°となっている。
【００６４】
このように本発明に係る実施例では、ユーザーのタッチ操作により操作エリア５０２で指示された画面上の指示方向（３０°）と、キャラクターＡが移動する仮想３次元空間における移動平面上の移動方向（４５°）が異なるが、仮想カメラの配置設定の影響を受けて、操作エリアの形状が変形（円形から楕円形に変形）することで、ユーザーのタッチ操作により操作エリアで指示された画面上の指示方向（３０°）を、キャラクターＡが移動する画面上の移動方向（３０°）と一致させることが可能となる。このことにより、本発明に係る実施例では比較例とは異なり、ユーザーの意図した方向にキャラクターＡが移動することになるため、ユーザーにとって画面を見ながらキャラクターＡを違和感なく直感的に操作することが可能となる。
【００６５】
＜＜キャラクター移動＞＞
本実施形態におけるクライアント端末１０のキャラクター移動に関する動作例について、図９及び図１０を用いて説明する。図９は、本実施形態におけるクライアント端末１０のキャラクター移動に関する動作例について説明するフローチャートである。図１０は、指示方向の変換について説明する図である。以下では、ユーザーがタッチパネルを用いて図８に示す画面上の操作エリア５０２に対するタッチ操作を行ったときに、仮想３次元空間内においてキャラクターＡを移動させるためにクライアント端末１０が行う制御手順について具体的に説明する。
【００６６】
クライアント端末１０は、図９に示すように、ユーザーがタッチパネルを用いて図８に示す画面上の操作エリア５０２に対するタッチ操作を行ったことにより、そのタッチ操作によって操作エリア５０２の任意の位置を指定しているか否かを判定する（ステップＳ１１）。
【００６７】
具体的には、オブジェクト制御部１０２は、タッチパネルからの検出信号を取得することができたときに、ユーザーのタッチ操作により指示される画面上の指示位置を決定することができる。そのため、オブジェクト制御部１０２は、ユーザーのタッチ操作により指示される画面上の指示位置を決定することができると、その決定された画面上の指示位置が操作エリア５０２に位置するか否かを判定する。
【００６８】
次に、クライアント端末１０は、タッチパネルを用いたユーザーのタッチ操作によって操作エリア５０２の任意の位置を指定していないと判定された場合に（ステップＳ１１：ＮＯ）、ユーザーによって操作エリア５０２に対するタッチ操作が行われるまで待機する。その一方で、タッチパネルを用いたユーザーのタッチ操作によって操作エリア５０２の任意の位置を指定していると判定された場合には（ステップＳ１１：ＹＥＳ）、仮想３次元空間内においてキャラクターＡを移動させるためのスライド操作が行われたか否かを判定する（ステップＳ１２）。
【００６９】
具体的には、オブジェクト制御部１０２は、ユーザーが操作エリア５０２に接触させた指をそのまま或る方向へ連続移動させるタッチ操作（スライド操作）を行ったことで、タッチパネルからの検出信号を連続的に取得することができたときに、そのスライド操作により連続的に変化する操作エリア５０２での指示位置を次々に決定することができる。そのため、オブジェクト制御部１０２は、ユーザーのスライド操作により連続的に変化する操作エリア５０２での指示位置を次々に決定することができると、ユーザーによって操作エリア５０２の中心に接触させた指をそのまま任意の方向へ連続移動させるタッチ操作（スライド操作）が行われたか否かを判定する。
【００７０】
次に、クライアント端末１０は、仮想３次元空間内においてキャラクターＡを移動させるためのスライド操作が行われなかったと判定された場合に（ステップＳ１２：ＮＯ）、この処理を終了する一方で、仮想３次元空間内においてキャラクターＡを移動させるためのスライド操作が行われたと判定された場合には（ステップＳ１２：ＹＥＳ）、そのスライド操作によって操作エリア５０２で指示された画面上の指示方向を決定する（ステップＳ１３）。
【００７１】
具体的には、オブジェクト制御部１０２は、ユーザーが操作エリア５０２の中心に接触させた指を或る地点まで連続移動させたことにより、タッチパネルからの検出信号に基づきスクリーン座標系における始点位置Ｐｓ１と終点位置Ｐｓ２の座標を決定する。そして、その決定されたスクリーン座標系における始点位置Ｐｓ１と終点位置Ｐｓ２の座標に基づいて、スクリーン座標系のＸｓ軸に対する指示角度を決定する。ここでは、図１０の左図に示すように、ユーザーのスライド操作により図８に示す画面上の操作エリア５０２で指示方向が入力されたときに、スクリーン座標系のＸｓ軸に対する指示角度が３０°であったものとする。なおこの際、スクリーン座標系における始点位置Ｐｓ１はスクリーン座標系の原点Ｏｓに一致しているものとする。
【００７２】
次に、クライアント端末１０は、このようにしてユーザーのスライド操作によって操作エリア５０２で指示された画面上の指示方向が決定されると、その決定された操作エリア５０２で指示された画面上の指示方向を、仮想３次元空間においてキャラクターＡが移動する移動平面上の指示方向に変換する（ステップＳ１４）。
【００７３】
具体的には、オブジェクト制御部１０２は、図７に示す仮想カメラと仮想操作パッドＰの位置関係から算出される逆透視変換行列等を用いることにより、その決定されたスクリーン座標系における始点位置Ｐｓ１と終点位置Ｐｓ２の座標を、ビュー座標系における始点位置Ｐｃ１と終点位置Ｐｃ２の座標に変換する。さらに、図７に示す仮想カメラと仮想操作パッドＰの位置関係から算出される逆座標変換行列等を用いることにより、ビュー座標系における始点位置Ｐｃ１と終点位置Ｐｃ２の座標を、ワールド座標系における始点位置Ｐｗ１と終点位置Ｐｗ２の座標に変換する。このような座標変換により、図１０に示すように、スクリーン座標系のＸｓ−Ｙｓ平面における操作エリア５０２での指示方向が、ワールド座標系のＸｗ−Ｚｗ平面（つまり、仮想３次元空間においてキャラクターＡが移動する移動平面）における仮想操作パッドＰでの指示方向に変換されたことになる。ここでは、座標変換前では、図１０の左図に示すように、スクリーン座標系のＸｓ軸に対する指示角度が３０°であったものが、座標変換後には、図１０の右図に示すように、ワールド座標系のＸｗ軸に対する指示角度が４５°になったものとする。
【００７４】
次に、クライアント端末１０は、ユーザーのスライド操作によって操作エリア５０２で指示された画面上の指示方向が仮想３次元空間における移動平面上の指示方向に変換されると、仮想３次元空間においてキャラクターＡがその変換された指示方向に移動するように制御する（ステップＳ１５）。
【００７５】
具体的には、オブジェクト制御部１０２は、座標変換行列を用いてワールド座標系のＸｗ−Ｚｗ平面に配置されるキャラクターＡの座標をその変換後の指示方向に平行移動させることによって、仮想３次元空間においてキャラクターＡをその変換された指示方向に移動させる。
【００７６】
これにより、図８に示す画面上に、仮想３次元空間を斜めから見下ろしたときに仮想カメラから見えるゲーム画像５０１と操作エリア５０２が同時に配置されたとしても、ユーザーのスライド操作により操作エリア５０２で指示された画面上の指示方向と、キャラクターＡが移動する画面上の移動方向が一致するようになる。そのため、ユーザーが画面を見ながらキャラクターＡを簡単に操作できるようになる。
【００７７】
＜＜仮想カメラの配置変更＞＞
ここでは、仮想３次元空間においてキャラクターの移動中に仮想カメラの配置変更がなされた場合の画面構成例について、図１１を用いて説明する。図１１は、仮想カメラの配置変更に伴う指示方向の変換について説明する図である。
【００７８】
本実施形態におけるクライアント端末１０では、ユーザーが図８に示す画面上の操作エリア５０２に接触させた指をそのまま或る方向へ連続移動させるタッチ操作（スライド操作）を行った際に、ユーザーがその接触させた指を画面から離さずにそのままの状態にすることで、操作エリア５０２で指示された画面上の指示方向が維持され、仮想３次元空間においてキャラクターＡがその指示方向に移動し続けるようにすることも可能である。そして、このように仮想３次元空間においてキャラクターＡが移動し続けている最中に、ユーザーの操作によって仮想３次元空間における仮想カメラの配置を変更することも可能である。
【００７９】
ところが、仮想３次元空間においてキャラクターＡが移動し続けている最中に、仮想カメラの配置が変更されてしまうと、これまでユーザーが操作エリア５０２で指示していた画面上の指示方向も連動して変更されることになる。そのため、ユーザーがその接触させた指を画面から離さずにそのままの状態にしているにもかかわらず、仮想３次元空間においてキャラクターＡが変更後の指示方向に勝手に移動し始めることになってしまう。
【００８０】
具体的に説明すると、ユーザーがスライド操作を行った際、その接触させた指を画面から離さずにそのままの状態にすることで、図１１Ａの左図に示すように、スクリーン座標系のＸｓ−Ｙｓ平面における操作エリア５０２での指示方向が３０°のまま維持されたとする。そして、上述した図９に示すステップＳ１４の処理によって指示方向の変換が行われると、図１１Ａの右図に示すように、ワールド座標系のＸｗ−Ｚｗ平面における仮想操作パッドＰでの指示方向は４５°のまま維持されるものとする。この場合、仮想３次元空間の移動平面においてキャラクターＡはその４５°の指示方向に移動し続けていることになる。
【００８１】
その後、仮想３次元空間においてキャラクターＡがその４５°の指示方向に移動し続けている最中に、例えば仮想カメラの視方向がユーザーの操作に従って変更された結果、図１１Ｂの左図に示すような楕円形に操作エリア５０２が変形したものとする。この場合、ユーザーがその接触させた指を画面から離さずにそのままの状態にしているので、図１１Ｂの左図に示す操作エリア５０２での指示方向は、図１１Ａの左図に示す操作エリア５０２での指示方向と同じ３０°のまま維持されることになる。そのため、上述した図９に示すステップＳ１４の処理によって指示方向の変換が行われると、図１１Ｂの右図に示す仮想操作パッドＰでの指示方向は、図１１Ａの右図に示す仮想操作パッドＰでの指示方向と同じ４５°ではなく、それよりも大きな角度（ここでは６０°とする）になってしまう。すなわち、このように仮想カメラの配置が変更されると、ユーザーがその接触させた指を画面から離さずにそのままの状態にしているにもかかわらず、仮想３次元空間の移動平面において４５°の指示方向に移動し続けていたキャラクターＡが、６０°の指示方向に移動し始めることになる。
【００８２】
そこで、本実施形態におけるクライアント端末１０では、ユーザーがスライド操作を行った際、その接触させた指を画面から離さずにそのままの状態にしているときに、仮想カメラの配置が変更されたとしても、仮想３次元空間の移動平面においてキャラクターＡがこれまで通りの指示方向に移動し続けるようにした。以下、具体的に説明する。
【００８３】
先ず、操作エリア生成部１０５は、配置変更後の仮想カメラから、仮想３次元空間の移動平面に配置された仮想操作パッドＰを見たときの操作エリア（図１１Ｂの左図に示す操作エリア５０２）を生成する。
【００８４】
具体的には、配置変更後の仮想カメラと仮想操作パッドＰの位置関係から算出される座標変換行列等を用いることにより、ワールド座標系（Ｘｗ、Ｙｗ、Ｚｗ）に配置させた仮想操作パッドＰをビュー座標系（Ｘｃ、Ｙｃ、Ｚｃ）へ座標変換を行う。さらに、透視投影手法等を用いることにより、ビュー座標系（Ｘｃ、Ｙｃ、Ｚｃ）に配置された仮想操作パッドＰをスクリーン座標系（Ｘｓ、Ｙｓ）へ座標変換を行う。このように幾何学的な算出を行なって座標変換を繰り返すことにより、仮想３次元空間の仮想操作パッドＰを２次元画像（図１１Ｂの左図に示す操作エリア５０２）として生成することができる。
【００８５】
次に、表示制御部１０６は、図１１Ｃの右図に示す仮想カメラの配置変更前における仮想操作パッドＰ（図１１Ａの右図に示す仮想操作パッドＰと同じ）での指示方向を、その生成された操作エリア（図１１Ｂの左図に示す操作エリア５０２）でユーザーのスライド操作により指示されるべき画面上の指示方向に変換する。
【００８６】
具体的には、配置変更後の仮想カメラと仮想操作パッドＰの位置関係から算出される座標変換行列等を用いることにより、図１１Ｃの右図に示すワールド座標系における始点位置Ｐｗ１と終点位置Ｐｗ２の座標を、ビュー座標系における始点位置Ｐｃ１と終点位置Ｐｃ２の座標に変換する。さらに、ビュー座標系における始点位置Ｐｃ１と終点位置Ｐｃ２の座標を、スクリーン座標系における始点位置Ｐｓ１と終点位置Ｐｓ３の座標に変換する。
【００８７】
このような座標変換により、図１１Ｃに示すように、ワールド座標系のＸｗ−Ｚｗ平面（つまり、仮想３次元空間においてキャラクターＡが移動する移動平面）における仮想操作パッドＰでの指示方向が、スクリーン座標系のＸｓ−Ｙｓ平面における操作エリア５０２で指示されるべき指示方向に変換されたことになる。ここでは、座標変換前では、図１１Ｃの右図に示すように、ワールド座標系のＸｗ軸に対する指示角度が４５°であったものが、座標変換後には、スクリーン座標系のＸｓ軸に対する指示角度が１５°になったものとする。すなわち、ユーザーのスライド操作により画面上の操作エリア５０２で指示される指示方向が１５°であるならば、仮想３次元空間の移動平面においてキャラクターＡがこれまで通り４５°の指示方向に移動し続けるようになる。
【００８８】
次に、図１１Ｃの左図に示すように、ユーザーが接触させた指は画面から離さずにそのままの状態であるので、操作エリア５０２で指示されている指示方向の実際の終点位置は、ＰＳ３の座標位置ではなく、ＰＳ２の座標位置のままになっている。そのため、表示制御部１０６は、図１１Ｄに示すように、ユーザーのスライド操作により画面上の操作エリア５０２で指示される指示方向がそのまま１５°となるように維持するべく、その１５°の指示方向の終点位置がＰＳ３の座標位置からＰＳ２の座標位置となり、かつ、始点位置がＰＳ１の座標位置からＰＳ４の座標位置となるようにシフトさせる。すなわち、表示制御部１０６は、座標変換行列を用いてスクリーン座標系にて操作エリア５０２の座標変換を行うことにより、仮想カメラの配置変更の前後において画面上の指示方向の終点位置（ＰＳ２の座標位置）を一致させつつ、その変換された操作エリア５０２で指示されるべき画面上の指示方向（１５°）に合わせるように、その生成された操作エリア５０２（図１１Ｃの左図に示す操作エリア５０２）を画面上に配置する。
【００８９】
これにより、ユーザーのタッチ操作の継続中に仮想カメラの配置が変更されたとしても、これまでの移動方向を維持しつつキャラクターＡを移動させることができる。
【００９０】
＜＜スライド操作によるスライド距離＞＞
ここでは、スライド操作によるスライド距離に応じたキャラクターの移動速度について、図１２を用いて説明する。図１２は、操作エリアに対するスライド操作の具体例について説明する図である。
【００９１】
本実施形態におけるクライアント端末１０では、ユーザーが図８に示す画面上の操作エリア５０２に接触させた指をそのまま或る方向へ連続移動させるタッチ操作（スライド操作）を行った際に、その接触させた指を連続移動させた距離（スライド距離）に応じて、仮想３次元空間におけるキャラクターＡの移動速度を変更することも可能である。
【００９２】
ところが、仮想カメラの配置が変更されてしまうと、変更前後での仮想カメラの配置設定に応じて画面上の操作エリア５０２が変形することになるため、スライド操作時に必要となるスライド距離の大きさが異なることになる。
【００９３】
具体的に説明すると、仮想カメラの配置設定を変更する前では、ユーザーが図８に示す画面上の操作エリア５０２に対してスライド操作を行うときに、図１２Ａの左図に示すスライド距離Ｌ１だけスライド操作を行うことにより、仮想３次元空間においてキャラクターＡを高速で移動させることができるものとする。その一方、仮想カメラの配置設定を変更した後では、図１２Ａの右図に示すように、仮想カメラの視方向の変更によって楕円の面積が小さくなるように操作エリア５０２が変形したとすると、仮想３次元空間においてキャラクターＡを高速で移動させるためには、スライド距離Ｌ１よりも短いスライド距離Ｌ２だけスライド操作を行うことが必要となる。つまり、仮想カメラの配置変更前後において、ユーザーがスライド操作で入力すべきスライド距離の大きさが異なることになってしまう。
【００９４】
そこで、本実施形態におけるクライアント端末１０では、仮想カメラの配置が変更される前、及び、仮想カメラの配置が変更された後のいずれにおいても、ユーザーがスライド操作で入力したスライド距離が所定距離以上であれば、仮想３次元空間においてキャラクターＡを高速で移動させるようにした。
【００９５】
具体的には、仮想カメラ制御部１０３がユーザーの操作に従って仮想カメラの配置を変更した場合（例えば、仮想カメラの視方向を変更した場合）、オブジェクト制御部１０２は、仮想カメラの視方向が変更される前、及び、仮想カメラの視方向が変更された後のいずれにおいても、タッチパネルからの検出信号に基づいて、ユーザーのスライド操作により操作エリア５０２で指示された画面上のスライド距離を決定すると、その決定されたスライド距離が所定距離以上である場合には、仮想３次元空間においてキャラクターＡが高速で移動するように制御する。
【００９６】
例えば、図１２Ｂに示すように、仮想カメラの配置が変更される前（図１２Ｂの左図）、及び、仮想カメラの配置が変更された後（図１２の右図）のいずれにおいても、ユーザーがスライド操作で入力したスライド距離が距離Ｓ以上であれば、仮想３次元空間においてキャラクターＡを高速で移動させるようにする。
【００９７】
これにより、仮想３次元空間においてキャラクターＡを高速で移動させるために、仮想カメラの視方向が変更された後でも、仮想カメラの視方向が変更される前と同じスライド距離だけスライド操作を行えばよいので、仮想カメラの視方向が変更されたことによる混乱を抑制することができる。
【００９８】
＜仮想カメラの配置変更＞
また、仮想３次元空間においてキャラクターＡが高速で移動し続けている最中に、仮想カメラの配置が変更されると、図１２Ａに示すように、キャラクターＡの高速移動のために必要なスライド距離も連動して変更されることになる。そのため、仮想カメラの配置変更後、ユーザーがその接触させた指を画面から離さずにそのままの状態にしているにもかかわらず、キャラクターＡの高速移動のために必要なスライド距離が不足してしまい、仮想３次元空間においてキャラクターＡが高速移動を勝手に止めてしまう場合もある。
【００９９】
そこで、本実施形態におけるクライアント端末１０では、仮想３次元空間においてキャラクターＡが高速で移動し続けている状態においては、仮想カメラの配置が変更されたとしても、キャラクターＡの高速移動をさらに続けるようにすることも可能である。
【０１００】
具体的には、オブジェクト制御部１０２は、ユーザーのスライド操作により操作エリア５０２で指示された画面上のスライド距離が維持されたことによって、仮想３次元空間における移動平面上の指示方向にキャラクターＡが高速で移動し続けている状態において、仮想カメラ制御部１０３によって仮想カメラの視方向が変更された場合に、仮想カメラの視方向が変更された後において、ユーザーのスライド操作により操作エリア５０２で指示された画面上のスライド距離が引き続き維持されたことを条件として、仮想３次元空間においてキャラクターＡの高速移動をさらに続けるように制御する。
【０１０１】
これにより、キャラクターＡが高速移動しているときに仮想カメラの視方向が変更されたことによって、急にキャラクターＡが低速移動することのないように制御できるため、仮想カメラの視方向が変更されたことによる混乱を抑制することができる。
【０１０２】
＝＝＝その他の実施形態＝＝＝
前述の実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。特に、以下に述べる実施形態であっても、本発明に含まれるものである。
【０１０３】
＜スライド操作＞
前述の実施形態では、ユーザーがスライド操作を行うことによってキャラクターの移動方向を指示できる場合を例に挙げて説明したが、本発明はこれに限定されるものではない。例えば、ユーザーがスライド操作を行うことによって攻撃方向やスキル発動方向を指示できるようにしてもよい。
【０１０４】
また、前述の実施形態では、ユーザーがスライド操作で入力したスライド距離に応じてキャラクターの移動速度を変化させる場合（キャラクターの移動速度を低速から高速へ切り替える場合）を例に挙げて説明したが、本発明はこれに限定されるものではない。例えば、ユーザーがスライド操作で入力したスライド距離に応じて攻撃種類やスキル種類を変化させてもよい（攻撃種類を武器Ａから武器Ｂへ切り替えてもよいし、発動可能なスキル種類をスキルＡからスキルＢに切り替えてもよい）。
【０１０５】
＜仮想カメラの配置変更＞
前述の実施形態では、仮想カメラの俯角θが徐々に小さくなるように仮想カメラの視方向を変更して行った結果、楕円形状で画面表示される操作エリアが潰れて見える場合があり得る。このように楕円形状の操作エリアが見えにくくなってしまうと、タッチ操作ができなくなる。そのため、仮想カメラの俯角θが所定範囲内で変化するように、仮想カメラの配置変更を制限することも可能である。また、仮想カメラの高さが徐々に低くなるように仮想カメラの位置を変更して行った結果、楕円形状で画面表示される操作エリアが潰れて見える場合もあり得る。この場合にも、仮想カメラの高さが所定範囲内で変化するように、仮想カメラの配置変更を制限することも可能である。
【０１０６】
また、前述の実施形態では、ユーザーの操作に従って仮想カメラの視方向が変更される場合を例に挙げて説明したが、ユーザーの操作ではなく、ゲームの進行状況等に応じて自動的に仮想カメラの視方向が変更されるように制御することも可能である。
【０１０７】
＜操作エリア＞
前述の実施形態では、ゲーム画像５０１と操作エリア５０２を同一の画面上に配置した画面構成を例に挙げて説明したが、画面上で操作エリア５０２が見えないように画面構成することも可能である。
【０１０８】
また、前述の実施形態では、画面上で操作エリア５０２の配置を固定した画面構成であってもよいし、ユーザーが最初のタッチ操作で指示した任意の指示位置を基準位置とし、その基準位置に操作エリア５０２を配置した画面構成であってもよい。
【０１０９】
＜指示方向の変換＞
前述の実施形態では、座標変換や透視投影手法等を利用して、操作エリア５０２で指示された画面上の指示方向を、仮想３次元空間においてキャラクターＡが移動する移動平面上の指示方向に変換する場合を例に挙げて説明したが、本発明はこれに限定されるものではない。例えば、操作エリア５０２と仮想操作パッドＰとの面積比から変換後の指示角度を求めることにより、指示方向を変換することも可能である。
【符号の説明】
【０１１０】
１  情報処理システム
１０  クライアント端末
２０  サーバー装置
５０  コンピューター
５１  ＣＰＵ
５２  ＲＡＭ
５３  ＲＯＭ
５４  通信インタフェース
５５  入力装置
５６  表示装置
５７  外部インタフェース
５８  ＨＤＤ
１００  制御部
１０１  ゲーム進行部
１０２  オブジェクト制御部
１０３  仮想カメラ制御部
１０４  ゲーム画像生成部
１０５  操作エリア生成部
１０６  表示制御部
１２０  記憶部
１４０  通信部
１５０  操作受付部
１６０  画面表示部
５００  タッチパネル
５０１  ゲーム画像
５０２  操作エリア
Ｂ  バスライン
Ｎ  ネットワーク
【図１】
2020062179.tif 000003
【図２】
2020062179.tif 000004
【図３】
2020062179.tif 000005
【図４】
2020062179.tif 000006
【図５】
2020062179.tif 000007
【図６】
2020062179.tif 000008
【図７】
2020062179.tif 000009
【図８】
2020062179.tif 000010
【図９】
2020062179.tif 000011
【図１０】
2020062179.tif 000012
【図１１】
2020062179.tif 000013
【図１２】
2020062179.tif 000014
【手続補正書】
【提出日】令和1年5月20日(2019.5.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１
【補正方法】変更
【補正の内容】
【請求項１】
仮想３次元空間においてオブジェクトが移動する移動平面を斜めから見下ろすように配置された仮想カメラから、前記移動平面上の前記オブジェクトを見たときのゲーム画像を生成するゲーム画像生成部と、
仮想３次元空間において前記移動平面を斜めから見下ろすように配置された仮想カメラから、前記移動平面と平行になるように配置された仮想操作オブジェクトを見たときの前記仮想操作オブジェクトの形状を、操作エリアとして生成する操作エリア生成部と、
前記ゲーム画像と前記操作エリアを同一の画面上に配置させる表示制御部と、
前記ゲーム画像と前記操作エリアが配置された画面に対するユーザーのタッチ操作を検出するタッチパネルと、
前記タッチパネルからの検出信号に基づいて、ユーザーのタッチ操作により前記操作エリアで指示された画面上の指示方向を決定し、その決定された前記操作エリアで指示された画面上の指示方向を、仮想３次元空間における前記移動平面上の指示方向に変換し、その変換された前記移動平面上の指示方向に前記オブジェクトが移動するように制御するオブジェクト制御部と、
を備えたことを特徴とする情報処理装置。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２
【補正方法】変更
【補正の内容】
【請求項２】
請求項１に記載の情報処理装置であって、
仮想３次元空間における仮想カメラの配置を制御する仮想カメラ制御部と、
を備え、
ユーザーのタッチ操作により前記操作エリアで指示された画面上の指示方向が維持されたことによって、仮想３次元空間における前記移動平面上の指示方向に前記オブジェクトが移動し続けている状態で、仮想カメラの配置が変更された場合に、
前記操作エリア生成部は、変更後の仮想カメラから前記仮想操作オブジェクトを見たときの前記仮想操作オブジェクトの形状を、変形後の操作エリアとして生成し、
前記表示制御部は、仮想カメラの視方向が変更される前における前記移動平面上の指示方向を、生成された変形後の前記操作エリアでユーザーのタッチ操作により指示されるべき画面上の指示方向に変換し、その変換された前記画面上の指示方向に合うように、その生成された変形後の前記操作エリアを画面上に配置する、
ことを特徴とする情報処理装置。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項５
【補正方法】変更
【補正の内容】
【請求項５】
コンピューターを、
仮想３次元空間においてオブジェクトが移動する移動平面を斜めから見下ろすように配置された仮想カメラから、前記移動平面上の前記オブジェクトを見たときのゲーム画像を生成するゲーム画像生成手段、
仮想３次元空間において前記移動平面を斜めから見下ろすように配置された仮想カメラから、前記移動平面と平行になるように配置された仮想操作オブジェクトを見たときの前記仮想操作オブジェクトの形状を、操作エリアとして生成する操作エリア生成手段、
前記ゲーム画像と前記操作エリアを同一の画面上に配置させる表示制御手段、
タッチパネルからの検出信号に基づいて、ユーザーのタッチ操作により前記操作エリアで指示された画面上の指示方向を決定し、その決定された前記操作エリアで指示された画面上の指示方向を、仮想３次元空間における前記移動平面上の指示方向に変換し、その変換された前記移動平面上の指示方向に前記オブジェクトが移動するように制御するオブジェクト制御手段、
として機能させるためのプログラム。