Ogre中导入Max烘焙的模型(1)—— 渲染到纹理
来源:互联网 发布:java默认md5长度 编辑:程序博客网 时间:2024/06/02 13:28
渲染到纹理
3ds Max 中的“渲染到纹理”工具可以将各种场景元素渲染或“烘焙”到纹理中,包括照明和阴影。可以在实时 3D 应用程序(如游戏)中使用这些特殊纹理,以减少渲染器的负担,从而提高帧速率。
在本课程中,将介绍这一功能的基本用法。
注意:本教程的所有必需文件都可以在 3ds Max 附带的教程文件光盘上找到。在执行教程之前,请将 \tutorials 目录从光盘复制到您的 \3dsmax 本地安装目录中。
检查设置:
加载文件 tut_texturebake_start.max。该文件位于 \tutorials\vertex_color 文件夹中。
该场景由一个带有纹理贴图的双翼飞机模型和一个投影阴影的泛光灯组成。首先,您将看到该场景在 3ds Max 中渲染后的样子。
确保“透视”视口处于活动状态。在工具栏上单击“快速渲染”,或按 Shift+Q 组合键,以渲染场景。
注意,在渲染的图像中出现了阴影,尤其是由螺旋桨叶片以及上下机翼之间的垂直支柱所投射的阴影。可是这些阴影没有出现在“透视”视口中。
关闭渲染帧窗口。
选择 Fuselage 对象;这是双翼飞机的机身。
Fuselage 使用“UVW 展开”修改器进行复杂而精确的纹理贴图设置。因为这是该场景中唯一一个进行了纹理贴图的对象,所以本课程将集中处理这个对象。首先,看一下纹理。
转到“修改”面板,在修改器堆栈显示中确保高亮显示了“UVW 展开”项。
在“参数”卷展栏上单击“编辑”。
这会打开“编辑 UVW”对话框。可以看到纹理贴图如何被拆分为各个部分,不同的面簇彼此叠加。这些面簇是对应于 Fuselage 网格的不同部分的 UVW 贴图坐标。
关闭该对话框。
按 M 键打开“材质编辑器”,注意,机身使用一个名为 Fuselage 的标准材质进行贴图设置。关闭编辑器窗口。
烘焙纹理:
在“渲染”菜单上,选择“渲染到纹理”。
将打开“渲染到纹理”对话框。
在“烘焙对象”卷展栏中,注意 Fuselage 是列出的唯一一个对象。还要注意“选定对象设置”组 >“启用”复选框已启用,并且“所有选定的”处于选定状态。这意味着“渲染到纹理”将使用任意选定的对象。
如果愿意,可以尝试在“透视”视口中选择不同的对象,您会注意到“烘焙对象”列表将动态更新。最后,只选择 Fuselage 对象。
在“输出”卷展栏上单击“添加”按钮。
这会打开“添加纹理元素”对话框,其中列出了可以渲染的不同类型的纹理元素。通常,您会将所有元素合并为一个纹理,所以要使用 CompleteMap。
在“添加纹理元素”对话框列表中双击 CompleteMap,或高亮显示 CompleteMap,然后单击“添加元素”按钮。
使用“渲染到纹理”时,软件会创建一个新材质。必须指定渲染的纹理在此新材质中将出现的位置。在“选定元素通用设置”组中,单击“目标贴图位置”旁边的下拉列表,并选择“漫反射颜色”。
CompleteMap 出现在“输出”卷展栏列表中,同时出现的还有要生成的默认纹理大小:256x256。原始纹理贴图相当大,所以您很可能要将它渲染为一个较大的大小。
在靠近“输出”卷展栏底部的地方单击“768”按钮。
可通过预设按钮使用其他大小,也可以使用“大小”设置来指定所需的任意输出大小。
这个大小比原始纹理大小要小些;使用该大小有助于看到它与“渲染到纹理”生成的大小之间的区别。
在“名称”字段中,将文本“CompleteMap”更改为 MyCompleteMap。按 Tab 键刷新对话框。
输出列表中的名称将更改以反映编辑的结果,“文件名和类型”项也是如此。
在“渲染到纹理”对话框底部,单击“渲染”按钮。
将短暂地出现警报,显示展平 UV 和烘焙纹理的进度,然后将打开一个虚拟帧缓冲区窗口,其中显示新渲染的 CompleteMap 纹理。这个图像与您在“编辑 UVW”窗口中看到的图像很相似,但是纹理以不同方式细分了。
关闭渲染帧窗口,然后关闭“渲染到纹理”对话框。
查看结果:
查看修改器堆栈显示,然后在“透视”视口中查看双翼飞机。
名为“自动展平 UVs”的第二个修改器已添加给 Fuselage。这是一个“UVW 展开”修改器,但它是由“渲染到纹理”功能自动创建和应用的。
Fuselage 对象仍然获得了很精确的贴图效果,但是此时在视口中出现了投影阴影。例如,如果移动光源,可以看到从螺旋桨投射到机身上的阴影不会随着光源的移动而改变,因为它们已被烘焙到纹理中。
还可以看到在视口中应用到机身的纹理贴图的质量较低,但是如果渲染该图像,纹理又具有其原始的高质量。在下面几个步骤中,将介绍出现这种情况的原因。
再次打开“材质编辑器”。单击第一个材质,该材质以前的名称为 Fuselage。
软件已将该材质重命名为 orig_Fuselage。
下滚以找到一个未使用的示例球,单击该示例球,然后单击“获取材质”按钮。
在“材质/贴图浏览器”对话框 >“浏览自”组中,选择“选定对象”。
现在列表中只出现了一个材质。它的名称为 Fuselage(来自于它应用到的对象),而类型(即“壳材质”)出现在名称旁边。此材质由“渲染到纹理”自动生成,然后被应用到 Fuselage 对象。
基本上,壳材质可用于将两种材质合并为一种材质;您可以在视口中看到一种材质,同时使用另一种材质进行渲染。当“渲染到纹理”生成一种壳材质时,它将原始材质用于渲染,将烘焙材质用于在视口中显示。
在列表中双击该纹理,以将其添加到“材质编辑器”中。关闭“材质/贴图浏览器”对话框。
在 tut_texturebake_finish.max 中可以找到处于当前状态的场景。
该材质只有一个卷展栏:“壳材质参数”。它显示原始材质 (orig_Fuselage) 将用于渲染,而烘焙材质(baked_Fuselage,由“渲染到纹理”生成)将在视口中可见。
单击“原始材质”按钮,然后在“材质编辑器”工具栏上单击“在视口中显示贴图”按钮。
这一步使您可以在下一步时在视口中看到材质。
返回材质的顶层级,并在“壳材质参数”卷展栏上的“视口”下单击顶部的单选按钮(位于“原始材质”的旁边)。
在“透视”视口中,Fuselage 恢复为其先前的外观,阴影也不见了。
尝试移动光源,然后使用烘焙的纹理进行渲染。
原始阴影仍然保留在您烘焙它们的位置。根据您定位光源的位置,可能会看到另一组阴影,它们在渲染过程中由灯光投射。
在壳材质中,将视口显示恢复为烘焙材质。
渲染其他元素:
除了 CompleteMap,还可以渲染单个元素,每次渲染一个或多个。
打开“渲染到纹理”对话框,在“输出”卷展栏中删除 MyCompleteMap 元素,然后添加 ShadowsMap 元素。将“目标贴图位置”设置为“漫反射颜色”。
单击“渲染”。
新的材质是未着色的,除了出现阴影的地方。如果目标渲染引擎支持合成多个纹理,则可以使用这种类型的纹理。
注意,渲染帧窗口仍然显示 CompleteMap,即使“渲染到纹理”并没有对其进行保存。无论渲染哪种类型的元素,都总是出现这种情况。可以在“常规设置”卷展栏上禁用帧窗口的自动显示。
在“渲染到纹理”对话框中,删除 ShadowsMap 纹理元素,然后同时添加 DiffuseMap 和 LightingMap 元素。
它们按照该顺序出现在列表中。当列表中有多个纹理时,通过单击纹理的列表项,可以为每个纹理指定输出设置。
在列表中单击 DiffuseMap 项,然后将“目标贴图示例窗”设置为“漫反射颜色”。
单击“渲染”。当出现“缺少贴图目标”警告时,单击“继续”按钮。
“缺少贴图目标”对话框显示所有未指定到目标贴图示例窗的纹理元素。
新的壳材质只针对列表中的第一个元素创建,如“透视”视口所示。但是,所有纹理都保存在目标目录中。通过删除 DiffuseMap,可以在视口中看到 LightingMap 纹理。
删除 DiffuseMap 列表项,将 LightingMap 的“目标贴图位置”设置为“漫反射颜色”,然后单击“渲染”按钮。
“渲染到纹理”生成一个新材质并将其应用到 Fuselage,所以它现在在视口中可见。LightingMap 元素包括所有着色和阴影,但是没有漫反射颜色。
注意:每次只能将一个纹理元素设置为任意给定的目标贴图类型。同样,如果添加一个先前指定了目标贴图类型的纹理元素,软件会自动指定它最近使用的目标贴图类型(如果没有其他活动纹理元素正在使用该目标贴图类型)。如果有其他活动纹理元素正在使用该目标贴图类型,则新指定的纹理元素的目标贴图示例窗为空。
小结
“渲染到纹理”是一个用途广泛的工具,可以在为实时应用程序生成纹理贴图时节省时间。在本教程中,您学习了如何烘焙不同类型的纹理,以及如何使用由“渲染到纹理”生成的壳材质。请尝试生成其他纹理元素,然后将它们导出到实时 3D 引擎中。
转载自:http://www.ddove.com/3dmax/sl/tut_rendering_to_texture.html
- Ogre中导入Max烘焙的模型(1)—— 渲染到纹理
- Ogre中导入Max烘焙的模型(2)—— MAX中烘焙
- Ogre中导入Max烘焙的模型(4)——Ogre与MAX的坐标变化
- Ogre中导入Max烘焙的模型(3)—— OgreMax导出Scene
- Ogre中渲染到纹理的步骤
- Ogre渲染到纹理
- OGRE渲染到纹理
- OGRE Demo_RenderToTexture 渲染到纹理
- OGRE Demo_RenderToTexture 渲染到纹理
- 3ds Max 烘焙模型导入 Unity 3D 步骤
- 3ds Max 烘焙模型导入 Unity 3D 步骤
- 3Ds Max 中模型烘焙的处理步骤及 SuperMap 平台中 使用注意事项
- Ogre 的渲染到纹理的关键的3个步骤
- Ogre 的渲染到纹理的关键的3个步骤
- Ogre 的渲染到纹理的关键的3个步骤
- Ogre 的渲染到纹理的关键的3个步骤
- 渲染到纹理(转)
- 渲染到纹理(转载)
- 数据结构学习笔记3——单链表
- 写给测试新人怎么找缺陷+怎么写用例(转)
- DOM对象和JQuery对象的区别
- HDU 3525 Orienteering (最长公共子串转化为最长上升子序列)
- Flex获取MySQL数据库数据
- Ogre中导入Max烘焙的模型(1)—— 渲染到纹理
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- 此网站真是好
- 获取图片的源尺寸大小
- 数据库远程备份
- 你媳妇胖么?嘿嘿~
- rac下检查监听是否正确
- PostgreSQL学习手册(常用数据类型)
- 【科研论文】基于ODMA和L-PLC技术的楼宇自动化系统的设计和研究(W7100A)