【UE4】3D角色显示在UI中
一、前言
UE4版本:4.20.3(二进制版)
平台环境:windows
其实任何版本、环境应该都可以,职业习惯而已。
二、原理
基本原则:将你的3D模型捕获为一个2D图像,然后你就能够在UMG Widget中使用该图像。
步骤:
- 创建 scene capture blueprint
- 捕获到2D纹理
- 从这个纹理创建一个材料
- 在UMG Widget中使用这些材料。
三、详细步骤
首先建立一个“第三人称”为基础的UE4工程。以下所有操作全部是在蓝图上实现,不涉及c++,对于没学过或者不熟悉c++的,不需要害怕。
1. 创建 scene capture blueprint
建立一个基于Actor的蓝图类,命名为”RecordingActor”,双击打开。
在“ViewPort”(视口)下,添加组件如下图:
调整相机初始位置,这里是为了人物能完全显示在2D texture上:
选用Mesh,并调整位置:
创建实例,location设置为10000000以上即可,这里设置是为了去除人物背景,放在一个没有光照的地方:
2. 捕获到2D纹理
设置捕捉的范围:45.0最佳,新建RenderTarget2D:
打开文件“NewCanvasRenderTarget2D”,修改像素:
3. 从这个纹理创建一个材料
右键单击,创建材质,命名“PlayerMaterial”:
4. 在UMG Widget中使用这些材料
创建UMG Widget蓝图,并命名“UI_PlayerWidget”, 修改屏幕尺寸后,选用控件“Image”
至此便完成了效果。
你可以在其他蓝图,调用这个UI了, 效果如下: