(57)【特許請求の範囲】
【請求項１】
三次元疑似空間内を移動する移動者の視点から、この疑似空間を眺めた状態を示す二次元画像を、移動者の移動に応じて逐次変化させながら表示させることにより、疑似的な移動体験を提供するシステムであって、
三次元疑似空間を構成する構造物の三次元画像を格納する三次元画像格納手段と、
前記三次元疑似空間を複数の領域に分割し、隣接領域間の移動を制限するために、当該隣接領域間に配置されるガイドプレーンＧを定義するデータと、当該ガイドプレーンＧについて、一方の面を第１の属性、他方の面を第２の属性とする属性を定義するデータと、を格納するガイドプレーン格納手段と、
前記三次元疑似空間内における移動者の現在位置Ｐを格納する現在位置格納手段と、
前記現在位置Ｐに応じた視点から、所定の視線方向に向かって前記三次元疑似空間内の構造物を眺めた状態を示す二次元画像を、前記三次元画像データを用いた演算により生成する二次元画像生成手段と、
生成された二次元画像をディスプレイ画面上に逐次表示させる表示手段と、
前記三次元疑似空間内の移動者に対する移動指示を入力する移動指示入力手段と、
前記移動指示と前記現在位置Ｐとに基づいて、移動後の目標位置Ｑを生成する目標位置生成手段と、
前記現在位置Ｐから前記目標位置Ｑへと向かう移動ベクトルＶが、前記ガイドプレーンＧと交差するか否かを判定し、交差するとの判定がなされた場合には、前記移動ベクトルＶが、第１の属性面から第２の属性面に向かって交差しているのか、逆に、第２の属性面から第１の属性面に向かって交差しているのか、の別を判定する交差判定手段と、
前記交差判定手段によって第１の属性面から第２の属性面に向かって交差している旨の判定結果が得られた場合には、目標位置Ｑを所定のアルゴリズムに基づいて修正位置Ｑ′に修正し、この修正位置Ｑ′を新たな現在位置と決定し、交差判定手段によって第２の属性面から第１の属性面に向かって交差している旨の判定結果が得られた場合もしくは交差しない旨の判定結果が得られた場合には、目標位置Ｑを新たな現在位置と決定し、前記現在位置格納手段内の現在位置を更新する処理を行う現在位置更新手段と、
を備えることを特徴とする三次元疑似空間内の移動体験提供システム。
【請求項２】
請求項１に記載の移動体験提供システムにおいて、
ガイドプレーンＧを、有限な面積をもった平面領域によって構成することを特徴とする三次元疑似空間内の移動体験提供システム。
【請求項３】
請求項２に記載の移動体験提供システムにおいて、
交差判定手段が、ガイドプレーンＧを含む無限平面と移動ベクトルＶとが交差しているか否かを判定する仮判定を行い、この仮判定で交差している旨の結果が得られた場合に、ガイドプレーンＧを構成する平面領域と移動ベクトルＶとが交差しているか否かの正式な判定を行うことを特徴とする三次元疑似空間内の移動体験提供システム。
【請求項４】
請求項１〜３のいずれかに記載の移動体験提供システムにおいて、
現在位置更新手段が、移動ベクトルＶとガイドプレーンＧとの交点Ｘを、修正位置Ｑ′とする修正処理を行うことを特徴とする三次元疑似空間内の移動体験提供システム。
【請求項５】
請求項１〜３のいずれかに記載の移動体験提供システムにおいて、
現在位置更新手段が、移動ベクトルＶのガイドプレーンＧへの投影ベクトルを求め、この投影ベクトル上の１点を修正位置Ｑ′とする修正処理を行うことを特徴とする三次元疑似空間内の移動体験提供システム。
【請求項６】
請求項１〜３のいずれかに記載の移動体験提供システムにおいて、
現在位置更新手段が、移動ベクトルＶ上の点であって、ガイドプレーンＧよりも手前にある１点を修正位置Ｑ′とする修正処理を行うことを特徴とする三次元疑似空間内の移動体験提供システム。
【請求項７】
請求項１〜３のいずれかに記載の移動体験提供システムにおいて、
現在位置更新手段が、移動ベクトルＶに沿った経路を進む光が、ガイドプレーンＧによって反射した場合の反射経路上の１点を修正位置Ｑ′とする修正処理を行うことを特徴とする三次元疑似空間内の移動体験提供システム。
【請求項８】
請求項１〜７のいずれかに記載の移動体験提供システムにおいて、
移動指示入力手段が、移動者の視線方向に関する指示を与える機能を有し、二次元画像生成手段が、この視線方向に関する指示を考慮して、二次元画像の生成を行うことを特徴とする三次元疑似空間内の移動体験提供システム。
【請求項９】
請求項１〜８のいずれかに記載の移動体験提供システムとしてコンピュータを動作させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は三次元疑似空間内の移動体験提供システムに関し、特に、三次元コンピュータグラフィックスを利用したプレゼンテーションやゲームなどに利用可能な三次元疑似空間内の移動体験を提示する技術に関する。
【０００２】
【従来の技術】
コンピュータハードウエアの性能は、近年、急速に向上してきており、比較的演算負担の大きな三次元コンピュータグラフィックス（以下、三次元ＣＧという）を利用したソフトウエアでも、市販の汎用パソコンなどで十分に動作させることができるようになってきている。三次元ＣＧを利用したプレゼンテーションやゲームなどでは、いわゆるウォークスルーシステムと呼ばれる疑似体験システムが用いられることが多い。このウォークスルーシステムでは、街中、郊外、城郭、山林、海岸、砂漠、など様々な三次元疑似空間内を、仮想的に移動して散策するシミュレーション画像が提示され、利用者は、あたかも自分自身がこの三次元疑似空間内をさまよい歩いているような疑似体験ができる。特に、コンピュータゲームの分野では、このウォークスルーシステムを利用して、主人公が様々な冒険を繰り広げるタイプのソフトウエアが古くから開発されている。最近では、コンピュータハードウエアの進歩により、高品質の三次元ＣＧが利用できるようになったため、ゲームの分野だけではなく、種々のプレゼンテーション分野への応用も広がりはじめている。たとえば、歴史上の古い建築物を三次元ＣＧで再現し、これらの建築物の周辺を疑似的に歩き回りながら鑑賞するというソフトウエアなども提案されている。
【０００３】
このように、いわゆるウォークスルーシステムと呼ばれている三次元疑似空間内の移動体験提供システムの根本原理は、三次元疑似空間内を移動する移動者の視点から、この疑似空間を眺めた状態を示す二次元画像を、移動者の移動に応じて逐次変化させながら表示させるという点にある。通常、利用者が、このシステムに対して、マウスやキーボードなどの入力機器を用いて移動指示を与えると、この移動指示に基づいて現在位置の更新が行われ、新たな現在位置から眺めた状態を示す二次元画像が提示されることになる。結局、利用者の移動指示に応じて、新たな二次元画像が逐次提示されることになるので、利用者はあたかも三次元疑似空間内を移動しているような仮想体験を得ることができる。
【０００４】
【発明が解決しようとする課題】
通常の移動体験提供システムでは、移動者が三次元疑似空間内を自由に動き回れるわけではなく、移動に何らかの制限を加えるのが一般的である。たとえば、三次元疑似空間内に建物が存在する場合、この建物の壁を通り抜けるような移動はリアリティーに反するため、通常は制限されることになる。このように、「壁に衝突した場合には、それ以上奥へは進めないようにする」という移動制限を行うためには、移動者が壁に衝突したか否かの衝突判定を行う必要がある。従来の移動体験提供システムでは、このように何らかの構造物に衝突したか否かの判定を演算によって行い、構造物を通り抜けるような移動を制限する手法が採られている。
【０００５】
しかしながら、通常、三次元ＣＤで任意の構造物を取り扱う場合、当該構造物の表面を多数のポリゴンで表現する方法が採られる。このため、移動者の移動に基づく衝突判定を行うには、この多数のポリゴンについての幾何学演算が必要になり、コンピュータの演算負担はかなり大きなものとなる。特に、三次元疑似空間内の移動体験提供システムでは、利用者の移動指示に応じて、リアルタイムで処理を行う必要があるため、衝突演算の処理に時間がかかりすぎるのは好ましくない。結局、三次元疑似空間を構成する構造物を構成するポリゴンの数を抑制し、リアルタイムでの応答性を向上させるか、あるいは、多数のポリゴンを用いた高品質の画像を提示する代わりに、リアルタイムでの応答性を犠牲にするか、という選択が必要になる。
【０００６】
いわゆるウォークスルーシステムを利用したプレゼンテーションやゲームソフトウエアの場合、「移動者をある特定の場所へ誘導したい」、「特定の場所から特定の構造物を観察させたい」、「特定の領域以外には移動させたくない」といった制作者側の意図があることが多い。このような場合、制作者は、三次元空間内に壁や障害物などを適宜配置することにより、移動者の移動パターンを間接的に制御する手法を採ることになる。ところが、このような手法を採れば採るほど、上述した衝突演算の回数が増え、多大な演算負担がかかることになる。
【０００７】
そこで本発明は、三次元疑似空間内の移動体験提供システムにおいて、移動者の移動パターンを制御するための演算負担を、できるだけ軽減する手法を提供することを目的とする。
【０００８】
【課題を解決するための手段】
(1)   本発明の第１の態様は、三次元疑似空間内を移動する移動者の視点から、この疑似空間を眺めた状態を示す二次元画像を、移動者の移動に応じて逐次変化させながら表示させることにより、疑似的な移動体験を提供する三次元疑似空間内の移動体験提供システムにおいて、
三次元疑似空間を構成する構造物の三次元画像を格納する三次元画像格納手段と、
三次元疑似空間を複数の領域に分割し、隣接領域間の移動を制限するために、当該隣接領域間に配置されるガイドプレーンＧを定義するデータと、当該ガイドプレーンＧについて、一方の面を第１の属性、他方の面を第２の属性とする属性を定義するデータと、を格納するガイドプレーン格納手段と、
三次元疑似空間内における移動者の現在位置Ｐを格納する現在位置格納手段と、
現在位置Ｐに応じた視点から、所定の視線方向に向かって三次元疑似空間内の構造物を眺めた状態を示す二次元画像を、三次元画像データを用いた演算により生成する二次元画像生成手段と、
生成された二次元画像をディスプレイ画面上に逐次表示させる表示手段と、
三次元疑似空間内の移動者に対する移動指示を入力する移動指示入力手段と、
移動指示と現在位置Ｐとに基づいて、移動後の目標位置Ｑを生成する目標位置生成手段と、
現在位置Ｐから目標位置Ｑへと向かう移動ベクトルＶが、ガイドプレーンＧと交差するか否かを判定し、交差するとの判定がなされた場合には、移動ベクトルＶが、第１の属性面から第２の属性面に向かって交差しているのか、逆に、第２の属性面から第１の属性面に向かって交差しているのか、の別を判定する交差判定手段と、
交差判定手段によって第１の属性面から第２の属性面に向かって交差している旨の判定結果が得られた場合には、目標位置Ｑを所定のアルゴリズムに基づいて修正位置Ｑ′に修正し、この修正位置Ｑ′を新たな現在位置と決定し、交差判定手段によって第２の属性面から第１の属性面に向かって交差している旨の判定結果が得られた場合もしくは交差しない旨の判定結果が得られた場合には、目標位置Ｑを新たな現在位置と決定し、現在位置格納手段内の現在位置を更新する処理を行う現在位置更新手段と、
を設けるようにしたものである。
【０００９】
(2)   本発明の第２の態様は、上述の第１の態様に係る三次元疑似空間内の移動体験提供システムにおいて、
ガイドプレーンＧを、有限な面積をもった平面領域によって構成するようにしたものである。
【００１０】
(3)   本発明の第３の態様は、上述の第２の態様に係る三次元疑似空間内の移動体験提供システムにおいて、
交差判定手段が、ガイドプレーンＧを含む無限平面と移動ベクトルＶとが交差しているか否かを判定する仮判定を行い、この仮判定で交差している旨の結果が得られた場合に、ガイドプレーンＧを構成する平面領域と移動ベクトルＶとが交差しているか否かの正式な判定を行うようにしたものである。
【００１３】
(4)   本発明の第４の態様は、上述の第１〜第３の態様に係る三次元疑似空間内の移動体験提供システムにおいて、
現在位置更新手段が、移動ベクトルＶとガイドプレーンＧとの交点Ｘを、修正位置Ｑ′とする修正処理を行うようにしたものである。
【００１４】
(5)   本発明の第５の態様は、上述の第１〜第３の態様に係る三次元疑似空間内の移動体験提供システムにおいて、
現在位置更新手段が、移動ベクトルＶのガイドプレーンＧへの投影ベクトルを求め、この投影ベクトル上の１点を修正位置Ｑ′とする修正処理を行うようにしたものである。
【００１５】
(6)   本発明の第６の態様は、上述の第１〜第３の態様に係る三次元疑似空間内の移動体験提供システムにおいて、
現在位置更新手段が、移動ベクトルＶ上の点であって、ガイドプレーンＧよりも手前にある１点を修正位置Ｑ′とする修正処理を行うようにしたものである。
【００１６】
(7)   本発明の第７の態様は、上述の第１〜第３の態様に係る三次元疑似空間内の移動体験提供システムにおいて、
現在位置更新手段が、移動ベクトルＶに沿った経路を進む光が、ガイドプレーンＧによって反射した場合の反射経路上の１点を修正位置Ｑ′とする修正処理を行うようにしたものである。
【００１７】
(8)   本発明の第８の態様は、上述の第１〜第７の態様に係る三次元疑似空間内の移動体験提供システムにおいて、
移動指示入力手段が、移動者の視線方向に関する指示を与える機能を有し、二次元画像生成手段が、この視線方向に関する指示を考慮して、二次元画像の生成を行うようにしたものである。
【００１８】
(9)   本発明の第９の態様は、上述の第１〜第８の態様に係る三次元疑似空間内の移動体験提供システムとしてコンピュータを動作させるためのプログラムを、コンピュータ読み取り可能な記録媒体に記録するようにしたものである。
【００２０】
【発明の実施の形態】
以下、本発明を図示する実施形態に基づいて説明する。
【００２１】
§１．本発明に係るシステムの基本構成
図１は、本発明の一実施形態に係る三次元疑似空間内の移動体験提供システムの基本構成を示すブロック図である。実際には、このシステムはコンピュータハードウエアに、専用の処理ソフトウエアを組み込むことにより実現されることになるが、ここでは説明の便宜上、このシステムを図１に示すような個々の機能ブロックの集合として捉えることにする。
【００２２】
このシステムは、三次元疑似空間内を移動する移動者の視点から、この疑似空間を眺めた状態を示す二次元画像を、移動者の移動に応じて逐次変化させながら表示させることにより、疑似的な移動体験を提供するシステムである。表示手段１０は、この二次元画像をディスプレイの画面上に表示させる機能を有する構成要素である。表示手段１０の表示対象となる二次元画像は、二次元画像生成手段２０によって生成される。この二次元画像は、三次元画像格納手段３０内に格納されている三次元画像のデータに基づいて生成されることになる。三次元画像格納手段３０内には、三次元疑似空間を構成する個々の構造物（ここでは、人為的な建造物だけでなく、海や山などの自然物をも含めた広い概念で、構造物という言葉を用いることにする）の三次元画像を示すデータが格納されている。通常、個々の構造物の表面は多数のポリゴンによって構成されており、三次元画像格納手段３０内の三次元画像は、このようなポリゴンの集合として表現されることになる。
【００２３】
図２は、三次元画像格納手段３０内に用意された三次元画像に基づいて定義される三次元疑似空間１００の一例を示す斜視図である。この図では、建物１１０、樹木１２０、池１３０という３種類の構造物が疑似空間内に配置されており、この疑似空間内を仮想の移動者Ｍが移動してゆく様子が示されている。ここで、建物１１０、樹木１２０、池１３０なる構造物は、いずれも多数のポリゴンからなる表面によって構成されている物体であり、個々のポリゴンのデータが三次元画像格納手段３０内に三次元画像として用意されている。二次元画像生成手段２０は、このような三次元画像に基づいて二次元画像を生成する処理を行う。一般に、三次元画像に基づいて二次元画像を生成する場合、視点の位置と視線方向とを定義する必要がある。ここでは、移動者Ｍの目の位置を視点Ｐとし、移動者Ｍの正面前方を視線方向と定義することにする。この場合、図２に示すように、視点Ｐから一点鎖線で示す視線方向が定義され、三次元画像に対して、このような視線方向に基づく二次元投影処理（いわゆるレンダリング処理）を行うことにより、二次元画像が得られることになる。
【００２４】
図１に示すシステムにおける現在位置格納手段４０は、移動者Ｍの現在位置Ｐを格納する機能を有している。ここに示す例では、移動者Ｍの視点Ｐの位置をそのまま現在位置Ｐとして利用しているが、移動者Ｍの両足の中心点などを現在位置として定義してもかまわない。現在位置Ｐは、ＸＹＺ三次元座標系における座標値Ｐ（ｘ，ｙ，ｚ）で表される。二次元画像生成手段２０は、現在位置格納手段４０から現在位置Ｐのデータを読み出し、図２に示すように、この現在位置Ｐから所定の視線方向を眺めたときの二次元画像を、三次元画像格納手段３０内の三次元画像を用いて生成することになる。当然、移動者Ｍがリアルタイムで移動すれば、現在位置Ｐを示す座標値Ｐ（ｘ，ｙ，ｚ）も刻々と変化することになり、二次元画像生成手段２０により、新たな座標値Ｐ（ｘ，ｙ，ｚ）に基づいて新たな二次元画像を生成する処理が行われ、表示手段１０によって、新たな二次元画像がディスプレイ画面上に逐次表示されることになる。
【００２５】
現在位置Ｐの更新は、現在位置更新手段５０によって実行される。現在位置更新手段５０は、利用者からの移動指示が与えられるごとに、あるいは、所定の時間ごとに、現在位置格納手段４０内に格納されている現在位置Ｐを示す座標値Ｐ（ｘ，ｙ，ｚ）を更新する処理を実行する。現在位置Ｐは、基本的には、利用者からの移動指示に基づいて更新されることになる。たとえば、図２に示す例において、利用者から「前方へ進め」という移動指示が与えられた場合、図において移動者Ｍの位置が前方位置となるように、現在位置Ｐが更新されることになる。ただし、利用者から与えられた移動指示が常に遵守されるわけではなく、たとえば、図２において建物１１０の壁を通り抜けるような移動指示が与えられた場合には、そのような移動指示は修正されることになる。
【００２６】
図１における目標位置生成手段６０と交差判定手段７０は、このような移動指示の修正を行うための構成要素である。すなわち、利用者からの移動指示（三次元疑似空間１００内の移動者Ｍに対する移動指示）が、移動指示入力手段８０によって入力されると、目標位置生成手段６０は、この移動指示と、現在位置格納手段４０内に格納されている現在位置Ｐとに基づいて、移動後の目標位置Ｑを生成する。たとえば、移動指示入力手段８０により、「前方へ進め」という移動指示が与えられた場合、現在位置Ｐを所定距離だけ移動者Ｍの前方へと移動させた位置に目標位置Ｑが生成されることになる。ただし、この目標位置Ｑは、あくまでも利用者からの移動指示に忠実に従った場合に到達すべき目標の位置であり、必ずしもこの目標位置Ｑまで移動できるとは限らない。交差判定手段７０は、このような目標位置Ｑまでの移動が許されるか否かを判定する機能を有しており、その判定の基準は、現在位置Ｐから目標位置Ｑへと向かう移動ベクトルＶが、ガイドプレーンＧと交差するか否かである。
【００２７】
ここで、ガイドプレーンＧは、本発明において非常に重要な役割を果たす概念であり、三次元疑似空間１００内の移動を制限するために定義される面である。ガイドプレーンＧを定義するデータは、ガイドプレーン格納手段９０内に予め用意されることになる。図３は、建物１１０の周囲に定義されたガイドプレーンの一例を示す図である。図に太線の矩形で示されたＧ１，Ｇ２が、定義されたガイドプレーンである。このように定義されたガイドプレーンは、予め三次元疑似空間１００内に配置される図形という点では、三次元画像格納手段３０内の三次元画像と同じであるが、三次元画像格納手段３０内の三次元画像が、二次元画像生成手段２０による二次元画像の生成に利用されるのに対し、ガイドプレーン格納手段９０内のガイドプレーンは、二次元画像の生成に利用されることはない。別言すれば、ガイドプレーンは、表示手段１０によって表示されることはなく、いわば透明なプレーンとして機能することになる。
【００２８】
ガイドプレーンの役割は、移動者Ｍに対する障害物として機能することである。図３に示すように、建物１１０の周囲に２枚のガイドプレーンＧ１，Ｇ２が定義されていた場合、これらは障害物として機能し、結果的に、移動者Ｍが移動経路Ｒに沿って移動するように誘導することができるようになる。移動者Ｍに対する障害物として機能させるためには、ガイドプレーンを通り抜けるような移動を抑制する処理を行えばよい。
【００２９】
上述したように、このシステムでは、現在位置更新手段５０によって、現在位置格納手段４０内の現在位置Ｐが逐次更新されることになり、その都度、二次元画像生成手段２０によって、新たな二次元画像が生成される。したがって、移動者Ｍの移動は、図４に示す例のように、位置Ｐ（１）→Ｐ（２）→Ｐ（３）………というような離散的な位置変化として捉えることができる。もちろん、個々の位置の間隔を小さくすることにより、ディスプレイ画面上で観察した場合に、連続的な移動を行っているように見せることは可能であるが、原理的には、図４に示すように、現在位置を離散的に変化させてゆくことに変わりはない。そこで、第ｉ番目の現在位置Ｐ（ｉ）から、第（ｉ＋１）番目の現在位置Ｐ（ｉ＋１）へ移動させるときの条件として、「ガイドプレーンを通過しない」という条件を設定するようにすれば、ガイドプレーンを通り抜けるような移動を禁止することができ、ガイドプレーンを障害物として機能させることができる。
【００３０】
もちろん、実際には、ガイドプレーンを通過せざるを得ないような移動指示が移動指示入力手段８０に入力される場合もある。交差判定手段７０は、このような移動指示が与えられたか否かを判定する処理を行う。いま、図５に示すようなガイドプレーンＧが定義されており、現在位置Ｐが図示のように、このガイドプレーンＧの手前側にあったとしよう。このとき、移動指示入力手段８０に与えられた移動指示に基づいて、目標位置生成手段６０により、図示のようにガイドプレーンＧの向こう側の目標位置Ｑが生成されたものとしよう。この場合、利用者は、移動者Ｍの位置を目標位置Ｑまで移動させることを意図して、移動指示を与えたことになる。このように、現在位置Ｐから目標位置Ｑまでの移動は、ガイドプレーンＧを通過する移動となるので認められない。ガイドプレーンを通過する移動となるか否かは、現在位置Ｐから目標位置Ｑに向かう移動ベクトルＶを定義し、この移動ベクトルＶがガイドプレーンＧと交差するか否かを判定することにより認識することができる。図５に示す例では、移動ベクトルＶとガイドプレーンＧとは、交点Ｘにおいて交差しているため、このような移動は禁止されることになる。
【００３１】
交差判定手段７０による判定結果は、現在位置更新手段５０へと伝えられる。現在位置更新手段５０は、この交差判定手段７０による判定結果に応じて、目標位置Ｑもしくはこれを修正した修正位置Ｑ′を新たな現在位置と決定し、現在位置格納手段４０内の現在位置Ｐを更新する処理を行う。基本的には、現在位置更新手段５０は、交差判定手段７０により「交差しない」旨の判定結果が得られた場合には、目標位置Ｑをそのまま新たな現在位置Ｐとする更新処理を行うことになるが、「交差する」旨の判定結果が得られた場合には、目標位置Ｑを所定のアルゴリズムに基づいて修正位置Ｑ′に修正し、この修正位置Ｑ′を新たな現在位置Ｐとする更新処理を行うことになる。修正位置Ｑ′を求めるための具体的なアルゴリズムについては後述するが、基本的には、現在位置Ｐから修正位置Ｑ′へと向かう修正移動ベクトルが、ガイドプレーンＧと交差しなくなるように、修正位置Ｑ′を決定すればよい。図５に示す例の場合、ガイドプレーンＧの向こう側にある目標位置Ｑを、ガイドプレーンＧの手前側（あるいはガイドプレーンＧ上）のいずれかの位置にもってくる修正を行えばよい。
【００３２】
§２．ガイドプレーンを利用するメリット
ところで、上述した交差判定による移動制御は、ガイドプレーンを利用しなくても行うことができる。実際、従来の移動体験提供システムでは、ガイドプレーンを利用せずに、個々の構造物の表面に対する交差判定を行うことにより、移動制御を行っている。たとえば、図３に示す例の場合、ガイドプレーンＧ１，Ｇ２が存在しない場合でも、建物１１０の外壁面に対する交差判定を行い、移動ベクトルＶが外壁面に交差するような移動指示が与えられた場合には、目標位置Ｑの位置を外壁面の外側へと修正する処理を行えば、本発明と同様の効果が得られる。しかしながら、本発明においてガイドプレーンを利用した交差判定を行うようにしているのは、次のような２つのメリットが得られるからである。
【００３３】
まず、第１のメリットは、交差判定の演算負担が軽減されるということである。建物１１０は、三次元疑似空間１００を構成する構造物の一つであり、最終的に二次元画像の形でディスプレイ画面上に提示される対象物である。このため、その表面は多数のポリゴンによって構成されているのが一般的である。たとえば、レンガ造りの建物であれば、レンガ１つ１つの凹凸構造などが、ポリゴンによって表現されていることになる。このようなポリゴンの集合から構成されている表面に対して、移動ベクトルＶの交差判定を行うには、多大な演算負担が要求されることになる。ところが、ガイドプレーンは、最終的にディスプレイ画面上に提示される構造物ではないので、このようなポリゴンによって構成する必要は全くない。いわば透明な衝立として機能すればよいので、一般的には単なる平面としてガイドプレーンを定義しておけばよい。もちろん、場合によっては、円筒面のような曲面をガイドプレーンとして定義することも可能であり、このような単純な幾何学曲面をガイドプレーンとして採用した場合であっても、多数のポリゴンからなる表面に対する交差判定の演算プロセスに比べれば、はるかに単純な演算プロセスにより交差判定が可能である。
【００３４】
もっとも、実用上は、図３に示す例のように、ガイドプレーンを、有限な面積をもった平面領域によって構成するのが好ましい。平面からなるガイドプレーンを用いれば、曲面からなるガイドプレーンを用いた場合に比べて、より演算負担を軽減させることができる。また、有限な面積をもった平面領域からなるガイドプレーンであれば、これらを相互に組み合わせることにより、自由度の高い移動制御が可能になる。
【００３５】
なお、有限な面積をもった平面領域によってガイドプレーンを構成した場合、交差判定の演算プロセスを更に単純化するために、次のような判定方法を採るとよい。まず、ガイドプレーンＧを含む無限平面と移動ベクトルＶとが交差しているか否かを判定する仮判定を行う。そして、この仮判定で交差している旨の結果が得られた場合には、ガイドプレーンＧを構成する平面領域と移動ベクトルＶとが交差しているか否かの正式な判定を行うようにするのである。別言すれば、仮判定により、交差していない旨の結果が得られた場合には、正式な判定を行う必要はない。たとえば、図５に示す例の場合、本来であれば、移動ベクトルＶとガイドプレーンＧ（有限な面積をもった平面領域）とが交差するか否かを判定するのであるが、そのような正式な判定を行う前に、まず、ガイドプレーンＧを含む無限平面（紙面に沿った無限平面）と移動ベクトルＶとが交差しているか否かの仮判定を行うのである。
【００３６】
一般に無限平面は、ＸＹＺ三次元座標系において、Ａｘ＋Ｂｙ＋Ｃｚ＋Ｄ＝０なる形式の単純な式で表現できる。そして、このような式で表現される無限平面と、１点α（ｘα，ｙα，ｚα）との位置関係は、(1) Ａｘα＋Ｂｙα＋Ｃｚα＋Ｄ＞０になれば、１点αは無限平面の正領域側に存在し、(2) Ａｘα＋Ｂｙα＋Ｃｚα＋Ｄ＜０になれば、１点αは無限平面の負領域側に存在し、(3) Ａｘα＋Ｂｙα＋Ｃｚα＋Ｄ＝０になれば、１点αは無限平面上に存在することになる。したがって、所定の無限平面に対して、現在位置Ｐと目標位置Ｑとが同じ側にあるのか（すなわち、移動ベクトルＶは交差しない）、違う側にあるのか（すなわち、移動ベクトルＶが交差する）、は単純な算術演算の結果として判定することが可能である。この単純な算術演算による仮判定の結果、交差しない旨の結果が得られれば、移動ベクトルＶとガイドプレーンＧとは決して交差することはないので、正式な判定を行う必要はない。逆に、仮判定の結果、交差する旨の結論が得られた場合には、有限な面積をもった平面領域としてのガイドプレーンＧの内部で交差しているのか否かを調べるために、正式な判定を行うことになる。もっとも、このような正式な判定演算も、それほど複雑な演算にはならない。具体的には、まず、ガイドプレーンＧを含む無限平面と移動ベクトルＶとの交点Ｘを算出し、この交点Ｘが、ガイドプレーンＧの内部の点であるか否かを判定する処理を行えばよい。このように、ガイドプレーンを利用すれば、交差判定の演算負担を大幅に軽減できるというメリットが得られることになる。
【００３７】
一方、ガイドプレーンを利用することにより得られる第２のメリットは、移動制御の自由度が増すという点にある。たとえば、図３に示す例の場合、ガイドプレーンＧ１，Ｇ２は、建物１１０の外壁に対して所定間隔だけ離れた位置に配置されている。建物１１０の外壁自身を障害物として利用する従来の手法では、移動の制御面はあくまでもこの建物１１０の外壁面に限定されてしまう。ところが、ガイドプレーンを利用すれば、移動の制御面は、建物１１０の外壁面に限定されることはない。図３に示す例のように、外壁に対して所定間隔だけ離れた位置にガイドプレーンＧ１，Ｇ２を配置すれば、移動者Ｍが外壁に衝突する前に、その移動を制御することが可能になる。もちろん、各ガイドプレーンをどの位置に配置するかは、制作者が自由に決定できる事項であり、建物１１０の外壁面と同じ位置にガイドプレーンＧ１，Ｇ２を配置すれば、移動者Ｍは外壁に衝突するまで移動することが可能になる。
【００３８】
このように、ガイドプレーンＧは任意の位置に配置できるので、制作者の意図により、移動者Ｍの移動を自由に制限することが可能になる。たとえば、砂浜と海との境界線に沿ってガイドプレーンＧを配置するようにすれば、三次元画像としては、砂浜と海との間に何ら障害物はないにもかかわらず、砂浜側から海側へと移動することを禁止するようなことが可能になる。このように、移動制御の自由度を向上させることができる点も、本発明の重要な効果のひとつである。
【００３９】
§３．具体的な位置修正方法
さて、§１で述べたように、本発明では、ガイドプレーンＧを通り抜けるような移動は原則として禁止され、そのような移動指示が与えられた場合には、目標位置Ｑに対する修正が行われることになる。ここでは、この位置修正の具体的な方法をいくつかの例を挙げて説明する。
【００４０】
最も単純な位置修正の方法は、移動ベクトルＶとガイドプレーンＧとの交点Ｘを、修正位置Ｑ′とする方法である。たとえば、図５に示すように、移動ベクトルＶとガイドプレーンＧとが交点Ｘにおいて交差する場合、目標位置Ｑを交点Ｘの位置まで移動させ、交点Ｘを修正位置Ｑ′とする位置修正を行えばよい。現在位置更新手段５０は、修正位置Ｑ′（すなわち交点Ｘの位置）が新たな現在位置Ｐとなるように、現在位置格納手段４０に対する更新処理を行うことになる。このような位置修正方法を採れば、与えられた移動指示が示す進行方向に従ってなるべく移動しつつ、ガイドプレーンＧを通過することのないような移動が可能になる。なお、この方法で位置修正を行うと、新たな現在位置Ｐは、ガイドプレーンＧ上にくることになる。この場合、次回の移動時には、ガイドプレーンＧの手前側には移動可能であるが、向こう側には移動不可とする判定を行う必要がある。このような判定は、§４で述べるように、ガイドプレーンＧの両面にそれぞれ符号を定義した取り扱いを行うと容易に行うことができる。このような符号を定義した取り扱いを行わない場合には、修正位置Ｑ′を交点Ｘよりわずかだけ手前の位置に設定するようにすればよい。
【００４１】
位置修正の別な方法は、移動ベクトルＶのガイドプレーンＧ（正確に言えば、ガイドプレーンＧを含む無限平面）への投影ベクトルＶ′を求め、この投影ベクトルＶ′上の１点を修正位置Ｑ′とする方法である。たとえば、図６に示すように、移動ベクトルＶとガイドプレーンＧとが交点Ｘにおいて交差する場合、移動ベクトルＶをガイドプレーンＧ上に投影することにより投影ベクトルＶ′を定義する（図では、移動ベクトルＶのうち、破線で示す向こう側部分のみを投影した状態を示している）。投影方向は、たとえば、ガイドプレーンＧに対して垂直な方向にするとか、三次元疑似空間１００上での水平方向にするとか、予め定めておけばよい。投影ベクトルＶ′は、必ずガイドプレーンＧ上のベクトルとなるため、この投影ベクトルＶ′上の１点を修正位置Ｑ′とすれば、修正位置Ｑ′も必ずガイドプレーンＧ（もしくは、このガイドプレーンＧを含む無限平面）上の点になる。
【００４２】
図示の例では、投影ベクトルＶ′の先端点（すなわち、目標位置Ｑの投影点）を修正位置Ｑ′としているが、修正位置Ｑ′は必ずしも投影ベクトルＶ′の先端点とする必要はなく、投影ベクトルＶ′上の任意の点に設定してもかまわない。たとえば、投影ベクトルＶ′の先端部分がガイドプレーンＧの領域外に出てしまうような場合、あくまでも投影ベクトルＶ′の先端点を修正位置Ｑ′と定義すれば、修正位置Ｑ′はガイドプレーンＧ外の点となる。もちろん、そのような定義を行ってもよいが、修正位置Ｑ′をガイドプレーンＧ上の点として定義したい場合には、たとえば、投影ベクトルＶ′とガイドプレーンＧの輪郭線との交点位置を修正位置Ｑ′とするような定義を行ってもよい。
【００４３】
交点Ｘを修正位置Ｑ′とする方法では、移動指示に基づく移動経路が中断されたような印象を利用者に与えることになるが、投影ベクトルＶ′上の１点を修正位置Ｑ′とする方法を採れば、移動指示に基づく移動経路の方向が曲げられたような印象を利用者に与えることができ、違和感のない自然な誘導が可能になる。別言すれば、移動者ＭはガイドプレーンＧに接触後、このガイドプレーンＧの表面に沿って滑るように移動することになる。したがって、図３に示す例のような場合、移動者Ｍは、ガイドプレーンＧ１に接触した後に右方向へと滑り動き、移動経路Ｒに沿った誘導が可能になる。
【００４４】
なお、この方法で位置修正を行った場合も、新たな現在位置Ｐは、ガイドプレーンＧ上にくることが多いので、実用上は、§４で述べるように、ガイドプレーンＧの両面にそれぞれ符号を定義した取り扱いを行うか、修正位置Ｑ′を投影ベクトルＶ′上の点よりわずかだけ手前の位置に設定するのが好ましい。
【００４５】
位置修正の更に別な方法は、ガイドプレーンＧによる反射を受けるような修正方法である。このような反射型の第１の修正方法は、移動ベクトルＶ上の点であって、ガイドプレーンＧよりも手前にある１点を修正位置Ｑ′とする修正を行う方法である。たとえば、図７に示すように、移動ベクトルＶとガイドプレーンＧとが交点Ｘにおいて交差する場合、目標位置Ｑを修正位置Ｑ′ａに位置修正すればよい。修正位置Ｑ′ａは、移動ベクトルＶ上の点であって、ガイドプレーンＧよりも手前にある１点ということになる。図示の例では、２点間距離Ｑ′ａ／Ｘと、２点間距離Ｘ／Ｑとが等しくなるように設定してあるので、移動ベクトルＶの向こう側の部分（図に破線で示す部分）の長さが長ければ長いほど、修正位置Ｑ′ａは手前側の位置に定義されることになる。もちろん、修正位置Ｑ′ａは、ガイドプレーンＧの手前側の位置であれば、移動ベクトルＶ上の任意の位置に定義してかまわない。
【００４６】
反射型の第２の修正方法は、移動ベクトルＶに沿った経路を進む光が、ガイドプレーンＧによって反射した場合の反射経路上の１点を修正位置Ｑ′とする方法である。上述の第１の修正方法の場合、もとの経路をそのまま逆上るような反射作用が働くが、この第２の修正方法の場合、入射角と反射角が等しくなるという光の反射と同等の反射作用が働くことになる。たとえば、図７の例の場合、目標位置Ｑは、修正位置Ｑ′ｂに位置修正される。移動ベクトルＶが光であるとすると、反射ベクトルの先端位置が点Ｑ′ｂの位置にくることが理解できよう。図示の例では、２点間距離Ｑ′ｂ／Ｘと、２点間距離Ｘ／Ｑとが等しくなるように設定してあるので、移動ベクトルＶの向こう側の部分（図に破線で示す部分）の長さが長ければ長いほど、修正位置Ｑ′ｂは手前側の位置に定義されることになる。もちろん、修正位置Ｑ′ｂは、ガイドプレーンＧの手前側の位置であれば、反射経路上の任意の位置に定義してかまわない。
【００４７】
このような反射型の修正方法を採ると、移動者Ｍが何かに衝突して押し戻されたという印象を利用者に与えることができる。したがって、この修正方法は、何らかの障害物の存在を利用者に積極的に示す必要がある場合に効果的である。
【００４８】
以上、現在位置更新手段５０によって行われる具体的な位置修正方法をいくつかの例について説明したが、もちろん、本発明は、これらの位置修正方法に限定されるものではなく、この他にも種々の位置修正方法を採ることが可能である。実用上は、複数通りの位置修正方法を用意しておき、三次元画像中の構造物との位置関係に応じて、各ガイドプレーンごとにそれぞれ最も適した位置修正方法を設定するのが好ましい。
【００４９】
§４．ガイドプレーンに符号を定義する手法
これまで述べてきた例では、交差判定手段７０によって「交差する」旨の判定結果が得られた場合には、目標位置Ｑを所定のアルゴリズムに基づいて修正位置Ｑ′に修正し、この修正位置Ｑ′を新たな現在位置Ｐとする更新処理を行い、「交差しない」旨の判定結果が得られた場合には、目標位置Ｑをそのまま新たな現在位置Ｐとする更新処理を行っている。しかしながら、制作者側の自由度を増加させる上では、通過方向性をもったガイドプレーンを設定できると便利である。たとえば、図８に示すガイドプレーンＧのように、左から右へ通過することはできないが、逆に、右から左へは通過することができる、というような一方通行の性質をもったガイドプレーンＧを定義するのである。このガイドプレーンＧでは、現在位置Ｐ１から目標位置Ｑ１へと向かう移動ベクトルに対しては「通過不可」なる判定がなされるが、逆に、現在位置Ｐ２から目標位置Ｑ２へと向かう移動ベクトルに対しては「通過可能」なる判定がなされることになる。
【００５０】
このような一方通行の性質を数学的に取り扱うには、ガイドプレーンの両面にそれぞれ符号を定義した取り扱いを行うと便利である。図８に示す例では、ガイドプレーンＧの左側面を正の面、右側面を負の面と定義している。このような定義を行えば、このガイドプレーンＧを含む無限平面によって、三次元空間は、正の領域（図の左側の領域）と負の領域（図の右側の領域）とに分けられることになり、たとえば、正の領域から負の領域への移動は禁止されるが、逆に、負の領域から正の領域への移動は許可される、という一方通行の性質をもったガイドプレーンＧの定義が可能になる。
【００５１】
このような取り扱いを行うためには、図１に示すシステムにおいて、ガイドプレーン格納手段９０内に格納される各ガイドプレーンについて、それぞれ一方の面を正、他方の面を負とする符号を定義しておけばよい。この場合、交差判定手段７０によって、単に交差しているか否かの判定だけではなく、移動ベクトルＶが、正から負に向かって交差しているのか、逆に、負から正に向かって交差しているのか、の別も判定させるようにする。そして、この交差判定手段７０によって正から負に向かって交差している旨の判定結果が得られた場合には、現在位置更新手段５０によって、§３で述べたような所定のアルゴリズムに基づいて、目標位置Ｑを修正位置Ｑ′に修正し、この修正位置Ｑ′を新たな現在位置Ｐとする更新処理を行えばよい。一方、交差判定手段７０によって負から正に向かって交差している旨の判定結果が得られた場合もしくは交差しない旨の判定結果が得られた場合には、目標位置Ｑをそのまま新たな現在位置Ｐとする更新処理を行うようにすればよい。
【００５２】
なお、ここでは説明の便宜上、ガイドプレーンＧを構成する面に正負の符号を定義した取り扱いを示すが、実用上は、必ずしも正負という符号による面の属性定義を行う必要はなく、第１属性の面と第２属性の面とが何らかの方法で定義できればよい。
【００５３】
ここでは、このような一方通行の性質をもったガイドプレーンを利用した具体的な三次元疑似空間内の移動体験提供システムの設計例を述べておく。いま、図９に示す平面図のような三次元疑似空間が定義されているものとしよう。この例では、砂漠、海、庭、塔、門、塀、館などの構造物が定義されており、これらの各構造物についての三次元画像が三次元画像格納手段３０内に用意されていることになる。いま、制作者の意図として、移動者Ｍを砂漠のスタート地点から出発させ、この三次元疑似空間内をある程度自由に散策させ、最終的に館の入り口位置まで誘導したいと考えたとしよう。この場合、この三次元画像に関連して、図１０に示すようなガイドプレーンを定義しておけばよい。図１０には、位置関係が明確になるように、三次元画像にガイドプレーンを重ねて表示してあるが、図に太線で描かれている部分がガイドプレーンである。各ガイドプレーンの両側には正または負の符号が描かれているが、これらの符号は、各ガイドプレーンの両面の属性を示す符号である。
【００５４】
図１０において、砂漠内の点Ｐ（０）は移動者Ｍの出発点を示しており、初期状態における現在位置Ｐが、この点Ｐ（０）ということになる。矩形状の砂漠領域は、４枚のガイドプレーンによって囲まれている。これらのガイドプレーンのうち、砂漠領域の上辺、左辺、右辺を構成する３枚のガイドプレーンについては、砂漠領域の内部側が正、外部側が負となるような定義がなされている。したがって、正の領域から負の領域への通過を禁止するような取り扱いを行っておけば、移動者Ｍが、この砂漠領域の上辺、左辺、右辺を通過して移動することは禁止される。しかしながら、砂漠領域の下辺を構成するガイドプレーンについては、砂漠領域の内部側が負、外部側（庭側）が正となるような定義がなされている。したがって、移動者Ｍは、この砂漠領域の下辺を通過して庭領域に移動することはできる。結局、移動者Ｍは、砂漠領域を散策しながら、やがて庭領域へと移動してくることになる。
【００５５】
ところが、移動者Ｍが、一旦、庭領域へ移動してしまうと、もはや砂漠領域へ戻ることはできない。そのような移動は、砂漠領域の下辺を構成するガイドプレーンを正から負の方向へ通過する移動となるので禁止されるからである。制作者の意図は、移動者Ｍを砂漠領域から庭領域へと導き、最終的に館へと導くことであるから、砂漠領域と庭領域との間にこのような一方通行の性質をもったガイドプレーンを用意しておくことは非常に効果的である。図示のとおり、庭領域は、その周囲のほとんどを内側が正の面となったガイドプレーンによって囲まれているので、移動者Ｍの外部への移動は禁止される。実際、移動者Ｍが海領域へ移動することは起こりえず、この海領域は単なる背景として機能することになる（ガイドプレーンは透明なスクリーンとして機能するので、背景としての海の視界が妨げられることはない）。また、構造物のひとつである塔も、その内部への移動ができず、観賞用装飾品としての機能を果たすことになる。
【００５６】
結局、庭を散策した移動者Ｍは、塀の切れ目にある門へと導かれることになる。特に、塀の表面に配置されたガイドプレーンについては、§３で述べた投影ベクトルＶ′（図６）を利用した位置修正方法を適用するようにしておくと、塀に衝突した移動者Ｍは、塀の表面を滑るように移動するようになり、門へと導くことが容易になる。こうして、移動者Ｍが、最終的に館の入り口部分まで到達すると、この部分にはガイドプレーンは設けられていないので、そのまま入り口の中へと移動することができ、制作者の意図どおり、移動者Ｍを館まで導くことができる。
【００５７】
図１１は、ガイドプレーンの両面に符号を定義した場合のシステムの処理手順を示す流れ図である。まず、ステップＳ１において、初期設定が行われる。すなわち、図１０に示す例の場合、現在位置格納手段４０に砂漠領域内の現在位置Ｐ（０）が設定され、所定の視線方向に基づいて、二次元画像生成手段２０によって初期二次元画像が生成され、これが表示手段１０によってディスプレイ画面上に提示されることになる。続いて、ステップＳ２において、移動指示入力手段８０による移動指示の入力が行われる。すなわち、利用者が、マウスやキーボードなどの入力機器を用いて、何らかの移動指示を与えることになる。ステップＳ３では、目標位置生成手段６０によって、この移動指示に応じた目標位置Ｑが生成される。
【００５８】
こうして、現在位置Ｐと目標位置Ｑとが決定されると、現在位置Ｐから目標位置Ｑに向かう移動ベクトルＶについての交差判定が、交差判定手段７０によって行われることになる。この交差判定は、個々のガイドプレーンのそれぞれに対して行う。まず、ステップＳ４において、ガイドプレーン格納手段９０から交差判定手段７０へ、１枚のガイドプレーンＧが抽出される。そして、この抽出されたガイドプレーンＧに関して、ステップＳ５では、現在位置Ｐが正の側にあるか否かが判定される（現在位置ＰがガイドプレーンＧ上にあった場合には、便宜的に、正の側にあるものとして取り扱うようにするとよい）。もし、現在位置Ｐが負の側にあると判断された場合には、もはや当該ガイドプレーンＧについての交差判定は不要である。なぜなら、目標位置Ｑが当該ガイドプレーンＧの正の側にあろうとも負の側にあろうとも、当該ガイドプレーンＧとの関連においては、移動が禁止されることはないからである。現在位置Ｐが正の側にあると判定された場合は、ステップＳ６において、目標位置Ｑが負の側にあるか否かが判定される（目標位置ＱがガイドプレーンＧ上にあった場合には、便宜的に、正の側にあるものとして取り扱うようにするとよい）。
【００５９】
もし、ステップＳ６において、目標位置Ｑが負の側にあると判断されると、現在位置Ｐが正の側にあり、目標位置Ｑが負の側にあることになるので、移動ベクトルＶが当該ガイドプレーンＧに交差している可能性がある。結局、ステップＳ５およびステップＳ６の判定処理は、§２で述べた仮判定処理（ガイドプレーンを含む無限平面に対して交差するか否かを求める処理）に相当することになる。そこで、ステップＳ６で目標位置Ｑが負の側にあると判定された場合には、ステップＳ７以降の正式な判定処理が行われる。すなわち、ステップＳ７において、まず、ガイドプレーンＧを含む無限平面と移動ベクトルＶとの交点Ｘが計算され、続いて、ステップＳ８において、当該交点Ｘが当該ガイドプレーンＧ内の領域にあるか否かが判定される。交点ＸがガイドプレーンＧ内の領域にあれば、正から負に向かう移動ベクトルＶがガイドプレーンＧに交差していることになるので、そのような移動は禁止されねばならない。そこで、ステップＳ９へと進み、目標位置Ｑが修正位置Ｑ′に修正される。
【００６０】
一方、ステップＳ５，Ｓ６，Ｓ８で否定的な判定結果が得られた場合には、当該ガイドプレーンＧについては、目標位置Ｑを修正する処理を行う必要はないので、ステップＳ１０へと進み、全ガイドプレーンについての処理が完了するまで、ステップＳ４へと戻り、別なガイドプレーンＧについても同様の処理を繰り返し実行するようにする。なお、移動ベクトルＶが複数のガイドプレーンＧに交差するようなこともあり得るので、そのような場合は、より現在位置Ｐに近い方のガイドプレーンＧについての処理が先に実行されるように、ステップＳ４におけるガイドプレーンＧの抽出順を考慮するのが好ましい。
【００６１】
こうして、ステップＳ９における修正が行われるか、あるいはステップＳ１０において全ガイドプレーンについての処理が完了した場合には、ステップＳ１１において、現在位置Ｐの更新が行われる。ステップＳ９経由でステップＳ１１に至った場合には、修正位置Ｑ′を新たな現在位置Ｐとする更新が行われ、ステップＳ１０経由でステップＳ１１に至った場合には、目標位置Ｑをそのまま新たな現在位置Ｐとする更新が行われることになる。この後、ステップＳ１２において、新たな現在位置Ｐに基づく二次元画像が生成され、再び、ステップＳ２の移動指示入力の処理に戻ることになる。
【００６２】
以上、本発明を図示する実施形態に基づいて説明したが、本発明はこの実施形態に限定されるものではなく、この他にも種々の形態で実施可能である。たとえば、上述の実施形態では、移動者Ｍの現在位置Ｐ（この例では視点位置）を移動指示に基づいて更新する処理について述べたが、二次元画像生成手段２０により二次元画像を生成させるためには、移動者Ｍの視線方向や、二次元画像の倍率などの要素も必要になる。したがって、実際には、図１に示すように、移動指示入力手段８０からは、移動指示とともに、移動者Ｍの視線方向に関する指示を入力できるようにしておき、二次元画像生成手段２０が、この視線方向に関する指示を考慮して、二次元画像の生成を行うことができるようにしておくのが好ましい。具体的には、利用者が、移動指示入力手段８０に対して、たとえば、右を向け、左を向け、あるいは斜め上方を向け、といった視線方向に関する指示を与えると、二次元画像生成手段２０は、移動者Ｍの立っている位置から右方向、左方向、あるいは斜め上方を眺めた状態の二次元画像を生成する処理を行うようにすればよい。
【００６３】
また、本発明に係る移動体験提供システムは、コンピュータを利用して作成されるべきシステムであり、専用のソフトウエアプログラムとして提供することができるシステムである。このようなプログラムは、ＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録して配付することが可能であり、また、通信回線を介して配付することも可能である。もちろん、プログラム本体だけではなく、三次元画像格納手段３０内に格納される三次元画像と、ガイドプレーン格納手段９０内に格納されるガイドプレーン（当該三次元画像によって定義される三次元疑似空間内の移動を制限するためのガイドプレーン）を定義するデータとを、ＣＤ−ＲＯＭなどのコンピュータ読み取り可能な記録媒体に記録して配付することも可能であり、また、通信回線を介して配付することも可能である。
【００６４】
【発明の効果】
以上のとおり本発明に係る三次元疑似空間内の移動体験提供システムによれば、ガイドプレーンを利用して移動制御を行うようにしたため、比較的小さな演算負担で、移動者の移動パターンを制御し、所望の経路に誘導することができるようになる。
【図面の簡単な説明】
【図１】本発明の一実施形態に係る三次元疑似空間内の移動体験提供システムの基本構成を示すブロック図である。
【図２】図１に示すシステムの三次元画像格納手段３０内に用意された三次元画像に基づいて定義される三次元疑似空間１００の一例を示す斜視図である。
【図３】図２に示す建物１１０の周囲に定義されたガイドプレーンの一例を示す斜視図である。
【図４】三次元疑似空間内を移動する移動者Ｍの移動形態を示す図である。
【図５】本発明に係るガイドプレーンＧと移動ベクトルＶとの位置関係を示す斜視図である。
【図６】ガイドプレーンＧと移動ベクトルＶとが交差する場合の目標位置Ｑの位置修正方法の一例を示す斜視図である。
【図７】ガイドプレーンＧと移動ベクトルＶとが交差する場合の目標位置Ｑの位置修正方法の別な一例を示す斜視図である。
【図８】一方通行の性質をもったガイドプレーンＧの一例を示す斜視図である。
【図９】三次元疑似空間およびそこに配置された構造物の一例を示す平面図である。
【図１０】図９に示す三次元疑似空間上に定義されたガイドプレーンを示す平面図である。
【図１１】ガイドプレーンの両面に符号を定義した場合のシステムの処理手順を示す流れ図である。
【符号の説明】
１０…表示手段
２０…二次元画像生成手段
３０…三次元画像格納手段
４０…現在位置格納手段
５０…現在位置更新手段
６０…目標位置生成手段
７０…交差判定手段
８０…移動指示入力手段
９０…ガイドプレーン格納手段
１００…三次元疑似空間
１１０…建物
１２０…樹木
１３０…池
Ｇ，Ｇ１，Ｇ２…ガイドプレーン
Ｍ…移動者
Ｐ，Ｐ１，Ｐ２，Ｐ（１）〜Ｐ（５）…現在位置
Ｑ，Ｑ１，Ｑ２…目標位置
Ｑ′，Ｑ′ａ，Ｑ′ｂ…修正位置
Ｒ…移動経路
Ｖ…移動ベクトル
Ｖ′…投影ベクトル
Ｘ，Ｘ１，Ｘ２…交点
【図１】
0003710689.tif 000002
【図２】
0003710689.tif 000003
【図３】
0003710689.tif 000004
【図４】
0003710689.tif 000005
【図５】
0003710689.tif 000006
【図６】
0003710689.tif 000007
【図７】
0003710689.tif 000008
【図８】
0003710689.tif 000009
【図９】
0003710689.tif 000010
【図１０】
0003710689.tif 000011
【図１１】
0003710689.tif 000012