mmd结合传统CG软件制作小记

1.写在前面

    这篇文章记录视频av13280379制作过程中,一些mmd结合传统cg软件制作中遇到的问题和解决方法的记录和思考。由于我自己也并非专业的角色特效师,对于布料解算了解只有一周,可能有错误,欢迎职业的cfx工作者提点建议。


2.使用软件的选择

2.1 本视频使用的软件:

    ●mikumikudance 9.26 &pmxEditor(软件,动作与模型编辑)

    maya 2015(cg软件,各个软件数据对接整合平台)

    mmd4maya(mmd模型动作导入maya用插件)

    redshift(maya插件,渲染器)

    Marvelous Designer(软件,布料解算,以下简称md

部分使用软件截图

这篇文章同样适用于适用c4d或者其他软件的朋友,因为布料解算的工作是在外置软件完成,与maya无关,做好的布料同样可以导入进c4d。


2.2 mmd导入插件mmdbridgemmd4maya的对比


两种导入插件的优劣对比

我以前是习惯用mmdbridge的,mmdbridge可以直接输出abc格式,并且附带脸部表情,对于渲染可以说是非常方便,如果动画在mmd里面本身已经非常完善了,可以直接导出abc格式文件到maya里面设置材质渲染。

但是abc格式文件的劣势也非常明显,文件体积过大

7G的动作文件

一个abc文件动辄数G,maya跑起来比较吃力,导入maya播放帧数可能只有1-2帧每秒。

并且abc文件在maya中是不能修改动作的,如果你希望修改动作只能返回mmd修改好重新导出,并且abc文件没有骨骼信息,很难再在原模型上再发挥(比如让手里拿着一把剑是做不到的)


而mmd4maya和mmdbridge不同,mmd4maya是先把mmd转换为FBX然后进行导入,简单地说,mmd4maya导入maya中是有骨骼信息的,而并非abc的模型序列

mmd4maya导入的骨骼

使用骨骼的动画播放起来非常流畅,我的电脑预览可以跑到36帧,比abc序列快30倍

但是mmd4maya会有些bug非常麻烦,经常会出现人物错位,动作鬼畜

人物错位bug,非常鬼畜

解决办法就是在maya或者后期剪辑中一帧帧修复,比较麻烦

除此之外mmd4maya现在没法导入表情,但是可以把表情做为blendshape导入,可以自己key表情,但还是很麻烦。这个问题暂时还没有发现解决办法。

总结:

●什么时候使用mmdbridge?

如果你想直接在cg软件渲染mmd中的动作而不做修改(修改动作/制作布料)

●什么时候使用mmd4maya?

如果你想在cg里制作更丰富的效果,比如重新设计动作,布料解算,毛发,粒子,动力学等等,推荐你使用mmd4maya,当然高灵活度也代表你要付出大把精力修bug

两个插件的教程:

mmdbridge av5503485   mmd4maya av6817760

2.3 maya的ncloth和Marvelous Designer对比


ncloth和md的优劣对比

ncloth是maya内置的布料系统,优势比较明显,可控性极高,除了布料效果外还可以做各种其他效果,比如金属变形,橡胶弹性,甚至流体和刚体模拟。他的约束形式也是多种多样,可控性很高。但是与之对应的参数非常繁杂,学习成本高。

我学习ncloth时候的笔记,密密麻麻的参数让人头晕

上面是我一周ncloth学习间的笔记,除了上图ncloth的参数,还有n动力学结算器的参数和约束器的参数,都非常复杂。

ncloth的结算也比较慢,尤其是面数高的时候,面对动辄2,3000帧的mmd动画,简直是噩梦,所以除非你的布料非常简单(像爱酱这样几乎都是紧身衣这样不需要布料的),不建议你在maya中解算布料。

md软件原本并非是主打布料解算的软件,而是一款服装设计软件,然而因为布料效果后,被阴差阳错用在各种cg以及电影制作中,他的特点是解算快,有大量预设,不用在参数上费太大的功夫

md中大量预设

总结:

●什么时候使用ncloth?

布料比较简单,或者有特殊需求的时候。或者解算比较短的时候(几百帧)

●什么时候使用md?

需要快速制作大量布料效果的时候

3.布料解算流程

    这部分只是流程介绍,并非详细教程,如果有兴趣学习请去搜索相关教程,阅读以下部分需要基础maya知识。

3.1布料解算原理

布料解算三要素

从图上来看看,布料解算一般需要三个要素

●布料 (解算主体,一般为衣服,有很多参数,例如抗拉伸,抗压缩,摩擦等等)

●碰撞体(与衣服产生碰撞,一般为地面和身体)

●约束(把布料固定在移动物体上,让其跟随运动,一般放在肩膀,领口)


3.2解算前准备

在解算前需要准备好布料(衣服)和碰撞体


布料解算对于布料的细分和布线要求是比较高的,更高的模型细分可以获得更多的细节

15*15细分的布料和50*50细分的布料差别明显


第一步-处理衣服的细分


上衣处理前与处理后

细分并不是越高越好,太高计算起来十分缓慢,而且衣服褶皱细节也并非越多越好,合适最好

另外建议直接去pmxeditor中单独把衣服导出来,而不是从mmdbridge或者mmd4maya导出的模型中提取,因为那样可能会有大量重面破面。

另外如果有的衣服是不完整的,你需要把衣服补充完整

衬衣修改前后

原来的衬衣只有一个朝前的面,但是如果在解列运动中一定会露出边缘,所以要自己建模把衣服补完(我偷懒没做袖子,结果后面有几个镜头穿帮了)

第二步-处理身体(碰撞体)

由于一些长袖子模型下面可能没有身体,所以不能拿来做碰撞体,所以需要把身体补全


完整的身体才能做碰撞

如果确实部分实在太多,建议直接去找原模型的素体,比如tda式的你可以去找basic TDA的模型,或者找泳装模型也可以,这种模型一般身体都是完整的,如果身体比例不同还得调整匹配原模型。

做好之后把人物保持Apose或者Tpose摆放,方便后面解算


第三步-导入md并解算

在maya中把身体和衣服分别导出:

身体导出你可以使用abc或者maya的点缓存,或者FBX,没有什么区别(md5不能导入abc,md6才可以)

衣服导出只能用obj格式,不同的衣服分件导出

md界面

md中的约束可以用 3d服装-固定针-选择点-将所有针固定在虚拟模特上

约束的一种

或者使用 裁缝-固定到虚拟模特上

另外一种约束

个人感觉第二种更好,第一种会让服装紧紧钉在身体上,而第二种只是吸附过去

衣服属性调节好,约束做好,最后调节解算属性,把模拟次数提高到,这取决与你的解算,如果你的解算出现问题,可以提高模拟次数

提高模拟次数获得更高质量的模拟


另外如果你的角色头发很长的话,你应该把头发也一起倒入作为碰撞体,或者把头发也作为布料解算。

另外我发现md5导出衣服不能分开,衣服和裙子是连在一起的,不过这个问题也不大,导入进maya分开就可以。

这有一套教程,不过这个是版型布料的流程,不是模型布料的,不过你可以熟悉一下操作

md教程


然后选择导出服装,导回maya,制作材质后继续后面的灯光,渲染,合成,剪辑工作。总结下来的流程

至此,布料流程结束,接下来是灯光渲染流程

3.灯光流程

灯光部分我沿用的上一部片子的布光 av10611392

所以就用上一部的笔记来讲解了,原理是一样的

关于渲染器,我现在的渲染基本是在maya里做的,用的渲染器是redshift,以前也用过arnold和vray,不过因为gpu渲染器比较快,对于动辄几千帧的mmd,gpu渲染器是最好的选择。

先放一下成品图,再说一下灯光渲染思路


视频截图

下面是灯光图,一共6个灯


布光图

首先是提供基础照明的环境球(demo光),保证人物不存在死黑的区域,同时亮度不能太高,防止之后过爆


环境光照明

但是制作一个环境光,光照太均匀,人脸部,头发和衣服都非常平,显得不立体
很多做mmd转C4D或者其他cg软件渲染出来,可能会有这个问题,光太匀,不立体


经典的冷暖对比光

于是我在人物两侧打了两个测光,希望能把层次做出来
两个光,一个偏冷(暗部)一个偏暖(两部)


对比

两个光单独渲染,这样面部的层次就出来了
接下来是顶光,给头发做层次

顶光

剩下一个正面光,一般是看情况加与不加的,如果主光从侧后过来,可能正面会偏暗,正面再补一个光,我习惯性的加上了,不过很微弱,对于整体效果几乎没有影响


ok,这样基本保证了,无死黑,有对比,这个样子,按理说已经可以了,虽然说没什么大毛病,但是还是过于平庸,没有亮点

考虑了之后决定给一个背光的平行灯


背光


单独渲染效果



渲染后(未经合成)

关于材质部分,皮肤材质传统的3s没什么好说的,头发也开了3s,希望做出晶莹剔透的效果

布料使用的原mmd贴图和一张网上下载的法线贴图

有需要请拿去用吧

渲染部分结束

4.合成部分

使用ae合成

沙滩的合成做的比较简单,color层,然后叠ao把衣服褶皱细节做出来,用了n层做了relighting让画面颜色更丰富一点,用depth层做了空气透视。景深大部分镜头没有加,这次是户外场景,希望视野能远一些。

调色部分主要调节了蓝色的饱和度,加了个looks的diffusion。



到这里就结束了,不知不觉写了4000字了,如果你能坚持看到这里,辛苦了。如果你感兴趣欢迎加群聊聊578064442(刚建的没有人)

-- --
  • 投诉或建议
评论