C# 如何在不重叠的情况下使用动画调整碰撞器2d的大小

C# 如何在不重叠的情况下使用动画调整碰撞器2d的大小,c#,unity3d,2d,collider,C#,Unity3d,2d,Collider,我用unity和自定义控制器脚本制作了一个2D游戏 我的播放器有不同的动画,其中他的对撞机调整其大小和偏移。 在他的秋季动画中,精灵开始时双腿弯曲,随着时间的推移伸展到完全站立的对撞机大小。 当播放器在弯曲状态下撞击地面时,问题就开始了,因此动画将变为空闲动画,碰撞器将调整大小为正常大小,并且按照设想的情况,播放器将向下调整大小并进入地面。 如何使用碰撞器偏移量和大小将播放器从脚本上移回? 当动画从“下降”变为“空闲”时,如何在不检查精确大小差异和手动硬编码的情况下执行此操作?1)将长方体碰撞

我用unity和自定义控制器脚本制作了一个2D游戏

我的播放器有不同的动画,其中他的对撞机调整其大小和偏移。 在他的秋季动画中,精灵开始时双腿弯曲,随着时间的推移伸展到完全站立的对撞机大小。

当播放器在弯曲状态下撞击地面时,问题就开始了,因此动画将变为空闲动画,碰撞器将调整大小为正常大小,并且按照设想的情况,播放器将向下调整大小并进入地面。 如何使用碰撞器偏移量和大小将播放器从脚本上移回? 当动画从“下降”变为“空闲”时,如何在不检查精确大小差异和手动硬编码的情况下执行此操作?

1)将长方体碰撞器连接到地面

  • 如果地面只是一个图像,请创建一个立方体,删除其网格和网格渲染器组件,仅保留长方体碰撞器
  • 调整立方体的大小并将其放置在与地面对齐的位置
2) 确保玩家碰撞器上的“是触发器”和“地面碰撞器组件”复选框未选中

这样,统一物理将自动防止地面和玩家相交