在制作UE4项目时,利用运行时虚拟纹理可有效渲染过程生成或分层的复杂材质,使运行时虚拟纹理适用于渲染复杂的地形材质。那大家知道UE4中的运行时虚拟纹理(RVT)应该如何使用呢?


运行时虚拟纹理


1、下面以一个地形为例。


UE4运行时虚拟纹理的应用


2、在引擎浏览器空白处右键点击材质和纹理,在里面点击运行时虚拟纹理。这里创建一个底片,命名为“LandformsRuntimeVirtualTexture”。


UE4运行时虚拟纹理的应用


3、在场景中创建一个运行时虚拟纹理体积,点击左边的“细节”里的Transform from Bounds,选中地形,点击“复制旋转”“复制边界”这样运行时虚拟纹理体积就可以包裹整个地形。再在Virtual texture中选中刚刚创建的LandformsRuntimeVirtualTexture底片。


UE4运行时虚拟纹理的应用


4、选中地形,在“细节”面板点击Virtual Texture,选择渲染通道,类型改为“虚拟纹理和主通道”。


UE4运行时虚拟纹理的应用


5、在地貌原有的材质上创建一个BreakMaterialAttributes和MakeMaterialAttributes,断开材质是为了将所映射地形纹理可以直接接入到虚拟材质的输入口Runtime Virtual Texture Output节点。


UE4运行时虚拟纹理的应用


6、创建一个virtualtexturefeatureswitch(虚拟纹理特征切换)是否使用虚拟纹理的判断,再创建一个Runtime Virtual Texture Sample (运行时虚拟纹理采样),将采样的结果输入到建立材质节点统一输送到virtualtexturefeatureswitch。


UE4运行时虚拟纹理的应用


7、这时候采样节点会报错,我们可以在采样节点“细节”面板的虚拟纹理中选择创建的“LandformsRuntimeVirtualTexture”底片,纹理内容选择“底色,法线,粗糙度,高光度”。


UE4运行时虚拟纹理的应用


8、这样材质保存后赋予地形,还有在场景中除了地形其他物件也是可以使用“运行时虚拟纹理”,在地形上添加其他物件的“运行时虚拟纹理”材质。以一石头为例,在地形RVT材质上添加其他虚拟纹理。需要在石头材质编辑器的细节面板里将材质域改为“虚拟纹理”,还有在场景中石头的细节面板Virtual texture中选中创建的LandformsRuntimeVirtualTexture底片。




这样会有一个问题,因为石头和地形用的同一个底片和虚拟纹理体积所以在映射纹理时材质会有叠加,我们可以在石头的细节面板的排序 半透明优先级中调整材质映射的权重,这里参数在不是虚拟纹理的情况下是调整半透明的渲染权重。


上面为大家介绍了UE4中运行时虚拟纹理的应用方法,大家可以设置“风景”材质和其他场景Actor,以使用运行时虚拟纹理。

,Unreal Engine技巧,Unreal Engine教程