IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社コーエーテクモゲームスの特許一覧

特許7577014ゲームプログラム、情報処理装置、オブジェクト表示方法
<>
  • 特許-ゲームプログラム、情報処理装置、オブジェクト表示方法 図1
  • 特許-ゲームプログラム、情報処理装置、オブジェクト表示方法 図2
  • 特許-ゲームプログラム、情報処理装置、オブジェクト表示方法 図3
  • 特許-ゲームプログラム、情報処理装置、オブジェクト表示方法 図4
  • 特許-ゲームプログラム、情報処理装置、オブジェクト表示方法 図5
  • 特許-ゲームプログラム、情報処理装置、オブジェクト表示方法 図6
  • 特許-ゲームプログラム、情報処理装置、オブジェクト表示方法 図7
  • 特許-ゲームプログラム、情報処理装置、オブジェクト表示方法 図8
  • 特許-ゲームプログラム、情報処理装置、オブジェクト表示方法 図9
  • 特許-ゲームプログラム、情報処理装置、オブジェクト表示方法 図10
  • 特許-ゲームプログラム、情報処理装置、オブジェクト表示方法 図11
  • 特許-ゲームプログラム、情報処理装置、オブジェクト表示方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-24
(45)【発行日】2024-11-01
(54)【発明の名称】ゲームプログラム、情報処理装置、オブジェクト表示方法
(51)【国際特許分類】
   A63F 13/52 20140101AFI20241025BHJP
   A63F 13/53 20140101ALI20241025BHJP
