国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

X3D實戰基礎講座之六

2019-11-18 13:49:10
字體:
來源:轉載
供稿:網友

  在X3D場景空間中,為了能夠讓瀏覽者方便地控制自己的觀察位置和角度,X3D提供了視點節點Viewpoint。同時為了能以不同方式來瀏覽,X3D提供了NavigationInfo導航節點。

  下面就來介紹這兩個節點的使用。

  一、Viewpoint節點

  Viewpoint節點指明了一個X3D場景空間中的觀察位置和視角方向,其主要屬性如下表如下:

屬性含義默認值使用說明description 視點的文字描述 -- 指定的視點描述文字將出現在其快捷菜單上position 視點位置 0 0 10指定觀察者所在的空間位置orientation 視點方向0 0 1 0 前3個值是空間坐標點,該點和原點相連的線為方向軸,第4個值為旋轉角度(以弧度為單位)fieldOfView變焦角度 0.785398 單位是弧度,取值范圍0~3.14159,小的角度相當于長鏡頭, 大的角度相當于廣角鏡頭。jump 是否為跳轉True 馬上轉換到這個鏡頭設置 (jump值為True), 或平滑的動態轉換到這個鏡頭(jump值為False)。該屬性可能不起作用centerOfRotation旋轉中心位置0 0 0 當導航為"EXAMINE"方式時,該點為轉動中心


  簡單的示例代碼如下:

X3D實戰基礎講座之六(圖一)

  說明:上面代碼是用來以不同方位觀看圓柱體。代碼中,最難理解的就是視點的位置和視角。默認時,我們的人眼是處在+Z方向,當視點位置處在圓柱體后面時,即"Back"視點,我們人眼觀察方向仍然是向里的方向,必需由里向外觀察才能看到圓柱體,因此我們將視角繞Y軸旋轉180度。同理可以理解Top和Left視點的設置。

  結果如下圖所示。

X3D實戰基礎講座之六(圖二)

  在場景中右擊鼠標后,彈出如圖的快捷菜單,上述節點定義的視點名稱出現該菜單中,如下圖所示。

X3D實戰基礎講座之六(圖三)

  選擇Back后,場景自動動態變換,結果如下圖所示:

X3D實戰基礎講座之六(圖四)

  類似的,Top結果如下圖所示。

X3D實戰基礎講座之六(圖五)

  若將Back視點的fieldOfView屬性將原來默認的0.785398改為0.2,即:

X3D實戰基礎講座之六(圖六)

  則結果如下圖所示,注重與前面的比較。

X3D實戰基礎講座之六(圖七)
  二、 導航

  X3D提供NavigationInfo節點用來指定場景的觀看方式和替身的物理特征。所謂替身就是當我們在場景快捷菜單中選擇"顯示替身"則會在場景中出現一個人物造型,如下圖所示。不同的VRML瀏覽器插件所提供的替身造型是有所不同的。

X3D實戰基礎講座之六(圖八)

  NavigationInfo節點屬性如下:

X3D實戰基礎講座之六(圖九)

  說明:

  type用來設置在虛擬世界中導航類型和初始航行類型。type類型中共有"ANY"、"WALK"、"EXAMINE"、"FLY"和"NONE"五種選項供選擇設定。

  ANY -- 任意模式。用來表示由瀏覽器自動選擇對內容最合適的瀏覽航行方式,并可提供用戶動態更換航行類型的用戶界面。

  WALK -- 行走模式。用來指定用戶以步行的方式瀏覽VRML構建的虛擬世界,或者用放置在地面上或懸浮在地面上的交通工具來在虛擬世界探索航行。

  FLY -- 飛行模式。功能與WALK差不多,只是可以不用或者忽略重力或者隨地形而更換運行方向。

  EXAMINE -- 檢查模式。用來從各個角度觀察個別物體的查看方式。

  NONE -- 無模式用來強制用戶使用場景中提供的瀏覽機制進行瀏覽,可以去掉某些用不到的導航模式。

  另外,BS Contact還提供平移漫游、游戲等模式。

  speed用來指定用戶在虛擬世界中瀏覽場景的運行速度。speed速度的數值應為非負值,當設為0時表示用戶在虛擬現實中瀏覽時的位置是固定的,但不影響用戶在方向上和視野上的變化。speed屬性的設置在type類型為"NONE"時無效。

  headlight用來指定瀏覽器是否需要打開一個總是指向用戶注視方向的定向燈光,就像礦工頭上的燈在黑暗中行走的效果一樣。headlight屬性有兩個值,TURE為設置有效,FALSE為設置無效。

  avatarSize指定用戶在VRML瀏覽場景時在虛擬世界中的物理尺寸,可用于碰撞檢驗和地形隨動。默認值為[1.25,1.6,0.75],其中第一個數值1.25指定發生collision碰撞時用戶與發生碰撞物體之間的答應距離;第二個數值1.6指定用戶在虛擬世界中瀏覽作品時距離地面的Height高度;第三個數值0.75指定用戶在虛擬世界中瀏覽時Step跨越的高度,以便我們能夠盡可能模擬真實的人在現實世界中的攀登行為動作。

  visibilityLimit能見度限制屬性用來設置用戶在虛擬世界中瀏覽時能夠看見的最遠距離。數值為0時表示能看見無限遠,visibilityLimit必須大于或者等于0。

  由于上述屬性均可通過屬性窗口的修改進行,因此這里不在給出相應的代碼。值得一提的是,我們也可在場景快捷菜單中通過選擇"移動"子菜單中的命令項進行上述導航操作,其"移動"子菜單內容如下:

X3D實戰基礎講座之六(圖十)

  在下一講中,我們將討論場景的光照效果。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 拜城县| 平江县| 青龙| 蕉岭县| 普兰店市| 荆州市| 当涂县| 临漳县| 冕宁县| 天祝| 响水县| 九江市| 绥滨县| 乡宁县| 平罗县| 聂拉木县| 榆林市| 咸宁市| 印江| 宕昌县| 桦甸市| 巴中市| 军事| 五台县| 维西| 平乡县| 廊坊市| 泾源县| 察隅县| 隆安县| 新宁县| 密山市| 广南县| 宁安市| SHOW| 盘锦市| 曲阳县| 宁蒗| 西乡县| 剑阁县| 湘潭市|