您现在的位置是:首页 >技术交流 >Unity Emisson 自发光属性全局照明网站首页技术交流

Unity Emisson 自发光属性全局照明

一零壹0 2024-07-10 12:01:03
简介Unity Emisson 自发光属性全局照明

给想要自发光的物体,选择Unity自带Standard Shader。然后勾选Emisson 如下图:

 属性:

Color指定发光的颜色和强度。单击 Color 框可打开 HDR Color 拾色器。在此处可以更改光照的颜色和发光的强度 (Intensity)。要指定材质的哪些区域发光,可以向该属性分配一个发光贴图。如果您执行此操作,Unity 会使用贴图的全色值来控制发光颜色和亮度。还可以使用 HDR 拾色器对贴图着色和改变发光强度。
Global Illumination指定此材质发出的光如何影响附近其他游戏对象的环境光照。有三个选项:
• Realtime:Unity 将此材质的自发光添加到场景的 Realtime Global Illumination(实时全局光照)计算中。这意味着此自发光会影响附近游戏对象(包括正在移动的游戏对象)的光照。
• Baked:Unity 将此材质的自发光烘焙到场景的静态全局光照中。此材质会影响附近静态游戏对象的光照,但不会影响动态游戏对象的光照。但是,光照探针仍然会影响动态游戏对象的光照。
• None:此材质的自发光不会影响场景中的实时光照贴图、烘焙光照贴图或光照探针。此自发光不会照亮或影响其他游戏对象。材质本身具有发光颜色。

案例说明

场景删除所有灯光,然后新建两个Plane增加Emisson Global Illumination

把场景中自发光与受自发光物体都设置为静态或者选中Contribute GI 如下图:

 

Baked模式:

  • 受自发光影响的物体在烘焙时静态中需要Contribute GI还需多个Batching Static
  • 选中自发光Shader将Emisson->Global Illumination 改为Baked

  •  Lighting->Scene 中勾选Baked Global Illumination

  •  烘焙场景

最终效果:

 

Realtime模式:

这里的Realtime不是真正意义的实时光,与Baked区别在于Realtime运行时修改灯光颜色,对其它受光物体是有影响的,这里修改灯光位置旋转是无效的

  • 首先选中Contribute GI
  • 其次Lighting->Scene 中勾选Realtime Lighting

  • 最后开始烘焙场景。

效果图

 

补充

动态物体想受到此光影响可以在烘焙时增加灯光探针。

 

 示例项目下载

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。