JP2018112789A - 情報処理システム、情報処理プログラム、情報処理装置、情報処理方法、ゲームシステム、ゲームプログラム、ゲーム装置、及びゲーム方法 - Google Patents

情報処理システム、情報処理プログラム、情報処理装置、情報処理方法、ゲームシステム、ゲームプログラム、ゲーム装置、及びゲーム方法 Download PDF

Info

Publication number
JP2018112789A
JP2018112789A JP2017001394A JP2017001394A JP2018112789A JP 2018112789 A JP2018112789 A JP 2018112789A JP 2017001394 A JP2017001394 A JP 2017001394A JP 2017001394 A JP2017001394 A JP 2017001394A JP 2018112789 A JP2018112789 A JP 2018112789A
Authority
JP
Japan
Prior art keywords
camera
information processing
virtual camera
destination
virtual
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.)
Granted
Application number
JP2017001394A
Other languages
English (en)
Other versions
JP6681352B2 (ja
Inventor
裕介 北園
Yusuke Kitazono
裕介 北園
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.)
Nintendo Co Ltd
Original Assignee
Nintendo 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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2017001394A priority Critical patent/JP6681352B2/ja
Priority to US15/724,562 priority patent/US10482657B2/en
Publication of JP2018112789A publication Critical patent/JP2018112789A/ja
Application granted granted Critical
Publication of JP6681352B2 publication Critical patent/JP6681352B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/25Output arrangements for video game devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • A63F13/5258Changing parameters of virtual cameras by dynamically adapting the position of the virtual camera to keep a game object or game character in its viewing frustum, e.g. for tracking a character or a ball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/21Collision detection, intersection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】 仮想空間内を移動する仮想カメラによる画像の自然な変化を実現する。
【解決手段】 情報処理システム100は、所定の情報処理に基づいて仮想空間内における仮想カメラCの移動先の位置を算出するカメラ移動先算出部321と、仮想カメラCの撮像対象Pの位置から移動先の位置に向かう第1ベクトルV1が仮想空間内の遮蔽物オブジェクトSに外側から交差し、かつ、移動先の位置から仮想カメラCの撮像対象Pの位置に向かう第2ベクトルV2が遮蔽物オブジェクトSに外側から交差しない場合に、遮蔽物オブジェクトSを回避する回避位置に仮想カメラCを移動させるカメラ移動部324と、カメラ移動部324によって移動された仮想カメラCに基づいて仮想空間の画像を生成する画像生成部33とを備える。
【選択図】 図4

Description

