基于虚拟现实技术的智慧校园设计与实现*

2017-01-06 05:54:50
武汉冶金管理干部学院学报 2016年4期
关键词:引擎虚拟现实界面

倪 斌

(河南司法警官职业学院,河南 450000)

基于虚拟现实技术的智慧校园设计与实现*

倪 斌

(河南司法警官职业学院,河南 450000)

以我国的某大学为例,利用虚拟现实技术进行与校园逼近的虚拟环境的设计,用户能够通过操控计算机实现与虚拟校园的交互,进而达到控制智慧校园的目的。当前存在许多建模软件能够辅助虚拟校园的实现,如Photoshop、AutoMaya等技术,这些技术能够获取校园的建筑数据;而3D模型技术能够对校园进行具体的仿真;Unity 3D引擎技术能够设计出用户交互界面。这些技术的融合使用能够建立出与校园实际景观相符合的智慧校园。智慧校园还能够展示小地图、调控界面的多个参数以及对界面进行定位等。

虚拟现实技术;智慧校园;建模软件;3D建模

虚拟现实技术经过多年的发展已经日趋成熟,在一定程度上推动了信息化发展的进程。由此产生了“数字校园”的构想和概念,进而衍生了“智慧校园”的概念。“智慧校园”自问世以来都得到了学术界的青睐和广泛关注。“智慧校园”在对校园进行三维建模的基础上,打造出与实际校园逼近的整体模型,然后用户可以利用一些交互方式来操控这个数字校园。总的来说智慧校园表现出了操作便捷化、界面优美化和信息集中化等优势。随着信息化浪潮的发展,我国许多高校都已经陆续开始了3D数字校园的建设和研究。基于此背景,本文以我国某大学为例进行3D智慧校园的设计,该设计能够在计算机上为学生提供虚拟的校园环境,因此学生能够通过计算机对学校路况、地形以及各个建筑物的名称进行了解,进而能够有效地把握学校的相关资源。另外,虚拟校园打造的虚拟平台还能够为校外用户呈现学校的相关信息,真实地将学校的实际情况传递给外界,让校外人员能够贴近实际了解学校。该虚拟校园的设计需从三维建模和引擎设计两方面入手。三维建模的软件有很多,例如AutoCAD、Maya等软件俺,这些软件都各具千秋,各有特长。对于三维校园虚拟环境的建模来说,这些软件在开发成本、开发周期、操作难易程度等方面都具有较大的差别,需要根据开发时的具体环境和学校的具体情况,综合考虑开发成本和周期以及学校的现状等因素进行选择。本文选择Maya作为三维建模工具,因为相对其他三维建模软件来说,Maya更具真实感,操作性更强,更能让用户真正沉浸在其中。三维模型建好之后需要对其进行美化处理,常用的软件有Photoshop和Illustrator等,最后再运用Unity进行智慧校园的建设。本文的智慧校园设计,在建模、引擎、贴图和用户界面上,为其他学校提供了具体案例,期望能够为我国高校的数字化校园建设提供一定的借鉴。

一、软件规划

(一)软件设计流程

(1)项目需求的分析:这是项目设计的最关键的一个环节,该过程需要对最终的实现效果进行设想,即需要考虑到虚拟智慧校园的建设对学生学习和生活的便利性;也需要对项目所需要的条件进行综合考虑,如成本、周期、物理等其他资源。在此基础上才能够进行完整的项目规划;

(2)对校园的平面数据进行采集:利用谷歌地图等相关工具对校园的地理数据进行多方位的采集,该流程作为后期建模的基础,数据的采集直接关系到模型的比例和材质;

(3)使用AutoMaya软件实现三维建模;

(4)使用Photoshop进行模型的制作:该过程在3D模型建立的基础上进行材质的选择并进行纹理贴图的绘制,另外此过程还需要利用Unity软件进行用户交互界面的设计;

(5)利用Unity引擎技术进行虚拟校园的搭载:此过程中的编程语言可以是JAVA,也可以是CJHJ语言,站在用户的角度对3D智慧校园进行搭载;

(6)对项目进行调试并加以评价:主要对虚拟校园中存在的漏洞进行检测并加以完善。

