Unity 理解刚体(Rigidbody)和碰撞体(Collider)和触发器(Is Trigger)以及刚体休眠(Rigidbody Sleeping)

前言:


     今天看到看到了 Rigidbody Sleeping这个知识点,解决了我疑惑很久的一个物理学的问题。本来笔者遇到问题会想办法去解决的,但是那是想了蛮久也没想通为什么两个物体碰撞要发生碰撞的事件前提是运动的那个要有刚体,为什么没运动的物体带有刚体就不行?嘿嘿,今天Rigidbody Sleeping解决了我这个问题。


进入主题:


       虽然主题中有关于理解刚体(Rigidbody)和碰撞体(Collider)和触发器(Is Trigger),但是笔者在这里就不去讲解了,因为都很简单,这里给出晚上已经有的一篇关于他的理解,写的和能深刻,链接地址:http://blog.csdn.net/Monzart7an/article/details/22739421 ,其实在他的文章里,他对于我遇到的问题没有给出解释,在这里我接下来会详细解释下其原因。

下面这段话给出了解释:

    Rigidbody sleeping happens completely automatically. Whenever a rigidbody is slower than the sleepAngularVelocity and sleepVelocity it will start falling asleep. After a few frames of resting it will then be set to sleep. When the body is sleeping, no collision detection or simulation will be performed anymore. This saves a lot of CPU cycles.

        刚体休眠完全自动发生。只要刚体的速度低于sleepAngularVelocity和sleepVelocity,该刚体就会开始休眠。其空闲一些帧后,就会被设置成休眠状态。处于休眠状态中的物体,不会再对其进行碰撞检测和模拟。这会节约大量的CPU开销。


小小总结:

        呵呵,知道原因了吗?原来是Unity对带了刚体的物体,但其速度低于sleepAngularVelocity和sleepVelocity这个时,就会自动处于休眠状态,不会再对其进行碰撞检测和模拟,是Unity优化了。 这里 sleepAngularVelocity和sleepVelocity两个值在(Edit -> Project Settings -> Physics)中一般默认设置好低,自己也可以手动去改

      具体的刚体的休眠在什么情况下关闭和开启,圣典里讲的很详细,链接地址:http://game.ceeger.com/Components/RigidbodySleeping.html

   

最后的最后:

       通过这次发现,有问题不要紧,因为问题总会有解决的办法。在遇到问题时,不要发大量时间一直去想,因为发了大量时间的你还没想出来的话,那么你的思维可能会禁锢在那个时刻,你可以先放下来,过几天再去想,也许,放下来之后就会在某个时间,解决方法就出现在你面前!嘿嘿,个人的经历罢了,希望大家不要吐槽哦!大笑

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值