楊紅蘭
(安徽文達(dá)信息工程學(xué)院 人事處, 合肥 231201)
移動(dòng)平臺(tái)的健身交互虛擬體驗(yàn)系統(tǒng)的研究
楊紅蘭
(安徽文達(dá)信息工程學(xué)院 人事處, 合肥 231201)
利用VR技術(shù)滿足人們更高的健身娛樂體驗(yàn)需求,已成為研究的熱點(diǎn)之一。在簡介VR技術(shù)在健身領(lǐng)域的研究、應(yīng)用情況的基礎(chǔ)上,從實(shí)用性角度出發(fā),研究基于移動(dòng)平臺(tái)的VR技術(shù)應(yīng)用與傳統(tǒng)跑步機(jī)相結(jié)合的可能性,給出系統(tǒng)總體方案,并對(duì)方案中涉及主要技術(shù)進(jìn)行分析。
移動(dòng)平臺(tái);VR;跑步機(jī);方案
隨著社會(huì)不斷地發(fā)展和進(jìn)步,人們的生活水平逐步提高,健康可持續(xù)的生活方式逐漸受到人們重視,而有計(jì)劃地進(jìn)行健身運(yùn)動(dòng),也已被越來越多的人提上日程。因受限于城鎮(zhèn)化發(fā)展所帶來的空間等問題,不少人將一些健身活動(dòng)轉(zhuǎn)移到室內(nèi),相應(yīng)室內(nèi)健身器械也逐漸被普及應(yīng)用,如室內(nèi)跑步機(jī)、自行車等,這些健身器材能夠在一定程度上滿足人們的健身需求,但在用戶體驗(yàn)上稍有不足,人們更期望通過這些室內(nèi)器械實(shí)現(xiàn)與室外相同的健身體驗(yàn)。
近些年隨著科技進(jìn)步,虛擬現(xiàn)實(shí)(VirtualReality,簡稱VR)技術(shù)逐漸成為研究的熱點(diǎn),其利用計(jì)算機(jī)模擬出使用者可以通過感知器官與之交互的虛擬環(huán)境,使其產(chǎn)生置身其中的“真實(shí)”體驗(yàn)。本文作者對(duì)VR技術(shù)與跑步機(jī)系統(tǒng)的結(jié)合進(jìn)行分析研究,提出一基于移動(dòng)平臺(tái)的系統(tǒng)方案。
1.1 VR技術(shù)簡介
VR技術(shù)是以浸沒感、交互性等為基本特征的集成技術(shù),其通過利用計(jì)算機(jī)、網(wǎng)絡(luò)、多媒體、人工智能、仿真和傳感等技術(shù),結(jié)合人的視覺、聽覺、觸覺等感覺器官特性,在相關(guān)設(shè)備中模擬生成虛擬環(huán)境,使人產(chǎn)生“身臨其境”的逼真感,并且可以通過語言、肢體表達(dá)等與真實(shí)世界相同或相似的方法與之交互。利用VR技術(shù),還可以突破時(shí)間、空間等條件限制,使人獲得在真實(shí)世界中較難或無法親身經(jīng)歷的體驗(yàn)。
VR技術(shù)的研究,為我們提供了解決問題的新思路、新方法。隨著VR技術(shù)的不斷發(fā)展,其已廣泛應(yīng)用于軍事、生產(chǎn)、醫(yī)療、教育、娛樂等領(lǐng)域,如虛擬戰(zhàn)場模擬訓(xùn)練、虛擬設(shè)計(jì)與制造、虛擬教室教學(xué)等,其為各行各業(yè)的發(fā)展提供了更富創(chuàng)新性的技術(shù)工具和發(fā)展平臺(tái),其將深刻改革行業(yè)發(fā)展模式,促進(jìn)相關(guān)產(chǎn)業(yè)轉(zhuǎn)型[1]。
1.2 研究現(xiàn)狀
將VR技術(shù)應(yīng)用于健身系統(tǒng),也一直是人們關(guān)注并研究的熱點(diǎn),主要研究的方向之一就是利用高性能設(shè)備,在健身系統(tǒng)中應(yīng)用實(shí)現(xiàn)虛擬交互,以提高使用者的“真實(shí)”健身體驗(yàn)。按照健身交互設(shè)備的不同,相關(guān)研究呈現(xiàn)多樣化,如運(yùn)動(dòng)跟蹤系統(tǒng)、跳舞毯系統(tǒng)、虛擬自行車健身系統(tǒng)、虛擬現(xiàn)實(shí)跑步機(jī)系統(tǒng)等等[2]。
近些年在面向市場方面,虛擬現(xiàn)實(shí)跑步機(jī)系統(tǒng)的研究成果尤其受人關(guān)注,比較突出的有由美國Virtuix公司推出的全方位跑步機(jī)Virtuix Omni,其在速率和距離這兩個(gè)維度數(shù)據(jù)的基礎(chǔ)上,加入了方位因素,讓用戶可以自由轉(zhuǎn)向,向任意方向前進(jìn);中國杭州虛現(xiàn)科技有限公司獨(dú)立研發(fā)的無束縛虛擬現(xiàn)實(shí)跑步機(jī)KAT Walk,其采用了懸掛式框架設(shè)計(jì),實(shí)現(xiàn)人體活動(dòng)空間和支撐結(jié)構(gòu)的分離,將使用者受到的動(dòng)作限制降至最低;奧地利的Cyberith公司推出的CyberithVirtualizer,采用特殊平衡配重系統(tǒng),以最小化阻力并平穩(wěn)運(yùn)行,同時(shí)可提供全方位的聲音和觸覺系統(tǒng),給使用者更全面的使用體驗(yàn);歐洲WizDish公司推出的WizDishRovr,結(jié)構(gòu)相對(duì)簡單,但采用特殊底盤設(shè)計(jì),可供使用者以獨(dú)特的滑行方式,獲得更沉浸式的虛擬體驗(yàn)。但是通過了解分析,這些系統(tǒng)應(yīng)用在健身方面還存在一些問題,如針對(duì)系統(tǒng)設(shè)備的使用,使用者需要重新學(xué)習(xí)行走、跑步等行為方式;系統(tǒng)設(shè)備一般占據(jù)較大空間,且需要額外輔助設(shè)施,對(duì)一般家庭來說總體價(jià)格偏高等[3]。
當(dāng)前,從跑步健身角度出發(fā),比較實(shí)用的依然是傳統(tǒng)跑步機(jī)系統(tǒng),在其與VR技術(shù)的結(jié)合中,基于技術(shù)難度、成本控制、安全性等因素,目前多以非沉浸式虛擬體驗(yàn)研究為主。本文將研究利用當(dāng)前流行的移動(dòng)平臺(tái)技術(shù),結(jié)合傳統(tǒng)跑步機(jī)系統(tǒng),給出一非沉浸式虛擬體驗(yàn)系統(tǒng)方案。
借助當(dāng)前越來越先進(jìn)的移動(dòng)設(shè)備、傳感技術(shù)以及跑步機(jī)系統(tǒng),本文著眼于實(shí)際可操作性,研究給出一個(gè)系統(tǒng)方案。
2.1 總體方案
按照數(shù)據(jù)處理過程,將整個(gè)系統(tǒng)抽象設(shè)計(jì)為傳感器、DSP處理器、無線發(fā)射模塊和移動(dòng)端設(shè)備4個(gè)部分,見圖1所示。系統(tǒng)首先利用傳感器捕獲運(yùn)動(dòng)相關(guān)數(shù)據(jù),然后使用DSP處理器收集傳感器數(shù)據(jù),在完成模/數(shù)轉(zhuǎn)換后,將數(shù)據(jù)交由無線發(fā)射模塊向外發(fā)送;而移動(dòng)設(shè)備在無線接收到所需數(shù)據(jù)后,利用預(yù)先設(shè)計(jì)、實(shí)現(xiàn)并安裝的處理軟件,對(duì)數(shù)據(jù)進(jìn)行分析運(yùn)算,并實(shí)時(shí)生成運(yùn)動(dòng)虛擬景象,完成與使用者之間的交互。
圖1 總體設(shè)計(jì)方案示例圖
按照方案設(shè)計(jì),系統(tǒng)預(yù)期集成效果示例見圖2所示。健身者可以通過無線設(shè)置,將移動(dòng)設(shè)備和跑步機(jī)系統(tǒng)相連,隨著健身者運(yùn)動(dòng),數(shù)據(jù)實(shí)時(shí)傳遞和處理,在移動(dòng)端設(shè)備中實(shí)現(xiàn)同步運(yùn)動(dòng)漫游,見圖3示例,增強(qiáng)健身運(yùn)動(dòng)的娛樂性。
圖2 系統(tǒng)預(yù)期效果圖
圖3 系統(tǒng)虛擬場景示例圖
該方案的優(yōu)勢在于:結(jié)合傳統(tǒng)跑步機(jī)系統(tǒng),不改變使用者的運(yùn)動(dòng)習(xí)慣;集成利用普及率較高的移動(dòng)設(shè)備,有效控制系統(tǒng)整體成本;使用者可自行下載喜好的場景和人物形象等,針對(duì)個(gè)性化需求,系統(tǒng)具有更好的適應(yīng)性和可擴(kuò)展性。
2.2 方案技術(shù)選擇
在技術(shù)選擇上,需要重點(diǎn)考慮移動(dòng)端虛擬實(shí)現(xiàn)開發(fā)、無線數(shù)據(jù)傳輸、傳感器數(shù)據(jù)處理等方面的問題。
2.2.1 移動(dòng)端虛擬實(shí)現(xiàn)開發(fā)
隨著移動(dòng)平臺(tái)技術(shù)的不斷發(fā)展,移動(dòng)設(shè)備的配置及性能越來越高,這為相關(guān)軟件的安裝及運(yùn)行提供良好基礎(chǔ)條件。而在具體開發(fā)上,目前市面上也已有豐富的技術(shù)工具可供選擇,如在引擎開發(fā)方面,比較主流的有支持C#的Unity和支持C++的Unreal,它們都提供了blueprint,供用戶隨意選擇使用、修改,以制作虛擬現(xiàn)實(shí)版本軟件[4]。從開發(fā)成本、效率、編程要求和兼容性等多方面因素考慮,本方案選擇針對(duì)普及性更好的手機(jī)設(shè)備進(jìn)行軟件設(shè)計(jì)開發(fā);開發(fā)上選擇利用Unity技術(shù)工具進(jìn)行主體開發(fā),針對(duì)其中所需虛擬場景、人物等材料的三維建模,可以先利用C4D、3dsMax或Maya等軟件工具完成制作,然后導(dǎo)入U(xiǎn)nity工具軟件進(jìn)行二次處理。
2.2.2 無線數(shù)據(jù)傳輸
本方案中需要進(jìn)行近距離的無線數(shù)據(jù)傳輸,目前可采用的主流無線網(wǎng)絡(luò)技術(shù)有Zigbee、WiFi、Bluetooth等[5]。Zigbee采用IEEE 802.15.4協(xié)議,其簡單、組網(wǎng)容量大、功耗低,采用免執(zhí)照頻段,成本較低,但總體數(shù)據(jù)傳輸速率不高,且信道接入不支持時(shí)分復(fù)用,對(duì)實(shí)時(shí)業(yè)務(wù)不能很好地支持。目前Zigbee技術(shù)主要應(yīng)用在物聯(lián)網(wǎng)中,而在移動(dòng)網(wǎng)絡(luò)及相關(guān)設(shè)備上的應(yīng)用支持較少。WiFi采用IEEE 802.11協(xié)議,其覆蓋范圍廣,傳輸速度快,應(yīng)用非常普遍,基本上已經(jīng)成為主流標(biāo)準(zhǔn)配置,但是設(shè)備之間不能直接進(jìn)行點(diǎn)對(duì)點(diǎn)通信,一般需要通過路由器等設(shè)備進(jìn)行中轉(zhuǎn);隨著技術(shù)的進(jìn)步,WiFi點(diǎn)對(duì)點(diǎn)通信技術(shù)WiFi Direct也開始得到應(yīng)用,但其對(duì)移動(dòng)設(shè)備的配置要求較高,且支持的應(yīng)用程序不多,目前普及程度還不高。Bluetooth目前集傳統(tǒng)IEEE 802.15.1協(xié)議,IEEE 802.11物理、MAC層以及Wibree標(biāo)準(zhǔn)為一體,可用于近距離設(shè)備間的直接點(diǎn)對(duì)點(diǎn)或點(diǎn)對(duì)多通信,其已是移動(dòng)設(shè)備上的標(biāo)準(zhǔn)配置,受限于高速跳頻,Bluetooth傳輸中的數(shù)據(jù)包不能太大。通過對(duì)主流無線網(wǎng)絡(luò)技術(shù)的分析比較,見表1所示[6],再結(jié)合簡易性、可支持性以及數(shù)據(jù)傳輸量等綜合因素,本方案選擇利用Bluetooth網(wǎng)絡(luò)技術(shù)進(jìn)行系統(tǒng)設(shè)備間的點(diǎn)對(duì)點(diǎn)數(shù)據(jù)傳輸。
表1 協(xié)議技術(shù)特征對(duì)比
2.2.3 傳感器數(shù)據(jù)處理
按輸入信息的類型分,目前有速度傳感器、壓力傳感器、溫度傳感器和氣敏傳感器等。從可行性方面考慮,本方案選擇前期主要采用速度傳感器進(jìn)行應(yīng)用測試,后期再研究其他類型傳感器的應(yīng)用可能性。
按輸出信息的性質(zhì)分,傳感器技術(shù)目前主要有模擬信號(hào)和數(shù)字信號(hào)兩類,前者成本相對(duì)較低,但需要利用DSP等設(shè)備進(jìn)行信號(hào)轉(zhuǎn)換處理;后者成本相對(duì)較高,所產(chǎn)生數(shù)據(jù)信號(hào)可以直接利用,但在數(shù)據(jù)格式等方面可能仍需要額外處理。綜合成本、普及性和適用性等因素,本方案選擇主要利用模擬信號(hào)傳感器加DSP處理器進(jìn)行運(yùn)動(dòng)數(shù)據(jù)的收集和處理。
在本方案的具體VR實(shí)現(xiàn)中,設(shè)計(jì)采用C++等編程語言,對(duì)傳感器傳輸數(shù)據(jù)進(jìn)行接收處理,其接口代碼示例如下:
var target : Transform;
var distance = 10.0;
var xSpeed = 250.0;
var ySpeed = 120.0;
var yMinLimit = -20;
var yMaxLimit = 80;
private var x = 0.0;
private var y = 0.0;
private var smooth = 0.0;
@script AddComponentMenu("Camera-Control/Mouse Orbit")
function Start () {
var angles = transform.eulerAngles;
x = angles.y;
y = angles.x;
change rotation
if (rigidbody) rigidbody.freezeRotation = true;
}
function LateUpdate () {
if (target) {
if(Input.GetMouseButton(0)) {
x += Input.GetAxis("Mouse X") * xSpeed * 0.02;
y -= Input.GetAxis("Mouse Y") * ySpeed * 0.02;
}
y = ClampAngle(y, yMinLimit, yMaxLimit);
var rotation = Quaternion.Euler(y, x, 0);
var position = rotation * Vector3(0.0, 0.5, -distance) + target.position;
transform.rotation = rotation;
transform.position = position;
}
if(Input.GetAxis("Mouse ScrollWheel")) {
smooth += Input.GetAxis("Mouse ScrollWheel");
}
distance += smooth;
if(distance < 1) distance = 1;
if(distance > 6) distance = 6;
if(smooth != 0) smooth /= 1.2;
}
static function ClampAngle (angle : float, min : float, max : float) {
if (angle < -360)
angle += 360;
if (angle > 360)
angle -= 360;
return Mathf.Clamp (angle, min, max);
}
#pragma strict
function Start () {
animation.CrossFade("Idle");
}
function Update () {}
function OnGUI () {
if(GUILayout.Button("Idle")){ animation.CrossFade("Idle");}
if(GUILayout.Button("Idle2")){ animation.CrossFade("Idle2");}
if(GUILayout.Button("Walk")){ animation.CrossFade("Walk");}
if(GUILayout.Button("Run")){ animation.CrossFade("Run");}
if(GUILayout.Button("Jump")){ animation.CrossFade("Jump");}
if(GUILayout.Button("AttackReady")){ animation.CrossFade("AttackReady");}
if(GUILayout.Button("Attack1")){ animation.CrossFade("Attack1");}
if(GUILayout.Button("Attack2")){ animation.CrossFade("Attack2");}
if(GUILayout.Button("Attack3-1")){ animation.CrossFade("Attack3-1");}
if(GUILayout.Button("Attack3-2")){ animation.CrossFade("Attack3-2");}
if(GUILayout.Button("Attack3-3")){ animation.CrossFade("Attack3-3");}
if(GUILayout.Button("Attack4")){ animation.CrossFade("Attack4");}
if(GUILayout.Button("Wound")){ animation.CrossFade("Wound");}
if(GUILayout.Button("Stun")){ animation.CrossFade("Stun");}
if(GUILayout.Button("HitAway")){ animation.CrossFade("HitAway");}
if(GUILayout.Button("HitAwayUp")){ animation.CrossFade("HitAwayUp");}
if(GUILayout.Button("Death")){ animation.CrossFade("Death");}
if(GUILayout.Button("Magic")){ animation.CrossFade("Magic");}
if(GUILayout.Button("Fire")){ animation.CrossFade("Fire");}
}
依據(jù)VR技術(shù)在健身領(lǐng)域的研究、應(yīng)用現(xiàn)狀,從實(shí)用性角度出發(fā),提出基于移動(dòng)平臺(tái)的VR技術(shù)應(yīng)用與傳統(tǒng)跑步機(jī)相結(jié)合的系統(tǒng)總體方案,并對(duì)方案中主要涉及技術(shù)環(huán)節(jié)進(jìn)行分析。由于當(dāng)前知識(shí)能力和條件有限,在許多具體細(xì)節(jié)上還留待以后進(jìn)一步研究和探討,方案中存在的不足和不妥之處,還需在今后具體實(shí)踐中發(fā)現(xiàn)和糾正。
[1] 黎明.虛擬現(xiàn)實(shí)VR(Virtrual Reality)現(xiàn)狀和前景[J].藝術(shù)科技,2016(9):103- 104.
[2] 王永強(qiáng).基于虛擬現(xiàn)實(shí)技術(shù)的多功能跑步機(jī)系統(tǒng)的研究與設(shè)計(jì)[J].科技信息.2010(5):57- 58.
[3] 邱元陽.VR的悲哀[J].中國信息技術(shù)教育,2016(17):24.
[4] 王運(yùn).基于手機(jī)Android平臺(tái)的虛擬校園漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京工業(yè)大學(xué),2013.
[5] SONG Xue- hui,WANG Shao- rong, LAI Shun- nan,etc.A Network Scheduling Strategy of Android- Based Virtual Reality System[J].Computer Aided Drafting,Design and Manufacturing,2015,25(2):36- 42.
[6] 石明明,魯周迅.三種無線通信協(xié)議綜述[J].通信技術(shù),2011,44(7):72- 73,91.
[責(zé)任編輯:李德才]
On the Scheme of Running Fitness in Teractive Virtual Experience System Based on Mobile Platform
YANG Hong- lan
(Personnel Division,Anhui Wenda University of Information Engineering, Hefei 231201,China)
Using VR technology to meet the higher needs of people’s fitness and entertainment Expe rience has become one of the hottest topicsof research.Firstly, this paper introduces the research and application of VR technology in the field of fitness. Secondly, starting from the practical point of view,the overall plan of system is given, which focuses on the combinational possibility of using VR technology based on mobile platform and traditional treadmill. Finally,the mainly involved technologies are introduced and analyzed.
mobile platform; Virtual Reality; treadmill; scheme
2016-09-28
2016-12-20
安徽省質(zhì)量工程教學(xué)研究項(xiàng)目(2015jyxm430)、安徽省級(jí)自然科學(xué)研究重點(diǎn)項(xiàng)目(KJ2017A649)、安徽文達(dá)信息工程學(xué)院自然研究項(xiàng)目(XZR2016B04)資助。
楊紅蘭(1968— ),女,安徽肥西人,安徽文達(dá)信息工程學(xué)院人事處講師,碩士;研究方向:軟件工程、數(shù)字媒體技術(shù)。
TN402,TP29
A
2096-2371(2017)02-0064-05