JP2017188002A - 画像処理装置、画像処理システムおよび画像処理方法 - Google Patents

画像処理装置、画像処理システムおよび画像処理方法 Download PDF

Info

Publication number
JP2017188002A
JP2017188002A JP2016077781A JP2016077781A JP2017188002A JP 2017188002 A JP2017188002 A JP 2017188002A JP 2016077781 A JP2016077781 A JP 2016077781A JP 2016077781 A JP2016077781 A JP 2016077781A JP 2017188002 A JP2017188002 A JP 2017188002A
Authority
JP
Japan
Prior art keywords
virtual camera
type
virtual
control unit
virtual space
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
JP2016077781A
Other languages
English (en)
Other versions
JP6576874B2 (ja
Inventor
淳 朝倉
Atsushi Asakura
淳 朝倉
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 JP2016077781A priority Critical patent/JP6576874B2/ja
Priority to US15/477,526 priority patent/US10237536B2/en
Publication of JP2017188002A publication Critical patent/JP2017188002A/ja
Priority to US16/255,896 priority patent/US11082682B2/en
Application granted granted Critical
Publication of JP6576874B2 publication Critical patent/JP6576874B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
    • H04N13/279Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
    • 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/57Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6653Methods for processing data by generating or executing the game program for rendering three dimensional images for altering the visibility of an object, e.g. preventing the occlusion of an object, partially hiding an object

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)

Abstract

【課題】出来るだけ自然な見た目を維持しつつ画像の視認性を高くすることができる画像処理装置、画像処理システムおよび画像処理方法を提供する。【解決手段】ゲームシステム10は、ゲーム装置12を含み、このゲーム装置には端末装置14およびテレビ16が接続される。テレビに表示されるゲーム画像は、仮想空間に配置される各種のオブジェクトを仮想カメラで撮影した画像である。仮想カメラは、プレイヤオブジェクトと所定の距離を保つように追従し、たとえば、プレイヤオブジェクトが比較的丈の長い草原オブジェクトに入る場合には、仮想カメラから遠ざかるように各草オブジェクトを変形または移動させる。たとえば、仮想カメラに近い草オブジェクトの高さは比較的低くされ、仮想カメラから離れるに従って次第に高くされる。【選択図】図1

Description

