网易首页 > 网易号 > 正文 申请入驻

无主之地着色器(和纹理)

0
分享至

本文转自公众号:Thepoly

Hello . 大家好

今天给大家带来无主之地着色器纹理解析

原作者为西班牙大佬Daniil Spivak


https://www.artstation.com/spacecentipede/blog

前段时间,我根据 Sergi Broza 的 2D 概念制作了 Effie 的角色模型 https://www.artstation.com/artwork/yD0ExO


评论中的人们一直问我有关 Borderlands 风格着色器的问题 - 它是如何制作的以及如何获得相同的外观。

剧透:我接下来要分享的并非什么秘诀。我只是从 YouTube 教程和其他资源中学习,然后把各种东西混合在一起,最终得到了这个效果。在本文中,我将逐一讲解,并展示节点设置的截图。如果你想创建类似的材质,只需复制你需要的部分即可。


首先,您在《无主之地》中看到的漫画风格可以分为两部分:直接绘制在纹理上的效果,以及着色器本身稍后添加的效果。

在第一张图片中,后期处理和纹理描边均已启用。在第二张图片中,后期处理已关闭,但纹理上的描边仍然可见。在第三张图片中,两种效果均已完全禁用。


您可以看到 Manny 的原始效果,无需任何手绘线条。我们可以看到模型周围的轮廓,以及基于法线的效果(稍后会详细介绍)。阴影部分填充了交叉影线,就像经典漫画一样;高光部分则使用了点状图案,就像老式漫画书的印刷一样。颜色渐变被简化为阶梯状,我们稍后可以调整它来控制整体外观。


这是基础的漫反射纹理。我还在 Alpha 通道中添加了一个蒙版,以便在织物上创建菲涅尔效果,但这个细节在这里并不重要。


所有有趣的东西都发生在 RMAL 纹理中。我们按通道来分解它:红色表示粗糙度,绿色表示金属度,蓝色表示遮挡。Alpha 通道保存线条。

在 Substance Painter 中,我将所有这些笔触绘制到一个特殊的通道中:黑色用于轮廓,白色用于高光。每个笔触的颜色要么比中灰色更深,要么比中灰色更浅,这使得材质能够将深色线条与浅色线条区分开来,并将它们作为独立的参数进行显示。这样,我们就可以随意调整轮廓颜色和高光。


这是完整、扩展的服装主材质。你会注意到我没有使用虚幻引擎中常见的节点连接方式,而是使用了 NameRerouteNodes。说实话,我真的很讨厌默认的意大利面条式连接看起来乱糟糟的——搞清楚各个节点连接在哪里真让人头疼。

所以我把节点从左到右排列,分组到块中,并清晰地命名路由。这样,你随时可以按名称搜索,并立即知道哪些节点的去向。更加简洁,也更容易操作。


高清图片:https://cdna.artstation.com/p/assets/images/images/091/148/228/4k/daniil-spivak-effy-mm-materialgraph-0-00000.jpg? 1755961075

关键在于将深色笔触与浅色笔触分离,并分别放入各自的蒙版中。为此,我使用了“步进”和“饱和度”功能。完成后,我就可以抓取蒙版来生成轮廓,并用任何我想要的颜色进行着色。

这些蒙版也可以在其他地方重复使用 - 例如,我将它们插入金属和镜面参数中,这样轮廓就不会拾取任何高光。


漫反射和手绘描边就到此为止了。现在我们来看一下后期处理材质本身的设置。材质图太大了,所以我把它分成了两部分。



高清图片: https://cdna.artstation.com/p/assets/images/images/091/148/252/4k/daniil-spivak-pp-outline-materialgraph-0-00000.jpg? 1755961161

让我们逐块进行,我将简要解释每个部分的作用以及它给出的结果。

简而言之,这个块提供了基础光照。我们需要光影边界,以便稍后构建阶梯状的漫画风格着色。通过将去饱和的 PostProcessInput0 除以去饱和的 BaseColor,我们得到了基础光照。在此基础上,我使用场景纹理中的金属数据生成一个金属遮罩,并使用镜面反射将所有笔触推入一个单独的遮罩中——因为我不希望它们包含任何光照信息。笔触应该始终保持暗色。


