簡單的示例代碼如下:
說明:上面代碼是用來以不同方位觀看圓柱體。代碼中,最難理解的就是視點(diǎn)的位置和視角。默認(rèn)時(shí),我們的人眼是處在+Z方向,當(dāng)視點(diǎn)位置處在圓柱體后面時(shí),即"Back"視點(diǎn),我們?nèi)搜塾^察方向仍然是向里的方向,必需由里向外觀察才能看到圓柱體,因此我們將視角繞Y軸旋轉(zhuǎn)180度。同理可以理解Top和Left視點(diǎn)的設(shè)置。
結(jié)果如下圖所示。
在場(chǎng)景中右擊鼠標(biāo)后,彈出如圖的快捷菜單,上述節(jié)點(diǎn)定義的視點(diǎn)名稱出現(xiàn)該菜單中,如下圖所示。
選擇Back后,場(chǎng)景自動(dòng)動(dòng)態(tài)變換,結(jié)果如下圖所示:
類似的,Top結(jié)果如下圖所示。
若將Back視點(diǎn)的fieldOfView屬性將原來默認(rèn)的0.785398改為0.2,即:![]()
則結(jié)果如下圖所示,注重與前面的比較。
二、 導(dǎo)航
X3D提供NavigationInfo節(jié)點(diǎn)用來指定場(chǎng)景的觀看方式和替身的物理特征。所謂替身就是當(dāng)我們?cè)趫?chǎng)景快捷菜單中選擇"顯示替身"則會(huì)在場(chǎng)景中出現(xiàn)一個(gè)人物造型,如下圖所示。不同的VRML瀏覽器插件所提供的替身造型是有所不同的。
NavigationInfo節(jié)點(diǎn)屬性如下:
說明:
type用來設(shè)置在虛擬世界中導(dǎo)航類型和初始航行類型。type類型中共有"ANY"、"WALK"、"EXAMINE"、"FLY"和"NONE"五種選項(xiàng)供選擇設(shè)定。
ANY -- 任意模式。用來表示由瀏覽器自動(dòng)選擇對(duì)內(nèi)容最合適的瀏覽航行方式,并可提供用戶動(dòng)態(tài)更換航行類型的用戶界面。
WALK -- 行走模式。用來指定用戶以步行的方式瀏覽VRML構(gòu)建的虛擬世界,或者用放置在地面上或懸浮在地面上的交通工具來在虛擬世界探索航行。
FLY -- 飛行模式。功能與WALK差不多,只是可以不用或者忽略重力或者隨地形而更換運(yùn)行方向。
EXAMINE -- 檢查模式。用來從各個(gè)角度觀察個(gè)別物體的查看方式。
NONE -- 無模式用來強(qiáng)制用戶使用場(chǎng)景中提供的瀏覽機(jī)制進(jìn)行瀏覽,可以去掉某些用不到的導(dǎo)航模式。
另外,BS Contact還提供平移漫游、游戲等模式。
speed用來指定用戶在虛擬世界中瀏覽場(chǎng)景的運(yùn)行速度。speed速度的數(shù)值應(yīng)為非負(fù)值,當(dāng)設(shè)為0時(shí)表示用戶在虛擬現(xiàn)實(shí)中瀏覽時(shí)的位置是固定的,但不影響用戶在方向上和視野上的變化。speed屬性的設(shè)置在type類型為"NONE"時(shí)無效。
headlight用來指定瀏覽器是否需要打開一個(gè)總是指向用戶注視方向的定向燈光,就像礦工頭上的燈在黑暗中行走的效果一樣。headlight屬性有兩個(gè)值,TURE為設(shè)置有效,F(xiàn)ALSE為設(shè)置無效。
avatarSize指定用戶在VRML瀏覽場(chǎng)景時(shí)在虛擬世界中的物理尺寸,可用于碰撞檢驗(yàn)和地形隨動(dòng)。默認(rèn)值為[1.25,1.6,0.75],其中第一個(gè)數(shù)值1.25指定發(fā)生collision碰撞時(shí)用戶與發(fā)生碰撞物體之間的答應(yīng)距離;第二個(gè)數(shù)值1.6指定用戶在虛擬世界中瀏覽作品時(shí)距離地面的Height高度;第三個(gè)數(shù)值0.75指定用戶在虛擬世界中瀏覽時(shí)Step跨越的高度,以便我們能夠盡可能模擬真實(shí)的人在現(xiàn)實(shí)世界中的攀登行為動(dòng)作。
visibilityLimit能見度限制屬性用來設(shè)置用戶在虛擬世界中瀏覽時(shí)能夠看見的最遠(yuǎn)距離。數(shù)值為0時(shí)表示能看見無限遠(yuǎn),visibilityLimit必須大于或者等于0。
由于上述屬性均可通過屬性窗口的修改進(jìn)行,因此這里不在給出相應(yīng)的代碼。值得一提的是,我們也可在場(chǎng)景快捷菜單中通過選擇"移動(dòng)"子菜單中的命令項(xiàng)進(jìn)行上述導(dǎo)航操作,其"移動(dòng)"子菜單內(nèi)容如下:
在下一講中,我們將討論場(chǎng)景的光照效果。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注