物体不会碰撞

时间:2017-01-04 19:41:13

标签: unity3d collision-detection

我有以下脚本:

using UnityEngine;
using System.Collections;

public class BallScript : MonoBehaviour {
    public float speed;
    private Rigidbody body;
    // Use this for initialization
    void Start () {
        body = GetComponent<Rigidbody> ();
    }

    // Update is called once per frame
    void Update () {
        body.AddForce(transform.forward * speed);
    }

    void OnCollisionEnter(Collision collision) {
        Debug.Log("Collision");
        Destroy (this);
    }
}

你可以看到它有一个OnCollisionEnter但是我的对象无法碰到任何东西而是飞过每个对象?

这是我的prefab

enter image description here

我试图碰撞的对象:

enter image description here

谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:2)

如果您想使用isTrigger,则需要检查与OnTriggerEnter的碰撞。如果您想使用OnCollisionEnter尝试使用rigidBody(针对性能)标记向多维数据集添加is kinematic,请从球体中禁用is trigger,看看是否有效

检查方法的不同之处:

https://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html https://docs.unity3d.com/ScriptReference/Collider.OnTriggerEnter.html

此致