Uinty3D Rigidbody刚体及 Colliders 碰撞体

Rigibody(刚体)组件可使游戏对象在物理系统的控制下来运动,刚体可接受外力与扭矩力用来保证游戏对象像在真实世界中那样进行运动。任何游戏对 象只有添加了刚体组件才能受到重力的影晌,通过脚本为游戏对象添加的作用力 以及通过NV DIA物理引擎与其他的游戏对象发生互动的运算都需要游戏对象添加 了刚体组件。


和其他组件添加的方法一样 选中对象 点击Component→ Physics→ Rigibody 对象即添加了刚体组件

刚体组件下面的参数:

·Mass:质量。
该项用于设置游戏对象的质量。 (建议在同一个游戏场景中,游戏对象之间的质量差值不要大于100倍。)


·Drag:阻力。
当对象受力运动时受到的空气阻力。0表示没有空气阻力,阻力极大时游戏对象会立即停止运动。


·Angular Drag:角阻力。
当对象受扭矩力旋转时受到的空气阻力。0表示没有空气阻力,阻力极大时游戏对象会立即停止运动


·Use Gravity:使用重力。
若开启此项,游戏对象会受到重力的影晌。


·Is Kinematic:是否开启动力学。

若开启此项,游戏对象将不再受物理弓擎的影晌从而只能通过 Transform
(几何变换组件)属性来对其操作。该方式适用于模拟平台的移动或带有铰链关节链接刚体的动画。


 Interpolate: 插值。
该项用于控制刚体运动的抖动情况

>None:没有插值。
>Interpolate:内插值。基于前一帧的Transform来平滑此次的Transfrom.

    >Extrapolate:外插值。基于下—帧的Transfrom来平滑此次的Transform。


· Collision Detection: 碰撞检测。
该属性用于控制避免高速运动的游戏对象穿过其他的对象而未发生碰撞,有3项可供选择,

>Discrete:离散碰撞检测。该模式与场景中其他的所有碰撞体进行碰撞检测。

>Continuous:连续碰撞检测。该模式用于检测与动态碰撞体(带有
Ri
gibody)的碰撞,使用连续碰撞检测模式来检测与网格碰撞体的
(不带R
igidbody)碰撞。其他的体会采用离散碰撞模式。此模式适
用于那些需要与采用连续动态碰撞检测的对象
碰撞的对象:这对物理
性能会有很大的影晌,如果不需要
对快速运动的对象进行碰撞检测,就使用离散碰撞检测模式。

> Continuous Dynamic:连续动态碰撞检测模式。该模式用于检测与采用连
续碰撞模式或连续动态碰撞模式对象的碰撞,也可用于检测没有
Rigidbody的静态网格碰撞体。对于与之碰撞的其他对象可采用离
散碰撞检坝j。动态连续碰撞检测模式也可用于检坝j快速运动的游戏对象。





·Constrains:约束
该顶用于控制对刚体运动的约束。

>Freeze Position:冻结位置 刚体对象在世界坐标系中的X、Y、Z轴方向上(勾选状态)的移动将无效。

>Freeze Rotation:冻结旋转体对象在世界坐标系中的X、Y、Z轴方向上(勾选状态)的旋转将无效。



刚体会使游戏对象在物理引擎的控制下运动。这比直接操纵Transform组件相比在视觉及感觉上都有很大不同。

最终要的是刚体能够受力来移动。

刚体在受物理引擎作用之前必须要明确地添加给一个游戏对象,之后对象就会受到重力和通过脚本添加的作用力影响,但根据实际

的情况肯呢过还需要为其添加碰撞体或关节等一边达到预期的效果。



1.Parenting:父子级
当一个游戏对象受物理系统控制时,它会以半独立的方式随着父对象的位
移而移动,如果任何父对象有所运动的话,这些父对象会推着子对象的刚体跟随
它们一起运动。不过这些刚体由于受重力影晌的原因还是会下落而且对于碰撞事件也是会有所晌应的.


2. scripting:脚本
可通过在游戏对象的刚体上添加AddForce()不口AddTorque()函数,达到通过脚
本来添加作用力或扭矩力,来对刚体进行控制。要注意的是,在使用物理系统
时,不要直接改变对象的Transform组件的属性。

3.Animation:动画
有些情况下,如需要创建布娃娃效果的时候,需要在动画和物理系统间切
换对象的控制权。因此当刚体被标记为动力学模式时,就不会受到如碰撞、作用
力或其他物理效果的影晌,这就意昧着需要直接操作该对象的Transform组件属
性来控制该对象了。动力学刚体会影晌其他的对象,但其自身并不受到物理系统
的影响。例如,那些绑定到动力学对象上的关节会约束其他绑定到该对象上的刚
体,动力学刚体在碰撞时会影晌其他的刚体。





Colliders : 碰撞体

碰撞体是物理组件中的—类,它要与刚体一起添加游戏对象上才能触发碰

如果两个刚体相互撞在一起,除非两个对象有碰撞体时物理引擎才会计算碰撞,在物理模拟中,没有碰撞体的刚体会彼此相互穿过


添加碰撞体与刚体的碰撞方法相似 只是可选择不同的碰撞体类型