この発明は画像処理装置、画像処理システムおよび画像処理方法に関し、特にたとえば、ディスプレイに表示される画像を生成する、画像処理装置、画像処理システムおよび画像処理方法に関する。
背景技術の一例が特許文献1に開示される。この特許文献1に開示のゲームシステムは、オブジェクト配置部と、透明処理部と、ゲーム処理部と、描画処理部とを備え、仮想空間に配置された所定のオブジェクトを含むシーンを表示させる。オブジェクト配置部は、第1の部分およびこの第1の部分において法線ベクトルに基づき隠面として判定され得る面に対応して設定される第2の部分を含むポリゴンモデルをオブジェクトとして仮想空間に配置する。透明処理部は、ゲーム処理部で行われるゲーム処理において所定の条件が満たされたとき、オブジェクトの第1の部分の透明度を上げる。そして、描画処理部は、設定された透明度に基づいて第1の部分を描画し、第2の部分のポリゴンを描画する。
特許第5822655号
この特許文献1に開示されたゲームシステムでは、たとえば、仮想カメラ(視点)から見た場合に、プレイヤキャラクタが不透明色の障害物(所定のオブジェクト)で隠れる場合には、障害物の透明度を上げる処理が実行され、プレイヤは、半透明にされた障害物を透過されたプレイヤキャラクタを視認する。しかし、オブジェクトが半透明になるということは現実には起こらないことであって、見た目が不自然になると言える。
それゆえに、この発明の主たる目的は、新規な、画像処理装置、画像処理システムおよび画像処理方法を提供することである。
また、この発明の他の目的は、出来るだけ自然な見た目を維持しつつ画像の視認性を高くすることができる、画像処理装置、画像処理システムおよび画像処理方法を提供することである。
第1の発明は、画像処理装置であって、オブジェクト制御部と、仮想カメラ制御部と、画像生成部を備える。オブジェクト制御部は、仮想空間内に配置されるオブジェクトを制御する。仮想カメラ制御部は、仮想空間内において移動可能に配置される仮想カメラを制御する。画像生成部は、仮想カメラに基づいて、仮想空間の画像を生成する。オブジェクト制御部はさらに、仮想空間内に配置されるオブジェクトのうち、複数の第1の種類のオブジェクトに対して、仮想カメラからの距離に応じて、仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行う。
第1の発明によれば、複数の第1の種類のオブジェクトに対して、仮想カメラからの距離に応じて、仮想カメラから遠ざかるように変形または移動するので、仮想カメラから見た画像において邪魔になり難くなる。また、第1の種類のオブジェクトを変形または移動させる処理を実行するので、オブジェクトを透明化させる処理を実行する場合に比べると仮想カメラから見た画像の見た目が比較的自然なものとなる。つまり、出来るだけ自然な見た目を維持しつつ画像の視認性を高くすることができる。
第2の発明は、第1の発明に従属し、画像処理装置は、操作受付部をさらに備える。操作受付部は、ユーザの操作入力を受け付ける。仮想カメラ制御部は、ユーザの操作入力に従って、仮想カメラを仮想空間内において移動させる。
第2の発明によれば、ユーザが仮想カメラを動かす場合にも、上記のように自然な見た目で視認性を高めることができる。
第3の発明は、第2の発明に従属し、仮想空間内に配置されるオブジェクトには、ユーザの操作入力に応じて制御される第2の種類のオブジェクトがさらに含まれる。オブジェクト制御部はさらに、ユーザの操作入力に応じて第2の種類のオブジェクトの仮想空間内における位置を制御する第2オブジェクト制御処理を行う。仮想カメラ制御部はさらに、第2の種類のオブジェクトが仮想カメラの視界に含まれるように第2の種類のオブジェクトに仮想カメラを追従させる制御を行う。
第3の発明によれば、ユーザが移動を制御可能な第2の種類のオブジェクトが仮想カメラの視野に含まれるように仮想カメラが追従されるので、複数の第1の種類のオブジェクトに対して、仮想カメラからの距離に応じて、仮想カメラから遠ざかるように変形または移動するので、第2の種類のオブジェクトの視認性を高くすることができる。
第4の発明は、第1ないし第3の発明のいずれかに従属し、オブジェクト制御部は、第1オブジェクト制御処理において、第1の種類のオブジェクトのうち、同一方向における仮想カメラとの距離が遠いものほど変形または移動の度合が小さくなるように変形または移動を行う。つまり、仮想カメラから遠ざけるための第1の種類のオブジェクトの変形または移動が次第に小さくされる。
第4の発明によれば、段階的に変形または移動の度合いを小さくするので、変形または移動後の画像がより自然に見えるようにすることができる。
第5の発明は、画像処理装置であって、操作受付部と、オブジェクト制御部と、仮想カメラ制御部と、画像生成部を備える。操作受付部は、ユーザの操作入力を受け付ける。オブジェクト制御部は、仮想空間内に配置されるオブジェクトを制御する。仮想カメラ制御部は、仮想空間内において移動可能に配置される仮想カメラを制御する。画像生成部は、仮想カメラに基づいて、仮想空間の画像を生成する。仮想空間内に配置されるオブジェクトには、複数の第1の種類のオブジェクトと、ユーザの操作入力に応じて制御される第2の種類のオブジェクトが含まれる。オブジェクト制御部はさらに、仮想カメラに基づいて、第1の種類のオブジェクトが、第2の種類のオブジェクトの少なくとも一部を隠す状態であるかどうか判定し、隠す状態の場合に、第1の種類のオブジェクトを仮想カメラから遠ざかるように変形または移動する第1オブジェクト制御処理を行う。
第5の発明によれば、第1の発明と同様に、自然な見た目のまま画像の視認性を高くすることができる。また、第5の発明によれば、必要に応じて、第1オブジェクト制御処理を実行することができる。
第6の発明は、第1ないし第5の発明のいずれかに従属し、仮想空間内に配置されるオブジェクトには地面として第3の種類のオブジェクトがさらに含まれる。第1の種類のオブジェクトは、第3の種類のオブジェクト上に配置される縦長形状のオブジェクトである。変形は、第3の種類のオブジェクトの上面から第1の種類のオブジェクトの上端までの長さまたは第3の種類のオブジェクトの上面から第1の種類のオブジェクトの上端までの高さを減少させることである。
第6の発明によれば、地面としての第3の種類のオブジェクト上に配置された第1の種類のオブジェクトの長さまたは高さを減少させるので、仮想カメラとその撮影対象の間において第1の種類のオブジェクトの長さまたは高さを減少させれば、撮影対象の視認性を高くすることができる。また、第1の種類のオブジェクトの長さまたは高さを減少させるだけなので、画像の見た目の自然さを出来るだけ維持することができる。
第7の発明は、第6の発明に従属し、変形は、所定範囲内で、仮想カメラからの距離に比例または距離の2乗に比例するように、長さまたは高さを変化させることである。
第8の発明は、長さまたは高さは、最小値と最大値の間で変化される。
第8の発明によれば、第1の種類のオブジェクトの長さまたは高さを最小値と最大値の間で変化させるので、変化された長さまたは高さが大き過ぎることおよび小さ過ぎることを回避することができる。
第9の発明は、第7または第8の発明に従属し、距離は、仮想カメラの視線方向に垂直な水平方向における水平距離である。
第10の発明は、第7または第8の発明に従属し、距離は、仮想カメラからの3次元距離である。
第11の発明は、第7または第8の発明に従属し、距離は、仮想カメラの視線方向に垂直な水平方向における水平距離および仮想カメラからの3次元距離である。第1オブジェクト制御処理は、所定のルールに従って、複数の第1の種類のオブジェクトに対して、水平距離に応じて、または、3次元距離に応じて、仮想カメラから遠ざかるように変形または移動する処理である。
第12の発明は、画像処理システムであって、操作受付部と、オブジェクト制御部と、仮想カメラ制御部と、画像生成部を備える。操作受付部は、ユーザの操作入力を受け付ける。オブジェクト制御部は、仮想空間内に配置されるオブジェクトを制御する。仮想カメラ制御部は、仮想空間内において移動可能に配置される仮想カメラを制御する。画像生成部は、仮想カメラに基づいて、仮想空間の画像を生成する。オブジェクト制御部はさらに、仮想空間内に配置されるオブジェクトのうち、複数の第1の種類のオブジェクトに対して、仮想カメラからの距離に応じて、仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行い、ユーザの操作入力に応じて、仮想空間内に配置されるオブジェクトに含まれ、ユーザの操作入力に応じて制御される第2の種類のオブジェクトの仮想空間内における位置を制御する第2オブジェクト制御処理を行う。仮想カメラ制御部はさらに、第2の種類のオブジェクトが仮想カメラの視界に含まれるように第2の種類のオブジェクトに仮想カメラを追従させる制御を行う。
第13の発明は、画像処理システムであって、操作受付部と、オブジェクト制御部と、仮想カメラ制御部と、画像生成部を備える。操作受付部は、ユーザの操作入力を受け付ける。オブジェクト制御部は、仮想空間内に配置されるオブジェクトを制御する。仮想カメラ制御部は、仮想空間内において移動可能に配置される仮想カメラを制御する。画像生成部は、仮想カメラに基づいて、仮想空間の画像を生成する。仮想空間内に配置されるオブジェクトには、複数の第1の種類のオブジェクトと、ユーザの操作入力に応じて制御される第2の種類のオブジェクトが含まれる。オブジェクト制御部はさらに、仮想カメラに基づいて、第1の種類のオブジェクトが、第2の種類のオブジェクトの少なくとも一部を隠す状態であるかどうか判定し、隠す状態の場合に、第1の種類のオブジェクトを仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行う。
第14の発明は、ユーザの操作入力を受け付ける操作受付部と、仮想空間内に配置されるオブジェクトを制御するオブジェクト制御部と、仮想空間内において移動可能に配置される仮想カメラを制御する仮想カメラ制御部と、仮想カメラに基づいて、仮想空間の画像を生成する画像生成部を備える画像処理装置の画像処理方法である。オブジェクト制御部は、仮想空間内に配置されるオブジェクトのうち、複数の第1の種類のオブジェクトに対して、仮想カメラからの距離に応じて、仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行い、ユーザの操作入力に応じて、仮想空間内に配置されるオブジェクトに含まれ、ユーザの操作入力に応じて制御される第2の種類のオブジェクトの仮想空間内における位置を制御する第2オブジェクト制御処理を行う。仮想カメラ制御部は、第2の種類のオブジェクトが仮想カメラの視界に含まれるように第2の種類のオブジェクトに仮想カメラを追従させる制御を行う。
第15の発明は、ユーザの操作入力を受け付ける操作受付部と、仮想空間内に配置されるオブジェクトを制御するオブジェクト制御部と、仮想空間内において移動可能に配置される仮想カメラを制御する仮想カメラ制御部と、仮想カメラに基づいて、仮想空間の画像を生成する画像生成部を備える画像処理装置の画像処理方法である。仮想空間内に配置されるオブジェクトには、複数の第1の種類のオブジェクトと、ユーザの操作入力に応じて制御される第2の種類のオブジェクトが含まれる。オブジェクト制御部は、仮想カメラに基づいて、第1の種類のオブジェクトが、第2の種類のオブジェクトを隠す状態であるかどうか判定し、隠す状態の場合に、第1の種類のオブジェクトを仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行う。
第16の発明は、コンピュータによって実行されるゲームプログラムであって、コンピュータを、オブジェクト制御部と、仮想カメラ制御部と、画像生成部として機能させる。オブジェクト制御部は、仮想空間内に配置されるオブジェクトを制御する。仮想カメラ制御部は、仮想空間内において移動可能に配置される仮想カメラを制御する。画像生成部は、仮想カメラに基づいて、仮想空間の画像を生成する。オブジェクト制御部はさらに、仮想空間内に配置されるオブジェクトのうち、複数の第1の種類のオブジェクトに対して、仮想カメラからの距離に応じて、仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行う。
第17の発明は、コンピュータによって実行されるゲームプログラムであって、コンピュータを、操作受付部と、オブジェクト制御部と、仮想カメラ制御部と、画像生成部として機能させる。操作受付部は、ユーザの操作入力を受け付ける。オブジェクト制御部は、仮想空間内に配置されるオブジェクトを制御する。仮想カメラ制御部は、仮想空間内において移動可能に配置される仮想カメラを制御する。画像生成部は、仮想カメラに基づいて、仮想空間の画像を生成する。仮想空間内に配置されるオブジェクトには、複数の第1の種類のオブジェクトと、ユーザの操作入力に応じて制御される第2の種類のオブジェクトが含まれる。オブジェクト制御部はさらに、仮想カメラに基づいて、第1の種類のオブジェクトが、第2の種類のオブジェクトの少なくとも一部を隠す状態であるかどうか判定し、隠す状態の場合に、第1の種類のオブジェクトを仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行う。
第12ないし第17の発明においても、第1の発明と同様に、自然な見た目のまま画像の視認性を高くすることができる。
また、第13、第15、第17の発明においても、第5の発明と同様に、必要に応じて、第1オブジェクト制御処理を実行することができる。
この発明によれば、複数の第1の種類のオブジェクトが配置される場合に、仮想カメラから遠ざかるように第1の種類のオブジェクトを変形または移動させるので、仮想カメラから見た画像において撮影対象(被写体)の視認性を高くすることができる。また、第1の種類のオブジェクトを変形または移動によって制御するので、見た目の自然さを出来るだけ維持することができる。つまり、出来るだけ自然な見た目を維持しつつ画像の視認性を高くすることができる。
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
図1はゲームシステムの限定しない一例の外観図である。 図2は図1に示すゲーム装置の電気的な構成の限定しない一例を示すブロック図である。 図3は図1に示す端末装置の電気的な構成の限定しない一例を示すブロック図である。 図4は仮想空間に各種のオブジェクトが配置されたシーンの限定しない一例の一部を俯瞰的に見た図解図である。 図5は図4に示す場合において仮想カメラで撮影された画像の限定しない一例を示す図解図である。 図6は縦長オブジェクトを仮想カメラから遠ざかるように制御する方法の限定しない一例を説明するための図解図である。 図7は図6を用いて説明した場合の縦長オブジェクトの高さを変化させるために設定されるパラメータの限定しない一例を説明するための図解図である。 図8は図4に示したシーンの一部において一部の縦長オブジェクトの高さを変化させた場合の限定しない一例を俯瞰的に見た図解図である。 図9は図8に示すシーンの一部において仮想カメラで撮影された画像の限定しない一例を示す図解図である。 図10(A)は縦長オブジェクトを仮想カメラから遠ざかるように制御する方法の限定しない第2の例を説明するための図解図であり、図10(B)は縦長オブジェクトを仮想カメラから遠ざかるように制御する方法の限定しない第3の例を説明するための図解図である。 図11は縦長オブジェクトの高さを変化させるために設定されるパラメータの限定しない他の例を説明するための図解図である。 図12は縦長オブジェクトを仮想カメラから遠ざかるように制御する方法の限定しない第4の例を説明するための図解図である。 図13は図12に示す場合において縦長オブジェクトの高さを変化させるために設定されるパラメータの限定しない一例を説明するための図解図である。 図14は仮想空間に各種のオブジェクトが配置されたシーンの限定しない第2の例の一部を俯瞰的に見た図解図である。 図15は図14に示すシーンの一部において一部の縦長オブジェクトの高さを変化させた場合の限定しない一例を俯瞰的に見た図解図である。 図16(A)は他の縦長オブジェクトを仮想カメラから遠ざかるように制御する方法の限定しない一例を説明するための図解図であり、図16(B)は図16(A)に示す場合において他の縦長オブジェクトの高さを変化させるために設定されるパラメータの限定しない一例を説明するための図解図である。 図17は図2に示すメインメモリのメモリマップの限定しない一例を示す図である。 図18は図2に示すゲーム装置のCPUの全体処理の限定しない一例を示すフロー図である。 図19は図2に示すゲーム装置のCPUおよびGPUの縦長オブジェクト配置処理の限定しない一例を示すフロー図である。
以下、図面を参照して、本発明の一実施例に係るゲームシステム10について説明する。図1に示すゲームシステム10は、据置型のゲーム装置12および可搬型の端末装置14を含む。また、ゲームシステム10は、テレビジョン受像器等に代表される据置型のディスプレイ装置(以下、「テレビ」と記載する)16を含み、接続コードを介して、ゲーム装置12とテレビ16が接続される。このゲームシステム10は、端末装置14を用いたゲーム操作に基づいて、ゲーム装置12においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をテレビ16および/または端末装置14に表示するものである。
図示は省略するが、ゲーム装置12には、当該ゲーム装置12に対して交換可能に用いられる情報記憶媒体の一例である光ディスクが脱着可能に挿入される。光ディスクには、ゲーム装置12において実行されるための情報処理プログラム(典型的にはゲームプログラムのようなアプリケーションプログラム)が記憶されている。ゲーム装置12は、光ディスクに記憶されている情報処理プログラムを読み出して実行することによって情報処理(ゲーム処理)を実行する。
テレビ16は、ゲーム装置12において実行されるゲーム処理によって得られるゲーム画像を表示する。テレビ16はスピーカ16a(図2)を有しており、スピーカ16aは、上記ゲーム処理の結果得られるゲーム音声を出力する。
なお、他の実施例では、ゲーム装置12と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置12とテレビ16との通信は無線通信であってもよい。
端末装置14は、少なくとも、ゲーム装置12との間でデータを送受信する。ユーザ(プレイヤ)は、端末装置14を手に持って動かしたり、端末装置14を自由な位置に配置したりして使用することが可能である。端末装置14は、タッチパネル56、アナログスティック58および操作ボタン60のような入力手段と、LCD62のような表示手段を備える。たとえば、Bluetooth(ブルートゥース)(登録商標)の技術を用いた無線通信によってゲーム装置12と通信可能である。ただし、端末装置14とゲーム装置12とは有線で接続されてもよい。端末装置14は、ゲーム装置12で生成された画像(たとえばゲーム画像)のデータをゲーム装置12から受信し、受信した画像をLCD62に表示する。また、端末装置14は、自機に対して行われた操作の内容を表す操作データをゲーム装置12に送信する。
図2は、ゲーム装置12の電気的な構成を示すブロック図である。ゲーム装置12は、CPU20、システムLSI22、外部メインメモリ26、ROM/RTC28、およびAV−IC36等を有する。
CPU20は、光ディスクに記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU20は、システムLSI22に接続される。このシステムLSI22には、CPU20の他、外部メインメモリ26、ROM/RTC28およびAV−IC36が接続される。システムLSI22は、それに接続される各構成要素間におけるデータ転送の制御、表示すべき画像の生成、外部情報処理装置からのデータの取得等の処理を行う。
揮発性の外部メインメモリ26は、光ディスクから読み出されたゲームプログラムや、フラッシュメモリ24から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU20のワーク領域やバッファ領域として用いられる。ROM/RTC28は、ゲーム装置12の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC)とを有する。
なお、光ディスクから読み出されたプログラムデータやテクスチャデータ等は、後述する内部メインメモリ22eまたは外部メインメモリ26に書き込まれる。
システムLSI22には、入出力プロセッサ(I/Oプロセッサ)22a、GPU22b、DSP22c、VRAM22d、および内部メインメモリ22eが設けられる。図示は省略するが、これらの構成要素22a〜22eは内部バスによって互いに接続される。
GPU22bは、描画手段の一部を形成し、CPU20からのグラフィクスコマンド(作画命令)に従って画像データを生成する。ただし、VRAM22dに、メインメモリ(22e、26)から読み出したポリゴンデータやテクスチャデータ等のデータが記憶され、GPU22bは、そのデータを用いて画像データを生成する。この実施例においては、ゲーム装置12は、テレビ16に表示するゲーム画像(以下、「テレビ用ゲーム画像」と呼ぶ)の画像データを生成する。
DSP22cは、オーディオプロセッサとして機能し、内部メインメモリ22eや外部メインメモリ26に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。なお、この実施例においては、ゲーム装置12は、テレビ16のスピーカ16aから出力するゲーム音声(以下、「テレビ用ゲーム音声」と呼ぶ)の音声データを生成する。
上記のように、ゲーム装置12において生成される画像および音声のうちで、テレビ16において出力される画像および音声(効果音や音楽なども含む。以下、同じ。)のデータは、AV−IC36によって読み出される。AV−IC36は、読み出した画像データを、AVコネクタ38を介してテレビ16に出力するとともに、読み出した音声データを、テレビ16に内蔵されるスピーカ16aに出力する。これによって、テレビ16に画像が表示されるとともにスピーカ16aから音声が出力される。
入出力プロセッサ22aは、それに接続される構成要素との間でデータの送受信を実行したり、外部情報処理装置からのデータのダウンロードを実行したりする。また、入出力プロセッサ22aは、フラッシュメモリ24およびコーデックLSI30に接続される。また、コーデックLSI30は端末通信モジュール32に接続され、端末通信モジュール32にはアンテナ34が接続される。
CPU20はゲームプログラムを実行することにより、フラッシュメモリ24に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ24には、ゲーム装置12と外部情報処理装置との間で送受信されるデータの他、ゲーム装置12を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。
なお、図示は省略するが、入出力プロセッサ22aは、ネットワーク通信モジュールを用いてインターネット等のネットワークに接続し、ネットワークに接続される外部情報処理装置(たとえば他のゲーム装置や、各種サーバ等)と通信する(データを送受信する)ことができる。
また、ゲーム装置12は、端末装置14との間でデータを送受信することが可能である。入出力プロセッサ22aは、端末装置14へデータを送信する場合、送信するデータをコーデックLSI30へ出力する。コーデックLSI30は、入出力プロセッサ22aからのデータに対して所定の圧縮処理を行う。端末通信モジュール32は、端末装置14との間で無線通信を行う。したがって、コーデックLSI30によって圧縮されたデータは、端末通信モジュール32によってアンテナ34を介して端末装置14へ送信される。この実施例では、コーデックLSI30は、たとえばH264規格といった高効率の圧縮技術を用いてデータを圧縮する。
また、ゲーム装置12は、端末装置14から各種データを受信(受付)可能である。この実施例では、端末装置14は、操作データ、画像データ、および音声データを送信する。端末装置14から送信される各データはアンテナ34を介して端末通信モジュール32によって受信される。ここで、端末装置14からの画像データおよび音声データは、ゲーム装置12から端末装置14に送信されるデータと同様の圧縮処理が施されている。
したがって、これら画像データおよび音声データについては、端末通信モジュール32からコーデックLSI30に送られ、コーデックLSI30によって伸張処理が施されて入出力プロセッサ22aに出力される。
一方、端末装置14からの操作データに関しては、画像や音声に比べてデータ量が少ないので、圧縮処理が施されていなくともよい。また、必要に応じて暗号化がされていてもよいし、されていなくともよい。操作データは、端末通信モジュール32で受信された後、コーデックLSI30を介して入出力プロセッサ22aに出力される。入出力プロセッサ22aは、端末装置14から受信したデータを、内部メインメモリ22eまたは外部メインメモリ26のバッファ領域に記憶(一時記憶)する。
なお、ゲーム装置12の構成は限定される必要は無い。たとえば、拡張機器を接続可能な構成とすることもできる。
図3は、端末装置14の電気的な構成を示すブロック図である。図3に示すように、端末装置14は、図1に示した構成の他、ユーザインタフェースコントローラ(UIコントローラ)50、タッチパネルコントローラ54、コーデックLSI52、スピーカ66、サウンドIC64、マイク68、無線モジュール70、アンテナ72、およびフラッシュメモリ74を備える。これらの電子部品は、電子回路基板上に実装されてハウジング内に収納される。
UIコントローラ50は、各種の入出力部に対するデータの入出力を制御するための回路である。このUIコントローラ50は、タッチパネルコントローラ54、アナログスティック58、および操作ボタン60に接続される。また、UIコントローラ50は、コーデックLSI52に接続される。
タッチパネルコントローラ54は、タッチパネル56に接続され、タッチパネル56の制御を行う回路である。タッチパネルコントローラ54は、タッチパネル56からの信号に基づいて所定の形式のタッチ位置データを生成してUIコントローラ50へ出力する。タッチ位置データは、タッチパネル56の入力面において入力が行われた位置(タッチ位置)の座標を表す。
アナログスティック58は、ユーザの指で操作されるスティック部がスライドした(または傾倒した)方向および量を表すスティックデータをUIコントローラ50へ出力する。また、操作ボタン60は、各種の操作ボタンないしキースイッチに対する入力状況(押下されたか否か)を表す操作ボタンデータをUIコントローラ50へ出力する。
UIコントローラ50は、上記の各構成要素から受け取ったタッチ位置データ、スティックデータ、および操作ボタンデータを含む操作データをコーデックLSI52に出力する。
コーデックLSI52は、ゲーム装置12へ送信するデータに対する圧縮処理、および、ゲーム装置12から送信されたデータに対する伸張処理を行う回路である。コーデックLSI52には、LCD62、サウンドIC64、無線モジュール70、およびフラッシュメモリ74が接続される。また、コーデックLSI52はCPU52aと内部メモリ52bを含む。
無線モジュール70にはアンテナ72が接続されており、無線モジュール70はアンテナ72を介してゲーム装置12へ送信データを送信する。無線モジュール70は、ゲーム装置12の端末通信モジュール32と同様の機能を有している。上述したように、端末装置14からゲーム装置12へ送信される送信データには、操作データ、画像データ、および音声データが含まれる。
なお、この実施例の端末装置14は、タッチパネル56、アナログスティック58、および操作ボタン60といった操作手段を備えるが、他の実施例においては、これらの操作手段に代えて、または、これらの操作手段とともに、他の操作手段を備える構成であってもよい。たとえば、端末装置14の動き(位置や姿勢、あるいは、位置や姿勢の変化を含む)を算出するためのセンサとして、磁気センサ、加速度センサ、およびジャイロセンサの少なくとも1つを備えるようにしてよい。
また、端末装置14は、カメラおよびマイク68を備える構成であるが、他の実施例においては、カメラおよびマイク68を備えていなくてもよく、また、いずれか一方のみを備えていてもよい。
情報処理装置の一例であるゲーム装置12は、画像処理装置としても機能し、画像データを生成および出力(表示)する。簡単に説明すると、GPU22bは、CPU20の指示の下、3次元の仮想空間に各種のオブジェクトをモデリングする。つまり、各種のオブジェクトが仮想空間に作成ないし配置され、或る情景(シーン)が生成される。このシーンを仮想カメラで撮影した(視点から見た)画像がテレビ16(モニタ)に表示される。具体的な画像処理について説明すると、まず、3次元(ワールド座標系)の仮想空間に或るシーンが生成され、仮想空間に生成されたシーンが仮想カメラから捉えた座標(カメラ座標)系に変換(透視変換)される。たとえば、視点から見た画像が仮想のスクリーン上に透視投影される。次に、クリッピングおよび陰面消去処理が施される。続いて、シェーディングが施されることにより、オブジェクト表面の明るさ(陰影)が表現される。さらに、シャドーイング(影付け)が施されることにより、オブジェクトによって生じる影が表現される。そして、テクスチャマッピングが施される。このようにして2次元画像が生成(描画)され、生成された2次元画像に対応する2次元画像データがAV−IC36およびAVコネクタ38を介してテレビ16に出力される。なお、3次元のデータから2次元画像データを生成することをレンダリングという。
図4は仮想空間に生成された或るシーン100の一部を斜め上方から俯瞰的に見た図解図である。なお、図4は、仮想カメラの配置を含めて説明をするための図解図であるので、当該仮想カメラに基づいて生成されるゲーム画像(図5参照)とは異なっている。後述する図8および図15についても同じ。
このシーン100では、プレイヤキャラクタないしプレイヤオブジェクト102が地面オブジェクト104上に配置される。また、地面オブジェクト104上には、比較的長い丈の草原(草むら)を模したオブジェクト(以下、「草原オブジェクト」という)106が配置され、プレイヤオブジェクト102は草原オブジェクト106の中に入っている。また、このプレイヤオブジェクト102を注視(撮影)するように、仮想カメラ110が配置される。つまり、プレイヤオブジェクト102は、仮想カメラ110の視界(撮影可能な範囲)に含まれる。視界は、四角錐台(視体積)の視野であり、図4(図8および図15も同様)においては、点線で示してある。ただし、四角錐台の底面などの一部は図示したシーン100の一部の外にはみ出している。また、四角錐台の上面がニアークリッピング面であり、底面がファークリッピング面である。さらに、仮想カメラ110からプレイヤオブジェクト102を見た場合において、草原オブジェクト106の向こう側(奥側)に、山または/および岩を模したオブジェクト(以下、この明細書において、単に「山オブジェクト」という)108が配置される。
なお、地面オブジェクト104、草原オブジェクト106および山オブジェクト108を、まとめて、背景オブジェクトと呼ぶことがある。
また、図4において、草原オブジェクト106を構成する各草に相当するオブジェクトを説明する場合には、その各オブジェクトを「草オブジェクト106a」と呼ぶことにする。以下、同様である。
上述したように、仮想カメラ110で撮影した画像がテレビ16に表示されるため、図4に示すシーン100では、図5に示すような画像(ゲーム画像)150がテレビ16に表示される。図5に示すように、ゲーム画像150には、草原オブジェクト106の一部が含まれる。上述したように、草原オブジェクト106を構成する各草オブジェクト106aは、比較的丈が長いため、ゲーム画像150においては、プレイヤオブジェクト102が複数の草オブジェクト106aで隠れてしまう。このため、プレイヤオブジェクト102がほとんど見えない状態である。
このように、プレイヤオブジェクト102がほとんど見えない状態においては、従来、たとえばプレイヤオブジェクト102と仮想カメラ110の間に配置されるオブジェクト(複数の草オブジェクト106a)の透明度を高くする処理が実行され、半透明にされた草オブジェクト106aを透過して仮想カメラ110で撮影されるプレイヤオブジェクト102を含むゲーム画像がテレビ16に表示されることがあった。
このような従来の方法ないし処理では、プレイヤオブジェクト102が見えない状態を回避することはできるが、草オブジェクト106aが半透明に変化されるため、半透明にされた草オブジェクト106aという現実には存在しないものを含むゲーム画像を見たユーザないしプレイヤは違和感を覚える。つまり、ゲーム画像の見た目が不自然である。
このような不都合を回避するため、この実施例では、草オブジェクト106aのように、地面オブジェクト104上に密集して配置されることにより、ゲーム画像において、プレイヤオブジェクト102のような所定のオブジェクトの一部または全部についての視認性を低下させるオブジェクト(以下、「縦長オブジェクト」と呼ぶことがある)が存在する場合には、仮想カメラ110から遠ざかるように、その縦長オブジェクトを変形または移動させるようにしてある。
この実施例では、縦長オブジェクトの変形は、縦長オブジェクトの形状または/および大きさが変化されること、または、縦長オブジェクトの向きが変化されること、或いは、縦長オブジェクトの向きおよび形状が変化されることを意味する。また、縦長オブジェクトの移動は、縦長オブジェクトの位置が変化されること、または、縦長オブジェクトの向きが変化されること、或いは、縦長オブジェクトの向きおよび形状が変化されることを意味する。したがって、縦長オブジェクトの向き、または、縦長オブジェクトの向きおよび形状が変化される場合には、縦長オブジェクトが変形されると言えるし、縦長オブジェクトが移動されるとも言える。
図6は、仮想カメラ110から遠ざかるように、縦長オブジェクトを変形させる場合の一例を示す図解図である。図7は、仮想カメラ110から縦長オブジェクトを遠ざかるように変形させる範囲およびパラメータの変化を示す図解図である。
図6および図7に示すように、この実施例では、仮想空間における仮想カメラ110を基準に、この仮想カメラ110を含む所定の範囲E1内の縦長オブジェクトの高さHが変化される。この点で、範囲E1を、縦長オブジェクトの高さHを制御する範囲(高さ制御範囲)と呼ぶことができる。後述する他の範囲E2および範囲E3も同様である。
ただし、仮想カメラ110には、その3次元位置を基準(中心O)として、3次元の座標系(ローカル座標系)が設定される。図6および図7に示すように、仮想カメラ110の視線と重なり、水平方向に延びる軸がz軸に設定される。また、仮想カメラ110の位置を通り、垂直方向に延びる軸がy軸に設定される。そして、y軸とz軸の両方に垂直に延びる軸がx軸に設定される。
なお、図6および図7に示す例では、仮想カメラ110の視線とz軸が重なるが、仮想カメラ110の向きが水平方向から上または下に傾く場合には、視線とz軸は重ならない。
また、図6および図7に示すように、仮想カメラ110の視線方向がz軸のマイナス方向に設定され、仮想カメラ110の視線方向を向いた場合の右方向がx軸のプラス方向に設定され、仮想カメラ110の視線方向を向いた場合の上方向がy軸のプラス方向に設定される。以下、仮想カメラ110に設定されるローカル座標系について同じである。
図6に示すように、縦長オブジェクトの高さHは、仮想カメラ110に設定されたローカル座標系において、z軸(視線)からx軸方向に離れるに従って高く(大きく)なるように変化される。つまり、同一の方向(斜め方向も含む)においては、仮想カメラ110から離れるに従って縦長オブジェクトの高さHは高くされる。たとえば、縦長オブジェクトである草原オブジェクト106を構成する各草オブジェクト106aは縦長の三角形の形状に形成され、z軸から離れるに従ってその高さHが大きくなるように変化される。ただし、この実施例では、各草オブジェクト106aの位置は、当該草オブジェクト106aが仮想空間内の地面に接する辺の中心点に設定される。
図6からも分かるように、仮想カメラ110に設定されたローカル座標系で表現された場合の草オブジェクト106aのx座標の値(絶対値)が大きい程、草オブジェクト106aの高さHが大きくされる。図示は省略するが、仮想カメラ110の左側(X軸のマイナス方向)についても同様に、仮想カメラ110から離れるに従って草オブジェクト106aの高さHが高くなるように変化される。逆に、草オブジェクト106aのx座標の絶対値が小さい程、草オブジェクト106aの高さHが小さくされる。たとえば、図6に示す例では、仮想カメラ110側から数えて、2番目の草オブジェクト106aのx座標X1よりも4番目の草オブジェクト106aのx座標X2が大きいため、4番目の草オブジェクト106aの高さHは2番目の草オブジェクト106aの高さHよりも高くされる。つまり、仮想カメラ110の視線からの水平距離Kが大きくなるにつれて、草オブジェクト106aの高さHが次第に高くされる。ただし、図6に示す例では、各草オブジェクト106aのデフォルト(本来)の高さHは同じに設定される。
この実施例では、後述するように、草オブジェクト106aの高さHは、x座標の大きさに応じて、段階的(ステップ状)に変化される。また、この実施例では、草オブジェクト106aの高さHは、当該草オブジェクト106aの縦方向の長さ(直線距離d1)を変更することにより、変化される。
また、草オブジェクト106aの高さHは、上限および下限の範囲内で変化される。草オブジェクト106aの高さHの上限は、一例として、プレイヤオブジェクト102の高さの所定の割合(たとえば、70%)で決まる値に予め設定される。また、草オブジェクト106aの高さHの下限は、一例として、地面からの仮想カメラ110の高さの半分の値に設定される。
ただし、高さHの上限は、プレイヤオブジェクト102に対する仮想カメラ110の位置(高さ)に応じて可変的に設定されてもよい。たとえば、仮想カメラ110がプレイヤオブジェクト102を斜め上方から撮影する場合には、高さHの上限は比較的大きい値に設定され、また、仮想カメラ110がプレイヤオブジェクト102の後方または斜め下方から撮影する場合には、高さHの上限は比較的小さい値に設定される。また、高さHの下限は、仮想カメラ110に関係無く、地面(地面オブジェクト104の表面(上面))からの草オブジェクト106aのデフォルトの高さH、または、草オブジェクト106aのデフォルトの長さに基づいて決定されてもよい。
図6に示すように、草オブジェクト106aの高さHは、草オブジェクト106aの長さ(底辺と頂点とを結ぶ直線距離d1)または地面から草オブジェクト106aの頂点(最高点)までの直線距離d2で決定される。直線距離d1は、草オブジェクト106aの地面に対する傾きに拘わらず一定であるが、直線距離d2は、草オブジェクト106aの地面に対する傾きによって変化される。したがって、草オブジェクト106aが地面オブジェクト104上に鉛直上方に向けて配置される場合には、直線距離d1と直線距離d2は等しいが、草オブジェクト106aが地面オブジェクト104上に斜め上方に向けて配置される場合には、直線距離d1は直線距離d2よりも大きい。
また、上述したように、この実施例では、草オブジェクト106aの高さHが変化されるのは、仮想カメラ110の位置を中心(基準)にした所定の範囲E1内である。図7では、範囲E1の外枠(外形)を点線で示してある。
図7に示すように、この実施例では、範囲E1は、x軸方向に所定の長さL1を有し、z軸方向に所定の長さL2を有する四角形(長方形)で規定される。ただし、範囲E1の中心は、仮想カメラ110の位置に設定される。また、たとえば、長さL1は、プレイヤオブジェクト102の胴体の大きさ(横幅)に基づいて設定され、長さL2は、プレイヤオブジェクト102と仮想カメラ110の距離に基づいて設定される。ただし、プレイヤオブジェクト102と仮想カメラ110の距離は、仮想カメラ110がプレイヤオブジェクト102に追従して移動する場合に予め設定される距離(水平距離または直線距離)である。この実施例では、長さL1は、プレイヤオブジェクト102の胴体(または本体)を水平面に平行な面の形状を円形または楕円形で近似した場合の直径または長軸と同じまたはそれよりも少し大きく設定される。また、長さL2は、プレイヤオブジェクト102を追従する場合に設定されたプレイヤオブジェクト102と仮想カメラ110のデフォルトの距離よりも少し長い距離の2倍に設定される。
なお、図7に示すように、仮想カメラ110を中心に範囲E1を設定してあるが、ゲーム画像150は仮想カメラ110で撮影された画像であるため、たとえば、範囲E1は、仮想カメラ110の前方のニアークリッピング面または仮想カメラ110の中心(視点)からz軸のマイナス方向のみに設定されるようにしてもよい。
また、図6にも示したように、この実施例では、草オブジェクト106aの高さHは仮想カメラ110から遠ざかるに従って段階的に高くされる。このため、草オブジェクト106aの高さHを変化させるパラメータ(係数ないし倍率)は仮想カメラ110の視線(z軸と重なる線)からx軸のプラス方向およびマイナス方向に向かうに従って、段階的に大きくされる。
ただし、パラメータは1よりも小さい数値である。図7では、パラメータの値の違いを範囲E1内においてグレーの明るさの違いで示してある。ただし、グレーが明るい程、パラメータの値は大きい。
また、パラメータの段階的な変化は、線形的な変化(1次関数に従う変化)でもよいし、放物線状の変化(2次関数に従う変化)でもよい。また、高さH自体が、段階的に変化されることに代えて、線形的に変化されてもよいし、放物線状に変化されてもよい。
図7に示すようにパラメータが設定される場合には、図4に示したシーン100において、一部の草オブジェクト106aの高さHが変化され、図8に示すように、シーン100が変化される。図8からも分かるように、少なくとも、仮想カメラ110とプレイヤオブジェクト102の間に配置される草オブジェクト106aの高さHが低くされ、仮想カメラ110からプレイヤオブジェクト102を見た場合に、図4に示したシーン100と比較して、プレイヤオブジェクト102の視認性が高くされる。したがって、図9に示すように、仮想カメラ110で撮影された画像(ゲーム画像150)においても、プレイヤオブジェクト102を隠していた草オブジェクト106aの高さHが低くされ、プレイヤオブジェクト102の視認性が高くされる。
図6から明らかなように、草オブジェクト106aの高さHを短くする処理は、仮想カメラ110から遠ざかる変形である。たとえば、草オブジェクト106aの重心位置は仮想カメラ110から遠ざかっている。また、草オブジェクト106aにおける仮想カメラ110から最も近い点の位置が仮想カメラ110から遠ざかっている。したがって、草オブジェクト106aの高さHを短くする変形は、仮想カメラ110から遠ざかるような変形であるということができる。
また、草オブジェクト106aの高さHが変化されるのは、上述した範囲E1内に配置された草オブジェクト106aであり、ゲーム画像150の左右の端部に向かうに従って草オブジェクト106aの高さHが段階的に高くなるので、ゲーム画像150を見たプレイヤは、草オブジェクト106aを掻き分けてプレイヤオブジェクト102を見ているような体感を得る。したがって、ゲーム画像150の見た目が不自然になることはほとんど無い。
上記のように、この実施例では、草オブジェクト106aの長さ(直線距離d1)を変化させることにより、草オブジェクト106aの高さHを変化させるようにしたが、草オブジェクト106aを仮想カメラ110から遠ざける方法はこれに限定される必要はない。
たとえば、図10(A)に示すように、草オブジェクト106aの向き(傾き)を変化(移動)させることにより、草オブジェクト106aの高さHを変化させることもできる。つまり、草オブジェクト106aは、仮想カメラ110からx軸方向の距離が大きくなると、傾斜角度(傾きの度合い)が段階的に小さくされることにより、高さHが段階的に大きくされる。ただし、草オブジェクト106aを傾ける方向は、仮想カメラ110または仮想カメラ110の視線から離れる方向である。
なお、図10(A)に示す方向に草オブジェクト106aを傾ける場合には、単に傾けるのみならず、草オブジェクト106aが地面オブジェクト104に刺さらないように、その形状も一部変形される。図示は省略するが、図10(A)の紙面に対して垂直な方向に傾ける場合には、草オブジェクト106aは、その底辺を軸に傾斜されるため、その形状を変形させる必要はない。また、図10(A)では、草オブジェクト106aが傾けられていることを分かり易く示すために、他の場合よりも、草オブジェクト106aの数を少なくしてある。
また、図10(B)に示すように、草オブジェクト106aの配置位置を移動させることにより、仮想カメラ110から遠ざかるように、草オブジェクト106aを配置することもできる。つまり、草オブジェクト106aは、仮想カメラ110からx軸方向の距離が大きくなると、移動距離(移動量または移動の度合い)が段階的に小さくされる。このようにしても、ゲーム画像150を見たプレイヤは草オブジェクト106aを掻き分けて撮影しているような体感を得ることができる。ただし、草オブジェクト106aを移動させる方向は、仮想カメラ110または仮想カメラ110の視線から離れる方向である。
なお、図10(A)および図10(B)に示す場合においても、草オブジェクト106aの配置位置が範囲E1(x軸方向の最大値L1/2)外である場合には、当該草オブジェクト106aが傾斜されることはなく、当該草オブジェクト106aの配置位置が移動されることもない。また、図10(A)および図10(B)に示す場合においても、変化させた後の高さHが上限または下限を超える場合には、高さHは上限または下限に設定(変更)される。これらのことについては、他の場合についても同様である。
図11は草オブジェクト106aの高さHを変化させるために設定されるパラメータの他の例を説明するための図解図である。図11に示す例では、範囲E1において、x軸方向のみならず、z軸方向についても段階的に草オブジェクト106aの高さHが変化されるようにパラメータが設定される。したがって、仮想空間(シーン100)を仮想カメラ110から見た場合に、視線から左右に離れるに従うとともに、視線方向の奥に向かうに従って、草オブジェクト106aの高さHが次第に高くされる。このため、図示は省略するが、図9に示したゲーム画像150よりも、ゲーム画像150の奥行き方向についての見た目がより自然である。
また、上述の例では、仮想カメラ110との水平距離K(x軸方向の距離または/およびz軸方向の距離)に応じて、草オブジェクト106aの高さHを変化させるようにしたが、これに限定される必要はない。仮想カメラ110との水平距離Kのみならず、仮想カメラ110の高さもさらに考慮して、草オブジェクト106aの高さHを変化させることもできる。かかる場合には、草オブジェクト106aの高さHは、上述したように、仮想カメラ110との水平距離Kに応じて決定された草オブジェクト106aの高さH(説明の便宜上、「高さH1」という)、または、仮想カメラ110との3次元距離Rに応じて決定された草オブジェクト106aの高さH(説明の便宜上、「高さH2」という)に決定される。また、この実施例では、草オブジェクト106aの高さHは、高さH1および高さH2のうちの大きい方に決定されるが、小さい方に決定されてもよい。
図12は3次元距離Rに応じて草オブジェクト106aの高さH2が変化される方法を説明するための図解図であり、図13は図12に示すように、3次元距離に応じて草オブジェクト106aの高さH2を変化させる場合に設定されるパラメータを説明するための図解図である。
図12に示すように、3次元距離Rは、仮想カメラ110の3次元位置と草オブジェクト106aの3次元位置との直線距離である。図12では、仮想カメラ110の視線(z軸)の方向と重なる位置に配置される草オブジェクト106aの高さHが変化される場合について示してあるが、仮想カメラ110に設定されたローカル座標系におけるxz平面内の他の方向と重なる位置に配置される草オブジェクト106aについても同様に高さHが変化される。また、たとえば、3次元距離Rの2乗に比例するように、草オブジェクト106aの高さHが変化される。
したがって、図13に示すように、3次元距離R(半径)の長さが大きくなるについて段階的に草オブジェクト106aの高さHが高くなるように、パラメータが設定される。図13に示すように、高さHを変化させる範囲E2は、円形状であるが、この範囲E2を規定する半径L2/2は3次元距離Rであるため、仮想カメラ110からの水平距離Kのみならず、仮想カメラ110の高さについても考慮される。上述したように、段階的に設定されるパラメータは、3次元距離Rの2乗に比例する。したがって、たとえば、図13に示すように設定されるパラメータのみを用いて草オブジェクト106aの高さHが変化されると、草原オブジェクト106は、仮想カメラ110を中心に段階的に径が大きくなるすり鉢状の窪みを形成するように変形される。この段階的な径の変化が放物線状である。
仮想カメラ110との水平距離Kのみならず、仮想カメラ110の高さもさらに考慮して、草オブジェクト106aの高さHを変化させるために設定されるパラメータは図11で示した場合と同様に設定される。ただし、この場合、仮想カメラ110の近くまたは遠くに配置される草オブジェクト106aの高さHを線形的に変化させるか放物線状に変化させるかに応じて、水平距離Kに応じて高さH1を変化させるパラメータの変化量(1次関数の傾き)および3次元距離Rに応じて高さH2を変化させるパラメータの変化量(放物線の開き具合)が決定される。いずれの手法であっても、出来る限り自然な見た目のまま、仮想空間における当該シーンの視認性を高めることができる。特に、草オブジェクト106aのデフォルト(本来)の高さH(長さ)が比較的大きい(長い)場合には、視認性向上について高い効果を得ることができる。
また、ここでは、草オブジェクト106aの高さH2を算出する場合には、3次元距離Rの2乗に比例するようにパラメータを設定してあるが、水平距離Kの場合と同様に、3次元距離Rに比例するように線形的に変化するパラメータを設定するようにしてもよい。かかる場合には、高さH1を決定するためのパラメータと高さH2を決定するためのパラメータは、各々の変化量(1次関数の傾き)が異なるように設定される。
図4−図13に示した例では、草オブジェクト106aのデフォルト(本来)の高さH(長さ)が比較的大きく(長く)、仮想カメラ110でシーン100を撮影したゲーム画像150において、プレイヤオブジェクト102の視認性が大きく低下する場合について説明した。図14−図16で示す例では、草オブジェクト206aのデフォルトの高さH(長さ)が比較的小さく(低く)、仮想カメラ110でシーン200を撮影したゲーム画像において、プレイヤオブジェクト102の視認性がほとんど低下しない場合について説明する。
たとえば、図14には、仮想空間に生成されたシーン200の一例が示される。シーン200では、地面オブジェクト204(図15参照)、草原オブジェクト206および山オブジェクト208のような背景オブジェクトが配置される。草原オブジェクト206は、地面オブジェクト204上に配置され、山オブジェクト208は草原オブジェクト206の向こう側(奥側)に配置される。ただし、図14では、プレイヤオブジェクト102および仮想カメラ110を省略してある。
図14に示すようなシーン200におけるゲーム画像の図示は省略するが、上述したように、このシーン200においては、仮想カメラ110でプレイヤオブジェクト102を注視するように撮影した場合であっても、草原オブジェクト206(草オブジェクト206a)がプレイヤオブジェクト102の視認性にほとんど影響を及ぼさない。このため、図15に示すように、仮想カメラ110の比較的近い範囲E3(図16(A)および(B)参照)の草オブジェクト206aの高さHを変化させるようにしてある。
また、図16(A)に示すように、比較的丈の短い草オブジェクト106aの場合には、仮想カメラ110の3次元位置と草オブジェクト106aの3次元位置との3次元距離Rが算出され、算出された3次元距離Rに応じて、当該草オブジェクト106aの高さHが変化される。このように、仮想カメラ110との3次元距離Rに応じて、草オブジェクト106aの高さHを変化させるのは、比較的丈の短い草オブジェクト106aの場合には、主として、仮想カメラ110の高さによって、草オブジェクト106aの高さHを変化させる必要があるかどうかが決定されるためである。したがって、図16(A)および(B)からも分かるように、3次元距離Rの大きさに比例して縦長オブジェクトの高さHが段階的に決定される。たとえば、縦長オブジェクトの高さHは3次元距離Rの2乗に比例して変化されるが、3次元距離Rに比例するように線形的に変化されるようにしてもよい。
ただし、高さHを変化させる範囲E3の大きさを規定する半径L3/2は範囲E1およびE2の大きさを規定する長さ(半径)L2/2よりも短く設定される。どの程度短く設定するかについては、実際のゲーム画像を見て決定することができる。つまり、ゲーム画像の見た目が自然なままで、プレイヤオブジェクト102の視認性に影響を及ぼすことが無いように、半径L3/2(長さL3)の大きさが決定される。
なお、図14−図16に示す場合においても、変化させた後の高さHが上限または下限を超える場合には、高さHは上限または下限に設定(変更)される。ただし、図14−図16に示す場合では、草オブジェクト106aのデフォルトの高さHは低いため、たとえば、プレイヤオブジェクト102の高さの30%程度に設定される。または、かかる場合には、上限は設定されなくてもよい。
ゲーム装置12では、シーン100またはシーン200に応じて、適宜草オブジェクト106aの高さを変化させる範囲E1(および範囲E2)または範囲E3が選択されるとともに、高さを変化させるパラメータが選択される。
図17は、図2に示したゲーム装置12のメインメモリ(22e,26)のメモリマップ300の一例を示す。図17に示すように、メインメモリ(22e,26)は、プログラム記憶領域302およびデータ記憶領域304を含む。プログラム記憶領域302には、ゲームプログラムなどの情報処理プログラムが記憶される。たとえば、ゲームプログラムは、ゲーム装置12に電源が投入された後の適宜のタイミングで光ディスクからその一部または全部が読み込まれてメインメモリ(22e,26)に記憶される。
なお、ゲームプログラムは、光ディスクに代えて、フラッシュメモリ24やゲーム装置12の外部情報処理装置から(たとえばインターネットを介して)取得されてもよい。また、ゲームプログラムに含まれる一部のプログラムについては、ゲーム装置12内に予め記憶されていてもよい。
この実施例では、ゲームプログラムは、メイン処理プログラム310、画像生成プログラム312、画像表示プログラム314、音生成プログラム316、音出力プログラム318および操作検出プログラム320などによって構成される。
メイン処理プログラム310は、仮想ゲームのメインルーチンの処理(図18の全体処理)を実行するためのプログラムである。画像生成プログラム312は、ポリゴンデータやテクスチャデータなどのデータを含む画像生成データ334を用いて、テレビ用ゲーム画像を生成するためのプログラムである。この画像生成プログラム312に従って、草オブジェクト106aのような縦長オブジェクトを配置(モデリング)する場合に、上述したように、仮想カメラ110から遠ざかるように縦長オブジェクトが変形または移動される処理も実行される。
画像表示プログラム314は、画像生成プログラム312に従って生成したテレビ用ゲーム画像の画像データをAV−IC36に出力し、テレビ用ゲーム画像をテレビ16に表示するためのプログラムである。
音生成プログラム316は、CPU20の指示の下、DSP22cによって、テレビ用ゲーム音声を生成するためのプログラムである。音出力プログラム318は、音生成プログラム316に従って生成されたテレビ用ゲーム音声の音声データをAV−IC36に出力し、テレビ用ゲーム音声をテレビ16のスピーカ16aから出力するためのプログラムである。
操作検出プログラム320は、端末装置14から入力(送信)される送信データに含まれる操作データを検出する(受け付ける)ためのプログラムである。
なお、プログラム記憶領域302には、通信プログラムおよびバックアッププログラムなども記憶される。
データ記憶領域304には、受信データ330、送信データ332、画像生成データ334、プレイヤオブジェクトデータ336、縦長オブジェクトデータ338、仮想カメラデータ340、パラメータデータ342および高さ制限データ344などが記憶される。
受信データ330は、端末装置14から受信される各種のデータである。受信データ330は、操作データを含む。操作データは、端末装置14に対するプレイヤの操作を表すデータであり、上述したように、操作ボタンデータ、スティックデータ、およびタッチ位置データを含む。ただし、操作データは、端末装置14を操作するプレイヤの操作を表すものであればよく、上記各データのいずれか1つのみを含むものであってもよい。操作データは、端末装置14から送信されてゲーム装置12において取得され、メインメモリ(22e,26)に記憶される。
なお、メインメモリ(22e,26)には、最新の(最後に取得された)ものから順に所定個数の操作データが記憶されてもよい。
送信データ332は、端末装置14へ送信する各種のデータである。画像生成データ334は、ポリゴンデータおよびテクスチャデータなど、画像を生成するために必要なデータである。
プレイヤオブジェクトデータ336は、3次元の仮想空間における、プレイヤオブジェクト102を生成するためのモデルデータと、プレイヤオブジェクト102の体力値およびレベルなどの属性値についてのデータと、プレイヤオブジェクト102が所持するアイテムについてのデータと、プレイヤオブジェクト102の現在位置(3次元位置)および向きのデータである。縦長オブジェクトデータ338は、3次元の仮想空間における、各縦長オブジェクト(この実施例では、草オブジェクト106a)の位置、長さ(直線距離d1)および向き(水平面における方向および水平面に対する傾き)のデータである。仮想カメラデータ340は、3次元の仮想空間における、仮想カメラ110(視点)の位置および向きのデータである。
パラメータデータ342は、仮想カメラ110との距離に応じて各縦長オブジェクトの高さHを変化させるための範囲E1(または、E1およびE2)および範囲E3についてのデータと、各範囲E1(または、E1およびE2)およびE3に対応して設定されるパラメータについてのデータである。
高さ制限データ344は、変化させた草オブジェクト106aの高さHの上限または下限についてのデータである。上述したように、高さHの上限は、プレイヤオブジェクト102の高さに応じて設定され、高さHの下限は、仮想カメラ110の高さに応じて可変的に設定される。
図示は省略するが、データ記憶領域304には、縦長オブジェクト以外の背景オブジェクトおよびゲームに登場するアイテムについてのデータ、サウンドデータおよび音波形データなどの他のデータが記憶されたり、ゲームプログラムの実行に必要な、フラグおよびカウンタ(タイマ)が設けられたりする。
図18は、図2に示したゲーム装置12に設けられるCPU20の全体処理についてのフロー図である。なお、図18(後述する図19についても同様。)に示すフロー図の各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、この実施例では、基本的には、図18および図19に示すフロー図の各ステップの処理をCPU20が実行するものとして説明するが、CPU20以外のプロセッサや専用回路が一部のステップを実行するようにしてもよい。
ゲーム装置12の電源が投入されると、全体処理の実行に先だって、CPU20は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってメインメモリ(22e,26)等の各ユニットが初期化される。そして、光ディスクに記憶されたゲームプログラムがメインメモリ(22e、26)に読み込まれ、CPU20によって当該ゲームプログラムの実行が開始される。
図18に示すように、CPU20は、全体処理を開始すると、ステップS1で、初期処理を実行する。初期処理では、たとえば、CPU20は、ゲーム画像150を生成および表示するための仮想のゲーム空間を構築し、このゲーム空間に登場するプレイヤオブジェクト102等の各キャラクタないし各オブジェクトを初期位置に配置するとともに、このゲーム空間に登場する地面オブジェクト104および山オブジェクト108等の各背景オブジェクトを所定の位置に配置する。さらに、CPU20は、ゲーム処理で用いる各種パラメータの初期値を設定したりする処理である。
続いて、CPU20は、ステップS3で、端末装置14から送信されてくる各種のデータを取得し、ステップS5で、ゲーム制御処理を実行する。たとえば、CPU20は、操作データに従って、プレイヤオブジェクト102を移動させ、または/およびプレイヤオブジェクト102に任意のアクションを実行させる。また、CPU20は、操作データに従わずに、敵オブジェクトを移動させ、または/および敵オブジェクトに任意のアクションを実行される。さらに、CPU20は、プレイヤオブジェクト102の勝敗または順位を判定する、または/およびゲームクリアまたはゲームオーバを判定する。さらにまた、CPU20は、操作データに従って、仮想カメラ110の位置または/および向きを移動させる。ただし、通常、仮想カメラ110は、プレイヤオブジェクト102を注視するとともに、当該プレイヤオブジェクト102と所定距離を保って追従するように仮想空間に配置されるが、プレイヤの指示によって、位置または/および向きを変更された場合には、変更後の位置または/および向きに配置される。
次のステップS7では、CPU20およびGPU22bは、テレビ16に表示するためのテレビ用ゲーム画像の生成処理を実行する。簡単に説明すると、CPU20およびGPU22bは、ステップS5のゲーム制御処理の結果を表すデータをメインメモリ(22e,26)から読み出し、また、ゲーム画像を生成するために必要なデータをVRAM22dから読み出し、テレビ用ゲーム画像を生成する。たとえば、テレビ用ゲーム画像を生成する場合には、CPU20の指示の下、GPU22bは、仮想空間における現在位置にプレイヤオブジェクト102を配置し、敵オブジェクトのようなノンプレイヤキャラクタを配置する。さらに、GPU22bは、プレイヤオブジェクト102の現在位置に応じた背景オブジェクトを配置(生成)する。この背景オブジェクトには、上記の地形オブジェクト104、204、草原オブジェクト106、206(草オブジェクト106a、206a)および山オブジェクト108、208が含まれる。したがって、或るシーン(情景)100、200が生成される。このシーン100、200を仮想カメラ110から見た画像(撮影画像)がゲーム画像150として生成される。
続いて、ステップS9では、CPU20は、テレビ16のスピーカ16aに出力するためのテレビ用ゲーム音声を生成する。すなわち、CPU20は、ステップS5のゲーム制御処理の結果に応じたゲーム音声をDSP22cに生成させる。
続いて、ステップS11では、CPU20は、テレビ16へデータを出力する。具体的には、CPU20は、VRAM22dに記憶されたテレビ用ゲーム画像の画像データと、ステップS9でDSP22cによって生成されたテレビ用ゲーム音声の音声データとをAV−IC36へ送る。
そして、ステップS13では、CPU20は、ゲームを終了するかどうかを判断する。ステップS13の判断は、たとえば、ゲームオーバになったか否か、あるいは、プレイヤがゲームを中止する指示を行ったか否か等によって行われる。ゲームオーバになったか否かは、たとえばプレイヤオブジェクト102の体力値が0になったか否か等によって判定される。
ステップS13で“NO”であれば、つまりゲームを終了しない場合には、ステップS3に戻る。一方、ステップS13で“YES”であれば、つまりゲームを終了する場合には、全体処理を終了する。
図19は、図18に示したステップS7のテレビ用ゲーム画像の生成処理において実行される縦長オブジェクト配置処理のフロー図である。
なお、ここでは、図8に示したようなシーン100を生成する場合に、図7に示したように設定されるパラメータを用いて、比較的高さの高い縦長オブジェクト(草オブジェクト106a)が配置される場合について説明する。
図19に示すように、縦長オブジェクト配置処理を開始すると、CPU20は、ステップS101で、変数iを初期化する(i=1)。ただし。変数iは、複数の縦長オブジェクト(草オブジェクト106a)を個別に識別するための変数である。
続くステップS103では、仮想カメラ110からi番目の縦長オブジェクトまでの水平距離Kを算出する。ただし、仮想カメラ110の位置(3次元位置)は、仮想カメラデータ340を参照することにより、取得される。同様に、各縦長オブジェクトの位置(3次元位置)は、縦長オブジェクトデータ338を参照することにより、取得される。また、取得された3次元位置は、仮想空間のワールド座標系における3次元位置であるため、仮想カメラ110の位置を基準とするローカル座標系に変換された後に、仮想カメラ110の視線と縦長オブジェクトの水平距離Kが算出される。
次のステップS105では、i番目の縦長オブジェクトが高さ制御範囲(E1)内であるかどうかを判断する。ここでは、CPU20は、水平距離Kが範囲E1を規定する距離L1/2以内であるかどうかを判断する。
ステップS105で“NO”であれば、つまり、i番目の縦長オブジェクトが高さ制御範囲外であれば、そのままステップS109に進む。一方、ステップS105で“YES”であれば、つまり、i番目の縦長オブジェクトが高さ制御範囲内であれば、ステップS107で、水平距離Kに応じて、i番目の縦長オブジェクトの高さHを変更して、ステップS109に進む。つまり、ステップS107では、i番目の縦長オブジェクトのデフォルトの高さHに水平距離Kに応じて決定されるパラメータが掛け算されて、高さHが変更される。
ステップS109では、i番目の縦長オブジェクトの高さHが上限および下限内であるかどうかを判断する。このとき、CPU20は、高さ制限データ344を参照して、高さの上限および下限の値を取得する。ステップS109で“YES”であれば、つまり、i番目の縦長オブジェクトの高さHが上限およぎ下限内である場合には、そのままステップS113に進む。一方、ステップS109で“NO”であれば、つまり、i番目の縦長オブジェクトの高さHが上限または下限を超える場合には、ステップS111で、i番目の縦長オブジェクトの高さHを上限または下限に設定して、ステップS113に進む。ただし、ステップS113では、ステップS107で変更されたi番目の縦長オブジェクトの高さHが上限を超える場合には、高さHが上限に設定される。また、ステップS113では、ステップS107で変更されたi番目の縦長オブジェクトの高さHが下限を下回る場合には、高さHが下限に設定される。
ステップS113では、CPU20の指示の下、GPU22bが、i番目の縦長オブジェクトを高さHで仮想空間に配置する。そして、ステップS115で、当該シーン100におけるすべての縦長オブジェクトを配置したかどうかを判断する。ここでは、CPU20は、変数iが配置するべき縦長オブジェクトの総数に到達したかどうかを判断する。
ステップS115で“NO”であれば、つまり、未だ配置していない縦長オブジェクトが存在する場合には、ステップS117で、変数iを1加算して(i=i+1)、ステップS103に戻り、次の縦長オブジェクトを配置する。一方、ステップS115で“YES”であれば、つまり、当該シーン100におけるすべての縦長オブジェクトを配置すれば、縦長オブジェクト配置処理を終了して、ステップS7のテレビ用ゲーム画像の生成処理にリターンする。
なお、図19では、図8に示したようなシーン100を生成する場合に、図7に示したように設定されるパラメータを用いて、比較的高さの高い縦長オブジェクト(草オブジェクト106a)が配置される場合について説明したが、図11に示したように設定されるパラメータを用いるようにしてもよい。または、図7および図13に示したパラメータを用いることにより、水平距離Kに基づく高さH1と3次元距離Rに基づく高さH2を算出して、高さH1および高さH2のうちの高い方に高さHを変更してもよい。さらに、図15に示したようなシーン200を生成する場合には、図16(B)に示したように設定されるパラメータを用いて、比較的高さの低い縦長オブジェクトが配置し、このとき、3次元距離Rに基づいて仮想カメラ110の周辺の縦長オブジェクトの高さが変更されるようにしてもよい。
また、図19に示した縦長オブジェクト配置処理はゲーム画像の生成処理が実行されるときは常に実行されるようにしてもよいし、縦長オブジェクトが配置されるシーン100またはシーン200であるかどうかを判断して、シーン100またはシーン200である場合にのみ実行されるようにしてもよい。
この実施例によれば、草木が群生するように縦長オブジェクトが地面に複数設けられるようなシーンにおいては、縦長オブジェクトを仮想カメラから遠ざかるように、縦長オブジェクトの高さを変化させるので、ゲーム画像を生成する場合に、プレイヤオブジェクトが縦長オブジェクトで隠れてしまうような不都合を回避することができる。
また、この実施例によれば、高さが調整される縦長オブジェクトは、仮想カメラの位置または/およびその視線方向を基準とした一定範囲内の縦長オブジェクトであり、また、縦長オブジェクトの高さは、仮想カメラとの水平距離または3次元距離に比例またはこれらの2乗に比例するように高さが変化される。したがって、たとえば、プレイヤオブジェクトと仮想カメラの間に在る縦長オブジェクトが掻き分けられたようなゲーム画像が生成される。このため、ゲーム画像の見た目が比較的自然である。つまり、プレイヤが違和感を覚えることはほとんど無いと考えられる。
つまり、この実施例によれば、出来るだけ自然な見た目を維持しつつ画像の視認性を高くすることができる。
なお、この実施例では、仮想カメラがプレイヤオブジェクトを後方から追従する場合について説明したが、プレイヤオブジェクトの頭部の位置に仮想カメラが設けられるような一人称視点の場合についても適用可能である。かかる場合には、仮想カメラによって追従(注視)されるオブジェクトは、プレイヤオブジェクト以外の所定のオブジェクトまたはプレイヤが指示するオブジェクト或いはプレイヤが指示する注視位置を含むオブジェクトである。
また、この実施例では、ゲーム装置で実行されるプログラム(情報処理プログラムないしアプリケーションプログラム)の一例としてゲームプログラムについて説明したが、ゲームプログラムに限定される必要はない。たとえば、仮想空間に複数のオブジェクトが配置され、所定のオブジェクトを注視するように仮想カメラで撮影された画像を表示する処理を実行するプログラムに適用可能である。
さらに、この実施例では、縦長オブジェクトの一例として、草オブジェクトが配置される場合について説明したが、これに限定される必要はない。たとえば、高層ビルなどの建物のオブジェクトが地面オブジェクト上に密集して配置され、そのようなシーンにおいて、プレイヤオブジェクトを視野内に含めて撮影した画像を表示する場合には、建物のオブジェクトを縦長オブジェクトとして扱い、仮想カメラから遠ざかるように建物のオブジェクトを変形または移動させるようにしてもよい。
さらにまた、この実施例で示したゲームシステムの構成は一例であり、これに限定される必要は無く、他の構成を採用することが可能である。たとえば、携帯型ゲーム装置に適用することもできる。また、ゲーム機能を備える、モニタが接続されたデスクトップのPC、ノート型PC、タブレットPCまたはスマートフォンにも適用することができる。
また、この実施例では、テレビ用ゲーム画像に対して画像処理を行ったが、端末装置で表示されるゲーム画像に対して画像処理を行うようにしてもよい。
さらに、この実施例で示した具体的な数値およびゲーム画像は一例であり、実際の製品に応じて適宜変更可能である。
10 …ゲームシステム
12 …ゲーム装置
14 …端末装置
16 …テレビ
20,52a …CPU
22 …システムLSI
22a …入出力プロセッサ
22e …内部メインメモリ
26 …外部メインメモリ
56 …タッチパネル
58 …アナログスティック
60 …操作ボタン
62 …LCD
また、図16(A)に示すように、比較的丈の短い草オブジェクト206aの場合には、仮想カメラ110の3次元位置と草オブジェクト206aの3次元位置との3次元距離Rが算出され、算出された3次元距離Rに応じて、当該草オブジェクト206aの高さHが変化される。このように、仮想カメラ110との3次元距離Rに応じて、草オブジェクト206aの高さHを変化させるのは、比較的丈の短い草オブジェクト206aの場合には、主として、仮想カメラ110の高さによって、草オブジェクト206aの高さHを変化させる必要があるかどうかが決定されるためである。したがって、図16(A)および(B)からも分かるように、3次元距離Rの大きさに比例して縦長オブジェクトの高さHが段階的に決定される。たとえば、縦長オブジェクトの高さHは3次元距離Rの2乗に比例して変化されるが、3次元距離Rに比例するように線形的に変化されるようにしてもよい。
なお、図14−図16に示す場合においても、変化させた後の高さHが上限または下限を超える場合には、高さHは上限または下限に設定(変更)される。ただし、図14−図16に示す場合では、草オブジェクト206aのデフォルトの高さHは低いため、たとえば、プレイヤオブジェクト102の高さの30%程度に設定される。または、かかる場合には、上限は設定されなくてもよい。
ゲーム装置12では、シーン100またはシーン200に応じて、適宜草オブジェクト106aまたは草オブジェクト206aの高さを変化させる範囲E1(および範囲E2)または範囲E3が選択されるとともに、高さを変化させるパラメータが選択される。

