劉 楊
(1.同濟大學 上海200092;2.天津生態(tài)城產(chǎn)業(yè)園運營管理有限公司 天津300467)
基于Unity和Leap M otion的國家動漫園虛擬漫游的研究與實現(xiàn)
劉 楊1,2
(1.同濟大學 上海200092;2.天津生態(tài)城產(chǎn)業(yè)園運營管理有限公司 天津300467)
近年來,利用Unity開發(fā)的Android、iOS、Xbox等不同類型的平臺游戲發(fā)展迅猛,已成為帶動游戲行業(yè)發(fā)展的新生力量。Leap Motion的出現(xiàn),不僅改變了游戲世界的操控方式,也改變了許多產(chǎn)業(yè)的應(yīng)用方式。以Unity為開發(fā)工具,利用Leap Motion硬件并結(jié)合C#腳本語言,開發(fā)了國家動漫園虛擬漫游應(yīng)用程序,使用戶足不出戶就能在國家動漫園里進行三維空間漫游,增添了用戶的體驗樂趣。
Unity Leap Motion 虛擬漫游 手勢控制
隨著虛擬現(xiàn)實交互技術(shù)的飛速發(fā)展,虛擬漫游的開發(fā)變得如火如荼。全球不少知名公司開發(fā)了 3D引擎,如美國公司開發(fā)的 Unreal Engineer、德國公司開發(fā)的 CryENGINE等,不僅功能強大,而且畫面效果突出,受到不少開發(fā)人員的喜愛。本文以國家動漫園虛擬漫游為研究對象,借助Unity和目前最流行、最熱門的 Leap Motion整合開發(fā)應(yīng)用程序。Unity引擎不僅支持游戲創(chuàng)作,還可通過插件或者二次開發(fā)支持各種交互設(shè)備,如 Kinect、Leap Motion等。通過這些交互設(shè)備,可以讓用戶獲得更逼真、更生動的虛擬互動體驗效果。
1.1 Unity
Unity是一款國際領(lǐng)先的專業(yè)游戲引擎,其編輯器可以在Windows和Mac OS X平臺上運行,游戲作品可以直接一鍵發(fā)布到所有主流的游戲平臺,一般無須任何修改,節(jié)省了大量的時間和人力。除了游戲開發(fā)領(lǐng)域,Unity引擎還被廣泛應(yīng)用于航空航天、軍事國防、工業(yè)仿真、教育培訓、建筑漫游等領(lǐng)域。
1.2 LeapM otion
Leap Motion手勢體感控制器(見圖1)是美國公司制造出的一種支持手和手指動作作為輸入的計算機硬件感應(yīng)設(shè)備,類似于一個鼠標,但不需要手的接觸或觸摸。Leap Motion可以追蹤全部 10個手指,能達到百分之一毫米的精確程度,是Kinect的100多倍。該設(shè)備可以實現(xiàn)用手指瀏覽網(wǎng)頁、閱讀文章、玩切水果或割繩子等游戲。即使不使用任何畫筆,直接用手指也可以繪畫、涂鴉和設(shè)計。
圖1 Leap M otion手勢體感控制器Fig.1 Leap M otion gesture controller
1.3 CSharp(C#)語言
C#語言是一種強大的、面向?qū)ο蟮某绦蜷_發(fā)語言,是在C、C++語言的基礎(chǔ)上重新構(gòu)造的。作為一個全新的編程語言,開發(fā)人員可以使用 C#來開發(fā)、實現(xiàn)多種功能、多種類型的應(yīng)用程序,如 Windows應(yīng)用程序、Web應(yīng)用程序、X游戲等。Unity可使用的程序語言有 3種,即 JavaScript、C#和 BooScript,目前 C#比較普及,相對的參考資料比較豐富。C#本身有很多強大的語言特性,總體來講,比 JavaScript更適合進行深入開發(fā),大多數(shù)的Unity第三方插件都是用C#編寫的。特別注意的是,Unity的C#語言是基于Mono的.Net平臺上運行,Mono框架是.Net的跨平臺框架。
2.1 下載LeapMotion的Unity插件包
打開Unity編輯器,單擊Window s-Asset Store,或者快捷鍵Ctrl+9打開Asset Store對話框。通過搜索欄搜索到Leap Motion Examples,并單擊“Download”按鈕下載 Unity插件包,如圖2所示。
圖2 Asset Store對話框Fig.2 Dialog box of Asset Store
2.2 模型導入
通過3,ds Max、Maya或Softimage XSI等建模軟件制作出國家動漫園的模型,并導出FBX格式,然后導入到Unity編輯器并調(diào)整布局、材質(zhì)等。特別注意的是場景中的模型面數(shù)會影響到 CPU的性能,所以應(yīng)盡量減少場景中的模型面數(shù)和材質(zhì)數(shù)量。
3.1 創(chuàng)建第一人稱角色控制器
導入Leap Motion Example插件和國家動漫園模型后,新建場景,刪除Main Camera并添加First Controller,如圖3所示,這樣即可以通過第一人稱角色控制器的視角來進行漫游。
圖3 創(chuàng)建第一人稱控制器Fig.3 Creating a first person controller
3.2 第一人稱角色控制器的綁定
將 Project面板里的 LeapScripts文件夾下的 LeapManager.cs腳本文件附加到第一人稱角色控制器的子物體——Main Camera里,如圖4所示。
圖4 Leap M anager參數(shù)Fig.4 Leap M anager param eters
3.3 手勢感應(yīng)腳本的實現(xiàn)
新建C#腳本文件,重命名為Walk.cs,并綁定到First Controller物體,此腳本功能是讓用戶用手指控制人物在國家動漫園中前、后、左、右任意方向的行走,腳本描述如下:
該代碼實現(xiàn)的功能是用 Leap Motion捕捉并識別用戶手指的運動,實現(xiàn)人物的移動。
3.4 發(fā)布PC平臺
最后一步是將已經(jīng)完成的國家動漫園虛擬漫游發(fā)布到PC平臺,并進行測試。
單擊 File-Build Setting,打開發(fā)布平臺對話框(見圖 5)。點擊Add Current添加場景,設(shè)置完就可以單擊“Build”按鈕進行發(fā)布。
特別注意的是,發(fā)布后的文件夾里面必須有4個DLL文件(見圖6),否則無法使用Leap Motion控制器控制應(yīng)用程序。
圖5 對話框Fig.5 Dialog box of Build Setting
圖6 發(fā)布成功后的應(yīng)用程序文件夾Fig.6 Folder of the successfully released app lication program
虛擬現(xiàn)實是交互設(shè)計中一個令人興奮的領(lǐng)域。在用戶和計算機的交互中,鍵盤和鼠標是目前最常用的工具,但對于三維空間來說,它們并不適合。本文借助 Leap Motion控制器,并利用 Unity技術(shù)與 C#腳本的結(jié)合,實現(xiàn)了通過幾根手指控制國家動漫園虛擬漫游角色的一種新技術(shù),不僅功能更加完善,而且人機界面更加友好?!?/p>
[1] Unity Technologies. Unity 4.x 從入門到精通[M]. 北京:中國鐵道出版社,2013.
[2] 金璽曾. Unity 3,D手機游戲開發(fā)[M]. 北京:清華大學出版社,2013.
[3] Leap Motion開發(fā)文檔[EB/OL]. http://www.leapmotion.com.
Research and Realization of Virtual Roam ing in National Animation Industry Park based on Unity and Leap M otion
LIU Yang1,2
(1. Tongji University,Shanghai 200092,China;2. Tianjin Eco-city Industry Parks Operation Management Co.,Ltd.,Tianjin 300467,China)
In recently years,fast grow ing Unity platform games,which are based on Android,iOS and Xbox etc,have become a new development engine for the game industry. Besides,the emergence of Leap Motion has not only changed ways of manipulation in the gam ing world,but also ways of industrial applications. Taking Unity as a development tool and Leap Motion hardware and C# scripting language as supporting means,this paper describes the development of a virtual roam ing application program,which enables 3-D roam ing in National Animation Industry Park and enriches visitors’ experience.
Unity;Leap Motion;virtual roam ing;gesture control
TP312
:A
:1006-8945(2015)03-0038-02
2015-02-16