unity角色停止输入指令后下落

unity2d初学者,今天试着用状态机写了一下主角的脚本,只写了idle状态切换到行走状态的脚本,但是出现了如下的情况

img


这是刚启动游戏的情况,player处在idle状态,也能正常站立在平台上。主角添加了刚体和胶囊碰撞器,站立平台上也添加了tilemap碰撞器

img


输入移动的指令后也可以正常在平台上移动

img


但一旦我松开键盘不输入指令,player就会在屏幕上消失变成这样的一条线,好像没有了碰撞器一样开始下落

img


img


但如果我在短时间内重新输入移动的指令,这条线又会上升回来,player的动画和碰撞器重新出现,可以正常移动,但一旦松开还是会消失并下落

img


如果超过了我上面所谓的“短时间”,在重新输入移动的指令,player也不会重新上升回来,但会从那一条线变回可见的player,只不过会继续下落

上面的问题困扰了我很久,我设想过是不是我动画播放的问题导致我人物消失,但是我无法理解为什么连人物的碰撞器也消失了,且刚体还在(下坠)
有没有可能是我写的状态机逻辑的问题?主要是出现这种情况我也没什么经验,完全不知道从哪里开始排查。希望各位能给我解惑,感谢。

估计有什么逻辑改变了角色的大小

ㅗㅎㅅㄷ고솧로ㅗㅗ

  1. 检查一下键盘按下松开后,player有没有还原回idle状态。
  2. 你可以尝试在player变成线的时候暂停一下,检查player身上的组件是否正常