(二)软件的模型架构分析

这个项目主要由两个模块组成:一是模型的建立,二是引擎的搭建。模型的建立主要是指利用三维建模技术进行模型的搭建;而引擎的搭建主要指的是利用Unity技术进行程序设计,在借助某些编程语言对用户交互界面进行设计,以实现用户的交互体验功能。

(1)三维模型的建立一般由以下三个阶段进行设计(图1)。

图1 数字模型的设计步骤

(2)在三维模型建设后,利用Unity软件进行引擎平台的搭建,用户界面的显示方式结合了二维和三维,同时用户界面还兼具导航等功能,导航显示以二维平面显示。三维虚拟环境中的布局方式还是采用三维手段。前面利用Maya设计出的模型以obj的格式保存,再开始此过程。将obj格式的文件导入引擎中以达到控制的目的。下图2是程序的功能模块。

图2 程序功能模块图

(三)功能实现

利用3D引擎技术搭建学校的宣传推广信息,主要以二维的界面形式显示,3D模型的建立能够帮助用户体验和操控虚拟环境。下面将以三维功能搭建作为重点例子进行介绍:站在第三人视角对虚拟人员进行操控以游览数字校园环境对多种物理效应进行仿真,例如对自由落体效应进行仿真、刚体碰撞实验的模拟等;尽可能使数字校园内的声效具有三维效应,以保证真实感;创建导航、定位等功能模块;对全天的光强、温度等环境条件进行模拟。

二、校园3D模型的建立

(一)对数据资料进行收集

收集的数据资料包括该大学中建筑楼的设计图纸、各个角度的视图以及实际照片等,这些是后面模型建立的数据。图3是学校建筑物的俯视图。

图3 学校各建筑的俯视图

(二)多边形模型的建立

Maya建模需要进行大量的布尔操作。通常来说布尔操作具有三种类型:Union、Difference、Intersection。Maya建模就是利用多边形建模实现楼梯等单元的制作。表1表示的是长方体的多个参数。

表1 长方体的参数设置

(三)材质与纹理贴图

建立完模型后进行材质的选择,并在模型中进行贴图。材质的本质是物体对光线的折射状态。贴图决定了物体表面呈现的颜色,质量高的贴图会使物体表现的更加真实和逼真。Maya建模中使用频率较高的材质见表2。Maya建模中有Normal、Projec-tion和Stencil三种2D贴图方式;不同的贴图方式使物体呈现不同的表面。本文中贴图的获取步骤如下:UV的获取→在PS中导入UV→进行贴图的绘制。

三、利用Unity引擎技术搭建人机交互界面

(一)主场景的设计和实现:搭建人物模型,并对其操作以对实际的虚拟场景进行体验。运用菜单位于主界面的右下角位置,如下图4所示。

图4 软件主界面效果图

(1)小地图导航功能的实现:小地图模型位于主界面的左边,点击其中的按钮能够获取小地图的效果,见图5。用圆点在小地图中表示人物,从而实现人物在实际校园中的定位,小地图界面中的“+”与“-”按钮能够分别对地图进行放大和缩小操作。下面将对小地图的设计原理进行分析:对实际校园场景中多安置一个摄像头,将该摄像头称为camera0,实际校园场景中的原有的摄像头被称为Main Carema;主摄像头的主要功能是对所在场景中的景色进行渲染;然后把Camera0置于高处,并让该摄像头面向地面,该摄像头在地面上形成的投影就形成了小地图;最后再绑定摄像头得到图像的X、Z坐标和实际场景中的X、Z坐标,进行完全实现了小地图。

(2)如何有效的使用Unisky插件:场景中的天气可以使用Unisky插件进行模拟,以实现在不同的时间段呈现不同景色的效果,下图6表示的是场景的具体视像。

图6 不同天气条件下的模拟效果图

(3)对界面的多种参数进行设置:界面中能够被调控的参数有五个,分别是时间轴、旋转速度、音效等。图7所示的是五个参数的调节方式,使用的是滚动条。因此可以看出,同一场景在不同时间段表现出的景象是不一样的。

图7 界面参数调控效果图

