APP下载

游戏引擎中三维人物设计研究

2020-12-29路宜松

科学与信息化 2020年35期
关键词:状态机立方体引擎

路宜松

沈阳理工大学 辽宁 沈阳 110159

引言

(1)课题研究的背景和意义。近年来,游戏行业发展飞快,电脑游戏已经成为游戏产业发展的中坚力量,遗憾的是成功作品寥寥无几。随着计算机硬件的提升和游戏行业的发展,越来越多的玩家更着重与品质和游戏体验。结合当今游戏行业的发展情况,在这种情况下,3D游戏已经成为当前游戏发展的热点。并且Unity3D是一款跨平台性突出,兼容性强的游戏引擎,现如今已经成为许多游戏开发工程师首选的游戏引擎,并且本文的系统设计采用Unity3D游戏引擎,由于引擎提供了高质量的3D游戏的核心技术和高品质的画面,为开发游戏人员提供了充足的资源,方便开发者进行开发。本篇文章针对三维人物设计进行研究,详细阐述了其中运用到的关键技术,这对未来三维角色开发和设计有着十分重要的意义。

(2)主要内容。本文在已有理论知识的基础上,利用多种技术实现了三维人物的基础动画动作和人物移动,本文采用多轨混合、线性插值混合、贴图技术、有限状态机技术、碰撞检测技术、3D建模技术、状态机技术等核心技术[1]。

1 关键技术

1.1 三维渲染及贴图

游戏美术是在游戏开发和设计过程中不可缺少的部分。本次设计采用了3D建模技术和法线和纹理贴图技术,模型为Mixamo下载的人物模型,之后采用法线贴图和绑定骨骼等对人物模型进行上色和骨骼绑定,让模型可以更好地进行移动、攻击和防御,在场景方面采取天空盒技术渲染天空,这样可以使人物和场景更加生动。在环境总背景上,采用了天空盒技术,所谓的天空盒其实就是将一个立方体展开,然后在六个面上贴上相应的贴图,并在实际的渲染中,将这个立方体始终罩在摄像机的周围,让摄像机始终处于这个立方体的中心位置,然后根据视线与立方体的交点的坐标,来确定究竟要在哪一个面上进行纹理采样。具体的映射方法为:设视线与立方体的交点为(x,y,z),在x、y、z中取绝对值最大的那个分量,根据其符号来判定在立方体的六个面上进行采样。

法线贴图是一种实现三维模型细节的重要手段,它分解计算了由光照和阴影所产生的细节,这是一种二维效果,但不会改变模型原有的形状,它计算了模型轮廓中极大的额外细节开销,在当今处理能力有限的情况下,可以极大地减少运行消耗,且对视觉影像较少。高光贴图原理是在某种特定的角度下对光进行反射,反射方向取决于发现方向、摄像机方向、光源平均方向,这样可以使原有材质经过反射达到不一样的效果,可以呈现金属光泽或者磨砂材质等,用着两种贴图技术,可以使角色的外观到达比较好的视觉效果[2]。

1.2 移动技术

在移动方面,根据用户按键输入监听,完成角色水平竖直方向按当前世界坐标的单位向量进行移动,为了优化人物移动速率,对数值进行了平滑处理。但这样导致了向单位向量(1,1)移动的速度超出向(1,0)方向移动的速度,为了解决这个问题,我们对原先移动方面的输入进行处理,采用的是椭圆映射法如图1所示公式如下所示。实现此功能关键代码如下:

图1 椭圆映射法

实现此功能关键代码如下:

output.x = input.x * Mathf.Sqrt(1 - (input.y * input.y) / 2.0f);

output.y = input.y * Mathf.Sqrt(1 - (input.x * input.x) / 2.0f);

1.3 动画控制

在动画控制方面,采用了有限状态机技术,所谓有限状态机,就是人物任意时刻都处在有限状态机集合状态中的某一特定状态,当对其进行输入时,可以从当前状态经过一定时间转换为另一特定状态,或者经过一段时间退回到之前所处的状态,但是这些状态都为原来对状态机状态集合的某一状态。任何一个FSM都可以用状态转换图来描述,图中的节点表示FSM中的一个状态,有向加权边表示输入字符时状态的变化。下图为人物攻击动作的部分FSM状态机,如图2所示[3]。

图2 FSM状态机

2 结束语

随着计算机硬件的提升和游戏行业的发展,用户开始对电脑游戏画面产生了苛刻的要求,本文介绍了游戏引擎三维人物开发所使用的部分核心技术,并针对三维人物设计进行了研究,这对未来三维角色开发和设计有着十分重要的意义。

猜你喜欢

状态机立方体引擎
FPGA状态机综合可靠性探究 ①
新海珠,新引擎,新活力!
车坛往事4:引擎进化之屡次失败的蒸汽机车
基于有限状态机的交会对接飞行任务规划方法
基于Spring StateMachine的有限状态机应用研究
内克尔立方体里的瓢虫
蓝谷: “涉蓝”新引擎
图形前线
立方体星交会对接和空间飞行演示
折纸