상세 컨텐츠

본문 제목

연산수정

Maya_Plugin_Development /FickleCube

by hwano 2014. 3. 5. 18:03

본문

 

 

 

이 플러그인의 작동 방식은 baseCurve를 먼저 만들고 거기에 outputCurve를 matrix 곱으로 다시 계산하여 붙이는

방식으로 작동한다.

 

첨에 플러그인을 만들 때 baseCurve부분을 만들어 넣으니 엄청나게 퍼포먼스가 떨어졌다.

매트릭스 곱을 하니 느려진줄 알고 당연히 매트릭스의 곱 연산은 느리구나 하고 생각하고 있었다.

 

근데 몇번 테스트 하다보니 그게 아니듯 싶은게

매트릭스 곱의 연산 횟수는 outputCurve의 span수에 영향을 받게 될텐데

baseCurve의 baseSpan 수를 늘려주니 갑자기 연산이 무거워졌다.

 

그래서 생각해보다가 혹시나 하고

MFnNurbsCurve.createWithEditPoints()로 baseCurve를 만들 때

degree를 바꿔보았다. degree가 curve의 노말 탄젠트와 연관이 있으니까..

 

그래서 별 생각없이 degree를 1에서 3으로 바꿔 보았는데

 

왠걸 빨라졌다..

 

baseCurve연산을 할 때 2,3fps까지 떨어졌었는데 지금은 조금 무겁지만

충분히 쓸 수 있을 정도까지는 빨라졌다.

 

( 자료 클래스들을 float로 바꾸는 건 이미 예전에 해놨음. 속도 빨라진것과 상관없었음. )

 

 

왜인지는 몰라.  지금 바쁨.

나중에

 

 

관련글 더보기