본문 바로가기

AnyBody/FAQ

Time, 't', has an invalid value for this interpolation. 에러 해결 방법

 

C3D 파일의 처음과 끝의 데이터 안정성 문제

 

모델을 Load하고 시뮬레이션을 수행하게 되면 아래와 같은 에러메시지를 종종 접하게 됩니다. 

 

 

 

C3D 파일은 특정 시간 범위에 대해서 마커 궤적을 포함하고 있습니다. 즉, 그 특정 시간 외의 데이터는 포함하고 있지 않습니다. 또한, 특정 시간 범위의 시작과 끝 부분은 안정적인 데이터가 아닐 수 있습니다. 따라서 모션데이터를 보간하기에 유용하지 않을 수 있습니다. 

 

 

Time, 't', has an invalid value for this interpolation. 에러 해결 방법

 

사용자가 C3D파일의 시간 범위를 모른다면 시작 시간과 끝 시간을 알아내야 합니다.  그 방법은 아래와 같이 Study 폴더 를 아래와 같이 주석 처리합니다. 

 

그리고 Model Tree에서 사용자가 불러온 C3D파일 경로에서 FirstFrameNo. LastFrameNo. VideoFrameRate를 확인합니다.

 

예를 들어 아래와 같이 총 1000프레임의 데이터를 가지고 있는데, FrameRate 가 100 Frame/s 이니 총 시간은 10초가 됩니다. 

 

앞서 언급한 것처럼 처음과 끝의 데이터는 보간하기에 불안정할 수 있으므로 앞뒤로 0.05초의 데이터씩 앞당겨 지정합니다. 

 

하지만, 이를 매번 C3D데이터를 확인하고 프레임시간을 확인하는 것이 번거로울 수 있어 자동화 할 수 있는 방법이 있습니다. 아래와 같이 AnyIntVar를 이용해 FirstFrame와 LastFrame을 변수화 하고 2*Kinematics.ApproxVelAccPerturb  를 이용하면 시작과 끝에서 불안정한 데이터를 사용하지 않을 수 있습니다.