Unity5学习心得-光照

来源:互联网 发布:淘宝企业店铺缺点 编辑:程序博客网 时间:2024/05/20 11:24

Unity5学习心得-光照

很多手游中,是没有光照的,或者只有很少的光照(比如只有一个方向光)。原因是手游GPU毕竟效能有限,在有限的效能中,绚丽的特效会是策划和美术的首选,能够给游戏加分。然而,在端游中,光照其实在场景中使用的非常普遍,除了方向光之外,还有点光源、聚光灯、天空盒等光源信息,在烘焙方式上,还有静态光(在游戏运行中不会对动态的物体产生光照效果)和动态光之分。灯光师,在欧美的游戏团队中是必不可少的,影响着场景的美感。
Mesh和texture决定了物件的形状和外表,光照则决定了整个场景的氛围,白天、黑夜、黄昏、黎明,都可以通过光照来构建出来。每个场景都将会拥有不止一个光照信息,然后搭建起来会比较复杂,但是效果将会是非常好的。


Unity中的光照

在编辑器的GameObject中,可以选择创建一个光源,创建的时候可以选择创建点光源、方向光、聚光灯或者区域光,创建了之后和操作其他GameObject一样,可以调整其属性等。另外,还可以给已有的GameObject添加光component。


Surface Shader

光照的计算都是在shader中,所以shader除了计算物体本身的颜色之外,还要计算物件与光照之间的交互。由于有许多光照类型,所以写一个可以用的shader还是很复杂的,不同的光源类型、不同的阴影选项、不同的rendering path,所以unity提供了surface shader,会自动的处理光照、阴影、lightmap、直接或者延迟渲染。
Surface Shader其实就是一个代码生成器,可以比用VS/PS写光照shader更简单。使用的语言依然是CG或者HLSL。


Rendering paths

Unity支持多种rendering paths,不同的rendering path,将影响着光照和阴影。开发者可以根据自己的需求选择合适的rendering path,以提高游戏的性能。


0 0