3DMAX 烘培技术
烘培是指,把光照信息渲染成贴图,而后把这个烘培后的贴图再贴回到场景中去的技术。烘培技术把光照计算的结果提前写入到了贴图中,因此在实时渲染中不需要进行耗时的光照计算,大大提高了实时渲染的效率。
烘培和渲染区别
渲染是指生成一张图片
烘焙是指按模型UV的展开而渲染成一张物体的材质(可以理解为UV0或者UV1)的
所以你可以理解烘焙是把物体展开的渲染,再来个上贴图的动作
由于烘培的光影效果是提前渲染到贴图中的,因此烘培的光影效果是静态的,这与实时渲染的光影效果是不同的,它不能随着环境光照的改变而变化。并且由于贴图已经包含光影信息,如果再对该物体启用光照计算,则会出现贴图中的光影与实时计算光影间产生冲突,所以应对烘培后的物体关闭光照计算。
Max中的烘培方式有两种,CompleteMap和LightingMap。CompleteMap把光影信息和源纹理一起渲染到一张新的贴图中,最终用于实时渲染的只有这一张贴图,但是由于光影贴图不能使用REPEAT的纹理环绕模式,所以整个纹理必须被平铺,这样在目标贴图大小一定的情况下,任何局部都会变得比较模糊。LightingMap把光影信息单独渲染到一张新的贴图中,最终使用原始纹理和光影纹理共同完成实时渲染,光影贴图的大小不会影像到原始纹理的清晰度。
总体来看,Completemap和lightingmap两种渲染烘焙可以有如下的区分。
◆ Lightingmap烘焙方式
优点:可以保留材质清晰的纹理
缺点:光感稍弱,所消耗的资源比completemap烘焙方式多。
常用的范围:适用于大面积的砖墙,室内外的地面等,物体面数比较多的情况下,尽量不选择Lightingmap烘焙。
◆ completemap烘焙方式
优点:烘焙出来的效果光感好,更接近于渲染图的效果
缺点:要达到好的效果,就需要烘焙的尺寸大一些才可以,否则会很模糊。
常用的范围:适用于小物件,及对质感要求比较高的物体
3DMAX 烘培技术的更多相关文章
- 【翻译】CEDEC2012 SQUARE ENIX GPGPU实现高速GI烘培工具的方法
虽然实时GI技术已经趋于成熟了,但出于对不同平台的性能和质量的考虑, 更倾向搭配一些预计算的渲染技术来实现,如给静态物体提供GI的LightMap, 给动态物体提供GI的Irradiance Vol ...
- Unity3D研究院之动态修改烘培贴图的大小&脚本烘培场景
Unity默认烘培场景以后每张烘培贴图的大小是1024.但是有可能你的场景比较简单,用1024会比较浪费.如下图所示,这是我的一个场景的烘培贴图,右上角一大部分完全是没有用到,但是它却占着空间. 有 ...
- Unity3D 5.1烘培 操作
http://blog.csdn.net/asd237241291/article/details/48056575 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技 ...
- Unity3d 烘培lightingmap 注意的2点.
1.在Qulity里面设置合适的灯光数量.否则,你会发现烘培出来的场景,有些灯光没有起作用. 2.在导入模型时候,注意勾选:Generate Lightingmap . 否则,模型没办法烘培. 3. ...
- unity中使用自定义shader进行光照贴图烘培无法出现透明度的坑爹问题
最近开发中在对场景进行光照贴图烘焙时发现一个坑爹问题,在使用自定义shader的时候,shader命名中必须包含Transparent路径,否则烘焙的时候不对alpha通道进行计算,烘焙出来都是狗皮膏 ...
- Unity 自动烘培Cpu占用过高电脑卡死
起因 打开Unity项目 发现右下方一直
- webGL之three.js入门4--ThreeJS Editor入门篇
因为工作需要,要看threejs editor的源码,顺便记录过程. github下载的源码目录是这样的 但是editor和其他文件夹内的内容的关联的,我需要将其独立出来并且编辑editor. 进入e ...
- [OSG]OpenSceneGraph FAQ 以及OSG资源
1.地球背面的一个点,计算它在屏幕上的坐标,能得到吗? 不是被挡住了吗? 答:计算一个空间点的屏幕坐标,使用osgAPEx::GetScreenPosition函数.当空间点处于相机视空间内(不管它是 ...
- OpenSceneGraph FAQ
转自http://www.cnblogs.com/indif/archive/2011/04/22/2024805.html 1.地球背面的一个点,计算它在屏幕上的坐标,能得到吗? 不是被挡住了吗? ...
随机推荐
- 手机QQ后台清理不掉的秘密——anddroid悬浮窗
问题来自于一篇文章:手机QQ后台为何清不掉?MIUIproject师:全靠1像素的页面保命 出于好奇,想知道这一像素究竟是啥东西,用手机安全管家控制QQ的悬浮窗权限: 关闭QQ的悬浮窗权限,通过后台一 ...
- ASP.NET MVC 页面使用富文本控件的XSS漏洞问题
目前在做的项目存在XSS安全漏洞! 原因是有一些页面使用了富文本编辑框,为了使得其内容可以提交,为相关action设置了[ValidateInput(false)] 特性: [HttpPost] [V ...
- 【BZOJ4668】冷战 并查集
[BZOJ4668]冷战 Description 1946 年 3 月 5 日,英国前首相温斯顿·丘吉尔在美国富尔顿发表“铁幕演说”,正式拉开了冷战序幕. 美国和苏联同为世界上的“超级大国”,为了争夺 ...
- Struts2中的数据类型转换
Struts2对数据的类型转换 一.Struts2中自带类型转换拦截器 Struts2内部提供了大量转换器,用来完成数据类型转换的问题,有如下 * boolean 和 Boolean * char和 ...
- mysql给一张表新增字段,并设置该字段为外键
首先给usercategory表新增libraryid字段: alter table usercategory add libraryid varchar(50) 修改picturelibrary表的 ...
- 消息handler message 线程通信 空消息
空消息的使用 private Handler handler = new Handler(){ public void handleMessage(android.os.Message msg) { ...
- Break、Continue、Return区别
1)break 直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试.他只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来 ...
- git项目.gitignore文件不生效解决办法
配置好.gitignore文件如下: HELP.md /target/ !.mvn/wrapper/maven-wrapper.jar ### STS ### .apt_generated .clas ...
- 《unix环境高级编程》学习笔记【原创】
本文基于unix环境高级编程的学习的笔记,写的比较简如有不对,欢迎指点. 简单的描述下面函数的功能改变ctr+c信号原本的作用终止程序,在按下中断键的时候输出一句话. while循环主要读取用户的输入 ...
- sdut oj 2372 Annoying painting tool (【暴力枚举测试】1Y )
Annoying painting tool 题目描述 Maybe you wonder what an annoying painting tool is? First of all, the pa ...