(57)【特許請求の範囲】
【請求項１】
視線移動命令を受け取る入力手段（１）と、
視線の位置を決定する視線制御手段（２）と、
コンピュータグラフィクスデータを格納するコンピュータグラフィクスデータ格納手段（３）と、
前記決定された視線の位置とコンピュータグラフィクスデータから画像を生成する画像作成手段（４）と、
該生成した画像を表示する画像表示手段（５）とを備え、前記コンピュータグラフィクスデータから生成される画像中の物体に歩ける属性と歩けない属性であるウォークスルー属性を設け、
前記視線制御手段（２）で、前記ウォークスルー属性と視線方向を示す視線ベクトルから移動ベクトルを求め、該移動ベクトルに沿った視線移動処理を行うことを特徴としたコンピュータグラフィクス表示装置。
【請求項２】
前記視線制御手段（２）に、視点の高さを調整する視線高さ調節手段を設けることを特徴とした請求項１記載のコンピュータグラフィクス表示装置。
【請求項３】
前記視線制御手段（２）に干渉処理手段を設け、前記ウォークスルー属性に壁という種類を導入し、予め視点から注視点までの範囲を設定し、該設定した範囲内の視線が壁に斜めにぶつかった場合は壁に沿った視線移動処理を行うことを特徴とした請求項１記載のコンピュータグラフィクス表示装置。
【請求項４】
前記視線制御手段（２）の干渉処理手段に、ウォークスルー属性の種類により干渉チェックを行うオブジェクトと行わないオブジェクトに分類したデータを保持し、該データとウォークスルー属性により干渉チェックを行うオブジェクト数を削減することを特徴とした請求項３記載のコンピュータグラフィクス表示装置。
【請求項５】
前記視線制御手段（２）に視線を壁に沿い壁から一定の距離で移動する視線幅調節手段を設けることを特徴とした請求項３記載のコンピュータグラフィクス表示装置。
【請求項６】
ウォークスルー属性の設定を行うウォークスルー属性編集手段を設けることを特徴とした請求項１記載のコンピュータグラフィクス表示装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、コンピュータグラフィクス（以下「ＣＧ」という）表示装置に係り、特にＣＧで表現された世界を自由に移動するウォークスルー機能を持つＣＧ表示装置に関する。
【０００２】
近年コンピュータを用いて図形や画像を作成、処理するコンピュータグラフィクスはあらゆる分野において利用されている。特にＣＧで表現された世界の中を自由に移動するウォークスルー機能は、建築、コマーシャルフィルム作成、教育、デザイン等の各種分野において幅広く利用される基本的機能である。
【０００３】
特に建築分野などでは、建物の外観や内観を知る上で、ＣＧ世界を現実と同じように歩き回り体験できることが望まれている。また歩き回る操作は、設計士や一般消費者でも使用できるように、コンピュータやＣＧに疎い素人でも簡単に操作できるものが必要である。
【０００４】
従って、簡便な操作、且つＣＧ世界を実世界と同様に歩き回れるウォークスルー機能を持つＣＧ表示装置が望まれている。
【０００５】
【従来の技術】
従来一般に、ＣＧ世界を歩き回るウォークスルー処理は視線を移動することにより実現している。移動方向は視線ベクトル（視線の方向を示すベクトル）であり、前進するときは画面の中心に向かって移動する、つまり、前進とは見ている方向に進むことである。右方向に移動したい場合は視線ベクトルを右に回転し、視線方向を変えて前進する。
【０００６】
視線を移動した場合は、進行方向に壁や柱など現実世界では通り抜けできないものがあっても、ＣＧ世界では通り抜けてしまう。また、通り抜けできないように視線と物体との干渉チェックを行うシステムもあるが、全ての物体について干渉計算を行うと、処理に時間がかかり、スムーズな移動操作は実現できない。
【０００７】
図１５は、従来例の説明図であり、以下、図１５に基づいて、階段がある場合のウォークスルーを説明する。
図１５（Ａ）のように、前方に階段がある場合は、前方を向いたまま前進を指示し続けていると階段を通り抜けてしまう。また、視線と階段との干渉チェック（物体につき当たったことを視線と物体との干渉計算して出す）を行うと階段の前で立ち止まってしまう。
【０００８】
図１５（Ｂ）は階段を上る場合の説明図であり、階段を上るには、階段の傾斜と同じ角度に視線方向を向ける。もし、階段の角度と視線の角度が一致していないと階段にめり込んでしまうものであった。
【０００９】
【発明が解決しようとする課題】
上記従来のものは次のような課題があった。
ＣＧ世界を移動する際、壁や柱などに入り込んでしまい、自分の位置が分からなくなる等して、目的の位置までスムーズな移動操作が困難となっている。
【００１０】
また、干渉計算を行うと処理時間が長くなり、スムーズな移動が実現できない。
さらに、視線方向と移動方向が一致しているため、例えば階段を上る場合等の移動操作が困難なものとなっていた。
【００１１】
従って、利用者は、前方に階段があっても前進を指示しただけでは、階段を上ることができない。このことは、実世界的ではなく、しかも移動操作に手間取るものであった。
【００１２】
本発明は、このような従来の課題を解決し、前進したい場合は、前進の指示だけで、階段の上り下りやスロープに沿った移動、壁に沿った移動を可能とし、簡便な操作で実世界的なウォークスルーを行うことを目的とする。
【００１３】
【課題を解決するための手段】
本発明は、上記の課題を解決するため次のように構成した。
ＣＧ世界の物体にウォークスルーする際に使用する物体の属性であるウォークスルー属性を持たせる。そして、ウォークスルー属性には、例えば床（歩ける属性）や壁（歩けない属性）や階段の傾斜角度などを持たせる。
【００１４】
図１は、本発明の原理説明図であり、図１において、物体の形状や質感のデータなどの３次元の幾何データと、ウォークスルーする際に使用するデータであるウォークスルー属性と、視線の位置を示す視線データとを格納するＣＧデータ格納手段３と、利用者からのウォークスルー命令（視線移動命令）を受け取る入力手段１と、視線の位置をウォークスルー属性と視線データから決定する視線制御手段２と、この決定された視線の位置と３次元の幾何データから画像を生成する画像作成手段４と、この生成した画像を表示する画像表示手段５を備え、視線を移動する処理において、マウスやキーなどによる前進、後退等の簡単な指示により壁や床のスロープに沿った視線の移動を視線制御手段２で実現するようにする。
【００１５】
【作用】
上記構成に基づく作用を説明する。
視線制御手段２が入力手段１から視線移動命令を受け取ると、視線制御手段２は、物体のウォークスルー属性と視線データである視線ベクトル（視線の方向を示すベクトル）から移動ベクトル（移動方向を示すベクトル）を求め、移動方向と視線方向を分離し、移動ベクトルに沿った移動処理を行う。
【００１６】
これにより、図２の階段を上る場合の説明図のように、前進したい場合は前進の指示だけで視線方向を変えずに階段を上ることができる。
以上のようにして、前進したい場合は前進の指示だけで、階段の上り下りやスロープに沿った移動、壁に沿った移動が可能となり、簡便な操作で実世界的なウォークスルーを行うことができる。また、ウォークスルー属性の種類により干渉チェック（計算）を行う物体と行わない物体に分類することで、必要な物体のみ干渉計算処理を行い、処理の高速化をすることができる。
【００１７】
【実施例】
図３〜図１４は、本発明の実施例の説明図であり、以下、実施例を図面を参照しながら説明する。
【００１８】
(1) 第１実施例の説明
第１実施例は、物体の形状や質感を表す幾何データの他にウォークスルー属性という視線を移動する際に使用するデータを持たせ、利用者から前進、後退の指示のみで、階段やスロープなど段差の有る場所をスムーズに移動する処理を行うものである。
【００１９】
図３は、第１実施例におけるＣＧ表示装置の構成図であり、図３において、ユーザインタフェース１１は、ユーザからの入力を受け取る部分である。このユーザインタフェース１１からの視線の移動要求（ウォークスルー要求）が視線制御部１２に送られる。
【００２０】
視線制御部１２は、ユーザインタフェース１１から送られてきた視線の移動要求に従い、視線を動かした時の視線データの編集処理を行う。この編集処理は、ＣＧデータ格納部１３のＣＧデータに対して行うものである。視線制御部１２には、下方向オブジェクト検索部ａ、移動ベクトル算出部ｂ、移動ベクトルに従って視線を一定距離動かす視線移動処理部ｃが設けてあり、視線の下部にあるオブジェクト（物体）の傾斜に従った移動量を算出するものである。
【００２１】
また、視線制御部１２は、視線データの編集（新データによる書き直し）が終了すると表示処理部１４に画像の再表示要求を行うものである。
ＣＧデータ格納部１３は、床、机、電灯などの３次元のオブジェクトデータ、どの位置からＣＧ世界を見ているかという視線データ、重力方向を示す環境データ等が格納されるものである。
【００２２】
表示処理部１４は、視線制御部１２から再表示要求を受けると、ＣＧデータ格納部１３から２次元の画像を生成し、この生成したデータを画像表示装置１５に表示するものである。
【００２３】
画像表示装置１５は、表示処理部１４で生成した画像を表示するディスプレイなどである。
図４は、ＣＧデータ格納部１３のデータ例の説明図である。
【００２４】
図４（Ａ）は、物体のデータであるオブジェクトデータの例として階段を示す。階段の形状、質感、ウォークスルー属性のそれぞれのデータが格納されている。このように、オブジェクトデータに、ウォークスルー属性を持たせるものである。
【００２５】
図４（Ｂ）は、ウォークスルー属性のデータ例として床を示す。この場合の床の法線ベクトルは（０、１、１）である。なお（０、１、１）は３次元の（Ｘ、Ｙ、Ｚ）座標に対応しており通常Ｘは横方向、Ｙは高さ方向、Ｚは奥方向を示す。また、カッコ内の数字はＣＧ世界の相対的な単位の数値である。（以下、の説明はこの単位を用いる。）このように、ウォークスルー属性は、床（歩ける属性）や壁（歩けない属性）や階段の傾斜角度を示す法線ベクトル等のデータを持つものである。
【００２６】
図４（Ｃ）は、視線データ例である。見る人の目の位置に相当する視点（０、０、０）と、見ている所である注視点（０、０、１００）視線の上方向を決める上方向ベクトル（０、１、０）等のデータを示している。このように、ＣＧ世界のどの位置からどの位置を見ているかというデータが格納されている。
【００２７】
図４（Ｄ）は、環境データであり、環境データには重力方向を示す重力ベクトル（０、−１、０）が格納されている。このデータは視線に対して下方向を示すデータである。これは、ＣＧ世界のデータは幾何データのみなので、下方向という概念がないため、この発明において新たに持たせたデータである。
【００２８】
図５は、第１実施例の処理の説明図である。図５（Ａ）の処理フローチャートは、ユーザインタフェース１１から視線制御部１２に視線の前後移動要求があった場合の処理であり、以下、図５（Ａ）の処理番号▲１▼〜▲４▼に従って説明する。
【００２９】
▲１▼：視線制御部１２の下方向オブジェクト検索部ａが、図４（Ｄ）の環境データの重力ベクトルと図４（Ｃ）の視線データから、視点（０、０、０）の下方向にあるオブジェクトを検索する。
【００３０】
▲２▼：移動ベクトル算出部ｂが上記処理番号▲１▼で検索されたオブジェクトのウォークスルー属性から物体の法線ベクトルを求める。検索されたオブジェクトが図４（Ａ）の階段の例の場合、法線ベクトルは図４（Ｂ）の（０、１、１）となる。
【００３１】
▲３▼：移動ベクトル算出部ｂが、上記処理番号▲２▼で求めた法線ベクトルと視線データから移動ベクトルを求める。これは、例えば図４（Ｃ）の視線データの視点、注視点から視線ベクトルを求め（視点から注視点の方向が視線ベクトルとなる）、この視線ベクトルと図４（Ｃ）の上方向ベクトルの２つのベクトルに直交するベクトルを求める。このベクトルを横方向ベクトルと呼び、横方向ベクトルは（１、０、０）となる。
【００３２】
さらに、この横方向ベクトルと法線ベクトルから移動ベクトルを求める。この移動ベクトルは、横方向ベクトルと法線ベクトルに直交するベクトルとして求めることができる。
【００３３】
▲４▼：視線移動処理部ｃが、上記処理番号▲３▼で求めた移動ベクトルに従い図４（Ｃ）の視線データを前後に移動する。この移動したデータは、ＣＧデータ格納部１３に格納する。
【００３４】
なお、２つのベクトルに直交するベクトルの算出は、一例として以下のようにして求めることができる。
図５（Ｂ）で示すように既知の２つのベクトルに直交するベクトルをＡ＝（Ｘａ、Ｙａ、Ｚａ）、Ｂ＝（Ｘｂ、Ｙｂ、Ｚｂ）とする。ベクトルＡ、Ｂに直交するベクトルをＣ＝（Ｘｃ、Ｙｃ、Ｚｃ）とすると次の式で求まる。
【００３５】
Ｘｃ＝Ｙａ×Ｚｂ−Ｚａ×Ｙｂ
Ｙｃ＝Ｚａ×Ｘｂ−Ｘａ×Ｚｂ
Ｚｃ＝Ｘａ×Ｙｂ−Ｙａ×Ｘｂ
ベクトルＣはベクトルＡとベクトルＢを結ぶ右ネジの方向のベクトルとなる。
【００３６】
上記式でベクトルＡとベクトルＢを入れ換えるとベクトルＣは逆向きのベクトルとなる。
このような処理を行うことで、階段やスロープなど段差のある場所をスムーズに移動する処理が実現できる。
【００３７】
(2) 第２実施例の説明
第２実施例は、視線データに高さのデータを持たせ、利用者から前進、後退の指示のみで、階段やスロープなど段差の有る場所をスムーズに移動し、視点の高さ調整を行うことによって、より実世界に近いウォークスルー処理を行うものである。
【００３８】
図６は、第２実施例の説明図であり、図６中、図３と同じものは同じ符号で示してある。
図６（Ａ）は、第２実施例におけるＣＧ表示装置の構成図であり、この第２実施例は、図３の第１実施例の視線制御部１２に視線高さ調節部ｄを追加したものである。この視線高さ調節部ｄは視線データを前進、後退処理後に視線の下方向の床の属性（歩ける属性）のオブジェクトを検索し、そのオブジェクトから一定の高さに視線データを調整するものである。
【００３９】
図６（Ｂ）は、第２実施例の視線データを示しており、これは図４（Ｃ）の第１実施例の視線データに視線の高さデータを追加したものである。これにより視線はこのデータに記述された高さ、この例では「５．０」で移動することになる。
【００４０】
図７は、第２実施例の視線制御部の処理の説明図である。
図７（Ａ）は第２実施例の処理フローチャートである。図７（Ａ）の処理は、ユーザインタフェースから視線制御部１２に視線の前後移動要求があった場合の処理であり、以下、図７（Ａ）の処理番号▲１▼〜▲６▼に従って説明する。
【００４１】
▲１▼：視線制御部１２の下方向オブジェクト検索部ａが、環境データの重力ベクトルと視線データから、視点（０、０、０）の下方向にあるオブジェクトを検索する。
【００４２】
▲２▼：移動ベクトル算出部ｂが上記処理番号▲１▼で検索されたオブジェクトのウォークスルー属性から物体の法線ベクトルを求める。検索されたオブジェクトが階段の例の場合、法線ベクトルは（０、１、１）となる。
【００４３】
▲３▼：移動ベクトル算出部ｂが、上記処理番号▲２▼で求めた法線ベクトルと視線データから移動ベクトルを求める。これは、視線データの視点、注視点から視線ベクトルを求め（視点から注視点の方向が視線ベクトルとなる）、この視線ベクトルと上方向ベクトルの２つのベクトルに直交するベクトルを求める。このベクトルを横方向ベクトルと呼び、横方向ベクトルは（１、０、０）となる。
【００４４】
さらに、この横方向ベクトルと法線ベクトルから移動ベクトルを求める。この移動ベクトルは、横方向ベクトルと法線ベクトルに直交するベクトルとして求めることができる。
【００４５】
なお、処理番号▲１▼〜▲３▼の処理は、第１実施例と同じものである。
▲４▼：視線移動処理部ｃが、上記処理番号▲３▼で求めた移動ベクトルに従い図６（Ｂ）の視線データを前又は後に移動する。この移動したデータは、更新してＣＧデータ格納部１３に格納する。
【００４６】
▲５▼：下方向オブジェクト検索部ａが、図４（Ｄ）の環境データである重力ベクトルと処理番号▲４▼で更新した視線データから、更新された視点の下方向にあるオブジェクトを検索する。
【００４７】
▲６▼：視線の高さ調節部ｄが、上記処理番号▲５▼で検索したオブジェクトと視点の距離を調べ、その距離を視点の高さとする。次に視点の高さが視線データの高さ、例えば図６（Ｂ）の「５．０」と一致するように、視点の高さの調整を行う。そして、この調整結果のデータをＣＧデータ格納部１３に格納する。
【００４８】
図７（Ｂ）は、上記第２実施例における視線の高さ調節を行った場合の視線の動き説明図である。視線の高さ調整を行うため図７（Ｂ）の点線で示したように、階段部分は、実際に階段を上るようにガクガクした移動が表現できることになる。
【００４９】
(3) 第３実施例の説明
第３実施例は、ウォークスルー属性に壁という種類を持たせ、視線が壁に斜めにぶつかった場合は壁に沿って視線を移動させ、利用者からの前進、後退指示のみで、壁に沿った移動処理を行うものである。
【００５０】
図８は、第３実施例におけるＣＧ表示装置の構成図であり、図８中、図３、図６と同じものは同じ符号で示してある。
図８の第３実施例は、図３の第１実施例の視線制御部１２に干渉処理部ｅを追加し、下方向オブジェクト検索部ａを取り除いたものである。この干渉処理部ｅは、視線データを前進、後退処理後に視線と他のオブジェクトが干渉しないかチェックするものである。
【００５１】
図９は、第３実施例のデータ例を示しており、図９（Ａ）は、ウォークスルー属性データ例であり、種類は壁でその法線ベクトルは（１、０、０）を示している。
【００５２】
図９（Ｂ）は、視線データ例を示しており、干渉チェックを実行するため視線データに、視点を中心とした広がりであるボリュームを持たせてある。この例では、ボリュームの半径のデータを「１．０」として追加している。これにより、視点を中心として半径１．０の球の範囲内に物体があると干渉することになる。
【００５３】
図１０は、第３実施例の処理フローチャートである。以下、１０図の処理番号▲１▼〜▲７▼に従って視線制御部１２の処理を説明する。
▲１▼：まず、通常の視線移動である視線データを視線方向に移動する。
【００５４】
▲２▼：干渉処理部ｅが、処理番号▲１▼の結果の視線データとオブジェクトの干渉チェック（計算）を実行する。そして干渉したオブジェクトのリストを保持する。
▲３▼：干渉処理部ｅは、上記処理番号▲２▼の結果干渉したオブジェクトがあるか判断する。この干渉がある場合は処理番号▲４▼へ進む。もし、この干渉がない場合は処理を終了する。これは、視線とオブジェクトが干渉しない場合の処理であり、視線を移動しただけで処理が終了することになる。
【００５５】
▲４▼：視線を移動前の位置に戻す。これは、干渉すなわちボリウム半径である「１．０」の視線がオブジェクトに入り込むので、入り込まない前の位置に戻す処理である。
【００５６】
▲５▼：干渉処理部ｅは、処理番号▲２▼の結果から壁と干渉しているか調べる。これは、干渉したオブジェクトのウォークスルー属性から壁と干渉しているかを調べるものである。壁とのみ干渉していた場合は、処理番号▲６▼の処理へ進む。もし、壁とは干渉していない場合は、処理を終了する。これは、つまり、壁以外のものと干渉してしまうので視線を元の位置に戻して処理を終了（そこで移動が停止）することである。
【００５７】
▲６▼：干渉処理部ｅは、壁の法線ベクトルと視線データから移動ベクトルを算出する。これは、先ず、視線データの視点、注視点データから視線ベクトルを求める。この求めた視線ベクトルと壁の法線ベクトルの２つのベクトルに直交するベクトルを求める。この求めたベクトルが移動ベクトルとなる。
【００５８】
▲７▼：移動処理部ｃが上記処理番号▲６▼で求めた移動ベクトルに従い視線データを前又は後に移動する。そして、この移動したデータをＣＧデータ格納部１３に格納する。
【００５９】
このように処理することで、視線が壁などにぶつかっても、壁などに沿った視線移動を実現することができる。
(4) 第４実施例の説明
第４実施例は第３実施例の視線制御部１２の干渉処理部ｅにウォークスルー属性の種類により干渉チェックを行うオブジェクトと行わないオブジェクトに分類し、干渉チェックをより高速に行うことを特長とするものである。
【００６０】
図１１は、干渉処理分類表である。図１１において、干渉計算（チェック）を行う干渉ありに壁、ドア、干渉計算を行わない干渉なしに机、椅子、床と分類した例を示している。
【００６１】
第４実施例の構成図及び処理フローチャートは、前記第３実施例と同じである。但し、視線制御部１２の干渉処理部ｅに干渉計算を行うウォークスルー属性と行わないウォークスルー属性の分類表を持ち、干渉処理部ｅでその分類表に従った干渉計算を行うものである。
【００６２】
これにより、図１１の場合は、椅子や机などを無視（ぶつかっても通り抜けてしまう）してウォークスルーを行うことができる。
(5) 第５実施例の説明
第５実施例は、視線データに幅のデータを持たせ、利用者から前進、後退の指示のみで、カーブした壁でも、壁に沿い壁から一定の距離でスムーズに移動するウォークスルー処理を行うものである。
【００６３】
図１２は、第５実施例の説明図である。図１２（Ａ）は、第５実施例におけるＣＧ表示装置の構成図であり、この第５実施例の構成は、図８の第３実施例の視線制御部１２に視線幅調節部ｆを追加したものである。視線幅調節部ｆは、視線データが壁と干渉した場合、壁の法線ベクトルから壁と視線の距離を求め壁から一定の幅に視線データを調整するものである。
【００６４】
図１２（Ｂ）は、第５実施例の視線データの例を示している。
この視線データは、第３実施例の図９（Ｂ）の視線データに視線の幅データを追加したものである。これにより、視線が壁に干渉した場合はこのデータに記述された幅「１．０」で移動することになる。
【００６５】
図１３は、第５実施例の処理フローチャートである。図１３の処理は、ユーザインタフェース１１から視線制御部１２に視線の前後移動要求があった場合の処理である。以下、図１３の処理番号▲１▼〜▲８▼に従って説明する。
【００６６】
▲１▼：まず、通常の視線移動である視線データを視線方向に移動する。
▲２▼：干渉処理部ｅが、処理番号▲１▼の結果の視線データとオブジェクトの干渉チェック（計算）を実行する。そして干渉したオブジェクトのリストを保持する。
【００６７】
▲３▼：干渉処理部ｅは、上記処理番号▲２▼の結果干渉したオブジェクトがあるか判断する。この干渉がある場合は処理番号▲４▼へ進む。もし、この干渉がない場合は処理を終了する。これは、視線とオブジェクトが干渉しない場合の処理であり、視線を移動しただけで処理が終了することになる。
【００６８】
▲４▼：視線を移動前の位置に戻す。これは、干渉すなわちボリウム半径である「１．０」の視線がオブジェクトに入り込むので、入り込まない前の位置に戻す処理である。
【００６９】
▲５▼：干渉処理部ｅは、処理番号▲２▼の結果から壁と干渉しているか調べる。これは、干渉したオブジェクトのウォークスルー属性から壁と干渉しているかを調べるものである。壁とのみ干渉していた場合は、処理番号▲６▼の処理へ進む。もし、壁とは干渉していない場合は、処理を終了する。これは、つまり、壁以外のものと干渉してしまうので視線を元の位置に戻して処理を終了（そこで移動が停止）することである。
【００７０】
▲６▼：干渉処理部ｅは、壁の法線ベクトルと視線データから移動ベクトルを算出する。これは、先ず、視線データの視点、注視点データから視線ベクトルを求める。この求めた視線ベクトルと壁の法線ベクトルの２つのベクトルに直交するベクトルを求める。この求めたベクトルが移動ベクトルとなる。
【００７１】
▲７▼：移動処理部ｃが上記処理番号▲６▼で求めた移動ベクトルに従い視線データを前又は後に移動する。
なお、上記処理番号▲１▼〜▲７▼までの処理は、第３実施例と同じである。
【００７２】
▲８▼：視線幅調節部ｆは、処理番号▲２▼で検索した壁と視点の距離を調べ、次に、視点と壁までの距離が視線データの幅（図１２（Ｂ）の例では「１．０」）と一致するように、視点の幅調整を行う。この結果のデータをＣＧデータ格納部１３に格納する。
【００７３】
以上のように処理することで、カーブしている壁でも壁から一定の距離を持ち移動することができる。
(6) 第６実施例の説明
第６実施例は、歩ける属性、歩けない属性等のウォークスルー属性や干渉チェックを行うウォークスルー属性、行わないウォークスルー属性( 図１１参照）の分類表を利用者により編集可能とするものである。
【００７４】
図１４は、第６実施例におけるＣＧ表示装置の構成図である。図１４は、第５実施例である図１２（Ａ）にウォークスルー属性編集部１６を追加したものである。このウォークスルー属性編集部１６は、ウォークスルーする利用者が、ユーザインタフェース１１からウォークスルー属性を自由に設定（変更）し、その設定したデータをＣＧデータ格納部１３に格納するものである。そして、視線の移動（ウォークスルー）は、第５実施例と同様に行うものである。
【００７５】
これにより、ウォークスルー属性や、干渉チェックする分類表を、利用者が編集可能となり、より柔軟性のあるＣＧ表示装置とすることができる。
【００７６】
【発明の効果】
以上説明したように、本発明によれば次のような効果がある。
階段の段さや床の凹凸、壁のカーブなどを意識せず、前進したい場合は前進の指示のみで、実世界的な階段の昇降や壁に沿った歩きを体験できる。
【００７７】
従って、利用者は簡便な操作で、実世界的なＣＧ世界を体験することができる。また、操作が簡単なため、操作に慣れる実際の操作時間である作業時間が短縮されることになる。さらに、ウォークスルー属性により干渉チェックを行うオブジェクトと行わないオブジェクトに分類することで干渉計算の簡略化ができ、より高速な干渉計算処理が可能となる。
【図面の簡単な説明】
【図１】本発明の原理説明図である。
【図２】本発明における階段を上る場合の説明図である。
【図３】第１実施例におけるＣＧ表示装置の構成図である。
【図４】第１実施例におけるＣＧデータ格納部のデータ例の説明図である。
【図５】第１実施例の処理の説明図である。
【図６】第２実施例の説明図である。
【図７】第２実施例における視線制御部の処理説明図である。
【図８】第３実施例におけるＣＧ表示装置の構成図である。
【図９】第３実施例におけるデータ例の説明図である。
【図１０】第３実施例の処理フローチャートである。
【図１１】第４実施例における干渉処理分類表である。
【図１２】第５実施例の説明図である。
【図１３】第５実施例の処理フローチャートである。
【図１４】第６実施例におけるＣＧ表示装置の構成図である。
【図１５】従来例の説明図である。
【符号の説明】
１  入力手段
２  視線制御手段
３  ＣＧデータ格納手段
４  画像作成手段
５  画像表示手段
【図１】
0003635584.tif 000002
【図２】
0003635584.tif 000003
【図３】
0003635584.tif 000004
【図４】
0003635584.tif 000005
【図５】
0003635584.tif 000006
【図６】
0003635584.tif 000007
【図７】
0003635584.tif 000008
【図８】
0003635584.tif 000009
【図９】
0003635584.tif 000010
【図１０】
0003635584.tif 000011
【図１１】
0003635584.tif 000012
【図１２】
0003635584.tif 000013
【図１３】
0003635584.tif 000014
【図１４】
0003635584.tif 000015
【図１５】
0003635584.tif 000016