説明

表示制御プログラム、表示制御装置、表示制御システム及び表示制御方法

【課題】立体視表示における立体度合いの変更制御によって、全く新しい演出をユーザに表示することができる表示制御プログラム、表示制御装置、表示制御システム及び表示制御方法を提供する。
【解決手段】立体視表示が可能な立体画像表示装置に接続されたゲーム装置は、表示処理手段及び変更手段を備える。表示処理手段は、立体視表示における立体度合いを設定するための立体視パラメータ(例えば、距離L1を示すカメラ間距離パラメータ及び/又は距離L3を示す基準面距離パラメータ)に基づいて、互いに視差を有する右目用画像と左目用画像とを用いて表示対象を立体画像表示装置2に立体視表示させる。そして、変更手段は、立体視パラメータを繰り返し変更する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示装置に表示対象を立体視表示させる表示制御プログラム、表示制御装置、表示制御システム及び表示制御方法に関し、より特定的には、立体視表示における立体度合いの変更制御を特徴とした表示制御プログラム、表示制御装置、表示制御システム及び表示制御方法に関する。
【背景技術】
【0002】
互いに視差を有する右目用画像と左目用画像とを立体視表示可能な表示装置に表示することで、右目用画像と左目用画像とに共通で含まれる表示対象を表示装置に立体視表示させる表示制御装置は一般的に知られている。そして、特許文献1には、右目用画像と左目用画像との視差量を撮影者の操作に基づいて調整することで、立体視表示における立体度合いを変更する撮像装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−264851号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の表示制御装置は、撮影者の視差量を調整する操作に基づいて、右目用画像と左目用画像との視差を調整するだけのものにすぎなかった。
【0005】
本発明は、立体視表示における立体度合いの変更制御によって、全く新しい演出をユーザに表示することができる表示制御プログラム、表示制御装置、表示制御システム及び表示制御方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
(1)本発明にかかる表示制御プログラムは、立体視表示が可能な表示装置に接続された表示制御装置のコンピュータを、表示処理手段、及び変更手段、として機能させる。表示処理手段は、立体視表示における立体度合いを設定するための立体視パラメータに基づいて、互いに視差を有する右目用画像と左目用画像とを用いて、表示装置に立体視表示させる処理を繰り返し実行する。変更手段は、立体視パラメータを繰り返し変更する。
【0007】
上記構成によれば、立体視パラメータが繰り返し変更されるため、立体視パラメータに基づく立体視表示において、立体度合いが繰り返し変更される。
【0008】
(2)上述した表示制御プログラムにおいて、上記右目用画像と上記左目用画像には、仮想的な三次元空間が描画されてもよい。また、上記立体視パラメータは、三次元空間に配置された右目用仮想カメラと左目用仮想カメラとの間の第1の距離を少なくとも含んでいてもよい。更に、上記表示処理手段は、カメラ位置変更手段、及び画像生成手段を含んでいてもよい。カメラ位置変更手段は、変更手段によって変更された立体視パラメータに基づいて、右目用仮想カメラと左目用仮想カメラとの間の距離を変更する。また、画像生成手段は、右目用仮想カメラから三次元空間を撮像した右目用画像と、左目用仮想カメラから三次元空間を撮像した左目用画像とを繰り返し生成する。
【0009】
上記構成によれば、右目用仮想カメラと左目用仮想カメラとの間の距離を繰り返し変更することで、右目用画像と左目用画像における視差を繰り返し変更することが可能となり、立体視表示における立体度合いを簡易な処理によって変更することができる。
【0010】
(3)上述した表示制御プログラムにおいて、上記右目用画像と上記左目用画像には、仮想的な三次元空間が描画されてもよい。また、上記立体視パラメータは、三次元空間に配置された右目用仮想カメラ及び/または左目用仮想カメラから基準面までの距離、若しくは右目用仮想カメラと左目用仮想カメラとの間の所定位置から基準面までの距離である第2の距離を少なくとも含んでいてもよい。更に、上記表示処理手段は、基準面変更手段、及び画像生成手段、を含んでいてもよい。基準面変更手段は、変更手段によって変更された立体視パラメータに基づいて、基準面の位置を変更する。画像生成手段は、右目用仮想カメラから三次元空間を撮像した右目用画像と、左目用仮想カメラから三次元空間を撮像した左目用画像とを、基準面に基づいて繰り返し生成する。
【0011】
上記構成によれば、基準面の位置を繰り返し変更することで、右目用画像と左目用画像における視差を繰り返し変更することが可能になり、立体視表示における立体度合いを簡易な処理によって変更することができる。
【0012】
(4)上述した(2)の表示制御プログラムにおいて、上記立体視パラメータは複数あり、当該複数の立体視パラメータは、第1の距離に加えて、右目用仮想カメラ及び/又は左目用仮想カメラから基準面までの距離、若しくは右目用仮想カメラと左目用仮想カメラとの間の所定位置から基準面までの距離である第2の距離を少なくとも含んでもよい。また、上記表示処理手段は、カメラ位置変更手段及び前記画像生成手段に加えて、変更手段によって変更された立体視パラメータに基づいて、基準面の位置を変更する基準面変更手段を更に含んでもよい。そして、上記画像生成手段は、右目用仮想カメラから三次元空間を撮像した右目用画像と、左目用仮想カメラから三次元空間を撮像した左目用画像とを、基準面に基づいて繰り返し生成してもよい。
【0013】
上記構成によれば、基準面の位置を繰り返し変更することで、右目用画像と左目用画像における視差を繰り返し変更することが可能になり、立体視表示における立体度合いを簡易な処理によって変更することができる。更に、右目用仮想カメラと左目用仮想カメラとの間の距離と、基準面の位置との2種類の要素(ファクター)を変更することで、立体視表示における立体度合いを変更することができるため、立体度合いの変化に複雑さを与えることができる。
【0014】
(5)上述した表示制御プログラムにおいて、上記変更手段は、立体視パラメータが周期的に変化するように、立体視パラメータを繰り返し変更してもよい。この構成によれば、立体視パラメータが周期性を持って変化するため、立体視表示における立体度合いも周期性を持って変化し、例えば水中に居たり、酔っ払っている等のような視界が周期性を持って繊細に変化する感覚をユーザに与えることができる。
【0015】
(6)上述した表示制御プログラムにおいて、上記変更手段は、立体視パラメータが所定の上限及び当該上限とは異なる所定の下限との間で増減を繰り返すように立体視パラメータを変更してもよい。この構成によれば、立体視表示における立体度合いを一定の増減を繰り返すように変化させることができる。
【0016】
(7)上述した(6)の表示制御プログラムにおいて、上記所定の上限及び上記所定の下限は、対象となる立体視パラメータにおける基準値の所定割合に基づいた値であってもよい。この構成によれば、立体視パラメータの基準値(例えばデフォルト値)を例えばユーザの操作に基づいて変更可能な場合であっても、この変更後の基準値を基準として立体視パラメータを増減させることができる。
【0017】
(8)上述した(4)の表示制御プログラムにおいて、上記変更手段は、第1の距離と、第2の距離とがそれぞれ異なる周期で周期的に変化するように、立体視パラメータを繰り返し変更してもよい。この構成によれば、第1の距離と第2の距離という、立体視表示における立体度合いを変更するための異なる要素(ファクター)について、異なる周期を持って変化させることができる。これによって、立体視表示における立体度合いを更に複雑に変化させることができる。
【0018】
(9)上述した(4)の表示制御プログラムにおいて、上記変更手段は、立体視パラメータが所定の上限及び当該上限とは異なる所定の下限との間で増減を繰り返すように立体視パラメータを変更してもよい。また所定の上限及び所定の下限は、対象となる立体視パラメータにおける基準値の所定割合に基づいた値であってもよい。そして、所定割合は、前記第1の距離、及び前記第2の距離とでそれぞれ異なる割合としてもよい。この構成によれば、第1の距離と第2の距離という、立体視表示における立体度合いを変更するための異なる2種類の要素(ファクター)について、基準値から変化させる所定割合が異なる。これによって、立体視表示における立体度合いを更に複雑に変化させることができる。
【0019】
(10)上述した表示制御プログラムにおいて、上記変更手段は、立体視パラメータを繰り返し変更することにより、立体視表示における立体度合いを繰り返し変更してもよい。この構成によれば、全く新しい演出をユーザに提供することができる。
【0020】
(11)上述した表示制御プログラムにおいて、上記表示処理手段は、特定のシーンを含む複数のシーンのうちの何れかを選択的に表示装置に立体視表示させてもよい。そして、
上記変更手段は、特定のシーンが立体視表示されるときに、立体視パラメータを繰り返し変更してもよい。この構成によれば、立体度合いを繰り返し変更するという演出が効果的な特定のシーンにおいて、当該演出をユーザに提供することができる。
【0021】
(12)上述した表示制御プログラムにおいて、上記表示処理手段は、仮想的な三次元空間を撮像した画像を前記表示装置に立体視表示させてもよい。また、上記変更手段は、三次元空間内で特定のイベントが発生したときに、立体視パラメータを繰り返し変更してもよい。この構成によれば、立体視表示における立体度合いを繰り返し変更するという演出が効果的な特定のイベントが発生したときに、当該演出をユーザに提供することができる。
【0022】
(13)上述した表示制御プログラムにおいて、上記表示制御装置は、ユーザの操作を受け付ける操作手段に接続されてもよい。また、上記表示処理手段は、操作に応じた仮想的な三次元空間を表示装置に立体視表示させてもよい。上記変更手段は、操作の状態が特定の状態であるときに、立体視パラメータを繰り返し変更してもよい。この構成によれば、操作の状態が、立体視表示における立体度合いを繰り返し変更するという演出が効果的な特定の状態であるときに(例えば、プレイヤキャラクタを移動させる操作が入力されていない状態であるときに)、当該演出をユーザに提供することができる。
【0023】
(14)本発明にかかる表示制御装置は、立体視表示が可能な表示装置に接続された表示制御装置であって、表示処理手段、及び変更手段、を備える。表示処理手段は、立体視表示における立体度合いを設定するための立体視パラメータに基づいて、互いに視差を有する右目用画像と左目用画像とを用いて、表示装置に立体視表示させる処理を繰り返し実行する。変更手段は、立体視パラメータを繰り返し変更する。
【0024】
(15)本発明にかかる表示制御システムは、立体視表示が可能な表示装置に接続され、複数の情報処理装置からなる表示制御システムあって、表示処理手段、及び変更手段、を備える。表示処理手段は、立体視表示における立体度合いを設定するための立体視パラメータに基づいて、互いに視差を有する右目用画像と左目用画像とを用いて、表示装置に立体視表示させる処理を繰り返し実行する。変更手段は、立体視パラメータを繰り返し変更する。
【0025】
(16)本発明にかかる表示制御方法は、立体視表示が可能な表示装置に接続された表示制御装置を用いた表示制御方法であって、表示処理ステップ、及び変更ステップ、を含む。表示処理ステップにおいて、立体視表示における立体度合いを設定するための立体視パラメータに基づいて、互いに視差を有する右目用画像と左目用画像とを用いて表示装置に立体視表示させる処理を繰り返し実行する。変更ステップにおいて、立体視パラメータを繰り返し変更する。
【0026】
上述した、表示制御装置、表示制御システム又は表示制御方法によれば、(1)の表示制御プログラムと同様の作用効果を奏する。
【発明の効果】
【0027】
上述した表示制御プログラム、表示制御装置、表示制御システム及び表示制御方法によれば、立体視パラメータに基づく立体視表示において、立体度合いが繰り返し変更されるため、全く新しい演出をユーザに表示することができる。
【図面の簡単な説明】
【0028】
【図1A】立体視表示の基本原理の説明図
【図1B】立体視表示の基本原理の説明図
【図2】仮想的な三次元空間の一例を表す図
【図3】図2で示す仮想空間において、右目用仮想カメラCaRから撮像した右目用画像と、左目用仮想カメラCaLから撮像した左目用画像とを示す図
【図4】ゲーム装置の内部構成を示すブロック図
【図5】メインメモリのメモリマップの一例を示す図
【図6】カメラ間距離変化情報の示す距離L1の変化と、基準面距離変化情報の示す距離L3の変化を示すグラフ
【図7】図2で示した三次元空間において、距離L3を変更せずに、距離L1を大きくした状態を示す図
【図8】図2で示した三次元空間において、距離L1を変更せずに、距離L3を大きくした状態を示す図
【図9A】図7で示す仮想空間において、右目用仮想カメラCaRから撮像した右目用画像と、左目用仮想カメラCaLから撮像した左目用画像とを示す図
【図9B】図8で示す仮想空間において、右目用仮想カメラCaRから撮像した右目用画像と、左目用仮想カメラCaLから撮像した左目用画像とを示す図
【図10】ゲーム処理におけるメイン処理の一例を示すフローチャート
【図11】ステップS3におけるカメラ間距離パラメータ生成処理の一例を示すフローチャート
【図12】ステップS4における基準面距離パラメータ生成処理の一例を示すフローチャート
【図13A】変形例にかかるカメラ間距離パラメータ生成処理の一例を示すフローチャート
【図13B】変形例にかかるカメラ間距離パラメータ生成処理の一例を示すフローチャート
【図13C】変形例にかかるカメラ間距離パラメータ生成処理の一例を示すフローチャート
【発明を実施するための形態】
【0029】
以下、本発明を適用した一実施形態について、図面を参照しつつ説明する。本実施形態は、立体視表示が可能な表示装置に接続された表示制御装置に関する。表示制御装置は、表示制御プログラムの実行によって、表示処理手段、及び変更手段を備える。表示処理手段は、表示処理ステップにおいて、例えば描画周期毎に繰り返し、立体視パラメータに基づいて、共通の表示対象を含み、かつ互いに視差を有する右目用画像と左目用画像とを用いて、表示対象を表示装置に立体視表示させる。また、変更手段は、例えば所定時間の経過毎に立体視パラメータを繰り返し変更する。この様な、表示処理手段及び変更手段によって実行される処理を、「表示制御処理」と記載する。表示処理ステップ及び変更ステップを含む方法を表示制御方法と記載する。
【0030】
(立体視の基本原理)
以下に、図1A及び図1Bを用いて、上記表示装置の立体視表示の基本原理を説明する。図1A及び図1Bは、立体視表示の基本原理の説明図である。表示装置は、ディスプレイを備え、このディスプレイには、同じ(共通の)表示対象を所定の視差を設けて2つ表示している。この表示対象のうちの一方がユーザの右目で視認するための表示対象(右目用表示対象)であり、他方がユーザの左目で視認するための表示対象(左目用表示対象)である。なお、「視差」とは、ディスプレイに表示される右目用表示対象の位置と左目用表示対象の位置とのずれのことである。この視差によって、ユーザに対して表示対象が立体視表示される。
【0031】
なお、右目用表示対象の位置と左目用表示対象の位置に視差があることを、「右目用画像と左目用画像とが視差を有する」と記載する。なお、図1Aに示すように、右目用表示対象が右(ユーザから見て右)に表示され、左目用表示対象が左(ユーザから見て左)に表示されているときには、ユーザに知覚される表示対象の位置P1は、ディスプレイの奥側になる。また、図1Bに示すように、右目用表示対象が左に表示され、左目用表示対象が右に表示されているときには、位置P1は、ディスプレイの手前になる。そして、視差が0であるときには、位置P1はディスプレイの位置になる。なお、本実施形態で使用する立体視の方式は、両眼視差を利用した方式であればよく、例えばレンチキュラー方式であっても、パララックスバリア方式であってもよい。また、裸眼立体視のみでなく、3Dテレビ、又は3Dシアター等において、左目用画像と右目用画像とを交互に表示装置によって表示させ、この表示画像をユーザがメガネ等を用いて左目用画像を左目で、右目用画像を右目でそれぞれ視認することで、ユーザに立体視表示させる方式であってもよい。
【0032】
(表示制御処理)
以下に、図1A及び図1Bを用いて、本実施形態の特徴となる表示制御処理を説明する。上述したように、表示制御処理では、表示制御装置は、例えば描画周期毎に繰り返し、立体視パラメータに基づいて表示装置に上記立体視表示を行わせる。この立体視パラメータは、立体視表示における立体度合いを設定(調整)するためのパラメータである。当該立体度合いは、右目用表示対象と左目用表示対象との視差に基づいて定まる。従って、立体視パラメータは、この視差を設定する(変える)ためのパラメータである。本実施形態では、この立体視パラメータが、繰り返し変更される。このため、立体視表示における立体度合いを繰り返し変更することができ、全く新しい演出をユーザに提供することができる。更に、本実施形態では、この立体視パラメータが、周期的に変化するように、所定の時間(当該周期よりも短い時間)の経過毎に繰り返し変更される。これによって、立体視表示の立体度合い(立体感)が周期的に変化(増減)することになり、全く新しい演出をユーザに提供することができる。これによって、例えば、ユーザが水中に居たり、酔っ払っていたり等の視界が周期性を持って繊細に変化する感覚をユーザに与えることができる。
【0033】
(立体視パラメータ)
なお、以下に、図2及び図3を参照して立体視パラメータの具体例を説明する。図2は、仮想的な三次元空間の一例を表す図である。表示対象が仮想的な三次元空間である場合には、上記立体視パラメータは、三次元空間における右目用仮想カメラCaR(位置P2a)と左目用仮想カメラCaL(位置P2b)との間の距離L1(第1の距離)を示すパラメータであってもよい。このパラメータを以下「カメラ間距離パラメータ」と記載する。なお、右目用仮想カメラCaRは、上記右目用画像を撮像するための仮想カメラであり、左目用仮想カメラCaLは、上記左目用画像を撮像するための仮想カメラである。
【0034】
三次元空間内には、カメラ間距離パラメータに対応する距離L1を開けて、視線が略平行になるように、右目用仮想カメラCaRと左目用仮想カメラCaLとが、配置される。そして、描画周期毎に、右目用仮想カメラCaRを視点として三次元空間を仮想スクリーンScRに投影して、右目用画像を生成する処理(右目用画像生成処理)が実行される。これとともに、左目用仮想カメラCaLを視点として三次元空間を仮想スクリーンScLに投影して左目用画像を生成する処理(左目用画像生成処理)が実行される。本実施形態では、仮想スクリーンScRと仮想スクリーンScLの重なる範囲のみがレンダリングされる。以下、仮想スクリーンScRにおける仮想スクリーンScLと重なる範囲、及び仮想スクリーンScLにおける仮想スクリーンScRと重なる範囲を「スクリーン共通範囲Sc」と記載する場合がある。なお、ビューボリューム内のオブジェクトOが仮想スクリーンScR、ScL上に(後述の基準面B上に)位置しないときには、スクリーン共通範囲Scにおける右目用仮想カメラCaRを視点としたオブジェクトOの投影位置Orと、左目用仮想カメラCaLを視点としたオブジェクトOの投影位置Olとの間に距離L2のずれが生じる。
【0035】
上記距離L2のずれによって、右目用画像及び左目用画像の共通部分は、図3で示すように、右目用仮想カメラCaRと左目用仮想カメラCaLとの距離L1に応じた視差を有する(右目用表示対象の位置と左目用表示対象の位置との間に視差がある)。上述したように、この視差によって表示対象が立体視表示され、またこの視差が立体視表示における立体度合いを定めている。このため、右目用仮想カメラCaRと左目用仮想カメラCaLとの距離L1を変更することで、立体視表示における立体度合いを変更することができる。なお、図3では、右目用仮想カメラCaRのビューボリュームを全てレンダリングして右目用画像を生成し、かつ左目用仮想カメラCaLのビューボリュームを全てレンダリングして左目用画像を生成しているが、本実施形態では、右目用仮想カメラCaRと左目用仮想カメラCaLとで共通して撮像可能な範囲(スクリーン共通範囲Sc)のみをレンダリングする。また、図3では(後述の図9A、図9Bでも)、右目用画像と左目用画像とが垂直方向にずれているが、実際にはこの垂直方向のずれはなく、右目画像におけるオブジェクトOの位置と、左目画像におけるオブジェクトOの位置は垂直方向では同一になる。
【0036】
この具体例では、カメラ間距離パラメータが周期的に変化するように、カメラ間距離パラメータが繰り返し変更される。この周期的な変化は、例えば、所定の上限と当該所定の上限とは異なる所定の下限との間で増減を繰り返すような変化である。なお、この所定の上限、及び所定の下限は、デフォルト値(基準値)の所定割合に基づいて決定されてもよい。具体的には、デフォルト値から所定割合で大きく変化させた値を所定の上限とし、デフォルト値から所定割合で小さく変化させた値を所定の上限値としてもよい。なお、所定の割合を、例えば、Sin波(正弦波)、Cos波で表されるように周期的に変化させることで、カメラ間距離パラメータを周期的に変化させることができる。なお、カメラ距離パラメータの変化はこの様に周期性を有することが好ましいが、この変化は如何なる波形で表されるものであってもよい。カメラ間距離パラメータが変更されたときに、当該変更されたカメラ間距離パラメータに基づいて、右目用仮想カメラCaRと左目用仮想カメラCaLの位置(距離)が変更される。これによって、立体視表示の立体度合いを周期的に変化させることができる。なお、カメラ間距離パラメータの変化が周期性を有することが好ましいと記載したが、この変化が周期性を有することは本実施形態の必須の構成ではない。
【0037】
また、以下に、図2及び図3を参照して立体視パラメータの他の具体例を説明する。立体視パラメータは、三次元空間における、右目用仮想カメラCaR(位置P2a)と左目用仮想カメラCaL(位置P2b)との間の中心位置P3(例えば、位置P2aと位置P2bを等間隔で二分する位置)から、基準面Bにおける所定位置(例えば基準面Bの中心点P4)までの距離L3(第2の距離)を示すパラメータであってもよい。このパラメータを以下「基準面距離パラメータ」と記載する。なお、基準面距離パラメータは、距離L3を示すパラメータに限定されず、例えば、右目用仮想カメラCaR及び左目用仮想カメラCaLそれぞれから基準面B(中心点P)までの距離、又は右目用仮想カメラCaR及び左目用仮想カメラCaLの何れか一方から基準面B(中心点P)までの距離であってもよい。
【0038】
基準面とは、立体視表示における立体度合いがゼロでオブジェクトが表示(ディスプレイから飛び出しても引っ込んでもいないように表示)される三次元空間内の位置を規定する面(視差ゼロ面)であり、上記ディスプレイに対応する面である。この具体例では、基準面距離パラメータに基づく位置に、基準面Bが配置される。すなわち、中心位置P3から右目用仮想カメラCaR、左目用仮想カメラCaLの視線方向に向かって、基準面距離パラメータの示す距離だけ離れた位置に、中心点P4が配置される。また、基準面Bは、右目用仮想カメラCaR及び左目用仮想カメラCaLの視線と垂直になるように設定され、かつ、右目用仮想カメラCaR及び左目用仮想カメラCaLの撮像範囲の重なる領域に設定される。ここで、基準面B上に位置するオブジェクトは、立体視表示においてディスプレイの位置に表示される(視差ゼロ)。そして、右目用仮想カメラCaRと左目用仮想カメラCaLからみて、基準面Bの奥側にあるオブジェクトは、図1Aで示すようにディスプレイの奥側にあるようにユーザに知覚される。また、基準面Bの手前にあるオブジェクトは、図1Bで示すようにディスプレイの手前にあるようにユーザに知覚される。
【0039】
本実施形態では、基準面Bの位置に基づいて、仮想スクリーンScR、ScLが設定される。具体的には、右目用仮想カメラCaR及び左目用仮想カメラCaLの視線方向において、右目用仮想カメラCaRからスクリーンScRまでの距離、及び左目用仮想カメラCaLからスクリーンScLまでの距離が、中心位置P3から基準面B(中心点P4)までの距離と同じになるように、スクリーンScR、ScLが配置される。従って、距離L3が変われば、スクリーン共通範囲Scにおける投影位置Orと投影位置Olの間の距離L2も変化し、立体視表示における立体度合いも変化する。なお、右目用仮想カメラCaR及び左目用仮想カメラCaLのレンダリング範囲は、基準面Bに対応する範囲(すなわちスクリーン共通範囲Sc)に設定される。
【0040】
この具体例では、基準面距離パラメータが周期的に変化するように、基準面距離パラメータが繰り返し変更される。この周期的な変化は、例えばカメラ間距離パラメータの変化と同様である。そして、基準面距離パラメータが変更されたときに、当該変更された基準面距離パラメータに基づいて、基準面Bの位置が変更(更新)される。このため、中心位置P3から、基準面Bにおける中心点P4までの距離L3は、周期的に変化することになる。これによって、立体視表示の立体度合いを周期的に変化させることができる。なお、基準面距離パラメータの変化が周期性を有することが好ましいが、この変化が周期性を有することは本実施形態の必須の構成ではない。基準面距離パラメータが繰り返し変更されればよい。
【0041】
なお、上述したように、基準面は、立体視表示における立体度合いがゼロでオブジェクトが表示される三次元空間内の位置を規定する面である。このため、基準面Bの位置を繰り返し変更することで、スクリーン共通範囲Scにおける投影位置Orと投影位置Olの間の距離L2だけでなく、ディスプレイを基準とした奥行き方向での、ディスプレイとオブジェクトOとの位置関係を繰り返し変更することができる。
【0042】
(具体的な実施例)
以下に、図4を用いて、上述したような本実施形態にかかる表示制御装置をゲーム装置1に適用したより具体的な実施例を説明する。このゲーム装置1は、上記立体視パラメータとして、上記カメラ間距離パラメータ及び上記基準面距離パラメータの両方を繰り返し変更し、これらのパラメータに基づいて表示装置に表示対象を立体視表示させる。
【0043】
図4は、ゲーム装置1の内部構成を示すブロック図である。ゲーム装置1は、外付けで、又は内蔵するように、立体画像表示装置2(上記表示装置の一例)を接続する。この立体画像表示装置2は、右目用画像と左目用画像とを用いて、表示対象の立体視表示を行うものである。本実施例では、立体画像表示装置2はパララックスバリア方式で立体視表示を行う。立体画像表示装置2は、液晶ディスプレイ等のディスプレイ200を備える。例えば、ディスプレイ200には、それぞれ、横方向で短冊状に所定個数に分割された右目用画像と左目用画像とが表示され、かつ、右目用画像の分割画像と左目用画像の分割画像とが交互に表示される。そして、ディスプレイ200の前面に視差バリア(図略)が設けられ、この視差バリアによって、ユーザの右目によってのみ右目用画像が視認され、ユーザの左目によってのみ左目用画像が視認される。このように構成されることで、表示対象を立体視表示可能にしている。
【0044】
ゲーム装置1は、ハードウェアスライダ11、操作部12、メインメモリ21、ROM22、メモリ制御回路23、保存用データメモリ24、通信モジュール25、コネクタ26、VRAM(Video RAM)27及びCPU31を備え、CPU31には、構成要素11、12、21〜27が図略のバスによって通信可能に接続されている。ハードウェアスライダ11は、立体視表示における立体度合いを調整する操作(スライダ操作)をユーザから受け付けるための操作部である。操作部12は、本発明の操作手段に対応し、ゲーム装置1で実行されるゲーム処理においてユーザのゲーム操作を受け付けるための操作子を備える。操作部12は、例えば、十字キーやタッチパネル等である。メインメモリ21は、CPU31の作業領域として機能し、通信モジュール25や記憶媒体3を介して取得された所定のプログラムを一時的に記憶する。また、メインメモリ21は、所定のプログラムの実行によって、所定のゲームデータ(画像データ等を含む)を記憶する。
【0045】
ROM22は、起動用プログラム(ブートプログラム)を記憶する。メモリ制御回路23は、CPU31の指示に従って、保存用データメモリ24に対するデータの読み出し及び書き込みを制御する。保存用データメモリ24は、書き換え可能な不揮発性のメモリであり、例えばNAND型フラッシュメモリである。通信モジュール25は、有線又は無線によって他の情報処理装置(例えば、サーバ)との間でデータの送受信を行う機能を有する。コネクタ26は、例えば、記憶媒体3をゲーム装置1に接続するためのインタフェースである。記憶媒体3は、コンピュータ読み取り可能なものであり、例えば、半導体メモリ型の記憶媒体(メモリカード等)、光記録方式の記憶媒体(CD−ROM、DVD等)、磁気記録方式の記憶媒体(磁気テープ、フロッピーディスク、ハードディスク、磁気カード等)等である。
【0046】
VRAM27は、ディスプレイ200に表示される画像データを記憶する領域を有する。本実施形態では、VRAM27は、右目用画像データD100と左目用画像データD200とを記憶する領域を有する。右目用画像データD100は、上述した右目用画像のデータである。左目用画像データD200は、上述した左目用画像のデータである。立体画像表示装置2は、VRAM27に記憶されている右目用画像データD100と左目用画像データD200を用いて、ディスプレイ200において立体視表示を行う。
【0047】
CPU31は、本発明の表示処理手段(カメラ位置変更手段、画像生成手段、及び基準面変更手段)、及び変更手段として機能し、所定のプログラムを実行することによって、所定の処理を実行する。例えば、CP31は、後述のゲームプログラムD1(図5を参照)を実行することによってゲーム処理を実行する。このゲームプログラムD1(図5を参照)には、例えば上述した表示制御プログラムが含まれており、この表示制御プログラムの実行によって、CPU31は上述した表示制御処理を実行する。
【0048】
また、CPU31は、コンピュータグラフィックス技術(モデリング、レンダリング等)を用いて、仮想的な三次元空間をリアルタイムで描画して、上記右目用画像データD100と左目用画像データD200を生成する。なお、本実施例では、GPUを備えないが、ゲーム装置1がGPUを備え、当該GPUがコンピュータグラフィックス技術を用いた描画処理の一部を負担してもよい。この場合には、GPUが、本発明の表示処理手段(カメラ位置変更手段、画像生成手段、及び基準面変更手段)、及び変更手段として機能する場合もある。
【0049】
図5は、メインメモリ21のメモリマップの一例を示す図である。メインメモリ21には、ゲームプログラムD1、右カメラ情報D2、左カメラ情報D3、オブジェクト情報D4、カメラ間距離パラメータD5、基準面距離パラメータD6、カメラ間距離デフォルト設定情報D7、基準面距離デフォルト設定情報D8、カメラ間距離変化情報D9、基準面距離変化情報D10、カメラ間距離調整パラメータD11及び基準面距離調整パラメータD12等が記憶される。
【0050】
ゲームプログラムD1は、CPU31に図10を用いて後述するゲーム処理を実行させるプログラムである。なお、ゲームプログラムD1は、記憶媒体3から適宜読み出されてメインメモリ21に記憶されてもよいし、通信モジュール25を介して他の情報処理装置からダウンロードしてメインメモリ21に記憶されてもよい。
【0051】
右カメラ情報D2は、右目用仮想カメラCaRの三次元空間における位置及び向きを示す情報である。左カメラ情報D3は、左目用仮想カメラCaLの三次元空間における位置及び向きを示す情報である。オブジェクト情報D4は、三次元空間に位置するオブジェクトの位置、向き及び姿勢等を示す情報である。カメラ間距離パラメータD5は、上述したように、現在設定されている距離L1(図2)を示すパラメータである。このカメラ間距離パラメータD5に基づいて、三次元空間における右目用仮想カメラCaRの位置と左目用仮想カメラCaLの位置とが決定される。基準面距離パラメータD6は、上述したように、現在設定されている距離L3(図2)を示すパラメータである。この基準面距離パラメータD6と、右目用仮想カメラCaRと、左目用仮想カメラCaLの位置に基づいて、基準面Bの位置が決定される。カメラ間距離デフォルト設定情報D7は、距離L1(図2)のデフォルト値を示す。この距離L1のデフォルト値は、ハードウェアスライダ11からの操作データに基づいて変更される。基準面距離デフォルト設定情報D8は、距離L3(図2)のデフォルト値を示す。
【0052】
カメラ間距離変化情報D9は、距離L1(図2)の経時的な変化(デフォルト値からの変化の割合の推移)を示す情報であり、このカメラ間距離変化情報D9に基づいて、カメラ間距離パラメータD5が変更される。カメラ間距離変化情報D9に基づく距離L1の変化についての詳細は、図6を用いて後述する。また、基準面距離変化情報D10は、距離L3(図2)の経時的な変化(デフォルト値からの変化の割合の推移)を示す情報であり、この基準面距離変化情報D10に基づいて、基準面距離パラメータD6が変更される。基準面距離変化情報D10に基づく距離L3の変化についての詳細は、図6を用いて後述する。カメラ間距離調整パラメータD11は、カメラ間距離デフォルト設定情報D7の示すデフォルト値に乗じる係数であり、カメラ間距離変化情報D9に基づいて取得される。カメラ間距離調整パラメータD11を用いて、カメラ間距離パラメータD5が更新される。基準面距離調整パラメータD12は、基準面距離デフォルト設定情報D8の示すデフォルト値に乗じる係数であり、基準面距離変化情報D10に基づいて取得される。基準面距離調整パラメータD12を用いて、基準面距離パラメータD6が更新される。
【0053】
以下に、図6〜9を用いて、本実施例における表示制御処理を説明する。本実施例では、上述したように、カメラ間距離パラメータD5と、基準面距離パラメータD6を周期的に変化させる。まず、図6を用いて、カメラ間距離パラメータD5と基準面距離パラメータD6の周期的な変化について説明する。図6は、カメラ間距離変化情報D9の示す距離L1の「デフォルト値(基準値)からの変化の度合い(割合)」の推移と、基準面距離変化情報D10の示す距離L3の「デフォルト値からの変化の度合い(割合)」の推移を示すグラフである。グラフaは距離L1の「デフォルト値からの変化の割合」を表し、グラフbは距離L3の「デフォルト値からの変化の割合」を表す。図6において、縦軸がカメラ間距離パラメータD5と基準面距離パラメータD6の「デフォルト値からの変化の割合」を示し、横軸が時間の経過を示す。例えば、「デフォルト値からの変化の割合」が「0」だと、カメラ間距離パラメータD5又は基準面距離パラメータD6としてデフォルト値が設定される。そして、例えば、「デフォルト値からの変化の割合」が「+0.25」だと、デフォルト値の125パーセントの値が設定され、「デフォルト値からの変化の割合」が「−0.25」だと、デフォルト値の75パーセントの値が設定される。なお、本実施形態では、カメラ間距離変化情報D9、基準面距離変化情報D10は、距離L1及び距離L3の「デフォルト値からの変化の割合」の推移を示しているが、カメラ間距離パラメータD5及び基準面距離パラメータD6の経時的な値の変化そのものを示すものであってもよい。
【0054】
図6では、距離L1についての「デフォルト値からの変化の割合」と、距離L3についての「デフォルト値からの変化の割合」は、正弦波で表現されるように周期的に変化する。従って、カメラ間距離パラメータD5は、カメラ間距離変化情報D9の示す「デフォルト値からの変化の割合」に基づく上限及び下限の間で増減を繰り返すように周期的に変化することになる。また、基準面距離パラメータD6は、基準面距離変化情報D10の示す「デフォルト値からの変化の割合」に基づく上限及び下限の間で増減を繰り返すように周期的に変化することになる。本実施例では、正弦波の1周期において、複数回の描画タイミングが到来するため、立体視表示における立体度合いを連続的に滑らかに変化することができる。
【0055】
また、カメラ間距離変化情報D9示す変化においては、最大値がデフォルト値の125パーセント、最小値がデフォルト値の75パーセントとされており、基準面距離変化情報D10の示す変化においては、最大値が基準値の120パーセント、最小値が基準値の80パーセントとされている。すなわち、カメラ間距離変化情報D9と基準面距離変化情報D10とで異なる最大値及び最小値に設定されている。具体的には、基準面距離変化情報D10の「デフォルト値からの変化の割合」の最大値は、カメラ間距離変化情報D9示すの「デフォルト値からの変化の割合」の最大値よりも小さい。更に、カメラ間距離パラメータD5の変化の周期と基準面距離パラメータD6の変化の周期は異なる。具体的には、基準面距離パラメータD6の変化の周期は、カメラ間距離パラメータD5の変化の周期よりも長い。このため、立体視表示における立体度合いの変化は、基準面距離パラメータD6の変化の影響よりも、カメラ間距離パラメータD5の変化の影響を強く受けることになる。カメラ間距離パラメータD5の変化と、基準面距離パラメータD6の変化との関係をこのように設定することで、ユーザに対して好適な演出を提供することができる。
【0056】
カメラ間距離パラメータD5の変化と、基準面距離パラメータD6の変化との関係を上記のように設定することが好ましい理由を、図2、図7〜図9Bを用いて以下に記載する。図7は、図2で示した三次元空間において、距離L3を変更せずに、距離L1を大きくした状態を示す図である。図8は、図2で示した三次元空間において、距離L1を変更せずに、距離L3を大きくした状態を示す図である。図9Aは、図7で示す仮想空間において、右目用仮想カメラCaRから撮像した右目用画像と、左目用仮想カメラCaLから撮像した左目用画像とを示す図である。図9Bは、図8で示す仮想空間において、右目用仮想カメラCaRから撮像した右目用画像と、左目用仮想カメラCaLから撮像した左目用画像とを示す図である。
【0057】
図7で示すように、距離L1を大きくすると、図2で示す状態よりも距離L2が大きくなり、図9Aで示すように、右目用画像と左目用画像との視差が大きくなるため、立体視表示における立体度合いが変化する。しかしながら、基準面BとオブジェクトOとの相対的な位置関係は変わらず、このため、ディスプレイ200とオブジェクトOとの相対的な位置関係は変わらない。一方、図8で示すように、距離L3を大きくした場合、図9Bで示すように、右目用画像と左目用画像との視差が変わるとともに、基準面BとオブジェクトOとの相対的な位置関係も変わる。基準面Bの位置がオブジェクトOを超えるまでは、右目用画像のオブジェクトOの位置と左目用画像のオブジェクトOの位置とが近づいていき、基準面Bの位置がオブジェクトOを超えてからは、右目用画像のオブジェクトOの位置と左目用画像のオブジェクトOの位置が左右逆転する。このため、基準面BがオブジェクトOを超えることで、オブジェクトOは、図1Aで示すようにディスプレイ200の奥側に立体視表示されていたのが、図1Bで示すように手前側に立体視表示される。
【0058】
上述したように、基準面Bの位置(距離L3)を変えると、ディスプレイ200とオブジェクトOとの相対的な位置関係まで変わる。この様な特徴を有する距離L3の変化の処理を距離L1の変化の処理に加えて行ない、複数のパラメータの変化によって立体度合いを変更しているため、立体度合いの変化に複雑さを与え、ユーザに対して視覚的に面白い演出を提供している。
【0059】
以下に、図2、図10〜図12を用いて、本実施例にかかるゲーム処理の一例を説明する。図10は、ゲーム処理におけるメイン処理の一例を示すフローチャートである。なお、図10及び後述の図11〜図13Bにおける処理の順番は一例にすぎず、本発明の作用効果を奏する場合には処理の順番を適宜変更することが可能である。ゲーム処理は、例えば、ゲームプログラムD1の起動の指示をユーザから受けたときに、ゲームプログラムD1を実行することによって、CPU31によって行なわれる。まず、CPU31は、仮想的な三次元空間を構築し、所定のデフォルト位置に右目用仮想カメラCaRと左目用仮想カメラCaLとを配置する等の所定の初期処理を実行する(S1)。そして、CPU31は、操作部12から入力された、ユーザのゲーム操作等の操作データを取得する(S2)。次に、CPU31は、カメラ間距離パラメータD5を生成する処理(カメラ間距離パラメータ生成処理)を実行するとともに(S3)、基準面距離パラメータD6を生成する処理(基準面距離パラメータ生成処理)を実行する(S4)。
【0060】
続いて、CPU31は、右目用仮想カメラCaRと左目用仮想カメラCaLの位置及び向きを決定し、この決定した位置及び向きに、三次元空間における右目用仮想カメラCaRと左目用仮想カメラCaLとの位置及び向きを変更する(S5)。なお、右目用仮想カメラCaRと左目用仮想カメラCaLの位置及び向きの決定は、例えば、ステップS2で取得した操作データ(カメラの位置及び向きの変更を示す操作情報を含む)、メインメモリ21に記憶されているカメラ間距離パラメータD5、右カメラ情報D2(前フレームにおける右目用仮想カメラCaRの位置及び向きを示す)及び左カメラ情報D3(前フレームにおける左目用仮想カメラCaLの位置及び向きを示す)に基づいて行なわれる。具体的には、当該カメラ間距離パラメータD5の示す距離L1を開けるように、右目用仮想カメラCaRの位置と左目用仮想カメラCaLの位置が決定される。この後、決定した位置及び向きを示すようにメインメモリ21に記憶されている右カメラ情報D2と左カメラ情報D3とを変更(更新)する。
【0061】
そして、CPU31は、基準面Bの位置を決定し、この決定した位置に、三次元空間における基準面Bの位置を変更する(S6)。なお、基準面Bの位置の決定は、ステップS5で決定した右目用仮想カメラCaRと左目用仮想カメラCaLの位置及び向きと、メインメモリ21に記憶されている基準面距離パラメータD6とに基づいて行なわれる。具体的には、中心位置P3から右目用仮想カメラCaRと左目用仮想カメラCaLの視線方向に向かって、当該基準面距離パラメータD6の示す距離L3だけ離れた位置が、基準面Bの中心点P4の位置として決定される。
【0062】
そして、CPU31は、操作データに基づいてオブジェクトOを三次元空間において移動させる等の所定のゲーム関連処理を行う(S7)。この後、CPU31は、上記右目用画像生成処理を行うとともに(S8)、上記左目用画像生成処理を行う(S9)。この後、CPU31は、ステップS8、S9において生成されてVRAM27に記憶された右目用画像データD100と左目用画像データD200とを用いて、立体画像表示装置2に三次元空間を立体視表示させる処理(立体視表示処理)を行う(S10)。そして、CPU31は、ゲーム終了か否かを判断し(S11)、ゲーム終了であると判断したときには(S11でYES)、ゲーム処理を終了させる。また、ゲーム終了でないと判断したときには(S11でNO)、CPU31は、ゲーム処理をステップS2に戻し、ゲーム終了であると判断するまで(S11でYES)所定の描画周期毎(例えば、1/60sec毎)にステップS2〜S11を繰り返し実行する。
【0063】
以下に図11を用いて、ステップS3のカメラ間距離パラメータ生成処理を説明する。図11は、上記ステップS3におけるカメラ間距離パラメータ生成処理の一例を示すフローチャートである。まず、CPU31は、ハードウェアスライダ11からの操作データ(スライダ操作のデータ)の入力が有るか否かを判断する(S21)。ここで、ハードウェアスライダ11からの操作データの入力が有ると判断した場合には(S21でYES)、CPU31は、当該操作データを取得し(S22)、続くステップS23に処理を進める。なお、ハードウェアスライダ11からの操作データの入力がないと判断した場合には(S21でNO)、CPU31は、ステップS22を実行せずに、続くステップS23に処理を進める。
【0064】
ステップS23では、CPU31は、カメラ間距離調整パラメータD11を生成する(S23)。カメラ間距離調整パラメータD11は、例えばゲーム処理開始時からの経過時間と、カメラ間距離変化情報D9に基づいて生成される。例えば、図6を参照してカメラ間距離調整パラメータD11の生成方法を説明すると、経過時間に対応する「デフォルト値からの変化の割合」が取得され、この「デフォルト値からの変化の割合」でデフォルト値を変化させるための係数がカメラ間距離調整パラメータD11(変化量0.25ならば、1.25)として生成される。この後、CPU31は、カメラ間距離調整パラメータD11に基づいてカメラ間距離パラメータD5を生成する(S24)。例えば、ステップS24では、ステップS22でハードウェアスライダ11からの操作データが取得されている場合には、この該操作データに基づいてカメラ間距離デフォルト設定情報D7が変更される。そして、このカメラ間距離デフォルト設定情報D7の示すデフォルト値にカメラ間距離調整パラメータD11を乗算することで、カメラ間距離パラメータD5が生成される。CPU31はこのカメラ間距離パラメータD5でメインメモリ21を更新する。この後、CPU31は処理をメイン処理に戻す。
【0065】
以下に図12を用いて、ステップS4の基準面距離パラメータ生成処理を説明する。図12は、上記ステップS4における基準面距離パラメータ生成処理の一例を示すフローチャートである。まず、CPU31は、基準面距離調整パラメータD12を生成する(S31)。基準面距離調整パラメータD12は、例えばゲーム処理開始時からの経過時間と、基準面距離変化情報D10に基づいて生成される。例えば、図6を参照して基準面距離調整パラメータD12の生成方法を説明すると、経過時間に対応する「デフォルト値からの変化の割合」が取得され、この「デフォルト値からの変化の割合」でデフォルト値を変化させるための係数が基準面距離調整パラメータD12(変化量0.20ならば、1.20)として生成される。この後、CPU31は、基準面距離調整パラメータD12に基づいて基準面距離パラメータD6を生成する(S32)。例えば、ステップS32では、基準面距離デフォルト設定情報D8の示すデフォルト値に基準面距離調整パラメータD12を乗算することで、基準面距離パラメータD6が生成される。CPU31はこの基準面距離パラメータD6でメインメモリ21を更新する。この後、CPU31は処理をメイン処理に戻す。
【0066】
上述したように、本実施形態によれば、カメラ間距離パラメータD5や、基準面距離パラメータD6等の立体視パラメータが、繰り返し変更されるため、立体視表示の立体度合いが繰り返し変更される。これによって、全く新しい演出をユーザに提供することができる。更に、立体視パラメータが周期的に変化するように、当該立体視パラメータを所定の時間の経過毎に繰り返し変更される。これによって、立体視表示の立体度合いが周期的に変化(増減)することになり、例えば、ユーザが水中に居たり、酔っ払っていたり等のように視界が周期性を持って繊細に変化する感覚をユーザに与えることができる。
【0067】
〔変形例〕
(1)上記実施例によれば、ハードウェアスライダ11によって、カメラ間距離デフォルト設定情報D7の示すデフォルト値を変更可能に構成されているが、この様な構成を備えなくてもよい。
【0068】
(2)上記実施例によれば、描画周期毎に、立体視パラメータを変更しているが、この構成に限定されない。立体視パラメータの変化の周期よりも短く、かつ描画周期とは異なる所定の時間の経過毎に、立体視パラメータが変更されてもよい。また、立体視パラメータは、繰り返し変更されれば所定の時間経過毎に周期的に変更される必要はなく、不定期に繰り返し変更されてもよい。また、上記実施例によれば、立体視パラメータの変化は、一定であるが、例えば、特定の条件が成立したときに、立体視パラメータの変化の仕方(例えば、変化の周期や「デフォルト値からの変化の割合」)を変更してもよい。特定の条件とは、例えば、水中シーンで特定のオブジェクト(船オブジェクト、大魚オブジェクト)がプレイヤキャラクタから所定距離以内に近づいたこと等である。
【0069】
(3)また、特定のシーンを含む複数のシーンに対応する複数の表示対象のうちの何れかが選択的に立体視表示され、特定のシーンに対応する三次元空間が立体視表示されているときにのみ、立体視パラメータが繰り返し変更されてもよい。複数種類のシーンとは、例えば複数種類のゲームシーンのことである。ゲームは、シナリオの進行具合に応じて、あらかじめ「シーン」という単位で区切られている。例えば、複数種類のシーンは、洞窟を探検するシーン、森を探検するシーン及び水中を探検するシーン等である。そして、このうちの一つのシーン(例えば水中を探検するシーン)が、特定のシーンである。
【0070】
図13Aは、上記実施例の変形例にかかるカメラ間距離パラメータ生成処理の一例を示すフローチャートである。図13Aで示すように、ステップS22の実行後でありかつステップS23の実行前に、CPU31は、特定のシーンを表す三次元空間が立体視表示されているかどうかを判断し(S51)、ステップS51でYESのときのみステップS23を実行し、ステップS51でNOのときにはステップS23を実行しない。そして、ステップS23の実行後でありかつステップS24の実行前に、CPU31は、特定のシーンを表す三次元空間が立体視表示されている状態、及び、ハードウェアスライダ11への操作があった状態のいずれかに該当するかどうかを判断する(S52)。そして、CPU31は、ステップS52でYESのときにのみステップS24を実行し、ステップS52でNOのときにはステップS24を実行しない。なお、本変形例では、特定のシーンを表す三次元空間が立体視表示されているときにのみ、図12で示す基準面距離パラメータ生成処理が実行される。本変形例によれば、立体視表示における立体度合いが繰り返し変更されれば効果的な特定のシーン(例えば水中のシーン等)に限って、立体視パラメータが繰り返し変更される。
【0071】
(4)また、三次元空間内で特定のイベントが発生したときにのみ、立体視パラメータが繰り返し変更されてもよい。この特定のイベントは、立体視表示における立体度合いが繰り返し変更されれば効果的なゲームイベントであり、例えば、プレイヤ(プレイヤキャラクタ等)が、他のキャラクタに殴られる等のイベントや、プレイヤが特定のアイテム(酒、薬アイテム等)を取得する等のイベントである。
【0072】
図13Bは、上記実施例の変形例にかかるカメラ間距離パラメータ生成処理の一例を示すフローチャートである。図13Bで示すように、ステップS22の実行後でありかつステップS23の実行前に、CPU31は、特定のイベント発生時から所定期間内であるかどうかを判断し(S61)、ステップS61でYESのときのみステップS23を実行し、ステップS61でNOのときにはステップS23を実行しない。そして、ステップS23の実行後でありかつステップS24の実行前に、CPU31は、特定のイベント発生時から所定期間内であるかどうかの状態、及び、ハードウェアスライダ11への操作があった状態のいずれかに該当するかどうかを判断する(S62)。そして、CPU31は、ステップS62でYESのときにのみステップS24を実行し、ステップS62でNOのときにはステップS24を実行しない。なお、本変形例では、特定のイベント発生時から所定期間内であるときにのみ、図12で示す基準面距離パラメータ生成処理が実行される。本変形例によれば、立体視表示における立体度合いが繰り返し変更されれば効果的な特定のイベントの発生時に限って、立体視パラメータを周期的に変化させることができる。
【0073】
(5)また、ゲーム操作の状態が特定の状態になっているときにのみ、立体視パラメータが繰り返し変更されてもよい。ゲーム操作とは、仮想的な三次元空間を変化させるための操作(例えば、プレイヤキャラクタを移動させるゲーム操作)であり、ハードウェアスライダ11への操作や、ゲーム設定を変更するための操作等は含まない。また、「ゲーム操作の状態が特定の状態になっているとき」とは、例えばユーザから特定のゲーム操作(例えばプレイヤキャラクタを移動させるゲーム操作)が入力されていない状態等である。
【0074】
図13Cは、上記実施例の変形例にかかるカメラ間距離パラメータ生成処理の一例を示すフローチャートである。図13Cで示すように、ステップS22の実行後でありかつステップS23の実行前に、CPU31は、ゲーム操作の状態が特定の状態であるかどうかを判断し(S71)、ステップS71でYESのときのみステップS23を実行し、ステップS71でNOのときにはステップS23を実行しない。そして、ステップS23の実行後でありかつステップS24の実行前に、CPU31は、ゲーム操作の状態が特定の状態、及び、ハードウェアスライダ11への操作があった状態のいずれかに該当するかどうかを判断する(S72)。そして、CPU31は、ステップS72でYESのときにのみステップS24を実行し、ステップS72でNOのときにはステップS24を実行しない。なお、本変形例では、ゲーム操作の状態が特定の状態であるときにのみ、図12で示す基準面距離パラメータ生成処理が実行される。本変形例によれば、立体視表示における立体度合いが繰り返し変更されても、ユーザのゲーム操作を妨げない場合に限って、立体視パラメータを繰り返し変更することができる。
【0075】
(6)上記実施例によれば、カメラ間距離パラメータD5及び基準面距離パラメータD6の両方が、繰り返し変更されているが、何れか一方であってもよい。また、右目用仮想カメラCaRと左目用仮想カメラCaLの向きは繰り返し変更されないが、右目用仮想カメラCaRと左目用仮想カメラCaLの向きも、立体視パラメータとして繰り返し変更されてもよい。
(7)上記実施例では、表示対象は、三次元空間であるがこれに限定されず、実際の右目用カメラ及び左目用カメラによって実際に撮像した現実世界であってもよい。また、表示制御装置において、右目用画像と左目用画像とを生成せずに、予め生成された右目用画像と左目用画像とを用いて、表示装置に立体視表示させてもよい。
【0076】
(8)上記実施例では、表示制御処理は、ゲーム処理に含まれているがこれに限定されず、ゲーム処理とは無関係に行なわれてもよい。
【0077】
(9)表示制御装置は、立体視表示可能な表示装置を外付け又は内蔵して接続可能な情報処理装置であればよいが、例えば、携帯型ゲーム装置、PDA(Personal Digital Assistant)、携帯電話(スマートフォンを含む)、3Dテレビ受像機に接続される据え置き型ゲーム装置、パーソナルコンピュータ等である。また、表示制御装置の表示制御処理の一部をサーバ等の他の情報処理装置で負担してもよく、表示制御装置と他の情報処理装置とを含む複数の情報処理装置で表示制御システムを構成してもよい。
【符号の説明】
【0078】
1 ゲーム装置
2 立体画像表示装置
12 操作部
D1 ゲームプログラム
D5 カメラ間距離パラメータ
D6 基準面距離パラメータ
D100 右目用画像データ
D200 左目用画像データ

