UE中实现计算贴图曲率

UE中实现计算贴图曲率

第一步:get贴图的像素大小:

  使用texture property节点

Untitled

  或者用custom节点输入如下代码:

1
2
3
4
5
float3 a = Texture2DSample(Tex, TexSampler, UV);
uint width;
uint height;
Tex.GetDimensions(width,height);
return float2(width,height);

  用debug节点可以测试数值是否正确

Untitled

第二步:对法线贴图用sobel算子进行卷积操作

  sobel算子一般用于边缘检测,关于卷积和sobel,可以看这篇文章:

  彻底理解数字图像处理中的卷积-以Sobel算子为例 - 自由布鲁斯 - 博客园

  在UE中可以用连连看的方式来进行卷积操作

Untitled

效果:

Untitled

Untitled

  材质文件:

  curvature_Sobel.uasset