Claims (28)

  1. 仮想空間内に配置されるオブジェクトを制御するオブジェクト制御部と、
    前記仮想空間内において移動可能に配置される仮想カメラを制御する仮想カメラ制御部と、
    前記仮想カメラに基づいて、前記仮想空間の画像を生成する画像生成部を備え、
    前記オブジェクト制御部はさらに、
    前記仮想空間内に配置されるオブジェクトのうち、複数の第1の種類のオブジェクトに対して、前記仮想カメラからの距離に応じて、前記仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行う、画像処理装置。
  2. ユーザの操作入力を受け付ける操作受付部をさらに備え、
    前記仮想カメラ制御部は、前記ユーザの操作入力に従って、前記仮想カメラを前記仮想空間内において移動させる、請求項1記載の画像処理装置。
  3. 前記仮想空間内に配置される前記オブジェクトには、前記ユーザの操作入力に応じて制御される第2の種類のオブジェクトがさらに含まれ、
    前記オブジェクト制御部はさらに、
    前記ユーザの操作入力に応じて前記第2の種類のオブジェクトの前記仮想空間内における位置を制御する第2オブジェクト制御処理を行い、
    前記仮想カメラ制御部はさらに、
    前記第2の種類のオブジェクトが前記仮想カメラの視界に含まれるように前記第2の種類のオブジェクトに前記仮想カメラを追従させる制御を行う、請求項2記載の画像処理装置。
  4. 前記オブジェクト制御部は、前記第1オブジェクト制御処理において、前記第1の種類のオブジェクトのうち、同一方向における前記仮想カメラとの距離が遠いものほど変形または移動の度合が小さくなるよう前記変形または前記移動を行う、請求項1ないし3のいずれかに記載の画像処理装置。
  5. ユーザの操作入力を受け付ける操作受付部と、
    仮想空間内に配置されるオブジェクトを制御するオブジェクト制御部と、
    前記仮想空間内において移動可能に配置される仮想カメラを制御する仮想カメラ制御部と、
    前記仮想カメラに基づいて、前記仮想空間の画像を生成する画像生成部を備え、
    前記仮想空間内に配置されるオブジェクトには、複数の第1の種類のオブジェクトと、前記ユーザの操作入力に応じて制御される第2の種類のオブジェクトが含まれ、
    前記オブジェクト制御部はさらに、
    前記仮想カメラに基づいて、前記第1の種類のオブジェクトが、前記第2の種類のオブジェクトの少なくとも一部を隠す状態であるかどうか判定し、隠す状態の場合に、前記第1の種類のオブジェクトを前記仮想カメラから遠ざかるように変形または移動する第1オブジェクト制御処理を行う、画像処理装置。
  6. 前記仮想空間内に配置されるオブジェクトには地形として第3の種類のオブジェクトがさらに含まれ、
    前記第1の種類のオブジェクトは、前記第3の種類のオブジェクト上に配置される縦長形状のオブジェクトであって、
    前記変形は、前記第3の種類のオブジェクトの上面から前記第1の種類のオブジェクトの上端までの長さまたは前記第3の種類のオブジェクトの上面から前記第1の種類のオブジェクトの上端までの高さを減少させることである、請求項1ないし5のいずれかに記載の画像処理装置。
  7. 前記変形は、所定範囲内で、前記仮想カメラからの距離に比例または距離の2乗に比例するように、前記長さまたは前記高さを変化させることである、請求項6記載の画像処理装置。
  8. 前記長さまたは前記高さは、最小値と最大値の間で変化される、請求項7記載の画像処理装置。
  9. 前記距離は、前記仮想カメラの視線方向に垂直な水平方向における水平距離である、請求項7または8記載の画像処理装置。
  10. 前記距離は、前記仮想カメラからの3次元距離である、請求項7または8記載の画像処理装置。
  11. 前記距離は、前記仮想カメラの視線方向に垂直な水平方向における水平距離および前記仮想カメラからの3次元距離であり、
    前記第1オブジェクト制御処理は、所定のルールに従って、複数の第1の種類のオブジェクトに対して、前記水平距離に応じて、または、前記3次元距離に応じて、前記仮想カメラから遠ざかるように変形または移動する処理である、請求項7または8記載の画像処理装置。
  12. ユーザの操作入力を受け付ける操作受付部と、
    仮想空間内に配置されるオブジェクトを制御するオブジェクト制御部と、
    前記仮想空間内において移動可能に配置される仮想カメラを制御する仮想カメラ制御部と、
    前記仮想カメラに基づいて、前記仮想空間の画像を生成する画像生成部を備え、
    前記オブジェクト制御部はさらに、
    前記仮想空間内に配置されるオブジェクトのうち、複数の第1の種類のオブジェクトに対して、前記仮想カメラからの距離に応じて、前記仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行い、
    前記ユーザの操作入力に応じて、前記仮想空間内に配置される前記オブジェクトに含まれ、前記ユーザの操作入力に応じて制御される第2の種類のオブジェクトの前記仮想空間内における位置を制御する第2オブジェクト制御処理を行い、
    前記仮想カメラ制御部はさらに、
    前記第2の種類のオブジェクトが前記仮想カメラの視界に含まれるように前記第2の種類のオブジェクトに前記仮想カメラを追従させる制御を行う、画像処理システム。
  13. 前記オブジェクト制御部は、前記第1オブジェクト制御処理において、前記第1の種類のオブジェクトのうち、同一方向における前記仮想カメラとの距離が遠いものほど変形または移動の度合が小さくなるように前記変形または前記移動を行う、請求項12記載の画像処理システム。
  14. ユーザの操作入力を受け付ける操作受付部と、
    仮想空間内に配置されるオブジェクトを制御するオブジェクト制御部と、
    前記仮想空間内において移動可能に配置される仮想カメラを制御する仮想カメラ制御部と、
    前記仮想カメラに基づいて、前記仮想空間の画像を生成する画像生成部を備え、
    前記仮想空間内に配置されるオブジェクトには、複数の第1の種類のオブジェクトと、前記ユーザの操作入力に応じて制御される第2の種類のオブジェクトが含まれ、
    前記オブジェクト制御部はさらに、
    前記仮想カメラに基づいて、前記第1の種類のオブジェクトが、前記第2の種類のオブジェクトを隠す状態であるかどうか判定し、隠す状態の場合に、前記第1の種類のオブジェクトを前記仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行う、画像処理システム。
  15. ユーザの操作入力を受け付ける操作受付部と、
    仮想空間内に配置されるオブジェクトを制御するオブジェクト制御部と、
    前記仮想空間内において移動可能に配置される仮想カメラを制御する仮想カメラ制御部と、
    前記仮想カメラに基づいて、前記仮想空間の画像を生成する画像生成部を備える画像処理装置の画像処理方法であって、
    前記オブジェクト制御部は、
    前記仮想空間内に配置されるオブジェクトのうち、複数の第1の種類のオブジェクトに対して、前記仮想カメラからの距離に応じて、前記仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行い、
    前記ユーザの操作入力に応じて、前記仮想空間内に配置される前記オブジェクトに含まれ、前記ユーザの操作入力に応じて制御される第2の種類のオブジェクトの前記仮想空間内における位置を制御する第2オブジェクト制御処理を行い、
    前記仮想カメラ制御部は、
    前記第2の種類のオブジェクトが前記仮想カメラの視界に含まれるように前記第2の種類のオブジェクトに前記仮想カメラを追従させる制御を行う、画像処理方法。
  16. 前記オブジェクト制御部は、前記第1オブジェクト制御処理において、前記第1の種類のオブジェクトのうち、同一方向における前記仮想カメラとの距離が遠いものほど変形または移動の度合が小さくなるように前記変形または前記移動を行う、請求項15記載の画像処理方法。
  17. ユーザの操作入力を受け付ける操作受付部と、
    仮想空間内に配置されるオブジェクトを制御するオブジェクト制御部と、
    前記仮想空間内において移動可能に配置される仮想カメラを制御する仮想カメラ制御部と、
    前記仮想カメラに基づいて、前記仮想空間の画像を生成する画像生成部を備える画像処理装置の画像処理方法であって、
    前記仮想空間内に配置されるオブジェクトには、複数の第1の種類のオブジェクトと、前記ユーザの操作入力に応じて制御される第2の種類のオブジェクトが含まれ、
    前記オブジェクト制御部は、
    前記仮想カメラに基づいて、前記第1の種類のオブジェクトが、前記第2の種類のオブジェクトを隠す状態であるかどうか判定し、隠す状態の場合に、前記第1の種類のオブジェクトを前記仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行う、画像処理方法。
  18. コンピュータによって実行されるゲームプログラムであって、
    前記コンピュータを、
    仮想空間内に配置されるオブジェクトを制御するオブジェクト制御部と、
    前記仮想空間内において移動可能に配置される仮想カメラを制御する仮想カメラ制御部と、
    前記仮想カメラに基づいて、前記仮想空間の画像を生成する画像生成部として機能させ、
    前記オブジェクト制御部はさらに、
    前記仮想空間内に配置されるオブジェクトのうち、複数の第1の種類のオブジェクトに対して、前記仮想カメラからの距離に応じて、前記仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行う、ゲームプログラム。
  19. ユーザの操作入力を受け付ける操作受付部として前記コンピュータをさらに機能し、
    前記仮想カメラ制御部は、前記ユーザの操作入力に従って、前記仮想カメラを前記仮想空間内において移動させる、請求項18記載のゲームプログラム。
  20. 前記仮想空間内に配置される前記オブジェクトには、前記ユーザの操作入力に応じて制御される第2の種類のオブジェクトがさらに含まれ、
    前記オブジェクト制御部はさらに、
    前記ユーザの操作入力に応じて前記第2の種類のオブジェクトの前記仮想空間内における位置を制御する第2オブジェクト制御処理を行い、
    前記仮想カメラ制御部はさらに、
    前記第2の種類のオブジェクトが前記仮想カメラの視界に含まれるように前記第2の種類のオブジェクトに前記仮想カメラを追従させる制御を行う、請求項19記載のゲームプログラム。
  21. 前記オブジェクト制御部は、前記第1オブジェクト制御処理において、前記第1の種類のオブジェクトのうち、同一方向における前記仮想カメラとの距離が遠いものほど変形または移動の度合が小さくなるように前記変形または前記移動を行う、請求項18ないし20のいずれかに記載のゲームプログラム。
  22. コンピュータによって実行されるゲームプログラムであって、
    前記コンピュータを、
    ユーザの操作入力を受け付ける操作受付部と、
    仮想空間内に配置されるオブジェクトを制御するオブジェクト制御部と、
    前記仮想空間内において移動可能に配置される仮想カメラを制御する仮想カメラ制御部と、
    前記仮想カメラに基づいて、前記仮想空間の画像を生成する画像生成部として機能させ、
    前記仮想空間内に配置されるオブジェクトには、複数の第1の種類のオブジェクトと、前記ユーザの操作入力に応じて制御される第2の種類のオブジェクトが含まれ、
    前記オブジェクト制御部はさらに、
    前記仮想カメラに基づいて、前記第1の種類のオブジェクトが、前記第2の種類のオブジェクトの少なくとも一部を隠す状態であるかどうか判定し、隠す状態の場合に、前記第1の種類のオブジェクトを前記仮想カメラから遠ざかるように変形または移動させる第1オブジェクト制御処理を行う、ゲームプログラム。
  23. 前記仮想空間内に配置されるオブジェクトには地形として第3の種類のオブジェクトがさらに含まれ、
    前記第1の種類のオブジェクトは、前記第3の種類のオブジェクト上に配置される縦長形状のオブジェクトであって、
    前記変形は、前記第3の種類のオブジェクトの上面から前記第1の種類のオブジェクトの上端までの長さまたは前記第3の種類のオブジェクトの上面から前記第1の種類のオブジェクトの上端までの高さを減少させることである、請求項18ないし22のいずれかに記載のゲームプログラム。
  24. 前記変形は、所定範囲内で、前記仮想カメラからの距離に比例または距離の2乗に比例するように、前記長さまたは前記高さを変化させることである、請求項23記載のゲームプログラム。
  25. 前記長さまたは前記高さは、最小値と最大値の間で変化される、請求項24記載のゲームプログラム。
  26. 前記距離は、前記仮想カメラの視線方向に垂直な水平方向における水平距離である、請求項24または25記載の画像処理装置。
  27. 前記距離は、前記仮想カメラからの3次元距離である、請求項24または25記載のゲームプログラム。
  28. 前記距離は、前記仮想カメラの視線方向に垂直な水平方向における水平距離または前記仮想カメラからの3次元距離であり、
    前記第1オブジェクト制御処理は、所定のルールに従って、複数の第1の種類のオブジェクトに対して、前記水平距離に応じて、または、前記3次元距離に応じて、前記仮想カメラから遠ざかるように変形または移動する処理である、請求項24または25記載のゲームプログラム。
