999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Unity3D的虛擬校園漫游的設計與實現

2015-01-08 03:30:42王彩玲劉瑞香
科技視界 2015年7期
關鍵詞:動畫校園模型

王彩玲 劉瑞香 宋 釗

(西安石油大學計算機學院,陜西 西安 710065)

0 引言

目前,虛擬現實技術已經成為計算機技術中研究,開發和應用的熱點,廣泛的應用于教育[1-2]、醫療[3]、建筑、工業設計[4-5]、產品展示等各個領域。虛擬校園社區實現了對校園三維景觀和教學環境的數字化和虛擬化。將學校風光用虛擬仿真實現,既可以為學校樹立良好的形象,讓來訪者足不出戶就可以身歷其境的感受到真實的校園實景和有關介紹信息;還可以作為校園規劃的輔助工具,提高校園管理的現代化水平[6-7]。

虛擬校園社區可以提供三維虛擬環境,用于支持對現實大學的資源管理、環境規劃、學校發展和遠程訪問等。是校園景觀和教學環境在計算機中的虛擬再現。它利用地理信息技術、虛擬現實技術、計算機網絡技術等高新技術,實現對真實校園環境中的三維景觀和教學環境的數字化和虛擬化。到那時,世界各地的人們不必親臨現場,只需在網上就能暢游其間,方便人們隨時隨地了解校園的情況。

虛擬校園為師生們提供了非常便利和快捷的交流,同時完善的虛擬校園系統集學習、工作、娛樂、生活為一體,增加了師生之間交流的趣味性,有利于師生之間的良好溝通。虛擬校園社區以網絡為基礎,利用先進的信息化手段和先進的計算機技術、網絡技術、虛擬現實技術,實現學校與教學、科研、管理和生活服務有關的所有信息資源進行全面的數字化。把學校建設成面向校內外,也面向社會的一個超越時間、超越空間的虛擬校園社區,提高傳統校園的效率,擴展傳統校園的功能。最終實現教育過程的全面信息化,從而達到提高教育管理水平的目的。虛擬校園技術必將成為今后校園信息化發展方向的主流,而基于網絡的大規模虛擬校園漫游將成為研究的新熱點.本系統以unity3d作為開發平臺,結合AUTOCAD規劃總平面圖[8];利用AutoCAD、3DMAX、Photoshop、Unity3D等軟件實現了某高校虛擬校園設計,該虛擬校園場景具有良好的沉浸感,通過網上發布,測試了其流暢性,可以作為該學校的數字解說平臺使用。

1 三維虛擬校園漫游的總體設計

1.1 虛擬校園漫游開發總體框架

虛擬校園的設計總體框架如圖1所示。

如圖1所示,首先,基于通過測量、觀察、相機記錄等方式獲取校園地理信息數據。包括校園建筑平面圖AutoCAD和校園建筑鳥瞰圖[9-10],以及花草、樹木、道路的具體數據及信息。

然后,使用3d建模軟件例如maya 3dmax等專業建模軟件,制作三維數字模型。本系統使用的是最為流行的3dmax對校園建筑模型進行加工和渲染。從而得到更加真實的三維立體模型。

第三步,在Unity3D中添加地面。將上述步驟建好的三維建筑模型根據地理坐標依次添加到Unity3D中,進行場景融合。以及紋理添加、燈光渲染等工作[11-13]。

第四步,通過unity3D的跨平臺性,生成可以通過網頁瀏覽的Web格式的虛擬社區[14]。

1.2 Unity3d中虛擬場景的設計

Unity3d中的地形建立:

在Unity3D軟件中通過Terrain菜單建立及修改地形。Terrain地形編輯工具可以根據具體的實地場景進行隨意設置及修改。采用標準統一的地形,可以完成山地、城市和鄉村場景的設計,具有友好的界面。同時,可以在整個地形上鋪設地形紋理來裝飾地圖風景,還可以混合或合并地形紋理來平滑地過渡一個地圖到另一個地圖,或使地圖的環境多樣化。這極大方便了虛擬場景的制作。

1.3 Unity3D中三維模型的導入

Unity3D軟件只支持fbx格式的三維模型,因此,在設計時,采用3DMax建模,將模型存儲為fbx類型。在Unity3D中的asset文件夾中添加Object文件夾,此時,Unity3D將自動識別該模型,并將其Material和 Textures分離出來導入到Object的文件夾下面。此時,當模型導入時,我們可以在菜單欄Assetsimport new asset,選擇我們要導入的 *.fbx[15]。

1.4 建筑模型紋理設計

在Unity3d環境中設計紋理及貼圖之前應先確定各模型的材質、貼圖和物理屬性。在獲取相關屬性后,將模型導入Unity3d中進行Shader腳本設置和紋理貼圖。Unity3D中的shader腳本,采用shaderlab腳本語言編寫,shader的框架如下:

