2D 弹性与滑动(Bouncing and Sliding 2D)。 有四个组件在一起共同工作 就可以在2D场景中创建一个有弹性的球。 这个Sprite的图像是一个球。 一个Collider组件可一个为这个图像 在场景中提供物理属性。 一个Physics Material 2D组件可以为这个Collider 提供摩擦性以及弹性。 一个Rigidbody组件可以允许这个球 被物理作用力影响,包括重力, 并且能够参与到物理事件当中去, 比如碰撞(Collision)以及触发(Trigger)。 为了实现一个被冰覆盖的平台 Rigidbody 2D组件并不是必须的 除非这个平台是移动的。 为了创建一个具有弹性的球 首先需要将这个图像Sprite添加到Scene。 这种形式的球是一种很简单的模式 它不会与场景中的其他游戏对象 产生交互。 为了让这个图像Sprite可以产生物理反应 需要在场景中添加一个Collider 2D组件 到这个游戏对象上。 一种完成这个功能方式就是 在这个游戏对象上选择Add Component按钮。 然后选择Physics 2D Circle Collider 2D。 Circle Collider 2D非常适合圆形的物体, 关于Collider Collider 2D以及Circle Collider 2D的更多信息 请参看下面的链接。 目前来看游戏对象可以参与到 物理事件中去,但是无法引导事件。 这个游戏物体不会对物理 作用力产生反应也不会受重力影响。 为了实现这些功能我们必须将一个 Rigidbody 2D组件添加到游戏物体上去。 可以通过选择 Add Component Physics 2D Rigidbody 2D添加。 现在这个球可以因为重力的影响下降了。 但是却不具有弹性。 为了让这球富有弹性 需要使用一个2D物理材质(Physics Material 2D)。 Physics Material 2D是一个资源(Asset) 并且会被存储在Project View中。 一种创建一个新的Physics Material 2D 的方式是选择 Create Physics 2D Materital。 然后就会在我们的Project View中创建一个新的资源。 这个新的Physics Material 2D资源 需要被编辑。 首先它需要被命名。 Bouncy。(弹性) 一个Physics Material 2D具有两个属性 摩擦性(Friction)以及弹性(Bounciness)。 这个弹性球的摩擦力应当很小。 但是很明显的需要非常强的弹性。 一种将这个Physics Material 2D 添加到Collider组件的方式 就是简单的将这个Physics Material 2D 拖放到这个Collider 2D组件的Materials选项上。 现在这个球不仅对物理作用力有反应 并且可以和Scene中的其他Collider产生交互, 同时在交互过程中表现出富有弹性的特性。 为了实现一个很滑的被冰覆盖的平台 我们进需要三个这样的组件 除非这个平台是移动的。 首先将一个Sprite Image添加到Scene中。 然后添加一个Collider 2D组件。 这种情况下可以使用Box Collider 2D。 随后创建一个新的Physics Material 2D 并且把它添加到这个Collider 2D组建上。 可以在任意时刻 编辑这个Physics Matertial 2D, 即使它已经被添加到Collider上去。 这个被冰面覆盖的平台需要非常的滑 也就意味着摩擦力会非常小。 冰非常的硬并且不是很有弹性 因此它的弹性应当设定的非常小或者没有弹性。 从这个新的很滑的平面我们看出 物体会从右边滑动出去。 关于Physics,Physics 2D 以及Physics Matertial 2D 的更多消息可以参看下面的链接。 如果这个平台是移动的 就需要在这个平台的Game Object上添加一个Rigidbody 2D 并且将这个Rigidbody设定为使用运动系统(Kinematic)。 更多关于Rigidbody, Rigidbody 2D以及Is Kinematic属性 请参看下面的链接。