时间:2024-09-03
徐州生物工程职业技术学院 黄志平
虚拟现实技术可以创建一个实时的三维虚拟环境,用户可以在虚拟环境中感受真实物理世界的情感体验。本文采用VRP编辑器作为虚拟现实平台,构建了具有多种漫游方式、交互性强、多人在线交流等功能的三维虚拟校园系统。
创建虚拟校园,让体验者在网上通过虚拟校园参与学校的学习、生活等日常活动。三维虚拟校园设计中包括不同漫游形式、多人在线互动、地图导航等各种交互功能,这就需要在VRP编辑器中进行相关操作以实现这些功能。本文主要对三维虚拟校园这些功能的实现进行设计和研究。
VRP编辑器中提供了多种相机类型,包括行走相机、飞行相机、绕物旋转相机、角色控制相机、跟随相机、定点观察相机、动画相机等。本项目在设计和制作三维虚拟校园场景漫游时,通过创建角色控制相机、飞行相机这四种相机让体验者从不同视角、不同的路径、不同的方式游览虚拟校园场景,产生不同的感官感受。
角色控制相机,角色设置了跑动、站立、行走三个动作游览校园,用户可以根据游览的需要自行选择运动方式,增加体验者游览的真实感和沉浸感。角色控制相机设计和创作过程如下:
(1)从角色库中调用角色。点击【创建对象】栏里的【骨骼动画】,然后点击【角色库】按钮,在弹出的【角色库】对话框中有很多角色可供选择,这里选择“亚洲休闲平跟鞋女士”调到虚拟场景中,通过移动工具和缩放工具调整其位置和大小。
(2)为加色添加动作。点击右侧的【动作库…】按钮,会弹出一个【动作库】对话框,在对话框中双击“跑动原地(平跟女士)”、“空闲站立(平跟女士)”和“行走原地(平跟女士)”,将这三个角色的动作添加到场景角色中。添加好三个动作后,在动作库中分别右键单击这三个动作将“跑动原地(平跟女士)”、“空闲站立(平跟女士)”和“行走原地(平跟女士)”分别设置为“跑步动作”,“默认动作”和“行走动作”。
(3)角色控制相机的创建。通过点击【相机】面板下的【角色控制相机】按钮,可以打开【Camera name】对话框,在对话框里可以更改相机名称。
(4)设置相机控制角色。打开角色控制相机属性面板,在属性面板中选择“亚洲休闲装平跟”角色。
(5)切换角色控制相机。设置好之后,点击F5运行,按“C”键打开【相机列表】对话框,选择“角色控制相机”就可以在虚拟校园场景中控制角色模型。通过点击键盘上的W、S、A、D可以控制角色模型的前、后、左、右的移动,如果用鼠标直接单击要去的位置,角色可以自动前往,点击键盘左上角的“~”键,可以将行走状态切换成跑步状态。
本项目中通过设计和创建飞行相机,让体验者从高空俯视三维虚拟校园场景。
(1)创建飞行相机。在VRP编辑器的相机面板中创建飞行相机,设置飞行相机的名称
(2)设置飞行相机属性。点击【相机列表】中的“飞行相机”,在弹出的飞行相机属性列表中将【基本参数】下的【水平视角】设为90度,其它参数保持不变。
(3)转换相机类型。虚拟校园场景中创建了不同的相机类型,我们可以通过点击相机属性面板中的【相机类型】选择需要的相机,在弹出的对话框中选择“是”即可。
使用跟随相机精心策划一条较好的游览线路,使体验者按照这条线路浏览校园,既可以较高效率的及时了解校容校貌,又方便体验者对学校有个快速整体的了解。实现方法和上面两种相机的实现方法类似。首先创建角色并为角色添加动作,然后创建角色路径并将路径绑定到角色,最后创建跟随相机并设置相机跟随角色,完成跟随相机的创建。
在创建相机时,还会遇到一些问题,因此,我们在创建相机时还要注意一些事项,掌握一些技巧。
(1)在VRP中编辑时可以设定角色自动攀登符合实际尺寸的台阶。正常角色的高度,可以自行攀登20公分的台阶,若台阶超过20公分,则角色无法跨越。
(2)在制作过程中,若角色被墙或者地板卡住了,用鼠标中键将角色拖到合适的位置就可以了。
为了让体验者在浏览校园时有身临其境的感受,我们还需要在虚拟校园场景中进行碰撞检测的设置。
设置碰撞检测,单击【物理碰撞】按钮,在场景中选中全部模型,然后取消不需要进行碰撞的模型,最后单击【碰撞方式】下的开启按钮,碰撞检测设置完成。设置碰撞检测好之后,角色在在场景中就不会发生穿墙而过等穿帮现象了,碰到墙壁会沿着墙壁向前行走。
在碰撞检测设置过程中,要掌握以下碰撞检测的优化技巧。
(1)在制作时,可以将模型不加入碰撞,而是制作一个盒子模型作为碰撞替代,运行时将盒子模型隐藏即可。
(2)我们在制作过程中有必要尽可能的简化碰撞的模型。此外,一些走路碰不到的面如屋顶上的模型等就不需要加入碰撞。
前面的内容我们已经研究过在VRP中添加角色的方法。下面我们将研究如何设置MMO场景里的角色。
(1)在【创建对象】中的【骨骼动画】面板里点击【角色库…】按钮,在弹出的角色库对话框中选择需要的角色添加到场景中。根据制作需要为角色添加骨骼动作,如行走原地、跑动原地、空闲站立、跳跃动作等,创建一台角色控制相机,供MMO设置参数调用。
(2)在【多人在线】中的【角色系统】面板中点击【添加】按钮,添加角色骨骼。在【多人在线】中的【角色系统】面板中点击【控制相机】按钮,添加角色控制相机。
(3)在【多人在线】中的【基础设置】面板中修改角色的登录名称,在角色的头顶上方显示修改后的名称。
三维虚拟校园设计多人在线时,在线用户还可以进行聊天。
(1)文本聊天的设计和制作。通过前面的制作已经在场景里添加了角色。在制作文本聊天时有两种方法,一种是设置GUI控件文本聊天函数,另一种是设置角色文本聊天函数。
创建GUI控件,在【高级界面】中的【控件】面板里创建输入框和信息显示框两种控件,在初始化函数中设置一个变量,在自定义函数中创建脚本函数,创建MMO系统函数,新建MMO时间映射函数,用MMO文本信息接收文字,添加相应脚本在MMO文本信息函数里。经过上面的制作,进行运行效果测试。
设置角色文本聊天函数,我们在虚拟校园角色聊天中还可以设置文本聊天的内容在角色头顶显示的效果。在上面制作的基础上,我们在函数中创建相应的脚本就可以。
【user_say】函数和【model_name】函数都是系统函数,要想实现不同客户端说的话都显示在正确角色的头顶,脚本里必须要调用,而且脚本不能随意更改,否则不能实现。脚本设置好后,测试场景。
(2)语音聊天的设计和制作。在虚拟校园MMO多人在线场景里,也可以设计语音聊天。通过设置【创建键盘映射函数】K按下的函数来打开控制语音聊天。同样的方法,设置K弹起的的函数来控制语音聊天的关闭。设置GUI控制脚本,在自定义函数中创建函数脚本。
设置好虚拟校园语音聊天后,用户在MMO虚拟校园场景中通过按键盘上的【K】键就可以控制语音聊天的开启和关闭。
在设计虚拟校园时,有必要制作导航图以增加用户浏览校园时的便捷性。虚拟校园导航图的设计和制作如下:
(1)创建导航对象。在虚拟校园场景中点击创建导航图工具,在场景中想要创建导航图的位置按住鼠标左键拖拽绘制虚拟校园导航图。
(2)创建并添加导航图图片。在Photoshop中对截取的导航图进行编辑操作,包括裁切、去除背景、设不透明度为70%等,将编辑好的图片保存为PNG格式。在VRP中为导航图选择在Photoshop中处理好的学院整体轮廓图。
(3)设置导航图透明。选择【编辑界面】下的【主页面】,点击【透明】选项,在下拉列表中选择【使用贴图alpha】。导航图显示为镂空与透明了。
(4)回到3ds Max场景中,通过拾取场景坐标,找到世界坐标的值,表明当前相机的位置。单击【箭头】按钮,在弹出的对话框中找到在Photoshop中处理好的手指型导航箭头图片。手指箭头图片准确的出现在导航图里。
添加太阳光晕和雾效,使得虚拟校园场景更加自然逼真。
(1)太阳光晕的设计和制作。在VRP编辑器中单击【太阳光晕】按钮,在【样式列表里】双击需要使用的太阳光晕样式缩略图即可添加太阳光晕效果。可以通过调整太阳照射的角度、方位,使得太阳光晕效果与虚拟校园场景的投影吻合。
(2)雾效的设计和制作。单击VRP编辑器中的【雾效】按钮,勾选【开启】设置雾效的颜色,通过调整【开始距离】与【结束距离】调整雾效的景深效果。
在VRP中使用复合脚本添加背景音乐。
在VRP编辑器中创建一个【系统函数】,在函数中创建【#初始化】事件。单击【插入语句】,选择【播放音乐】,添加选好的背景音乐。
声道-1=无
重复次数(0=无线)0。
目前各高校正在使用的三维虚拟校园,但功能还比较简单,本文在研究这些已有成果的基础上,通过理实结合的方法,利用3ds Max三维建模软件和VRP软件,研究和制作了三维虚拟校园,尤其是重点研究虚拟校园交互式漫游,多人在线功能、碰撞检测技术等在虚拟校园系统中的应用。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!