软件工程中虚拟现实的启示应用和挑战

软件工程中虚拟现实的启示应用和挑战

过去几年的发展中,尽管软件工程开发领域的心理学、社会学等方面,软件编程环境的进展是巨大的。但对程序员的问题始终未曾解决,在代码导航过程中,开发者常常会出现迷失方向的问题。这些问题的存在也导致编程等一些重要的软件工程活动进展被制约。如在进行代码审查过程中,开发者多是对问题进行汇总上报,而不是对存在的问题及缺陷进行修复。对开发者体验的问题中深入考察的是认知问题,其中涉及到的重要一个方面就是海马旁回中的记忆系统。这个系统可以对空间认知的能力进行报留。而当导航的结果受到扰乱时,开发者对相关开发代码的轨迹也会遗失。软件工程师的主要工作就是利用键盘和鼠标源进行互动,且都是在2d平面显示器上开展软件浏览工作。这种互动的格式,并没有对人类自然的动作和洞察力充分利用。而虚拟现实技术则对这些启示充分利用,使得新的创意成为软件工程领域新的可能,从而有效提升生产率,对学习曲线进行降低,并使得用户的满意度增加。

1虚拟现实技术的特征分析

虚拟现实是对人在自然环境下的各种行为进行模拟,属于一种高级的人机交互技术,它以模仿的方式为人类创造出一个与现实相似的虚拟空间。这个虚拟空间对实体对象的变化进行实时反映,并体现了与环境的相互作用,创造出了一个三位图像世界。利用虚拟现实技术,可以让参与者在感知行为上拥有逼真体验,使得参与者直接参与到感知虚拟环境变化,让参与者获得置身于现实世界一样的感知体验,产生交互性、沉浸感以及构想性,这也是虚拟现实技术最为突出的特征。

1.1沉浸感

沉浸感可以对虚拟现实构造的世界环境360度进行观察,一般性的计算机图形提供的是二维图形或是三维图形,或是观察的路径是预先设置好的,参与者需要依据局部图形的相互组合感知到想象世界。而这个想象空间给参与者带来的体验感受就是片面的、有差异性的,也是不完整的。而虚拟现实技术提供的虚拟世界是完整统一的,当参与者带上显示器后,就可以进入到虚拟的世界中。在这个世界,参与者可以抬头看天空,低头看草地,对周围的整体环境进行观察,参与者可以用最直接最舒服的方式进行人机交互,利用虚拟现实所独有的沉浸感获得更好的体验感。

1.2交互性

参与者利用输入设备,如可穿戴设备、力触觉等设备利用虚拟现实技术与虚拟现实环境进行互动。设备对参与者所做的身体动作及姿势进行自动识别,并通过与参与者进行全感官信息交互,如动作姿势、触觉、声音等,实现在虚拟现实环境下指令输入的有效性。利用人类在自然活动中所掌握的技能,对虚拟技术所创造的环境进行相应的考察和操作。如参与者在虚拟技术构造的环境中可以看到柜子,就可以用手打开虚拟环境中的柜门。当握住扶手的时候,会感应到真实触感。

1.3构想性

也就是想象性,指的是虚拟现实环境会使得参与者沉浸在这种环境中,并在这个过程中获得新知识,从而对自身的感性及理性认识进行进一步提升,对概念进行相应深化,也会在体验的过程中萌发新意,使得人们的创造性思维得到进一步激发。在传统工程设计工作中,用户具有双重需要,也就是既对过去有需求,也对当前设计有需要,设计成品更多的是设计师的想象。而利用虚拟现实技术,用户可以轻松对未来技术或产品进行预览,从而更能感知当前设计工作的不足,进而进一步完善工程设计工作。

2虚拟现实的启示