shader"shader name"

{ properties

{ _Color("Diffuse Color",Color)=(1,.5,.5,1)_Texture("Main Texture",2D)=""{}

}

SubShader

{

Tags{"Queue"="Transparent"}

pass

{

Tags{}

Material{}

}

}

Fallback""

}

其中,properties中定義的變量,是可以采用編輯器編輯的。在Unity3D編輯器中選中一個材質,材質中的shader里面定義在properties中的變量就會出現該材質的屬性面板中,可以手動設置對應的屬性。其中,紋理屬性后面,還有一些可選的屬性可以設置,用于設置紋理的坐標,和其他一些屬性。

1.5 虛擬場景的合并

在進行模型設計后,需要將多個模型及場景依據平面圖進行場景整合,還需要背景配樂等多媒體文件支持。在設計時,通過建立Directional Light和sky box,可以使場景更加明亮和逼真。

2 虛擬系統的實現

2.1 漫游技術的實現

在虛擬漫游中,我們希望通過控制鼠標或者鍵盤實現視角和場景的轉換。在具體實現中,首先,在3DMax建模軟件中分別制作人物的行走動畫、站立動畫、跳躍動畫和跑步動畫,制作完畢后,將動畫模型保存為.fbx文件格式。將動作模型導入到Unity3D項目的Object文件夾中。然后,在欄中選中導入動畫模型,在屬性面板中設置模型不同動作的開始和結束幀,所拖拽動畫模型到舞臺中去。

通過Character Moto命令給動畫模型添加人物控制器,在屬性面板中調節Radius和Height來調節人物控制器的輪廓、高度。在軟件中添加Javescript控制代碼實現運動控制。具體的,設計鼠標控制需要對人物添加Mouse Look旋轉控制器,設計鍵盤控制需要對人物添加FPS Input Controller移動控制器。對相應控制器設計即可實現視角隨著鼠標方向的旋轉和鍵盤控制人物實現前后左右的移動[16-17]。

在具體設計時,需要考慮當角色移動時,需要配合相應的動作來完成角色移動的效果,比如:跑動作、跳動作等,為了給用戶帶來視覺的更加逼真的效果,在設計時,在animatioController.js添加動作代碼,其中核心代碼如下:

if(Input.GetAxis("Vertical")> .1)//如果是豎直方向的向前運動

{

if(Input.GetButton("Run"))//按下 run 按鈕

{

animation.CrossFade("run");//播放 run 動畫

walkSpeed=4;//同時設置速度為4

}

else

{

animation["walk"].speed=1;//其他時候則為走路

animation.CrossFade("walk");//播放走路動畫

walkSpeed=1;//同時設置速度為1

}

if(Input.GetAxis("Vertical")< -.1)////如果是豎直方向的向后運動

{

animation["walk"].speed=-1;//速度設置為負值

animation.CrossFade("walk");//播放走畫面

walkSpeed=1;

}

else

{

animation.CrossFade("idle");//其他時候為站立動畫

}

if(Input.GetI}eyDown ("space"))//當空格鍵被按下就執行跳躍動畫。

animation.CrossFade(”jump");

}

水平方向的控制和垂直方向運動相同代碼在此省略。

2.2 碰撞檢測[18]

碰撞檢測[19]是模擬現實環境中的人物及物體在遇到障礙物時發生的本能反應,例如,當角色遇到墻壁,如果沒有設計碰撞檢測,則角色會出現穿墻而過的失真現象,在現實中,應該是當發現墻壁與角色存在一定距離時,則需要停止前進。在這種情況下,設計人員需要添加碰撞檢測函數。在Unity3d軟件中提供了Mesh Collider撞檢測組件,該組件可以有效計算模型表面的網格自動生成碰撞面,但是如果模型表面的網格較多會影響執行效率,通過給網格較多的模型添加一個基本體作為該模型的父模型,設置成不可渲染則可以有效解決該問題。

2.3 系統聯機功能實現

當用戶漫游在數字校園中,如果只包含靜態的建筑,而缺乏了動態的人物交互,這樣的設計缺乏真實的體驗,在本系統中,采用C/S客戶端服務器模型,實現場景中的人物互動。其中,服務器相對獨立,可支持多個客戶端的訪問。兩者之間交互的原理為:客戶端向服務器發送請求,服務器給予反饋。當訪問者按下移動按鍵時,客戶端將事件發送至服務器,服務器端判斷角色該如何移動才能將事件返回給客戶端,當客戶端接受到服務器返回的數據后,開始移動角色,同時服務器端還會將其他訪問者的移動事件發送給客戶端。這樣客戶端就可以顯示其他訪問者的模型位置了。

