我将与我的朋友们一起完成最后的一年项目。我们的游戏将是FPS,我必须为FPS视图和其他敌方角色绘制一些动画,这些动画可以很容易地编程以制作出出色的游戏。
我想知道如何制作可移动的游戏角色?这些字符使用哪种软件和引擎?
我将与我的朋友们一起完成最后的一年项目。我们的游戏将是FPS,我必须为FPS视图和其他敌方角色绘制一些动画,这些动画可以很容易地编程以制作出出色的游戏。
我想知道如何制作可移动的游戏角色?这些字符使用哪种软件和引擎?
Answers:
通常使用称为“ 骨骼动画”的技术对游戏角色进行动画处理:( 图片来源:Valve Software)
每个3d模型都有一个不可见的骨骼结构(上图中的红色和青绿色线条)。模型的每个多边形都连接到骨骼。定义运动序列时,将其定义为骨骼围绕其与其他骨骼的连接的旋转序列。当骨骼移动时,与其相连的多边形也随之移动。这样就可以定义运动序列,而不必更改每个多边形的位置。当多个角色共享相同的骨骼结构时,它们也可以共享相同的动画,因此您不必为每个角色重新创建每个动画(尽管您可能希望针对不同性别,性格类型和级别的角色制作一些不同的动画身体健康)。
大多数3d建模软件都支持骨骼动画,并具有导出格式,可被广泛使用的3d引擎读取。请不要在这里索取产品推荐,因为它们与主题无关。
但是,让艺术家从头开始制作动画并不一定总能获得最佳效果。很难从记忆中重建出人体语言的所有细微差别,因此结果通常看起来是机器人化的且不自然的。这就是为什么拥有相应资源的大型游戏工作室使用称为Motion Capturing的过程的原因。
雇用人类演员来制定游戏角色的动作。表演期间,演员们穿着特殊的西装,上面贴着明显的标记。在制定过程中通过摄像机记录它们时,这些标记的运动可以映射到角色3d模型的骨骼上。这样,演员的运动便可以应用于使用相同骨骼结构的任何3D模型。这种方法通常会导致看起来更自然的结果,并且当要创建大量动画时,它也可以节省大量时间。 (图片来源:Toptear Games)
但是,运动捕捉所需设备的成本可能会大大超出您的预算,因此您将不得不诉诸于在3d建模程序中手动定义骨骼动画。
实际上,菲利普(Philipp)的答案是相当不错的,但是却遗漏了一个重点。
一些游戏(Quake / Q2是最著名的示例)根本不使用任何骨骼动画-而是求助于顶点动画(即,对顶点在网格中的位置进行动画处理)。实际上,用代码支持起来要容易得多,尽管对于大型项目而言,通常不成立(但是,许多游戏都是通过这种方式制作的*。
有关详细信息,请参见例如
https://zh.wikipedia.org/wiki/MD2_(文件格式)
另外,这是在过去的Flash,3D Studio和3DSmax中定义动画的默认方式(尽管在为它们实现骨骼动画后不再那样)。我认为对于简单的游戏,基于帧的顶点插值仍然是最简单的入门方式(就代码和建模工作而言)。
Philipp的答案是正确的,但值得一提的是,有(相对)低成本的无标记运动捕捉解决方案,它们利用在家中常见的传感器,例如一系列网络摄像头,Microsoft Kinect传感器或Sony PS Eyes。他们通常不输出高质量的动画(在大多数情况下,您可以期望中等精度和抖动),但是您将拥有适当的时间,如果您愿意进行一些清理和微调,它将与手动设置骨架(或直接设置网格)相比,可以节省大量时间。
此外,还有Mixamo,该服务可出售常见骨骼网格物体的现成动画。如果我没记错的话,出于评估目的,他们免费提供了一些动画。