3D材质教程-树枝贴图
作者:网友整理一剑空城录v1.9.8 90.13M /
点击下载诛妖伏魔录v1.11.0 93.96M /
点击下载spacedrawv1.4.3 5.01M / 简体中文
点击下载先看图
概要
在本教程中,我们将深入学习如何使用Texture Editor(简称TE)来编辑纹理。我们将通过创建和编辑两个单独的Texture Projections对一个多边形树枝进行无缝贴图处理。
TE的工作原理
TE可以让你在纹理图上展开多边形网格体来纠正映射纹理到多边形表面时所出现的扭曲。这实际上是展开场景中的物体,用一个平面的Texture Projection映射它,然后不需要触及物体的几何体就可以将它转变回原样子(这已经是游戏开发方面的常用技巧)。
我们先大致看看下面的图片。第一张显示的是一个立方体形的映射图,可以看到四侧惯有的失真。第二张显示的是在TE视图中被展开的立方体,这样,立方体的每一面都可以使用一个单独的纹理贴图来自由扭曲。你可以得到一种包装效果,因此位于图片外的立方体的任何面都能循环使用该图片的纹理。
采样点的工作原理
在本教程中,我们会花费大部分的时间来处理采样点。你可以将采样点视为子细分点(sub-points)。多边形物体上的一个常规点控制多边形上直接连接到它的采样点。
采样点包含纹理信息。这意味着每个多边形角的特定uv坐标被存储,它能精确地指定纹理部分要贴图的位置。采样点能存储纹理信息,因为它们允许我们在TE视图中撕开网格,然后以完全不同的部分映射临近的多边形,而不需要生成另外的Texture Projections和Clusters。
我们来看看下面的图片。这些图片是从TE视图中截出来的,显示的是网格的纹理。第一张图片显示的是一个常规的平面纹理。在第二张图片中,我们单独地移动每个多边形的采样点。这样会将纹理的不同部分映射到临近的多边形上。
术语
下图是我们要处理的树枝,将会涉及以下几个部分:
-黄色部分是主枝。
-粉紫部分是第1个侧枝。
-青蓝部分是第2个侧枝。
-绿色部分是特殊部分。在场景中,它被标记为一个簇。我们将这些多边形视为簇多边形。
教程Ⅰ:主枝
1.打开“Start”场景。
2.确信TE窗口没被锁定,勾选View菜单中的Auto Show Selected(自动显示选定的物体)选项。
3.选择Branch物体。
4.从Render工具栏中选取Get > Texture > Image(获取 > 纹理 > 图像)命令。然后单击New(新建)按钮,将Pictures文件夹中的Mapper图像指定给Branch物体,并且给它一个圆柱形的Texture Projection(纹理映射)。
5.确信TE窗口显示的是Mapper图像。如果没有的话,从Clips菜单中手工选择
[page]
6.沿着Z轴旋转Texture Support -90℃,并在Y轴上局部缩放它5个单位,使它更适合Branch物体。留意TE窗口中的内容变化。
首先,我们会注意到主枝的映射。仅有第4步骤中选择的Texture Projection被使用,侧枝将在后面获得它们各自的Texture Projection。在用Bark纹理改变UVs之前,我们先用Mapper纹理调整它,因为Mapper纹理更适合用来修正UVs。
仔细看一下簇多边形。最后,这些多边形将使用全部Texture Projections。在这些区域,我们将混合主枝和侧枝的纹理。不需要为它们指定簇,只需要用它们定向。
7.在Top视图中选择主枝的所有多边形面,包括簇多边形。
8.沿着Y轴和Z轴平移Texture Pupport,直到中间的轴尽可能地适合主枝。这样,在TE窗口中能更好地展开Texture Projection。试着局部旋转Texture Support以进一步展开它。
留意TE窗口中Texture Projection的变化。使用这种方法,我们不能很好地展开Texture Projection,需要手工处理。
切换回Vertex Selection Filter(顶点选择过滤器),通过添加三个多边形周围的采样点(需要使之与左侧的相称)来扩展当前的采样点选集。
使用Heal(修复)功能来适当放置每一个采样点
[page]
15.载入“第14步”的场景,选择Branch物体。
16.移动“修补过”的UVs,以形成一个一致的网格结构。先来了解Vertex Bleeding(顶点出血)模式的工作原理。
激活Vertex Bleeding(顶点出血)按钮,然后使用Move Component Tool(移动组分工具)移动一个采样点到右边界。
注意,左侧相应的采样点也随着移动,这是因为这4个采样点(只看到两个点,是因为这些点表示共享相同UVs的两个采样点)共享网格上的同一个点;Vertex Bleeding(顶点出血)能让你移动共享同一点的所有采样点。
取消激活Vertex Bleeding(顶点出血)模式,移动一个采样点到右边界。这样,你可以分离共享同一点的采样点。通过选择分离的两个采样点,然后按Heal(修复)按钮,可以闭合刚才创建的缝隙。注意,Heal(修复)只塌陷共享网格同一点的采样点,如果想塌陷不同点的采样点,就需要使用Collapse(塌陷)工具。
17.从TE视图的菜单栏中选取File > Preferences > Grid(文件 > 参数设定 > 网格)命令,调整网格的大小。在打开的属性编辑器中,将它的U和V Step都设置为0.125,表示主枝的8×8个网格,然后关闭属性编辑器。
在TE视图菜单的Snap菜单中,取消点吸附模式,再激活网格吸附。
18.打开Vertex Bleeding(顶点出血)模式,并且激活Move Component Tool(移动组分工具)。移动所有内部的采样点到适当的地方。如有需要,在移动采样点的同时按下Ctrl键,激活网格吸附功能
可以注意到,侧枝右上角的采样点已被移动。这是因为Vertex Bleeding(顶点出血)模式打开。关闭Vertex Bleeding(顶点出血)模式,再次选择它们,并且塌陷它们。
19.剩下的就是边采样点。由于使用Vertex Bleeding(顶点出血)模式会对这些采样点造成不好的效果(这也会移动相反面的采样点),我们会逐一选择它们,然后使用Translate Tool(平移工具)(快捷方式:V键)的同时按下Ctrl键,将它们吸附到适当的地
调整一下灯光后,你会看到纹理贴图精确地包裹在主枝上。
教程Ⅱ:侧枝
20.载入“第19步”的场景。
21.在Explorer中,可以看到branch物体的Texture Projection位于Branch > Polygon Mesh > Clusters > Texture_Coordinates_AUTO > Texture_Projection。在TE中所做的平移操作都保存在这里,因此通过冻结物体可以定时清除臃肿的操作器堆栈。选择物体后,选取Edit > Freeze(编辑 > 冻结)命令。
22.接下来,我们对第1个侧枝进行贴图处理。使用Get > Property > Texture Projection > XZ(获取 > 属性 > 纹理映射)命令,指定另一个Texture Projection给物体。
23.选择branch物体,并且切换到TE的UVs菜单中名叫“Texture_Projection1”的Texture Projection。从该菜单中,你可以选择要使用的Texture Projection。
24.选择第1个侧枝的多边形,包括簇多边形,然后在TE中分离它们的采样点。
由于创建了一个平面的Texture Projection,较远的采样点不会展开得很好。我们将使用一个Cylindrical Subprojection(圆柱形子映射)来解决这个问题。
Subprojection将选定采样点的UVs连接到“假”的Texture Support上,你可以移动它们,并且像对一个矩形Texture Projection那样展开它们。使用Subprojections的优势是,它们并不需要真的创建一个新的Texture Projection,只是作为现有Texture Projection的修改器。
25.为选定采样点创建一个Cylindrica Subprojection(圆柱形子映射),然后选择Best Fit(最适合)选项。
26.稍微四处移动和旋转Subprojection的Texture Projection,直到获得一个满意的起始点用于手工编辑,就像之前处理主枝那样。可以注意到,侧枝比主枝更难处理。它们的几何体远不是完美的圆柱体。
27.载入“第26步”的场景,然后选择branch物体,从TE的UVs菜单切换到“Texture_Projection1”。
28.在开始手工展开第1个侧枝之前,先获取那些不寻常的主枝的采样点,就像处理侧枝的第1个Texture Projection那样。
选择主枝簇边形以外的多边形,然后塌陷它们的采样点。
将它们移到图片的右上角,使它们显得不寻常
29.再次选择第1个侧枝的多边形。在TE中,可以看到底部的采样点很乱。选择如图所示的4个采样,使用Heal(修复)工具稍微整理一下。
现在,可以看到网格状的结构。移动左上角的采样点到右侧的适当位置,就像之前处理其他Texture Projection那样。
30.从TE的菜单栏中选取File > Preferences > Grid(文件 > 参数设定 > 网格)命令,重新调整TE在V方向的网格,以表示侧枝的7节。在V Step文本框中输入1/7, XSI会自动计算出正确的间隔。
31.像之前一样,使用网格吸附功能,使采样点处于合适的位置。注意,你可能需要从Snap菜单打开网格吸附。
32.现在,我们已经很好地给侧枝贴上了纹理图。
33.接下来,展开第2个侧枝。打开“第32步”的场景,然后选择branch物体。
从TE的UVs菜单切换到“Texture_Projection1”。禁用Vertex Bleeding(顶点出血)项,并且单击按钮打开Island Selection(岛选择)模式。
在这个模式下,你可以在TE中选择整组关联的采样点。这样会选择第2个侧枝的采样点。
最后使用Show Selected(显示选定采样点)选项,隐藏所有未选定的采样点。
34.使用Best Fit(最适合)选项指定一个Cylindrical Subprojection(圆柱形子映射)给选定的采样点。像之前处理第1个侧枝那样四处移动Texture Support,直到得到满意的结果为止。因为这个侧枝弯曲得厉害,所以不能完全展开它,最顶部的采样点还是会连接在一起。
35.载入“第34步”的场景,选择branch物体,从TE的UVs菜单切换到“Textrue_Projection1”。使用Island Selection(岛选择)模式,像之前那样分离第2个侧枝的采样点。
36.首先,我们需要旋转采样点180℃。通过两次使用Tools菜单中的Rotate by 90 cw(顺时针旋转90℃)工具来实现。
37.使用Pan and Zoom Tool(快捷键:Z键)(摇移和缩放工具)放大查看最顶部的采样点。最顶部的所有采样点还是连接在一起,以表现物体的真实几何体。我们需要找出合适的点来分开这部分的采样点。如下图所示,右边的这个点就是合适的起始点。
确信关闭了Vertex Bleeding(顶点出血)项,使用Move Component Tool(移动组分工具)分离共享该位置的4个顶点。
使用两次Heal(修复)功能,一次修复两个采样点,使它们塌陷到两个位置,以形成所需的网格状结构。
38.通过移动采样点,来进一步展开它们,使它们更好地形成网格状结构。
39.调整网格的V Step(V步幅)值为0.2,以表示branch物体的5节。确信激活了TE的Snap菜单中的网格吸附功能。
40.如常移动采样点。
41.选择branch物体,然后冻结它。
查看Viewport视窗,可以看到两个侧枝已经完成贴图处理。
教程Ⅲ:在Render Tree中混合
42.载入“第4步”的场景,然后选择branch物体。
43.打开Render Tree窗口,然后按Update(更新)按钮更新shade。
44.从Nodes > Texture(节点 > 纹理)菜单中获取一个Image节点。将它连接到两个Mix_2color节点的input端。
打开两个混合器的第2层的In Use(使用)按钮。
打开新的Image节点,并且给它指定“Texture_Projection1”Texture Projection。
45.绘画出一个渲染区域,以查看效果。
现在,两个纹理相互混合。我们需要创建一些权重信息置入混合器以获得所需的效果。我们将通过Vertex Colors实现。
46.选择物体后,选取Render > Get > Property > Color at Vertices Map(渲染 > 获取 > 属性 > 顶点图颜色)命令,指定一个顶点颜色属性,并且将Viewport B显示模式转换成Constant显示模式。
47.使用Render > Get > Property > Map paint Tools(图涂画工具) > Brush Properties...(渲染 > 获取 > 属性 > 笔刷属性…)(快捷方式:Ctrl+W组合键)命令,打开笔刷属性编辑器。打开Vertex color (顶点颜色)标签,将Color Paint Method(颜色涂画方式)设置为Raycast(光扫滑),勾选Bleeding(出血)选区中的Vertex(顶点)和Polygon(多边形)项。
48.使用Render > Get > Property > Map paint Tools(图涂画工具) > Pain Vertex Color Tool(渲染 > 获取 > 属性 > 涂画顶点颜色工具)(快捷方式:Shift+W组合键)命令,激活涂画顶点颜色工具。
49.以亮白色涂画侧枝,不需要直接在簇多边形上涂画。这会使白色出血到簇多边形里。
50.改变Brush Color(笔刷颜色)为黑色,然后涂画主枝,也不需要直接涂画簇多边形。
51.在Render Tree中,从Noders > Texture(节点 > 纹理)菜单中获取一个Vertex RGBA shader,将它连接到每个Mix_2color的input端。这将顶点颜色信息传递给mental ray。
绘画出一个渲染区域,以查看出血的效果。
52.接下来,该改变为一些更似树的纹理贴图。从Project的“Pictures”目录下为每个Image节点拾取“Bark.pic”图像。
[page]
53.效果还不是很好。我们需要调整纹理重复。这可以在每个Image节点的Advanced标签中调整。打开第1个Image节点的Advanced标签,在Repeats(重复)选区的第1行文本框中输入3,在第2行文本框中输入6;打开第2个Image节点的Advanced标签,在Repeats(重复)选区的第1行文本框中输入2,在第2行文本框中输入4。这些数值分别表示U和V重复。
54.再次绘画出渲染区域,观看效果。
现在,效果好多了。接下来该将branch物体转化成Subdivision Surface(细分表面)。要达到目的,只要使用Render > Get > Property > Geometry Approximation(渲染 > 获取 > 属性 > 几何体近似)命令,应用一个局部的Geometry Approximation属性。在Polygon Mesh(多边形网格体)标签中,将Mesh Subdivision Level(网格体细分级别)增加到2。
55.哈哈,我们终于完成了branch物体的无缝贴图处理。如果你想添加一些置换图效果以增加branch物体的结构感,可以参考“Displaced”场景。
完
加载全部内容