游戏开发论坛

 找回密码
 立即注册
搜索
查看: 13261|回复: 1

游戏和CG里的人物,都是怎么动起来的呢?

[复制链接]

8364

主题

8525

帖子

1万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
14833
发表于 2021-2-22 11:56:36 | 显示全部楼层 |阅读模式
先说一下,制作卡通水效果的文章,之后马上就更新。之前学校到期末了,比较忙,没时间写文章了。
大家好,许久不见,今天我来写一期科普文章,主要是为接下来的一篇关于动画的文章做铺垫。好,我们直接开始讲。

三维模型的原理

要理解三维动画的原理,就要先理解三维模型的原理。如下图,一个最简化的三维的立方体就是由八个顶点组成的。

02.JPG

而想要让这个模型发生一点形变,修改其中一个顶点的位置即可了。也就是说,构成三维模型的基本信息,就是点、线、面。

03.JPG

最基本的三维动画

在一个三维的空间里,一个物体所能做到的所有的动作,其实,无外乎也是三种:移动,旋转,缩放。如果我们不考虑改变颜色之类的情况,最基本的三维动画确实都是由前面提到的三者构成的。

04.JPG
建模软件C4D里的移动、缩放、和旋转的图标

这三者可以作用于物体本身,让整个物体移动、旋转、缩放。也可以作用于点、线、面中的任意一个或多个,使得物体产生形变。比如这样:

005.gif

这便是最基本的动画了,这种动画也可以称为顶点动画,也就是逐个顶点的进行修改的动画。单独修改边或者修改面的动画也被视为顶点动画,因为修改边和面,本质上就是在修改点。这里需要注意的是,一般对于顶点进行旋转和缩放是无意义的,因为顶点和顶点之间的连接一般不受顶点当前朝向角度的影响,而顶点本身是没有空间大小的,因此对于其的缩放也不会产生任何的变化。

三维人物动画的进阶

虽然依靠着对物体、点、线、面的移动、旋转、缩放,已经可以从理论上帮助我们实现任何现实的三维世界中可能或者不可能出现的动画了。但是,当我们开始制作人物动画的时候,就会很快的遇到麻烦。一个人体的模型,通常有数千个,数万个,甚至百万个顶点。
比如下图的这个怪物模型:

06.JPG

这个模型算是一个低模。搭配上精细的贴图,放在《DOTA》或者《LOL》等俯视角的端游,或是高画质的手游里是没有什么问题的了。

07.JPG

08.JPG

而他的顶点数有5851个,面数有6994个。如果我们想要手动调整这么多的顶点,已经是个噩梦了,更别说3A游戏或者是电影里的模型了。而且,没有坚硬外皮的生物,在运动的时候,表皮会经常出现各种各样的拉伸和形变,这也给为生物制作顶点动画带来了极大的阻碍。

于是,人们想出了一个妙招,人的皮肤和肌肉等这些顶点很多的柔软组织,实际上都是依附在骨骼上的,而骨骼本身是不会产生多大的形变的,所以我们参考现实中的这种现像,让这些具有柔软表面的生物的模型也依附在骨骼上,不就完成了吗?

因此,骨骼的概念应运而生,人们不需要去移动那么多的顶点,而是去移动和旋转这个虚拟的骨骼,就可以让模型进行合理的形变,使其看起来就像是在运动的一样。

09.JPG

10.JPG

不过,我们好像忽略重要的一步,我们有了模型有了骨骼,但是怎么告诉电脑,骨骼该如何去影响模型呢?这时候我们就有了一个叫做蒙皮(绑定,Rigging)的工作,也就是,我们先需要告诉电脑,每一个骨骼都会影响哪些顶点,以及多大程度的影响这些顶点。这一步,通常可以先交给电脑先进行粗略的自动蒙皮,然后再手动进行精细的调整。

11.JPG

上图就是,当我们完成了蒙皮这项工作之后,我们可以看到一个骨骼都影响了那些节点,以及其影响的程度。上图中我们选择了盆骨的骨骼,可以看到,颜色越接近亮红,则代表盆骨骨骼对其影响越强,越接近纯黑,则代表盆骨骨骼对其影响越弱。

Tips:盆骨骨骼一般是人形生物的根骨骼,所谓根骨骼,就是所有其他的骨骼都是在这个根骨骼的基础上长出来的。移动根骨骼,会带着所有其他骨骼一起动。

如果我们给不同骨骼的影响力用不同的颜色代表的话,那么我们就可以得到如下图所示的所有骨骼的影响力分布图:

12.JPG

然后,我们给骨架上个动画,效果就出来了。

13.gif

00.gif

这样我们就可以很轻松的完成动画了。而且,相比起记录诸多顶点的顶点动画,只记录骨骼的信息可以大副的减小动画文件的大小。
在实际的动画制作过程中,单纯调整这些骨骼依然不算是最快的方法,还有许多的方法来加速使用骨骼的过程,诸如控制器,约束等。不过这些都是后话了,就不在今天范畴里了。

接下来,很快会更新一期关于利用三维模型制作2D像素动画的文章,再之后就是之前的卡通水特效了,先给各位预览一下效果:

015.gif

单纯制作这段动画只用了不到20分钟的时间,效率还是非常高的。(这里说的是不包括建模,绑骨骼,和制作渲染器的过程,而只包括三维和二维动画的制作)

最后是带货时间,讲一下我做的对话台词编辑器上架Unity Asset Store了,这是让你通过可视化的方式,来编写多分支多选项的台词的工具。支持任何语言的本地化。并且不需要你编写一行代码就可以使用大量的对话特效。目前在商店获得五星好评。这里分享一下开发经过完整的使用教程。 各位大哥要是觉得好用别忘了在Asset Store上留下个好评啊。

点此跳转到Unity商店。

0016.gif

17.JPG

作者:深空爱吃肉包儿
来源:机核
地址:https://www.gcores.com/articles/133211

5

主题

266

帖子

809

积分

高级会员

Rank: 4

积分
809
发表于 2021-2-23 23:01:04 | 显示全部楼层
多年没上GameRes,没想到高质量这么多,终于也找到了自己该走的路,吸引更多同行,爱好者,贡献社区才是一个社区发展之正道啊(以前都是小编和记者多),恭喜恭喜
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-3-29 00:20

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表