虛擬現(xiàn)實(shí)技術(shù)虛擬現(xiàn)實(shí)畢業(yè)論文

上傳人:伴*** 文檔編號(hào):56155294 上傳時(shí)間:2022-02-20 格式:DOC 頁(yè)數(shù):57 大?。?.03MB
收藏 版權(quán)申訴 舉報(bào) 下載
虛擬現(xiàn)實(shí)技術(shù)虛擬現(xiàn)實(shí)畢業(yè)論文_第1頁(yè)
第1頁(yè) / 共57頁(yè)
虛擬現(xiàn)實(shí)技術(shù)虛擬現(xiàn)實(shí)畢業(yè)論文_第2頁(yè)
第2頁(yè) / 共57頁(yè)
虛擬現(xiàn)實(shí)技術(shù)虛擬現(xiàn)實(shí)畢業(yè)論文_第3頁(yè)
第3頁(yè) / 共57頁(yè)

下載文檔到電腦,查找使用更方便

16 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《虛擬現(xiàn)實(shí)技術(shù)虛擬現(xiàn)實(shí)畢業(yè)論文》由會(huì)員分享,可在線閱讀,更多相關(guān)《虛擬現(xiàn)實(shí)技術(shù)虛擬現(xiàn)實(shí)畢業(yè)論文(57頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 畢業(yè)設(shè)計(jì)(論文)專用紙 虛擬現(xiàn)實(shí)在超市及餐廳中的控制 學(xué) 校:昆明理工大學(xué)津橋?qū)W院 系 部:計(jì)算機(jī)科學(xué)及電子信息工程系 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 年 級(jí):2006級(jí) 學(xué)生姓名:周晨 學(xué) 號(hào):200616021107 指導(dǎo)教師:徐武 畢業(yè)設(shè)計(jì)(論文)專用紙 Virtual Reality in supermarkets and restaurants in the control University:Oxbridge College

2、,Kunming University of Science and Technology Department:Computer Science and Eletronic Information Engineering Specialty: Computer Science and Technology Class: 2006 Students’s Name: Zhou Chen Student’s Number: 200616021107 Faculty Adviser: Xu Wu 畢業(yè)設(shè)計(jì)(論文)專用紙 -第- VI -頁(yè) - 目錄 目錄 I 摘

3、要 IV 關(guān)鍵詞 IV Abstract V Key words V 前言 VI 第1章 虛擬現(xiàn)實(shí)技術(shù) 1 1.1 虛擬現(xiàn)實(shí)技術(shù)簡(jiǎn)介 1 1.1.1 虛擬現(xiàn)實(shí)技術(shù)的概念 1 1.1.2 虛擬現(xiàn)實(shí)技術(shù)的關(guān)鍵技術(shù) 1 1.2 VRML概述 2 1.2.1 VRML簡(jiǎn)介 2 1.2.2 VRML應(yīng)用和展望 2 第2章 其它技術(shù)支持——3ds max與JavaScript 4 2.1 3ds max概述 4 2.1.1 3ds max簡(jiǎn)介 4 2.1.2 3ds max的特點(diǎn) 4 2.1.3 3ds max的應(yīng)用領(lǐng)域 5 2.2 JavaSc

4、ript概述 5 2.2.1 JavaScript簡(jiǎn)介 5 第3章 使用3ds max技術(shù)構(gòu)建模型 7 3.1 3ds max構(gòu)建模型的準(zhǔn)則 7 3.2 3ds max構(gòu)建模型的基本方法 7 3.2.1 基本體建模 7 3.2.2 二維線形建模 7 3.2.3 三維修改器建模 8 3.3 利用3D制作動(dòng)畫(huà) 9 第4章 使用VRML技術(shù)構(gòu)建動(dòng)畫(huà)與交互功能 10 4.1 使用VRML構(gòu)建動(dòng)畫(huà)與交互功能的基本語(yǔ)法 10 4.1.1 使用VRML構(gòu)建動(dòng)畫(huà)的基本插補(bǔ)器類型 10 4.1.2 使用VRML構(gòu)建交互功能的基本傳感器類型 10 4.2 使用V

5、RML構(gòu)建動(dòng)畫(huà) 11 4.2.1 使用VRML構(gòu)建馬桶蓋的開(kāi)啟 11 4.2.2 使用VRML構(gòu)建壓力鍋的煙霧及開(kāi)啟 12 4.2.3 使用VRML構(gòu)建天空 13 4.3 使用VRML構(gòu)建交互功能 14 4.3.1 使用VRML構(gòu)建冰柜門開(kāi)啟的交互功能 14 4.3.2 使用VRML構(gòu)建超市收銀的交互功能 15 4.3.3 使用VRML構(gòu)建超市點(diǎn)擊收獲物品的交互功能 16 4.3.4 使用VRML構(gòu)建超市大門伸縮開(kāi)啟的交互功能 17 4.3.5 使用VRML構(gòu)建油煙機(jī)聲音的交互功能 18 4.4 使用VRML構(gòu)建視點(diǎn)、燈光 19 4.4.1 使用VR

6、ML構(gòu)建固定視點(diǎn) 19 4.4.2 使用VRML構(gòu)建跟隨視點(diǎn) 20 第5章 使用JavaScript構(gòu)建動(dòng)態(tài)場(chǎng)景的交互 23 5.1 使用JavaScript構(gòu)建動(dòng)態(tài)場(chǎng)景交互功能的實(shí)現(xiàn) 23 5.1.1 利用 JavaScript創(chuàng)建微波爐旋轉(zhuǎn)加熱動(dòng)畫(huà) 24 5.1.2 利用JavaScript構(gòu)建洗手池水龍頭的的交互功能 26 5.1.3 利用JavaScript構(gòu)建燃?xì)庠铋_(kāi)關(guān)和火焰大小的交互功能 27 5.1.4 利用JavaScript實(shí)現(xiàn)購(gòu)物車收獲物品和收銀之間切換的交互功能 30 結(jié)論 32 總結(jié)與體會(huì) 33 謝辭 34 參考文獻(xiàn) 35 附錄一

7、翻譯原文 36 附錄二 翻譯譯文 42 虛擬現(xiàn)實(shí)在超市及餐廳中的控制 摘要 虛擬現(xiàn)實(shí)(Virtual Reality,簡(jiǎn)稱VR),是一種基于可計(jì)算信息的沉浸式交互環(huán)境,具體地說(shuō),就是采用以計(jì)算機(jī)技術(shù)為核心的現(xiàn)代高科技生成逼真的視、聽(tīng)、觸覺(jué)一體化的特定范圍的虛擬環(huán)境,用戶借助必要的設(shè)備以自然的方式與虛擬環(huán)境中的對(duì)象進(jìn)行交互作用、相互影響,從而產(chǎn)生“沉浸”于等同真實(shí)環(huán)境的感受和體驗(yàn)。VR帶來(lái)了人機(jī)交互的新概念、新內(nèi)容、新方式和新方法,使得人機(jī)交互的內(nèi)容更加豐富、形象,方式更加自然、和諧。虛擬現(xiàn)實(shí)近幾年發(fā)展迅速,應(yīng)用領(lǐng)域廣,發(fā)展?jié)摿Υ螅婕坝?jì)算機(jī)圖形學(xué)、數(shù)字圖像處理技術(shù)、多媒體技

