如果角度太大,对象开始沿对撞机边缘移动

时间:2015-04-15 22:21:32

标签: c# unity3d

我不确定是什么造成了这种情况,但是我有一些物体,当它们以太大的角度(钝角)击中对撞机时,它们不会从它上面反弹,它们只是开始沿{ {1}}或x取决于它是击中顶部还是侧面。

我使用以下代码:

y

然后我在移动物体上使用using UnityEngine; using System.Collections; public class Ball : MonoBehaviour { Rigidbody2D rb; public float speed; void Start(){ rb = GetComponent<Rigidbody2D>(); // Set the start direction direction = new Vector2(Random.value, Random.value); rb.velocity = direction * speed; } void LateUpdate(){ rb.velocity = speed * rb.velocity.normalized; } } CircleCollider2d碰撞器,其中2D physics material具有以下值:Friction = 0Bounciness = 1

以下是我对球的设置:

Ball Settings

我可以做些什么来阻止墙壁上的物品?

1 个答案:

答案 0 :(得分:0)

我明白了!

问题不在于代码,而是在Physics2D设置中。

我需要将Velocity Threshold降低到较小的数字。