ue4 后期处理景深_用UE4来实现虚拟制片技术的实践

最早的第一次应用实践,油管视频链接,:https://youtu.be/qNWVVD3hP4I

B站链接:https://www.bilibili.com/video/BV1Sb41147Ds

—————————————————————————————————

更新2:我的BMD Declink 4k 卡链接:

c305ab70fa785cbb604cc1fabbfd2b79.png

更新1:关于延迟缓冲数组,先文字解释一下,因为画面传过来的信号延迟包括编码解码时间是物理存在的,所以在做帧完美同步的时候,我们能影响的措施只能让Get到的手柄Transform流数据做一个以帧为单位的缓冲池。

为什么是以帧为单位呢,这里有个前提就是SDI流水线是有时间码的,还包括了Genlock这个东西,而UE4引擎配置里面可以捕捉到这个信息,让每个Tick以和画面帧率同步的毫秒步进来更新,这个和Sequence里面后期渲染录制游戏动画是一个概念。所以以25FPS来举例,每个Tick的间距频率就是40ms,引擎会锁定这个刷新频率。

而这个缓冲池的逻辑蓝图,做的工作就是在每个Tick获取到手柄Transform以后,先把它存到数组的末尾位,而数组是有固定长度的,可以按自己需求设置。然后,当数组满了时候,就把第一把交椅,首位Index0的数据踢出去,2号3号以及后面位的值。。。依次升位,这样处理完后,最后才是去数组里面取一个序号,来实际应用到当前帧的相机Transform计算函数中提交的那个“手柄当前transform里面”去,所以这个引号可以理解为在函数老师开始处理数据的时候,他拿到的输入数据被你提前处理了。延迟多少帧就从尾到头去数数组的序号取值。

46959a4c2d0b11fc6b75f5a4f1ba08b3.png

延伸操作:明白Genlock的目的也不一定要完全按SDI帧率来lock引擎的刷新频率,可以是SDI帧率的整倍数,在引擎General设置里面手动设置为SDI帧率的倍数(比如两倍),同时在蓝图里Tick后面稍作修改让Tick进入上图的脉冲忽略一次执行一次忽略一次执行一次,就可以让游戏画面是相机画面的两倍,就会更流畅,前提也是显卡够流畅要游戏场景稳定的跑得到SDI两倍帧率以上。

以下为正文—————————————————————————————————

快一年多没写东西了,现在看的比较多,点赞总是比写文字容易的。最近比较闲就写一写一年前在这方面做的尝试,以及实现过程。Epic官方去年以来也在推这一块,引擎在非游戏行业的应用,城市规划,数据可视化,电影工业等等,当然引擎方也是搭个地基,研究探索还是得靠大家。自从视频发到B站和油管以后,不少国内外的朋友加我问这个系统怎么卖,这个没法卖,原因有二:一是因为使用到了UE4社区的程序达人Rooma的两个Victory插件,我没有权利去商业售卖。二是因为这个系统完全不是出于商业化去做的,更像是一个InStudio工具,没有很合理的人机交互,配置过程也不可傻瓜化。

这个工具是基于4.22版本来写

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值