8、術(shù)、網(wǎng)絡(luò)技術(shù)、人工智能等等。它是利用計(jì)算機(jī)和虛擬現(xiàn)實(shí)硬件設(shè)備對(duì)真實(shí)世界的模擬,不僅能使人們?cè)谟斡[虛擬環(huán)境的過(guò)程中產(chǎn)生身臨其境的感覺(jué),并且還能夠與虛擬場(chǎng)景進(jìn)行交互,具備交互性、沉浸性、幻想性和多感知性等特征。本文主要探討利用3ds max 、VRML與JavaScript編程技術(shù)構(gòu)造虛擬現(xiàn)實(shí)場(chǎng)景實(shí)現(xiàn)虛擬技術(shù)在超市及餐廳中的應(yīng)用控制,達(dá)到運(yùn)用鼠標(biāo)控制場(chǎng)景內(nèi)的物品,向其發(fā)出指令使之發(fā)生相應(yīng)的運(yùn)動(dòng)變化。例如:餐廳部分中微波了的加熱旋轉(zhuǎn)、燃?xì)庠畹幕鹧嫒紵?、洗菜池的流水調(diào)控等等;超市部分中的點(diǎn)擊收獲物品、收銀功能實(shí)現(xiàn)等。 關(guān)鍵詞:超市及餐廳控制,VRML,3ds max, JavaScript

9、 Virtual Reality in supermarkets and restaurants in the control Abstract Virtual Reality (Virtual Reality, referred to as VR), is based on quantifiable information, immersive interactive environments, specifically the use of computer technology as the core of the modern high-tech generating rea

10、listic vision, hearing, touch the specific integration range of virtual environment, users with the necessary equipment in a natural way with the virtual environment interaction object, interaction, resulting in "immersion" in the same feel and experience the real environment. VR has brought a new c

11、oncept of man-machine interaction, new content, new ways and new methods to make human-computer interaction is much more rich, vivid, more natural way, harmony. In recent years the rapid development of virtual reality, wide application areas, development potential, related to computer graphics, digi

12、tal image processing technology, multimedia technology, network technology, artificial intelligence and so on. It is the use of computer hardware devices and virtual reality simulation of the real world, not only enables people to visit the virtual environment, immersive feeling generated in the pro

13、cess, and also be able to interact with the virtual scene, with interactivity, immersion, Fantasy and more aware of other features. This paper discusses the use of 3ds max, VRML and JavaScript programming construct virtual technology virtual reality scene in supermarkets and restaurants in the appli

14、cation control, use the mouse to control objects within the scene, to issue instructions and make a corresponding change in the movement. For example: The restaurant part of the rotation in the microwave the heating, gas stove's flame burning, vegetables pool water regulation, etc.; supermarket sect

15、ion click on harvest article, cashier function realization. Key words: control of supermarkets and restaurants, VRML,3ds max, JavaScript 前言 跨入21世紀(jì),人類已經(jīng)邁入數(shù)字化時(shí)代,我國(guó)信息產(chǎn)業(yè)得到迅猛發(fā)展。特別是網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)、可視化技術(shù)及虛擬現(xiàn)實(shí)系統(tǒng)的不斷更新和發(fā)展,使虛擬現(xiàn)實(shí)系統(tǒng)發(fā)展成為數(shù)字化多維信息空間技術(shù)支撐平臺(tái),并成為構(gòu)建數(shù)字虛擬環(huán)境的最重要的關(guān)鍵技術(shù)之一。虛擬現(xiàn)實(shí)語(yǔ)言作為計(jì)算機(jī)的核心技術(shù)已被廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域,例

16、如產(chǎn)品設(shè)計(jì)與性能評(píng)價(jià)、教育與娛樂(lè)、高難度和危險(xiǎn)環(huán)境下的訓(xùn)練、醫(yī)學(xué)、房地產(chǎn)等諸多領(lǐng)域,但在模擬現(xiàn)實(shí)生活方面目前的成果還相對(duì)匱乏。本系統(tǒng)的主要研究目地在于利用虛擬現(xiàn)實(shí)技術(shù)模擬出人們?cè)诂F(xiàn)實(shí)生活幾乎每天都能接觸到的一些事物場(chǎng)景,使人們可以在一個(gè)完全虛擬的世界中體會(huì)到現(xiàn)實(shí)當(dāng)中的日常生活,感覺(jué)上人們?cè)谔摂M生活中多了一個(gè)“second life”。對(duì)今后虛擬現(xiàn)實(shí)技術(shù)在日常生活方面的應(yīng)用起到引言預(yù)測(cè)的研究作用。 虛擬場(chǎng)景是計(jì)算機(jī)通過(guò)數(shù)字通訊技術(shù)勾勒出的數(shù)字化場(chǎng)景。虛擬日常生活場(chǎng)景設(shè)計(jì)是將現(xiàn)實(shí)生活中經(jīng)常接觸到、使用到的日常生活場(chǎng)景虛擬化,使人們可以在虛擬的網(wǎng)絡(luò)世界中感受到現(xiàn)實(shí)生活的蹤影。實(shí)現(xiàn)現(xiàn)實(shí)生活中的超市和

17、餐廳的基本陳設(shè)、工作流程等,對(duì)其中的核心部件進(jìn)行交互控制,是用戶可以輕松體驗(yàn)虛擬場(chǎng)景帶來(lái)的真實(shí)生活。其中交互主要包括:餐廳部分:冰柜門開(kāi)啟、微波爐加熱旋轉(zhuǎn)、洗菜池流水調(diào)控、抽油煙機(jī)音效、燃?xì)庠罨鹧嫒紵?、壓力鍋加熱霧化效果等;超市部分:伸縮門開(kāi)啟、點(diǎn)擊收獲物品、收銀結(jié)賬等等功能。 基于VRML虛擬技術(shù)的超市及餐廳虛擬場(chǎng)景設(shè)計(jì)的實(shí)現(xiàn)改變了傳統(tǒng)的真實(shí)場(chǎng)景模式,場(chǎng)景內(nèi)可以通過(guò)鼠標(biāo)操作,方便而快速地讓用戶感受到虛擬場(chǎng)景中各種部件的交互使用,創(chuàng)造一個(gè)真實(shí)的室內(nèi)場(chǎng)景空間,若再加入一些外部設(shè)備,可以使用戶產(chǎn)生沉浸感,仿佛自己真的在操控各種物體一樣。 - 第 VII 頁(yè)- 畢業(yè)設(shè)計(jì)(論文)專用紙

18、 第1章 虛擬現(xiàn)實(shí)技術(shù) 1.1 虛擬現(xiàn)實(shí)技術(shù)簡(jiǎn)介 1.1.1 虛擬現(xiàn)實(shí)技術(shù)的概念 虛擬現(xiàn)實(shí)是近年來(lái)出現(xiàn)的高新技術(shù),也稱人工環(huán)境。虛擬現(xiàn)實(shí)是利用電腦模擬產(chǎn)生一個(gè)三維空間的虛擬世界,提供使用者關(guān)于視覺(jué)、聽(tīng)覺(jué)、觸覺(jué)等感官的模擬,讓使用者如同身歷其境一般,可以及時(shí)、沒(méi)有限制地觀察三度空間內(nèi)的事物。 VRML是一項(xiàng)綜合集成技術(shù)[1],涉及計(jì)算機(jī)圖形學(xué)、人機(jī)交互技術(shù)、傳感技術(shù)、人工智能等領(lǐng)域,它用計(jì)算機(jī)生成逼真的三維視、聽(tīng)、嗅覺(jué)等感覺(jué),使人作為參與者通過(guò)適當(dāng)裝置,自然地對(duì)虛擬世界進(jìn)行體驗(yàn)和交互作用。該技術(shù)集成了計(jì)算機(jī)圖形(CG)技術(shù)、人工智能

