在U3D中使用RenderTexture与相机配合使用,就可以将相机的画面显示到UI中,用来制作一些动态显示模型效果功能。找到了一个类似的方法在UE4中实现了操作。
一、创建TextureRenderTarget2D(渲染目标2D)命名为RenderTexture2D。
双击打开RenderTexture2D设置TextureRenderTarget2D的尺寸X.Y,这里影响的是画面的清晰度,
二、在模式面板搜索scene capture 选择 scene capture2D (场景采集2D),并将相机拖拽到场景中
三、创建过场动画,命名为MatineeTest,
1.将场景中创建的SceneCapture2D,添加到过场动画轨迹中,并添加变换
2.录制过场动画内容,这里示例以距离运动为例
注意:不需要添加相机切换轨迹
四、场景中选中ScenCapture2D 细节面板设置ScneCapture 纹理目标,可以选中拖拽,或者是通过下拉菜单选择。
五、创建材质,命名为RenderTextureMat。
1.在材质面板,将材质域设置为用户界面
2.将RenderTexture2D,拖拽到材质编辑面板中,并将RGB与最终颜色连接。完成后保存
五、创建Widget,命名为ShowMatineeWidget。
六、使用通用/图像,创建控件
1.设置Image大小
2.在Appearance面板,图像选择RenderTextureMat材质球。拖拽或者自己搜索选择。
预览界面可以看到图像。
为了更清晰的看到效果,我在Image后放置一个大的白色的图片做图片。
七、编辑显示控件及播放过场动画逻辑蓝图
1.方便测试,将过场动画直接扔到场景中,使用关卡蓝图进行演示
运行效果
场景中的相机还是可以看到场景,也可以控制移动。
遗留问题:使用CanvasRenderTarget2D也可以实现效果,对于CanvasRenderTarget2D暂未使用过。有待学习。