UE4 ARKit动态光照阴影解决方案(当前版本4.18.2)
UE4.18 ARKit dynamic illumination shadow
先上效果:
正文:
下面说明实现方式:
正常情况下要产生阴影首先需要具备3个条件:1、产生照明和阴影的灯光;2、接受照明的物体;3、接受阴影的物体
第一第二个条件相信大家都没有问题
接下来我们看第3个条件:接受阴影的物体。由于AR状态下我们看到的场景是通过镜头拍摄到的场景,我们放置一个物体在平面上,而实际上这个平面在虚拟空间中是不存在的,于是没有了可接受阴影的平面。所以我们要建一个虚拟平面来接受阴影,那么最严重的问题出现来,虚拟平面如何跟相机拍摄到的内容进行融合呢?
一开始我考虑过用scence color节点来做,把平面背后的图像现实在平面上,但是scence color只能在材质属性为Translucent模式下可用,而在此模式下,物体是不能接受阴影的,所以放弃。
于是想到了第二种方法:把相机的拍到的图像赋予给平面,并匹配显示坐标,材质连接方式如下:
连接好材质后赋予给平面,打包到手机效果就出来了
但是
心细的同学会发现,由于受光照影响,平面还是有微弱的轮廓可以被察觉到。
于是你还要做一下步骤:
修改材质属性为mask模式,展开选项勾选Dither Opacity Mask
如此便有了一个可以接受动态阴影到虚拟平面了
关于移动端阴影问题请参考UE4 定向光(DirectionalLight)下小物体阴影消失或不清晰问题解决方案
作者——Ivan杨杨兮
Q:523166477