2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩7頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  基于unity的帕拉莊園漫游系統(tǒng)</p><p>  摘 要:虛擬漫游是虛擬現(xiàn)實(shí)技術(shù)理論的一個(gè)重要的實(shí)踐與應(yīng)用,隨著軟件的逐步更新與淘汰unity3d三維漫游動畫已經(jīng)成為人們比較普遍與常用的工具,在游戲等許多領(lǐng)域有著廣泛的應(yīng)用。文章一西藏自治區(qū)大學(xué)生創(chuàng)新性實(shí)驗(yàn)訓(xùn)練項(xiàng)目3d虛擬漫游動畫《帕拉莊園虛擬漫游動畫》為依據(jù),本文主要以三維軟件3dmax實(shí)現(xiàn)建模和貼圖、以unity3d為虛擬現(xiàn)實(shí)開發(fā)平臺

2、,結(jié)合javascript 和C#語言實(shí)現(xiàn)交互提出開發(fā)室內(nèi)外三維漫游展示系統(tǒng)的自由行走、手動、對象的重置及聲音和視頻的處理等關(guān)鍵技術(shù)及具體解決方法.針對帕拉莊園虛擬漫游系統(tǒng)在西藏全區(qū)旅游發(fā)展信息化發(fā)展戰(zhàn)略中的重要意義。 </p><p>  關(guān)鍵詞:虛擬現(xiàn)實(shí) 建模 unity3d 漫游系統(tǒng) 虛擬帕拉莊園 </p><p>  中圖分類號:TP391.9 文獻(xiàn)標(biāo)識碼:A 文章編號:1003-

3、9082(2014)04-0010-02 </p><p><b>  一、引言 </b></p><p>  隨著虛擬現(xiàn)實(shí)技術(shù)的發(fā)展和第三代互聯(lián)網(wǎng)技術(shù)的逐漸成熟,越來越多的商業(yè)或教育機(jī)構(gòu)考慮采用虛擬現(xiàn)實(shí)技術(shù)提高影響力.用于研發(fā)虛擬平臺的技術(shù)很多,這兩年熱門的unity3d得到業(yè)界的追捧,本研究以某西藏特色的莊園為研究對象,借助Unity3D平臺開發(fā)了一款虛擬漫游系統(tǒng)

4、,利于很多對帕拉莊園陌生的游客有更直觀的了解。虛擬現(xiàn)實(shí)技術(shù)能夠利用計(jì)算機(jī)生成較為真實(shí)的模擬環(huán)境,使用戶沉浸在虛擬環(huán)境中,同時(shí)通過人機(jī)接口,實(shí)現(xiàn)用戶與虛擬環(huán)境的直接交互.虛擬場景在沉浸感、交互性與實(shí)時(shí)性方面的綜合效果優(yōu)勢是傳統(tǒng)二維效果圖及二維和三維動畫技術(shù)所無法比擬的.作為信息科學(xué)的一門新興學(xué)科,虛擬現(xiàn)實(shí)技術(shù)以其特有的優(yōu)勢廣泛應(yīng)用于軍事、娛樂、制造業(yè)、醫(yī)學(xué)、信息系統(tǒng)等領(lǐng)域? .目前家居沒計(jì)行業(yè)主要通過效果圖的方式為客戶展示其未:來家居的格

5、局與風(fēng)格.從而實(shí)現(xiàn)最大限度地滿足客戶從任意角度體驗(yàn)新家居的需要,減輕家居設(shè)計(jì)師的負(fù)擔(dān)和壓力,并且提高家居設(shè)計(jì)師的工作效率.Unity3D作為一個(gè)新興的多平臺的游戲開發(fā)工具,是一個(gè)全面整合的專業(yè)游戲引擎.本文提出設(shè)計(jì)并實(shí)現(xiàn)unity3d的帕拉漫游系統(tǒng)所需要自由行走、手動及音視頻控制等關(guān)鍵技術(shù). </p><p><b>  二、系統(tǒng)概述 </b></p><p>  本

6、文討論的室內(nèi)外建筑的漫游主要利用三維軟件3Dmax完成建模和貼圖.用戶可以在室內(nèi)自由移動和操作.如鼠標(biāo)觸到門時(shí)即打開,鼠標(biāo)的移動可以改變視線與物體的角度,可以按鍵盤左右前后方向自由移動等。系統(tǒng)對象可分為三類:燈、墻、地板及柱子等空間對象、門、窗、家具及裝飾品等物品對象及二維圖片、視頻或音頻信息等場景對象.對象的層次式劃分有利于場景的管理與繪制;系統(tǒng)對象都由對象管理模塊在三維場景中激活 .整個(gè)室內(nèi)外漫游的組成框架如圖1如示。 </p

