MobileFastShadow是一个用投影的方式实现阴影效果的插件,除此之外,这个投影还可以打在不受光的材质上面。可以调高游戏性能
1.导入资源,可以选择把Examples内的示例文件都导入进来
2.为了防止和Unity内部的影子重叠,先ProjectSetting下关掉Unity的原有影子
3.新建一个空物体,挂上MobileFastShadow脚本
挂上脚本之后会自动附带上
Camera和Porjector组件,Camera是用于捕捉屏幕内容,并根据这个内容生成对应的阴影,可以理解为Camera是灯光位置,Camera的朝向是灯光朝向
5.调整脚本
1.FollowTarget为跟随对象,添加了的话就是这个生成阴影的灯光,会一直跟随指定对象生成阴影
2.LayerCaster,即是这个灯会捕捉到什么Layer的对象从而产生影子,他会修改同一个对象上的Camera的CullingMask,以达到剔除某些东西不产生影子的目的
3.LayerIgnoreReceive,即是这些影子不会打在什么Layer的对象上,即哪些对象是不会受到影子的,他会同步修改Projector上的IgnoreLayers,从而达到目标对象不产生投影的目的
4.Direction为跟随时候的光源方向,不跟随的话直接调整这个对象的朝向就行了。
5.ProjectionSize,就是阴影范围。修改会同步修改Camera的视窗和Projector的视窗
当挂载上MobileFastShadow后,选择那些对象会受到影子,那些对象不接受影子,把这些对象置于上面所说MobileFastShadow脚本的相机里面,就会通过投影生成影子了。
一般不会生成影子的原因,那个对象不再MobieFastShadow的相机范围内,还有就是被设定在LayerIgnoreReceive的层级下