本発明は、仮想空間内に仮想カメラを設定して画像を生成する情報処理システム、情報処理プログラム、情報処理装置、情報処理方法、ゲームシステム、ゲームプログラム、ゲーム装置、及びゲーム方法に関する。
従来より、仮想空間内に仮想カメラを設定して、その仮想カメラによる仮想の撮影によって得られる画像(仮想撮影画像)を生成して提供する情報処理システムが知られている。このような情報処理システムとして、例えば、仮想空間でゲームを展開するゲームシステム、VR(仮想現実)を提供するVRシステムがある。
この情報処理システムでは、所定の撮像対象(例えばゲーム場合にはプレイヤキャラクタオブジェクト)を撮影するように、仮想空間内で仮想カメラを撮像対象に合わせて移動させることで、撮像対象を含む画像を生成する。この情報処理システムにおいて、撮像対象に合わせて仮想カメラを移動させた結果、撮像対象と仮想カメラとの間に他のオブジェクト(遮蔽物オブジェクト)が存在することになる場合には、遮蔽物オブジェクトによる遮蔽が生じない回避位置、例えば、撮像対象と遮蔽物オブジェクトとの間の位置まで仮想カメラを移動させるという制御(遮蔽回避制御)が行われる。
特開2014−235596号公報
しかしながら、上記のような遮蔽回避制御によれば、仮想カメラが急激に回避位置に移動することがあり、そうなると生成される画像も急激に変化することになる。
本発明は、仮想空間内を移動する仮想カメラによる画像の自然な変化を実現することを目的とする。本発明の他の目的は、遮蔽回避制御の処理負荷を軽減することである。
本発明の一態様の情報処理システムは、所定の情報処理に基づいて仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出部と、前記仮想カメラの撮像対象の位置から前記移動先の位置に向かう第1ベクトルが前記仮想空間内の遮蔽物オブジェクトに外側から交差し、かつ、前記移動先の位置から前記仮想カメラの撮像対象の位置に向かう第2ベクトルが前記遮蔽物オブジェクトに外側から交差しない場合に、前記遮蔽物オブジェクトを回避する回避位置に前記仮想カメラを移動させるカメラ移動部と、前記カメラ移動部によって移動された前記仮想カメラに基づいて前記仮想空間の画像を生成する画像生成部とを備える。
撮像対象の位置から仮想カメラの移動先の位置に向かう第1ベクトルが遮蔽物オブジェクトに外側から交差し、かつ、仮想カメラの移動先の位置から撮像対象の位置に向かう第2ベクトルが遮蔽物オブジェクトに外側から交差しない場合とは、すなわち、仮想カメラの移動先の位置が遮蔽物オブジェクトの内部にあることを意味する。このように、算出された仮想カメラの移動先の位置が遮蔽物オブジェクトの内部にある場合に、仮想カメラを、算出された移動先の位置ではなく回避位置に移動させるので、仮想カメラからみて撮像対象が遮蔽物オブジェクトによって遮蔽されている場合に常に回避位置に移動させる場合と比較して、仮想カメラによる画像の自然な変化を実現するができる。また、仮想カメラの移動先の位置が遮蔽物オブジェクトの内部にあるか否かを、撮像対象の位置から仮想カメラの移動先の位置に向かう第1ベクトル)と、仮想カメラの移動先の位置から撮像対象の位置に向かう第2ベクトルとが、それぞれ遮蔽物オブジェクトに外側から交差するか否かによって判断するので、仮想カメラの移動先の位置が遮蔽物オブジェクトの内部にあるか否かを直接判断する場合と比較して、遮蔽回避制御の処理負荷を軽減できる。
前記カメラ移動部は、前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差しない場合に、前記仮想カメラを前記移動先の位置に移動させてよい。
第1ベクトルが遮蔽物オブジェクトに外側から交差しない場合とは、撮像対象と仮想カメラの移動先との間に遮蔽物オブジェクトが存在せず、仮想カメラから見て撮像対象が遮蔽物オブジェクトによって遮蔽されないことを意味し、この場合は、算出された移動先に仮想カメラを移動する。この構成により、撮像対象が遮蔽物オブジェクトに遮蔽されない場合には、所定の情報処理に基づいて算出された移動先の位置に仮想カメラを移動させることができる。
前記カメラ移動部は、前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差し、かつ、前記第2ベクトルが前記遮蔽物オブジェクトに外側から交差する場合に、前記仮想カメラを前記移動先の位置に移動させてよい。
第1ベクトルが遮蔽物オブジェクトに外側から交差し、かつ、第2ベクトルも遮蔽物オブジェクトに外側から交差する場合とは、撮像対象と仮想カメラとの間に遮蔽物オブジェクトが存在するが、仮想カメラは当該遮蔽物オブジェクトの内部にはないことを意味する。この構成により、そのような場合には、遮蔽回避制御を行わず、所定の情報処理に基づいて算出された移動先の位置に仮想カメラを移動させることができる。
前記回避位置は、前記遮蔽物オブジェクトより前記撮像対象側の位置であってよい。
この構成により、回避位置では仮想カメラが遮蔽物オブジェクトに遮蔽されることなく、撮像対象が遮蔽されていない画像を生成できる。
前記カメラ移動先算出部は、プレイヤの操作に基づく所定の情報処理に基づいて前記移動先の位置を算出してよい。
この構成により、プレイヤの操作に基づいて仮想カメラの移動先の位置を算出できる。
前記カメラ移動先算出部は、前記プレイヤの操作に基づいて前記仮想空間内を移動する前記撮像対象の移動に伴って前記仮想カメラが移動するように情報処理を行うことで前記移動先の位置を算出してよい。
この構成により、プレイヤの操作に基づいて移動する撮像対象の移動に伴って仮想カメラが移動するので、プレイヤが仮想カメラの移動の指示を直接意識することなく、撮像対象の画像を得ることができる。
前記カメラ移動先算出部は、前記プレイヤのカメラ移動の指示に従って前記仮想カメラが移動するように情報処理を行うことで前記移動先の位置を算出してよい。
この構成により、プレイヤは仮想カメラの移動について直接的に指示をすることができる。
前記画像生成部は、前記遮蔽物オブジェクトによって遮蔽される前記撮像対象の前記仮想空間内における位置を示す画像を生成してよい。
この構成により、撮像対象が遮蔽物オブジェクトによって遮蔽される場合にも、画像において撮像対象の仮想空間内での位置を把握できる。
前記画像生成部は、前記遮蔽物オブジェクトによって遮蔽される前記撮像対象をシルエットで示す画像を生成してよい。
この構成により、撮像対象が遮蔽物オブジェクトによって遮蔽される場合にも、画面において撮像対象がシルエットで表示されるので、撮像対象の様子を把握できる。
上記の情報処理システムは、前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差するか否かの第1判定を行う第1判定部と、前記第2ベクトルが前記遮蔽物オブジェクトに外側から交差するか否かの第2判定を行う第2判定部とをさらに備えていてよく、前記カメラ移動部は、前記第1判定及び前記第2判定の結果に基づいて前記仮想カメラを移動させてよい。
この構成により、第1判定と第2判定とをそれぞれの判定処理として行うことができる。
前記第2判定部は、前記第1判定部が前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差すると判定した場合に、前記第2判定を行ってよい。
この構成により、第2判定が不要な場合には、第2判定をしないようにして、処理負荷を軽減できる。
本発明の一態様のゲームシステムは、プレイヤの操作に基づいて、仮想空間内でプレイヤキャラクタオブジェクトを移動させるプレイヤキャラクタ制御部と、前記プレイヤキャラクタオブジェクトの移動に応じて、前記仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出部と、前記移動先の位置と前記プレイヤキャラクタオブジェクトとの間の遮蔽物オブジェクトの有無を判定する遮蔽物判定部と、前記移動先の位置が前記遮蔽物オブジェクトの内部であるか否か判定するコリジョン判定部と、前記遮蔽物判定部において前記遮蔽物オブジェクトがあると判定され、前記コリジョン判定部において前記移動先が前記遮蔽物オブジェクトの内部にあると判定されたときに、前記仮想カメラを前記遮蔽物オブジェクトより前記プレイヤキャラクタオブジェクト側になる位置に移動させるカメラ移動部と、前記遮蔽物判定部において前記遮蔽物オブジェクトがあると判定され、かつ、前記コリジョン判定部において前記移動先の位置が前記遮蔽物オブジェクトの内部でないと判定されたときに、前記遮蔽物オブジェクト上に、前記遮蔽物オブジェクトによって遮蔽されている前記プレイヤキャラクタオブジェクトの存在を示す画像が表示されるように前記仮想空間の画像を生成する画像生成部とを備える。
この構成により、仮想カメラが遮蔽物オブジェクトの内部に移動することとなる場合に回避制御が行われるとともに、仮想カメラが遮蔽物オブジェクトの内部にはないが仮想カメラとプレイヤキャラクタオブジェクトとの間に遮蔽物オブジェクトが存在して、プレイヤキャラクタオブジェクトが遮蔽される場合には、回避制御は行われないので、急激な画像の変化を避けることができる。また、遮蔽物オブジェクト上にプレイヤキャラクタオブジェクトの存在を示す画像が表示されるので、回避制御を行わなくてもプレイヤキャラクタオブジェクトの存在を確認できる。
本発明の一態様の情報処理プログラムは、情報処理装置に、所定の情報処理に基づいて仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出ステップと、前記仮想カメラの撮像対象の位置から前記移動先の位置に向かう第1ベクトルが前記仮想空間内の遮蔽物オブジェクトに外側から交差し、かつ、前記移動先の位置から前記仮想カメラの撮像対象の位置に向かう第2ベクトルが前記遮蔽物オブジェクトに外側から交差しない場合に、前記遮蔽物オブジェクトを回避する回避位置に前記仮想カメラを移動させるカメラ移動ステップと、前記カメラ移動ステップによって移動された前記仮想カメラに基づいて前記仮想空間の画像を生成する画像生成ステップとを実行させる。
この構成により、算出された仮想カメラの移動先の位置が遮蔽物オブジェクトの内部にある場合に、仮想カメラを、算出された移動先の位置ではなく回避位置に移動させるので、仮想カメラからみて撮像対象が遮蔽物オブジェクトによって遮蔽されている場合に常に回避位置に移動させる場合と比較して、仮想カメラによる画像の自然な変化を実現するができる。また、仮想カメラの移動先の位置が遮蔽物オブジェクトの内部にあるか否かを、撮像対象の位置から仮想カメラの移動先の位置に向かう第1ベクトルと、仮想カメラの移動先の位置から撮像対象の位置に向かう第2ベクトルとが、それぞれ遮蔽物オブジェクトに外側から交差するか否かによって判断するので、仮想カメラの移動先の位置が遮蔽物オブジェクトの内部にあるか否かを直接判断する場合と比較して、遮蔽回避制御の処理負荷を軽減できる。
前記カメラ移動ステップは、前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差しない場合に、前記仮想カメラを前記移動先の位置に移動させてよい。
この構成により、撮像対象が遮蔽物オブジェクトに遮蔽されない場合には、所定の情報処理に基づいて算出された移動先の位置に仮想カメラを移動させることができる。
前記カメラ移動ステップは、前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差し、かつ、前記第2ベクトルが前記遮蔽物オブジェクトに外側から交差する場合に、前記仮想カメラを前記移動先の位置に移動させてよい。
この構成により、撮像対象と仮想カメラとの間に遮蔽物オブジェクトが存在するが、仮想カメラは当該遮蔽物オブジェクトの内部にはない場合には、遮蔽回避制御を行わず、所定の情報処理に基づいて算出された移動先の位置に仮想カメラを移動させることができる。
前記回避位置は、前記遮蔽物オブジェクトより前記撮像対象側の位置であってよい。
この構成により、回避位置では仮想カメラが遮蔽物オブジェクトに遮蔽されることなく、撮像対象が遮蔽されていない画像を生成できる。
前記カメラ移動先算出ステップは、プレイヤの操作に基づく所定の情報処理に基づいて前記移動先の位置を算出してよい。
この構成により、プレイヤの操作に基づいて仮想カメラの移動先の位置を算出できる。
前記カメラ移動先算出ステップは、前記プレイヤの操作に基づいて前記仮想空間内を移動するプレイヤキャラクタオブジェクトの移動に伴って前記仮想カメラが移動するように情報処理を行うことで前記移動先の位置を算出してよい。
この構成により、プレイヤの操作に基づいて移動する撮像対象の移動に伴って仮想カメラが移動するので、プレイヤが仮想カメラの移動の指示を直接意識することなく、撮像対象の画像を得ることができる。
前記カメラ移動先算出ステップは、前記プレイヤのカメラ移動の指示に従って前記仮想カメラが移動するように情報処理を行うことで前記移動先の位置を算出してよい。
この構成により、プレイヤは仮想カメラの移動について直接的に指示をすることができる。
前記画像生成ステップは、前記遮蔽物オブジェクトによって遮蔽される前記撮像対象の前記仮想空間内における位置を示す画像を生成してよい。
この構成により、撮像対象が遮蔽物オブジェクトによって遮蔽される場合にも、画像において撮像対象の仮想空間内での位置を把握できる。
前記画像生成ステップは、前記遮蔽物オブジェクトによって遮蔽される前記撮像対象をシルエットで示す画像を生成してよい。
この構成により、撮像対象が遮蔽物オブジェクトによって遮蔽される場合にも、画面において撮像対象がシルエットで表示されるので、撮像対象の様子を把握できる。
上記の情報処理プログラムは、前記情報処理装置に、さらに、前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差するか否かの第1判定を行う第1判定ステップと、前記第2ベクトルが前記遮蔽物オブジェクトに外側から交差するか否かの第2判定を行う第2判定ステップとを実行させてよく、前記カメラ移動ステップは、前記第1判定及び前記第2判定の結果に基づいて前記仮想カメラを移動させてよい。
この構成により、第1判定と第2判定とをそれぞれの判定処理として行うことができる。
前記第1判定ステップにて前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差すると判定された場合に、前記第2判定ステップにて前記第2判定を行ってよい。
この構成により、第2判定が不要な場合には、第2判定をしないようにして、処理負荷を軽減できる。
本発明の一態様のゲームプログラムは、情報処理装置に、プレイヤの操作に基づいて、仮想空間内でプレイヤキャラクタオブジェクトを移動させるプレイヤキャラクタ制御ステップと、前記プレイヤキャラクタオブジェクトの移動に応じて、前記仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出ステップと、前記移動先の位置と前記プレイヤキャラクタオブジェクトとの間の遮蔽物オブジェクトの有無を判定する遮蔽物判定ステップと、前記移動先の位置が前記遮蔽物オブジェクトの内部であるか否か判定するコリジョン判定ステップと、前記遮蔽物判定ステップにおいて前記遮蔽物オブジェクトがあると判定され、前記コリジョン判定ステップにおいて前記移動先が前記遮蔽物オブジェクトの内部にあると判定されたときに、前記仮想カメラを前記遮蔽物オブジェクトより前記プレイヤキャラクタオブジェクト側になる位置に移動させるカメラ移動ステップと、前記遮蔽物判定ステップにおいて前記遮蔽物オブジェクトがあると判定され、かつ、前記コリジョン判定ステップにおいて前記移動先の位置が前記遮蔽物オブジェクトの内部でないと判定されたときに、前記遮蔽物オブジェクト上に、前記遮蔽物オブジェクトによって遮蔽されている前記プレイヤキャラクタオブジェクトを示す画像が表示されるように前記仮想空間の画像を生成する画像生成ステップとを実行させる。
この構成により、仮想カメラが遮蔽物オブジェクトの内部に移動することとなる場合に回避制御が行われるとともに、仮想カメラが遮蔽物オブジェクトの内部にはないが仮想カメラとプレイヤキャラクタオブジェクトとの間に遮蔽物オブジェクトが存在して、プレイヤキャラクタオブジェクトが遮蔽される場合には、回避制御は行われないので、急激な画像の変化を避けることができる。また、遮蔽物オブジェクト上にプレイヤキャラクタオブジェクトの存在を示す画像が表示されるので、回避制御を行わなくてもプレイヤキャラクタオブジェクトの存在を確認できる。
本発明の一態様の情報処理装置は、所定の情報処理に基づいて仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出部と、前記仮想カメラの撮像対象の位置から前記移動先の位置に向かう第1ベクトルが前記仮想空間内の遮蔽物オブジェクトに外側から交差し、かつ、前記移動先の位置から前記仮想カメラの撮像対象の位置に向かう第2ベクトルが前記遮蔽物オブジェクトに外側から交差しない場合に、前記遮蔽物オブジェクトを回避する回避位置に前記仮想カメラを移動させるカメラ移動部と、前記カメラ移動部によって移動された前記仮想カメラに基づいて前記仮想空間の画像を生成する画像生成部とを備える。
この構成により、算出された仮想カメラの移動先の位置が遮蔽物オブジェクトの内部にある場合に、仮想カメラを、算出された移動先の位置ではなく回避位置に移動させるので、仮想カメラからみて撮像対象が遮蔽物オブジェクトによって遮蔽されている場合に常に回避位置に移動させる場合と比較して、仮想カメラによる画像の自然な変化を実現するができる。また、仮想カメラの移動先の位置が遮蔽物オブジェクトの内部にあるか否かを、撮像対象の位置から仮想カメラの移動先の位置に向かう第1ベクトルと、仮想カメラの移動先の位置から撮像対象の位置に向かう第2ベクトルとが、それぞれ遮蔽物オブジェクトに外側から交差するか否かによって判断するので、仮想カメラの移動先の位置が遮蔽物オブジェクトの内部にあるか否かを直接判断する場合と比較して、遮蔽回避制御の処理負荷を軽減できる。
本発明の一態様のゲーム装置は、プレイヤの操作に基づいて、仮想空間内でプレイヤキャラクタオブジェクトを移動させるプレイヤキャラクタ制御部と、前記プレイヤキャラクタオブジェクトの移動に応じて、前記仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出部と、前記移動先の位置と前記プレイヤキャラクタオブジェクトの間の遮蔽物オブジェクトの有無を判定する遮蔽物判定部と、前記移動先の位置が前記遮蔽物オブジェクトの内部であるか否か判定するコリジョン判定部と、前記遮蔽物判定部において前記遮蔽物オブジェクトがあると判定され、前記コリジョン判定部において前記移動先の位置が前記遮蔽物オブジェクトの内部であると判定されたときに、前記仮想カメラを前記遮蔽物オブジェクトより前記プレイヤキャラクタオブジェクト側になる位置に移動させるカメラ移動部と、前記遮蔽物判定部において前記遮蔽物オブジェクトがあると判定され、かつ、前記コリジョン判定部において前記移動先の位置が前記遮蔽物オブジェクトの内部でないと判定されたときに、前記遮蔽物オブジェクト上に、前記遮蔽物オブジェクトによって遮蔽されている前記プレイヤキャラクタオブジェクトの存在を示す画像が表示されるように前記仮想空間の画像を生成する画像生成部とを備える。
この構成により、仮想カメラが遮蔽物オブジェクトの内部に移動することとなる場合に回避制御が行われるとともに、仮想カメラが遮蔽物オブジェクトの内部にはないが仮想カメラとプレイヤキャラクタオブジェクトとの間に遮蔽物オブジェクトが存在して、プレイヤキャラクタオブジェクトが遮蔽される場合には、回避制御は行われないので、急激な画像の変化を避けることができる。また、遮蔽物オブジェクト上にプレイヤキャラクタオブジェクトの存在を示す画像が表示されるので、回避制御を行わなくてもプレイヤキャラクタオブジェクトの存在を確認できる。
本発明の一態様の情報処理方法は、所定の情報処理に基づいて仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出ステップと、前記仮想カメラの撮像対象の位置から前記移動先の位置に向かう第1ベクトルが前記仮想空間内の遮蔽物オブジェクトに外側から交差し、かつ、前記移動先の位置から前記仮想カメラの撮像対象の位置に向かう第2ベクトルが前記遮蔽物オブジェクトに外側から交差しない場合に、前記遮蔽物オブジェクトを回避する回避位置に前記仮想カメラを移動させるカメラ移動ステップと、前記カメラ移動ステップによって移動された前記仮想カメラに基づいて前記仮想空間の画像を生成する画像生成ステップとを含む。
この構成により、算出された仮想カメラの移動先の位置が遮蔽物オブジェクトの内部にある場合に、仮想カメラを、算出された移動先の位置ではなく回避位置に移動させるので、仮想カメラからみて撮像対象が遮蔽物オブジェクトによって遮蔽されている場合に常に回避位置に移動させる場合と比較して、仮想カメラによる画像の自然な変化を実現するができる。また、仮想カメラの移動先の位置が遮蔽物オブジェクトの内部にあるか否かを、撮像対象の位置から仮想カメラの移動先の位置に向かう第1ベクトルと、仮想カメラの移動先の位置から撮像対象の位置に向かう第2ベクトルとが、それぞれ遮蔽物オブジェクトに外側から交差するか否かによって判断するので、仮想カメラの移動先の位置が遮蔽物オブジェクトの内部にあるか否かを直接判断する場合と比較して、遮蔽回避制御の処理負荷を軽減できる。
本発明の一態様のゲーム方法は、プレイヤの操作に基づいて、仮想空間内でプレイヤキャラクタオブジェクトを移動させるプレイヤキャラクタ制御ステップと、前記プレイヤキャラクタオブジェクトの移動に応じて、前記仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出ステップと、前記移動先の位置と前記プレイヤキャラクタオブジェクトとの間の遮蔽物オブジェクトの有無を判定する遮蔽物判定ステップと、前記移動先の位置が前記遮蔽物オブジェクトの内部であるか否か判定するコリジョン判定ステップと、前記遮蔽物判定ステップにおいて前記遮蔽物オブジェクトがあると判定され、かつ、前記コリジョン判定ステップにおいて前記移動先が前記遮蔽物オブジェクトの内部にあると判定されたときに、前記仮想カメラを前記遮蔽物オブジェクトより前記プレイヤキャラクタオブジェクト側になる位置に移動させるカメラ移動ステップと、前記遮蔽物判定ステップにおいて前記遮蔽物オブジェクトがあると判定され、かつ、前記コリジョン判定ステップにおいて前記移動先の位置が前記遮蔽物オブジェクトの内部でないと判定されたときに、前記遮蔽物オブジェクト上に、前記遮蔽物オブジェクトによって遮蔽されている前記プレイヤキャラクタオブジェクトを示す画像が表示されるように前記仮想空間の画像を生成する画像生成ステップとを含む。
この構成により、仮想カメラが遮蔽物オブジェクトの内部に移動することとなる場合に回避制御が行われるとともに、仮想カメラが遮蔽物オブジェクトの内部にはないが仮想カメラとプレイヤキャラクタオブジェクトとの間に遮蔽物オブジェクトが存在して、プレイヤキャラクタオブジェクトが遮蔽される場合には、回避制御は行われないので、急激な画像の変化を避けることができ、遮蔽物オブジェクト上にプレイヤキャラクタオブジェクトの存在を示す画像が表示されるので、回避制御を行わなくてもプレイヤキャラクタオブジェクトの存在を確認できる。
本発明によれば、仮想空間内を移動する仮想カメラによる画像の自然な変化を実現することができる。
本発明の実施の形態の情報処理システムの外観図 本発明の実施の形態の情報処理システムの使用態様の例を示す図 本発明の実施の形態の情報処理システムの使用態様の例を示す図 本発明の実施の形態の情報処理システムの構成を示すブロック図 本発明の実施の形態の仮想空間におけるプレイヤキャラクタオブジェクトと仮想カメラとの基本的な位置関係を示す図 本発明の実施の形態の仮想空間において仮想カメラの移動先の位置が遮蔽物オブジェクトの内部となる場合を示す図 本発明の実施の形態の仮想空間において遮蔽回避制御によって仮想カメラが回避位置に移動している様子を示す図 本発明の実施の形態の仮想空間において仮想カメラとプレイヤキャラクタオブジェクトとの間に遮蔽物オブジェクトが存在している場合を示す図 本発明の実施の形態の遮蔽物判定部及びコリジョン判定部の処理を説明する図 本発明の実施の形態の表示部に表示される画像の例を示す図 本発明の実施の形態の制御部における処理のフロー図
以下、図面を参照して本発明の実施の形態を説明する。なお、以下に説明する実施の形態は、本発明を実施する場合の一例を示すものであって、本発明を以下に説明する具体的構成に限定するものではない。本発明の実施にあたっては、実施の形態に応じた具体的構成が適宜採用されてよい。
図1は、本発明の実施の形態の情報処理システムの外観図である。本実施形態では、情報処理システムがゲームシステムとして構成される。情報処理システム100は、本体装置(情報処理装置;本実施例ではゲーム装置本体として機能する)200と、左コントローラ300と、右コントローラ400とを含む。以下、左コントローラ300及び右コントローラ400を総称して「コントローラ」という。コントローラは、それぞれ本体装置200に着脱可能である。左コントローラ300は、本体装置200の左側面(図1に示すx軸正方向側の側面)に装着され、右コントローラ400は、本体装置200の右側面(図1に示すx軸負方向側の側面)に装着される。
本体装置200は、情報処理システム100における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置200は、ディスプレイ201を備える。コントローラは、ユーザが入力を行うための操作部を備える装置である。
本体装置200は、略板状であり、その前面は、大略的には矩形形状である。ハウジング11の前面にはディスプレイ201が設けられている。ディスプレイ201は、本体装置200が生成した画像を表示する。本実施例においては、ディスプレイ201は、液晶表示装置(LCD)とする。ただし、ディスプレイ201は任意の種類の表示装置であってよい。
本体装置200は、ディスプレイ201の画面上にタッチパネル202を備える。本実施例においては、タッチパネル202は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル202は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
本体装置200は、内部にスピーカ(不図示)を備えており、主面には、スピーカ音を出力するためのスピーカ孔203a及び203bが形成される。本体装置200の上側面には、記憶媒体を装着可能なスロット(不図示)や電源ボタン(不図示)が設けられる。
本体装置200の左右の側面には、左コントローラ300及び右コントローラ400をそれぞれ着脱するための機構、及び左コントローラ300及び右コントローラ400とそれぞれ有線通信を行うための端子が設けられている。本体装置200の底面には、クレードル500(図3参照)と有線通信をするための下側端子(不図示)が設けられている。
左コントローラ300は、前面に、アナログスティック302を備えている。アナログスティック302は、方向を入力することが可能な方向入力部として用いることができる。アナログスティック302は、左コントローラ300の前面に平行な全方向(すなわち、上下左右および斜め方向を含む、360°の方向)に傾倒可能なスティック部材を有する。ユーザ(ゲームをプレイするユーザを以下「プレイヤ」ともいう。)は、スティック部材を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。
左コントローラ300は、4つの操作ボタン303〜306(具体的には、右方向ボタン303、下方向ボタン304、上方向ボタン305、および、左方向ボタン306)を備える。これらのアナログスティック302、及び操作ボタン303〜306は、本体装置200で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
右コントローラ400は、前面に、アナログスティック402、及び4つの操作ボタン403〜406(具体的には、Aボタン403、Bボタン404、Xボタン405、および、Yボタン406)を備える。アナログスティック402の構成は、左スティック300のアナログスティック302と同じである。
図1に示すように、左コントローラ300では、本体装置200に装着されたときにアナログスティック302が上側に位置し、4つの操作ボタン303〜306がアナログスティック302の下に位置するように、アナログスティック302及び操作ボタン303〜306がそれぞれ配置されるが、右コントローラ400では、これとは逆に、アナログスティック402が下側に位置し、4つの操作ボタン403〜406はアナログスティック402の上に位置するように、アナログスティック402及び操作ボタン403〜406が設けられる。
図2及び図3は、情報処理システム100の使用態様の例を示す図である。図2は、左コントローラ300及び右コントローラ400を本体装置200に装着して一体型装置として使用する使用態様を示しており、図3は、本体装置200から左コントローラ300及び右コントローラ400を離脱した状態で使用する使用態様を示している。
図2に示すように、一体型装置として使用する場合は、ユーザは、左コントローラ300の部分を左手で把持し、右コントローラ400の部分を右手で把持する。このとき、左手と右手との間にディスプレイ201が位置する。上記のように、左コントローラ300ではアナログスティック302が上側にあり、右コントローラ4では操作ボタン403〜406が上側にあるので、ユーザは、左手の親指でアナログスティック302を操作し、右手の親指で操作ボタン403〜406を操作することができる。
図3に示すように、コントローラを本体装置200から取り外して用いる場合には、左コントローラ300を左手で把持し、右コントローラ400を右手で把持する。このとき、本体装置200は、クレードル500に設置してよい。本体装置200は、下側端子を介してクレードル500に接続される。本体装置200は、クレードル500を介して外部表示装置の一例である据置型モニタ600(例えば、据置型テレビ)に接続され、ディスプレイ201に表示すべき画像を据置型モニタ600に表示することができる。なお、コントローラを本体装置200から取り外して用いる場合に、本体装置200をクレードル500に設置せずに、ディスプレイ201に画像を表示するようにしてもよい。
図2に示すようにコントローラが本体装置200に装着される場合には、コントローラに対するユーザの操作を示す操作信号は、本体装置200の側面の端子を介して有線で本体装置200に送信される。一方、図3に示すようにコントローラが本体装置200から離脱した状態で使用される場合には、コントローラからの操作信号は、無線で本体装置200に送信される。
図4は、情報処理システム100の構成を示すブロック図である。図4では、本実施の形態の説明に必要な構成のみを図示している。情報処理システム100は、入力部10と、記憶部20と、制御部30と、表示部40とを備えている。入力部10は、コントローラに対応しており、記憶部20及び制御部30は本体装置200に備えられる。表示部40は、図2に示すように情報処理システム100が一体型装置として構成される場合には、ディスプレイ201がこれに該当し、図3に示すように情報処理システム100が据置型モニタ600を含んで構成される場合には、この据置型モニタ600がこれに該当し得る。なお、記憶部20及び制御部30の各要素は、分散されて配置されてよく、さらに、分散された各要素が通信ネットワークを介して接続されてもよい。
記憶部20は、フラッシュメモリ及びDRAM(Dynamic Random Access Memory)がこれに該当する。フラッシュメモリは、主に、本体装置200に保存される各種のデータ(プログラムを含む)を記憶するために用いられるメモリである。DRAMは、制御部30での情報処理に用いられる各種のデータを一時的に記憶するために用いられるメモリである。
制御部30は、CPUで構成される。制御部30は、ゲーム制御部31と、カメラ制御部32と、画像生成部33とを備える。制御部30の各部の機能は、CPUが記憶部20に記憶された本実施の形態の情報処理プログラム(本実施の形態では、ゲームプログラム)を実行することで実現される。
ゲーム制御部31は、ゲームプログラムに従って、入力部10からの操作信号に基づいてゲーム処理を行う。本実施の形態のゲームは、三次元の仮想空間内をプレイヤキャラクタが移動することで展開する。特に、プレイヤは入力部10に操作(例えばアナログスティック302の傾倒)を入力することで、プレイヤキャラクタを仮想空間内で移動させることができる。すなわち、ゲーム処理部31は、プレイヤの操作入力に基づいて仮想空間内でプレイヤキャラクタを移動させるので、プレイヤキャラクタ制御部ということもできる。
また、この仮想空間には、仮想カメラが設定されており、仮想カメラで仮想的に撮像して得られるべき画像が画像生成部34で生成される。
カメラ制御部30は、仮想カメラの仮想空間内における位置及び方向を制御する。すなわち、カメラ制御部30は、仮想空間内で仮想カメラを移動させる。ゲーム中は、基本的には、仮想カメラは、プレイヤキャラクタオブジェクトPを撮像対象として、プレイヤによって移動されるプレイヤキャラクタオブジェクトの移動に伴って、仮想空間内を移動する。カメラ制御部33は、ゲーム制御部31におけるゲーム処理の結果、遮蔽物判定部322の判定結果、及びコリジョン判定部323の判定結果に基づいて、仮想カメラの移動を制御する。なお、仮想カメラはさらに画角を調整可能であってもよく、この場合は、カメラ制御部30は仮想カメラの画角も制御する。
画像生成部34は、カメラ制御部33で制御された仮想カメラCによって仮想的に撮影されるべき画像を生成する。生成された画像は、表示部40に出力され、表示部40で表示される。プレイヤは表示部40を見ることで、プレイヤキャラクタオブジェクトを含む仮想空間の様子を視覚的に把握できる。
カメラ制御部30において仮想カメラの移動を制御して画像を生成するための構成について、図4とともに図5〜9を参照して説明する。図5〜図8は仮想空間を示す図である。なお、図5〜9では、仮想空間が2次元的に描かれているが、本実施の形態のゲームシステム100において提供される仮想空間は3次元空間である。また、図5〜9では、仮想カメラが描かれているが、実際にはこのようなカメラのオブジェクトが仮想空間に設定されるということではなく、仮想カメラは視点(焦点)の位置、視線(光軸)の方向および画角等のカメラパラメータによって定義される。
また、図6では、複数のプレイヤキャラクタオブジェクトP、及び複数の仮想カメラCが描かれているが、これらはプレイヤキャラクタオブジェクトPと仮想カメラCとの複数の位置関係を説明するためであり、本実施の形態のゲームでは1つのプレイヤキャラクタオブジェクトPと1つの仮想カメラCが仮想空間内を移動する。
図5は、プレイヤキャラクタオブジェクトPと仮想カメラCとの基本的な位置関係を示している。上述のように、プレイヤは入力部10に操作を入力することで、プレイヤキャラクタオブジェクトPの仮想空間内での移動を指示できる。仮想カメラCは、上述のように、プレイヤキャラクタオブジェクトPの移動に合わせて移動するが、より具体的には、プレイヤキャラクタオブジェクトPの進行方向の後方からプレイヤキャラクタオブジェクトPを追従するようにして移動する(追従制御)。
ゲーム制御部31は、入力部10に対するプレイヤの操作入力に基づいてゲーム処理を行い、プレイヤキャラクタオブジェクトPを移動させてその現在位置を取得し、これをカメラ制御部32に出力する。カメラ制御部32のカメラ移動先算出部321は、追従制御の情報処理を行うことで、仮想空間内における仮想カメラCの移動先の位置を算出する。
なお、カメラ位置算出部321は、入力部10に対するプレイヤのカメラ移動の指示に従って仮想カメラCの移動先を算出してよい。例えば、アナログスティック302が傾倒した方向に仮想カメラCを移動させるようにしてよい。この場合には、カメラ移動先算出部321は、入力部10からの入力に基づいて仮想カメラの移動先の位置を算出する。
図6に示すように、プレイヤキャラクタオブジェクトPが、P(1)、P(2)、P(3)の軌跡で移動をする場合には、カメラ移動先算出部321は、仮想カメラCの移動先の位置をC(1)、C(2)、C(3)の順で算出する。しかしながら、カメラ移動先算出部321が追従制御によってプレイヤキャラクタオブジェクトPの移動に応じて仮想カメラCの移動先を算出すると、プレイヤキャラクタオブジェクトP(3)に対する仮想カメラC(3)のように、仮想カメラCが遮蔽物オブジェクトSの内部に位置することにもなる。ここで、遮蔽物オブジェクトSは、本実施の形態では、仮想空間に設定された地形ないし岩であり、その内部にプレイヤキャラクタオブジェクトPないし仮想カメラCが入り込むことが予定されていないものである。
本実施の形態のカメラ制御部32は、図6の仮想カメラC(3)のように、仮想カメラCの移動先の位置が遮蔽物オブジェクトSの内部となってしまう場合には、遮蔽物オブジェクトSを回避する位置(回避位置)に仮想カメラCを移動させる(遮蔽回避制御)。図7は、遮蔽回避制御によって仮想カメラCが遮蔽物オブジェクトSを回避した位置に移動している様子を示す図である。回避位置は、算出された仮想カメラの移動先の位置C´とプレイヤキャラクタオブジェクトPとを結ぶ線の線上であって、プレイヤキャラクタオブジェクトPと遮蔽物オブジェクトSとの間の位置である。
なお、図7に示すように、遮蔽回避制御によって、仮想カメラCは、算出された移動先の位置C´(すなわち本来の仮想カメラの位置)からプレイヤキャラクタオブジェクトPに近づくことになるので、回避位置は、なるべくプレイヤキャラクタオブジェクトPから離れている方が望ましい。よって、回避位置は、プレイヤキャラクタオブジェクトPと遮蔽物オブジェクトSとの間の、プレイヤキャラクタから最も離れた点、すなわち、算出された仮想カメラの移動先の位置C´とプレイヤキャラクタオブジェクトPとを結ぶ線と遮蔽物オブジェクトSの表面とが交わる点に仮想カメラCの視点が来るように設定することが望ましい。
一方、カメラ制御部32は、図8に示すように、仮想カメラCとプレイヤキャラクタオブジェクトPとの間に遮蔽物オブジェクトSが存在している場合であっても、仮想カメラCが遮蔽物オブジェクトの内部にないときには、遮蔽回避制御は行わない。
ここで、遮蔽物オブジェクトSを含む仮想空間内のオブジェクトの表面はポリゴンデータによって定義されており、オブジェクトを構成する複数のポリゴンデータの各々には外表面と内表面とを区別する情報が付与されている。画像生成部33によって、仮想カメラCの画角(視界)にあるオブジェクトのポリゴンデータをレンダリングすることで、画像中にオブジェクトが描画される。
各ポリゴンデータの内外面を区別する情報は、当該ポリゴンデータの法線ベクトルとして付与されている。すなわち、各ポリゴンデータには、外表面に法線ベクトルが設定されている。したがって、仮想カメラCの移動先の位置(座標)が算出されると、その位置が遮蔽物オブジェクトの内部にあるのか外部にあるのかは演算によって求めることができる。
しかしながら、ある座標があるオブジェクトの内部にあるか外部にあるかを求める演算は負荷が比較的重く、CPU等の資源を消費し、ゲーム処理や画像表示のフレームレート向上のボトルネックにもなる。そこで、本実施の形態では、仮想カメラCの移動先の位置が遮蔽物オブジェクトの内部にあるのか外部にあるのかを負荷の比較的軽い演算で行う方法を採用する。
図4を再び参照して、仮想カメラCの移動先の位置が遮蔽物オブジェクトの内部にあるのか外部にあるのかを判定するための構成を説明する。カメラ制御部32は、仮想カメラCの移動先の位置とプレイヤキャラクタオブジェクトPとの間に遮蔽物オブジェクトSが存在するか否かを判定し(第1判定)、かつ、仮想カメラCの移動先の位置が遮蔽物オブジェクトの内部にあるか否かを判定する(第2判定)。
遮蔽物判定部(第1判定部)322は、仮想カメラCの移動先の位置とプレイヤキャラクタオブジェクトPとの間に遮蔽物オブジェクトSが存在するか否かを判定する(第1判定)。なお、仮想カメラCの移動先の位置とプレイヤキャラクタオブジェクトPとの間に遮蔽物オブジェクトSが存在するとは、図6の仮想カメラC(3)のように仮想カメラCの移動先の位置が遮蔽物オブジェクトSの内部にある場合と、図8の仮想カメラCのように仮想カメラCの移動先の位置が遮蔽物オブジェクトSの外側にあって、仮想カメラCとプレイヤキャラクタオブジェクトPとの間に遮蔽物オブジェクトSが存在する場合とを含む。
コリジョン判定部(第2判定部)323は、移動先の位置が遮蔽物オブジェクトの内部である(コリジョン状態である)か否かを判定する(第2判定)。なお、上述のように、遮蔽物判定部322にて仮想カメラCの移動先の位置とプレイヤキャラクタオブジェクトPとの間に遮蔽物オブジェクトSが存在すると判定される場合には、仮想カメラCの移動先の位置が遮蔽物オブジェクトSの内部にある場合を含み、仮想カメラCの移動先の位置が遮蔽物オブジェクトSの内部にある場合には必ず仮想カメラCの移動先の位置とプレイヤキャラクタオブジェクトPとの間に遮蔽物オブジェクトSが存在すると判定される。
すなわち、第1判定にて遮蔽物ありと判定された場合にのみ、第2判定にてコリジョン状態ありと判定され得る。よって、コリジョン判定部323における第2判定は、遮蔽物判定部322の第1判定にて遮蔽物ありとの判定がされた場合にのみ行う。このために、コリジョン判定部323は、遮蔽物判定部322の第1判定の結果を受けて、第1判定にて遮蔽物ありと判定された場合に、第2判定を行う。
図9は、遮蔽物判定部322及びコリジョン判定部323の処理を説明する図である。遮蔽物判定部322は、プレイヤキャラクタオブジェクトPから仮想カメラCの移動先の位置に向かうベクトル(第1ベクトル)V1が遮蔽物オブジェクトSに対して遮蔽物オブジェクトSの外側から交差するか否かを判定する。具体的には、遮蔽物判定部322は、遮蔽物オブジェクトSの表面を構成するポリゴンのうちの第1ベクトルV1と交差するポリゴン(交差ポリゴン)を特定し、その交差ポリゴンの法線ベクトルNを特定する。遮蔽物判定部322は、第1ベクトルV1と法線ベクトルNとの内積を計算し、内積が負の値であるときに、第1ベクトルV1が遮蔽物オブジェクトSに外側から交差すると判定する。
コリジョン判定部323は、仮想カメラCの移動先の位置からプレイヤキャラクタオブジェクトPに向かうベクトル(第2ベクトル)V2が遮蔽物オブジェクトSに対して遮蔽物オブジェクトSの外側から交差するか否かを判定する。具体的には、コリジョン判定部323は、遮蔽物オブジェクトSの表面を構成するポリゴンのうちの第2ベクトルV2と交差する交差ポリゴンを特定し、その交差ポリゴンの法線ベクトルNを特定する。コリジョン判定部323は、第2ベクトルV2と法線ベクトルNとの内積を計算し、内積が負の値であるときに、第2ベクトルV2が遮蔽物オブジェクトSに外側から交差する(コリジョン状態なし)と判定し、内積が正の値であるときに、第2ベクトルV2が遮蔽物オブジェクトSに内側から交差する(コリジョン状態あり)と判定する。
なお、図9では、第1ベクトルV1と第2ベクトルV2を若干ずらして描いているが、本実施の形態では、実際には、両者は重なり合っており、始点と終点とが互いに逆方向になっているのみであり、第1ベクトルV1と交差する交差ポリゴンと第2ベクトルと交差する交差ポリゴンは同じである。また、第1ベクトルV1の始点及び第2ベクトルV2の終点は、厳密にプレイヤキャラクタオブジェクトPに設定されなくてもよく、例えば、プレイヤキャラクタオブジェクトPの上方の座標に設定されてもよい。また、第1ベクトルV1の終点及び第2ベクトルV2の始点は、仮想カメラCの視点に設定することができるが、これも厳密に仮想カメラCの視点に設定する必要はない。また、第1ベクトルV1と第2ベクトルV2とが完全に重なり合っている必要もない。
図8に示すように、仮想カメラCの移動先の位置が遮蔽物オブジェクトSの外側にある場合には、交差ポリゴンは、2つあることになる。遮蔽物判定部322は、第1ベクトルV1の始点から終点に向けて、最初に交差する交差ポリゴンの法線ベクトルNと第1ベクトルV1との内積が負であるときに、プレイヤキャラクタオブジェクトPと仮想カメラCの移動先の位置との間に遮蔽物オブジェクトSがあると判定する。また、コリジョン判定部323は、第2ベクトルV2の始点から終点に向けて、最初に交差する交差ポリゴンの法線ベクトルNと第2ベクトルV2との内積が正であるときに、仮想カメラCの移動先の位置が遮蔽物オブジェクトSの内部にあると判定する。
なお、遮蔽物判定部322は、複数の交差ポリゴンの各々について、それらの法線ベクトルと第1ベクトルV1との内積を計算し、少なくとも一つの内積が負になっていれば、第1ベクトルV1が遮蔽物オブジェクトSに外から交差すると判断してもよい。また、コリジョン判定部323は、内積が正になる交差ポリゴンの数が、内積が負になる交差ポリゴンの数より多い場合に、仮想カメラCの移動先の位置が遮蔽物オブジェクトSの内部にあると判定してもよい。
遮蔽物判定部322は、第1判定の結果をカメラ移動部324に出力する。また、コリジョン判定部323は、第2判定の結果をカメラ移動部324に出力する。カメラ移動部324は、第1判定の結果が遮蔽物なしであるとき、及び第2判定の結果がコリジョン状態なしであるときには、カメラ移動先算出部321が算出した移動先の位置に仮想カメラCを実際に移動させる。
一方、カメラ移動部324は、第1判定の結果が遮蔽物ありであり、第2判定の結果がコリジョン状態ありであるときは、図7の仮想カメラCのように、カメラ移動算出部321が算出した位置ではなく、回避位置に仮想カメラCを移動させる。カメラ移動部324は、具体的には、カメラ移動先算出部で算出された仮想カメラCの移動先の位置と、ゲーム制御部31で決定されたプレイヤキャラクタオブジェクトPとを結ぶ線と遮蔽物オブジェクトSの表面とが交わる点(すなわち交差ポリゴン)に視点が来るように仮想カメラCを移動させる。この回避位置であれば、仮想カメラCは遮蔽物オブジェクトSに遮蔽されることなく撮像対象であるプレイヤキャラクタオブジェクトPを撮像することができる。
なお、上述のように、本実施の形態では、第1判定で遮蔽物ありと判定されたときにのみ第2判定を行うので、カメラ移動部324は、第2判定の結果のみを参照して、仮想カメラCを回避位置に移動させるか、カメラ移動先算出部321で算出された移動先の位置に移動させるかを決定してよい。また、ゲーム処理において撮像対象であるプレイヤキャラクタオブジェクトPが遮蔽物オブジェクトSの内部にくることがあり得ない場合には、第1判定において、第1ベクトルV1が遮蔽物オブジェクトSの内側から遮蔽物オブジェクトSと交差する点のみを有することはあり得ないので、遮蔽物判定部322では、単に第1ベクトルV1が遮蔽物オブジェクトSと少なくとも1点で交差するか否か(交差ポリゴンが存在するか否か)のみを判定してもよい。
また、本実施の形態では、遮蔽物判定部322の第1判定において遮蔽物オブジェクトSがあると判定された場合にのみ、コリジョン判定部323の第2判定を行うようにしているが、第1判定と第2判定とは並行して行ってもよい。
画像生成部33は、ゲーム制御部31におけるゲーム処理の結果、及びカメラ移動部34にて移動された仮想カメラCに基づいて、仮想カメラCで仮想空間を仮想的に撮像して得られるべき画像を生成する。生成された画像は表示部40に出力され、表示部40にて画像が表示される。
図10は、表示部40に表示される画像の例を示す図である。図10の例では、図8に示すようにプレイヤオキャラクタオブジェクトPと仮想カメラCとの間に遮蔽物オブジェクトSが存在し、仮想カメラcから見てプレイヤキャラクタオブジェクトPが遮蔽物オブジェクトSによって遮蔽されている。この画像では、遮蔽物オブジェクトSによって遮蔽されるプレイヤキャラクタオブジェクトPの部分がシルエットSPで表現されており、このシルエットSPによって、仮想空間内におけるプレイヤキャラクタオブジェクトPの位置を示している。
なお、図10の例では、プレイヤキャラクタオブジェクトPが遮蔽物オブジェクトSによって遮蔽される場合に、プレイヤキャラクタオブジェクトPをシルエットで表示したが、例えば遮蔽物オブジェクトSを半透明にする等によってプレイヤキャラクタオブジェクトPの位置を示してもよい。また、図10の例では、プレイヤキャラクタオブジェクトPの形状を維持してシルエット表示をしたが、プレイヤキャラクタオブジェクトPの形状を表さないマークによってプレイヤキャラクタオブジェクトPの位置を示してもよい。
図11は、制御部30における処理のフロー図である。ゲーム制御部31は、プレイヤによる操作入力を入力部10から取得し、記憶部20に記憶されたゲームプログラムに従ってゲーム処理を実行する(ステップS111)。プレイヤキャラクタオブジェクトPの位置を含むゲーム処理の結果は、カメラ移動先算出部321、カメラ移動部324及び画像生成部324に出力される。
カメラ移動先算出部321は、ゲーム処理の結果移動したプレイヤキャラクタオブジェクトPの現在の位置及び方向を取得し(ステップS112)、追従制御を行う場合の仮想カメラCの移動先の位置を算出る(ステップS113)。次に、遮蔽物判定部322は、プレイヤキャラクタオブジェクトP、遮蔽物オブジェクトS、仮想カメラCの移動先の位置に基づいて、第1ベクトルV1が遮蔽物オブジェクトSに外側から交差するか否か(第1判定)、すなわち、プレイヤキャラクタオブジェクトPと仮想カメラCの移動先の位置との間に遮蔽物オブジェクトSがあるか否かを判定する(ステップS114)。
プレイヤキャラクタオブジェクトPと仮想カメラCとの間に遮蔽物オブジェクトSがある場合には(ステップS114でYES)、コリジョン判定部323は、プレイヤキャラクタオブジェクトP、遮蔽物オブジェクトS、仮想カメラCの移動先の位置に基づいて、第2ベクトルV2が(遮蔽物オブジェクトSに最初に交差する点で)遮蔽物オブジェクトSに内側から交差するか否か(第2判定)、すなわち、仮想カメラCの移動先の位置が遮蔽物オブジェクトSの内部であるか否か(コリジョン状態にあるか否か)を判定する(ステップS115)。
仮想カメラCの移動先の位置が遮蔽物オブジェクトSとコリジョン状態にあると判定された場合には(ステップS115でYES)、カメラ移動部324は、そのような移動先ではなく、回避位置に仮想カメラCを移動させる(ステップS116)。仮想カメラCは、第2判定で遮蔽物オブジェクトSに最初に交差すると判定された点に視点が来るように移動される。
遮蔽物判定部322の第1判定において、プレイヤキャラクタオブジェクトPと仮想カメラCの移動先の位置との間に遮蔽物オブジェクトSがないと判定された場合(ステップS114にてNO)、及び、コリジョン判定部323の第2判定において、仮想カメラCの移動先の位置が遮蔽物オブジェクトSとコリジョン状態にない(遮蔽物オブジェクトSの内部にない)と判定された場合(ステップS115にてNO)には、カメラ移動部324は、カメラ移動先算出部321が追従制御のために算出した移動先の位置に仮想カメラCを移動させる(ステップS117)。
カメラ移動部324がステップS116又はステップS117で仮想カメラCを移動させると、画像生成部33は、そのように移動された仮想カメラとゲーム処理の結果に基づいて、仮想空間の画像を生成する。このとき、コリジョン状態はないが遮蔽物があると判定されている場合には(ステップS114にてYESの後、ステップS115にてNO)、画像生成部33は、プレイヤキャラクタオブジェクトPの部分をシルエットで示す画像を生成する。
制御部30は、上記の処理をゲーム制御部31におけるゲーム処理の処理レートごと、ないしは画像生成部33における画像のフレームレートで、繰り返し行う。すなわち、図11のフロー(ステップS111〜S118)は、処理レートないしはフレームレート(例えば、1/60秒)で繰り返される。
以上説明したように、本実施の形態の情報処理システム(ゲームシステム)100によれば、仮想カメラCの移動先の位置が遮蔽物オブジェクトSの内部であるか否か(コリジョン状態にあるか否か)の判定を交差ポリゴンの有無及び交差ポリゴンについてのベクトルの内積計算で行うので、処理負荷を軽減できる。
また、仮想カメラCの移動先の位置が遮蔽物オブジェクトSの内部にない(コリジョン状態にない)場合に、追従制御を継続するので、仮想カメラCの移動がより自然になり、画像生成部33によって生成される画像の変化(映像)もより自然になる。
さらに、撮像対象であるプレイヤキャラクタオブジェクトPが遮蔽物オブジェクトSによって遮蔽される場合に、プレイヤキャラクタオブジェクトPをシルエットで表示することとしたので、遮蔽されている場合にもプレイヤキャラクタオブジェクトPの位置や動きを確認することができる。
なお、上記の実施の形態では、情報処理システム100をゲームシステムに適用した例を説明したが、情報処理システムは、ゲームシステムに限られず、例えば、バーチャルリアリティを提供するシステム、現実空間を模倣するシミュレーションシステム等に応用してもよい。
100 情報処理システム
200 本体装置
201 ディスプレイ
202 タッチパネル
203a、203b スピーカ孔
300 左コントローラ
302 アナログスティック
303 右方向ボタン
304 下方向ボタン
305 上方向ボタン
306 左方向ボタン
400 右コントローラ
402 アナログスティック
403 Aボタン
404 Bボタン
405 Xボタン
406 Yボタン
500 クレードル
600 据置型モニタ
10 入力部
20 記憶部
30 制御部
31 ゲーム制御部
32 カメラ制御部
321 カメラ移動先算出部
322 遮蔽物判定部(第1判定部)
323 コリジョン判定部(第2判定部)
324 カメラ移動部
33 画像生成部
40 表示部
C 仮想カメラ
P プレイヤキャラクタオブジェクト
S 遮蔽物オブジェクト
V1 第1ベクトル
V2 第2ベクトル

