迷人|头发渲染的前世今生:如何在游戏中拥有一头迷人秀发?
文丨Mr_ctong
腾讯互动娱乐 工程师
导语
在游戏制作中,人物的占比越来越大而且已经成为一个体系。渲染和优化的时候都会为角色量身定制一套方案。甚至为了角色表现,会为展示在大厅的角色单独做一套效果和资源。本篇主要从角色渲染中最难的头发渲染开始说起。本人水平有限,如有错误,请不吝赐教。
大纲
文章插图
头发模型科普一下实时渲染和离线渲染的区别。
实时渲染:计算机需要在运行时生成所有的3D模型、贴图等等,并以尽可能快的速度(每秒30帧以上)显示给用户。
离线渲染:是将每帧的画面渲染成图像格式,然后将静止的图像或图像序列(1秒24帧)合成,转变为你所看到的动态画面。
实时基于线的头发渲染是困难的:
1.发丝数量多,人体一般有8W~13W根头发
2.头发种类繁多,形式多样,不同颜色的头发对光线的吸收不同
3.在角色渲染中,复杂的头发渲染可能占用角色25%左右的渲染时间
所以在手游中,基于线的头发渲染是不现实的。目前主流的hairwork也是把头发变成面片模型。
文章插图
[ 基于线 ]
文章插图
[ 基于面片 ]注:针对目前硬件设备(手机)水平,如果要逐发丝渲染,开销过大,采用模型分块绘制是一种在效率和效果之间寻求的一种妥协方案。
手游制作头发主要分以下2步骤:
1.Maya的XGen等工具制作头发模型和贴图(美术工作)
2.应用游戏引擎的Shader来渲染(TA和程序工作)
头发模型和贴图的制作(美术)
这一部分主要是美术来完成,对最终成品有至关重要的影响!
对制作流程感兴趣的可以参考XGen学习路径:
https://knowledge.autodesk.com/zh-hans/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2018/CHS/Maya-CharEffEnvBuild/files/GUID-C0470142-600B-4615-8110-EC779934DF5F-htm.html
注:
1.制作人物角色部件之前,最好统一单位大小,Maya通常是厘米cm,3dMAX通常是英寸inch,Unity则是米m。建议使用现实世界物体的尺寸,因为这样会影响光照的计算、物理效果模拟等与现实世界相关的功能。
2.maya或3dMax中用Stingray PBS材质制作的效果,可以原汁原味的还原到Unity2018.1以上的版本中(用StandardShader)
3.正方向对齐。Unity是左手坐标系,3dMax是右手坐标系,导入后要旋转个180度挺不方便的,建议美术制作过程中就以Unity中的坐标系为基础。
一般的,模型和贴图有写实与非写实区分,从卡通到写实的表现如下:
文章插图
文章插图
文章插图
根据不同的发型定位一般有不同的制作方式:
文章插图
基于网格制作如果是制作偏卡通向的发型,可以直接操作网格的点、线、面来制作。卡通效果的头发可以是一坨坨的(如下图),即使丢失一些发丝间的细节也不会有太大影响,美术师逐一制作组成头发即可。
这种方式虽然比较传统,但胜在简单,适合用来制作卡通风格的头发。
文章插图
基于引导线制作如果要制作偏写实的头发,就需要更细致的调整,需要发丝间的穿插细节(Noise)和更多的发丝点缀。
文章插图
使用XGen可以基于引导线自动生成头发,可以轻易的调整头发的疏密,厚度等,美术大大需在此基础上进一步做后期处理“造型”,最后将这曲线转为面片输出给程序。这种方式适合用来做任何情况的头发,特别是在偏写实的情况下比直接操作Mesh更高效。大体步骤如下:
1.首先绘制引导线,进行简单的造型
文章插图
2.通过XGen工具来生成头发
文章插图
推荐阅读
- 苟芸慧|37岁寡姐火辣红唇抢镜,头发梳得紧贴头皮,网友:头发有点少了
- 穿衣搭配|冯提莫太可爱了!穿花朵裙娇俏迷人,笑容甜美宛如精灵
- 水温|染完头发的第二天可以洗发吗?可以是可以,但要注意这三个细节
- 肖战|妙哉!肖战的人格魅力太迷人了,能让黑粉转怒为喜,直接入坑?
- 优雅|林正允 优雅的女性,总能穿出迷人的魅力
- 郑恺|郑恺一家三口日常曝光!教妻子嗦粉给女儿梳头发,小酸奶甜喊妈妈
- 钟汉良|李小冉钟汉良浴室拍吻戏!衣服头发被被淋湿,咬嘴唇口红蹭一脸
- 春晚|众老面孔现身春晚联排,刘欢头发花白显憔悴,郭冬临时隔3年回归
- 军人|女明星穿军装谁最真实?有人短头发获好评,有人大红唇被骂太假
- 林志玲|林志玲终于复出捞金,穿日系蕾丝裙太迷人,远嫁日本如“整容”