unity3d android 实时阴影,Unity移动端实时阴影绘制

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

先给大家看一幅图片:

fd24a428c4902069591f085b49a70c99.png

首先给一盏灯光,灯光照射到物体后,会在地面有个接收阴影的面或者Plane或者Terrain。都可以作为接收。

如果有障碍物的话也可以将其投射上去。如图所示:

c42d2c5a32ff53579724b677bc273856.png

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

e230ae12f83f186b0286fc4f36852f9f.png

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

2c6452137217e41c365e26cfb29296c9.png

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

691037b60f74170d30f9c689c71d8969.png

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

3a13ab0428249cc1df0089b45d1aed90.png

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

e8229c885e3a4817cd85f922aa29db17.png

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

a80585624f4b845926725d08cb0597db.png

代码示意图:

9e54bcdae8f1114f74a15dfc87a6f5c0.png

这样实现的阴影效果图,可以在手机端运行,而且帧数足够满足。代码后面奉上。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值