[转]Unity3D学习笔记(四)天空、光晕和迷雾
原文地址:http://bbs.9ria.com/thread-186942-1-1.html
作者:江湖风云
六年前第一次接触《魔兽世界》的时候,被其绚丽的画面所折服,一个叫做贫瘠之地的地方,深深印在我的脑海里。当时在艾泽拉斯大陆还不能使用飞行坐骑,试想一下孤身一人在银色的月光下赶路,可能还有你的战斗小伙伴,静谧的夜晚,皎洁的月光,一起走过了六年……即便是现在回想起来,浮现在脑海中的不是T123456S123456,而是十字路口的夜空。
回到正题,在Unity中要创建这样的效果并不困难,用专业一点的术语讲就是只需要创建一个天空盒,并给予它天空纹理即可。通俗一点来讲,就是在我们的前面几章创建的地形四周罩上一个立方体盒,并把盒子上面添上星空的照片就搞定了。有软件可以将魔兽世界的素材提取出来,然后加以利用到我们自己的游戏中。
不过这一章我并不准备讲述这些,因为主题是为了把天空盒和镜头光晕的知识点整理一下,如果有时间,我会另写一篇关于如何使用强大的”Wow Model Viewer”来导出魔兽世界的模型、贴图等素材,并导入到Unity中。其实具体操作并不困难,心急的朋友们可以去google code下载这个软件:http://code.google.com/p/wowmodelviewer/downloads/list
Unity自带了好几种天空盒,从白天到黄昏再到夜晚,拿来做场景练习已经完全够用了。要使用天空盒素材,只需要导入Skyboxes素材包即可(至于如何导入可以参考我之前的笔记,每次都重复一遍略显蛋疼^_^)。导入成功后可以在项目资源面板的“Standard Assets->Skyboxes”目录下看到好多天空盒素材,Unity已经把盒子都造好了,我们直接拿来用就OK,非常人性化。
接下来要把天空盒素材添加到游戏场景里,有两种添加天空盒的方法,这里先写比较容易理解的一种,另外一种将在以后写预设和组件的时候再解释。
点击主菜单“Edit(编辑)->Render Settings(渲染设置)”,检视面板视图里就会出现渲染设置选项了,注意有个Skybox Material(天空盒材质)选项,点击它右边的小圆圈,就会弹出选择天空盒材质的对话框。单击任意一个材质球,设计视图中会立即提供预览,双击则表示确认使用,相当便捷。
光这样是不够的,还记得之前添加的”线性光”吗?没错,就是那个“无限远、无限大类似于太阳的手电筒”^_^。它现在正静静地躺在层次面板中默默地燃烧自己,照亮世界,它不叫雷锋,它的名字叫做Directional light。这个名字有点拗口,选中它并按快捷键F2修改,换成Sun,就把它当作游戏里的太阳。细心的朋友会发现,太阳光的方向和天空盒上那个假的太阳的方向不一定会一致,可能导致太阳的位置和影子的位置有悖现实,所以必须手动调整,让它们重合。
这里提供一种便捷的方法,首先在设计视图中拖动视角,让镜头中心对准天空盒上的太阳,然后在渲染设置中临时将天空盒设置为无(为了方便调整Sun的角度,否则天空盒太亮看不清楚)。然后选中Sun并使用旋转工具(快捷键E),将光线的方向正对自己,然后再将天空盒恢复即可。这样一来就不会闹太阳和影子在同一个方向的笑话了。
玩过摄影的朋友应该都有这么个常识,当把镜头着阳光时,可能会出现一个或者多个七彩光环的光晕现象。百度一下光晕,发现全是关于某个游戏的@_@,好不容易找到张照片,就委屈一下大妈您嘞。右上角就是传说中的光晕啦。导入Unity自带的素材包“Light Flares(闪光)”,选中线性光“Sun”,在Sun的检视面板中找到Flare属性,选择一个光晕图片(我选的是50 mm Zoom),当当当当~看看天上的太阳,是不是耀眼多了?
完成光晕之后顺便把迷雾之类的设置也了解一下吧,所谓“欲穷千里目,更上一层楼”,放在当今城市里已经不太合适了。因为污染呀,各种细小的粉尘漂浮在空气中,平时可能难以察觉,但是当举目远眺的时候就会发现远处根本就是一片迷茫嘛,跟大雾天一样的。在Unity的渲染设置中可以方便地调节这种迷雾的效果,甚至可以改变颜色和浓度等等:
- Fog(是否启用迷雾效果)
- Fog Color(迷雾的颜色)
- Fog Mode(迷雾模式) 可以选择“Linear(线性)”、“Exponential(指数性)”、“Exp2(指数性2)”三种渲染模式,具体动手尝试一下即可,差别不是很大。
- Fog Density(迷雾浓度)
- Linear Fog Start(线性迷雾起始距离)
- Linear Fog End(线性迷雾终止距离) 当选择线性的迷雾模式时,这两个参数表示了相对于镜头的迷雾的范围。在这个范围内迷雾的浓度会被平均化,也就是说当范围很小的时候,远处的物体会很清晰,近处的物体反倒一点都看不见。
- Ambient Light(环境光) 调节这个颜色会影响到整个游戏场景的光线,比如调成粉红色的话……就好暧昧啊 哈哈。
- Skybox Material(天空盒材质)
- Halo Strength(光环强度,没弄明白)
- Flare Strength(光晕强度)
- Halo Textrue(光环贴图,没弄明白)
- Spot Cookie(光斑?没弄明白)
最后上张效果图,骄阳似火闷得慌啊哈哈~看来下一章非得加点水不可了:)