• Unity 5 学习笔记 01 —— 静态碰撞体(Static Collider)与动态碰撞体(Dynamic Collider)


    博主近来开始学习Unity 打算做一些笔记来督促自己学习,希望这样能改一改自己拖延以及坚持不久的坏毛病……

    这些笔记里主要会写一些博主学习时遇到的一些疑惑的地方,可能会有一些很弱智的,也可能是比较有用的。由于博主刚刚开始学习Unity,所以很可能在文章中间有一些说错的地方,希望观众同学们及时帮忙指出,lz也会及时订正。共同进步……

    以下开始是正文:

    在官方教程Roll-a-ball tutorial中的 COLLECTING THE PICK UP OBJECTS (http://unity3d.com/cn/learn/tutorials/projects/roll-a-ball/collecting-pick-up-objects?playlist=17141)中。添加了所有的“得分标记“之后,视频中提到了一点:

          

    “Unity为了优化性能,会计算场景(scene)内所有静态碰撞体(static collider)的体积,并保存到缓存中。这样对于那些不会移动的物体来说,便可以节约计算的资源。如果使静态碰撞体发生移动,旋转或缩放,则这个缓存会被重新计算生成,而这将会耗费一定的资源”。

    因此,对于经常发生变换的物体,应该将其设定为动态碰撞体(dynamic collider),这样的话,它们的变换将不会导致缓存在每一帧都被刷新,可以做到节约资源的目的。

    同时视频中也提到:

     

    “(默认情况下)拥有一个刚体属性(rigidbody)的碰撞体即为一个动态碰撞体,而没有刚体属性的碰撞体则为一个静态碰撞体”。所以对于一些在场景内经常发生变化的物体(比如悬浮在空中旋转的金币等),需要为其赋予一个刚体属性,这样的话便可以在一定程度上节约计算资源。

    当然,如果作为了刚体,则会受到重力的影响自动下沉。然而像漂浮旋转的金币这样的东西多半需要设置为一个触发器,所以不会受到碰撞体积的影响,而会穿过地面,直接掉下去。因此可以在刚体属性的选项里面取消勾选“Use Gravity”选项,这样就不会受到重力的影响。不过有些时候,可能需要忽略的不止是重力。所以可能更好的方法是勾选“Is Kinematic”选项,这样的话这个刚体就不会受到任何力的影响,而只会通过transform进行变换。

  • 相关阅读:
    背包问题
    计蒜客lev3
    线段树BIT操作总结
    图论题收集
    Codeforces Round #607 (Div. 2) 训练总结及A-F题解
    2-sat 学习笔记
    洛谷 P3338 【ZJOI2014】力/BZOJ 3527 力 题解
    $noi.ac$ #51 array 题解
    洛谷 P3292 【SCOI2016】幸运数字/BZOJ 4568 幸运数字 题解
    洛谷 P5283 【十二省联考2019】异或粽子 题解
  • 原文地址:https://www.cnblogs.com/nmsuper86/p/5288525.html
Copyright © 2020-2023  润新知