接下来,我们构建颜色之间的“阶梯”——就像老式漫画书印刷那样,调色板有限。这里的关键节点是 Floor 节点:它会向下取整值,并通过除以它们,我们在光影之间创建那些硬阶梯。最终呈现的是一个双色调图像,其过渡是阶梯状的,而不是平滑的渐变。


接下来,我们将最终结果与最终图像和纯色进行混合,并使用参数控制混合效果。与默认着色相比,颜色可能会略有偏差,这是我们想要避免的。为了解决这个问题,我添加了一个“功率”节点和一个“亮度校正”节点,这样我就可以根据需要调高或调低亮度。


现在我们来看看点线图案块。这里我们生成阴影中的笔触和高光中的半色调点。在底部,你会看到三个子块:线条图案、半色调图案和距离抠图蒙版。前两个子块会程序化地创建实际的图案(因此我们无需加载额外的纹理),而抠图蒙版会使笔触随着距离的增加而淡出。如果没有它,当你缩小时,线条会保持屏幕大小,与角色相比会突然显得巨大——这感觉非常不对劲。

光照处理方式与之前相同:将 PostProcessInput0 除以颜色,然后使用曲线分离最暗和最亮区域。暗区使用交叉影线,亮区使用半色调点。

我还添加了静态开关参数来关闭金属表面上的笔触(因为它们在那里看起来并不总是很好),另外还添加了一些额外的控件来调整高光中的线条不透明度、大小和点密度。


高分辨率:https://cdnb.artstation.com/p/assets/images/images/091/148/625/4k/daniil-spivak-pp-outline-materialgraph-0-00007.jpg? 1755962450

好了,现在到了棘手的部分——创建大纲。这需要构建几个相当复杂的函数。说实话,我自己并没有完全弄清楚每个细节,所以如果感觉困惑,不用担心——你可以直接复制我的做法。不过,我会尽力解释每个部分的主要功能。

我根据 Evans Bole 的教程制作了这个效果——您可以通过下面的链接查看。在这里一步一步地解释会花很长时间,所以最好直接从源代码中查看。

https://www.youtube.com/watch?v=9KvUfnrHcqM&t=71s


高分辨率:https://cdna.artstation.com/p/assets/images/images/091/148/610/4k/daniil-spivak-pp-outline-materialgraph-0-00008.jpg? 1755962418

为了使我们的轮廓在模型上正确呈现,我们需要设置以下功能:

  1. MF_获取内核
  2. MF_DetectEdges_depth
  3. MF_DetectEdgesNormal
  4. MF_DTM_凝视角度
  5. MF_厚度_调制
  6. MF_Mask_depth

1) 首先,我们需要一个名为MF_GetKernel的辅助函数。此函数会生成中心像素及其四个相邻像素(左、右、上、下)的 UV 坐标。这基本上是为接下来的计算做准备。


2) 接下来 -MF_DetectEdges_depth。我们需要一个函数来检查像素是否位于网格的边缘,并据此生成轮廓蒙版。这时,之前创建的 GetKernel 函数就派上用场了。


3) 现在我们已经完成了沿着物体边界构建轮廓的部分,但仍然缺少基于法线贴图的轮廓。为此,我们需要创建一个名为MF_DetectEdgesNormal的新函数。它基本上是前一个函数的副本——但它不是使用场景深度,而是依赖于 WorldNormal。


4) 我们还需要一个小的辅助函数来去除网格表面上与摄像机视图过于平行的多余轮廓,例如地板。这个函数通过使用简单的菲涅尔效应来创建额外的遮罩,过滤掉与摄像机呈锐角的像素,从而解决这个问题。让我们创建MF_DTM_Gazing_angle



5) 下一个函数非常重要:MF_Thickness_Modulation。它使轮廓的粗细根据角色与相机的距离动态变化。如果没有它,线条将保持与屏幕的相对关系——因此,当你缩小时,轮廓会显得太粗,最终覆盖整个角色。


6)我们还需要这个函数来关闭太远的物体的轮廓 - MF_Mask_depth。


