国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于虛擬展廳的學(xué)生作品展示系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2014-04-29 12:00孟慶軒劉洋趙海峰
計(jì)算機(jī)時(shí)代 2014年10期

孟慶軒 劉洋 趙海峰

摘 要: 在分析學(xué)生圖像作品與動(dòng)畫作品展示方式的基礎(chǔ)上,基于虛擬現(xiàn)實(shí)技術(shù)與Unity3D開發(fā)工具,設(shè)計(jì)并完成了一個(gè)基于虛擬展廳的學(xué)生作品展示系統(tǒng)。重點(diǎn)論述了利用3ds Max進(jìn)行虛擬展廳的模型制作和利用Photoshop進(jìn)行虛擬展廳的貼圖制作,利用Unity3D平臺(tái)完成虛擬展廳的第一人稱自由瀏覽的交互式開發(fā),并對(duì)整個(gè)開發(fā)流程與關(guān)鍵技術(shù)進(jìn)行了探討。

關(guān)鍵詞: 虛擬展廳; 學(xué)生作品展示; Unity3D; 自由瀏覽

中圖分類號(hào):P209 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2014)10-41-03

Design and realization of virtual student works show system based on virtual exhibition

Meng Qingxuan, Liu Yang, Zhao Haifeng

(Beijing Morden Vocational and Technical College, Beijing 101300, China)

Abstract: After analyzing the current students' image and animation works display mode, based on virtual reality technology and Unity3D development tools, students' works show system is designed and realized based on the virtual exhibition. Both the models making of virtual exhibition by 3ds Max and corresponding textures making by Photoshop are introduced in detail. The interactive development for the free browsing of virtual exhibition from first person is elaborated using Unity 3D. Some of the key points of technique during the whole development process are expounded.

Key words: virtual exhibition; student works show; Unity3D; free browsing

0 引言

隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,虛擬現(xiàn)實(shí)技術(shù)已經(jīng)廣泛應(yīng)用到了各個(gè)領(lǐng)域,通常用于對(duì)某一真實(shí)場(chǎng)景的虛擬或還原,并可以根據(jù)設(shè)計(jì)者的意圖完成真實(shí)世界中無法的操作或展示[1]。

現(xiàn)階段我計(jì)算機(jī)應(yīng)用技術(shù)專業(yè)的學(xué)生已設(shè)計(jì)并完成了若干優(yōu)秀的專業(yè)作品。對(duì)于靜態(tài)作品,如Photoshop作品可以通過打印展覽的方式進(jìn)行展示,而對(duì)于動(dòng)畫作品,如:flash動(dòng)畫作品、3ds Max動(dòng)畫作品,并不能采取這種方式進(jìn)行展示。針對(duì)以上問題,本文介紹了以Unity3D為技術(shù)手段采用虛擬現(xiàn)實(shí)技術(shù)實(shí)現(xiàn)的一個(gè)虛擬展廳,實(shí)現(xiàn)對(duì)學(xué)生的圖像作品與動(dòng)畫作品的第一人稱交互式自由瀏覽。

1 Unity3D介紹

Unity3D是由丹麥Unity Technologies公司開發(fā)的多平臺(tái)的游戲開發(fā)引擎,是一個(gè)全面整合的專業(yè)游戲制作工具。它的最大特性就是出色的夸平臺(tái)性,用Unity3d制作的游戲軟件或虛擬現(xiàn)實(shí)系統(tǒng)發(fā)布在PC、Mac、Android以及微軟、任天堂、索尼這些公司推出的主流家用游戲機(jī)平臺(tái)上,一經(jīng)推出就受到了游戲和虛擬現(xiàn)實(shí)開發(fā)人員的青睞,成為近幾年發(fā)展極快的一款3D制作引擎。此外,Unity3D也可以用于開發(fā)基于虛擬現(xiàn)實(shí)技術(shù)的展示系統(tǒng),并廣泛應(yīng)用于旅游、醫(yī)療等很多領(lǐng)域[2]。

2 系統(tǒng)概述

本系統(tǒng)的虛擬展廳設(shè)計(jì)分為四個(gè)部分:學(xué)校與計(jì)算機(jī)專業(yè)展示部分、flash動(dòng)畫作品展示部分、3ds Max靜態(tài)與動(dòng)畫作品展示部分、indesign靜態(tài)作品展示部分。

根據(jù)學(xué)生的作品風(fēng)格,設(shè)計(jì)了展廳的外觀與布局。所實(shí)現(xiàn)的功能主要有:①對(duì)于虛擬展廳場(chǎng)景第一人稱的自由瀏覽;②學(xué)生動(dòng)畫作品的交互式瀏覽;③每個(gè)場(chǎng)景的搭建與載入。

