[Unity] 怎么在Unity5中烘焙lightmap

2023-10-06 22:38

本文主要是介绍[Unity] 怎么在Unity5中烘焙lightmap,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文链接:Game Dev Tip: How to bake Lightmap in Unity 5 !

什么是Light-map

Light-map是一张贴图(texture),存储了从场景(scene)中直接烘焙而来的灯光信息,通过这张贴图,我们可以减少draw call,提升我们游戏的性能。light-map通常没有阴影(shadow)。全局光照(Global Illumination)和环境光散射(Ambient occlusion)会被烘焙到Light-map上,在不影响帧率(FPS)的情况下给环境一种惊人的深度(give an amazing depth to the environment )。实时灯光只会被运用在移动或者需要动态阴影的棘手物体上。场景以来烘焙light-map都是游戏开发过程中一项非常标准化的工作,用空间换时间来加快渲染速度。

接下来需要什么

为了学习本教程,我们将学习一下基础知识并使用unity中最原始的物体来烘焙light-map以为示例。之后,你就可以在unity中使用相同的技术来烘焙那些非常酷炫的模型了。

  • 包含一个平面(plane)和一个盒子(box)的3D场景


    A 3D scene exported from any 3D software with a plane and a box

  • 盒子需要两个UV通道(uv channel),一个((UV 2 is not mandatory but it is always better to manual unwrap for better quality light-maps))用来做漫反射,另一个(channel2)用来做ligt-map。(UV2 不是必要的,但手动解包能得到更高质量的ligth-map)


    The box should have two UV channels. Channel 1 for Diffuse and Channel 2 for Light-mapping

做完了上面的准备之后,在Unity中建立一个正确的场景。我们会以FBX或者Obj等任意unity支持的3D格式导出3D模型。

建立场景

  • 将3D模型导入到Unity场景中。对导入的模型使用下面的导入设置以确保你能得到高质量的light-map。
    Note: 如果你的3D物体没有UV2通道,可以在import settings里打开 ’ GENERATE LIGHTMAP UVs’,这样可以自动为3D物体打开UV2通道


    这里写图片描述

  • 复制box并把它们穿插交叠在一起,这样可以看到接触阴影(contact shadow)或周环境光散射(Ambient occlusion)


    这里写图片描述

  • 标记3D物体为static,light-map只会烘焙static的物体(note: Lightmap static也可以)


    这里写图片描述
    这里写图片描述

  • 选中平行光源,标记为static,这个光源会为我们的light-map提供光照信息

  • 按下图改变平行光源的设置,将Baking选项中的Real-time改为Baked


    这里写图片描述

  • Project setting -> Quality setting,改成下图所示的设置。为什么这么做呢,因为默认的shadow setting不怎么好而且模糊。


    这里写图片描述

    接下去我们就可以接触light-map的设置了。

调整Light-map设置

设置位置在 Windows > Lighting > Scenes(注:我是用的Unity5.6.0f3中在Windows > Lighting > Settings 中)。

如果想要获取更过关于此处setting的属性信息,可以查看unity官方文档,强烈建议上手前先阅读一遍。

请参阅下面的图片并按下图所示更改设置。

这里写图片描述

一定要记住选中所有你想要烘焙的物体。一旦所有物体被选中,按下“build”按钮开始进行烘焙。

烘焙Lightmap

当构建按钮被按下时,进度条将出现在Unity 5窗口的右下角,指示烘焙过程已经开始!

这里写图片描述

一旦处理完成,烘焙lightmap的任务就完成了,一个令人惊奇的场景出现了,阴影都被烘焙进去了!

这里写图片描述

烘焙时需要注意的事项

  • light-map分辨率的尺寸在light-map settings中。确保使用合适的尺寸,不要使用太大的尺寸,因为这会影响游戏的性能。
    这里写图片描述
  • 如果你想要清除light-map,你可以在Light-map setting中点击Build->Clear Baked Data。
    这里写图片描述
  • 如果你想要手动更改light-map的分辨率,你可以在Light-maps的Tab中,点击某个Light-map,然后你会看到这个light-map对应的贴图,可以在这个贴图上手动的修改贴图的压缩方式和分辨率。

    这里写图片描述

这篇关于[Unity] 怎么在Unity5中烘焙lightmap的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/154328

相关文章

qt5cored.dll报错怎么解决? 电脑qt5cored.dll文件丢失修复技巧

《qt5cored.dll报错怎么解决?电脑qt5cored.dll文件丢失修复技巧》在进行软件安装或运行程序时,有时会遇到由于找不到qt5core.dll,无法继续执行代码,这个问题可能是由于该文... 遇到qt5cored.dll文件错误时,可能会导致基于 Qt 开发的应用程序无法正常运行或启动。这种错

电脑提示xlstat4.dll丢失怎么修复? xlstat4.dll文件丢失处理办法

《电脑提示xlstat4.dll丢失怎么修复?xlstat4.dll文件丢失处理办法》长时间使用电脑,大家多少都会遇到类似dll文件丢失的情况,不过,解决这一问题其实并不复杂,下面我们就来看看xls... 在Windows操作系统中,xlstat4.dll是一个重要的动态链接库文件,通常用于支持各种应用程序

Mac备忘录怎么导出/备份和云同步? Mac备忘录使用技巧

《Mac备忘录怎么导出/备份和云同步?Mac备忘录使用技巧》备忘录作为iOS里简单而又不可或缺的一个系统应用,上手容易,可以满足我们日常生活中各种记录的需求,今天我们就来看看Mac备忘录的导出、... 「备忘录」是 MAC 上的一款常用应用,它可以帮助我们捕捉灵感、记录待办事项或保存重要信息。为了便于在不同

springboot+vue项目怎么解决跨域问题详解

《springboot+vue项目怎么解决跨域问题详解》:本文主要介绍springboot+vue项目怎么解决跨域问题的相关资料,包括前端代理、后端全局配置CORS、注解配置和Nginx反向代理,... 目录1. 前端代理(开发环境推荐)2. 后端全局配置 CORS(生产环境推荐)3. 后端注解配置(按接口

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

电脑开机提示krpt.dll丢失怎么解决? krpt.dll文件缺失的多种解决办法

《电脑开机提示krpt.dll丢失怎么解决?krpt.dll文件缺失的多种解决办法》krpt.dll是Windows操作系统中的一个动态链接库文件,它对于系统的正常运行起着重要的作用,本文将详细介绍... 在使用 Windows 操作系统的过程中,用户有时会遇到各种错误提示,其中“找不到 krpt.dll”

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://