您的位置:首页 > 移动开发 > Unity3D

Unity移动端实时阴影绘制

2014-12-28 08:51 423 查看
大家知道,在Unity里可以通过设置Directional Light里面的选项出现实时阴影,在PC端可以运行的非常好,但是如果将其放到移动端,移动端目前的硬件还不支持实时阴影的绘制,这就需要我们自己想办法解决在移动端的实时阴影绘制,接下来给大家说一下,实时阴影是如何在移动端绘制的。
先给大家看一幅图片:



首先给一盏灯光,灯光照射到物体后,会在地面有个接收阴影的面或者Plane或者Terrain。都可以作为接收。
如果有障碍物的话也可以将其投射上去。如图所示:



在程序运行的效果图如下所示:



接下来我们开始实现,首先我们需要一个Projector组件,这个组件是Unity提供的。



我们还需要一个接收的材质,



我们还需要一个接收阴影的脚本。如下所示:



有了上面这些我们就可以实现实时阴影了。



以上方法只是对圆球体有用,物体也是会投射成圆球体,这不是我们需要的,我们需要是对任何物体都可以的,这就需要我们自己去实现Proector。效果如下图:



代码示意图:




这样实现的阴影效果图,可以在手机端运行,而且帧数足够满足。代码后面奉上。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息