• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      虛擬場(chǎng)景中虛擬化身的應(yīng)用

      2014-10-31 08:30:08張佳杰崔朝霞何金寶
      關(guān)鍵詞:腳本語(yǔ)言瀏覽者虛擬化

      張佳杰 崔朝霞 何金寶

      針對(duì)瀏覽者在虛擬場(chǎng)景中游覽迷失方向,缺少沉浸感的問(wèn)題。提出一種有效的解決辦法,即通過(guò)添加虛擬化身使虛擬環(huán)境更活潑,更有吸引力。 利用虛擬化身,自動(dòng)帶領(lǐng)瀏覽者參觀虛擬場(chǎng)景,充分了解環(huán)境。

      虛擬現(xiàn)實(shí)技術(shù)是20世紀(jì)80年代末90年代初崛起的一項(xiàng)實(shí)用性很強(qiáng)的技術(shù)。它可以真實(shí)的模擬出現(xiàn)實(shí)世界的事物或環(huán)境,用戶(hù)投入到這種環(huán)境中,猶如“身臨其境”的感覺(jué)。但是,隨著虛擬現(xiàn)實(shí)的不斷深入,僅有景色、障礙物的三維場(chǎng)景已經(jīng)無(wú)法滿足人們視覺(jué)的需求,需要引入一些生動(dòng)的人物角色,即虛擬化身,并在虛擬化身身上完成各類(lèi)交互,來(lái)增加瀏覽者的沉浸感。

      1 建立虛擬化身模型

      當(dāng)一個(gè)虛擬的三維場(chǎng)景建好后,為了使虛擬場(chǎng)景更活潑更具吸引力,在虛擬場(chǎng)景中設(shè)計(jì)一個(gè)虛擬化身是很有必要的。虛擬化身的設(shè)計(jì)手先就是建立虛擬化身模型。目前有許多建立虛擬人體模型的方法,根據(jù)現(xiàn)有的實(shí)驗(yàn)條件和人體骨骼的構(gòu)造,采用建模的方法建立虛擬化身模型。建模過(guò)程如下:

      (1)繪出三維人體骨骼層次結(jié)構(gòu)圖

      (2)通過(guò)VRML語(yǔ)言中的坐標(biāo)變換節(jié)點(diǎn)(Transform)、內(nèi)聯(lián)結(jié)點(diǎn)(Inline)等進(jìn)行設(shè)計(jì)生成人體三維骨骼圖。

      (3)采用Avatar Studio軟件生成虛擬化身。通過(guò)Export VRML導(dǎo)出,生成wrl文件。使用Avatar Studio軟件導(dǎo)出的虛擬替身,生成的avatar.wrl文件存在類(lèi)型定義不匹配的問(wèn)題,需要修改類(lèi)型定義。Avatar Studio生成的avatar.wrl文件的PROTO節(jié)點(diǎn)position域的定義為exposedField SFVec3f position 0 0 0與后面要在Script節(jié)點(diǎn)調(diào)用position域的定義類(lèi)型不匹配,需要修改為eventIn SFVec3f position。

      2 實(shí)現(xiàn)人性化的虛擬化身

      要想得到逼真的虛擬化身,就需要使虛擬化身具有人性化,實(shí)現(xiàn)真實(shí)的人體動(dòng)作。其中最基本的就是行走,即虛擬化身在虛擬場(chǎng)景中如何引導(dǎo)瀏覽者瀏覽場(chǎng)景,在遇到障礙物時(shí)如何避障。

      通過(guò)Avatar Studio軟件生成的虛擬人能夠產(chǎn)生一些簡(jiǎn)單動(dòng)作,通過(guò)ROUTE節(jié)點(diǎn)的enentIn和eventOut域來(lái)進(jìn)行傳遞,avatar.wrl文件的動(dòng)作觸發(fā)代碼如下:

      動(dòng)效果,此時(shí)需要腳本語(yǔ)言。腳本語(yǔ)言是一種靈活的互動(dòng)效果實(shí)現(xiàn)方式。VRML中常用的腳本語(yǔ)言是ECMAScript(典型的是JavaScript)、VrmlScript和Java。JavaScript和VrmlScript是VR Pad軟件自帶的兩種腳本語(yǔ)言,只適合在簡(jiǎn)單的場(chǎng)景中使用,對(duì)于復(fù)雜的場(chǎng)景需要采用Java。這里通過(guò)加載path和obstacle文件實(shí)現(xiàn)虛擬人的導(dǎo)航路徑規(guī)劃。

      目前VRML編程接口有以下四種方式:

      1)內(nèi)嵌在VRML的Script節(jié)點(diǎn)中的描述性腳本語(yǔ)言VrmlScript和JavaScript;

      2)WWW瀏覽器+VRML插件方式,通過(guò)對(duì)VRML EAI外部創(chuàng)作接口進(jìn)行編程,允許VRML世界與網(wǎng)頁(yè)其它對(duì)象相互溝通;

      3)在VRML的Script節(jié)點(diǎn)中引用外部Java類(lèi),用來(lái)實(shí)現(xiàn)一些特殊的、VrmlScript語(yǔ)言所不能實(shí)現(xiàn)的功能;

      4)應(yīng)用VRML解釋器提供的Automation接口進(jìn)行編程。

      設(shè)計(jì)中主要使用了前三種編程接口,通過(guò)觸發(fā)器ProximitySensor來(lái)檢測(cè)用戶(hù)在場(chǎng)景中的移動(dòng),當(dāng)有用戶(hù)進(jìn)入或退出場(chǎng)景時(shí),該節(jié)點(diǎn)產(chǎn)生事件。被感應(yīng)的區(qū)域由size和center設(shè)定,它們?cè)诰植孔鴺?biāo)空間定義一個(gè)矩形區(qū)域,該區(qū)域的各條邊平行于各個(gè)主坐標(biāo)軸。當(dāng)用戶(hù)進(jìn)入該區(qū)域時(shí),將產(chǎn)生兩個(gè)事件isActive為真和enterTime為當(dāng)前時(shí)間,當(dāng)用戶(hù)離開(kāi)該區(qū)域時(shí),將產(chǎn)生兩個(gè)事件isActive為假和exitTime為當(dāng)前時(shí)間。當(dāng)用戶(hù)在該區(qū)域時(shí),位置的改變將會(huì)產(chǎn)生position_changed事件,方向的改變將產(chǎn)生orientation_changed事件。ProximitySensor的語(yǔ)法定義如下:

      在Java程序中,通過(guò)EAI獲得該P(yáng)roximitySensor的position_changed事件出口。通過(guò)EAI要求自動(dòng)捕獲事件,即當(dāng)事件發(fā)生時(shí),外部的Java代碼自動(dòng)獲得通知,并由參數(shù)獲得事件數(shù)據(jù)進(jìn)行處理。

      3 結(jié)束語(yǔ)

      虛擬現(xiàn)實(shí)是一個(gè)充滿活力,具有巨大應(yīng)用前景的高新技術(shù)領(lǐng)域。虛擬化身是虛擬現(xiàn)實(shí)領(lǐng)域一個(gè)很具有發(fā)展?jié)摿Φ姆较?。文中通過(guò)在虛擬場(chǎng)景中添加虛擬化身,來(lái)增加場(chǎng)景的活力和瀏覽者的沉浸感。未來(lái)虛擬化身將不止應(yīng)用于虛擬場(chǎng)景中,也將走入現(xiàn)實(shí)世界,服務(wù)人類(lèi),實(shí)現(xiàn)工作休息兩不誤的狀態(tài)。

      (作者單位:河北聯(lián)合大學(xué)遷安學(xué)院)

      猜你喜歡
      腳本語(yǔ)言瀏覽者虛擬化
      淺析網(wǎng)頁(yè)設(shè)計(jì)中色彩的運(yùn)用
      新媒體界面設(shè)計(jì)中視覺(jué)傳達(dá)的效率問(wèn)題研究
      基于OpenStack虛擬化網(wǎng)絡(luò)管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
      電子制作(2019年10期)2019-06-17 11:45:10
      對(duì)基于Docker的虛擬化技術(shù)的幾點(diǎn)探討
      電子制作(2018年14期)2018-08-21 01:38:20
      一種面向SSC的電信增值業(yè)務(wù)的生成方法及實(shí)現(xiàn)
      虛擬化技術(shù)在計(jì)算機(jī)技術(shù)創(chuàng)造中的應(yīng)用
      基于Unity3D的坦克大戰(zhàn)游戲設(shè)計(jì)與實(shí)現(xiàn)
      存儲(chǔ)虛擬化還有優(yōu)勢(shì)嗎?
      淺析計(jì)算機(jī)技術(shù)在flash動(dòng)畫(huà)中的應(yīng)用
      基于SiPESC平臺(tái)的Python擴(kuò)展模塊開(kāi)發(fā)
      左贡县| 长汀县| 中西区| 余庆县| 湖南省| 同德县| 富顺县| 福建省| 平顶山市| 深州市| 辽阳县| 原阳县| 抚顺县| 西华县| 鹿邑县| 黄龙县| 台江县| 保康县| 咸阳市| 金山区| 泸溪县| 东兰县| 临沂市| 海丰县| 日照市| 玛纳斯县| 庄河市| 双柏县| 定西市| 梅州市| 麦盖提县| 巴塘县| 曲麻莱县| 正定县| 白水县| 峨边| 恩平市| 宁安市| 彰化县| 曲麻莱县| 烟台市|