unity中一些与物理相关的组件

323 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情

碰撞器

碰撞器有很多种

image-20221012192419595

image-20221012192440129

可以编辑碰撞器来改变其碰撞范围

当碰撞器勾选触发器时他就变成了触发器。就不会在物理效果上体现为碰撞,而是会从其身上穿过去

Rigidbody

image-20221012202252016

可以给物体添加实际的物理性质 ,有了这个组件物体才能发生碰撞

  • 勾选重力:物体就会具有重力效果

  • 碰撞检测

    • 持续的:此时最消耗性能 ,但是检测效果也就更好
    • 离散的:相反
    • 连续动态:介于两者之间
  • Is Kinematic(运动):勾选后物体将不会动(例如建筑物)

    • 等效于把Constraints勾选上

发生碰撞的条件是两个物体都有碰撞器,且一个物体身上有刚体

image-20221012193907192

触发

image-20221012201654669

触发与碰撞的回调参数不同,触发返回的参数是碰撞器组件,而碰撞则是一个信息类对象,其包含的信息相对来说会更多一些

简单来说:触发就是不产生物理效果的碰撞 。(可以把触发器假象成为一个隐形的物体)

物理铰链

  • Hinge Joint

image-20221012205201117

类似于门上的铰链

Anchor 代表铰链的放置位置

轴 :代表绕那一个轴旋转,就需要把那一个轴置为一

Motor :可以给物体一个自动旋转的速度

  • Spring Joint

    类似于弹簧 ,来连接两个物体

image-20221012205612595

在 Connected Articulation Body 中可以指定一个连接地物理组件

这个物理组件需要存在一个刚体组件

这样以来,两个物体上就存在了一个弹簧的物理效果

  • 固定关节

image-20221012210049717

这个固定的会把两个物体固定在一起,类似于把一个物体变成另外一个物体的子物体的兄效果,不过不同的是可以指定一个断开的力把两个物体断开

据此我们可以用来实现游戏中的破坏效果