Unity3D相机启动触发器

时间:2017-11-21 09:40:08

标签: c# unity3d camera

我非常感谢帮助让我的游戏中的相机切换工作。重点是游戏开始,玩家看到球(这是基本滚动球类游戏),开始向上移动,他们需要再次上升,但在另一个方向,所以我需要相机的方式,他们看到了他们在做什么。我把相机放置得恰到好处,但我无法弄清楚如何以正确的方式编写脚本。我让它工作了一次,但我搞砸了一些事情,无法让它重新开始工作。

到目前为止,这是我从搜索中汇总的代码:

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;
        }
    }
}

2 个答案:

答案 0 :(得分:1)

您的脚本似乎禁用(可能是相机的附件)因此,您遇到了问题。确保 CameraSwitch 没有禁用,否则代码没有问题。

或者,您可以将相机切换脚本附加到球上并放置两个分别覆盖前后相机区域的对撞机。这样的事情。 enter image description here

答案 1 :(得分:0)

我尝试了 Unity Scripting Manual 中的代码并且工作正常。

请查看此Camera.main Scripting Reference