我正在編寫一個自定義導出腳本來解析攪拌器文件中的所有對象,按名稱對它們進行過濾,然後檢查以確保它們符合某些特定條件。使用Blender Python API的場景對象選擇性導出2.6
我使用Blender 2.68a。我用一些基本的2D和3D網格創建了一個攪拌器文件,還有一些應該會失敗我的測試標準。我正在Blender內部的Python控制檯中工作。這是使用blender python API的唯一方法,因爲它們的python環境是自定義的。
我整理如何通過對象使用for循環和D.objects迭代器遍歷,然後檢查名稱使用正則表達式匹配,然後用得到的對象網格:
mesh = obj.to_mesh(C.scene, True, 'RENDER') #where obj is an bpy.data.object[index] in the scene
mesh.update(True, True)
mesh.polygons[index].<long list of possible functions>
讓我訪問一個多邊形數組來知道是否有一組邊形成一個多邊形的頂點,以及它們的關鍵值是什麼。
我無法理解的是如何從python控制檯確定poly是一個面還是一個poly。有沒有一個內置的函數,或者我可以通過編程來執行哪些測試來確定?例如,我可以有一個帶有4個邊的網格4頂點,它們沒有面,我不想導出它,但是如果我要編輯相同的4個頂點/邊並在其上面放上一個面,成爲一個理想的出口。
任何人都可以解釋bpy.data.object數據結構或解釋「面孔」的存儲位置?看起來它好像是npolys本身的屬性,但API並沒有讓它變得明顯。任何幫助澄清這將不勝感激。乾杯。
網格模型由頂點,邊和麪組成。臉是多邊形的另一個名稱。 – sambler