基于PEVR平台的虚拟场景设计与实现方法研究

2024-05-16 16:44刘贝琦
无线互联科技 2024年5期
关键词:关卡第三人称第一人称

刘贝琦

(湖北第二师范学院,湖北 武汉 430205)

0 引言

2023年9月,杭州亚运会开幕式向世界奉献了一场精彩绝伦的视觉盛宴。在虚拟现实技术的助力下,“数实融合”的点火仪式成为亚运会开幕式“经典时刻”。大屏幕上,数字火炬手从钱塘江踏浪而来,与真实的主火炬手一起,共同点燃了名为“潮涌”的主火炬塔。这一科技场景的呈现,成为“虚”与“实”科技融合在当前社会最为直观的诠释。随着虚拟现实技术的发展,其应用越来越广泛且被大众所熟知。在课堂教学中,各种类型的虚拟现实实验室,帮助师生完成了在真实环境中成本较大、难度较高的实验操作或者系统验证;在文博艺术领域,智慧博物馆、三维艺术虚拟展区的开发,让人们足不出户即可享受身临其境的观赏体验。虚拟场景的设计将发挥越来越重要的作用。

1 虚拟现实技术理论分析

1.1 虚拟现实技术的概念与特征

虚拟现实是利用计算机模拟产生一个三维空间的虚拟世界,提供使用者关于视觉、听觉、触觉等感官的模拟,能与之发生“交互”作用,给人一种“身临其境”的感觉[1]。与传统的计算机“人-机”界面相比,虚拟现实技术有4个突出特征。

(1)存在性:是指虚拟现实技术会根据人的心理特点和感官体验,通过计算机创造出逼真的环境,甚至无法辨认真实世界与虚拟世界的区别。

(2)交互性:是指人与机器之间的自然交互,用户可借助头盔等工具,根据自身需求、自然技能和感官,对虚拟环境中的事物进行操作。

(3)创造性:是指虚拟现实中的环境不是真实的,都是人为设计创造出来的,但同时,又是依据现实世界的物理运动定律而运动的。

(4)感知性:是指虚拟现实中具备了多感知性功能,使得使用者在虚拟环境中获得多种感知,仿佛身临其境一般。

1.2 虚拟现实技术的信息转换模式分析

虚拟现实场景本质上是一种基于计算机的表达。在这种表达中,空间数据表达的通真度是虚拟现实场景设计的关键因素。在空间数据的可视化应用领域,通真度指虚拟场景对真实场景进行表达的接近程度,相比于三维空间模型的几何节,产生真度感知最为重要的因素为具有真实感的纹理影像,而精细的阴影与表面细节也是其关键因素。在虚拟现实场景设计过程中,创作者首先要选择一个特定的现实世界场景作为设计原型;其次,在原型场景基础上,创造者融入其理念和创新思维,借助三维空间数字化手段,完成三维模型的构造;多套三维模型与组件的集成,即实现了三维虚拟场景的布置搭建;最后借助声、光、碰撞感知、交互等智能化控制,实现空间场景的交互体验,为人们构造一个崭新的虚拟空间。

1.3 PEVR虚拟现实平台技术优势分析

目前,虚拟现实开发工具市场份额最大的是Unity 3D,但是基于Unity 3D工具开发的应用需要大量代码编程。Play Maker虽然属于拖拽式虚拟现实应用编辑器,但是它本质上属于设计用插件,必须嵌入Unity 3D开发软件内才能使用。为此,为了更好地实现虚拟现实场景的可视化设计,具有较为完备功能的应用可视化三维编辑引擎(Power Engineering Virtual Reality,PEVR)应运而生,成为完成特定虚拟现实场景开发设计的重要工具[2]。PEVR引擎可以让开发者通过鼠标拖拽,即可方便地完成各种专业级虚拟现实应用场景的搭建,具有极强的技术优势。PEVR框架是基于有限状态机的思想进行设计开发的,一个有限状态机可以将行为组织成一些离散的状态,比如开启、关闭、行走、空闲、攻击、防御等。PEVR开发平台中,每一个状态由一个或者多个行为组成,通过事件驱动不同状态之间的转换,实现虚拟场景中各种组件的交互行为。

2 虚拟场景的空间与组件的建模设计

在Maya等软件制作的三维动画场景中,制作三维场景时通常是透过摄像机镜头看到的画面,只要有利于丰富摄像机画面的内容,都会被设计制作;而摄像机画面以外看不到的内容,则通常不会制作。因此,Maya、3DMax、Blender等三维软件制作的通常是镜头场景,即针对特定视角、特定范围的有限场景;而在引擎中设计制作的场景则呈现出显著区别。在引擎中设计制作场景通常是制作一个完整的空间,人们在这个空间内往往可以自由行走或与环境进行交互。即引擎场景是一个相对完整的空间,包括路径、空间及所有可以交互的环境物件或建筑道具等[3]。在引擎的虚拟现实场景设计中,通常要设计2部分内容:一是关卡内在核心功能的场景要素部分,通常称之为关卡核心功能设计部分,如关卡空间、关卡道路、关卡交互要素。二是外在视觉呈现部分,即将前面关卡功能模块设计的关卡空间、关卡道路、关卡交互要素等进行视觉化,让人们看到视觉丰富的虚拟现实场景,如台阶、地板、树木、岩石、建筑、道具等[4]。虚拟现实场景设计流程可分为前期基础设计、中期制作与细化、后期功能细化与优化3个主要环节。

(1)前期基础设计。前期基础设计主要完成虚拟现实场景设计,包括绘制关卡设计图、使用BSP搭建关卡、摆放基础地形、通过调整灯光营造基础场景的视觉效果等。而关卡设计图偏向于交互设计空间。