19、、傳感技術(shù)、網(wǎng)絡(luò)并行處理等技術(shù)的最新發(fā)展成果,是一種由計(jì)算機(jī)技術(shù)輔助生成的高技術(shù)模擬系統(tǒng)。 概括地說(shuō),虛擬現(xiàn)實(shí)是人們通過(guò)計(jì)算機(jī)對(duì)復(fù)雜數(shù)據(jù)進(jìn)行可視化操作與交互的一種全新方式,與傳統(tǒng)的人機(jī)界面以及流行的視窗操作相比,虛擬現(xiàn)實(shí)在技術(shù)思想上有了質(zhì)的飛躍。 虛擬現(xiàn)實(shí)中的“現(xiàn)實(shí)”是泛指在物理意義上或功能意義上存在于世界上的任何事物或環(huán)境,它可以是實(shí)際上可實(shí)現(xiàn)的,也可以是實(shí)際上難以實(shí)現(xiàn)的或根本無(wú)法實(shí)現(xiàn)的。而“虛擬”是指用計(jì)算機(jī)生成的意思。因此,虛擬現(xiàn)實(shí)是指用計(jì)算機(jī)生成的一種特殊環(huán)境,人可以通過(guò)使用各種特殊裝置將自己“投射”到這個(gè)環(huán)境中,并操作、控制環(huán)境,實(shí)現(xiàn)特殊的目的,即人是這種環(huán)境的主宰[2]。

20、1.1.2 虛擬現(xiàn)實(shí)技術(shù)的關(guān)鍵技術(shù) 實(shí)物虛化、虛物實(shí)化和高性能的計(jì)算處理技術(shù)是VRML技術(shù)的三個(gè)主要方面。實(shí)物虛化是將現(xiàn)實(shí)世界的多維信息映射到計(jì)算機(jī)的數(shù)字空間生成相應(yīng)的虛擬世界,為高性能的計(jì)算處理提供必要的信息數(shù)據(jù)。虛物實(shí)化通過(guò)各種計(jì)算和仿真技術(shù)使計(jì)算機(jī)生成的虛擬世界中的事物所產(chǎn)生的各種刺激以盡可能自然的方式反饋給用戶。 1.2 VRML概述 1.2.1 VRML簡(jiǎn)介 VRML是英文Virtuual Reality Modeling Language ——虛擬現(xiàn)實(shí)造型語(yǔ)言的縮寫。其被廣泛應(yīng)用于Internet上創(chuàng)建充滿動(dòng)感的三維虛擬空間。它是一個(gè)可參與、可進(jìn)入、可交互的三維立體世

21、界,給人們帶來(lái)沉浸感、想象力以及動(dòng)態(tài)交互感知的效果,從而產(chǎn)生置身于真實(shí)環(huán)境中的幻想感、身臨其境的感受。 虛擬現(xiàn)實(shí)建模語(yǔ)言VRML涉及有關(guān)的基本概念和名詞是編寫VRML的基礎(chǔ),基本術(shù)語(yǔ)包括各種節(jié)點(diǎn)、域值、事件、路由、原型、場(chǎng)景及腳本等[3]。 1.2.2 VRML應(yīng)用和展望 虛擬現(xiàn)實(shí)建模語(yǔ)言VRML設(shè)計(jì),源于虛擬現(xiàn)實(shí)技術(shù),是20世紀(jì)末發(fā)展起來(lái)的設(shè)計(jì)眾多學(xué)科的高新技術(shù)。它集計(jì)算機(jī)、仿真、微電子、傳感與測(cè)量技術(shù)于一體的高新技術(shù)的融合。而虛擬現(xiàn)實(shí)建模語(yǔ)言VRML,正式利用虛擬現(xiàn)實(shí)技術(shù),在計(jì)算機(jī)中創(chuàng)建一種虛擬環(huán)境,通過(guò)視覺(jué)、聽(tīng)覺(jué)、觸覺(jué)、味覺(jué)、嗅覺(jué)以及生理反應(yīng)等感知器,使用戶產(chǎn)生一種與現(xiàn)實(shí)生活相

22、同的感受,有身臨其境的感覺(jué)甚至生理感覺(jué)。可實(shí)現(xiàn)用戶與虛擬現(xiàn)實(shí)環(huán)境直接驚醒交互。 虛擬現(xiàn)實(shí)建模語(yǔ)言(VRML)涉及計(jì)算機(jī)網(wǎng)絡(luò)、多媒體及人工智能三大領(lǐng)域,以及自然科學(xué)、社會(huì)科學(xué)和哲學(xué)等學(xué)科領(lǐng)域。具體來(lái)講,虛擬現(xiàn)實(shí)環(huán)境一般涉及計(jì)算機(jī)圖形學(xué)、圖像處理、模式識(shí)別、傳感器、語(yǔ)音處理、網(wǎng)絡(luò)技術(shù)、并行處理、人工智能等高新技術(shù),還涉及天文、地理、數(shù)學(xué)、物理、化學(xué)、美學(xué)、醫(yī)學(xué)、軍事、生理和心理等領(lǐng)域[4]。 計(jì)算機(jī)硬件技術(shù)、網(wǎng)絡(luò)技術(shù)及多媒體技術(shù)的融合與高速發(fā)展使得虛擬顯示技術(shù)獲得長(zhǎng)足的發(fā)展,是虛擬現(xiàn)實(shí)技術(shù)能在Internet上得以實(shí)現(xiàn)和發(fā)展。目前網(wǎng)站使用的均為二維圖像與動(dòng)畫(huà)網(wǎng)頁(yè),而在網(wǎng)站上采用虛擬現(xiàn)實(shí)建模語(yǔ)言

23、(VRML),則可以設(shè)計(jì)出虛擬現(xiàn)實(shí)三維立體網(wǎng)頁(yè)場(chǎng)景和立體景物。利用虛擬顯示技術(shù)可以制造一個(gè)逼真的“虛擬人”, 為醫(yī)學(xué)實(shí)習(xí)、治療、手術(shù)及科研做出貢獻(xiàn),也可應(yīng)用于軍事領(lǐng)域而設(shè)計(jì)一個(gè)“模擬戰(zhàn)場(chǎng)”來(lái)進(jìn)行大規(guī)模的高科技軍事演習(xí),既可以節(jié)省大量費(fèi)用,又使部隊(duì)得到了鍛煉。在航空航天發(fā)射中,也可以制造一個(gè)“模擬航天器”,模擬整個(gè)航天器生產(chǎn)、發(fā)射、運(yùn)行和回收的全過(guò)程。此外,還可以應(yīng)用于工業(yè)、農(nóng)業(yè)、商業(yè)、數(shù)學(xué)、娛樂(lè)和科研等方面,其應(yīng)用前景非常廣闊。總之,VRML是21世紀(jì)融計(jì)算機(jī)網(wǎng)絡(luò)、多媒體及人工智能為一體的最為優(yōu)秀的開(kāi)發(fā)工具和手段。 - 第 48 頁(yè)- 第2章 其它技術(shù)支持——3ds max與Jav

