회원 로그인
|
Python for Maya - 2. select (선택)
Digital Dream ( http://cafe.naver.com/digitaldream ) 카페의 'Maya Python 시작하기'의
기반으로 복습하는 차원에서 재정리한 것입니다.
maya 안의 python select는 간편한 사용법으로 mel 보다 높은 기능과 간편성을 제공한다.
object를 여러개 생성한다.
Script Editor 창을 열고 아래 code를 입력해 보자.
import maya.cmds as cmd cmd.select(all=True)object가 전체 선택이 되었다.
python에서 maya script를 사용하기 위해선 import maya.cmds를 해야 한다는 건 전에도 다루었으므로 넘어가고(한번만 import하면 된다.),
cmd.select(all=True) object 전체를 선택하는 flag가 된다.
다른 형식으로 선택하자면..
cmd.select('*')
하지만, 위 두개의 방법은 차이점이 있다.
outliner 창을 열고, 모든 oject를 group(단축키 ctrl+g) 하자.
cmd.select(all=True)은 최상의 group만 선택되어 지는 반면, | cmd.select('*')은 모든 object를 선택하게 된다. |
mel에서의 전체 select는 아래와 같다. python의 cmd.select(all=True)와 같다.
select -all;이번엔 일부 object를 선택해 보자.
cmd.select('nurbsSphere1', 'nurbsSphere2')sphere1과 sphere2를 개별적으로 선택할 수가 있게 된다. ' '사이에 각 object명을 넣고 ,로 구분해 주면 된다.
다음은...
cmd.select('nurbsSphere1?')
nurbsSphere1?으로 sphere 10번대를 모두 선택하게 된다. 당연 20번대는 nurbsSphere2? 이렇게 하면 된다.
이번엔 선택 된 object를 특정 변수에 저장 후 다시 선택하는 것을 해보겠다.
아무 object들을 선택하고 아래 code를 입력하여 실행한다.
sel_obj = cmd.ls(sl=1) cmd.select(clear=1)sel_obj = cmd.ls(sl=1) 선택된 것을 변수 sel_obj에 저장한다는 의미이다.
sl = 1은 지금까지 해왔던 sl = True와 같은 것이다. 즉, 1 = True 0 = False가 된다.
cmd.select(clear=1)은 선택된 것을 해제한다는 것이다.
이제 변수 sel_obj에 저장된 것을 확인해 보자.
sel_obj # Result: [u'nurbsSphere8', u'nurbsSphere9', u'nurbsSphere13', u'nurbsSphere14', u'nurbsSphere15', u'nurbsSphere19', u'nurbsSphere20'] #python에서의 mel 처럼 int, float, string 등의 변수 선언은 하지 않는다. 언제든지 형 변환으로 바꿀 수 있기 때문에 정해놓지 않는다.
sel_obj에 저장된 것을 다시 선택해 보자.
cmd.select(sel_obj)
────────────────────────────────────────────────
source : http://cafe.naver.com/digitaldream/430 - 'Maya Python 시작하기' 2) select
댓글 0개
| 엮인글 0개
466개(1/24페이지)
번호 | 제목 | 글쓴이 | 조회 | 날짜 |
---|---|---|---|---|
마야 뷰포트 네비게이션 팁 | 푸딩뱃살 | 43261 | 2020.04.06 17:22 | |
Maya 버전 별 Python 버전 | 푸딩뱃살 | 64534 | 2014.01.08 17:59 | |
464 | [Dev] Autodesk Maya Devkit 다운로드 | 푸딩뱃살 | 695 | 2023.01.28 14:28 |
463 | [Base] (해결 중) modules 환경설정 중 | 푸딩뱃살 | 636 | 2022.11.09 11:47 |
462 | [Script] pymel 딕셔너리형 사용 시 KeyError | 푸딩뱃살 | 847 | 2022.11.07 12:08 |
461 | [오류] Building Numpy for Maya Python 2.7.x | 푸딩뱃살 | 589 | 2022.10.23 14:38 |
460 | [Base] 뷰포트에서 조절자가 안 보일때 | 푸딩뱃살 | 773 | 2022.10.13 15:47 |
459 | [Rigging] mirror joints 사용 시 유의 사항 | 푸딩뱃살 | 787 | 2022.10.04 10:46 |
458 | [Script] 2022에서 enum34 모듈 설치 금지 | 푸딩뱃살 | 595 | 2022.08.17 18:08 |
457 | [Script] pymel 예제 | 푸딩뱃살 | 615 | 2022.07.05 19:20 |
456 | [Script] 인코드 / 디코드 - 2.7 한글 사용 | 푸딩뱃살 | 894 | 2022.03.08 17:52 |
455 | [Dev] ui 없이 mayapy로 자동화 | 푸딩뱃살 | 695 | 2022.02.17 13:56 |
454 | [Dev] mayapy로 ui파일 py로 | 푸딩뱃살 | 523 | 2022.02.15 18:20 |
453 | [오류] Error : MayaBonusTools | 푸딩뱃살 | 908 | 2022.01.21 17:52 |
452 | [오류] Error: ModuleNotFoundError | 푸딩뱃살 | 761 | 2022.01.21 16:24 |
451 | [Dev] mayapy | 푸딩뱃살 | 639 | 2022.01.19 20:08 |
450 | [Base] function selCom at 0x7f29c5c04aa0 | 푸딩뱃살 | 604 | 2022.01.19 17:24 |
449 | [Base] wireframe on shaded 단축키 만들기 | 푸딩뱃살 | 906 | 2022.01.04 10:55 |
448 | [오류] OpenCL Error | 푸딩뱃살 | 516 | 2021.12.28 01:40 |
447 | [Script] Easily Translate MEL Commands to Python | 푸딩뱃살 | 818 | 2021.12.02 11:22 |
446 | [Base] output window 띄우지 않기 | 푸딩뱃살 | 813 | 2021.11.24 21:44 |
445 | [Rigging] shapeEditorManager 삭제 안됨 | 푸딩뱃살 | 885 | 2021.11.12 23:30 |