299 :名無しさん@編集中:2009/05/25(月) 02:18:19 ID:NhMftb8l
スクリプト扱ってると、 
AE側の数値とスクリプトの数値が一致しなくて困る。 
小数の丸め込みで誤差が出てるんかなぁ。




304 :名無しさん@編集中:2009/05/25(月) 21:07:45 ID:NhMftb8l
6.5で有名なのはコンポ作成時とかのDurationのバグだろうけど、 
その他、キータイム取得したときのずれなんかは今でもあるよ。 
Math.floor()しても、なぜか四捨五入されず切り捨てられたりとか。 


coe = 1/256/256/256/256/256/256/256 
coe2 = 1/256/256/256/256/256 
alert(Math.floor(3-coe)); 
alert(Math.floor(3-coe2)); 

これをJSで実行すれば、打ち切りが行われているのが分かるはず。 
で、何が問題かってこの打ち切りの値と、AE側の打ち切りの値が違う。 
そのため、ずれが出る範囲の値がvalueAtTimeなんかで取得されると、 
タイムライン上では整数だった値がMath.floor()で-1されちゃったり。 

誰か詳しい人教えてください。 




315 :304:2009/05/27(水) 10:08:34 ID:gvN0lP2j
30fpsのプロジェクトでテスト。 
layObj.property("timeRemap").setValueAtTime(t,2-1/256/29) 
では59がキーに入るけど、 
layObj.property("timeRemap").setValueAtTime(t,2-1/256/30) 
だと60がキーに入る。 
Math.floor(2-1/256/29)もMath.floor(2-1/256/29)も、どっちも1が返る。 

この誤差のせいで、シーケンスから連番を特定するスクリプトが、 
たまにずれて困る。