JP2016077781A 2016-04-08 2016-04-08 画像処理装置、画像処理システムおよび画像処理方法 Active JP6576874B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016077781A JP6576874B2 (ja) 2016-04-08 2016-04-08 画像処理装置、画像処理システムおよび画像処理方法
US15/477,526 US10237536B2 (en) 2016-04-08 2017-04-03 Image processing apparatus and storage medium for deforming or moving displayed objects
US16/255,896 US11082682B2 (en) 2016-04-08 2019-01-24 Image processing apparatus and storage medium for deforming or moving displayed objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016077781A JP6576874B2 (ja) 2016-04-08 2016-04-08 画像処理装置、画像処理システムおよび画像処理方法

Publications (2)

Publication Number Publication Date
JP2017188002A true JP2017188002A (ja) 2017-10-12
JP6576874B2 JP6576874B2 (ja) 2019-09-18

Family

ID=59998307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016077781A Active JP6576874B2 (ja) 2016-04-08 2016-04-08 画像処理装置、画像処理システムおよび画像処理方法

Country Status (2)

Country Link
US (2) US10237536B2 (ja)
JP (1) JP6576874B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020154923A (ja) * 2019-03-22 2020-09-24 任天堂株式会社 画像処理プログラム、画像処理システム、画像処理装置、および画像処理方法
JP2022182035A (ja) * 2021-05-27 2022-12-08 グリー株式会社 情報処理システム、情報処理方法、情報処理プログラム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6576874B2 (ja) 2016-04-08 2019-09-18 任天堂株式会社 画像処理装置、画像処理システムおよび画像処理方法
US10751621B2 (en) * 2017-09-01 2020-08-25 Square Enix Limited Method and system for rendering video game images
CN109685909B (zh) * 2018-11-12 2022-12-20 腾讯科技(深圳)有限公司 图像的显示方法、装置、存储介质和电子装置
CN111467802B (zh) 2020-04-09 2022-02-22 腾讯科技(深圳)有限公司 虚拟环境的画面显示方法、装置、设备及介质
CN111870953A (zh) * 2020-07-24 2020-11-03 上海米哈游天命科技有限公司 一种高度图生成方法、装置、设备及存储介质
US11995859B2 (en) 2021-10-28 2024-05-28 Mineral Earth Sciences Llc Sparse depth estimation from plant traits
US20230133026A1 (en) * 2021-10-28 2023-05-04 X Development Llc Sparse and/or dense depth estimation from stereoscopic imaging
US11721063B1 (en) * 2023-01-26 2023-08-08 Illuscio, Inc. Systems and methods for dynamic image rendering using a depth map

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002216167A (ja) * 2001-01-12 2002-08-02 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2004192471A (ja) * 2002-12-12 2004-07-08 Nintendo Co Ltd ゲーム装置及びゲームプログラム
JP2007026200A (ja) * 2005-07-19 2007-02-01 Sega Corp 画像処理装置、アイコン等描画方法およびアイコン等描画プログラム
JP2010233828A (ja) * 2009-03-31 2010-10-21 Sega Corp レースゲームプログラム、情報記憶媒体、及びゲーム装置
JP2013097473A (ja) * 2011-10-28 2013-05-20 Nintendo Co Ltd ゲーム処理システム、ゲーム処理方法、ゲーム処理装置およびゲーム処理プログラム
JP2013214252A (ja) * 2012-04-04 2013-10-17 Nintendo Co Ltd 表示制御システム、表示制御方法、表示制御プログラム、および表示制御装置
JP2015026172A (ja) * 2013-07-25 2015-02-05 株式会社スクウェア・エニックス 画像処理プログラムおよび画像処理装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5822655B2 (ja) 1976-12-29 1983-05-10 トヨタ自動車株式会社 自動変速機の油圧制御装置
US7046242B2 (en) * 2000-06-05 2006-05-16 Namco Ltd. Game system, program and image generating method
US6828969B2 (en) * 2000-06-05 2004-12-07 Namco Ltd. Game system, program and image generating method
JP4355512B2 (ja) * 2003-04-17 2009-11-04 任天堂株式会社 画像処理装置および画像処理プログラム
JP4957463B2 (ja) * 2007-08-30 2012-06-20 セイコーエプソン株式会社 画像処理装置
JP5076744B2 (ja) * 2007-08-30 2012-11-21 セイコーエプソン株式会社 画像処理装置
JP5223811B2 (ja) * 2009-08-06 2013-06-26 株式会社日本自動車部品総合研究所 画像補正装置、画像補正方法、及びそれらに用いられる変換マップ作成方法
JP5477059B2 (ja) * 2010-03-04 2014-04-23 ソニー株式会社 電子機器、画像出力方法及びプログラム
JP5117565B2 (ja) * 2010-12-13 2013-01-16 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理方法及び情報処理システム
JP6576874B2 (ja) 2016-04-08 2019-09-18 任天堂株式会社 画像処理装置、画像処理システムおよび画像処理方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002216167A (ja) * 2001-01-12 2002-08-02 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
JP2004192471A (ja) * 2002-12-12 2004-07-08 Nintendo Co Ltd ゲーム装置及びゲームプログラム
JP2007026200A (ja) * 2005-07-19 2007-02-01 Sega Corp 画像処理装置、アイコン等描画方法およびアイコン等描画プログラム
JP2010233828A (ja) * 2009-03-31 2010-10-21 Sega Corp レースゲームプログラム、情報記憶媒体、及びゲーム装置
JP2013097473A (ja) * 2011-10-28 2013-05-20 Nintendo Co Ltd ゲーム処理システム、ゲーム処理方法、ゲーム処理装置およびゲーム処理プログラム
JP2013214252A (ja) * 2012-04-04 2013-10-17 Nintendo Co Ltd 表示制御システム、表示制御方法、表示制御プログラム、および表示制御装置
JP2015026172A (ja) * 2013-07-25 2015-02-05 株式会社スクウェア・エニックス 画像処理プログラムおよび画像処理装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朴鍾一, 外2名: ""イメージ表現ルームにおける3次元映像合成法"", 映像情報メディア学会技術報告, vol. 第22巻, 第9号, JPN6019011114, 4 February 1998 (1998-02-04), JP, pages 55 - 60, ISSN: 0004007143 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020154923A (ja) * 2019-03-22 2020-09-24 任天堂株式会社 画像処理プログラム、画像処理システム、画像処理装置、および画像処理方法
US11219829B2 (en) 2019-03-22 2022-01-11 Nintendo Co., Ltd. Non-transitory computer-readable storage medium storing image processing program, image processing system, image processing apparatus, and image processing method
JP7223610B2 (ja) 2019-03-22 2023-02-16 任天堂株式会社 画像処理プログラム、画像処理システム、画像処理装置、および画像処理方法
JP2022182035A (ja) * 2021-05-27 2022-12-08 グリー株式会社 情報処理システム、情報処理方法、情報処理プログラム
JP7270675B2 (ja) 2021-05-27 2023-05-10 グリー株式会社 情報処理システム、情報処理方法、情報処理プログラム

