首页 > 代码库 > maxscript Map Channel 相关笔记

maxscript Map Channel 相关笔记

  3dmax 中的<Map Channel>可以保存0-99共100个编号,max中通过这些通道可以取得顶点颜色通道,每一个UV坐标通道信息。Map Channel的0号通道通常代表模型的顶点颜色

;1号通道为默认的UV纹理通道;其余编号用户启用了其他纹理通道则会激活。

1.meshop.getnumcpvverts  函数可获取一个模型网格的颜色顶点数量。对应模型Mapping Methods的<Channel 0>。但前提是该模型指定了顶点颜色,如果不指定顶点颜色 getnumcpvverts将抛出<Runtime error>。

2.meshop.getNumMaps  函数返回模型Map Channel的最大使用值。通常Map Channel的值为0-99,0通道为顶点颜色通道,1-99为纹理UV通

道,当场景中创建一个物体,不做任何赋予贴图或指定顶点颜色的处理情况下,采用meshop.getNumMaps应用于该模型会返回最低值2,说明2个通道启用。一个是0号通道(顶点颜色),另一个为1号通道(默认的UV通道)。如果对模型添加一个UVW Mapping之类的UV修改器,在该修改器应用到的Map Channel假设设置为1,则该函数仍然返回2(0和1),因为1号通道为默认纹理通道。如果设置为2,则返回3(0、1、2)。如果直接设置为5,则返回6。但是!并不代表除了0号和1号通道以外的2到5号通道全部是激活的(在getMapSupport中解析通道的启用)。

 

3.meshop.getMapSupport  查询一个Map Channel是否激活。在默认情况下,1号通道(默认UV通道)始终为激活,0号通道只有在指定了顶点颜色的情况下才会激活,所以在写脚本导出颜色顶点数据时,可用该函数查询0号通道是否返回True,以确定是否指定了顶点颜色。

maxscript Map Channel 相关笔记