【UE4】使用材质UV偏移实现视频分块播放
最终效果图
使用UV偏移实现Instance Static Mesh中的实例使用同一材质球播放不同片段的视频/图片
增大间隔,分开四块Plane模型效果
(简便方法)一、设置材质球中的TexCoord节点的UV缩放值
比如我们想要该模型的UV占比水平竖直各缩放一半,就可设置如下参数,结果同(旧方法一)
(旧方法比较复杂)一、在3dsMax中,制作一个UV占播放大屏四分之一的Plane
1.首先把MAX中的单位与UE设置相同
2.新建一个Plane大小为播放视频的面板总大小,分为四片屏,那么分段数设置为2
3.将轴归零,转化为可编辑多边形,选择多边形,选中其中一个分段片,分离对象
3.可以看到对象已经分离,将轴居中并归零
4.选择UVW展开,打开UV编辑器可以看到该模型的UV只占总屏UV的1/4,选择该对象并导出FBX
接下来只需借助材质UV偏移,即可实现分屏(4个)播放一个视频对应每部分的效果
二、UE4中制作视频分割播放效果
1.导入做好的Plane(新方法只需使用引擎自带的Plane即可)、播放的视频文件,创建媒体播放器、媒体纹理、蓝图和材质。
2.蓝图创建Instance Static Mesh,创建4片屏幕,每片间隔100cm
3. 制作材质球,使用Object Position和VertexInterpolator获得每个Instance Plane的世界坐标(我将该蓝图放在了零点,下面是相对于零点的坐标计算),除以屏幕XY方向的总长度,可得到该屏在整个视频UV中的位置(UV值是0到1),然后偏移UV图得到每片屏对应的那部分视频。
4.在蓝图时间图表中设置,新建Media Player类型变量,控制视频播放
Tips:可用DebugFloat2Values调试显示节点值
如何理解Texcoord节点可参考https://blog.****.net/qq_31788759/article/details/89979418