Also Published As

Publication number Publication date
US11082682B2 (en) 2021-08-03
US10237536B2 (en) 2019-03-19
US20190174121A1 (en) 2019-06-06
JP6576874B2 (ja) 2019-09-18
US20170294047A1 (en) 2017-10-12

Similar Documents

Publication Publication Date Title
JP6576874B2 (ja) 画像処理装置、画像処理システムおよび画像処理方法
US11348316B2 (en) Location-based virtual element modality in three-dimensional content
JP4698893B2 (ja) 改良されたフォグ効果を提供するための方法、グラフィックスシステム、およびプログラム
JP5706241B2 (ja) 画像生成プログラム、画像生成装置、画像生成システム及び画像生成方法
JP5822655B2 (ja) ゲーム処理システム、ゲーム処理方法、ゲーム処理装置およびゲーム処理プログラム
US7327361B2 (en) Three-dimensional image generating apparatus, storage medium storing a three-dimensional image generating program, and three-dimensional image generating method
EP2105905A2 (en) Image generation apparatus
JP6181917B2 (ja) 描画システム、描画サーバ、その制御方法、プログラム、及び記録媒体
JP5643617B2 (ja) 画像処理プログラム、画像処理装置、画像処理方法、画像処理システム
EP2058768A1 (en) Image viewer, image displaying method and information storage medium
JP6679523B2 (ja) 画像処理プログラム、画像処理システム、画像処理装置および画像処理方法
JP5469516B2 (ja) 画像表示プログラム、画像表示システム、画像表示方法および画像表示装置
JP2013050881A (ja) 情報処理プログラム、情報処理システム、情報処理装置および情報処理方法
JP2020523687A (ja) 中心窩レンダリングシステムにおけるシャドーの最適化及びメッシュスキンの適応
JP5960409B2 (ja) ゲーム処理システム、ゲーム処理方法、ゲーム処理装置およびゲーム処理プログラム
JP2020523691A (ja) 中心窩レンダリングシステムにおける、遅延ライティングの最適化、パーティクルの中心窩適応、及びシミュレーションモデル
WO2022247204A1 (zh) 游戏的显示控制方法、非易失性存储介质及电子装置
EP2065854B1 (en) posture dependent normal vectors for texture mapping
CN114942737A (zh) 显示方法、装置、显示设备、头戴式设备及存储介质
WO2015030623A1 (en) Methods and systems for locating substantially planar surfaces of 3d scene
WO2023030106A1 (zh) 对象显示方法、装置、电子设备及存储介质
JP3646988B2 (ja) ゲーム装置、ゲーム画面表示方法及びプログラム
JP2005284791A (ja) プログラム、情報記憶媒体及び画像生成装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170328

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190611

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190821

R150 Certificate of patent or registration of utility model

Ref document number: 6576874

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