본문 바로가기
Computer Graphic

[Maya python] Component Selection

by Deongeun 2020. 10. 29.

 

1. select로 오브젝트의 vtx, edge, face를 선택하는 명령을 내릴 수 있다.

 

 


2. 선택한 face들의 vertex값 정보를 가져오기

 

- objList = cmds.ls(selection = True) : 선택한 영역을 list목록에 넣어준다

- cmds.select(clear = True) : 선택해제

- polyInfo를 통해 정보값을 가져올 수 있는데, faceToVertex =True를 통해 선택한 face의 vertex값을 가져온다.

 

- vtxString.split(":")[1]

을 추가하여 ":"기준으로 나눠주고 list에서 [1]번째에 해당하는 값을 가져온다

(순서는 [0]번째부터 시작한다고 봄)

- re함수를 사용하기 위해 import re 를 먼저 해주고

  vtxList = re.findall("|d+",vtxString)

 : findall을 통해 vtxString 값에서 "\d+"와 매칭되는것들을 찾아서 list로 만들어 준다. 

* \d+: 하나 혹은 그 이상의 연결된 숫자

 

- 현재 objList에 해당하는 값들을 가져오면 

다음과 같이 나타난다.

이 값들을 obj.split(".")[0]에서 "."을 기준으로 [0]번째 해당하는 값을 가져온다.

 


3. face select을 vertex select으로 변환하기

 

- for vtx in vtxList:

       cmds.select(objName + ".vtx["+vtx+"]", add = True)

앞서 뽑았던 vertex 정보 리스트값을 가져와서 vtx에 할당하여 나누고

'objName.[vtx 숫자] 형식'으로 만들어준 후 이를 select하게 한다.

/ 기존에 있던거에 추가가 가능하도록 add =True를 붙여준다.

 

 

'Computer Graphic' 카테고리의 다른 글

[Maya] - Color space: Gamma와 Linear  (0) 2020.09.24
[Maya] - Selection Constraint on Faces 기능  (0) 2020.09.23