APP下载

基于Unity3D 技术的塔防游戏虚拟人物动作控制方法

2022-07-29张华振

智能计算机与应用 2022年8期
关键词:吸引力骨骼动作

张华振

(大连东软信息学院,辽宁 大连 116023)

0 引言

中国游戏产业飞速发展,电脑游戏与手机游戏的种类越来越丰富。大量调查数据显示,大多数游戏玩家都是通过移动设备进入到游戏领域,对游戏虚拟人物动作控制的要求较高。在众多电子游戏中,塔防游戏作为其中较为经典的休闲游戏类别,深受广大游戏玩家的喜爱。塔防游戏通常由地图、炮台、敌人与游戏金币四个部分组成。其中,地图是塔防游戏中重要组成部分,通常情况下是敌人从出生点开始生成,根据游戏规定的路线,向终点不断前进,在中途布设多处转角,为游戏玩家提供建造炮台的地方,多方位延长塔防游戏敌人抵达终点的时间,为游戏玩家提供充足的思考时间。在塔防游戏的设计中,虚拟人物的动作控制方法至关重要,能够为玩家带来良好的游戏体验感。传统的虚拟人物动作控制方法较为单一,在操作方面具有较大的局限性,无法准确进行人物动作控制。

Unity3D 技术在可视化编辑与动态预览方面显现出一定优势,配备有种类丰富的综合型开发工具,在塔防游戏虚拟人物动作控制中具有专业性。

为了进一步提高人物动作控制的准确度,本文提出了基于Unity3D 技术的塔防游戏虚拟人物动作控制方法。根据游戏虚拟人物的行走节奏及对应帧数,设计虚拟人物行走速度;采用Kinect 体感摄像头,获取人物的运动信息,识别人体动作特征;基于Unity3D 技术提取人物运动数据,并进行背景分离;采用Dead Reckoning 算法计算虚拟人物骨骼运动轨迹,预测人物下一步做出的动作,并进行相应控制。

1 基于Unity3D 技术的塔防游戏虚拟人物动作控制方法设计

1.1 虚拟人物行走设计

虚拟人物的行走是指通过克服重力与摩擦力向前行进,在前进中首先要保证虚拟人物的身体平衡,避免人物出现绊倒的情况。设计虚拟人物行走之前,先要获取塔防游戏虚拟人物的角色个性。

本文将人物角色的个性进行了分类,主要分类4 类。第一类为人物手臂与相反的腿同时进行摆动,通过相反的摆动获取行走的平衡以及行走的推动力;第二类为人物行走时身体向下,手臂呈最大幅度进行摆动,以此加快行走速度;第三类为人物身体上抬,行走的速度减慢;第四类为人物跨步过程中,脚尖与地面的距离小于1.25 cm,行走速度受抬腿幅度的影响。根据塔防游戏人物角色行走的特点,判断人物行走的节奏,设置虚拟人物行走的步伐与步数。虚拟人物行走节奏对应的具体帧数,见表1。

表1 虚拟人物行走节奏与帧数Tab.1 Walking rhythm and frames of virtual characters

本文将塔防游戏虚拟人物的行走节奏设置为10 帧,行走速度约为2 步/s,处于较为轻快的行走状态,此行走节奏便于控制调节。

1.2 基于Unity3D 技术提取运动数据

采用Unity3D 技术提取人物角色的运动数据。提取塔防游戏虚拟人物运动数据主要包括4 个部分:识别人体的动作特征、对虚拟人物的人体部位进行多方位的分类、识别不同虚拟人物的关节以及控制人物骨骼关节点运动的平滑程度。本文主要从识别虚拟人物人体的动作特征方面进行数据提取,采用Kinect 体感摄像头,获取人物的运动信息与深度信息。由于虚拟人物人体的动作特征与用户的数据分割具有一定的关联性,本文从塔防游戏的深度图像着手,对信息进行背景分离,用于构建塔防游戏三维模型。

首先,规范化处理深度图像的混合权重,设置虚拟人物行走循环与奔跑循环的权重分别为100%与95%,当采用Unity3D 技术进行规格化权重计算时,行走占据50%权重,奔跑占据45%权重。

其次,定义short 类型存储塔防游戏深度图像,建立缓冲区,获取彩色图像帧,记录图像帧的读取速度,当读取速度过快时,开启图像数据流,请求数据并设置等待时间。深度图像中的其他数据采用Windows Kinect SDK 数据读取方式,更新调用数据节点,保证所有节点均有新数据到达。

最后,采用USB 接口与计算机之间建立连接,控制数据传输的速度。

1.3 计算人物骨骼运动轨迹

基于虚拟人物运动数据,采用Dead Reckoning算法计算人物动作时人体骨骼的运动轨迹。首先,设置虚拟人物周围物体的最大吸引力为,将周围物体作为影响虚拟人物动作控制的外力,结合Unity3D 技术构建塔防游戏虚拟人物动作控制数学模型。设定在时刻,虚拟人物运动范围内包括物体、、、、、,以上物体对虚拟人物角色的吸引力,即为虚拟人物动作控制在时刻时的影响力。

