-1

Papervision3D を使用して、Actionscript-3 で Blender モデルを表示しています。

モデルにはアニメーションがあるため、コードでいくつかの AnimationClip3D アニメーションを設定しました。

clip[0] = new AnimationClip3D("Clip0", 0.0, 1.0); //first animation
clip[1] = new AnimationClip3D("Clip1", 1.0, 2.0); //second animation

等々。これらは、1 秒または 2 秒の長さの小さなアニメーションです。数字は開始時間と終了時間を秒単位で示します。

モデルは正常に表示され、意図したとおりにランダムな順序でアニメーションを正しく実行しますが、15 秒ごとにアニメーションが一時停止し、遅延があるかのように「ジャンプ」します。

各フレームでデータをトレースするように NEXT_FRAME リスナーを設定しました。これが出力です。時間は AnimationEvent 時間です。

Frame 1 Time 0.389
Frame 2 Time 0.995
...
Frame 25 Time 14.539
Frame 26 Time 15.128
Frame 27 Time 15.707
Frame 28 Time 0.132
Frame 29 Time 0.714

ご覧のとおり、AnimationEvent の時間は約 16 秒でゼロにリセットされます。

初心者の質問で申し訳ありませんが、何が原因で、アニメーションが 16 秒で一時停止してジャンプするのを止めるにはどうすればよいですか?

更新: 問題は解決したと思います。以下の解決策を参照してください。

4

2 に答える 2

0

問題は解決したと思います。

アニメーション クリップを DAE のアニメーションに追加するのを忘れていました。

myDAE.animation.addClip(clip[0]);
myDAE.animation.addClip(clip[1]);

等々。

これが意味することは、これらの行を追加する前に、クリップ「すべて」(アニメーション全体) を使用していたため、混乱していたことです。

正しいクリップを再生できるようになりました (false = ループなし):

myDAE.play(clip[0], false);
于 2013-10-09T09:45:27.673 に答える