0
私は飛行機から建物を生成するスクリプトを作成しています。通常の平面を長方形にするのは非常に簡単ですが、頂点を最も多く探しています -/+ X、 -/+ Y、 -/+ Zですが、平面が規則的な形状でないとどうなりますか? BlenderのPython API内に簡単な解決策がありますか? 実際に、境界にある面/稜線/頂点を検出する巧妙な方法はありますか?Blender Python APIで飛行機の境界を検出
私は飛行機から建物を生成するスクリプトを作成しています。通常の平面を長方形にするのは非常に簡単ですが、頂点を最も多く探しています -/+ X、 -/+ Y、 -/+ Zですが、平面が規則的な形状でないとどうなりますか? BlenderのPython API内に簡単な解決策がありますか? 実際に、境界にある面/稜線/頂点を検出する巧妙な方法はありますか?Blender Python APIで飛行機の境界を検出
ボーダーエッジを探します。これらは1つのフェイスにのみ貼り付けられます。 Meshクラス、具体的にはedges、facesおよびverticesの属性を見てください。残念ながら、エッジにはどのオブジェクトが属しているかのリストが含まれていないため、このようなマッピングを作成する必要があります。
EdgeFaces = {} # mapping from edge to adjacent faces
for ThisFace in TheMesh.faces :
for ThisEdge in ThisFace.edge_keys :
if not ThisEdge in EdgeFaces :
EdgeFaces[ThisEdge] = []
#end if
EdgeFaces[ThisEdge].append(ThisFace.edge_keys)
#end for
#end for
次に、単一要素リストにマップされているすべてのキーについてEdgeFacesを調べます。
こんにちは、このプロジェクトを終了しましたか? – kraysak
はい、私はしました - この問題がそれで使用されていたとしても覚えていない – raistlin