开发日志:《怪谈》开发记录(02)

作者:芒苔
2019-12-12
13 5 6

11月

半期考试杀我,眨眼功夫过去了半个月,期间还帮了一个中国美术学院的小姐姐做毕设花了不少时间(她的那个游戏还蛮有创意的)

山景-父亲的坟

参考图

我心目中的样子大概是这样的:荒野,高高的杂草,依稀的树木,浓雾,远山,坟头,大概插着几个香

游戏里的效果

自我感觉挺满意的,算是游戏里第一个场景吧,之后肯定还得改,目前烧的香、纸钱、以及粒子特效都还没做…

研究了下 Unity HDRP 的一些后处理,同时补了些摄影知识,感觉应该能做出非常好看的效果

西西的衣服制作

花了一个晚上的时间,贴图什么的计划以后再加,先把模型解决了,对于我这种初学者来说,效果已经很满意了

大概查了一下资料,长裙也比较符合那个时代背景,也还算不丑(这种裙子被称为 Peasant skirt,译为农妇裙,或宽摆裙)

重点:衣服的布料模拟动画

我相信这里绝对是大多数做此类游戏都会遇到的坑

 

对于角色的衣服动画大概分了三种

第一种,直接给人物穿衣服然后做蒙皮绑定,之后加上骨骼动画:

这种是最最普遍的办法,也是各类游戏用得最多最多的(图上的拉伸是因为裙子中间那部分的细节不够,以及蒙皮不够均衡,导致失真拉伸)

但是遇到裙子这类衣服时就会变成弟弟,你看,这特么还是裙子吗?变成喇叭裤了都

 

当然,这里可以拓扑一下,然后再重新绘制一下蒙皮权重,会看起来自然一些,但是依然会感觉特别劣质


第二种,加上人物动画,在动画物理引擎里烘焙后,然后导入游戏里:

特点是仿真程度 MAX,效果最好,但是体积会比较大,通常做 CG 时用

此类动画一般是导出的 abc 格式(alembic),Unity 官方的 ADAM 项目,有非常逼真的布料模拟和人物动画,实际上就是用的 alembic 动画

alembic 动画在 UE 里支持挺好的,但是在 Unity(2019.2)里需要导入 package,并且有很多限制

上图的这个演示图是我将 almbic 通过序列转成 fbx 动画后导入 unity 的,效果还蛮棒的

但是容易在动画切换中出现“失真”感,比如说移动中突然停下来,这个时候衣服该这样动?理论上应该按照惯性继续往前一段距离,然后回摆,但是无论是动画切换或者过渡都无法实现这个效果,因为这类动画是之前就烘焙好了的,除非再单独烘焙个急停的动画,但是也不知道什么时候急停,所以不仅工作量巨大,而且效果不一定好,所以一般用在 CG 或者过场动画这种高度可控的场景


第三种,使用游戏物理引擎来动态实现布料模拟:

特点是方便,而且拥有比较真实的效果,虽然效果是肯定比不上第二种的,但是动态性极强,基本上任意动画都可以,任意状态的切换过渡,并且支持与环境结合,比如环境里面的风什么的,做出身临其境的感觉

大幅度动作过渡也比较自然(这里穿模是因为没有做腿部碰撞,因为我游戏里不会出现这种大幅度动作)

当然缺点也很明显,这个是需要使用 CPU 性能来进行计算的,并且也比较依赖游戏引擎

简单来说,游戏引擎中对布料的模拟,通常采用基于物理方法的质点-弹簧模型(Mass-Spring Model),大概就是用粒子来模拟一些物理效果,然后粒子绑定一定的蒙皮权重,做一个蒙皮动画的形式

(用之前那个做头发动态效果的绑骨骼来做也可以,不过只能做小短裙,对于这种长裙来说还是不适合(缺乏横向约束))

 

弄清和解决这些问题,翻遍了资料,大概用了一个周时间,我特么眼睛都要瞎了,差点放弃做长裙

踩了不少坑,布料碰撞模拟动画,衣服绑定到人物骨骼上,动画播放根结点不匹配,实时渲染动画穿模,混合形状动画的平滑过渡,人物动画与衣服动画匹配,动画间帧率不同的匹配,蒙皮权重不同裙子动画变形,一整套流程用了6个建模软件交替导入和操作,5 种文件格式的互相转换和加工,这可能就是大多数游戏不会给人物穿长裙的原因

在物理引擎的渲染上也试过了多种方案,比如用全物理带褶皱的裙子,全物理的圆环状的套子,带蒙皮动画加部分物理的裙子,最后还是第三种效果最好,就是上面演示图的样子(一共做了 6 个版本,总共修改过 70 多个模型,吐血),这里提示一点,为了性能的考虑,模型精度不要太高(上图裙子从 4000 多个点,通过几个版本改动,改到了 400 多个点,最后用了大概 200 多个粒子)

配音与口型动画

感谢素一同学帮忙配音

这个东西看似非常复杂,实际上现有的解决方案有很多。我这里是用的动态语音识别,文字识别匹配的话,对中文不是很友好(很早前 github 有个中文拼音的词库,不过我用了下好像不行,就没有去深究了),当然,如果要更好的效果的话,还是动捕吧

十一月总结

上面那个“坟头吟诗”演示可以说是总结了这两个月的工作了,呼~原以为我是程序,结果还是把美术工作都做完了

看着游戏角色从建模,到走路,再到能说话,就像看着自己的孩子长大一样开心。这下总算是有了讲故事的基础了,后期的工作会相对比较枯燥,但是难度并不是那么大了,基本上坑已经解决一半了。不得不说,骨骼动画+衣服布料物理模拟+头部动画,单实现一个非常简单,3个加起来,难度高了许多倍。这几天肝得有点多了,下个月进度稍微放缓点吧。


这类游戏没有太多的资料和教程可以参考,如有不恰当的地方,还望大佬多指教

近期点赞的会员

 分享这篇文章

芒苔 

独立游戏爱好者,喜欢瞎想 

您可能还会对这些文章感兴趣

参与此文章的讨论

  1. 芒苔 2019-12-12

    话说Nova的编辑是不是少弄了个布料模拟动画的二级标题呀?另外引言是什么鬼?……题图还是选个好看点的吧,妹子头发都还没加呢(〒▽〒)

    • ∞™ ≠ 52Cº 2019-12-12

      @芒苔:主要在文章中没找到像上次那样好看的图片,就来了个看上去在开发样子的图片。现在换啦

    • 芒苔 2019-12-12

      @∞™ ≠ 52Cº:蟹蟹

  2. 方程 2019-12-12

    评论一个:这个“嘴角翘翘”不适合做默认表情,常年微笑的人脸太瘆人了……

    • 芒苔 2019-12-12

      @方程:的确,那个笑感觉有点僵硬,目前面部表情还没有细做,只是初步试一试效果

  3. 无有时代 2019-12-14

    好厉害啊!个个工作看起来都不容易啊!难道这就是传说中的大佬吗……

您需要登录或者注册后才能发表评论

登录/注册