基于增强现实技术的角色交互设计

2021-11-07 09:17薛莹莹
安阳师范学院学报 2021年5期
关键词:组件按钮建模

薛莹莹

(福州理工学院,福建 福州 350508)

0 引言

随着计算机科学技术的发展,AR技术的应用领域越发广阔,AR产品逐步进入受众视野,潜移默化之中影响或改变着受众的生活方式。从二维的平面视觉到三维的角色塑造,受众对产品信息的接收,不在停留在单一方向上的被动获取。与此同时,市场需求的多样化,也要求产品角色在信息传达方式上更加多元。而虚拟现实技术的革新,带来了虚实结合、实时交互的全新用户体验[1],让受众在虚拟化空间中与产品角色进行对话,实现虚拟世界与真实世界的无缝连接[2]。

增强现实是一种三维自然交互技术[3],角色虚拟交互是增强现实角色特有的信息传递方式。基于AR技术来实现虚拟角色交互设计的过程中,可通过中间扫描设备,高效、快捷地实现三维角色与现实生活场景的超现实展示,进而实现虚拟角色与受众之间的“零距离”互动。在这一人机交互过程中,一方面,虚拟角色犹如潜在的推销员,直接或间接对受众传递着产品的商业信息,极大地提升了信息传递的有效性、准确性。另一方面,虚拟角色与受众如此自然、亲近的交互方式,也为AR技术与行业合作提供了更加多元的角色经济发展空间。

1 基于增强现实技术的三维虚拟角色交互实现

增强现实技术是以计算机技术为基础,将虚拟信息自然地融合到真实世界中的技术[4]。Unity3D作为目前实用性较强的虚拟开发工具,具有动画系统设定、图形图像处理、碰撞与触发、粒子系统调用、光照烘焙等功能。该工具的最大优点在于内置配备多种标准应用资源,允许玩家轻松实时创建互动内容[5]。在设计实现的过程中可直接投入设计使用,结合Vuforia开发平台及三维软件创建与实现,大大提升设计者的工作效率。

1.1 基于3DsMax三维虚拟角色建模

角色建模是三维虚拟动画设计的基础[6]。3DsMax角色建模功能强大、可扩展性好[7],可结合角色后期动作对模型进行优化处理,实现角色模型设计与应用性能的提升。基于3DsMax的软件建模方式与设计制作特点,可将三维虚拟角色建模分为以下几点:

1.1.1 前期设定

前期设定的主要任务是整合资料与确定角色定位。包括根据项目,基于目标受众需求与喜好,提炼设计元素,确定风格与色调。结合Photoshop软件对角色形象进行提炼与概括,根据角色结构特点,绘制出正、侧、背角色三视图,为角色建模提供空间构成依据。

1.1.2 模型创建

模型创建的主要任务是实现交互中的三维虚拟角色的模型设定,是核心环节,涵盖以下几个创建内容:

1)用Zbrush及3DsMax软件进行角色建模。结合角色三视图,通过3DsMax中几何体建模、参数设置、修改器的使用,创建角色轮廓。结合Zbrush软件笔刷进行推动和堆叠动作,进一步刻画角色细节部分,并在3DsMax中进行面数的优化及调整。

2)模型中的骨骼绑定。在创建骨骼时,确定人物模型的运动关节,根据模型每个部位构造特征,进行骨骼的创建。修改骨骼参数、调整骨骼大小以适配角色模型,并在修改器中设置蒙皮参数,结合封套设置,对各个点的分配权重进行重置,并测试权重分配准确度。

3)UV展开与贴图。根据角色造型特点,设置UVV展开修改器参数,在边层级中调整与合理化设置切割线位置,以便完整平铺多个部分。结合松弛参数、将贴图高效匹配到原网格形状上。随后,将展开的UV模板导入到Photoshop软件中,绘制对应位置的贴图内容。通过贴图、材质设置,在烘焙技术的应用下完成部分局部对象设计[8],以此实现角色设定预期效果。

1.2 AR识别卡的设置与制作

AR识别卡需要结合视觉和图像识别的内容进行设置,并上传到ARPet数据库中,实现后续的信息匹配,主要包括以下两部分:

1.2.1 识别卡的设置与设计

利用Photoshop、Illustrator绘图软件进行AR识别卡的样式设定,在识别卡设计中基于整体风格绘制二维角色交互识别卡形象。在设计匹配角色交互识别卡时,需结合识别点的提取元素特点,有效绘制识别转折点,并对识别卡进行灰度处理,提取黑白图像的尖锐处进行测试。

1.2.2 Vuforia配置

在制作AR识别卡时,需要将AR识别卡样式上传到官方网站生成AR识别卡数据库,获取项目License Key,使用摄像头扫描角色卡片生成虚拟角色。需要提前把角色卡片里面的信息进行上传,制作Target Manager。通过扫描并匹配角色数据信息,实现真实场景与虚拟角色的叠加展现。

1.3 虚拟角色交互设计

通过Unity3D技术结合Vuforia配置实现在移动设备(Android)上的交互应用,完成受众在任意真实环境中的虚拟角色互动过程。主要涉及以下几点:

1.3.1 动画编辑制作

通过Unity3D中的Timeline组件对不同角色以及与角色绑定在同一环境下的旋转按钮进入动画编辑制作。结合动画运动规律及角色特点,通过关键帧的设置方法对动画关键位置进行设定,在设置关键动画时需注意动作的快慢在设置点上的准确表达,让动画节奏有缓有急。并设置动作的预备、极限、缓存动画,调整中间动画。

