马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?注册帐号
x
本帖最后由 幻雪OTOKO 于 2017-5-23 13:06 编辑
好烦,ue上论坛自己写的不能一起考过来图片还的重新传一遍,真烦!!在蛮牛上学到了很多,得到了很多,这次自己也来分享下
之前在各论坛上发问题求问过,也在ue4的answer hub上问过,都没人回答过,不知道这是太简单了,还是怎么的。最近google到实现方式,自己也动手做了一遍,就拿来分享下。
现在可以实现的有两种方式:
1.加载分离的level,太耗性能,体验不好,不考虑,估计实际项目也不会参考。
2.利用UE4自带的Scene Capture 2D实现,如果有用过unity的应该很清楚,Unity是利用Rendertexture和Camera来实现的,方式很类似。Unity没源码,UE4也最近开始碰c++部分,所以原理部分就不太清楚,但我猜估计是利用后台缓存来实现的。
先来看实现效果:红圈圈出来的实在umg上显示的image,(ps:模型发光,我是用官方的battery collector实现的例子做的)
123541hh40sseeydyoeh4x.png (456.01 KB, 下载次数: 43)
2017-5-23 13:03 上传
UE4版本为4.12
实现步骤:
1.创建一个Scene Capture 2D,在Scene Capture 2D前方放一个3D object:
124334qa8zxey00r0g007g.png (83.24 KB, 下载次数: 45)
2017-5-23 13:03 上传
在modes上搜到Scene Capture 2D,拖到场景中,再在Scene Capture 2D前方放一个3D object
如下图
124540w3katag4ytyo5dtc.png (362.02 KB, 下载次数: 35)
2017-5-23 13:04 上传
Scene Capture 2D物体上有些参数需要设置一下,这个可以自己去研究下
2.生成一张RenderTextureTarget2D:
点击Scene Capture 2D,在Scene Capture类型下,点击texture target下生成RenderTextureTarget2D,下面的是我已经生成好的
124947u1dtd9a7d0xd5mo5.png (595.18 KB, 下载次数: 37)
2017-5-23 13:04 上传
125113svzvmc2zwjcwhcaj.png (316.74 KB, 下载次数: 43)
2017-5-23 13:04 上传
3.创建Material,把该material赋给UMG上就好了
接下来的就更简单了,创建一个material,material的设置为如下
125415tskjsnozd9mttr1r.png (396.9 KB, 下载次数: 52)
2017-5-23 13:04 上传
接着在UMG上创建一个image,在吧material赋值给该image就行了
125705ao4no4gtsr49fv3n.png (511.62 KB, 下载次数: 52)
2017-5-23 13:04 上传
在分享一个不用开vpn也能打开的网址,里面的实现方式很类似,可以参考一下
Render 3D objects in UMG Widget/HUDhttps://engineunreal.wordpress.com/2015/04/21/render-3d-objects-in-umg-widget-hud/