我不确定是什么造成了这种情况,但是我有一些物体,当它们以太大的角度(钝角)击中对撞机时,它们不会从它上面反弹,它们只是开始沿{ {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 = 0
和Bounciness = 1
以下是我对球的设置:
我可以做些什么来阻止墙壁上的物品?
答案 0 :(得分:0)
我明白了!
问题不在于代码,而是在Physics2D设置中。
我需要将Velocity Threshold
降低到较小的数字。