(57)【要約】【課題】  様々なスキルの操作者に柔軟に応じられる優れた操作性を確保するとともに、極めて自然な振る舞いをして生活実感にも溢れるウォークスルーを実現可能な住宅用３次元ＣＧシステムを提供する。【解決手段】  住宅の各構成要素について３次元形状データを含む構成要素情報を格納する記憶手段８、９と、ＣＧによって住宅を仮想的３次元空間内に仮想構築するとともにこの住宅の３次元画像を仮想的人物の視点および視線方向に基づいて生成する仮想住宅画像生成手段６と、前記３次元画像を表示する表示手段４と、操作のための入力手段３とを備え、仮想住宅画像生成手段６は、入力手段４による操作に応じて前記仮想的３次元空間内で前記視点の移動や前記視線方向の変更を行うとともに前記３次元画像を更新し、入力手段４によって行われる各種操作に応じた前記視点の移動方法については複数の移動モードから選択可能に構成されている。【選択図】  図１
2006209319.tif 000002
【特許請求の範囲】
【請求項１】
住宅を構成する各構成要素について少なくとも３次元形状データを含む構成要素情報を格納する記憶手段と、
この記憶手段に格納されている前記構成要素情報に基づいてコンピュータグラフィックによって住宅を仮想的３次元空間内に仮想構築するとともに、この住宅の３次元画像を仮想的人物の視点および視線方向に基づいて生成する仮想住宅画像生成手段と、
この仮想住宅画像生成手段によって生成された前記３次元画像を表示する表示手段と、
前記仮想的３次元空間内で前記視点の移動または前記視線方向の変更の少なくとも一方を行う操作のための入力手段とを備え、
前記仮想住宅画像生成手段は、前記入力手段による操作に応じて前記仮想的３次元空間内で前記視点の移動または前記視線方向の変更の少なくとも一方を行うとともに、前記３次元画像を更新するものであり、
前記入力手段によって行われる各種操作に応じた前記視点の移動方法については複数の移動モードから選択可能に構成されていることを特徴とする住宅用３次元ＣＧシステム。
【請求項２】
請求項１に記載の住宅用３次元ＣＧシステムにおいて、
前記複数の移動モードには、前記視点の移動中に前記視点の直下の床面からの高さを一定に維持するとともに前記視線方向は変えないように移動する第１移動モードと、前記視点を前記視線方向に移動する第２移動モードと、前記視線方向の先の注視点を中心として前記視点を回転移動する第３移動モードとが含まれていることを特徴とする住宅用３次元ＣＧシステム。
【請求項３】
請求項２に記載の住宅用３次元ＣＧシステムにおいて、
前記複数の移動モード毎に、前記入力手段による所定操作に割り当てる前記視点の動き方が複数の動作から選択可能に構成されており、その複数の動作には、前記視点を前後に移動する第１動作と、前記視点を前記視線方向に鉛直な面に沿って動かす第２動作と、前記視点の位置を維持したままで前記視線方向を回転させる第３動作とが含まれていることを特徴とする住宅用３次元ＣＧシステム。
【請求項４】
請求項３に記載の住宅用３次元ＣＧシステムにおいて、
前記各移動モードと前記視点の複数の動き方との組み合わせ毎に、前記視点の移動に関する各種設定値が変えられるように構成されていることを特徴とする住宅用３次元ＣＧシステム。
【請求項５】
請求項２に記載の住宅用３次元ＣＧシステムにおいて、
前記視点が移動中に前記住宅のいずれかの構成要素が存在している位置に達したとき、前記視点のそれ以上の移動を禁止する衝突判定を行うか行わないかが選択可能に構成されていることを特徴とする住宅用３次元ＣＧシステム。
【請求項６】
請求項５に記載の住宅用３次元ＣＧシステムにおいて、
前記記憶手段に格納されている住宅を構成する各構成要素の構成要素情報には、前記衝突判定の判定対象から除外するか否かを示す衝突判定除外フラグ情報が含まれており、
前記衝突判定を行うことが選択されている場合であって前記視点が移動中に前記住宅内のいずれかの構成要素が存在している位置に達したとき、その構成要素の前記衝突判定除外フラグ情報が前記衝突判定の判定対象から除外することを示していれば、前記視点のそれ以上の移動を許容することを特徴とする住宅用３次元ＣＧシステム。
【請求項７】
請求項５または６に記載の住宅用３次元ＣＧシステムにおいて、
前記第１移動モードが選択されている場合、前記視点の移動中に前記視点の直下の床面の高さが所定の乗越可能高さ以上変化したときは、前記視点のそれ以上の移動を禁止することを特徴とする住宅用３次元ＣＧシステム。
【請求項８】
請求項７に記載の住宅用３次元ＣＧシステムにおいて、
前記第１移動モードが選択されている場合、前記視点の直下の床面が存在しないときは前記視点をその高さを維持したままで移動することを特徴とする住宅用３次元ＣＧシステム。
【請求項９】
請求項５ないし８のいずれか１項に記載の住宅用３次元ＣＧシステムにおいて、
前記視点を内包する前記仮想的人物に対応する所定範囲の空間を予め定め、前記視点の移動中にこの空間のいずれかの面が前記住宅内のいずれかの構成要素が存在している位置に達したときに前記衝突判定を行うことを特徴とする住宅用３次元ＣＧシステム。
【請求項１０】
請求項９に記載の住宅用３次元ＣＧシステムにおいて、
前記仮想的人物として少なくとも大人、子供、または車椅子利用者から選択可能であることを特徴とする住宅用３次元ＣＧシステム。
【請求項１１】
請求項９または１０に記載の住宅用３次元ＣＧシステムにおいて、
前記仮想的人物の選択に応じて前記乗越可能高さを変化させることを特徴とする住宅用３次元ＣＧシステム。
【請求項１２】
請求項２に記載の住宅用３次元ＣＧシステムにおいて、
前記仮想住宅画像生成手段は、前記視点が前記住宅の屋内にいるか屋外にいるかを判別して、その判別結果に応じて前記住宅の３次元画像を生成する際の視野角を変更することを特徴とする住宅用３次元ＣＧシステム。
【請求項１３】
請求項２に記載の住宅用３次元ＣＧシステムにおいて、
前記仮想住宅画像生成手段は、前記視点が前記住宅の屋内にいるか屋外にいるかを判別して、その判別結果に応じて前記視点の移動速度を変更することを特徴とする住宅用３次元ＣＧシステム。
【請求項１４】
請求項３に記載の住宅用３次元ＣＧシステムにおいて、
前記視点の移動および前記視線方向の変更を予め定められた通りに実行するコマンドが少なくとも１つ以上コマンド群として備えられており、それらのコマンド群の中から任意のコマンドが選択的に起動できるように構成されていることを特徴とする住宅用３次元ＣＧシステム。
【請求項１５】
請求項１４に記載の住宅用３次元ＣＧシステムにおいて、
前記コマンド群には、前記仮想的３次元空間内の前記住宅のいずれかの構成要素の指定した面から所定距離の位置へ前記視点を移動させるとともに前記視線方向を前記指定面に向ける第１コマンドが含まれることを特徴とする住宅用３次元ＣＧシステム。
【請求項１６】
請求項１４に記載の住宅用３次元ＣＧシステムにおいて、
前記コマンド群には、前記仮想的３次元空間内の前記住宅の指定した構成要素の中心に前記視線方向を向けるとともに前記視点とその構成要素との距離がその構成要素全体が表示されるような距離となるように前記視点が移動される第２コマンドが含まれることを特徴とする住宅用３次元ＣＧシステム。
【請求項１７】
請求項１４に記載の住宅用３次元ＣＧシステムにおいて、
前記コマンド群には、前記仮想的３次元空間内の前記住宅の全構成要素の中心に前記視線方向を向けるとともにその全構成要素の全体が表示されるような距離となるように前記視点が移動される第３コマンドが含まれることを特徴とする住宅用３次元ＣＧシステム。
【請求項１８】
請求項１４に記載の住宅用３次元ＣＧシステムにおいて、
前記コマンド群には、前記視線方向を前記仮想的３次元空間内の指定した位置へ向かう方向へ変更する第４コマンドが含まれることを特徴とする住宅用３次元ＣＧシステム。
【請求項１９】
請求項１４に記載の住宅用３次元ＣＧシステムにおいて、
前記コマンド群には、前記仮想的３次元空間内の前記住宅のいずれかの構成要素の指定した点から前記仮想的人物が立ったときを想定して予め設定されている視点高さの分だけ高い位置に前記視点の位置を移動する第５コマンドが含まれることを特徴とする住宅用３次元ＣＧシステム。
【請求項２０】
請求項１４に記載の住宅用３次元ＣＧシステムにおいて、
前記コマンド群には、前記仮想的人物が座ったときを想定して予め設定されている視点高さへ前記視点の位置を移動するとともにその移動後に前記第１移動モードと前記第３動作が選択される第６コマンドが含まれることを特徴とする住宅用３次元ＣＧシステム。
【請求項２１】
請求項１４に記載の住宅用３次元ＣＧシステムにおいて、
前記コマンド群には、前記仮想的人物が立ったときを想定して予め設定されている視点高さへ前記視点の位置を移動するとともにその移動後に前記第１移動モードと前記第１動作が選択される第７コマンドが含まれることを特徴とする住宅用３次元ＣＧシステム。
【請求項２２】
請求項１４に記載の住宅用３次元ＣＧシステムにおいて、
前記コマンド群には、前記第１移動モードまたは前記第２移動モードが選択されている場合には前記視点の位置は維持したままで前記視線方向を水平に変更する一方、前記第３移動モードが選択されている場合には前記視線方向の先の注視点と同じ高さまで前記視点を移動する第８コマンドが含まれることを特徴とする住宅用３次元ＣＧシステム。
【請求項２３】
請求項１４に記載の住宅用３次元ＣＧシステムにおいて、
前記コマンド群には、前記視点の位置は維持したままで前記視線方向を水平に１８０度回転する第９コマンドが含まれることを特徴とする住宅用３次元ＣＧシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プラン中の住宅をコンピュータグラフィックによって画面上に仮想構築して３次元表示を行う住宅用３次元ＣＧシステムに関する。
【背景技術】
【０００２】
従来の住宅展示場やモデルハウスに代わるものとして、コンピュータグラフィック（以下では「ＣＧ」と記す）によって画面上にプラン中の住宅を構築した状態で３次元表示することで、住宅を視覚的に確認しつつプランニングすることを容易に行うことを可能にする「住宅の仮想構築方法、これに用いる仮想構築システム、このシステムを実現するデータベース及びプログラムを格納した記録媒体」が提案されている（例えば、特許文献１参照。）。
【０００３】
この提案は、画面上で住宅を仮想構築する仮想構築方法であって、少なくとも住宅のモジュールを含む住宅用のパーツのデータをパーツデータベースとして予め格納し、画面上に、前記パーツを選択可能に表示し、画面上で選択されたパーツのデータを前記パーツデータベースから呼び出し、このデータを用いて該パーツを画面上に表示し、この表示されたパーツを複数、画面上で組み合わせて住宅を仮想構築することを特徴とするものである。
【０００４】
これによると、パーツ表示欄からモジュールを選択し、これらを画面上で組み合わせることで、住宅を仮想構築して視覚的に確認できる。従って、住宅購入者は、容易にプラン中の住宅の間取りを構築した状態で確認できるため、住宅を視覚的に確認しつつ様々なプランを容易に試すことができる。さらに、住宅の構造やデザインをプランニング中に画面上で確認できるため、プラン決定後に構造やデザインの確認をする必要はなくなる。また、住宅供給者は、実際にモジュールを住宅購入者等に組み合わせてもらうことで、自己のモジュールの優位性を住宅購入者等に容易にアピールできる。
【０００５】
また、マウスやジョイスティックの操作により、仮想モデルハウス内におけるユーザ位置及びユーザの視線方向の移動指示を受け付ける処理と、ユーザ位置及びユーザの視線方向、即ち、マウス操作に伴うポインタの動作に基づき仮想モデルハウスにおけるユーザの仮想視界を求める処理とが実行されることによってリアルな疑似体験（バーチャルウォークスルー）を可能とする「情報選出方法及び情報選出プログラム」も提案されている（例えば、特許文献２参照。）。
【０００６】
また、三次元画像のリアルタイム・ウォークスルー 等における衝突検出に関し、衝突検出を高速に実行できる「三次元移動体の衝突検知装置」も提案されている（例えば、特許文献３参照。）。
【０００７】
また、このようなコンピュータの画面上における仮想的な住宅の３次元表示には専用のソフトウェアが必要とされたり、コンピュータに多大な処理能力が要求されたりする場合があるが、３次元データの大幅な軽量化を実現してインターネット環境でも十分に活用可能なＸＶＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｖｉｒｔｕａｌ  ｗｏｒｌｄ  ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を利用する「画像表示装置、画像表示方法、画像表示プログラムおよび画像表示プログラムが格納された記憶媒体」も提案されている（例えば、特許文献４参照。）。なお、ＸＶＬはＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）をベースにした３次元表現として、ラティス・テクノロジー株式会社のラティスカーネルを基盤とした３次元データ記述とアニメーション記述のための技術の総称であり、ラティス・テクノロジー株式会社の登録商標でもある。
【特許文献１】特開２００１−２８２８８０号公報
【特許文献２】特開２００４−２２７０７３号公報
【特許文献３】特開平７−１０５４０９号公報
【特許文献４】特開２００３−２４２５２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、従来技術の多くの住宅用ＣＧでは、コンピュータの画面上で仮想構築された住宅内のウォークスルーをする場合の操作性は、ある程度熟練した操作者を想定して設定されていることが多かった。そのため、例えば、住宅メーカーが顧客に対してプレゼンテーションをする場合、住宅メーカー側のオペレータが操作して顧客にウォークスルーの様子を見せるのであれば操作に特に問題はないが、顧客自身がその場でウォークスルーをしようとしても、思い通りに操作することはあまり容易ではなかった。
【０００９】
また、ウォークスルー時に移動方向や移動速度などはマウスのドラッグ操作などによって比較的自由に変えられるものの、床などにどんな段差があっても視点は一定の高さを維持したままで移動を続けたり、壁や家具などに接触してもそのまま通り抜けてしまうなど、現実にはあり得ない不自然な振る舞いが多かったり、生活実感にも乏しかった。
【００１０】
従来技術のこのような課題に鑑み、本発明の目的は、ＣＧによって画面上にプラン中の住宅を仮想的に構築した状態で３次元表示することで住宅を視覚的に確認してその住宅の内外を自在にウォークスルーできるだけでなく、様々なスキルの操作者に柔軟に応じられる優れた操作性を確保するとともに、極めて自然な振る舞いをして生活実感にも溢れるウォークスルーを実現可能な住宅用３次元ＣＧシステムを提供することである。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明の住宅用３次元ＣＧシステムは、住宅を構成する各構成要素について少なくとも３次元形状データを含む構成要素情報を格納する記憶手段と、この記憶手段に格納されている前記構成要素情報に基づいてコンピュータグラフィックによって住宅を仮想的３次元空間内に仮想構築するとともに、この住宅の３次元画像を仮想的人物の視点および視線方向に基づいて生成する仮想住宅画像生成手段と、この仮想住宅画像生成手段によって生成された前記３次元画像を表示する表示手段と、前記仮想的３次元空間内で前記視点の移動または前記視線方向の変更の少なくとも一方を行う操作のための入力手段とを備え、前記仮想住宅画像生成手段は、前記入力手段による操作に応じて前記仮想的３次元空間内で前記視点の移動または前記視線方向の変更の少なくとも一方を行うとともに、前記３次元画像を更新するものであり、前記入力手段によって行われる各種操作に応じた前記視点の移動方法については複数の移動モードから選択可能に構成されていることを特徴とする。
【００１２】
この発明の住宅用３次元ＣＧシステムによれば、ウォークスルー時に複数の移動モードからの選択が可能なので、状況に応じて適切な移動モードを選択することで操作者の意向にできるだけ沿ったウォークスルーをすることができ、操作性が向上する。
【００１３】
また、本発明の住宅用３次元ＣＧシステムにおいて、前記複数の移動モードには、前記視点の移動中に前記視点の直下の床面からの高さを一定に維持するとともに前記視線方向は変えないように移動する第１移動モードと、前記視点を前記視線方向に移動する第２移動モードと、前記視線方向の先の注視点を中心として前記視点を回転移動する第３移動モードとが含まれていることを特徴としてもよい。
【００１４】
この発明の住宅用３次元ＣＧシステムによれば、前記第１移動モードを選択することで人間が建物内外を歩き回る様子を自然に再現するウォークスルーを行うことができる。前記第２移動モードを選択すれば、人間ができることに束縛されない自由なウォークスルーを行うことができ、例えば、住宅内の吹き抜け空間などを効果的に紹介する目的などにも適している。前記第３移動モードを選択すれば、建物内などの任意の対象物を様々な角度から眺めたりすることが容易に行える。
【００１５】
また、本発明の住宅用３次元ＣＧシステムにおいて、前記複数の移動モード毎に、前記入力手段による所定操作に割り当てる前記視点の動き方が複数の動作から選択可能に構成されており、その複数の動作には、前記視点を前後に移動する第１動作と、前記視点を前記視線方向に鉛直な面に沿って動かす第２動作と、前記視点の位置を維持したままで前記視線方向を回転させる第３動作とが含まれていることを特徴としてもよい。さらに、前記各移動モードと前記視点の複数の動き方との組み合わせ毎に、前記視点の移動に関する各種設定値が変えられるように構成されていることを特徴としてもよい。
【００１６】
この発明の住宅用３次元ＣＧシステムによれば、前記移動モードの選択と前記視点の動き方の選択とを組み合わせることで、様々なバリエーションのウォークスルーを行うことができる。さらに、これらの組み合わせ毎に各種設定値（例えば移動速度）を最適な値に設定しておけば、様々なスキルの操作者に柔軟に応じられる優れた操作性を確保するとともに、極めて自然な振る舞いをするようにできる。
【００１７】
また、本発明の住宅用３次元ＣＧシステムにおいて、前記視点が移動中に前記住宅のいずれかの構成要素が存在している位置に達したとき、前記視点のそれ以上の移動を禁止する衝突判定を行うか行わないかが選択可能に構成されていることを特徴としてもよい。さらに、前記記憶手段に格納されている住宅を構成する各構成要素の構成要素情報には、前記衝突判定の判定対象から除外するか否かを示す衝突判定除外フラグ情報が含まれており、前記衝突判定を行うことが選択されている場合であって前記視点が移動中に前記住宅内のいずれかの構成要素が存在している位置に達したとき、その構成要素の前記衝突判定除外フラグ情報が前記衝突判定の判定対象から除外することを示していれば、前記視点のそれ以上の移動を許容することを特徴としてもよい。
【００１８】
この発明の住宅用３次元ＣＧシステムによれば、前記衝突判定を行うようにすることで壁や家具などに接触してもそのまま通り抜けてしまうなど、現実にはあり得ない不自然な振る舞いが生じないようにできる。一方、前記衝突判定を行わないようにすれば、住宅内外の特徴を紹介する場合などに、制約の少ない自由なウォークスルーを行うことができるので、効果的なプレゼンテーションなども容易になる。
【００１９】
また、本発明の住宅用３次元ＣＧシステムにおいて、前記第１移動モードが選択されている場合、前記視点の移動中に前記視点の直下の床面の高さが所定の乗越可能高さ以上変化したときは、前記視点のそれ以上の移動を禁止することを特徴としてもよい。さらに、前記第１移動モードが選択されている場合、前記視点の直下の床面が存在しないときは前記視点をその高さを維持したままで移動することを特徴としてもよい。
【００２０】
この発明の住宅用３次元ＣＧシステムによれば、人間が建物内外を歩き回る様子を再現するウォークスルーをより自然に行うことができ、住宅のバリアフリーの程度などを評価することなども可能になる。
【００２１】
また、本発明の住宅用３次元ＣＧシステムにおいて、前記視点を内包する前記仮想的人物に対応する所定範囲の空間を予め定め、前記視点の移動中にこの空間のいずれかの面が前記住宅内のいずれかの構成要素が存在している位置に達したときに前記衝突判定を行うことを特徴としてもよい。
【００２２】
ここで、前記仮想的人物として、例えば大人、子供、または車椅子利用者などを想定し、それぞれに対応するであろう空間の範囲を予め定めておいて、それらから選択できるようにしてもよい。その場合、前記仮想的人物の選択に応じて、例えば前記乗越可能高さなども変化させることが望ましい。
【００２３】
この発明の住宅用３次元ＣＧシステムによれば、抽象的な前記視点だけが移動しているのではなく、前後左右に一定の幅などを有する前記仮想的人物が移動しているものとして前記衝突判定を行うので、例えば、壁面に一定距離まで近づいた時点で（接触する前に）移動を停止することができる。これにより、人間が建物内外を歩き回る様子を再現するウォークスルーを一層自然に行うことができる。また、例えば、前記仮想的人物が車椅子利用者の場合に前記乗越可能高さを小さく設定しておけば、住宅のバリアフリーの程度などをより的確に評価することも可能になる。
【００２４】
また、本発明の住宅用３次元ＣＧシステムにおいて、前記仮想住宅画像生成手段は、前記視点が前記住宅の屋内にいるか屋外にいるかを判別して、その判別結果に応じて前記住宅の３次元画像を生成する際の視野角や前記視点の移動速度などを変更することを特徴としてもよい。
【００２５】
この発明の住宅用３次元ＣＧシステムによれば、ウォークスルー中の前記視点の位置に応じて前記視野角や前記視点の移動速度を変えることができる。例えば、屋外では通常は屋内より明るいため人間の視野は広がるが、前記視野角を屋外でより大きくなるように変更すれば、人間の感覚に近づけることができる。また、人間は屋外では屋内よりもやや速く歩く傾向にあるが、前記視点の移動速度を屋外でより速くなるように変更すれば、やはり人間の感覚に近づけることができる。このように、操作者が特に屋内と屋外の違いを意識することなく、自然なウォークスルーを行うことができる。
【００２６】
また、本発明の住宅用３次元ＣＧシステムにおいて、前記視点の移動および前記視線方向の変更を予め定められた通りに実行するコマンドが少なくとも１つ以上コマンド群として備えられており、それらのコマンド群の中から任意のコマンドが選択的に起動できるように構成されていることを特徴としてもよい。
【００２７】
前記コマンド群としては、次のようなコマンドが挙げられるが、これらに限るものではない。第１コマンドは、前記仮想的３次元空間内の前記住宅のいずれかの構成要素の指定した面から所定距離の位置へ前記視点を移動させるとともに前記視線方向を前記指定面に向ける。第２コマンドは、前記仮想的３次元空間内の前記住宅の指定した構成要素の中心に前記視線方向を向けるとともに前記視点とその構成要素との距離がその構成要素全体が表示されるような距離となるように前記視点が移動される。第３コマンドは、前記仮想的３次元空間内の前記住宅の全構成要素の中心に前記視線方向を向けるとともにその全構成要素の全体が表示されるような距離となるように前記視点が移動される。第４コマンドは、前記視線方向を前記仮想的３次元空間内の指定した位置へ向かう方向へ変更する。第５コマンドは、前記仮想的３次元空間内の前記住宅のいずれかの構成要素の指定した点から前記仮想的人物が立ったときを想定して予め設定されている視点高さの分だけ高い位置に前記視点の位置を移動する。第６コマンドは、前記仮想的人物が座ったときを想定して予め設定されている視点高さへ前記視点の位置を移動するとともにその移動後に前記第１移動モードと前記第３動作が選択される。第７コマンドは、前記仮想的人物が立ったときを想定して予め設定されている視点高さへ前記視点の位置を移動するとともにその移動後に前記第１移動モードと前記第１動作が選択される。第８コマンドは、前記第１移動モードまたは前記第２移動モードが選択されている場合には前記視点の位置は維持したままで前記視線方向を水平に変更する一方、前記第３移動モードが選択されている場合には前記視線方向の先の注視点と同じ高さまで前記視点を移動する。第９コマンドは、前記視点の位置は維持したままで前記視線方向を水平に１８０度回転する。
【００２８】
この発明の住宅用３次元ＣＧシステムによれば、マウス３１のドラッグ操作などでは行いにくい様々な処理や一連の移動などを容易に行うことができる。
【発明の効果】
【００２９】
本発明の住宅用３次元ＣＧシステムによれば、ウォークスルー時に複数の移動モードからの選択が可能なので、状況に応じて適切な移動モードを選択することで操作者の意向にできるだけ沿ったウォークスルーをすることができ、操作性が向上する。
【００３０】
なお、前記移動モードの選択と前記視点の動き方の選択とを組み合わせるとともに、さらに、これらの組み合わせ毎に各種設定値を最適な値に設定しておけば、様々なスキルの操作者に柔軟に応じられる優れた操作性を確保するとともに、極めて自然な振る舞いをするようにできる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施形態を、図面を参照して説明する。なお、上述の従来技術やその他の公知の技術によってすでに実現されている内容についての説明は極力省略し、主に本発明の特徴的な内容として、
Ａ．３次元ＣＧシステム全体の構成
Ｂ．建物入力用中間ファイルのデータ構造
Ｃ．敷地外構入力用中間ファイルのデータ構造
Ｄ．ウォークスルー機能
などの項目について説明を行う。
【００３２】
＜Ａ．３次元ＣＧシステム１全体の構成＞
図１は、本発明の一実施形態に係る住宅建築用の３次元ＣＧシステム１の概略構成図である。
【００３３】
図１に示すように、３次元ＣＧシステム１は、キーボード３０やマウス３１などを有する入力装置３を備えるとともに、プロジェクタやプラズマディスプレーなどの表示装置４に接続されているコンピュータ装置２を動作環境とするシステムである。マウス３１上面の先端側には内蔵されたマイクロスイッチなどをＯＮ／ＯＦＦする左ボタン３１ａおよび右ボタン３１ｂがそれぞれ設けられ、さらにこれらのボタンの間に回転状態を検出可能なホイール３１ｃが設けられている。コンピュータ装置２としては、例えば、デスクトップタイプやノートタイプのパーソナルコンピュータなどが挙げられるが、これらに限るものではない。
【００３４】
コンピュータ装置２は、その内部で動作するプログラムとして、住宅設計用のＣＡＤソフト５と、設計中の住宅の３次元ＣＧ表示などを行うＣＧアプリケーション６とを有している。
【００３５】
ＣＡＤソフト５は、これを使用することで住宅設計のＣＡＤデータ７の入力および編集などが可能となる。ここで、ＣＡＤソフト５自体は公知の技術を用いる汎用ＣＡＤソフトであってもよいし、専用ソフトであってもよい。ＣＡＤデータ７は汎用的なデータ形式に限るものではなく、専用のデータ形式であってもよい。ＣＡＤデータ７の入力および編集は必ずしもこの３次元ＣＧシステム１で行わなくてもよい。例えば、他のシステムで入力および編集を行ったＣＡＤデータ７を、ネットワーク経由やリムーバブルメディアなどを介して読み込むようにしてもよい。なお、このＣＡＤデータ７には、住宅自体の構造などのデータだけでなく、敷地の位置情報や形状、さらにその敷地内の建物の配置情報などが含まれているものとする。
【００３６】
ＣＡＤソフト５はその機能の１つとして、ＣＡＤデータ７を、階層構造を持つ建物入力用中間ファイル８および敷地外構入力用中間ファイル９に変換して出力するコンバータ５ａを有している。ここで、建物入力用中間ファイル８や敷地外構入力用中間ファイル９のデータ形式としては、例えば、ＸＶＬ形式が挙げられるが、これに限るものではない。なお、汎用的なデータ形式のＣＡＤデータを一般的な中間ファイルに変換するコンバータソフトなどは公知であるが、コンバータ５ａの基本的な動作自体はそれらと同様であるものの、出力形式がそれらとは異なり、住宅ＣＧ用に最適化された階層構造を持つ中間ファイルである。
【００３７】
コンバータ５ａをＣＡＤソフト５の機能の１つとするには様々な実装方法が考えられる。例えば、コンバータ５ａをＣＡＤソフト５の内部プログラムとしてもよいし（この場合、ＣＡＤソフト５は公知のものではなくなる）、コンバータ５ａを外部プログラムとしておいてＣＡＤソフト５のメニューから起動できるようにしてもよいし、あるいは、コンバータ５ａをＣＡＤソフト５用のプラグインソフトとしてもよいが、これらの実装方法に限るものではない。
【００３８】
ＣＧアプリケーション６は、コンバータ５ａから出力された建物入力用中間ファイル８および敷地外構入力用中間ファイル９を読み込み、これらに格納されているデータに基づいてコンピュータグラフィックによって住宅を仮想的３次元空間内に仮想構築する。そして、仮想的人物の視点および視線方向を想定し（その位置にカメラを配置したと想定してもよい）、その想定に基づいて住宅の３次元画像を生成して、その３次元画像を表示装置４に表示する。また、ユーザによる入力装置３の操作に応じてこの視点を仮想的３次元空間内で移動させたり視線方向を変更するとともに、前記３次元画像を更新する。このようにすることで、ユーザは３次元表示された住宅の内外を自由にウォークスルーすることができる。また、ユーザによる入力装置３からの操作に応じて、ＣＧアプリケーション６は建物入力用中間ファイル８に対して必要な変更を加えており、表示されている３次元画像と建物入力用中間ファイル８の内容との整合性を維持する。なお、このＣＧアプリケーション６のウォークスルー機能についての詳細は＜Ｄ＞で後述する。
【００３９】
このＣＧアプリケーション６は、入力装置３からの操作に応じて建物入力用中間ファイル８に加えた変更内容を記憶しており、記憶している変更内容を、建物入力用中間ファイル８と同等の階層構造を持つ建物出力用中間ファイル１０として出力することができる。あるいは、記憶している変更内容をその他の所定形式の変更情報として出力できるようにしてもよい。
【００４０】
なお、ＣＡＤソフト５は建物出力用中間ファイル１０を読み込み、その内容に基づいてＣＡＤデータ７の該当箇所を変更することができる。このようにすることで、入力装置３からの操作に応じて様々な変更が加えられた後の住宅の３次元表示内容に合致するＣＡＤデータ７を得ることができる。
【００４１】
＜Ｂ．建物入力用中間ファイル８のデータ構造＞
≪Ｂ１≫  建物入力用中間ファイル８の概略
図２は、本実施形態に係る住宅建築用の３次元ＣＧシステム１において、ＣＡＤデータ７からの変換によって出力される建物入力用中間ファイル８の階層構造の概略図である。
【００４２】
図２に示すように、建物入力用中間ファイル８の最上位階層には、マテリアル８１、テクスチャ８２、カメラ８３、光源８４、および家ルートグループ８５が出力される。家ルートグループ８５の下位の階層には、家グループ８５０が出力される。さらに、家グループ８５０の下位の階層には、仕様グループ８５１、外部グループ８５２、内部グループ８５３、屋根グループ８５４、基礎グループ８５５、および構造躯体グループ８５６が出力される。
【００４３】
ここで、仕様グループ８５１は、大分類「仕様」の情報が記述されるグループである。外部グループ８５２は、大分類「外構、屋外」の情報が記述されるグループである。内部グループ８５３は、大分類「屋内」の情報が記述されるグループである。屋根グループ８５４は、大分類「屋根」の情報が記述されるグループである。基礎グループ８５５は、大分類「基礎」の情報が記述されるグループである。構造躯体グループ８５６は、大分類「構造」の情報が記述されるグループである。
【００４４】
また、各グループは、基本属性およびユーザ定義可能な一般ユーザ属性を有している。基本属性としては、例えばグループＩＤなどが挙げられる。一般ユーザ属性としては、各グループに共通する属性とグループごとの個別の属性がある。
【００４５】
≪Ｂ２≫  共通一般ユーザ属性
図３は、建物入力用中間ファイル８に記述される各グループのすべてに付加される一般ユーザ属性の中で共通な属性（以下では「共通属性」と記す）を示す。
【００４６】
図３に示すように、共通属性として「表示名称」、「表示ＯＮ／ＯＦＦ」、および「グループ種類」の３つが存在する。属性「表示名称」はＣＧアプリケーション６で表示する名称である。属性「表示ＯＮ／ＯＦＦ」はＣＧアプリケーション６での表示のＯＮ／ＯＦＦを設定するフラグであり、１が表示ＯＮに対応し、０が表示ＯＦＦに対応する。属性「グループ種類」はＣＧアプリケーション６で認識するグループの種類であり、定義がない場合は通常のグループとして認識され、“Ｐｒｏｄｕｃｔ”の場合はプロダクトとして認識される。
【００４７】
≪Ｂ３≫  共通グループ
次に、建物入力用中間ファイル８の共通グループについて説明する。なお、共通グループごとに複数のグループが存在する場合にそれらを区別して説明するため、必要に応じて参照符号の末尾に英小文字を付加する。
【００４８】
≪Ｂ３．１≫  仕上げ材グループ８０１
図４は、建物入力用中間ファイル８の共通グループのうち、同一仕上げ材、同一候補色の部位形状をまとめる仕上げ材グループ８０１の一般ユーザ属性を示す。図５は、この仕上げ材グループ８０１の構造を示す。
【００４９】
図４に示すように、仕上げ材グループ８０１は、共通属性の他に個別の一般ユーザ属性として「部材ＩＤ」、「候補色番号」、「マテリアル名」、および「色番号」を持つ。これらの属性はいずれも必須のものである。
【００５０】
また、仕上げ材グループ８０１以下にはこの仕上げ材の部位形状を持つ本体および部位形状が記述される。例えば、図５に示すように、仕上げ材ｎ（８０１ｎ）の下にＰｒｏｄｕｃｔ（部材ｎ）８０３ｎが記述され、その下にシェル８０７が記述される。
【００５１】
≪Ｂ３．２≫  部品種類グループ８０２
図６は、建物入力用中間ファイル８の共通グループのうち、出力される部品を種類ごとにまとめるための部品種類グループ８０２の構造を示す。なお、この部品種類グループ８０２は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。
【００５２】
部品種類グループ８０２以下には同一種類の部品のみが記述され、同一種類の部品の認識を容易にしている。例えば、図６に示すように、部品種類ｎ（８０２ｎ）の下にＰｒｏｄｕｃｔ（部材ｎ）８０３ｎが記述され、その下にＳｈａｐｅ（図形ｎ）８０６ｎが記述され、さらにその下にシェルｎ（８０７ｎ）が記述される。
【００５３】
また、部材の階層構造を示すために、Ｐｒｏｄｕｃｔ（部材ｎ）８０３ｎの下にＰｒｏｄｕｃｔ（子部材ｍ）８０３１ｍを記述したり、その下にさらにＰｒｏｄｕｃｔ（孫部材ｌ）８０３２ｌを記述したりしてもよい。なお、Ｐｒｏｄｕｃｔ（部材ｎ）８０３ｎと同様に、Ｐｒｏｄｕｃｔ（子部材ｍ）８０３１ｍの下にはＳｈａｐｅ（図形ｍ）８０６ｍが記述され、その下にはシェルｍ（８０７ｍ）が記述される。Ｐｒｏｄｕｃｔ（孫部材ｌ）８０３２ｌの下にはＳｈａｐｅ（図形ｌ）８０６ｌが記述され、その下にはシェルｌ（８０７ｌ）が記述される。
【００５４】
≪Ｂ３．３≫  Ｐｒｏｄｕｃｔ（部材）グループ８０３
図７は、建物入力用中間ファイル８の共通グループのうち、ＣＡＤデータ７に入力されている部材の属性および形状が記述されるＰｒｏｄｕｃｔ（部材）グループ８０３の一般ユーザ属性を示す。
【００５５】
本体部材は、上述した仕上げ材グループ８０１の下に作成される。配置部材は、上述した部品種類グループ８０２の下に作成される。親部材、子部材、孫部材は、ＣＡＤデータ７における階層構造のまま出力される。図形を持たない部材は、建物入力用中間ファイル８に出力しないことを基本とするが、それ自身に図形がなくても子部材以下に図形が存在する場合には、図形は持たずに一般ユーザ属性のみを持つグループとして出力される。
【００５６】
Ｐｒｏｄｕｃｔ（部材）グループ８０３は、共通属性の「グループ種類」に“Ｐｒｏｄｕｃｔ”を設定する。また、共通属性の他に個別の一般ユーザ属性として、図７に示すように、「配置／本体フラグ」、「実体フラグ」、「実体・リンクグループＩＤ」、各種のＣＡＤ情報、「変更フラグ」、および「変更情報」を持つ。
【００５７】
ここで、属性「配置／本体フラグ」は、配置（０）であるか本体（１）であるかを示す。
【００５８】
属性「実体フラグ」は、実体（０）であるかリンク（１）であるかを示す。外部建具や内部建具のように複数の本体に関係する配置は、すべての本体から参照できるような構造とするため、部品の実体は１つのみとするとともに他の部品はその実体へのリンクを持つ部品とする。また、これらの対応関係は、属性「実体・リンクグループＩＤ」に対応するリンクまたは実体のグループＩＤを設定するようにする。
【００５９】
属性「分類」は、部品の種類を区別することでＣＧアプリケーション６が適切な処理を自動的に実行できるようにする。例えば、ドラッグ＆ドロップに対する適切な処理を選択することが可能になる。すなわち、属性「分類」の値が同じであれば置換処理を行い、異なっていれば配置処理を行うようにすればよい。例えば、皿（「分類」＝“テーブルウェア”）をテーブルの上にドラッグ＆ドロップするとテーブルの上に皿が置かれるが、同様の操作を他のダイニングテーブル（「分類」＝“テーブル”）で行うとテーブルが置き換えられる。また、テーブルを選択した状態で、メニューもテーブル関連を初期表示する仕組みを取ることなども可能である。
【００６０】
属性「入力階」は、その部品がどの階に置かれているかを認識できるようにする。これは、マテリアルやテクスチャの変更はあらゆる階層で行えるものの、階層構造上は「階」の認識ができないためである。部品ごとに属性「入力階」を持たせることで、ＣＧアプリケーション６による階単位の制御をできるようにしている。例えば、１階に配置してあるすべてのドアのマテリアルを同時に変更することが可能となる。
【００６１】
属性「配置コード」には、その部品の配置についての制約条件などを設定する。例えば、内壁付き、器具付き、部屋中心付き、任意などが挙げられる。任意に設定されているとき、その部品はあらゆる場所に配置できることを意味する。
【００６２】
属性「高さコード」には、その部材がどの高さレベルを基準に取り付くかを設定する。例えば、床高さ、ＧＬ高さ、下基準高さ、天井高さなどが挙げられる。床高さに設定されているとき、各部屋の床面を基準に取り付くことを意味する。
【００６３】
属性「丸めコード」には、その部材を配置する際にモジュールなどに則って配置されるものなのかを定義する。丸めなしと定義されていれば、建物のモジュールに関係なく配置ができる。例えば、サッシなどは軸組みの関係上、建物モジュールを基準に取り付くが、この場合は通常Ｎ／２などの丸めで入力する。
【００６４】
属性「取り付け高さ」には、その部材が上記「高さコード」を基準としてどの高さに取り付くかを定義する。例えば、スイッチなどは、上記「配置コード」＝“内壁付き”、上記「高さコード」＝“床高さ”、「取り付け高さ」＝１５００というような定義をする。例えば、テーブルにように床に接触しているものでは、「取り付け高さ」＝０になる。
【００６５】
属性「鳥瞰時表示ＯＦＦ」は、ＣＧアプリケーション６で鳥瞰表現を行う場合の表示を制御する。これは、照明器具などのように天井や天井に取り付く部材があると、鳥瞰図としては見にくいためであり、鳥瞰表現を行う場合にそのような部材の表示をＯＦＦにすることを可能とするためである。
【００６６】
属性「操作ロック」には、その部材に対してＣＧアプリケーション６によるどのような操作を許すかを定義するフラグ群である。左から順に「移動回転」、「置換」、「削除」、「複写」、「表示制御設定」、「テクスチャ変更」、「マテリアル変更」、「Ｘ方向変形」、「Ｙ方向変形」、「Ｚ方向変形」、「衝突検知制御」、および「影の計算制御」に対応しており、各ビットの１が許可を示し、０が不可を示す。
【００６７】
属性「見せ場フラグ」は、ＣＧアプリケーション６で視点（カメラ）の呼び出しが行われたときにその部材を見せるかどうかを定義する。カメラの初期呼び出し時に、その部屋で「見せ場フラグ」が定義されている部材のうち、最も近いものを注視点とすることができる。これにより、カメラを選択するだけで説明したいポイントを自動的に初期表示することが可能になる。
【００６８】
属性「ＣＧコメント」には、ＣＧアプリケーション６の操作中にその部品がアクティブになった場合のテロップ表示用のコメント内容を設定する。このコメント内容は、その部品の製作元のメーカーが提供するようにしてもよく、これによって製作者の意図を直接お客様に伝えることができるようになる。さらに、属性「ＣＧＵＲＬ」には、ＣＧアプリケーション６からジャンプ可能なリンク情報を定義する。ここで、製作元のメーカーのホームページのＵＲＬなどを指定することにより、上記のコメント内容だけでは伝えられない商品バリエーションや詳細な説明を行うことが可能となる。
【００６９】
属性「変更フラグ」は、ＣＧアプリケーション６の操作中にその部品に対して変更が行われた（１）か否（０）かを示す。属性「変更情報」には、ＣＧアプリケーション６の操作中の具体的な変更内容が記憶される。この情報は、ＣＧアプリケーション６の操作終了時などに、例えば、変更リストとして出力するようにしてもよい。ＣＧアプリケーション６を営業担当者が顧客に対する折衝目的で用いていた場合には、その記録として残すことができる。また、図１を参照して説明したように、すべての部材などの属性「変更情報」をまとめて建物出力用中間ファイル１０として出力し、それをＣＡＤデータ７に反映させることもできる。
【００７０】
≪Ｂ３．４≫  Ｓｈａｐｅ（図形）グループ８０６
Ｐｒｏｄｕｃｔ（部材）の形状の中でグルーピングされた図形形状はＳｈａｐｅ（図形）グループ８０６に記述される。このＳｈａｐｅ（図形）グループ８０６は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。
【００７１】
≪Ｂ３．５≫  シェルグループ８０７
図８は、建物入力用中間ファイル８の共通グループのうち、形状を記述する単位であるシェルグループ８０７の一般ユーザ属性を示す。
【００７２】
このシェルグループ８０７は、共通属性の他に個別の一般ユーザ属性として、図８に示すように、「マテリアル名」、「色番号」、および「構成材質コード」を持つ。これらの属性はいずれも必須のものである。
【００７３】
≪Ｂ４≫  建物入力用中間ファイル８の階層構造の詳細
次に、建物入力用中間ファイル８のグループのうち、本実施形態の特徴となるものについて説明する。
【００７４】
≪Ｂ４．１≫  家ルートグループ８５
家ルートグループ８５は、建物入力用中間ファイル８に記述される複数の家の形状をまとめるグループである。この家ルートグループ８５は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。
【００７５】
≪Ｂ４．２≫  家グループ８５０
家グループ８５０は、１棟の家の形状が記述されるグループである。この家グループ８５０は、共通属性の他に個別の一般ユーザ属性として、図９に示すように、「出力バージョン」、「建物最小最大」、「プロジェクト名」、「プラン名」、および「家情報」を持つ。
【００７６】
≪Ｂ４．３≫  仕様グループ８５１
仕様グループ８５１は、家の仕様情報が記述されるグループである。この仕様グループ８５１は、共通属性の他に個別の一般ユーザ属性として、図１０に示すように、１階および地下１階それぞれのＧＬ高さ、１〜４階および地下１階それぞれの下基準高さ、１〜４階および地下１階それぞれの上基準高さ、１〜４階および地下１階それぞれの屋根基準高さ、１〜４階および地下１階それぞれの床基準高さ、「商品コード」、「モジュール長さ」、および「色テーブル情報」を持つ。これらの属性はいずれも必須のものである。なお、階数はこのように地下１階〜４階に限るものではなく、必要に応じて増減してもよい。その場合は、この仕様グループ８５１の一般ユーザ属性もそれに応じて追加・削除することになる。
【００７７】
≪Ｂ４．４≫  外部グループ８５２
外部グループ８５２は、家の外部形状と外部を構成する部材の各種属性が記述されるグループである。この外部グループ８５２は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。この外部グループ８５２の構造を図１１に示す。
【００７８】
外部の出力対象部材としては次のものが挙げられる。すなわち、本体系としては外形、袖壁、アルコーブ、パラペット、出窓などであり、配置系としては屋外付帯、外部建具ドア、外部建具窓、外部付帯（雨戸、面格子、窓手摺、内障子）などである。
【００７９】
図１１に示すように、本体の部位形状については、合成されていない部位形状が仕上げ材グループ８０１ごとに出力される。配置については、部品種類８０２（外部建具ドア、外部建具窓、外部付帯、屋外付帯）ごとに分類し、ＣＧアプリケーション６によって部品種類８０２ごとの操作を可能とする。部品種類８０２以下では、部品ごとに形状を記述する構造とする。出力される図形は、配置に中間ファイル形式の図形が定義されていない場合はＣＡＤデータ７内の図形が変換されて出力され、配置に中間ファイル形式の図形が定義されている場合にはそれに置き換えて出力される。
【００８０】
外部建具ドア、外部建具窓などのように外部と部屋の境界にある配置については、外部に実体部品を持つとともに部屋にリンク部品を持つ構造とする。このとき、その実体部品の一般ユーザ属性では、「実体フラグ」が０にされるとともに、「実体・リンクグループＩＤ」にそのリンク部品のグループＩＤが定義される。一方、そのリンク部品の一般ユーザ属性では、「実体フラグ」が１にされるとともに、「実体・リンクグループＩＤ」にその実体部品のグループＩＤが定義される。
【００８１】
袖壁、アルコーブ、パラペットなどの外部本体であって仕上げ材属性が定義されていない本体の部位は、外壁の部位として出力される。
【００８２】
≪Ｂ４．５≫  内部グループ８５３
内部グループ８５３は、家の内部形状が記述されるグループである。この内部グループ８５３は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。この内部グループ８５３の下には、室グループ８０８、Ｐｒｏｄｕｃｔ（部屋）グループ８０５、Ｐｒｏｄｕｃｔ（部品）グループ８０４、Ｐｒｏｄｕｃｔ（部材）グループ８０３、鳥瞰の蓋グループ８０９、および蓋形状グループ８０９０などがある。この内部グループ８５３の構造を図１２に示す。
【００８３】
内部の出力対象部材としては次のものが挙げられる。すなわち、本体系としては部屋、収納、間仕切り壁、上り床・下り床、勾配天井などであり、配置系としては内部建具、備品、畳、床の間、階段、家具、システムキッチン、電気設備などである。
【００８４】
図１２に示すように、内部は、部屋や合成部屋（壁開口で繋がった部屋）などのように１つとして扱われる空間（室）単位で（室グループ８０８ごとに）形状が出力される。室グループ８０８には、部屋とその形状、部屋に含まれる部材（本体、配置）とその形状が記述される。部位形状は、合成されていない部位形状が仕上げ材グループ８０１ごとに出力される。ここで、室グループ８０８は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。また、Ｐｒｏｄｕｃｔ（部屋）グループ８０５は、部屋・収納の形状が記述されるグループである。Ｐｒｏｄｕｃｔ（部品）グループ８０４、およびＰｒｏｄｕｃｔ（部材）グループ８０３は、室に属している部品（配置）、部材（本体）形状が記述されるグループである。
【００８５】
配置形状は、存在する空間（室）の下に部品として記述される。部品形状の出力は、上述の外部グループ８５２の場合と同様である。
【００８６】
内部建具は、一方の室に実体部品を持つとともに他方の室にリンク部品を持つ構造とする。このとき、その実体部品の一般ユーザ属性では、「実体フラグ」が０にされるとともに、「実体・リンクグループＩＤ」にそのリンク部品のグループＩＤが定義される。一方、そのリンク部品の一般ユーザ属性では、「実体フラグ」が１にされるとともに、「実体・リンクグループＩＤ」にその実体部品のグループＩＤが定義される。
【００８７】
屋内壁、特殊床などの内部本体であって仕上げ材属性が定義されていない本体の部位は、所属する室の部位として出力される。
【００８８】
また、ＣＧアプリケーション６による鳥瞰表現時に壁の中が透けて見えるのを避けるため、壁と壁との間の蓋形状からなる蓋形状グループ８０９０が各階に作成され、鳥瞰の蓋グループ８０９の下に出力される。ここで、鳥瞰の蓋グループ８０９は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。また、蓋形状グループ８０９０は、共通属性の他に個別の一般ユーザ属性として、図１３に示すように「階」、および「蓋高さ」を持つ。
【００８９】
≪Ｂ４．６≫  屋根グループ８５４
屋根グループ８５４は、家の屋根形状が記述されるグループである。この屋根グループ８５４は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。この屋根グループ８５４の構造を図１４に示す。
【００９０】
屋根の出力対象部材としては次のものが挙げられる。すなわち、本体系としては屋根、軒先カット、寄棟納まりなどであり、配置系としては屋根付帯などである。
【００９１】
図１４に示すように、屋根の部位形状については、合成されていない部位形状が仕上げ材グループ８０１ごとに出力される。配置については、部品種類８０２（屋根付帯）ごとに分類し、ＣＧアプリケーション６によって部品種類８０２ごとの操作を可能とする。部品種類８０２以下では、部品８０４ごとに形状を記述する構造とする。部品形状の出力は、上述の外部グループ８５２の場合と同様である。
【００９２】
屋根付帯のトップライトは、屋根に実体部品を持つとともにトップライトが存在する室にリンク部品を持つ構造とする。このとき、その実体部品の一般ユーザ属性では、「実体フラグ」が０にされるとともに、「実体・リンクグループＩＤ」にそのリンク部品のグループＩＤが定義される。一方、そのリンク部品の一般ユーザ属性では、「実体フラグ」が１にされるとともに、「実体・リンクグループＩＤ」にその実体部品のグループＩＤが定義される。
【００９３】
≪Ｂ４．７≫  基礎グループ８５５
基礎グループ８５５は、家の基礎形状が記述されるグループである。この基礎グループ８５５は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。この基礎グループ８５５の構造を図１５に示す。
【００９４】
基礎の出力対象部材としては次のものが挙げられる。すなわち、本体系としては基礎であり、配置系としては基礎付帯である。
【００９５】
図１５に示すように、基礎の部位形状については、合成されていない部位形状が仕上げ材グループ８０１ごとに出力される。配置については、部品種類８０２（屋根付帯）ごとに分類し、ＣＧアプリケーション６によって部品種類８０２ごとの操作を可能とする。部品種類８０２以下では、部品８０４ごとに形状を記述する構造とする。部品形状の出力は、上述の外部グループ８５２の場合と同様である。
【００９６】
≪Ｂ４．８≫  構造躯体グループ８５６
構造躯体グループ８５６は、家の構造躯体形状が記述されるグループである。この構造躯体グループ８５６は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。この構造躯体グループ８５６の構造を図１６に示す。
【００９７】
構造躯体の出力対象部材は配置系のみであり、柱、柱金物、壁パネル、壁枠、壁金物、屋根パネル、トラス、床組、床パネル、床金物、土台、天井パネル、天井金物などが挙げられる。
【００９８】
図１６に示すように、配置については、部品種類８０２（屋根付帯）ごとに分類し、ＣＧアプリケーション６によって部品種類８０２ごとの操作を可能とする。部品種類８０２以下では、部品８０４ごとに形状を記述する構造とする。部品形状の出力は、上述の外部グループ８５２の場合と同様である。
【００９９】
＜Ｃ．敷地外構入力用中間ファイル９のデータ構造＞
図１７は、本実施形態に係る住宅建築用の３次元ＣＧシステム１において、ＣＡＤデータ７からの変換によって出力される敷地外構入力用中間ファイル９の階層構造の概略図である。
【０１００】
図１７に示すように、敷地外構入力用中間ファイル９の最上位階層には、マテリアル８１、テクスチャ８２、カメラ８３、光源８４、および敷地外構ルートグループ９５が出力される。この敷地外構ルートグループ９５の下位の階層には、敷地・環境グループ９５１、外構・造園グループ９５２、点景グループ９５３および家位置グループ９５４が出力される。
【０１０１】
ここで、外構・造園グループ９５２は、大分類「敷地の外構」の情報が記述されるグループである。点景グループ９５３は、大分類「敷地の点景」の情報が記述されるグループである。敷地・環境グループ９５１は、大分類「敷地の外構」および「敷地の点景」以外の情報が記述されるグループである。家位置グループ９５４については後述する。
【０１０２】
また、各グループは、基本属性およびユーザ定義可能な一般ユーザ属性を有している。基本属性としては、例えばグループＩＤなどが挙げられる。一般ユーザ属性としては、各グループに共通する属性とグループごとの個別の属性がある。
【０１０３】
≪Ｃ．１≫  敷地外構ルートグループ９５
敷地外構ルートグループ９５は、敷地外構入力用中間ファイル９に記述される敷地外構形状をまとめるグループである。この敷地外構ルートグループ９５は、共通属性の他に個別の一般ユーザ属性として、図１８に示すように、「単位」、「緯度経度」、および「方位」を持つ。
【０１０４】
ここで、「単位」には、敷地外構入力用中間ファイル９全体の単位（例えばｍｍ）が出力される。「緯度経度」は、緯度、経度の順に設定される。「方位」には、ＣＡＤソフト５で方位が入力されている場合は南北方向のベクトルが出力され、方位が入力されていない場合には敷地座標系Ｙ方向を南北方向とするベクトルが出力される。
【０１０５】
≪Ｃ．２≫  敷地・環境グループ９５１
敷地・環境グループ９５１は、敷地形状を記述するグループである。この敷地・環境グループ９５１は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。出力対象部材としては本体系のみであり、敷地外形、道路、宅盤・法面、堀込み・地下車庫、アプローチ階段などが挙げられる。
【０１０６】
図１９に示すように、本体の部位形状については、合成されていない部位形状が仕上げ材グループ８０１（図４も併せて参照）ごとに出力される。仕上げ材グループ８０１以下には、この仕上げ材の部位形状を持つ本体および部位形状が記述される。例えば、Ｐｒｏｄｕｃｔ（部材ｎ）８０３が記述され、その下にさらにシェルが記述される。
【０１０７】
≪Ｃ．３≫  外構・造園グループ９５２
外構・造園グループ９５２は、外構形状を記述するグループである。この外構・造園グループ９５２は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。出力対象部材はとしては配置系のみであり、外構付帯などが挙げられる。
【０１０８】
図２０に示すように、配置については、部品種類８０２（外構付帯）ごとに分類し、ＣＧアプリケーション６によって部品種類８０２ごとの操作を可能とする。部品種類８０２以下では、部品ごとに形状を記述する構造とする。部品形状の出力については、図６を参照して説明した部品種類グループ８０２と同様である。
【０１０９】
≪Ｃ．４≫  点景グループ９５３
点景グループ９５３は、点景形状を記述するグループである。この点景グループ９５３は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。出力対象部材はとしては配置系のみであり、点景などが挙げられる。
【０１１０】
図２１に示すように、配置については、部品種類８０２（点景）ごとに分類し、ＣＧアプリケーション６によって部品種類８０２ごとの操作を可能とする。部品種類８０２以下では、部品ごとに形状を記述する構造とする。部品形状の出力については、図６を参照して説明した部品種類グループ８０２と同様である。
【０１１１】
≪Ｃ．５≫  家位置グループ９５４
家位置グループ９５４は、建物入力用中間ファイル８へのリンクを持つグループで、家形状のルートとなるグループである。この家位置グループ９５４は、共通属性のみを持ち、個別の一般ユーザ属性は持たない。家座標から敷地座標への変換マトリクスは、図２２に示すように、家位置グループ９５４の基本属性の「回転」および「移動」に設定される。
【０１１２】
＜Ｄ．ウォークスルー機能＞
ＣＧアプリケーション６は、表示装置４の画面内に開かれたウィンドウ内のビューポート（ウィンドウ内で実際に描画が行われる領域）に建物の３次元表示を行い、ユーザは入力装置３の操作によって３次元表示された建物の内外をウォークスルーすることができるものである。そのための機能として様々な移動方法の選択やカスタマイズが可能なウォークスルーモードを有するとともに、各種のウォークスルーコマンドも備える。
【０１１３】
ウォークスルーモードでは「Ｗａｌｋ」、「Ｆｌｙ」、「Ｓｔｕｄｙ」の３種類の移動モードを設けてこれらが選択できるようにする。各移動モードでは、「Ｐｌａｎ」、「Ｐａｎ」、「Ｔｕｒｎ」の３つの動きの選択を可能とし、主にマウス３１のドラッグやホイール３１ｃの回転などの操作と組み合わせることで様々な移動を行えるようにするとともに、移動モードと動きの組み合わせに応じて各種設定が行えるようにする。
【０１１４】
さらに、マウス３１のドラッグやホイール３１ｃの回転などの操作では対応が困難な動作やカメラの設定などを容易にするために各種のウォークスルーコマンドを用意するとともに、マウス３１操作の一部についてはキーボード３０操作との併用によって操作性の向上を図る。これらの詳細は以下で説明する。
【０１１５】
また、使用状況などに応じて様々な設定をその場で変更できるようするために、必要に応じて各種設定変更用ウィンドウ（以下では「オプションパネル」と記す）を呼び出せるようにするとともに、このオプションパネルで設定変更ができるようにする。
【０１１６】
≪Ｄ１≫  各移動モードの概要
≪Ｄ１．１≫  「Ｗａｌｋ」モード
図２３は、「Ｗａｌｋ」モードにおける基本的な移動の説明図である。図２３に示すように、この移動モードではカメラの視点Ｐ１はその視点高さを一定にして進むので、人間が建物内外を歩き回る様子を最も自然に再現することができる。
【０１１７】
「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」（詳細は≪Ｄ４．１≫で後述）がＯＮの場合、カメラ直下の面をチェックし、その面から一定の高さ（オプションパネルで設定されるカメラの高さ）となるようにカメラ位置を移動する。また、移動時にカメラ直下の面の高さが変わる場合、その高さの変化量が一定の値（オプションパネルで設定する乗越可能高さ）以下のときは次の面に移動可能とし、その一定の値を超えたときには次の面に移動できないようにする乗越判定を行う。ただし、Ｐｒｏｄｕｃｔ属性［衝突検知ＯＮ／ＯＦＦ］（≪Ｂ３．３≫で前述した属性「操作ロック」内のフラグ群の中の１つ）がＯＦＦのＰｒｏｄｕｃｔについては、衝突判定を行わずにそのまま通り抜けるようにする。カメラ直下に面がない場合は、現在の高さを維持したままで移動を行う。「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」がＯＦＦの場合は、カメラの現在の高さを維持したまま移動を行い、すべてのポリゴンを通り抜けることを可能としておく。
【０１１８】
≪Ｄ１．２≫  「Ｆｌｙ」モード
図２４は、「Ｆｌｙ」モードにおける基本的な移動の説明図である。図２４に示すように、この移動モードではカメラの視点Ｐ１は現在の視線方向に進むので、例えば、建物内の吹き抜け空間などを効果的に紹介する目的などに適している。
【０１１９】
「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」がＯＮの場合、Ｐｒｏｄｕｃｔ属性［衝突検知ＯＮ／ＯＦＦ］がＯＦＦのＰｒｏｄｕｃｔ以外のすべての面について衝突チェックを行う。
【０１２０】
「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」がＯＦＦの場合は、すべての面を通り抜ける。
【０１２１】
≪Ｄ１．３≫  「Ｓｔｕｄｙ」モード
図２５は、「Ｓｔｕｄｙ」モードにおける基本的な移動の説明図である。図２５に示すように、この移動モードではカメラの視点Ｐ１は現在のカメラの注視点Ｐ２を中心に回転するので、建物内などの任意の対象物を様々な角度から眺めたりすることが容易に行える。
【０１２２】
「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」がＯＮの場合、Ｐｒｏｄｕｃｔ属性［衝突検知ＯＮ／ＯＦＦ］がＯＦＦのＰｒｏｄｕｃｔ以外のすべての面について衝突チェックを行う。「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」がＯＦＦの場合は、すべての面を通り抜ける。
【０１２３】
なお、注視点Ｐ２の変更は、≪Ｄ５≫で後述するウォークスルーコマンドのうちの「注視点変更」コマンド（詳細は≪Ｄ５．４≫で後述）で変更可能としておく。
【０１２４】
また、「Ｓｔｕｄｙ」モードでは、上下方向に回転させる角度に制限をつけておく。デフォルトの設定は、水平方向を０度として外部テーブルに定義した最小角度（−４５度）から最大角度（８５度）までを移動範囲とし、これらの最小角度および最大角度はＣＧアプリケーション６操作時に変更可能としておく。また、建物を見るときにカメラが傾くと操作が困難になるため、この「Ｓｔｕｄｙ」モードではカメラは傾かないように水平に固定する。
【０１２５】
≪Ｄ２≫  カメラの動き方
≪Ｄ２．１≫  「Ｐｌａｎ」
現在のカメラを前後に動かす指定である。カメラの移動速度は、設定されている最大移動速度（詳細は≪Ｄ４．４≫で後述）まではマウス３１のドラッグの長さにより変化させる。なお、ドラッグの長さが最大移動速度以上となる長さの場合は、常に最大移動速度で移動を行う。
【０１２６】
また、プレゼンテーションなどの目的に使用する場合は、移動速度は遅めに設定する方が３次元画像の見栄えがよくなるので、例えば、１ｋｍ／ｈ程度に設定してもよい。
【０１２７】
≪Ｄ２．２≫  「Ｐａｎ」
現在のカメラを鉛直な面に沿って上下左右に動かす指定である。「Ｆｌｙ」モードでは、現在のカメラを視線方向に垂直な面に沿って上下左右に動かし、「Ｗａｌｋ」モードと「Ｓｔｕｄｙ」モードでは、現在のカメラを鉛直な面（地面に垂直な面）に沿って上下左右に動かす。カメラの移動速度は、「Ｐｌａｎ」と同様とする。
【０１２８】
≪Ｄ２．３≫  「Ｔｕｒｎ」
現在のカメラを回転させる指定である。「Ｗａｌｋ」モードおよび「Ｆｌｙ」モードでは、現在のカメラの注視点Ｐ２を視点Ｐ１を中心に回転させ、「Ｓｔｕｄｙ」モードでは、現在のカメラの視点Ｐ１を注視点Ｐ２を中心に回転させる。カメラの移動速度は、「Ｐｌａｎ」と同様とする。
【０１２９】
この「Ｔｕｒｎ」では、上下方向に回転させる角度に制限をつける。デフォルトの設定は、水平方向を０度として外部テーブルに定義した最小角度（−４５度）から最大角度（８５度）までを移動範囲とし、これらの最小角度と最大角度はＣＧアプリケーション６操作時に変更可能としておく。また、建物を見るときにカメラが傾くと操作が困難になるため、この「Ｔｕｒｎ」ではカメラは傾かないように水平に固定する。
【０１３０】
≪Ｄ３≫  各移動モードにおけるマウス３１操作とカメラの動き方との組み合わせ
≪Ｄ３．１≫  「Ｗａｌｋ」モード
図２６は、「Ｗａｌｋ」モードにおける「Ｐｌａｎ」、「Ｐａｎ」、「Ｔｕｒｎ」とマウス３１操作の組み合わせに応じたカメラの動き方などを示す。図２７は、「Ｗａｌｋ」モードにおけるカメラの前進および後退を示す。図２８は、「Ｗａｌｋ」モードにおけるカメラの上下左右への移動を示す。
【０１３１】
図２６に示すように、「Ｗａｌｋ」モードにおいては、「Ｐｌａｎ」、「Ｐａｎ」、「Ｔｕｒｎ」と、マウス３１のドラッグ操作やホイール３１ｃ操作との組み合わせによって、前進・後退、上下左右への移動、上下左右への回転、視線上下を行うことができるようにする。
【０１３２】
図２７に示すように、カメラの前進では、視点Ｐ１、注視点Ｐ２ともに視線方向に移動する。カメラの後退では、視点Ｐ１、注視点Ｐ２ともに視線方向と反対に移動する。ただし、カメラの前進および後退では、その高さは一定である。
【０１３３】
図２８に示すように、カメラの左側または右側への移動では、鉛直な面に沿って左側または右側に移動する。カメラの上側または下側への移動では、「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」をＯＦＦにして鉛直な面に沿って上側または下側に移動する。なお、これらの移動に応じて注視点Ｐ２も移動する。
【０１３４】
また、カメラの左回転、右回転、上回転、下回転では、視点Ｐ１を中心に注視点Ｐ２がそれぞれ左回転、右回転、上回転、下回転する。カメラの視線上下では、視点Ｐ１を中心に注視点Ｐ２が上下回転する。
【０１３５】
≪Ｄ３．２≫  「Ｆｌｙ」モード
図２９は、「Ｆｌｙ」モードにおける「Ｐｌａｎ」、「Ｐａｎ」、「Ｔｕｒｎ」とマウス３１操作の組み合わせにに応じたカメラの動き方などを示す。図３０は、「Ｆｌｙ」モードにおけるカメラの前進および後退を示す。
【０１３６】
図２９に示すように、「Ｆｌｙ」モードにおいては、「Ｐｌａｎ」、「Ｐａｎ」、「Ｔｕｒｎ」と、マウス３１のドラッグ操作やホイール３１ｃ操作との組み合わせによって、前進・後退、上下左右への移動、上下左右への回転、視線上下を行うことができるようにする。
【０１３７】
図３０に示すように、カメラの前進では、視点Ｐ１、注視点Ｐ２ともに視線方向に移動する。カメラの後退では、視点Ｐ１、注視点Ｐ２ともに視線方向と反対に移動する。移動方向が水平でなければ、移動に応じてカメラの高さも変わることになる。
【０１３８】
また、カメラの左側、右側、上側、下側への移動では、視線方向に垂直な面に沿ってそれぞれ左側、右側、上側、下側へ移動する。カメラの左回転、右回転、上回転、下回転では、視点Ｐ１を中心に注視点Ｐ２がそれぞれ左回転、右回転、上回転、下回転する。カメラの視線上下では、視点Ｐ１を中心に注視点Ｐ２が上下回転する。
【０１３９】
≪Ｄ３．３≫  「Ｓｔｕｄｙ」モード
図３１は、「Ｓｔｕｄｙ」モードにおける「Ｐｌａｎ」、「Ｐａｎ」、「Ｔｕｒｎ」とマウス３１操作の組み合わせに応じたカメラの動き方などを示す。図３２は、「Ｓｔｕｄｙ」モードにおけるカメラの前進および後退を示す。図３３は、「Ｓｔｕｄｙ」モードにおけるカメラの上下左右への移動を示す。
【０１４０】
図３１に示すように、「Ｓｔｕｄｙ」モードにおいては、「Ｐｌａｎ」、「Ｐａｎ」、「Ｔｕｒｎ」と、マウス３１のドラッグ操作やホイール３１ｃ操作との組み合わせによって、前進・後退、上下左右への移動、上下左右への回転、視線上下を行うことができるようにする。
【０１４１】
図３２に示すように、カメラの前進では、視点Ｐ１が視線方向に注視点Ｐ２手前まで移動する。カメラの後退では、視点Ｐ１が視線方向と反対に移動する。ただし、カメラの前進および後退では、注視点Ｐ２は移動しない。
【０１４２】
図３３に示すように、カメラの左側、右側、上側、下側への移動では、視点Ｐ１を鉛直な面に沿ってそれぞれ左側、右側、上側、下側に移動する。なお、これらに移動によって注視点Ｐ２は移動しない。
【０１４３】
また、カメラの左回転、右回転、上回転、下回転では、注視点Ｐ２を中心に視点Ｐ１がそれぞれ左回転、右回転、上回転、下回転する。カメラの視線上下では、注視点Ｐ２を中心に視点Ｐ１が上下回転する。
【０１４４】
≪Ｄ４≫  各種設定など
上述の「Ｗａｌｋ」、「Ｆｌｙ」、「Ｓｔｕｄｙ」の各移動モードにおける「Ｐｌａｎ」、「Ｐａｎ」、「Ｔｕｒｎ」の各動きの選択に応じて、例えば以下のような各種設定を行えるようにしておく。これにより、操作者の意図などを的確に反映したり、様々な操作者のスキルに応じた操作性を実現することなどが可能になる。
【０１４５】
≪Ｄ４．１≫  Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ
シーン内の形状を衝突判定の対象にするかしないかの設定である。この「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」をＯＦＦにした場合は、すべての形状を衝突判定の対象とはしないようにする。ＯＮにした場合は、Ｐｒｏｄｕｃｔ属性［衝突検知ＯＮ／ＯＦＦ］がＯＦＦとされているＰｒｏｄｕｃｔ以外のすべての形状を衝突判定の対象とする。また、衝突判定の結果で衝突したと判定された場合、衝突したオブジェクト名と衝突方向（前後左右のいずれか）をステータスバーに表示する。
【０１４６】
図３４は、各移動モードにおける衝突判定の基準位置および乗越判定の有無を示す。この図に示すように、「Ｗａｌｋ」モードでは、衝突判定はアバター（詳細は≪Ｄ４．５≫で後述）の幅に基づいて行うとともに、移動中にカメラ直下の面の高さが変わる場合はその高さの変化量と予め設定される乗越可能高さとの大小比較による乗越判定も行う。なお、乗越可能高さはアバター毎に適切な値を設定しておくことが望ましい。「Ｆｌｙ」モードおよび「Ｓｔｕｄｙ」モードでは、衝突判定は視点Ｐ１の位置に基づいて行うが、乗越判定は行わない。
【０１４７】
≪Ｄ４．２≫  カメラの視野角
カメラの視野角（左右方向、上下方向）を変更する。屋内と屋外のそれぞれの視野角指定と、１〜１７９度まで１度単位の任意指定とを可能としておく。屋内と屋外のそれぞれの視野角は、外部テーブルにて定義する。屋内と屋外の視野角の設定は、オプションパネルで変更できるようにして、変更後の値は表示中のシーン内で保持するようにする。次にＣＧアプリケーション６を起動したときは、外部テーブルに定義している初期値で起動する。また、オプションパネルで初期値に戻すことを可能としてもよい。
【０１４８】
≪Ｄ４．３≫  屋内・屋外切り替え
屋内と屋外の切り替えは、カメラの現在の位置を認識して自動的に行う。ただし、屋内と屋外をそれぞれ指定する屋内ボタン、屋外ボタンを表示画面内に表示させておき、これらのボタンの指示によって屋内と屋外の切り替えを手動で行うようにしてもよい。また、屋内と屋外の切り替えに連動して、上述した視野角や、次で説明するカメラの最大移動速度のそれぞれの設定も切り換えるようにしておく。
【０１４９】
≪Ｄ４．４≫  カメラの最大移動速度
各移動モードにおけるカメラの最大移動速度の初期値は、「Ｗａｌｋ、Ｆｌｙ、Ｓｔｕｄｙ」、「Ｐｌａｎ、Ｐａｎ、Ｔｕｒｎ」、「屋内、 屋外」、「高速、標準速、低速」のすべての組み合わせで合計５４種類の値を外部テーブルに持たせておく。ＣＧアプリケーション６操作中での最大移動速度の変更はできないようにする。各移動モードでの「高速、標準速、低速」の切り替えはオプションパネルで行う。また、必要に応じて速度切り替え専用の小ウィンドウを表示させるようにして、この小ウィンドウ内で速度切り替えが行えるようにしてもよい。なお、デフォルトは「標準速」とする。
【０１５０】
最大移動速度には、同じマウスの移動量で到達するものとする。つまり、「高速」モードでは加速度が増すことになる。また、現在の速度をステータスバーに出力する。
【０１５１】
≪Ｄ４．５≫  アバターの設定
従来技術のウォークスルーの衝突判定では、カメラの視点Ｐ１の位置のみを基準とするのが一般的である。したがって、例えば、カメラが壁に向かって移動しているとき、カメラが壁面に接触する位置まで到達して初めて衝突判定が行われる。ところが、実際の人間は少なくとも前後左右に一定の幅を有しているため、このような移動をすることは実際にはあり得ず、ウォークスルーに違和感を生じさせる原因の一つとなっている。違和感の少ない自然なウォークスルーを実現するには、このような点を考慮する必要がある。
【０１５２】
そこで、仮想的な人物として「アバター」という概念を導入するとともに、いくつかの典型的なタイプの人を表すアバターを予め定義可能としておく。具体的には、例えば、「大人」、「子供」、「車椅子」などに対応するものが挙げられるが、これらに限るものではない。
【０１５３】
図３５は、アバターに対する設定値の説明図であり、（ａ）は側面図を示し、（ｂ）は正面図を示す。この図に示すように、アバター毎に、例えば視点高さ、乗越可能高さ、座ったときの高さ（椅子、ソファ、床）、前方の幅、後方の幅、左側の幅、右側の幅、上方の距離などが設定できるようにするが、これらの値に限るものではない。前方および後方の幅、あるいは、左側および右側の幅については、それぞれ同一設定値を用いるようにしてもよいし、別々の設定値を用いるようにしてもよい。また、「Ｗａｌｋ」、「Ｆｌｙ」、「Ｓｔｕｄｙ」の各移動モードでそれぞれ異なる値を設定可能としておく。なお、これらの設定は、外部テーブルで定義可能とするとともに、ＣＧアプリケーション６操作中にオプションパネルで値を変更することも可能としておく。
【０１５４】
≪Ｄ５≫  ウォークスルーコマンド
ウォークスルーコマンドは、ウォークスルー時の操作やカメラの設定を容易にするために用意されるコマンド群である。マウス３１操作によってメニューから選択したり、あるいは、予め画面内に対応するボタンなどを表示させておいてそのクリックによって起動するようにしてもよい。ウォークスルーコマンドとしては、例えば、以下で説明するように「Ｇｏｔｏ」、「Ｆｉｔ」、「Ｖｉｅｗ  ＡＬＬ」、「注視点変更」、「Ｓｔａｎｄ」「座る」「立つ」「水平」「振り返る」が挙げられるが、これらのコマンドに限るものではない。なお、これらのコマンドによる移動では衝突判定は行わない。
【０１５５】
≪Ｄ５．１≫  「Ｇｏｔｏ」コマンド
図３６は、「Ｇｏｔｏ」コマンドの説明図である。「Ｇｏｔｏ」コマンドを指示した後にいずれかの面をクリックすることで、クリックした面に正対する位置までカメラを移動する。つまり、コマンド指示時のカメラ位置から、図３６に示すように、クリックした面から一定距離（外部テーブルで定義）の位置まで、カメラを移動する。カメラは、元視点Ｐ１が新視点Ｐ１ｎへ、元注視点Ｐ２が新注視点Ｐ２ｎへそれぞれ直線的に滑らかに移動する。
【０１５６】
このときのカメラの移動速度は、視点Ｐ１、注視点Ｐ２それぞれの移動時間をオプションパネルにて２段階（高速、低速）に切り替え可能とする。例えば、高速は１秒で移動させ、低速は３秒で移動させるように設定してもよいが、このような設定に限るものではない。この２段階の移動時間は、外部テーブルに定義可能としておく。
【０１５７】
なお、このコマンドは１度きりのコマンドであり、コマンド終了後はコマンド指示直前の状態（例えば、「Ｗａｌｋ」モードの「Ｔｕｒｎ」など）に戻す。また、「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」をＯＦＦとする。
【０１５８】
≪Ｄ５．２≫  「Ｆｉｔ」コマンド
図３７は、「Ｆｉｔ」コマンドの説明図である。「Ｆｉｔ」コマンドを指示した後にいずれかの形状を選択することで、選択した形状（選択範囲により選ばれた形状。デフォルトはＰｒｏｄｕｃｔ）がちょうどビューポートほぼ一杯に納まる位置にカメラを移動する。形状の複数選択状態での操作は不可とする。
【０１５９】
図３７に示すように、カメラの注視点Ｐ２を選択されている形状の最大最小中心とし、選択した形状がビューポート内に納まる位置まで視点Ｐ１を移動する。新視点Ｐ１ｎは、元視点Ｐ１と新注視点Ｐ２ｎを結ぶ線上で求める。視野角はそのまま維持する。「Ｆｉｔ」コマンドのカメラ移動も上述の「Ｇｏｔｏ」コマンドと同様に視点Ｐ１、注視点Ｐ２の移動時間で滑らかに移動する。
【０１６０】
このコマンドは１度きりのコマンドであり、コマンド終了後はコマンド指示直前の状態（例えば、「Ｗａｌｋ」モードの「Ｔｕｒｎ」など）に戻す。また、「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」をＯＦＦとする。
【０１６１】
また、上記のように「Ｆｉｔ」コマンドを実現することから、選択した形状が斜めになっている場合は斜めの状態でビューポートに納まることになる。また、視点Ｐ１、注視点Ｐ２は平行移動でないため、「Ｆｉｔ」前後で形状の見え方が若干変わる。
【０１６２】
≪Ｄ５．３≫  「Ｖｉｅｗ  ＡＬＬ」コマンド
「Ｖｉｅｗ  ＡＬＬ」コマンドを指示することで、全形状がビューポートに納まる位置にカメラが移動する。カメラの注視点Ｐ２を全形状の最大最小中心とする。視点Ｐ１と視野角は、「Ｆｉｔ」コマンドと同様に求める。「Ｖｉｅｗ  ＡＬＬ」コマンドによるカメラ移動も上述の「Ｇｏｔｏ」コマンドと同様に視点Ｐ１、注視点Ｐ２の移動時間で滑らかに移動する。
【０１６３】
このコマンドは１度きりのコマンドであり、コマンド終了後はコマンド指示直前の状態（例えば、「Ｗａｌｋ」モードの「Ｔｕｒｎ」など）に戻す。また、「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」をＯＦＦとする。
【０１６４】
≪Ｄ５．４≫  「注視点変更（Ｔａｒｇｅｔ）」コマンド
「注視点変更」コマンドを指示した後にいずれかの形状を指示すると、現在のカメラの注視点Ｐ２が指示された点に変更される機能である。視点Ｐ１、視野角は変更されない。
【０１６５】
このコマンドは１度きりのコマンドであり、コマンド終了後はコマンド指示直前の状態（例えば、「Ｗａｌｋ」モードの「Ｔｕｒｎ」など）に戻す。ただし、「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」はコマンド前後で変化しない。
【０１６６】
≪Ｄ５．５≫  「Ｓｔａｎｄ」コマンド
「Ｓｔａｎｄ」コマンドを指示した後に法線ベクトルのＺ成分が０でない形状（垂直でない面）を指示すると、指示した点からオプションパネルでアバターについて予め指定した視点Ｐ１の高さに視点Ｐ１の位置が移動する。注視点Ｐ２も視点Ｐ１と同じ距離を移動し、視線方向は変化しない。視野角は変更されない。
【０１６７】
「Ｓｔａｎｄ」コマンドのカメラ移動も「Ｇｏｔｏ」と同様に視点Ｐ１、注視点Ｐ２の移動時間で滑らかに移動する。「Ｓｔａｎｄ」コマンド終了後、自動的に「Ｗａｌｋ」モードに変更することで、その場に立つことを実現する。このコマンドは１度きりのコマンドであり、「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」はコマンド前後で変化しない。
【０１６８】
≪Ｄ５．６≫  「座る」コマンド
「座る」コマンドを指示した後にいずれかの座る高さ（椅子、ソファ、床）を指示すると、オプションパネルでアバターについて設定されている座ったときの視点高さ（椅子、ソファ、床）に視点Ｐ１の位置が移動する。注視点Ｐ２も視点Ｐ１と同じ高さを移動し、視線方向は変化しない。視野角は変更されない。
【０１６９】
「座る」コマンドのカメラ移動は、現在の視点Ｐ１から座っている視点Ｐ１に「座る」カメラの移動速度で滑らかに移動する。「座る」カメラの移動速度、アバターの座ったときの視点高さ（椅子、ソファ、床）は、外部テーブルに定義される。
【０１７０】
「座る」コマンド終了後、自動的に「Ｗａｌｋ」モードの「Ｔｕｒｎ」に変更する。このコマンドは１度きりのコマンドであり、「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」をＯＦＦとする。
【０１７１】
≪Ｄ５．７≫  「立つ」コマンド
「立つ」コマンドを指示すると、オプションパネルでアバターについて設定されている立っているときの視点高さに視点Ｐ１の位置が移動する。注視点Ｐ２も視点Ｐ１と同じ高さを移動し、視線方向は変化しない。視野角は変更されない。
【０１７２】
「立つ」のカメラ移動は、現在の視点Ｐ１から立っている視点Ｐ１に「立つ」カメラの移動速度で滑らかに移動する。「立つ」カメラの移動速度、アバターの立っているときの視点高さは、外部テーブルに定義される。「立つ」コマンド終了後、自動的に「Ｗａｌｋ」モードの「Ｐｌａｎ」に変更する。このコマンドは１度きりのコマンドであり、「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」はコマンド前後で変化しない。
【０１７３】
≪Ｄ５．８≫  「水平」コマンド
現在のカメラの視線を水平にする。「Ｗａｌｋ」モードと「Ｆｌｙ」モードでは、注視点Ｐ２の高さを視点高さと同じ高さに変更する。「Ｓｔｕｄｙ」モードでは、視点Ｐ１の高さを注視点Ｐ２の高さと同じ高さに変更する。
【０１７４】
このコマンドは１度きりのコマンドであり、コマンド終了後はコマンド指示直前の状態（例えば、「Ｗａｌｋ」モードの「Ｔｕｒｎ」など）に戻る。「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」はコマンド前後で変化しない。
【０１７５】
≪Ｄ５．９≫  「振り返る」コマンド
現在のカメラの視点Ｐ１の位置は固定したままで注視点Ｐ２を１８０度左回転する。注視点Ｐ２の高さは変化しない。また、視野角も変化しない。「振り返る」のカメラの移動は、注視点Ｐ２側の移動速度(度/s)で滑らかに移動する。注視点Ｐ２側の移動速度は、外部テーブルに定義される。このコマンドは１度きりのコマンドであり、コマンド終了後はコマンド指示直前の状態（例えば、「Ｗａｌｋ」モードの「Ｔｕｒｎ」など）に戻る。「Ｃｏｌｌｉｓｉｏｎ  ＯＮ／ＯＦＦ」はコマンド前後で変化しない。
【０１７６】
≪Ｄ６≫  マウス３１操作とキーボード３０操作の併用
マウス３１操作の一部にキーボード３０操作を併用するキーボードショートカットを定義し、これによってカメラの動き方などを切り換えられるようにして操作性の向上を図るようにする。具体的には、以下のようなキーボードショートカットを定義するが、これらに限るものではない。
【０１７７】
≪Ｄ６．１≫  「Ｗａｌｋ」、「Ｆｌｙ」、「Ｓｔｕｄｙ」モード共通
ウォークスルー中には真正面への前進や後退、上下左右への正確な移動などを行いたくなる場合もある。しかし、マウス３１のドラッグ操作をそのように極めて正確に行うことはそれほど容易ではない。そこで、マウス３１のドラッグ操作中にキーボード３０のＳｈｉｆｔキーが押されている場合は、真正面や真横などへの移動とみなすようにする。
【０１７８】
なお、ＣＧアプリケーション６では、マウス３１操作に対する一定の許容範囲（ピクセル数）を予め定めておき、その許容範囲内であれば真正面や真横などへの移動とみなすようにしておく。この許容範囲は、移動モードや動きとの組み合わせで変えるようにしてもよいし、操作者のスキルなどに応じて設定してもよい。
【０１７９】
≪Ｄ６．２≫  「Ｗａｌｋ」、「Ｆｌｙ」、「Ｓｔｕｄｙ」モード共通の「Ｐｌａｎ」
「Ｗａｌｋ」、「Ｆｌｙ」、「Ｓｔｕｄｙ」の各移動モードにおける「Ｐｌａｎ」の動きをしているとき、キーボード３０のＡｌｔキーが押されている場合には、「Ｐｌａｎ」の代わりに「Ｔｕｒｎ」の動きをさせる。同様に、キーボード３０のＣｔｒｌキーが押されている場合には、「Ｐｌａｎ」の代わりに「Ｐａｎ」の動きをさせるようにする。
【０１８０】
≪Ｄ６．３≫  「Ｓｔｕｄｙ」モード
キーボード３０の「↑」キー（上方向カーソルキー）および「↓」キー（下方向カーソルキー）によって、回転半径（視点Ｐ１と注視点Ｐ２の距離)の変更ができるようにする。「↑」キーを押すと注視点Ｐ２固定で視点Ｐ１が前進し、「↓」キーを押すと注視点Ｐ２固定で視点Ｐ１が後退するようにする。これらのキーを押し続けると滑らかに移動する。「↑」キーによる前進の場合、視点Ｐ１は注視点Ｐ２手前で止まり、注視点Ｐ２を越えることはない。なお、カメラの移動速度は外部テーブルに定義される。
【０１８１】
このようなキーボードショートカットは、例えば、上空から旋回・下降しながら建物を見て、徐々に近づきながらドアの前まで来る、という動作時などに有効である。
【０１８２】
なお、本発明は、その精神または主要な特徴から逸脱することなく、他のいろいろな形で実施することができる。そのため、上述の実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈してはならない。本発明の範囲は特許請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【図面の簡単な説明】
【０１８３】
【図１】本発明の一実施形態に係る住宅建築用の３次元ＣＧシステムの概略構成図である。
【図２】本実施形態に係る住宅建築用の３次元ＣＧシステムにおいて、ＣＡＤデータからの変換によって出力される建物入力用中間ファイルの階層構造の概略図である。
【図３】建物入力用中間ファイルに記述される各グループのすべてに付加される一般ユーザ属性の中で共通な属性を示す。
【図４】建物入力用中間ファイルの共通グループのうち、同一仕上げ材、同一候補色の部位形状をまとめる仕上げ材グループの一般ユーザ属性を示す。
【図５】仕上げ材グループの構造を示す。
【図６】建物入力用中間ファイルの共通グループのうち、出力される部品を種類ごとにまとめるための部品種類グループの構造を示す。
【図７】建物入力用中間ファイルの共通グループのうち、ＣＡＤデータに入力されている部材の属性および形状が記述されるＰｒｏｄｕｃｔ（部材）グループの一般ユーザ属性を示す。
【図８】建物入力用中間ファイルの共通グループのうち、形状を記述する単位であるシェルの一般ユーザ属性を示す。
【図９】家グループの一般ユーザ属性を示す。
【図１０】仕様グループの一般ユーザ属性を示す。
【図１１】外部グループの構造を示す。
【図１２】内部グループの構造を示す。
【図１３】蓋形状グループの一般ユーザ属性を示す。
【図１４】屋根グループの構造を示す。
【図１５】基礎グループの構造を示す。
【図１６】構造躯体グループの構造を示す。
【図１７】本実施形態に係る住宅建築用の３次元ＣＧシステムにおいて、ＣＡＤデータからの変換によって出力される敷地外構入力用中間ファイルの階層構造の概略図である。
【図１８】敷地外構ルートグループの一般ユーザ属性を示す。
【図１９】敷地・環境グループの構造を示す。
【図２０】外構・造園グループの構造を示す。
【図２１】点景グループの構造を示す。
【図２２】家位置グループの基本属性を示す。
【図２３】「Ｗａｌｋ」モードにおける基本的な移動の説明図である。
【図２４】「Ｆｌｙ」モードにおける基本的な移動の説明図である。
【図２５】「Ｓｔｕｄｙ」モードにおける基本的な移動の説明図である。
【図２６】「Ｗａｌｋ」モードにおける「Ｐｌａｎ」、「Ｐａｎ」、「Ｔｕｒｎ」とマウス操作の組み合わせに応じたカメラの動き方などを示す。
【図２７】「Ｗａｌｋ」モードにおけるカメラの前進および後退を示す。
【図２８】「Ｗａｌｋ」モードにおけるカメラの上下左右への移動を示す。
【図２９】「Ｆｌｙ」モードにおける「Ｐｌａｎ」、「Ｐａｎ」、「Ｔｕｒｎ」とマウス操作の組み合わせに応じたカメラの動き方などを示す。
【図３０】「Ｆｌｙ」モードにおけるカメラの前進および後退を示す。
【図３１】「Ｓｔｕｄｙ」モードにおける「Ｐｌａｎ」、「Ｐａｎ」、「Ｔｕｒｎ」とマウス操作の組み合わせに応じたカメラの動き方などを示す。
【図３２】「Ｓｔｕｄｙ」モードにおけるカメラの前進および後退を示す。
【図３３】「Ｓｔｕｄｙ」モードにおけるカメラの上下左右への移動を示す。
【図３４】各移動モードにおける衝突判定の基準位置および乗越判定の有無を示す。
【図３５】アバターに対する設定値の説明図であり、（ａ）は側面図を示し、（ｂ）は正面図を示す。
【図３６】「Ｇｏｔｏ」コマンドの説明図である。
【図３７】「Ｆｉｔ」コマンドの説明図である。
【符号の説明】
【０１８４】
１        ３次元ＣＧシステム
２        コンピュータ装置
３        入力装置
３０      キーボード
３１      マウス
３１ａ    左ボタン
３１ｂ    右ボタン
３１ｃ    ホイール
４        表示装置
５        ＣＡＤソフト
５ａ      コンバータ
６        ＣＧアプリケーション
７        ＣＡＤデータ
８        建物入力用中間ファイル
８０１    仕上げ材グループ
８０２    部品種類グループ
８０３    Ｐｒｏｄｕｃｔ（部材）グループ
８０４    Ｐｒｏｄｕｃｔ（部品）グループ
８０５    Ｐｒｏｄｕｃｔ（部屋）グループ
８０６    Ｓｈａｐｅ（図形）グループ
８０７    シェルグループ
８０８    室グループ
８０９    鳥瞰の蓋グループ
８０９０  蓋形状グループ
８１      マテリアル
８２      テクスチャ
８３      カメラ
８４      光源
８５      家ルートグループ
８５０    家グループ
８５１    仕様グループ
８５２    外部グループ
８５３    内部グループ
８５３１    ＬＤＫ
８５３１１  テーブル
８５３１２  花瓶
８５４    屋根グループ
８５５    基礎グループ
８５６    構造躯体グループ
９        敷地外構入力用中間ファイル
１０      建物出力用中間ファイル
Ｐ１      視点
Ｐ２      注視点
【図１】
2006209319.tif 000003
【図２】
2006209319.tif 000004
【図３】
2006209319.tif 000005
【図４】
2006209319.tif 000006
【図５】
2006209319.tif 000007
【図６】
2006209319.tif 000008
【図７】
2006209319.tif 000009
【図８】
2006209319.tif 000010
【図９】
2006209319.tif 000011
【図１０】
2006209319.tif 000012
【図１１】
2006209319.tif 000013
【図１２】
2006209319.tif 000014
【図１３】
2006209319.tif 000015
【図１４】
2006209319.tif 000016
【図１５】
2006209319.tif 000017
【図１６】
2006209319.tif 000018
【図１７】
2006209319.tif 000019
【図１８】
2006209319.tif 000020
【図１９】
2006209319.tif 000021
【図２０】
2006209319.tif 000022
【図２１】
2006209319.tif 000023
【図２２】
2006209319.tif 000024
【図２３】
2006209319.tif 000025
【図２４】
2006209319.tif 000026
【図２５】
2006209319.tif 000027
【図２６】
2006209319.tif 000028
【図２７】
2006209319.tif 000029
【図２８】
2006209319.tif 000030
【図２９】
2006209319.tif 000031
【図３０】
2006209319.tif 000032
【図３１】
2006209319.tif 000033
【図３２】
2006209319.tif 000034
【図３３】
2006209319.tif 000035
【図３４】
2006209319.tif 000036
【図３５】
2006209319.tif 000037
【図３６】
2006209319.tif 000038
【図３７】
2006209319.tif 000039