赞
踩
不说废话,先上个演示图
假如你头上是块白色并且可以透视的平地,来了个非洲兄弟踩上面,你拿起单反对着上面拍了一张,照片如下
把脚印稍作翻转(因为需要的是从上往下看的图),然后用打印机打印照片,垫在黑人兄弟脚下之后得到
再试试用3D打印机,白色的地方堆高点,脚印的地方留个黑色凹槽,然后变成了
没错,原理就是这么简单,你可以开始跟着做了。
1.先新建一个新的ThirdPerson蓝图项目,把建筑都删掉,新建一个中心在原点的地形
(我们先把地形中心,人物,SceneCapture都放在原点位置,这样翻转UV的时候会好理解一点,后面我们再考虑上坐标的偏移)
2.新建一个SceneCapture2D蓝图类,将SceneCaptur2D蓝图类拖入到场景中,设置坐标(0,0,-500),Y轴旋转90度,这样就使其在地面下并且镜头朝上了。
3.进入蓝图,将CaptureComponent2D组件的投射类型改为正交,宽度可以暂时设为2048(也就是之后雪地的最大宽度)
4.在资源管理器中新建两个RenderTarget,按1,2排序,2会用到。然后在CaptureComponent2D中绑定RendetTarget1,并将CaptureSource改为Final Color。
5.新建一个材质名为Depth,将MaterialDomain改为Post Process(后期处理),添加到CaptureComponent2D的后效材质数组中
6.新建一个材质Snow,将其设置为Two Sided(两面的),然后放到地形上。如果不设置成两面的,等会在地形下方的相机就看不到地形,捕捉不到地形的场景深度。
7.Depth材质解析
8.现在新建一个UserInterface-WidgetBlueprint(控件蓝图),也就是一个UI界面,拖入一个Image,并将其的Image引用选为RenderTarget1,然后记得编译。
9.打开一开始创建的SceneCapture2D蓝图,在GameBegin时将这个UI添加到视窗上。
现在运行游戏应该可以看到我们要的初步照片了
我们再把检测的深度参数Depth由20改为200试试
(这里注意:这里相机从下往上每个像素点检测到的自定义深度是取离相机最近的一个,也就是说从下往上看被脚掌挡住的部分,比如脚脖子,跟腱等等,检测到的自定义深度就是脚掌离相机的距离,显示黑色,只有在脚掌之外的部位被检测到,才会显示更淡的颜色。)
下一篇:
[UE4蓝图][Materials]虚幻4中可互动的雪地材质完整实现(二)zhuanlan.zhihu.comCopyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。