(2)中期制作与细化。中期制作与细化主要是将场景的空间、道路、建筑、道具及植被等场景主体元素制作呈现的过程,是引擎关卡制作的主体环节。在该环节中,主要把握如何对虚拟现实场景的路径与空间进行细化,如何设计与安排建筑与道具,如何细化植被及相关元素等。

(3)后期功能细化与优化。后期功能细化与优化主要是在制作的场景中进行具体的隐性或显性的制作细化,以满足关卡场景设计过程中应该具备的核心功能。在这一阶段,主要完成虚拟现实场景中的交互环境、交互道具、视觉特效等相关功能要素,对其进行细化和呈现。

此外,制作引擎场景最为重要的环节之一就是性能优化。这部分的工作主要围绕场景的功能、视觉效果及实际运行效率进行调整优化。在虚拟现实项目中,稳定的性能和舒适的呈现是第一要素[5]。设计者需要在确保项目基本稳定运行和舒适体验的基础上,呈现更优秀的视觉效果。

3 虚拟场景的开发与配置

3.1 资源列表配置

资源列表是虚拟场景设计的基础元件,按照类型可以划分为环境建筑、人物、动物、植物、交通工具、天空盒、灯具、动画、辅助设施、电力设施、特效以及基本形状等。每一种类型的资源又可以进一步细分为具体的模型。当单击人物类型图标时,则显示具体的多个人物角色三维模型。

3.2 对象列表配置

对象列表包含场景里面的各个物件,具体包括对象名称及对象ID;对象父子关系定义,如果要将一个物件作为另一个物件的子节点,只要在对象列表上面将该物件移动到相应的物件节点上面即可。对象列表配置为后续虚拟环境下交互行为设计提供支撑。

3.3 虚拟场景中的音效控制

PEVR平台的音效控制主要在PlayAudio类里实现配置,该类继承于Action类,其主要的功能是控制场景内粒子特效的播放状态。该脚本的功能由若干组件完成:Create Action是一个多态函数,在本类中其作用是填写音频控制信息,选择音频播放状态使用Dropdown组件实现,音量控制使用Slide组件完成,可以平滑地改变数值;Set Volume是设置音量的函数,绑定在Slide组件对应的U上,将信息传入PlayAudio和PlayAudiolnforma脚本。

3.4 虚拟场景中的视频控制

PEVR平台的视频控制主要在ShowVideo类里实现配置,该类继承于 Action类,其主要功能是将存储在数据存储类中的相关数据在执行动作时,将之记录并传递给播放视频的类。本脚本的部分功能由DoAction方法完成。

4 虚拟场景中对象组件交互行为设计与实现

PEVR平台的任务编辑面板主要用于确定每个状态之间的交互设计。PEVR平台的核心设计思路是通过有限个状态以及在这些状态之间的转移和动作等来表现一系列的逻辑行为,进而构筑一个交互任务,具体操作是通过有限状态机将对象的复杂行为特征归纳为有限个不同的“状态”,然后在每个状态中分别指定一系列“行为”,让处于该状态的对象来执行,同时设置一些“条件”,当这些条件被满足时,对象从当前状态变换为另一个状态,由此带来其所执行“行为”的变化。在交互实现过程中,需要对角色功能进行设置。角色设置功能包括设置第一人称行为、第三人称行为、跟随主角行为。

4.1 第一人称行为设置

第一人称角色功能设置体现在 SetFirstPerson类里,该类继承于Action类,其主要功能是可以将场景内某一物体设置成可自由操作的第一人称视角,操作类似于FPS游戏。包含如下属性。

public class SetFirstPerson :Action

{

public foat walkSpeed;//设置第一人称的行走速度

public foat runSpeed;//设置第一人称的跑动速度

public float jumpSpeed;//设置第一人称的跳跃速度

public string num;//设置第一人称操作是否可以进行

public string task;//设置第一人称的任务

public bool isNet;//设置第一人称操作是否联网

}

4.2 第三人称行为设置

第三人称角色功能设置体现在SetThirdPerson类里,该类继承于Action类,其主要功能是可以将场景内某一物体设置成可自由操作的第三人称视角,操作类似于GTA游戏。包含如下属性。

public class SetThirdPerson :Action

{

public string num;//设置第三人称的角色

public string task;//设置第三人称的任务

public bool isNet://设置第三人称操作是否联网

}

4.3 跟随主角行为的设置

与以上设置类似,跟随主角行为功能主要表现在FollowPlayer类里,FollowPlayer类继承于Action 类,主要功能是给目标对象添加FollowPlayerGameobiect脚本,设置跟随对象。给物体添加该Action类后,物体会随着第一人称的移动进行移动,始终跟随主角实现场景运动的控制。

5 结语

虚拟现实技术是一项融合计算机图形学、人机交互、传感、人工智能、计算机仿真、立体显示与高性能计算等技术,借助计算机生成逼真的三维虚拟场景,使人作为参与者通过适当的装置,自然地对虚拟世界进行体验和交互的一种技术手段。虚拟现实应用的设计开发通常要求开发人员具备熟练的编程能力,这限制了部分缺乏编程知识人员虚拟现实场景的开发能力。本文介绍了PEVR虚拟现实设计平台的技术优势,阐释了基于PEVR平台的虚拟场景设计与实现的关键技术,为人们开展虚拟现实场景的设计开发提供了便捷的方法路径。

猜你喜欢
关卡第三人称第一人称
海龟上岸
谈谈英语教学中 第三人称单数及其后面动词的用法
用第三人称和自己说话能减压
It’s Your Turn, Roger! (I)
汉代铜镜铭文中的第一人称
2015年高考江苏省物理卷一道题的3种解法
妙题巧解
第一人称小木屋
时空穿梭
“我”最初是古代兵器