X3D實戰基礎講座之六
|
在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"方式時,該點為轉動中心 |
簡單的示例代碼如下:
說明:上面代碼是用來以不同方位觀看圓柱體。代碼中,最難理解的就是視點的位置和視角。默認時,我們的人眼是處在+Z方向,當視點位置處在圓柱體后面時,即"Back"視點,我們人眼觀察方向仍然是向里的方向,必需由里向外觀察才能看到圓柱體,因此我們將視角繞Y軸旋轉180度。同理可以理解Top和Left視點的設置。
結果如下圖所示。
在場景中右擊鼠標后,彈出如圖的快捷菜單,上述節點定義的視點名稱出現該菜單中,如下圖所示。
選擇Back后,場景自動動態變換,結果如下圖所示:
類似的,Top結果如下圖所示。
若將Back視點的fieldOfView屬性將原來默認的0.785398改為0.2,即:
則結果如下圖所示,注意與前面的比較。