unity3d 为什么使用Animation.AddClip()后添加的剪辑长度总是1

kdfy810k  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(136)

我在运行时从json文件创建animationClip,使用KeyFrames和SetCurve。
创建后,我想将创建的animationClip拆分为几个较小的剪辑:

Animation anim;
AnimationClip createdAnimationClip;
…
anim.AddClip(createdAnimationClip,”name1”, 0, 100)
anim.AddClip(createdAnimationClip,”name2”, 100, 200);
anim.AddClip(createdAnimationClip,”name3”, 200, 500);

一切都很顺利,除了一个,所有添加的剪辑在动画剪辑数组中的长度= 1秒
当我尝试播放动画时,只播放了第一秒,尽管还有很多帧
我不知道这是一个bug还是我做错了什么。
Unity版本2021.3.12

gorkyyrv

gorkyyrv1#

如果有人遇到这个问题。我的解决方案是在每个添加的剪辑上额外设置frameRate:

anim.AddClip(createdAnimationClip,”name1”, 0, 100);
anim[name1].frameRate = 24;//set your frameRate

相关问题