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

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

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

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

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

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)

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

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

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

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

制作渲染结果的RenderTarget和材质

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

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

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

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

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

TextureGrupd:选择UI

利用渲染结果创建材质球

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

创建UMG蓝图

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

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

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

只捕捉角色

捕捉所有内容

捕捉内容排除角色

 

  • 10
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值