Unity 光照实例

本文为 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

1199677-d6d3d04a6288aea4.jpg

最终效果

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

  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。

    1199677-ee43b061674e576b.jpg

    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。最终设置如下图所示。

    1199677-19bc9410d4c0c00c.jpg

     

  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技术研习社

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XR技术研习社

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值