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.地球背面的一个点,计算它在屏幕上的坐标,能得到吗? 不是被挡住了吗? ...
随机推荐
- 【BZOJ1528】[POI2005]sam-Toy Cars 贪心
[BZOJ1528][POI2005]sam-Toy Cars Description Jasio 是一个三岁的小男孩,他最喜欢玩玩具了,他有n 个不同的玩具,它们都被放在了很高的架子上所以Jasio ...
- 看不懂JDK8的流操作?5分钟带你入门(转)
在JDK1.8里有两个非常高级的新操作,它们分别是:Lambda 表达式和 Stream 流. Lambda表达式 让我们先说说 Lambda 表达式吧,这个表达式最大的作用就是简化语法,让代码更加易 ...
- pexpect库学习之包装类详解
在pexpect库中,包装类的构造参数使用的命令或者要包装命令的提示符,还可以通过这个包装类来修改命令的提示符,那么所谓的包装类实际就是用于给用户交互相应的子命令,它的实例方法主要是“run_comm ...
- 2018年东北农业大学春季校赛 D wyh的迷宫 【BFS】
题目链接 https://www.nowcoder.com/acm/contest/93/D 思路 BFS模板题 AC代码 #include <cstdio> #include <c ...
- seventBus(封装) 一个巧妙的解决vue同级组件通讯的思路
如果在你项目中需要多处用到同级组件通讯,而又不想去写繁琐的vuex,可以参考这个小思路.本人在写项目中琢磨出来的,感觉挺好用,分享一下. 1.在utils文件夹下添加BusEvent.js 注释已经很 ...
- POJ2478 Farey Sequence —— 欧拉函数
题目链接:https://vjudge.net/problem/POJ-2478 Farey Sequence Time Limit: 1000MS Memory Limit: 65536K To ...
- webrtc 学习资源 http://www.cnblogs.com/lingyunhu/p/3578218.html
Realtime/Working WebRTC Experiments It is a repository of uniquely experimented WebRTC demos; writte ...
- jQuery ajax序列化函数
参数序列化$.param() 举例: <!DOCTYPE html> <html> <head> <script src="https://ajax ...
- Field 'CID' doesn't have a default value
解决:在数据库客户端navicat中设计表勾选自动递增
- HDU1496(巧妙hash)
Equations Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...