摄影机在构建后不会跟随玩家

本文关键字:跟随 玩家 构建 摄影机 | 更新日期: 2023-09-27 18:25:27

我遇到了一种情况。我正在无尽的路上做一个赛车游戏。在远程主摄像头工作正常,但当我建立游戏时,摄像头不会跟随玩家的车。当玩家的车与大型车辆相撞时,我摇晃主摄像头。这两个脚本都是:

摄影机跟随玩家汽车脚本:

GameObject cam ;
public GameObject[] Follow;
int i = CarSelectScript.playerCarIndex;
void Update()
{
    Follow [i].SetActive (true);
    Camera cam = GetComponent<Camera>();
    if (cam !=null) 
    {
        if (Follow[i]) 
        {
            cam.transform.position = new Vector3(Follow[i].transform.position.x -40.0f, cam.transform.position.y, cam.transform.position.z);    
        }
    }
}

这里的相机抖动脚本是:

var startingShakeDistance : float = 0.8f;
var decreasePercentage : float = 0.5f;
var shakeSpeed : float = 50;
var numberOfShakes : int = 10;
var cam: Camera;
function CamerShake()
{

var hitTime : float = Time.time;
var OriginalPosition : float = cam.transform.localPosition.z;
var shake = numberOfShakes;
var shakeDistance : float = startingShakeDistance;
while(shake)
{
    var timer : float = (Time.time - hitTime) * shakeSpeed;
    cam.transform.localPosition.z = OriginalPosition + Mathf.Sin(timer) * hakeDistance;
    if(timer> Mathf.PI * 2)
    {
        hitTime = Time.time;
        shakeDistance *= decreasePercentage;
        shake--;
    }
    yield;
}
cam.transform.localPosition.z = OriginalPosition;
}

我不明白为什么相机不跟随我建立游戏后安装在安卓设备。

摄影机在构建后不会跟随玩家

您的代码中有一些常见的缺陷。你应该试着修复那些第一个

  1. 凸轮定义了两次?一次作为GameObject,一次作为相机。如果你想要相机,尽量只使用相机
  2. 摄像头=GetComponent();在更新中运行?!不要,改为在启动函数中运行
  3. 你的get组件没有相机可以卸下他的组件。请尝试使用cam=Camer。如果您只使用一台相机,请改用Main
  4. 除非你在其他地方为你的相机设置子级,或者运行2d游戏,否则移动将不起作用,因为它只会在X轴上移动,并在Y轴和Z轴上保持相机的当前变换