关于虚拟现实相关参考文献格式范文 与基于Arduino的虚拟现实交互系统实验案例设计类论文怎么撰写

关于免费虚拟现实论文范文在这里免费下载与阅读,为您的虚拟现实相关论文写作提供资料。

基于Arduino的虚拟现实交互系统实验案例设计

中图分类号:G642

王阳萍1,2,李玉龙1,王文润1,张 晶1

(1.兰州交通大学 计算机科学与技术国家级实验教学示范中心,甘肃 兰州 730070;

2. 甘肃省人工智能与图形图像处理工程研究中心,甘肃 兰州 730070)

摘 要:综合运用嵌入式、三维建模、虚拟现实等技术,提出一个软硬件结合的虚拟现实交互系统典型案例,实现虚拟场景与现实环境的实时交互控制.通过3DMAX和Unity3D软件设计虚拟现实交互场景,采用Arduino核心板搭建场景的控制模块,运用光敏电阻和湿度传感器实时获取环境信息并注入虚拟场景中,实现虚拟现实交互系统.

关键词:虚拟现实;Unity3D;Arduino;交互控制

基金项目:兰州交通大学实验教学改革研究项目(201720).

第一作者简介:王阳萍,女,教授,研究方向为图形图像处理和虚拟现实, 13519311970@163.com.

0 引 言

虚拟现实技术是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真[1-2].虚拟现实技术作为当前新兴的一种数据信息呈现技术,在实验教学、实际技能训练与课堂教学等方面都具有显著的优势,正推动高校教学模式的转变.虚拟环境中出现的各类对象都是采用虚拟现实设备创建,并作用于用户的听觉、视觉和触觉,与其进行交互作用,从而产生身临其境的感受 [3].虚拟现实技术在医学、军事、娱乐、建筑工程等方面应用广泛,目前将虚拟现实技术运用于教育行业也成为一个热点.

虚拟现实技术运用到实验教学中,为实验教学提供了一种全新的教学方法和手段,教师和学生通过创建的虚拟实验环境,对现实世界中尚未发生的事情进行体验和认知.该技术能够突破学生在心理和生理上的限制,从而实现对宏观世界、微观世界的研究和探索;也可以采用虚拟现实技术实现现实世界中无法实现的事情.Unity3D是一个能够轻松创建互动内容的多平台的综合型开发工具[4-5],是近几年迅速发展起来的功能强大的开源三维虚拟现实开发平台,不仅支持多种文件格式资源导入,而且具有强大的计算机程序编译能力.

1 案例基本介绍

实验案例以“古今穿越”为例,引导学生设计开发一个用户可通过真实环境对虚拟场景进行交互控制操作的虚拟现实系统.通过对本实验案例的设计与制作过程的学习,学生可以了解虚拟现实技术,熟悉虚拟现实交互系统开发的完整流程,逐步掌握3D建模技术、虚拟场景设计、对虚拟场景交互控制操作的软硬件平台,自主创新设计虚拟现实交互控制系统.本实验为开放实验,共16学时,面向的是具有一定编程基础(至少学过一门编程语言)的各专业学生.案例主要包括以下4个学习步骤:①三维模型制作;②虚拟场景设计;③交互操作;④硬件控制.实验课时安排见表1.

2 系统功能与总体架构

“古今穿越”实验案例应用虚拟现实技术,还原与再现“古代”风貌.通过Unity3D开发平台将建立的三维模型集成到设计的古代地形场景中,完成古代场景的设计与制作;然后,通过Arduino集成环境将硬件和场景结合起来,实现对场景的交互操作;最后,戴上3D沉浸式头盔显示器,身临其境地融入场景中,用户可对场景进行漫游、交互操作,就仿佛回到了古代.

“古今穿越”虚拟现实交互系统的设计与制作主要包括场景设计、交互操作和控制模块3个部分.场景设计模块主要完成模型制作和地形设计,最终设计出古代的完整场景;交互操作模块的主要任务是在场景中加入交互功能,使用户能够控制场景;控制模块则是将硬件设备与虚拟场景联系起来,使虚拟世界与现实结合起来,用户通过该模块可身临其境地观看古代场景,并对场景进行控制.“古今穿越”虚拟现实交互系统结构图如图1所示.

