Python을 사용하여 Maya에서 X-Ray 모드 전환
Sep 12 2020
Maya에서 X-Ray 모드를 전환 할 수 있도록 일부 Python 코드를 키에 바인딩하려고합니다.
저를 혼란스럽게하는 한 가지는 제가이 코드 줄을 실행할 때 ...
def xrayQuery():
cmds.modelEditor('modelPanel4', q=True, xr=True)
xrayQuery()
xray 모드를 쿼리했지만 결과가 반환되지 않습니다. 하지만 기능없이 명령 만 실행하면 ...
cmds.modelEditor('modelPanel4', q=True, xr=True)
Xray 모드가 활성화되어 있는지 여부에 따라 부울 결과 인 처음 예상했던 결과를 얻었습니다. 왜 이것이 왜 나에게 말할 수 있습니까?
저는 Maya 내부에서 파이썬을 처음 접했기 때문에 어떤 도움을 주시면 감사하겠습니다! 감사!
답변
2 sam Sep 11 2020 at 23:26
사용자 정의 함수가 내부에서 호출 된 것과 동일한 출력을 반환하도록하려면 return을 호출해야합니다. 아래와 같이 :
def xrayQuery():
return cmds.modelEditor('modelPanel4', q=True, xr=True)
참고로, 원래 함수를 호출하는 대신 함수를 작성하는 목적을 설명 할 수 있다면 유스 케이스를 이해하는 것이 도움이 될 것입니다.
user14261562 Sep 12 2020 at 02:59
그래서 특정 뷰포트에 대해 x-ray 뷰 모드를 켜고 끄는 몇 줄의 코드를 통해 달성하려는 작업을 단순화하는 방법을 알아 냈습니다. 이 코드 블록에서 'not'연산자를 사용하여 if else 문에 대한 필요성을 없앨 수있었습니다.
import maya.cmds as cmds
def xray_toggle():
result = cmds.modelEditor('modelPanel4', q=True, xr=True)
cmds.modelEditor('modelPanel4', e=True, xr=not result)
xray_toggle()