[第1実施形態]
図1は、本発明の一実施形態に係るバーチャル野球装置1の概略図を示す。図2は、3面表示部10及び映写装置20(プロジェクタ21L,21R,22L,22R,23L,23R)の配置を上方(図2(a))、正面(図2(b))及び側面(図2(c))から示す。
図示のように、バーチャル野球装置1は、3面表示部10と、映写装置20と、操作端末30と、位置検出装置40と、制御装置50を有する。図示しないが、操作端末30の近くには、立体視メガネ41や専用バット42を置いておくための置き場所が設けられている。プレイヤPは、立体視メガネ41をかけて、専用バット42を持った状態でバーチャル野球装置1を利用する。
3面表示部10は、床面表示部11と、壁面表示部(第1壁面表示部12及び第2壁面表示部13)と、第1〜第3湾曲部14〜16を有する。
床面表示部11は、概略正方形又は方形形状であり、第1壁面表示部12と第2壁面表示部13は、上辺が下辺よりも長い台形形状である。床面表示部11、第1壁面表示部12及び第2壁面表示部13は、それぞれ、実質的に平坦な面とすることができる。
図示の例では、第1壁面表示部12と第2壁面表示部13が成す角度αは、約90度である。
床面表示部11と第1壁面表示部12が成す角度β、床面表示部11と第2壁面表示部13が成す角度γは、鈍角であることが好ましい。図示の例では、角度β,γは、約94度である。
床面表示部11、第1壁面表示部12及び第2壁面表示部13の相互間は、第1〜第3湾曲部14,15,16を介して接続されている。具体的には、床面表示部11と第1壁面表示部12は、所定の曲率半径の第1湾曲部14を介して滑らかに接続され、床面表示部11と第2壁面表示部13は、所定の曲率半径の第2湾曲部15を介して滑らかに接続され、第1壁面表示部12と第2壁面表示部13は、所定の曲率半径の第3湾曲部16を介して滑らかに接続されている。
プレイヤPは、床面表示部11上の任意の位置に立つことができる。本実施形態では、床面表示部11上の空間(実空間)を「プレイヤ空間」と呼ぶ。本実施形態では、プレイヤ空間内の位置及び方向は、床面表示部11の隅部(第1壁面表示部12及び第2壁面表示部13に対向する隅部)付近の位置を原点POとする直交座標(XpYpZp座標)を用いて説明する。
床面表示部11上のプレイヤPの視点から見ると、床面表示部11は下方向(−Zp方向)に位置し、壁面表示部(第1壁面表示部12及び第2壁面表示部13)は前方向に位置する。より詳細には、第1壁面表示部12はプレイヤPの前方右側(+Xp方向)に位置し、第2壁面表示部13はプレイヤPの前方左側(+Yp方向)に位置する。
床面表示部11における原点PO付近のある広さの領域は、スイング領域SRである。スイング領域SRは、第1壁面表示部12及び第2壁面表示部13の双方から所定距離離間した領域である。スイング領域SR内であれば、プレイヤPは、専用バット42を第1壁面表示部12及び第2壁面表示部13にぶつける心配なく安全にスイングすることができる。
映写装置20は、3面表示部10に立体映像を映写するための装置である。本実施形態では、立体映像の表示方式として、円偏光方式が使用される。立体映像の表示方式は、直線偏光方式、フレーム・シーケンシャル方式等、他の方式を使用してもよい。
映写装置20は、6台のフロント投影型のプロジェクタ21L,21R,22L,22R,23L,23Rを有する。プロジェクタ21L,21R,22L,22R,23L,23Rの配置は、図2に示されている。
プロジェクタ21L,21Rは、床面表示部11用のプロジェクタであり、第1壁面表示部12の上方に配置される。プロジェクタ21L,21Rからの映像L1,R1は、床面表示部11の上方天井付近に配置したミラー17で反射して床面表示部11、第1湾曲部14、第2湾曲部15に映写される。ミラー17で反射させる構成であるため、映像L1,R1は、図2(b)、(c)の21L’,21R’で示した位置にプロジェクタ21L,21Rを配置した場合と同様の光路で床面表示部11等に映写される。ミラー17を使用せずに、図2(b)、(c)の21L’,21R’で示した位置にプロジェクタ21L,21Rを配置する場合と比較すると、プロジェクタ21L,21Rを低い位置に配置することができるので、バーチャル野球装置1の高さを低くできる利点がある。ただし、高さの制約がなければ、プロジェクタ21L,21Rは、21L’,21R’で示した位置に設置する方が、光の減衰を小さくできるので、より好ましい。
プロジェクタ22L,22Rは、第1壁面表示部12用のプロジェクタであり、第1壁面表示部12からX方向に十分離れた位置の天井付近に配置される。プロジェクタ22L,22Rからの映像L2,R2は、第1壁面表示部12及び第1湾曲部14に斜め下方に向けて映写される。よって、映像L2,R2がプレイヤPによって遮られ難い。床面表示部11と第1壁面表示部12が成す角度βが鈍角であるため、映像L2,R2が、第1壁面表示部12に反射して床面表示部11に映写され難くなるので、映像L1,R1と映像L2,R2の2重写しが軽減される。
プロジェクタ23L,23Rは、第2壁面表示部13用のプロジェクタであり、第2壁面表示部13からY方向に十分離れた位置の天井付近に配置される。プロジェクタ23L,23Rからの映像L3,R3は、第2壁面表示部13及び第2湾曲部15に斜め下方に向けて映写される。よって、映像L3,R3がプレイヤPによって遮られ難い。床面表示部11と第2壁面表示部13が成す角度γが鈍角であるため、映像L3,R3が、第2壁面表示部13に反射して床面表示部11に映写され難くなるので、映像L1,R1と映像L2,R2の2重写しが軽減される。
左側のプロジェクタ21L,22L,23Lが映写する映像L1,L2,L3は、特定の回転方向の円偏光の映像であり、右側のプロジェクタ21R,22R,23Rが映写する映像R1,R2,R3は、逆回転方向の円偏光の映像である。
3面表示部10に映写された映像L1,L2,L3,R1,R2,R3を、左右のレンズにそれぞれ一方の円偏光のみを通過させるフィルタを装着した立体視メガネ41を通して見ることにより、床面表示部11上のプレイヤPは、映像を立体として認識することができる。
操作端末30は、プレイヤPが操作を行うためのインターフェイスである。操作端末30は、例えば、ボタンやタッチパネルなどの入力装置や、液晶モニタ等の表示装置や音声を出力するスピーカー等を有する。操作端末30は、プレイヤPからバーチャル野球装置1の利用料金を徴収するための料金徴収装置等を有してもよい。
位置検出装置40は、プレイヤ空間内における立体視メガネ41の位置や、専用バット42の位置及び向き等をリアルタイムで検出するための装置又はシステムである。検出は、光学式、磁気式等の公知のキャプチャ技術を用いて行うことができる。本実施形態では、立体視メガネ41及び専用バット42に、それぞれに固有の配置で複数の赤外線マーカー(不図示)が取り付けられており、プレイヤ空間の周囲(例えば、前後左右上下)に配置した複数の赤外線カメラ(不図示)で撮影した画像を解析することにより、上記検出が行われる。
制御装置50は、CPU及び記憶装置を有する1つ又は複数のコンピュータで構成される。制御装置50は、映写装置20、操作端末30、位置検出装置40と有線又は無線で接続され、相互にデータの送受信が可能である。制御装置50は、記憶装置に記憶されたプログラムを実行することにより、図3に示す機能構成を実現する。
図3に示すように、バーチャル野球装置1の機能構成は、仮想モデル設定部61、打席選択部(表示方向選択部)62、視点位置算出部63、視線方向設定部64、立体映像生成部65、バット位置算出部66、打撃結果判定部(コリジョン判定部)67、仮想操作受付部68、分析結果表示部69、プレイヤデータ記憶部70を有する。
仮想モデル設定部61は、3次元の仮想空間に種々のオブジェクトを配置してそれらのオブジェクトを動作させることにより、現実の球場で投手が投球する様子を再現した仮想モデルVM(図6参照)を仮想空間に設定するものである。仮想モデル設定部61は、オブジェクト記憶部61a及び動作記憶部61bを有する。
オブジェクト記憶部61aには、種々のオブジェクトについての形状データが記憶されている。形状データは、オブジェクトの3次元的な形状をローカル座標系で表したデータである。形状データは、例えば、複数のポリゴンを組み合わせて作成することができる。形状データは、オブジェクトの表面にマッピングするためのテクスチャデータ(模様や色のデータ)を含み得る。
オブジェクト記憶部61aのオブジェクトには、現実の球場に存在する様々な事物(人や物、設備等)に対応したオブジェクトが含まれる。これらのオブジェクトは、移動又は動作させることが可能な可動オブジェクト(例えば、投手オブジェクトV1、ボールオブジェクトV2、バットオブジェクトV3等)と、移動又は動作させない静止オブジェクト(例えば、投球板オブジェクトV4、左右の打席オブジェクトV5L,V5R、本塁オブジェクトV5H、外野フェンスオブジェクトV6等)を含む。以下では、左右の打席オブジェクトV5L,V5R及び本塁オブジェクトV5Hを総称して、「打席オブジェクトV5」と言う場合がある。オブジェクト記憶部61aのオブジェクトには、更に、現実の球場に存在する事物には対応しないオブジェクト(例えば、図13に示す操作指示オブジェクトV7、結果表示オブジェクトV8等)も含まれる。
上記のうち、現実の球場に存在する事物に対応するオブジェクトの形状データは、現実の球場の事物と同じ形状及びサイズで作成されている。例えば、打席オブジェクトV5L,V5Rのサイズは、121.92cm×182.88cmで、投球板オブジェクトV4の幅は、60.96cmで作成されている。
投手オブジェクトV1については、現実の投手(例えば、プロ野球の投手)の身長、体格、ユニフォーム等の姿形を等身大で表した形状データが使用される。各投手オブジェクトV1は、頭、手、足、胴体等の複数のパーツで構成され、ローカル座標系の基準点に対する各パーツの位置や向きを変更する等により、投手オブジェクトV1の姿勢を変化させることが可能である。以下では、投手オブジェクトV1の形状データを「投手形状データ」という。
ボールオブジェクトV2は、ボールオブジェクトV2の移動速度に応じて異なる形状データが使用される。図4は、ボールオブジェクトV2の形状を示す。
図4(a)は、ボールオブジェクトV2が静止している場合であり、球形の本体部V2aのみを有する。本体部V2aの直径は、現実の野球ボールと同じく、約7cmである。
図4(b)及び(c)は、それぞれ、低速(例えば、時速100km)及び高速(例えば、時速150km)で移動しているときのボールオブジェクトV2の形状を示す。図4(b)及び(c)のボールオブジェクトV2は、球形の本体部V2aが前方側の半球部分V2a1と後方側の半球部分V2a2に分かれ、その間に本体部V2aの直径と同径の円筒形の延長部V2b(モーションブラー)が付加された形状である。また、ボールオブジェクトV2が高速である程、長い延長部V2bが付加され、ボールオブジェクトV2の長さD1が長くなる。長さD1は、例えば、1フレーム時間(例えば、1/120秒)の間にボールオブジェクトV2が移動する距離をD2として、D1=A×D2で算出することができる。定数Aは、例えば、0.6〜0.8、好ましくは、0.65〜0.75等とすることができる。なお、以下の説明では、半球部分V2a1と半球部分V2a2を総称して単に「本体部V2a」と言う。
本体部V2aに縫い目を表す模様のテクスチャV2cをマッピングし、ボールオブジェクトV2の移動に合わせて本体部V2a上でのテクスチャV2cの位置を変化させることで、ボールの回転を表現することができる。テクスチャV2cは、本体部V2aの前方側の半球部分のみにマッピングしてもよい。
変形形態として、更に、ボールオブジェクトV2のサイズ(本体部V2a及び延長部V2bの直径及び長さD1)を、ボールオブジェクトV2の移動速度に応じて(例えば、比例させて)拡大しても良い。
動作記憶部61bには、可動オブジェクトの動作データが記憶される。本実施形態では、動作データとして、投手オブジェクトV1を動作させるための投球動作データ及びボールオブジェクトV2を移動させるためのボール動作データが記憶されている。
投手動作データは、投手オブジェクトの投球動作開始時点からの所定時間(例えば、1/120秒)毎の投手オブジェクトV1の姿勢を時系列に規定したものである。投手動作データは、現実の投手の投球時の動作をデータ化することで作成されており、投手オブジェクトV1を投手動作データに従って動作させることで、投手オブジェクトV1は、現実の投手と同様のフォームで投球動作を行う。
ボール動作データは、ボールオブジェクトの移動開始時点からの所定時間(例えば、1/120秒)毎のボールオブジェクトV2の仮想空間内での位置座標を規定したものである。ボール動作データは、現実の投手の投球(ボールの移動経路や速度)をデータ化することにより作成されており、ボールオブジェクトV2をボール動作データに従って移動させることで、ボールオブジェクトV2は、現実の投手が投球したボールと同様の移動経路及び速度で仮想空間を移動する。
本実施形態では、複数の現実の投手に対応し、複数の投手形状データ、投手動作データ及びボール動作データは、複数組作成されている。図5は、現実の投手と各データの対応関係を示す。
図5において、A投手、B投手、C投手・・・は、現実の投手である。現実の投手は、例えば、現実のプロ野球の投手とすることができる。各投手形状データは、現実の投手と一対一対応で作成されている。現実の投手は、ストレート、カーブ、シュート等様々な球種を持っており、球種によって、投球フォームが異なる場合がある。しかし、球種毎に投手動作データを作成すると、データ量が膨大になる。このため、本実施形態では、投手動作データは、各投手に対してストレート系及び変化球系の2種類のデータが作成されている。ストレート系の投手動作データは、現実の投手がストレート系の球種を投球したときの投球フォームに基づいて作成され、変化球系の投手動作データは、現実の投手が変化球系の球種を投球したときの投球フォームに基づいて作成される。ボール動作データは、現実の投手の持玉の球種毎の投球をデータ化することで作成される。
仮想モデル設定部61は、オブジェクト記憶部61aの種々のオブジェクトを仮想空間に配置することで、仮想モデルVMを設定する。仮想空間は、3次元方向の広がりを有するデータ上の空間である。仮想空間の座標系は、ローカル座標系とは異なる座表系(ワールド座標系)が使用される。本実施形態では、仮想空間内の位置及び方向は、仮想空間内の点VOを原点とする直交座標(XvYvZv座標)を用いて説明する。
図6は、仮想空間に設定される例示的な仮想モデルVMを示す。仮想モデルVMには、原点VOを基準にして、投球板オブジェクトV4、左右の打席オブジェクトV5L,V5R、本塁オブジェクトV5H、外野フェンスオブジェクトV6等の静止オブジェクトが現実の球場と同一の位置関係及び距離で配置されている。投球板オブジェクトV4、左右の打席オブジェクトV5L,V5R、本塁オブジェクトV5H等の向きや位置関係は、現実の球場と同様の向きや位置関係で配置される。例えば、本塁オブジェクトV5Hは、左右の打席オブジェクトV5L,V5Rの間に位置する。また、本塁オブジェクトV5H(打席オブジェクトV5)は、投球板オブジェクトV4の向きで配置される。また、本塁オブジェクトV5Hから投球板オブジェクトV4の距離は、18.44mである。仮想モデルVMには、現実の球場と同一の位置関係及び距離で、一塁ベース、二塁ベース、三塁ベース、一塁線、三塁線、野手、観客席、観客、看板等の他のオブジェクトも配置し得る。これにより、現実の球場をよりリアルに再現できる。
仮想モデル設定部61は、さらに、投球板オブジェクトV4付近に投手オブジェクトV1を配置し、投手動作データに従って投手オブジェクトV1に投球動作を行わせ、ボール動作データに従ってボールオブジェクトV2を移動させる。投手オブジェクトV1の投球動作とボールオブジェクトV2の移動は同期されており、投手オブジェクトV1が手を振り下ろしたタイミングでボールオブジェクトV2が移動を開始する。
図7は、上記仮想モデルVMをZv方向から見た図であり、投手オブジェクトV1の配置と、ボールオブジェクトV2の移動経路を示す。
図7において、X1及びX2は、ボールオブジェクトV2の移動経路の始点及び終点のXv座標上の位置を示す。始点位置(X1)は、X方向における投球板オブジェクトV4より所定距離だけ本塁オブジェクトV5H側の位置であり、終点位置(X2)は、本塁オブジェクトV5Hより所定距離だけ後方の位置である。
ボール移動データは、現実の投手の投球に基づいて作成されているため、同一の投手であっても、球種やコースにより、ボールオブジェクトV2のX1−X2間の移動経路は、c1〜c3に例示するように様々であり、移動経路の始点におけるボールオブジェクトV2のYv方向の位置は、球種やコースによって図のY1−Y2のような範囲で変化する。
本実施形態では、移動経路の始点のYv方向の位置に応じて、投手オブジェクトV1のYv方向の位置が調整される。具体的には、投球動作を行う投手オブジェクトV1の手のYv方向の位置が移動経路の始点のYv方向の位置に一致するように投手オブジェクトV1の位置が調整される。これにより、球種やコースにより始点のY軸上の位置が変わった場合でも、同一の投手動作データを用いて、投手の手から自然にボールが放たれる様子が映像化できる。よって、投球動作データの種類を減らすことができ、データ作成に掛かる労力を軽減することができる。
なお、ボールオブジェクトV2の始点の位置は、移動経路により、Yv方向だけではなく、Zv方向においても変化する。しかし、本実施形態では、投手オブジェクトV1のZv方向での位置調整は行われない。実際に映像を作成してみると、Zv方向で投手オブジェクトV1の手のボールオブジェクトV2の位置が多少ずれていても、投手の手からボールが自然に放たれているように見えること、及び、Zv方向で投手オブジェクトV1が移動させると、映像を見たときの違和感が大きいことが分かったためである。
図7に示したボールオブジェクトV2のXv方向の移動範囲(X1−X2の範囲)やYv方向の移動範囲(Y1−Y2)は例であり、これらは、図7と異なる範囲にすることができる。
打席選択部62は、操作端末30に対するプレイヤPの操作に応じて、左打席と右打席のいずれか一方を選択する。
視点位置算出部63は、位置検出装置40により検出されたプレイヤ空間における立体視メガネ41の位置に対応する仮想空間内の位置を左右仮想視点位置L,Rとして算出する。算出は、打席選択部62が選択した打席が左打席と右打席のいずれであるかに応じて異なる方法で行われる。左右仮想視点位置L,Rは、Yv方向にDPだけ離れた位置に配置される。距離DPは、人の両眼間隔(左右の目の間の距離)に対応する。距離DPは、例えば、日本人の平均的な両眼間隔である6.5cmとすることができる。
図8は、打席選択部62が選択した打席が左打席である場合に、3面表示部10に立体映像が表示されている様子を概念的に示す。実際には、打者が左打席に立ち、この位置は打者がバットを振った際に安全なように部屋の中央付近に設定している。座標で表すと投手映像E1はXp方向に位置する第1壁面部12に表示され、ボール映像E2はXp座標に沿って本塁映像E5Hに向かって移動してくる。
図9は、打席選択部62が選択した打席が右打席である場合に、3面表示部10に立体映像が表示されている様子を概念的に示す。実際には図8同様に打者が右打席に立ってバットを振った際に安全なように部屋の中央付近に設定しており、床面表示部11に表示される本塁映像E5Hが図8と比して平面視で90度変更される。座標で表すと投手映像E1は、第2壁面表示部13に表示され、投球映像はYp座標に沿ってホームベースに移動してくる。
よって、プレイヤPが床面表示部11内を歩くことで立体視メガネ41がプレイヤ空間のXpYp面内で移動すれば、左右仮想視点位置L,Rが仮想空間における対応するXvYv面内の位置に移動する。また、プレイヤPが立ったりしゃがんだりするなどにより立体視メガネ41がZp方向で移動すれば、左右仮想視点位置L,Rが仮想空間内における対応するZv方向の位置に移動する。
なお、左右仮想視点位置L,Rの算出方法は、上記に限定されない。例えば、左打席の場合には、立体視メガネ41と同一座標の仮想空間内の位置を算出し、その位置から±DP/2だけYv座標をずらせた位置を左右仮想視点位置L,Rとして算出し、右打席の場合には、立体視メガネ41の位置のXp座標とYp座標を入れ替えた位置と同一座標の仮想空間内の位置を算出し、その位置から±DP/2だけYv座標をずらせた位置を左右仮想視点位置L,Rとして算出しても良い。
視線方向設定部64は、打席選択部62が選択した打席が左打席と右打席のいずれであるかに応じて、3つの視線方向を設定する。図6では、左打席の場合の3つの視線方向を左右仮想視点位置L,Rから延びる矢印LA1,LA2,LA3で示し、右打席の場合の3つの視線方向を左右仮想視点位置L,Rから延びる矢印RA1,RA2,RA3で示す。図示のように、左打席の場合の視線方向LA1,LA2,LA3は、それぞれ−Zv,+Xv,+Yv方向であり、右打席の場合の視線方向RA1,RA2,RA3は、それぞれ−Zv,+Xv,−Yv方向である。
立体映像生成部65は、視点位置算出部63が算出した左右仮想視点位置L,Rから、視線方向設定部64が設定した3つの視線方向LA1,LA2,LA3又はRA1,RA2,RA3で仮想モデルVMを見たときの映像をレンダリングすることにより、6つの映像L1,L2,L3,R1,R2,R3を生成する。
具体的には、打席選択部62が選択した打席が左打席の場合、映像L1,L2,L3は、それぞれ、左仮想視点位置LからLA1,LA2,LA3の方向を見たときの映像として生成され、映像R1,R2,R3は、右仮想視点位置RからLA1,LA2,LA3の方向を見たときの映像として生成される。打席選択部62が選択した打席が右打席の場合、映像L1,L2,L3は、それぞれ、左仮想視点位置LからRA1,RA2,RA3の方向を見たときの映像として生成され、映像R1,R2,R3は、右仮想視点位置RからRA1,RA2,RA3の方向を見たときの映像として生成される。
映像L1,L2,L3,R1,R2,R3は、それぞれ、所定のフレーム時間(例えば、1/120秒)毎に生成され、そのフレーム時間毎の映像L1,L2,L3,R1,R2,R3は、映写装置20により3面表示部10に映写される。具体的には、映像L1,R1は、プロジェクタ21L,21Rにより映写され、映像L2,R2は、プロジェクタ22L,22Rにより映写され、映像L3,R3は、プロジェクタ23L,23Rにより映写される。
図8、図9は、上記により3面表示部10に映写される映像L1,L2,L3,R1,R2,R3を床面表示部11上のプレイヤPが立体視メガネ41を通して見ることで、プレイヤPが映像L1,L2,L3,R1,R2,R3を立体映像として認識している様子を概念的に示す。
図8は、打席選択部62が選択した打席が左打席である場合を示す。図示のように、投手オブジェクトV1及び投球板オブジェクトV4に対応する映像は、第1壁面表示部12に投手映像E1及び投手板映像E4として立体表示され、左右打席オブジェクトV5L,V5R及び本塁オブジェクトV5Hに対応する映像は、床面表示部11に左右の打席映像E5L,E5R及び本塁映像E5Hとして立体表示される。以下では、左右の打席映像E5L,E5Rと本塁映像E5Hを総称して、「打席映像E5」と言う場合がある。外野フェンスオブジェクトV6に対応する映像は、第1壁面表示部12から第2壁面表示部13に渡って外野フェンス映像E6として表示される。本塁映像E5H(打席映像E5)は、第1壁面表示部12(投手映像E1)の方向を向いた状態で表示される。左打席映像E5Lは、スイング領域SR内に表示される。
ボールオブジェクトV2に対応する映像は、ボール映像E2として立体表示される。ボールオブジェクトV2が本体部V2a及び延長部V2bを有することに対応して、ボール映像E2は、本体部E2a及び延長部E2bを有する。ボール映像E2は、ボールオブジェクトV2の仮想空間内での移動に応じて、投手映像E1の位置からプレイヤPが専用バット42で打撃可能な位置を通って本塁映像E5Hの後方まで移動するように立体表示される。すなわち、仮想空間におけるボールオブジェクトV2の移動経路に対応する移動経路でプレイヤ空間内を移動してくるようにプレイヤPには認識される。よって、プレイヤPは、移動してくるボール映像E2にタイミングを合わせて、また、ボール映像E2のプレイヤ空間内でのXpYpZp方向の位置に合わせて専用バット42をスイングすることができ、現実の野球ボールを使った打撃練習と同じ感覚で打撃練習をすることができる。
なお、3面表示部10上でのボール映像E2の実際の表示位置(裸眼で見たときの映像L1,L2,L3中のボール映像E2の表示位置、及び、映像R1,R2,R3中のボール映像E2の表示位置/以下同じ。)の移動経路は、ボールオブジェクトV2の移動経路により様々である。例えば、ボールオブジェクトV2の移動経路が低めのコースなら、ボール映像E2の実際の表示位置は、第1壁面表示部12から第1湾曲部14を経て床面表示部11に移動し、その後、床面表示部11上を−X方向に移動していく。外角高めのコースなら、第1壁面表示部12から第3湾曲部16を経て第2壁面表示部13に移動し、その後、第2壁面表示部13上を−X方向に移動していく。
仮に、床面表示部11、第1壁面表示部12及び第2壁面表示部13が湾曲部無しで直接接続されているとするならば、ボール映像E2の実際の表示位置が一つの表示部(第1壁面表示部12)から他の表示部(床面表示部11又は第2壁面表示部13)に移動する際に、プレイヤPが認識する立体的なボール映像E2が不自然な経路(ぎくしゃくした経路、又は、折れ曲がった経路)で移動しているように見えてしまう。
本実施形態では、床面表示部11、第1壁面表示部12及び第2壁面表示部13は、適切な曲率半径の第1〜第3湾曲部14〜16を介して滑らかに接続されており、ボール映像E2の実際の表示位置が一つの表示部(例えば、第1壁面表示部12)から他の表示部(例えば、床面表示部11又は第2壁面表示部13)に移動する際には、必ず、第1〜第3湾曲部14〜16を通って移行するため、上記のような不都合は生じず、プレイヤPには、ボール映像E2の立体映像が自然な経路(現実の投手が投球した現実のボールと同様の経路)で移動しているように見える。
図9は、打席選択部62が選択した打席が右打席である場合を示す。図示のように、投手オブジェクトV1及び投球板オブジェクトV4に対応する映像は、第2壁面表示部13に投手映像E1及び投手板映像E4として立体表示され、左右打席オブジェクトV5L,V5R及び本塁オブジェクトV5Hに対応する映像は、床面表示部11に左右の打席映像E5L,E5R及び本塁映像E5Hとして立体表示される。外野フェンスオブジェクトV6に対応する映像は、第1壁面表示部12から第2壁面表示部13に渡って外野フェンス映像E6として表示される。本塁映像E5H(打席映像E5)は、第2壁面表示部13(投手映像E1)の方向を向いた状態で表示される。よって、本塁映像E5H(打席映像E5)は、打席選択部62が選択した打席が左打席である場合と右打席である場合で、向きが90度違っている。右打席映像E5Rは、スイング領域SR内に表示される。
ボールオブジェクトV2に対応するボール映像E2は、左打席の場合と同様、投手映像E1の位置からプレイヤPが専用バット42で打撃可能な位置を通って本塁映像E5Hの後方まで移動する様子が立体表示される。よって、プレイヤPは、立体表示されるボール映像E2にタイミングを合わせて、また、ボール映像E2のプレイヤ空間内でのXpYpZp方向の位置に合わせて専用バット42をスイングすることができ、現実の野球ボールを使った打撃練習と同じ感覚で打撃練習をすることができる。
床面表示部11、第1壁面表示部12及び第2壁面表示部13が第1〜第3湾曲部14〜16を介して接続されているために、ボール映像E2が自然な経路で移動しているようにプレイヤPが認識できる点も図8の場合と同様である。
また、上記のように、打席選択部62が選択した打席が左打席の場合と右打席の場合とで、打席映像E5の向き及び位置を切り替えて表示する(左打席の場合は、本塁映像E5Hが第1壁面表示部12向きとなり、スイング領域SR内に左打席映像E5Lが位置するように表示し、右打席の場合は、本塁映像E5Hが第2壁面表示部13向きとなり、スイング領域SR内に右打席映像E5Rが位置するように表示する)ため、床面表示部11の面積を小さくすることができる。なお、打席選択部62が選択した打席が左打席の場合と右打席の場合での本塁映像E5Hの向きの違いは、厳密に90度である必要はなく、ある程度幅を持たせて良い。本塁映像E5Hの向きの違いの好ましい範囲は、80度〜100度であり、より好ましい範囲は、85度〜95度である。
また、打席選択部62が左打席を選択した場合には、左打席映像E5Lがスイング領域SR内に表示されるため、プレイヤPは、左打席映像E5L内で、専用バット42を第1壁面表示部12や第2壁面表示部13にぶつける心配なく安全にスイングをすることができ、打席選択部62が右打席を選択した場合には、右打席映像E5Rがスイング領域SR内に表示されるため、プレイヤPは、右打席映像E5R内で、専用バット42を第1壁面表示部12や第2壁面表示部13にぶつける心配なく安全にスイングをすることができる。
また、本実施形態では、図4に関して説明したように、本体部V2a(本体部E2a)の後方にボールオブジェクトV2の移動速度に応じた長さの延長部V2b(延長部E2b)が付加される。これにより、ボール映像E2の速度の違いをプレイヤPが認識し易くなる。また、ボールオブジェクトV2の移動速度が、1フレーム時間の間にボールオブジェクトV2の直径よりも長い距離をボールオブジェクトV2が移動してしまうような高速である場合でも、ボール映像E2が連続的に移動しているようにプレイヤPが認識し易くなる。
また、ボールオブジェクトV2の移動速度に応じてボールオブジェクトV2のサイズを拡大するように構成した場合には、ボールオブジェクトV2が高速で移動する場合のボール映像E2の速度感を高めることができる(ボール映像E2がより高速で移動しているようにプレイヤPに認識させることができる)。
バット位置算出部66は、位置検出装置40により検出される専用バット42の位置及び向きに基づいて、仮想空間におけるバットオブジェクトV3の位置及び向きをリアルタイムで算出する。打席選択部62が選択した打席が左打席の場合には、バットオブジェクトV3の位置及び向きは、プレイヤ空間における専用バット42の位置及び向きと同一の位置及び向きが算出される。すなわち、専用バット42のプレイヤ空間での位置座標が(a,b,c)なら、バットオブジェクトV3の仮想空間での位置座標は(a,b,c)となり、専用バット42のプレイヤ空間での向き(例えば、専用バット42の持ち手部分から先端に向かうベクトル)が+Zp方向なら、バットオブジェクトV3の仮想空間での向き(例えば、バットオブジェクトV3の持ち手部分から先端に向かうベクトル)は+Zv方向となる。打席選択部62が選択した打席が右打席の場合には、プレイヤ空間における専用バット42の位置及び向きのXp座標とYp座標を入れ替えた仮想空間内の位置及び向きが算出される。
打撃結果判定部67は、プレイヤPが飛来するボール映像E2に対して専用バット42をスイングしたときに、仮想空間におけるボールオブジェクトV2の位置(移動経路)と、バット位置算出部66が算出したバットオブジェクトV3の位置(移動経路)に基づいて、打撃結果を判定する。具体的には、仮想空間でボールオブジェクトV2とバットオブジェクトV3が最接近したときの距離が一定値(例えば、5cm)未満であれば、ボールオブジェクトV2とバットオブジェクトV3が衝突(コリジョン)したことにして、打撃成功と判定する。一方、最接近したときの距離が一定値以上であれば空振りと判定する。なお、バット位置算出部66が算出するバットオブジェクトV3の位置及び向きから、プレイヤPがスイングしなかったと判定した場合には、見送りと判定する。
更に、打撃成功の場合、打撃結果判定部67は、バットオブジェクトV3の位置・向きやボールオブジェクトV2とバットオブジェクトV3の衝突タイミングや衝突角度等に基づいて、バットオブジェクトV3のヘッドスピードや打球の方向(ライト方向、センター方向、レフト方向等)や塁打情報(ファール、シングルヒット、ツーベース、スリーベース、ホームラン等)を決定する。
仮想操作受付部68は、後述の操作受付(ステップS8)の処理において、プレイヤ空間内に立体表示される操作指示オブジェクトV7に対応する操作指示映像E7に対する操作を受け付ける。
具体的には、仮想モデル設定部61が、図10に示すように、仮想空間における打席オブジェクトV5の近くの所定高さ位置に、操作指示オブジェクトV7を配置する。操作指示オブジェクトV7は、「リピート」の文字が表示された部分V7aと「分析」の文字が表示された部分V7bで構成されている。この操作指示オブジェクトV7が配置された仮想モデルVMを立体映像生成部65がレンダリングすることで、図11に示すように、プレイヤ空間における打席映像E5の近くの所定高さ位置に操作指示映像E7が立体表示される。
なお、打席選択部62が選択した打席が右打席の場合、操作指示オブジェクトV7を右の打席オブジェクトV5Rの近くに配置することで、右打席映像E5Rの近くに操作指示映像E7を表示すると良い。打席選択部62が選択した打席が左打席の場合は、その逆に、操作指示オブジェクトV7を左の打席オブジェクトV5Lの近くに配置することで、左打席映像E5Lの近くに操作指示映像E7を表示すると良い。
プレイヤPは、上記のように立体表示される操作指示映像E7に対して、専用バット42で操作を行うことができる。仮想操作受付部68は、バット位置算出部66が算出する仮想空間におけるバットオブジェクトV3の位置に基づき、プレイヤPの操作を受け付ける。すなわち、バットオブジェクトV3の位置が部分V7aの位置に一致したときは、「リピート」の操作を受け付け、バットオブジェクトV3の位置が部分V7bの位置に一致したときは、「分析」の操作を受け付ける。
分析結果表示部69は、後述の分析結果の表示(ステップS9)の処理において、打撃結果判定部67による判定結果を3面表示部10に表示する。
プレイヤデータ記憶部70には、複数のプレイヤPについて、識別情報、身長、及び、右打席か左打席かの別(プレイヤPが右打者の場合は右打席、プレイヤPが左打者の場合は左打席)が記録されている。識別情報は、プレイヤPの氏名、ID、背番号等とすることができる。
図12は、バーチャル野球装置1において実行される打撃練習処理の流れを示す。
ステップS1では、プレイヤPが操作端末30に対して自身の識別情報を入力し、打席選択部62は、プレイヤデータ記憶部70のデータを参照することで、プレイヤPが入力した識別情報に対応する打席(右打席又は左打席のいずれか)を選択する。
ステップS2では、操作端末30に対するプレイヤPの操作に従って対戦相手となる投手の選択が行われる。対戦相手の投手は、図5に示すA投手、B投手、C投手・・・の中から選択可能である。
ステップS3では、球種やコースが選択される。球種は、ステップS2で選択した投手に対応するボール移動データの中から選択される。球種やコースの選択の方法は任意である。操作端末30に対する操作によってプレイヤPが選択できるようにしても良く、ステップS2で選択した投手に対応する現実の投手の過去の配球傾向のデータを基に自動的に選択されるようにしてもよい。
ステップS4では、ステップS1で打席選択部62が選択した打席の左右に応じて、立体映像生成部65が3面表示部10に図8又は図9のいずれかの立体映像を表示する。なお、この時点では、投手オブジェクトV1は投球動作開始前の状態であり、ボールオブジェクトV2は仮想空間に配置されていない。また、位置検出装置40がプレイヤ空間内の立体視メガネ41を検出できない場合には、視点位置算出部63は、仮想空間内の適宜の位置(例えば、前回の打撃練習で最後に立体視メガネ41を検出したときに算出した仮想視点位置L,Rの位置)に左右仮想視点位置L,Rを配置する。
ステップS5では、立体視メガネ41の位置に基づいてプレイヤPが打席に入ったかどうかが判断される。具体的には、ステップS1で選択した打席が左打席の場合は、左打席映像E5L上に立体視メガネ41が位置する場合に打席に入ったと判断し、ステップS1で選択した打席が右打席の場合は、右打席映像E5R上に立体視メガネ41が位置する場合に、打席に入ったと判断する。
ステップS5の判断が肯定(Yes)の場合、ステップS6に移行し、否定(No)の場合は、ステップS5が反復する。
ステップS6では、投球映像が表示される。具体的には、仮想モデル設定部61が、投手オブジェクトV1に投球動作を行わせ、投球動作にタイミングを合わせてボールオブジェクトV2を仮想空間で移動させる。これにより、図8又は図9に示すように、投手映像E1の位置からプレイヤPの近くを通って本塁映像E5Hの後方まで移動するボール映像E2が立体表示される。プレイヤPは、そのボール映像E2に対して、XpYpZp方向の位置及びタイミングが合うように専用バット42をスイングする。
ステップS7では、打撃結果判定部67が打撃結果を判定する。
ステップS8では、一定時間、仮想操作受付部68がプレイヤPによる操作指示映像E7に対する操作を待ち受ける。具体的には、仮想操作受付部68が、図11に示すような態様で、プレイヤ空間に操作指示映像E7を立体表示し、プレイヤPが操作指示映像E7の部分E7a又はE7bに対して専用バット42で操作を行ったときに、仮想操作受付部68は、「リピート」の操作又は「分析」の操作を受け付ける。
このように、操作指示映像E7が、打席映像E5の近くに表示されるので、プレイヤPは、打席に入ったまま操作(「リピート」の操作又は「分析」の操作)を行うことが可能である。3面表示部10から離れた場所(例えば、操作端末30の場所)まで移動しなくても操作ができるので便利である。
ステップS8において、「分析」の操作が受け付けられた場合、ステップS9に移行し、分析結果表示部69が分析結果を表示する。
具体的には、分析結果表示部69は、仮想空間にボールオブジェクトV2、バットオブジェクトV3、結果表示オブジェクトV8等を追加で配置する処理を仮想モデル設定部61に実行させる。図13は、ステップS9における各オブジェクトの配置例を示す。
図示のように、ボールオブジェクトV2及びバットオブジェクトV3は、ステップS6においてプレイヤPが専用バット42をスイングした際にボールオブジェクトV2とバットオブジェクトV3が最接近したときの位置にそれぞれ配置される。なお、本例では、本体部V2aのみを有するボールオブジェクトV2を配置する場合を例として図示したが、図6の場合と同様、本体部V2aと延長部V2bを有するボールオブジェクトV2を配置してもよい。
結果表示オブジェクトV8は、バットオブジェクトV3の近くに配置される。結果表示オブジェクトV8は、打撃結果判定部67が決定した専用バット42のヘッドスピードを示すヘッドスピード表示部V8aと、飛球方向及び類打情報を示す方向類打表示部V8bを有する。図示の方向類打表示部V8bの「右2打」は、右方向(ライト方向)の打球であって、2塁打であることを示している。
このボールオブジェクトV2、バットオブジェクトV3、結果表示オブジェクトV8等が配置された仮想モデルVMを立体映像生成部65がレンダリングすることで、図14に示すように、ボール映像E2、バット映像E3、結果表示映像E8がプレイヤ空間に立体表示される。このような映像を見ることで、プレイヤPは、ステップS6での打撃の結果を判りやすく理解することができる。例えば、ボール映像E2とバット映像E3の位置関係を見れば、打撃成功の場合は、どのような位置で、また、どのような角度でボール映像E2と専用バット42が衝突したのか、空振りの場合は、ボール映像E2と専用バット42がどの程度離れていたのか等が判る。
ステップS8において、「リピート」の操作が受け付けられた場合、処理はステップS6に移行し、ステップS6〜S8の処理が再度実行される。よって、プレイヤPは、「リピート」の操作を行うことで、何度でも同一の球種やコースでの打撃練習を行うことができる。
ステップS8において、一定時間に渡って操作指示映像E7に対する操作が検出されない場合、ステップS3に移行し、ステップS3〜S8の処理が再度実行される。これにより、新たに球種やコースの選択が行われ、プレイヤPは、新たな球種やコースでの打撃練習を行うことができる。
以上のように、本実施形態のバーチャル野球装置1では、3つの方向に位置する少なくとも3つの表示部(床面表示部11と第1壁面表示部12と第2壁面表示部13)を有するため、プレイヤPの近く(例えば、専用バット42で打撃可能な位置)までボール映像E2を立体表示することができる。また、プレイヤPは、ボール映像E2に位置及びタイミングを合わせて専用バット42で打撃練習をすることができ、打撃結果は、仮想空間におけるボールオブジェクトV2とバットオブジェクトV3の位置に基づいて判定される。よって、現実のボールでの打撃練習と同じ感覚での打撃練習をすることが可能である。
また、図8、図9に示すように、打撃の姿勢を取っているプレイヤPから見た視界のほぼ全範囲をカバーする3面表示部10に現実の球場を再現した立体映像が表示されるため、プレイヤPは、現実の球場と同じ様な臨場感を感じることができる。
また、ボールオブジェクトV2の移動速度に応じてボールオブジェクトV2の長さLが長くなるため、ボール映像E2の速度感が判り易くなり(高速のときは、高速で動いているとプレイヤPが認識し易く、低速のときは、低速で移動しているとプレイヤPが認識し易くなる)、また、ボールオブジェクトV2の移動速度が高速の場合でも、ボール映像E2が連続的に(飛び飛びにではなく)移動しているようにプレイヤPが認識し易くなる。
また、ボールオブジェクトV2の移動経路の始点のYv方向の位置に応じて、投手オブジェクトV1のYv方向の位置が調整される。これにより、図7のc1〜c3に示すように、球種やコースによってボールオブジェクトV2の移動経路(移動開始時のYv方向の位置)が異なる場合でも、同一の投手動作データを用いて、投手映像E1の手から自然にボール映像E2が放たれる映像にすることができる。
[第2実施形態]
第1の実施形態では、左仮想視点位置Lと右仮想視点位置Rの間の距離DPとして、日本人の平均の両眼間隔に合わせて6.5cmの数値が使用されている。しかし、プレイヤPの両眼間隔が平均値と大きく異なる場合には、プレイヤPが認識するプレイヤ空間内でのボール映像E2と専用バット42の位置関係と、仮想空間内でのボールオブジェクトV2とバットオブジェクトV3の位置関係の間にずれが生じてしまう。そのため、例えば、プレイヤPの認識では、確かにボール映像E2と専用バット42の位置を一致させたのに、打撃結果判定部67が打撃失敗の判定をしてくれない、等の問題が生じる。この問題に対処するため、第2実施形態のバーチャル野球装置1は、プレイヤP毎に距離DPを調整する視差調整機能を有する。図15は、第2実施形態のバーチャル野球装置1において実行される視差調整処理のフローチャートを示す。
ステップS21では、プレイヤPが操作端末30に対して自身の識別情報を入力し、打席選択部62は、プレイヤデータ記憶部70のデータを参照することで、右打席又は左打席のいずれかを選択する。
ステップS22では、視差調整用映像が3面表示部10に表示される。図16(a)は、視差調整用映像を生成するために仮想モデル設定部61が仮想空間に設定する仮想モデルVMを示す。図のように、仮想モデルVMには、図6と同様にして、打席オブジェクトV5L,V5R、本塁オブジェクトV5Hが配置されており、本塁オブジェクトV5Hの上方の所定の高さにボールオブジェクトV2が静止した状態で配置されている。
ボールオブジェクトV2の位置は、好ましくは、ストライクゾーンの真ん中である。すなわち、図16(a)に示すように、ボールオブジェクトV2のXv座標及びYv座標は、それぞれ、本塁オブジェクトV5HのXv方向及びYv方向の真ん中の位置である。また、図16(b)に示すように、ボールオブジェクトV2のZv座標値(Z1)は、ストライクゾーンの高さ方向(Zv方向)の真ん中である。ストライクゾーンは、ステップS21で入力された識別情報で特定されるプレイヤPの身長に基づいて設定することができる。
ボールオブジェクトV2には、ボールオブジェクトV2の中心を示すマークV2dが付加されている。
図16(c)は、仮想モデルVMに基づいて3面表示部10に視差調整用映像が表示されている状態を示す。図は、ステップS21で右打席が選択された場合である。ボールオブジェクトV2の仮想空間内の位置に対応して、視差調整用映像では、図示のように、プレイヤ空間のストライクゾーンの真ん中の位置にボール映像E2が表示される。ボール映像E2の中心には、マークV2dに対応するマーク映像E2dが表示される。
ステップS23では、プレイヤPが立体視メガネ41をかけた状態で、マーク映像E2dを狙って専用バット42をスイングする。ステップS23では、3面表示部10に、「表示されるボールの中心を打ってください。」など、プレイヤPに対する指示のメッセージE9を表示するとよい。
ステップS24では、バット位置算出部66が算出したバットオブジェクトV3の位置に基づいて、ステップS23でバットオブジェクトV3が本塁オブジェクトV5Hの中心(左打席の場合は、Yp方向の中心、右打席の場合は、Xp方向の中心)を通ったときのバットオブジェクトV3のZ方向の座標値(Z2)を算出する。
ステップS25では、ステップS21のボールオブジェクトV2のZ方向の座標値(Z1)とステップS24で算出されたバットオブジェクトV3のZ方向の座標値(Z2)の差(Z1−Z2)が計算される。
ステップS26では、ステップS25で算出した差(Z1−Z2)に基づいて、距離DPが調整される。具体的には、差(Z1−Z2)がプラスの場合、すなわち、バットオブジェクトV3の位置がボールオブジェクトV2の位置よりも下であった場合には、距離DPを減少させ、その逆に、差(Z1−Z2)がマイナスの場合、すなわち、バットオブジェクトV3の位置がボールオブジェクトV2の位置よりも上であった場合には、距離DPを増加させるように調整される。また、ステップS26では、差(Z1−Z2)の絶対値が大きいほど、距離DPの増加幅/減少幅が大きくなるように調整される。
第2実施形態のバーチャル野球装置1では、視差調整処理が行われた以降は、ステップS26で調整した距離DPを用いて打撃練習処理が実行される。これにより、打撃結果判定部67は、プレイヤPの認識により一致するように、打撃結果を判定することが可能になる。よって、プレイヤPは、打撃練習処理の実行前に、視差調整処理を行うとよい。
なお、第2実施形態の変形形態として、ステップS22〜S26の処理を、例えば、差(Z1−Z2)が一定値(例えば、2cm)以下になるまで、複数回数反復して実行することで、距離Dの調整の精度を高めることができる。更に他の変形形態として、ステップS23〜S25の処理を複数回数反復して実行することにより、差(Z1−Z2)を複数回数算出し、その後、その差(Z1−Z2)の平均値を用いてステップS26における距離Dの調整を行ってもよい。この場合も、距離Dの調整の精度を高めることができる。
以上、好ましい実施の形態を説明したが、上記実施の形態における装置、プログラム、手段又はそれらの要素、動作態様、制御態様、制御パラメータ等は例として記載したものであり、これらは、様々に変形することが可能である。
例えば、上記実施形態では、投影型のプロジェクタを用いて映像を3面表示部10に投影する場合を説明したが、映像の表示方式は任意である。例えば、3面表示部10を液晶表示方式やプラズマ表示方式等の立体テレビとしても構わない。また、上記実施形態では、プレイヤPが床面表示部11上に立つことができる3面表示部10を説明したが、3面表示部10の形態は任意であり、3面表示部10をヘッドマウント式の立体表示装置にしてもよい。また、上記実施形態では、立体視メガネ41をかけたときに立体視が可能な立体映像を表示する場合を説明したが、裸眼で立体視が可能な立体映像を表示してもよい。
また、上記実施形態では、打撃結果判定部67は、仮想空間内でのボールオブジェクトV2とバットオブジェクトV3の位置関係に基づいて衝突判定、飛球方向や塁打情報の決定等を行っているが、これらの判定や決定は、実空間内でのボール映像E2と専用バット42の位置関係に基づいて行ってもよい。
また、上記実施形態では、3面表示部10が、プレイヤPから見て3つの方向に3つの表示部(床面表示部11と第1壁面表示部12と第2壁面表示部13)を有する場合を説明したが、そのうちの一つを省略してもよい。その例を図17及び図18に示す。
図17(a)は、バーチャル野球装置1Aの斜視図であり、図17(b)及び図17(c)は、その平面図である。
図示のように、バーチャル野球装置1Aは、2つの方向の2つの平坦な表示部(床面表示部11Aと壁面表示部12A)を有する2面表示部10Aを有する。床面表示部11Aは、平面視で三角形の形状を有する。図示の例では、床面表示部11Aの形状は、直角二等辺三角形である。壁面表示部12Aは、図17(b)及び図17(c)に示すように、平面視で斜めに配置されている。図示の例では、壁面表示部12Aは、床面表示部11Aの底辺11A1と平行に配置されている。
床面表示部11Aと壁面表示部12Aは直接接続してもよいが、図17の例では、床面表示部11Aと壁面表示部12Aは、所定の曲率半径の湾曲部14Aを介して滑らかに接続されている。床面表示部11Aと壁面表示部12Aが成す角度は、3面表示部10における角度βと同様の角度とすることができる。
バーチャル野球装置1Aでは、床面表示部11A用のプロジェクタ21LA,21RAと、壁面表示部12A用のプロジェクタ22LA,22RAの2組のプロジェクタが使用され、バーチャル野球装置1と同様にして、立体映像が表示される。
図17のように、2つの方向の2つの表示部(床面表示部11Aと壁面表示部12A)を用いた場合でも、プレイヤPの近く(例えば、専用バット42で打撃可能な位置)までボール映像E2を立体表示することができ、プレイヤPは、ボール映像E2に位置及びタイミングを合わせて専用バット42をスイングするという、現実のボールでの打撃練習と同じ感覚での打撃練習をすることができる。
バーチャル野球装置1Aでは、打席選択部62が右打席を選択した場合は、図17(b)に示すように、打席映像E5の方向が壁面表示部12Aの左側12ALの向きであり、かつ、右打席映像E5Rがスイング領域SR内に位置するように、打席映像E5が表示される。投手映像E1は、壁面表示部12Aの左側12ALに表示される。打席選択部62が左打席を選択した場合は、図17(c)に示すように、打席映像E5の方向が壁面表示部12Aの右側12ARの向きであり(右打席の場合に対して、90度回転している)、かつ、左打席映像E5Lがスイング領域SR内に位置するように、打席映像E5が表示される。投手映像E1は、壁面表示部12Aの右側12ARに表示される。これにより、プレイヤPが右打者の場合でも、左打者の場合でも、スイング領域SR内で安全にバットスイングをすることができ、また、床面表示部11Aの面積を小さくすることができる。
床面表示部11Aの平面視の形状は、三角形である必要はない。例えば、破線11A2で示すような長方形の形状にしても良い。
図18(a)は、バーチャル野球装置1Bの斜視図であり、図18(b)及び図18(c)は、その平面図である。
図示のように、バーチャル野球装置1Bは、バーチャル野球装置1Aと同様、2つの方向の2つの表示部(床面表示部11Bと壁面表示部12B)を有する2面表示部10Bを有するが、壁面表示部12Bが平面視で湾曲している点がバーチャル野球装置1Aと相違する。
バーチャル野球装置1Bでは、バーチャル野球装置1Aとプロジェクタ21LA,21RA及びプロジェクタ22LA,22RAと同様のプロジェクタ21LB,21RB及びプロジェクタ22LB,22RBが使用され、バーチャル野球装置1Aと同様にして、立体映像が表示され、バーチャル野球装置1Aと同様に、プレイヤPの近く(例えば、専用バット42で打撃可能な位置)までボール映像E2を立体表示することができ、プレイヤPは、ボール映像E2に位置及びタイミングを合わせて専用バット42をスイングするという、現実のボールでの打撃練習と同じ感覚での打撃練習をすることができる。
図18(b)、図18(c)に示すように、打席選択部62が選択した打席が右打席の場合と左打席の場合の打席映像E5の表示の切替方法もバーチャル野球装置1Aと同様である。よって、プレイヤPが右打者の場合でも、左打者の場合でも、スイング領域SR内で安全にバットスイングをすることができ、また、床面表示部11Bの面積を小さくすることができる。
床面表示部11Bの形状は、必ずしも三角形でなくてよい。例えば、図18(a)の破線11B1で示すような長方形にしても良い。
バーチャル野球装置1A,1Bは、第1壁面表示部12と第2壁面表示部13の一方を省略する例であるが、他の例として、床面表示部11を省略し、第1壁面表示部12と第2壁面表示部13の2つからなる2面表示部にしても良い。その場合も、ボール映像E2が外角に外れていくような移動経路であれば、プレイヤPの近く(例えば、専用バット42で打撃可能な位置)までボール映像E2を立体表示することができ、プレイヤPは、ボール映像E2に位置及びタイミングを合わせて専用バット42をスイングするという、現実のボールでの打撃練習と同じ感覚での打撃練習をすることができる。
また、上記実施形態では、操作体として専用バット42が使用されているため、バーチャル野球装置を用いて打撃練習を行うことが可能であるが、操作体としてバット以外の物を使用すれば、装置を打撃練習以外の用途で使用することが可能である。例えば、操作体として1つ又は複数の赤外線マーカーを取り付けたキャッチャーミットを使用して位置検出装置40でキャッチャーミットの位置を検出するようにすれば、捕手の捕球練習(例えば、バウンドや暴投の捕球練習等)を行うことができるバーチャル野球装置とすることができる。同様に、操作体として1つ又は複数の赤外線マーカーを取り付けた他のスポーツの用具(例えば、テニスのラケットやアイスホッケーのスティック等)を使用することで、テニスやアイスホッケー等、他のスポーツの練習やシミュレーション等を行う装置(バーチャルスポーツシミュレーション装置)とすることも可能である。それ以外のスポーツ(例えば、サッカー、ゴルフ、バスケットボール、クリケット、卓球、バトミントン等)のの練習やシミュレーション等を行う装置(バーチャルスポーツシミュレーション装置)としてもよい。また、例えば、操作体として1つ又は複数の赤外線マーカーを取り付けた網を使用することで、網を用いた昆虫採集の練習やシミュレーション等を行う装置とすることも可能である。
本発明のバーチャルスポーツシミュレーション装置は、例えば、プロ野球や学生野球や少年野球、或いは、他のスポーツの選手等が打撃練習や捕球練習をする目的で使用することができる。その場合、バーチャルスポーツシミュレーション装置は、球場や練習場の施設や学校等に設置できる。本発明のバーチャルスポーツシミュレーション装置は、ゲーム又は遊びの目的で使用することも可能である。その場合、バーチャルスポーツシミュレーション装置は、ゲームセンターやショッピングセンター、イベント会場等に設置できる。
[付記1]
本願には、下記各観点に記載の発明が開示される。
<観点1>
オブジェクトを仮想空間内で移動させるオブジェクト移動手段と、
仮想空間内の仮想視点から見た前記オブジェクトの映像をフレーム時間毎に生成して表示する表示手段と、
前記オブジェクトの移動速度に応じて、前記オブジェクトの移動方向の長さを長くする長さ変更手段を有する映像表示装置。
<観点2>
前記オブジェクトが、移動方向の前方に位置する球状の本体部と、移動方向の後方に位置する筒状の延長部を有し、長さ変更手段は、前記オブジェクトの移動速度に応じて前記延長部の長さを長くすることを特徴とする観点1に記載の映像表示装置。
<観点3>
前記長さ変更手段は、前記オブジェクトの移動速度に応じて、前記オブジェクトの大きさを大きくすることを特徴とする観点1又は2に記載の映像表示装置。
現実の物体(例えば、現実の投手が投じるボール)が移動する様子をCG映像で作成する手法としては、仮想空間内を移動するオブジェクトを仮想視点から見た映像をフレーム時間毎に生成して表示するという手法がある。この場合、例えば、オブジェクトをその物体と同じサイズとし、その物体と同速度でオブジェクトを移動させれば、生成された映像内で、映像上の物体は、現実のボールと同速度又は対応する速度で移動する。
しかし、フレーム時間毎に生成された映像では、物体の移動速度の違いが十分表現できない問題があった。すなわち、映像上の物体が現実の物体と同速度又は対応する速度で移動していても、現実の物体と同様の速度感が得られないのである。また、オブジェクトの仮想空間での移動速度が大きい場合、例えば、1フレーム時間のオブジェクトの移動距離がオブジェクトの大きさよりも大きい場合には、映像上で物体が不連続に(飛び飛びに)移動しているように表示されてしまう問題もある。
上記問題への対処法としては、フレーム時間を短くすることが考えられるが、フレーム時間を短くすると、コンピュータの処理負荷が増大する問題がある。特に、立体映像の場合は、左眼及び右眼用の映像を生成する必要から、フレーム時間の短縮はより困難になる。
付記1の観点1では、オブジェクトの移動速度に応じて(例えば、オブジェクトの移動速度に比例して)、オブジェクトの移動方向の長さを長くすることとした。このようにすると、物体の移動速度の違いをより適切に表現することが可能になり、また、映像上の物体が連続的に移動しているようにプレイヤが認識し易くなる。
[付記2]
本願には、下記各観点に記載の発明が開示される。
<観点1>
投手オブジェクト及びボールオブジェクトが配置され、前記投手オブジェクトの投球動作に合わせたタイミングで前記ボールオブジェクトが移動する仮想モデルを仮想空間に設定する仮想モデル設定手段と、
仮想空間内の仮想視点から見た前記仮想モデルの映像を生成して表示する表示手段を有する映像表示装置であって、
前記ボールオブジェクトの移動経路の始点が変更可能であり、
仮想空間における前記始点と前記投手オブジェクトの左右方向の位置が一致するように前記投手オブジェクトの位置を調整する位置調整手段を更に有することを特徴とする映像表示装置。
<観点2>
位置調整手段は、前記始点と前記投手オブジェクトの手の左右方向の位置が一致するように前記投手オブジェクトの位置を調整することを特徴とする観点1に記載の映像表示装置。
投手が投球する様子をCG映像で作成する手法としては、投手オブジェクトが投球動作を行い、その投球動作に合わせたタイミングでボールオブジェクトが移動する仮想モデルを仮想空間に設定し、仮想視点から見た仮想モデルの映像を生成して表示するという手法がある。この場合、現実の投手が投じるボールの移動経路は様々であることから、ボールオブジェクトの移動経路は様々に変化させることが望ましい。
しかし、ボールオブジェクトの移動経路を変化させたときに、投球動作をする投手オブジェクトの手とボールオブジェクトの移動経路の始点の位置が不一致になると、投手の手から離れた位置からボールが放たれる不自然な映像が出来上がってしまう。かといって、ボールオブジェクトの始点が変わる数だけ投手オブジェクトの動作データを作成することは、労力が過大である。
付記2の観点1では、ボールオブジェクトの移動経路の始点と投手オブジェクトの左右方向の位置が一致するように投手オブジェクトの仮想空間内の位置を調整することとした。好ましい実施形態では、投球動作中の投手オブジェクトの手とボールオブジェクトの移動開始位置の左右方向の位置が一致するように、投手オブジェクトの位置を調整する。これにより、投手の手からボールが放たれる自然な映像を生成することができる。
[付記3]
本願には、下記各観点に記載の発明が開示される。
<観点1>
プレイヤの視点から見て第1の方向に位置する第1表示部と、
プレイヤの視点から見て前記第1の方向と異なる第2の方向に位置する第2表示部と、
プレイヤの視点の位置である視点位置を検出する視点位置検出手段と、
仮想空間内を移動する移動オブジェクトを含む仮想モデルを仮想空間に設定する仮想モデル設定手段と、
前記視点位置に対応する仮想空間内の位置を仮想視点位置として算出する仮想視点位置算出手段と、
前記仮想視点位置から仮想空間内の第1の方向で前記仮想モデルを見たときの立体映像である第1立体映像を生成する第1立体映像生成手段と、
前記仮想視点位置から仮想空間内の第2の方向で前記仮想モデルを見たときの立体映像である第2立体映像を生成する第2立体映像生成手段と、
前記第1立体映像を前記第1表示部に映写し、前記第2立体映像を前記第2表示部に映写する映写手段を有し、
前記第1の方向と前記第2の方向が成す角度が、前記仮想空間内の第1の方向と前記仮想空間内の第2の方向が成す角度と概略同一であることを特徴とする映像表示装置。
<観点2>
プレイヤの視点から見て前記第1の方向及び前記第2の方向と異なる第3の方向に位置する第3表示部と、
前記仮想視点位置から仮想空間内の第3の方向で前記仮想モデルを見たときの立体映像である第3立体映像を生成する第3立体映像生成手段を更に有し、
前記第3の方向が前記第1の方向及び前記第2の方向が成す角度が、それぞれ、前記仮想空間内の第3の方向が前記仮想空間内の第1の方向及び前記仮想空間内の第2の方向が成す角度と概略同一であることを特徴とする観点1に記載の映像表示装置。
<観点4>
プレイヤが操作する操作体の位置である操作***置を検出する操作***置検出手段と、
前記操作***置に対応する仮想空間内の位置を仮想操作***置として算出する仮想操作***置算出手段と、
前記移動オブジェクトの仮想空間内の位置と前記仮想操作体の仮想空間内の位置に基づいてコリジョン判定を行うコリジョン判定部を更に有することを特徴とする観点1又は2に記載の映像表示装置。
付記3の観点1では、移動オブジェクトの映像を、プレイヤの視点の近くの位置まで立体表示できる。「第1の方向」は、下方とすることができ、「第2の方向」は、前方とすることができる。「第1表示部」は、床面表示部とすることができ、「第2表示部」は、壁面表示部とすることができる。
前記第1の方向と前記第2の方向が成す角度と、前記仮想空間内の第1の方向と前記仮想空間内の第2の方向が成す角度の差、前記第1の方向と前記第3の方向が成す角度と、前記仮想空間内の第1の方向と前記仮想空間内の第3の方向が成す角度の差、及び/又は、
前記第2の方向と前記第3の方向が成す角度と、前記仮想空間内の第2の方向と前記仮想空間内の第3の方向が成す角度の差は、±10度以内であることが好ましく、±7度以内であることがより好ましく、±5度以内であることが更に好ましい。