3 系统设计方案

3.1 三维模型制作

建模就是建立一个场景构件的基础模型,是效果图制作的第一步,后面的步骤都在模型的基础上进行再创作[6].在虚拟现实交互系统中,考虑到场景模型的逼真性,因而对模型的要求较高.系统采用3DS Max进行模型的建立.3DS Max具有丰富的建模工具和UV贴图调节功能,操作性强,制作模型逼真,质感表现真实[7-8].该软件主要的功能模块包括建模、动画编辑、灯光、环境、制作、材质、贴图编辑、渲染出图等.

该案例以古代宫殿的建模为例,其整体结构包含多个小部件,因此在建立模型的过程中,在确保真实性的前提下,需要进行模型优化,用尽量少的线条完成模型的制作,否则庞大的数据量会影响虚拟现实系统的运行效率,造成实时漫游、导入困难等问题.我们利用3DS Max对模型面片数进行优化,删除看不见的面和没有关联的点线,将模型的三角网格面尽量修改为等边三角形并使模型分布均匀,最终转换为Unity3D支持的FBX格式导入其场景.场景中一所宫殿的建模如图2所示.

3.2 漫游场景设计

本实验案例采用在虚拟现实领域应用广泛的Unity3D软件进行古代场景的设计与制作,Unity3D支持多个平台的发布(Android、IOS、PC、网页等)、多种文件格式的导入、强大的地形编辑器和着色器、自由的脚本编辑等功能.

Unity3D软件的地形编辑器功能强大,可以让系统开发者制作出现实场景中任何复杂的地形,还可以制作地形上的一些元素,如山丘、树木、草丛、石头等[6, 9-10].利用Unity3D的地形编辑功能,构建逼真的古代地形环境,然后将3DS Max制作好的宫殿、角色等元素的三维模型导入Unity3D中,可以设计出完整的古代场景.

将3DS Max建立的模型以FBX格式导入Unity3D后,模型在地形场景中会出现添加的材质丢失、模型坐标不准确等问题,在场景视图中需对模型的一系列参数重新设置,如导入模型原有的工具资源、材质资源等文件,重置模型的坐标和Camera的位置等.模型导入及参数设置流程如图3所示.

3.3 场景交互设计

“古今穿越”虚拟场景中最基本的功能就是要实现虚拟漫游.实现虚拟漫游功能包括4个步骤:设计一个完整的虚拟场景;确定在场景中行走的人物角色;进行控制人物角色漫游的代码编辑;将编辑好的脚本添加到场景中的人物角色上,即可实现漫游功能[11-12].在Unity3D的Game视图中,用户通过鼠标滚轮可直接调整场景的远近,应用鼠标右键可左右旋转观看场景.

本实验案例在“古今穿越”场景中还加入了灯光控制和天气变化两个交互功能,将编辑好的控制代码附在场景中对应的元素上,即可实现场景中灯光的明暗以及天气的变化.

3.4 场景控制模块构建

控制模块是实现虚拟现实场景交互的重要组成部分.系统通过外部的硬件设备,实时采集现实场景中的数据,反馈到虚拟场景中,触动相应的控制代码,实现场景中的虚拟漫游、灯光明暗、天气变化等交互控制.

本实验采用Arduino UNO核心开发板,作为虚拟现实场景的硬件控制模块.它是一款便捷灵活、方便上手的开源电子原型平台,该平台包含硬件(Arduino I/O Board)和软件(Arduino IDE)两部分[13-15]. Arduino UNO是Arduino USB接口系列的最新版本,该开发板的核心处理器是ATmega328,有14路的数字输入/输出口、6路的模拟输入、1个ICSP header、1个16MHz晶体振荡器、1个USB口、1个复位按钮和1个电源插座.开发板的样式如图4所示.

Arduino开发板通过串口与计算机进行连接,从而实现数据的传递,而C#语言能通过串口进行信息的输出和接收,因此本实验案例在Unity中实现交互的脚本使用C#语言编写,Arduino开发板也采用C#语言进行硬件控制.通过Arduino UNO核心开发板控制古代虚拟场景的电路连接如图5示,核心板上加入了双轴摇杆、光敏电阻、湿度传感器和Button开关.双轴摇杆的作用是控制角色在场景中漫游;光敏电阻的作用是控制场景中灯光的变化及场景中荷花的开合;湿度传感器的作用是室内温度高时,场景中便是晴天,室内温度低时,场景中便是雨天;Button开关的作用是控制场景的切换.