在具體開發(fā)過程中,首先對(duì)于展廳的模型部分采用3ds Max進(jìn)行建模,之后對(duì)于展廳的貼圖采用Photoshop進(jìn)行制作,最后將展廳模型、展廳貼圖、要展示的作品導(dǎo)入到Unity3D中并進(jìn)行特效添加與交互式開發(fā)和最終系統(tǒng)的發(fā)布。

3 系統(tǒng)實(shí)現(xiàn)

3.1 展廳模型的制作

由于Untiy3D系統(tǒng)中的單位是米,并且Unity3D與3ds Max的系統(tǒng)單位比例為100:1,所以為了便于以后將模型導(dǎo)入到Unity3D中進(jìn)行系統(tǒng)開發(fā),首先將3ds Max軟件的系統(tǒng)單位比例與顯示單位比例都設(shè)置為厘米,之后根據(jù)展廳的設(shè)計(jì)進(jìn)行建模,在建模時(shí)重點(diǎn)在于把握模型的尺寸比例,一定要與真實(shí)世界的尺寸比例一致。在建模時(shí)需注意以下幾點(diǎn):①為了提高系統(tǒng)的運(yùn)行效率,需要盡量減少模型的面數(shù)并刪除模型中看不見的面與多余的頂點(diǎn);②模型之間不能出現(xiàn)相互重疊的面與破面;③根據(jù)需要調(diào)整模型軸心;④模型的命名與材質(zhì)的命名都必須是英文名字[3]。

3ds Max做好的模型需要借助插件導(dǎo)出為FBX格式,導(dǎo)出時(shí)需要注意設(shè)定向上軸為Y軸,這主要是因?yàn)閁nity3D中的默認(rèn)軸Y軸是向上的。

3.2 展廳貼圖的制作

展廳貼圖的制作與展廳模型的制作一般同步進(jìn)行,為了盡可能地優(yōu)化系統(tǒng)性能,展廳的許多細(xì)節(jié)需要通過貼圖來表現(xiàn),例如:展廳的地板紋理都是通過貼圖來進(jìn)行刻畫的。對(duì)于模型的貼圖一般需要通過3ds Max進(jìn)行UV展開,之后在Photoshop中完成貼圖的制作。為了提高系統(tǒng)性能,需要盡量減少貼圖個(gè)數(shù)即使用量。這是因?yàn)樵谧罱K導(dǎo)入到Unity中時(shí),每一個(gè)材質(zhì)球都使用一張貼圖。貼圖數(shù)量越多就需要越多的材質(zhì)球進(jìn)行材質(zhì)表現(xiàn)。同一個(gè)場(chǎng)景模型中,所需的材質(zhì)球越多,系統(tǒng)性能越差。

為了要減少貼圖的使用量,需要將貼圖進(jìn)行合并。合并的原則是同一材質(zhì)的貼圖可以合并到一起,此時(shí)只需要制作模型的漫反射貼圖即紋理貼圖,對(duì)于反射與折射等效果需要在Unity3D中完成。例如:可以將學(xué)生的靜態(tài)作品分類合并到一張貼圖中,也可以將展廳墻體的貼圖合并到一張貼圖中。

3.3 展廳的交互式開發(fā)

⑴ 展廳場(chǎng)景漫游主要實(shí)現(xiàn)了基于鍵盤的控制,能讓用戶通過第一人稱的方式在虛擬展廳的場(chǎng)景中自由瀏覽。其中,可控制的第一人稱游戲物體是由一個(gè)具備了Character Controller組件、Audio Source組件和Camera子物體的游戲物體來擔(dān)當(dāng),通過腳本來實(shí)現(xiàn)它的自由行走。具備Character Controller組件可以控制此游戲物體的移動(dòng)、具備Audio Source組件可以讓用戶實(shí)時(shí)聽到場(chǎng)景中的音效與學(xué)生動(dòng)畫作品的聲音[4]。