24、aScript 2.1 3ds max概述 2.1.1 3ds max簡(jiǎn)介 3D Studio Max,常簡(jiǎn)稱為3ds Max或MAX,是Autodesk公司開(kāi)發(fā)的基于PC系統(tǒng)的三維動(dòng)畫(huà)渲染和制作軟件。其前身是基于DOS操作系統(tǒng)的3D Studio系列軟件,最新版本是2010。在Windows NT出現(xiàn)以前,工業(yè)級(jí)的CG制作被SGI圖形工作站所壟斷。3D Studio Max + Windows NT組合的出現(xiàn)一下子降低了CG制作的門檻,首選開(kāi)始運(yùn)用在電腦游戲中的動(dòng)畫(huà)制作,后更進(jìn)一步開(kāi)始參與影視片的特效制作,例如X戰(zhàn)警II,最后的武士等。 在應(yīng)用范圍方面,廣泛應(yīng)用于廣告、影視、工業(yè)

25、設(shè)計(jì)、建筑設(shè)計(jì)、多媒體制作、游戲、輔助教學(xué)以及工程可視化等領(lǐng)域。擁有強(qiáng)大功能的3DS MAX被廣泛地應(yīng)用于電視及娛樂(lè)業(yè)中,比如片頭動(dòng)畫(huà)和視頻游戲的制作,深深扎根于玩家心中的勞拉角色形象就是3DS MAX的杰作。在影視特效方面也有一定的應(yīng)用。而在國(guó)內(nèi)發(fā)展的相對(duì)比較成熟的建筑效果圖和建筑動(dòng)畫(huà)制作中,3DS MAX的使用率更是占據(jù)了絕對(duì)的優(yōu)勢(shì)。根據(jù)不同行業(yè)的應(yīng)用特點(diǎn)對(duì)3DS MAX的掌握程度也有不同的要求,建筑方面的應(yīng)用相對(duì)來(lái)說(shuō)要局限性大一些,它只要求單幀的渲染效果和環(huán)境效果,只涉及到比較簡(jiǎn)單的動(dòng)畫(huà);片頭動(dòng)畫(huà)和視頻游戲應(yīng)用中動(dòng)畫(huà)占的比例很大,特別是視頻游戲?qū)巧珓?dòng)畫(huà)的要求要高一些;影視特效方面的應(yīng)用

26、則把3DS MAX的功能發(fā)揮到了極至。 2.1.2 3ds max的特點(diǎn) 1、功能強(qiáng)大,擴(kuò)展性好。 建模功能強(qiáng)大,在角色動(dòng)畫(huà)方面具備很強(qiáng)的優(yōu)勢(shì),另外豐富的插件也是其一大亮點(diǎn)。 2、操作簡(jiǎn)單,容易上手。 與強(qiáng)大的功能相比,3ds max可以說(shuō)是最容易上手的3D軟件。 3、和其它相關(guān)軟件配合流暢。 4、做出來(lái)的效果非常的逼真。 2.1.3 3ds max的應(yīng)用領(lǐng)域 1、游戲動(dòng)畫(huà) 主要客戶有EA、Epic、SEGA等,大量應(yīng)用于游戲的場(chǎng)景、角色建模和游戲動(dòng)畫(huà)制作。 2、建筑動(dòng)畫(huà) 北京申奧宣傳片等。 3、室內(nèi)設(shè)計(jì) 在3ds max等軟件中,可以制作出3D模型,可用于室內(nèi)

27、設(shè)計(jì)、例如沙發(fā)模型、客廳模型、餐廳模型、臥室模型等等。 4、影視動(dòng)畫(huà) 《阿凡達(dá)》《諸神之戰(zhàn)》等好萊塢電影都引進(jìn)了先進(jìn)的3D技術(shù)。 2.2 JavaScript概述 2.2.1 JavaScript簡(jiǎn)介 JavaScript是NetScape公司為Navigator瀏覽器開(kāi)發(fā)的,是寫在HTML文件中的一種腳本語(yǔ)言,能實(shí)現(xiàn)網(wǎng)頁(yè)內(nèi)容的交互顯示[5]。當(dāng)用戶在客戶端顯示該網(wǎng)頁(yè)時(shí),瀏覽器就會(huì)執(zhí)行JavaScript程序,用戶通過(guò)交互式的操作來(lái)變換網(wǎng)頁(yè)的內(nèi)容,以實(shí)現(xiàn)HTML語(yǔ)言所不能實(shí)現(xiàn)的效果。 JavaScript是一種描述性的腳本語(yǔ)言,將JavaScript寫入到Web頁(yè)面當(dāng)中,能讓你

28、的網(wǎng)頁(yè)更加生動(dòng)活潑,也是目前網(wǎng)頁(yè)中設(shè)計(jì)中最容易學(xué)又最方便的語(yǔ)言。你可以利用JavaScript輕易的做出親切的歡迎訊息、漂亮的數(shù)字鐘、有廣告效果的跑馬燈及簡(jiǎn)易的選舉,還可以顯示瀏覽器停留的時(shí)間。讓這些特殊效果提高網(wǎng)頁(yè)的可觀性[6]。 在VRML中,Script節(jié)點(diǎn)包含一個(gè)腳本程序。這個(gè)程序是用JavaScript或Java寫的,Script節(jié)點(diǎn)腳本可以接收事件,處理事件中的信息,還可以產(chǎn)生基于處理結(jié)果的輸出事件。Script節(jié)點(diǎn)不創(chuàng)建任何造型,所以它在虛擬世界中也是看不到的。Script節(jié)點(diǎn)可以作為子節(jié)點(diǎn)包含在任何組節(jié)點(diǎn)中,但它不依靠于所使用的系統(tǒng),而且與子節(jié)點(diǎn)所作的選擇無(wú)關(guān)。Script節(jié)

29、點(diǎn)一般放在VRML文件的最外層組。 利用程序腳本和Script節(jié)點(diǎn),可以差生復(fù)雜動(dòng)作。通常程序腳本動(dòng)作包括已計(jì)算好的動(dòng)畫(huà)運(yùn)動(dòng)路徑的輸出。Script節(jié)點(diǎn)可以看作是一個(gè)節(jié)點(diǎn)的外殼:它擁有field域、eventIn事件、eventOut事件,然而可以通過(guò)程序腳本來(lái)賦予腳本節(jié)點(diǎn)的動(dòng)作??梢赃@樣理解Script節(jié)點(diǎn):通過(guò)接受eventIn事件調(diào)用了相應(yīng)的處理過(guò)程函數(shù),經(jīng)過(guò)程函數(shù)處理后得出的數(shù)據(jù)作為eventOut出事件發(fā)送出去,其中eventIn事件的值可以作為過(guò)程函數(shù)的因變量的值,如果需要?jiǎng)t用field域定義某個(gè)中間變量。 無(wú)論Script節(jié)點(diǎn)是直接包含程序腳本,還是將其放在分立的文件中,Sc