【特許請求の範囲】
【請求項1】
立体視表示が可能な表示装置に接続された表示制御装置のコンピュータを、
前記立体視表示における立体度合いを設定するための立体視パラメータに基づいて、互いに視差を有する右目用画像と左目用画像とを用いて、前記表示装置に立体視表示させる処理を繰り返し実行する表示処理手段、及び
前記立体視パラメータを繰り返し変更する変更手段、
として機能させる、表示制御プログラム。
【請求項2】
前記右目用画像と左目用画像には、仮想的な三次元空間が描画され、
前記立体視パラメータは、前記三次元空間に配置された右目用仮想カメラと左目用仮想カメラとの間の第1の距離を少なくとも含み、
前記表示処理手段は、
前記変更手段によって変更された前記立体視パラメータに基づいて、前記右目用仮想カメラと前記左目用仮想カメラとの間の距離を変更するカメラ位置変更手段、及び
前記右目用仮想カメラから前記三次元空間を撮像した前記右目用画像と、前記左目用仮想カメラから前記三次元空間を撮像した前記左目用画像とを繰り返し生成する画像生成手段、を含む、
請求項1に記載の表示制御プログラム。
【請求項3】
前記右目用画像と左目用画像には、仮想的な三次元空間が描画され、
前記立体視パラメータは、前記三次元空間に配置された右目用仮想カメラ及び/または左目用仮想カメラから基準面までの距離、若しくは前記右目用仮想カメラと前記左目用仮想カメラとの間の所定位置から前記基準面までの距離である第2の距離を少なくとも含み、
前記表示処理手段は、
前記変更手段によって変更された前記立体視パラメータに基づいて、前記基準面の位置を変更する基準面変更手段、及び
前記右目用仮想カメラから前記三次元空間を撮像した前記右目用画像と、前記左目用仮想カメラから前記三次元空間を撮像した前記左目用画像とを前記基準面に基づいて繰り返し生成する画像生成手段、を含む、
請求項1に記載の表示制御プログラム。
【請求項4】
前記立体視パラメータは複数あり、当該複数の立体視パラメータは、前記第1の距離に加えて、前記右目用仮想カメラ及び/又は前記左目用仮想カメラから基準面までの距離、若しくは前記右目用仮想カメラと前記左目用仮想カメラとの間の所定位置から前記基準面までの距離である第2の距離を少なくとも含み、
前記表示処理手段は、前記カメラ位置変更手段及び前記画像生成手段に加えて、前記変更手段によって変更された前記第2の距離に基づいて、前記基準面の位置を変更する基準面変更手段を更に含み、
前記画像生成手段は、前記右目用仮想カメラから前記三次元空間を撮像した前記右目用画像と、前記左目用仮想カメラから前記三次元空間を撮像した前記左目用画像とを、前記基準面に基づいて繰り返し生成する、
請求項2に記載の表示制御プログラム。
【請求項5】
前記変更手段は、前記立体視パラメータが周期的に変化するように、前記立体視パラメータを繰り返し変更する、請求項1から4の何れかに記載の表示制御プログラム。
【請求項6】
前記変更手段は、前記立体視パラメータが所定の上限及び当該上限とは異なる所定の下限との間で増減を繰り返すように前記立体視パラメータを変更する、請求項1から5の何れかに記載の表示制御プログラム。
【請求項7】
前記所定の上限及び前記所定の下限は、対象となる前記立体視パラメータにおける基準値の所定割合に基づいた値である、
請求項6に記載の表示制御プログラム。
【請求項8】
前記変更手段は、前記第1の距離と、前記第2の距離とがそれぞれ異なる周期で周期的に変化するように、前記立体視パラメータを繰り返し変更する、
請求項4に記載の表示制御プログラム。
【請求項9】
前記変更手段は、前記立体視パラメータが所定の上限及び当該上限とは異なる所定の下限との間で増減を繰り返すように前記立体視パラメータを変更し、
前記所定の上限及び前記所定の下限は、対象となる前記立体視パラメータにおける基準値の所定割合に基づいた値であり、
前記所定割合は、前記第1の距離、及び前記第2の距離とでそれぞれ異なる割合とする、
請求項4に記載の表示制御プログラム。
【請求項10】
前記変更手段は、前記立体視パラメータを繰り返し変更することにより、前記立体視表示における立体度合いを繰り返し変更する
請求項1から9の何れかに記載の表示制御プログラム。
【請求項11】
前記表示処理手段は、特定のシーンを含む複数のシーンのうちの何れかを選択的に前記表示装置に立体視表示させ、
前記変更手段は、前記特定のシーンが立体視表示されるときに、前記立体視パラメータを繰り返し変更する、
請求項1から10の何れかに記載の表示制御プログラム。
【請求項12】
前記表示処理手段は、仮想的な三次元空間を撮像した画像を前記表示装置に立体視表示させ、
前記変更手段は、前記三次元空間内で特定のイベントが発生したときに、前記立体視パラメータを繰り返し変更する、
請求項1から11の何れかに記載の表示制御プログラム。
【請求項13】
前記表示制御装置は、ユーザの操作を受け付ける操作手段に接続され、
前記表示処理手段は、前記操作に応じた仮想的な三次元空間を前記表示装置に立体視表示させ、
前記変更手段は、前記操作の状態が特定の状態であるときに、前記立体視パラメータを繰り返し変更する、
請求項1から12の何れかに記載の表示制御プログラム。
【請求項14】
立体視表示が可能な表示装置に接続された表示制御装置であって、
前記立体視表示における立体度合いを設定するための立体視パラメータに基づいて、互いに視差を有する右目用画像と左目用画像とを用いて、前記表示装置に立体視表示させる処理を繰り返し実行する表示処理手段、及び
前記立体視パラメータを繰り返し変更する変更手段、
を備える表示制御装置。
【請求項15】
立体視表示が可能な表示装置に接続され、複数の情報処理装置からなる表示制御システムあって、
前記立体視表示における立体度合いを設定するための立体視パラメータに基づいて、互いに視差を有する右目用画像と左目用画像とを用いて、前記表示装置に立体視表示させる処理を繰り返し実行する表示処理手段、及び
前記立体視パラメータを繰り返し変更する変更手段、
を備える表示制御システム。
【請求項16】
立体視表示が可能な表示装置に接続された表示制御装置を用いた表示制御方法であって、
前記立体視表示における立体度合いを調整するための立体視パラメータに基づいて、共通の表示対象を含み、かつ互いに視差を有する右目用画像と左目用画像とを用いて前記表示対象を前記表示装置に立体視表示させる処理を繰り返し実行する表示処理ステップ、及び
前記立体視パラメータを繰り返し変更する変更ステップ、
を含む表示制御方法。

【図1A】
image rotate

【図1B】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13A】
image rotate

【図13B】
image rotate

【図13C】
image rotate


【公開番号】特開2013−51460(P2013−51460A)
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願番号】特願2011−186741(P2011−186741)
【出願日】平成23年8月30日(2011.8.30)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.フロッピー
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】