系統(tǒng)實(shí)現(xiàn)了用戶點(diǎn)擊鍵盤上的A、D進(jìn)行旋轉(zhuǎn);點(diǎn)擊鍵盤上的W或光標(biāo)控制上鍵向前移動(dòng);點(diǎn)擊鍵盤上的S或光標(biāo)控制下鍵向后移動(dòng);點(diǎn)擊光標(biāo)控制左鍵與光標(biāo)控制右鍵向左和向右移動(dòng)。其中Rotate虛擬鍵對(duì)應(yīng)鍵盤上的A、D,Vertical虛擬鍵對(duì)應(yīng)鍵盤上的W、S、光標(biāo)控制上鍵、光標(biāo)控制下鍵,Translate虛擬鍵對(duì)應(yīng)光標(biāo)控制左鍵、光標(biāo)控制右鍵。最終第一人稱的移動(dòng)通過CharacterController組件的SimpleMove()方法來完成,第一人稱的旋轉(zhuǎn)通過Transform組件的Rotate()方法來完成。

⑵ 學(xué)生動(dòng)畫作品的交互式展示主要實(shí)現(xiàn)了用戶控制的第一人稱游戲物體對(duì)動(dòng)畫作品碰撞的檢測(cè)與動(dòng)畫的播放。

采用數(shù)組的形式存儲(chǔ)學(xué)生的flash作品,通過觸發(fā)器的碰撞檢測(cè)確定碰撞到的場(chǎng)景中的物體,并通過循環(huán)檢測(cè)碰撞到的物體對(duì)應(yīng)的flash作品,通過鼠標(biāo)點(diǎn)擊圖片按鈕來控制學(xué)生flash作品的播放、暫停與停止。在播放學(xué)生flash作品的時(shí)候不進(jìn)行場(chǎng)景的渲染并禁用鍵盤操作以實(shí)現(xiàn)全屏放映,停止學(xué)生flash作品的播放時(shí)再次渲染展廳場(chǎng)景并回復(fù)鍵盤的操作。

⑶ 場(chǎng)景切換。

本系統(tǒng)共包括三個(gè)場(chǎng)景:系統(tǒng)開始場(chǎng)景、系統(tǒng)關(guān)于場(chǎng)景與展廳場(chǎng)景。系統(tǒng)首先進(jìn)入系統(tǒng)開始場(chǎng)景,之后通過鼠標(biāo)點(diǎn)擊界面按鈕的方式進(jìn)入其他兩個(gè)場(chǎng)景。

其中的每一個(gè)界面元素,如背景、按鈕等都作為獨(dú)立的圖片導(dǎo)入到Unity3D中。Unity3D支持透明通道,所以可以將界面元素通過PS等二維軟件繪制成各種形狀并將圖片背景設(shè)置為透明即可。之后通過Unity3D中的GUITexture組建完成界面的搭建,對(duì)于場(chǎng)景的載入需要通過腳本完成[5]。點(diǎn)擊進(jìn)入系統(tǒng)按鈕載入展廳場(chǎng)景,點(diǎn)擊關(guān)于系統(tǒng)按鈕載入系統(tǒng)關(guān)于場(chǎng)景,點(diǎn)擊退出系統(tǒng)按鈕關(guān)閉系統(tǒng)界面。

3.4 展廳的優(yōu)化

⑴ 光照貼圖技術(shù)的使用。為了增加系統(tǒng)的真實(shí)性,需要生成物體的陰影。實(shí)時(shí)陰影會(huì)消耗大量的系統(tǒng)資源,為了提高系統(tǒng)的性能,對(duì)于場(chǎng)景中大量不移動(dòng)的物體,可以采用Unity3D中的光照貼圖技術(shù)。例如展廳外面場(chǎng)景中的樹木,可以通過Unity3D中的lightmap(光照貼圖技術(shù))將場(chǎng)景的陰影信息寫入到相應(yīng)的文件中,在場(chǎng)景的運(yùn)行期間實(shí)時(shí)調(diào)用,可以節(jié)省大量的系統(tǒng)資源。本系統(tǒng)展廳場(chǎng)景的主光源是Directional Light,在使用上,①首先檢查將要烘培的模型上是否存在一個(gè)合適的用來定位光照貼圖的UVs,如果不存在,可以從mesh import settings面板中的勾選Generate Lightmap UVs選項(xiàng)來生成一個(gè)用于定位光照?qǐng)DUV的集;②在物體面板中將要烘培光照貼圖的物體設(shè)置為Static,這樣Unity就會(huì)知道哪些物體是需要被烘培的;③選擇Window->Lightmapping打開光照?qǐng)D工具窗口進(jìn)行設(shè)置,點(diǎn)擊Bake,等待烘培完成即可[6]。

