劉金磊
同濟大學,上海 201800
Leap Motion交互在民機上的應用
劉金磊
同濟大學,上海 201800
近年來,隨著用戶體驗概念的不斷推廣,人機交互的設計也在不斷發展,但鍵盤鼠標依舊是目前人們操作電腦的主流方式。一方面在改進傳統鍵盤鼠標的操控方式,比如觸控操作的出現,讓手指代替光標直接與屏幕接觸;另一方面則又設法開創全新的人機交互方式,如手勢操作、人腦控制等。硬件體感交互設備也在層出不窮,像微軟的Kinect,任天堂的Wii,谷歌的Google Glass等,其中Leap Motion作為去年剛在市面上出售的硬件交互設備,承載著很多人的期待。所以,本文借助民機展示的應用平臺來探索一下Leap Motion這個新的交互設備的實際應用,在提高其實用性的同時找出其交互方式上的優缺點,為其未來發展空間做一個評估。
Leap Motion;Unity3D;人機交互;展示系統
如果說微軟Kinect 正在從游戲走向更廣闊的應用天地,那么Leap Motion 無疑是在把游戲中的“酷體驗”做到極致。Leap Motion 的精髓在于,它不僅能夠識別用戶的粗放動作,還能偵測比較精細的肢體運動,幾乎讓人手和影像融為一體,通過手指運動,用戶可以直接控制電腦,包括圖片縮放、移動、旋轉、指令操作、精準控制、隔空書寫等,其精確度可以達到毫米級別。而在實際環境中,軟硬件的良好配合能保證Leap Motion輕松“看到”用戶的十個手指,為第三方應用開發者提供了一個充滿想象力的創造空間。
1.1關鍵技術
Unity 3D虛擬現實技術:Unity3D是由Unity Technologies開發的一個讓玩家輕松創建諸如三維視頻游戲、建筑可視化、實時三維動畫等類型互動內容的多平臺的綜合型游戲開發工具,是一個全面整合的專業游戲引擎,可以利用一些C#或JavaScript編寫的腳本文件做開發,并支持3dsMax導入的fbx、obj等格式的模型,同時由于Leap Motion對C#語言的支持,使得Unity也可與Leap Motion進行交互,這使得Leap Motion的多平臺特點得到了拓展和延伸。
3dsMax建模技術:該交互所使用的模型均由3dsMax制作,配合PhotoShop制作貼圖文件。
Leap Motion 交互在民機中的應用主要通過基于Leap Motion操作的民機展示系統來實現。本系統的架構可以用MVC框架表示,如圖1所示。
其中,模型為一些后臺存儲數據;視圖即為Unity發布的不同平臺的系統客戶端,作為系統和用戶的交互接口;控制器即為系統數據和前端窗口交互的工具,在本系統中有兩種交互方式,一為鼠標操作的事件處理,二為Leap Motion的手勢識別子系統。
1.2系統功能需求
根據系統架構需求中提出的功能模塊劃分,分別對各模塊的功能需求進行了規范,如圖2系統功能需求所示。Leap Motion飛機展示系統客戶端作為系統和用戶的交互接口,負責管理后臺存儲數據和調用場景內容的呈現。客戶端通過Unity3D下的場景構建來實現,不同功能模塊通過場景的切換來實現。
1.3系統架構設計
根據本系統需求分析的要求,采用系統分層體系架構的設計方式進行系統體系結構設計,分為前臺表現層、交互接口層、后臺邏輯資源層。
1)前臺表現層。
系統前臺表現層負責為系統外部用戶提供交互入口和信息展示。
2)交互接口層。
系統接口層負責為系統功能模塊內部或模塊之間進行數據交換或業務邏輯控制等操作提供相應的接口。
3)后臺邏輯資源層。
后臺邏輯資源層負責為系統存儲所有數據和封裝所有的業務邏輯,實現各模塊的功能與接口。
1.4系統實現
客戶端方面主要通過Unity實現場景渲染和構建。腳本語言為JavaScript和C#,在MonoDevelop下編寫,同時配合3dsMax制作模型,PhotoShop進行圖片處理,制作UI和貼圖等。
1.4.1模型動畫
主界面中飛機模型一直按照路徑在移動,實現方式為使用iTweenPath的插件繪制飛機行駛路徑“flyIn”,并在flyIn.cs腳本中調用,實現飛機的飛行動畫。iTweenPath繪制的路徑如圖3飛機行駛路徑所示。
1.4.2數據讀取
加載主界面前,需先讀取用戶設置數據,通過三個bool值變量即可讀取PlayerPrefs中的數據:
boollanguage_en = PlayerPrefs. HasKey(“language_en”) && PlayerPrefs. GetInt(“language_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作為剛剛起步的交互設備,目前還沒有得到非常普遍的推廣,我認為主要原因一是缺少一個比較完善的應用,能發揮出其特長并且有良好的用戶體驗。現在的Leap Motion應用的用戶體驗做得不夠好,沒有一個能像鼠標或觸摸屏操作一樣讓人覺得既方便快捷又直觀的。二是硬件設備自身的識別技術有限,設備經常會受到光線等的干擾,使識別出現偏差。
[1]Leap Motion. Airspace應用商店[DB/OL]https:// airspace.leapmotion.com.
[2]宜雨松.Unity3D游戲開發[M].北京:人民郵電出版社,2012:1-334.
[3]馮海超.Leap改變世界的小野心[J].英才,2013(10):23.
[4]江于超.體感來勢洶洶不一樣的Leap motion[J].電腦迷,2013(11):32-33.
[5]喬巖.Leap能否革鼠標的命[N].中國計算機報,2013-03-11(2).
[6]唐澳,丁杰,王俊淵.交互享樂感應生活 Leap Motion人體感應控制器[J].移動信息, 2013(8):108-109.
[7]吳德新.從Kinect和Leap Motion談體感的開發[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