Download

如何获取摄像机的内容渲染在umg上

蓝图上好像没有提供这方面的接口吧,
我认为是获取另一个摄像机的内容,渲染在材质上现实望远镜的效果,
不知道在C++里面用的是什么方法,
CameraComponent->get***,
好像没有Rendering相关的方法。

再问一个问题,蓝图的方法,比如说:
setTimeByEvent,
C++代码提示里好像没有。

蓝图里能返回多个类型变量的函数,是结构体吗?

没有直接的方法,但是可以用2d贴图获取摄像机图像,再在umg里用img获取2d贴图

用2d贴图获取摄像机图像?请问你是用getGameraView的方法吗,这个方法返回的结构体里,好像没有材质
可以截图看看正确的操作流程吗

两种做法。

  1. SceneCapture2D,使用这个东西然后指定RenderTarget。在Material中使用这个RenderTarget,最后将这个Material放在UMG中。

  2. 西山居做了一个对应的插件FrameCapturer,已经放在了Github上,传送门](https://github.com/RealGameLab/FrameCapturer)。

正常来说,就是用SceneCaputre2D,可以把SceneCapture2D看成Camera,抓下来的图如果是作为材质继续放3D场景用的,因为会经过最终的PP做tonemapping,所以请用HDR,如果是给UMG用的,那么就用LDR。
西山居那个插件是用来满足Blur UMG自己本身控件的,这个在4.15的版本里引擎有一个更通用更高效的实现,可以直接作为一个Widget使用。