⑵ 遮擋剔除技術(shù)的使用。Occlusion Culling,即遮擋剔除。當(dāng)使用遮擋剔除時(shí),會(huì)在渲染對(duì)象被送進(jìn)渲染流水線之前,將因?yàn)楸徽趽醵粫?huì)被看到的隱藏面或隱藏對(duì)象進(jìn)行剔除,從而減少了每幀的渲染數(shù)據(jù)量,提高了渲染性能。對(duì)于本虛擬展廳而言,攝影機(jī)并不能每幀都看到場(chǎng)景的全部,可以采用遮擋剔除技術(shù)來進(jìn)行優(yōu)化。在本系統(tǒng)展廳場(chǎng)景中應(yīng)用了遮擋剔除技術(shù),在使用上,①對(duì)于場(chǎng)景中的小物體或者透明物體設(shè)置為Occludees Static,對(duì)于其他靜止的物體設(shè)置為Occlusion Static;②打開Window->Occlusion Culling,不用創(chuàng)建遮擋區(qū)域,遮擋剔除將應(yīng)用到整個(gè)場(chǎng)景,點(diǎn)擊Bake,等待烘培完成即可[7]。

3.5 展廳的發(fā)布

本系統(tǒng)的最終發(fā)布版本為網(wǎng)頁平臺(tái),點(diǎn)擊File->Building Setting,將本系統(tǒng)的三個(gè)場(chǎng)景拖動(dòng)到窗口的Scences In Build中,并保證系統(tǒng)開始場(chǎng)景處于序號(hào)0的位置;在窗口中選擇Streamed選項(xiàng)使得場(chǎng)景可以通過流的方式從服務(wù)器進(jìn)行下載;設(shè)置屏幕寬為800,屏幕高為600;設(shè)置完成后點(diǎn)擊Bulid即可完成發(fā)布。

發(fā)布后,通過修改發(fā)布生成的html代碼可以定義加載屏幕的外觀,包括logo以及進(jìn)度條等[8]。設(shè)置如下:

var config = {

width: 800,

height: 600,

params:

{ backgroundcolor:"f3fd81", //加載期間,顯示的背景顏色

logoimage:"image/logo.png", //自定義logo

progressbarimage:"image/bar1.png", //加載期間,進(jìn)度條圖片

progressframeimage:"image/bar2.png", //加載期間,幀進(jìn)度條圖片

disableContextMenu:true, //禁止鼠標(biāo)右鍵操作

disableFullscreen:true //禁止全屏

}

完成以上設(shè)置后,就完成了最后的發(fā)布工作。最終完成的系統(tǒng)如圖1、圖2和圖3所示。

4 結(jié)束語

本文探討了使用Unity3D平臺(tái)開發(fā)一個(gè)基于虛擬展廳的學(xué)生作品展示系統(tǒng),重點(diǎn)討論了模型的制作、貼圖的制作、交互式開發(fā)等技術(shù)關(guān)鍵點(diǎn)。對(duì)于本系統(tǒng)而言,將更多有趣的互動(dòng)引入到系統(tǒng)中,進(jìn)而提供更加友好的交互將成為下一步研究的重點(diǎn)。

參考文獻(xiàn):

[1] 歐陽攀,李強(qiáng),盧秀慧.基于Unity3D的虛擬校園開發(fā)研究與實(shí)現(xiàn)[J].

現(xiàn)代電子技術(shù),2013.4:27-30

[2] 蔡翊.基于Unity3d的金絲峽地質(zhì)公園虛擬旅游系統(tǒng)的研究與實(shí)現(xiàn)[D].

西安科技大學(xué),2012.

[3] 倪樂波,戚鵬,遇麗娜等.Unity3d產(chǎn)品虛擬展示技術(shù)的研究與應(yīng)用[J].

數(shù)字技術(shù)與應(yīng)用,2010.9:56-57

[4] 朱惠娟.基于Unity3D的虛擬漫游系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,

2012.10:38-41

[5] 干建松.基于Unity3d的室內(nèi)漫游仿真系統(tǒng)[J].淮陰師范學(xué)院學(xué)報(bào):自

然科學(xué)版,2011.6:48-51

[6] 倪樂波,戚鵬,遇麗娜等.Unity3d產(chǎn)品虛擬展示技術(shù)的研究與應(yīng)用[J].

數(shù)字技術(shù)與應(yīng)用,2010.9:56-57

[7] 呂蓮.基于3ds MAX建模技術(shù)的校園建筑漫游的實(shí)現(xiàn)[J].南京工業(yè)

職業(yè)技術(shù)學(xué)院報(bào),2010.2:53-56

[8] 王星捷,李春花.基于Unity3D平臺(tái)的三維虛擬城市研究與應(yīng)用[J].計(jì)

算機(jī)技術(shù)與發(fā)展,2013.4:247-250