2014-07-07 1 views
2

스크립트를 실행 한 후 작은 코드 집합을 자동으로 실행할 수 있습니까?지연된 코드 실행을 실행할 수 있습니까?

몇 가지 이유로이 코드 집합을 기본 스크립트에 추가하면 작동하지만 탭 오류 목록이 표시됩니다 (이미 있지만 그 위치는 찾을 수 없다는 메시지가 나타납니다). 그것은 일종의).

필자의 스크립트를 실행 한 후 Maya는 내 회사에서 수행 한 일부 플러그인과 함께 새로 고침 설정을 '로드하는'것처럼 보입니다. 따라서, 메인 스크립트 실행 후 Maya/plugins 'refresher'코드를 실행하면 문제없이 작동합니다. 가능하다면 스크립트 내에서 가능한 한 자동화 된 프로세스를 만들고 싶습니다 ...

이렇게 할 수 있습니까? 지연된 코딩 방법처럼? FYI, 주 스크립트 실행 시간은 장면의 요소 수에 따라 다릅니다. 존재하는 것이 많을수록 시간이 오래 걸릴 것입니다 ...

+0

리프레저 스크립트의 하위 프로세스를 생성하고 완료 될 때까지 대기 중입니까? –

+3

두 스크립트를 배치 또는 셸에 포함 시키시겠습니까? –

+0

새로 고친 후 코드를 시작하는 Maya 플러그인을 작성하면됩니까? – Dschoni

답변

2

마야는 이러한 목적으로 사용되는 명령이 Maya.cmds.evalDeferred입니다. Maya 처리가 보류 상태가 될 때까지 대기 한 다음 자체 평가합니다.

같은 목적으로 Maya.cmds.scriptJob을 사용할 수도 있습니다.

참고 : eval은 Maya 컨텍스트에서 위험하고 안전하지 않은 것으로 간주되지만 실제로는 정상입니다. 거의 모든 GUI 항목은 사용자가 수정할 수있는 평가 명령 일 뿐이므로 Maya의 모든 것이 본질적으로 안전하지 않기 때문입니다. 따라서 두 번째로 보안이 손상된 Maya 셸을 다른 사람이 사용하게하십시오.

+1

문제에 대한 통찰력을 주셔서 감사합니다. 시간에서 꽤 우스운 (다소 불가능한) 질문을하는 데 동의했습니다. 당신이 말했듯이, 마야는 다른 방법보다 나를 반대합니다. 그리고 솔직히 말해서, 제가 적절히 대본을 작성하는 방법에 여전히 부족한 시점까지는, 같은 일이 di Maya가 설치 한 모듈/플러그인의 종류. – dissidia

+0

불가능한 것은 없습니다. IT는 Maya가 2 계층 1을 사용할 것으로 기대하는 반면, 하나의 계층 접근 방식으로 사용자의 묶는 물건 GUI를 좋아한다는 소리를 들려줍니다. YOu는 자체적으로 포함 된 계산 계층을 가져야하며 GUI가이 작업과 독립적으로 마법을 작동하게해야합니다. 이것은 Maya가 GUI를 사용하지 않고 살아갈 수 있기 때문에 다르게 작동하려는 Maya의 모든 작업이 무의미한 방법입니다. 어쨌든 당신은 아마 당신의 디자인에 대한 질문을 각 단계마다 많이하지 말아야 할 것입니다. 지금 당신이 취하는 각 단계마다 자신을 파고 드는 무덤을 파고 드는 것은 실제로 작동 할 솔루션을 더욱 형성하게 만듭니다. – joojaa

+0

나에게도 모든 작업이 getAttr을 사용하여 우회 될 수 있다는 점에 유의하십시오. – joojaa

관련 문제