UE4新手,学起来()文章仅记录自己的思考。
参考:虚幻4渲染编程(材质编辑器篇)【第一卷:开篇基础】 - 知乎 (zhihu.com)
开篇基础就摸不着头脑,原因是此前完全没有摸过UE4,一点一点记录吧:
每个连连看都会编译节点后生成一个ShaderTemplate,
但是这篇文章之后的部分,我看的有点稀里糊涂的。
于是看了另一篇关于shader编译的文章:UE4 HLSL 和 Shader 开发指南和技巧 - 知乎 (zhihu.com)
蓝图里的Custom节点,其实就是自定义的一些函数,然后引擎帮你在编译shader的时候生成一个个完整的函数,比如我在UE4.3下一个默认的材质里加入一个简单的return 1的Custom节点:
我们window->HLSL code查看一下这个材质编译出来的code:
我们用VS Code打开,搜索return 1,可以定位到这一段:
没错!这就是我们刚刚加入的简单的Custom函数,并且后面还被用上了:
但还是只有自己动手才能发现,自定义的Custom只有参数遇到输出,才会被编译进HLSL code里:
这种情况下,HLSL Code里不再有我们定义的函数了。不仅仅是Custom,任何没参与的节点都不会被编译。
这下可算搞明白了ShaderTemplete的关系。