張枝 白利


摘要:為了彌補(bǔ)傳統(tǒng)體育課程教學(xué)的不足,提高學(xué)生的興趣,制作了可用于課堂教學(xué)和課后自主學(xué)習(xí)的虛擬體育系統(tǒng)。從體育動(dòng)畫(huà)、AR動(dòng)作解析和VR游戲三個(gè)方面,分析了虛擬體育系統(tǒng)的構(gòu)建方法和關(guān)鍵技術(shù)。提出了利用Vuforia平臺(tái)和Unity3D軟件開(kāi)發(fā)AR動(dòng)作解析,利用Unity3D制作籃球、足球的VR游戲,利用Flash軟件制作體育課程的動(dòng)作要領(lǐng)動(dòng)畫(huà),最終使用Unity3D軟件整合各個(gè)模塊,輸出易于推廣和應(yīng)用的手機(jī)端應(yīng)用軟件。
關(guān)鍵詞:虛擬現(xiàn)實(shí);虛擬體育系統(tǒng);Unity3D;AR技術(shù)
中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)21-0164-03
開(kāi)放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
隨著2016年虛擬技術(shù)元年的開(kāi)啟,虛擬現(xiàn)實(shí)技術(shù)普及到了人類(lèi)生活中的每個(gè)角落。虛擬現(xiàn)實(shí)技術(shù)在教學(xué)中的應(yīng)用也逐步興起,許多學(xué)校引入了虛擬教室系統(tǒng)、虛擬實(shí)訓(xùn)平臺(tái)、虛擬仿真系統(tǒng)等。引用網(wǎng)龍網(wǎng)絡(luò)公司副總裁林偉在2017年6月召開(kāi)的“虛擬現(xiàn)實(shí)教育聯(lián)盟大會(huì)”上的發(fā)言:虛擬現(xiàn)實(shí)教育最大的難點(diǎn)在于內(nèi)容的組織,生產(chǎn)優(yōu)質(zhì)內(nèi)容的門(mén)檻太高。2020年在新冠肺炎疫情的影響下,網(wǎng)絡(luò)教育又被推到了前端,制作既能適合教育內(nèi)容又能適應(yīng)學(xué)生特點(diǎn)的虛擬現(xiàn)實(shí)系統(tǒng)對(duì)網(wǎng)絡(luò)教學(xué)的成功起到了很重要的作用。本文結(jié)合“虛擬體育系統(tǒng)”的設(shè)計(jì)與開(kāi)發(fā),圍繞體育項(xiàng)目展開(kāi),引入體育動(dòng)作動(dòng)畫(huà)分解和虛擬游戲技術(shù),對(duì)虛擬系統(tǒng)在體育教學(xué)中的應(yīng)用展開(kāi)設(shè)計(jì),為以后更多的體育項(xiàng)目交互化展示提供基礎(chǔ)。
1 虛擬現(xiàn)實(shí)技術(shù)在體育教學(xué)中的作用
虛擬現(xiàn)實(shí)與教育的結(jié)合越來(lái)越緊密,傳統(tǒng)的體育項(xiàng)目教學(xué)都是在教室學(xué)理論,在操場(chǎng)做運(yùn)動(dòng),學(xué)生對(duì)體育項(xiàng)目的關(guān)鍵動(dòng)作要領(lǐng)和運(yùn)動(dòng)之美不能好好生動(dòng)的體會(huì),更不能提升學(xué)生的學(xué)習(xí)興趣。特別是中高職學(xué)生,他們很多沉迷于手機(jī)電腦游戲,對(duì)體育項(xiàng)目不感興趣,將動(dòng)畫(huà)技術(shù)和虛擬現(xiàn)實(shí)技術(shù)應(yīng)用到體育教學(xué)中可以?xún)?yōu)化校園體育項(xiàng)目的教學(xué),讓學(xué)生從虛擬體育項(xiàng)目的技藝展示和互動(dòng)體驗(yàn)中了解運(yùn)動(dòng)原理和運(yùn)動(dòng)之美。
通過(guò)調(diào)研中高職校園的體育項(xiàng)目進(jìn)行分析,發(fā)現(xiàn)專(zhuān)業(yè)技能類(lèi)模塊是職校學(xué)生要掌握的主要教學(xué)模塊,專(zhuān)業(yè)技能類(lèi)模塊是指在體育教學(xué)中涉及專(zhuān)業(yè)知識(shí)及技能的各種體育項(xiàng)目的教學(xué)模塊,常見(jiàn)的項(xiàng)目有籃球、足球、乒乓球、健美操等[1],而籃球和足球也是專(zhuān)業(yè)技能較多且受各類(lèi)學(xué)生歡迎的體育項(xiàng)目。根據(jù)上述分析,本文遴選出籃球和足球兩個(gè)校園體育項(xiàng)目作為開(kāi)發(fā)對(duì)象。中高職學(xué)校的學(xué)生正處于青春期,籃球、足球是他們鍛煉和釋放壓力的理想項(xiàng)目,但目前的教學(xué)與訓(xùn)練存在如下問(wèn)題:教學(xué)形式單一;教學(xué)場(chǎng)地不足;教學(xué)內(nèi)容不連貫,課后無(wú)法自學(xué);學(xué)生專(zhuān)業(yè)技能掌握不好時(shí),學(xué)習(xí)興趣不夠。因此,根據(jù)職業(yè)學(xué)校體育教學(xué)存在的問(wèn)題和籃球、足球的教學(xué)與訓(xùn)練特點(diǎn),虛擬體育系統(tǒng)需要解決籃球、足球的分解動(dòng)作學(xué)習(xí),引人體育虛擬游戲提高學(xué)生的學(xué)習(xí)興趣,以及補(bǔ)充課后學(xué)習(xí)。
2 虛擬體育系統(tǒng)的架構(gòu)
籃球和足球也是競(jìng)技體育的一種,對(duì)動(dòng)作要求比較高,因此本文采用拍攝關(guān)鍵動(dòng)作,利用動(dòng)畫(huà)模擬動(dòng)作等進(jìn)行體育項(xiàng)目的動(dòng)作難點(diǎn)和動(dòng)作要領(lǐng)教學(xué)。引入AR掃描、體育動(dòng)作分解動(dòng)畫(huà)和虛擬交互游戲進(jìn)行虛擬體育系統(tǒng)開(kāi)發(fā)。
2.1 虛擬體育系統(tǒng)分析
虛擬體育系統(tǒng)是根據(jù)職業(yè)學(xué)校體育課的教學(xué)和訓(xùn)練進(jìn)行設(shè)計(jì)和制作,主要利用動(dòng)畫(huà)、三維建模技術(shù)、AR和VR技術(shù)圍繞籃球和足球動(dòng)作和游戲兩方面進(jìn)行開(kāi)發(fā),主要內(nèi)容包括:
(1)利用動(dòng)畫(huà)制作籃球和足球的關(guān)鍵動(dòng)作展示。
(2)利用AR技術(shù),制作生動(dòng)的體育動(dòng)作分解展示,用戶(hù)掃描自編教材圖片或者掛圖即可顯示相應(yīng)動(dòng)作動(dòng)畫(huà)。
(3)利用VR技術(shù)和Unity3D軟件,制作定點(diǎn)投籃和足球射門(mén)游戲。同時(shí),利用Unity3D整合資源和應(yīng)用,開(kāi)發(fā)配合體育課上教學(xué)和課下學(xué)習(xí)的應(yīng)用系統(tǒng)。
2.2 虛擬體育系統(tǒng)的功能架構(gòu)
虛擬系統(tǒng)系統(tǒng)的功能架構(gòu)如圖1所示,遴選了籃球和足球項(xiàng)目進(jìn)行開(kāi)發(fā),每個(gè)項(xiàng)目又包括了動(dòng)作教學(xué)動(dòng)畫(huà)模塊、AR動(dòng)作解析模塊和虛擬游戲模塊,最終輸出移動(dòng)端App應(yīng)用。
3交互式虛擬體育系統(tǒng)的實(shí)現(xiàn)
3.1開(kāi)發(fā)技術(shù)分析
3.1.1動(dòng)畫(huà)制作技術(shù)
本文利用Flash軟件制作籃球和足球的動(dòng)作要領(lǐng)動(dòng)畫(huà),輸出成Gif格式動(dòng)圖后與AR技術(shù)結(jié)合,制作虛擬體育系統(tǒng)的AR識(shí)別模塊。利用二維動(dòng)畫(huà)的方式來(lái)表現(xiàn)動(dòng)作要領(lǐng),學(xué)生能更直觀簡(jiǎn)潔地獲取到體育動(dòng)作要點(diǎn)。
3.1.2 AR交互技術(shù)
AR交互技術(shù)(Augmented Reality)是指增強(qiáng)現(xiàn)實(shí)技術(shù)。目前流行的AR交互技術(shù)主要是利用攝像頭掃描某個(gè)物體(可以是一張圖片),利用設(shè)計(jì)好的匹配技術(shù),將真實(shí)的環(huán)境和虛擬的物體實(shí)時(shí)疊加在一起顯示。本文的AR識(shí)別模塊就是利用Uni-ty3D軟件結(jié)合Vuforia平臺(tái)來(lái)實(shí)現(xiàn),制作出利用手機(jī)App掃描體育動(dòng)作要領(lǐng)圖片,即可彈出相關(guān)的體育動(dòng)作動(dòng)畫(huà)。
3.1.3虛擬現(xiàn)實(shí)與三維建模技術(shù)
虛擬現(xiàn)實(shí)技術(shù)( Virtual Reality,VR)是以計(jì)算機(jī)技術(shù)為核心,模擬真實(shí)環(huán)境或利用計(jì)算機(jī)技術(shù)生成虛擬的數(shù)字化環(huán)境,用戶(hù)借助必要的裝備與數(shù)字化環(huán)境中的對(duì)象進(jìn)行交互作用、相互影響,產(chǎn)生親臨對(duì)應(yīng)真實(shí)環(huán)境的感受和體驗(yàn)[2]。本文利用Unitv3D軟件進(jìn)行虛擬項(xiàng)目的開(kāi)發(fā)和制作。Unitv3D是一款能夠輕松創(chuàng)建三維游戲、建筑可視化、虛擬現(xiàn)實(shí)等互動(dòng)內(nèi)容的綜合的游戲開(kāi)發(fā)工具[3],也適用于現(xiàn)在流行的App產(chǎn)品制作。利用Unity3D的UGUI系統(tǒng)制作虛擬體育的菜單、按鈕和場(chǎng)景UI界面,操作簡(jiǎn)單、便捷,畫(huà)面美觀,用戶(hù)體驗(yàn)效果好。
三維建模技術(shù)是開(kāi)發(fā)虛擬現(xiàn)實(shí)項(xiàng)目的基礎(chǔ),目前和虛擬現(xiàn)實(shí)開(kāi)發(fā)能較好結(jié)合的三維建模軟件有3ds max,maya,Cinema4D等,本文結(jié)合了3ds max和Cinema4D兩種建模軟件制作籃球和足球的場(chǎng)景模型,輸出成FBX導(dǎo)人到Unity3D中制作虛擬體育系統(tǒng)。
3.1.4交互技術(shù)
本文的交互技術(shù)主要是人機(jī)交互技術(shù),是指通過(guò)計(jì)算機(jī)的輸入、輸出設(shè)備實(shí)現(xiàn)人與計(jì)算機(jī)互動(dòng)的技術(shù)。本文利用Flash制作動(dòng)畫(huà),利用Unity3D游戲引擎制作AR識(shí)別、虛擬游戲和交互式App產(chǎn)品。
3.2 虛擬體育系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
3.2.1 虛擬體育系統(tǒng)背景和功能
在中高職學(xué)生中,籃球和足球運(yùn)動(dòng)是一項(xiàng)具備青春活力的體育活動(dòng),定點(diǎn)投籃和足球射門(mén)也是體育課常考的項(xiàng)目,將手機(jī)游戲和虛擬體育系統(tǒng)結(jié)合,可以增加學(xué)生對(duì)體育課的好感。虛擬體育系統(tǒng)是一款面向職校學(xué)生的體育教學(xué)游戲App,包括虛擬籃球系統(tǒng)和虛擬足球系統(tǒng),每個(gè)體育項(xiàng)目都制作了動(dòng)作教學(xué)動(dòng)畫(huà)、AR動(dòng)作解析和虛擬游戲三個(gè)模塊。該系統(tǒng)使用了Unity3D引擎,結(jié)合Vuforia平臺(tái)、Flash軟件、3ds max共同開(kāi)發(fā),最后輸出成移動(dòng)端App形式,可以廣泛適用于中高職學(xué)生。
3.2.2 虛擬體育系統(tǒng)的具體實(shí)現(xiàn)
1)動(dòng)作教學(xué)動(dòng)畫(huà)制作
教學(xué)動(dòng)畫(huà)根據(jù)籃球、足球課程的動(dòng)作要點(diǎn),利用Flash軟件制作各動(dòng)作要領(lǐng)動(dòng)畫(huà)。籃球主要制作了定點(diǎn)投籃、打球運(yùn)球姿勢(shì)、三步上籃、扣籃等動(dòng)畫(huà),足球主要制作了顛球、左右踢球、踢球等動(dòng)畫(huà)。所有動(dòng)畫(huà)都用簡(jiǎn)潔的線條制作場(chǎng)景元素和動(dòng)畫(huà)效果,以突出動(dòng)作特點(diǎn)。
2)AR動(dòng)作解析
AR動(dòng)作解析模塊利用Vuforia平臺(tái)、動(dòng)作要領(lǐng)動(dòng)畫(huà)和Uni-ty3D共同開(kāi)發(fā),步驟如下:
(1)將籃球和足球的動(dòng)作動(dòng)畫(huà)輸出成Gif動(dòng)圖后,導(dǎo)入到UnitV中。
(2)注冊(cè)登錄Vuforia平臺(tái),生成license key和包含圖像目標(biāo)的數(shù)據(jù)庫(kù),后續(xù)將這2個(gè)數(shù)據(jù)導(dǎo)人到Unity3D進(jìn)行開(kāi)發(fā)。
(3)因?yàn)閡nity3D不支持Gif動(dòng)畫(huà)的直接展示,因此引入Gi-flmporter插件,將其導(dǎo)人到unitv3D中,制作每張Gif動(dòng)圖的動(dòng)畫(huà)還原。
(4)Unitv3D中新建AR場(chǎng)景scene,設(shè)置“playersetting”里的“XRSetting”選項(xiàng)為“Vuforia Augmented Reality”。創(chuàng)建ARCam-era和ImageTarget對(duì)象,在ARCamera里設(shè)置license key,在Im-ageTarget對(duì)象里設(shè)置剛創(chuàng)建的數(shù)據(jù)包和相應(yīng)的識(shí)別圖片。為ImageTarget對(duì)象創(chuàng)建一個(gè)2D Sprite子節(jié)點(diǎn),把還原好的要領(lǐng)動(dòng)畫(huà)賦予其屬性“sprite”值,即可在輸出的App中識(shí)別動(dòng)作要領(lǐng)圖片彈出相應(yīng)的動(dòng)作要領(lǐng)動(dòng)畫(huà)展示。
3)虛擬投籃和足球射門(mén)游戲
虛擬投籃游戲需要學(xué)生點(diǎn)擊籃球投籃,限時(shí)60秒,統(tǒng)計(jì)投中次數(shù),每次投中得分加1。點(diǎn)擊籃球時(shí)有技巧,學(xué)生必須使用一定力度滑動(dòng)合適的方向才能投中籃框,通常是直線方向投中概率更大。投中籃框會(huì)有特效顯示,加強(qiáng)投中的提示,詳細(xì)流程如圖2所示。
實(shí)現(xiàn)虛擬投籃游戲的關(guān)鍵技術(shù)有以下幾個(gè):
(1)投籃力度和投籃方向的獲取與設(shè)置:獲取用戶(hù)投籃時(shí)使用的力度和拖動(dòng)的方向,為投籃力度設(shè)置一個(gè)加速度,關(guān)鍵代碼如下:
public class Shooting: MonoBehaviour{public int forceX;pub-lic int forceY;public int forceZ;
void OnMouseDownO{start= Input.mousePosition;)
void OnMouseExitO{if(Input.GetMouseButton(0)&&shooting){end= Input.mousePosition;
GetComponentO.isKinematic= false;
GetComponent0. AddForce(new Vector3《(end.x- start.x)*forceX), forceY, forceZ》;}])
(2)60秒時(shí)間倒計(jì)時(shí)設(shè)置:設(shè)置時(shí)間time變量初值為60f,浮點(diǎn)型。投籃開(kāi)始后,60秒倒計(jì)時(shí)顯示,按1秒/幀的速度遞減秒數(shù),直到為0游戲結(jié)束,關(guān)鍵代碼如下:
void StartO{time= 60f;}
void Update0 {if(! gameOver&&!startMenu)( time一=Time.deltaTime;})
(3)投中加分與特效顯示設(shè)置:當(dāng)籃球投中籃框時(shí),籃框獲得觸發(fā),投籃分?jǐn)?shù)自加1,并在指定位置顯示特效,關(guān)鍵代碼如下:
void OnTriggerEnter0 {Basketball.score++;
Vector3 position=new Vector3(
transform. position.x, transform. position.y, transform. position.z+0.85n:
Instantiate(effect, position, Quaternion.identity);)
(4)最好成績(jī)的判斷與統(tǒng)計(jì):當(dāng)60秒倒計(jì)時(shí)結(jié)束,游戲結(jié)束,這時(shí)要統(tǒng)計(jì)投籃總得分是否超過(guò)歷史得分,超過(guò)了則將此次分?jǐn)?shù)保存到籃球最好成績(jī)里存到本地文件,供下次讀取,關(guān)鍵代碼如下:
void UpdateO{if(time<=0){ if(score > PlayerPrefs. Getlnt(”Best(basketball)”)){
PlayerPt efs.Setlnt(”Best(basketball)”,score);】)】
虛擬足球射門(mén)游戲需要學(xué)生點(diǎn)擊足球進(jìn)行點(diǎn)射,限時(shí)60秒。為增加射門(mén)游戲的趣味性,球門(mén)設(shè)置了4個(gè)不同的得分區(qū)域,分別為射進(jìn)靠近球門(mén)上方兩個(gè)角的區(qū)域得40分,射進(jìn)球門(mén)上方的區(qū)域得30分,射進(jìn)球門(mén)左右兩側(cè)區(qū)域得20分,其他區(qū)域得10分,即當(dāng)學(xué)生射擊到不同區(qū)域得到不同的分?jǐn)?shù)。得分區(qū)域的劃分是依據(jù)射門(mén)的難易位置進(jìn)行區(qū)分,靠近球框部位的射門(mén)得分高,中間的射門(mén)得分低。投中球門(mén)得分高的區(qū)域會(huì)有特效顯示,加強(qiáng)投中高分區(qū)的提示,詳細(xì)流程如圖2所示。
實(shí)現(xiàn)虛擬足球游戲的關(guān)鍵技術(shù)除了射門(mén)力度和方向設(shè)置、60秒倒計(jì)時(shí)統(tǒng)計(jì)、最好成績(jī)的判斷與統(tǒng)計(jì)以及特效顯示與虛擬籃球相似外,還包含以下關(guān)鍵技術(shù):
(1)按射中不同區(qū)域統(tǒng)計(jì)不同得分值:場(chǎng)景中球門(mén)處先設(shè)置幾個(gè)不同的得分區(qū)域,再設(shè)置不同區(qū)域?qū)?yīng)的不同分值,足球射中球門(mén)不同得分區(qū)域時(shí)獲得相應(yīng)分值,關(guān)鍵代碼如下:
public class Target:MonoBehaviour {public OptionsListaddScore;
public enum OptionsList{fourtyPoints,thirtyPoints,twentv-Points,tenPoints 】
void OnTriggerEnter(C ollider other){
if(other. GetComponent().hasTriggered==false){
if(addScore==OptionsList. fourtyPoints){Soccer. score+=40;)
if(addScore==OptionsList. thirtyPoints) {Soccer. score+=30;1
if(addScore==OptionsList. twentyPoints) {Soccer. score+=20;)
if(addScore==OptionsList. tenPoints) {Soccer. score十=10;))】)
4 結(jié)語(yǔ)
本文介紹的虛擬體育系統(tǒng)可以配合中高職學(xué)校體育課程的教學(xué),提高學(xué)生體育課程學(xué)習(xí)的積極性。同時(shí)本系統(tǒng)也可以用于體育課程的網(wǎng)絡(luò)教學(xué),解決當(dāng)前大多數(shù)體育課程無(wú)網(wǎng)絡(luò)教學(xué)資源的弊病。隨著虛擬現(xiàn)實(shí)技術(shù)的發(fā)展和虛擬設(shè)備的普及,未來(lái)的虛擬教學(xué)系統(tǒng)可以模擬真正的虛擬現(xiàn)實(shí)環(huán)境,讓學(xué)生的沉浸感和體驗(yàn)感更好。
參考文獻(xiàn):
[1]張翼.職業(yè)需求視域下高職體育課程模塊教學(xué)研究[Jl.湖北函授大學(xué)學(xué)報(bào),2017(18):147-149.
[2]李軍.探討在線虛擬現(xiàn)實(shí)技術(shù)在下一代互聯(lián)網(wǎng)的應(yīng)用和發(fā)展[Jl.數(shù)字技術(shù)與應(yīng)用,2011(9):113-114.
[3]吳亞峰,于復(fù)興.Unity3D游戲開(kāi)發(fā)技術(shù)詳解與典型案例[Ml.北京:人民郵電出版社,2012:1-6.
【通聯(lián)編輯:代影】
基金項(xiàng)目:福建省中青年教師教育科研項(xiàng)目(項(xiàng)目編號(hào):JAT170938)
作者簡(jiǎn)介:張枝(1982-),女,副教授,碩士,主要研究方向?yàn)閿?shù)字媒體技術(shù)、虛擬現(xiàn)實(shí)。