运用Arduino的开发板就需要了解Arduino编程规则,熟悉编程工具的使用,能够独立编写控制程序和根据已有程序进行修改.本实验案例中,Arduino核心板上元器件采集的信息通过Arduino IDE中编写的代码进行控制,并将数据的变化通过串口实时地传输到虚拟现实场景中.

4 系统功能测试

通过以上步骤完成了一个完整的古代虚拟现实交互场景设计与制作实验案例,为了场景的逼真性和沉静感,可以让用户戴上沉浸式虚拟现实头盔进行场景漫游,同时通过Arduino实时获取环境信息并注入虚拟场景中,实现对虚拟场景中环境变化的控制.

5 结 语

“古今穿越”虚拟现实交互系统通过传感器捕获现实场景环境信息变化,借助于Arduino核心控制板实时、自然地将这些信息注入虚拟场景中,将虚拟场景与现实场景有机连接,实现对虚拟场景的有效控制.笔者详细介绍了实验目的、开课方式及实验课时安排,使学生通过学习本实验案例,可将硬件模块Arduino开发板与Unity3D游戏引擎的开发与应用相结合,实现一个实用系统,掌握虚拟现实交互系统的整个开发流程,对虚拟现实系统的开发有一个整体和系统性认识,并增强学习兴趣,为进一步开发具有实际应用价值的虚拟现实交互系统打下良好的基础.

参考文献:

[1] 蒋定定, 王长力, 王玉菊. 三维激光扫描与虚拟现实技术[J]. 电子世界, 2012(19): 30-31.

[2] 付晓靓. 基于Virtools与Flash的实时交互虚拟NMR实验室的构建[D]. 大连: 大连理工大学, 2011.

[3] 高东锋, 王森. 虚拟现实技术发展对高校实验教学改革的影响与应对策略[J]. 中国高教研究, 2016(10): 56-59.

[4] 相茂英. 基于Unity3D的化工设备虚拟培训系统研究[J]. 计算机技术与发展, 2014(24): 196-200.

[5] 王大虎, 刘海洋, 王敬冲. 基于虚拟现实的采煤机培训系统开发[J]. 计算机仿真, 2015, 32(6): 262-265.

[6] 王文润, 王阳萍, 雍玖. 基于Unity3d的铁路信号设备虚拟现实系统研究[J]. 铁道标准设计, 2016, 60(8): 144-147.

[7] 张养安, 李俊锋, 杨爱玲, 等. 基于3DMAX的虚拟现实三维建筑模型建模技术初探[J]. 测绘与空间地理信息, 2015, 38(10): 151-153.

[8] 娄启业, 程效军, 谭凯. 基于AutoCAD和3DMax的建筑物三维建模[J]. 工程勘察, 2013(11): 71-74.

[9] 王亚萍. 浅析unity3d 创建环境地形[J]. 计算机光盘软件与应用, 2012, 2(19): 171-175.

[10] 戴茜. 基于Unity3D的虚拟故园系统开发与实现[D]. 北京: 北京林业大学, 2014.

[11] 宣雨松. Unity3d游戏开发[M]. 北京: 人民邮电出版社, 2012: 108-113.

[12] 吴亚峰, 索伊娜. Unity3D游戏开发技术详解与典型案例[M]. 北京: 人民邮电出版社, 2016: 596-602.

[13] 蔡睿妍. Arduino的原理及应用[J]. 电子设计工程, 2012, 20(16): 156-157.

[14] 朱轶, 曹清华, 单田华, 等. 基于Android、树莓派、Arduino、机器人的创客技能教育探索与实践[J]. 实验技术与管理, 2016, 33(6): 172-176.

[15] Monk S. Arduino编程指南[M]. 北京: 人民邮电出版社, 2016: 8-12.

(编辑:宋文婷)

虚拟现实论文范文结:

适合不知如何写虚拟现实方面的相关专业大学硕士和本科毕业论文以及关于虚拟现实论文开题报告范文和相关职称论文写作参考文献资料下载。

1、大学生理想和现实论文