(57)【特許請求の範囲】
【請求項１】
仮想空間内にキャラクタとオブジェクトとが配置されるゲームを提供するゲーム装置であって、
視点位置とすべき位置を取得する取得部、
前記取得された位置に前記視点位置を設定する設定部、
前記設定された視点位置から、前記仮想空間を見た様子を表す画像を生成する生成部、
前記生成された画像を表示する表示部
を備え、
前記取得部は、前記キャラクタの部位が所定の隠蔽条件を満たしている場合、前記オブジェクトが前記視点位置と前記所定の隠蔽条件を満たすキャラクタの部位（以下「隠蔽部位」という。）の位置とを結ぶ線分上に位置するように、前記視点位置とすべき位置を取得する
ことを特徴とするゲーム装置。
【請求項２】
請求項１に記載のゲーム装置であって、
前記キャラクタが複数の断片に切断された際の複数の切断面は、いずれも前記所定の隠蔽条件を満たす
ことを特徴とするゲーム装置。
【請求項３】
請求項１に記載のゲーム装置であって、
前記キャラクタが複数の断片に切断された際の複数の切断面のうち、前記視点位置の方向を向いている切断面は、前記所定の隠蔽条件を満たす
ことを特徴とするゲーム装置。
【請求項４】
請求項２または３に記載のゲーム装置であって、
前記切断された複数の断片のそれぞれを移動させる移動部
をさらに備えることを特徴とするゲーム装置。
【請求項５】
請求項１から４のいずれか１項に記載のゲーム装置であって、
前記オブジェクトは１つ以上存在し、
前記取得部は、前記隠蔽部位が複数の場合、前記１つ以上のオブジェクトが、前記視点位置と当該複数の隠蔽部位のそれぞれの位置とを結ぶ線分上に位置するように、前記視点位置とすべき位置を取得する
ことを特徴とするゲーム装置。
【請求項６】
請求項１から５のいずれか１項に記載のゲーム装置であって、
前記オブジェクトには、複数の位置候補が対応付けられ、
前記取得部は、前記キャラクタの部位が所定の隠蔽条件を満たしている場合、前記複数の位置候補のうち、当該位置候補と前記隠蔽部位の位置とを結ぶ線分上に前記オブジェクトが位置するような位置候補（以下「隠蔽位置候補」という。）を、前記視点位置とすべき位置として取得する
ことを特徴とするゲーム装置。
【請求項７】
請求項６に記載のゲーム装置であって、
前記複数の位置候補が対応付けられたオブジェクトは、前記仮想空間内に複数配置される
ことを特徴とするゲーム装置。
【請求項８】
請求項６または７に記載のゲーム装置であって、
前記取得部は、前記隠蔽位置候補が複数存在する場合に、当該複数の隠蔽位置候補のうち、前記キャラクタの速度を見込む角度が最大の隠蔽位置候補を、前記視点位置とすべき位置として取得する
ことを特徴とするゲーム装置。
【請求項９】
請求項６または７に記載のゲーム装置であって、
前記取得部は、前記隠蔽位置候補が複数存在する場合に、当該複数の隠蔽位置候補のうち、前記オブジェクトを見込む角度が前記隠蔽部位を見込む角度以上で最小の隠蔽位置候補を、前記視点位置とすべき位置として取得する
ことを特徴とするゲーム装置。
【請求項１０】
請求項６または７に記載のゲーム装置であって、
前記取得部は、前記隠蔽位置候補が複数存在する場合に、当該複数の隠蔽位置候補のうち、現在設定されている視点位置から最も近い位置にある隠蔽位置候補を、前記視点位置とすべき位置として取得する
ことを特徴とするゲーム装置。
【請求項１１】
仮想空間内にキャラクタとオブジェクトとが配置されるゲームを提供し、取得部、設定部、生成部、表示部を備えるゲーム装置が実行する制御方法であって、
前記取得部が、視点位置とすべき位置を取得する取得工程、
前記設定部が、前記取得された位置に前記視点位置を設定する設定工程、
前記生成部が、前記設定された視点位置から、前記仮想空間を見た様子を表す画像を生成する生成工程、
前記表示部が、前記生成された画像を表示する表示工程
を備え、
前記取得工程では、前記取得部が、前記キャラクタの部位が所定の隠蔽条件を満たしている場合、前記オブジェクトが前記視点位置と前記所定の隠蔽条件を満たすキャラクタの部位の位置とを結ぶ線分上に位置するように、前記視点位置とすべき位置を取得する
ことを特徴とする制御方法。
【請求項１２】
コンピュータを、仮想空間内にキャラクタとオブジェクトとが配置されるゲームを提供するゲーム装置として機能させるプログラムであって、
視点位置とすべき位置を取得する取得部、
前記取得された位置に前記視点位置を設定する設定部、
前記設定された視点位置から、前記仮想空間を見た様子を表す画像を生成する生成部、
前記生成された画像を表示する表示部
として機能させ、
前記取得部は、前記キャラクタの部位が所定の隠蔽条件を満たしている場合、前記オブジェクトが前記視点位置と前記所定の隠蔽条件を満たすキャラクタの部位の位置とを結ぶ線分上に位置するように、前記視点位置とすべき位置を取得する
ように機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示すべきでない部位を適切に隠蔽しながらキャラクタの画像を表示するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、プログラムに関する。
【背景技術】
【０００２】
従来から、アクションゲームやロールプレイングゲーム等、様々なゲームを楽しむことのできるゲーム装置（ビデオゲーム装置等）が、家庭用や業務用として種々に開発されている。その中には、プレイヤがキャラクタを操作して敵キャラクタを攻撃して倒しながらゲームを進めたり、あるいは操作しているキャラクタ同士を戦わせてゲームを楽しんだりというように、キャラクタが戦闘を行うゲームが多数開発され、普及している。
【０００３】
キャラクタが戦闘を行うゲームでは、その場面を忠実に表現しようとすると、出血や流血をしたり、腕や頭部等の体の部位が切断されたりといった描写を伴うことが多い。このような残酷・残虐な描写は、倫理上プレイヤに表示しない方が好ましい場合が多いため、従来から、画面を切り替えたり、血の色を変えたり、そもそも残虐な描写にならないようにしたりする等、プレイヤに見せないようにするための様々な技術が開発され、ゲームに施されてきた。
【０００４】
例えば特許文献１には、登場するキャラクタ同士が戦闘を行う場面での残酷な描写に関して、出血描写の色や切断描写の設定を変更できるようにし、残酷性の程度を調整できるようにすることで、倫理面に配慮し、また描写内容をプレイヤの嗜好に合致させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−２６７３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、ゲームの描写が変更されてしまうと、プレイヤに与える印象が大きく変わってしまうことも多い。そのため、従来からの残酷・残虐な描写の制御では、戦闘場面等の臨場感が損なわれ、結果としてゲームとしての興趣性が失われてしまうことになりやすい、という課題があった。そのため、残酷・残虐な描写等のプレイヤに表示すべきでない表現を適切に隠蔽しつつ、ゲームとしての臨場感や興趣性もなるべく損なうことのない方法が求められてきた。
【０００７】
本発明は、上記のような課題を解決するもので、表示すべきでない部位を適切に隠蔽しながらキャラクタの画像を表示するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の第１の観点に係るゲーム装置は、仮想空間内にキャラクタとオブジェクトとが配置されるゲームを提供し、取得部、設定部、生成部、表示部を備える。
【０００９】
ここで、「キャラクタ」とは、ゲームに登場する、例えば人や動物、あるいは怪物などの姿をした構成要素を意味する。これらは典型的にはプレイヤに操作されたり、あるいはあらかじめ用意された設定に基づいて、仮想空間内を移動したりする。また、「オブジェクト」とは、ゲームを構成する、例えば建物、樹木、柱、車、ボール、本などの種々の有体物を意味する。このようなオブジェクトが仮想空間内に種々に配置されることで、本発明のゲームの世界を構成する。
【００１０】
取得部は、視点位置とすべき位置を取得する。ここで「視点」とは、仮想空間内の様子を撮影するためのいわゆる仮想カメラであり、当該「視点」が見たキャラクタやオブジェクトの様子を表す画像が、後述する生成部によって生成され、表示部によってゲームをプレイしているプレイヤへと提供される。そして「視点位置」とは、当該「視点」の仮想空間内における位置であり、「視点位置とすべき位置」とは、視点の現在の位置に対し、将来的に視点の位置とする仮想空間内の位置をいう。
【００１１】
すなわち取得部は、例えばキャラクタの動きに合わせて、当該キャラクタを撮影するための最適な位置を取得したり、ゲームの進行に伴って様々に移り変わる場面に応じて、当該場面を撮影するための位置をあらかじめ設定された位置の中から選択的に取得したりする等、ゲームをプレイするための画像をプレイヤに提供するための「視点位置とすべき位置」を、ゲームの進行に合わせて順次取得する。
【００１２】
設定部は、取得された位置に視点位置を設定する。すなわち、設定部は、仮想空間内の様子を撮影するため、ゲームの進行に合わせて取得部によって取得された仮想空間内の視点位置とすべき位置に、視点位置を設定する。例えば、取得された視点位置とすべき位置がそれまでの視点位置と異なる場合には、設定部は視点を取得された位置にまで移動させて設定することになる。
【００１３】
生成部は、設定された視点位置から、仮想空間を見た様子を表す画像を生成する。すなわち、生成部は、設定部によって設定された視点位置からの視野内に映し出される仮想空間内の様子を表す画像を生成する。例えば、仮想空間が３次元の仮想空間であった場合、視点位置からの視野内にある当該３次元仮想空間内の情報に基づき、２次元の画像を生成する。このとき、仮想空間に配置されたキャラクタやオブジェクトが視点位置からの視野内に入っている場合、それらの様子を表す画像が生成されることになる。
【００１４】
表示部は、生成された画像を表示する。すなわち、表示部は、生成部によって生成された画像を、例えばディスプレイに表示して、プレイヤに提供する。プレイヤは、例えばキャラクタやオブジェクトが表示された画像を見ながら、ゲームをプレイすることができる。
【００１５】
さらに取得部は、キャラクタの部位が所定の隠蔽条件を満たしている場合、オブジェクトが視点位置と所定の隠蔽条件を満たすキャラクタの部位（以下「隠蔽部位」という。）の位置とを結ぶ線分上に位置するように、視点位置とすべき位置を取得する。
【００１６】
ここで、「所定の隠蔽条件」とは、プレイヤに見せたくない、見せるべきでない、あるいは見せてはならないような、画像として表示すべきでない条件を意味する。すなわち、「キャラクタの部位が所定の隠蔽条件を満たしている場合」とは、例えば腕、足、顔などのようなキャラクタの体の一部が切断されたり出血したりするなどにより、画像として表示すべきでない態様になっている場合、ということであり、「隠蔽部位」とは、このような態様になっているキャラクタの体の部位のことである。
【００１７】
取得部は、このような画像として表示すべきでない隠蔽部位が視点の視界に入らないように、仮想空間内にあらかじめ配置されているオブジェクトを利用する。具体的には、オブジェクトが視点位置と隠蔽部位の位置とを結ぶ線分上に位置するような位置、すなわち隠蔽部位がオブジェクトの陰に隠れて見えなくなるような位置を、視点位置とすべき位置として取得する。
【００１８】
このような構成により、本発明のゲーム装置は、プレイヤに見せるべきでない残虐な表現を伴う部位に対して、仮想空間内にあらかじめ配置されているオブジェクトを視線を遮る障害物として利用することで、プレイヤに見せないようにする。その結果、本発明のゲーム装置は、画面を切り替えたり、描写を変更したりする等によってゲームの臨場感や興趣性が損なわれてしまうことをなるべく防ぎながら、残虐な表現を伴う部位が適切に隠蔽された画像をプレイヤに提供することができる。
【００１９】
また、本発明のゲーム装置において、
キャラクタが複数の断片に切断された際の複数の切断面は、いずれも所定の隠蔽条件を満たす
ことも可能である。
【００２０】
ここで、「キャラクタが複数の断片に切断された際」とは、キャラクタの腕や足、胴体等の体の部位が、剣や刀などによって切断され、キャラクタの体が分断された場合をいう。例えば、キャラクタの右腕が切断された場合について説明すると、キャラクタの体は、切断される前までは１つの繋がった連続体であったが、切断されることで、右腕の手先を含む第１の断片と、それ以外の残った体、すなわち右腕の根本からその他胴体などを含む第２の断片と、に分断される。
【００２１】
このとき、仮想空間内には、それぞれ第１の断片と第２の断片に含まれ、これらの断片の間で互いに向かいあった一組の切断面が新たに作成される。このときの切断面は、現実を忠実に再現するならば、骨や血液、内蔵などが露出した非常に残虐なものとなる。このような残虐な部位は、通常はプレイヤに見せるべきではないため、ここでは上述した所定の隠蔽条件を満たす部位とされる。
【００２２】
なお、このような切断面は、キャラクタの体が切断されるたびに一組ずつ増えていく。すなわち、キャラクタが何度も切断された場合は、それに応じた数の切断面が作成され、それらは上述した所定の隠蔽条件を満たす部位とされる。例えば、キャラクタがｎ個（ｎは２以上の整数）の断片へと切断された場合、すなわち（ｎ−１）回切断された場合には、２×（ｎ−１）個の切断面が作成されることになる。
【００２３】
このような構成により、本発明のゲーム装置は、切断された複数の切断面を仮想空間内に配置されたオブジェクトで隠しながら画像を生成・表示することができる。その結果、プレイヤは、ゲームの臨場感や興趣性がなるべく損なわれずに刺激の強すぎる表現が適切に隠蔽された画像を見ながら、ゲームをプレイすることができる。
【００２４】
また、本発明のゲーム装置において、
キャラクタが複数の断片に切断された際の複数の切断面のうち、視点位置の方向を向いている切断面は、所定の隠蔽条件を満たす
ことも可能である。
【００２５】
ここで、「視点位置の方向を向いている切断面」とは、例えば、切断面の外向き法線が視点位置の方向を向いている切断面のことをいう。そして、「切断面の外向き法線」とは、切断面上の点を始点として、切断面が含まれる断片の外側方向へ、当該切断面と直角方向に延びる直線を意味し、「切断面の外向き法線が視点位置の方向を向いている」とは、切断面の外向き法線が、切断面から視点位置に向けた方向に対し、所定の角度（典型的には９０度）以内に収まるような方向を向いていることをいう。
【００２６】
すなわち、仮想空間内に作成された切断面は、上述したように通常はプレイヤに見せるべきでない残虐なものとなるが、切断面の向いている方向によっては、当該切断面をその表面の一部に有する断片自身の陰に隠れて視点位置から見えないものもありうる。そのため取得部は、当該切断面が視点位置からの視界に入る状態にあるか否かを、例えば切断面の外向き法線の方向に基づいて、判断する。そして取得部は、生成されたすべての切断面を上記所定の隠蔽条件を満たす部位とはせず、視界に入る切断面についてのみ、上記所定の隠蔽条件を満たす部位として、オブジェクトの陰に隠すようにする。
【００２７】
このような構成により、本発明のゲーム装置は、視点位置の方向を向いている切断面を所定の隠蔽条件を満たす部位とし、視点位置の方向を向いていない切断面については所定の隠蔽条件を満たさない部位とする。その結果、オブジェクトの陰に隠す隠蔽部位の個数を抑制することができ、効率的に隠蔽部位を隠蔽して画像を生成することが可能となる。
【００２８】
また、本発明のゲーム装置において、
切断された複数の断片のそれぞれを移動させる移動部
をさらに備えることも可能である。
【００２９】
具体的な例で説明すると、キャラクタの腕などが切断され、キャラクタの体が２つの断片へと分断されたとする。当該２つの断片は、その後そのままの位置に留まっているよりは、地面へ倒れていくなどその位置が移動していく方が、ゲームの演出等の構成としては典型的である。そのため、本発明のゲーム装置は、切断された複数の断片の位置を移動させるための移動部をさらに備える。
【００３０】
このような移動部によって断片の位置が移動すると、当該断片に含まれている切断面、すなわち隠蔽部位の位置も、それに伴って移動することになる。そのため、当該移動している隠蔽部位が仮想空間内に配置されたオブジェクトの陰に隠れるような位置、すなわち取得部が取得する視点位置とすべき位置も、断片の移動に伴って仮想空間内を移動することになる。このような仮想空間内を移動する位置に順次視点位置が設定されることで、断片の移動に伴って移動する視点の位置から見た仮想空間内の様子を表す画像がプレイヤに提供されることになる。
【００３１】
このような構成により、本発明のゲーム装置は、プレイヤに見せるべきでない隠蔽部位が仮想空間内を移動する場合にも、当該移動している隠蔽部位がオブジェクトの陰に隠れるような位置に視点を移動させながら、隠蔽部位が適切に隠蔽された画像をプレイヤに提供することができる。
【００３２】
また、本発明のゲーム装置において、
オブジェクトは１つ以上存在し、
取得部は、隠蔽部位が複数の場合、１つ以上のオブジェクトが、視点位置と当該複数の隠蔽部位のそれぞれの位置とを結ぶ線分上に位置するように、視点位置とすべき位置を取得する
ことも可能である。
【００３３】
例えば、キャラクタが２つの断片に切断されるだけでなく、さらに多くの断片にバラバラに切断されたような場合を考える。このとき、仮想空間内には、切断面やバラバラにされたキャラクタの体の一部など、画像として表示すべきでない隠蔽部位が複数存在することになる。
【００３４】
この場合、複数の隠蔽部位のそれぞれを隠蔽するため、仮想空間内に配置されたオブジェクトが利用されるが、このとき隠蔽に利用するオブジェクトの個数は、１つに限られない。すなわち、視点の位置と複数の隠蔽部位との位置に応じて、複数のオブジェクトが利用される。例えば、仮想空間内に３つの隠蔽部位が存在する場合、これら３つの隠蔽部位を単一のオブジェクトで隠すことに限らず、第１の隠蔽部位を第１のオブジェクトが隠し、第２および第３の隠蔽部位を第２のオブジェクトが隠してもよい。あるいは、第１の隠蔽部位を第１のオブジェクトが、第２の隠蔽部位を第２のオブジェクトが、第３の隠蔽部位を第３のオブジェクトが、それぞれ別々に隠蔽してもよい。
【００３５】
このような構成により、本発明のゲーム装置は、プレイヤに見せるべきでない隠蔽部位が複数存在する場合にも、仮想空間内に配置されたオブジェクトを１つ以上選んで、それぞれの隠蔽部位を別々に隠蔽することができる。
【００３６】
また、本発明のゲーム装置において、
オブジェクトには、複数の位置候補が対応付けられ、
取得部は、キャラクタの部位が所定の隠蔽条件を満たしている場合、複数の位置候補のうち、当該位置候補と隠蔽部位の位置とを結ぶ線分上にオブジェクトが位置するような位置候補（以下「隠蔽位置候補」という。）を、視点位置とすべき位置として取得する、
ことも可能である。
【００３７】
ここで、「位置候補」とは、取得部が視点位置とすべき位置として取得することのできる仮想空間内の位置の候補をいう。そして、「隠蔽位置候補」とは、位置候補のうち、仮想空間内に配置されたオブジェクトが位置候補と隠蔽部位の位置とを結ぶ線分上に位置するような、すなわち隠蔽部位がオブジェクトの陰に隠れて見えなくなるような位置候補をいう。
【００３８】
具体的な例として、仮想空間内に配置されたオブジェクトに、その周囲に円状で等間隔に１０個の位置候補が配置される場合を考える。そして、これら１０個の位置候補のうち、隠蔽部位がオブジェクトの陰に隠れて見えなくなるような位置候補が３個であるとする。この場合、これら３個の位置候補が隠蔽位置候補となり、取得部は、視点位置とすべき位置を、これら３個の隠蔽位置候補のうちから取得することになる。
【００３９】
このような構成により、本発明のゲーム装置は、キャラクタの部位が所定の隠蔽条件を満たしている場合、取得部が隠蔽部位を隠蔽するための視点位置とすべき位置を取得する際に、仮想空間内の任意の位置を視点位置とすべき位置として取得できるようにするのではなく、あらかじめ配置された複数の位置候補のうちの隠蔽位置候補から選んで、視点位置とすべき位置を取得する。その結果、計算量を抑制しつつ、隠蔽部位が適切に隠蔽された画像をプレイヤに提供することができる。
【００４０】
また、本発明のゲーム装置において、
複数の位置候補が対応付けられたオブジェクトは、仮想空間内に複数配置される
ことも可能である。
【００４１】
すなわち、上述した位置候補は、１つのオブジェクトにのみ対応付けられるのではなく、仮想空間内の異なる位置に配置された様々な大きさ、形状を有する複数のオブジェクトについて対応付けられていてもよい。このとき取得部は、これらの中から選んで、視点位置とすべき位置を取得する。具体的に、例えば、仮想空間内に５個のオブジェクトが配置され、それぞれに１０個の位置候補が対応付けられている場合は、取得部は、あわせて５０個の位置候補の中から１個を選んで視点位置とすべき位置とする。
【００４２】
このように複数のオブジェクトに位置候補が対応付けられていることで、隠蔽部位の大きさや形状に応じて、隠蔽部位を隠すのに最適なオブジェクトの選択が可能になる。例えば、隠蔽部位のサイズの大小に応じて、隠蔽部位を隠蔽するのに必要な最小限の大きさのオブジェクトを選ぶことで、隠蔽部位以外の部位をなるべく隠蔽せずに画像を生成することができる。あるいは、隠蔽部位から近い位置にあるオブジェクトを選ぶことでも、隠蔽部位以外の部位をなるべく隠蔽せずに画像を生成することができる。
【００４３】
このような構成により、本発明のゲーム装置は、大きさや形状、位置などの異なる複数のオブジェクトの中から、隠蔽部位を隠蔽するのに最適なオブジェクトを選ぶことができ、選ばれたオブジェクトによって隠蔽部位が適切に隠蔽された画像をプレイヤに提供することができる。
【００４４】
また、本発明のゲーム装置において、
取得部は、隠蔽位置候補が複数存在する場合に、当該複数の隠蔽位置候補のうち、キャラクタの速度を見込む角度が最大の隠蔽位置候補を、視点位置とすべき位置として取得する
ことも可能である。
【００４５】
ここで、「キャラクタの速度」とは、ゲームの進行に伴って仮想空間内をキャラクタが様々に動く際の、キャラクタの移動の速度をいう。このとき、キャラクタが体全体を動かしていれば、当該体全体の代表点（例えばキャラクタの体の中心点）の速度をいい、キャラクタが体の一部の部位を動かしていれば、当該部位（例えばキャラクタの右腕）の速度をいう。そして、「キャラクタの速度を見込む角度」とは、当該「キャラクタの速度」について、その速度ベクトルの始点と終点、および隠蔽位置候補の３点を頂点とする三角形を考えたときの、隠蔽位置候補における三角形の内角のことを意味する。ここではキャラクタの動きを最大限に表示できるようにするため、複数の隠蔽位置候補のうちからいずれか１つの隠蔽位置候補を選択するための基準として、取得部は、このような「キャラクタの速度を見込む角度」に着目する。
【００４６】
具体的に説明すると、キャラクタが、一部に隠蔽部位を伴いながら仮想空間内を動いている場合、例えば、右腕を切断されたキャラクタが、隠蔽部位である切断面を右腕に伴いながら地面に倒れていくような場面を考える。このとき、複数の隠蔽位置候補のうちのどの位置に視点位置が設定されても、当該右腕の切断面がオブジェクトの陰に隠された画像を生成することができる。しかしそれに加えて、当該右腕の切断面を隠しつつ、それ以外のキャラクタの部位（頭、胴、左腕など）については、それらの動きが見やすい画像を生成することができる位置に視点位置を設定できれば、キャラクタの倒れていく様子がプレイヤによく伝わり、ゲームの臨場感が高められると考えられる。
【００４７】
そのためここでは、取得部が、複数の隠蔽位置候補のそれぞれについて上記「キャラクタの速度を見込む角度」を求め、その中で当該角度が最大となる隠蔽位置候補、すなわち上記の例では、右腕の切断面を隠しつつ倒れていくキャラクタの動きを視点位置からの視界に最もよく捉えることができるような隠蔽位置候補を取得する。なおこのとき、生成される画像内にキャラクタが収まって表示されるように、上記「キャラクタの速度を見込む角度」が視点の視野角を超えない範囲で最大となる隠蔽位置候補を取得することにしてもよい。このような隠蔽位置候補に視点の位置が設定されることで、右腕の切断面を隠しつつ倒れていくキャラクタがよく見える画像をプレイヤに提供することができる。
【００４８】
このような構成により、本発明のゲーム装置は、プレイヤに見せるべきでない隠蔽部位をオブジェクトによって隠蔽することと、プレイヤに見せたいキャラクタの動きをよく見せることと、の両立が可能な位置に設定された視点の位置から生成された画像を、プレイヤに提供することができる。
【００４９】
また、本発明のゲーム装置において、
取得部は、隠蔽位置候補が複数存在する場合に、当該複数の隠蔽位置候補のうち、オブジェクトを見込む角度が隠蔽部位を見込む角度以上で最小の隠蔽位置候補を、視点位置とすべき位置として取得する
ことも可能である。
【００５０】
ここで、「オブジェクトを見込む角度」あるいは「隠蔽部位を見込む角度」とは、それぞれ、隠蔽位置候補と、オブジェクトあるいは隠蔽部位の両端と、を頂点とする三角形を考えたときの、隠蔽位置候補における三角形の内角のことを意味する。ここでは隠蔽部位以外の部位を最大限に表示するため、複数の隠蔽位置候補のうちからいずれか１つの隠蔽位置候補を選択するための基準として、取得部は、これら２つの角度に着目する。
【００５１】
具体的に説明すると、視点の位置に対して、隠蔽部位をくまなくオブジェクトの陰に隠すためには、「オブジェクトを見込む角度」の大きさは「隠蔽部位を見込む角度」の大きさ以上である必要がある。一方で、「オブジェクトを見込む角度」の大きさが「隠蔽部位を見込む角度」の大きさに比べて大きくなりすぎると、その位置の視点からは、隠蔽部位だけでなく、隠蔽部位以外の部位についても隠されて見えない状態となってしまう。
【００５２】
ここではこれを避けるため、取得部は、複数の隠蔽位置候補のそれぞれについてこれらの角度を求め、オブジェクトを見込む角度が大きくなりすぎないように、隠蔽位置候補からオブジェクトを見込む角度が隠蔽部位を見込む角度以上で最小の角度となるような隠蔽位置候補を、視点位置とすべき位置として取得する。
【００５３】
このような構成により、本発明のゲーム装置は、プレイヤに見せるべきでない隠蔽部位をオブジェクトによって隠蔽しつつ、隠蔽部位以外の部位がなるべく隠蔽されることのない画像を、プレイヤに提供することができる。
【００５４】
また、本発明のゲーム装置において、
取得部は、隠蔽位置候補が複数存在する場合に、当該複数の隠蔽位置候補のうち、現在設定されている視点位置から最も近い位置にある隠蔽位置候補を、視点位置とすべき位置として取得する
ことも可能である。
【００５５】
すなわちここでは、視点の位置変化をなるべく減らすため、複数の隠蔽位置候補のうちからいずれか１つの隠蔽位置候補を選択するための基準として、取得部は、現在設定されている視点の位置からの距離に着目する。具体的に、取得部は、例えばキャラクタの腕が切断されるなどにより所定の隠蔽条件を満たすと、複数の隠蔽位置候補のそれぞれについて、現在設定されている視点の位置から距離を求める。そして、当該距離の値が最も小さくなる隠蔽位置候補を、視点位置とすべき位置として取得する。
【００５６】
このような構成により、本発明のゲーム装置は、キャラクタの部位が所定の隠蔽条件を満たす前と満たした後で、視点の位置変化をなるべく減らすことができ、当該視点位置から生成された画像が突然不連続に別の視点位置から見た画像に切り替わることを極力減らすことができる。その結果、提供された画像を見ているプレイヤは、不自然な印象をなるべく受けることなくゲームをプレイすることができる。
【００５７】
上記目的を達成するため、本発明の第２の観点に係るゲーム装置の制御方法は、取得部、設定部、生成部、表示部を備えるゲーム装置が実行する制御方法であって、取得工程、設定工程、生成工程、表示工程を備える。
【００５８】
取得工程では、取得部が、視点位置とすべき位置を取得する。
設定工程では、設定部が、取得された位置に視点位置を設定する。
生成工程では、生成部が、設定された視点位置から、仮想空間を見た様子を表す画像を生成する。
表示工程では、表示部が、生成された画像を表示する。
さらに取得工程では、取得部が、キャラクタの部位が所定の隠蔽条件を満たしている場合、オブジェクトが視点位置と所定の隠蔽条件を満たすキャラクタの部位の位置とを結ぶ線分上に位置するように、視点位置とすべき位置を取得する。
【００５９】
上記目的を達成するため、本発明の第３の観点に係るプログラムは、コンピュータを、上記のゲーム装置として機能させ、コンピュータに、上記の制御方法の各工程を実行させるように構成する。
【００６０】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読み取り可能な情報記憶媒体に記録することができる。
【００６１】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配付・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配付・販売することができる。
【発明の効果】
【００６２】
本発明によれば、表示すべきでない部位を適切に隠蔽しながらキャラクタの画像を表示するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、プログラムを提供することができる。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施形態に係るゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である。
【図２】本発明の実施形態に係るゲーム装置の概要構成を示す模式図である。
【図３】本発明の実施形態に係る仮想空間内の様子を示す図である。
【図４】本発明の実施形態に係るゲーム画像の構成例を示す図である。
【図５Ａ】キャラクタの部位が所定の隠蔽条件を満たしたときの仮想空間内の様子を示す図である。
【図５Ｂ】切断面がゲーム画像として表示されている様子を示す図である。
【図６】仮想空間内に配置されたオブジェクトに対応付けられた複数の位置候補の例を表す図である。
【図７】仮想空間内において、キャラクタの速度ベクトルを見込む角度の例を表す図である。
【図８】実施形態１において、仮想空間内の取得された位置に視点の位置が設定される様子を示す図である。
【図９】実施形態１において、取得された位置に設定された視点の位置から撮影されたゲーム画像を表す図である。
【図１０】実施形態１において、キャラクタが倒れていく様子が撮影されたゲーム画像を表す図である。
【図１１】実施形態１のゲーム装置に係る処理の流れを示すフローチャートである。
【図１２】仮想空間内において、オブジェクトを見込む角度と隠蔽部位を見込む角度の例を表す図である。
【図１３】実施形態２において、仮想空間内の取得された位置に視点の位置が設定される様子を示す図である。
【図１４】実施形態２において、取得された位置に設定された視点の位置から撮影されたゲーム画像を表す図である。
【図１５】実施形態２において、キャラクタが倒れていく様子が撮影されたゲーム画像を表す図である。
【図１６】実施形態２のゲーム装置に係る処理の流れを示すフローチャートである。
【図１７】実施形態３において、視点の位置と隠蔽位置候補との距離の関係を示す図である。
【図１８Ａ】実施形態４において、切断面と視線との関係を示す図である。
【図１８Ｂ】実施形態４において、切断面の外向きの法線と視線との関係を示す図である。
【図１９】実施形態５において、２つの切断面がそれぞれ別のオブジェクトによって隠蔽されて撮影されたゲーム画像を表す図である。
【発明を実施するための形態】
【００６４】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素を均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【００６５】
（実施形態１）
図１は、本発明の実施形態に係るゲーム装置が実現される典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００６６】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ（Read Only Memory）１０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、を備える。
【００６７】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態のゲーム装置等が実現される。
【００６８】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【００６９】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【００７０】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行う、また、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をメモリに書き戻す、などの処理を行う。
【００７１】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。例えばコントローラ１０５には、上下左右を示す操作入力を行うのに利用される方向ボタンや、決定操作、取消操作、メニュー表示などの指示入力を行うためのボタンが、その表面の所定の位置に配置される。これら各ボタンには圧力センサが配備され、いずれのボタンが押圧操作されているかを検知することができる。ユーザは、コントローラ１０５に配置されたこのような各ボタンを押圧操作することで、情報処理装置１００への操作指示を入力する。なお、このような操作入力を受け付けるコントローラ１０５は、本図に示されたような両手で把持し、主に指でボタンを押圧するタイプのものに限らず、操作入力が可能なものであればよい。例えばコントローラ１０５は、片手で把持するタイプのものや、レバーによる方向入力が可能なアナログスティックを備えたもの、あるいは操作入力部が表示部に重畳されたいわゆるタッチパネル形式のもの等であってもよい。
【００７２】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６に記録することができる。
【００７３】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【００７４】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【００７５】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【００７６】
また、仮想３次元空間に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想３次元空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【００７７】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画したりすることが可能である。フォント情報は、ＲＯＭ  １０２に記録されているが、ＤＶＤ−ＲＯＭに記録された専用のフォント情報を利用することも可能である。
【００７８】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【００７９】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【００８０】
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【００８１】
このほか、情報処理装置１００は、ハードディスク等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【００８２】
また、ユーザからの文字列の編集入力を受け付けるためのキーボードや、各種の位置の指定および選択入力を受け付けるためのマウスなどを接続する形態も採用することができる。また、本実施形態の情報処理装置１００にかえて、汎用のパーソナルコンピュータを利用することもできる。
【００８３】
以上で説明した情報処理装置１００は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、仮想空間を表示するような画像処理を行うものであれば本発明を実現することができる。したがって、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で本発明を実現することが可能である。
【００８４】
例えば、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、及び、ＮＩＣを備え、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてハードディスクを有する他、フレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっている。また、コントローラ１０５ではなく、キーボードやマウスなどを入力装置として利用する。
【００８５】
図２は、本発明のゲーム装置に係る概要構成を示す模式図である。本発明のゲーム装置２００は、典型的には上述した情報処理装置１００によって実現される。以下、本図を参照して概要構成を説明する。
【００８６】
ゲーム装置２００は、仮想空間内にキャラクタとオブジェクトとが配置されるゲームを提供し、取得部２０１、設定部２０２、生成部２０３、表示部２０４、移動部２０５を備える。ここでキャラクタとは、ゲームに登場する、例えば人や動物、あるいは怪物などの姿をした構成要素であり、オブジェクトとは、ゲームを構成する、例えば建物、樹木、柱、車、ボール、本などの種々の有体物である。このようなオブジェクトが種々に配置された仮想空間内を、プレイヤに操作された、あるいはあらかじめ用意された設定に基づいてキャラクタが様々に動くことで、ゲームが進行する。
【００８７】
なお、ゲーム装置２００は、記憶部や受付部等も適宜備えてもよい。ここで、記憶部は、例えばＲＡＭ  １０３等の機能によって実現され、現在時刻、プレイヤが行った入力の内容、入力の時刻等を記憶する。また、受付部は、例えばインターフェース１０４を介して接続されたコントローラ１０５の機能によって実現され、プレイヤからの操作の入力を受け付ける。
【００８８】
取得部２０１は、視点位置とすべき位置を取得する。すなわち取得部２０１は、仮想空間内のキャラクタやオブジェクトの様子を表す画像を生成するための基準となる視点の位置とすべき位置を、ゲームの進行に合わせて順次取得する。さらに取得部２０１は、キャラクタの部位が所定の隠蔽条件を満たしている場合、オブジェクトが視点位置と所定の隠蔽条件を満たすキャラクタの部位（以下「隠蔽部位」という。）の位置とを結ぶ線分上に位置するように、視点位置とすべき位置を取得する。すなわち取得部２０１は、例えばキャラクタの腕、胴、頭などの体の部位が、切断されるなどによって、画像としてプレイヤに見せるべきでないような残虐な態様になっている場合は、キャラクタの部位が所定の隠蔽条件を満たしていると判断する。そして、当該隠蔽条件を満たしていると判断された場合、取得部２０１は、オブジェクトが視点の位置と隠蔽部位（切断されたキャラクタの腕など）の位置とを結ぶ線分上に位置することで当該隠蔽部位がオブジェクトの陰に隠れて見えなくなるような位置を、視点位置とすべき位置として取得する。取得された位置は、設定部２０２へと供給される。このような取得部２０１は、例えばＣＰＵ  １０１がＲＯＭ  １０２やＲＡＭ  １０３等と協働することで実現される。
【００８９】
設定部２０２は、取得された位置に視点位置を設定する。すなわち、設定部２０２は、取得部２０１によって取得された仮想空間内の視点位置とすべき位置に、視点位置を設定する。例えば、取得された位置がそれまでの視点の位置と異なる場合、設定部２０２は視点を取得された位置にまで移動させることになる。このように設定された視点は、生成部２０３へと供給される。このような設定部２０２は、例えばＣＰＵ  １０１がＲＯＭ  １０２やＲＡＭ  １０３等と協働することで実現される。
【００９０】
生成部２０３は、設定された視点位置から、仮想空間を見た様子を表す画像を生成する。すなわち、生成部２０３は、設定部２０２によって設定された視点位置からの視野内に映し出される仮想空間内の様子を表す画像を生成する。本実施形態では３次元仮想空間を想定するため、生成部２０３は、視点位置からの視野内にある３次元空間内の情報に基づき、２次元の画像を生成する。生成された画像は、表示部２０４へと供給される。このような生成部２０３は、例えばＣＰＵ  １０１がＲＯＭ  １０２やＲＡＭ  １０３、さらに画像表示部１０７と協働することによって実現される。
【００９１】
表示部２０４は、生成された画像を表示する。すなわち、表示部２０４は、生成部２０３によって生成された画像を、例えばディスプレイに表示して、プレイヤに提供する。このような表示部２０４は、例えばＣＰＵ  １０１が画像表示部１０７を制御し、画像情報をモニタに出力することによって実現される。
【００９２】
移動部２０５は、隠蔽部位を含むキャラクタの部位、例えば切断された複数の断片、のそれぞれを移動させる。すなわち例えば、キャラクタが敵から攻撃されて２つの断片へと切断された場合において、移動部２０５が当該２つの断片の仮想空間内の位置を移動させることで、キャラクタが地面へと倒れていくような場面を作り出すことができる。このような移動部２０５は、例えばＣＰＵ  １０１がＲＯＭ  １０２やＲＡＭ  １０３等と協働することで実現される。
【００９３】
図３は、本発明の実施形態に係る仮想空間内の様子を示す図である。本実施形態におけるゲーム装置２００は、本図に示されるような仮想空間３００を、例えばその記憶部に記憶する。
【００９４】
仮想空間３００内には、キャラクタ３０１、オブジェクト３０２が配置される。本図では、人の形状を模した２体のキャラクタ３０１ａ，３０１ｂが配置されており、その周囲に四角状および円状の形状をした３個のオブジェクト３０２ａ〜３０２ｃが配置されている。ここで仮想空間３００は、３次元の仮想空間であり、本図はキャラクタ３０１ａ，３０１ｂに対して頭上から見た様子を示している。
【００９５】
本図では、キャラクタ３０１ａ，３０１ｂは、それぞれ右手に剣を持った状態で、互いに向かい合って配置されている。これらのキャラクタ３０１ａ，３０１ｂは、例えばコントローラ１０５を介してプレイヤによって操作される。すなわち、プレイヤは、コントローラ１０５を把持して適宜ボタンを押圧することで仮想空間３００内におけるキャラクタ３０１を操作し、その位置を移動させたり、攻撃させたり、アイテムを使用させたりといった様々な動作を行わせることができる。
【００９６】
また、オブジェクト３０２ａ〜３０２ｃは、ゲームを構成するため仮想空間３００内に配置された、樹木や柱といった種々の有体物である。ここでは具体的に、オブジェクト３０２ａは四角状の柱を模した、そしてオブジェクト３０２ｂおよびオブジェクト３０２ｃは樹木の形状を模したものであるとする。本図では、柱の形状をした四角状のオブジェクト３０２ａがキャラクタ３０１ｂの左側近くに配置され、樹木の形状をした円状のオブジェクト３０２ｂがキャラクタ３０１ａの右側近くに配置され、同じく樹木の形状をした比較的大きな円状のオブジェクト３０２ｃがキャラクタ３０１ａの左側近くに配置されている様子が示されている。
【００９７】
なお、本図では仮想空間３００内に２体のキャラクタ３０１ａ，３０１ｂと３個のオブジェクト３０２ａ〜３０２ｃが配置されているが、本実施形態ではこれらに限られず、仮想空間３００内に配置されるキャラクタ３０１やオブジェクト３０２の数はいくつであってもよい。また、仮想空間３００内に配置されるキャラクタ３０１は、本図のように人型のキャラクタに限らず、動物型のキャラクタであってもよいし、怪物のようなキャラクタであってもよい。さらに、仮想空間３００内に配置されるオブジェクト３０２も、本図に示されるようなものに限られず、様々な形状や大きさのオブジェクトであってもよい。
【００９８】
また、仮想空間３００内には、視点３０３（カメラ）がさらに配置され、仮想空間３００内の様子を撮影する。本図では、視点３０３は２体のキャラクタ３０１ａ，３０１ｂの方向を向いており、これらを含めた仮想空間３００の様子を撮影している。そして、本実施形態における生成部２０３は、この視点３０３の位置から見た３次元の仮想空間３００の様子に基づいて、２次元の画像を生成する。さらに本実施形態における表示部２０４は、このように生成された画像を、図４に示されるようなゲーム画像３５０として表示する。
【００９９】
図４は、本発明の実施形態に係るゲーム画像の構成例を示す図である。本実施形態におけるゲーム装置２００の表示部２０４は、本図に示されるようなゲーム画像３５０を、例えば画像処理部１０７を介してモニタに表示する。
【０１００】
本図のゲーム画像３５０には、図３と同じく、２体のキャラクタ３０１ａ，３０１ｂ、および３個のオブジェクト３０２ａ〜３０２ｃが映し出されている。ここで、ゲーム画像３５０は、図３における仮想空間３００内の様子を視点３０３の位置から見た画像として表したものであり、キャラクタ３０１ａ，３０１ｂやオブジェクト３０２ａ〜３０２ｃを横から見た様子として表されている。すなわち、２体のキャラクタ３０１，３０１ｂが互いに向かい合って立っている様子が画面に表示されている。また、画面内には、キャラクタ３０１ｂの手前には四角柱状のオブジェクト３０２ａが、キャラクタ３０１ａの手前には細い樹木のオブジェクト３０２ｂが、さらにキャラクタ３０１ａの奥には太い樹木のオブジェクト３０２ｃが配置されている、といった様子が表示されている。
【０１０１】
なお、図３および図４におけるキャラクタ３０１やオブジェクト３０２は、便宜上単純な形状のみから構成されるようなものとして示されているが、実際には、現実の人間や樹木、建物などに近いよりリアルな形状を有することが想定される。
【０１０２】
プレイヤは、本図のように表示されたゲーム画像３５０を見ながらゲームをプレイすることができる。すなわち、プレイヤが、例えばコントローラ１０５の各種ボタンを押圧することによりキャラクタ３０１を操作して、その位置を移動させたり、攻撃させたり、アイテムを使用させたりといった種々の動作を行わせる。すると、ゲーム画像３５０内のキャラクタ３０１は、プレイヤの操作に従った動作をとる。プレイヤは、このような自身の操作に基づいて動作するキャラクタ３０１を画面に見ながら、ゲームを進行させる。
【０１０３】
具体的に、プレイヤがキャラクタ３０１ａを操作して、キャラクタ３０１ｂに攻撃した場合について、ここから詳細に説明する。すなわち、例えば対戦型のアクションゲームのように、プレイヤがキャラクタ３０１ａを操作してキャラクタ３０１ｂと闘わせるゲームを想定して、以下説明する。
【０１０４】
図５Ａは、キャラクタ３０１ａがキャラクタ３０１ｂに攻撃することにより、キャラクタ３０１ｂの部位が所定の隠蔽条件を満たしたとき、すなわちキャラクタ３０１ｂの左腕が切断されて、プレイヤに見せるべきでない残虐な表現を伴う態様になったときの仮想空間３００内の様子を示す図である。本図は、図３と同様に、２体のキャラクタ３０１ａ，３０１ｂおよび３個のオブジェクト３０２ａ〜３０２ｃが配置された仮想空間３００内を、上から見たときの様子を示す図である。
【０１０５】
そして本図では、図３での状態から比べて、キャラクタ３０１ａがキャラクタ３０１ｂの方向に向かって移動し、そして右手に把持した剣を用いてキャラクタ３０１ｂに切りかかっている様子が示されている。その結果、本図では、キャラクタ３０１ｂの左腕が切断されている。すなわち、キャラクタ３０１ｂの体は、切断面４０１ａを含み当該切断面４０１ａから左腕の先までの断片と、切断面４０１ｂを含み、胴体や右腕、頭などからなる断片とに切断されている。
【０１０６】
ここで、新たに生成された面である切断面４０１ａ，４０１ｂは、本図では便宜上黒く塗り潰されて表現されているが、現実をより忠実に再現するならば、これらの表現は骨や血液、内蔵などが露出した非常に残虐なものとなる。すなわち、視点３０３が図５Ａのような２体のキャラクタ３０１ａ，３０１ｂを横から眺める位置にあると、視点３０３の視界の中には、これらの隠蔽部位が入ってしまう。そして、このまま視点３０３が撮影した様子を表す画像を生成部２０３が生成すると、図５Ｂのように、隠蔽部位を含んだ非常に残虐な画像が表示部２０４によってプレイヤへ表示されてしまう。
【０１０７】
図５Ｂは、キャラクタ３０１ｂの隠蔽部位、すなわち切断面４０１ｂがゲーム画像３５０として表示されている様子を示す図である。本図は、上記図５Ａに示されたような仮想空間３００内の様子を視点３０３の位置から眺めて生成されたゲーム画像３５０に対応するものである。すなわち、本図のゲーム画像３５０内には、キャラクタ３０１ａがキャラクタ３０１ｂに攻撃し、それによりキャラクタ３０１ｂの左腕が切断される様子が示されている。
【０１０８】
本図では、視点３０３の位置が上記図５Ａと同様に、２体のキャラクタ３０１ａ，３０１ｂを横から眺めた位置のままであるとしているため、キャラクタ３０１ｂの左腕が切断されることで作成された切断面４０１ｂが視点３０３の視界に入ってしまい、ゲーム画像３５０に表示されてしまっている。そのため、（本図では便宜上黒く塗り潰されているが、）切断面４０１ｂの残虐な表現が、ゲーム画像３５０としてプレイヤに提供されてしまうことになる。
【０１０９】
このような残虐な表現は、通常はプレイヤに見せるべきでないため、本実施形態では、残虐な表現を伴う画像がプレイヤに提供されるのを避けるよう、取得部２０１が、これら２つの切断面４０１ａ，４０１ｂを所定の隠蔽条件を満たす部位（隠蔽部位）として定義して、隠蔽部位が見えないような仮想空間３００内の位置を視点３０３の位置とすべき位置として取得し、設定部２０２が、取得された位置に視点３０３の位置を設定する。
【０１１０】
そのために、取得部２０１は、仮想空間３００内に配置されたオブジェクト３０２を利用する。すなわち、隠蔽部位である２つの切断面４０１ａ，４０１ｂが、いずれかのオブジェクト３０２ａ〜３０２ｃの陰に隠れて見えなくなるような、オブジェクト３０２の位置に対して隠蔽部位の位置と反対側となる位置を求める。このように求められた位置に設定された視点３０３の位置から生成される画像には、プレイヤに見せるべきでない残虐な表現は、オブジェクト３０２の陰に隠れて映らなくなる。
【０１１１】
このとき、本実施形態でのゲーム装置２００は、取得部２０１が取得する視点３０３の位置とすべき位置の候補として、いくつかの位置候補をあらかじめオブジェクト３０２に対応付けておく。すなわち、本実施形態では、取得部２０１は、仮想空間３００内のあらゆる位置を視点３０３の位置とすべき位置として取得できるのではなく、あらかじめ決められた有限な数の位置候補のうちから１つの位置を選ぶことで、視点３０３の位置とすべき位置を取得する。その結果、取得部２０１は、少ない計算量で、隠蔽部位がオブジェクト３０２に隠れるような視点３０３の位置とすべき位置を取得することができる。
【０１１２】
図６は、仮想空間３００内に配置されたオブジェクト３０２ａ〜３０２ｃに対応付けられた複数の位置候補を表す図である。本図は、上述した図５Ａと同様に、キャラクタ３０１ｂの部位が所定の隠蔽条件を満たしたときの仮想空間３００内の様子を示す図であって、さらにオブジェクト３０２ａ〜３０２ｃのそれぞれに複数の位置候補４０２（４０２ａ〜４０２ｌ等）が対応付けられた様子を示している。なお、図を簡略化するため、図５Ａでは表示されていたキャラクタ３０１ａは、本図では表示されていない。
【０１１３】
具体的に、四角柱状のオブジェクト３０２ａには、その周りに四角状に等間隔で１６個の十文字状の位置候補４０２（４０２ａ〜４０２ｆ等）が対応付けられている。同様に、細い樹木のオブジェクト３０２ｂと太い樹木のオブジェクト３０２ｃには、それぞれの周りに円状に等間隔で１６個の十文字状の位置候補４０２（４０２ｇ〜４０２ｌ等）が対応付けられている。本実施形態では取得部２０１が、これらあわせて４８個の位置候補４０２（４０２ａ〜４０２ｌ等）のうちから１つを選んで、視点３０３の位置とすべき位置とする。
【０１１４】
１つの位置候補４０２を選ぶために、まず取得部２０１は、視点３０３の位置から見て隠蔽部位がオブジェクト３０２ａ〜３０２ｃのいずれかの陰に隠れて見えないようにするために、オブジェクト３０２ａ〜３０２ｃに対して隠蔽部位である切断面４０１ａ，４０１ｂの位置とは反対側にある位置候補４０２（以下「隠蔽位置候補」という）を抽出する。そのために、仮想空間３００内での切断面４０１ａ，４０１ｂの位置と、それぞれの位置候補４０２（４０２ａ〜４０２ｌ等）とを結ぶ線分４０３（４０３ａ〜４０３ｆ等）を考え、当該線分４０３（４０３ａ〜４０３ｆ等）上にオブジェクト３０２ａ〜３０２ｃのいずれかが位置するかどうかを判別する。そして、線分４０３（４０３ａ〜４０３ｆ等）上にオブジェクト３０２ａ〜３０２ｃのいずれかが位置するような位置候補４０２を、隠蔽位置候補として抽出する。
【０１１５】
具体的に、図６を参照して説明する。まず、オブジェクト３０２ａに対応付けられた位置候補４０２ａに着目すると、隠蔽部位である切断面４０１ａ，４０１ｂの位置と当該位置候補４０２ａとを結ぶ線分４０３ａ上にはオブジェクト３０２ａが位置していない。すなわち、当該位置候補４０２ａに視点３０３の位置が設定されると、プレイヤに見せるべきでない切断面４０１ａ，４０１ｂを含む画像が表示されてしまう。そのためここでは、当該位置候補４０２ａは、隠蔽位置候補として抽出されない。
一方で、位置候補４０２ａに隣接する位置候補４０２ｂについては、隠蔽部位である切断面４０１ａ，４０１ｂの位置と当該位置候補４０２ｂとを結ぶ線分４０３ｂ上にはオブジェクト３０２ａが位置している。すなわち、当該位置候補４０２ｂに視点３０３の位置が設定されると、切断面４０１ａ，４０１ｂがオブジェクト３０２ａによって隠蔽された画像が表示される。そのためここでは、当該位置候補４０２ｂは、隠蔽位置候補として抽出される。
同様に、同じくオブジェクト３０２ａに対応付けられた位置候補４０２ｅと位置候補４０２ｆについては、隠蔽部位の位置と位置候補４０２ｅとを結ぶ線分４０３ｅ上にはオブジェクト３０２ａが位置しており、隠蔽部位の位置と位置候補４０２ｆとを結ぶ線分４０３ｆ上にはオブジェクト３０２ａが位置していない。そのためここでは、位置候補４０２ｅは隠蔽位置候補として抽出されるが、位置候補４０２ｆは隠蔽位置候補として抽出されない。
【０１１６】
取得部２０１は、このような抽出処理をそれぞれの位置候補４０２（４０２ａ〜４０２ｌ等）について行い、隠蔽部位である切断面４０１ａ，４０１ｂの位置と位置候補４０２（４０２ａ〜４０２ｌ等）とを結ぶ線分４０３（４０３ａ〜４０３ｆ等）上にオブジェクト３０２ａ〜３０２ｃのいずれかが位置するような位置候補４０２（４０２ａ〜４０２ｌ等）を、隠蔽位置候補としてすべて抽出する。図６の例では、オブジェクト３０２ａに対応付けられた１６個の位置候補４０２（４０２ａ〜４０２ｆ等）のうちから、線分４０３（４０３ｂ〜４０３ｅ）上にオブジェクト３０２ａが位置する４個の位置候補４０２ｂ〜４０２ｅが抽出され、そしてオブジェクト３０２ｂに対応付けられた１６個の位置候補４０２（４０２ｇ，４０２ｈ等）のうちから、線分４０３上にオブジェクト３０２ｂが位置する２つの位置候補４０２ｇ，４０２ｈが抽出され、さらにオブジェクト３０２ｃに対応付けられた１６個の位置候補４０２（４０２ｉ〜４０２ｌ等）のうちから、線分４０３上にオブジェクト３０２ｃが位置する４個の位置候補４０２ｉ〜４０２ｌが抽出され、あわせて１０個の位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌ（図６において一点鎖線で囲われたもの）が、隠蔽位置候補として抽出される。
【０１１７】
なお、本図に示された複数の位置候補４０２（４０２ａ〜４０２ｌ等）は１つの例であり、位置候補４０２が配置される数や位置などはこれに限られない。すなわち、位置候補４０２は、オブジェクト３０２の周りに円状あるいは四角状に等間隔に配置されずに、楕円状や多角形状に配置されたり、ある方向に数が集中して配置されたりしてもよい。また、本図では便宜上、位置候補４０２（４０２ａ〜４０２ｌ等）はオブジェクト３０２ａ〜３０２ｃの比較的近傍に配置されるように示しているが、これに限られず、オブジェクト３０２から離れた位置に配置されてもよい。あるいは、位置候補４０２は、オブジェクト３０２から距離をあけずに、オブジェクト３０２の表面に設けられるようにしてもよい。その他、オブジェクト３０２の形状や大きさなどに応じて、視点３０３を配置するのに都合の良さそうな様々な位置に、位置候補４０２は配置されうる。
【０１１８】
また、線分４０３（４０３ａ〜４０３ｆ等）は、それぞれ位置候補４０２（４０２ａ〜４０２ｌ等）の位置と隠蔽部位である切断面４０１ａ，４０１ｂの位置とを端点とする線分であるが、本図では、切断面４０１ａ，４０１ｂの位置として切断面４０１ａ，４０１ｂの中心位置を採用して説明した。すなわち、切断面４０１ａ，４０１ｂのような隠蔽部位は一般的には大きさを有するものであるが、本図では、２つの切断面４０１ａ，４０１ｂの間の中心位置を、線分４０３（４０３ａ〜４０３ｆ等）の端点として説明した。しかしこれは１つの例であり、他の点を線分４０３（４０３ａ〜４０３ｆ等）の端点としてもよい。例えば、中心位置以外でも、切断面４０１ａ，４０１ｂ内の出血が激しい箇所や骨が露出している箇所など、最も見せるべきでない箇所をあらかじめ設定しておき、その箇所の位置を線分４０３の端点としてもよい。
【０１１９】
このように、線分４０３（４０３ｂ〜４０３ｅ等）上にオブジェクト３０２ａ〜３０２ｃのいずれかが位置するような１０個の隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌが抽出されると、次に取得部２０１は、このような１０個の隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌのうちのいずれか１つの隠蔽位置候補を選択して、視点３０３の位置とすべき位置として取得する。そのための基準として、本実施形態では、キャラクタ３０１の速度を見込む角度に着目する。具体的に、図７を参照して以下に説明する。
【０１２０】
図７は、仮想空間３００内において、キャラクタ３０１ｂの速度ベクトルを見込む角度の例を表す図である。本図の構成要素は、図６におけるものと基本的には同様であり、仮想空間３００内に、左腕を切断されたキャラクタ３０１ｂ、そして周囲に位置候補４０２（４０２ａ〜４０２ｌ等）が配置されたオブジェクト３０２ａ〜３０２ｃが示され、さらに隠蔽部位である切断面４０１ａ，４０１ｂを隠蔽可能な隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌが一点鎖線で囲われて示されている。
【０１２１】
このとき、取得された１０個の隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌのいずれに視点３０３の位置が設定されても、隠蔽部位である切断面４０１ａ，４０１ｂがオブジェクト３０２ａ〜３０２ｃのいずれかに隠された画像を生成することはできるが、キャラクタ３０１ｂが倒れていく様子がより見やすいゲーム画像３５０をプレイヤに提供できれば、ゲームの臨場感が高められると考えられる。そのためには、取得された１０個の隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌのうち、キャラクタ３０１ｂの倒れていく動きがなるべくよく捉えられる位置、例えば、キャラクタ３０１ｂの位置に近く、そして倒れていく様子を横から捉えられるような位置に設定部２０２が視点３０３の位置を設定する方が有効であると考えられる。
【０１２２】
そこで本実施形態では、キャラクタ３０１ｂの「速度ベクトル４０４を見込む角度４０５」に着目し、取得部２０１が、当該見込む角度４０５が最大となる隠蔽位置候補を１つ選ぶ。以下、本図を参照しながら説明する。
【０１２３】
ここでまず、「速度ベクトル４０４」とは、切断されたキャラクタ３０１ｂの断片が移動部２０５によって移動する際の、断片の速さおよび方向をいう。すなわち本図では、左腕を切断されたキャラクタ３０１ｂの体は、切断面４０１ａから先の左腕の断片と、切断面４０１ｂを含み胴体や右腕、頭などからなる断片との、２つの断片に切断されている。ここでこれらの断片は、移動部２０５によって仮想空間３００内を移動することで、左腕を切断されたキャラクタ３０１ｂがそのまま後方に倒れていくような様子を表現することができる。本実施形態では、このような２つの断片のうち、速度ベクトル４０４として、キャラクタ３０１ｂの胴体を含む断片が移動部２０５によって移動する際の速度ベクトルを採用する。
【０１２４】
そして、このような「速度ベクトル４０４」に対し、「速度ベクトル４０４を見込む角度４０５」とは、当該速度ベクトル４０４の両端点と隠蔽位置候補とを頂点とする三角形を考えたときの、隠蔽位置候補における内角をいう。具体的に、本図では、例として３つの見込む角度４０５ｃ，４０５ｇ，４０５ｊが示されており、それぞれ、速度ベクトル４０４の両端点と隠蔽位置候補４０２ｃ，４０２ｇ，４０２ｊを頂点とする三角形を考えたときの、隠蔽位置候補４０２ｃ，４０２ｇ，４０２ｊにおける内角を表している。
【０１２５】
本実施形態では、取得部２０１が、このような「速度ベクトル４０４を見込む角度４０５」を、図６において抽出された１０個の隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌのそれぞれについて行い、その中で見込む角度４０５の大きさが最大となる隠蔽位置候補を１つ選ぶ。本図では、隠蔽位置候補４０２ｃにおける見込む角度４０５ｃの大きさが、他の隠蔽位置候補４０２（４０２ｇ，４０２ｊ等）における見込む角度４０５（４０５ｇ，４０５ｊ等）よりも大きいため、この隠蔽位置候補４０２ｃが、選ばれることになる。
【０１２６】
なお、速度ベクトル４０４は、キャラクタ３０１ｂの体全体におけるどの位置や部位についてのものであってもよい。例えば、速度ベクトル４０４は、仮想空間３００内におけるキャラクタ３０１ｂの中心位置の速度ベクトルであってもよいし、キャラクタ３０１ｂの体全体の中で最も速度の大きい部位の速度ベクトルであってもよいし、あるいはキャラクタ３０１ｂの体全体の中で特にプレイヤに注目させたい部位の速度ベクトルであってもよい。本実施形態における取得部２０１は、このようにあらかじめ設定されたキャラクタ３０１ｂの位置あるいは部位の速度ベクトル４０４に対して、見込む角度４０５が最も大きくなるような隠蔽位置候補を視点３０３の位置とすべき位置として選ぶ。
【０１２７】
このようにして隠蔽位置候補４０２ｃが選ばれると、その後、設定部２０２が、視点３０３の位置を当該隠蔽位置候補４０２ｃに設定する。すなわち、視点３０３の位置は、本図ではオブジェクト３０２ａとオブジェクト３０２ｂの間付近に位置しているが、以下の図８に示されるように、隠蔽位置候補４０２ｃにまで、設定部２０２によって移動させられることになる。
【０１２８】
図８は、本実施形態において、仮想空間３００内の隠蔽位置候補４０２ｃに視点３０３の位置が設定される様子を示す図である。本図は上記図５Ａ、図６、図７と同様、仮想空間３００内に配置されたキャラクタ３０１ａ，３０１ｂを上から見た図であり、キャラクタ３０１ｂがキャラクタ３０１ａに剣で攻撃されて腕を切断されている様子を示している。ここで本図では、それまでオブジェクト３０２ａとオブジェクト３０２ｂの間付近に位置していた視点３０３の位置が、オブジェクト３０２ａに近い隠蔽位置候補４０２ｃの位置にまで移動している様子が示されている。
【０１２９】
このとき本図では、視点３０３の視線は、キャラクタ３０１ｂの方向へ向けられながら移動している。すなわち、左腕が切断されて地面に倒れようとしているキャラクタ３０１ｂが、生成されるゲーム画像３５０の中央に見やすく表示されるように、視点３０３の視線がキャラクタ３０１ｂの方向へ向けられている。しかし必ずしも視点３０３の視線方向はこれに限られず、生成したいゲーム画像３５０にあわせて適宜視線方向が調整されてもよい。例えば、視点３０３の視線が、キャラクタ３０１ａとキャラクタ３０１ｂの中心の方向に向けられてもよいし、あるいはキャラクタ３０１ａ，３０１ｂがゲーム画像３５０の端に表示されるようキャラクタ３０１ａ，３０１ｂの位置から外れた方向に向けられてもよいし、その他表示したいゲーム画像３５０を生成するために都合の良い方向に視線を向けてもよい。
【０１３０】
本実施形態では、このような移動している視点３０３の位置から見た仮想空間３００内の様子を表すゲーム画像３５０が、生成部２０３によって生成され、表示部２０４によってプレイヤへと表示される。そして、隠蔽位置候補４０２ｃにまで到達した視点３０３からは、以下の図９に示すようなゲーム画像３５０が、プレイヤへと提供される。
【０１３１】
図９は、本実施形態において、取得された隠蔽位置候補４０２ｃに設定された視点３０３の位置から撮影されたゲーム画像３５０を表す図である。本図のゲーム画像３５０内には、上記図５Ｂと同様に、キャラクタ３０１ａが右手に把持した剣でキャラクタ３０１ｂに攻撃している様子が示されている。ここで、上記図５Ｂでは切断された切断面４０１ｂがゲーム画像３５０内に表示されていたが、本図では四角柱状のオブジェクト３０２ａの陰に隠れて表示されていない。すなわち、本実施形態では視点３０３の位置が隠蔽位置候補４０２ｃに設定されているため、切断された切断面４０１ｂという残虐な表現を伴う部位が、ゲーム画像３５０内に表示されなくなっており、刺激の強い画像がプレイヤに提示されるのを避けることができている。
【０１３２】
さらに、本実施形態では、ゲーム画像３５０内のキャラクタ３０１ｂはこの後、本図に示された矢印の方向、すなわち後方へ倒れていく。すなわち、キャラクタ３０１ａによる攻撃を受け、左腕が切断されたキャラクタ３０１ｂは、移動部２０５が切断後のキャラクタ３０１ｂの断片を移動させることで、背中から地面へ倒れこむような動作をとる。このとき、キャラクタ３０１ｂの断片の移動に伴って、含まれる切断面４０１ａ，４０１ｂの位置も移動することになるので、当該切断面４０１ａ，４０１ｂをオブジェクト３０２ａの陰に隠せるような視点３０３の位置も変化することになる。そのため本実施形態では、切断後のキャラクタ３０１ｂの断片の移動に伴い、取得部２０１が視点３０３の位置とすべき位置を順次取得し、その度に設定部２０２が取得された位置に視点３０３の位置を設定することで、視点３０３の位置が調整されながら、ゲーム画像３５０が生成される。
【０１３３】
図１０は、本実施形態において、キャラクタ３０１ｂが倒れていく様子が撮影されたゲーム画像３５０を表す図である。すなわち、本図は上記図９のゲーム画像３５０の続きの様子を表しており、腕を切断されたキャラクタ３０１ｂが背中から地面に倒れこんでいく様子が示されている。このようなキャラクタ３０１ｂが倒れる動作に伴って、そこに含まれる切断面４０１ａ，４０１ｂの位置も移動するため、視点３０３の位置が図９のように隠蔽位置候補４０２ｃのままの場合、オブジェクト３０２ａの陰から外れて、視点３０３の視界に入ってしまう。
【０１３４】
そのため、本図と上記図９とでは、若干異なる位置に設定された視点３０３から見たゲーム画像３５０となっている。具体的に例えば、本図では上記図９に比べて、四角柱状のオブジェクト３０２ａの位置や、太い樹木のオブジェクト３０２ｃの位置が、ゲーム画像３５０内のより右側の位置へと移動している。このように、本実施形態では、切断されたキャラクタ３０１ｂの断片が移動するのに伴って視点３０３の位置が変化し、切断面４０１ａ，４０１ｂが視点３０３の視界に入らないように調整される。
【０１３５】
なお、本図のように、キャラクタ３０１ｂの切られた腕の一部や出血表現４０６を表示することによって、キャラクタ３０１ｂの腕が切断されているという状況をよりリアルに表現してもよい。すなわち、ゲーム画像３５０を見ているプレイヤは、切断面４０１ａ，４０１ｂ自体はオブジェクト３０２ａの陰に隠されて見えないが、オブジェクト３０２ａの傍らからは切られた腕の一部や出血表現４０６が見えるため、キャラクタ３０１ｂの腕が切られているという状況を強く認識することができ、高い現実感のもとゲームをプレイすることができる。
【０１３６】
このように、図９および図１０のようなゲーム画像３５０を見ているプレイヤは、キャラクタ３０１ｂの腕が切られて２つに分断され、そして出血表現４０６を伴いながらキャラクタ３０１ｂが地面に倒れていく様子は認識することができるが、切られた切断面４０１ａ，４０１ｂ自体は表示されるゲーム画像３５０内において見ることができない。そのため、本実施形態でのゲーム装置２００は、プレイヤに見せるべきでない隠蔽部位を隠しながら、ゲームの臨場感や興趣性がなるべく損なわれることなく、ゲーム画像３５０を表示することができる。
【０１３７】
図１１は、本実施形態のゲーム装置２００に係る処理の流れを示すフローチャートである。ここまで説明してきた本実施形態において実現される処理の流れまとめて、以下に説明する。
【０１３８】
本処理が開始されると、まずゲーム装置２００のＣＰＵ  １０１は、各種の初期化処理を行う（ステップＳ１０１）。ここでは、ＲＡＭ  １０３等の記憶部に記憶された各種の情報の初期化を行うとともに、仮想空間３００やそこに配置されるキャラクタ３０１、オブジェクト３０２、視点３０３など、ゲームをプレイする上で必要となる各種データを読み込む。
【０１３９】
次に、ゲーム装置２００の生成部２０３が、視点３０３の位置から見た画像を生成する（ステップＳ１０２）。すなわち、生成部２０３は、視点３０３の位置から見た仮想空間３００内に配置されたキャラクタ３０１やオブジェクト３０２の様子を表す画像を生成する。
【０１４０】
そして、ゲーム装置２００の表示部２０４が、生成された画像を表示する（ステップＳ１０３）。すなわち、表示部２０４が、ステップＳ１０２において生成された画像を、所定の周期で行われる垂直同期割り込みを待ってから、モニタなどの画面に表示する。具体的には、表示部２０４は、上記図４に示されたようなゲーム画像３５０を表示する。
【０１４１】
ここで、ゲーム装置２００の取得部２０１が、キャラクタ３０１の部位が所定の隠蔽条件を満たしているかを判定する（ステップＳ１０４）。すなわち、取得部２０１は、仮想空間３００内に配置されたキャラクタ３０１のいずれかの部位が、２つに切断されるなどによって、プレイヤに見せるべきでないような態様になっているかを判定する。例えば、上記図５Ａのように、プレイヤ３０１ｂの左腕が切断されて、切断面４０１ａ，４０１ｂが仮想空間３００内に作成されているか否かが判定される。
【０１４２】
所定の隠蔽条件を満たしていなければ（ステップＳ１０４；ＮＯ）、ゲーム装置２００の処理は、ステップＳ１０２へと戻り、ステップＳ１０３、ステップＳ１０４の処理を繰り返す。すなわち、ゲーム装置２００は、キャラクタ３０１の部位がプレイヤに見せるべきでない態様に変化しない限り、生成部２０３が仮想空間３００内の様子を表す画像を生成して、表示部２０４が生成された画像を表示する処理を、垂直同期ごとに繰り返して、仮想空間３００内の様子を表す画像をプレイヤに表示し続ける。
【０１４３】
一方、 所定の隠蔽条件を満たしたと判定された場合（ステップＳ１０４；ＹＥＳ）、ゲーム装置２００の処理はステップＳ１０５へと移行する。このときまず、移動部２０５が、キャラクタ３０１の断片を移動させる（ステップＳ１０５）。すなわち、移動部２０５が、切断されたキャラクタ３０１の断片について、仮想空間３００内の位置を移動させる。これは例えば、上記図１０のように、左腕を切断されたキャラクタ３０１ｂが、地面に倒れこませるような動きをとらせることに相当する。
【０１４４】
次に、取得部２０１が、オブジェクト３０２に対応付けられた複数の位置候補４０２のうちから、隠蔽位置候補を抽出する（ステップＳ１０６）。すなわち、本実施形態では上記図６に示したように、仮想空間３００内にあらかじめ配置されたオブジェクト３０２には複数の位置候補４０２（４０２ａ〜４０２ｌ等）が対応付けられている。ここでは取得部２０１が、これら複数の位置候補４０２のうちから、オブジェクト３０２によって隠蔽部位が隠されるもの、すなわち、隠蔽部位の位置と位置候補４０２とを結ぶ線分上にオブジェクト３０２が位置するような位置候補４０２を、抽出する。
【０１４５】
そして、取得部２０１が、抽出された隠蔽位置候補のうち、キャラクタ３０１の速度ベクトル４０４を見込む角度４０５が最大のものを取得する（ステップＳ１０７）。すなわちここでは、取得部２０１が、上記図７に示されたようなキャラクタ３０１の動きを表す速度ベクトル４０４に着目し、ステップＳ１０６において抽出された隠蔽位置候補のうち、この速度ベクトル４０４を見込む角度４０５が最大となるものを、視点３０３の位置とすべき位置として取得する。これにより、例えば切断されたキャラクタ３０１が地面に倒れていくといった、キャラクタ３０１の動きがよく見える位置が取得される。
【０１４６】
さらに、ゲーム装置２００の設定部２０２が、取得された位置に視点３０３の位置を設定する（ステップＳ１０８）。すなわちここでは、設定部２０２が、ステップＳ１０７において取得された隠蔽位置候補に視点３０３の位置を設定する。例えば、設定部２０２は、上記図９のように、隠蔽位置候補４０２ｃへ向けて、仮想空間３００内の視点３０３の位置を移動させることになる。
【０１４７】
この後、ゲーム装置２００の処理は、ステップＳ１０２へと戻る。すなわち、生成部２０３が、ステップＳ１０７において設定された視点３０３の位置から見た仮想空間３００内の様子を表す画像を生成し（ステップＳ１０２）、表示部２０４が、生成された画像を、所定の垂直同期に同期させて画面に表示する（ステップＳ１０３）。ここでは、設定部２０２によって隠蔽部位がオブジェクト３０２によって隠される位置へと向けて視点３０３の位置が移動している場合、移動した位置から撮影して生成された画像が表示部２０４によってプレイヤに表示されることになる。
【０１４８】
そして、ゲーム装置２００の処理は再びステップＳ１０４の判定処理へと移行し、再度、キャラクタ３０１の部位が所定の隠蔽条件を満たしているかどうかを判定する（ステップＳ１０４）。すなわち、例えば切断面４０１ａ，４０１ｂのような、一度現れた隠蔽部位がまだ存在しているか、あるいはキャラクタ３０１の別の部位が切断されるなどによって、別の隠蔽部位が現れたか、が判定される。
【０１４９】
所定の隠蔽条件を満たしている場合は（ステップＳ１０４；ＹＥＳ）、ゲーム装置２００は、再びステップＳ１０５〜Ｓ１０８の処理を繰り返すことになる。すなわち、移動部２０５が隠蔽部位を含む断片を移動させ、取得部２０１が、移動する隠蔽部位がオブジェクト３０２によって隠れるような位置を取得して、設定部２０２が、そのような位置に視点３０３の位置を設定する。
【０１５０】
一方で、キャラクタ３０１の部位が所定の隠蔽条件を満たさなくなった場合（ステップＳ１０４；ＮＯ）、すなわち、例えば切断面４０１ａ，４０１ｂが存在しなくなったような場合は、ゲーム装置２００の処理はもはやステップＳ１０５〜Ｓ１０８へとは移行せず、ステップＳ１０２へと戻る。すなわち、切断面４０１ａ，４０１ｂのような隠蔽部位が存在しないため、隠蔽部位がオブジェクト３０２の陰に隠れる位置に視点３０３を設定するような制限を受けることなく、ゲーム装置２００は、視点３０３の位置から見た仮想空間３００内の様子を表す画像を生成・表示することになる。
【０１５１】
このような構成によって、本実施形態に係るゲーム装置２００は、切断された２つの切断面４０１ａ，４０１ｂのようなプレイヤに見せるべきでない隠蔽部位を、仮想空間３００内にあらかじめ配置されているオブジェクト３０２を視線を遮る障害物として利用することで、プレイヤに見せないようにする。その際に、オブジェクト３０２に視線が遮られるような位置の候補をあらかじめいくつか設定しておき、その中からキャラクタ３０１の動きがよく見えるような位置に視点３０３の位置を設定する。その結果、本実施形態に係るゲーム装置２００は、プレイヤに見せるべきでない残虐な表現に対して、プレイヤに見せないようゲームの場面を大きく切り替えたり、そもそも残虐な表現をなくしたりすることでプレイヤに与える印象を大きく変えてしまうことをなるべく防ぎながら、残虐表現が適切に隠された画像を少ない計算量で生成して、プレイヤに提供することができる。
【０１５２】
（実施形態２）
次に、本発明の実施形態２について説明する。実施形態１では、取得部２０１が視点３０３の位置とすべき位置を取得する際、複数の隠蔽位置候補のうちから、キャラクタ３０１の速度ベクトル４０４を見込む角度４０５が最大となるものを、視点３０３の位置とすべき位置として取得した。それに対して本実施形態では、取得部２０１が視点３０３の位置とすべき位置を取得する際、キャラクタ３０１の速度ベクトル４０４ではなく、オブジェクト３０２を見込む角度と隠蔽部位を見込む角度とに着目する。そして、複数の隠蔽位置候補のうちから、オブジェクト３０２を見込む角度が隠蔽部位を見込む角度以上で最小の位置候補４０２を、視点３０３の位置とすべき位置として取得する。以下、詳述する。
【０１５３】
本実施形態では説明のため、上述した実施形態１での図３と同様に、仮想空間３００内に２体のキャラクタ３０１ａ，３０１ｂと、その周囲に３個のオブジェクト３０２ａ〜３０２ｃが配置され、その様子を視点３０３が撮影して上記図４のようなゲーム画像３５０をプレイヤに表示する状況を想定する。
【０１５４】
このとき、同じく上記図５Ａのように、キャラクタ３０１ｂがキャラクタ３０１ａに攻撃されて、２つの切断面４０１ａ，４０１ｂが出現したとする。このような切断面４０１ａ，４０１ｂは、残虐な表現を伴うため、オブジェクト３０２ａ〜３０２ｃのいずれかの陰に隠蔽できるような位置に視点３０３の位置を設定して、当該切断面４０１ａ，４０１ｂが隠蔽されたゲーム画像３５０を生成する。そのため、本実施形態でも同じく上記図６のように、オブジェクト３０２ａ〜３０２ｃに対応付けられた隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌのうちから、視点３０３の位置とすべき位置を１つ選ぶ。このときの選択する基準として、実施形態１では、図７に示したようにキャラクタ３０１ｂの速度ベクトル４０４を見込む角度４０５に着目したが、本実施形態では、オブジェクト３０２および隠蔽部位を見込む角度に着目する。
【０１５５】
図１２は、仮想空間３００内において、オブジェクト３０２を見込む角度と隠蔽部位を見込む角度の例を表す図である。本図は、実施形態１における図７と同様に、仮想空間３００内に配置されたキャラクタ３０１ｂを上から見たときの様子を示しており、キャラクタ３０１ｂの腕が２つに切断されて、切断面４０１ａ，４０１ｂが隠蔽部位として仮想空間３００内に出現している。そして、この切断面４０１ａ，４０１ｂを隠すことのできる位置として、オブジェクト３０２ａ〜３０２ｃに対応付けられたあわせて４８個の位置候補４０２（４０２ａ〜４０２ｌ等）のうちから、実施形態１と同様に１０個の隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌ（本図において一点鎖線で囲まれたもの）が選ばれている状態とする。
【０１５６】
そして本図では、例として３つの隠蔽位置候補４０２ｃ，４０２ｇ，４０２ｊについて、それぞれオブジェクト３０２ａ〜３０２ｃを見込む角度５０１ｃ，５０１ｇ，５０１ｊおよび隠蔽部位である切断面４０１ａ，４０１ｂを見込む角度５０２ｃ，５０２ｇ，５０２ｊが示されている。ここで、「オブジェクト３０２を見込む角度５０１」とは、隠蔽位置候補とオブジェクト３０２の両端とを頂点とする三角形を考えたときの、隠蔽位置候補における三角形の内角のことを意味し、「隠蔽部位を見込む角度５０２」とは、隠蔽位置候補と隠蔽部位の両端とを頂点とする三角形を考えたときの、隠蔽位置候補における三角形の内角のことを意味する。本実施形態では、取得部２０１が、このようなオブジェクト３０２を見込む角度５０１、および隠蔽部位を見込む角度５０２を、１０個の隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌのそれぞれについて算出し、オブジェクト３０２を見込む角度５０１が隠蔽部位を見込む角度５０２以上で最小の隠蔽位置候補を、視点３０３の位置とすべき位置として取得する。
【０１５７】
具体的に本図では、隠蔽位置候補４０２ｃでのオブジェクト３０２ａを見込む角度５０１ｃ、隠蔽位置候補４０２ｇでのオブジェクト３０２ｂを見込む角度５０１ｇ、隠蔽位置候補４０２ｊでのオブジェクト３０２ｃを見込む角度５０１ｊは、それぞれ、隠蔽位置候補４０２ｃでの隠蔽部位を見込む角度５０２ｃ、隠蔽位置候補４０２ｇでの隠蔽部位を見込む角度５０２ｇ、隠蔽位置候補４０２ｊでの隠蔽部位を見込む角度５０２ｊに比べて大きな角度となっている。すなわち、これら３個の隠蔽位置候補４０２ｃ，４０２ｇ，４０２ｊのいずれに視点３０３の位置が設定されたとしても、それぞれオブジェクト３０２ａ〜３０２ｃに隠されることにより、その視野内には隠蔽部位である切断面４０１ａ，４０１ｂは入らない。
【０１５８】
一方で、これら３個の見込む角度５０１ｃ，５０１ｇ，５０１ｊ同士の大きさを比較すると、見込む角度５０１ｇは、見込む角度５０１ｃ，５０１ｊに比べて小さい。すなわち、仮に隠蔽位置候補４０２ｇに視点３０３の位置が設定されたとすると、その視野内のオブジェクト３０２ｂによって隠される領域は、他の２つの隠蔽位置候補４０２ｃ，４０２ｊに視点３０３の位置が設定された場合に比べて、小さな領域となる。その結果として、隠蔽部位である切断面４０１ａ，４０１ｂ以外の部分、すなわちプレイヤに隠蔽する必要のないものについては、隠蔽される領域をなるべく少なく抑えることができる。
【０１５９】
このように、本実施形態における取得部２０１は、隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌのそれぞれについてオブジェクト３０２を見込む角度５０１と隠蔽部位を見込む角度５０２とを算出し、オブジェクト３０２を見込む角度５０１が隠蔽部位を見込む角度５０２以上で最小の隠蔽位置候補を、視点３０３の位置とすべき位置として取得する。そして、設定部２０２が、取得された位置に視点３０３の位置を設定する。これにより、ゲーム装置２００は、プレイヤに見せるべきでない隠蔽部位をオブジェクトによって隠蔽しつつ、隠蔽部位以外の部位がなるべく隠蔽されないような画像を、プレイヤに提供することができる。
【０１６０】
図１３は、本実施形態において、仮想空間３００内の取得された隠蔽位置候補４０２ｇに視点３０３の位置が設定される様子を示す図である。本図は実施形態１における図８と同様、仮想空間３００内に配置されたキャラクタ３０１ａ，３０１ｂを上から見た図であり、キャラクタ３０１ｂがキャラクタ３０１ａに剣で攻撃されて腕を切断されている様子を示している。そして、図８と同様、攻撃されたキャラクタ３０１ｂの体は後方へ、すなわち速度ベクトル４０４の方向へ、動いている様子が示されている。
【０１６１】
本図は例として、オブジェクト３０２ａ〜３０２ｃに対応付けられた４８個の位置候補４０２（４０２ａ〜４０２ｌ等）のうちから、図１２において説明したような処理を経て、オブジェクト３０２を見込む角度５０１が隠蔽部位を見込む角度５０２以上で最小の隠蔽位置候補として、隠蔽位置候補４０２ｇが取得された場合について示している。このとき、設定部２０２が、当該取得された隠蔽位置候補４０２ｇに視点３０３の位置を設定する。すなわち、本図では、それまでオブジェクト３０２ａとオブジェクト３０２ｂの間付近に位置していた視点３０３の位置が、オブジェクト３０２ｂに近い隠蔽位置候補４０２ｇの位置にまで移動することになる。そして、移動した視点３０３は、移動先の隠蔽位置候補４０２ｇから見た仮想空間３００の様子を撮影して、生成部２０３がその画像を生成し、表示部２０４が画像を表示する。
【０１６２】
図１４は、本実施形態において、取得された隠蔽位置候補４０２ｇに設定された視点３０３の位置から撮影されたゲーム画像３５０を表す図である。上記図１３のように位置が移動した視点３０３の位置から見た仮想空間３００内の様子を表す画像は、本図に示されるようなゲーム画像３５０になる。
【０１６３】
ここでゲーム画像３５０内には、実施形態１における図９と同様、キャラクタ３０１ａが右手に把持した剣でキャラクタ３０１ｂに攻撃しており、攻撃されたキャラクタ３０１ｂは後ろに動いて（倒れて）いく様子が示されている。一方で、上記図９は、キャラクタ３０１ｂの切断された腕を四角柱状のオブジェクト３０２ａの陰に隠蔽しつつ、キャラクタ３０１ｂの左側から見たゲーム画像３５０であったのに対し、本図は、キャラクタ３０１ｂの切断された腕を細い樹木オブジェクト３０２ｂの陰に隠蔽しつつ、キャラクタ３０１ａの背後側から見たゲーム画像３５０となっている。
【０１６４】
そして図１５は、本実施形態において、キャラクタ３０１ｂが倒れていく様子が撮影されたゲーム画像３５０を表す図である。すなわち、本図は、実施形態１における図１０と同様、上記図１４のゲーム画像３５０の続きの様子を表している。具体的には、移動部２０５が切断されたキャラクタ３０１ｂの断片を移動させることで、キャラクタ３０１ａに攻撃されて左腕を切断されたキャラクタ３０１ｂが、出血表現４０６等を伴いながら、背中から地面に倒れこんでいく様子が示されている。
【０１６５】
ここで、実施形態１における図１０では、キャラクタ３０１ｂの速度ベクトル４０４を見込む角度４０５が最大となる隠蔽位置候補４０２ｃに視点３０３の位置が設定された。そのため、表示されたゲーム画像３５０は、隠蔽部位である切断面４０１ａ，４０１ｂを隠蔽しつつ、キャラクタ３０１ｂが地面に倒れていく様子を横から捉えることができ、その動きをプレイヤに認識させるのに適切であった。それに対して、本実施形態における図１５では、オブジェクト３０２を見込む角度５０１が隠蔽部位を見込む角度５０２以上で最小となる隠蔽位置候補４０２ｇに視点３０３の位置が設定された。そのため、表示されたゲーム画像３５０内には、隠蔽部位である切断面４０１ａ，４０１ｂが、細い樹木のオブジェクト３０２ｂによって隠される面積が抑えられ、効率的に隠蔽されている。
【０１６６】
図１６は、本実施形態のゲーム装置２００に係る処理の流れを示すフローチャートである。ここまで説明してきた本実施形態において実現される処理の流れまとめて、以下に説明する。
【０１６７】
本フローチャートは、実施形態１におけるフローチャート（図１１）を原則的には踏襲しており、ステップＳ１０１〜Ｓ１０６、およびステップＳ１０８の処理は共通である。一方で、実施形態１でのステップＳ１０７の処理は、ここでは新たにステップＳ２０１の処理へと変更される。具体的に、以下に簡潔に説明する。
【０１６８】
本処理が開始されると、各種の初期化処理が行われた後（ステップＳ１０１）、生成部２０３が仮想空間３００内に配置された視点３０３の位置から見た画像を生成し（ステップＳ１０２）、表示部２０４が生成された画像を表示する（ステップＳ１０３）。すなわち、所定の周期で行われる垂直同期割り込みを待って、生成されたゲーム画像３５０がモニタなどの画面に表示される。
【０１６９】
そして、取得部２０１が、キャラクタ３０１の部位が所定の隠蔽条件を満たしているかを判定する（ステップＳ１０４）。すなわち、取得部２０１は、キャラクタ３０１が切断されるなどによって、プレイヤに見せるべきでないような態様になっているかを判定する。所定の隠蔽条件を満たしていなければ（ステップＳ１０４；ＮＯ）、処理はステップＳ１０２〜Ｓ１０３へと戻り、仮想空間３００内に配置された視点３０３の位置から見たゲーム画像３５０を生成・表示する処理を繰り返す。
【０１７０】
一方、所定の隠蔽条件を満たしたと判定された場合（ステップＳ１０４；ＹＥＳ）、ゲーム装置２００の処理はステップＳ１０５以降の処理へと移行する。具体的には、移動部２０５が、切断されたキャラクタ３０１の断片を移動させ（ステップＳ１０５）、取得部２０１が、オブジェクト３０２に対応付けられた複数の位置候補４０２のうちから、隠蔽位置候補を抽出する（ステップＳ１０６）。すなわち、隠蔽部位である切断面４０１ａ，４０１ｂをオブジェクト３０２ａ〜３０２ｃのいずれかの陰に隠蔽できるような隠蔽位置候補を抽出する。
【０１７１】
この後、実施形態１では、取得部２０１が、抽出された隠蔽位置候補のうちからキャラクタ３０１の速度ベクトル４０４を見込む角度４０５が最大となるものを取得したが、本実施形態ではここで、抽出された隠蔽位置候補のうち、オブジェクト３０２を見込む角度５０１が隠蔽部位を見込む角度５０２以上で最小のものを取得する（ステップＳ２０１）。すなわち、取得部２０１は、ステップＳ１０６において抽出された隠蔽位置候補のそれぞれについて、上記図１２のように、オブジェクト３０２を見込む角度５０１と隠蔽部位を見込む角度５０２とを比較し、切断面４０１ａ，４０１ｂのような隠蔽部位をオブジェクト３０２の陰に効率的に隠すことができるような隠蔽位置候補を、視点３０３の位置とすべき位置として１つ選ぶ。
【０１７２】
そして、設定部２０２が、取得された位置に視点３０３の位置を設定する（ステップＳ１０８）。すなわちここでは、設定部２０２が、上記図１３の例では取得された隠蔽位置候補４０２ｇへ向けて、仮想空間３００内の視点３０３の位置を移動させることになる。
【０１７３】
この後、ゲーム装置２００の処理は、ステップＳ１０２へと戻り、上述した処理を繰り返すことになる。すなわち、キャラクタ３０１の部位が所定の隠蔽条件を満たしている間（ステップＳ１０４；ＹＥＳ）は、上記ステップＳ１０２〜Ｓ１０６，Ｓ２０１，Ｓ１０８の処理が行われ、視点３０３の位置とすべき位置が取得され、当該取得された位置に視点３０３の位置が設定され、設定された視点３０３の位置から見た仮想空間３００内の様子を表すゲーム画像３５０を生成・表示する処理が繰り返される。一方で、キャラクタ３０１の部位が所定の隠蔽条件を満たさなくなると（ステップＳ１０４；ＮＯ）、隠蔽部位がオブジェクト３０２の陰に隠れる位置に視点３０３の位置を設定するような制限を受けることなく、上記ステップＳ１０２〜Ｓ１０３の処理、すなわち視点３０３の位置から見た仮想空間３００内の様子を表す画像を生成・表示する処理が繰り返されることになる。
【０１７４】
このような構成によって、本実施形態では、取得部２０１が、視点３０３の位置とすべき位置を複数の隠蔽位置候補のうちから選ぶ際、オブジェクト３０２を見込む角度５０１と隠蔽部位を見込む角度５０２とに着目して、オブジェクト３０２を見込む角度５０１が隠蔽部位を見込む角度５０２以上で最小の隠蔽位置候補を、視点３０３の位置とすべき位置として取得する。その結果、本実施形態に係るゲーム装置２００は、切断面４０１ａ，４０１ｂのような隠蔽部位以外の部分が必要以上に隠蔽されることなく、隠蔽部位が効率的に隠蔽されたゲーム画像３５０をプレイヤに提供することができる。
【０１７５】
なお、上述した図１２での説明では、オブジェクト３０２を見込む角度５０１および隠蔽部位を見込む角度５０２として、２次元の平面角であることを想定して説明した。しかしこれに限られず、オブジェクト３０２を見込む角度５０１および隠蔽部位を見込む角度５０２として、３次元の立体角を用いてもよい。すなわち、オブジェクト３０２あるいは隠蔽部位を見込む角度として、それぞれ、隠蔽位置候補を頂点としオブジェクト３０２あるいは隠蔽部位に接する錐体の頂点における立体角を考えてもよい。
【０１７６】
この場合、取得部２０１は、複数の隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌのうち、オブジェクト３０２を見込む立体角が隠蔽部位を見込む立体角を包含するものの中で最小となるような隠蔽位置候補を、視点３０３の位置とすべき位置として取得する。これによってゲーム装置２００は、３次元の仮想空間３００内において、プレイヤに見せるべきでない隠蔽部位をオブジェクト３０２によって漏れなく隠せるような隠蔽位置候補であって、隠蔽部位以外の部分が隠される領域が最小となるような位置から撮影された画像を、プレイヤに提供することができる。
【０１７７】
（実施形態３）
次に、本発明の実施形態３について説明する。上記実施形態では、取得部２０１が視点３０３の位置とすべき位置を取得する際、複数の隠蔽位置候補のうちから、実施形態１ではキャラクタ３０１の速度ベクトル４０４を見込む角度４０５が最大となるものを、また実施形態２ではオブジェクト３０２を見込む角度５０１が隠蔽部位を見込む角度５０２以上で最小のものを、それぞれ視点３０３の位置とすべき位置として取得した。それに対して本実施形態では、取得部２０１が視点３０３の位置とすべき位置を取得する際、複数の隠蔽位置候補のうち、現在設定されている視点３０３の位置から最も近い位置にある隠蔽位置候補を、視点３０３の位置とすべき位置として取得する。
【０１７８】
本実施形態でも、説明のため、上述した実施形態１での図３と同様に、仮想空間３００内に２体のキャラクタ３０１ａ，３０１ｂと、その周囲に３個のオブジェクト３０２ａ〜３０２ｃが配置され、その様子を視点３０３が撮影して上記図４のようなゲーム画像３５０をプレイヤに表示する状況を想定する。
【０１７９】
このとき、同じく上記図５Ａのように、キャラクタ３０１ｂがキャラクタ３０１ａに攻撃されて、２つの切断面４０１ａ，４０１ｂが出現したとする。このような切断面４０１ａ，４０１ｂは、残虐な表現を伴うため、上記実施形態と同じく、オブジェクト３０２ａ〜３０２ｃのいずれかの陰に隠蔽できるような位置に視点３０３の位置が設定され、当該切断面４０１ａ，４０１ｂが隠蔽されたゲーム画像３５０が生成される。そのため、本実施形態でも同じく上記図６のように、取得部２０１が、オブジェクト３０２ａ〜３０２ｃに対応付けられた隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌのうちから、視点３０３の位置とすべき位置を１つ選ぶ。このときの選択する基準として、本実施形態では、取得部２０１が、視点３０３の移動距離がなるべく小さくなるように、視点３０３の位置とすべき位置を取得する。
【０１８０】
図１７は、本実施形態において、視点３０３の位置と隠蔽位置候補との距離の関係を示す図である。本図は、実施形態１における図７と同様に、仮想空間３００内に配置されたキャラクタ３０１ｂを上から見たときの様子を示しており、キャラクタ３０１ｂの腕が２つに切断されて、切断面４０１ａ，４０１ｂが隠蔽部位として仮想空間３００内に出現している。そして、この切断面４０１ａ，４０１ｂを隠すことのできる位置として、オブジェクト３０２ａ〜３０２ｃに対応付けられたあわせて４８個の位置候補４０２（４０２ａ〜４０２ｌ等）のうちから、実施形態１と同様に１０個の隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌ（本図において一点鎖線で囲まれたもの）が選ばれている状態とする。
【０１８１】
本実施形態では、取得部２０１が、この１０個の隠蔽位置候補４０２ｂ〜４０２ｅ，４０２ｇ〜４０２ｌのそれぞれについて現在の視点３０３の位置からの距離６０１を比較し、距離６０１が最も近い隠蔽位置候補を取得する。例えば、本図のように、視点３０３の位置と隠蔽位置候補４０２ｂとの距離６０１ｂ、視点３０３の位置と隠蔽位置候補４０２ｇとの距離６０１ｇ、視点３０３の位置と隠蔽位置候補４０２ｉとの距離６０１ｉ、などがそれぞれ求められ、比較される。その結果、距離６０１ｂの値が、それ以外の距離６０１（６０１ｇ，６０１ｉ等）の値に比べて最も小さくなるため、隠蔽位置候補４０２ｂが視点３０３の位置とすべき位置として取得される。
【０１８２】
このような構成によって、本実施形態に係るゲーム装置２００は、視点３０３の位置を、仮想空間３００内を移動する量をなるべく抑えながら、切断面４０１ａ，４０１ｂのような隠蔽部位をオブジェクト３０２の陰に隠すことのできる位置へと移動させて設定することができる。その結果、このような視点３０３の位置から撮影されて生成されるゲーム画像３５０を見ているプレイヤは、視点３０３の位置が大きく切り替わることがないため、不自然な印象をなるべく受けることなくゲームをプレイすることができる。
【０１８３】
（実施形態４）
次に、本発明の実施形態４について説明する。上記実施形態では、キャラクタ３０１ｂの左腕が切断された際、仮想空間３００内に作成された２つの切断面４０１ａ，４０１ｂの双方とも、所定の隠蔽条件を満たす部位（隠蔽部位）として扱われた。それに対して本実施形態では、２つの切断面４０１ａ，４０１ｂのうち、当該切断面４０１の外向き法線が視点３０３の位置の方向を向いているものが、隠蔽部位として扱われる。
【０１８４】
すなわち、これまでの実施形態１〜３では、プレイヤに見せるべきでない残虐な表現を伴うような部位として２つの切断面４０１ａ，４０１ｂが仮想空間３００内に作成された場合、その双方ともが隠蔽部位として扱われ、そして双方ともがいずれかのオブジェクト３０２の陰に隠されるような位置に視点３０３の位置が設定されて、ゲーム画像３５０が生成された。一方で、本実施形態では、作成された切断面４０１ａ，４０１ｂのそれぞれについて、その方向に応じて、隠蔽部位として扱われるものと扱われないものとに分けられる。例として、図１８Ａおよび図１８Ｂを参照して説明する。
【０１８５】
図１８Ａは、切断面４０１と視線との関係を示す図である。本図では、上記図５Ａ等と同様に、仮想空間３００内に配置されたキャラクタ３０１ｂが、キャラクタ３０１ａから攻撃されることにより、左腕が切断されている様子が示されている。そしてそれに伴って、２つの切断面４０１ａ，４０１ｂが仮想空間３００内に出現し、キャラクタ３０１ｂの体は、切断面４０１ａを含み当該切断面４０１ａから左腕の先までの断片と、切断面４０１ｂを含み、胴体や右腕、頭などからなる断片とに切断されている。この新たに出現した２つの切断面４０１ａ，４０１ｂは、残虐な表現を伴うため、これまでの実施形態１〜３では、２つの切断面４０１ａ，４０１ｂともに所定の隠蔽条件を満たす部位として扱われた。そして、これら切断面４０１ａ，４０１ｂが、仮想空間３００内に配置されたオブジェクト３０２ａ〜３０２ｃのいずれかの陰に隠されるように、視点３０３の位置が設定された。
【０１８６】
しかし、本図の切断面４０１ａのように、たとえ残虐な表現を伴う部位として仮想空間３００内に存在していたとしても、断片が、そこに含まれる切断面４０１を視点３０３の位置の方向に向けるような状態になっていなければ、切断面４０１は視点３０３の視界には入らない。すなわち、視点３０３の位置と切断面４０１ａ，４０１ｂの位置（典型的には中心位置）とを結ぶ線分として、視線６０２ａ，６０２ｂを考えたとき、視線６０２ａは、切断面４０１ａ自体を含む断片によって遮られているが、視線６０２ｂは、切断面４０１ｂ自体を含む断片によっては遮られていない。そのため、視点３０３の位置からは、切断面４０１ｂを見ることはできるが、切断面４０１ａは、その視界に入らず、見ることができない。そのため、切断面４０１ａは、わざわざオブジェクト３０２ａ〜３０２ｃのいずれかの陰に隠蔽される必要はなく、切断面４０１ｂのみが隠蔽部位として隠蔽されればよいことになる。このとき取得部２０１は、切断面４０１が視点３０３の視界に入るか否かを判断する基準として、切断面４０１について以下のように外向きの法線をとり、当該外向きの法線が視点３０３の位置の方向を向いているか否かによって、隠蔽部位とするか否かを判断する。
【０１８７】
図１８Ｂは、切断面４０１ａ，４０１ｂの外向きの法線と視線６０２ａ，６０２ｂとの関係を示す図である。本図は、図１８Ａに示された切断面４０１ａ，４０１ｂ付近の様子を拡大したものであり、説明のために便宜上、２つに切断されたキャラクタ３０１ｂの左腕の断片のみが示されている。本図に示すように、取得部２０１は、仮想空間３００内に生成された切断面４０１ａ，４０１ｂを隠蔽部位とすべきか否かを判断するため、切断面４０１ａ，４０１ｂのそれぞれについて、それぞれ当該切断面４０１ａ，４０１ｂ上の視線６０２ａ，６０２ｂの端点から延びる外向き法線６０３ａ，６０３ｂをとる。ここで外向き法線６０３ａ，６０３ｂとは、それぞれ切断面４０１ａ，４０１ｂ上の点を始点として、当該切断面４０１ａ，４０１ｂが含まれる断片の外側方向へ、当該面と直角方向に延びる直線をいう。
【０１８８】
取得部２０１は、このような外向き法線６０３ａ，６０３ｂが、視点３０３の位置の方向を向いているか否かを判断するため、当該外向き法線６０３ａ，６０３ｂと、視線６０２ａ，６０２ｂと、がなす角度６０４ａ，６０４ｂに着目する。ここで着目された角度６０４ａ，６０４ｂは、それぞれ切断面４０１ａ，４０１ｂ上から延びた外向き法線６０３ａ，６０３ｂと、当該外向き法線６０３ａ，６０３ｂの始点と視点３０３の位置とを結ぶ視線６０２ａ，６０２ｂとに挟まれた角度であり、０度以上１８０度以下の値をとる。そして取得部２０１は、当該着目された角度６０４が９０度以上か否かを判定し、９０度未満である場合には、その切断面４０１を隠蔽部位とし、９０度以上である場合には、その切断面４０１を隠蔽部位としては扱わない。
【０１８９】
具体的には本図の切断面４０１ｂのように、角度６０４ｂが０度以上９０度未満の場合は、当該切断面４０１ｂが視点３０３の位置からの視界に入ることになる。一方で、切断面４０１ａのように、角度６０４ａが９０度以上１８０度以下の場合は、当該切断面４０１ａは視点３０３の位置からの視界には入らないことになる。そのため、切断面４０１ｂについては、隠蔽部位として扱われ、オブジェクト３０２の陰に隠されてゲーム画像３５０が生成されるが、切断面４０１ａについては、隠蔽部位として扱われず、オブジェクト３０２の陰には隠されずにゲーム画像３５０が生成されることになる。
【０１９０】
なお、角度６０２ａ，６０２ｂは、それぞれ切断面４０１ａ，４０１ｂの中心点における角度であることが典型的であるが、必ずしもこれに限らず、切断面４０１ａ，４０１ｂ上のどの点における角度であってもよい。すなわち、視点３０３の位置から切断面４０１ａ，４０１ｂへと延びる視線６０２ａ，６０２ｂは、切断面４０１ａ，４０１ｂ上のどの点へ向けられたものであってもよい。例えば、切断面４０１が平面でなく、凹凸をもった面である場合には、そこでの外向き法線６０３は、１方向だけでなく、その始点をどの位置にとるかによって様々な方向を向くことになる。この場合には、例えば取得部２０１は、切断面４０１上の複数の凹凸の頂点のそれぞれについて、当該頂点と視点３０３の位置とを結ぶ視線６０２と当該頂点から延びる外向き法線６０３とがなす角度６０４を算出し、当該算出された角度６０４のうち最小のものが９０度以上か否かを判断して、該当する場合に当該切断面４０１を隠蔽部位とするようにしてもよい。これにより、凹凸をもった切断面４０１内の向きの異なる複数の部分のうち、視点３０３の位置からの視界に入る部分が少しでもある場合には、当該切断面４０１は隠蔽部位として扱われ、オブジェクト３０２の陰に隠されてゲーム画像３５０が生成されることになる。
【０１９１】
このような構成によって、本実施形態に係るゲーム装置２００は、外向き法線６０３が視点３０３の位置の方向を向いている切断面４０１を所定の隠蔽条件を満たす部位とし、外向き法線６０３が視点３０３の位置の方向を向いていない切断面４０１については所定の隠蔽条件を満たさない部位とする。その結果、本実施形態に係るゲーム装置２００は、オブジェクト３０２の陰に隠す隠蔽部位の個数を抑制することができ、効率的に隠蔽部位を隠蔽してゲーム画像３５０を生成することが可能となる。
【０１９２】
（実施形態５）
次に、本発明の実施形態５について説明する。実施形態１〜３でのゲーム装置２００は、キャラクタ３０１ｂの左腕が切断された際、仮想空間３００内に作成された２つの切断面４０１ａ，４０１ｂの双方ともを、１つのオブジェクト３０２の陰に隠蔽した。それに対して本実施形態でのゲーム装置２００は、複数の隠蔽部位を、必ずしも単一のオブジェクト３０２に限らず、複数のオブジェクト３０２によって別々に隠蔽することができる。
【０１９３】
本実施形態でも、説明のため、キャラクタ３０１ｂの左腕が切断され、隠蔽部位として２つの切断面４０１ａ，４０１ｂが仮想空間３００内に出現した場合を想定する。このとき、これら残虐な表現を伴う切断面４０１ａ，４０１ｂをオブジェクト３０２の陰に隠すことのできるよう、上記実施形態では、オブジェクト３０２が、視点３０３の位置と切断面４０１ａ，４０１ｂの中心位置とを結ぶ線分４０３上になるように、視点３０３の位置が設定されたが、本実施形態では、オブジェクト３０２が、視点３０３の位置と２つの切断面４０１ａ，４０１ｂのそれぞれの位置とを結ぶ２つの線分４０３上になるように、視点３０３の位置が設定される。このとき用いられるオブジェクト３０２の個数は、１つに限られず、複数であってもよい。例えば、２つのオブジェクト３０２を用いた場合、プレイヤに表示されるゲーム画像３５０は、図１９のようになる。
【０１９４】
図１９は、２つの切断面がそれぞれ別のオブジェクト３０２によって隠蔽されて撮影されたゲーム画像３５０を表す図である。本図は、上記実施形態と同様に、キャラクタ３０１ａが右手に把持した剣でキャラクタ３０１ｂを攻撃しており、キャラクタ３０１ｂの左腕が２つに切断されている様子を示している。そして本図では、このとき出現した２つの切断面がゲーム画像３５０内に表示されないように、それぞれ２つの細い樹木オブジェクト３０２ｂ，３０２ｄを利用することで、隠して表示している。
【０１９５】
具体的に、キャラクタ３０１ｂの左腕が切断されることで出現した２つの切断面は、残虐な表現を伴うため、実施形態１（図９）では四角柱状のオブジェクト３０２ａを利用し、実施形態２（図１４）では樹木オブジェクト３０２ｂを利用することで、ゲーム画像３５０内に表示されないように隠して表示した。一方で、本実施形態では、本図のように２つの切断面がそれぞれ別々のオブジェクト３０２ｂ，３０２ｄによって隠されるため、２つの切断面の間の空間はいずれのオブジェクト３０２にも隠されていない。
【０１９６】
すなわち、本図では、実施形態１（図９）および実施形態２（図１４）での２つの切断面の間の空間までも単一のオブジェクト３０２によって隠されていたゲーム画像３５０に比べて、隠される領域がよりコンパクトに絞られている。そのため、隠蔽されなかった部分には、例えば本図のように出血表現４０６を見せるなどして、キャラクタ３０１ｂの腕が切断されているという状況をよりリアルに、かつ肝心の切断面は隠蔽しつつ、表現することができる。
【０１９７】
このような構成によって、本実施形態に係るゲーム装置２００は、複数の隠蔽部位に対して、仮想空間３００内に配置された複数のオブジェクトを利用して、当該複数の隠蔽部位が隠蔽されたゲーム画像３５０を表示する。その結果、本実施形態に係るゲーム装置２００は、隠蔽部位間の距離が離れているような場合でも、それぞれを別々に隠蔽することで、隠蔽部位間の空間を必要以上に隠蔽することなく、仮想空間３００内の様子を表すゲーム画像３５０をプレイヤに表示することができる。
【０１９８】
（他の実施形態）
以上、本発明の実施の形態について説明したが、本発明は、上述した実施形態に限定されず、種々の変形および応用が可能である。また、上述した実施形態の各構成要素を自由に組み合わせることも可能である。
【０１９９】
例えば、上記実施形態では、「隠蔽部位」として、切断されたキャラクタ３０１の切断面４０１ａ，４０１ｂを例にとって説明した。しかし、切断面４０１に限られず、キャラクタの様々な部位を、「隠蔽部位」、すなわち所定の隠蔽条件を満たす部位としてもよい。例えば、激しく出血しているような体の部位や内臓などのグロテスクな部位、あるいは生首などの体の一部が欠けた部位を「隠蔽部位」として扱い、オブジェクト３０２の陰に隠してゲーム画像３５０内に表示しないようにしてもよい。
【０２００】
また、上記実施形態では、隠蔽位置候補が複数存在する場合に、種々の条件に基づいて視点３０３の位置とすべき位置を、当該複数の隠蔽位置候補のうちから１つ選んだ。このときさらに、キャラクタ３０１の位置から所定の閾距離以内になるように、視点３０３の位置を設定する隠蔽位置候補として取得してもよい。すなわち、取得部２０１は、あらかじめ所定の閾距離を設けておき、複数の隠蔽位置候補のうち、キャラクタ３０１の位置から所定の閾距離よりも離れているものを除外したうえで、視点３０３の位置とすべき位置を１つ選んでもよい。これにより、視点３０３の位置がキャラクタ３０１の位置から離れすぎて、生成される画像に映し出されるキャラクタ３０１が小さくなってしまい、プレイヤに見せるべき画像として適切でなくなることを防ぐことができる。
【０２０１】
また、本発明の実施形態に係るゲーム装置２００にてプレイされるゲームは、ここまで説明してきたような対戦型ゲームに限られず、例えばプレイヤがキャラクタ３０１を操作してゲームを進めるタイプのアクションゲームやロールプレイングゲームであってもよい。また、これら対戦型ゲームやアクションゲーム、ロールプレイングゲーム以外でも、プレイヤに見せるべきでないキャラクタ３０１の部位を適切に隠蔽して表示させたい様々なジャンルのゲームにおいても、本発明は適用されうる。さらに、キャラクタ３０１はプレイヤによって操作されず、あらかじめ記憶されたデータに基づいてキャラクタ３０１が自動的に動作するムービーのようなものに対しても、本発明は適用されうる。
【産業上の利用可能性】
【０２０２】
以上説明したように、本発明によれば、表示すべきでない部位を適切に隠蔽しながらキャラクタの画像を表示するのに好適なゲーム装置、ゲーム装置の制御方法、ならびに、プログラムを提供することができる。
【符号の説明】
【０２０３】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
２００  ゲーム装置
２０１  取得部
２０２  設定部
２０３  生成部
２０４  表示部
２０５  移動部
３００  仮想空間
３０１（３０１ａ，３０１ｂ）  キャラクタ
３０２（３０２ａ〜３０２ｄ）  オブジェクト
３０３  視点
３５０  ゲーム画像
４０１（４０１ａ，４０１ｂ）  切断面
４０２（４０２ａ〜４０２ｌ）  位置候補
４０３（４０３ａ〜４０３ｆ）  線分
４０４  速度ベクトル
４０５（４０５ｃ，４０５ｇ，４０５ｊ）  （速度ベクトルを）見込む角度
４０６  出血表現
５０１（５０１ｃ，５０１ｇ，５０１ｊ）  （オブジェクトを）見込む角度
５０２（５０２ｃ，５０２ｇ，５０２ｊ）  （隠蔽部位を）見込む角度
６０１（６０１ｂ，６０１ｇ，６０１ｉ）  距離
６０２（６０２ａ，６０２ｂ）  視線
６０３（６０３ａ，６０３ｂ）  外向き法線
６０４（６０４ａ，６０４ｂ）  （外向き法線と視線とがなす）角度
【図１】
0005431411.tif 000002
【図２】
0005431411.tif 000003
【図３】
0005431411.tif 000004
【図４】
0005431411.tif 000005
【図５Ａ】
0005431411.tif 000006
【図５Ｂ】
0005431411.tif 000007
【図６】
0005431411.tif 000008
【図７】
0005431411.tif 000009
【図８】
0005431411.tif 000010
【図９】
0005431411.tif 000011
【図１０】
0005431411.tif 000012
【図１１】
0005431411.tif 000013
【図１２】
0005431411.tif 000014
【図１３】
0005431411.tif 000015
【図１４】
0005431411.tif 000016
【図１５】
0005431411.tif 000017
【図１６】
0005431411.tif 000018
【図１７】
0005431411.tif 000019
【図１８Ａ】
0005431411.tif 000020
【図１８Ｂ】
0005431411.tif 000021
【図１９】
0005431411.tif 000022