基于VIU的虚拟现实开发类课程教学研究

    张一驰 龚科瑜

    

    

    摘 要:虚拟现实硬件设施价格昂贵,对场地环境要求较高,给虚拟现实开发类课程教学和学生学习带来了极大困难。文章引入Vive Input Utility虚拟现实设备输入工具包,能够让学生在低成本通用平台下进行可模拟、可迁移的虚拟现实应用开发,降低了开展教学的硬件成本,提升了课堂教学效率,促进了学生的实践能力和创新能力。该方法对相关课程教学效果的提升具备促进效果和借鉴价值。

    关键词:虚拟现实;仿真教学;Vive Input Utility;教学改革

    中图分类号:G434? ? ? 文献标志码:A? ? ? ? ? 文章编号:1673-8454(2019)24-0037-04

    一、引言

    虚拟现实技术日趋成熟,利用VR(虚拟现实)、AR(增强现实)、MR(混合现实)等技术开发的新产品日渐增多[1]。虚拟现实技术的应用与开发逐渐成为各大高校、职业院校计算机或艺术设计类专业开设的热门课程,相关技能人才的需求与日俱增[2]。2018年,教育部在高等职业教育中增设“虚拟现实应用技术”专业,标志着虚拟现实教育成为现代职业教育中的重要分支。在这个大背景下,做好虚拟现实专业的教育教学和人才培养工作,探索使用新的信息化教学工具,提高虚拟现实专业人才的培养质量,有着显而易见的价值。

    虚拟现实应用开发类课程是虚拟现实专业的核心课程群,包括《虚拟平台应用》《虚拟现实互动》等一系列的专业核心课程。该类课程旨在培养学生使用虚拟现实开发平台进行应用设计和项目开发的能力,对学生的逻辑思维、代码编写、设备使用、设计开发、团队协作等综合素质要求较高。除此之外,在计算机专业或数字媒体专业中开设的《虚拟现实》等课程,也要求学生结合虚拟现实平台掌握一定的应用开发技术[3]。

    现阶段的虚拟现实开发类课程,面临硬件设施价格昂贵、教学环境要求较高、软硬件开发工具不够完善等诸多不利因素。以2019年6月的市价为例,开设常规的虚拟现实开发类课程所需专用硬件设备及计算机软硬件系统投入总计每套3万元以上。经实地测算,每套设备至少需要6平方米的实际操作空间。以30人的教学班为标准计算,考虑到经费、教学场地和教学效果等因素的限制,学校满足选课学生人手一套虚拟现实设备是不切实际的,甚至大部分高校难以满足四人一组的分组实践条件。不仅如此,Unity 3D等常见虚拟现实开发平台在其原生开发环境中,暂时只能支持联机调试HTC Vive等主流的虚拟现实设备,但学生只有在连接真实设备的环境中才能进行开发调试工作。这些问题综合起来,给虚拟现实应用开发类课程的开展和学生的自主学习实践带来了很大限制,对任课教师的教学设计及课堂组织能力提出了严峻的挑战。

    面对教学资源的客观缺陷和大量的专业人才需求,在虚拟现实应用开发类课程中,引入虚拟现实设备输入仿真工具进而提高教学质量是十分必要的。当前的教育教学研究类文献中,针对虚拟现实专业开发类课程的讨论,以专业建设[4]、人才培養模式[5]和课程内容设计[6]为主对课程教学方法和信息化工具的讨论较为匮乏。本文结合笔者近两年的虚拟现实应用开发类课程教育教学和学生实践项目设计经验,介绍使用Vive Input Utility(VIU)虚拟现实设备输入工具包进行课程教学实践、改善虚拟现实开发类课程教学质量的方法。

    二、VIU及其优势

    Vive Input Utility (VIU)是HTC Vive软件开发团队设计研发的虚拟现实设备输入工具包,提供了对于各种虚拟现实设备进行控制的脚本组件和输入模拟支持,用于辅助开发者在Unity开发平台上进行虚拟现实开发。目前在中文网络环境中有关该工具的介绍还比较少,基于该工具的虚拟现实教学可行性及开展方式还没有被充分讨论。笔者依据使用VIU进行教学的实际经验,总结了该工具有助于改善虚拟现实开发类课程教学的几大特点。

    1.简单易用的设备抽象和操作集成

    VIU访问虚拟现实设备的方式更为直观。相较于传统的使用设备索引号进行访问的方式,VIU可以通过角色访问设备。例如,在传统课堂中使用的steam VR SDK中,我们需要使用“device0”“device1”等设备索引访问硬件交互设备,而在VIU中,我们可以使用“LeftHand”或“RightHand”这种有具体含义的变量名代替设备索引进行访问。这一特点不仅有助于开发者进行应用开发,还可以帮助初学者更快地掌握相关设备交互方法,对设备操作方法的认知更为直观,减少了记忆量和复杂度,降低了学生在学习实践过程中不必要的难度,对虚拟现实教学有积极意义。

    Vive Input Utility以组件脚本的形式封装了常见的虚拟现实交互方式。从虚拟现实设备操作的方面看,VIU对虚拟现实互动场景中常见的物体抓取与投掷、传送、用户界面指针等操作进行了封装,提供了一系列的常见功能脚本,可以方便地进行调用。这些功能脚本相较于SteamVR SDK更直观,可以让学生在较短时间内掌握。对这些脚本进行合理的使用,能够提高课堂学习效率。

    在VIU的资源包中,开发团队为使用者提供了一系列循序渐进的案例项目(见图1)。这些案例依次介绍了基础操作、UGUI系统、物体拖拽等功能,难度由浅至深,循序渐进,可以成为辅助教师课堂教学、帮助学生进行课外实践的教学资源。

    2.提供输入模拟器

    Vive Input Utility工具包能够提供HTC Vive和Vive Pro等虚拟现实硬件设备的输入仿真,将实际的虚拟现实设备输入映射为PC常见外设的输入,从而实现在不连接虚拟现实设备的PC机上进行虚拟现实应用的开发调试。例如,在默认设置下,开发者可以使用按下键盘W键让仿真模拟器中的虚拟现实头盔向前移动,单击鼠标左键模拟按下HTC手柄的扳机键,按住键盘Shift键和鼠标右键的同时滑动鼠标以模拟HTC手柄圆盘触摸板操作。当虚拟现实应用开发人员在Unity中完成了场景创建和交互脚本的设计之后,不需要连接物理的虚拟现实设备,直接点击运行按钮,就可以在Game窗口中启动VIU Simulator虚拟现实输入设备模拟器,进行仿真操作和功能验证。

    不仅如此,VIU还支持其他虚拟现实开发设备的输入仿真,例如Oculus Rift、Daydream和微软的MR头戴设备等。这些便利的设备仿真功能可以让学生在进行应用设计时较少投入到底层设备的差异化编码中,对培养学生的学习兴趣和应用开发能力有显而易见的价值。

    3.显著节约成本

    在Unity官方资源商店中,截至2019年6月底,VIU工具当前版本为1.10.4版,文件大小只有5.1MB,支持Unity5.3.6以上的版本,可以免费下载使用,对开发环境系统性能要求较低。这些便利条件使得教师能够在虚拟现实应用开发类课程中脱离物理设备进行教学展示和效果检验,减弱了教学场地和设备数量对教学效果的影响,还可以有效地为开设相关课程的院校节约课程开设成本。

    除此之外,使用VIU进行教学,能够方便学生在课后进行练习和实践开发,对学生的自主学习起到了辅助作用,不仅节约了学生的学习成本,还避免了设备和场地等因素对学生学习兴趣的限制。

    三、引入VIU的教学改革及效果

    基于上文所分析的诸多理由,VIU可以作为改进现有虚拟现实开发类课程的一大利器。把VIU引入到虚拟现实应用开发类课程的教学中,可以从改善课程设计、改进课堂教学、丰富学生实践、优化学生考核评价等几方面展开讨论。

    1.改善课程设计

    引入VIU可以压缩课程设计中预留的学生排队等待时间,提高教学效率,从而让学生更充分地掌握开发技能。囿于设备和场地条件的限制,在传统的虚拟现实应用开发类课程教学大纲设计中,教师往往会在课程初期留出2-4学时的时间,让学生认识并熟悉虚拟现实设备。在进行项目式教学时,有经验的课程设计者通常会为每个项目预留出不少于1课时的设备调试时间。而因为设备数量有限,在课程进入这些阶段时,只有少数学生有亲自动手实践的机会,其余大部分学生都只是在观看或者进行其他任务,这些折中的策略显然大大降低了课堂利用率。以每学期64学时的《虚拟现实互动》课程为例,传统课程教学大纲中需要花费4学时用来让学生熟悉设备、12个学时用以6个课堂项目的现场调试,总计因设备排队使用耗费16个学时,占到总学时数的1/4。尽管教师可以在课程总体进度安排的基础上组织学生灵活分组,提高课堂利用率,但依然是巧妇难为无米之炊。引入VIU后,可以大幅压缩这部分时间,让学生在VIU模拟器上先熟悉设备操作,进行项目功能调试,测试无误后再使用真实设备进行验证。通过这种方法,仅需要使用2个学时让学生熟悉设备、6个学时用以课堂项目的现场调试,节省了50%的调试时间,提高了学习效率。具体对比见表1。

    引入VIU能够让课程知识结构的整体呈现更加合理、完整、多样。以《虚拟现实互动》课程为例,使用VIU进行辅助教学,不仅节约了8个学时的调试时间,也为整体的课程内容设计带来了更多的灵活性。教师可以在课堂上讨论更多的技术细节,或者展示、分析虚拟现实在更多领域的应用案例,扩充课程内容的丰富性和完整性。这有助于学生掌握理论知识、巩固实践技能、拓展学科视野、提升就业竞争力。

    2.改进课堂教学

    VIU可以优化教师在课堂教学过程中的案例演示效果,帮助教师更便捷地达成教学目标,化解重点难点。传统教学中采用的SteamVR SDK提供的接口繁多,脚本较为琐碎,变量语义表示不够直观,在实际讲授过程中往往会纠缠于开发工具的细节问题,如果处理不当,容易弱化虚拟现实互动性等课程核心内容,造成授课逻辑主次不清,不利于学生掌握重点。VIU提供的设备操作脚本在保证功能一致的前提下,接口更为简洁、语义更为直观,这些特点能够简化学生对开发工具本身的理解,降低了学生对课堂辅助工具的认知难度。不仅如此,由于VIU不必连接实际虚拟现实设备,使得教学场所的选择更加灵活多样,教师能够在传统的多媒体教室中完成课堂讲授。

    在课堂教学中引入VIU有助于教师更为合理地把控授课节奏,把更多的课堂时間放在对课程重点内容的讲解上。使用传统VR设备进行授课需要把大量的时间放在设备说明、调试和使用上,时间安排不符合教学过程的一般认知规律。VIU能够减少上述这些在理论和实践环节中不必要的时间花费,给学生更多的思考练习时间,教师也能够把更多课堂时间投入到教学重难点的讲解上,使得课程节奏更为合理。

    3.丰富学生实践

    合理设计学生的课堂练习和课后实践项目是组织虚拟现实开发类课程教学的一大重点。传统的基于VR设备的教学由于场地和设备等因素的限制,难以开展丰富的学生课堂及课后实践项目。借助VIU的功能和特点,教师可以设计一系列的学生实践项目,促进学生对虚拟现实开发技术的理解、夯实基础知识、提高专业能力[7]。

    考虑到学生的专业兴趣、能力及学科背景有所不同,在课程实际教学中,可以将实践项目分成基础型实践项目、工程类实践项目和探索类实践项目等部分,针对不同学生的特点,做到因材施教。以64学时的《虚拟现实互动》课程为例。根据课程教学大纲的安排和选课学生的实际背景,笔者在课程中以VIU为基础环境设计了8个基础练习项目、4个工程类实践项目和2个探索类实践项目。8个基础练习项目给出了虚拟现实开发基础环境和模型、粒子效果,仅需要学生根据课程重点完善相关代码,这类项目可以让学生在实践课程中当堂练习,以促进学生对重难点知识的掌握,起到夯实基础知识的作用。4个工程类实践项目通过对实际虚拟现实互动工程项目的简化裁切,结合教学进度,体现出一定的综合性和复杂度。这类项目意在锻炼学生灵活运用所学基础知识,构造较为完整的工程项目的能力,可以作为分组作业或者阶段性课程设计的一部分。2个探索类实践项目作为难度较大的部分,具有一定的开放性,可以让学有余力、对虚拟现实开发兴趣较为浓厚的学生进行课后探索。这样分层设置实践项目能够合理化教学节奏,保证不同层次的学生都能有所收获,进而达到学生全员参与、分层实践。这种实践项目的设置能够实施,要得益于VIU的不需要连接真实设备即可测试、提供了较为丰富的演示实例等特性。相较于传统教学工具而言,VIU可以让学生更好地运用课内外时间进行实践学习。