Animation Unity2D-播放器相对动画定位

Animation Unity2D-播放器相对动画定位,animation,unity3d,position,unity5,Animation,Unity3d,Position,Unity5,我正在制作一个2D平台,我遇到了一个非常恼人的问题,如果我将我的玩家角色游戏对象移动到场景中的另一个位置,我的玩家会被卡住,游戏会突然弹出,从玩家的原始位置和我移动到的位置跳出 我的玩家角色由许多部分组成,每个部分都是一个独立的游戏对象。我知道问题肯定出在我的动画中,因为如果我禁用animator组件,问题就会消失,只是我不再有我的动画了。我相信问题可能出在玩家角色的空闲动画和它的位置属性上。他的起始位置是硬编码的,没有附加脚本 如何使子游戏对象相对于父玩家游戏对象移动?如果游戏没有出现故障,我

我正在制作一个2D平台,我遇到了一个非常恼人的问题,如果我将我的玩家角色游戏对象移动到场景中的另一个位置,我的玩家会被卡住,游戏会突然弹出,从玩家的原始位置和我移动到的位置跳出

我的玩家角色由许多部分组成,每个部分都是一个独立的游戏对象。我知道问题肯定出在我的动画中,因为如果我禁用animator组件,问题就会消失,只是我不再有我的动画了。我相信问题可能出在玩家角色的空闲动画和它的位置属性上。他的起始位置是硬编码的,没有附加脚本

如何使子游戏对象相对于父玩家游戏对象移动?如果游戏没有出现故障,我无法将场景中的玩家从其原始位置移动

这里是一些截图
[玩家及其在层次结构中的角色]
[空闲动画]
[玩家的原始位置,从这里开始工作]
[玩家移动,游戏出错]

尝试禁用Animator组件中的“应用根运动”标志。
问题应该与动画更改位置值这一事实有关,我的猜测是,通过在编辑器中四处移动并记录,您已经为不同的部分设置了动画。这表示动画正在跟踪制作动画的原始位置。尝试从动画中删除这些部分。

我无法修复将玩家角色移动到场景中另一个位置时出现的剧烈抖动问题,但我确实找到了解决方法。问题肯定出在Animator组件和游戏对象的Rigidbody2d中

我没有将玩家移动到另一个位置,而是创建了一个“繁殖点”,玩家在第一次播放场景时从该点开始,可以自由移动。差不多:
void start(){
transform.position=spawnPoint.transform.position;
}

这很奇怪。不知何故,动画试图为
甲虫:位置
制作动画,尝试从动画中删除
胸部:位置
躯干:位置
壳:位置
,看看会发生什么。在充分利用动画之后,我认为问题可能出在我的动画制作人身上,和玩家游戏对象参数。我注意到我的'vSpeed'float参数
rigidbody2D.velocity.y
不断下降,因此使我的玩家角色卡在空中跳跃动画中,但我无法移动,因为它没有“固定”。是的,我移动了不同的部分,但这并不重要,因为它们都是在父游戏对象中移动的子游戏对象,父游戏对象本身不随动画移动,而是按code.Yup移动。那是未经检查的。我的玩家角色实际上可以移动得很好很平稳,身体各部分保持在一起,而作为主要父游戏对象的所有东西在动画中都不会移动,只有孩子们。只有当我将父游戏对象移动到场景中的另一个位置时,它才会出现小故障。