首页 文章

是否有可能将Maya中的纹理组合成某种图集?

提问于
浏览
1

我开始使用Maya来做一些2D角色的骨骼动画,它由几个不同的部分(腿,身体,头部,武器等)组成 . 我将每个部分都放在一个单独的.PNG图像文件中 . 现在我的每个部分都有一个多边形,有自己的材质和纹理:

enter image description here

我想知道是否有一种方法可以自动将纹理组合成图集,使所有多边形与图集使用相同的材质,并更正它们的UV贴图,使它们仍然指向图集的右侧部分 . 现在,我可以反过来手动完成:我可以使用其他工具在Maya外部制作图集,然后在材质上使用图集并手动校正每个多边形的UV贴图 . 但这是一个非常漫长的过程,如果我需要改变纹理,我必须重新做一遍 . 所以我想知道是否有办法实现自动化 .

我试图这样做的原因是在Unity中保存绘制调用 . 据我所知,Unity可以批量对象,只要它们共享相同的材料 . 因此,我不想对角色中的每个多边形进行绘制调用,而是希望对整个角色进行一次绘制调用 . 我对Maya很新,所以任何帮助都将不胜感激!

1 回答

  • 3

    如果要在Maya中进行atlassing,可以通过复制网格并使用“传递 Map ”工具将所有不同的网格作为单个模型烘焙到副本上来完成 . 步骤将是:

    1)复制网格

    2)使用UV布局确保复制的网格没有重叠的UV(或者仅在适当的位置具有它们,如镜像片段 .

    3)使用 Transfer Maps... 工具将原始网格投影到新网格上,使用"Use topology"选项确保投影清晰 .

    最终结果应该是新模型具有与原始模型相同的几何形状和外观,但是将所有纹理组合到单个材料上的单个工作表上 .

    这种方法的局限性在于某些类型的网格(特别是自相交的网格)可能无法正确投影,让您手动触摸图示的纹理 . 与任何atlassing解决方案一样,您可能会在纹理中看到一些柔化,因为图集纹理不是像素复制的像素,而是投影,因此是重新采样 .

    您可能会发现使用脚本或assetPostprocessor在Unity中重新处理字符会更灵活 . Unity具有原生纹理atlassing函数,记录为here . Unity附带了一个用于组合静态网格物体的脚本,但是你可以在团结维基上做一个可能做你想做的事情的例子:http://wiki.unity3d.com/index.php?title=SkinnedMeshCombiner(警告:我们在工作中做了类似于此的事情,但我可以't share it; I have not used the one in this link). FWIW Unity' s本地atlassing仅适用于矩形,所以它不像你自己可以做的那样有效 .

相关问题