所有主要功能都已准备就绪,现在可以将它们组合起来了。让我们看看轮廓图内部发生了什么。


整个设置分为两部分。第一部分在网格周围创建外轮廓,第二部分基于法线生成轮廓。两者使用基本相同的函数——唯一的区别是网格轮廓使用 MF_DetectEdgesDepth,而基于法线的轮廓使用 MF_DetectEdgesNormal。

  1. 这两个函数是我们轮廓系统的核心。它们生成用于绘制轮廓的蒙版。每个函数都有两个输入——厚度和阈值,我们将在下文中介绍。
  2. 在 Thickness 输入中,我们插入了 MF_Thickness 调制函数,该函数有三个输入引脚。第一个引脚设置轮廓的最小厚度,第二个引脚设置最大厚度,第三个引脚定义达到最大值时的距离。这为我们提供了一个渐变效果:轮廓逐渐由细变粗,一旦达到(比如说)距离 2000,它就会保持在最大值,不再增加。
  3. 在阈值输入中,我们插入了这段代码。它会调整阈值,使角色距离越远,轮廓的扩散范围就会根据场景深度缩小。这样,我们不仅会随着距离改变轮廓的粗细,还会改变轮廓实际显示的区域。
  4. 在这里,我们使用 MF_Mask_depth 函数来切断远处的物体,因为我们绝对不希望轮廓出现在背景中的物体上。
  5. 这部分功能确保轮廓随着角色的远离而平滑淡出。如果没有它,你会看到轮廓忽明忽暗,并且其粗细变化剧烈——这看起来非常令人分心。
  6. 在这里,我们终于把所有东西混合在一起了。PIN A 是没有轮廓效果的图像。PIN B 是轮廓颜色。Alpha 是轮廓蒙版本身——它告诉着色器在哪里应用轮廓颜色。

具体设置取决于你的项目。你需要根据角色与摄像机的距离,以及你希望在不同距离下保持哪些细节可见来调整这些值。

最后一步是添加模板蒙版,这样所有这些效果就只作用于我们的角色,而不是整个环境。当然,如果你确实希望效果作用于周围环境,可以关闭它——这实际上取决于你想要的效果。


最重要的是不要忘记在项目设置和网格本身中启用自定义深度。


就这样!我想我已经涵盖了所有关于制作着色器和使用纹理的知识。感谢所有坚持到最后的读者——这篇文章很长,但我想详细解释一下。网上有很多关于如何制作单元格着色器或轮廓着色器的教程,但我想把所有东西都整合起来——包括纹理应该是什么样子,以及如何将它们组合起来,使整个设置真正发挥作用。

分享就到这里辣,谢谢大家!下次再见!

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
这场面20年都没见过!美元血崩,美联储做梦都没想到败得这么快

这场面20年都没见过!美元血崩,美联储做梦都没想到败得这么快

户外钓鱼哥阿旱
2026-01-24 15:57:48
央视曝光“毒蔬菜”!0.08克便可致器官衰竭,已流窜到全国多地

央视曝光“毒蔬菜”!0.08克便可致器官衰竭,已流窜到全国多地

梦史
2026-01-23 10:20:41
大刀能拼过日军刺刀吗?老兵口述:三个端刺刀鬼子,干翻了一个班

大刀能拼过日军刺刀吗?老兵口述:三个端刺刀鬼子,干翻了一个班

磊子讲史
2026-01-08 18:44:12
18.49万!奔驰官宣:新车正式上市

18.49万!奔驰官宣:新车正式上市

高科技爱好者
2026-01-24 22:50:58
德国牵头,北约11国军演剑指美军,马克龙对特朗普下重手

德国牵头,北约11国军演剑指美军,马克龙对特朗普下重手

兵说
2026-01-23 21:13:48
Lululemon新款瑜伽裤因易走光下架后重新上架,中国电商渠道暂未销售,创始人发声:公司已经完全迷失方向

Lululemon新款瑜伽裤因易走光下架后重新上架,中国电商渠道暂未销售,创始人发声:公司已经完全迷失方向

鲁中晨报
2026-01-24 21:59:13
11家公司1月24日夜晚突发大利空,贵金属 算力 跨境电商,减持潮等

