Shader Graph21-UV投影cubemap

准备

https://download.csdn.net/download/zhuziying99/87900710

需要先生成dds文件,可以使用两个工具如果是N卡的显卡,可以使用

Texture Tools Exporter | NVIDIA Developer

如果是A卡的显卡,可以使用CubeMapGen

一、打开Unreal,新建DemoInterior的Material,双击打开

该Shader的核心思路就是3d的方式呈现Texture,并且当视角移动时Texture进行移动。分为两个部分,红线内部和红线外部,红线内部变形较大,红线外部变形较小。

1、首先需要将uv由二维坐标转为三维坐标

在Unreal中Texcoord直接输出显示的是如上图,原点是左上角,U是x的值所以显示红色,V是y的值所以显示绿色,红色+绿色=黄色,所以中间部分是黄色。Multiply,Subtract,Append的结果

2、Camera Vector是从原点出发指向观察者眼睛,可以使用DebugFloat3Values单独测试一下Camera Vector的值。旋转视角时,注意左下角的坐标方向与cube面上显示的数值。x、z为正值,y为负值。

TransformVector设置从World Space到Tangent Space,也就是坐标原点移动到了这么面中心点位置,x是从原点指向右侧,y是从原点指向下侧,z是从原点垂直于平面指向外,连接DebugFloat3Values进行测试,转动视角可以观察值得变化。

        内部uv的的生成是以下节点。

这是结果

 

 最后,两个uv叠加的效果。

二、Unity版本

准备好texture资源如下图

最会一张是全的,上两张是分了上下两个部分的。

猜你喜欢

转载自blog.csdn.net/zhuziying99/article/details/131051563