随着虚拟现实技术中应用的开发工具的普及,虚拟现实软件因其具有很强的应用价值也愈加活跃。如计算机游戏,尤其是近年来在社会上受到普遍欢迎的实时三维游戏也被纳入虚拟现实系统中。虚拟现实技术相关项目与普通的信息系统和应用软件存在较大不同,它应用到多领域多专业的协作。一般软件系统在开发时会将主要精力集中于数据存储与处理,如果是信息系统的开发,其核心是对关系数据库的有效设计。因此,虚拟现实技术的应用也体现了我国信息技术的不断发展,而虚拟现实技术在很多方面都提供启示,主要集中在空间认知、操控及运动、反馈中。首先,空间认知。人的空间记忆主要是依靠位置细胞以及专门的神经元素进行支撑,通过对物理空间以及环境中其他线索进行导航。头盔式显示器允许参与者移动身体或是肢体变动来对视野进行更新,这个过程中位置细胞开火。另外,显示器还对每一只眼睛进行轻度渲染,且渲染程度不一,它可以使得人的眼睛更加容易去对显示器显示的形象纵深进行感知,这些显示器都可以创造一种存在感,或者说是让参与者体验一种它在那里的感知。在以后的技术中,期待参与者的空间记忆可以相较于平面来说更多地在虚拟现实中参与,尤其是在对可视化3D进行观察的时候。虚拟现实可以对物理导航提供的启示直接模拟,这主要是得益于在大脑皮层表面存在的位置细胞可以被观察到,在虚拟环境中导航且随后再次回忆穿过大路的路径,在同一个序列中像人一样操作。其次,操控及运动。这是由物理对象操控过程产生的启示,可以对参与者的感知知觉及记忆力进行改善。如翻动一本书所得到的启示,在面对电脑显示器对相同文本进行阅读时,会导致参与者理解能力及相关回忆的增加。另外,对参与者无意浏览且重新进行定位的资料相关能力也有所提高,如步行运动,在一个物理空间中进行这样的运动会产生相应的因果认知联系,其他启示也可以用运动进行辅助,如可以利用空间中出现的自行移动对参与者的感知深度进行加强。最后,反馈。当评估系统出现困难时,这时就出现了相应的估值。虚拟现实技术可以让软件工程师停留在一个环境中,这个环境对程序员行动以及看见行动所产生结果之间的时延进行剔除,试图对这一结果进行剔除。这种快速反馈已经在二维显示中有过试验,但虚拟现实技术将这一体验加强,并将其扩展至三维空间中。

3虚拟现实技术的应用

现场代码以及编码的审查工作建立了虚拟现实的原型。他们对使用虚拟现实技术启示的好处具体现实,在其他的软件工程活动中也得到扩展。一是现场编码。它是一种专门为虚拟现实技术建立的现场编码环境,它可以允许用户利用函数库建立起一个3D场景。并且,它提供了用户简单的文本编辑器,在提供的另一个虚拟现实环境中,在眼前漂浮。当用户输入编码到编辑器中去,环绕在身边的世界会出现更新,显示代码标注的场景。它也能使得用户通过每一帧执行的函数对场景进行模拟,用户可以在这一代码中对场景的状态进行操控,便于在场景中使得参与者的行为动作更多。这种模拟是利用另一种方式达成的,可以使得用户真实地感知到场景,而不是通过屏幕捕捉的场景。为了使得键盘的互动更好,允许在虚拟眼镜中使用网络相机及系统反映的对象,将现实部分标注。首先,反馈。在所写的代码及虚拟技术带来的效果中,虚拟现实技术提供了一个非常紧密的反馈通道,使得各种解决方案以及算法、计算试验可以在其中快速进行,这也是一种在学习上运用的很有前景的工具,因为用户可以对其中存在的编程错误进行明确,并且不需要中间步骤就可以对其进行更改。而这个编译步骤有的人认为是阻碍,当代码描述的是虚拟现实场景时,这些好处都将一一得到体现。二是手势操控代码。它也为用户提供了输入法及快捷方式,当写代码时快速对代码中数字进行编辑,键盘中的快捷方式允许代码数字快速编辑,集成了跳跃运动控制,可以为用户提供相应的能力,通过上下手部动作进行数字的操控,使得用户可以持续用手更正动作。二是代码审核。它展现的是代码片段类似于代码气泡的相关方法,且堆积在地板上,对片段的群体进行显示,这些堆积可以将其扩展为更细节的环形,并对其进行可视化处理。首先,空间推理。审查者最开始是在屏幕中间对激活片段进行观察,而其他类似的片段都会在地板上分布,审查者这时利用空间辨识,通过堆积多远以及堆积的尺寸对堆积物的相关特性进行判断,审查者可以对堆积物的标签进行扫描,以及对每一处堆积产生的片段数量进行扫描,并快速对堆积是否是相关的进行快速辨别。其次,手势交互。审查者可以利用抓取动作进行堆积包的选择,之后可以把手向上拉,将堆积变化为环形片段,从而开展更详细检查。检查者可以读取环形片段,且水平转动指尖转动环形,读取更多类型的其他片段。审查者也可以将头尾部环形片段提取并将其放置屏幕中央,使其可以成为激活的片段。若审查看到之前方式,动手就可以完成。