11家公司1月24日夜晚突发大利空,贵金属 算力 跨境电商,减持潮等

股市皆大事
2026-01-24 20:05:30
U23国足首发公布 媒体人热议:仍是532 千万别被激怒 死守等奇迹

U23国足首发公布 媒体人热议:仍是532 千万别被激怒 死守等奇迹

风过乡
2026-01-24 22:05:35
热议U23男足首发:防守最重要是冷静,要当心对方角球定位球

热议U23男足首发:防守最重要是冷静,要当心对方角球定位球

懂球帝
2026-01-24 23:03:31
重返国家队?轰21+15蹂躏范子铭,球迷:看罚球就知道基本功扎实

重返国家队?轰21+15蹂躏范子铭,球迷:看罚球就知道基本功扎实

弄月公子
2026-01-24 23:03:10
男单冠军出炉!日本选手3:2惊险夺冠,张本美和顺利收获女单冠军

男单冠军出炉!日本选手3:2惊险夺冠,张本美和顺利收获女单冠军

国乒二三事
2026-01-24 12:32:39
朱芳雨或向CBA公司提出申诉

朱芳雨或向CBA公司提出申诉

体育哲人
2026-01-24 21:03:16
捡走吃掉赔8000元!2023年捡到一只回家煲汤,被人发现时只剩骨头

捡走吃掉赔8000元!2023年捡到一只回家煲汤,被人发现时只剩骨头

万象硬核本尊
2026-01-22 19:47:55
藏匿9年的本·拉登:5米高墙铁丝网防护,致命破绽是院中晾衣绳

藏匿9年的本·拉登:5米高墙铁丝网防护,致命破绽是院中晾衣绳

通鉴史智
2026-01-23 14:52:23
42票赞成、2票反对,美方将禁止对华出口H200芯片,中方先发制人

42票赞成、2票反对,美方将禁止对华出口H200芯片,中方先发制人

小小科普员
2026-01-23 16:40:52
皮尔斯:詹姆斯为湖人带来了一座总冠军和100亿美元,湖人太划算了

皮尔斯:詹姆斯为湖人带来了一座总冠军和100亿美元,湖人太划算了

懂球帝
2026-01-24 15:37:08
高官落马,教育反腐有新动向

高官落马,教育反腐有新动向

行者殷涛
2026-01-24 20:57:57
载入中国足球史册!车企老总宣布:2位球员进球送车,获5年使用权

载入中国足球史册!车企老总宣布:2位球员进球送车,获5年使用权

侃球熊弟
2026-01-24 19:44:42
女子违停竖中指被撞,交警最新回应来了!责任划分引全网热议

女子违停竖中指被撞,交警最新回应来了!责任划分引全网热议

天天热点见闻
2026-01-23 12:57:06
挪威向乌克兰交付大量NASAMS防空导弹

挪威向乌克兰交付大量NASAMS防空导弹

桂系007
2026-01-22 22:45:07
2026-01-24 23:20:49
CG世界 incentive-icons
CG世界
分享国内外优秀CG作品,教程
5702文章数 8543关注度
往期回顾 全部

科技要闻

特斯拉Cybercrab即将落地 每公里不到1块钱

头条要闻

被雪豹咬伤女子从急诊转出 目击者:她没有去摸豹子

头条要闻

被雪豹咬伤女子从急诊转出 目击者:她没有去摸豹子

体育要闻

当家球星打替补,他们在故意摆烂?

娱乐要闻

回归还是顶流 凤凰传奇将现身马年春晚

财经要闻

“百年老字号”张小泉遭60亿债务压顶

汽车要闻

有增程和纯电版可选 日产NX8或于3-4月间上市

态度原创

艺术
旅游
游戏
公开课
军事航空

艺术要闻

303米!这座“涌泉”之楼,是绿地在济南拿下的首个“第一高”

旅游要闻

新春红包封面和壁纸,接!

大锤要做武术题材《使命召唤》?又是工作经历暴露!

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

俄美乌首次三方会谈在阿联酋举行

无障碍浏览 进入关怀版