30、ript節(jié)點(diǎn)的程序腳本定義了此節(jié)點(diǎn)的動(dòng)作。這些動(dòng)作可以包含由接口eventIn接收的輸入的響應(yīng),計(jì)算新的結(jié)果,將這些結(jié)果存入節(jié)點(diǎn)的接口域,通過(guò)節(jié)點(diǎn)的接口eventOut發(fā)出新值。 JavaScript繼承了Java語(yǔ)言的面向?qū)ο?、跨平臺(tái)等多想特點(diǎn),有人認(rèn)為它是為了快速、簡(jiǎn)單地編程而出現(xiàn)的微型Java語(yǔ)言。鑒于JavaScript在網(wǎng)頁(yè)設(shè)計(jì)中成功應(yīng)用并成為主導(dǎo)編程語(yǔ)言,VRML也將JavaScript作為內(nèi)嵌編程語(yǔ)言的候選者之一,大部分VRML瀏覽器都支持JavaScript編寫的腳本程序。雖然JavaScript對(duì)于大多數(shù)應(yīng)用來(lái)說(shuō)已經(jīng)足夠,但VRML的倡導(dǎo)者之一SGI公司還是基于語(yǔ)言開(kāi)發(fā)了專

31、門針對(duì)VRML設(shè)計(jì)的Vrmlscript語(yǔ)言。Vrmlscript可以說(shuō)是JavaScript的一個(gè)子集,它使用了JavaScript的基本語(yǔ)法,增加了一些適用于VRML的JavaScript對(duì)象。如果Script節(jié)點(diǎn)內(nèi)直接包含使用這兩種語(yǔ)言之一編寫的程序腳本,為了使瀏覽器能夠區(qū)分開(kāi),必須在url域的字符串開(kāi)頭注明“VrmlScript:”還是“JavaScript:”。JavaScript對(duì)VRML場(chǎng)景的訪問(wèn)并不是一定要通過(guò)Script節(jié)點(diǎn),如果VRML場(chǎng)景與HTML頁(yè)面的其它對(duì)象相結(jié)合,比如使用了JavaScript對(duì)象,就可以使用直接訪問(wèn)的方式[7]。 第3章 使用3ds max

32、技術(shù)構(gòu)建模型 3.1 3ds max構(gòu)建模型的準(zhǔn)則 一個(gè)虛擬現(xiàn)實(shí)場(chǎng)景在計(jì)算機(jī)上演示流暢與否,與場(chǎng)景中的模型個(gè)數(shù)、模型面數(shù)、模型貼圖這三個(gè)方面的數(shù)據(jù)量息息相關(guān),只有在前期建模時(shí)處理好這三個(gè)方面的數(shù)據(jù)量,才不會(huì)導(dǎo)致后期演示時(shí)出現(xiàn)卡、頓等現(xiàn)象。 3.2 3ds max構(gòu)建模型的基本方法 3.2.1 基本體建模 3ds max中提供了非常容易使用的【標(biāo)準(zhǔn)基本體】及【標(biāo)準(zhǔn)幾何體】建模工具,只需拖動(dòng)鼠標(biāo),即可創(chuàng)建一個(gè)幾何體。這些基本體靠參數(shù)來(lái)改變形態(tài)的,用這些基本體可以制作一些簡(jiǎn)單的造型。 ·沙發(fā)建模、房屋建模 圖3-1 沙發(fā)的效果圖

33、 圖3-2 房屋的效果圖 3.2.2 二維線形建模 二維線形在建模中起著非常重要的作用,通常我們建立的三維模型大都是先創(chuàng)建二維線形,然后添加相應(yīng)的修改命令來(lái)完成的。二維線形也可以直接在建模中使用,它提供了【頂點(diǎn)】、【線段】、【樣條線】等修改級(jí)別,用二維線形繪制復(fù)雜的造型,必須給它添加適當(dāng)?shù)木庉嬓薷拿?,通過(guò)這些命令使二維線形生成三維物體,一步步繪制出復(fù)雜的結(jié)構(gòu)造型。常見(jiàn)的修改命令如【擠出】、【車削】、【倒角】、【倒角剖面】、【放樣】等。 ·洗手池建模、油煙機(jī)建模 圖3-3 洗菜池的效果圖

34、 圖3-4油煙機(jī)的效果圖 3.2.3 三維修改器建模 在3ds max的修改工具中有大量的三維修改命令,通過(guò)使用這些三維修改命令可以對(duì)三維對(duì)象進(jìn)行一些復(fù)雜的變形和編輯,可以快捷地創(chuàng)建一些精度要求很高的復(fù)雜三維造型。常見(jiàn)的修改命令如【FFD】等。 ·購(gòu)物車建模、壓力鍋建模 圖3-7 購(gòu)物車的效果圖 圖3-8 壓力鍋的效果圖 ·收款機(jī)建模 圖3-9 收款機(jī)的效果圖 3.3 利用3D制作動(dòng)畫(huà) 在3ds max中可以制作場(chǎng)景動(dòng)畫(huà),導(dǎo)入進(jìn)VRML里做必要的處

35、理可以形成物體交互的動(dòng)畫(huà),方便快捷的模擬出現(xiàn)實(shí)生活的場(chǎng)景。 創(chuàng)建動(dòng)畫(huà)的方法: (1)單擊“自動(dòng)創(chuàng)建關(guān)鍵點(diǎn)”按鈕,開(kāi)啟動(dòng)畫(huà)功能。 (2)激活所需視圖上需要變化的物體,改變其相對(duì)位置,確定好方位后點(diǎn)擊打點(diǎn)按鈕,定下關(guān)鍵幀。依此類推。 (3)激活透視圖,觀察最終動(dòng)畫(huà)并加以修改。 (4)如圖3-10、3-11、3-12所示收銀場(chǎng)景應(yīng)用動(dòng)畫(huà)的最終效果。 圖3-10收銀場(chǎng)景動(dòng)畫(huà)應(yīng)用的原始圖 圖3-11收銀場(chǎng)景動(dòng)畫(huà)應(yīng)用的過(guò)程圖 圖3-12收銀場(chǎng)景動(dòng)畫(huà)應(yīng)用的最終效果圖 第4章 使用VRML技術(shù)構(gòu)建動(dòng)畫(huà)與交

36、互功能 4.1 使用VRML構(gòu)建動(dòng)畫(huà)與交互功能的基本語(yǔ)法 4.1.1 使用VRML構(gòu)建動(dòng)畫(huà)的基本插補(bǔ)器類型 Timesensor節(jié)點(diǎn)的作用像一個(gè)時(shí)鐘,它可以被用來(lái)執(zhí)行開(kāi)始、停止或者其他控制動(dòng)畫(huà)的動(dòng)作。隨著時(shí)間的流逝,這個(gè)傳感器就會(huì)產(chǎn)生事件來(lái)表示時(shí)間的變化。通過(guò)將這些事件從Timesensor節(jié)點(diǎn)的eventOut路由到其他節(jié)點(diǎn),當(dāng)Timesensor節(jié)點(diǎn)的時(shí)鐘計(jì)時(shí)時(shí),可以使這些節(jié)點(diǎn)發(fā)生相應(yīng)的變化[8]。若要使一個(gè)坐標(biāo)系平移、旋轉(zhuǎn)和按比例縮放的話,可以將Timesensor節(jié)點(diǎn)時(shí)間路由至PositionInterpolator和OrientationInerpolator節(jié)點(diǎn)。這些節(jié)點(diǎn)