4关于虚拟现实的讨论

4.1模拟

虚拟现实技术为软件工程师提供了一个新的思路,可以创造出各种可能的系统,这些系统的应用可以提升效率,并完成其余不可能的体验。现有的应用,如NASA使用的利用虚拟现实技术控制的机械臂,带来的是效率的显著提升。而教育类的体验项目可以让学生用一种方式对我们所处的太阳系进行体验,这种体验感会让学生感知到自己就像是在太阳旁边。而未来与此相关的研究,需要在如何创造虚拟现实系统、如何创造更多工具上下功夫。

4.2远程协作

分布在全球各地的程序员,可以在虚拟现实技术应用的现场变成空间中加入对方,从而解决相关问题。这样的方式使得他们可以提供额外思考角度,更快寻找到解决问题的方法。而另一组程序员可以在虚拟现实程序审查环境中加入到对方环境中,可以看到每个人在系统中展示的自己那部分,对堆积信息所做的注释上进行相应的思考。

4.3开放性问题

体验者带上虚拟现实技术装备后,就意味着与物理现实世界所存在的其余部分隔离,也将包括隔离协作者。这时体验者的同伴缺乏有效提问的机会,且在现实社会中的有效交流被抑制了。另外,穿戴上应用虚拟现实技术的耳机后,上面安装了固定的网络摄像头,它支持体验者与现实世界保持一定量的互动,但体验者的视野却受到很大限制。对虚拟现实技术的投入程度以及对现实扩展使用的装置,它的最终目标都是帮助用户在实体环境中,通过信息覆盖量的增加对相关任务进行完成。与此同时,虚拟现实技术更为注重对物理现实世界的完全覆盖。这时就需要考虑输入形式问题,游戏机的控制器对导航及其他优先动作支持都可以迫使其良好运作,但在键盘的文本输入上不能进行比较。但是这个设备要求用户在物理现实及虚拟世界中展开交互,手势识别利用物理现实世界来对相应的交互作用进行取消,但是会导致出现身体劳损情况。声音识别可以对这种劳损进行减少,但在互相分享工作中可能会导致出现一些尴尬。

4.4挑战

首先,从物理现实中脱离的问题。带上穿戴式设备后参与者实际上与现实世界的其余部分隔离,这时其他人可能缺少提问的机会,导致现实交流被压缩了。另外,耳机佩戴后可能导致参与者时刻处于虚拟环境中,与现实环境的交流也出现障碍,这是由于视野上出现限制。其次,3D映射。一些问题缺乏相应的表述,使得虚拟现实现实存在挑战,如同2D代码可以在虚拟现实中显示,但代码本身没有第三个维度,导致其表达性丢失。最后,技术限制。一般来说,设备的分辨率都为1080p,使得文本阅读不受限制,但是需要进行多时段会议时,每个用户的配置也不相同,这些配置可以适度要求增加时间。

5结语

就目前存在的二维开发环境来说,对这些启示仍旧不能很好利用,如空间识别、操纵反馈等。但在本文中描述的是软件工程师如何更好地利用虚拟现实技术而产生新的工具,利用这些工具可以更好地实现虚拟现实技术带来的启示。

参考文献

[1]李琴.虚拟现实技术在软件工程相关课程的应用研究[J].数字通信世界,2019,(4):201,212.DOI:10.3969/J.ISSN.1672-7274.2019.04.161.

[2]赵亮.虚拟现实软件工程分析[J].读写算(教育教学研究),2014,(17):400-400.

[3]陈上钻.基于JavaFX的数控车削虚拟仿真考评系统设计与开发[D].浙江:浙江大学,2018.

作者:王志岗 单位:宁夏工商职业技术学院