具體設計時,服務器默認開啟,服務器端核心代碼:

Void OnGUI(){

Switch(Network.PeerType){

Case NetworkPeerType.Disconnected:

StartServer();

Case NetworkPeerType.Server:

Break;

Case NetworkPeerType.Client:

Break;

Case NetworkPeerType.Connecting

Break;

}

}

Void StartServer()

{

if(GUILayout.Button("創建服務器”))

{

//服務端創建服務器

NetworkConnectionError error=Network.Connect(IP,Port,false);

//如果連接失敗,將錯誤信息打印出來

Debug.Log("連接狀態:"+error);

}

客戶端核心代碼為:

Void OnGUI(){

Switch(Network.PeerType){

Case NetworkPeerType.Disconnected:

StartConnect();

Case NetworkPeerType.Server:

Break;

Case NetworkPeerType.Client:

Break;

Case NetworkPeerType.Connecting

Break;

}

}

Void StartConnect()

{

if(GUILayout.Button("連接服務器”))

{

//客戶端連接服務器

NetworkConnectionError error=Network.Connect(IP,Port);

//如果連接失敗,將錯誤信息打印出來

Debug.Log("連接狀態:"+error);

}

服務器創建完成后,客戶端需要向服務服務器發送消息請求,并且確保服務器能夠將來自某一客戶端的請求消息返回給連接到服務器的所有客戶端。需要首先創建一個網絡視圖組件,然后就可以使用RPC向服務器發送消息了。使用RPC發送消息的方法如下:

networkView.RPC("RequestMessage",RPCMode.All,inputMessage);

在服務器端或客戶端中接收消息請求的方法如下:

void RequestMessage(string message,NetworkMessageInfo info)

{

//message:消息內容

//info:消息附帶信息

}

模擬效果如下:

3 軟件測試與優化

任何系統都需要進行黑盒子測試以發現系統存在的問題和漏洞。本系統也進行了相應的測試。在測試中發現,基于網絡環境下,系統存在占用網絡流量大,運行緩慢的現象。分析原因是因為測試電腦配置較低及網絡帶寬限制。這就要求我們從用戶角度出發,在保證真實度的情況下盡量減少模型的數量,大部分建筑需要通過平面建模來優化模型的復雜度,在建模過程中盡量減少模型頂點和分段數,在unity3d處理過程中,盡量使用靜態燈光,動態實時燈光相比靜態燈光,非常耗費資源。所以除了能動的角色和物體靜態的地形和建筑。盡量減少視角范圍和距離,減少不必要的運行消耗。

4 總結

本系統通過Unity3D平臺建立了一個虛擬系統,并通過C/S模式構建人物交互,采用HTML格式發布,幾乎適應所有平臺瀏覽。實現效果逼真仿真度高,系統運行穩定可靠性好,系統與用戶交互性好,能夠非常直觀地帶給用戶身臨其境的場景漫游效果,漫游過程場景切換順暢,而且可以為場景提供豐富的多媒體影音交互。

Unity3D提供可視化的界面操作,地形制作和文理添加,以及擁有“對象碰撞檢測”、“角色漫游”功能,方便了系統的開發。基于Unity3D的虛擬漫游技術原理與渲染效果非常適合虛擬校園漫游的設計,隨著以后越來越多的漫游系統的需求,Unity3D引擎技術將會被更為廣泛的應用。

[1]范立冬,李曙光,張治剛.虛擬現實技術在醫學訓練中的應用[J].創傷外科雜志,2008,12(9).

[2]吳燕玲.基于Wed的玩味動畫技術及其在教學中的應用[J].中山大學學報:自然科學版.2002,12(6):53-56.

[3]詹勝利.Web3D技術在網絡教學中的應用[J].網絡技術與網絡教學,2006.1:15-17.

[4]來翔.面向電子商務的虛擬商品模型研究[J].浙江大學,2003.

[5]沈璞.虛擬現實技術在現代工業設計中的應用[J].制造業自動化,2004.11(6):76-78.

[6]張典華,陳一民.基于Unity3D的多平臺虛擬校園設計與實現[J].計算機技術與發展,2013,24(2):127,135.

[7]馬瑞.基于Unity3D的多平臺三維虛擬數字校園的設計與實現[J].蚌埠學院學報,2014,3(2):13-16.

[8]Okabe M,Igarashi T.3D modeling of trees from freehand sketches[C]//International Conference on Computer Graphics and Interactive Techniques.ACM SIGGRAPH 2003 Sketches&Applications.New York,USA:ACM,2003:1-1.

[9]Okabe M,Owada S,Igarashi T.Interactive design of botanical trees using freehand sketches and example-based editing [J].Computer Graphics Forum,Eurographics(S0167-7055),2005,24(3):487-496.

[10]Livny Y,Yan F L,Olson M,et al.Automatic Reconstruction of Tree Skeletal Structures from Point Clouds [J].ACM Transactions on Graphics (S0730-0301),2010,29(6):151-1:151-8.

[11]周希望,劉正東.虛擬校園的建模優化及Web3D交互技術[J].軟件導刊,2010,9(1).

[12]付林.永豐大廈虛擬漫游數字平臺的設計與實現[D].北京交通大學,2010(1).

[13]倪樂波,戚鵬.Unity 3D產品虛擬展示技術的研究與應用[J].數字技術與應用,2010(9).

[14]郭海新.Unity 3D與HTML交互機理的研究[J].煤炭技術,2012(9).

[15]毛天露,王兆其.個性化三維人體模型快速建模方法[J].計算機輔助設計與圖形學學報,2005,17(10):2191-2195.

[16]干建松.基于Unity 3d的室內漫游的關鍵技術研究[J].鹽城工學院學報:自然科學版,2011(20).

[17]何志毅,田金萍,李天松,等.虛擬人行走的動作融合[J].計算機工程,2009,35(22):267-271.

[18]甘建紅,彭強,戴培東,等.基于 OBB層次結構碰撞檢測的改進算法[J].系統仿真學報,2011,23(1):2619-2173.

[19]Gayle R,Manocha D.Navigating virtual agents in online virtual worlds[C]//Proceedings of the Web3D 2008.New York,NY,USA:ACM,2008:53-56.

猜你喜歡
動畫校園模型
一半模型
做個動畫給你看
重要模型『一線三等角』
動畫發展史
重尾非線性自回歸模型自加權M-估計的漸近分布
我的動畫夢
文苑(2019年22期)2019-12-07 05:28:56
校園的早晨
琴童(2017年3期)2017-04-05 14:49:04
春滿校園
3D打印中的模型分割與打包
我是動畫迷
學生天地(2016年9期)2016-05-17 05:45:06
主站蜘蛛池模板: 在线国产欧美| 欧美专区在线观看| 亚洲精品久综合蜜| 在线毛片网站| 国产在线视频自拍| 91区国产福利在线观看午夜| 色综合中文| 中文字幕佐山爱一区二区免费| 久久国产拍爱| 欧美国产精品不卡在线观看| 国产91色在线| 欧美亚洲日韩中文| 欧美高清日韩| 手机在线免费毛片| 黄色片中文字幕| 日本一本在线视频| 国内精品久久久久久久久久影视| 999精品视频在线| 99福利视频导航| 亚洲一道AV无码午夜福利| 19国产精品麻豆免费观看| 91精品国产91久久久久久三级| 亚洲国产精品日韩欧美一区| 嫩草影院在线观看精品视频| 曰韩免费无码AV一区二区| 亚洲天堂福利视频| 成人毛片免费在线观看| 精品人妻一区无码视频| 青青久在线视频免费观看| 亚洲第一在线播放| 蜜臀AV在线播放| 激情爆乳一区二区| 97人人做人人爽香蕉精品| 精品三级网站| 好久久免费视频高清| 亚洲精品天堂在线观看| 亚洲欧美另类视频| 日本精品影院| jizz在线免费播放| 丁香六月综合网| 国产在线欧美| 91在线激情在线观看| 精品国产免费第一区二区三区日韩| 亚洲国产成人久久77| 五月婷婷丁香综合| 手机精品视频在线观看免费| 久草网视频在线| 日本福利视频网站| 久久综合伊人 六十路| 成年看免费观看视频拍拍| 亚洲视频一区在线| 国产麻豆精品久久一二三| 永久成人无码激情视频免费| 亚洲国产av无码综合原创国产| 欧美成人免费一区在线播放| 综合色88| 网友自拍视频精品区| 免费在线a视频| 国产91小视频| 欧美一区中文字幕| 国产性猛交XXXX免费看| 国产经典在线观看一区| 日本黄色a视频| 国产精品性| 全部免费毛片免费播放| 亚洲无码视频一区二区三区| 亚洲天堂.com| 午夜国产精品视频黄| 青青青亚洲精品国产| 国产精品无码在线看| 国产一级做美女做受视频| 91精品专区国产盗摄| 成人免费午夜视频| 亚洲欧洲免费视频| 91精品aⅴ无码中文字字幕蜜桃| 欧美精品v欧洲精品| jizz亚洲高清在线观看| 一级毛片免费观看不卡视频| 久久免费精品琪琪| 国产精品偷伦视频免费观看国产 | 亚洲黄色激情网站| 国产精品尤物铁牛tv |