美文网首页
Unity 光照实例

Unity 光照实例

作者: XR技术研习社 | 来源:发表于2018-10-18 18:10 被阅读113次

    本文为 Youtube 博主 Brackeys 的视频《LIGHTING in Unity》学习笔记,原视频见文末,供参考。本实例使用 Unity 2018.2.11f1 制作(因为原视频中使用 Unity 2017.3,Progressive Lightmapper 尚处于 Preview 阶段),实例使用的模型素材链接:https://pan.baidu.com/s/1Tfs_8Og_R8ZNCTS_omH4Yw 提取码:2v7a

    最终效果

    本实例最终效果如上图所示,具体操作步骤如下:

    1. 新建项目,保存场景,导入提供的模型。分别选择这两个模型,在属性面板中勾选 Generate Lightmap UVs 选项,对于Mokey,还需要展开此选项下的 Advanced 栏,将 Pack Margin 设置为 15。设置完毕,点击 Apply 按钮。

    2. 将 Mokey 和 Room 拖入场景中,调整位置。其中,Room 位置和旋转均重置(Reset);Monkey 位置Position 值为(0,-1.819,-0.556),旋转 Rotation 值为(-52.223,0,0)。

    3. 设置摄像机位置。选择 Main Camera,在场景(Scene)中调整视图,使摄像机只渲染Room内部空间,然后使用快捷键 Ctrl+Shift+F,将摄像机移动到视图位置,本实例 Main Camera 位置 Position 值为(-0.098,-1.35,-3.5),旋转 Rotation 值为(0,0.5,0)。

    4. 在Player Settings 面板的 Other Settings 栏中,将 Color Space 设置为 Linear。

    5. 设置场景光照。删除场景中的 Directional Light。打开 Lighting 面板,将 Skybox Material 设置为 None,将 Ambient Color 设置为黑色(0,0,0)。

    6. 在 Lighting 面板中取消勾选 Auto Generate 选项,待场景及参数设置完毕后一并烘焙。

    7. 添加自发光光源。新建一个 Plane,命名为 OrangeLight,设置位置 Position 值为(-2.49,-1.5,0),旋转Rotation 值为(0,0,-90),缩放 Scale 值为(0.2,1,0.2)。

    8. 添加自放光材质。新建材质,命名为 OrangeLight,勾选 Emission 属性,设置颜色值为 FFA400,强度为1,如下图所示。然后将材质的 Global Illumination 设置为 Baked。设置完毕后将材质指定给场景中的游戏对象 OrangeLight。

      image
    9. 设置第二个自发光光源。选择游戏对象 OrangeLight,使用快捷键 Ctrl+D 创建其副本,命名为 BlueLight。设置其位置 Position 值为(2.49,-1.5,0),旋转 Rotation 值为(0,180,-90)。

    10. 设置第二个自放光材质。选择Project 面板中的材质 OrangeLight,使用快捷键 Ctrl+D 创建其副本,命名为BlueLight,保持其它参数不变,仅改变颜色值为 00CAFF。将材质赋予场景中的游戏对象 BlueLight。

    11. 同时选择场景中的游戏对象 Room、Monkey、BlueLight、OrangeLight,将其设置为静态(Static)。

    12. 为防止游戏对象 Mokey 在烘焙后出现明显的接缝,在其 Mesh Renderer 组件中,Lighting > Lightmap Settings 栏下,勾选 Stitch Seams 选项。

    13. 打开 Lighting 面板,保证 Realtime Global Illumination 不被勾选,Baked Global Illumination 被勾选;Lightmapping Settings 栏中,将 Lightmapper 切换为 Progressive,使用渐进式光照贴图进行场景光照烘焙。

    14. 设置光照烘焙参数,以下参数为参考值。在 Lightmapping Settings 栏中,将 Direct Samples 设置为 64;将 Indirect Samples 设置为1024;将 Lightmap Resolution 设置为 150;将 Lightmap Padding 设置为 12;取消勾选Compress Lightmaps;勾选 Ambient Occlusion,并将 Max Distance 设置为 0.7,将 Indirect Contribution 设置为 0.1。最终设置如下图所示。

      image
    15. 点击 Generate Lighting 按钮,烘焙场景。

    16. 烘焙结束后,添加后期特效。在 Unity Asset Store 搜索 Post Processing Stack,下载并导入项目。选择 Main Camera,添加 Post Processing Behaviour 组件。在 Project 面板中新建一个 Post-Processing Profile,命名为 CC,将其指定给 Post Processing Behaviour 组件。

    17. 选择 CC,开启 Bloom 特效,设置 Intensity 值为 0.18 ;开启 Color Grading 特效,设置 Tonemapper 为 Film(ACES),Post Exposure 值为 1.5;开启 Vignette 特效。

    欢迎关注我的微信公众号:XR技术研习社

    XR技术研习社

    相关文章

      网友评论

          本文标题:Unity 光照实例

          本文链接:https://www.haomeiwen.com/subject/ftvszftx.html