説明

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

【課題】立体視に伴う不快感が抑制、緩和された画像の表示が可能とする表示制御プログラム等の提供。
【解決手段】立体視表示可能な表示装置に所定の仮想空間の表示を行う表示制御装置のコンピュータで実行される表示制御プログラムであって、コンピュータを、仮想空間に所定のオブジェクトを配置するオブジェクト配置手段と;仮想空間の仮想的な撮影に用いられる仮想カメラの位置に基づいた視点位置と仮想空間で表示されるオブジェクトとの間に規定される距離を計算し、オブジェクトの透明度を、距離が長くなるほど高くなるように設定する透明度設定手段と;仮想空間を右仮想カメラおよび左仮想カメラで撮影して右眼用画像および左眼用画像を生成する画像生成手段と;画像生成手段で生成した右眼用画像および左眼用画像を表示装置に表示する表示制御手段として機能させる、表示制御プログラム。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示制御プログラム、表示制御装置、表示制御方法および表示制御システムに関する。より具体的には、本発明は、立体視表示が可能な表示装置への表示制御を行うための表示制御プログラム、表示制御装置、表示制御方法および表示制御システムに関する。
【背景技術】
【0002】
立体視表示が可能な表示装置は、物体像を奥行の伴った3次元の像として知覚できるように提供する表示装置である。立体視表示が可能な表示装置は、両眼視差(右眼および左眼の両方で同一点を注視した場合の視線方向の差)、運動視差、輻輳、焦点調節などの現象を利用することで、そのユーザに3次元画像における奥行き感を提供している。
【0003】
従来の立体視表示が可能な表示装置の例としては、パララックスバリア方式による立体映像表示装置が挙げられる。このパララックスバリア方式による立体映像表示装置は、例えば、特許文献1に記載されるように、液晶パネルの前面に配置される液晶パララックスバリアを備えている。この装置は、液晶パララックスバリアへの電圧印加を制御して、その遮光部の透過率を変化させることにより、2次元(2D)映像表示と3次元(3D)映像表示とを切り替えることを可能にする。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平3−119889号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述した装置のような立体視表示が可能な表示装置は、3D映像表示を提供する際に、左眼用画像および右眼用画像を生成する。この左眼用画像および右眼用画像は、ユーザに適切に提示された際に互いに対して所定の視差(両眼視差)が生じるように生成された画像として提供される。
【0006】
しかし、左眼用画像および右眼用画像は、立体視を適切に提供するのに必要な差異以外に、所望しない差異も生じた状態で提供される場合がある。例えば、それぞれの画像に含まれる同一被写体が、視差方向に沿った幅が狭い物体であるとき、透視変換処理を受けた当該被写体が、その視点との位置関係などにより、左眼用画像および右眼用画像のそれぞれにおいて異なる態様で、部分的に切れたように表示される場合がある。
【0007】
このような現象が生じると、例えば、表示対象の明滅として知覚されることに起因して、ユーザは不快感を有する場合があった。したがって、このような立体視の際の不快感を取り除くための表示制御が可能なプログラム等が提供されることが望まれていた。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明は、その一例として、以下のような態様で提供され得る。以下で示した具体的な記載のいずれもが、本発明を理解するために示した例示的な記載であって、本発明がこの例に限定されることを意図するものではない。すなわち、当業者は、その具体的な記載から、本発明に関する記載および技術常識に基づいて均等な範囲を実施することができることが理解される。
【0009】
一態様において、本発明は、立体視表示可能な表示装置に所定の仮想空間の表示を行う表示制御装置のコンピュータで実行される表示制御プログラムを提供する。ここで、この表示制御プログラムは、上記コンピュータを、オブジェクト配置手段と、透明度設定手段と、画像生成手段と、表示制御手段として機能させる。
【0010】
オブジェクト配置手段は、上記仮想空間に所定のオブジェクトを配置する。透明度設定手段は、上記仮想空間の仮想的な撮影に用いられる仮想カメラの位置に基づいた視点位置と上記仮想空間で配置されるオブジェクトとの間に規定される距離に応じ、上記オブジェクトの一部またはすべての透明度を、上記距離が長くなるほど高くなるように設定する。画像生成手段は、上記仮想空間を右仮想カメラおよび左仮想カメラで撮影して右眼用画像および左眼用画像を生成する。ここで、当該右眼用画像および当該左眼用画像に含まれる上述の所定のオブジェクトは、上記透明度設定手段により設定された透明度を有する。表示制御手段は、上記画像生成手段で生成した右眼用画像および左眼用画像を上記表示装置に表示する。
【0011】
本明細書において使用される場合、「仮想カメラ」は、透視変換処理によって任意の3次元仮想オブジェクトを含む3次元仮想空間を所定の投影面に投影する際の視点に対応する概念である。この「仮想カメラ」の位置を規定することで、任意の視点に基づく遠近感をもった画像が提供される。この「仮想カメラ」のうち、「右仮想カメラ」および「左仮想カメラ」は、それぞれ、立体視を提供するための右眼用画像および左眼用画像を生成する際の視点に対応するものである。
【0012】
一実施形態において、上記透明度設定手段は、上記右眼用画像と上記左眼用画像との間で上記表示装置上での上記オブジェクトの表示態様が同程度となるように、上記オブジェクトの透明度を設定する。
【0013】
ここで、右眼用画像および左眼用画像における、オブジェクトの「表示装置上での表示態様」とは、その画像の組について、当該表示装置に表示しようとするオブジェクトの全部または部分が、表示装置を介して観察者により視認される態様である。また、その右眼用画像および左眼用画像における、対象オブジェクトの表示態様が「同程度」であるとは、立体視を提供するために必要な視差以外の差異を右眼用画像および左眼用画像が実質的に含まない状態である。ここで「実質的に含まない」と表現は、右眼用画像と左眼用画像との間に厳密な意味で何らかの差異がある場合であっても、それらの画像における特性(例えば、透明度など)の効果によって、当該差異に起因するアーチファクト、不快感などを観察者に知覚させない状態であれば、差異は含まないとすることを意図する。
【0014】
他の実施形態において、上記透明度設定手段は、上記所定のオブジェクトを規定するモデルの属性データにおける透明度を設定する。
【0015】
他の実施形態において、上記透明度設定手段は、上記所定のオブジェクトにマッピングするテクスチャ画像の透明度を設定する。
【0016】
他の実施形態において、上記透明度設定手段は、上記視点位置から上記所定のオブジェクトまでの距離に基づいて、予め用意された複数種類の透明度を有するテクスチャ画像群の中から、1以上のテクスチャ画像を選択するテクスチャ画像選択手段を含む。
【0017】
他の実施形態において、上記複数種類のテクスチャ画像群は、ミップマップによる画像群である。
【0018】
他の実施形態において、上記所定のオブジェクトは、上記右眼用画像および上記左眼用画像を生成される際に生じる視差方向に沿った幅が上記表示装置の表示領域における視差方向の長さに対して相対的に狭い部分を少なくとも有するオブジェクトである。ここで、上記相対的に狭い部分の幅が、その表示領域における単位表示領域が有する視差方向に沿った長さに相当するものであってもよい。
【0019】
他の実施形態において、上記コンピュータを、上記所定のオブジェクトが、上記右眼用画像および左眼用画像を生成される際に生じる視差方向に沿った幅が上記表示装置の表示領域における視差方向の長さに対して相対的に狭い部分を有するオブジェクトであるか否かを判定するオブジェクト判定手段としてさらに機能させる。そして、上記透明度設定手段は、上記オブジェクトが、上記オブジェクト判定手段で視差方向に沿った幅が相対的に狭い部分を有するオブジェクトであると判定された際に上記距離に応じた透明度を上記オブジェクトにおいて設定する。
【0020】
他の実施形態において、上記視点位置は、上記右仮想カメラまたは上記左仮想カメラの位置である。
【0021】
他の実施形態において、上記視点位置は、上記右仮想カメラと上記左仮想カメラの中点位置である。
【0022】
他の実施形態において、上記透明度設定手段は、上記視点位置から上記所定のオブジェクトまでの距離の増分に応じて、一定量ずつ上記透明度が高くなるように設定する。
【0023】
また、別の態様において、上述のゲームプログラムは、それを実行する装置として使用されたとしても、1または複数の装置が通信可能に構成されるシステムとして使用されてもよい。また、本発明は、上述のようなプログラム、装置、システムとして実装され得る、方法も含む。
【0024】
なお、本明細書で使用される場合、「コンピュータ読み取り可能な記憶媒体」との用語は、プログラム、コードおよび/またはデータをコンピュータシステムによって使用するために記憶することが可能な、任意の装置または媒体をいう。コンピュータ読み取り可能な記憶媒体は、コンピュータシステムによって読み取りが可能である限りにおいて、揮発性であっても、不揮発性であってもよい。コンピュータ読み取り可能な記憶媒体としては、例えば、磁気テープ、ハードディスクドライブ(HDD)、コンパクトディスク(CD)、デジタルバーサタイルディスク(DVD)、ブルーレイディスク(BD)、半導体メモリなどが挙げられるが、これらに限られない。
【0025】
また、本明細書において使用される場合、「システム」(例えば、ゲームシステム、情報処理システム)との用語は、1つの装置で構成されてもよく、また、複数の装置であって、その各々の装置が他の装置のいずれかと通信可能であるものであってもよい。
【発明の効果】
【0026】
本発明によって、立体視に伴う不快感が抑制、緩和された画像の表示が可能となる。
【図面の簡単な説明】
【0027】
【図1】開状態におけるゲーム装置10の正面図
【図2】閉状態におけるゲーム装置10の左側面図、正面図、右側面図および背面図
【図3】ゲーム装置10の内部構成を示すブロック図
【図4】ゲーム装置10の上側LCD22に表示されるオブジェクトの一例を示す模式図
【図5】従来の表示制御処理を用いて、仮想オブジェクトAの位置と視点(左仮想カメラの位置)との距離が、図4で示された例よりも長くなっている場合の左眼用画像の一例
【図6】表示制御プログラムに従った処理が行われた際に得られた左眼用画像の例の模式図
【図7】手前から奥行方向に延びる路に沿って位置づけられた複数の立木(のモデル)が存在する3次元仮想空間が透視変換処理を受けることで得た画像の一例を示す模式図
【図8】ゲーム装置10における記憶領域を例示したメモリマップ
【図9A】本発明の例示的な実施形態における表示制御プログラムによるメイン処理について説明するためのフローチャート
【図9B】図9Aに示された描画条件処理の一例を説明するためのフローチャート
【図9C】図9Bに示された条件選択処理の一例を説明するためのフローチャート
【図9D】図9Cに示された例示的な条件選択処理の変形例を説明するためのフローチャート
【図9E】図9Cに示された例示的な条件選択処理の変形例を説明するためのフローチャート
【発明を実施するための形態】
【0028】
(ゲーム装置の構成例)
以下、本発明の一実施形態に係るゲーム装置について説明する。図1および図2は、ゲーム装置10の外観を示す平面図である。ゲーム装置10は携帯型のゲーム装置であり、図1および図2に示すように折り畳み可能に構成されている。図1は、開いた状態(開状態)におけるゲーム装置10を示し、図2は、閉じた状態(閉状態)におけるゲーム装置10を示している。図1は、開状態におけるゲーム装置10の正面図である。ゲーム装置10は、撮像部によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード内に記憶され、または、サーバーや他のゲーム装置から受信したゲームプログラムを実行可能であり、仮想空間に設定された仮想カメラで撮像した画像などのコンピュータグラフィックス処理により生成された画像を画面に表示したりすることができる。
【0029】
まず、図1および図2を参照して、ゲーム装置10の外観構成について説明する。図1および図2に示されるように、ゲーム装置10は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に接続されている。
【0030】
(下側ハウジングの説明)
まず、下側ハウジング11の構成について説明する。図1および図2に示すように、下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L、アナログスティック15、LED16A〜16B、挿入口17、および、マイクロフォン用孔18が設けられる。以下、これらの詳細について説明する。
【0031】
図1に示すように、下側LCD12は下側ハウジング11に収納される。下側LCD12の画素数は、例えば、320dot×240dot(横×縦)であってもよい。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。また、下側LCD12として、任意の解像度の表示装置を利用することができる。
【0032】
図1に示されるように、ゲーム装置10は、入力装置として、タッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上に装着されている。なお、本実施形態では、タッチパネル13は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度が一致している必要はない。また、下側ハウジング11の上側面には挿入口17(図1および図2(d)に示す点線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常タッチペン28を用いて行われるが、タッチペン28に限らずユーザの指でタッチパネル13に対する入力をすることも可能である。
【0033】
各操作ボタン14A〜14Lは、所定の入力を行うための入力装置である。図1に示されるように、下側ハウジング11の内側面(主面)には、各操作ボタン14A〜14Lのうち、十字ボタン14A(方向入力ボタン14A)、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lが、設けられる。十字ボタン14Aは、十字の形状を有しており、上下左右の方向を指示するボタンを有している。ボタン14A〜14E、セレクトボタン14J、HOMEボタン14K、およびスタートボタン14Lには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。
【0034】
アナログスティック15は、方向を指示するデバイスである。アナログスティック15は、そのキートップが、下側ハウジング11の内側面に平行にスライドするように構成されている。アナログスティック15は、ゲーム装置10が実行するプログラムに応じて機能する。例えば、3次元仮想空間に所定のオブジェクトが登場するゲームがゲーム装置10によって実行される場合、アナログスティック15は、当該所定のオブジェクトを3次元仮想空間内で移動させるための入力装置として機能する。この場合において、所定のオブジェクトはアナログスティック15のキートップがスライドした方向に移動される。なお、アナログスティック15として、上下左右および斜め方向の任意の方向に所定量だけ傾倒することでアナログ入力を可能としたものを用いても良い。
【0035】
また、下側ハウジング11の内側面には、マイクロフォン用孔18が設けられる。マイクロフォン用孔18の下部には後述する音声入力装置としてのマイク42(図3参照)が設けられ、当該マイク42がゲーム装置10の外部の音を検出する。
【0036】
図2(a)は閉状態におけるゲーム装置10の左側面図であり、図2(b)は閉状態におけるゲーム装置10の正面図であり、図2(c)は閉状態におけるゲーム装置10の右側面図であり、図2(d)は閉状態におけるゲーム装置10の背面図である。図2(b)および(d)に示されるように、下側ハウジング11の上側面には、Lボタン14GおよびRボタン14Hが設けられている。Lボタン14GおよびRボタン14Hは、例えば、撮像部のシャッターボタン(撮影指示ボタン)として機能することができる。また、図2(a)に示されるように、下側ハウジング11の左側面には、音量ボタン14Iが設けられる。音量ボタン14Iは、ゲーム装置10が備えるスピーカの音量を調整するために用いられる。
【0037】
図2(a)に示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられる。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ45とを電気的に接続するためのコネクタ(図示せず)が設けられる。データ保存用外部メモリ45は、コネクタに着脱自在に装着される。データ保存用外部メモリ45は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。
【0038】
また、図2(d)に示されるように、下側ハウジング11の上側面には、ゲーム装置10とゲームプログラムを記録した外部メモリ44を挿入するための挿入口11Dが設けられ、その挿入口11Dの内部には、外部メモリ44と電気的に着脱自在に接続するためのコネクタ(図示せず)が設けられる。当該外部メモリ44がゲーム装置10に接続されることにより、所定のゲームプログラムが実行される。
【0039】
また、図1および図2(c)に示されるように、下側ハウジング11の下側面にはゲーム装置10の電源のON/OFF状況をユーザに通知する第1LED16A、下側ハウジング11の右側面にはゲーム装置10の無線通信の確立状況をユーザに通知する第2LED16Bが設けられる。ゲーム装置10は他の機器との間で無線通信を行うことが可能であり、第2LED16Bは、無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられる(図2(c)参照)。
【0040】
なお、図示は省略するが、下側ハウジング11には、ゲーム装置10の電源となる充電式電池が収納され、下側ハウジング11の側面(例えば、上側面)に設けられた端子を介して当該電池を充電することができる。
【0041】
(上側ハウジングの説明)
次に、上側ハウジング21の構成について説明する。図1および図2に示すように、上側ハウジング21には、上側LCD(Liquid Crystal Display:液晶表示装置)22、外側撮像部23(外側撮像部(左)23aおよび外側撮像部(右)23b)、内側撮像部24、3D調整スイッチ25、および、3Dインジケータ26が設けられる。以下、これらの詳細について説明する。
【0042】
図1に示すように、上側LCD22は上側ハウジング21に収納される。上側LCD22の画素数は、例えば、800dot×240dot(横×縦)であってもよい。なお、本実施形態では上側LCD22は液晶表示装置であるとしたが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置などが利用されてもよい。また、上側LCD22として、任意の解像度の表示装置を利用することができる。
【0043】
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。また、本実施例では、実質的に同一の表示領域を用いて左眼用画像と右眼用画像が表示される。
【0044】
具体的には、左眼用画像と右眼用画像が所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。または、左眼用画像と右眼用画像とが交互に表示される方式の表示装置であってもよい。また、本実施例では、裸眼立体視可能な表示装置である。そして、横方向に交互に表示される左眼用画像と右眼用画像とを左眼および右眼のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22はパララックスバリア方式のものとする。上側LCD22は、右眼用画像と左眼用画像とを用いて、裸眼で立体視可能な画像(立体画像)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左眼に左眼用画像をユーザの右眼に右眼用画像を視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。すなわち、表示された同一の画像が右眼にも左眼にも見えるような表示モードである)。このように、上側LCD22は、立体視可能な画像を表示する立体表示モードと、画像を平面的に表示する(平面視画像を表示する)平面表示モードとを切り替えることが可能な表示装置である。この表示モードの切り替えは、後述する3D調整スイッチ25によって行われる。
【0045】
外側撮像部23は、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の背面)21Dに設けられた2つの撮像部(23aおよび23b)の総称である。外側撮像部(左)23aと外側撮像部(右)23bの撮像方向は、いずれも当該外側面21Dの外向きの法線方向である。外側撮像部(左)23aと外側撮像部(右)23bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。外側撮像部(左)23aおよび外側撮像部(右)23bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0046】
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられ、当該内側面の内向きの法線方向を撮像方向とする撮像部である。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0047】
3D調整スイッチ25は、スライドスイッチであり、上述のように上側LCD22の表示モードを切り替えるために用いられるスイッチである。また、3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。3D調整スイッチ25のスライダ25aは、所定方向(上下方向)の任意の位置にスライド可能であり、当該スライダ25aの位置に応じて上側LCD22の表示モードが設定される。また、スライダ25aの位置に応じて、立体画像の見え方が調整される。具体的には、スライダ25aの位置に応じて、右眼用画像および左眼用画像の横方向の位置のずれ量が調整される。
【0048】
3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効の場合に点灯する。なお、3Dインジケータ26は、上側LCD22が立体表示モードになっており、かつ、立体視画像を表示するプログラム処理が実行されているときに限り、点灯するようにしてもよい。
【0049】
また、上側ハウジング21の内側面には、スピーカ孔21Eが設けられる。後述するスピーカ43からの音声がこのスピーカ孔21Eから出力される。
【0050】
(ゲーム装置10の内部構成)
次に、図3を参照して、ゲーム装置10の内部の電気的構成について説明する。図3は、ゲーム装置10の内部構成を示すブロック図である。図3に示すように、ゲーム装置10は、上述した各部に加えて、情報処理部31、メインメモリ32、外部メモリインターフェイス(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、電源回路40、およびインターフェイス回路(I/F回路)41等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
【0051】
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。情報処理部31のCPU311は、ゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ44やデータ保存用内部メモリ35)に記憶されているプログラムを実行することによって、当該プログラムに応じた処理を実行する。なお、情報処理部31のCPU311によって実行されるプログラムは、他の機器との通信によって他の機器から取得されてもよい。また、情報処理部31は、VRAM(Video RAM)313を含む。情報処理部31のGPU312は、情報処理部31のCPU311からの命令に応じて画像を生成し、VRAM313に描画する。そして、情報処理部31のGPU312は、VRAM313に描画された画像を上側LCD22及び/又は下側LCD12に出力し、上側LCD22及び/又は下側LCD12に当該画像が表示される。
【0052】
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、および、データ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ44を着脱自在に接続するためのインターフェイスである。また、データ保存用外部メモリI/F34は、データ保存用外部メモリ45を着脱自在に接続するためのインターフェイスである。
【0053】
メインメモリ32は、情報処理部31(のCPU311)のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、上記プログラムに基づく処理に用いられる各種データを一時的に記憶したり、外部(外部メモリ44や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)を用いる。
【0054】
外部メモリ44は、情報処理部31によって実行されるプログラムを記憶するための不揮発性の記憶手段である。外部メモリ44は、例えば読み取り専用の半導体メモリで構成される。外部メモリ44が外部メモリI/F33に接続されると、情報処理部31は外部メモリ44に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。データ保存用外部メモリ45は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ45には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ45がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ45に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
【0055】
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【0056】
無線通信モジュール36は、例えばIEEE802.11b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール37は、所定の通信方式(例えば独自プロトコルによる通信や、赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール36およびローカル通信モジュール37は情報処理部31に接続される。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0057】
また、情報処理部31には、加速度センサ39が接続される。加速度センサ39は、3軸(xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。加速度センサ39は、下側ハウジング11の内部に設けられる。加速度センサ39は、図1に示すように、下側ハウジング11の長辺方向をx軸、下側ハウジング11の短辺方向をy軸、下側ハウジング11の内側面(主面)に対して垂直な方向をz軸として、各軸の直線加速度の大きさを検出する。なお、加速度センサ39は、例えば静電容量式の加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸又は2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置10の姿勢や動きを検出することができる。
【0058】
また、情報処理部31には、RTC38および電源回路40が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路40は、ゲーム装置10が有する電源(下側ハウジング11に収納される上記充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
【0059】
また、情報処理部31には、I/F回路41が接続される。I/F回路41には、マイク42およびスピーカ43が接続される。具体的には、I/F回路41には、図示しないアンプを介してスピーカ43が接続される。マイク42は、ユーザの音声を検知して音声信号をI/F回路41に出力する。アンプは、I/F回路41からの音声信号を増幅し、音声をスピーカ43から出力させる。また、タッチパネル13はI/F回路41に接続される。I/F回路41は、マイク42およびスピーカ43(アンプ)の制御を行う音声制御回路と、タッチパネルの制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置の座標を示す。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われた位置を知ることができる。
【0060】
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に従った処理を実行する。
【0061】
下側LCD12および上側LCD22は情報処理部31に接続される。下側LCD12および上側LCD22は、情報処理部31(のGPU312)の指示に従って画像を表示する。本実施形態では、情報処理部31は、上側LCD22に立体画像(立体視可能な画像)を表示させる。
【0062】
具体的には、情報処理部31は、上側LCD22のLCDコントローラ(図示せず)と接続され、当該LCDコントローラに対して視差バリアのON/OFFを制御する。上側LCD22の視差バリアがONになっている場合、情報処理部31のVRAM313に格納された右眼用画像と左眼用画像とが、上側LCD22に出力される。より具体的には、LCDコントローラは、右眼用画像について縦方向に1ライン分の画素データを読み出す処理と、左眼用画像について縦方向に1ライン分の画素データを読み出す処理とを交互に繰り返すことによって、VRAM313から右眼用画像と左眼用画像とを読み出す。これにより、右眼用画像および左眼用画像が、画素を縦に1ライン毎に並んだ短冊状画像に分割され、分割された右眼用画像の短冊状画像と左眼用画像の短冊状画像とが交互に配置された画像が、上側LCD22の画面に表示される。そして、上側LCD22の視差バリアを介して当該画像がユーザに視認されることによって、ユーザの右眼に右眼用画像が、ユーザの左眼に左眼用画像が視認される。以上により、上側LCD22の画面には立体視可能な画像が表示される。
【0063】
外側撮像部23および内側撮像部24は、情報処理部31に接続される。外側撮像部23および内側撮像部24は、情報処理部31の指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。
【0064】
3D調整スイッチ25は、情報処理部31に接続される。3D調整スイッチ25は、スライダ25aの位置に応じた電気信号を情報処理部31に送信する。
【0065】
また、3Dインジケータ26は、情報処理部31に接続される。情報処理部31は、3Dインジケータ26の点灯を制御する。例えば、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。以上がゲーム装置10の内部構成の説明である。
【0066】
(表示制御プログラムによる例示的な実施形態)
次に、本発明の例示的な実施形態な表示制御プログラム70に従い処理が行われた場合に、ゲーム装置10の上側LCD22に立体表示するための画像に対する制御処理の概要を、図4から図7までを参照しつつ説明する。
【0067】
図4は、ゲーム装置10の上側LCD22に表示されるオブジェクトの一例を示す模式図である。図4は、CPU311が視差バリアを無効にした状態で仮想オブジェクトAを上側LCD22に表示した状態を示す。図4の外枠線が、上側LCD22の表示領域を表し、紙面に向かって横方向は、ユーザの視差方向と平行な方向である。ここで表示される仮想オブジェクトAは、照明器具を模したオブジェクトであり、仮想空間に設定された天井から鉛直方向に垂れた細長い紐状部材(図4の矢印記号が指す部位)とそれに取付けられた本体部分とからなるモデルにより表現されている。
【0068】
本発明の例示的な表示制御プログラムの処理を、本発明の例示的な表示制御プログラムに従った処理と対照するため、まず、図4に示される仮想オブジェクトAを例にとり、図5を参照しつつ、表示制御プログラムに従った処理がなされていない場合について説明する。
【0069】
図5は、従来の表示制御処理を用いて、仮想オブジェクトAの位置と視点(左仮想カメラの位置)との距離が、図4で示された例よりも長くなっている場合の左眼用画像の一例を示す。具体的には、図5で示された模式図は、仮想オブジェクトAを含む仮想空間(ワールド座標系)の透視変換後に、その視点(左仮想カメラ位置)から仮想オブジェクトAまでの距離が、図4に示された位置関係と比べて長くなったときの3次元仮想空間を示す左眼用画像を例示する。この例では、仮想空間内に位置づけられる仮想オブジェクトAが、その視点との位置関係などの影響のために、その紐状部材の一部が途切れた状態で表示されている。
【0070】
この例では、視差方向と垂直な方向に延びる仮想オブジェクトAの紐状部材は、視点との距離が一定以上の長さとなると、視差方向の幅が狭いために、その一部が途切れた状態で表示される傾向がある。すなわち、上述の仮想オブジェクトAの紐状部材は、視差方向の長さが表示装置の表示領域における視差方向の長さに対して相対的に短い部分であり、透視変換後の視点からの距離が遠くなった際には、上側LCD22に表示される左眼用画像上に部分的に現れない場合がある。そして、図5は、左眼用画像の一例を示すものであるが、右眼用画像でもこれと同様の現象がおきる傾向がある。
【0071】
さらに、このような仮想オブジェクトの画像上での表示が部分的に現れない態様において、右眼用画像と左眼用画像との間で差異が生じ得る。すなわち、視差方向に幅の狭い仮想オブジェクトは、視点からの距離が大きくなると、画像上での表示として現れない部分を有する傾向があり、その表示上現れない部分の位置が、立体視のために対となる右眼用画像と左眼用画像との間で異なる場合ある。
【0072】
この対となる右眼用画像と左眼用画像との間で、画像上での表示として現れない部分に差異がある場合であって、その対となる画像が立体視を提供するために上側LCD22に表示されるとき、ユーザは、右眼用画像と左眼用画像との当該差異に起因して、不快感を感じ得る。そして、右眼用画像と左眼用画像との間で当該オブジェクトの表示上の有無に差が生じるとき(図5の例でいえば、例えば、矢印記号で示めされるような部分的に消える部位の位置が、右眼用画像と左眼用画像との間で相違するとき)、ユーザに(ちらつきなどに起因する)不快感をもたらす。
【0073】
次に、仮想オブジェクトAと視点との位置関係が図5と同一の場合であって、本発明の例示的な表示制御プログラムに従って処理が行われた場合について説明する。本発明の例示的な表示制御プログラムに従った処理がなされた場合、上述のような不快感は抑制または除去される。具体的な処理の手順は、後続の図に示されるフローチャートなどを参照しつつ説明するが、ここでは、当該表示制御プログラムに従った処理によって、立体視の際の不快感を軽減するための技術的な特徴について概説する。
【0074】
図6は、表示制御プログラムに従った処理が行われた際に得られた左眼用画像の例を模式的に示している。具体的には、仮想オブジェクトAの位置と視点(左仮想カメラの位置)との位置関係(距離)が、図5で示された例と同じである場合であって、当該表示制御プログラムに従った処理が施された左眼用画像の一例を示す。この図6では、仮想オブジェクトAの紐状部材は、その紐状部材の表示の態様を立体視により適した状態にするために、図5の例では表示上消えていた部分がその他の表示上現れていた部分と区別しづらい状態となっている。これは、仮想オブジェクトAと視点との距離に比例して当該仮想オブジェクトAを表示するための画素の透明度が高くなるように、アルファチャネルに規定される透明度の情報が割り当てられることによって実現される。そして、この図6の例と同様に、当該左眼用画像と対になる右眼用画像においても、仮想オブジェクトAの紐状部材は、透過度の設定前において表示上消えていた部分がその他の表示上現れていた部分と区別しづらい状態を有している。
【0075】
この表示制御プログラムに従った処理において、透明度の情報を割り当てる方法は、仮想オブジェクトAを規定するモデルが有する属性におけるアルファチャネルの透明度の情報、またはそのモデルにマッピングされるテクスチャのテクセルにおけるアルファチャネルの透明度の情報のいずれの透明度情報(以下、アルファ値)を用いてもよい。すなわち、上側LCD22に表示される仮想オブジェクトを表す画素において、そのアルファ値が、その仮想オブジェクトと視点(仮想カメラ位置)との間の距離が大きくなるほど透明度を上げる方向に制御されればよい。このような構成をとることによって、右眼用画像と左眼用画像との間で当該オブジェクトの上側LCD22に表示部位に差が生じることに起因して生じる不快感が抑制される。
【0076】
図6では、仮想オブジェクトAを例にして、例示的な表示制御プログラムによる処理について説明した。しかし、当然のことながら、この表示制御プログラムの処理が適用されるのは、紐状の部材に限られない。
【0077】
図7は、手前から奥行方向に延びる路に沿って位置づけられた複数の立木(のモデル)が存在する3次元仮想空間が透視変換処理を受けることで得た画像の一例である。これらの立木は、大きさとしてほぼ同じくらいの全体として細長い形状の幹を有している。図7において、手前に配置された立木モデルB’と、遠方に配置された立木モデルBとを比べると、視点からの距離が遠いBは、より細い幹として表現される。そして、モデルBよりもさらに遠方に位置する立木モデルは、Bよりもさらに細く(すなわち、視差方向の幅が狭く)描かれる。この細さが、例えば、上側LCD22の単位表示領域(1画素)に対応する幅で描かれる場合は、視点の位置などによっては(右眼用画像および左眼用画像において)表示されない場合が起き得る(すなわち、右眼用画像と左眼用画像との間で、当該オブジェクトの表示上の有無に差が生じやすい)。このような場合も、上述の表示制御プログラムを適用することで、すなわち、視点から離れた遠方に存在する仮想オブジェクトほど、透明度を上げるように設定されていることによって、右眼用画像と左眼用画像との間で当該オブジェクトの表示上の有無に差が生じることが抑制される。
【0078】
(メモリマップ)
ここで、ゲームプログラムの実行中にメインメモリ32に記憶される主なデータについて説明する。図8は、ゲーム装置10のメインメモリ32のメモリマップを示す図である。図8に示されるように、メインメモリ32には、ゲームプログラム70、表示制御プログラム71、仮想オブジェクト情報72、各種変数73等が記憶される。
【0079】
ゲームプログラム70は、情報処理部31にゲーム表示処理を実行させるためのプログラムである。
【0080】
表示制御プログラム71は、ゲームプログラム70のゲーム処理の過程で呼び出されるか、または、そのゲームプログラム71の一部として機能することで、アルファ情報を利用した本発明の例示的な実施形態の処理を担うプログラムである。
【0081】
仮想オブジェクト情報72は、仮想オブジェクトに関連する情報であって、仮想オブジェクトの形状や模様を表すモデル情報(例えば、ポリゴンに関する情報)や、仮想空間における仮想オブジェクトの現在位置などを含む。
【0082】
各種変数73は、ゲームプログラム70および表示制御プログラム71の実行の際に用いられる各種変数である。
【0083】
(例示的な処理の流れ)
以下、図9A以降のフローチャートを参照して、本発明の例示的実施形態の表示制御プログラムに基づいて実行される処理の流れを説明する。本図および後続の図では、「ステップ」を、「S」と略記する。なお、図9A以降のフローチャートは、処理過程の単なる一例にすぎない。したがって、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数の値や、判断ステップで利用される閾値も、単なる一例に過ぎず、必要に応じて他の値を採用してもよい。また、本実施形態では、図9A以降のフローチャートのすべてのステップの処理をCPU311が実行するものとして説明するが、図9Aおよび図9Bのフローチャートの一部のステップの処理を、CPU311以外のプロセッサや専用回路が実行するようにしてもよい。
【0084】
図9Aは、本発明の例示的な実施形態における表示制御プログラム70による表示制御に係るメイン処理について説明するためのフローチャートである。
【0085】
ゲーム装置10で実行されるゲームプログラム71に呼び出されて、またはゲームプログラム71の一部として、CPU311は、表示制御プログラム70を実行する。CPU311は、3次元仮想空間およびそこに位置づけられるオブジェクトを表現したデータ(仮想オブジェクト情報)の可視化を行うための一連の処理を行う。表示対象とするオブジェクトに関するデータは、仮想オブジェクト情報73として記憶されている。
【0086】
ステップ101において、CPU311は、3次元仮想空間における仮想カメラおよび仮想オブジェクトの位置の更新・制御を含む処理を行う。
【0087】
具体的には、CPU311は、ゲームプログラム71が要求する内容に応じて、仮想オブジェクト情報73に記憶される仮想オブジェクトの3次元モデル情報(例えば、仮想オブジェクトAを表すポリゴンモデル)を取り出し、3次元仮想空間に配置する(ワールド座標系で記述される)処理を行う。CPU311は、オブジェクトが配置されたワールド座標系に基づく情報を、視点(仮想カメラの位置)から捉えた座標系に基づく情報に変換する処理(透視変換処理)を行う。したがって、CPU311は、ゲームプログラム71が要求する内容に応じて、仮想カメラ位置、および3次元仮想空間内に配置されるオブジェクトの位置を更新する。
【0088】
この更新された位置に基づき、CPU311は、後続のステップにおいて、当該仮想オブジェクトを含む3次元空間を可視化して表示装置(例えば、LCD22)に表示するために、一連のレンダリング処理を行う。レンダリング処理としては、陰線消去、陰面消去、シャドウィング、シェーディングおよびマッピングなどが挙げられる。CPU311は、このレンダリングにおける諸条件は、後続のステップ102などで設定される。
【0089】
ステップ102において、CPU311は、描画条件設定処理を行う。この処理の詳細は、後述する図9Bに示されたフローチャートで定義づけられる。概して、CPU311は、上述の更新された仮想カメラ位置と処理対象とするオブジェクトとの距離に関連づけた条件設定を行う。このステップ102の完了後に、CPU311は、ステップ103の処理を進める。
【0090】
ステップ103において、CPU311は、描画条件設定処理で設定された条件に従い、表示対象とするオブジェクトを含む3次元空間の描画処理(レンダリング処理等)を行う。なお、次のステップ104で、ユーザに立体視を提供するための右眼用画像および左眼用画像を生成するために、視点の条件などを変えた複数の条件に基づく描画処理が、必要に応じて行われる。
【0091】
ステップ104において、CPU311は、ユーザに立体視を提供するために、右眼用画像および左眼用画像を生成する。CPU311は、ステップ103での描画関連情報に基づき、パララックスバリア方式(視差バリア方式)の表示装置に最適化した右眼用画像および左眼用画像を生成する。当然ながら、CPU311が、別の立体視の提供方式を採用してこのステップを実行するように設定してもよい。
【0092】
ステップ105において、CPU311は、右眼用画像および左眼用画像を用いて表示装置にオブジェクトを含む仮想空間を表示する。CPU311は、右眼用画像と左眼用画像とを用いて、裸眼で立体視可能な画像(立体画像)を上側LCD22に表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左眼に左眼用画像をユーザの右眼に右眼用画像を視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。
【0093】
図9Bは、ステップ102(図9A)に示された描画条件設定処理の一例を説明するためのフローチャートである。
【0094】
ステップ201において、CPU311は、処理対象となるオブジェクトを選択する。例えば、視差方向の幅が表示装置の表示領域における視差方向の長さに対して相対的に狭い(例えば、上側LCD22のおいて表示されたときにその部分または全体が単位表示領域(1画素、1ドット)の幅となる)仮想オブジェクトを予め規定しておいて(メモリマップの)各種変数73に予め記憶されるテーブルを参照して、CPU311は、処理対象とすべきオブジェクトを選択する。また、CPU311は、透視変換後のフレームの範囲に存在するオブジェクト全てを処理対象として、逐次的に選択する処理をおこなってもよい。
【0095】
ステップ202において、CPU311は、仮想カメラから選択されたオブジェクトまでの距離を計算する。具体的には、この距離計算は、透視変換後において、仮想カメラ(視点の位置)から仮想空間内に配置された処理対象オブジェクトの位置を表す代表点までの距離について計算する。
【0096】
ここで、代表点とは、仮想オブジェクトの形状等を表すモデル(例えば、メモリマップの仮想オブジェクト情報72に記憶された仮想オブジェクトAのモデル)が3次元仮想空間に配置される際の位置づけの基準となる任意の点である。ただし、配置されたモデルを規定する要素(例えば、バーテックス、オブジェクトの部分構造等)ごとに、その要素の全てと視点との距離をそれぞれ計算してもよく、その場合は、後続のステップで仮想オブジェクトを単位として行われる処理は、当該単位要素を単位として実行され得る。また、この距離計算における「視点の位置」は、右仮想カメラの位置であってもよく、左仮想カメラの位置であってもよく、または当該右仮想カメラと左仮想カメラとの中点位置であってもよい。
【0097】
ステップ203において、CPU311は、ステップ202で計算された距離に基づいた、条件選択処理を行う。その詳細は、図9Cを参照しつつ、後述する。CPU311は、ステップ203の処理を完了すると、ステップ204の処理を進める。
【0098】
ステップ204において、CPU311は、処理対象とする仮想オブジェクト全てについて描画条件の設定を完了しているか否かを判定する。この判定によって、処理対象とする仮想オブジェクト全てについて描画条件の設定を完了した場合(ステップ204、Yes)は、CPU311は、このサブルーチンを完了する。他方、処理対象とする仮想オブジェクト全てについて描画条件の設定を完了していない場合(ステップ204、No)は、CPU311は、その他の処理対象とする仮想オブジェクトについても同様の処理をするために、ステップ201の処理に戻る。
【0099】
図9Cは、図9Bのステップ203の条件選択処理の一例(条件選択処理(1))を説明するためのフローチャートである。また、後続の図9Dおよび図9Eは、図9Cに示された例示的な条件選択処理の変形例(条件選択処理(2)および(3))を説明するためのフローチャートである。
【0100】
ステップ301において、CPU311は、ステップ202で計算された距離が、処理対象オブジェクトを表示する際に所定のアルファ値を設定する必要があるか否かを判定する。立体視の際の不快感を除くためにアルファ値を設定するべき仮想オブジェクトとして予め設定されている仮想オブジェクトを、各種変数73などに記憶されるテーブル等を参照して判定する。当該判定でアルファ値の設定が必要である場合(ステップ301、Yes)、CPU311は、ステップ302の処理に進む。その他の場合(ステップ301、No)においては、CPU311は、処理を完了して、ステップ204(図9B)の処理に進む。
【0101】
ステップ302において、CPU311は、当該距離に応じたアルファ値を有するテクスチャをマッピングするテクスチャとして選択する。仮想オブジェクトを表す画素において、そのアルファ値が、その仮想オブジェクト(またはその部分)と視点(仮想カメラ位置)との間の距離が大きくなるほど透明度を上げる方向に制御される。
【0102】
図9Dに示されるように、条件選択処理は、以下のような手順でも達成され得る。
【0103】
ステップ310において、CPU311は、ステップ202で計算された距離に応じて、仮想オブジェクトごとにその距離の大きさと対応づけられたミップマップから選択する。なお、ミップマップとオブジェクトとの対応関係性を、ステップ301の判定と同様の判定を行うことによって規定される追加的な条件にしたがって規定してもよい。ミップマップは、主たるテクスチャを補完するように最適化された複数のテクスチャからなる画像群であって、マッピングするオブジェクトのサイズに応じてその画像が選択に使用される画像群である。本例では、そのミップマップは、マッピングの対象とするオブジェクトと視点(仮想カメラの位置)との間の距離に比例して透明度が上がる傾向を持つように最適化されたミップマップである。
【0104】
図9Eに示されるように、条件選択処理は、以下のような手順でも達成され得る。
【0105】
ステップ321において、CPU311は、ステップ202で計算された距離が、処理対象オブジェクトを表示する際に所定のアルファ値を設定する必要があるか否かを判定する。ステップ301と同様の判定を行う。当該判定に従って、CPU311は、ステップ322の処理に進むか否かを決定する。
【0106】
ステップ322において、CPU311は、処理対象である仮想オブジェクトの形状等を規定するモデルの属性情報において、当該距離に応じたアルファ値を設定する。このアルファ値は、対象とするオブジェクトと視点(仮想カメラの位置)との間の距離に比例して透明度が上がる傾向を持つように最適化される。仮想オブジェクトの属性の情報は、仮想オブジェクト情報73を含むゲーム装置10の記憶領域に記憶されている。属性の情報は、そのモデルの形状の情報の他に、その形状を規定する点が有する色情報、アルファ値などを含み得る。立体視を行うために生成される一連の画像において、それらの属性情報が上側LCD22において表示される画素の透明度を直接的に規定するのであれば、本ステップにて、その属性情報におけるアルファ値を設定することが可能である。
【0107】
(その他の事項)
上述の例示的な実施形態では、裸眼で立体視を提供する表示装置(上側LCD22)を用いたが、本発明の表示制御プログラム等を、他の方式(例えば、ステレオ写真方式、アナグリフ方式、偏光方式など)で表示装置における表示に適用してもよい。
【0108】
上記実施形態では、ゲーム装置10を用いて表示制御プログラム70について説明しているが、他の実施形態では、任意の情報処理装置または情報処理システム(例えば、PDA(Personal Digital Assistant)、携帯電話、パーソナルコンピュータ、カメラ等)を用いて入力値補正処理プログラムを使用してもよい。
【0109】
また、上記実施形態では、一台の装置(ゲーム装置10)のみによってゲーム処理に伴う表示制御プログラムを実行しているが、他の実施形態では、互いに通信可能な複数の情報処理装置を有する画像表示システムにおいて、当該複数の情報処理装置が画像表示処理を分担して実行するようにしてもよい。
【0110】
なお、汎用的なプラットフォームにおいて本発明の表示制御プログラム等が使用される場合には、当該表示制御プログラムが、当該プラットフォームにおいて標準的に提供されるプログラムモジュールを用いることを前提として提供されてもよい。上述のようなモジュールによって機能が補完されることを前提に、上記表示制御プログラムから上述のようなモジュールに対応する機能を除いたものは、実質的にこの表示制御プログラムに相当すると理解されるべきである。
【0111】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示にすぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。ここで、当業者は、本発明の具体的な実施形態の記載から、本発明の記載および技術常識に基づいて均等な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用されるすべての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
【符号の説明】
【0112】
10 ゲーム装置
11 下側ハウジング
12 下側LCD
13 タッチパネル
14 操作ボタン
15 アナログスティック
16 LED
21 上側ハウジング
22 上側LCD
23 外側撮像部
23a 外側撮像部(左)
23b 外側撮像部(右)
24 内側撮像部
25 3D調整スイッチ
26 3Dインジケータ
28 タッチペン
31 情報処理部
311 CPU
312 GPU
32 メインメモリ

【特許請求の範囲】
【請求項1】
立体視表示可能な表示装置に所定の仮想空間の表示を行う表示制御装置のコンピュータで実行される表示制御プログラムであって、
前記コンピュータを、
前記仮想空間に所定のオブジェクトを配置するオブジェクト配置手段と
前記仮想空間の仮想的な撮影に用いられる仮想カメラの位置に基づいた視点位置と前記仮想空間で配置されるオブジェクトとの間に規定される距離に応じ、前記オブジェクトの一部またはすべての透明度を、前記距離が長くなるほど高くなるように設定する透明度設定手段と、
前記仮想空間を右仮想カメラおよび左仮想カメラで撮影して右眼用画像および左眼用画像を生成する画像生成手段であって、当該右眼用画像および当該左眼用画像に含まれる前記所定のオブジェクトは、前記透明度設定手段により設定された透明度を有する、画像生成手段と、
前記画像生成手段で生成した右眼用画像および左眼用画像を前記表示装置に表示する表示制御手段として機能させる、表示制御プログラム。
【請求項2】
前記透明度設定手段は、前記右眼用画像と前記左眼用画像との間で前記表示装置上での前記オブジェクトの表示態様が同程度となるように、前記オブジェクトの透明度を設定する、請求項1に記載の表示制御プログラム。
【請求項3】
前記透明度設定手段は、前記所定のオブジェクトを規定するモデルの属性データにおける透明度を設定する、請求項1に記載の表示制御プログラム。
【請求項4】
前記透明度設定手段は、前記所定のオブジェクトにマッピングするテクスチャ画像の透明度を設定する、請求項1に記載の表示制御プログラム。
【請求項5】
前記透明度設定手段は、
前記視点位置から前記所定のオブジェクトまでの距離に基づいて、予め用意された複数種類の透明度を有するテクスチャ画像群の中から、1以上のテクスチャ画像を選択するテクスチャ画像選択手段を含む、請求項4に記載の表示制御プログラム。
【請求項6】
前記複数種類のテクスチャ画像群は、ミップマップによる画像群である、請求項5に記載の表示制御プログラム。
【請求項7】
前記所定のオブジェクトは、前記右眼用画像および前記左眼用画像を生成される際に生じる視差方向に沿った幅が前記表示装置の表示領域における視差方向の長さに対して相対的に狭い部分を少なくとも有する、請求項1から請求項6までのいずれかに記載の表示制御プログラム。
【請求項8】
前記相対的に狭い部分の幅が、前記表示領域における単位表示領域が有する視差方向に沿った長さに相当する、請求項7に記載の表示制御プログラム。
【請求項9】
前記コンピュータを、
前記所定のオブジェクトが、前記右眼用画像および左眼用画像を生成される際に生じる視差方向に沿った幅が前記表示装置の表示領域における視差方向の長さに対して相対的に狭い部分を有するオブジェクトであるか否かを判定するオブジェクト判定手段としてさらに機能させ、
前記透明度設定手段が、前記オブジェクトが、前記オブジェクト判定手段で視差方向に沿った幅が前記相対的に狭い部分を有するオブジェクトであると判定された際に前記距離に応じた透明度を前記オブジェクトにおいて設定する、請求項7に記載の表示制御プログラム。
【請求項10】
前記視点位置は、前記右仮想カメラまたは前記左仮想カメラの位置である、請求項1から請求項9までのいずれかに記載の表示制御プログラム。
【請求項11】
前記視点位置は、前記右仮想カメラと前記左仮想カメラの中点位置である、請求項1から請求項9までのいずれかに記載の表示制御プログラム。
【請求項12】
前記透明度設定手段は、前記視点位置から前記所定のオブジェクトまでの距離の増分に応じて、一定量ずつ前記透明度が高くなるように設定する、請求項1から請求項11までのいずれかに記載の表示制御プログラム。
【請求項13】
立体視表示可能な表示装置に所定の仮想空間の表示を行う表示制御装置であって、
前記仮想空間に所定のオブジェクトを配置するオブジェクト配置手段と
前記仮想空間の仮想的な撮影に用いられる仮想カメラの位置に基づいた視点位置と前記仮想空間で配置されるオブジェクトとの間に規定される距離に応じて、前記オブジェクトの一部およびすべての透明度を、前記距離が長くなるほど高くなるように設定する透明度設定手段と、
前記仮想空間を右仮想カメラおよび左仮想カメラで撮影して右眼用画像および左眼用画像を生成する画像生成手段であって、当該右眼用画像および当該左眼用画像に含まれる前記所定のオブジェクトは、前記透明度設定手段により設定された透明度を有する、画像生成手段と、
前記画像生成手段で生成した右眼用画像および左眼用画像を前記表示装置に表示する表示制御手段とを備える、表示制御装置。
【請求項14】
立体視表示可能な表示装置に所定の仮想空間の表示を行う表示制御システムであって、
前記仮想空間に所定のオブジェクトを配置するオブジェクト配置手段と
前記仮想空間の仮想的な撮影に用いられる仮想カメラの位置に基づいた視点位置と前記仮想空間で配置されるオブジェクトとの間に規定される距離に応じて、前記オブジェクトの一部およびすべての透明度を、前記距離が長くなるほど高くなるように設定する透明度設定手段と、
前記仮想空間を右仮想カメラおよび左仮想カメラで撮影して右眼用画像および左眼用画像を生成する画像生成手段であって、当該右眼用画像および当該左眼用画像に含まれる前記所定のオブジェクトは、前記透明度設定手段により設定された透明度を有する、画像生成手段と、
前記画像生成手段で生成した右眼用画像および左眼用画像を前記表示装置に表示する表示制御手段とを備える、表示制御システム。
【請求項15】
立体視表示可能な表示装置に所定の仮想空間の表示を行うための表示制御方法であって、
前記仮想空間に所定のオブジェクトを配置するオブジェクト配置ステップと
前記仮想空間の仮想的な撮影に用いられる仮想カメラの位置に基づいた視点位置と前記仮想空間で配置されるオブジェクトとの間に規定される距離応じて、前記オブジェクトの一部またはすべての透明度を、前記距離が長くなるほど高くなるように設定する透明度設定ステップと、
前記仮想空間を右仮想カメラおよび左仮想カメラで撮影して右眼用画像および左眼用画像を生成する画像生成ステップであって、当該右眼用画像および当該左眼用画像に含まれる前記所定のオブジェクトは、前記透明度設定ステップにより設定された透明度を有する、画像生成ステップと、
前記画像生成ステップで生成した右眼用画像および左眼用画像を前記表示装置に表示する表示制御ステップを含む、方法。

【図1】
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

【図9C】
image rotate

【図9D】
image rotate

【図9E】
image rotate


【公開番号】特開2012−123337(P2012−123337A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2010−276241(P2010−276241)
【出願日】平成22年12月10日(2010.12.10)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】