(57)【特許請求の範囲】
【請求項１】
オブジェクト空間内の所与の視点での画像を生成する画像生成装置であって、
操作手段により入力される操作データに基づき、オブジェクト空間内で移動体を移動させる移動体演算手段と、
オブジェクト空間内の所与の視点での画像を生成する画像生成手段とを含み、
前記画像生成手段が、
前記移動体の画像と、前記移動体が移動する仮想水面の画像と、前記移動体の仮想漕艇手段の画像を生成し、  
前記移動体演算手段が、
前記操作データに基づき、前記仮想漕艇手段が移動体の左右のいずれ側の仮想水面に浸水しているかを判断すると共に、前記移動体の加速度を決める前記仮想漕艇手段の漕艇速度を求め、
前記仮想漕艇手段が前記移動体の左側の仮想水面に浸水していると判断され、且つ、前記漕艇速度の絶対値が所与のしきい値よりも小さい場合には、前記移動体を左に曲げる演算処理を行い、
前記仮想漕艇手段が前記移動体の左側の仮想水面に浸水していると判断され、且つ、前記漕艇速度の絶対値が前記しきい値以上である場合には、前記移動体を左に曲げる演算処理を省略又は軽減して、前記漕艇速度に基づき前記移動体を移動させる演算処理を行い、
前記仮想漕艇手段が前記移動体の右側の仮想水面に浸水していると判断され、且つ、前記漕艇速度の絶対値が所与のしきい値よりも小さい場合には、前記移動体を右に曲げる演算処理を行い、
前記仮想漕艇手段が前記移動体の右側の仮想水面に浸水していると判断され、且つ、前記漕艇速度の絶対値が前記しきい値以上である場合には、前記移動体を右に曲げる演算処理を省略又は軽減して、前記漕艇速度に基づき前記移動体を移動させる演算処理を行うことを特徴とする画像生成装置。
【請求項２】
請求項１において、
前記移動体演算手段が、
前記仮想漕艇手段が仮想水面に浸水していない場合にも、漕艇速度の絶対値に基づき移動体を前進させることを特徴とする画像生成装置。
【請求項３】
請求項１又は２において、
前記操作手段が、
所与の歳差運動点を中心にして歳差運動可能な少なくとも１つの漕艇部材と、
前記歳差運動点を原点とする座標系においてプレーヤの向く方向にＸ軸を設定し鉛直方向にＹ軸を設定した場合に、前記漕艇部材の所与の点のＸ、Ｙ座標に相当するＸＲ、ＹＲを検出する検出手段とを含み、
前記漕艇部材が、
前記Ｘ軸回りに回動自在に形成されると共に前記Ｙ軸回りに回動自在に形成され、
前記検出手段が、
前記Ｘ軸周りの回転角度に基づいて前記ＹＲを検出し、前記Ｙ軸回りの回転角度に基づいて前記ＸＲを検出し、
前記移動体演算手段が、
前記ＹＲのしきい値をＹＲth（ＹＲth＞０）とした時に、ＹＲ＞ＹＲth又はＹＲ＜−ＹＲthの場合には、前記仮想漕艇手段が仮想水面に浸水していると判断し、
前記ＸＲの単位時間当たりの変化であるＶＸＲを漕艇速度にすることを特徴とする画像生成装置。
【請求項４】
オブジェクト空間内の所与の視点での画像を生成するための、コンピュータ読み取り可能な情報記憶媒体であって、
操作手段により入力される操作データに基づき、オブジェクト空間内で移動体を移動させる移動体演算手段と、
オブジェクト空間内の所与の視点での画像を生成する画像生成手段として、
コンピュータを機能させるプログラムを記憶し、
前記画像生成手段が、
前記移動体の画像と、前記移動体が移動する仮想水面の画像と、前記移動体の仮想漕艇手段の画像を生成し、  
前記移動体演算手段が、
前記操作データに基づき、前記仮想漕艇手段が移動体の左右のいずれ側の仮想水面に浸水しているかを判断すると共に、前記移動体の加速度を決める前記仮想漕艇手段の漕艇速度を求め、
前記仮想漕艇手段が前記移動体の左側の仮想水面に浸水していると判断され、且つ、前記漕艇速度の絶対値が所与のしきい値よりも小さい場合には、前記移動体を左に曲げる演算処理を行い、
前記仮想漕艇手段が前記移動体の左側の仮想水面に浸水していると判断され、且つ、前記漕艇速度の絶対値が前記しきい値以上である場合には、前記移動体を左に曲げる演算処理を省略又は軽減して、前記漕艇速度に基づき前記移動体を移動させる演算処理を行い、
前記仮想漕艇手段が前記移動体の右側の仮想水面に浸水していると判断され、且つ、前記漕艇速度の絶対値が所与のしきい値よりも小さい場合には、前記移動体を右に曲げる演算処理を行い、
前記仮想漕艇手段が前記移動体の右側の仮想水面に浸水していると判断され、且つ、前記漕艇速度の絶対値が前記しきい値以上である場合には、前記移動体を右に曲げる演算処理を省略又は軽減して、前記漕艇速度に基づき前記移動体を移動させる演算処理を行うことを特徴とする情報記憶媒体。
【請求項５】
請求項４において、
前記移動体演算手段が、
前記仮想漕艇手段が仮想水面に浸水していない場合にも、漕艇速度の絶対値に基づき移動体を前進させることを特徴とする情報記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オブジェクト空間内の所与の視点での画像を生成する画像生成装置及び情報記憶媒体に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内に複数の表示物を配置し、オブジェクト空間内の所与の視点から見える画像を生成する画像生成装置が知られており、いわゆる仮想現実を体験できるものとして人気が高い。ドライビングゲームを楽しむことができる画像生成装置を例にとれば、プレーヤは、自身が操作する車をオブジェクト空間内のコース上で走行させて３次元ゲームを楽しむ。
【０００３】
さて本発明者は、このような３次元ゲームの１つとして、ボートによる川下りを仮想体験できるラフティングゲームの開発を行っている。現実世界のラフティングにおいてはパドルを用いてボートを操舵する。従って、ラフティングゲームにおいて仮想現実感の向上を図るためには、このパドルによるボートの操舵をリアルにシミュレートすることが望まれる。
【０００４】
しかしながら、パドルによるボートの操舵を現実世界に忠実にシミュレートしすぎると、操作方法がプレーヤにとって難解になる可能性がある。またパドルの操作が操舵を意図するのか漕艇を意図するのかを判断するのが困難になるという問題もある。
【０００５】
本発明は、以上のような課題を解決するためになされたものであり、その目的とするところは、操作方法が理解しやすく移動体の操舵を簡易化できる画像生成装置及び情報記憶媒体を提供することにある。
【０００６】
【課題を解決するための手段】
上記課題を解決するために、本発明は、オブジェクト空間内の所与の視点での画像を生成する画像生成装置であって、操作手段により入力される操作データに基づき少なくとも１つの仮想漕艇手段により移動体を漕艇させ、オブジェクト空間内で移動体を移動させる移動体演算手段と、オブジェクト空間内の所与の視点での画像を生成する手段とを含み、前記移動体演算手段が、前記仮想漕艇手段が仮想水面に浸水しており漕艇速度の絶対値が所与のしきい値よりも小さい場合には、前記仮想漕艇手段が移動体の左右のいずれ側の仮想水面に浸水しているかに基づいて移動体を操舵すると共に、前記仮想漕艇手段が仮想水面に浸水しているが漕艇速度の絶対値が前記しきい値以上である場合には、前記仮想漕艇手段による移動体の操舵を省略又は軽減することを特徴とする。
【０００７】
本発明によれば、仮想漕艇手段が仮想水面に浸水している場合にも、漕艇速度が所与のしきい値以上である場合には、移動体の操舵が省略又は軽減される。このようにすることで、移動体を漕艇しようと意図してプレーヤが操作手段を操作している場合に、左右に細かく振られることなく移動体を移動することが可能となる。これによりプレーヤにとって理解しやすく不自然さの少ない操作方法を実現できる。
【０００８】
また本発明は、オブジェクト空間内の所与の視点での画像を生成する画像生成装置であって、操作手段により入力される操作データに基づき少なくとも１つの仮想漕艇手段により移動体を漕艇させ、オブジェクト空間内で移動体を移動させる移動体演算手段と、オブジェクト空間内の所与の視点での画像を生成する手段とを含み、前記移動体演算手段が、前記仮想漕艇手段が仮想水面に浸水していない場合にも、漕艇速度の絶対値に基づき移動体を前進させることを特徴とする。
【０００９】
本発明によれば、仮想漕艇手段が仮想水面に浸水していない状態で漕艇が行われた場合にも、移動体を前進させることができる。これにより操作方法をあまり理解していないプレーヤを救済でき、ユーザーフレンドリーなインターフェースを実現できる。
【００１０】
また本発明は、前記操作手段が、所与の歳差運動点を中心にして歳差運動可能な少なくとも１つの漕艇部材と、前記歳差運動点を原点とする座標系においてプレーヤの向く方向にＸ軸を設定し鉛直方向にＹ軸を設定した場合に、前記漕艇部材の所与の点のＸ、Ｙ座標に相当するＸＲ、ＹＲを検出する手段とを含み、前記移動体演算手段が、前記ＹＲに基づいて、前記仮想漕艇手段が仮想水面に浸水しているか否かを判断し、前記ＸＲの単位時間当たりの変化であるＶＸＲを漕艇速度にすることを特徴とする。このようにすることで、仮想水面への仮想漕艇手段の浸水の可否、漕艇速度の決定の容易化を図れる。
【００１１】
なお本発明では、前記操作手段が、前記漕艇部材を１つのみ含み、前記移動体演算手段が、前記ＹＲの絶対値が所与のしきい値ＹＲth（ＹＲth＞０）よりも大きく前記ＶＸＲの絶対値が所与のしきい値ＶＸＲth（ＶＸＲth＞０）よりも小さい場合には、前記仮想漕艇手段が移動体の左右のいずれ側の仮想水面に浸水しているかに基づいて移動体を操舵すると共に、前記ＹＲの絶対値が前記ＹＲthよりも大きいが前記ＶＸＲの絶対値が前記ＶＸＲth以上である場合には、移動体の操舵を省略又は軽減することが望ましい。また本発明では、前記移動体演算手段が、前記ＹＲの絶対値が前記ＹＲth以下である場合に、前記ＶＸＲの絶対値に基づき移動体を前進させることが望ましい。
【００１２】
【発明の実施の形態】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本実施例をボートで川下りをするラフティングゲームに適用した場合を例にとり説明する。但し本発明が適用されるゲームはこれに限られるものではない。
【００１３】
図１に、本実施例の画像生成装置の機能ブロック図の一例を示す。
【００１４】
ここで操作部１０は、パドル（図２の２５２参照）、ボタン、レバー等を用いてプレーヤが操作データを入力するためのものであり、操作部１０にて得られた操作データは処理部１００に入力される。
【００１５】
処理部１００は、上記操作データと所与のプログラムなどに基づいて、オブジェクト空間に表示物を配置する処理や、このオブジェクト空間の所与の視点での画像を生成する処理を行うものである。この処理部１００の機能は、ＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＤＳＰ、画像生成専用ＩＣなどのハードウェアにより実現できる。
【００１６】
情報記憶媒体１９０は、プログラムやデータを記憶するものである。この情報記憶媒体１９０の機能は、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＭＯ、ＦＤ、ＤＶＤ、メモリなどのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１９０からのプログラム、データに基づいて種々の処理を行うことになる。
【００１７】
処理部１００は、ゲーム演算部１１０と画像生成部１５０を含む。ここでゲーム演算部１１０は、ゲームモードの設定処理、ゲームの進行処理、ボート（移動体）の位置や方向を求める処理、オブジェクト空間への表示物の配置処理等を行う。画像生成部１５０は、ゲーム演算部１１０により設定されたオブジェクト空間での所与の視点での画像を生成する処理を行う。画像生成部１５０により生成された画像は表示部１２において表示される。
【００１８】
本実施例では、移動体演算部１１２が、操作部１０から入力される操作データに基づき仮想パドル（仮想漕艇手段）によりボート（移動体）を漕艇させ、オブジェクト空間内でボートを移動させる。
【００１９】
そして本実施例の第１の特徴は仮想パドルが仮想水面に浸水している場合に移動体演算部１１２が以下の処理を行う点にある。即ち漕艇速度の絶対値が所与のしきい値よりも小さい場合には、仮想パドルがボートの左右のいずれ側の仮想水面に浸水しているかに基づいてボートを操舵し、しきい値以上である場合には仮想パドルによる操舵を省略又は軽減する。
【００２０】
また本実施例の第２の特徴は、仮想パドルが仮想水面に浸水していない場合にも、漕艇速度の絶対値に基づきボートを前進させる点にある。
【００２１】
より具体的には以下に説明するような処理を行う。
【００２２】
即ち本実施例では、まず、図２に示すパドル（漕艇部材）２５２により操作データが入力される。ここで図２は、本実施例を業務用ゲーム装置に適用した場合の例を示す図である。プレーヤはシート２５０に座り、パドル２５２を操作し、表示部２５４に映し出されるボートをオブジェクト空間内で移動させる。なお２人のプレーヤがゲームプレイする場合には、第１のプレーヤがパドル２５２の左側を持ち、第２のプレーヤがパドル２５２の右側を持って、パドル２５２を協力して操作することになる。
【００２３】
図３に示すように、パドル２５２は、歳差運動点２０を中心にして歳差運動可能になっている。そして歳差運動点２０を原点とする座標系において、パドル２５２を操作するプレーヤの向く方向にＸ軸を設定し、鉛直方向にＹ軸を設定した場合に、パドル２５２上の所与の点２２のＸ、Ｙ座標に相当するＸＲ、ＹＲが検出される。
【００２４】
図４（Ａ）、（Ｂ）に、パドル２５２の回動機構の例を示す。この回転機構は、図２のフレーム２６０内に設けられている。
【００２５】
図４（Ａ）はこの回動機構の平面図であり、図４（Ｂ）は左側面図である。取り付け部材３０２は、ベース３００に対して第１の軸３０４の周りに回動自在に支持されている。そして第１の軸３０４の周りの回転に対する反力は反力機構３１６により与えられる。
【００２６】
第１のアーム３１２は、取り付け部材３０２に対して第２の軸３１４の周りに回動自在に支持されている。そして第２の軸３１４の周りの回転に対する反力はシリンダ３０６により与えられる。第１のアーム３１２はパドル２５２に固定されている。また第１のアーム３１２は、第２のアーム３２０に接続され、第２のアーム３２０は第３のアーム３２２に接続されている。
【００２７】
以上説明した回転機構により、パドル２５２は、第１の軸３０４の周りに回動自在になると共に、この第１の軸３０４に交差する第２の軸３１４の周りに回動自在になる。そしてセンサー３３０が、第１の軸３０４の周りの回転量に基づきＹＲを検出する。また第３のアーム３２２に取り付けられたセンサー３３２が、第２の軸３１４の周りの回転量に基づきＸＲをする。
【００２８】
図１の移動体演算部１１２は、上記のように検出されたＸＲ、ＹＲに基づき以下に説明する処理を行う。
【００２９】
図５において、円３０は、ＸＲ、ＹＲの可動範囲（ＸＲ、ＹＲの最大値）を定義するものである。本実施例では、ＹＲとしきい値ＹＲth（＞０）との比較を行う。そして、
（Ｃ１）ＹＲ＞ＹＲthの場合（図５の領域Ｐの場合）には、漕艇速度ＶＸＲ（ＸＲの単位時間当たりの変化）を漕ぎの力として利用し、ＶＸＲに基づきボートを移動させる。
【００３０】
（Ｃ２）ＹＲ＜−ＹＲthの場合（領域Ｑの場合）には、漕艇速度ＶＸＲを符号反転させたものを漕ぎの力として利用し、ＶＸＲを符号反転させたものに基づきボートを移動させる。
【００３１】
（Ｃ３）｜ＹＲ｜≦ＹＲthの場合（領域Ｒの場合）には、漕艇速度ＶＸＲの絶対値を漕ぎの力として利用し、ＶＸＲの絶対値に基づきボートを前進させる。
【００３２】
即ち検出されたＹＲがＹＲthよりも大きい場合（図５の領域Ｐ）には、図６（Ａ）に示すように、ボート（移動体）４０の左側（進行方向に対して）の仮想水面４２に仮想パドル４４が浸水していると考えることができる。そこで本実施例では、仮想パドル４４の漕艇方向が矢印５０の方向であれば矢印５２の方向にボート４０を進める。一方、漕艇方向が矢印５０の逆方向であれば矢印５２の逆方向にボート４０を進める。
【００３３】
また検出されたＹＲが−ＹＲthよりも小さい場合（領域Ｑ）には、図６（Ｂ）に示すように、ボート４０の右側の仮想水面４２に仮想パドル４４が浸水していると考えることができる。そこで本実施例では、仮想パドル４４の漕艇方向が矢印５４の方向であれば矢印５６の方向にボート４０を進める。一方、漕艇方向が矢印５４の逆方向であれば矢印５６の逆方向にボート４０を進める。
【００３４】
このように本実施例では、仮想パドル４４が浸水した状態で漕艇された場合に、その漕艇方向に応じた方向にボート４０を進める。
【００３５】
一方、検出されたＹＲの絶対値がＹＲth以下の場合（領域Ｒ）には、図６（Ｃ）に示すように、仮想水面４２に仮想パドル４４が浸水していない状態と考えることができる。この場合に本実施例では、仮想パドル４４の漕艇方向が矢印５８、６０のいずれの方向であっても、ボート４０を矢印６２の方向に進める。即ち仮想パドル４４が仮想水面４２に浸水していない場合にも、漕艇速度ＶＸＲの絶対値に基づきボート４０を前進させる。
【００３６】
このようにするのは以下の理由による。即ちプレーヤによっては、浸水状態で仮想パドル４４（パドル２５２）を漕がなければボート４０が進まないという操作方法を理解できないプレーヤもいる。このようなプレーヤは、ゲームのスタート後、操作方法を理解するまでの間、ボート４０を前に進めることができず、途方に暮れることになり、プレーヤのゲームへの没入度が低下する。
【００３７】
そこで本実施例では、非浸水状態で仮想パドル４４が漕がれた場合にもボート４０を前進させている。これにより、上記のようなプレーヤを救済でき、ゲーム操作をよりユーザーフレンドリーなものにすることが可能になる。
【００３８】
さて本実施例では、ＹＲとＹＲthとの比較後、漕艇速度の絶対値｜ＶＸＲ｜がしきい値ＶＸＲth（＞０）よりも小さいか否かを判断する。そして、
（Ｃ４）ＹＲ＞ＹＲthであり｜ＶＸＲ｜＜ＶＸＲthの場合にはボート４０を例えば左に操舵する。一方、ＹＲ＞ＹＲthだが｜ＶＸＲ｜≧ＶＸＲthの場合には操舵を省略（又は軽減）する。
【００３９】
（Ｃ５）ＹＲ＜−ＹＲthであり｜ＶＸＲ｜＜ＶＸＲthの場合にはボート４０を例えば右に操舵する。一方、ＹＲ＜−ＹＲthだが｜ＶＸＲ｜≧ＶＸＲthの場合には操舵を省略（又は軽減）する。
【００４０】
即ち図７（Ａ）に示すように、ＹＲ＞ＹＲthの場合にはボート４０の左側の仮想水面４２に仮想パドル４４が浸水していると考えられる。
【００４１】
そして本実施例では｜ＶＸＲ｜＜ＶＸＲthの場合には、漕ぐことを意図してプレーヤが仮想パドル４４を浸水させているのではなく曲げることを意図して仮想パドル４４を浸水させているとみなす。即ち仮想パドル４４の浸水により抵抗力を発生させてボート４０を曲げようとしているとみなす。従ってこの場合には、図７（Ａ）の矢印６４に示すようにボート４０を左に操舵する。
【００４２】
一方、｜ＶＸＲ｜≧ＶＸＲthの場合には、曲げることを意図してプレーヤが仮想パドル４４を浸水させているのではなく漕ぐことを意図して仮想パドル４４を浸水させているとみなす。従ってこの場合には操舵（舵取り）を行わずに、ＶＸＲに基づきボート４０を前進又は後退させる。
【００４３】
また図７（Ｂ）に示すように、ＹＲ＜−ＹＲthの場合にはボート４０の右側の仮想水面４２に仮想パドル４４が浸水していると考えられる。
【００４４】
そして｜ＶＸＲ｜＜ＶＸＲthの場合には、曲げることを意図して仮想パドル４４を浸水させているとみなし、図７（Ｂ）の矢印６６に示すようにボート４０を右に操舵する。
【００４５】
一方、｜ＶＸＲ｜≧ＶＸＲthの場合には、漕ぐことを意図して仮想パドル４４を浸水させているとみなし、操舵を行わずにＶＸＲに基づきボート４０を前進又は後退させる。
【００４６】
このように本実施例の特徴は、ＶＸＲの絶対値がＶＸＲth以上の場合にボート４０の操舵を行わない（或いは操舵を軽減する）点にある。
【００４７】
例えば図８（Ａ）、（Ｂ）、（Ｃ）に示すように、プレーヤ２４０がボート４０を漕ぐことを意図してパドル２５２を操作している場合を考える。このような場合に、本実施例の手法を用いなければ、操舵の判定が行われてしまいボート４０が細かく左右に揺れるという現象が起きる。これは操作の快適性を妨げると共に、操作方法が難解であるいう印象をプレーヤに与えてしまう。そしてプレーヤにゲームプレイを敬遠されてしまうという事態を招く。
【００４８】
本実施例では漕艇速度ＶＸＲの絶対値がＶＸＲth以上である場合に、ボート４０の操舵が行われない。従って、図８（Ａ）、（Ｂ）、（Ｃ）に示すように、一定のリズムである程度以上の漕艇速度でパドル２５２を漕げば、進行方向に対して真っ直ぐにボート４０を進めることが可能となる。これにより快適な操作が可能となると共にプレーヤにとって理解しやすい操作方法を実現できる。
【００４９】
一方、図９（Ａ）、（Ｂ）に示すように、プレーヤ２４０がボート４０の操舵を意図してパドル２５２を操作している場合には、漕艇速度ＶＸＲは小さくなる。従って、上記（Ｃ４）、（Ｃ５）で説明したように操舵の判定が行われ、プレーヤ２４０の意図する方向にボート４０を操舵することが可能となる。即ち図９（Ａ）、（Ｂ）では、プレーヤ２４０がパドル２５２を左に傾けており、仮想パドル４４がボート４０の左側の仮想水面４２に浸水したと判定され、ボート４０は左側に操舵されることになる。
【００５０】
なお漕艇速度ＶＸＲに基づくボート４０の移動演算は例えば次のようにして行われる。
【００５１】
即ちｋ−１フレームでのボート４０の位置をＰＭk-1、速度をＶＭk-1、加速度をＡＭk-1、１フレームの時間を△ｔとする。するとｋフレームでのボート４０の位置ＰＭk、速度ＶＭkは下式（１）、（２）のように求められる。
【００５２】
ＰＭk＝ＰＭk-1＋ＶＭk-1×△ｔ              （１）
ＶＭk＝ＶＭk-1＋ＡＭk-1（ＶＸＲ）×△ｔ    （２）
このように本実施例では加速度ＡＭk-1がＶＸＲの関数となっている。例えばボート４０を前方向に進めるようにＶＸＲが働くと、ボート４０を前方向に進める加速度ＡＭk-1が大きくなり、ボート４０は前方向に進むようになる。ＶＸＲから加速度ＡＭK-1を得る１つの手法として、例えばＶＸＲの値が逐次蓄積されるエネルギーパラメータと呼ばれるものを用意し、このエネルギーパラメータを加速度に変換する手法を考えることができる。
【００５３】
またボート４０の操舵の演算は例えば次のようにして行う。
【００５４】
即ちｋ−１フレームでのボート４０の向く角度をαk-1、角速度をＶαk-1、１フレームの時間を△ｔとする。するとｋフレームでのボート４０の向く角度αkは下式（３）ように求められる。
αk＝αk-1＋Ｖαk-1×△ｔ              （３）
そして本実施例では、仮想パドルがボートの左側の仮想水面の浸水した場合には、反時計回りに一定の角速度でボートが回転するように上記角速度Ｖαk-1を設定する。一方、仮想パドルがボートの右側の仮想水面の浸水した場合には、時計回りに一定の角速度でボートが回転するように上記角速度Ｖαk-1を設定する。このようにすることで、仮想パドルがボートの左右のいずれ側の仮想水面に浸水しているかに基づいてボートを操舵することが可能となる。
【００５５】
なおボートが後方に移動する場合には、回転方向をそのままにしてもよいし、時計回りであったものを反時計周りにしたり、反時計周りであったものを時計回りにするというように、反転させてもよい。
【００５６】
次に本実施例の動作の詳細について、図１０のフローチャートを用いて説明する。
【００５７】
まずＹＲとＹＲthの比較を行う（ステップＳ１）。そして｜ＹＲ｜≦ＹＲthの場合（図５の領域Ｒ）には、｜ＶＸＲ｜に基づきボートを前進させる（ステップＳ２）。即ちこの場合には、操作方法をよく理解できないプレーヤを救済するために、仮想パドルが仮想水面に浸水していないにもかかわらずボートを前に進める。
【００５８】
ＹＲ＞ＹＲthの場合は、次に｜ＶＸＲ｜＜ＶＸＲthか否かを判断する（ステップＳ３）。そして｜ＶＸＲ｜＜ＶＸＲthの場合にはボートを左に操舵する（ステップＳ４）。即ち漕艇速度ＶＸＲが小さい場合には、仮想パドルの浸水を操舵を意図するものとみなして、ボートを左に操舵する。
【００５９】
一方、｜ＶＸＲ｜≧ＶＸＲthの場合には、操舵を行わずにＶＸＲに基づきボートを進める（ステップＳ５）。即ち漕艇速度ＶＸＲが大きい場合には、仮想パドルの浸水を漕艇を意図するものとみなして、ボートを推進する。
【００６０】
ＹＲ＜−ＹＲthの場合も同様である。即ち｜ＶＸＲ｜＜ＶＸＲthか否かを判断し（ステップＳ６）、｜ＶＸＲ｜＜ＶＸＲthの場合にはボートを右に操舵し（ステップＳ７）、｜ＶＸＲ｜≧ＶＸＲthの場合には、操舵を行わずにＶＸＲに基づきボートを進める（ステップＳ８）。
【００６１】
次に、本実施例を実現できるハードウェアの構成の一例について図１１を用いて説明する。同図に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音生成ＩＣ１００８、画像生成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像生成ＩＣ１０１０にはディスプレイ１０１８が接続され、音生成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【００６２】
情報記憶媒体１００６は、プログラム、表示物を表現するための画像データ、音データ等が主に格納されるものである。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてＣＤ−ＲＯＭ、ゲームカセット、ＤＶＤ等が用いられる。また業務用ゲーム装置ではＲＯＭ等のメモリが用いられ、この場合には情報記憶媒体１００６はＲＯＭ１００２になる。
【００６３】
コントロール装置１０２２はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【００６４】
情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００は装置全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また本実施例を実現するための論理的な構成を持つデータ構造は、このＲＡＭ又は情報記憶媒体上に構築されることになる。
【００６５】
更に、この種の装置には音生成ＩＣ１００８と画像生成ＩＣ１０１０とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。また、画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を生成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【００６６】
また、通信装置１０２４はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【００６７】
そして図１〜図９で説明した種々の処理は、図１０のフローチャートに示した処理等を行うプログラムを格納した情報記憶媒体１００６と、該プログラムに従って動作するＣＰＵ１０００、画像生成ＩＣ１０１０、音生成ＩＣ１００８等によって実現される。なお画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【００６８】
前述した図２は、本実施例を業務用ゲーム装置に適用した場合の例である。図２において、装置に内蔵されるシステム基板１１０６には、ＣＰＵ、画像生成ＩＣ、音生成ＩＣ等が実装されている。そして、操作手段により入力される操作データに基づき少なくとも１つの仮想漕艇手段により移動体を漕艇させ、オブジェクト空間内で移動体を移動させるための情報、オブジェクト空間内の所与の視点での画像を生成するための情報、仮想漕艇手段が仮想水面に浸水しており漕艇速度の絶対値が所与のしきい値よりも小さい場合には、仮想漕艇手段が移動体の左右のいずれ側の仮想水面に浸水しているかに基づいて移動体を操舵すると共に、仮想漕艇手段が仮想水面に浸水しているが漕艇速度の絶対値が前記しきい値以上である場合には、仮想漕艇手段による移動体の操舵を省略又は軽減するための情報、仮想漕艇手段が仮想水面に浸水していない場合にも、漕艇速度の絶対値に基づき移動体を前進させるための情報等は、システム基板１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、これらの情報を格納情報と呼ぶ。これらの格納情報は、上記の種々の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報等の少なくとも１つを含むものである。
【００６９】
図１２（Ａ）に、本実施例を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２０６、ＩＣカード１２０８、１２０９等に格納されている。
【００７０】
図１２（Ｂ）に、ホスト装置１３００と、このホスト装置１３００と通信回線１３０２を介して接続される端末１３０４-1〜１３０４-nとを含むゲーム装置に本実施例を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、ＣＰＵ、画像生成ＩＣ、音生成ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【００７１】
なお本発明は、上記実施例で説明したものに限らず、種々の変形実施が可能である。
【００７２】
例えば本発明が適用される操作手段は図２、図３、図４（Ａ）、（Ｂ）で説明したものに限られるものではない。例えば漕艇部材（パドル）を２つ以上設けたり、漕艇部材の歳差運動点を固定しないようにする等の種々の変形実施が可能である。
【００７３】
また仮想漕艇手段が仮想水面に浸水しているか否かの判定手法も、図５等で説明したものに限られるものではない。
【００７４】
また移動体の位置や方向の演算手法も本実施例で説明したものに限らず種々の変形実施が可能である。
【００７５】
また本実施例では、仮想漕艇手段が移動体の左側の仮想水面に浸水している場合に左に操舵し、右側の仮想水面に浸水している場合に右に操舵している。このような操作方法を採用することで、左にハンドルを回せば左に曲がり右に回せば右に曲がるという車の操作感覚に似た操作感覚をプレーヤに提供できる。従って、操作方法を理解するのにプレーヤが要する時間を短縮化でき、よりユーザーフレンドリーな操作方法を実現できる。しかしながら、本発明はこのような操作方法に限定されず本発明の要旨内で種々の変形実施が可能である。
【００７６】
また本発明は、ラフティングゲームのみならず、仮想漕艇手段により移動体を漕艇する種々のゲームに適用できる。
【００７７】
また本発明は、家庭用、業務用のゲーム装置のみならず、シミュレータ、多数のプレーヤが参加する大型アトラクション装置、パーソナルコンピュータ、マルチメディア端末、ゲーム画像を生成するシステム基板等の種々のゲーム装置に適用できる。
【００７８】
【図面の簡単な説明】
【図１】本実施例の画像生成装置の機能ブロック図の一例である。
【図２】本実施例を業務用ゲーム装置に適用した場合の例を示す図である。
【図３】パドルの歳差運動について説明するための図である。
【図４】図４（Ａ）、（Ｂ）は、パドルの回転機構を示す平面図、左側面図である。
【図５】仮想パドルの浸水状態の判定手法について説明するための図である。
【図６】図６（Ａ）、（Ｂ）、（Ｃ）は、ボートの漕艇手法について説明するための図である。
【図７】図７（Ａ）、（Ｂ）は、ボートの操舵手法について説明するための図である。
【図８】図８（Ａ）、（Ｂ）、（Ｃ）は、ボートの漕艇時のプレーヤの動きについて説明するための図である。
【図９】図９（Ａ）、（Ｂ）は、ボートの操舵時のプレーヤの動きについて説明するための図である。
【図１０】本実施例の処理例を説明するためのフローチャートである。
【図１１】本実施例を実現できるハードウェアの構成の一例を示す図である。
【図１２】図１２（Ａ）、（Ｂ）は、本実施例が適用される種々の形態の装置の例を示す図である。
【符号の説明】
１０    操作部
１２    表示部
２０    歳差運動点
４０    ボート（移動体）
４２    仮想水面
４４    仮想パドル（仮想漕艇手段）
１００  処理部
１１０  ゲーム演算部
１１２  移動体演算部
１５０  画像生成部
１９０  情報記憶媒体
２５２  パドル
【図１】
0003734935.tif 000002
【図２】
0003734935.tif 000003
【図３】
0003734935.tif 000004
【図４】
0003734935.tif 000005
【図５】
0003734935.tif 000006
【図６】
0003734935.tif 000007
【図７】
0003734935.tif 000008
【図８】
0003734935.tif 000009
【図９】
0003734935.tif 000010
【図１０】
0003734935.tif 000011
【図１１】
0003734935.tif 000012
【図１２】
0003734935.tif 000013