首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Unity 3D -按键编码的多摄像机切换脚本

Unity 3D -按键编码的多摄像机切换脚本
EN

Stack Overflow用户
提问于 2018-09-29 03:13:18
回答 2查看 3.4K关注 0票数 1

我正在用多个摄像机在Unity 3D中做一个小场景

我正在尝试编写一个脚本来更改相机按键1,2,3,4,5,6,7,8,9,0

每个数字都指向特定的摄像机。

任何帮助都要感谢。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2018-09-30 02:29:45

以下是可用于在相机之间切换的脚本的完整版本

代码语言:javascript
运行
复制
using System.Collections.Generic;
using UnityEngine;

public class CameraSwitch : MonoBehaviour
{
    public List<Camera> Cameras;

    private void Start()
    {
        EnableCamera(0);
    }

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.Alpha1))
        {
            EnableCamera(0);
        }
        else if (Input.GetKeyDown(KeyCode.Alpha2))
        {
            EnableCamera(1);
        }
        else if (Input.GetKeyDown(KeyCode.Alpha3))
        {
            EnableCamera(2);
        }

        /*
         * If you want to add more cameras, you need to add
         * some more 'else if' conditions just like above
         */
    }

    private void EnableCamera(int n)
    {
        Cameras.ForEach(cam => cam.enabled = false);
        Cameras[n].enabled = true;
    }
}

将脚本命名为CameraSwitch (全名CameraSwitch.cs),在场景中创建新的GameObject或使用现有脚本,将脚本添加到GameObject (从Add Component菜单或只是将脚本拖放到游戏对象的检查器),然后需要通过在检查器中单击展开property Cameras,将摄影机(Size)的数量设置为3,并在以下字段中链接摄影机。将主摄像头放在第一位,不要将字段留空,否则脚本将失败。

如果您需要向列表中添加新的摄像头,只需在现有条件之外添加一个else if条件,并且不要忘记更改列表的大小,并在检查器中链接新的摄像头。

票数 2
EN

Stack Overflow用户

发布于 2018-09-29 04:48:34

你可以使用这个简单的代码:

代码语言:javascript
运行
复制
public Camera camera1;
public Camera camera2;
...

void Start()
{
    camera1.enabled = true;
    camera2.enabled = false;
    ...
}

void Update()
{
    if(Input.GetKeyDown(KeyCode.Alpha1))
    {
         camera1.enabled = true;
         camera2.enabled = false;
         ...
    }
    else if(Input.GetKeyDown(KeyCode.Alpha2))
    {
         camera1.enabled = false;
         camera2.enabled = true;
         ...
    }
    ...
}

你可以添加像这样的其他摄像头。我希望它能对你有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52561394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档