Claims (28)

  1. 所定の情報処理に基づいて仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出部と、
    前記仮想カメラの撮像対象の位置から前記移動先の位置に向かう第1ベクトルが前記仮想空間内の遮蔽物オブジェクトに外側から交差し、かつ、前記移動先の位置から前記仮想カメラの撮像対象の位置に向かう第2ベクトルが前記遮蔽物オブジェクトに外側から交差しない場合に、前記遮蔽物オブジェクトを回避する回避位置に前記仮想カメラを移動させるカメラ移動部と、
    前記カメラ移動部によって移動された前記仮想カメラに基づいて前記仮想空間の画像を生成する画像生成部と、
    を備えた情報処理システム。
  2. 前記カメラ移動部は、前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差しない場合に、前記仮想カメラを前記移動先の位置に移動させる、請求項1に記載の情報処理システム。
  3. 前記カメラ移動部は、前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差し、かつ、前記第2ベクトルが前記遮蔽物オブジェクトに外側から交差する場合に、前記仮想カメラを前記移動先の位置に移動させる、請求項1又は2に記載の情報処理システム。
  4. 前記回避位置は、前記遮蔽物オブジェクトより前記撮像対象側の位置である、請求項1ないし3のいずれかに記載の情報処理システム。
  5. 前記カメラ移動先算出部は、プレイヤの操作に基づく所定の情報処理に基づいて前記移動先の位置を算出する、請求項1ないし4のいずれかに記載の情報処理システム。
  6. 前記カメラ移動先算出部は、前記プレイヤの操作に基づいて前記仮想空間内を移動する前記撮像対象の移動に伴って前記仮想カメラが移動するように情報処理を行うことで前記移動先の位置を算出する、請求項5に記載の情報処理システム。
  7. 前記カメラ移動先算出部は、前記プレイヤのカメラ移動の指示に従って前記仮想カメラが移動するように情報処理を行うことで前記移動先の位置を算出する、請求項5に記載の情報処理システム。
  8. 前記画像生成部は、前記遮蔽物オブジェクトによって遮蔽される前記撮像対象の前記仮想空間内における位置を示す画像を生成する、請求項1ないし7のいずれかに記載の情報処理システム。
  9. 前記画像生成部は、前記遮蔽物オブジェクトによって遮蔽される前記撮像対象をシルエットで示す画像を生成する、請求項8に記載の情報処理システム。
  10. 前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差するか否かの第1判定を行う第1判定部と、
    前記第2ベクトルが前記遮蔽物オブジェクトに外側から交差するか否かの第2判定を行う第2判定部と、
    をさらに備え、
    前記カメラ移動部は、前記第1判定及び前記第2判定の結果に基づいて前記仮想カメラを移動させる、請求項1ないし9のいずれかに記載の情報処理システム。
  11. 前記第2判定部は、前記第1判定部が前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差すると判定した場合に、前記第2判定を行う、請求項10に記載の情報処理システム。
  12. プレイヤの操作に基づいて、仮想空間内でプレイヤキャラクタオブジェクトを移動させるプレイヤキャラクタ制御部と、
    前記プレイヤキャラクタオブジェクトの移動に応じて、前記仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出部と、
    前記移動先の位置と前記プレイヤキャラクタオブジェクトとの間の遮蔽物オブジェクトの有無を判定する遮蔽物判定部と、
    前記移動先の位置が前記遮蔽物オブジェクトの内部であるか否か判定するコリジョン判定部と、
    前記遮蔽物判定部において前記遮蔽物オブジェクトがあると判定され、前記コリジョン判定部において前記移動先が前記遮蔽物オブジェクトの内部にあると判定されたときに、前記仮想カメラを前記遮蔽物オブジェクトより前記プレイヤキャラクタオブジェクト側になる位置に移動させるカメラ移動部と、
    前記遮蔽物判定部において前記遮蔽物オブジェクトがあると判定され、かつ、前記コリジョン判定部において前記移動先の位置が前記遮蔽物オブジェクトの内部でないと判定されたときに、前記遮蔽物オブジェクト上に、前記遮蔽物オブジェクトによって遮蔽されている前記プレイヤキャラクタオブジェクトの存在を示す画像が表示されるように前記仮想空間の画像を生成する画像生成部と、
    を備えるゲームシステム。
  13. 情報処理装置に、
    所定の情報処理に基づいて仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出ステップと、
    前記仮想カメラの撮像対象の位置から前記移動先の位置に向かう第1ベクトルが前記仮想空間内の遮蔽物オブジェクトに外側から交差し、かつ、前記移動先の位置から前記仮想カメラの撮像対象の位置に向かう第2ベクトルが前記遮蔽物オブジェクトに外側から交差しない場合に、前記遮蔽物オブジェクトを回避する回避位置に前記仮想カメラを移動させるカメラ移動ステップと、
    前記カメラ移動ステップによって移動された前記仮想カメラに基づいて前記仮想空間の画像を生成する画像生成ステップと、
    を実行させる情報処理プログラム。
  14. 前記カメラ移動ステップは、前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差しない場合に、前記仮想カメラを前記移動先の位置に移動させる、請求項13に記載の情報処理プログラム。
  15. 前記カメラ移動ステップは、前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差し、かつ、前記第2ベクトルが前記遮蔽物オブジェクトに外側から交差する場合に、前記仮想カメラを前記移動先の位置に移動させる、請求項13又は14に記載の情報処理プログラム。
  16. 前記回避位置は、前記遮蔽物オブジェクトより前記撮像対象側の位置である、請求項13ないし15のいずれかに記載の情報処理プログラム。
  17. 前記カメラ移動先算出ステップは、プレイヤの操作に基づく所定の情報処理に基づいて前記移動先の位置を算出する、請求項13ないし16のいずれかに記載の情報処理プログラム。
  18. 前記カメラ移動先算出ステップは、前記プレイヤの操作に基づいて前記仮想空間内を移動するプレイヤキャラクタオブジェクトの移動に伴って前記仮想カメラが移動するように情報処理を行うことで前記移動先の位置を算出する、請求項17に記載の情報処理プログラム。
  19. 前記カメラ移動先算出ステップは、前記プレイヤのカメラ移動の指示に従って前記仮想カメラが移動するように情報処理を行うことで前記移動先の位置を算出する、請求項17に記載の情報処理プログラム。
  20. 前記画像生成ステップは、前記遮蔽物オブジェクトによって遮蔽される前記撮像対象の前記仮想空間内における位置を示す画像を生成する、請求項13ないし19のいずれかに記載の情報処理プログラム。
  21. 前記画像生成ステップは、前記遮蔽物オブジェクトによって遮蔽される前記撮像対象をシルエットで示す画像を生成する、請求項20に記載の情報処理プログラム。
  22. 前記情報処理装置に、
    前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差するか否かの第1判定を行う第1判定ステップと、
    前記第2ベクトルが前記遮蔽物オブジェクトに外側から交差するか否かの第2判定を行う第2判定ステップと、
    をさらに実行させ、
    前記カメラ移動ステップは、前記第1判定及び前記第2判定の結果に基づいて前記仮想カメラを移動させる、請求項13ないし21のいずれかに記載の情報処理プログラム。
  23. 前記第1判定ステップにて前記第1ベクトルが前記遮蔽物オブジェクトに外側から交差すると判定された場合に、前記第2判定ステップにて前記第2判定を行う、請求項22に記載の情報処理プログラム。
  24. 情報処理装置に、
    プレイヤの操作に基づいて、仮想空間内でプレイヤキャラクタオブジェクトを移動させるプレイヤキャラクタ制御ステップと、
    前記プレイヤキャラクタオブジェクトの移動に応じて、前記仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出ステップと、
    前記移動先の位置と前記プレイヤキャラクタオブジェクトとの間の遮蔽物オブジェクトの有無を判定する遮蔽物判定ステップと、
    前記移動先の位置が前記遮蔽物オブジェクトの内部であるか否か判定するコリジョン判定ステップと、
    前記遮蔽物判定ステップにおいて前記遮蔽物オブジェクトがあると判定され、前記コリジョン判定ステップにおいて前記移動先が前記遮蔽物オブジェクトの内部にあると判定されたときに、前記仮想カメラを前記遮蔽物オブジェクトより前記プレイヤキャラクタオブジェクト側になる位置に移動させるカメラ移動ステップと、
    前記遮蔽物判定ステップにおいて前記遮蔽物オブジェクトがあると判定され、かつ、前記コリジョン判定ステップにおいて前記移動先の位置が前記遮蔽物オブジェクトの内部でないと判定されたときに、前記遮蔽物オブジェクト上に、前記遮蔽物オブジェクトによって遮蔽されている前記プレイヤキャラクタオブジェクトの存在を示す画像が表示されるように前記仮想空間の画像を生成する画像生成ステップと、
    を実行させるゲームプログラム。
  25. 所定の情報処理に基づいて仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出部と、
    前記仮想カメラの撮像対象の位置から前記移動先の位置に向かう第1ベクトルが前記仮想空間内の遮蔽物オブジェクトに外側から交差し、かつ、前記移動先の位置から前記仮想カメラの撮像対象の位置に向かう第2ベクトルが前記遮蔽物オブジェクトに外側から交差しない場合に、前記遮蔽物オブジェクトを回避する回避位置に前記仮想カメラを移動させるカメラ移動部と、
    前記カメラ移動部によって移動された前記仮想カメラに基づいて前記仮想空間の画像を生成する画像生成部と、
    を備えた情報処理装置。
  26. プレイヤの操作に基づいて、仮想空間内でプレイヤキャラクタオブジェクトを移動させるプレイヤキャラクタ制御部と、
    前記プレイヤキャラクタオブジェクトの移動に応じて、前記仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出部と、
    前記移動先の位置と前記プレイヤキャラクタオブジェクトとの間の遮蔽物オブジェクトの有無を判定する遮蔽物判定部と、
    前記移動先の位置が前記遮蔽物オブジェクトの内部であるか否か判定するコリジョン判定部と、
    前記遮蔽物判定部において前記遮蔽物オブジェクトがあると判定され、前記コリジョン判定部において前記移動先の位置が前記遮蔽物オブジェクトの内部であると判定されたときに、前記仮想カメラを前記遮蔽物オブジェクトより前記プレイヤキャラクタオブジェクト側になる位置に移動させるカメラ移動部と、
    前記遮蔽物判定部において前記遮蔽物オブジェクトがあると判定され、かつ、前記コリジョン判定部において前記移動先の位置が前記遮蔽物オブジェクトの内部でないと判定されたときに、前記遮蔽物オブジェクト上に、前記遮蔽物オブジェクトによって遮蔽されている前記プレイヤキャラクタオブジェクトの存在を示す画像が表示されるように前記仮想空間の画像を生成する画像生成部と、
    を備えるゲーム装置。
  27. 所定の情報処理に基づいて仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出ステップと、
    前記仮想カメラの撮像対象の位置から前記移動先の位置に向かう第1ベクトルが前記仮想空間内の遮蔽物オブジェクトに外側から交差し、かつ、前記移動先の位置から前記仮想カメラの撮像対象の位置に向かう第2ベクトルが前記遮蔽物オブジェクトに外側から交差しない場合に、前記遮蔽物オブジェクトを回避する回避位置に前記仮想カメラを移動させるカメラ移動ステップと、
    前記カメラ移動ステップによって移動された前記仮想カメラに基づいて前記仮想空間の画像を生成する画像生成ステップと、
    をを含む情報処理方法。
  28. プレイヤの操作に基づいて、仮想空間内でプレイヤキャラクタオブジェクトを移動させるプレイヤキャラクタ制御ステップと、
    前記プレイヤキャラクタオブジェクトの移動に応じて、前記仮想空間内における仮想カメラの移動先の位置を算出するカメラ移動先算出ステップと、
    前記移動先の位置と前記プレイヤキャラクタオブジェクトとの間の遮蔽物オブジェクトの有無を判定する遮蔽物判定ステップと、
    前記移動先の位置が前記遮蔽物オブジェクトの内部であるか否か判定するコリジョン判定ステップと、
    前記遮蔽物判定ステップにおいて前記遮蔽物オブジェクトがあると判定され、かつ、前記コリジョン判定ステップにおいて前記移動先が前記遮蔽物オブジェクトの内部にあると判定されたときに、前記仮想カメラを前記遮蔽物オブジェクトより前記プレイヤキャラクタオブジェクト側になる位置に移動させるカメラ移動ステップと、
    前記遮蔽物判定ステップにおいて前記遮蔽物オブジェクトがあると判定され、かつ、前記コリジョン判定ステップにおいて前記移動先の位置が前記遮蔽物オブジェクトの内部でないと判定されたときに、前記遮蔽物オブジェクト上に、前記遮蔽物オブジェクトによって遮蔽されている前記プレイヤキャラクタオブジェクトの存在を示す画像が表示されるように前記仮想空間の画像を生成する画像生成ステップと、
    を含むゲーム方法。
