人物选择光圈

投影仪(Projector)和我们日常生活中使用的投影仪类似,将贴图投影至任意物体上。Effects包中包含Projectors文件夹,该文件夹包括常用的一些投影仪以及资源。

在3D游戏开发中,经常需要实现选取人物后人物脚下的旋转光圈。

投影仪

原理
Projector能将一个Material投影到所有在设定的平截头体内的物体上,通常包含两张贴图Cookie和Fallofr,Cookie就是投影的图案,Fallofr的作用主要是根据距离来决定投影的明暗(Alpha),Falloff边为白色,Alpha值为1,表示投影距离最近时最亮,右边接近全黑。Alphat为0,表示投影距离变远时投影会渐渐接近透明甚至看不见。

2.使用范围
Projector适用于角色脚下的黑色圆点阴影(Blob Shadow)、角色选择光圈、投影仪和手电筒等

3.圆点阴影
Unity的实时阴影效果是非常好的,但是在旧的设备上实时阴影会造成卡顿甚至不能显示我们可以用Projector在人物脚下投射一个大黑圈作为阴影

打开场景11.10并另存为17.5.3,将场景中Directonal Light和Point Light的Shadow Type设置为No Shadows.关闭实时阴影,如图17-12所示,角色脚下已没有阴影。

选中Player父游戏对象,在Inspector窗口的右上角点击Layer右侧的下拉按钮,在下拉菜单中点击”Add Layer..”.,并将User Layer&设置为Player,再次选中Player父游戏对象,将Layer设置为Player并应用于所有子游戏对象。

新建空的游戏对象,命名为Projector并置于Player下,为其添加Projectort件,新建材质并命名为projcctor shadow,将Shader设置为”Projector/Multiply”,将Cookie设置为Shadow贴图,将Fallor设置为Fallof站图,将Projector里的Material设置为projector shadow,在Scene窗口中调整Projector的位置为人物头上方,并使Z轴朝下,设置Field OfView.使阴影匹配人物的大小,如阁17-13所示。

和图17-12对比可以发现,人物的脚底下已经有了影子,但是人物本身也被打上了黑色,这并不是我们要的效果,于是在Inspector窗口中的Ignore Layers栏勾选Player,如图17-14所示再运行场景,效果是不是不错呢?

人物选择光圈

如果用普通面片模型来选择光圈,并置于地面上方,就会被物体挡住,达不到效果。而用Projector实现的选择光圈则不会有这个问题。

0%