我的动画滞后,为什么?
My animation is lagging, why?
我在unity中有一个动画,基本上是唐纳德特朗普 运行:
我也有这张特朗普跳跃的一帧动画:
基本上,当他跳跃时,跳跃动画播放,当他落地时,步行动画再次播放。
一切正常,这段代码运行它:
function Update() {
trump.velocity = Vector2(speed, trump.velocity.y);
if (jump > 0) {
jumpBool = true;
}
else {
jumpBool = false;
}
animator.SetBool("Jump", jumpBool);
那是在物理脚本中。然后来自动画师:
一切正常,动画会按预期更改。问题是,它在完成之前就滞后了。我认为当特朗普跳跃时,步行动画会在切换到跳跃动画之前完成。我的问题是,如何立即自动切换动画,才不会显得那么卡?
您可以在设置 JumpBool = true 时立即调用要播放的 Jump 动画。这样做你不需要等待步行动画完成,它会简单地停止步行并移动到跳跃。
function Update() {
trump.velocity = Vector2(speed, trump.velocity.y);
if (jump > 0) {
animator.Play("Trump Jump");
//jumpBool = true;
}
else {
//jumpBool = false;
}
//animator.SetBool("Jump", jumpBool);
你甚至不需要设置布尔值,跳跃动画完成后它会回到行走动画。
我在unity中有一个动画,基本上是唐纳德特朗普 运行:
我也有这张特朗普跳跃的一帧动画:
基本上,当他跳跃时,跳跃动画播放,当他落地时,步行动画再次播放。
一切正常,这段代码运行它:
function Update() {
trump.velocity = Vector2(speed, trump.velocity.y);
if (jump > 0) {
jumpBool = true;
}
else {
jumpBool = false;
}
animator.SetBool("Jump", jumpBool);
那是在物理脚本中。然后来自动画师:
一切正常,动画会按预期更改。问题是,它在完成之前就滞后了。我认为当特朗普跳跃时,步行动画会在切换到跳跃动画之前完成。我的问题是,如何立即自动切换动画,才不会显得那么卡?
您可以在设置 JumpBool = true 时立即调用要播放的 Jump 动画。这样做你不需要等待步行动画完成,它会简单地停止步行并移动到跳跃。
function Update() {
trump.velocity = Vector2(speed, trump.velocity.y);
if (jump > 0) {
animator.Play("Trump Jump");
//jumpBool = true;
}
else {
//jumpBool = false;
}
//animator.SetBool("Jump", jumpBool);
你甚至不需要设置布尔值,跳跃动画完成后它会回到行走动画。