JP2017001394A 2017-01-06 2017-01-06 情報処理システム、情報処理プログラム、情報処理装置、情報処理方法、ゲームシステム、ゲームプログラム、ゲーム装置、及びゲーム方法 Active JP6681352B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017001394A JP6681352B2 (ja) 2017-01-06 2017-01-06 情報処理システム、情報処理プログラム、情報処理装置、情報処理方法、ゲームシステム、ゲームプログラム、ゲーム装置、及びゲーム方法
US15/724,562 US10482657B2 (en) 2017-01-06 2017-10-04 Information processing system, non-transitory storage medium having stored information processing program, information processing device, information processing method, game system, non-transitory storage medium having stored game program, game device, and game method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017001394A JP6681352B2 (ja) 2017-01-06 2017-01-06 情報処理システム、情報処理プログラム、情報処理装置、情報処理方法、ゲームシステム、ゲームプログラム、ゲーム装置、及びゲーム方法

Publications (2)

Publication Number Publication Date
JP2018112789A true JP2018112789A (ja) 2018-07-19
JP6681352B2 JP6681352B2 (ja) 2020-04-15

Family

ID=62783242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017001394A Active JP6681352B2 (ja) 2017-01-06 2017-01-06 情報処理システム、情報処理プログラム、情報処理装置、情報処理方法、ゲームシステム、ゲームプログラム、ゲーム装置、及びゲーム方法

