问题描述:
使用media texture将一段视频作为材质赋予网格,然后进行播放。在编辑器中预览时动画是正确的,而当使用Sequencer对场景进行输出的时候,这段场景中的视频的播放速度会远远快过于实际的速度。
原因分析:
这个问题并不是由BUG产生的。
由于Unreal播放视频实际是使用操作系统自带的播放器播放的而不是在引擎内部进行播放。
所以当我们在引擎中渲染一段已经预渲染好的视频的时候,这个视频实际上会以视频实际的帧速率(比如每秒24帧)播放(因为预渲染的视频是在引擎外部播放的),而引擎输出图像的渲染时间往往会大于正常的播放时间(每秒渲染的帧数小于24)。
所以最终输出的成片中,预渲染的序列的速度会快于整体速度。
解决方法:
目前可行的解决方法是使用预渲染的图片序列代替预渲染的视频。
当然这样做的缺点是需要导入文件的体积会大大的增加,此外并且内存的占用也会相应增加。但是由于是输出渲染视频并不追求实时播放,因此也不失为一种方法。
Unreal导入图片序列的方法:
播放图片序列
Unreal导入视频的方法:
播放视频
Unreal论坛上对于这个问题的讨论:
Media Player speed on Sequencer Render out