在项目中我们想要显示阴影,但是unity中的实时光太耗费渲染,于是就想其他方式去实现阴影,多次总结想到一种办法,总结如下,以便下次使用。
此方法就是利用摄像机记录场景物体,将其记录在一个Render Texture上,经过处理深度信息,用投影组件将处理过的图像投射在地面上,从而形成阴影。
注意事项:
1.摄像机最好设置成2D相机,背景用单色渲染,只需要渲染想要展示阴影的Render;
2.投影仪投射最好有个角度,否则阴影可能被物体遮挡;
3.切记只有地面可以接收投影组件投射的阴影,用Layer做区分;
中间用到的shader就是简单处理深度信息形成一张关于深度的黑白图,之后投射地面上就好了