查看: 17331|回复: 6
打印 上一主题 下一主题

[灯光材质] 3Dmax实例教程_烘培贴图优化教程

[复制链接]

600

主题

3

听众

4875

积分

中级设计师

Rank: 5Rank: 5

纳金币
2095
精华
72

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2013-8-8 09:54:39 |只看该作者 |倒序浏览
打开本教程所提供的max场景angel-max.max。灯光、材质、相机、渲染参数等已经设置好。如下图。

1306251650a4541c9d9f61c964.jpg

使用默认参数烘焙并导出
   
接下来的工作就是烘焙,烘焙步骤完全按照入门级3D教程里介绍的进行,在此不再重复。 本例使用CompleteMap作为烘焙类型,烘焙类型Light Map的使用方法跟CompleteMap是完全一样的,唯一要注意的是Light Map纹理对应的Target Map Slot必须是Self-Illumination。烘焙完毕并导出至VRP-Builder,结果如下图。 默认参数如被更改,请参照入门教程中的参数进行调整。

我们看到导出的效果并不理想。小天使的脸上、鼻翼、翅膀等部位出现了不同程度的黑斑。这是因为在烘焙时没有对一些参数作调整造成的。原因之一是:当物体被烘焙时首先会被烘焙工具进行UV平铺,而平铺的质量会直接影响到烘焙的质量。

13062516514b3a89ce2b13ef81.gif
     
  调试烘焙参数    
新增功能
   

回到3ds max,打开Render To Texture面板,选择需要烘焙的物体。3ds max在这里作了一个改进,当需要对单个物体分别设置不同的纹理名称、格式,指定烘焙纹理各自的大小或其它参数的时候,完全不必象在3ds max里逐一选择物体,可以先全选或多选场景中的物体。

选完后Objects to Bake栏里将出现这些物体的名称。在该栏下面有三个选项,分别是Individual(个别的)、All Selected(所有被选择的)、All Prepared(所有已准备好的)。默认的是All Selected,此时Render To Texture中的所有参数的修改是针对所有被选物体的。改选第一项Individual,可以看到被选物体名单中第一个物体被激活,我们可以在这里分别选择物体。 第三项是用于烘焙所有已经设置完毕的物体,在此不用多说,下面重点演示前两种方式。

先选用默认的第二项All Selected,通过在Output栏中点击Add可以添加任何烘焙纹理的纹理类型。但无论添加哪一种,在下面的Selected Element Common Settings中File Name and Type都是灰色的,不可调节。这时它使用的是3ds max默认的文件名和文件格式TGA。

改用第一项Individual,在Objects to Bake栏里选择一个物体,File Name and Type被激活,这样就可以更改该物体烘焙的纹理名称和格式了。

对于文件名称我们不建议对它进行修改,文件格式可以在VRP支持的类型中按需更换。VRP支持包括BMP,JPG,PNG,TGA,DDS等众多图像格式,完全能够满足各种需要。

这两个选项的区别在于Individual可以对每个物体的烘焙参数进行单个调节,而All Selected可以同时设置烘焙参数并且同时烘焙以提高烘焙的效率,减少重复操作。

您可以根据自己的实际需要来使用其中一种方式,在本例中我们不必修改物体各自的烘焙参数或文件格式,因此我们切换回All Selected状态,并添加好烘焙类型CompleteMap。
 

1306251652404272ac695dc132.gif
 

调节参数
   

全选所有物体,修改General Settings全局设置栏里的第二项Automatic Unwrap Mapping。将Threshold Angle的值改为60。

这个参数可以调节自动平铺UV纹理的角度域,提高它可以让更多的多边形片面放置在同一个簇里。增大平铺的簇从而减少平铺簇的碎片。由于渲染精度有限,过小的碎片渲染时会被忽略掉,这样就会出现黑斑。但Threshold Angle也不能过高,过高会造成多边形过度扭曲引起失真,出现图像拉伸的情况,具体介绍和其它参数大家可以参看3ds max的手册或其它相关书籍。

改完后再次烘焙。
 
130625165324baaaa555fbea65.gif

再次烘焙
   

再次烘焙时由于保存路径中已经存在上一次烘焙的纹理文件,所以会弹出提示,如右图。可以勾选Don’ t show again,表示以后再遇到纹理重复的时候不再需要提示了,这样可以减少工作量。当多个物体同时烘焙时,它能自动覆盖掉以前的重复文件而不用停下来等候您的指示。

这时 自定义烘焙文件输出路径所带来的便利就体现出来了,由于针对每个项目设置专门烘焙纹理保存目录,所以它就不会把其它项目中同名物体烘焙的图给替换掉。然后按Overwrite Files继续进行。

1306251653a9c05ef59abf69c8.gif

烘焙完毕后导出查看结果如下图。这次的效果要好很多,黑斑基本上没有了,不过并没全部去除,而且纹理依然显得很模糊。这时再调 节Threshold Angle就不管用了。我们来调另一项参数。

进一步调节参数

1306251654f0e626d6969c8b04.gif

众所周知,纹理图越大渲染的效果就越好。烘焙纹理也是一样。烘焙纹理的大小直接影响最终效果。

Render To Texture里默认大小是256×256。我们将它改成512×512,如右图。

大家也同样知道,纹理越大,对计算机系统资源的消耗也越大,渲染也会变得很慢,因此我们只能适当地选择,在一个复杂场景中我们要有计划地将重要的,表面积比较大的,多边形面复杂的优先考虑用较大的纹理,次要的其它的物体可以适当降低它们的纹理面积以节约有限的系统资源,找到它们的平衡点来获得高质高效的结果。

再次烘焙,导出看效果。这次的结果就可以了。如下图,黑斑看不到了,纹理也清晰了。

