(57)【要約】【課題】従来のウォークスルーでは、移動方向と視点方向が一致しているため、周囲のものを見ながら歩くということができなかった。【解決手段】移動する人体の表示により空間の大きさの把握が容易になる。また、歩いて移動する人体の視点を参照して画面表示位置を決定するため、画面がわずかに揺れて、歩行による移動の臨場感が高まる。その結果、特別なデバイスを用いないで、実際の空間に近い移動距離感覚を与えることができる低コストなシステムを実現できる。さらに、注視物体を設定し、それを常に表示することにより、仮想空間中の何かを見ながら歩いて移動することが可能になり、より実際の空間における動作に近い、自然な表示を実現できる。【選択図】　　　図１
2004030667.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータグラフィックスにより生成される３次元仮想空間内での物体の移動を表示する仮想空間表示方法において、移動すべき物体の３次元空間内の向きおよび移動方向を設定し、設定した前記物体の向きをもとに、前記移動すべき物体の回転角度を求め、求めた前記回転角度と設定した前記移動方向をもとに、前記移動すべき物体を表示することを特徴とする仮想空間表示方法。
【請求項２】
前記移動すべき物体は人体モデルであることを特徴とする請求項１記載の仮想空間表示方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータグラフィックスにより生成される３次元仮想空間内の移動における仮想空間表示方法に関する。
【０００２】
【従来の技術】
従来、コンピュータグラフィックスにより生成される３次元仮想空間内の移動は、指示した目的物まであるいは指示方向に向かって、直線補間によるに滑らかな移動が行われていた。
【０００３】
また、その表示はユーザの視野に相当する視点位置の画面が表示されていた（図１７）。さらに、移動中は移動方向と視野の方向は一致している、あるいは視線方向はそのままで左右に平行移動するといった画面表示が行われていた。しかし、直線的で滑らかな移動では、歩行による移動の臨場感が乏しい。また、ユーザの視野としての表示では、見慣れない空間、あまり物の無い空間においては、空間の大きさを認知することが非常に難しい。従って、目標物までの移動距離を把握することが困難であるという問題があった。
【０００４】
また、移動方向と視野の方向を一致させる、あるいは左右の平行移動といった方法では、ユーザは何かを注視しながら移動することができないという問題があった。
一方、岩田洋夫他：“ウォークスルー・シミュレータにおける動歩行の現実と解析”，ヒューマン・インタフェースＮ＆Ｒ　、　Ｖｏｌ．８，　Ｎｏ．２，　ｐｐ．１９９−２０４　（１９９３）　や、廣瀬通孝他：“移動距離感覚の合成に関する研究”，ヒューマン・インタフェースＮ＆Ｒ　、Ｖｏｌ．８，Ｎｏ．２，　ｐｐ．２７７−２８２　（１９９５）　にあるように、特別な装置を用いて歩行運動を入力し、移動距離感覚を与える方法が取られてきた。
【０００５】
しかし、そのような特別な装置を用いることは、空間的にも、価格的にもコストが高くなるという問題があった。
さらに、歩行する人物を常に表示する方法では、描画速度が遅くなるという問題があった。
また、最近ではｗｅｂｓｐａｃｅ　　のようなＷｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂのための３Ｄ　Ｖｉｅｗｅｒ　があり、各サイトがＶＲＭＬ（Ｖｉｒｔｕａｌ　Ｒｅａｌｉｔｙ　Ｍｏｄｅｌｉｎｇ　Ｌａｎｇｕａｇｅ）　によって構築した３　次元空間を、ウォークスルーすることが出来る。しかし、そのウォークスルーのためのインタフェースは、ハンドル等のコントロール用オブジェクトを操作するといったものであり、空間の中をユーザが歩いて回っているという感覚とは程遠いものであった（図１８）。
【０００６】
【発明が解決しようとする課題】
本発明は、この様な問題に対して考案されたものである。コンピュータグラフィックスにより生成された３次元仮想空間内を単に移動するだけでは、充分な距離感が生成されないという問題があった。
【０００７】
従来のウォークスルーでは、移動方向と視点方向が一致しているため、周囲のものを見ながら歩くということができなかった。描画を高速化し、実際の空間に近い移動感覚を与えることのできる低コストなシステムの実現を目的としている。
【０００８】
【課題を解決するための手段】
上記の課題を解決するために、コンピュータグラフィックスにより生成される３次元仮想空間内での物体の移動を表示する仮想空間表示方法において、あらかじめ記憶された物体の部品の位置をもとに、移動すべき物体の重心の位置の変化を求め、求めた前記物体重心の位置の変化をもとに、移動すべき前記物体の揺れを生成し、生成した前記物体の揺れをもとに、移動すべき前記物体を表示することを特徴とする。
【０００９】
また、コンピュータグラフィックスにより生成される３次元仮想空間内での物体の移動を表示する仮想空間表示方法において、移動すべき物体の注目すべき物体を設定し、設定した前記注目すべき物体の位置と前記移動すべき物体の位置をもとに、設定した第１の注目すべき物体から第２の注目すべき物体に移動すべき物体の視点を移動し、移動した前記物体の視点に応じて、移動すべき物体を表示することを特徴とする。
【００１０】
さらに、コンピュータグラフィックスにより生成される３次元仮想空間内での物体の移動を表示する仮想空間表示方法において、移動すべき物体の３次元空間内の向きおよび移動方向を設定し、設定した前記物体の向きをもとに、前記移動すべき物体の回転角度を求め、求めた前記回転角度と設定した前記移動方向をもとに、前記移動すべき物体を表示することを特徴とする。
【００１１】
その結果、本発明の仮想空間表示方式は、移動する人体の表示により空間の大きさの把握が容易になる。また、歩いて移動する人体の視点を参照して画面表示位置を決定するため、画面がわずかに揺れて、歩行による移動の臨場感が高まる。その結果、特別なデバイスを用いないで、実際の空間に近い移動距離感覚を与えることができる低コストなシステムを実現できる。
【００１２】
さらに、注視物体を設定し、それを常に表示することにより、仮想空間中の何かを見ながら歩いて移動することが可能になり、より実際の空間における動作に近い、自然な表示を実現できる。
【００１３】
【発明の実施の形態】
以下、本発明の実施例を図面に基づいて詳細に説明する。
（第１実施例の構成）
図１は、本発明の第１実施例の全体構成図である。
図１は、本発明の第１実施例が、入力部１０，形状記憶部１１，位置記憶部１２，キーフレーム記憶部１３，揺れ算出部１４，画面表示位置設定部１５，表示制御部１６，ディスプレイ１７とから構成されることを示す。
【００１４】
本発明の第１実施例を構成する各部を簡単に説明する。入力部１０は、ユーザが移動の開始、終了命令を入力する部分である。入力デバイスとしては、本実施例ではマウスを用いる。
【００１５】
しかし、その他の入力デバイス（ジョイスティック、データグローブ、キーボード）を使った方法でも本発明を実施することができる。形状記憶部１１は、各物体の形状に関するデータを格納している部分である。
【００１６】
図２は形状記憶部１１における物体の形状に関するデータの記憶例である。各物体ごとの名称と、ｉｄ番号、中心座標と、３次元形状に外接する直方体（バウンディング・ボックス）の６つの頂点座標、および実際の３次元形状データが格納されている場所を示すポインタが記憶されている。位置記憶部１２は、各物体の位置に関するデータを格納している部分である。
【００１７】
図３は、位置記憶部１２における物体の位置に関するデータの記憶例である。３次元空間における物体のｉｄ番号と、形状データのＩＤ番号と、位置座標値と回転角の情報が格納されている。キーフレーム記憶部１３は、歩行における人体の各部位の角度のデータを格納している部分である。
【００１８】
図４は、キーフレーム記憶部１３におけるキーフレームデータの記憶例である。歩く、座るといった動作の種類と、１回の動作の開始から終了までのサンプルデータセット数と、個々のデータセットが格納されている。揺れ算出部１４は、入力部１０からの入力を受けて、人体が移動する際の位置を算出し、重心の移動により生ずる身体の揺れを模擬するための、視点位置を算出する部分である。画面表示位置設定部１５は、揺れ算出部１４により算出された人体の視点位置を参照し、画面の表示位置を設定する部分である。表示制御部１６は、画面表示位置設定部１５により設定された表示位置で、３次元仮想環境の画像と人体を生成し、ディスプレイ１７に表示する。
【００１９】
図５は、表示画面例である。ディスプレイは、ＣＲＴ以外にもヘッドマウントディスプレイや大型スクリーンなどほかのデバイスを利用することが可能である。
（第１実施例の作用）
上記のような構成を有する第１実施例は、次のような作用を有する（図８、図６、図１）。
すなわち構成図２の入力部１０で、ユーザは移動の命令を入力する（２０）。入力を受け、目的地点方向にそって人体を歩行させるために、現在の基準点、目的地点と予め設定された一歩幅に基づき、次の人体の基準点、目的地点を設定する（２１，図１−１４）。
【００２０】
図７は基準点設定の例を示す流れ図である。例えば、予め設定された、歩行動作のキーフレームデータ（図１−１３、図４）を元に設定する。歩行の時の重心が右足にある時には、キーフレームデータに設定された右足の各部位の角度データから、基準位置である腰の位置を算出する。キーフレームデータは人間の動きを一定時間隔でサンプリングしたものである。
【００２１】
従って、その人体の基準となる点を座標を時間軸上に並べると、緩やかな波形を描く。この過程で設定される基準点、目的地点は、図８におけるＰとＡである。
次に、人体の視点は、この基準点からＤ（ｍｍ）高い位置として算出する。（２２，図１−１４）。また、人体の参照点は前記の目的地点からＤ（ｍｍ）高い地点として算出する。この過程で設定される人体の視点、参照点は、図８におけるＥとＲ、視点と中心点の差はＤである。
【００２２】
次に、揺れ算出２２の結果の人体の視点を参照し、人体の視点よりも、予め設定されたＢ（ｍｍ）後ろで、Ｈ（ｍｍ）高い位置に、画面の表示位置を設定する（２３，図１−１５）。
【００２３】
画面の参照点は、人体の参照点の値を設定する。例えば、Ｂ＝２０００（ｍｍ），Ｈ＝３００（ｍｍ）であれば、人物の２（ｍ）　後ろで、人物の目の高さより３０（ｃｍ）高い位置から、人物を追いかけるような画面表示位置になる（図５）。
【００２４】
また、Ｂ＝０（ｍｍ），Ｈ＝０（ｍｍ）であれば、画面は人物の視点と一致する。この過程で設定される画面の表示位置、画面の参照点は、図８におけるＶとＲ、視点と表示位置の距離はＢ、高さの差はＨである。このように設定された画面の表示位置からの仮想空間と人体の画像を表示する（２４，図１−１６，　１７）。入力部１０で停止の命令が来ないかぎり繰り返す。
【００２５】
表示に関しては、１：人間モデルを揺らす、２：表示画面を揺らす、３：人間モデルおよび表示画面を揺らすことが考えられる。本願発明においてどのケースに関しても、臨場感ある表示画面を生成することができるが、３次元空間内に人間モデルを表示する場合は、人間モデルを揺らすことで、外部から観察する際には見やすい画像が作れ、人間モデルを表示せずに人間モデルの視点を表示する場合は、表示画面を揺らすことで、より臨場感のある画面が表示できる。
【００２６】
（第１実施例の効果）
上記のような方法によれば、表示画面の微小な揺れを表現でき、ユーザは歩行による移動の臨場感を得ることができる。また、人体の背後に画面の表示位置を取ることにより、人体が表示され、仮想空間の大きさを把握しやすくなる。これらの結果、ユーザの仮想空間中の移動距離感を、実際の空間における移動距離感に近付けることができる。
【００２７】
（変形例）
１；前記の実施例では、歩行する人体の描画を行っていたが、これを省略し、人体の描画を行わないことも出来る。それにより、描画速度を高速に保つことができ、かつ歩行による臨場感を高めることができる。
【００２８】
２；また、上半身のみなど簡略化した人物像を描画することもできる。これにより、描画速度を高速に保ちつつ、ユーザの仮想空間の大きさ把握も助けることができる。
【００２９】
３；本発明の構成を図９のように変形し、位置算出部４３と揺れ算出部４４をわけ、位置算出部４３で移動方向、位置を設定し、揺れ算出部４４で表示画面の揺れを算出することもできる。揺れの算出は、波形の関数によって模擬することもできる。
【００３０】
例えば、ｙ＝ａ・ｃｏｓ（２π・ｔ／Ｔ）＋ｈ，（ａ：振幅幅　ｔ：時間　Ｔ：一歩にかかる時間）といった式で、上下の揺れを模擬することが出来る。
４；構成図２のキーフレーム記憶部１３は、複数のサンプルデータを用意しておけば、様々な歩き方、身長に対応した表示ができる。
（第２実施例の構成）
図１０は、本発明の第２実施例の全体構成図である。図１０は、本発明の第２実施例が、入力部１００、形状記憶部１０１、位置記憶部１０２、位置算出部１０３、注視物体記憶部１０４、注視物体選択部１０５、注視物体表示設定部１０６、画面表示位置設定部１０７、表示制御部１０８、ディスプレイ１０９とから構成されることを示す。
【００３１】
本発明の第２実施例を構成する各部を簡単に説明する。入力部１００は、ユーザが移動方向および移動の開始、終了命令を入力する部分である。入力デバイスとしては、本実施例ではマウスを用いる。形状記憶部１０１は、各物体の形状に関するデータを格納している部分である。
【００３２】
位置記憶部１０２は、各物体の位置に関するデータを格納している部分である。位置算出部１０３は、入力部１０からの入力を受けて仮想空間における現在位置を算出する部分である。注視物体記憶部１０４は、位置記憶部１０２にある物体のうち、ユーザが注視することが出来る物体をリストアップしたデータであり、位置に関するデータのＩＤ番号が格納されている。
【００３３】
注視物体選択部１０５は、注視物体記憶部１０４の中で、現在地点から最も近い物体で、かつ進行方向とその物体の位置関係が設定範囲を越えないかをチェックして、選択する部分である。注視物体表示設定部１０６は、注視物体選択部１０５で選択された物体の位置データを位置記憶部１０２から得て、表示画面の参照点として設定する部分である。画面表示位置設定部１０７は、位置算出部１０３により設定された現在位置を参照し、画面の表示位置を設定する部分である。表示制御部１０８は、画面表示位置設定部１０７により設定された表示位置で、３次元仮想環境の画像を生成し、ディスプレイ１０９に表示する。
【００３４】
（第２実施例の作用）
上記のような構成を有する第２実施例は、次のような作用を有する（図１１、図１０）。
すなわち構成図である図１０の入力部１００でユーザは移動の命令を入力する（１２０）。入力部１００の入力を受けて、現在位置の３次元座標を算出する（１２１，図１０−１０３）。
【００３５】
図１２は、現在位置の算出過程をあらわした流れ図である。次に、図１０の注視物体記憶部１０４の中から、現在の位置から最も近い物体を選択する（１２３，図１０−１０５）。
【００３６】
そして、選択した物体と進行方向との角度θが、予め設定された範囲αを越えていないかをチェックする（１２５，図１０−１０５）。θ＜αならば、その物体を注視物体として選択し、その座標を表示画面の参照点として設定する（１２６，図１０−注視物体表示設定部１０６）。
【００３７】
θ＞αならば、１２１における結果から、１２７を行う。図１３は、注視物体の選択の過程を図示したものである。ｔ０の時点では、物体１，２，３までの距離がｄ１ｔ０＜ｄ２ｔ０＜ｄ３ｔ０であり、かつ物体１は進行方向に対しての角度θ１ｔ０　が設定された範囲αより小さいので、物体１が選択される。
【００３８】
一方、ｔ１の時点では、ｄ２ｔ１＜ｄ１ｔ１＜ｄ３ｔ１、角度はθ２ｔ１　＜αであるので、物体２が選択される。次に、画面参照点設定１２６と１２１の結果から、画面の表示位置を設定する（１２７、図１０−１０７）。
【００３９】
このように設定された表示位置からの画像を表示する（１２８、図１０−１０８、１０９）。入力部１００で停止の命令が来ないかぎり繰り返す。
（第２実施例の効果）
上記のような方法によれば、ユーザは任意の物体を注視しながら移動することが可能になる。したがって、より実際の空間における移動感覚に近付けることができる。
【００４０】
（変形例）
上記の第２実施例では、注視物体記憶部１０４（図１０）を使用し、注視物体を選択しているが、これを使用せず、表示画面中で最も大きく描画されている物体を選択し、その物体を注視物体として設定することもできる。例えば、視野中にある物体の現在位置からの距離算出を行う。また、その物体のバウンディング・ボックス・データ（図２）から、どの物体の大きさを求める。
【００４１】
そして、距離と大きさとの比をとり、その比がもっとも大きいものを注視物体とする。このような方法によれば、ユーザは予め注視物体のリストアップデータを作成することなく、任意の物体を注視しながら移動することが可能になる。したがって、データ入力の作業時間が短縮でき、実際の空間における移動感覚に近いウォークスルーが可能となる。
【００４２】
また、本願発明の第１実施例と第２実施例を組み合わせた構成を有することにより、人間モデルの動きによる揺れと人間モデルの視点の移動を忠実に再現することができる。
【００４３】
（第３実施例の構成）
図１４は、本発明の第３実施例の全体構成図である。図１４は、本発明の第３実施例が、入力部５０、空間構成記憶部５１、人体形状記憶部５２、人体位置算出部５３、頭部回転角算出部５４、画面表示位置設定部５５、表示制御部５６、ディスプレイ５７とから構成されることを示す。
【００４４】
本発明の第３実施例を構成する各部を簡単に説明する。
入力部５０は、ユーザが視点の移動を入力する部分である。入力デバイスとしては、本実施例ではマウスを用いる。
空間構成記憶部５１は、仮想空間を構成する各物体の形状および位置に関するデータを格納している部分である。人体形状記憶部５２は、人体の形状データを格納している部分である。
【００４５】
人体位置算出部５３は、人体形状記憶部５２のデータと入力部５０の視点の移動の入力とから、人体の位置を算出し設定する部分である。頭部回転角算出部５４は、人体形状記憶部５２のデータと入力部５０の視点の移動の入力とから、人体の頭部の回転角度を設定する部分である。
【００４６】
画面表示位置設定部５５は、入力部５０から入力された視点変更の入力値を参照し、画面の表示位置を設定する部分である。表示制御部５６は、画面表示位置設定部５５により設定された表示位置で、空間構成記憶部５１と人体形状記憶部５２と画面表示位置設定部５５を参照して３次元仮想環境の画像と人体を生成し、ディスプレイ５７に表示する。ディスプレイは、ＣＲＴ以外にも大型スクリーンなどほかのデバイスを利用することが可能である。図１６は、表示画面例である。
【００４７】
（第３実施例の作用）
上記のような構成を有する第３実施例は、次のような作用を有する（図１４，図１５）。図１５はマウスのボタンを押すことにより移動開始命令を、またマウスのｘ軸方向の移動によって左右の回転を行う場合の流れ図である。構成図である図１４の入力部５０で、ユーザは移動命令と視線方向の入力を行なう。例えば、マウスのボタンを押す事によって移動開始命令を入力し（１５０）、画面中心を（ｘ，ｙ）＝（０，０）として、マウスのｘ，ｙ座標値を視線方向の変更値とする（１５３）。
【００４８】
移動開始命令が入力された時、人体の向き（ｖｅｃ）を算出し確保する（１５１）。移動開始命令が来ないかぎり、人体の向き（ｖｅｃ）は変わらない。
次に人体の位置（ｐｏｓ）　を画面の視点位置より予め設定した値分だけ人体の向いている方向（ｖｅｃ）　でかつ下に設定する（１５２）。
また、入力されたｘ，ｙ座標値から、目的方向への人体頭部の回転角度を算出する（図１４−５４，図１５−１５４）。図１５の１５４では、回転角度（ｙｏｗ）の最大、最小値を予め設定しておき、その範囲でマウスのｘ軸方向の動きに対応したｙｏｗ　を設定する。
【００４９】
次に、図１４の５５で、画面の表示位置を設定する。図１５の１５５では、人体方向算出部１５１で設定した人体の向き（ｖｅｃ）の方向に、予め設定した移動量だけ更新して新たな視点（ｖｉｅｗ）を設定する。また、頭部回転角度設定部１５４で設定した回転角度（ｙｏｗ）により、新たな参照点（ｒｅｆ）の算出を行なっている。
【００５０】
このように設定された画面の表示位置と、人体の位置と向き、人体頭部の角度、および空間構成記憶部５１、人体形状記憶部５２のデータにより、仮想空間と人体の画像を表示する（図６−２４，図１−１６，１７）。空間構成記憶部５１は、例えばＶＲＭＬのようなオブジェト化されたデータベースである。
【００５１】
（第３実施例の効果）
上記のような方法によれば、ユーザはＶＲＭＬのようなオブジェクト化されたデータベースによって構築された３次元空間を、ウォークスルーするような場合に、人体を表示することによって仮想の空間を歩いて回っている臨場感をえることが出来る。また、空間を見回す操作を人体の頭部をまわす動作に対応させたことによって、ユーザは操作結果を直観的に分かりやすくなる。また、カメラのパンにあたる視点の回転と、カメラの移動にあたる視点の移動とを、人体の頭部と胴体に別個に割り振っているので、操作が容易にできる。また、第１、第２、第３の実施例において、人体の表示を透明にすることにより、見易い画面表示を提供することができる。
【００５２】
【発明の効果】
以上のように、本発明によれば、ユーザは仮想空間をウォークスルーする際に、人体大きさと背景により、空間の大きさの把握が容易になり、かつ歩いて移動している臨場感を持つことができる。そして、その結果、特別なデバイスを用いないで、実際の空間における移動距離感覚に近いものをえることができる低コストなシステムを実現できる。
このような仮想空間表示方式は、実際の空間を模して作成した仮想空間で、パトロール訓練や道案内を行うような場合に有効となる。
さらに、本発明によれば、ユーザは仮想空間中を任意の物体を注視しながらウォークスルーすることができ、より実際の空間での移動に近い臨場感を与えられる。このような仮想空間表示方式は、バーチャルモールをウィンドウショッピングして歩くような場合に有効となる。
【図面の簡単な説明】
【図１】本願発明の第１実施例の全体構成図である。
【図２】本願発明の物体の形状に関するデータの記憶形式の一例を示した図である。
【図３】本願発明の物体の位置に関するデータの記憶形式の一例を示した図である。
【図４】本願発明のキーフレームデータの記憶例を示した図である。
【図５】本願発明の人体を描画した表示画面を示した図である。
【図６】本願発明の第１実施例の全体の流れ図である。
【図７】本願発明の基準位置設定の流れ図である。
【図８】本願発明の歩行による揺れ算出の概念図である。
【図９】本願発明の第１実施例の変形例の全体構成図である。
【図１０】本願発明の第２実施例の全体構成図である。
【図１１】本願発明の第２実施例の全体の流れ図である。
【図１２】本願発明の第２実施例の現在位置算出の流れ図である。
【図１３】本願発明の注視物体選択の概念図である。
【図１４】本願発明の第３実施例の全体構成図である。
【図１５】本願発明の第３実施例の全体の流れ図である。
【図１６】本願発明の第３実施例の人体を描画した表示画面を示した図である。
【図１７】従来例の画面表示例を示した図である。
【図１８】従来例の画面表示例を示した図である。
【符号の説明】
１０，４０，１００　　入力部
１１，４１，１０１　　形状記憶部
１２，４２，１０２　位置記憶部
１３　キーフレーム記憶部
１４，４４　揺れ算出部
１５，４５，１０７　　画面表示位置設定部
１６，４６，１０８　　表示制御部
１７，４７，１０９　　ディスプレイ
４３，１０３　　位置算出部
１０４　　注視物体記憶部
１０５　　注視物体選択部
１０６　　注視物体表示設定部
【図１】
2004030667.tif 000003
【図２】
2004030667.tif 000004
【図３】
2004030667.tif 000005
【図４】
2004030667.tif 000006
【図５】
2004030667.tif 000007
【図６】
2004030667.tif 000008
【図７】
2004030667.tif 000009
【図８】
2004030667.tif 000010
【図９】
2004030667.tif 000011
【図１０】
2004030667.tif 000012
【図１１】
2004030667.tif 000013
【図１２】
2004030667.tif 000014
【図１３】
2004030667.tif 000015
【図１４】
2004030667.tif 000016
【図１５】
2004030667.tif 000017
【図１６】
2004030667.tif 000018
【図１７】
2004030667.tif 000019
【図１８】
2004030667.tif 000020