论文部分内容阅读
摘要:Unity 3D是重要的虚拟现实开发软件,但这个软件通过地形编辑、物理引擎、着色器等重点解决了三维世界的虚拟可视化,而对于信息的存储,交互查询和信息的延展展示、信息资源的管理,没有直接的工具,本文通过分析Unity 3D的信息存储模式,提出了在Unity 3D中解决数据处理的方法和手段。
关键词:Unity 3d;漫游系统;数据处理
现今随着电脑硬件设备的升级,在信息系统的展示中,更多采用了三维可视化的方式,而实现三维可视化化,需要引入三维开发引擎去支撑,Unity 3D是一个重要的三维动画制作引擎,但Unity 3D本身主要解决的是三维素材的操作,而对原来比较典型的信息处理,没有提供相应模块,这对以信息展示为主要目的的校园漫游系统来说,是一个急需解决的问题。
0.引言
本课题研究的起因是在完成一个校园全景漫游系统,这个系统基于Unity 3D动画引擎软件,以校园的具体场景为基础,通过三维立体模型,完成一个虚拟的校园场景,这个场景可以具有沉浸式的体验,可以通过多种媒体进行立体信息展示。由于该项目开发是基于Unity 3D技术,所以在系统发布上,可以兼顾PC端、苹果端、网页端、手机端和VR眼镜等平台,一次开发,多端使用,从而提高了项目的完成质量。
Unity是一个可以和硬件结合,特别是可以通过VR眼睛等设备,让学生亲手动手,接触各种VR行业的实际应用,通过软硬件技术的结合,培养学生的动手能力和编程水平,学生通过项目开发,完成3D场景的再现,提供代入性,全局性和时效性场景,
本项目以校园全景漫游为研究对象,在完成部分DEMO案例项目的基础上,实现了基于Unity的校园3D全境漫游,并获江苏省大学生创新创业项目省级立项。
1.项目背景
漫游系统以完善的校园网络为基础,通过建设基于3D的模型系统,提供一个可以虚拟展现的校园环境,特别是在使用VR眼镜等特殊设备的状况下,可以得到一个全新的体验,但在这个基础上,如果能引人相关数字化信息系统进行交互,引入一个虚拟的社区场景体验,对漫游系统来说,具有更有益的价值。所以本项目通过构建数字校园,利用虚拟现实技术将真实的校园场景通过数字化模型再现到计算机中,用户对所构建的三维虚拟场景可以进行自由漫游,并随场景和个人操作,提供个性化的信息推送和互动,这种个性化推送和互动基于系统的信息化系统。
2.项目研究的目标及主要内容
漫游系统数据处理主要解决的问题,包括虚拟校园漫游系统具备良好友善的用户界面,用户可以通过操作鼠标和键盘实现对整个场景的漫游。具体可分为两个方面的漫游:一方面,用户可以通过导航图点击想要到达的地点,切换到当地的自动相机视角,实现自动漫游。另一方面,用户可以通过点击屏幕下方的按钮切换到当地的相机视角,实现自由漫游。在进入具体场景中,可以推送场景信息,并把公告栏等即时信息进行推送。后台可以记录漫游人数等。
3.项目创新特色
虚拟校园漫游系统能展示校园风采,提升校园形象。项目不仅仅能现实校园建筑形状、地理形态的展现,而是可以提供丰富的交互信息。第一人称漫游是指用户通过鼠标和键盘在虚拟校园中根据自己的兴趣自由的行走观看。校园漫游系统将校园内的建筑功能信息等一些展示信息存放到数据库中,用户可以通过鼠标点击、键入等互动行为在相应的位置呼出这些信息,并且能获得个人所特有的信息推送模式。
4.项目研究技术路线
项目的开发平台是Unity,为使开发项目能支持信息化系统,需要为项目选择一个数据交换的方式,在Unity中,对于信息的存储,现有以下几种方式:
1)通过存储本地文件方式记录信息
2)通过Cookie在电脑存储信息
3)通过SQLite在本地存储数据
4)通过My SQL远程处理数据
对于以上数据处理的方式,各有优缺点,如果采用的是前三种方式,数据信息采用本地化存储,而采用My SQL可以支持信息的运程存储,能为多个用户的信息交换提供支持,但在从目前的漫游系统看,由于需要客户端都登录统一的网络,对基于VR眼镜类设备,需要手机端和网络端的同步,对系统的要求比较高,所以项目采用了基于了SQLite本地存储数据的形式。
SQLite是一个小型化的数据库,它包含一个相对较小的C程序库, SQLite支持跨平台,操作简单,如果项目是发布于VR设备,由于整个SQLite数据库体积只有4M多一些,在设备存储上也没有压力。
在Unity项目中的信息管理中,引入的小型化SQLite数据库,从而对校园信息进行存储和更新。通过在添加SQLite数据库相关的三个Dll文件(Mono.Data.Sqlite.dll”、“sqlite3.dll”、“System.Data.dll),并且把三个文件都放置在Plugins文件夹下完成数据库的部署,通过脚本调用SQL语音,对SQLite数据库进行操作,完成对场景交互信息的记录和更新操作。
其中,
数据定义操作:
void Awake() {
OpenDB("Data Source=./sqlite3.db"); //調用OpenDB函数来连接数据库
}
数据连接操作:
public void OpenDB(string connectionString){
try{
dbConnection = new SqliteConnection(connectionString); //实例化数据库连接对象
dbConnection.Open(); //打开数据库 }
数据查询操作
public SqliteDataReader ExecuteQuery(string sqlQuery){ /// 执行查询sqlite语句操作
dbCommand = dbConnection.CreateCommand(); //创建一个数据库命令对象
dbCommand.CommandText = sqlQuery; //将CommandText(命令文本)设置为接收到的SQL语句
reader = dbCommand.ExecuteReader(); //执行命令语句并将返回的结果集赋给reader
return reader; //返回结果集
}
5.项目的调试
项目完成后,把对应代码挂载在主摄像机上,通过用户点击,完成人机交互,在项目的部署中,注意调试范围,如果是在电脑端运行,需要将项目的API兼容性,调整为API Compatibility Level(兼容级别),并且在Inspector面板中的Other Settings中,把开发支持设置为“.NET 2.0”。对于通过VR眼睛端运行,需配置开发环境对应的Android SDK和JDK,如果是MAC OX X平台下则不需挂载SDK即可使用。
结束语
本课题是江苏省大学生创新创业省级立项项目“基于Unity的校园3D全境漫游”项目的一个子课题,课题的研究对象主要是处理Unity项目的信息内容,课题解决了一个具体的应用场景,但这个课题可以快速扩展到其他领域,包括VR虚拟科技馆、VR培训场景、VR营销、VR消防演习等。课题在教师的辛勤指导,同学的团结协助,完成这个子项目的研究。江苏省苏州经贸职业技术学院计算机应用技术专业在VR项目上,能通过项目践行应用型人才培养和产业岗位需求的有效衔接,在贯彻执行学生“433”成才工程建设中,能发好力,做好功,项目组中的学生也都能认真按项目计划推进任我,项目组指导老师都是经验丰富的教师,并曾指导学生参加省技能大赛获奖,项目顺利实现完成推进,达成预期建设目标。
参考文献
[1] 史悦 顾宇红.基于Unity 3D的校園全景漫游系统的实现[J] 锦绣.2020(35)
[2] 励丹妮 卢禹轩 胡智宇. 基于Unity3D的中国民航大学校园虚拟漫游系统研究[J] 数字技术与应用. 2020(4)
[3] 姬喆. 基于VR虚拟漫游技术的交互设计应用研究[J] 现代电子技术. 2019(15)
[4] 康艳霞. 虚拟校园漫游系统的设计与实现[J] 信息与电脑. 2019(19)
[5] 刘颜东. 虚拟现实技术的现状与发展[J] 中国设备工程. 2020(07)
[6] 刘霞 李晓华. 基于 Unity3D 的虚拟校园漫游系统[J] 科技视界. 2020(6)
作者简介:
顾宇红(1970-),苏州经贸职业技术学院教师,本科,讲师,专业方向是软硬件信息系统部署,虚拟现实与动画设计。2020年江苏省大学生创新创业训练项目指导老师。
高秉泽,苏州经贸职业技术学院18计应33班学生,江苏省大学生创新创业训练计划2020年立项项目“基于Unity的校园3D全境漫游”共同主持人。
(苏州经贸职业技术学院 江苏 苏州 215009)
关键词:Unity 3d;漫游系统;数据处理
现今随着电脑硬件设备的升级,在信息系统的展示中,更多采用了三维可视化的方式,而实现三维可视化化,需要引入三维开发引擎去支撑,Unity 3D是一个重要的三维动画制作引擎,但Unity 3D本身主要解决的是三维素材的操作,而对原来比较典型的信息处理,没有提供相应模块,这对以信息展示为主要目的的校园漫游系统来说,是一个急需解决的问题。
0.引言
本课题研究的起因是在完成一个校园全景漫游系统,这个系统基于Unity 3D动画引擎软件,以校园的具体场景为基础,通过三维立体模型,完成一个虚拟的校园场景,这个场景可以具有沉浸式的体验,可以通过多种媒体进行立体信息展示。由于该项目开发是基于Unity 3D技术,所以在系统发布上,可以兼顾PC端、苹果端、网页端、手机端和VR眼镜等平台,一次开发,多端使用,从而提高了项目的完成质量。
Unity是一个可以和硬件结合,特别是可以通过VR眼睛等设备,让学生亲手动手,接触各种VR行业的实际应用,通过软硬件技术的结合,培养学生的动手能力和编程水平,学生通过项目开发,完成3D场景的再现,提供代入性,全局性和时效性场景,
本项目以校园全景漫游为研究对象,在完成部分DEMO案例项目的基础上,实现了基于Unity的校园3D全境漫游,并获江苏省大学生创新创业项目省级立项。
1.项目背景
漫游系统以完善的校园网络为基础,通过建设基于3D的模型系统,提供一个可以虚拟展现的校园环境,特别是在使用VR眼镜等特殊设备的状况下,可以得到一个全新的体验,但在这个基础上,如果能引人相关数字化信息系统进行交互,引入一个虚拟的社区场景体验,对漫游系统来说,具有更有益的价值。所以本项目通过构建数字校园,利用虚拟现实技术将真实的校园场景通过数字化模型再现到计算机中,用户对所构建的三维虚拟场景可以进行自由漫游,并随场景和个人操作,提供个性化的信息推送和互动,这种个性化推送和互动基于系统的信息化系统。
2.项目研究的目标及主要内容
漫游系统数据处理主要解决的问题,包括虚拟校园漫游系统具备良好友善的用户界面,用户可以通过操作鼠标和键盘实现对整个场景的漫游。具体可分为两个方面的漫游:一方面,用户可以通过导航图点击想要到达的地点,切换到当地的自动相机视角,实现自动漫游。另一方面,用户可以通过点击屏幕下方的按钮切换到当地的相机视角,实现自由漫游。在进入具体场景中,可以推送场景信息,并把公告栏等即时信息进行推送。后台可以记录漫游人数等。
3.项目创新特色
虚拟校园漫游系统能展示校园风采,提升校园形象。项目不仅仅能现实校园建筑形状、地理形态的展现,而是可以提供丰富的交互信息。第一人称漫游是指用户通过鼠标和键盘在虚拟校园中根据自己的兴趣自由的行走观看。校园漫游系统将校园内的建筑功能信息等一些展示信息存放到数据库中,用户可以通过鼠标点击、键入等互动行为在相应的位置呼出这些信息,并且能获得个人所特有的信息推送模式。
4.项目研究技术路线
项目的开发平台是Unity,为使开发项目能支持信息化系统,需要为项目选择一个数据交换的方式,在Unity中,对于信息的存储,现有以下几种方式:
1)通过存储本地文件方式记录信息
2)通过Cookie在电脑存储信息
3)通过SQLite在本地存储数据
4)通过My SQL远程处理数据
对于以上数据处理的方式,各有优缺点,如果采用的是前三种方式,数据信息采用本地化存储,而采用My SQL可以支持信息的运程存储,能为多个用户的信息交换提供支持,但在从目前的漫游系统看,由于需要客户端都登录统一的网络,对基于VR眼镜类设备,需要手机端和网络端的同步,对系统的要求比较高,所以项目采用了基于了SQLite本地存储数据的形式。
SQLite是一个小型化的数据库,它包含一个相对较小的C程序库, SQLite支持跨平台,操作简单,如果项目是发布于VR设备,由于整个SQLite数据库体积只有4M多一些,在设备存储上也没有压力。
在Unity项目中的信息管理中,引入的小型化SQLite数据库,从而对校园信息进行存储和更新。通过在添加SQLite数据库相关的三个Dll文件(Mono.Data.Sqlite.dll”、“sqlite3.dll”、“System.Data.dll),并且把三个文件都放置在Plugins文件夹下完成数据库的部署,通过脚本调用SQL语音,对SQLite数据库进行操作,完成对场景交互信息的记录和更新操作。
其中,
数据定义操作:
void Awake() {
OpenDB("Data Source=./sqlite3.db"); //調用OpenDB函数来连接数据库
}
数据连接操作:
public void OpenDB(string connectionString){
try{
dbConnection = new SqliteConnection(connectionString); //实例化数据库连接对象
dbConnection.Open(); //打开数据库 }
数据查询操作
public SqliteDataReader ExecuteQuery(string sqlQuery){ /// 执行查询sqlite语句操作
dbCommand = dbConnection.CreateCommand(); //创建一个数据库命令对象
dbCommand.CommandText = sqlQuery; //将CommandText(命令文本)设置为接收到的SQL语句
reader = dbCommand.ExecuteReader(); //执行命令语句并将返回的结果集赋给reader
return reader; //返回结果集
}
5.项目的调试
项目完成后,把对应代码挂载在主摄像机上,通过用户点击,完成人机交互,在项目的部署中,注意调试范围,如果是在电脑端运行,需要将项目的API兼容性,调整为API Compatibility Level(兼容级别),并且在Inspector面板中的Other Settings中,把开发支持设置为“.NET 2.0”。对于通过VR眼睛端运行,需配置开发环境对应的Android SDK和JDK,如果是MAC OX X平台下则不需挂载SDK即可使用。
结束语
本课题是江苏省大学生创新创业省级立项项目“基于Unity的校园3D全境漫游”项目的一个子课题,课题的研究对象主要是处理Unity项目的信息内容,课题解决了一个具体的应用场景,但这个课题可以快速扩展到其他领域,包括VR虚拟科技馆、VR培训场景、VR营销、VR消防演习等。课题在教师的辛勤指导,同学的团结协助,完成这个子项目的研究。江苏省苏州经贸职业技术学院计算机应用技术专业在VR项目上,能通过项目践行应用型人才培养和产业岗位需求的有效衔接,在贯彻执行学生“433”成才工程建设中,能发好力,做好功,项目组中的学生也都能认真按项目计划推进任我,项目组指导老师都是经验丰富的教师,并曾指导学生参加省技能大赛获奖,项目顺利实现完成推进,达成预期建设目标。
参考文献
[1] 史悦 顾宇红.基于Unity 3D的校園全景漫游系统的实现[J] 锦绣.2020(35)
[2] 励丹妮 卢禹轩 胡智宇. 基于Unity3D的中国民航大学校园虚拟漫游系统研究[J] 数字技术与应用. 2020(4)
[3] 姬喆. 基于VR虚拟漫游技术的交互设计应用研究[J] 现代电子技术. 2019(15)
[4] 康艳霞. 虚拟校园漫游系统的设计与实现[J] 信息与电脑. 2019(19)
[5] 刘颜东. 虚拟现实技术的现状与发展[J] 中国设备工程. 2020(07)
[6] 刘霞 李晓华. 基于 Unity3D 的虚拟校园漫游系统[J] 科技视界. 2020(6)
作者简介:
顾宇红(1970-),苏州经贸职业技术学院教师,本科,讲师,专业方向是软硬件信息系统部署,虚拟现实与动画设计。2020年江苏省大学生创新创业训练项目指导老师。
高秉泽,苏州经贸职业技术学院18计应33班学生,江苏省大学生创新创业训练计划2020年立项项目“基于Unity的校园3D全境漫游”共同主持人。
(苏州经贸职业技术学院 江苏 苏州 215009)