2012-01-10 3 views
0

비행기에서 건물을 생성하는 스크립트를 만들고 있습니다. 보통 평면을 가지는 것은 사각형이지만 아주 쉽습니다. -/+ X, -/+ Y, -/+ Z와 같은 꼭지점을 찾고 있습니다. 그러나 평면이 규칙적인 모양이 아니면 어떻게할까요? 블렌더에서 파이썬 API 내에서 좋은 솔루션이 있습니까? 실제로 테두리에면/모서리/정점을 감지하는 영리한 방법이 있습니까?Blender Python API에서 비행기 경계를 감지했습니다.

+0

안녕하세요,이 프로젝트를 마쳤습니까? – kraysak

+0

예, 제가했습니다 -이 이슈가 사용 된 경우 기억이 안납니다. – raistlin

답변

1

테두리 모서리를 찾습니다. 테두리 모서리를 찾습니다.이 모서리는 한면에만 부착 된 것입니다. Mesh 클래스, 특히 edges, facesvertices 속성을 살펴보십시오. 불행히도 가장자리에는 속해있는 대상의 목록이 포함되어 있지 않으므로 이러한 매핑을 구성해야합니다.

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를 살펴 봅니다.