7、><p>  圖1 漫游系統(tǒng)組成框架 </p><p>  圖1中,通過比較常用的三維軟件如3dmax等軟件建模和完成材質(zhì)貼圖這一數(shù)據(jù)采集環(huán)節(jié)后通過3dmax導(dǎo)出為.fbx格式文件,將.fbx文件導(dǎo)入unity3d軟件的形成場景數(shù)據(jù)庫.用戶和各種虛擬現(xiàn)實(shí)設(shè)備構(gòu)成的系統(tǒng)環(huán)境實(shí)現(xiàn)虛擬現(xiàn)實(shí)環(huán)境的消息捕捉.將上述兩個(gè)兩個(gè)系統(tǒng)的數(shù)據(jù)集成到unity3d構(gòu)成的虛擬現(xiàn)實(shí)(VR)環(huán)境中進(jìn)行集中處理,實(shí)現(xiàn)相機(jī)跟

8、蹤、碰撞檢測以及和整個(gè)場景的渲染輸出。 </p><p>  三、帕拉莊園漫游的設(shè)計(jì)與實(shí)現(xiàn) </p><p>  1.三維模型的建模 </p><p>  制作有規(guī)則的建模比較簡單但做無規(guī)則的模型并不容易,建一個(gè)比較好的模型要看3d動畫制作者的綜合水平,還要看軟硬件的配置情況。模型在三維動畫制作或三維漫游,游戲等中有非常重要的地位,模型是整個(gè)動畫或漫游制作的根基也是

9、核心。也是賦予材質(zhì)與圖片的載體和渲染的對象,所有的三維游戲或者三維動畫、三維漫游都要通過建模這一基本環(huán)節(jié),在常用的3d建模方法主要有多邊形建模、NURBS建模、細(xì)分曲面建模等等。建模是一個(gè)很繁瑣的工作,需要大量的精力與時(shí)間消耗,因此我們對不同的模型采用不同的建模方式是很重要的,這樣能夠結(jié)成很多時(shí)間。 </p><p>  三維虛擬漫游《帕拉莊園漫游動畫》中包含了許多規(guī)則,不規(guī)則的模型的建立。主要有墻、門、窗戶、室

10、外場景等較規(guī)則的室外建筑模型,藏式傳統(tǒng)的床,桌子,碗,柜子等不規(guī)則的家具及廚具。 </p><p><b>  建筑模型: </b></p><p><b>  2.材質(zhì)貼圖 </b></p><p>  建立模型之后的工作就是給模型賦予材質(zhì)和貼圖。通過貼圖可以增加模型的質(zhì)感,完善模型的造型,使創(chuàng)建的三維場景更接近現(xiàn)實(shí)。

11、</p><p>  3DS MAX中最簡單的是位圖(BitMap)。在虛擬校園的制作中,位圖是較為常用的一種二維貼圖。在三維場景制作中大部分模型的表面貼圖都需要與現(xiàn)實(shí)中的實(shí)體相吻合,而這一點(diǎn)通過其它程序貼圖是很難實(shí)現(xiàn)的,我們選擇以數(shù)碼相機(jī)拍攝手段獲取的位圖來作為建筑立體圖對象的貼圖。具體制作過程如下: 從實(shí)地拍攝的數(shù)碼相片中選取合適角度的照片在photoshop中進(jìn)行拉伸扭曲得到所需貼圖單元,保存為JPG格式。

12、在3D MAX中,調(diào)用經(jīng)過處理的圖片進(jìn)行貼圖。初步貼上的圖在建筑物上是很不規(guī)則的,所以我們需要運(yùn)用修改工具中的UVW貼圖坐標(biāo)。貼上實(shí)地采集的相片使得所得圖像與實(shí)際建筑物很接近。 </p><p>  對于材質(zhì)中的二維貼圖,物體必須具有貼圖坐標(biāo)。這個(gè)坐標(biāo)就是確定二維的貼圖以何種方式映射在物體上。它不同于場景中的XYZ坐標(biāo)系,而是使用的UV或UVW坐標(biāo)系[7]。每個(gè)物體自身屬性中都Generate Mapping C

13、oordinate(生成貼圖坐標(biāo))。此選項(xiàng)可使物體在渲染效果中看到貼圖。 </p><p><b>  3.導(dǎo)出文件 </b></p><p>  通過3dmax軟件已有的模型導(dǎo)出為.fbx文件 </p><p>  4.unity開發(fā)平臺 </p><p>  Unity3D[4]是跨平臺的游戲開發(fā)工具,有直觀的游戲編

14、輯環(huán)境,是一個(gè)全面整合的專業(yè)游戲引擎.Unity3D 最大的優(yōu)勢是性價(jià)比高,并且可以發(fā)布成網(wǎng)頁瀏覽的方式,用戶不用下載客戶端,就可以直接體驗(yàn).Unity3D 支持各種腳本語言包括Javascript、c 、Python,兼容各種操作系統(tǒng),真正的實(shí)現(xiàn)了跨平臺.   漫游是虛擬莊園的關(guān)鍵, 交互是實(shí)現(xiàn)漫游的方式.簡單的交互用JavaScript 就可以實(shí)現(xiàn), 比如我們在任何漫游系統(tǒng)中都要用到的鼠標(biāo)按鍵行走功能, 在unity3d中是可以以

