我一直在Maya中遇到問題,並且無法在本網站上或本網站上找到解決方案。我做了這個賬戶,所以我可以向社區提出一個直接的問題,並希望得到答案。重新排列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)
類似的東西。當處理像飛機這樣的完整表面時,代碼完全中斷,因爲至少有兩條邊與其他表面共享。
這是什麼用於: 我寫了一個腳本,基本上植物草(或任何其他類型的幾何)跨越一個表面。原始腳本尋找臉部中心,並在臉部中心植草,或者你有什麼。它也將限制方向到法線。然而,索引混亂了,做額外的工作,需要一個適當的索引變得不可能。如果列表是人類可讀的而不是機器可讀的,這對數據管理將有很大幫助,這就是爲什麼我正在尋找一種方法來實現這一點。
最後: 我試圖尋找一個解決方案,但似乎沒有找到一個完整的表面。也許我需要從另一個角度思考這個問題,並且非常感謝來自社區的任何幫助或啓發。
謝謝您的時間!
因此,您需要按順序在一組面中映射,並且新映射不是相同的索引,但看起來完全相同?或者你想以某種確定性的方式來排列一張面孔列表? – theodox
嘿thodox,謝謝你的回覆! 後者以確定性的方式排序面部列表。 想象一下3x3平面。通常在建模之後,臉部索引變得混亂起來。我想重新排序它,例如,plane.face [0]從左上角開始,然後垂直於plane.face [1],依此類推。 我可以分離所有的面並重新組合,或者使用MFnMesh :: createInPlace來做類似的事情。但無論哪種方式都需要我做某種手動選擇。 這對於小數目並不是什麼大不了的事,但是當一個場景有數百個時,這是瘋了。 – XJZeng