-
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属性
-
请参看下面的链接。