15、W、S、A、D 鍵分別實(shí)現(xiàn)前后左右, 相對應(yīng)的代碼在FPScontral.js 腳本語言中, 從文件的命名FPScontral就可以看出這是第一人稱視角控制, 下面例舉向前行走的代碼: </p><p>  private var motor : CharacterMotor; </p><p>  private var sys; </p><p>  publi

16、c var sysObj:GameObject; </p><p>  // Use this for initialization </p><p>  function Awake () { </p><p>  motor = GetComponent(CharacterMotor); </p><p>  sys=sysObj.gam

17、eObject.GetComponent("MainSystem"); </p><p><b>  } </b></p><p>  // Update is called once per frame </p><p>  function Update () { </p><p>  if(sy

18、s.walkMode==2) </p><p><b>  { </b></p><p>  // Get the input vector from kayboard or analog stick </p><p>  var directionVector = new Vector3(Input.GetAxis("Horizon

19、tal"), 0, Input.GetAxis("Vertical")); </p><p>  //var directionVector = new Vector3(0,0,0); </p><p>  //if(Input.GetKey(sys.upKey)) </p><p>  //directionVector=new Ve

20、ctor3(directionVector.x,directionVector.y,1); </p><p>  if (directionVector != Vector3.zero) { </p><p>  // Get the length of the directon vector and then normalize it </p><p>  //

21、Dividing by the length is cheaper than normalizing when we already have the length anyway </p><p>  var directionLength = directionVector.magnitude; </p><p>  directionVector = directionVector /

22、 directionLength; </p><p>  // Make sure the length is no bigger than 1 </p><p>  directionLength = Mathf.Min(1, directionLength); </p><p>  // Make the input vector more sensitive

23、towards the extremes and less sensitive in the middle </p><p>  // This makes it easier to control slow speeds when using analog sticks </p><p>  directionLength = directionLength * directionLen

24、gth; </p><p>  // Multiply the normalized direction vector by the modified length </p><p>  directionVector = directionVector * directionLength; </p><p><b>  } </b></

25、p><p>  // Apply the direction to the CharacterMotor </p><p>  motor.inputMoveDirection = transform.rotation * directionVector; </p><p>  motor.inputJump = Input.GetButton("Jump&q

26、uot;); </p><p><b>  } </b></p><p><b>  } </b></p><p>  / Require a character controller to be attached to the same game object </p><p>  @script

27、 RequireComponent (CharacterMotor) </p><p>  @script AddComponentMenu ("Character/FPS Input Controller") </p><p><b>  四、小結(jié) </b></p><p>  本文簡介了三維虛擬漫游實(shí)現(xiàn)過程中的一些所用到

28、的軟件及相關(guān)的重要技術(shù),以及虛擬現(xiàn)實(shí)游戲引擎unity3d在設(shè)計(jì)室內(nèi)外漫游仿真系統(tǒng)功能中的實(shí)現(xiàn)與應(yīng)用的一些操作.實(shí)現(xiàn)了在unity3d中的導(dǎo)人并讀取3dmax構(gòu)建和貼圖的模型構(gòu)建漫游場景,通過鍵盤和鼠標(biāo)可以實(shí)現(xiàn)場景內(nèi)自由行走的手動功能和自動播放的自動漫游功能,從而實(shí)現(xiàn)對場景的整體把握和資源分配功能.使用以上相關(guān)技術(shù)開發(fā)的漫游系統(tǒng),設(shè)計(jì)比較簡單而且方便并開發(fā)成本也比較低,場景的真實(shí)感和實(shí)時(shí)性在普通的多媒體計(jì)算機(jī)上完全能夠滿足用戶需求.并且

29、本文討論的關(guān)鍵技術(shù)完全可以進(jìn)一步推廣用于游戲場景,大型的其它仿真的建筑項(xiàng)目和小區(qū)、礦井和工業(yè)產(chǎn)品、具有民族特點(diǎn)的裝飾品虛擬展示等等領(lǐng)域。 </p><p><b>  參考文獻(xiàn) </b></p><p>  [1] 李娜,李少勇,李向端 3dmax2010完全自學(xué)手冊。北京希望電子出版社。2010.5 </p><p>  [2] 唐晶晶,蔡勇

30、,林茂松,等.基于VR與Agent技術(shù)和室外內(nèi)漫游系統(tǒng)[J].微計(jì)算機(jī)信息,2006(7):258―260 </p><p>  [3] 丁妹,胡志秋.虛擬建筑模型場景漫游系統(tǒng)[J].信息技術(shù)與信息化,2005(1):46―57. </p><p>  [4]宋麗紅,華斌.基于VRML和Java技術(shù)的虛擬校園三維查詢系統(tǒng)[J].計(jì)算機(jī) </p><p><b&

31、gt;  工程,2005. </b></p><p>  [5] 徐誠.虛擬校園漫游系統(tǒng)的研究.武漢:華中師范大學(xué),2006. </p><p>  [6]曲寶,趙婭,趙琦,等.基于Virtools的虛擬家居漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2009. </p><p>  作者簡介:索南尖措(1977-),男,藏族,青海共和人,西藏大學(xué)工學(xué)

溫馨提示

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

評論

0/150

提交評論