刚体组件-Rigidbody
刚体组件为游戏对象提供了物理属性,让游戏对象在场景中可以受到物理引擎的作⽤。当游戏对象添加了Rigidbody组件后,游戏对象便可以接受
外⼒与扭矩⼒。任何游戏对象只有在添加Rigidbody组件后才会受到重⼒影响。当需要通过脚本为游戏对象添加作⽤⼒以及通过NVIDIA物理引擎
与其它游戏对象发⽣互动的运算都必须有Rigidbody组件。
下⾯介绍两种给⼀个游戏对象添加⼀个Rigidbody组件的⽅式:
图1.1,由Component菜单选项添加
图1.1
图1.2,直接在游戏对象的Inspector视图中添加
图1.2
图1.3就是Rigidbody组件的属性⾯板图:
图1.3
Mass-质量
该项⽤于设置游戏对象的质量(同⼀场景中,建议游戏对象之间的质量差值不要⼤于100倍)。
Drag-阻⼒
当游戏对象受⼒运动时受到的空⽓阻⼒(注意,不是物体间的摩擦⼒),0表⽰没有空⽓阻⼒,阻⼒极⼤时游戏对象会⽴即停⽌运动。
AngularDrag-⾓阻⼒
当游戏对象受扭矩⼒旋转时受到的控制阻⼒。0表⽰没有空⽓阻⼒,阻⼒极⼤时游戏对象会⽴即停⽌旋转。
UGravity-使⽤重⼒
开启此项,游戏对象会受到重⼒的影响。
IsKinematic-是否开启动⼒学
开启此项,游戏对象将不再受物理引擎的影响从⽽通过Transform(⼏何变换组件)属性来对其操作。该⽅法适⽤于模拟平台的移动或者带有铰
链关节刚体的动画。
Interpolate-插值
图1.4
None:没有插值。
Interpolate:内插值,基于前⼀帧的Transform平滑此次的Transform。
Extrapolate:外插值,基于下⼀帧的Transform平滑此次的Transform。
CollisionDetection-碰撞检测
该属性⽤于控制避免⾼速运动的游戏对象穿过其它对象⽽未发⽣碰撞,有三个选项可供选择。
图1.5
Discrete:离散碰撞检测。
该模式与场景中其它的所有碰撞体进⾏碰撞检测。该值为默认值。但是在离散式的碰撞检测中,帧与帧之间是独⽴的,因此会遇到问题,即碰
撞体上⼀个帧没撞上墙,⽽下⼀个帧穿过了墙,该物体本⾝在任意⼀个帧独⽴来看都是不知道⾃⼰会撞墙的(物理学中管这个叫量⼦隧穿效
应)。
对于拥有此属性的碰撞体:
1、该碰撞体在遇到本场景其他碰撞体时使⽤离散式碰撞检测(Discrete)。
2、其他碰撞体在遇到它时会使⽤离散式碰撞检测(Discrete)。
3、⽤于正常碰撞。(这是默认值)
Continuous:连续碰撞检测。
该模式⽤于检测与动态碰撞体(带有Rigidbody)碰撞,使⽤连续碰撞检测模式来检测与⽹格碰撞体(后续章节会讲)的(不带Rigidbody)
碰撞。其它的刚体会采⽤离散碰撞模式。此模式适⽤于那些需要采⽤连续动态碰撞检测的对象相碰撞的对象。这对物理性能会有很⼤的影响,
如果不需要对快速运动的对象进⾏碰撞检测,不建议使⽤此模式,建议使⽤离散碰撞检测模式。
对于拥有此属性的碰撞体:
1、该碰撞体在遇到其他动态碰撞体(即包含rigidbody)使⽤离散式碰撞检测(Discrete),在遇到静态MechColliders(即不含rigidbody)
时使⽤连续式碰撞检测(Continuous)。
2、设为动态连续(ContinuousDynamic)的碰撞体在遇到该物体时使⽤连续式碰撞检测(Continuous),其他碰撞体在遇到该物体时使⽤离
散式碰撞检测(Discrete)。
3、⽤于设定被动态连续(ContinuousDynamic)的物体所碰撞的物体。(会影响物理引擎的性能表现)
ContinuousDynamic:连续动态碰撞检测。
该模式⽤于检测与采⽤连续碰撞模式或连续动态碰撞模式对象的碰撞,也可以⽤于检测没有Rigidbody的静态⽹格碰撞体。对于与之碰撞的其
它对象可采⽤离散碰撞检测。该模式也可以⽤于检测快速运动的游戏对象。
对于拥有此属性的碰撞体:
1、该碰撞体在遇到其他设为连续(Continuous)或动态连续(ContinuousDynamic)的物体时使⽤连续式碰撞检测(Continuous)。在遇到静
态MeshColliders(即不含rigidbody)时也使⽤连续式的碰撞检测。遇到其他碰撞体则使⽤离散式碰撞检测(Discrete)。
2、⽤于快速运动的物体。
也就是说:如果你有⼀个快速运动的⼩球,它会穿过⼀个静态的墙,那么将球设为Continuous即可解决问题。但如果你有多个这样的⼩球,它们
之间则依旧会遇到互相穿过对⽅的问题,那么将球都设为ContinuousDynamic更好。
Constraints-约束
该项⽤于控制对于刚体运动的约束。
图1.6
FreezePosition:冻结位置。刚体对象在世界坐标系中的x,y,z轴⽅向上(选中状态)的移动将⽆效。
FreezeRotation:冻结旋转。刚体对象在世界坐标系中的x,y,z轴⽅向上(选中状态)的旋转将⽆效。
本文发布于:2022-12-27 02:37:24,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/37582.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |