My blog directory:
小IVan:专题概述及目录Introduction:
![v2-0c2c33bd32b708dcd5eebd59edcab13d_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/0ffbc9d3e127ca99975014447cf13cbf.jpeg)
读过我前面一些博客的朋友对虚幻4的渲染流程有了一些大致的了解之后,那么我们现在可以开始着手开始修改虚幻4引擎了·。我们有些时候需要实现某些效果,就需要动手自己改引擎了。这是customnode或者是纯material无法做到的。有些人可能就要反驳了,“我纯用材质编辑器也能实现卡通材质啊”。但是无法忽略的一点是:在材质编辑器里制作的卡通材质无法接受光影。这时候有些人就想出了骚操作,用蓝图自己实现一个光源,渲染一张depthmap的RT然后传到material里去。这种方法其实过于麻烦,这相当于你抛弃掉了虚幻4的光照系统。这是得不偿失的。
阅读下面的内容你需要具备一下知识:
(1)C++
(2)对虚幻引擎及其渲染模块有一定了解,如果不了解可以先读读我之前的一些文章。
(3)HLSL
main content:
那么下面就以这个卡通材质为例,让我们一步步来定制自己的渲染管线,来看一下虚幻的GBuffer的数据有哪些吧:
![v2-f2df11cbc694e6fe469ef7f348f13735_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/027512de8adf71bd678cd9b0eed16087.jpeg)
首先你得下载好一个源码版引擎,我使用的是4.19版引擎。也许在未来引擎会做更新,单应该变化不大。然后打开如下的文件:
![v2-69e1c367f96b3d8a003a5f70a66f0208_b.jpg](https://i-blog.csdnimg.cn/blog_migrate/7ca5bdb9d489cb9f0749fc1159993230.png)
首先找到EngineTypes.h,找到EMaterialSamplerType这个枚举。这个枚举将会控制材质编辑器里的那个下展栏。然后我们加入我们的枚举成员MSM_MyShadingModel UMETA(DisplayName="MyShadingModel")编译引擎后你将会看到如下的样子: