Shader Graph21-UV投影cubemap

Shader Graph21-UV投影cubemap_第1张图片

Shader Graph21-UV投影cubemap_第2张图片

准备

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由二维坐标转为三维坐标

Shader Graph21-UV投影cubemap_第3张图片

Shader Graph21-UV投影cubemap_第4张图片

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

Shader Graph21-UV投影cubemap_第5张图片

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

Shader Graph21-UV投影cubemap_第6张图片

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

Shader Graph21-UV投影cubemap_第7张图片

        内部uv的的生成是以下节点。Shader Graph21-UV投影cubemap_第8张图片

这是结果

 Shader Graph21-UV投影cubemap_第9张图片

 最后,两个uv叠加的效果。Shader Graph21-UV投影cubemap_第10张图片

二、Unity版本

准备好texture资源如下图

Shader Graph21-UV投影cubemap_第11张图片

Shader Graph21-UV投影cubemap_第12张图片

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

Shader Graph21-UV投影cubemap_第13张图片

 

 

 

 

你可能感兴趣的:(Shader,Graph,Unreal,Unity,uv,cubemap)