查看: 1502|回复: 0

MAYA中多边形的顶点(Vertex)着色的各种方法

[复制链接]

903

主题

951

帖子

3935

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3935

最佳新人

发表于 2019-1-23 09:20:18 | 显示全部楼层 |阅读模式
MAYA中多边形的顶点(Vertex)着色,使用的是与材质无关的另外一套数据信息,这些顶点色彩与几何体存储在一起,可以导出到游戏引擎或其他软件中。但使用Maya Software渲染器无法渲染出设定的顶点颜色.所以,你需要在渲染设置中使用MAYA的高级渲染。

67_3_01d429d752b7d2d.jpg


基于顶点(Vertex)的着色与材质无关

MAYA中有三种方法可为顶点着色,下面分别介绍。

第一种方法是,首先选择多边行的一个或多个顶点,在Polyg哔~模块下执行Color | Apply Color,如图,打开其选项窗,选择色彩,单击Apply Color按钮,为所选顶点应用色彩。
可以只选一个顶点,也可以一次性为多个顶点应用色彩,如图

67_3_1f558f88fb01bcc.jpg

第二种方法是使用Paint Vertex Color Tool(绘画顶点颜色工具)在顶点上直接绘画颜色。选择多边形,执行Color | Paint Vertex Color Tool,如图,打开其选项窗,设置色彩和画笔半径大小,直接在多边形绘画,即可为该顶点的顶点着色了。

67_3_8591bf3124b4d29.jpg

67_3_0b0bbae9d64cddf.jpg

67_3_bf455a5e672f9d1.jpg

第三种顶点着色的方法是Prelight,即预亮,我们将在下面单独介绍。

Prelight与Bake
Prelight,预亮,也可以为多边形顶点着色。Prelight基于多边形的每个顶点,对光照和纹理执行渲染计算,把光照和纹理信息转换为每个顶点的颜色信息,并把顶点颜色与几何体存储在一起。这样多边形的顶点色彩就与材质、灯光无关了,所以即使删除场景中灯光和模型的材质纹理,模型表面色彩也不会改变。这样即使把模型输出到其它平台中,灯光和纹理信息仍然在。如果需要将MAYA模型转换到游戏开发平台中时,Prelight很有用。
值得说明的是,由于Prelight是基于顶点进行的,顶点色彩是和材质无关的另外一套数据信息,所以Prelight的结果不会被渲染出来。
Prelight之前,场景中至少要有一个灯光,但对被计算的灯光的最大数量没有限制。
所以我们先建立一盏平行光。调节适当的角度。然后给这两个球分别赋予相同的贴图材质。这里我们选个LAMBERT材质。并在上面贴图。
如图,选中已经赋予贴图的多边形,执行Color | Prelight(Maya)。

67_3_a8ea658732b953d.jpg

然后按一下5键,只显示物体的顶点颜色,对比一下两个物体,左边是有顶点颜色的,而右面没有进行预亮操作。所以显示的是默认的灰色。

67_3_37d521011ea7d25.jpg

此外,Prelight信息无法被删除,但可以使用Color | Apply Color,使用Apply Color下的Remove选项,间接移除Prelight结果。
这种清除方法也适用于去除前两种添加着色的方法。

MAYA 中和Prelight类似的概念就是Bake(烘焙)了。Prelight是基于模型的顶点,把光照和纹理信息转换为每个顶点的颜色信息,与几何体存储在一起,Prelight得到的数据信息和材质无关,无法被MAYA的渲染器渲染出来。而Bake(烘焙)是基于模型表面上的每个可视点来进行的,Bake(烘焙)的结果是可以被渲染的。MAYA的Bake(烘焙)原理是将模型的材质节点网络(3D纹理、凹凸等)和物体接受的光照信息一并 Bake为一张2d纹理贴图。Bake(烘焙)的方法是,依次选择模型的材质(可在Hypershade中选择)和模型,然后在Hypershade中执行Edit | Convert to File Texture(Maya Software),如图。

67_3_203d2560d35ff5f.jpg


按完这个后,会发现,Hypershade中多了一个材质,并且会把这个材质附加给你选择的物体。材质和你刚刚选择的那个材质是一样的。

67_3_14205958f7a76ae.jpg


关注galaxixv,官方微信公众号。
GALAXIX UE4 讨论学习群 140439020
UE4精英学习群  12762592
UNITY学习群   194092348
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


快速回复 返回顶部 返回列表