UE4-在UI(UMG)中显示场景中的物体/3D模型

实现的效果如下图,我们将场景中的角色显示在了UI上,且不显示其他背景

UE4-在UI(UMG)中显示场景中的物体/3D模型_第1张图片

首先,创建一个第三人称模板,打开角色蓝图,添加一个场景采集组件2D(SceneCaptureComponent2D)

将其置于角色的前面,朝向角色(可以想象成摄像机,这里就是做图像的采集)

UE4-在UI(UMG)中显示场景中的物体/3D模型_第2张图片

该组件的细节面板中有这几个参数需要重点看一下:

Texture Target:这里是把相机采集到的图像传出去,可以是RenderTarget、CanvasRenderTarget、

CompositeMode:这个是图像合成模式,使用默认即可,可以自己调试看看

PrimitiveRenderMode:渲染模式,HiddenActors数组和ShowOnlyActors数组在细节中选不到,需要到蓝图中进行设置

  • Legacy,使用黑名单(HiddenActors数组)           {摄像机不捕捉某些Actors
  • Render Scene Primitives,原始渲染                  {摄像机捕捉所有Actors
  • Use ShowOnly List,使用白名单(ShowOnlyActors数组)(我们选用这一选项)   {摄像机只捕捉某些Actors

CaptureSource:捕获源

  • SceneColor(HDR)in RGB,Inv Opacity in A(选用默认即可,空间颜色写到RGB,透明度写到A)

UE4-在UI(UMG)中显示场景中的物体/3D模型_第3张图片

UE4-在UI(UMG)中显示场景中的物体/3D模型_第4张图片

这里选用白名单的方式,即在白名单中添加角色蓝图,

给白名单添加名单的方式有:

1.直接ADD Actor,添加想要渲染的组件

UE4-在UI(UMG)中显示场景中的物体/3D模型_第5张图片

2.Set该数组,并把数组公开给编辑器,在场景中添加想要渲染的Actors

UE4-在UI(UMG)中显示场景中的物体/3D模型_第6张图片

UE4-在UI(UMG)中显示场景中的物体/3D模型_第7张图片

制作渲染结果的RenderTarget和材质

创建RT:以下两种资源都可以

UE4-在UI(UMG)中显示场景中的物体/3D模型_第8张图片

把相机捕捉到的结果传给RT

UE4-在UI(UMG)中显示场景中的物体/3D模型_第9张图片

RenderTarget中有几个参数需要注意:

SizeX/Y:渲染纹理的分辨率,这个数值越高纹理越清晰,当然性能消耗也越高

RenderTargetFormat:渲染目标格式,默认即可,也能自行调整:8位、16位、32位

TextureGrupd:选择UI

UE4-在UI(UMG)中显示场景中的物体/3D模型_第10张图片

利用渲染结果创建材质球

UE4-在UI(UMG)中显示场景中的物体/3D模型_第11张图片

UE4-在UI(UMG)中显示场景中的物体/3D模型_第12张图片

采集的目标Alpha为0,没采集到内容的Alpha为1,透明度进行反转

创建UMG蓝图

UE4-在UI(UMG)中显示场景中的物体/3D模型_第13张图片

添加Image图片控件,选择刚刚创建的材质球

UE4-在UI(UMG)中显示场景中的物体/3D模型_第14张图片

关卡蓝图中将UMG显示到屏幕上

UE4-在UI(UMG)中显示场景中的物体/3D模型_第15张图片

将角色蓝图放入场景查看效果:(只捕捉角色,因为白名单只有角色,可以根据自己的情况选用白名单/黑名单/场景内容,以达到不同的效果)

只捕捉角色

UE4-在UI(UMG)中显示场景中的物体/3D模型_第16张图片

捕捉所有内容

UE4-在UI(UMG)中显示场景中的物体/3D模型_第17张图片

捕捉内容排除角色

UE4-在UI(UMG)中显示场景中的物体/3D模型_第18张图片

 

 

 

 

 

 

 

 

你可能感兴趣的:(UE4)