您好, 访客   登录/注册

虚拟现实技术在体育教学中的应用探索

来源:用户上传      作者:

  摘要:为了弥补传统体育课程教学的不足,提高学生的兴趣,制作了可用于课堂教学和课后自主学习的虚拟体育系统。从体育动画、AR动作解析和VR游戏三个方面,分析了虚拟体育系统的构建方法和关键技术。提出了利用Vuforia平台和Unity3D软件开发AR动作解析,利用Unity3D制作篮球、足球的VR游戏,利用Flash软件制作体育课程的动作要领动画,最终使用Unity3D软件整合各个模块,输出易于推广和应用的手机端应用软件。
  关键词:虚拟现实;虚拟体育系统;Unity3D;AR技术
  中图分类号:TP391 文献标识码:A
  文章编号:1009-3044(2020)21-0164-03
  开放科学(资源服务)标识码(OSID):
  随着2016年虚拟技术元年的开启,虚拟现实技术普及到了人类生活中的每个角落。虚拟现实技术在教学中的应用也逐步兴起,许多学校引入了虚拟教室系统、虚拟实训平台、虚拟仿真系统等。引用网龙网络公司副总裁林伟在2017年6月召开的“虚拟现实教育联盟大会”上的发言:虚拟现实教育最大的难点在于内容的组织,生产优质内容的门槛太高。2020年在新冠肺炎疫情的影响下,网络教育又被推到了前端,制作既能适合教育内容又能适应学生特点的虚拟现实系统对网络教学的成功起到了很重要的作用。本文结合“虚拟体育系统”的设计与开发,围绕体育项目展开,引入体育动作动画分解和虚拟游戏技术,对虚拟系统在体育教学中的应用展开设计,为以后更多的体育项目交互化展示提供基础。
  1 虚拟现实技术在体育教学中的作用
  虚拟现实与教育的结合越来越紧密,传统的体育项目教学都是在教室学理论,在操场做运动,学生对体育项目的关键动作要领和运动之美不能好好生动的体会,更不能提升学生的学习兴趣。特别是中高职学生,他们很多沉迷于手机电脑游戏,对体育项目不感兴趣,将动画技术和虚拟现实技术应用到体育教学中可以优化校园体育项目的教学,让学生从虚拟体育项目的技艺展示和互动体验中了解运动原理和运动之美。
  通过调研中高职校园的体育项目进行分析,发现专业技能类模块是职校学生要掌握的主要教学模块,专业技能类模块是指在体育教学中涉及专业知识及技能的各种体育项目的教学模块,常见的项目有篮球、足球、乒乓球、健美操等[1],而籃球和足球也是专业技能较多且受各类学生欢迎的体育项目。根据上述分析,本文遴选出篮球和足球两个校园体育项目作为开发对象。中高职学校的学生正处于青春期,篮球、足球是他们锻炼和释放压力的理想项目,但目前的教学与训练存在如下问题:教学形式单一;教学场地不足;教学内容不连贯,课后无法自学;学生专业技能掌握不好时,学习兴趣不够。因此,根据职业学校体育教学存在的问题和篮球、足球的教学与训练特点,虚拟体育系统需要解决篮球、足球的分解动作学习,引人体育虚拟游戏提高学生的学习兴趣,以及补充课后学习。
  2 虚拟体育系统的架构
  篮球和足球也是竞技体育的一种,对动作要求比较高,因此本文采用拍摄关键动作,利用动画模拟动作等进行体育项目的动作难点和动作要领教学。引入AR扫描、体育动作分解动画和虚拟交互游戏进行虚拟体育系统开发。
  2.1 虚拟体育系统分析
  虚拟体育系统是根据职业学校体育课的教学和训练进行设计和制作,主要利用动画、三维建模技术、AR和VR技术围绕篮球和足球动作和游戏两方面进行开发,主要内容包括:
  (1)利用动画制作篮球和足球的关键动作展示。
  (2)利用AR技术,制作生动的体育动作分解展示,用户扫描自编教材图片或者挂图即可显示相应动作动画。
  (3)利用VR技术和Unity3D软件,制作定点投篮和足球射门游戏。同时,利用Unity3D整合资源和应用,开发配合体育课上教学和课下学习的应用系统。
  2.2 虚拟体育系统的功能架构
  虚拟系统系统的功能架构如图1所示,遴选了篮球和足球项目进行开发,每个项目又包括了动作教学动画模块、AR动作解析模块和虚拟游戏模块,最终输出移动端App应用。
  3交互式虚拟体育系统的实现
  3.1开发技术分析
  3.1.1动画制作技术
  本文利用Flash软件制作篮球和足球的动作要领动画,输出成Gif格式动图后与AR技术结合,制作虚拟体育系统的AR识别模块。利用二维动画的方式来表现动作要领,学生能更直观简洁地获取到体育动作要点。
  3.1.2 AR交互技术
  AR交互技术(Augmented Reality)是指增强现实技术。目前流行的AR交互技术主要是利用摄像头扫描某个物体(可以是一张图片),利用设计好的匹配技术,将真实的环境和虚拟的物体实时叠加在一起显示。本文的AR识别模块就是利用Uni-ty3D软件结合Vuforia平台来实现,制作出利用手机App扫描体育动作要领图片,即可弹出相关的体育动作动画。
  3.1.3虚拟现实与三维建模技术
  虚拟现实技术( Virtual Reality,VR)是以计算机技术为核心,模拟真实环境或利用计算机技术生成虚拟的数字化环境,用户借助必要的装备与数字化环境中的对象进行交互作用、相互影响,产生亲临对应真实环境的感受和体验[2]。本文利用Unitv3D软件进行虚拟项目的开发和制作。Unitv3D是一款能够轻松创建三维游戏、建筑可视化、虚拟现实等互动内容的综合的游戏开发工具[3],也适用于现在流行的App产品制作。利用Unity3D的UGUI系统制作虚拟体育的菜单、按钮和场景UI界面,操作简单、便捷,画面美观,用户体验效果好。
  三维建模技术是开发虚拟现实项目的基础,目前和虚拟现实开发能较好结合的三维建模软件有3ds max,maya,Cinema4D等,本文结合了3ds max和Cinema4D两种建模软件制作篮球和足球的场景模型,输出成FBX导人到Unity3D中制作虚拟体育系统。   3.1.4交互技术
  本文的交互技术主要是人机交互技术,是指通过计算机的输入、输出设备实现人与计算机互动的技术。本文利用Flash制作动画,利用Unity3D游戏引擎制作AR识别、虚拟游戏和交互式App产品。
  3.2 虚拟体育系统设计与实现
  3.2.1 虚拟体育系统背景和功能
  在中高职学生中,篮球和足球运动是一项具备青春活力的体育活动,定点投篮和足球射门也是体育课常考的项目,将手机游戏和虚拟体育系统结合,可以增加学生对体育课的好感。虚拟体育系统是一款面向职校学生的体育教学游戲App,包括虚拟篮球系统和虚拟足球系统,每个体育项目都制作了动作教学动画、AR动作解析和虚拟游戏三个模块。该系统使用了Unity3D引擎,结合Vuforia平台、Flash软件、3ds max共同开发,最后输出成移动端App形式,可以广泛适用于中高职学生。
  3.2.2 虚拟体育系统的具体实现
  1)动作教学动画制作
  教学动画根据篮球、足球课程的动作要点,利用Flash软件制作各动作要领动画。篮球主要制作了定点投篮、打球运球姿势、三步上篮、扣篮等动画,足球主要制作了颠球、左右踢球、踢球等动画。所有动画都用简洁的线条制作场景元素和动画效果,以突出动作特点。
  2)AR动作解析
  AR动作解析模块利用Vuforia平台、动作要领动画和Uni-ty3D共同开发,步骤如下:
  (1)将篮球和足球的动作动画输出成Gif动图后,导入到UnitV中。
  (2)注册登录Vuforia平台,生成license key和包含图像目标的数据库,后续将这2个数据导人到Unity3D进行开发。
  (3)因为unity3D不支持Gif动画的直接展示,因此引入Gi-flmporter插件,将其导人到unitv3D中,制作每张Gif动图的动画还原。
  (4)Unitv3D中新建AR场景scene,设置“playersetting”里的“XRSetting”选项为“Vuforia Augmented Reality”。创建ARCam-era和ImageTarget对象,在ARCamera里设置license key,在Im-ageTarget对象里设置刚创建的数据包和相应的识别图片。为ImageTarget对象创建一个2D Sprite子节点,把还原好的要领动画赋予其属性“sprite”值,即可在输出的App中识别动作要领图片弹出相应的动作要领动画展示。
  3)虚拟投篮和足球射门游戏
  虚拟投篮游戏需要学生点击篮球投篮,限时60秒,统计投中次数,每次投中得分加1。点击篮球时有技巧,学生必须使用一定力度滑动合适的方向才能投中篮框,通常是直线方向投中概率更大。投中篮框会有特效显示,加强投中的提示,详细流程如图2所示。
  实现虚拟投篮游戏的关键技术有以下几个:
  (1)投篮力度和投篮方向的获取与设置:获取用户投篮时使用的力度和拖动的方向,为投篮力度设置一个加速度,关键代码如下:
  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秒时间倒计时设置:设置时间time变量初值为60f,浮点型。投篮开始后,60秒倒计时显示,按1秒/帧的速度递减秒数,直到为0游戏结束,关键代码如下:
  void StartO{time= 60f;}
  void Update0 {if(! gameOver&&!startMenu)( time一=Time.deltaTime;})
  (3)投中加分与特效显示设置:当篮球投中篮框时,篮框获得触发,投篮分数自加1,并在指定位置显示特效,关键代码如下:
  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)最好成绩的判断与统计:当60秒倒计时结束,游戏结束,这时要统计投篮总得分是否超过历史得分,超过了则将此次分数保存到篮球最好成绩里存到本地文件,供下次读取,关键代码如下:
  void UpdateO{if(time<=0){ if(score > PlayerPrefs. Getlnt(”Best(basketball)”)){
  PlayerPt efs.Setlnt(”Best(basketball)”,score);】)】
  虚拟足球射门游戏需要学生点击足球进行点射,限时60秒。为增加射门游戏的趣味性,球门设置了4个不同的得分区域,分别为射进靠近球门上方两个角的区域得40分,射进球门上方的区域得30分,射进球门左右两侧区域得20分,其他区域得10分,即当学生射击到不同区域得到不同的分数。得分区域的划分是依据射门的难易位置进行区分,靠近球框部位的射门得分高,中间的射门得分低。投中球门得分高的区域会有特效显示,加强投中高分区的提示,详细流程如图2所示。   实现虚拟足球游戏的关键技术除了射门力度和方向设置、60秒倒计时统计、最好成绩的判断与统计以及特效显示与虚拟篮球相似外,还包含以下关键技术:
  (1)按射中不同区域统计不同得分值:场景中球门处先设置几个不同的得分区域,再设置不同区域对应的不同分值,足球射中球门不同得分区域时获得相应分值,关键代码如下:
  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 結语
  本文介绍的虚拟体育系统可以配合中高职学校体育课程的教学,提高学生体育课程学习的积极性。同时本系统也可以用于体育课程的网络教学,解决当前大多数体育课程无网络教学资源的弊病。随着虚拟现实技术的发展和虚拟设备的普及,未来的虚拟教学系统可以模拟真正的虚拟现实环境,让学生的沉浸感和体验感更好。
  参考文献:
  [1]张翼.职业需求视域下高职体育课程模块教学研究[Jl.湖北函授大学学报,2017(18):147-149.
  [2]李军.探讨在线虚拟现实技术在下一代互联网的应用和发展[Jl.数字技术与应用,2011(9):113-114.
  [3]吴亚峰,于复兴.Unity3D游戏开发技术详解与典型案例[Ml.北京:人民邮电出版社,2012:1-6.
  【通联编辑:代影】
  基金项目:福建省中青年教师教育科研项目(项目编号:JAT170938)
  作者简介:张枝(1982-),女,副教授,硕士,主要研究方向为数字媒体技术、虚拟现实。
转载注明来源:https://www.xzbu.com/8/view-15298006.htm