跳转至

本文由 简悦 SimpRead 转码, 原文地址 www.bilibili.com

作者:小林呓

把一个人物渲染好看,无非依旧是那么几点。

把一个人物渲染好看,无非依旧是那么几点。

打光、材质,缺一不可。好的材质,若是没有合理的光照,不好看;好的光线,却没有一个充满细节的材质,充满遗憾。

首先这是一个卡通风格的材质。基于 ray 自带的 hair 文件夹下的 material_hair_with_anisotropy.fx 修改而来。

  1. 先复制一份 material_hair_with_anisotropy.fx,起一个能认出来的名字(尽量还是不要 111,222 这样的名字了吧……)

  2. 默认的 material_hair_with_anisotropy.fx 材质里的 自定义材质开启的是 3,只要把 3 改成 8,就变成卡通材质了。同理你可以把 hair 文件夹里其他的头发材质也改成 8,这样就全变成 toon 风格的材质了。

    (使用 notepad++ 打开,notepad++ 可以百度下载。)

图为 SaucyCat 大佬的注解图

同样是卡通风格,我们可以做个比对。

从左到右依次为 hair、hair_sss、hair_with_anisotropy、hair_with_anisotropy 的修改版。

  1. 制作各种纹理贴图

这里我推荐用 Materialize,一键生成纹理贴图。

作者:只剩一瓶辣椒酱

教程和下载地址

https://www.bilibili.com/video/BV1764y1c7LJ/?spm_id_from=333.337.search-card.all.click&;vd_source=dda90682ca7ec757a726d7b0f5cd4afb

注意!图片不要有中文路径和中文名称!

把头发的材质贴图载入进去。

用法非常简单,1,载入。2,点生成。3,挨个保存。

  1. 把贴图载入进材质

把做好的贴图扔回来,暂时先跟材质放在一个目录下。不放在同一个目录下的话,需要写对材质路径。

先启用法线贴图看看。

只需要把 #define NORMAL_MAP_FROM 0  改为 1,

define NORMAL_MAP_FILE "hair_N.png"  双引号内的为纹理贴图文件的名称。一定要把文件的后缀,.png 也加上,不然会报错。

像我这么写的前提是把这张法线图片放在 这个材质文件所在的文件夹里了,如果不在一个文件夹里、你也没写对路径,它就找不到了,找不到,就报错。

如果出现了这样的错,就是图片路径没写对。

也可以在这里建一个文件夹,比如说就叫 XL_tex,然后把这些图片扔进去。

若是想调用,仅需写对路径,即 XL_tex/hair_N.png 

接下来看一下添加了法线的效果。左图为无法线,右图为添加了法线。嗯,有些金光闪闪的效果了。为什么有这种金光闪闪的效果了,是因为我在模型正上方添加了一个聚光灯,光打在头发上,法线对光线产生作用。

接下来我们可以玩一玩 33、34 这两行。

const float normalMapScale = 1;

法线强度,默认为 1。越强就越强…… 草,越大,越强!

const float normalMapLoopNum = 1;

纹理迭代次数。一般虽然不改。但是有些时候改了有奇效。

图左为法线强度 1,右为法线强度 2

可以看出来,光线的反射强度更大了!好闪!!

图左为纹理迭代次数 1,图右为纹理迭代次数 3

可以看出来,正常的 1,法线贴图的位置跟原贴图的位置是吻合的,也就是该哪里反射光,就哪里反射光,而更改了迭代次数,这个法线贴图的位置就与原贴图不一致了。

更改迭代次数是有些不可控的,但是会产生不一样的效果。

可以看到图二的 “金丝” 效果,有种发丝纷飞的感觉。

但是就不会有正常的法线的 “金光” 的强烈闪闪的效果了。

凑近一点看

因为我想要更好的效果!比如说,既有正常的法线贴图,又有这种发丝纷飞的效果!

我们继续往下看。

哎,这不是还有一个法线通道吗?!

这两部分除了一个叫 normal_map, 一个叫 normal_sub_map,其他全都是一致的。

那么我们使用 妖姬的 r 技能,故技重施 。

故技重施

我们在法线贴图通道使用 2 倍法线强度,与在次法线贴图通道启用相同的法线贴图,迭代次数都为 1 的情况下,这两种方法产生的效果几乎是完全一致的。

那,既然这样,不如就…… 嘿嘿嘿。

我们用相同的法线贴图去启用次法线贴图通道,迭代次数改为 4,于是就有了这样的效果!

同样可以把强度开大,比如 2,就会更强烈。

同样的,你可以试着去使用其他的法线贴图,试着去叠加。

比如,随便放了一张网格状的法线贴图。

同样的道理并不适用于开头的反射贴图。

虽然这里也存在两个通道,但是第二个通道的 enable 有 5 种不同的计算方式。

0,不启用

1,乘算  (两张相同的反射贴图叠,基本上会变黑一些,黑处更黑)

2,指数乘算   

3,加算   (变白)

4,黑色素? (变黑)

5,透明混合   (不懂)

综上,想要使用第二张反射贴图,还需要考虑更多。

个人经验之谈,可能存在很多错误。

评论