Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/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# Unity3D相机打开触发器_C#_Unity3d_Camera - Fatal编程技术网

C# Unity3D相机打开触发器

C# Unity3D相机打开触发器,c#,unity3d,camera,C#,Unity3d,Camera,我真的很感激能在游戏中帮助我切换摄像机。关键是比赛开始了,球员看到球(这是一种基本的滚球游戏),开始向上移动,他们需要再次向上移动,但要朝另一个方向移动,所以我需要摄像机,让他们看到自己在做什么。我把相机的位置弄对了,但是我不知道如何用脚本来正确地工作。我曾经让它工作过,但我把事情搞砸了,再也不能让它工作了 这是迄今为止我从搜索中整理的代码: using System.Collections; using System.Collections.Generic; using UnityEngine

我真的很感激能在游戏中帮助我切换摄像机。关键是比赛开始了,球员看到球(这是一种基本的滚球游戏),开始向上移动,他们需要再次向上移动,但要朝另一个方向移动,所以我需要摄像机,让他们看到自己在做什么。我把相机的位置弄对了,但是我不知道如何用脚本来正确地工作。我曾经让它工作过,但我把事情搞砸了,再也不能让它工作了

这是迄今为止我从搜索中整理的代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraSwitch : MonoBehaviour
{
    public Camera front_camera;//assign your main camera here
    public Camera back_camera;//assign your top camera here

    void Start()
    {
        front_camera.enabled = true;
        back_camera.enabled = false;
    }
    void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.name == "Pickup")
        {
            front_camera.enabled = false;
            back_camera.enabled = true;
        }
        else if (other.gameObject.name == "Ground")
        {
            front_camera.enabled = true;
            back_camera.enabled = false;
        }
    }
}

您的脚本似乎正在禁用(可能是它的相机附件)因此,您遇到了问题。确保摄像头开关未禁用,否则代码没有问题

或者,您可以将摄影机开关脚本附加到球上,并放置两个碰撞器,分别覆盖前后摄影机区域。像这样的。

我尝试了《Unity脚本手册》中的代码,效果很好


请仔细研究这一点

“我不知道如何以正确的方式编写脚本”。它现在如何工作?你确定碰撞检测的所有先决条件都满足了吗?(至少一个对象上有刚体,两个对象上都有碰撞器,一个碰撞器选中了
isTrigger
,并且所需碰撞器上有脚本)两个摄影机都有主摄影机标记吗?@umairM没有working@Hellium是的,我都做了。球需要拾取/碰撞的小拾取对象来触发相机开关,但它没有这样做。我希望在碰撞时触发相机开关,而不是按下按钮并触发它。谢谢你!