不希望 Unity 动画将对象返回到原始位置

问题描述 投票:0回答:1

我正在尝试为扑克牌的位置和旋转设置动画。我设置了初始和最终位置/旋转。没什么特别的,只是从 A 点移动到 B 点并旋转它。我创建了一个触发器以在代码中启动动画 - _animator.SetTrigger("MyTrigger")。动画效果很好,只是它在完成后将对象返回到其原始位置。我如何让它停留在它的最终位置/旋转?

一些论坛/帖子说我只需要设置 Animation.WrapMode。有人说我需要设置 Animator.ApplyRootMotion.

当我设置 Animator.ApplyRootMotion 时,动画从对象的当前位置开始,忽略我的初始位置。不是我想要的。我想我可以在触发动画之前移动对象,但似乎我不应该这样做。

我想尝试 Animation.WrapMode 方法,但我没有 Animation 组件或不知道如何获取对 Animation 组件的引用。创建动画时,Unity 向我的对象添加了一个 Animator 组件,但没有添加 Animation 组件。我需要自己添加吗?我试过了,但不确定需要设置哪些属性等。最重要的是,我不确定 Animation 组件、Animator 组件和其他所有组件之间的关系。

如何让动画在 B 点离开我的对象?如果有人能详细说明各种动画组件,将不胜感激。

unity3d animation
1个回答
0
投票

一个简单的解决方案是添加一个动画,将卡片的位置设置到所需的位置,因此当移动动画结束时,它会转换到这个新状态并且卡片保持在所需的位置

© www.soinside.com 2019 - 2024. All rights reserved.