【UE4 材质编辑篇】1.0 shader编译逻辑

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的关系。

相关推荐
DongDongBaJiaYou4 天前
UE5打包,LoadObject加载不出网格|动画
ue5·ue4·虚幻·虚幻引擎
Thomas_YXQ5 天前
Unity3D编辑器扩展-物体批量替换设置材质
游戏·unity·编辑器·游戏引擎·材质
CG_MAGIC8 天前
主流 3D 模型格式(FBX/OBJ/DAE/GLTF)材质支持与转换操作指南
3d·渲染·动画·材质·贴图·3d 模型格式·材质支持与转换操作指南
郝学胜-神的一滴10 天前
Three.js 材质系统深度解析
javascript·3d·游戏引擎·webgl·材质
渲吧-云渲染16 天前
破译真实感:渲染参数进阶指南——告别塑料感,唤醒材质生命力
材质
ue星空18 天前
UE材质World Position 和 Object Position
材质
zxc24460393420 天前
gpu instancer crowd 使用自定义材质并且只修改单个物体的材质参数
unity·材质
渲吧-云渲染1 个月前
材质:3D渲染的隐形支柱
3d·材质
bug总结1 个月前
Three.js 实战:使用 PBR 贴图打造真实地面材质
材质·贴图
向宇it1 个月前
【unity游戏开发入门到精通——3D篇】3D光源之——unity使用Lens Flare (SRP) 组件实现太阳耀斑镜头光晕效果
游戏·3d·unity·游戏引擎·材质