37、中每一個(gè)產(chǎn)生新的位置和旋轉(zhuǎn)值,并通過(guò)他們的eventOut事件傳送這些值。按順序?qū)⑦@些值路由到Transform節(jié)點(diǎn),就可以使節(jié)點(diǎn)的坐標(biāo)系隨動(dòng)畫(huà)過(guò)程的發(fā)展而發(fā)生平移、旋轉(zhuǎn)和按比例縮放。 根據(jù)其所插值的類型而將插補(bǔ)器節(jié)點(diǎn)分為幾種[9]:PositionInterpolator位置插補(bǔ)器(用于造型位置的變化,和時(shí)間傳感器結(jié)合一起可以隨時(shí)間改變對(duì)象的位置,從而創(chuàng)建對(duì)象移動(dòng)的效果。同時(shí),這個(gè)節(jié)點(diǎn)還可以用來(lái)控制對(duì)象的縮放,實(shí)現(xiàn)對(duì)象大小和形狀的變化)。OrientationInterpolator方向插補(bǔ)器(用于對(duì)象的朝向變化,也就是隨著時(shí)間的變化,對(duì)象繞某個(gè)軸,逐漸旋轉(zhuǎn)不同的角度,體現(xiàn)出對(duì)象的方位的動(dòng)

38、態(tài)變化。)ColorInterpolator顏色插補(bǔ)器(描述顏色隨時(shí)間的變化,從而使得造型的顏色呈現(xiàn)一種靈活、生動(dòng)的變化效果)。ScalarInterpolator標(biāo)量插補(bǔ)器(對(duì)某些標(biāo)量數(shù)值的域進(jìn)行插補(bǔ)的,一般用于只有單一的數(shù)值表示的域,比如改變強(qiáng)度,可以調(diào)節(jié)光照,霧的濃度。材質(zhì)的透明度等等)。NormalInterpolator法向插補(bǔ)器(能夠隨時(shí)間改變vector的三維向量域值)。CoordinateInterpolator坐標(biāo)插補(bǔ)器(對(duì)空間坐標(biāo)的數(shù)值進(jìn)行插補(bǔ),但是同位置插補(bǔ)器的情況不同,坐標(biāo)插補(bǔ)器往往不是用在對(duì)造型對(duì)象的位置坐標(biāo)上,而是用在構(gòu)成某類對(duì)象的空間坐標(biāo)上。) 4.1.2 使

39、用VRML構(gòu)建交互功能的基本傳感器類型 在虛擬場(chǎng)景中設(shè)置了一些具有檢測(cè)、感知作用的節(jié)點(diǎn),借助這些節(jié)點(diǎn)的使用,瀏覽者和虛擬對(duì)象能夠?qū)崿F(xiàn)更進(jìn)一步的交互[10]。 Touchsensor是一種用來(lái)檢測(cè)觀察者的接觸和將事件輸出的傳感器。這些輸出描述了在何時(shí)、何地觀察者接觸到了可感知的造型。CylinderSensor,PlaneSensor和SphereSensor節(jié)點(diǎn)也可用來(lái)檢測(cè)何時(shí)觀察者接觸到一個(gè)可感知的造型[11],并且提供了用來(lái)改變?cè)煨臀恢煤头较虻妮敵?。檢測(cè)器可以分為兩大類,一類是接觸型的傳感器,另一類是感知性的檢測(cè)器。 檢測(cè)動(dòng)作的檢測(cè)器是接觸型檢測(cè)器[12],節(jié)點(diǎn)有:TouchSens

40、or接觸傳感器(用于感知用戶鼠標(biāo)觸發(fā)的動(dòng)作)、PlaneSensor平面?zhèn)鞲衅?感知用戶在XOY平面上鼠標(biāo)拖拽動(dòng)作)、SphereSensor球面?zhèn)鞲衅?用于感知用戶繞中心點(diǎn)拖拽旋轉(zhuǎn)的動(dòng)作)及CylinderSensor圓柱傳感器(用于感知用戶繞中心軸拖拽旋轉(zhuǎn)的動(dòng)作)。 檢測(cè)用戶和對(duì)象接近程度的檢測(cè)器是感知檢測(cè)器,節(jié)點(diǎn)有: VisibilitySensor可見(jiàn)性傳感器(從瀏覽者所在的方位,感知一個(gè)空間長(zhǎng)方體區(qū)域,在當(dāng)前場(chǎng)景中是否可以被看見(jiàn),據(jù)此輸出事件觸發(fā)動(dòng)畫(huà)效果),ProximitySensor鄰近傳感器 (用于從瀏覽者視點(diǎn)所在的方位,感知用戶進(jìn)入、退出設(shè)定的空間長(zhǎng)方體區(qū)域的動(dòng)作), Co

41、llision碰撞感知節(jié)點(diǎn)(用于從瀏覽者所在的方位,感知用戶與該組中任何子節(jié)點(diǎn)造型發(fā)生碰撞動(dòng)作)。 4.2 使用VRML構(gòu)建動(dòng)畫(huà) 4.2.1 使用VRML構(gòu)建馬桶蓋的開(kāi)啟 在現(xiàn)實(shí)生活中,人們可以通過(guò)點(diǎn)擊按鈕來(lái)沖洗馬桶,為此,在本次設(shè)計(jì)中通過(guò)使用OrientationInterpolator來(lái)實(shí)現(xiàn)這一功能,并配有沖洗馬桶的聲音。如圖4-1、4-2所示功能實(shí)現(xiàn)。 以下所示為實(shí)現(xiàn)馬桶蓋關(guān)閉的代碼: DEF gaizi Transform{ } DEF clock1 TimeSensor {cycleInterval 1 loop FALSE } DEF a1 Orient

42、ationInterpolator { key [0.0 0.1 ……0.9 1 ] keyValue [0 1 1 3.14……0 -1 0 3.14]} DEF s TouchSensor {} Sound {source DEF zb AudioClip {url "matong.mp3"}} ROUTE s.touchTime TO zb.startTime ROUTE clock1.fraction_changed TO a1.set_fraction ROUTE a1.value_changed TO gaizi.set_rotation

43、 圖4-1馬桶蓋關(guān)閉動(dòng)畫(huà)的原始圖 圖4-2馬桶蓋關(guān)閉動(dòng)畫(huà)的最終效果圖 在這個(gè)程序中,第一條路由的作用是把接觸傳感器s的touchTime事件域傳遞域值給聲音AudioClip zb的startTime域,開(kāi)啟聲音;第二條路由的作用是時(shí)間傳感器 clock1的fraction_changed事件域傳遞域值給方位插補(bǔ)器OrientationInterpolator a1的set_fraction域;最后一條路由是方位插補(bǔ)器OrientationInterpolator a1的value_changed事件域傳遞域值給Transform節(jié)點(diǎn)gaizi的set_

