Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何正确地发出IgnoreCollision命令?_C#_Unity3d - Fatal编程技术网

C# 如何正确地发出IgnoreCollision命令?

C# 如何正确地发出IgnoreCollision命令?,c#,unity3d,C#,Unity3d,我有代码,当我的主对象碰到另一个对象时,它在哪里重置。但是,它会命中每个对象并重置场景。我试图让我的主要对象忽略某个对象。这是我到目前为止所拥有的 void OnCollisionEnter(Collision collision) { SceneManager.LoadScene(SceneManager.GetActiveScene().name); if (collision.gameObject.tag == "BlueLaunchpad")

我有代码,当我的主对象碰到另一个对象时,它在哪里重置。但是,它会命中每个对象并重置场景。我试图让我的主要对象忽略某个对象。这是我到目前为止所拥有的

void OnCollisionEnter(Collision collision)
{
       SceneManager.LoadScene(SceneManager.GetActiveScene().name);

        if (collision.gameObject.tag == "BlueLaunchpad")
        {
            Physics.IgnoreCollision(BlueLaunchpad.collider); 
        }
    }
}

我想你应该试试这样的东西:

void OnCollisionEnter(Collider collider )
{       
    if (collider.gameObject.tag == "BlueLaunchpad")
    {
        Physics.IgnoreCollision(collider); 
    }
    else
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().name);
    }
}

这样,当它点击BlueLaunchpad时,它不应该加载场景,但是它会点击每个对象并重置场景,你在这里说什么?这是Unity吗?请添加Unity标签。看来你在用他们的API你做错了!如果(collision.gameObject.tag==“RightObject”){Doaction();}除(BlueLaunchPad.collider)外,其他一切都正常工作;它在BlueLaunchPad上给了我一个错误。我想我遗漏了一些东西,但我不确定是什么。非常感谢。是的,对不起,我还没有自己运行这个程序,试试物理;我编辑了安塞尔