劉金磊
同濟(jì)大學(xué),上海 201800
Leap Motion交互在民機(jī)上的應(yīng)用
劉金磊
同濟(jì)大學(xué),上海 201800
近年來,隨著用戶體驗(yàn)概念的不斷推廣,人機(jī)交互的設(shè)計(jì)也在不斷發(fā)展,但鍵盤鼠標(biāo)依舊是目前人們操作電腦的主流方式。一方面在改進(jìn)傳統(tǒng)鍵盤鼠標(biāo)的操控方式,比如觸控操作的出現(xiàn),讓手指代替光標(biāo)直接與屏幕接觸;另一方面則又設(shè)法開創(chuàng)全新的人機(jī)交互方式,如手勢(shì)操作、人腦控制等。硬件體感交互設(shè)備也在層出不窮,像微軟的Kinect,任天堂的Wii,谷歌的Google Glass等,其中Leap Motion作為去年剛在市面上出售的硬件交互設(shè)備,承載著很多人的期待。所以,本文借助民機(jī)展示的應(yīng)用平臺(tái)來探索一下Leap Motion這個(gè)新的交互設(shè)備的實(shí)際應(yīng)用,在提高其實(shí)用性的同時(shí)找出其交互方式上的優(yōu)缺點(diǎn),為其未來發(fā)展空間做一個(gè)評(píng)估。
Leap Motion;Unity3D;人機(jī)交互;展示系統(tǒng)
如果說微軟Kinect 正在從游戲走向更廣闊的應(yīng)用天地,那么Leap Motion 無疑是在把游戲中的“酷體驗(yàn)”做到極致。Leap Motion 的精髓在于,它不僅能夠識(shí)別用戶的粗放動(dòng)作,還能偵測比較精細(xì)的肢體運(yùn)動(dòng),幾乎讓人手和影像融為一體,通過手指運(yùn)動(dòng),用戶可以直接控制電腦,包括圖片縮放、移動(dòng)、旋轉(zhuǎn)、指令操作、精準(zhǔn)控制、隔空書寫等,其精確度可以達(dá)到毫米級(jí)別。而在實(shí)際環(huán)境中,軟硬件的良好配合能保證Leap Motion輕松“看到”用戶的十個(gè)手指,為第三方應(yīng)用開發(fā)者提供了一個(gè)充滿想象力的創(chuàng)造空間。
1.1關(guān)鍵技術(shù)
Unity 3D虛擬現(xiàn)實(shí)技術(shù):Unity3D是由Unity Technologies開發(fā)的一個(gè)讓玩家輕松創(chuàng)建諸如三維視頻游戲、建筑可視化、實(shí)時(shí)三維動(dòng)畫等類型互動(dòng)內(nèi)容的多平臺(tái)的綜合型游戲開發(fā)工具,是一個(gè)全面整合的專業(yè)游戲引擎,可以利用一些C#或JavaScript編寫的腳本文件做開發(fā),并支持3dsMax導(dǎo)入的fbx、obj等格式的模型,同時(shí)由于Leap Motion對(duì)C#語言的支持,使得Unity也可與Leap Motion進(jìn)行交互,這使得Leap Motion的多平臺(tái)特點(diǎn)得到了拓展和延伸。
3dsMax建模技術(shù):該交互所使用的模型均由3dsMax制作,配合PhotoShop制作貼圖文件。
Leap Motion 交互在民機(jī)中的應(yīng)用主要通過基于Leap Motion操作的民機(jī)展示系統(tǒng)來實(shí)現(xiàn)。本系統(tǒng)的架構(gòu)可以用MVC框架表示,如圖1所示。
其中,模型為一些后臺(tái)存儲(chǔ)數(shù)據(jù);視圖即為Unity發(fā)布的不同平臺(tái)的系統(tǒng)客戶端,作為系統(tǒng)和用戶的交互接口;控制器即為系統(tǒng)數(shù)據(jù)和前端窗口交互的工具,在本系統(tǒng)中有兩種交互方式,一為鼠標(biāo)操作的事件處理,二為Leap Motion的手勢(shì)識(shí)別子系統(tǒng)。
1.2系統(tǒng)功能需求
根據(jù)系統(tǒng)架構(gòu)需求中提出的功能模塊劃分,分別對(duì)各模塊的功能需求進(jìn)行了規(guī)范,如圖2系統(tǒng)功能需求所示。Leap Motion飛機(jī)展示系統(tǒng)客戶端作為系統(tǒng)和用戶的交互接口,負(fù)責(zé)管理后臺(tái)存儲(chǔ)數(shù)據(jù)和調(diào)用場景內(nèi)容的呈現(xiàn)。客戶端通過Unity3D下的場景構(gòu)建來實(shí)現(xiàn),不同功能模塊通過場景的切換來實(shí)現(xiàn)。
1.3系統(tǒng)架構(gòu)設(shè)計(jì)
根據(jù)本系統(tǒng)需求分析的要求,采用系統(tǒng)分層體系架構(gòu)的設(shè)計(jì)方式進(jìn)行系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì),分為前臺(tái)表現(xiàn)層、交互接口層、后臺(tái)邏輯資源層。
1)前臺(tái)表現(xiàn)層。
系統(tǒng)前臺(tái)表現(xiàn)層負(fù)責(zé)為系統(tǒng)外部用戶提供交互入口和信息展示。
2)交互接口層。
系統(tǒng)接口層負(fù)責(zé)為系統(tǒng)功能模塊內(nèi)部或模塊之間進(jìn)行數(shù)據(jù)交換或業(yè)務(wù)邏輯控制等操作提供相應(yīng)的接口。
3)后臺(tái)邏輯資源層。
后臺(tái)邏輯資源層負(fù)責(zé)為系統(tǒng)存儲(chǔ)所有數(shù)據(jù)和封裝所有的業(yè)務(wù)邏輯,實(shí)現(xiàn)各模塊的功能與接口。
1.4系統(tǒng)實(shí)現(xiàn)
客戶端方面主要通過Unity實(shí)現(xiàn)場景渲染和構(gòu)建。腳本語言為JavaScript和C#,在MonoDevelop下編寫,同時(shí)配合3dsMax制作模型,PhotoShop進(jìn)行圖片處理,制作UI和貼圖等。
1.4.1模型動(dòng)畫
主界面中飛機(jī)模型一直按照路徑在移動(dòng),實(shí)現(xiàn)方式為使用iTweenPath的插件繪制飛機(jī)行駛路徑“flyIn”,并在flyIn.cs腳本中調(diào)用,實(shí)現(xiàn)飛機(jī)的飛行動(dòng)畫。iTweenPath繪制的路徑如圖3飛機(jī)行駛路徑所示。
1.4.2數(shù)據(jù)讀取
加載主界面前,需先讀取用戶設(shè)置數(shù)據(jù),通過三個(gè)bool值變量即可讀取PlayerPrefs中的數(shù)據(jù):
boollanguage_en = PlayerPrefs. HasKey(“l(fā)anguage_en”) && PlayerPrefs. GetInt(“l(fā)anguage_en”) == 0 ? false : true;
boolbgmOn = PlayerPrefs.HasKey(“bgmOn”)&& PlayerPrefs.GetInt(“bgmOn”) == 0 ? false : true;
boolrightHand = PlayerPrefs. HasKey(“rightHand”) && PlayerPrefs. GetInt(“rightHand”) == 0 ? false : true;
Leap Motion作為剛剛起步的交互設(shè)備,目前還沒有得到非常普遍的推廣,我認(rèn)為主要原因一是缺少一個(gè)比較完善的應(yīng)用,能發(fā)揮出其特長并且有良好的用戶體驗(yàn)?,F(xiàn)在的Leap Motion應(yīng)用的用戶體驗(yàn)做得不夠好,沒有一個(gè)能像鼠標(biāo)或觸摸屏操作一樣讓人覺得既方便快捷又直觀的。二是硬件設(shè)備自身的識(shí)別技術(shù)有限,設(shè)備經(jīng)常會(huì)受到光線等的干擾,使識(shí)別出現(xiàn)偏差。
[1]Leap Motion. Airspace應(yīng)用商店[DB/OL]https:// airspace.leapmotion.com.
[2]宜雨松.Unity3D游戲開發(fā)[M].北京:人民郵電出版社,2012:1-334.
[3]馮海超.Leap改變世界的小野心[J].英才,2013(10):23.
[4]江于超.體感來勢(shì)洶洶不一樣的Leap motion[J].電腦迷,2013(11):32-33.
[5]喬巖.Leap能否革鼠標(biāo)的命[N].中國計(jì)算機(jī)報(bào),2013-03-11(2).
[6]唐澳,丁杰,王俊淵.交互享樂感應(yīng)生活 Leap Motion人體感應(yīng)控制器[J].移動(dòng)信息, 2013(8):108-109.
[7]吳德新.從Kinect和Leap Motion談體感的開發(fā)[EB/ OL].[2013-07-17].http://www.leiphone.com/d-gesturectrl-dev.html.
The application of Leap Motion in the interaction of civil aircraft
Liu Jinlei
TongjiUniversity,Shanghai 201800
With the spreading of the concept of User Experience,the design of Human-computer Interaction is developing at the same time. However, keyboard and mouse are still the most popular way of operation. On the one side, we are developing this operating way. For example, the emergence of “Touch”operation can let finger rather than mouse to touch the screen. On the other side, we are creating new Human-computer interactive way as well, including gesture operation, brain control and so on. Interactive hardware, such as Kinect in Microsoft, Wii in Nintendo and Goole Glass, has more and more types. Among them, Leap Motion, which was came out in the last year, is the most attractive one. The article is to explore some practical application of leap motion — a new interactive devices with the help of civil aircraft display platform .While in improving actually use and find out the interactive way on the advantages and disadvantages at the same time. And also make an assessment for the future development.
Leap Motion;Unity3D; Human-computer Interaction;Display System
TP3
A
1674-6708(2015)147-0063-02