44、rotation域,完成動(dòng)馬桶蓋關(guān)閉動(dòng)畫(huà)的全過(guò)程。 4.2.2 使用VRML構(gòu)建壓力鍋的煙霧及開(kāi)啟 在顯示生活中壓力鍋工作中會(huì)有煙霧產(chǎn)生,通過(guò)VRML和cosmo worlds創(chuàng)建煙霧動(dòng)畫(huà)和鍋的開(kāi)啟,還原真實(shí)場(chǎng)景。如圖4-3、4-4所示功能實(shí)現(xiàn)。 以下所示為實(shí)現(xiàn)煙霧動(dòng)畫(huà)代碼: DEF _12 TimeSensor {} DEF steam-AniTrigger_13 Script { eventIn SFTime triggerIn eventOut SFTime startTime eventOut SFBool firstTime url

45、"javascript:function triggerIn(value, time) { startTime = value; firstTime = FALSE; }} ROUTE steam-AniTrigger_13.firstTime TO _12.set_enabled ROUTE _12.time TO steam-AniTrigger_13.triggerIn 圖4-3壓力鍋煙霧動(dòng)畫(huà)的原始圖 圖4-4壓力鍋煙霧動(dòng)畫(huà)的最終效果圖 程序中第一條路由的作用是腳本steam-AniTrigger_13的firs

46、tTime事件域傳遞域值給時(shí)間傳感器_12的set_enabled域;第二條路由作用是時(shí)間傳感器_12的time事件域傳遞域值給steam-AniTrigger_13的triggerIn域,實(shí)現(xiàn)煙霧動(dòng)畫(huà)。 4.2.3 使用VRML構(gòu)建天空 在虛擬現(xiàn)實(shí)中搭建外環(huán)境,模仿真實(shí)天空,增加場(chǎng)景的真實(shí)感。如圖4-5所示為天空效果圖。 以下所示為實(shí)現(xiàn)真實(shí)感天空的代碼: DEF SkyInterp ScalarInterpolator { key [ 0, 1 ] keyValue [ 0, 1 ]} textureTransform DEF _34 TextureTransform {

47、 } DEF SkyTimer TimeSensor {} DEF SkyMove Script { eventIn SFFloat floatIN eventOut SFVec2f coordsOUT url "javascript: function floatIN (value, timestamp){ coordsOUT[0] = value; } }] ROUTE SkyMove.coordsOUT TO _34.set_translation ROUTE SkyTimer.fraction_changed TO SkyInterp.se

48、t_fraction ROUTE SkyInterp.value_changed TO SkyMove.floatIN } 圖4-5真實(shí)感天空實(shí)現(xiàn)的效果圖 程序中第一條路由的作用是腳本SkyMove的coordsOUT事件域傳遞域值給_34的set_translation域;第二條路由作用是時(shí)間傳感器SkyTimer的fraction_changed事件域傳遞域值給標(biāo)量插補(bǔ)器SkyInterp的set_fraction域;第三條路由是標(biāo)量插補(bǔ)器SkyInterp的value_changed事件域傳遞域值給腳本SkyMove的floatIN域,實(shí)現(xiàn)云飄動(dòng)的動(dòng)畫(huà)。 4.3 使用VR

49、ML構(gòu)建交互功能 4.3.1 使用VRML構(gòu)建冰柜門開(kāi)啟的交互功能 “虛擬現(xiàn)實(shí)在超市及餐廳中的應(yīng)用”為用戶提供了場(chǎng)景中物體的一些基本的交互功能,用戶可以通過(guò)操作鼠標(biāo)對(duì)場(chǎng)景中的物體進(jìn)行實(shí)時(shí)交互控制。當(dāng)程序接收到事件響應(yīng)后,通過(guò)一系列傳感器控制物體發(fā)生運(yùn)動(dòng)。如圖4-6、4-7所示為冰柜門開(kāi)啟效果圖。 以下所示為實(shí)現(xiàn)冰柜門開(kāi)啟的交互功能的代碼: DEF men1 Transform { } DEF s1_sensor PlaneSensor { maxPosition 30 0 } ROUTE s1_sensor.translation_changed TO men1.set

50、_translation 圖4-6冰柜門開(kāi)啟的交互功能的原始圖 圖4-7冰柜門開(kāi)啟的交互功能的最終效果圖 在該程序中路由的作用是平面?zhèn)鞲衅鱯1_sensor的translation_changed事件域傳遞域值給men1的set_translation域,完成鼠標(biāo)控制冰柜門開(kāi)啟的動(dòng)畫(huà)。 4.3.2 使用VRML構(gòu)建超市收銀的交互功能 利用VRML里的多種傳感器還原現(xiàn)實(shí)生活中中超市購(gòu)物收銀場(chǎng)景,同時(shí)配有聲音,使人們真正感受到虛擬生活帶來(lái)的沉浸感、真實(shí)感。如圖4-8、4-9所示為超市收銀功能的實(shí)現(xiàn)。 以下為實(shí)現(xiàn)超市收銀功能的代碼:

51、 DEF Arch_44 FACES01 Transform { children [ DEF wu2 TouchSensor {} DEF V2Grp01-TIMER TimeSensor { loop FALSE cycleInterval 1.667 }, DEF Arch_44 PositionInterpolator { key [0, 0.06……0.96, 1, ] keyValue [0 0 0, 0.5283 1.394 -0.9639,……-0.6594 16.37 -8.592, ] }, Sound { source DEF mtg AudioClip

52、 {url "chaoshi1.mp3"}] ROUTE wu2.touchTime TO V2Grp01-TIMER.startTime ROUTE wu2.touchTime TO mtg.startTime ROUTE V2Grp01-TIMER.fraction_changed TO Arch_44.set_fraction ROUTE Arch_44.value_changed TO Arch_44 FACES01.set_translation 圖4-8超市收銀功能實(shí)現(xiàn)的原始圖 圖4-9超市收銀功能實(shí)現(xiàn)的最終效

53、果圖 程序中第一條路由的作用是接觸傳感器wu2的touchTime事件域傳遞域值給時(shí)間傳感器V2Grp01-TIMER的startTime域;第二條路由是接觸傳感器wu2的touchTime事件域傳遞域值給AudioClip mtg的startTime域;第三條路由作用是時(shí)間傳感器V2Grp01-TIMER的fraction_changed事件域傳遞域值給位置插補(bǔ)器Arch_44的set_fraction域;第四條路由是位置插補(bǔ)器Arch_44的value_changed事件域傳遞域值給Transform節(jié)點(diǎn)Arch_44 FACES01的set_translation域,完成收銀功能的動(dòng)畫(huà)

54、。 4.3.3 使用VRML構(gòu)建超市點(diǎn)擊收獲物品的交互功能 利用VRML里的多種傳感器還原現(xiàn)實(shí)生活中中超市購(gòu)物,點(diǎn)擊相應(yīng)物品物品自動(dòng)飛入購(gòu)物車中,實(shí)現(xiàn)方法原理與收款相似。如圖4-10、4-11所示為超市點(diǎn)擊受收獲物品功能的實(shí)現(xiàn)。 以下為實(shí)現(xiàn)超市收獲物品功能的代碼: DEF yi4 Transform { children [ DEF n4Trigger TouchSensor { } DEF n41 KfaAnimation { timeSensor DEF Time_22 TimeSensor { } fieldInterps [ DEF n4Translation

55、Interp KfaPositionInterpolator { key [ 0, 0.02, …… 1 ] keyTypes [ 2, 2 ] authorKey [ 0, 1 ] keyValue [ 0 0 0,……-15 -35 10 ] authorKeyValue [ 0 0 0,……-15 -35 10 ]} ] } ]} ROUTE n4Trigger.touchTime TO Time_22.set_startTime ROUTE Time_22.fraction_changed TO n4TranslationInterp.set_fraction RO

56、UTE n4TranslationInterp.value_changed TO yi4.set_translation 圖4-10點(diǎn)擊收獲物品功能實(shí)現(xiàn)的原始圖 圖4-11點(diǎn)擊收獲物品功能實(shí)現(xiàn)的最終效果圖 本程序中第一條路由的作用是接觸傳感器n4Trigger的touchTime事件域傳遞域值給時(shí)間傳感器Time_22的set_startTime域;第二條路由是時(shí)間傳感器Time_22的fraction_changed事件域傳遞域值給位置插補(bǔ)器n4TranslationInterp的set_fraction域;第三條路由作用是位置插補(bǔ)器n4

57、TranslationInterp的value_changed事件域傳遞域值給Transform節(jié)點(diǎn)yi4的set_translation域,完成點(diǎn)擊收獲物品交互動(dòng)畫(huà)。 4.3.4 使用VRML構(gòu)建超市大門伸縮開(kāi)啟的交互功能 利用VRML里的多種傳感器還原現(xiàn)實(shí)生活中中超市購(gòu)物,點(diǎn)擊大門,大門自動(dòng)伸縮開(kāi)啟,實(shí)現(xiàn)方法原理與收款相似。如圖4-12、4-13所示為超市大門伸縮開(kāi)啟功能的實(shí)現(xiàn)。 以下為實(shí)現(xiàn)超市大門伸縮開(kāi)啟功能的代碼: DEF UnnamedAnimation0Trigger_1 TouchSensor { } DEF Time_8 TimeSensor { startTime

58、 -1 cycleInterval 5 } actors USE V2Grp01 fieldInterps [ DEF V2Grp01TranslationInterp_9 KfaPositionInterpolator { key [ 0, 0.02, 0.04, 0.06,……0.96, 0.98, 1 ] keyTypes [ 2, 2 ] authorKey [ 0, 1 ] keyValue [ 0 -0.432509 0.00349385,……1.00004 5.3063 0.0048702 ] authorKeyValue [ 0 -0.432509 0.00

59、349385,…… 1.00004 5.3063 0.0048702 ]} }] } ROUTE UnnamedAnimation0Trigger_1.touchTime TO Time_8.set_startTime ROUTE Time_8.fraction_changed TO V2Grp01TranslationInterp_9.set_fraction ROUTE V2Grp01TranslationInterp_9.value_changed TO V2Grp01.set_translation 圖4-12超市大門伸縮開(kāi)啟功能實(shí)現(xiàn)的原始圖