Country Status (2)

Country Link
US (1) US10482657B2 (ja)
JP (1) JP6681352B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109718548A (zh) * 2018-12-19 2019-05-07 网易(杭州)网络有限公司 一种游戏中虚拟镜头控制的方法及装置
JP2020130213A (ja) * 2019-02-13 2020-08-31 任天堂株式会社 ゲームプログラム、情報処理システム、情報処理装置およびゲーム制御方法
KR20210061563A (ko) * 2019-11-20 2021-05-28 가톨릭대학교 산학협력단 가상 현실에서 3d 물체 조작을 위한 보조 카메라 위치 최적화 장치 및 방법
JP2022543440A (ja) * 2019-08-06 2022-10-12 ロブロックス・コーポレーション 電子ゲームにおけるカメラビューの変更
JP2022171742A (ja) * 2020-06-16 2022-11-11 株式会社コロプラ プログラム、情報処理方法及び情報処理装置
JP7550188B2 (ja) 2022-06-10 2024-09-12 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5179020B2 (ja) * 2006-05-09 2013-04-10 任天堂株式会社 ゲームプログラム、ゲーム装置、ゲームシステムおよびゲーム処理方法
US10600245B1 (en) * 2014-05-28 2020-03-24 Lucasfilm Entertainment Company Ltd. Navigating a virtual environment of a media content item
USD819696S1 (en) * 2016-08-30 2018-06-05 Nintendo Co., Ltd. Computer
US20180356885A1 (en) * 2017-06-10 2018-12-13 Tsunami VR, Inc. Systems and methods for directing attention of a user to virtual content that is displayable on a user device operated by the user
KR101990373B1 (ko) * 2017-09-29 2019-06-20 클릭트 주식회사 가상현실 영상 제공 방법 및 이를 이용한 프로그램
US10528132B1 (en) * 2018-07-09 2020-01-07 Ford Global Technologies, Llc Gaze detection of occupants for vehicle displays
JPWO2021230073A1 (ja) * 2020-05-13 2021-11-18
CN112121423B (zh) * 2020-09-24 2021-08-24 苏州幻塔网络科技有限公司 一种虚拟摄像机的控制方法及装置、设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0950541A (ja) * 1995-08-10 1997-02-18 Sega Enterp Ltd 仮想画像生成装置及びその方法
JP2009059111A (ja) * 2007-08-30 2009-03-19 Square Enix Holdings Co Ltd 画像生成装置及び方法、並びにプログラム及び記録媒体
JP2012075482A (ja) * 2010-09-30 2012-04-19 Sega Corp 画像処理プログラム及びコンピュータ読み取り可能な記録媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110113383A1 (en) * 2008-07-14 2011-05-12 Denis Dyack Apparatus and Methods of Computer-Simulated Three-Dimensional Interactive Environments
US8576235B1 (en) * 2009-07-13 2013-11-05 Disney Enterprises, Inc. Visibility transition planning for dynamic camera control
GB2480422B (en) * 2010-02-25 2014-07-09 Imagination Tech Ltd Object tracking using graphics engine derived vectors in a motion estimation system
JP5951957B2 (ja) * 2011-10-27 2016-07-13 任天堂株式会社 ゲームシステム、ゲーム装置、ゲームプログラム、およびゲーム処理方法
JP2014235596A (ja) 2013-06-03 2014-12-15 任天堂株式会社 情報処理プログラム、情報処理システム、情報処理装置、および情報処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0950541A (ja) * 1995-08-10 1997-02-18 Sega Enterp Ltd 仮想画像生成装置及びその方法
JP2009059111A (ja) * 2007-08-30 2009-03-19 Square Enix Holdings Co Ltd 画像生成装置及び方法、並びにプログラム及び記録媒体
JP2012075482A (ja) * 2010-09-30 2012-04-19 Sega Corp 画像処理プログラム及びコンピュータ読み取り可能な記録媒体
US20130225289A1 (en) * 2010-09-30 2013-08-29 Kabushiki Kaisha Sega Dba Sega Corporation Image processing apparatus and computer-readable storage medium

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109718548A (zh) * 2018-12-19 2019-05-07 网易(杭州)网络有限公司 一种游戏中虚拟镜头控制的方法及装置
CN109718548B (zh) * 2018-12-19 2019-11-26 网易(杭州)网络有限公司 一种游戏中虚拟镜头控制的方法及装置
US11602690B2 (en) 2018-12-19 2023-03-14 Netease (Hangzhou) Network Co., Ltd. Method and apparatus for controlling virtual camera in game
US11278795B2 (en) 2019-02-13 2022-03-22 Nintendo Co., Ltd. Storage medium, information processing system, information processing apparatus and game controlling method with main and sub-character control
JP7034966B2 (ja) 2019-02-13 2022-03-14 任天堂株式会社 ゲームプログラム、情報処理システム、情報処理装置およびゲーム制御方法
JP2020130213A (ja) * 2019-02-13 2020-08-31 任天堂株式会社 ゲームプログラム、情報処理システム、情報処理装置およびゲーム制御方法
US11872475B2 (en) 2019-02-13 2024-01-16 Nintendo Co., Ltd. Storage medium, information processing system, information processing apparatus and game controlling method involving linkable player character and sub-character
JP2022543440A (ja) * 2019-08-06 2022-10-12 ロブロックス・コーポレーション 電子ゲームにおけるカメラビューの変更
JP7335421B2 (ja) 2019-08-06 2023-08-29 ロブロックス・コーポレーション 電子ゲームにおけるカメラビューの変更
KR102314578B1 (ko) 2019-11-20 2021-10-19 가톨릭대학교 산학협력단 가상 현실에서 3d 물체 조작을 위한 보조 카메라 위치 최적화 장치 및 방법
KR20210061563A (ko) * 2019-11-20 2021-05-28 가톨릭대학교 산학협력단 가상 현실에서 3d 물체 조작을 위한 보조 카메라 위치 최적화 장치 및 방법
JP2022171742A (ja) * 2020-06-16 2022-11-11 株式会社コロプラ プログラム、情報処理方法及び情報処理装置
JP7550188B2 (ja) 2022-06-10 2024-09-12 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法

