【UE4】3D角色显示在UI中

一、前言

UE4版本:4.20.3(二进制版)
平台环境:windows
其实任何版本、环境应该都可以,职业习惯而已。

二、原理

基本原则:将你的3D模型捕获为一个2D图像,然后你就能够在UMG Widget中使用该图像。
步骤:

  1. 创建 scene capture blueprint
  2. 捕获到2D纹理
  3. 从这个纹理创建一个材料
  4. 在UMG Widget中使用这些材料。
    【UE4】3D角色显示在UI中

三、详细步骤

首先建立一个“第三人称”为基础的UE4工程。以下所有操作全部是在蓝图上实现,不涉及c++,对于没学过或者不熟悉c++的,不需要害怕。

1. 创建 scene capture blueprint

建立一个基于Actor的蓝图类,命名为”RecordingActor”,双击打开。
在“ViewPort”(视口)下,添加组件如下图:
【UE4】3D角色显示在UI中
调整相机初始位置,这里是为了人物能完全显示在2D texture上:
【UE4】3D角色显示在UI中
选用Mesh,并调整位置:
【UE4】3D角色显示在UI中
创建实例,location设置为10000000以上即可,这里设置是为了去除人物背景,放在一个没有光照的地方:
【UE4】3D角色显示在UI中

2. 捕获到2D纹理

设置捕捉的范围:45.0最佳,新建RenderTarget2D:
【UE4】3D角色显示在UI中
【UE4】3D角色显示在UI中
打开文件“NewCanvasRenderTarget2D”,修改像素:

【UE4】3D角色显示在UI中

3. 从这个纹理创建一个材料

右键单击,创建材质,命名“PlayerMaterial”:
【UE4】3D角色显示在UI中
【UE4】3D角色显示在UI中

4. 在UMG Widget中使用这些材料

创建UMG Widget蓝图,并命名“UI_PlayerWidget”, 修改屏幕尺寸后,选用控件“Image”
【UE4】3D角色显示在UI中
至此便完成了效果。
你可以在其他蓝图,调用这个UI了, 效果如下:
【UE4】3D角色显示在UI中

相关文章: