Unity Shader - Emission 自发光

目录:Unity Shader - 知识点目录(先占位,后续持续更新)
原文:Emission
版本:2019.1

Emission

Unity Shader - Emission 自发光_第1张图片

Emission控制从表面发出的光的颜色和强度。当你在场景中使用Emission材质时,它以可见光源的形式出现。自发光。

Emission材质通常是用在GameObjects需要从内部亮了起来,如监视器上的屏幕,如汽车在夜间行驶时闪亮的仪表盘,或是再漆黑地方闪亮着怪物的眼睛。

您可以使用颜色和自发光程度来调整Emission材质。若启用Emission自发光功能,请勾上"Emission"复选框。这是会在Emission复选框下面显示:ColorGloball Illumination两个属性。点击Color属性可打开HDR Color面板。在该面板中下方有个Intensity属性可以控制自发光的强度,如下图:
Unity Shader - Emission 自发光_第2张图片
使用这些材料的GameObject,即使在你场景的黑暗区域也会保持明亮。
Unity Shader - Emission 自发光_第3张图片
红、绿、蓝三球都使用了自发光材质。即使在黑暗的场景,它们依然可以看到。

除了可以设置Emission颜色和强度,你还可以设置Emission贴图。与其他纹理映射参数一样,这使你能够更好地控制材质中哪些区域需要自发光。

如果指定了纹理映射,则使用纹理RGB值来控制颜色和亮度。然后你可以使用Color参数点击打开的HDR Color面板中的Intensity来控制(增加/减少)自发光强度。
Unity Shader - Emission 自发光_第4张图片
在Inspector视图中,左图:是一张电脑上的屏幕内容。有两个发着荧光的屏幕与按键荧光的键盘。右图:使用了Emission贴图的材质。该材质有些区域有自发光,有些没有。

除了颜色和亮度外,自发光参数还有一个Global Illumination Setting(全局照明设置),允许你控制材质的自发光会不会影响离得近的其他游戏对象的光效。

有两个选项:

  • RealTime - Unity将这种材料的自发光添加到场景的实时全局光照计算中。这意味着自发光会影响附近游戏物体的光效,包括正在移动的物体。(这个移动的物体也有效果,我自己亲测,死活试不出来,球大神指点,有空再回来试试)
  • Baked - 来自这种材料的自发光被烘焙成场景的静态光映射,所以其他附近的静态游戏对象可以由这种自发光点亮的,但动态游戏没有效果。

另外注意,如果你要Baked到lightmap,那么你先得把需要自发光对象设置为Lightmap Static(GameObject的Inspector属性中Static选:Lightmap Static,或是MeshRenderer组件中的Lightmap Static复选框勾上即可,两种设置方式效果一致),还有,如果需要其他静态对象接收到你的自发光材质的光效,你也得将这些对象确保一定是Lightmap Static。
Unity Shader - Emission 自发光_第5张图片
从电脑屏幕上的自发光贴图烘焙的数据,在黑暗场景中也可以照亮附近静态对象

你可能感兴趣的:(Unity,Shader,译文)