2D游戏刚体&碰撞体&Trigger触发

刚体 Rigidbody 2D组件(让物体有重力):

通常如果游戏物体运动,则需要➕刚体组件

Ps: 默认重力加速度可在顶部菜单Edit - Project setting - Physics 2D - Gravity属性设置(默认:-9.81)

  • BodyType:
    1. Dynamic:动态,最仿真.
    2. Kinematic:运动,由代码控制.
    3. Static:静态,不作为运动(一般用于建筑物)
  • Simulated:是否开启
  • Mass:质量
  • Linear Drag:移动阻力系数(类似风阻或太空;与表面摩擦力不同,摩擦力创建Physics Material进行定义)
  • Angular Drag:旋转阻力系数(类似风阻或太空;与表面摩擦力不同,摩擦力创建Physics Material进行定义)
  • Gravity Scale:G值
  • Collision Detection:如何检测碰撞体之间的碰撞
  • Constraint:定义对刚体运动的任何限制

碰撞体 XXXX Collider 2D组件(让物体接触不穿模,会挤压有弹性)

在这里插入图片描述
碰撞双方必须都有碰撞体,刚体必须其中有一个或双方都有

private	void OnCollisionEnter2D(Collision2D collision)
{
    //碰撞进入事件
    print("我碰到了"+ collision.gameObject.name);
}
private void OnCollisionStay2D(Collision2D collision)
{
    //碰撞中事件
}
private void OnCollisionExit2D(Collision2D collision)
{
    //碰撞退出事件
}

因为碰撞双方都有相反的力(弹开),如果想做子弹打穿物体不需要弹开,则用Is Trigger

private void OnTriggerEnter2D(Collision2D collision)
{
   //触发进入事件
   print("我碰到了" + collision.gameObject.name);
}
private void OnTriggerStay2D(Collision2D collision)
{
   //触发中事件
}
private void OnTriggerExit2D(Collision2D collision)
{
   //触发退出事件
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值