Unity 2D - Limbo 般的角色移动
Unity 2D - Limbo like character movement
AFAIK Limbo 使用 Box2D。
首先,有人可以解释一下角色是如何设置的吗?它是否将刚体与对撞机一起使用?如果是,什么类型的对撞机以及它们是如何放置的?
其次:如我所见,角色总是在相同的时间内移动相同的距离,忽略坡度等。对吗?
最后(至少现在 :)):角色如何确定它是否站在地上?它使用光线投射吗?
谢谢!
关于碰撞器,通常一个(或少量)简单的碰撞器(盒子或球体,2D 中的圆圈)足以为角色提供适当的碰撞检测(在统一中,您必须使用 colliders+ rigidbody2D 进行该运动)
其次,物理值似乎进行了调整,因此斜坡之类的东西不会真正影响玩家的运动,并且可以放置运动脚本以使水平力(或速度)恒定(实际上并不完全恒定,但是关闭)
为了确定角色是否接地,最简单(我认为更有效)的方法是使用 OnCollisionEnter and OnCollisionExit 更改布尔值(因此接地时为真,否则为假)。避免使用光线投射,因为它很昂贵,而且每帧都不是一个好主意(而且,实现起来更复杂)
我不是 100% 确定 Limbo 中的运动是如何产生的,但我最好的猜测是这些,正确地测试和调整值,你可以通过一些带有刚体和碰撞器的基本脚本来获得几乎任何 2D 运动
AFAIK Limbo 使用 Box2D。 首先,有人可以解释一下角色是如何设置的吗?它是否将刚体与对撞机一起使用?如果是,什么类型的对撞机以及它们是如何放置的?
其次:如我所见,角色总是在相同的时间内移动相同的距离,忽略坡度等。对吗?
最后(至少现在 :)):角色如何确定它是否站在地上?它使用光线投射吗?
谢谢!
关于碰撞器,通常一个(或少量)简单的碰撞器(盒子或球体,2D 中的圆圈)足以为角色提供适当的碰撞检测(在统一中,您必须使用 colliders+ rigidbody2D 进行该运动)
其次,物理值似乎进行了调整,因此斜坡之类的东西不会真正影响玩家的运动,并且可以放置运动脚本以使水平力(或速度)恒定(实际上并不完全恒定,但是关闭)
为了确定角色是否接地,最简单(我认为更有效)的方法是使用 OnCollisionEnter and OnCollisionExit 更改布尔值(因此接地时为真,否则为假)。避免使用光线投射,因为它很昂贵,而且每帧都不是一个好主意(而且,实现起来更复杂)
我不是 100% 确定 Limbo 中的运动是如何产生的,但我最好的猜测是这些,正确地测试和调整值,你可以通过一些带有刚体和碰撞器的基本脚本来获得几乎任何 2D 运动