【UE4】使用材质UV偏移实现视频分块播放

最终效果图

使用UV偏移实现Instance Static Mesh中的实例使用同一材质球播放不同片段的视频/图片

【UE4】使用材质UV偏移实现视频分块播放

 增大间隔,分开四块Plane模型效果

【UE4】使用材质UV偏移实现视频分块播放

(简便方法)一、设置材质球中的TexCoord节点的UV缩放值

    比如我们想要该模型的UV占比水平竖直各缩放一半,就可设置如下参数,结果同(旧方法一)

【UE4】使用材质UV偏移实现视频分块播放

(旧方法比较复杂)一、在3dsMax中,制作一个UV占播放大屏四分之一的Plane

    1.首先把MAX中的单位与UE设置相同

【UE4】使用材质UV偏移实现视频分块播放

    2.新建一个Plane大小为播放视频的面板总大小,分为四片屏,那么分段数设置为2

【UE4】使用材质UV偏移实现视频分块播放

     3.将轴归零,转化为可编辑多边形,选择多边形,选中其中一个分段片,分离对象

【UE4】使用材质UV偏移实现视频分块播放

    3.可以看到对象已经分离,将轴居中并归零

【UE4】使用材质UV偏移实现视频分块播放

【UE4】使用材质UV偏移实现视频分块播放

     4.选择UVW展开,打开UV编辑器可以看到该模型的UV只占总屏UV的1/4,选择该对象并导出FBX

【UE4】使用材质UV偏移实现视频分块播放

     接下来只需借助材质UV偏移,即可实现分屏(4个)播放一个视频对应每部分的效果

二、UE4中制作视频分割播放效果

     1.导入做好的Plane(新方法只需使用引擎自带的Plane即可)、播放的视频文件,创建媒体播放器、媒体纹理、蓝图和材质。

【UE4】使用材质UV偏移实现视频分块播放

     2.蓝图创建Instance Static Mesh,创建4片屏幕,每片间隔100cm

【UE4】使用材质UV偏移实现视频分块播放

 

【UE4】使用材质UV偏移实现视频分块播放

    3. 制作材质球,使用Object Position和VertexInterpolator获得每个Instance Plane的世界坐标(我将该蓝图放在了零点,下面是相对于零点的坐标计算),除以屏幕XY方向的总长度,可得到该屏在整个视频UV中的位置(UV值是0到1),然后偏移UV图得到每片屏对应的那部分视频。

【UE4】使用材质UV偏移实现视频分块播放

 

【UE4】使用材质UV偏移实现视频分块播放

 

【UE4】使用材质UV偏移实现视频分块播放

    4.在蓝图时间图表中设置,新建Media Player类型变量,控制视频播放

【UE4】使用材质UV偏移实现视频分块播放

Tips:可用DebugFloat2Values调试显示节点值

【UE4】使用材质UV偏移实现视频分块播放

    如何理解Texcoord节点可参考https://blog.****.net/qq_31788759/article/details/89979418