美文网首页
物理系统 碰撞 触发器 3

物理系统 碰撞 触发器 3

作者: 程序小妖精 | 来源:发表于2022-04-29 11:08 被阅读0次

    Rigidbody 2D组件 (刚体) 

    一:重力

    1、玩家添加Rigidbody 2D组件:

    2、禁用重力  Gravity Scale 设置为 0

    (有预设体的话,需要操作在inspector > Voerides > Apply All)

    二:碰撞体  Box Collider 2D 组件

    1、玩家添加 Box Collider 2D组件,勾选 Constrains 下 Freeze Rotation (这样刚体不会导致玩家旋转)

    玩家抖动解决:(刚体为主体移动,而非玩家)

    2、给建筑物添加 Box Collider 2D 组件 (不需要通过物理来移动建筑物,则不需要添加刚体 Rigidbody 2D)

    3、调整碰撞体大小 Box collider 2D > Edit Collider > Scene 试图调整碰撞体大小

    人物调整注意:碰撞体仅覆盖了 Ruby 的双腿,因为角色在碰撞之前需要能够稍微移到游戏对象的上方,这有助于使游戏更真实可信

    三:瓦片地图碰撞体

    1、Hierarchy 选择 TileMap > 添加组件 Tilemap Collider2D(此时所有的瓦片都有碰撞体)

    2、去掉不需要碰撞的瓦片  

    Project > Tiles>选择不需要碰撞的瓦片>找到Collider Type 属性 Sprite 改为 None 保存

    3、优化瓦片地图

    添加Composite Collider 2D 组件

    Tilemap Collider 2D 组件 启用 Used By Composite

    Rigidbody 2D 将 Rigidbody Body Type 设置 Staitc

    四:触发器

    触发器是一种特殊类型的碰撞体。触发器不会阻止移动,但是物理系统仍会检查角色是否会与触发器碰撞。当你的角色进入触发器时,你将收到一条消息,以便你可以处理该事件。  

    触发物体添加 Box Collider 2D  > Is Trigger 选中

    void OnTriggerEnter2D(Collider2D other);

    刚体不休眠

    相关文章

      网友评论

          本文标题:物理系统 碰撞 触发器 3

          本文链接:https://www.haomeiwen.com/subject/ompdyrtx.html