问题:Unity Project - Drone-Simulation:更改相机视角(C#)
Posted
技术标签:
【中文标题】问题:Unity Project - Drone-Simulation:更改相机视角(C#)【英文标题】:Issue: Unity Project - Drone-Simulation : Change camera perspective (C#) 【发布时间】:2021-10-04 14:58:52 【问题描述】:为了我的大学研究,我目前正在通过 Unity 构建一个模拟环境(包括必须飞过工厂的无人机)。
我做了什么:
创建的环境 实现了无人机(包括作为模板的控制器脚本和引擎脚本) 创建了一个带有“按钮”的用户界面,这些按钮与脚本方法“FlyToPosition”相连 点击想要的按钮(着陆站),无人机起飞,飞向目标并着陆。 通过相机脚本的主相机跟随无人机整个游戏模式我要另外编辑的内容:
能够通过选择 UI 中的下拉菜单来更改相机视角(例如向下看的 POV 相机) 能够飞到上层。控制器脚本使无人机首先起飞,这表明大厅天花板发生了碰撞。我的想法:在大厅外建一个站,先飞,然后起飞到着陆位置的正确高度。我需要帮助来创建所需的脚本。 如果你能联系我,我会很高兴解决我的问题。我在团队,缩放等方面。 如果您认为您可以提供帮助,我会将我当前的 C#-Scripts 和 Unityproject-file 发送给您。
期待您的帮助。 再见!
【问题讨论】:
欢迎来到 Stack Overflow。请阅读asking questions。要求人们通过 Stack Overflow 与您联系是不合适的。 【参考方案1】:您可以在无人机上安装更多摄像头,将它们设置到您想要的位置。然后在代码中只为它们提供参考,并根据一些按钮设置选择的相机处于活动状态。 假设您有 3 个摄像头:
public GameObject cam1;
public GameObject cam2;
public GameObject cam3;
通过inspector附加相应的相机对象,然后根据一些输入分别使用setActive。我为你写了一个简单的函数,只需调用 activateCam(nr);其中 nr 是您的相机编号,并且已经完成。
private void activateCam(int nr)
switch (nr)
case 1:
cam1.setActive(true);
cam2.setActive(false);
cam3.setActive(false);
break;
case 2:
cam1.setActive(false);
cam2.setActive(true);
cam3.setActive(false);
break;
case 3:
cam1.setActive(false);
cam2.setActive(false);
cam3.setActive(true);
break;
您唯一需要弄清楚的是您希望用户如何切换摄像头。无论是按钮还是按键,都由您决定,只需使用此功能即可。 我希望它会有所帮助:)
【讨论】:
以上是关于问题:Unity Project - Drone-Simulation:更改相机视角(C#)的主要内容,如果未能解决你的问题,请参考以下文章
在unity中,如何在脚本中根据路径找到文件,然后在project面板中用黄色的框框出来?
Unity 之 解决2019之后的版本打apk卡到Building Gradle project问题
Unity 之 解决2019之后的版本打apk卡到Building Gradle project问题