通过塔防游戏物体对虚拟人物的吸引力,结合人物运动的骨骼动作、行走节奏与帧数,计算人物骨骼运动轨迹。量化处理吸引力大小,控制吸引力方向与虚拟人物角色之间的夹角度数,保持在90°以内,此时,物体对人物动作控制的吸引力标记为A(,),获取塔防游戏虚拟人物运动的速度与加速度,可通过如下公式计算得出:

其中, A(,)是函数B(,)经过量化处理演变而来的,是角色对角色吸引力的聚集;表示物体距离对吸引力影响的参数;表示聚集吸引力参数;表示人物运动加速度路径参数;表示2 个物体之间的最优化路径距离。

当虚拟人物动作控制吸收力逐步量化后,对吸引力的值A(,)进行优化处理,获取塔防游戏虚拟人物运动骨骼预测公式见如下:

由于虚拟人物在每次动作捕捉过程中,做出的动作不一定都相同,在控制人物下一次动作类型时,依赖人物之前做出的动作进行预测,综合考虑人物周围物体对人物运动产生的吸引力影响,设塔防游戏虚拟人物做出的动作{(),∈}为随机过程,表示动作控制其中的一个状态过程,对于任意的≤≤≤t≤,任意的,,…,x,∈,则随机变量()在已知的变量(),,(t)=x的条件分布函数中与(t)=x有关联,与(),,(t)=x无关联。

采用三维结构光技术构建人物动作控制视角的三维形象,结合Unity3D 技术模拟立体视觉功能,在虚拟人物小范围运动内进行空间定位。添加动作控制脚本,输入与动作的对应关系及动作事件,创建成功后,在虚拟人物编辑器中编写空闲动作,设置动作片段与播放模式。设定虚拟人物肢体部位的Index对应值,根据控件传递的顺序,旋转虚拟人物肢体。分布函数满足等式验证塔防游戏虚拟人物下一步做出的动作,并进行相应的控制,全方位地提高了人物动作控制的精度。

2 实验分析

2.1 实验准备

对本文设计的基于Unity3D 技术的塔防游戏虚拟人物动作控制方法的应用效果做出客观分析。本次实验选用二维RGB 相机与能够实现视觉动作捕捉的三维深度相机,在分辨率等参数方面具有一定的区别。由于本次实验需要在3D 世界对塔防游戏虚拟人物进行动作控制,采用二维相机能够准确获取目标人物信息,为动作控制起到了一定的辅助作用。

实验选用Windows 7 和Windows 10 的集成系统,配置为Inteli3-1250 处理器、16 G 内存、32 位操作系统、NVIDIA GTX1050 16 G 显卡。采用微软公司的Kinect 设备,通过红外发射器,捕捉人物的动作与姿势变化,将接收到的信息构建到相机视野内的深度图中,进一步获取塔防游戏画面中人物的3D动作模型。

在研究中,首先将游戏中的人物与背景相分离,基于Unity3D 技术分析人物的运动趋势与各个身体部位的姿态变化,实现初步的动作捕捉;其次,设置Kinect 设备的运行范围与捕捉目标数量,保证设备能够在捕捉视角内获取到目标数量的动作姿态,调节目标人物身体关节点的数量;最后,将二维相机与三维深度相机的拍摄视角进行调整,保证2 个相机在捕捉人物动作变化中,水平视角能够达到75°,垂直视角能够达到60°。应用本文方法连续动作背景分离捕捉图例如图1 所示。证明本文方法能够有效将人物从游戏背景中分离出来,捕捉到人物每个关节点和动作姿态,用不同颜色的框线标注人物不同关节。

图1 人物连续动作捕捉图Fig.1 Continuous actions capture diagram of the figure

2.2 结果分析

假设本次实验从第帧开始记录,当虚拟人物进行动作捕捉时,获取人物初始骨骼节点位置信息,通过动作控制预测算法,控制虚拟人物下一步动作时骨骼节点的大致位置信息。控制虚拟人物骨骼节点重合时,丢失重合的骨骼节点,并继续运动。利用本文设计的塔防游戏虚拟人物动作控制方法,计算虚拟人物运动过程中,动作控制的误差见表2。

表2 塔防游戏虚拟人物动作控制结果Tab.2 Action control results of tower defense game virtual characters %

根据表2 可知,本文设计的基于Unity3D 技术的塔防游戏虚拟人物动作控制方法,均取得了98%以上的控制准确率,人物动作的误控率与漏控率较低,能够有效地弥补虚拟人物自身骨骼节点在运动过程中的遮掩,实时掌握虚拟人物的运动情况。

3 结束语

本文在设计塔防游戏虚拟人物动作控制方法时,结合了Unity3D 技术,有效地改善了传统动作控制方法的不足。针对虚拟人物动作的特点,设计了人物动作控制机理,全方位地提高了塔防游戏运行的流畅性,使游戏中的人物更加逼真,优化了游戏玩家的体验感,具有重要的应用价值。然而,本文在塔防游戏的脚本建立方面研究尚浅,未来的研究应当不断完善。

猜你喜欢

吸引力骨骼动作
下一个动作
吸引力1
吸引力2
跟踪导练(三)4
3D打印骨骼指日可待
非同一般的吃饭动作
骨骼是如何生长的
神奇的骨骼
什么是你的吸引力?