基础思路:
- 在maya中使用aiutility材质渲染“像素级”color、normal序列切片。
- 在Photoshop中使用“将文件载入堆栈”使序列按层级排布。
- 以psb格式保存在unity中,修改secondary textures与pivot。
1.分析死亡细胞的工作流
笔者在18年接触《死亡细胞》时就发现了其美术的特点:
①虽然是像素画,但是动作的流程程度不像是逐帧画出来的,更像是三渲二。
②不同的光线会对精灵产生不同的着色影响,如果是法线,不敢相信是手工画的法线贴图。
③有些怪物之间只是颜色,护甲有无的区分,如果是颜色直接替换到还能理解,有些怪物就比另一个多了一些配件道具,如果还是用逐帧重画一遍感觉不太合理。
但无奈当时还是个小白没有足够的知识储备去解决这个问题,直到最近想起这事便进行初步探索。
使用扒皮工具,把《死亡细胞》的源素材提取出,动画序列的排列杂乱错落,不像是按像素间距直接排列,而是使用psb格式,以图层来保存序列。
颜色精灵上的只保留了固有色,并没有添加阴影,而每张颜色精灵都使用一张法线精灵,这个使用sprite editor赋予贴图到也可以。
大致按这个思路试了试,得到了一个最终的尝试,只使用sprite序列,每一张序列对应一张法线信息。
下面分享操作过程。
2.使用maya导出序列
2.1像素级渲染
将画面渲染为像素的风格,需要将抗锯齿关闭,这里笔者使用阿诺德渲染器,则在arnold renderer中将filter type设置为closest模式,并且将公用中将图形储存设置为32*32(这里根据项目需求,但建议使用2的幂次方)。
而使用maya hardware渲染的话,则直接在抗锯齿中关闭所有选项,如果使用maya software则在抗锯齿质量中,将边缘抗锯齿调整到低质量。
2.2设置固有色与法线
同样使用阿诺德渲染模式,在hypershade中,以arnold→aiutility材质模板建立两个新的材质球:
①一个用于渲染固有色,将其shader mode改为flat,color mode改为color,color则节点链接basecolor贴图。
②一个用于渲染法线,将其shader mode改为flat,colormode改为normal,其他不需要改变。
2.3渲染序列
这部分直接使用传统流程:在渲染设置中设置开始帧与结束帧,再使用maya的渲染序列功能,导出tiff格式的序列图像(这里使用png会不保留alpha通道,导出tiff格式并不影响后续进入unity)。
3.使用Photoshop载入序列
进入Photoshop中,在“文件”→“脚本”→“将文件载入堆栈”,选择序列文件,最后点击确定即可,color与normal各载入一次。
这样便可准备进入unity,也可以先从图层建立序列帧,在ps中预览动画有无问题。
4.进入unity及后置修改
4.1导入unity
在Photoshop中,储存为psb大型文件格式,直接导入unity中。
Ps导出文件时,命名后缀可以参考:法线精灵(XXX_NormalMap.psb)颜色精灵(XXX_BaseColor.psb)。
4.2后置修改
1.像素级项目通常设置:(insoecrtor属性)
①Filterr 设置为Pixel;
②Compression设置为Nnone。
2.切片设置:(这一步针对于XXX_BaseColor.psb操作,从sprite editor按钮进入)
①在Slice中,将pivot设置为bottom(这里根据项目需求,pivot为锚点的统一,通常在角色动画中会将锚点放在底部),mathod设置为smart(这一步很重要,是个神坑)。
②spriteEditor → secondart textures,在小窗口中设置,name →_NormalMap,Texture选择导进来的法线贴图文件。
3.灯光设置
在unity中,2d的灯光渲染通常使用URP(universal RP),在2dlight设置中需要将use normalmap打开,这样即算完成。
5.总结
在《死亡细胞》美术总监的开发演讲中,提到他们制作了一个小工具来进行这一套工作流的进行,但是笔者推测可能是一个将整个流程一步到位的工具(省去中间导入到堆栈步骤),或者是统一处理像素点,批次修改颜色的辅助工具(这个可以从主角在3d是蓝裤子,在2d中是黄裤子中推断,有可能是类似ps修改颜色的工具)。
或者与emission通道有关,能够统一处理切片中发光的色彩信息。
另外,传统的2d像素画在美术动画上的效率太低,《猫头鹰男孩》是2d像素美术的一种机制,但即使游玩流程不长,其开发任然用了10年,可见传统像素动画的耗时之久,所以《死亡细胞》为我们提供了一种新的思路,利用3d转2d来进行高效的动画工作。
使用屏幕后处理来统一像素风格也是一种新的思路。
总之,传统工艺在工业化面前必定会式微,游戏研发的工业化趋向必须要求我们不断探索更加高效的工作流,正如影视行业,迪士尼也不会因为手绘动画更有匠心与情怀而放弃3d转型。
参考文献:
https://www.reddit.com/r/howdidtheycodeit/comments/dwst09/dead_cells_3d_to_2d_animation_crunching/
暂无关于此日志的评论。