130625165465b610d0ae52bce7.gif

  其它注意事项    
关于手动调节
   

当然,还有更多的方法能让烘焙的纹理质量更好,手动编辑物体的UV平铺参数也是一种不错的方式。自动UV平铺从操作上来说是非常便捷的,但它的平铺结果总不能让人很满意,簇与簇之间的间隙虽然可以通过Render To Texture面板General Settings全局设置栏里的Spacing参数进行调节,如右图。

但并不能从根本解决问题,烘焙后就结果可以看出,纹理图的很多空间被浪费了, 如下图。

1306251655263949363b3ced0d.gif

而且当物体多边形很复杂且非常细小时,总是不可避免的产生一些过小的簇,这些簇在烘焙时常常被忽略,造成最终的黑块黑斑。通过手工调节就可以解决这一问题,并能有效地合理地利用面积有限的烘焙纹理图。

点选需要修改的物体,进入修改命令面板,编辑Automatic Flatten UVs堆栈。编辑方式跟3ds max的Unwrap UVW命令是一样的。建议您参看3ds max的手册或其它相关书籍。要注意的是,修改完后回到Render To Texture面板,不要再改动Automatic Unwrap Mapping栏中的任何参数,或者将其先关闭后再进行烘焙。否则烘焙工具会重新对物体进行自动平铺,这样,辛辛苦苦手动调节的工作就白干了。如图。

1306251655f5b77aed94873db9.gif

关于纹理通道
   

还有一点值得注意的是纹理通道Map Channel。烘焙设置面板里的Map Channel就是烘焙纹理所在的通道。UV自动平铺工作将在这一通道中完成,最终确立烘焙纹理的纹理坐标。一个物体可以有多个通道,而且每个通道都可以设置一个独立的纹理坐标,这些坐标可以相同也可以不同。在范例中我们使用的是默认值3,一般情况下我们不需要改变它,但如果您在烘焙之前已经对该物体设置过其它的纹理通道,那就一定要注意各个通道之间的关系,不能让它们发生冲突。纹理图如果放置在错误的3d贴图纹理通道内就有可能出现贴图错误,如下图。

130625165630711942b4092555.gif
     
  总结    

最后总结一下,烘焙能把在非实时环境中渲染完成的灯光材质等效果转换到实时交互的环境中去,因此烘焙纹理的质量直接影响最终效果,提高烘焙技术非常重要。而影响烘焙质量的有几个因素:
 

1. 物体的UV平铺。烘焙选项Automatic Unwrap MappingUV能自动将物体的UV进行平铺。自动的,成批量的平铺是它带给我们最大的好处,但其效果往往不好,多边形面细密的物体在被自动平铺时会产生很多非常小的簇,渲染时受精度影响会忽略掉过小的簇,结果出现了很多黑斑黑块。解决它的方法一是适当提高Threshold Angle值,可以在一定程度上减少零散的簇,二是使用其它的UV平铺方法或工具,比如手工对簇进行调节,效果也会好很多。不过手工调节确实是一件耗费时间和精力的事情,对于速度和质量的平衡只有大家在实际工作中去把握了。当然,使用其它方便快捷的平铺工具或插件或许能得到更好的结果。

2. UV簇在烘焙纹理中的面积。纹理的大小是有限的,簇的面积越大,空隙越少,利用率越高,纹理的相对精度也就提高了。降低Render To Texture面板General Settings全局设置栏里的Spacing参数固然能够减小簇间的间隙,但从根本改善的方法仍是手工调节或使用其它工具或方式。

3. 纹理大小。默认大小是256×256,对于次要的较小的物体是够了,但重要的,大体积的物体就需要高精度纹理了,要使用512×512甚至1024×1024或更高。精度提高,文件量也随之急剧增长,但设备资源有限,巨大的纹理虽然让画面质量提高了,但无法进行流畅的交互也是惘然。VRP对纹理大小原则上没有限制,完全取决于用户的硬件设备,而且还提供了高效的纹理压缩方案,可以在硬件设备不足的情况下提供合适的解决方案,但考虑到各方面的兼容性,我们建议不要超过1024×1024。

      3ds max烘焙对3D模型是有一定的要求的,比如它不支持NURBS物体,自动平铺时对过于细小的面容易出错产生黑斑或图像扭曲拉伸等等。这些要求我们在建模初期就要作必要的处理,尽量避免过于密集地分布多边形,避免过于狭长的多边形,以便烘焙工作能高质高效地完成而不必做过多的调整。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

may    

8830

主题

81

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
52336
精华
343

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

沙发
发表于 2013-8-26 01:35:01 |只看该作者
支持技术分享,希望有更多的交流!
回复

使用道具 举报

733

主题

5

听众

1万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
6520
精华
14

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2013-9-15 00:46:35 |只看该作者
楼主的文章很不错,支持一下
回复

使用道具 举报

2

主题

1

听众

1143

积分

助理设计师

Rank: 4

纳金币
350
精华
0
地板
发表于 2013-10-25 15:25:02 |只看该作者
感谢楼主分享~
回复

使用道具 举报

0

主题

1

听众

66

积分

设计初学者

Rank: 1

纳金币
297
精华
0
5#
发表于 2014-3-20 21:29:34 |只看该作者
谢谢,很实用的讲解。
回复

使用道具 举报

2317

主题

54

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
20645
精华
62

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2014-3-23 02:09:29 |只看该作者
很实用的教程
回复

使用道具 举报

0

主题

1

听众

569

积分

初级设计师

Rank: 3Rank: 3

纳金币
155
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2014-7-12 07:17:28 |只看该作者
没看到提供的源文件啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-23 10:21 , Processed in 0.146533 second(s), 34 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部