分离对象后如何识别生成的网格

时间:2014-09-29 09:27:18

标签: python maya pymel

所以我有一个单个网格的面列表。该网格(让我们称之为“A”)是组合未知数量的网格的结果(您可以假设面部列表等于构成“A”的一个或多个整个网格)。然后我在网格上使用单独的,这导致了许多单独的网格。知道哪些网格对应于原始面集的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

@ beardedBerry的解决方案通常有效;主要可能的问题是,当网格被分割时,某些类型的历史会搞砸垂直颜色。你可以以相同的方式使用额外的紫外线通道,紫外线往往比顶点颜色更容易存活,尽管(很少)它们也会变坏。叹息。

如果你想要一种分析方法,你可以或多或少地这样做:

  1. 抓住每个顶点的世界空间位置。将这些转换为哈希值(你可以只使用xyz元组的散列作为vert。
  2. 遍历整个对象中的所有面,将面映射到其顶点的3个哈希值(您需要对3个哈希值进行排序以确保它们的顺序相同)
  3. 拆分对象
  4. 重复1和2中的过程
  5. 比较词典:每个新对象都是原始对象的子集,你可以说'对象3中的脸7是原始的脸250'