首页 > 代码库 > 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 相关笔记