C# 为什么相机没有像玩家那样改变位置?
但在运行游戏时,它会一直显示主摄像头视图,而不是摄像头视图。在场景视图中,我可以看到摄影机现在位于播放器所在的位置,但它始终显示主摄影机视图C# 为什么相机没有像玩家那样改变位置?,c#,unity3d,unity5,C#,Unity3d,Unity5,但在运行游戏时,它会一直显示主摄像头视图,而不是摄像头视图。在场景视图中,我可以看到摄影机现在位于播放器所在的位置,但它始终显示主摄影机视图 因此,我为主摄像机和第一台摄像机添加了变量,并将它们都设置为enabled false,但它显示的是主摄像机而不是摄像机。camera.enabled=true这可能应该是camera.enabled=true不确定这是否解决了您的问题。确保您的所有相机都已标记为MainCamerai如果场景中有多个相机处于活动状态,则它们将按照从最低到最高的深度顺序进行
因此,我为主摄像机和第一台摄像机添加了变量,并将它们都设置为enabled false,但它显示的是主摄像机而不是摄像机。
camera.enabled=true代码>这可能应该是camera.enabled=true代码>不确定这是否解决了您的问题。确保您的所有相机都已标记为MainCamerai如果场景中有多个相机处于活动状态,则它们将按照从最低到最高的深度顺序进行渲染。如果它们都有清晰的标志(天空盒或纯色),则每个都将覆盖上一个所做的(不清除,仅深度将具有覆盖效果,如果摄影机通常渲染天空盒,则它将不渲染任何内容,让上一个摄影机的结果显示出来)。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Teleport : MonoBehaviour {
public GameObject player;
public Camera mainCamera;
public Camera firstCam;
public Camera camera;
private List<GameObject> TeleportBooths;
private void Start()
{
InstantiateObjects gos = GetComponent<InstantiateObjects>();
TeleportBooths = new List<GameObject>();
TeleportBooths = gos.PrefabsList();
firstCam.enabled = false;
mainCamera.enabled = false;
camera.enabled = true;
player.transform.position = TeleportBooths[0].transform.position;
camera.transform.position = TeleportBooths[0].transform.position;
for (int i = 0; i < TeleportBooths.Count; i++)
{
TeleportBooths[i].AddComponent<TeleportationsCore>();
}
}
}
Camera.main.enabled = false;
camera.Enabled = true;
camera.transform.position = TeleportBooths[0].transform.position;