1.3.2 目标的跟踪和失去优化

为避免因帧数跟踪目标丢失导致重播动画效果。通过封装ImageTargetMonitor组件进行目标状态的监听并留下OnTracked()和OnLost()两个抽象函数提供给子类进行实现。在Update()函数中不断监听目标的状态并与上一次状态进行比较,如果上一次状态为失去,而这一次状态为跟踪,则表示跟踪已经成功,并对其执行响应的OnTracked()函数。当上一次状态为跟踪,而这一次状态为失去,则就标记一个lostTime(失去的时间)但不会立刻执行OnLost()函数,而会等待一段时间,在这段时间内检测跟踪目标是否失去状态以及当时间是否超过定义的失去时间阈值,如果都满足则会执行OnLost()函数。以此来实现AR应用所有角色进入时都有进入动画、音乐和粒子效果播放等行为。而如果没有状态监听组件,则无法得知何时进行动画、音乐和粒子效果播放等行为。ImageTargetMonitor组件通过了OnTracked()抽象方法,子类重写OnTracked()的方法控制进入动画播放的时机。如图1所示。

图1 子类继承ImageTargetMonitor类

1.3.3 旋转箭头的设置

在按钮设定过程中,结合3D呈现形式,并结合角色进行绑定。旋转箭头会跟随角色一同出现,并配有进场动画。为实现上述功能,制作了一个Arrow组件,通过在Arrow组件中重写OnValidate()方法,如图2所示。使在开发过程中可以实时看到旋转箭头绑定上材质和预览发光颜色的功能。Arrow组件是一对旋转按钮其中包括向左旋转按钮和向右旋转按钮,而具体功能的实现是封装在ArrowButton组件中,而Arrow组件只是对外的一个接口。左右旋转按钮各对应一个ArrowButton组件。

图2 Arrow类中的OnValidate方法

1.3.4 角色特效转换

在点击角色时,会出现相应的特效表现,角色的动作状态也随之更改。通过CharacterTransform组件进行状态的切换,CharacterTransform组件同样继承了TouchListener组件对点击进行监听。而点击角色会在正常状态和特效状态之间进行切换,并将角色原本的Shader、Mesh进行替换。特效状态使用动画蒙皮网格的顶点作为发射点,它使用特殊的Shader将顶点位置转换为与GPU友好的数据,从而避免花费额外的内存和CPU时间来处理它们,如图3所示。

图3 CharacterTransform类中OnEnter方法

1.3.5 小游戏的设定

在角色出现状态下,设计了猜杯子的小游戏环节。编写CupGame组件实现游戏的具体逻辑。通过CupGame中的GamePlay()方法进行游戏的播放。在游戏播放时会出现三个杯子,杯子会罩住当前角色,会通过变化位置来迷惑用户进行选择。当用户点击某个杯子后,调用CupGame中的GameResult()方法进行游戏的答案提交。如图4所示。

图4 CupGame类中GameResult方法

1.3.6 系统设置按钮制作

设置3个系统控制按钮,分别为闪光灯的开与关、控制应用是否静音、控制角色视角切换。3个按钮都只有生效和失效两种状态,并抽象出1个设置按钮的组件、实现状态的UI形态控制,留下OnActive()和OnInactive()的抽象方法供子类复写,控制3个按钮的生效与失效的状态,避免重复编写代码。

2 实例测试分析

通过对以上表述中基于增强现实技术的三维虚拟角色交互设计进行实例测试,以此来检验角色交互设计中的合理性与有效性。

2.1 虚拟建模与识别卡测试

图5 角色模型示意图

角色的合理化设定,直接影响着受众的视觉体验与整体感受,基于受众的需求分析,角色设定时根据典型代表性形象,选择:男、女、老、少、胖五种角色形象进行建模,如图5所示。

在与受众进行互动的过程中,VR识别卡的设计具有美观性与视觉统一性特点,如图6所示。

图6 5个角色模型的识别卡图片

2.2 虚拟角色交互测试

该交互测试在使用Android系统的手机上进行,硬件、软件配置环境如表1所示。

表1 客户端环境配置表

选择Android 5.0系统手机进行交互测试,界面加载正常,如图7所示。

图7 交互测试界面

在互动小游戏界面的设计中,游戏设置具有直观性与易操作的特点,如图8所示。

图8 小游戏效果展示

对5个角色调出使用时的性能全部进行了测验,包括软件载入、识别灵敏性、系统流畅性的测试,如表2所示。

表2 交互性能测试结论

以上测试结果可以得出,5个角色的载入响应时间均不超过6秒,可以快速进入角色场景;扫描识别卡时可以正确迅速显示相应角色信息;使用系统时系统流畅。交互性能达到了较好的指标,符合性能要求。

3 结语

三维虚拟角色设计是链接商品信息与受众的有效手段,虚拟交互也为人机交互方式带来全新感知体验。三维虚拟角色设计的合理性关系到信息传达的有效性与准确性,基于Unity3D平台与Vuforia设计开发的三维虚拟角色交互系统,包容性大,在增加趣味性、交互性的同时还可降低开发成本,可为相关行业的虚拟角色塑造提供有效参考。

猜你喜欢
组件按钮建模
无人机智能巡检在光伏电站组件诊断中的应用
物理建模在教与学实践中的应用
Kistler全新的Kitimer2.0系统组件:使安全气囊和安全带测试更加可靠和高效
在经历中发现在探究中建模
创建Vue组件npm包实战分析
舰载雷达TR组件冲击计算方法分析
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
求距求值方程建模
死循环
内心不能碰的按钮