2D游戏如何实现穿越平台?这种设计是否必要?

0 条评论


  • 3

    OwenTsai游戏设计,Web开发

    我没记错的话Unity不是有一个Component叫platform effector 2D得嘛,实现起来简直不要太简单……

    530b5d8b47502ee79f493ea4fb9174f2.png

    The Platform Effector 2D applies various “platform” behaviour such as one-way collisions, removal of side-friction/bounce etc.

    这个组件可以实现多样的“平台动作”行为,比如问题里说到的单向碰撞。

    Colliders that you use with the effector would typically not be set as triggers so that other colliders can collide with it.


    @琪露诺‍ 同学说到的判断其实很难实现的,推荐还是用这个组件吧。毕竟这个判断并不能去简单判断rigid-body的速度方向,因为受到物理系统影响刚体的速度方向不可能是单纯的上或者下,而需要根据方向向量具体处理。

    发布于 2017-06-29 11:21:46 6 条评论


  • 2

    琪露诺游戏喜好偏软。

    实现上应该没什么特殊的地方吧,只要向上碰撞的时候不判定阻挡,向下运动的时候判定阻挡就好了(也许根据实际需要可以加一些细节设定,比如只判断角色包围盒的底边,而不判断侧面和上边,防止从侧面穿入的时候被挡住或者恰在中间)

    使用这种设计我觉得最大的好处是增加场景的紧凑感。对于可上可下的双向通道来说,如果全都用无法穿越的平台来构造,那么需要左右两侧的平台和中间足够大的空隙(一般可能会超过一个身位,否则会撞头)。如果用了穿越平台,那么中间的空隙可以减少乃至去掉。在一些游戏里,按下或者下+跳跃可以从穿越平台上坠落下去,这样就只需要一连串的平台就能实现自由上下的通道了,而不需要左右两侧的平台。

    发布于 2017-06-28 23:43:05 1 条评论

  • 登录奶牛关账号即可参与讨论