2013-02-03 6 views
0

NODES를 사용하여 이전 변환을 얻거나 시간적으로 변환 할 수 있습니까? 나는 이것을하는 간단한 표현식을 작성했지만, 노드를 가지고 이것을 달성하기를 정말로 원합니다.이전 변환 가져 오기

$ transx = getattr 'objname.tx' -frame time -1;

아니면 완전히 기억할 수없는 어쨌든 유사한하지만이 표현식에서 getatrr을 사용했다.

아이디어가 있으십니까?

답변

0

표현식 노드가 거친 노드 인 경우 표현식 노드 내에 getAttr 노드의 흐름이 끊어집니다. 하지만 예, 이전 실행에서 값을 frameCache 노드로 저장할 수 있습니다. 또는 표현식의 속성 내에 값을 저장할 수 있습니다.

node.tx = node.cacheTx; 
node.cacheTx = objname.tx; 

이것은 속성 평가 흐름을 손상시키지 않으므로 훨씬 빠릅니다. 이러한 메커니즘은 모두 프레임 변경 사이에 변경된 경우 시간 컨텍스트를 벗어나 평가하지 못하는 단점을 가지고 있습니다. Maya 사용자가 항상 수행하는 작업으로 사용자 피드백이 좋지 않습니다. 실제로 매우 복잡한 사용자 정의 노드를 구현하는 것과 관련하여 할 수있는 일은 거의 없습니다.

Maya 사용자가 Mayas 시간 메커니즘을 위반하는 실용적인 작업으로 성공했기 때문에 어렵습니다. 개발자는 사용자의 압박에 굴복 해이를 허용했지만 Maya의 시간 평가주기가 잘못되어 시간의 흐름에 따라 모든 것이 쿼리 될 수있는 것은 아닙니다. Maya에서 Difference 수식 해법을 만드는 것을 어렵게 만듭니다. 물론이 특별한 경우 노드는 특별히 만들기가 어렵지는 않지만 대부분의 경우 실제로 작동하는 노드는 어렵습니다.

+0

나는 당신이 제공 한 코드가 "이전"translationX를 어떻게 도왔는지 이해하지 못한다. 단지 같은 값이 아닌가? –

+0

아, 미안, 선이 틀렸어. – joojaa

+0

당신은 대답을 편집 할 수 있습니다. –

관련 문제