Also Published As

Publication number Publication date
US20180197334A1 (en) 2018-07-12
US10482657B2 (en) 2019-11-19
JP6681352B2 (ja) 2020-04-15

Similar Documents

Publication Publication Date Title
JP6681352B2 (ja) 情報処理システム、情報処理プログラム、情報処理装置、情報処理方法、ゲームシステム、ゲームプログラム、ゲーム装置、及びゲーム方法
US9721396B2 (en) Computer and computer system for controlling object manipulation in immersive virtual space
US9928650B2 (en) Computer program for directing line of sight
EP3709141A1 (en) Information processing program, information processing apparatus, information processing system, and information processing method
JP7061674B2 (ja) 視野角調整方法と装置、記憶媒体、及び電子機器
CN110362193B (zh) 用手或眼睛跟踪辅助的目标跟踪方法及系统
US10191612B2 (en) Three-dimensional virtualization
JP5757790B2 (ja) 情報処理プログラム、情報処理装置、情報処理システム、及び、情報処理方法
US10203837B2 (en) Multi-depth-interval refocusing method and apparatus and electronic device
JP2010122879A (ja) 端末装置、表示制御方法および表示制御プログラム
JP6357023B2 (ja) 情報処理プログラム、情報処理装置、情報処理装置の制御方法および情報処理システム
JP2017021680A (ja) ヘッドマウントディスプレイ制御方法、および、ヘッドマウントディスプレイ制御プログラム
US20220351442A1 (en) Animation production system
JP2014235657A (ja) 情報処理プログラム、情報処理装置、情報処理システム、および情報処理方法
JP2010205223A (ja) 仮想対象に対するジェスチャーに従う制御を行うシステム及び装置
JPWO2017122270A1 (ja) 画像表示装置
JP2024500740A (ja) オブジェクトの選択の方法及びシステム
US10369468B2 (en) Information processing apparatus, image generating method, and program
US11178384B2 (en) Information processing system, storage medium, information processing apparatus and information processing method
JP2016181302A (ja) 没入型仮想空間でオブジェクト操作を制御するためのコンピュータ・プログラムおよびコンピュータ・システム
JP2018206029A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
EP3702008A1 (en) Displaying a viewport of a virtual space
JP2003334380A (ja) 3次元ゲームにおける仮想カメラ位置制御プログラム
JP2018206353A (ja) 情報処理方法、装置、および当該情報処理方法をコンピュータに実行させるためのプログラム
JP2020154792A (ja) 画像表示システム、画像表示プログラム、表示制御装置、および画像表示方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180913

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191111

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: 20200310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200323

R150 Certificate of patent or registration of utility model

Ref document number: 6681352

Country of ref document: JP

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