提问 发文

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

微微菌

| 2023-03-30 19:39 1855 1 3

如果觉得不错的话,点个赞和喜欢吧

实现的效果如下图,我们将场景中的角色显示在了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显示到屏幕上



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

只捕捉角色



捕捉所有内容



捕捉内容排除角色



收藏 1
分享
分享方式
微信

评论

游客

全部 1条评论

悠然 悠然 2023-03-31 00:07
🥛学到了👍👍
回复
10603

文章

10.55W+

人气

19

粉丝

1

关注

官方媒体

轻松设计高效搭建,减少3倍设计改稿与开发运维工作量

开始免费试用 预约演示

扫一扫关注公众号 扫一扫联系客服

©Copyrights 2016-2022 杭州易知微科技有限公司 浙ICP备2021017017号-3 浙公网安备33011002011932号

互联网信息服务业务 合字B2-20220090

400-8505-905 复制
免费试用
微信社区
易知微-数据可视化
微信扫一扫入群