IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Blender烘焙光照贴图 -> 正文阅读

[游戏开发]Blender烘焙光照贴图

前言

Blender烘焙光照贴图是常用的一种方法。在得到光照贴图后,预览3D场景等场合中,只需要加载静态光照贴图,而不需要实时渲染光照,从而达到快速预览的效果。

步骤

1. 创建场景中的物体

0)前言

本节中,我们将 1)创建场景背景,2)创建场景中需要的物体。

1)创建场景背景

创建一个正方体 -> 进入编辑模式 -> 打开点选择模式 -> 选中顶面任意一个端点。
在这里插入图片描述

按下X删除快捷键 -> 选择删除选中顶点
在这里插入图片描述
得到下面的状态。
在这里插入图片描述
保持在编辑模式中(如果退出到物体模式了,可以通过 左键选中当前物体 -> 按Tab键 来进入编辑模式) -> 按A选中所有点(/线/面) -> 按下Ctrl+Shift+N(也可Mesh->Normals->Recalculate Inside)来重新计算内部面(这样后面的UV会对应到该物体的内部面,而非外部面)。
在这里插入图片描述
2)创建场景中需要的物体

按下Tab回到物体模式,随意创建几个物体,以供稍后烘焙光照贴图时使用。
在这里插入图片描述

2. 得到光照UV展开图

0)前言

本节中,我们将 1)学习创建新窗口(可跳过),2)创建光照UV展开图, 3)学习提高烘培效率的技巧(可跳过)

1)创建新窗口(可跳过)

保持着物体模式 -> 鼠标左键来选中一个物体 -> 通过Shift+鼠标左键依次选中所有场景内将要被贴图烘焙的物体(不全选的原因是不想选中灯光相机) -> 按下Ctrl+J来合并所有物体
在这里插入图片描述

(注:这一步可忽略,后续操作在已有窗口中进行即可)鼠标放在下图中A点的黑色间隙处后,鼠标变为字 -> 按下鼠标,向右水平拖拽新建一个窗口。

(这里注意鼠标的拖拽方向需要非常精准的水平方向,失败了多试几次,关闭多于窗口的方法见 [1] [2],注意窗口角落处黑色的空隙窗口的内部角落(没离开窗口区域)分别对应创建新窗口合并已有窗口
在这里插入图片描述

2)创建光照UV展开图

打开UV编辑器 -> 鼠标移至3D物体所在视窗内 -> 鼠标左键选中物体 -> 按下Tab进入编辑模式

(注意必须左键选中物体后再进入编辑模式,否则下一步中的Lightmap Pack会报错“No mesh object”

在这里插入图片描述
在这里插入图片描述
(如果没有如上图所示那样全选的话,)鼠标移入3D物体所在窗口,按A选中所有点(/线/面) ->,按U打开UV菜单 -> 选择Lightmap Pack -> (可使用默认设定)点击OK
在这里插入图片描述
UV编辑器视窗中得到物体的UV展开图。
在这里插入图片描述

3)提高烘培效率(可跳过)

(注:这一步是可选步骤,目的是提升烘培效率。后续步骤中将默认忽略了此步骤)(这里可以调整展开图中各种面的大小;调整完大小后,可以在3D物体视窗中进入编辑模式 -> 全选点/线/面 -> Ctrl+T将选中面三角形化,防止曲面被自动三角形化后得到无法控制的结果;调整完大小并且(/或)三角形化后,在UV编辑器中选中所有点(/线/面),在UV编辑器的菜单栏中找到UV -> Pack Islands使得展开面更加的紧凑(效果见下面的第二张图),从而减少烘培时不必要的消耗。)
在这里插入图片描述
Pack Islands后的结果

3. 为烘培做准备(1)

0)前言

本节中,我们会1)创建空贴图,2)删去原有的原理化BSDF节点,并增添AO节点和Diffuse着色器节点。

1)创建空贴图

打开图像编辑器 -> 在窗口的菜单栏里找到新建按钮 -> 创建一个名为lightmap的图像(名字可随意,阅读后续步骤时自行替换即可)

(在下面的第三张图里,可以自行缩小新建图像的宽度高度,减少烘焙所用时间;有些人这里会选中32-bit Float得到32位光照贴图后用photoshop转回8位贴图,这里觉得没有必要,所以没有勾选32-bit Float,而是使用默认的生成8位贴图`功能。)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
得到下图后,可以将鼠标放在黑色区域内,向下滑动鼠标滚轮缩小图片,得到下面的第二张图。
在这里插入图片描述
在这里插入图片描述

2)修改着色器节点

在3D物体窗口内选中物体 -> 打开着色器编辑器 -> 鼠标放在窗口内,按N收回右侧菜单栏 -> 左键选中原理化BSDF,按X键删除(得到下面第三张图)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

鼠标放在窗口中,
Shift+A -> 点击输入 -> 点击Ambient Occlusion,创建Ambient Occlusion节点以实现最终生成环境光遮蔽光照贴图;
Shift+A -> 点击着色器 -> Diffuse BSDF,创建Diffuse BSDF节点使场景中的物体拥有散射效果;
依找Ambient Occlusion -> Diffuse BSDF -> Material Output的顺序连接三个节点(见下面第三张图)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4. 为烘培做准备(2)

0)前言

这一节里,我们会1)创建一个图像纹理节点和2)一个Emission节点供后续测试时使用,3)并且配置好光照表现较好但是渲染速度较慢cycles渲染引擎。

1)Image Texture节点

注:该节点必须在烘焙前配置完成,否则烘培时会收到No active image found in material "<Material>" (xx) for object "<object>"报错

着色器编辑器中创建图像纹理节点 -> 点击节点中的图片小图案 -> 选择之前创建的lightmap图像
在这里插入图片描述
在这里插入图片描述

2)Emission节点

注:该节点可在烘焙完成后添加,且可自行选择是否添加。

创建一个Emission节点,连接lightmap节点(由图像纹理节点选中图片后转变而成的)和Emission节点。
在这里插入图片描述
在这里插入图片描述
3)配置Cycles渲染引擎

属性窗口中,选择Cycles引擎,选用烘焙效率更高的GPU计算来加速烘焙过程。
在这里插入图片描述

5. 烘焙环境光遮蔽光照贴图

0)前言

本节,我们会1)烘焙光照贴图,随后在2)修改相应的着色器节点后,3)查看静态渲染的最终场景。

1)开始烘焙

进入①属性窗口 -> 打开②渲染属性 -> 确保烘焙类型Combined -> 点击④烘焙 -> 等待⑤烘焙完成。

注:

  1. 这里的Combine是将各种光照贴图融合后的光照贴图,也可以选择其他类型,分别烘焙。
  2. clear image选项是为了在已经烘焙过的情况下,清除先前的烘焙结果,使得image保持最新结果。
  3. select to active通常用于烘焙高精度模型贴图,用于低精度模型。使用时,先选中高精度模型,然后按住shift左键低精度模型,随后即可开始烘焙。
    在这里插入图片描述
    2)修改着色器节点

完成后,图像窗口的lightmap会变为这样。
在这里插入图片描述
接下来,在着色器编辑器中,如下图连接节点。
在这里插入图片描述
3)查看最终结果

最后,在3D物体窗口,打开Viewport Shading模式(如图箭头所示),便可查看静态渲染的场景了。
在这里插入图片描述

参考资料

https://www.bilibili.com/video/BV1w4411W7FR/

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-11-22 12:40:53  更:2021-11-22 12:42:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 22:21:23-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码