Box Collider:盒碰撞体
盒碰撞体是一个立方体外形的基本碰撞体, 该碰撞体可以
调整为不同大小的长方体,可用作门、墙及平台等,也可用于布娃娃的角色躯干或者汽
车等交通工具的外壳,当然最适舍用在盒子或箱子上。


Is Trigger:触发器
勾选该顶,则该碰撞体可用于触发事件,并将被物理引擎所忽略。


·Materia|:材质。
采用不同的物理材质类型决定了碰撞体与其他对象的交互形式,单击右仅
的圆圈
按钮可弹出物理材质选择对话框


Center:中心

碰撞体在对象局部坐标中的位置。


·Size:大小。
碰撞体在X、Y、z方向上的大小



2.Sphere Collider 球形碰撞体

Radius : 半径

球形碰撞体的大小


3.Capsule  Collider:胶囊碰撞体


4.Mesh Collider:网格碰撞体

网格碰撞体通过获取网格对象并在其基础上构建碰撞,与在复杂网格模型上使用基本碰撞体比,网格碰撞体要更加精细,但
会占用更多的系统资源。开启
Convex参数的网格碰撞体才可以与其他的网格碰撞体发生碰撞.

·Smooth Sphere Collsions:平滑碰撞
在勾选该项后碰撞会变得平滑,因此在平滑的表面建议开启此选项。

Mesh 网格

获取游戏对象的网格并将具作为碰撞体。

·Convex:凸起.

勾选该顶,则网格碰撞体将会与其他的网格碰撞体发生碰撞


网格碰撞体按照所附加对象的Transform组件属性来没定碰撞体的位置和大
小比例,碰撞网格使用了背面消隐方式,如果一个对象与一个采用背面消隐的
网格在视觉上相碰撞的话,那么他们并不会在物理上发生碰撞。使用网格碰撞
体有一些限制的条件:通常两个网格碰撞体之间并不会发生碰撞,但所有的网格碰撞体
都可与基本碰撞体发生碰撞。如果碰撞体的
Convex参数设为开启,则它也会与其他的网
格碰撞体发生碰撞。需要注意的是,只有当网格碰撞体网格的三角形数量少于255的时候,
ConveX参数才会生效



5 Wheel Collifer:车轮碰撞体:

车轮碰撞体是一种针对地面车辆的特殊碰撞体D它有内置的碰撞检测、车轮物理系统及有滑胎摩擦的参考体()除了车轮,该碰
撞体也可用于其他的游戏对象




1.碰撞体

碰撞体和刚体的共同作用使得游戏对象产生了物理效果,体可使得对象
受到物理效果的控制和影响,而碰撞体可使对象彼此之间发生碰撞。碰撞体并不
一定需要绑定刚体,但是刚体一定要绑定一个碰撞体到对象上才会有碰撞效果。
当两个碰撞体发生碰撞并且其中至少有一个添加了刚体,就会有三个碰撞消息发
送给绑定它们的对象,这些事件可以被脚本所处理,并允许用户创建—个独一无
二的相关行为。


2.触发器
如果要使碰撞体生效,并将其看作一个触发器,可在lnspector视圄中将
Is Trigger 属性开启。触发器将不受物理引擎的控制,当一个触发器发生碰撞时会
发送三个触发消息。触发器对于在游戏中触发各种事件非常有用,比如切换场
景、自动门开启、显示帮助教程等。当然为了使两个应用触发器的对象在碰撞时
发送触发事件,其中一个对象必须要有刚体组件

3.摩擦力和弹力
摩擦力、弹力和柔软度是由物理材质决定的,
中包含了大部分常见的物理材质.



4.物理材质
以Ice(冰)物理材质为例,介绍一下物理材质的参数
·Dynamic Friction:动态摩擦力。
游戏对象在运动时的摩擦力,取值在0~1之间。
·static Friction :静态摩擦力。
对象被放置在表面时的摩擦力,通常取值在0~1之间。值为碉寸,表面类似冰的效果。

·Bounciness: 反弹
该参数用于设置游戏对象的反弹
况,值为0时没有反弹,值为
1时时没有能量损失的反弹。



·Friction Combine:摩擦力组台。
该参数用于设置游戏对象摩擦力的组台方式。
>Averaqe:使用两个摩擦力的平均值。
>Min:使用两个摩擦力中较小的值。
>Max :使用两个摩擦力中较大的值。
>Multipy:使用两个摩擦力相乘的值。
·Bounce Combin:反弹组舍。
该参数用于设置游戏对象反弹力的组台方式:反弹力组舍提供了与摩擦力组台类似的选项。

·Friction Direction2:摩擦力方向。
各向异性的摩擦力方向,
果向量值不为0则各向异性摩擦力将被启用。
有该项被启用,动态摩擦力砑口静态摩擦力2才会生效。
·Dynamic mction2:动态摩擦力2。
如果各向异性摩擦力被启用,则动态摩擦将沿着摩擦力方向而应用。
·stauc F
riction2:静态摩擦力2
如果各向异性摩擦力被启用,则静态摩擦将沿着摩擦力方向而应用Ⅱ





  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值