60、 圖4-13超市大門伸縮開(kāi)啟功能實(shí)現(xiàn)的最終效果圖 程序中第一條路由的作用是接觸傳感器UnnamedAnimation0Trigger_1的touchTime事件域傳遞域值給時(shí)間傳感器Time_8的set_startTime域;第二條路由作用是時(shí)間傳感器Time_8的fraction_changed事件域傳遞域值給位置插補(bǔ)器V2Grp01TranslationInterp_9的set_fraction事件域;第三條路由作用是位置插補(bǔ)器V2Grp01TranslationInterp_9的value_changed事件域傳遞域值給Transform節(jié)點(diǎn)V2Grp01的set_translati

61、on域,完成超市大門伸縮開(kāi)啟動(dòng)畫(huà)。 4.3.5 使用VRML構(gòu)建油煙機(jī)聲音的交互功能 利用VRML里的touchsensor實(shí)現(xiàn)現(xiàn)實(shí)生活中中抽煙煙機(jī)的工作,同時(shí)配有聲音的開(kāi)啟和關(guān)閉,使人們可以交互控制虛擬的場(chǎng)景。如圖4-14所示為抽油煙機(jī)工作功能的實(shí)現(xiàn)。 以下為實(shí)現(xiàn)抽油煙機(jī)工作功能的代碼: DEF anniutouch01 TouchSensor {} DEF anniutouch02 TouchSensor {} DEF shengyin Sound { source DEF youyan AudioClip { loop FALSE}} ROUTE anni

62、utouch01.touchTime TO youyan.startTime ROUTE anniutouch02.touchTime TO youyan.stopTime 圖4-14抽油煙機(jī)工作功能實(shí)現(xiàn)的效果圖 在該程序中第一條路由的作用是接觸傳感器anniutouch01的touchTime事件域傳遞域值給AudioClip youyan的startTime域,開(kāi)啟聲音;第二條路由作用是接觸傳感器anniutouch02的touchTime事件域傳遞域值給AudioClip youyan的stopTime域,關(guān)閉聲音,完成聲音交互。 4.4 使用VRML構(gòu)建視點(diǎn)、燈光 4.

63、4.1 使用VRML構(gòu)建固定視點(diǎn) 在一個(gè)完整的虛擬現(xiàn)實(shí)場(chǎng)景中應(yīng)有各個(gè)角度方面的視角,通過(guò)各個(gè)視角的切換來(lái)系統(tǒng)完整的了解整個(gè)場(chǎng)景,本系統(tǒng)中一共設(shè)計(jì)了13個(gè)視點(diǎn),一邊系統(tǒng)完整的觀察整個(gè)場(chǎng)景;加入燈光效果使整個(gè)場(chǎng)景變得通透明亮,更便于觀察。如圖4-15所示為視點(diǎn)、燈光的實(shí)現(xiàn)。 以下為實(shí)現(xiàn)視點(diǎn)、燈光的代碼: DEF nav0 NavigationInfo { headlight TRUE } DEF huike Viewpoint { position 70 -40 630 description "huiketing" orientation 0 1 0 2 fieldOfView

64、 1 jump FALSE } 圖4-15視點(diǎn)、燈光實(shí)現(xiàn)的效果圖 程序代碼中NavigationInfo為頭燈,當(dāng)選擇TRUE時(shí)為開(kāi)啟狀態(tài),使整個(gè)場(chǎng)景變亮。huike為一個(gè)固定視點(diǎn),通過(guò)調(diào)節(jié)程序里的position等值確定其位置等屬性。 4.4.2 使用VRML構(gòu)建跟隨視點(diǎn) 為了方便用戶觀察動(dòng)態(tài)效果,例如超市中購(gòu)物車的行走路線,特在購(gòu)物車上加入跟蹤視點(diǎn),使用戶可以輕而易舉的瀏覽超市的布局場(chǎng)景,模擬出真實(shí)的購(gòu)物感受。如圖4-16、4-17、4-18所示為跟蹤視點(diǎn)的實(shí)現(xiàn)。 以下為實(shí)現(xiàn)購(gòu)物車跟蹤視點(diǎn)的代碼: DEF shoukuan Viewpoint { position -

65、78 -44.29 -120 orientation 0 1 0 -1.571 description "shoukuan" fieldOfView 1 jump FALSE } DEF car TouchSensor {} DEF Box01-TIMER TimeSensor { loop FALSE cycleInterval 3.333 }, DEF Box01-POS-INTERP PositionInterpolator { key [0, 0.03,…… 0.93, 0.96, 0.99, 1, ] keyValue [-50 -88 -500 , …… -5

66、0 -88 -130 , ] }, ROUTE car.touchTime TO Box01-TIMER.startTime ROUTE Box01-TIMER.fraction_changed TO Box01-POS-INTERP.set_fraction ROUTE Box01-POS-INTERP.value_changed TO Box01.set_translation 圖4-16購(gòu)物車跟蹤視點(diǎn)實(shí)現(xiàn)的原始圖 4-17購(gòu)物車跟蹤視點(diǎn)實(shí)現(xiàn)的過(guò)程圖 圖4-18購(gòu)物車跟蹤視點(diǎn)實(shí)現(xiàn)的最終效果圖 程序中第一條路由的作用是接觸傳感器car的touchTime事件域傳遞域值給時(shí)間傳感器Box01-TIMER的startTime域;第二條路由是時(shí)間傳感器Box01-TIMER的fraction_changed事件域傳遞域值給位置插補(bǔ)器Box01-POS-INTERP的set_fraction事件域;第三條路由的作用是位置插補(bǔ)器Box01-POS-INTERP的value_ch

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!