我一直在努力解决 Maya 中的一个问题,但无论是在这个站点上还是在这个站点之外,我都找不到解决方案。我创建了帐户,以便向社区提出直接问题并希望得到答案。
因此问题是:在建模过程中,人脸索引(例如 obj.f[0])理所当然地被弄乱了。我需要从用户指定的起点按顺序重新排序该面部索引。这是将面放入选择列表中。(Maya 会根据 face_index 编号放列表,这不是我们想要的) 澄清一下,人脸索引本身不需要更改。它只需要正确进入列表即可。
到目前为止我所做的:我能够编写一些代码来选择一条多边形。选定的面将转换为边列表,然后 Maya 搜索共享相同边的面并将其按顺序附加到新列表中。这在条带中很容易实现,因为相邻面只共享一条边。伪代码是:
select geo
select start face and make new_list
converts geo_sel into list
for geo_sel_face in geo_sel:
convert to edge
for new_list_face in new_list:
convert to edge
if edge in geo_sel_face in new_list_face:
ordered_list.append(geo_sel_face)
类似的东西。当然,在处理像平面这样的完整表面时,代码会完全中断,因为至少有两条边与其他面共享。
它的用途:我编写了一个脚本,基本上可以在表面上种植草(或任何其他类型的几何图形)。原始脚本寻找面部中心并在面部中心种植草,或者你有什么。它还将限制方向为法线。但是,索引是混乱的,并且无法进行需要适当索引的额外工作。如果列表是人类可读的而不是机器可读的,这将对数据管理有很大帮助,这就是为什么我正在寻找一种方法来做到这一点。
最后:我试图寻找一个解决方案,但似乎没有找到一个完整的表面。也许我需要从另一个角度考虑这个问题,并且非常感谢社区的任何帮助或启发。
感谢您的时间!