Unity 2D - 速度和弹性物理 material 如何导致球在每次击中物体时改变方向?
Unity 2D - How does velocity and bouncy physic material causes the ball to change direction everytime it hits something?
所以,我正在关注有关如何制作乒乓球的 YouTube 教程。我理解并学到了很多东西,但有一点是他制造了球和它的动作,但他没有解释。他用
void Start()
{
rb.velocty = new Vector2(speed, speed);
}
这个球还附有一个 rigidbody2d,一个附有物理 material 的圆形对撞机。物理 material 的摩擦力为 0,弹跳力为 1。这不知何故使球从物体上反弹。
谁能给我解释一下它是如何工作的?
非常感谢!
行
rb.velocity = new Vector2(speed, speed);
简单的设置对象的初始velocity在x
和y
方向
由于他们在矢量定义中使用 x = y = speed
,因此球将以 45° 角对角线移动。
更改这些值以获得不同的角度或速度。
friction = 0
表示物体不会减速。大于 0
的值会随着时间的推移减慢对象的速度。
bounciness 1
表示碰撞时物体不会失去任何速度,而是以相应角度以 100% 的速度反弹回来。 -> 这是根据物体的撞击角度等改变物体方向的部分
这一切都由 Unity 的 PhysicsEngine 本身处理,因此您不必担心。
所以,我正在关注有关如何制作乒乓球的 YouTube 教程。我理解并学到了很多东西,但有一点是他制造了球和它的动作,但他没有解释。他用
void Start()
{
rb.velocty = new Vector2(speed, speed);
}
这个球还附有一个 rigidbody2d,一个附有物理 material 的圆形对撞机。物理 material 的摩擦力为 0,弹跳力为 1。这不知何故使球从物体上反弹。
谁能给我解释一下它是如何工作的?
非常感谢!
行
rb.velocity = new Vector2(speed, speed);
简单的设置对象的初始velocity在
x
和y
方向由于他们在矢量定义中使用
x = y = speed
,因此球将以 45° 角对角线移动。更改这些值以获得不同的角度或速度。
friction = 0
表示物体不会减速。大于0
的值会随着时间的推移减慢对象的速度。bounciness 1
表示碰撞时物体不会失去任何速度,而是以相应角度以 100% 的速度反弹回来。 -> 这是根据物体的撞击角度等改变物体方向的部分
这一切都由 Unity 的 PhysicsEngine 本身处理,因此您不必担心。