UE5.2蓝图Custom节点使用HLSL以及自定义ush、usf文件

参考文章:https://zhuanlan.zhihu.com/p/590600475

上述文章表述的较为粗略,这里经过尝试之后做个详细记录,希望能帮助到初学者。

1、首先根据目前大多数相关教程(例如:https://www.bilibili.com/video/BV1hg411W7hn),在工程中新建材质,然后添加Custom节点,并在Custom节点的细节中添加如下代码,在UE5.2中会出现以下错误,即使路径确认绝对没有问题,并且因为SM6在5.2版本中默认开启(因为一些新特性会使用到),所以这个错误不太好忽视。

UE5.2蓝图Custom节点使用HLSL以及自定义ush、usf文件_第1张图片

SM6的设置在编辑-项目设置中搜索d3d后可以看到。

UE5.2蓝图Custom节点使用HLSL以及自定义ush、usf文件_第2张图片

2、根据参考文章,这里选择编辑-插件,打开插件管理界面,在点击左上角的添加,选择最下面的蓝图库,输入插件名称,然后点击创建插件。

UE5.2蓝图Custom节点使用HLSL以及自定义ush、usf文件_第3张图片

VS2022自动打开,接下来就与参考文章一样,在如下函数中输入如下代码。

UE5.2蓝图Custom节点使用HLSL以及自定义ush、usf文件_第4张图片
UE5.2蓝图Custom节点使用HLSL以及自定义ush、usf文件_第5张图片

当然也要在工程目录下创建对应的文件夹。

UE5.2蓝图Custom节点使用HLSL以及自定义ush、usf文件_第6张图片
其中有自定义usf文件,以及内容如下。

UE5.2蓝图Custom节点使用HLSL以及自定义ush、usf文件_第7张图片
UE5.2蓝图Custom节点使用HLSL以及自定义ush、usf文件_第8张图片

3、保存修改,然后VS不关,关闭UE编辑器(不关UE编辑器的话,VS不能编译项目),右键项目-重新生成(不放心的话就先清理再生成),等待编译完成(应该能很顺利的通过编译)。

UE5.2蓝图Custom节点使用HLSL以及自定义ush、usf文件_第9张图片
UE5.2蓝图Custom节点使用HLSL以及自定义ush、usf文件_第10张图片

4、然后用UE编辑器打开项目,打开之前创建的材质,在Custom节点的细节中有个包含文件路径的项,点击旁边加号新增一项,并根据参考文章,输入文件路径,将代码修改为如图所示,return文件中你想调用的函数,这里调用的green()函数,然后回车,会发现统计数据中没有报错,并且Custom节点也显示了相应的颜色。
这里另外需要注意一点,根据你return的函数的返回值类型要对应修改Custom的输出类型,比如参考文章中返回的是float,则输出类型要修改为CMOT浮点1,这里green()返回值是half3,则修改为CMOT浮点3。

UE5.2蓝图Custom节点使用HLSL以及自定义ush、usf文件_第11张图片

你可能感兴趣的:(ue5,c++,图形渲染,3d,学习,游戏引擎,贴图)