(57)【特許請求の範囲】
【請求項１】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、
操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める移動体情報演算手段と、
プレーヤの操作のアシスト演算処理を行う操作アシスト手段と、
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成手段とを含み、
前記操作アシスト手段は、
プレーヤの操作が、移動体の方向を基準として前記コースの方向と逆方向側に移動体を向ける操作であるか、移動体の方向を基準としてコース方向側に移動体を向ける操作であるかを、前記操作情報に基づいて判断する手段と、
プレーヤの操作が、コース方向と逆方向側に移動体を向ける操作であると判断された場合には、移動体がコース方向側に向くように移動体の速度情報、加速度情報、角速度情報、角加速度情報の少なくとも１つを補正演算する手段と、
プレーヤの操作が、コース方向側に移動体を向ける操作であると判断された場合には、前記補正の少なくとも１つを省略又は軽減演算する手段とを含むことを特徴とする３次元シミュレータ装置。
【請求項２】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、
操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める移動体情報演算手段と、
プレーヤの操作のアシスト演算処理を行う操作アシスト手段と、
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成手段とを含み、
前記操作アシスト手段は、
前記コースの方向と移動体の速度方向とのなす角度の絶対値が大きいほど大きくなり且つ移動体が前記コースの前記境界付近に位置する時に極大となる補正角度を演算する手段と、
演算された補正角度で移動体の速度方向を補正演算する手段を含むことを特徴とする３次元シミュレータ装置。
【請求項３】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、
操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める移動体情報演算手段と、
プレーヤの操作のアシスト演算処理を行う操作アシスト手段と、
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成手段とを含み、
前記操作アシスト手段は、
前記コースの方向と移動体の加速度方向とのなす角度の絶対値が大きいほど大きくなり且つ前記コースの前記境界付近に移動体が位置する時に極大となる補正角度を演算する手段と、
演算された補正角度で移動体の加速度方向を補正演算する手段を含むことを特徴とする３次元シミュレータ装置。
【請求項４】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、
操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める移動体情報演算手段と、
プレーヤの操作のアシスト演算処理を行う操作アシスト手段と、
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成手段とを含み、
前記操作アシスト手段は、
前記コースの前記境界付近に移動体が位置する時に極大となる第１の補正角度で移動体の速度方向を補正演算する手段と、
前記境界付近に移動体が位置する時に極大となり且つ前記第１の補正角度よりも大きい第２の補正角度で移動体の加速度方向を補正演算する手段を含むことを特徴とする３次元シミュレータ装置。
【請求項５】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、
操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める移動体情報演算手段と、
プレーヤの操作のアシスト演算処理を行う操作アシスト手段と、
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成手段とを含み、
前記操作アシスト手段は、
前記コースの方向と移動体の方向とのなす角度β（−１８０度＜β≦１８０度であり、コース方向と移動体方向が同方向の時にβ＝０度）が、所与の角度γ（９０度≦γ≦１８０度、又は−１８０度＜γ≦−９０度）により決まる第１の角度範囲（９０度≦γ≦１８０度の場合は０度＜β≦γの範囲、−１８０度＜γ≦−９０度の場合は０度＜β≦１８０度及び−１８０度＜β≦γの範囲）にある場合には、移動体が右回りにコース方向側に向くにつれて小さくなり且つ移動体を右回りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正演算する手段と、
角度βが第１の角度範囲以外の角度範囲である第２の角度範囲にある場合には、移動体が左周りにコース方向側に向くにつれて小さくなり且つ移動体を左周りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正演算する手段を含むことを特徴とする３次元シミュレータ装置。
【請求項６】
請求項５において、
移動体の角速度が移動体を左回りに回す方向か右回りに回す方向かによって、前記所与の角度γを異ならせることを特徴とする３次元シミュレータ装置。
【請求項７】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、
操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める移動体情報演算手段と、
プレーヤの操作のアシスト演算処理を行う操作アシスト手段と、
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成手段とを含み、
前記操作アシスト手段は、
移動体の角速度が移動体を左回りに回す方向になっており且つ前記コースの方向と移動体の方向とのなす角度β（−１８０度＜β≦１８０度であり、コース方向と移動体方向が同方向の時にβ＝０度）が所与の角度γ１（９０度≦γ１＜１８０度）により決まる第１の角度範囲（０度＜β≦γ１の範囲）にある場合には、移動体を右回りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正演算する手段と、
移動体の角速度が移動体を左回りに回す方向になっており且つ角度βが前記第１の角度範囲以外の角度範囲である第２の角度範囲にある場合には、移動体を左周りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正演算する手段と、
移動体の角速度が移動体を右回りに回す方向になっており且つ角度βが所与の角度γ２（−１８０度＜γ２≦−９０度）により決まる第３の角度範囲（γ２＜β≦０度の範囲）にある場合には、移動体を左周りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正演算する手段と、
移動体の角速度が移動体を右回りに回す方向になっており且つ角度βが前記第３の角度範囲以外の角度範囲である第４の角度範囲にある場合には、移動体を右回りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正演算する手段を含むことを特徴とする３次元シミュレータ装置。
【請求項８】
請求項３乃至７のいずれかにおいて、
前記操作アシスト手段は、
移動体が前記コースが曲折するコーナ領域にあり且つ移動体と前記境界との距離が所与の距離以下であり且つコース方向と移動体方向とのなす角度の絶対値が所与の角度以上の場合に、移動体の加速度方向又は角加速度の補正を省略又は軽減演算する手段を含むことを特徴とする３次元シミュレータ装置。
【請求項９】
請求項１乃至８のいずれかにおいて、
前記操作アシスト手段は、
前記境界と移動体とのヒット時に移動体方向がコース方向を基準にして境界側に向いている場合には、コース方向と移動体方向とのなす角度の絶対値が大きいほど大きくなる補正角速度を用いて、移動体がコース方向側に向くように移動体の角速度を補正演算する手段を含むことを特徴とする３次元シミュレータ装置。
【請求項１０】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成方法であって、
操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める移動体情報演算ステップと、
プレーヤの操作のアシスト演算処理を行う操作アシストステップと、
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成ステップを含み、
前記操作アシストステップは、
プレーヤの操作が、移動体の方向を基準として前記コースの方向と逆方向側に移動体を向ける操作であるか、移動体の方向を基準としてコース方向側に移動体を向ける操作であるかを、前記操作情報に基づいて判断するステップと、
プレーヤの操作が、コース方向と逆方向側に移動体を向ける操作であると判断された場合には、移動体がコース方向側に向くように移動体の速度情報、加速度情報、角速度情報、角加速度情報の少なくとも１つを補正演算するステップと、
プレーヤの操作が、コース方向側に移動体を向ける操作であると判断された場合には、前記補正の少なくとも１つを省略又は軽減演算するステップを含むことを特徴とする画像合成方法。
【請求項１１】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成方法であって、
操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める移動体情報演算ステップと、
プレーヤの操作のアシスト演算処理を行う操作アシストステップと、
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成ステップとを含み、
前記操作アシストステップは、
前記コースの方向と移動体の速度方向とのなす角度の絶対値が大きいほど大きくなり且つ移動体が前記コースの前記境界付近に位置する時に極大となる補正角度を演算するステップと、
演算された補正角度で移動体の速度方向を補正演算するステップを含むことを特徴とする画像合成方法。
【請求項１２】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成方法であって、
操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める移動体情報演算ステップと、
プレーヤの操作のアシスト演算処理を行う操作アシストステップと、
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成ステップとを含み、
前記操作アシストステップは、
前記コースの方向と移動体の加速度方向とのなす角度の絶対値が大きいほど大きくなり且つ前記コースの前記境界付近に移動体が位置する時に極大となる補正角度を演算するステップと、
演算された補正角度で移動体の加速度方向を補正演算するステップを含むことを特徴とする画像合成方法。
【請求項１３】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成方法であって、
操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める移動体情報演算ステップと、
プレーヤの操作のアシスト演算処理を行う操作アシストステップと、
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成ステップとを含み、
前記操作アシストステップは、
前記コースの前記境界付近に移動体が位置する時に極大となる第１の補正角度で移動体の速度方向を補正演算するステップと、
前記境界付近に移動体が位置する時に極大となり且つ前記第１の補正角度よりも大きい第２の補正角度で移動体の加速度方向を補正演算するステップを含むとを特徴とする画像合成方法。
【請求項１４】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成方法であって、
操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める移動体情報演算ステップと、
プレーヤの操作のアシスト演算処理を行う操作アシストステップと、
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成ステップとを含み、
前記操作アシストステップは、
前記コースの方向と移動体の方向とのなす角度β（−１８０度＜β≦１８０度であり、コース方向と移動体方向が同方向の時にβ＝０度）が、所与の角度γ（９０度≦γ≦１８０度、又は−１８０度＜γ≦−９０度）により決まる第１の角度範囲（９０度≦γ≦１８０度の場合は０度＜β≦γの範囲、−１８０度＜γ≦−９０度の場合は０度＜β≦１８０度及び−１８０度＜β≦γの範囲）にある場合には、移動体が右回りにコース方向側に向くにつれて小さくなり且つ移動体を右回りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正演算するステップと、
角度βが第１の角度範囲以外の角度範囲である第２の角度範囲にある場合には、移動体が左周りにコース方向側に向くにつれて小さくなり且つ移動体を左周りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正演算するステップを含むことを特徴とする画像合成方法。
【請求項１５】
請求項１４において、
移動体の角速度が移動体を左回りに回す方向か右回りに回す方向かによって、前記所与の角度γを異ならせることを特徴とする画像合成方法。
【請求項１６】
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成方法であって、
操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める移動体情報演算ステップと、
プレーヤの操作のアシスト演算処理を行う操作アシストステップと、
オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する画像合成ステップとを含み、
前記操作アシストステップは、
移動体の角速度が移動体を左回りに回す方向になっており且つ前記コースの方向と移動体の方向とのなす角度β（−１８０度＜β≦１８０度であり、コース方向と移動体方向が同方向の時にβ＝０度）が所与の角度γ１（９０度≦γ１＜１８０度）により決まる第１の角度範囲（０度＜β≦γ１の範囲）にある場合には、移動体を右回りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正演算するステップと、
移動体の角速度が移動体を左回りに回す方向になっており且つ角度βが前記第１の角度範囲以外の角度範囲である第２の角度範囲にある場合には、移動体を左周りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正演算するステップと、
移動体の角速度が移動体を右回りに回す方向になっており且つ角度βが所与の角度γ２（−１８０度＜γ２≦−９０度）により決まる第３の角度範囲（γ２＜β≦０度の範囲）にある場合には、移動体を左周りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正演算するステップと、
移動体の角速度が移動体を右回りに回す方向になっており且つ角度βが前記第３の角度範囲以外の角度範囲である第４の角度範囲にある場合には、移動体を右回りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正演算するステップを含むことを特徴とする画像合成方法。
【請求項１７】
請求項１２乃至１６のいずれかにおいて、
前記操作アシストステップは、
移動体が前記コースが曲折するコーナ領域にあり且つ移動体と前記境界との距離が所与の距離以下であり且つコース方向と移動体方向とのなす角度の絶対値が所与の角度以上の場合に、移動体の加速度方向又は角加速度の補正を省略又は軽減演算するステップを含むことを特徴とする画像合成方法。
【請求項１８】
請求項１０乃至１７のいずれかにおいて、
前記操作アシストステップは、
前記境界と移動体とのヒット時に移動体方向がコース方向を基準にして境界側に向いている場合には、コース方向と移動体方向とのなす角度の絶対値が大きいほど大きくなる補正角速度を用いて、移動体がコース方向側に向くように移動体の角速度を補正演算するステップを含むことを特徴とする画像合成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オブジェクト空間内での視界画像の合成が可能な３次元シミュレータ装置及び画像合成方法に関する。
【０００２】
【背景技術及び発明が解決しようとする課題】
従来より、仮想的な３次元空間であるオブジェクト空間内に表示物を表すオブジェクトを配置し、所与の視点位置からの視界画像を合成する３次元ゲーム装置が知られており、プレーヤがいわゆる仮想的な現実感を体感できるものとして人気が高い。
【０００３】
このゲーム装置においては、プレーヤは所与の操作手段を用いて画面上に映る移動体（３人称表示の場合）を操作し、オブジェクト空間内において３次元的に形成されたコース上でこの移動体を移動させる。このためプレーヤは、自身が操作する移動体の位置及び向いている方向を見失いやすく、従ってゲーム操作が難しく、これを理由にゲームプレイが敬遠されるといった問題があった。
【０００４】
また近年、例えばオートバイゲームであれば本物のオートバイを模して制作した筺体（ライド）を用意し、プレーヤがこの筺体に乗りゲームを楽しむといったタイプのゲーム装置が人気を集めている。このゲーム装置によれば、プレーヤが、自身が乗る筺体を左右に倒すことで画面上の移動体も左右にコーナリングするため、プレーヤの感じる疑似体験度を更に高めることができる。しかしながら、画面上に次々に映し出されるコースのコーナリング角度に合わせて筺体を左右に倒す操作は難しく、従って、このような筺体を操作手段として用いるゲーム装置では、ゲームプレイの操作性の難易度が更に高まるといった問題があった。
【０００５】
一方、プレーヤの操作を装置側でアシストし、操作性の難易度の問題を解決する手法も考えられるが、この場合でも、移動体を操作するプレーヤの意志をある程度尊重しなければ、ゲームの面白味が半減してしまう。
【０００６】
本発明は、以上のような技術的課題を解決するためになされたものであり、その目的とするところは、移動体を操作する操作者の意志を反映しつつ操作者の操作をアシストできる３次元シミュレータ装置及び画像合成方法を提供することにある。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、本発明は、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める手段と、移動体の方向を基準として前記コースの方向と逆方向側に移動体を向ける操作情報が入力された場合には、移動体がコース方向側に向くように移動体の速度情報、加速度情報、角速度情報、角加速度情報の少なくとも１つを補正すると共に、移動体の方向を基準としてコース方向側に移動体を向ける操作情報が入力された場合には、前記補正の少なくとも１つを省略又は軽減する操作アシスト手段と、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する手段とを含むことを特徴とする。
【０００８】
本発明によれば、移動体の向く方向を基準として移動体をコース方向と逆側に向ける操作が行われた場合には、操作者がコース方向を見失っていると仮定し、操作アシストのための種々の補正を行う。一方、移動体の向く方向を基準として移動体をコース方向側に向ける操作が行われた場合には、操作者がコース方向を認識し正しい方向に操作していると仮定し、これらの種々の補正の少なくとも１つを省略したり軽減したりする。このようにすることで、操作者の意志を十分に反映しながら、また操作アシストが働いていることを操作者に気付かれないようにしながら、効果的に操作者の操作をアシストすることが可能となる。
【０００９】
また本発明は、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める手段と、前記コースの方向と移動体の速度方向とのなす角度の絶対値が大きいほど大きくなり且つ移動体が前記コースの前記境界付近に位置する時に極大となる補正角度で移動体の速度方向を補正する操作アシスト手段と、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する手段とを含むことを特徴とする。
【００１０】
本発明によれば、コース方向と移動体の速度方向とのなす角度の絶対値が大きいほど大きくなる補正角度を用いて、移動体の速度方向がコース方向側に近づけられる。またこの補正角度はコースの境界付近で極大となる。これにより操作者の操作する移動体が壁等の境界にヒットすることが有効に防止される。特に速度方向の補正によると、移動体の方向がすぐに変化するため、この補正手法は、操作技量の劣る操作者に対する操作アシストに用いるものとして好適なものとなる。なお、コース中心付近において操作者の操作意志を尊重し操作アシストがあまり働かないように、速度方向の補正角度は、コースの境界から離れた位置では十分に小さくすることが望ましい。
【００１１】
また本発明は、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める手段と、前記コースの方向と移動体の加速度方向とのなす角度の絶対値が大きいほど大きくなり且つ前記コースの前記境界付近に移動体が位置する時に極大となる補正角度で移動体の加速度方向を補正する操作アシスト手段と、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する手段とを含むことを特徴とする。
【００１２】
本発明によれば、コース方向と移動体の加速度方向とのなす角度の絶対値が大きいほど大きくなる補正角度を用いて、移動体の加速度方向がコース方向側に近づけられる。またこの補正角度はコースの境界付近で極大となる。これにより操作者の操作する移動体が壁等の境界にヒットすることが有効に防止される。特に加速度方向の補正によると、移動体の方向がすぐには変化せず、操作アシストが働いていることが操作者に気付かれにくいため、この補正手法は、操作技量の優れた操作者に対する操作アシストに用いるものとして好適なものとなる。なお、コース中心付近において操作者の操作意志を尊重し操作アシストがあまり働かないように、加速度方向の補正角度は、コースの境界から離れた位置では十分に小さくすることが望ましい。
【００１３】
また本発明は、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める手段と、前記コースの前記境界付近に移動体が位置する時に極大となる第１の補正角度で移動体の速度方向を補正すると共に、前記境界付近に移動体が位置する時に極大となり且つ前記第１の補正角度よりも大きい第２の補正角度で移動体の加速度方向を補正する操作アシスト手段と、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する手段とを含むことを特徴とする。
【００１４】
本発明によれば、速度方向及び加速度方向が第１、第２の補正角度により補正されると共に、第２の補正角度のほうが第１の補正角度よりも大きくなる。従って、操作技量の劣るプレーヤへの操作アシストを十分なものとすることができると共に、操作アシストが働いていることを操作者にあまり感じさせないようにすることができ、操作技量の優れたプレーヤも不自然さを感じない操作アシストが可能となる。
【００１５】
また本発明は、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める手段と、前記コースの方向と移動体の方向とのなす角度β（−１８０度＜β≦１８０度であり、コース方向と移動体方向が同方向の時にβ＝０度）が、所与の角度γ（９０度≦γ≦１８０度、又は−１８０度＜γ≦−９０度）により決まる第１の角度範囲（９０度≦γ≦１８０度の場合には０度＜β≦γの範囲、−１８０度＜γ≦−９０度の場合には０度＜β≦１８０度及び−１８０度＜β≦γの範囲）にある場合には、移動体が右回りにコース方向側に向くにつれて小さくなり且つ移動体を右回りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正し、角度βが第１の角度範囲以外の角度範囲である第２の角度範囲にある場合には、移動体が左周りにコース方向側に向くにつれて小さくなり且つ移動体を左周りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正する操作アシスト手段と、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する手段とを含むことを特徴とする。
【００１６】
本発明によれば、移動体方向がコース方向側に近づくにつれて小さくなると共に所与の角度γで方向が逆方向になる補正角加速度を用いて、移動体の角加速度の補正が行われる。所与の角度γで補正角加速度が逆方向になるため、移動体の方向が所与の角度γを超えた時に、逆の回り方で移動体方向をコース方向側に向けることが可能となる。また移動体方向がコース方向から遠ざかるほど補正角加速度が大きくなるため、移動体がコース方向と逆方向側に向いている場合には大きな補正角加速度で素早く移動体をコース方向側に戻すことができる。また移動体がコース方向側に向いている場合には、操作アシストの存在を操作者に気付かれないようにすることができる。
【００１７】
この場合、移動体の角速度が移動体を左回りに回す方向か右回りに回す方向かによって、前記所与の角度γを異ならせることが望ましい。このようにすれば、移動体が静止状態から抜け出せなくなったり、補正角加速度の切り替わりが操作者に気付かれたりする等の事態を有効に防止できる。
【００１８】
また本発明は、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する３次元シミュレータ装置であって、操作者が所与の操作手段により入力した操作情報に基づいて、オブジェクト空間内に設けられ所与の境界により区切られるコース上を移動する移動体の位置情報及び方向情報を微少時間毎に順次求める手段と、移動体の角速度が移動体を左回りに回す方向になっており且つ前記コースの方向と移動体の方向とのなす角度β（−１８０度＜β≦１８０度であり、コース方向と移動体方向が同方向の時にβ＝０度）が所与の角度γ１（９０度≦γ１＜１８０度）により決まる第１の角度範囲（０度＜β≦γ１の範囲）にある場合には、移動体を右回りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正し、移動体の角速度が移動体を左回りに回す方向になっており且つ角度βが前記第１の角度範囲以外の角度範囲である第２の角度範囲にある場合には、移動体を左周りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正し、移動体の角速度が移動体を右回りに回す方向になっており且つ角度βが所与の角度γ２（−１８０度＜γ２≦−９０度）により決まる第３の角度範囲（γ２＜β≦０度の範囲）にある場合には、移動体を左周りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正し、移動体の角速度が移動体を右回りに回す方向になっており且つ角度βが前記第３の角度範囲以外の角度範囲である第４の角度範囲にある場合には、移動体を右回りにコース方向側に向かす補正角加速度を用いて移動体の角加速度を補正する操作アシスト手段と、オブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する手段とを含むことを特徴とする。
【００１９】
本発明によれば、移動体の角速度が左回りの場合には角度γ１で補正角加速度の方向が反転し、移動体の角速度が右回りの場合には角度γ２で補正角加速度の方向が反転する。従って、例えば角度γ１付近で移動体の角速度が左回りから零になり右回りになるような場合においても、移動体が静止状態から抜け出せなくなったり、補正角加速度の切り替わりが操作者に気付かれたりする等の事態を有効に防止できる。
【００２０】
また本発明は、前記操作アシスト手段が、移動体が前記コースが曲折するコーナ領域にあり且つ移動体と前記境界との距離が所与の距離以下であり且つコース方向と移動体方向とのなす角度の絶対値が所与の角度以上の場合に、移動体の加速度方向又は角加速度の補正を省略又は軽減することを特徴とする。
【００２１】
このようにすることで、操作者がコースのコーナを曲がるために自分の意志で移動体の方向を大きく変えた場合においても、移動体のスムーズなコーナリングが可能となる。
【００２２】
また本発明は、前記操作アシスト手段が、前記境界と移動体とのヒット時に移動体方向がコース方向を基準にして境界側に向いている場合には、コース方向と移動体方向とのなす角度の絶対値が大きいほど大きくなる補正角速度を用いて、移動体がコース方向側に向くように移動体の角速度を補正することを特徴とする。
【００２３】
このようにすれば、壁等の境界へのヒット後に移動体を迅速にコース方向側に向けることができ、操作性の向上を図れる。
【００２４】
【発明の実施の形態】
以下、本発明の実施形態について図面を用いて説明する。
【００２５】
図１に、本実施例を業務用のゲーム装置に適用した場合の外観図を示す。このゲーム装置は、水上バイク（ウォータービークル）の操縦を擬似的に体験するためのものであり、プレーヤ（操作者）４０は、実際の水上バイクを模して作られた筺体４２に搭乗し、表示部１０に映し出されるゲーム画面（視界画像）を見ながらゲーム操作を行う。筺体４２には、ハンドルポール４４が、図中のＤに示す方向で回動自在となるように取り付けられている。またハンドルポール４４には、ハンドル４６が取り付けられており、このハンドル４６に設けられたレバー４７（アクセル）を握ることで、オブジェクト空間内を移動する移動体の加速制御が行われる。移動体の方向制御（舵取り）は、プレーヤ４０の体重移動により行われる。即ち筺体４２は、図示しない左右スイング機構により図中のＥに示す方向に左右スイング（或いはローリング）可能となっており、プレーヤ４０が左足に体重をかけると右側にスイングし、右足に体重をかけると左側にスイングするようになっている。そして右側にスイングするとオブジェクト空間内の移動体は左側に舵取りされ、左側にスイングすると右側に舵取りされることになる。
【００２６】
また筺体４２は、図示しない上下動作機構により、図中のＦに示す方向で上下（ピッチング）動作可能となっている。この上下動作は、例えば移動体がうねりエリア（図２の６０参照）等に入りマップの高さ情報が変化する場合に行われる。これによりプレーヤの感じる体感度を高めることができる。
【００２７】
図２に、オブジェクト空間内に配置されるマップの平面図の一例を示す。プレーヤは移動体を操作し、スタートポイント５０からスタートし、群島エリア５２、橋エリア５３、トンネルエリア５４、湖エリア５６、ジャングルエリア５８、うねりエリア６０、渦エリア６２、トンネルエリア６４、ジャンプエリア６５等を通過して、ゴールポイント６６に戻る。そして、いかに早くゴールにたどり着くかというタイムトライアルを行ったり、他のプレーヤとの競争を行うことでゲームを楽しむ。
【００２８】
図３に、本実施例の機能ブロック図の一例を示す。ここで操作部１２は、プレーヤからの操作情報を入力するためのものである。本実施例では、図１のレバー４７（アクセル）の握り具合により加速に関する操作情報が入力され、筺体４２のスイング角度に基づいて方向に関する操作情報が入力される。
【００２９】
処理部１００は、この操作情報と、所与のゲームプログラム等に基づいて、表示物を表すオブジェクトが複数配置されて成るオブジェクト空間を設定する処理等を行うものであり、ハードウェア的には例えばＣＰＵ及びメモリにより構成される。この処理部１００は、視点変化部１２０、移動体情報演算部１３０、移動体情報記憶部１３２、オブジェクト空間設定部１４０、空間情報記憶部１４２を含む。
【００３０】
画像合成部２００は、この設定されたオブジェクト空間内の所与の視点位置、視線方向にて見える視界画像を合成する処理を行うものであり、ハードウェア的には例えば画像合成専用のＩＣ或いはＣＰＵ及びメモリにより構成される。画像合成部２００により得られた視界画像は表示部１０において表示される。
【００３１】
処理部１００に含まれる移動体情報演算部１３０は、操作部１２からの操作情報及び所与のゲームプログラム等に基づいて、移動体（水上バイク）の移動体情報（位置情報、方向情報、速度情報、角速度情報、加速度情報、角加速度情報等）を微少時間毎に順次求めるものである。また移動体情報記憶部１３２は、演算された移動体情報を格納し保存するためのものである。
【００３２】
視点変化部１２０は、移動体情報演算部１３０で得られた移動体情報に基づいて視点位置、視線方向を変化させ、これを画像合成部２００に出力するものである。
【００３３】
空間情報記憶部１４２には、図４に示すように、表示するオブジェクトを特定するためのオブジェクトナンバーＯＢｉ、このオブジェクトの配置を特定するための位置情報（Ｘｍ、Ｙｍ、Ｚｍ）、方向情報（θｍ、φｍ、ρｍ）が格納される。但し、位置情報、方向情報の少なくとも一方のみを特定すればよい場合には、その一方のみを格納すればよい。そして空間情報記憶部１４２に記憶されている空間情報は、オブジェクト空間設定部１４０により読み出される。この場合、空間情報記憶部１４２には、当該フレーム（１フレーム＝１／６０秒）の１つ前のフレームにおける空間情報が記憶されている。そして、オブジェクト空間設定部１４０は、読み出された空間情報、移動体情報演算部１３０からの移動体情報等に基づいて、当該フレームにおける空間情報を求める。なお静止物体については空間情報は変化しないのでこのような処理は必要ない。
【００３４】
次に、移動体情報演算部１３０の詳細について説明する。まず移動体情報演算部１３０は、前のフレームでの移動体の加速度情報（ＡＸn-1、ＡＹn-1、ＡＺn-1）、角加速度情報（ＡＡθn-1、ＡＡφn-1、ＡＡρn-1）、速度情報（ＶＸn-1、ＶＹn-1、ＶＺn-1）、角速度情報（ＡＶθn-1、ＡＶφn-1、ＡＶρn-1）を、移動体情報記憶部１３２から読み出す。ここで加速度情報、角加速度情報は操作部１２からの操作情報に基づいて求められるものである。すると移動体情報演算部１３０は、当該フレームでの移動体の速度情報（ＶＸn、ＶＹn、ＶＺn）、角速度情報（ＡＶθn、ＡＶφn、ＡＶρn）を、例えば下記の演算式により演算する。
【００３５】
ＶＸn＝ＶＸn-1＋ＡＸnー1×△ｔ
ＶＹn＝ＶＹn-1＋ＡＹnー1×△ｔ
ＶＺn＝ＶＺn-1＋ＡＺnー1×△ｔ
ＡＶθn＝ＡＶθn-1＋ＡＡθn-1×△ｔ
ＡＶφn＝ＡＶφn-1＋ＡＡφn-1×△ｔ
ＡＶρn＝ＡＶρn-1＋ＡＡρn-1×△ｔ
ここで微少時間△ｔは例えば１／６０秒（１フレーム）である。また移動体情報演算部１３０は、前のフレームでの移動体の位置情報（Ｘn-1、Ｙn-1、Ｚn-1）、方向情報（θn-1、φn-1、ρn-1）を、移動体情報記憶部１３２から読み出す。そして移動体情報演算部１３０は、当該フレームでの位置情報（Ｘn、Ｙn、Ｚn）、方向情報（θn、φn、ρn）を例えば下記の演算式により演算する。
Ｘn＝Ｘn-1＋ＶＸnー1×△ｔ
Ｙn＝Ｙn-1＋ＶＹnー1×△ｔ
Ｚn＝Ｚn-1＋ＶＺnー1×△ｔ
θn＝θn-1＋ＡＶθn-1×△ｔ
φn＝φn-1＋ＡＶφn-1×△ｔ
ρn＝ρn-1＋ＡＶρn-1×△ｔ
本実施例では、以上のようにして演算された移動体情報（位置情報、方向情報、速度情報、角速度情報、加速度情報、角加速度情報）に基づいて、プレーヤの操作をアシストするための種々の補正を行う。この補正は、図３の操作アシスト部１１０が行う。なお以下では説明を簡単にするため、移動体が平面上で移動する場合を例にとり説明を行うが、本発明はこれに限らず、移動体が３次元空間内で移動する場合も当然に含むものである。
（１）移動体の速度方向をコース方向に向かせる補正
本実施例では図５（Ａ）に示すように、コース２０に沿ってコースベクトルＣ１〜Ｃ６等が設定されている。補正の際にどのコースベクトルを使用するかは移動体の位置情報等に基づいて決める。操作アシスト部１１０は、図５（Ｂ）に示すように、コースベクトルＣを用いて移動体の速度ベクトルＶを次式に示すように補正し、補正後の速度ベクトルＶ’を得る。
Ｖ’＝ａ×Ｖ＋ｂ×Ｃ  （ａ≧０、ｂ≧０）
ここで係数ａ、ｂの値は、補正前と補正後とで移動体の速度ベクトルの大きさがあまり変化しないように調整される。
（２）壁に移動体がなるべく衝突しないようにする補正。
【００３６】
本実施例では、壁等のコース境界と移動体とのヒットをなるべく防ぐために、例えば図６に示すようなアシスト関数Ｆ（Ｌ）を用意する。ここでＬは、図７（Ａ）、（Ｂ）に示すようにコース２０の中心線２２から移動体２６までの距離を表すものである。このアシスト関数Ｆ（Ｌ）は、コースを区切る壁（境界）２４付近（Ｌ＝Ｗ／２付近）で極大となる。また壁２４からある程度離れるとＦ（Ｌ）＝０となる。なおアシスト関数Ｆ（Ｌ）は、例えばＬを引数とするテーブルデータとして用意することが望ましい。
（２−１）速度方向の補正
本実施例では、図７（Ａ）に示すように、例えば以下に示す補正角度αd1を用いて、速度ベクトルＶの方向をコースベクトルＣ側に向かせる補正を行う。
補正角度αd1＝ｋ１×｜αｖ｜×Ｆ（Ｌ）
ここでαｖは、コースベクトルＣと移動体２６の速度ベクトルＶとのなす角度であり（−１８０度＜αｖ≦１８０度、ＣとＶが同方向の時にαｖ＝０度）、ｋ１は所与の係数である。このように操作アシスト部１１０は、コース方向と移動体の速度方向とのなす角度の絶対値が大きいほど大きくなり且つ移動体がコースの境界付近に位置する時に極大となる補正角度αd1で移動体の速度方向を補正している。従って、プレーヤの操作する移動体２６が壁２４に接近すると、移動体の速度方向がコース方向側に大きく戻され、移動体２６が壁２４に衝突することが有効に防止される。またこの時に使用される補正角度αd1は、コース方向と移動体の速度方向とのなす角度の絶対値｜αｖ｜が大きいほど大きくなるため、例えば壁２４側に垂直に移動体２６が進んでいた場合にも移動体の速度方向をコース方向側に素早く戻すことができ、移動体２６と壁２４との衝突の回避を更に確実なものとすることができる。
（２−１）加速度方向の補正
本実施例では、図７（Ｂ）に示すように、例えば以下に示す補正角度αd2を用いて、加速度ベクトルＡの方向をコースベクトルＣ側に向かせる補正を行う。
補正角度αd2＝ｋ２×｜αａ｜×Ｆ（Ｌ）
ここでαａは、コースベクトルＣと移動体２６の加速度ベクトルＡとのなす角度である（−１８０度＜αａ≦１８０度、ＣとＡが同方向の時にαａ＝０度）。またｋ２は所与の係数であり、本実施例では特にｋ１＜ｋ２となっている。このように操作アシスト部１１０は、コース方向と移動体の加速度方向とのなす角度の絶対値が大きいほど大きくなり且つ移動体がコースの境界付近に位置する時に極大となる補正角度αd2で移動体の加速度方向を補正している。このようにしてプレーヤの操作をアシストすることで、移動体２６が壁２４に衝突することが有効に防止され、操作性の向上を図れる。
【００３７】
さて上記（２−１）の速度方向を補正する操作アシストでは、移動体が壁に接近した場合に移動体の方向がすぐに変化する。従って、このような操作アシストは、操作技量の劣る初心者プレーヤに対するものとしては好適である。しかしながら、補正により移動体の方向がすぐに変化するため、操作アシストが働いていることがプレーヤに気付かれやすい。従って操作技量の優れた上級プレーヤは、（２−１）の速度方向を補正する操作アシストのみでは不自然さを感じ、ゲームの面白味が半減するおそれがある。一方、上記（２−２）の加速度方向を補正する操作アシストでは、操作アシストが働いても移動体の方向はすぐに変化しないため、操作技量の劣るプレーヤに対するものとしては不十分なものとなる。しかしながら加速度方向の補正による操作アシストでは、操作アシストが働いていることがプレーヤに気付かれにくいため、操作技量の優れたプレーヤにとっては好適なものとなる。
【００３８】
そこで本実施例の操作アシストとでは、速度方向の補正及び加速度方向の補正の両方を行っている。しかも少なくともｋ１＜ｋ２の関係を満たす範囲内で係数の調整を行っているため、操作技量の劣るプレーヤへの操作アシストを十分なものとすることができると共に、操作アシストが働いていることをプレーヤにあまり感じさせないようにすることができる。
【００３９】
なお本実施例では、図６に示すように、Ｌが小さく壁からある程度離れた位置ではＦ（Ｌ）＝０になっている。これにより、コースの中心線付近に移動体がいる際には、（２−１）、（２−２）で説明したような操作アシストの補正がかからなくなり、プレーヤの意志を尊重したゲーム操作が可能となる。
（２−３）角加速度の補正
本実施例では、以下に示すようにして角加速度の補正を行っている。例えば図８（Ａ）に示すように、移動体の角速度が左回りであり且つコース方向と移動体方向（移動体の向く方向）とのなす角度β（−１８０度＜β≦１８０度）が第１の角度範囲（０度＜β≦γ１の範囲）にある場合には、移動体を右回りにコース方向側に向かす補正角加速度で移動体の角加速度が補正される。ここでγ１は、９０度≦γ１＜１８０度の関係を満たす所与の角度であり、図８（Ａ）ではγ１＝１３５度となっている。またこの場合の補正角加速度は、移動体が右回りにコース方向側に向くにつれて小さくなるようになっている。例えばβ＝γ３の場合には大きさがＤ３（β＝γ３の位置での矢印３０の太さ）で方向が右回り（矢印３０の方向）の補正角加速度が移動体の角加速度に加算され、β＝γ４の場合には大きさがＤ４（β＝γ４の位置での矢印３０の太さ）で方向が右回り（矢印３０の方向）の補正角加速度が移動体の角加速度に加算され、補正角加速度の大きさはＤ３＞Ｄ４の関係になる。
【００４０】
また移動体の角速度が上記と同様に左回りであり且つ角度βが第２の角度範囲（γ１＜β≦１８０度及び−１８０度＜β≦０度の範囲）にある場合には、移動体を左周りにコース方向側に向かす補正角加速度で移動体の角加速度が補正される。またこの場合の補正角加速度は、移動体が左回りにコース方向側に向くにつれて小さくなるようになっている。例えばβ＝γ５の場合には大きさがＤ５（β＝γ５の位置での矢印３１の太さ）で方向が左回り（矢印３１の方向）の補正角加速度が移動体の角加速度に加算され、β＝γ６の場合には大きさがＤ６（β＝γ６の位置での矢印３１の太さ）で方向が左回り（矢印３１の方向）の補正角加速度が移動体の角加速度に加算され、補正角加速度の大きさはＤ５＞Ｄ６の関係になる。
【００４１】
一方、図８（Ｂ）に示すように、移動体の角速度が右回りであり且つコース方向と移動体方向とのなす角度βが第３の角度範囲（γ２＜β≦０度の範囲）にある場合には、移動体を左周りにコース方向側に向かす補正角加速度で移動体の角加速度が補正される。ここでγ２は、−１８０度＜γ２≦−９０度の関係を満たす所与の角度であり、図８（Ｂ）ではγ２＝−１３５度となっている。またこの場合の補正角加速度は、移動体が左周りにコース方向側に向くにつれて小さくなるようになっている。
【００４２】
また移動体の角速度が上記と同様に右回りであり且つ角度βが第４の角度範囲（０度＜β≦１８０度及び−１８０度＜β≦γ２の範囲）にある場合には、移動体を右周りにコース方向側に向かす補正角加速度で移動体の角加速度が補正される。またこの場合の補正角加速度は、移動体が右回りにコース方向側に向くにつれて小さくなるようになっている。
【００４３】
本実施例の角加速度補正の第１の特徴は、所与の角度（例えば図８（Ａ）ではβ＝γ１）で補正角加速度の方向が逆方向になると共に、移動体方向がコース方向側に向くにつれて補正角加速度が小さくなる点にある。所与の角度で補正角加速度を逆方向にすることで、移動体の方向が所与の角度を超えた時に、より近い回り方で移動体方向をコース方向側に向けることが可能となる。また例えば比較例として示す図９では、β＝γ＝１８０度（又は−１８０度）で補正角加速度の方向は逆方向になるが、補正角加速度の大きさ（矢印３４又は３５の太さ）は常に一定になっている。本実施例によれば、移動体がコース方向と逆方向側に向けば向くほど大きな補正角加速度でコース方向側に戻されるため（矢印３０、３１又は３２、３３の太さがβ＝０度の場合を最小値として徐々に太くなるため）、移動体を素早くコース方向側に向けることが可能となる。一方、移動体がコース方向側に向けば向くほど補正角加速度が小さくなるため（矢印３０、３１又は３２、３３の太さがβ＝γ１＝１３５度又はβ＝γ２＝−１３５度の場合を最大値として徐々に細くなるため）、プレーヤは、操作アシストの存在に気付かないと共に操作アシストにより邪魔されずに、自分が所望する方向に自由に移動体を動かすことができ、操作性の向上を図れる。
【００４４】
また本実施例の角加速度補正の第２の特徴は、角速度が左回りの場合と右回りの場合とで、補正角加速度の方向が反転する角度を異ならせている点にある。例えば角速度が左回りの場合には図８（Ａ）に示すように角度β＝γ１＝１３５度で補正角加速度の方向が反転し、角速度が右回りの場合には図８（Ｂ）に示すように角度β＝γ２＝−１３５度で補正角加速度の方向が反転する。一方、図９の比較例では、角速度の方向の如何によらず、補正角加速度の方向が反転する角度は常にβ＝γ＝１８０度（又は−１８０度）となっている。このためβ＝γ＝１８０度で角速度が零になり移動体が静止状態に近くなった場合に、例えばβ＝１７９度では右回りの補正角加速度が移動体に対して働き、β＝−１７９度では左周りの補正角加速度が移動体に対して働いてしまう。このようにβ＝１８０度付近で、交互に逆回りの補正角加速度が働くと、移動体が静止状態から抜けられずコース方向側に戻らなかったり、静止状態から抜けるのに時間を要してしまい、プレーヤに不自然な感じを与える結果となる。
【００４５】
これに対して本実施例によれば、例えば図８（Ａ）、（Ｂ）から明らかなように、左回りの角速度で回っていた移動体がβ＝γ１＝１３５度で角速度が零になり角速度が右回りに切り替わった場合にも、移動体に加えられる補正角加速度は、方向が同じ右回りであり、且つ大きさもＤ７からＤ８というようにそれほど変化しない。右回りの角速度で回っていた移動体がβ＝γ２＝−１３５度で角速度が零になり左回りに切り替わった場合も同様である。従って、本実施例によれば、移動体が静止状態から抜けられなくなるといった図９の比較例の問題が生じず、補正角加速度の方向の切り替えが移動体が動いている状態で行われるため、切り替え時にプレーヤに与える不自然さを低減できる。
【００４６】
なお図８（Ａ）、（Ｂ）では、角速度が左回りの場合と右回りの場合とで、補正角加速度の方向が反転する角度をγ１とγ２というように異ならせているが、図１０に示すように、この角度を異ならせないようにすることも可能である。
【００４７】
また図８（Ａ）、（Ｂ）では、移動体方向がコース方向側に向くにつれて補正角加速度が小さくなっているが、図１１（Ａ）、（Ｂ）に示すように、移動体方向の向きによらず常に補正角加速度を一定にすることも可能である。但し、図１１（Ａ）、（Ｂ）では、補正角加速度の方向が反転する角度をγ１とγ２というように異ならせている。
【００４８】
（２−４）壁際の補正
本実施例では図１２に示すように、移動体２６がコース２０のコーナ領域２７内にあり、移動体２６とコース２０の境界である壁２４との距離が所与の距離Ｅ以下であり、コースベクトルＣと移動体の方向ベクトルＭとのなす角度βの絶対値が所与の角度、例えば４５度以上の場合には、上記（２−２）、（２−３）の補正を省略又は軽減する。このようにコーナ領域での壁２４の近くでコース方向と移動体の向く方向とのなす角度が大きい場合には、コーナをスムーズに曲がるために、プレーヤが自分の意志で移動体の方向を曲げ移動体をドリフト状態にしている可能性がある。このような場合に、上記（２−２）、（２−３）のような補正がなされると、プレーヤのゲーム操作を邪魔し、プレーヤのゲームへの熱中度を阻害するおそれがある。そこで、本実施例では、このような場合に上記（２−２）、（２−３）の補正を省略又は軽減し、これによりプレーヤのスムーズなコーナリング操作を可能にしている。
【００４９】
なお本実施例では、図１２に示すような場合でも、（２−１）の速度方向の補正については無効にしない。これは速度方向が壁方向に向いていると壁にヒットする可能性が非常に高くなってしまうからである。このように（２−２）、（２−３）を無効にし（２−１）のみを無効にしないことで、壁２４とのヒットを避けながら、且つプレーヤの意志を尊重して移動体２６を壁際に沿ってスムーズにコーナリングさせることができ、これによりゲームの面白味、プレーヤの満足度を高めることができる。
（２−５）移動体の中心線への引き寄せ
本実施例では、図１３に示すように、移動体２６をコースの中心線２５側に引き寄せ、壁２４と移動体２６との距離を保つために、移動体の速度ベクトルＶに対して補正速度ベクトルＶｍを加算している。この補正速度ベクトルＶｍは、例えば方向が中心線２５側で、大きさがＬ×Ｆ（Ｌ）／｜Ｖ｜に比例するベクトルである。Ｖｍの大きさをＬに比例させることで、コース幅が広く壁２４からの距離が遠い場合でも、移動体を中心線２５側に近づけることができる。
（２−６）補正の必要性
本実施例では、図１４（Ａ）に示すように、移動体ベクトルＭの方向を基準として、コースベクトルＣと逆側に移動体２６を向けるプレーヤの操作がなされた場合（図１４（Ａ）のＩＬの方向）には、上記（２−１）〜（２−５）の補正を実行する。一方、図１４（Ｂ）に示すように、移動体ベクトルＭを基準にして、コースベクトルＣ側に移動体２６を向けるプレーヤの操作がなされた場合（図１４（Ｂ）のＩＲの方向）、上記（２−１）〜（２−５）の補正を省略又は軽減する。即ち、より一般的には、移動体方向を基準としてコース方向と逆方向側に移動体を向ける操作がなされた場合には、速度情報、加速度情報、角速度情報、角加速度情報の少なくとも１つを補正しプレーヤの操作をアシストすると共に、移動体方向を基準としてコース方向側に移動体を向ける操作がなされた場合には、このような補正の少なくとも１つを省略又は軽減する。
【００５０】
図１４（Ａ）のように、コース方向と逆側にプレーヤが操作を行っている場合には、プレーヤはコース方向を見失っていると考えられる。そこで、このような場合には、本実施例で説明した補正処理を行いプレーヤの操作をアシストする。一方、図１４（Ｂ）に示すように、コース方向側にプレーヤが操作を行っている場合には、プレーヤは自分がコース方向と異なる方向に進んでいることを認識していると考えられる。そこで、このような場合にはプレーヤの意志を最大限に尊重し、操作アシストがプレーヤの操作の邪魔にならないように、また操作アシストによりプレーヤが不自然さを感じないように、操作アシストのための補正処理を無効にする。このようにすることで、移動体を操作するプレーヤの意志を反映しつつプレーヤの操作を有効にアシストすることが可能となる。
【００５１】
なお補正の軽減は、例えば（２−１）の速度方向の補正、（２−２）の加速度方向の補正において係数ｋ１、ｋ２の値を小さくしたり、（２−３）の角加速度の補正において補正角加速度の値を全体的に小さくしたりすることで実現できる。
【００５２】
また本実施例では、コース方向側にプレーヤが操作が行った場合、（２−１）〜（２−５）の全てを省略又は軽減しているが、その一部のみを省略又は軽減することも可能である。
（２−７）壁ヒット時の補正
本実施例では、図１５（Ａ）に示すように、壁２４と移動体２６とのヒット時に移動体の方向ベクトルＭがコースベクトルＣを基準として壁２４側に向いている場合には、コースベクトルＣと移動体の方向ベクトルＭとのなす角度βの絶対値が大きいほど大きくなる補正角速度を用いて、移動体の方向ベクトルＭがコースベクトルＣの方向を向くように移動体２６の角速度を補正している。一方、図１５（Ｂ）に示すように、移動体の方向ベクトルＭがコースベクトルＣを基準として壁２４と反対側に向いている場合には、上記のような補正は行わない。図１５（Ａ）のようにヒット時に移動体２６が壁２４側に向いている場合には、ヒット後にコース中心線側に移動体が復帰するのが困難となる。そこでこのような場合には、角速度を補正してやり移動体をコース方向に回転させコース中心線側への復帰を容易にしている。特に本実施例によれば補正により移動体の角速度を変化させているため、移動体をコース中心線側に素早く復帰させることができる。また角度βの絶対値が大きいほど補正角速度が大きくなるため、移動体が例えば壁に垂直にヒットしたような場合でも、移動体をコース中心線側に容易に復帰させることができる。
【００５３】
一方、図１５（Ｂ）のように、ヒット時に移動体２６が壁２４と反対側に向いている場合には、あえて操作アシストを行わなくても移動体２６はコース中心線側に復帰できる。そこで本実施例では、このような場合には操作アシストを行わず、プレーヤの操作意志を尊重している。
【００５４】
なお壁２４と移動体２６のヒットチェック処理は図３のヒットチェック処理部１１２が行う。
【００５５】
次に本実施例の動作について図１６のフローチャートを用いて説明する。まず移動体情報演算部１３０が、当該フレームでの移動体の位置情報、方向情報、速度情報、角速度情報、加速度情報、角加速度情報等の移動体情報を演算する（ステップＳ１）。操作アシスト部１１０は、この移動体情報等に基づいて、以下に述べる補正処理を行う。
【００５６】
まず移動体をコース方向側に向かせる補正処理を行う（ステップＳ２、（１））。次に移動体をコース中心線側へ引き寄せる補正処理を行う（ステップＳ３、（２−５））。その後、プレーヤの操作が、移動体をコース方向側に向けるものであるのが、コース方向と逆側に向けるものであるのかを判断することで、補正の必要性をチェックする（ステップＳ４、（２−６））。補正が必要でなければ、プレーヤの操作意志を尊重しステップＳ５〜Ｓ８の処理を省略してステップＳ９に移行する。なおこの場合、ステップＳ５〜Ｓ８の処理を省略する代わりに、これらの処理における補正の程度を軽減するようにしてもよい。一方、補正が必要である場合には、速度方向、加速度方向、角加速度、壁際の補正を行う（ステップＳ５〜Ｓ８、（２ー１）〜（２−４））。その後、ヒットチェック処理部１１２がヒットチェック処理を行い（ステップＳ９）、移動体と壁とがヒットする場合には壁ヒット時の補正を行う（ステップＳ１０、（２ー７））。最後に、上記のようにして補正された移動体情報が移動体情報記憶部１３２に保存される。
【００５７】
次に、本実施例のハードウェア構成の一例について図１７を用いて説明する。同図に示す装置では、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音合成ＩＣ１００８、画像合成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像合成ＩＣ１０１０にはディスプレイ１０１８が接続され、音合成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【００５８】
情報記憶媒体１００６は、ゲームプログラム、表示物を表現するための画像情報等が主に格納されるものであり、ＣＤ−ＲＯＭ、ゲームカセット、ＩＣカード、ＭＯ、ＦＤ、メモリ等が用いられる。例えば家庭用ゲーム装置ではゲームプログラム等を格納する情報記憶媒体としてＣＤ−ＲＯＭ、ゲームカセットが、業務用ゲーム装置ではＲＯＭ等のメモリが用いられる。
【００５９】
コントロール装置１０２２はゲームコントローラに相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果を装置本体に入力するための装置である。
【００６０】
情報記憶媒体１００６に格納されるゲームプログラム、ＲＯＭ１００２に格納されるシステムプログラム（装置本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００は装置全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また空間情報（図４）、コース方向情報（図５（Ａ））、アシスト関数テーブル（図６）、補正角加速度情報（図８（Ａ）、（Ｂ）、図１０）等の論理的な構成を持つデータ構造は、このＲＡＭ又は情報記憶媒体上に構築されることになる。
【００６１】
更に、この種の装置には音合成ＩＣ１００８と画像合成ＩＣ１０１０とが設けられていてゲーム音やゲーム画面の好適な出力が行えるようになっている。音合成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を合成する集積回路であり、合成されたゲーム音はスピーカ１０２０によって出力される。また、画像合成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を合成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【００６２】
また、通信装置１０２４はゲーム装置内部で利用される各種の情報を外部とやりとりするものであり、他のゲーム装置と接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【００６３】
そして図７（Ａ）、（Ｂ）、図８（Ａ）、（Ｂ）、図１０、図１１、図１２、図１３、図１４（Ａ）、（Ｂ）、図１５（Ａ）、（Ｂ）で説明した種々の処理は、図１６のフロチャートに示した処理等を行うゲームプログラムを格納した情報記憶媒体１００６と、該ゲームプログラムに従って動作するＣＰＵ１０００、画像合成ＩＣ１０１０等によって実現される。なお画像合成ＩＣ１０１０、音合成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【００６４】
本実施例を業務用ゲーム装置に適用した場合には、図１に示すように、装置内にはＩＣ基板１１０６が内蔵され、ＩＣ基板１１０６には、ＣＰＵ、画像合成ＩＣ、音合成ＩＣ等が実装される。そして操作情報に基づいて移動体の位置情報及び方向情報を微少時間毎に順次求めるための情報、移動体の速度情報、加速度情報、角速度情報、角加速度情報等に種々の補正を施し操作アシストを行うための情報、所与の視点位置、視線方向での視界画像を合成するための情報等は、ＩＣ基板１１０６上の情報記憶媒体であるメモリ１１０８に格納される。以下、これらの情報を格納情報と呼ぶ。これらの格納情報は、上記の種々の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、プレーヤ情報等の少なくとも１つを含むものである。
【００６５】
図１８（Ａ）に、本実施例を家庭用のゲーム装置に適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画面を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体装置に着脱自在な情報記憶媒体であるＣＤ−ＲＯＭ１２０６、ＩＣカード１２０８、１２０９等に格納されている。
【００６６】
図１８（Ｂ）に、ホスト装置１３００と、このホスト装置１３００と通信回線１３０２を介して接続される端末１３０４ー1〜１３０４-nとを含むゲーム装置に本実施例を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４ー1〜１３０４-nが、ＣＰＵ、画像合成ＩＣ、音合成ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を合成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を合成するためのゲームプログラム等が端末１３０４ー1〜１３０４-nに配送される。一方、スタンドアロンで合成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を合成し、これを端末１３０４ー1〜１３０４-nに伝送し端末において出力することになる。
【００６７】
なお本発明は、上記実施例で説明したものに限らず、種々の変形実施が可能である。
【００６８】
例えばプレーヤの操作が移動体をコース方向側に向ける操作か否かに基づいて、補正を実行或いは、省略（又は軽減）する発明においては、実行又は省略等する補正処理は、少なくともプレーヤの操作のアシストに関するものであれば上記実施例で説明したものに限られるものではない。
【００６９】
またコースの境界付近に移動体が位置する時に補正値を極大にするアシスト関数の特性も上記実施例で説明したものに限られるものではない。
【００７０】
また速度方向及び加速度方向を補正し、速度方向の補正角度と加速度方向の補正角度を異ならせる発明においては、補正角度をコース方向と移動体方向とのなす角度に依存しないものとすることもできる。
【００７１】
また、本実施例では、水上バイクの走行ゲームを例にとり説明したが、本発明はこれに限らず、コース上を移動体が移動する種々のゲームに適用できる。
【００７２】
また本発明は、業務用のゲーム装置、家庭用のゲーム装置、操縦訓練のためのシミュレータ装置、多数のプレーヤが参加する大型アトラクション装置等、種々のものに適用できる。
【００７３】
また本実施例で説明した処理部、画像合成部等で行われる処理も、本実施例では単にその一例を示したものであり、本発明における処理はこれらに限定されるものではない。
【００７４】
【図面の簡単な説明】
【図１】本実施例の外観図の一例である。
【図２】オブジェクト空間に配置されるマップについて説明するための図である。
【図３】本実施例の機能ブロック図の詳細な構成の一例である。
【図４】空間情報の一例について説明するための図である。
【図５】図５（Ａ）、（Ｂ）は、移動体をコース方向に向かせる補正について説明するための図である。
【図６】アシスト関数の一例を示す図である。
【図７】図７（Ａ）、（Ｂ）は、速度方向、加速度方向の補正について説明するための図である。
【図８】図８（Ａ）、（Ｂ）は、角加速度の補正について説明するための図である。
【図９】角加速度補正の比較例について説明するための図である。
【図１０】角加速度補正の変形例について説明するための図である。
【図１１】図１１（Ａ）、（Ｂ）は、角加速度補正の他の変形例について説明するための図である。
【図１２】壁際の補正について説明するための図である。
【図１３】移動体をコース中心線側に引き寄せる補正について説明するための図である。
【図１４】図１４（Ａ）、（Ｂ）は、補正の必要性をチェックし、補正を実行又は省略する処理について説明するための図である。
【図１５】図１５（Ａ）、（Ｂ）は、壁ヒット時の補正について説明するための図である。
【図１６】本実施例の動作を説明するためのフローチャートである。
【図１７】本実施例を実現するハードウェアの構成の一例を示す図である。
【図１８】図１８（Ａ）、（Ｂ）は、本実施例が適用される種々の形態の装置を示す図である。
【符号の説明】
１０  表示部
１２  操作部
２０  コース
２２  中心線
２４  壁（境界）
２６  移動体
４０  プレーヤ
４２  筺体
４４  ハンドルポール
４６  ハンドル
４７  レバー（アクセル）
１００  処理部
１１０  操作アシスト部
１１２  ヒットチェック処理部
１２０  視点変化部
１３０  移動体情報演算部
１３２  移動体情報記憶部
１４０  オブジェクト空間設定部
１４２  空間情報記憶部
２００  画像合成部
【図１】
0003753340.tif 000002
【図２】
0003753340.tif 000003
【図３】
0003753340.tif 000004
【図４】
0003753340.tif 000005
【図５】
0003753340.tif 000006
【図６】
0003753340.tif 000007
【図７】
0003753340.tif 000008
【図８】
0003753340.tif 000009
【図９】
0003753340.tif 000010
【図１０】
0003753340.tif 000011
【図１１】
0003753340.tif 000012
【図１２】
0003753340.tif 000013
【図１３】
0003753340.tif 000014
【図１４】
0003753340.tif 000015
【図１５】
0003753340.tif 000016
【図１６】
0003753340.tif 000017
【図１７】
0003753340.tif 000018
【図１８】
0003753340.tif 000019