(二)角色操纵与调控

(1)角色操纵和调控程序需要对角色的位置进行判断,如果角色位于地面上,则界面上的按钮能够对角色进行移动。具体代码如下:

if (controller.is Grounded == true)

{if (Input. Get Key (Key Code. W))

{

Animation. Cross Fade("01_Cool Walk");

Vector3 forward = transform.Transform Direction(Vector3.forward);

Controller.Move (forward*movespeed*Time. delta-Time);

同时也可以预设虚拟环境中人物在失重后的场景,通过对重力加速度进行模拟,具体代码如下:

movedirection. y-=gravity*Time. delta Time;controller. Move (movedirection*(Time. delta Time*2) ) ;

上述代码能够利用计算机的W、A、S、D键控制虚拟场景中的任务。另外,Unity引擎技术中的Smoth follow脚本能够使Main Camera与虚拟场景中的人物保持相同的移动状态。

(2)重力效应和刚体碰撞效应的模拟参数的设置界面如图8所示。在进行参数的设置时需要选中generate colliders选项,在场景中进行刚体的添加,在此模型下人物只能触摸建筑物而不能穿越建筑物。下面的条件语句能够对虚拟人物与地面是否接触进行判断:

if(control-ler.isGrounded==true)

{}

如果虚拟人物没有与地面接触,则调用一下语句:

movedi-rection.y-=gravity*Time.deltaTime;

如果虚拟人物位于地面,则可判定人物落下。

图8 刚体碰撞参数设置

另外,重力系数使用浮点型变量进行定义和初始化,当重力系数增大时,虚拟人物的下降速度增大。如此一来便可以对虚拟人物的降落效果进行模拟。

四、结束语

本文以我国某大学为例,基于虚拟现实技术设计出与现实校园相近的、逼真的虚拟环境,用户通过计算机的操控与该虚拟环境进行交互,实现对智慧校园的控制。利用AutoMaya、Photoshop、Illustrator等建模、美化软件,进行校园建筑数据获取、3D模型的建立以及贴图纹理的映射等;利用Unity3D引擎进行用户交互设计,建立起大学实际仿真景观的3D智慧校园。在此基础上,还实现了小地图的展示、界面多参数的调控、界面定位等个性化功能。

[1]薛亚婷.基于Google Earth及KML的数字校园设计与实现方法研究[D].兰州大学,2007.

[2]黄涛.基于Unity3D的虚拟校园漫游系统的研究和实现[D].广西师范大学,2014.

[3]王洪.基于虚拟现实的三维漫游技术研究与实践[D].电子科技大学,2004.

[4]邱有春,吴侃.基于虚拟现实技术的校园漫游系统设计与实现[J].现代计算机(专业版),2010,(12):60-62+75.

责任编辑:游 涛

河南省教育厅2016年度全省大中专毕业生就业创业研究课题“大数据时代“智慧校园”众创空间云平台应用研究”(课题编号:JYB2016227);郑州升达经贸管理学院2016年创办人科研基金院级项目“基于无线网络的校园体育文化导览系统应用研究”。

2016-09-28

倪斌(1983-),男,河南郑州人,计算机及应用专业,硕士,毕业于武汉大学,现就职于河南司法警官职业学院,一级警司,讲师,副主任科员,研究方向为网络信息安全,大数据应用。

TP399

A

1009-1890(2016)04-0079-04

猜你喜欢
引擎虚拟现实界面
国企党委前置研究的“四个界面”
当代陕西(2020年13期)2020-08-24 08:22:02
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
蓝谷: “涉蓝”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
风口上的虚拟现实
商周刊(2017年24期)2017-02-02 01:42:55
人机交互界面发展趋势研究
虚拟现实技术向科幻小说借灵感
海外星云(2016年7期)2016-12-01 04:18:00
HTC斥资千万美元入股虚拟现实设备商WEVR
IT时代周刊(2015年8期)2015-11-11 05:50:37
手机界面中图形符号的发展趋向
新闻传播(2015年11期)2015-07-18 11:15:04
无形的引擎
河南电力(2015年5期)2015-06-08 06:01:46
基于Cocos2d引擎的PuzzleGame开发