【FI】
A63F13/52
A63F13/53
【請求項の数】 10
(21)【出願番号】P 2021057444
(22)【出願日】2021-03-30
(65)【公開番号】P2022154414
(43)【公開日】2022-10-13
【審査請求日】2023-10-30
(73)【特許権者】
【識別番号】595000427
【氏名又は名称】株式会社コーエーテクモゲームス
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】出口 翔太郎
(72)【発明者】
【氏名】綾野 万里奈
【審査官】西村 民男
(56)【参考文献】
【文献】特開2020-189064(JP,A)
【文献】特開2018-110659(JP,A)
【文献】特開2013-066561(JP,A)
【文献】特開2003-290550(JP,A)
【文献】[Unity]LWRPで、壁で遮られて見えないキャラクターをシルエット表示するのが超簡単にできた,テラシュールブログ[online],2019年04月15日,インターネット URL https://tsubakit1.hateblo.jp/entry/2019/04/15/234935,[2024年7月11日検索]
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24,13/00-13/98
G06T 1/00,11/00-11/40
11/60-13/80
15/00-17/00,17/05
17/10-17/30
19/00-19/20
(57)【特許請求の範囲】
【請求項1】
情報処理装置を、
仮想空間内に配置された複数のオブジェクトを仮想カメラが撮影した画像データを生成する画像データ生成部と、
複数の前記オブジェクトの位置情報及び形状情報を記憶した記憶部を参照して、前記仮想カメラから見て、第一のオブジェクトと第二のオブジェクトの少なくとも一部とが重なるかどうかを判定する判定部と、
前記第一のオブジェクトと、前記第一のオブジェクトより奥側に存在する前記第二のオブジェクトの少なくとも一部とが重なる場合、
前記画像データにおいて、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を変更する色設定部、
として機能させ
前記色設定部は、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を、前記第二のオブジェクトの形状に基づいて変更し、
前記第二のオブジェクトの一部のみが前記第一のオブジェクトに隠れている場合、
前記色設定部は、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の色を変更し、更に、前記第一のオブジェクトと重なっていない前記第二のオブジェクトの部分を、変更した前記第一のオブジェクトと同じ色に変更するゲームプログラム。
【請求項2】
情報処理装置を、
仮想空間内に配置された複数のオブジェクトを仮想カメラが撮影した画像データを生成する画像データ生成部と、
複数の前記オブジェクトの位置情報及び形状情報を記憶した記憶部を参照して、前記仮想カメラから見て、第一のオブジェクトと第二のオブジェクトの少なくとも一部とが重なるかどうかを判定する判定部と、
前記第一のオブジェクトと、前記第一のオブジェクトより奥側に存在する前記第二のオブジェクトの少なくとも一部とが重なる場合、
前記画像データにおいて、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を変更する色設定部、
として機能させ、
前記色設定部は、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を、前記第二のオブジェクトの色、及び前記第一のオブジェクトの色を用いて変更するゲームプログラム。
【請求項3】
前記色設定部は、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を、前記第二のオブジェクトの色を用いて変更した変更後の色を前記第一のオブジェクトの色と予め定められている比率で合成した色に変更する、請求項2に記載のゲームプログラム。
【請求項4】
前記色設定部は、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を、予め定められている色に設定する請求項1に記載のゲームプログラム。
【請求項5】
前記色設定部は、前記第二のオブジェクトが有する属性に応じて、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を変更する請求項1~のいずれか1項に記載のゲームプログラム。
【請求項6】
前記色設定部は、前記画像データにおいて、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の彩度を変更する請求項1~のいずれか1項に記載のゲームプログラム。
【請求項7】
仮想空間内に配置された複数のオブジェクトを仮想カメラが撮影した画像データを生成する画像データ生成部と、
複数の前記オブジェクトの位置情報及び形状情報を記憶した記憶部を参照して、前記仮想カメラから見て、第一のオブジェクトと第二のオブジェクトの少なくとも一部とが重なるかどうかを判定する判定部と、
前記第一のオブジェクトと、前記第一のオブジェクトより奥側に存在する前記第二のオブジェクトの少なくとも一部とが重なる場合、
前記画像データにおいて、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を変更する色設定部、
を有し、
前記色設定部は、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を、前記第二のオブジェクトの形状に基づいて変更し、
前記第二のオブジェクトの一部のみが前記第一のオブジェクトに隠れている場合、
前記色設定部は、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の色を変更し、更に、前記第一のオブジェクトと重なっていない前記第二のオブジェクトの部分を、変更した前記第一のオブジェクトと同じ色に変更する、情報処理装置。
【請求項8】
仮想空間内に配置された複数のオブジェクトを仮想カメラが撮影した画像データを生成する画像データ生成部と、
複数の前記オブジェクトの位置情報及び形状情報を記憶した記憶部を参照して、前記仮想カメラから見て、第一のオブジェクトと第二のオブジェクトの少なくとも一部とが重なるかどうかを判定する判定部と、
前記第一のオブジェクトと、前記第一のオブジェクトより奥側に存在する前記第二のオブジェクトの少なくとも一部とが重なる場合、
前記画像データにおいて、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を変更する色設定部、
を有し、
前記色設定部は、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を、前記第二のオブジェクトの色、及び前記第一のオブジェクトの色を用いて変更する、情報処理装置。
【請求項9】
情報処理装置が、仮想空間内に配置された複数のオブジェクトを仮想カメラが撮影した画像データを生成するステップと、
前記情報処理装置が、複数の前記オブジェクトの位置情報及び形状情報を記憶した記憶部を参照して、前記仮想カメラから見て、第一のオブジェクトと第二のオブジェクトの少なくとも一部とが重なるかどうかを判定するステップと、
前記第一のオブジェクトと、前記第一のオブジェクトより奥側に存在する前記第二のオブジェクトの少なくとも一部とが重なる場合、
前記画像データにおいて、前記情報処理装置が、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を変更するステップと、
を有し、
前記変更するステップは、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を、前記第二のオブジェクトの形状に基づいて変更するステップにおいて、
前記第二のオブジェクトの一部のみが前記第一のオブジェクトに隠れている場合、
前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の色を変更し、更に、前記第一のオブジェクトと重なっていない前記第二のオブジェクトの部分を、変更した前記第一のオブジェクトと同じ色に変更するステップを含む、オブジェクト表示方法。
【請求項10】
情報処理装置が、仮想空間内に配置された複数のオブジェクトを仮想カメラが撮影した画像データを生成するステップと、
前記情報処理装置が、複数の前記オブジェクトの位置情報及び形状情報を記憶した記憶部を参照して、前記仮想カメラから見て、第一のオブジェクトと第二のオブジェクトの少なくとも一部とが重なるかどうかを判定するステップと、
前記第一のオブジェクトと、前記第一のオブジェクトより奥側に存在する前記第二のオブジェクトの少なくとも一部とが重なる場合、
前記画像データにおいて、前記情報処理装置が、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を変更するステップと、
を有し、
前記変更するステップは、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を、前記第二のオブジェクトの色、及び前記第一のオブジェクトの色を用いて変更するステップを含む、オブジェクト表示方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームプログラム、情報処理装置、及び、オブジェクト表示方法に関する。
【背景技術】
【0002】
オブジェクトが遮蔽物の陰に隠れる場合があるゲームが知られている。例えば、仮想的な三次元空間に配置された仮想カメラを視点とするゲームでは、視界に複数のオブジェクトが存在する場合があり、プレイヤーには複数のオブジェクトが重なって見える場合がある。例えば、対戦ゲームで建物の陰に敵キャラクターが隠れていたり、木の陰にアイテムが置かれたりしているような場合がある。このよう場合、ゲームの興趣性を損なわないように、遮蔽物に隠れるオブジェクトに視覚効果を加えて表示する技術が知られている(例えば、特許文献1参照。)。
【0003】
特許文献1には、キャラクターが遮蔽物に隠れたらシルエット、矢印、又は、枠線等で目印表示する技術が公開されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特許第3637031号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の技術では、ゲームの興趣性が低下するおそれがあるという問題があった。例えば、第一のオブジェクトに隠れた第二のオブジェクトがシルエット等で表示された場合、プレイヤーが第二のオブジェクトの存在に気づきにくく、興趣性がそがれる場合がある。
【0006】
本発明は、上記課題に鑑み、ゲームの興趣性を向上させたゲームプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題に鑑み、本発明は、情報処理装置を、仮想空間内に配置された複数のオブジェクトを仮想カメラが撮影した画像データを生成する画像データ生成部と、複数の前記オブジェクトの位置情報及び形状情報を記憶した記憶部を参照して、前記仮想カメラから見て、第一のオブジェクトと第二のオブジェクトの少なくとも一部とが重なるかどうかを判定する判定部と、前記第一のオブジェクトと、前記第一のオブジェクトより奥側に存在する前記第二のオブジェクトの少なくとも一部とが重なる場合、前記画像データにおいて、前記第二のオブジェクトと前記第一のオブジェクトとが重なる部分の少なくとも一部の色を変更する色設定部、として機能させるためのゲームプログラムを提供する。
【発明の効果】
【0008】
ゲームの興趣性を向上させたゲームプログラムを提供することができる。
【図面の簡単な説明】
【0009】
図1】ゲーム世界において仮想カメラに投影される怪獣のオブジェクトを示す図の一例である。
図2】ゲームシステムの構成図の一例である。
図3】情報処理装置のハードウェア構成図の一例である。
図4】情報処理装置の機能をブロック状に分けて説明する機能ブロック図の一例である。
図5】オブジェクトの属性の一例を示す図である。
図6】撮影画像の生成方法を説明する図である。
図7】スキャンラインによるポリゴンのラスタ化を説明する図である。
図8】Zバッファとフレームバッファを模式的に示す。
図9】隠面消去の処理を説明するフローチャート図の一例である。
図10】色設定部が第二のオブジェクトと第一のオブジェクトとが重なる部分の少なくとも一部を色によって強調する手順を示すフローチャート図の一例である。
図11】第二のオブジェクトの外縁のみに色が設定された撮影画像の一例である。
図12】第二のオブジェクトの表示例を示す図である。
【発明を実施するための形態】
【0010】
以下、本開示のゲームプログラムを実施するための形態について図面を参照して説明する。なお、本明細書及び図面において、実質的に同一の構成については、同一の符号を付することにより重複した説明を省く。
【0011】
<本実施形態のゲームシステムの概略動作>
まず、図1を参照して、本実施形態のゲームシステムの概略動作について説明する。図1は、仮想空間(例えば仮想的な三次元空間)において仮想カメラ10により撮影される怪獣のオブジェクト21を示す。なお、実際には、プレイヤー自身が操作するプレイヤーキャラクターがゲーム世界に存在する場合が多いが、図1では省略した。
【0012】
仮想カメラ10の視点に対し、怪獣のオブジェクト21よりも手前に壁のオブジェクト11がある。ゲーム世界のオブジェクトを仮想カメラ10に撮影した画像(以下、撮影画像という)では、怪獣のオブジェクト21が壁のオブジェクト11に隠れてしまう。このため、ゲームのプレイヤーが怪獣の存在に気づけない。
【0013】
従来から、遮蔽物に隠れたオブジェクトの存在をプレイヤーに知らせる技術として、遮蔽物上にオブジェクトのシルエットを表示する技術や、遮蔽物を透過させてオブジェクトを表示する技術が知られている。しかし、シルエットを表示する技術では遮蔽物に隠れたオブジェクトをプレイヤーが気づきにくい場合があり、透過させる技術ではオブジェクトを見にくい場合があった。
【0014】
そこで、本実施形態のゲームプログラムは、隠れているオブジェクトを色で強調し、更に、少なくとも遮蔽物越しに隠れているオブジェクトを視認可能に表示する。
【0015】
図1(b)は撮影画像の一例である。図1(b)の撮影画像では壁のオブジェクト11上に、怪獣のオブジェクト21が表示されている。怪獣のオブジェクト21の色は、少なくとも壁のオブジェクト11とは異なり、好ましくは怪獣のオブジェクト21の存在を強調できる色であるとよい。例えば、怪獣のオブジェクト21の色は、隠れていない場合よりも赤の濃度が強調される。強調される色は、青、緑、黄、金色など、どのような色でもよい。また、壁のオブジェクト11が半透明となり、色が強調された怪獣のオブジェクト21が透けて見えてもよい。
【0016】
こうすることで、遮蔽物に隠れたオブジェクトの視認性を向上させ、ゲームプログラムの興趣性を高めることができる。
【0017】
<用語について>
本実施形態のゲームプログラムは、壁のオブジェクト11に隠れた怪獣のオブジェクト21の視認性を向上させるため、怪獣のオブジェクト21を色で強調する。プレイヤーの視覚としては、画像データにおいて、壁のオブジェクト11と怪獣のオブジェクト21とが重なる部分の少なくとも一部の色がその周囲とは異なっているように見える。また、画像処理としては、怪獣のオブジェクト21と重なっている部分の壁のオブジェクト11の色を変更する処理が行われる。
【0018】
<ゲームシステム>
次に、図2を参照して、ゲームシステムの構成例を説明する。図2は、本実施形態のゲームシステム1の構成を示す図である。ゲームシステム1は、情報処理装置3と、ゲームコントローラ5と、表示装置7とを有する。ゲームコントローラ5及び表示装置7の各々は、情報処理装置3と有線又は無線により通信可能に接続されている。
【0019】
情報処理装置3は、例えば据え置き型のゲーム専用機である。但し、これに限定されるものではなく、情報処理装置3は、例えば入力部や表示部等を一体に備えた携帯型のゲーム機でもよい。
【0020】
また、情報処理装置3はゲーム専用機でなくてよく、例えば、コンピュータ、デスクトップ型コンピュータ、ノート型コンピュータ、タブレット型コンピュータ等のように、コンピュータとして製造、販売等されているものや、スマートフォン、携帯電話等のように、電話機として製造、販売等されているものでもよい。これらの装置は、普段は汎用的な情報処理端末として利用されるが、プレイヤーがインストールされたゲームプログラムを実行すると、ゲーム専用機と同様、プレイヤーがゲームを進行できるようになる。
【0021】
情報処理装置3には、本実施形態のゲームプログラムがインストールされる。ゲームプログラムはCD-ROMなどの光記憶媒体やUSBメモリなどの半導体メモリに記憶された状態で配布されたり、サーバーからダウンロードされたりする形態で配布される。
【0022】
プレイヤーは、ゲームコントローラ5を用いて各種の操作入力を行う。図2に示す例では、ゲームコントローラ5は例えば十字キー9や複数のボタン8等を有する。なお、ゲームコントローラ5は上記に代えて又は加えて、例えばジョイスティックやタッチパッド等を有してもよい。また、ゲームコントローラ5がマイクを備え、音声操作が可能でもよい。ゲームコントローラ5がジャイロセンサや加速度センサ等を備え、プレイヤーがゲームコントローラ5の姿勢を変えることで操作が可能でもよい。
【0023】
また、情報処理装置3が更にネットワーク上のサーバーと通信してもよい。この場合、同じゲームプログラムを実行する複数の情報処理装置3がサーバーに接続するので、いわゆるオンラインゲームが可能になる。オンラインゲームとは、例えば、多人数で同じゲームプログラムを協調して操作できるゲームをいう。オンラインゲームのサーバーは、他のプレイヤーの位置や操作コマンドを受け付け、他のプレイヤーの情報処理装置3に送信するという最低限の処理を行う。情報処理装置3では各プレイヤーの描画や操作コマンドの反映処理など実際のゲーム処理を行う。
【0024】
また、ゲームシステム1は、情報処理装置3が別の情報処理装置3と通信するいわゆるP2P(Peer To Peer)方式でもよい。
【0025】
また、ゲームシステム1はいわゆるクラウドゲームでもよい。
【0026】
以下では、主に図2の構成を用いて本実施形態のゲームシステム1について説明する。
【0027】
<情報処理装置のハードウェア構成例>
図3は、情報処理装置3のハードウェア構成図の一例である。図3に示すように、情報処理装置3は、例えば、CPU501と、ROM502と、RAM503と、GPU504と、例えばASIC又はFPGA等の特定の用途向けに構築された専用集積回路505と、入力装置506と、出力装置507と、記録装置508と、ドライブ509と、接続ポート510と、通信装置511を有する。これらの構成は、バス513や入出力インターフェース514等を介し相互に信号を伝達可能に接続されている。
【0028】
ゲームプログラムは、例えば、ROM502やRAM503、記録装置508等に記録しておくことができる。
【0029】
CPU501は、例えば、上記記録装置508からゲームプログラムを、直接読み出して実行してもよく、RAM503に一旦ロードした上で実行してもよい。更にCPU501は、例えば、ゲームプログラムを通信装置511やドライブ509、接続ポート510を介し受信する場合、受信したゲームプログラムを記録装置508に記録せずに直接実行してもよい。
【0030】
また、CPU501は、必要に応じて、前述のゲームコントローラ5を含む、例えばマウス、キーボード、マイク等(図示せず)の入力装置506から入力する信号や情報に基づいて各種の処理を行ってもよい。
【0031】
GPU504は、CPU501からの指示に応じて例えばレンダリング処理などの画像表示のための処理を行う。
【0032】
そして、CPU501及びGPU504は、上記の処理を実行した結果を、例えば前述の表示装置7や音声出力部を含む、出力装置507から出力する。CPU501及びGPU504は、必要に応じてこの処理結果を通信装置511や接続ポート510を介し送信してもよく、上記記録装置508や記録媒体512に記録させてもよい。
【0033】
なお、サーバー又は汎用的な情報処理装置のハードウェア構成は、情報処理装置3と同様か、又は、異なっても本実施形態の説明の都合上、支障がないものとする。
【0034】
<ゲームの概略内容>
本実施形態における遮蔽物に隠れたオブジェクトの表示方法は、ゲームの種類(ジャンル)に関わらず適用できる。すなわち、遮蔽物にオブジェクトが隠れる可能性があるゲームであればよい。なお、この遮蔽物もゲームプログラム上はオブジェクトである。以下では、遮蔽物を「第一のオブジェクト」、遮蔽物に隠れたオブジェクトを「第二のオブジェクト」という場合がある。
【0035】
例えば、ゲームの種類には、アクションゲーム、シューティングゲーム、シミュレーションゲーム、レーシングゲーム、アドベンチャーゲーム、ロールプレイングゲーム、及び、スポーツゲーム、等がある。また、これらの複数の要素を備えたゲームも多い。
【0036】
また、ゲームに登場するオブジェクトは、例えば人間の男性キャラクター、女性キャラクター又はその他に限定されるものではなく、人間以外の動物、人間や動物以外の生物、仮想的な生物(例えば怪獣、妖怪、宇宙人等)、ロボット、山や海などの自然物、物品や物体なども含む。本実施形態ではゲームに登場しうるオブジェクトであれば、第一のオブジェクト又は第二のオブジェクトとなり得る。
【0037】
<情報処理装置の機能について>
図4は、情報処理装置3の機能をブロック状に分けて説明する機能ブロック図の一例である。図4に示すように、情報処理装置3は、オブジェクト生成部31、オブジェクト管理部32、画像データ生成部33、色設定部34、表示制御部35、及び、判定部36を有している。情報処理装置3が有するこれら各機能部は、図3に示したCPU501が、RAM503に展開されたゲームプログラムを実行することで実現される機能又は手段である。
【0038】
まず、本実施形態では、仮想空間に配置された仮想カメラ10に、複数のオブジェクトが撮影された画像が得られる。オブジェクトも三次元の立体物である。このため、この画像では、第二のオブジェクトが第一のオブジェクトに重なっていることが想定されている。コンピュータグラフィックでは、三次元のオブジェクトはポリゴン(又は三次元点の集まり)で構成される。ポリゴンとは、3点以上の頂点を結んでできた多角形データであり、曲面を構成する最小単位である。
【0039】
オブジェクト生成部31は、仮想空間に各種のオブジェクトを配置する。オブジェクト生成部31はローカル座標系で作成したオブジェクトを、ゲーム世界を表すワールド座標に変換して配置する。更に、オブジェクト生成部31は、各オブジェクトにビュー座標変換を行う。ビュー座標変換は、仮想カメラ10が原点になるようにオブジェクトの座標を変換し、それに伴う影響(移動や回転)をオブジェクトに反映させる処理をいう。
【0040】
オブジェクト管理部32は、オブジェクトに関する情報をオブジェクトデータ記憶部39において管理する。図5を参照して説明する。
【0041】
図5(a)はオブジェクトの属性の一例を示す図である。オブジェクトの属性とは、各オブジェクトの特性を示す情報である。属性は、ゲームプログラムによって様々であり、図5(a)は一例に過ぎない。
【0042】
以下、各項目を説明する。
・オブジェクトIDは、ゲーム世界で重複しないオブジェクトの識別情報である。
・オブジェクト種類は、どのようなオブジェクトであるかを示す。オブジェクト種類はゲームジャンルによって様々であるが、例えば人間やアイテムの他、ロボット、動物などがあってよい。
・性別は、ゲームプログラム上のキャラクターの性別である。
・味方/敵は、複数のプレイヤーで戦闘するようなゲームを進行する場合に、各プレイヤーに対応するキャラクターが敵か味方かを示す。
・レア度は、アイテムの入手のしづらさを示す。例えばS、A、B、Cの順にレア度が高いとする。レア度は所定の値の一例である。
・HP(Hit Point)は、オブジェクトがキャラクターの場合の残りの体力である。通常、HPがゼロになるとキャラクターが死亡する。HPは所定の値の一例である。
・MP(Magic Point)は、オブジェクトがキャラクターの場合の残りの魔法力である。通常、MPがゼロになるまで、プレイヤーは魔法の種類に応じたMPを消費して魔法を使うことができる。MPは所定の値の一例である。
・武器は、キャラクターが携帯する武器の種類である。
・薬草は、キャラクターが携帯する回復アイテムの1つである。薬草はHPを一定量回復させる。
【0043】
図5(b)は、オブジェクトの位置情報と形状情報の一例を示す図である。オブジェクトデータ記憶部39は、オブジェクトごとにオブジェクトの位置情報と形状情報を記憶している。オブジェクトはポリゴンによって形成されるので、図5(b)ではオブジェクトが有する各ポリゴンの3つの座標(ワールド座標系)が示されている。なお、各ポリゴンは図示するほか、法線ベクトル、頂点のカラー情報、ブレンディングウェイト(各頂点のカラーの合成比率)、等を有している。
【0044】
図4に戻って説明する。画像データ生成部33は、仮想カメラ10を視点としたゲーム世界のオブジェクトを撮影画像(画像データ)に変換する。詳細は図6にて説明する。
【0045】
判定部36は、仮想カメラ10から見て、第一のオブジェクトと、第一のオブジェクトより奥側に存在する第二のオブジェクトの少なくとも一部とが重なるか否かを判定する。判定部36は、複数のオブジェクトの位置情報及び形状情報を記憶したオブジェクトデータ記憶部39を参照して、オブジェクトの位置情報及び形状情報に基づき、重なる2以上のオブジェクトが存在するかを判定する。詳細は図6にて説明する。
【0046】
色設定部34は、第二のオブジェクトと第一のオブジェクトとが重なる部分の少なくとも一部を色によって強調する。簡単にいうと、色設定部34は、第一のオブジェクトに色を設定することで、第一のオブジェクトに隠れて見えないはずの第二のオブジェクトをプレイヤーが視認できるようにする。画像処理としては、仮想カメラ10からの視点に対し、第一のオブジェクトに少なくとも一部が隠れる第二のオブジェクトがある場合、撮影画像における第一のオブジェクトの領域において、第二のオブジェクトの少なくとも一部と重なる部分の色を第一のオブジェクトとは異なる色に変更する。詳細は図7以下にて説明する。
【0047】
表示制御部35は、画像データ生成部33が生成し、色設定部34が第二のオブジェクトの視認性を向上した撮影画像を表示装置7に表示する。
【0048】
<撮影画像の生成について>
図6は撮影画像の生成方法を説明する図である。図6に示すように、仮想空間内に仮想カメラ10が置かれる。この仮想カメラ10の位置が視点203、仮想カメラ10の向きが光軸206、視点203と仮想スクリーン202の頂点の四隅を結んだ4本の直線が作る領域が視界204となる。視点203から光軸206の方向に向かって一定の近距離にある位置に、仮想スクリーン202が置かれる。
【0049】
視界204の範囲で、視点203から光軸206の方向に向かって一定の近距離に前方クリップ面205が設定され、一定の遠距離に後方クリップ面207が設定される。視界204の範囲内において前方クリップ面205から後方クリップ面207までの範囲が、透視投影変換により画像が描画される範囲である視野空間208として定められる。ただし、画像処理上、前方クリップ面は0,後方クリップ面は1.0に正規化される。
【0050】
このように、仮想スクリーン202上に画像を投影するために用いられる座標系(ビュー座標変換後の座標系)が視点座標系(X',Y',Z')であり、光軸206の方向が視点座標系のZ'軸となる。ワールド座標系(X,Y,Z)の座標(ローカル座標系の座標から変換された座標を含む)は、視点座標系の座標に変換されている。
【0051】
画像データ生成部33は透視投影の処理を行うが、このとき、Zバッファを用いた隠面消去の処理が行われる。色設定部34は、隠面消去の後、第二のオブジェクトの視認性を向上させるために、第一のオブジェクトに色を設定する。
【0052】
なお、透視投影変換には座標変換行列(不図示)が使用される。座標変換行列には、視野角、アスペクト比、ニアクリップ値、ファークリップ値があればよい。視野角は視界204の半分(光軸から右半分又は左半分の角度)である。アスペクト比は撮影画像が表示される画面の縦横の比率である。例えば、表示装置7又はウィンドウのサイズ(縦横比)が使用される。ニアクリップ値とファークリップ値は前方クリップ面205と後方クリップ面207のZ'座標である。これらの値はゲームプログラムに設定されていたり、ゲームで発生したりしたイベントなどで動的に設定されてよい。
【0053】
<隠面消去と色変更>
次に、図7図10を参照して、隠面消去と色変更について説明する。まずは、隠面消去について説明する。
【0054】
図7は、スキャンラインによるポリゴン300のラスタ化を説明する図である。画像データ生成部33は、オブジェクトを構成する全てのポリゴン300について、スキャンライン301による走査を行い、撮影画像に変換する(ラスタ化する)画素を決定する。スキャンライン301はカメラ座標系のX'軸に水平な直線であり、間隔dは撮影画像の解像度によって決まっている。ポリゴン300の三辺とスキャンライン301との交点A,Bの間にある画素がポリゴン内の画素である。図7のポリゴン300はXY平面に投影されているため、スキャンライン301との交点A,Bが求められる(仮想空間でスキャンライン301とポリゴン300の辺が交差するかどうかは問わない)。なお、交点Aと交点Bの間における画素の座標は求める必要がない。後の説明のため、交点Aの座標を(xa,ya)とし、交点Bの座標を(xb,yb)とする。なお、スキャン時点では、z座標は求められなくてよい。
【0055】
画像データ生成部33は、図8に示すようなZバッファ311と、フレームバッファ312を用意する。Zバッファ311とフレームバッファ312のマスは撮影画像の各画素を表す。画素の座標は(i,j)で特定される。
【0056】
Zバッファ311には撮影画像の各画素に対応するオブジェクトまでの距離が格納される。すなわち、図6のZ'軸の値が格納される。フレームバッファ312には各画素の色が格納される。このため、フレームバッファ312はRGBごとに用意される。画像データ生成部33は、毎フレームごとにZバッファ311を初期化する。初期値は最大値(例えばファークリップ値の1.0)である。画像データ生成部33は毎フレームごとにフレームバッファ312を背景色(何もない場合に表示される色)に初期化する。
【0057】
図9は、隠面消去の処理を説明するフローチャート図の一例である。上記のように、画像データ生成部33はZバッファ311とフレームバッファ312を初期化する(S1)。
【0058】
次に、画像データ生成部33は、視野空間208にある全てのオブジェクトから、ポリゴン300を1つずつ取り出す(S2)。取り出す順番は、オブジェクト単位でもよいし、オブジェクトに関係なくポリゴンの座標でソートした順番でもよい。
【0059】
画像データ生成部33はポリゴン300を透視投影変換することで撮影画像に変換する(S3)。ここでの変換はポリゴン300の頂点だけでよい。これにより、ポリゴン300が有する各頂点の撮影画像における座標(i,j)が求まる。
【0060】
また、画像データ生成部33はポリゴン300をスキャンライン301で走査することで、ポリゴン300とスキャンライン301との交点A,Bを求める(S4)。Zバッファ311及びフレームバッファ312において図8のようにポリゴン300が投影された三角形が、透視投影変換で得られている。この三角形の左側の辺を形成する画素(i,j)が交点Aである。同様に三角形の右側の辺を形成する画素(i,j)が交点Bである。
【0061】
画像データ生成部33は、ポリゴン内部の各画素(交点A,B、及び、交点Aと交点Bの間の画素)についてZ値を算出する(S5)。導出は省略するが、Z値は式(1)により算出される。
【0062】
【数1】
【0063】
補足すると、(xi,yi,zi)はポリゴン300の3つの頂点のいずれかの頂点の座標である。ポリゴン300の法線ベクトル(nx.ny,nz)は既知である。したがって、情報処理装置3がdを計算できる。式(1)のx、yに交点Aの仮想空間の座標(xa,ya)を代入すればZ'軸における交点AのZ値が得られる。交点Bの仮想空間の座標(xb,yb)を代入すればZ'軸における交点BのZ値が得られる。交点Aと交点Bの間の画素については、画像データ生成部33が交点A,BのZ値の差を、交点Aと交点Bの間の画素数で割って按分する。
【0064】
次に、画像データ生成部33は、Zバッファ311の(i,j)に格納されている値が算出したZ値より小さいか否かを判断する(S6)。
【0065】
Zバッファ311の値が算出したZ値より小さい場合、ポリゴン300がより手前にあるので画像データ生成部33は、フレームバッファ312の(i,j)に、ポリゴンの色を格納する(S7)。画像データ生成部33は、RGBそれぞれのフレームバッファ312にポリゴン300の色を格納する。
【0066】
また、画像データ生成部33はZバッファ311の値を、ステップS5で算出されたZ値で更新する(S8)。これは、次以降のポリゴン300のZ値と比較するためである。
【0067】
画像データ生成部33は1つのポリゴン300の処理が終了したか否かを判断する(S9)。1つのポリゴン300が終了していない場合、画像データ生成部33はステップS5から繰り返す。
【0068】
1つのポリゴン300の処理が終了した場合、画像データ生成部33は視野空間208の全てのポリゴン300について処理が終わったか否かを判断する(S10)。
【0069】
全てのポリゴン300の処理が終了していない場合、画像データ生成部33はステップS2から繰り返す。
【0070】
以上の処理で、撮影画像(フレームバッファ312の画素値を有する)には各画素において最も手前のオブジェクトの画素値(RGB)が表示された状態となる。例えば、図9が終了した時点では、撮影画像は図10に示す状態となる。
【0071】
なお、図9の隠面消去方法はあくまで一例であり、仮想空間のオブジェクトをどのように撮影画像に変換してもよい。
【0072】
隠面消去が行われると、撮影画像は壁のオブジェクト11のみが表示された状態となる。
【0073】
<第一のオブジェクトの色の変更>
次に、色設定部34は、強調表示したい属性を有するオブジェクトについて、そのZ値を求め、Zバッファ311の値よりも大きい場合には(オブジェクトが奥にある)、フレームバッファ312に第二のオブジェクトの視認性を向上するための色を設定する。
【0074】
図10は、色設定部34が第二のオブジェクトと第一のオブジェクトとが重なる部分の少なくとも一部を色によって強調する手順(オブジェクト表示方法)を示すフローチャート図の一例である。判定部36と色設定部34はオブジェクトごとに図10の処理を行う。
【0075】
まず、判定部36は、第二のZバッファを用意し、最大値(例えば1.0)に初期化し、第二のフレームバッファを背景色に初期化する(S11)。なお、説明のため、図9で使用したZバッファ311を第一のZバッファといい、図9で使用したフレームバッファ312を第一のフレームバッファという。
【0076】
判定部36は、視認性を向上させたい所定の属性のオブジェクトが有する全てのポリゴン300についてZ値を算出する(S12)。所定の属性のオブジェクトは、例えばキャラクターや所定のアイテムなどのオブジェクトである。このオブジェクトが有する複数のポリゴン300において互いに重なるポリゴン300については、最も手前のポリゴン300のZ値が第二のZバッファに格納される。Z値の算出方法は図9と同様であり、各ポリゴン300の座標(i,j)とZ値が算出される。判定部36はこのZ値を第二のZバッファに格納し、第二のフレームバッファにポリゴンの色を格納する。
【0077】
判定部36は、第二のZバッファと第一のZバッファの同じ座標(i,j)の値を比較して、第二のZバッファに第一のZバッファよりも大きいZ値があるか否かを判断する(S13)。つまり、第二のオブジェクトが第一のオブジェクト等で隠れているかどうかを判断する。ここではZバッファが使用されているが、判定部36は、複数のオブジェクトの位置情報及び形状情報を記憶したオブジェクトデータ記憶部39を参照して、オブジェクトの位置情報及び形状情報に基づき、重なる2以上のオブジェクトが存在するかを判定している。
【0078】
ステップS13の判断がYesの場合、所定の属性のオブジェクトは本実施形態でいう第二のオブジェクトである。色設定部34は第一のフレームバッファの各画素のうち、第二のオブジェクトが存在する座標に色を設定する(S14)。以上で、図1(b)のような撮影画像が得られる。このように、色設定部34は第二のオブジェクトの形状に基づいて第一のオブジェクトの色を変更できる。
【0079】
例えば、色設定部34は、第二のオブジェクトの赤を強調することができる。この場合、色設定部34は、第二のフレームバッファのR,G,Bのうち、R値を増大し、G値とB値を下げる。第二のフレームバッファに設定された色は、通常、第一のフレームバッファの第一のオブジェクトの色とは異なることが担保される。つまり、色設定部34は、第二のオブジェクトと第一のオブジェクトとが重なる部分の色を変更する(第二のオブジェクトの色からも第一のオブジェクトの色からも変更する)。
【0080】
また、色設定部34は、第二のオブジェクトの色の彩度を向上又は低下させたり、輝度を向上又は低下させたりしてもよい。このように、色設定部34は、第二のオブジェクトの色を用いて第一のオブジェクトの色を変更する。
【0081】
そして、色設定部34は第二のフレームバッファの変更後の色を、第一のフレームバッファの同じ画素に設定する。色設定部34はこの変更後の色を単に第一のフレームバッファに格納するのでなく、第一のフレームバッファの色と所定の比率で合成してよい。プレイヤーには第一のオブジェクトを透過したように第二オブジェクトが見える。
【0082】
なお、第二のフレームバッファに設定された色が、第一のフレームバッファの第一のオブジェクトの色と同じであった場合、色設定部34は、第二のフレームバッファに設定された色をその補色に変更する等の処理を行う。
【0083】
また、色設定部34は、単に、予め定められている色を第一のフレームバッファに設定してもよい。例えば、色設定部34が赤を設定する場合、(R、G、B)=(255,0,0)を、第一のフレームバッファのうち第二のオブジェクトが存在する座標に設定する。色設定部34は、青を設定する場合、(R、G、B)=(0,0,255)を、第一のフレームバッファのうち第二のオブジェクトが存在する座標に設定する。色設定部34は、緑を設定する場合、(R、G、B)=(0,255,0)を第一のフレームバッファのうち第二のオブジェクトが存在する座標に設定する。色設定部34は、黄を設定する場合、(R、G、B)=(255,255,0)を、第一のフレームバッファのうち第二のオブジェクトが存在する座標に設定する。
【0084】
このように、色設定部34は第一のオブジェクトに色を設定することで、第一のオブジェクトに隠れて見えないはずの第二のオブジェクトの視認性を向上できる。第二のオブジェクトが第一のオブジェクトに隠れていることを示すため、変更した色の輝度や彩度を下げることもできる。輝度の変更方法は、RGBで表される画素値を輝度に変換し(例えばYUV色空間のY)、輝度を下げた後、再度、RGBに変換する。彩度の変更方法は、RGBで表される画素値を彩度に変換し(例えばHSV色空間のS)、彩度を下げた後、再度、RGBに変換する。
【0085】
<撮影画像のその他の表示例>
色設定部34は図1(b)のように第二のオブジェクトの全体に色を付与するのでなく、第二のオブジェクトの外縁のみに色を設定してもよい。
【0086】
図11は、第二のオブジェクトの外縁のみに色が設定された撮影画像の一例である。図11のような強調方法では、プレイヤーは外縁320で強調された第二のオブジェクトに気づくことができ、形状が強調されるので第二のオブジェクトが何であるかを判断しやすい。
【0087】
このような表示方法は第二のZバッファを利用して生成できる。図10のステップS12で第二のZバッファに第二のオブジェクトのZ値が設定されている。第二のオブジェクトのZ値は、第二のオブジェクトの初期値よりも小さい(手前)にある。したがって、色設定部34が外枠のみのエッジを検出するフィルターを第二のZバッファにかければ、第二のオブジェクトの外縁が得られる。
【0088】
また、第二のオブジェクトの一部のみが第一のオブジェクトに隠れている場合がある。この場合、色設定部34は、第一のオブジェクトによって隠れている部分のみを色で強調してもよいし、第一のオブジェクトに隠れていない部分を含めて色で強調してもよい。
【0089】
図12(a)は、第二のオブジェクトと重なる部分のみを色で強調した場合の撮影画像の一例である。壁のオブジェクト11(第一のオブジェクト)のうち怪獣のオブジェクト21が隠れている部分だけに色が設定されている。
【0090】
図12(a)のような表示方法は、図10で使用した、第二のZバッファにおいて、第一のZバッファの値よりも大きいZ値(ただし、初期値である最大値は含まない)がある第一のフレームバッファの画素にだけ、色設定部34が色を設定すればよい。なお、第二のオブジェクトのうち第一のオブジェクトに隠れていない部分については、通常表示でよい。図9の処理が終わった段階で、第二のオブジェクトのうち第一のオブジェクトに隠れていない部分には第二のオブジェクト本来の色が設定されている。また、図12(a)においても、色設定部34は外縁のみに色を設定できる。
【0091】
図12(b)は、第一のオブジェクトによって隠れていない第二のオブジェクトの部分にも色を設定した場合の撮影画像の一例である。第二のオブジェクトの全体に色が設定されている。
【0092】
図12(b)のような表示方法は、図10のステップS14と同様に、第二のフレームバッファでポリゴンの色が設定されている座標と同じ座標の第一のフレームバッファに色を設定すればよい。なお、図12(b)においても、色設定部34は外縁のみに色を設定できる。
【0093】
<属性に応じた色の変更>
以下では、色設定部34がオブジェクトの属性に応じて、第二のオブジェクトの存在を強調するための色を変更した撮影画像を説明する。
【0094】
例えば、色設定部34は、キャラクターの性別で色を変更してよい。女性キャラクターは、例えば、赤が設定されているか、又は、赤が強調される。男性キャラクターは、例えば、青が設定されているか、又は、青が強調される。その他の性別のキャラクターは、例えば、黄が設定されているか、又は、黄が強調される。
【0095】
性別に応じて第二のオブジェクトの色が変わるので、プレイヤーは第一のオブジェクトに隠れているキャラクターが女性か男性かを判断しやすい。
【0096】
また、色設定部34は、キャラクターが味方か敵かで色を変更してよい。味方キャラクターは、例えば、緑が設定されているか、又は、緑が強調される。敵キャラクターは、例えば、赤が設定されているか、又は、赤が強調される。
【0097】
敵か味方に応じて第二のオブジェクトの色が変わるので、プレイヤーは味方キャラクターなら接近し、敵キャラクターなら接近しないような対応が可能になる。
【0098】
また、色設定部34は、オブジェクトのレア度に応じて色を変更してよい。レア度が高いオブジェクトは、例えば、黄が設定されているか、又は、黄が強調される。レア度が低いオブジェクトは、例えば、青が設定されているか、又は、青が強調される。
【0099】
レア度に応じて第二のオブジェクトの色が変わるので、プレイヤーは第二のオブジェクトを取りに行くかどうかを判断しやすい。
【0100】
これらの他、色設定部34は、第二のオブジェクト(味方キャラクター)のHPに応じて色を変更してもよい。HPが残りわずかで味方からの支援を待っているキャラクターがいれば、プレイヤーが積極的に薬草などアイテムを渡すことができる。
【0101】
また、色設定部34は、第二のオブジェクト(味方キャラクター)が武器を有しているか否かに応じて色を変更してもよい。武器がないキャラクターがいれば、プレイヤーが武器を手渡すなどの対応をしやすくなる。
【0102】
また、色設定部34は、第二のオブジェクト(味方キャラクター)が回復アイテムを有しておらずHPが残りわずかか否かに応じて色を変更してもよい。回復アイテムがなくHPが少ないキャラクターがいれば、プレイヤーが回復アイテムを手渡すなどの対応をしやすくなる。
【0103】
<主な効果>
本実施形態のゲームシステムによれば、遮蔽物で隠れたオブジェクトの位置や形状を視認可能に表示できる。また、当該オブジェクトの属性もプレイヤーが認知することが可能なる。
【0104】
<その他の適用例等>
なお、本発明は、上記の実施形態に限られるものではなく、その趣旨及び技術的思想を逸脱しない範囲内で種々の変形が可能である。
【0105】
例えば、情報処理装置3は、第一のオブジェクトに穴をあけて第二のオブジェクトの色をそのまま又は変更して表示してもよい。穴を空けるとは、第一のオブジェクトの穴の部分の色をフレームバッファで使用しないことをいう。情報処理装置3は、例えば、透明な円形状のオブジェクトを第一のオブジェクトよりも手前に配置することで実現できる。
【0106】
また、本実施形態では、第二のオブジェクトと第一のオブジェクトとが重なる部分の少なくとも一部を色によって強調したが、第二のオブジェクトの形状でグラデーションを行ってもよい。また、情報処理装置3は、第二のオブジェクトの形状をモザイク状に分割して、第二のオブジェクトの色を強調してもよい。また、第二のオブジェクトの形状に関係なく丸や四角などで第一のオブジェクトの色を強調してもよい。丸や四角の位置は、第二のオブジェクトの重心や最上部などどこでもよい。
【0107】
また、色設定部34は、静止している状態の第二のオブジェクトについてのみ、本実施形態の色による強調処理を行ってもよい。静止しているオブジェクトにはプレイヤーが気づきにくいためである。色設定部34は、移動している第二のオブジェクトについて、シルエット表示を行い、静止したら本実施形態の色による強調処理を行う。
【0108】
また、本実施形態では、隠面消去の後に第二のオブジェクトの強調処理が行われたが、隠面消去と第二のオブジェクトの強調処理は並行して行われてもよい。
【0109】
また、図4などの構成例は、情報処理装置3による処理の理解を容易にするために、主な機能に応じて分割したものである。処理単位の分割の仕方や名称によって本願発明が制限されることはない。情報処理装置3の処理は、処理内容に応じて更に多くの処理単位に分割することもできる。また、1つの処理単位が更に多くの処理を含むように分割することもできる。
【0110】
また、本実施形態ではゲームプログラムが行うとした処理の一部又は全体を、ASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)等のハード的な処理回路が行ってもよい。
【符号の説明】
【0111】
1 ゲームシステム
3 情報処理装置
5 ゲームコントローラ
7 表示装置
33 画像データ生成部
34 色設定部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12