开启Fog(雾效)将会在场景中渲染出雾的效果,在Unity中,可以对雾的颜色、密度等属性进行调整。开启雾效通常用于优化性能,开启雾效后远处的物体被雾遮挡,此时便可选择不渲染距离摄像机较远的物体。这种性能优化方案需要配合摄像机对象的远裁切面设置来使用。通常先调整雾效得到正确的视觉效果,然后调小摄像机的远裁切面,使场景中的距离摄像机对象较远的游戏对象在雾效变淡前被裁切掉。
在Unity中,开启雾效的方法非常简单,依次打开菜单栏中的Edit->Render Settings,在Inspector视图中会显示出Render Settings的参数面板,勾选Fog复选框即可开启雾效,如下图:
Fog Color:雾的颜色
Fog Mode:雾效模式,有3项,可以一个个试下,看下效果
Fog Density:雾效浓度,取值0-1之间
Linear Fog Start:线性雾效开始距离
Linear Fog End:线性雾效结束距离
效果如下图:
下面我们来看下水效果,水效果在游戏中频繁使用,游戏中的河流、海洋、湖泊、池塘等都属于水效果,使用unity可以非常方便地创建出逼真的水效果。Unity提供了两个水资源包,分别使Water(Basic)基本水资源以及Water(Pro Only)高级水资源。如下图:
我们先看下Water Basic,导入资源包,如下图:
资源包被导入后,资源包中包含两个水资源预设体,分别使Daylight Simple Water(日间基本水效果)预设体以及Nighttime Simple Water(夜间基本水效果)预设体,通过两个预设体的名称,可以得知两个预设体分别用于模拟简单的日间水效果以及简单的夜间水效果,将两个预设体依次添加到场景中生成实例,基本水效果预设体不能对游戏场景中的天空盒以及游戏对象等进行反射、折射运算,但使相对高级水效果而言对系统资源占用较小,如下图:
高级水资源Water Pro和刚才Water Basic导入一样,高级水效果预设体能够对游戏场景中的天空盒以及游戏对象进行反射、折射运算,效果非常真实,但是相对基本水效果而言对系统资源占用较高。
下面我们具体看案列,导入现有的场景,场景中使没有河流的,如下图:
我们导入高级水资源包,把daylight water预设体拖进场景中,如下图:
我们发现桥下已经有一条河流了,并且水中有倒影,我们可以调整一些属性来达到我们想要的效果。
下面我们来看下如何添加音效,导入现有的场景,场景中山坡的位置已经添加了模拟水流的粒子,如下图:
如果要在场景中播放声音,需要为发出声源的游戏对象添加Audio Source组件,我们先在水源的附近创建一个空对象,然后为这个空对象添加Audio Source组件,如下图:
选中这个对象,在Inspector视图Audio Source组件参数面板中单击Audio Clip(音频剪辑)项右侧的圆圈按钮,进而在弹出的对话框中为组件指定音频剪辑,如下图:
为这个对象指定音频剪辑后,场景中就可以监听到水流的声音了,然后勾选Loop循环选项,这样就可以循环播放音效,
Unity支持立体音效,按住鼠标右键不放,通过键盘WSAD在场景中移动,可以测出来立体声音效效果,即距离声源对象越近,监听到的声音就越大,反之就越小。但是即使距离声源对象较远的位置仍然可以监听到较大声音,这是因为声源停止衰减最大距离的范围过大,默认值为500m,我们将Max Distance项的数值改到25m,如下图:
经过上一步骤的设置,解决了声源距离衰减的问题,但是在声源停止衰减最大距离周围依然可以隐约听见流水的声音,这是因为曲线上距离声源25m位置的节点其纵轴的数值是大于0的,所以我调节曲线到0,如下图:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~