2008年度 システム情報科学特別演習(イントロダクトリセミナー)
サイバーフィールド実習
実世界の3次元モデル構築 第3回目
担当:システム環境情報学研究室 小野里 雅彦
最終改訂:2008年4月24日
第3回目の演習の概要
第3回目の演習では,第1回目のVRMLによるモデル定義と,第2回目で取得した
環境のVRMLモデルデータを利用した応用を作成します.
実施する内容は以下の通りです.
- 環境のVRMLモデルデータに,仮想の物体を入れ込む.
- 環境のVRMLモデルデータ中の物体や場所にアノテーション(annotation: 注釈)をつける.
- WEBブラウザで構築された環境を見て,アノテーションの内容を参照する.
仮想物体の入れ込み
まず,計測データから構築されたVRMLモデルに自分で作成したモデルを入れ込むことを
行いましょう.ここでは,
- 全体をとりまとめるVRML定義ファイル
- 環境のVRMLデータファイル
- 仮想物体のモデル定義ファイル
を分けて用意して,全体の定義ファイルの中で残りの2つのファイルを読み込んで
配置したり,スケールを変更することがよいでしょう.
背景や照明,カメラなどは全体のVRML定義ファイルの中で定義しておきます.
別のファイルを取り込むには,1回目の最後に行ったinlineを使用します.
また,使用するモデルごとにTransformノードで分離して,
translation, rotation, scaleを適切に設定して配置をしましょう.
アノテーションをつける
先ほどの仮想物体の入れ込みの応用で,環境もVRMLモデルに,
アノテーションをつけましょう.
ここでは,Anchorノードを利用した方法を例に示します.(Anchor.wrl)
#VRML V2.0 utf8
Viewpoint {
position 10 0 10
orientation 0 1 0 0.8
}
Background {
skyAngle[1.8]
skyColor[0.3 0.6 0.8]
groundColor [0.2 0.5 0.6]
}
Transform {
translation 0 0 0
children [
Transform {
translation -2 0 0
children [
Shape{
appearance
Appearance { material Material
{ diffuseColor 0.9 0.2 0.2 } }
geometry Cone{ bottomRadius 1
height 2
side TRUE
bottom TRUE }
}]
}]
}
Anchor { description "GREEN BOX"
url "box.html"
parameter "target=OTHERS"
children [
Transform {
translation 2 0 0
children [
Shape {
appearance
Appearance { material Material
{ diffuseColor 0.1 0.9 0.4 } }
geometry Box { size 1.3 1.4 1.4 }
}]
}]
}
この定義ファイルの内容を簡単に説明します.
- 2つの立体のうち,後の緑の直方体をAnchorノードの下(children)につけています.
- descriptionの後に指定したGREEN BOXという文字列は,マウスが直方体の上に
来たとき,画面に表示してくれます.
- 直方体をマウスでクリックすると,
urlで指定したところにジャンプします.
- urlでの飛び先はここではHTMLファイルを指定
していますが,VRMLのwrlファイルでも構いません.
- この例では,ジャンプするときにブラウザの別のウインドウを開くために
targetで指定をしています.
仮想世界への注釈の付与
さて,以上の内容をもとに計測した環境モデルにいろいろと注釈を
付与していきましょう.自分たちが作成した仮想物に付与してもよいです.
付与する方法としてはいろいろなものがありますが,たとえば,
- 付与する場所に小さな立体(たとえば,球や円錐,立方体など)をおいて目印とし,アンカーとする.
- 付与する場所に透明な立体を環境モデルのメッシュにオーバーラップさせておいてアンカーとする.
- 付与する場所にテキスト(あるいは常に視線方向を向くビルボード)をおき,アンカーとする.
また,クリックした結果の表示の内容に関してもいろいろと工夫してください.
演習担当:
小野里 雅彦
情報科学研究科棟5-14 内線6435