【UE4】使用Composure插件在场景或UI中实时显示CineCamera画面

RenderTarget(渲染目标)默认只能使用SceneCapture2d(场景捕获2d)相机传输画面,查过资料以后发现可以使用官方的Composure插件来实现把CineCamera(电影相机)的画面传给RenderTarget。然后使用RenderTarget创建的材质将画面放入场景或UI中。

使用新建第三人称模板演示

启用Composure插件并重启 

打开Window→Composure Compositing 

 右键空白处,点击Create New Comp

 点击Empty Comp Shot

 右键创建的0010_comp,点击Add Layer Element

弹出的窗口选CG Layer

 可以看到场景中也有了刚才添加的东西

选中场景中的0010_comp,Composure→Input→Target Camera Actor里为None。选择一个需要的相机。(如果知道SceneCapture2d相机的用法的话这里的相机就相当于一个SceneCapture2d相机。)

这里我在场景中新建一个cine camera并选择。

 选中场景中刚才新建的cg层,可以看到浏览里已经有了画面。CameraSource显示的是继承。自动继承了父级0010_comp选中的摄像机。画面有点模糊的话,自行调整一下cine camera的焦距。

到这一步输入已经完成,接下来将画面输出到RenderTarget。

点击场景中的0010_comp,会发现画面还是空的

 展开

Composure→Transform/Compositing Passes,添加Transform Passes

 添加后默认为Compositing Element Material Pass,如果不是,在下拉菜单里选中此项

 展开添加的TransformPass,可以看到需要一个材质。

新建一个材质球并赋给Material项。

 双击新建的材质球进入编辑界面,左下角Material→Material Domain选择PostProcess

 右键空白处,新建TextureSampleParameter2D纹理采样器 

 使纹理采样器名字与cg层保持一致

 连接至EmissiveColor,应用并保存。

回到场景,可以发现0010_comp已经有画面了

 展开Composure→Output,添加Output项。OutputPass选择RenderTargetCompositingOutput

 展开OutputPass可以看到需要一个RenderTarget

新建一个RenderTarget并使用RenderTarget创建一个材质

 把新建的RenderTarget赋给OutputPass里的RenderTarget

最后在场景中新建一个plane(平面),把用RenderTarget新建的材质赋给平面,可以看到已经可以实时同步显示CineCamera的画面了。

 也可以根据需要把材质域改为UserInterface,放进ui中使用。

用这个方法可以成功的把CineCamera的画面传给RenderTarget。

测试时使用4.26和4.27版本。实际测试中发现色温和滤镜变化后,画面不会同步显示。

更多Composure具体使用方法参考官方文档
实时合成工具
https://docs.unrealengine.com/4.27/zh-CN/WorkingWithMedia/IntegratingMedia/Composure/Overview/

实时合成工具快速入门
https://docs.unrealengine.com/4.26/zh-CN/WorkingWithMedia/Composure/QuickStart/
————————————————
版权声明:本文为CSDN博主「Shiyoku」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Shiyoku/article/details/121699097

猜你喜欢

转载自blog.csdn.net/qq_21743659/article/details/124422007