在使用运行时虚拟纹理(RVT)制作UE4项目之后,我们都会想要存储一些节点、法线等信息,以便以后使用,那么大家知道怎么存储UE4中的运行时虚拟纹理呢?


RVT基础颜色存储


在YCoCg中基本颜色,法线,粗糙度,镜面材料类型使基色的在RVT不同的编码。


默认情况下,基本色存储为RGB,并压缩为BC1。这种类型的编码可能会导致存储的数据出现颜色偏移和条带化,这在具有平滑渐变的基本色数据中最为明显。YCoCg材料类型可以减少这些错误,但使用它需要增加额外内存与虚拟纹理数据中的一些额外性能采样和解码。


UE4运行时虚拟纹理如何存储

UE4运行时虚拟纹理如何存储



RVT常规存储


法线以X和Y值存储在BC5纹理中,或存储在两个BC3纹理的alpha通道中,从而使它们的精度与BC5相同。法线的Z方向可以存储世界空间法线。


有两种方法可以从材质图向RVT编写法线:


使用运行时虚拟纹理输出节点


使用标准材料输出节点


当材质从“运行时虚拟纹理输出”节点写入时,没有隐藏的变换应用于输出,都将写入RVT。


当材质从标准材质输出节点写入时,将应用隐式转换。所以在RVT中存储法线的方法是在UE4的世界空间中。

,Unreal Engine技巧,Unreal Engine教程