首页 > 代码库 > Rigidbody(刚体) and Collider(碰撞器)

Rigidbody(刚体) and Collider(碰撞器)

关于Rigidbody,手册上是这么描述的:

Control of an object‘s position through physics simulation.

通过物理模拟控制一个物体的位置。

Rigidbody components take control over an object‘s position - it makes the objects fall down under the influence of gravity, and can calculate how objects will respond to collisions.

Rigidbody组件控制物体的位置 - 它使物体在重力影响下下落,并可计算物体将怎样响应碰撞。

When manipulating rigidbody parameters you should work inside the FixedUpdate function. Physics simulation is carried out in discrete timesteps. The FixedUpdate function is called immediately before each step.

当操作刚体参数的时候,你应该在FixedUpdate函数中使用它,物理模拟以离散的时间步执行。FixedUpdate函数在每一步之前被立即调用。

 

 

关于碰撞器Collider的描述:

A base class of all colliders.

所有碰撞器的基类。

If you intend to move the collider around a lot it is recommended to also attach a kinematic rigidbody to it.

如果你打算经常移动这个刚体,建议再附加一个运动学刚体给它。

使用碰撞器时,经常会将触发器属性置为true。

 

总之刚体是模拟现实世界中物理运动的组件。碰撞器描述了物体可被碰撞的边界,以及碰撞过程中相互影响效果。它们经常一起使用,从而产生一些效果,比如爆炸,弹飞等。

例如两物体相撞需要实现两者爆炸的效果,rigidbody实现它们碰撞的行为(相互运动),当碰撞器中的触发器确认两物体发生交互后,产生爆炸。

没有刚体,就不会产生物理行为(碰撞),没有碰撞器,就不会产生碰撞后的效果(爆炸)。

 

Q:碰撞怎样才能实现

A:双方必须都含有rigidbody和collider。没有刚体无法实现物理运动,其中一者没有collider时,两者交互时会穿过。

 

Q:两者爆炸是否需要两个游戏对象的碰撞器都是触发器?

A:一方带有刚体,一方带有触发器即可。

 

通常我们在角色的组件中只写碰撞方法,将触发方法放在角色触碰的游戏对象的组件中。

 

Rigidbody(刚体) and Collider(碰撞器)